Michael Cook (mackal)
f5827174ee
Make CheckHitChance much more live like
...
This should be fairly close to live-like.
Based on client decompiling, Torven's write up and parses and more parses.
It will probably break your server.
2016-12-25 21:11:10 -05:00
Michael Cook (mackal)
1d19bd11d0
Add Random::Roll0
...
This has the same interval ((0,N]) that the client function does
The devs have referenced this in a few posts talking about
mechanics.
2016-12-25 21:06:02 -05:00
Michael Cook (mackal)
630ea0d3c6
Fix RoF2 OP_GMHideMe
2016-12-21 13:45:18 -05:00
Michael Cook (mackal)
f53b95d141
Rework look acking a bit
...
We should no longer kick from corpse if the quest says to not loot an item
Need to investigate autoloot behavior with respect to everything still
So other cases will still kick you from the corpse (lore conflict etc)
2016-12-16 17:11:44 -05:00
Michael Cook (mackal)
e680a0f704
Change LottingItem_Struct::auto_loot to signed
2016-12-16 16:09:31 -05:00
Michael Cook (mackal)
019586abbd
Clang-format Corpse::LootItem
2016-12-16 16:03:44 -05:00
Michael Cook (mackal)
8f5ba05e75
Minor Corpse::LootItem refactoring
2016-12-16 16:02:42 -05:00
Michael Cook (mackal)
427fb08561
Merge pull request #582 from SCMcLaughlin/master
...
Additional LS config parser fixes:
2016-12-16 02:14:23 -05:00
Michael Cook (mackal)
ac0332c020
Merge pull request #581 from SCMcLaughlin/master
...
Fix potential infinite loop in loginserver's config file reader
2016-12-15 20:55:43 -05:00
Michael Cook (mackal)
c1fbfc0f44
Add support for kicking epic loot locks
...
Returning non-0 (no return in a lua/perl function = return 0 so this is best)
will prevent the client from looting the item
I still need to figure out how to make it so we don't have to kick
the player from the corpse, but maybe that's just a difference on live
2016-12-15 18:31:08 -05:00
Michael Cook (mackal)
3cc7d0db63
Fix fizzle message being the wrong color
2016-12-14 22:06:05 -05:00
Michael Cook (mackal)
bf25c65868
Merge pull request #579 from noudess/master
...
Add check for mob spell based defensive procs.
2016-12-09 19:14:05 -05:00
Michael Cook (mackal)
491cabfe8b
Fix SE_Destroy breaking respawns
2016-12-09 13:36:09 -05:00
Michael Cook (mackal)
fddb6f67ab
Update IsPartialCapableSpell based on Torven's findings
2016-12-09 13:29:46 -05:00
Michael Cook (mackal)
26985496d1
Fix Shield Specialist related SPAs
2016-12-08 22:36:47 -05:00
Michael Cook (mackal)
ab0f883191
Merge pull request #578 from noudess/master
...
Add fish names to fishing messages as per live for non junk items,
2016-12-08 16:42:27 -05:00
Michael Cook (mackal)
baf9336617
Fix RoF+ OP_InterruptCast
2016-12-06 14:12:11 -05:00
Michael Cook (mackal)
bb8fc17189
Quick fix for PP buff issue
...
This may break buffs zoning, but I don't have time to look at
2016-12-01 22:57:50 -05:00
Michael Cook (mackal)
ffbc913b9d
Rename some spell fields
2016-12-01 13:35:19 -05:00
Michael Cook (mackal)
286bfa7af6
Implement the PC/NPC only flag
2016-11-30 20:53:39 -05:00
Michael Cook (mackal)
d9e0708331
Merge pull request #576 from AthrogatePEQ/master
...
Add GetAppearance() to lua.
2016-11-28 16:53:56 -05:00
Michael Cook (mackal)
bbd2796ea4
Add ParticlePoint enum for OP_LevelAppearance
2016-11-18 13:55:04 -05:00
Michael Cook (mackal)
5a08e0ffd9
Adjust Rogue Evade drop
...
Live seems to be inconsistent with how much hate is dropped, but I parsed
~69% drop on the highest and ~39% for the lowest. So round to 70 and 40.
It was also fairly obvious there was a min hate it could drop you to,
which parsed out to ~100 hate.
2016-11-16 02:36:20 -05:00
Michael Cook (mackal)
3dec02881a
Revamp Buff slots
...
Server side we now have 63 total buff slots for clients
They match RoF/RoF2 and are mapped as 42 long, 20 short, 1 disc
The player is limited to what their clients supports, so
Tit players can have 25 buffs and 12 songs, while other can have more
When you log in, we only load up to the max your client supports,
the rest of the buffs are thrown away
Also changed is the default Max Buff slots for NPCs, they now match Tit (60)
If you are thinking about raising that, here are what some other clients support
Tit - SoF 60, SoD - UF 85, RoF - RoF2 97 (although UI only has 85 slots, you can
edit it if you want more)
Also SoD+ the pet limits match the NPC limits.
This will increase memory usage a bit, but I don't see a solution to that
Plus I think most people want this.
2016-11-15 01:37:58 -05:00
Michael Cook (mackal)
71e641c882
Merge pull request #572 from KinglyKrab/master
...
Fixed #npcspawn update.
2016-11-10 15:57:31 -05:00
Michael Cook (mackal)
b3842ba72a
Fix indent
2016-11-09 12:14:24 -05:00
Michael Cook (mackal)
a3c16ecdbe
Merge pull request #571 from AthrogatePEQ/master
...
Expose GetLowestLevel() to Lua.
2016-11-09 12:13:15 -05:00
Michael Cook (mackal)
06e2f76c05
Implement SE_SummonToCorpse
2016-11-05 14:08:00 -04:00
Michael Cook (mackal)
b1f97712f1
Quick fix for bulk XTarget updates
...
This needs to be investigated more, but a 0 here for a valid mob
is bad.
2016-11-03 14:31:09 -04:00
Michael Cook (mackal)
cbe53951f8
Add missing ITEMTransfig1HB
2016-11-02 13:36:04 -04:00
Michael Cook (mackal)
a29177de9e
Fix zone/embparser.h header guard
2016-10-30 22:51:50 -04:00
Michael Cook (mackal)
a15df2ec2c
Switch Master Wu to modern live implementation
...
Classic Master Wu still exists setting Combat:ClassicMasterWu to true
2016-10-30 22:41:24 -04:00
Michael Cook (mackal)
cbb7090615
Fix SNEAK_RESTRICT Message Type
2016-10-28 20:45:05 -04:00
Michael Cook (mackal)
b9fefc95e8
Enforce 4 sec Sneak Attack rule fixes #569
...
Spells flagged with SNEAK_ATTACK requires you to be hidden for
about 4 seconds before you can cast them
2016-10-25 23:19:20 -04:00
Michael Cook (mackal)
a6f5571750
Fix infinite loops
2016-10-24 13:29:07 -04:00
Michael Cook (mackal)
95064947b6
Hack to fix long recast bard songs
2016-10-21 20:48:18 -04:00
Michael Cook (mackal)
e86fca3aff
Add NPC NPC faction check to BeamDirectional
2016-10-14 13:59:45 -04:00
Michael Cook (mackal)
46cbd147b5
clang format BeamDirectional
2016-10-14 13:58:20 -04:00
Michael Cook (mackal)
05ed623056
Add NPC NPC faction check to ConeDirectional
2016-10-14 13:55:04 -04:00
Michael Cook (mackal)
c90a436db3
Clang format ConeDirectional
2016-10-14 13:52:01 -04:00
Michael Cook (mackal)
1e865a5246
Take in elem/bane dmg in BS calc
2016-10-13 23:55:44 -04:00
Michael Cook (mackal)
343c41bb18
Elemental dmg shouldn't allow you to hit bane only
2016-10-13 23:54:56 -04:00
Michael Cook (mackal)
013f7cfd21
Set no_target_hotkey in Mob ctor
...
Fixes UBSan error
2016-10-03 01:35:11 -04:00
Michael Cook (mackal)
4cb7d9a352
Remove ability for charmed NPCs from summoning
...
These rules do not appear to be true on live
They also don't look to have ever been true?
2016-09-22 00:32:01 -04:00
Michael Cook (mackal)
b04844aa94
Fix merge [skip ci]
2016-09-21 23:54:51 -04:00
Michael Cook (mackal)
50469b858b
Merge pull request #553 from KinglyKrab/master
...
Added GetAAPercent() to Perl and Lua.
2016-09-08 22:08:47 -04:00
Michael Cook (mackal)
d0bb3047f0
Let's fix the fear pathing flags right away after SE_ImmuneFleeing
...
This speeds up the response to spells like Call of Challenge
Before it would fix the flags the next tick, which makes the spell
mostly useless
2016-09-04 20:59:39 -04:00
Michael Cook (mackal)
739b1bfaa3
Fix target buffs showing PC songs
2016-09-03 21:54:59 -04:00
Michael Cook (mackal)
7c40bcff53
Fix enrage for NPC classes that can't ripo
2016-09-02 18:16:09 -04:00
Michael Cook (mackal)
d8fe5124ff
Fix some spell set loading issues
2016-08-29 19:23:40 -04:00
Michael Cook (mackal)
fa337d441e
Use StopCasting when we send SPELL_RECAST error
2016-08-29 14:08:22 -04:00
Michael Cook (mackal)
ea1ae1a0a4
Use StopCasting instead of Interrupt on SpellFinished failure
...
Most of these failures already show a message, live doesn't double
up on failure message + interrupt message, so lets not
There are a few logic error returns, but those really shouldn't happen
2016-08-29 13:27:42 -04:00
Michael Cook (mackal)
95ea61114a
Merge pull request #551 from N0ctrnl/patch-1
...
Added rule to allow MQ2 targeting without filling up the hackers table
2016-08-28 17:34:19 -04:00
Michael Cook (mackal)
89183cf8b7
clang-format LoadZoneObjects
2016-08-27 22:26:44 -04:00
Michael Cook (mackal)
aaa116d97c
Add support for object display names
...
Ex. Kejek Forge in Stonebrunt Mountains
2016-08-27 22:24:08 -04:00
Michael Cook (mackal)
4360021fc9
Merge pull request #550 from KinglyKrab/master
...
World:EnableIPExemptions should be false by default. (Woops.)
2016-08-27 21:45:17 -04:00
Michael Cook (mackal)
55d2e9b842
Only correct spell slots when we're sending to self
...
This will fix display issues with lots of buffs on NPCs
2016-08-24 23:15:31 -04:00
Michael Cook (mackal)
c2b31bd6e2
Fix EVENT_ATTACK crash (thanks image)
...
Note: I guess we need to check if it's null in the actual quest too
2016-08-21 20:26:54 -04:00
Michael Cook (mackal)
696c02c0f0
Move instrument mod outside of the EFFECT lop in SpellEffect
2016-08-20 14:30:54 -04:00
Michael Cook (mackal)
f67cd057f3
Fix issue with linked spell timers
2016-08-18 21:09:02 -04:00
Michael Cook (mackal)
0789d10d3e
Add logging message for setting linked reuse
2016-08-18 20:51:58 -04:00
Michael Cook (mackal)
f9f3a8f3bd
Expendable Arrows ignore EQ
2016-08-17 01:10:37 -04:00
Michael Cook (mackal)
5a0d2b527b
Add a StopCasting function and make some use of it
...
Unsure if all of these cases should use interrupt or stop casting
2016-08-16 17:52:14 -04:00
Michael Cook (mackal)
3d64878e60
Skip OP_BeginCast for discs
2016-08-15 15:23:37 -04:00
Michael Cook (mackal)
26772b721c
Fix overhaste stack check
2016-08-15 14:21:39 -04:00
Michael Cook (mackal)
3c95545ea3
Remove IsCasting check from Client::SendManaUpdatePacket
2016-08-15 01:23:47 -04:00
Michael Cook (mackal)
ae5689ffb4
Clean up OP_ManaChange
2016-08-15 01:17:53 -04:00
Michael Cook (mackal)
e894e96404
Implement Linked Spell Reuse Timers
...
They started linked spells at OoW launch (I think)
At least canni was linked then.
This is rather user unfriendly, but that's live like.
Ex. the spells aren't actually put on cool down so you can attempt to cast them
still but you will be interrupted.
Titanium is particularly unfriendly with large differences in reuse times
2016-08-14 23:32:27 -04:00
Michael Cook (mackal)
fd1e425abc
Fix potential crash in ucs/clientlist.cpp
2016-08-13 17:19:20 -04:00
Michael Cook (mackal)
35c1eccbe1
Fix potential crash in zone/worldserver.cpp
2016-08-13 17:15:57 -04:00
Michael Cook (mackal)
69f06f736c
Fix potential crashes in zone/spells.cpp
2016-08-13 17:15:00 -04:00
Michael Cook (mackal)
48fb483de6
Fix typo
2016-08-13 17:05:48 -04:00
Michael Cook (mackal)
8ce2921e3d
Fix potential crashes in Mob::SpellEffect
2016-08-13 16:45:32 -04:00
Michael Cook (mackal)
f06a9b3dce
use std::abs in Map::FindClosestZ
2016-08-13 15:58:02 -04:00
Michael Cook (mackal)
3efc925264
And another
2016-08-13 15:47:44 -04:00
Michael Cook (mackal)
a8db4532d0
Fix potential crash in #iteminfo
2016-08-13 15:46:35 -04:00
Michael Cook (mackal)
ab35f8b842
Fix memset in QuestReward
2016-08-13 15:39:08 -04:00
Michael Cook (mackal)
ef3cf099b8
Fix potential crash in Sacrifice
2016-08-13 15:35:28 -04:00
Michael Cook (mackal)
00cfe2d25f
Fix potential crashes in attack.cpp
2016-08-13 15:26:07 -04:00
Michael Cook (mackal)
7a4c9b36a8
Fix logic issue in SendAlternateAdvancementRank
2016-08-13 15:20:48 -04:00
Michael Cook (mackal)
488c4941d2
Fix potential crash
2016-08-13 15:19:10 -04:00
Michael Cook (mackal)
97dc0a84dd
Fix logic paren issue
2016-08-13 15:14:31 -04:00
Michael Cook (mackal)
f01c890966
Crash fix
...
The other thing needs to be looked at too, but I guess we never run
into an issue where this actually is a nullptr because bad things
would happen here ...
2016-08-13 15:09:43 -04:00
Michael Cook (mackal)
4e4d82857c
Move OP_BeginCast above instant cast shortcut
...
For casted seplls, we should always see this. Mostly this shortcut breaks
spell awareness for NPC spells. (most of them are instant cast)
2016-08-12 22:07:03 -04:00
Michael Cook (mackal)
039e0fbb83
NPC innate procs overwrite TargetType to ST_Target
2016-08-12 21:53:14 -04:00
Michael Cook (mackal)
e1a02455d8
Merge pull request #539 from clucksoft/crash_fix
...
Prevent crash in spell casting when group doesn't exist
2016-08-11 14:22:51 -04:00
Michael Cook (mackal)
e90e141a79
std::unordered_map::count is much slower than find
2016-08-10 23:51:06 -04:00
Michael Cook (mackal)
38d3f9b7c0
Client checks song flag first
...
This fixes bugs with buffs marked as disc and song (they go to the song window now)
Before the client got confused and gave up displaying them at all!
2016-08-10 13:16:32 -04:00
Michael Cook (mackal)
7d62b208ca
Revert "Rate limit saving to at most once a second"
...
This reverts commit f26dce39c3 .
No easy mode I guess
2016-08-09 21:30:10 -04:00
Michael Cook (mackal)
27f6826fd3
Add rule Spells:AllowItemTGB for custom servers
2016-08-08 20:21:38 -04:00
Michael Cook (mackal)
051f9ffab9
fix bard song mods on instant spells (nukes, procs)
2016-08-08 15:22:26 -04:00
Michael Cook (mackal)
bdb083eac7
Previous disc buff check incorrectly excluded Savage Spirit AA line
...
This still doesn't fix Untamed Rage ... unsure on that one :(
2016-08-07 18:55:02 -04:00
Michael Cook (mackal)
4b93ef0a98
Fix SE_CastOnFadeEffect
2016-08-07 18:17:39 -04:00
Michael Cook (mackal)
e86d11250b
Actually remove expendable AAs from the DB
2016-08-07 14:32:30 -04:00
Michael Cook (mackal)
e5746c3b2e
Fix EVENT_LOOT broken by b43cfa126
2016-08-05 22:14:20 -04:00
Michael Cook (mackal)
6a7ea65dd0
Ask water map if we're in a zoneline to prevent false positives
...
I don't think this should open up any chance to exploit
Trying to use a ZL to go somewhere else is still detected etc
This should really cut down on false positives and we really can't
see real cheater from all the noise this creates
2016-08-05 01:07:12 -04:00
Michael Cook (mackal)
68df09a570
Implement PVP regions
2016-08-04 23:56:08 -04:00
Michael Cook (mackal)
d53d569020
Port EQMacEmu's improved NPC stat scaling formula
...
Old formula can be used by setting NPC::NewLevelSacling to false
2016-08-04 22:12:33 -04:00
Michael Cook (mackal)
1d12f92934
Level 50+ NPCs will now respond to yells for help regardless of con color
2016-08-04 20:36:15 -04:00
Michael Cook (mackal)
e89fa01d89
Port Aggro:UseLevelAggro from EQMacEmu
...
This will make level 18+ mobs braver
2016-08-04 20:33:29 -04:00