Commit graph

269 commits

Author SHA1 Message Date
Image
07c14f1d92 Wards support is now fully extended to allow divine aura / stoneskin / intercept as possible solutions
Addresses issue  - minus fervor needs its own work implemented.

AddWard(dmg,keepward,wardtype,damagetype,dmgabsorptionpct,damageabsorptionmaxhealthpct,redirectdmgpct,maxhitcount)
2020-05-16 23:32:13 -04:00
Image
91cb109799 Added GetWardValue in support of Issue
GetWardValue(Ward, "type")

types:
damageleft - amount of damage left ward can absorb
basedamage - original amount of damage ward can absorb in total
keepward - keep ward (don't remove spell from spawn) if it expires by absorbing all the damage
wardtype - limit damage type:
#define WARD_TYPE_ALL 0
#define WARD_TYPE_PHYSICAL 1
#define WARD_TYPE_MAGICAL 2

dmgabsorptionpct - max damage ward can absorb (eg 50% of 100 means 50 absorbed, 50 damage still hits)
dmgabsorptionmaxhealthpct - max damage ward can absorb (eg if 1000 health and 50%, any damage 500+ will not be absorbed)
2020-05-16 10:46:51 -04:00
Image
0e2ac675b7 Quest crash fix if step was NULL 2020-05-16 08:02:26 -04:00
Image
b3ffa77c42 AddWard updates in support of Issue
Helps address issue 

two new arguments added:
AddWard(dmg,keepWard,wardType,damageTypes,dmgAbsorptionPct,dmgAbsorptionMaxHealthPct)

dmgAbsorptionPct - max percentage of the damage that can be absorbed per hit (eg 100 damage, 50% absorption, 50 absorbed, 50 damage left)
dmgAbsorptionMaxHealthPct - Max absorption percentage against the targets total hp, eg 1000 hp 50% absorption, if the hit is 500 dmg or more, then no damage absorbed
2020-05-16 08:02:16 -04:00
Image
e97475c1aa Crash fixes for quests 2020-05-14 23:58:41 -04:00
Image
234ac02d0e Update zoneserver.cpp
was out of date with local src wrong boolean on EngagedInCombat
2020-05-13 23:29:27 -04:00
Image
c79989f68b CPU fixes 2020-05-13 23:26:40 -04:00
Image
310060300f Reduced logging to make debug startup easier to process 2020-05-13 23:26:08 -04:00
Image
4330ef93f6 Additional reduction of mutex locks in zone server processing/spawn processing/etc -- also replaced locks in EQStream to try to avoid additional desyncs 2020-05-12 23:16:37 -04:00
Image
9aedae89f1 added check for loot drops table being empty 2020-05-12 08:35:09 -04:00
Image
a79b48aeb4 Restored mob movement command mutex to avoid crashes 2020-05-12 08:34:55 -04:00
Image
56f4d39864 Speed/CPU improvements
Reverted movement manager to Entity, limited to just entity (NPC/Player)
spawn add timer moved to 1000 ms (or trigger on new spawn)
CombatProcess migrated to either movement check (100ms) or aggro check (every 2s) -- in other words not every 10ms.
Set a 1 ms sleep in the CombinePacketLoop
2020-05-12 00:49:13 -04:00
Image
423163d30c Revert "Reducing mutex locks, reducing unnecessary calls by timers increased/utilized for certain processes"
This reverts commit cb352a6632.
2020-05-12 00:35:16 -04:00
Image
cb352a6632 Reducing mutex locks, reducing unnecessary calls by timers increased/utilized for certain processes 2020-05-11 23:01:58 -04:00
Image
44537ad063 Revert "Disable LogWrite in EQStream causing high cpu even when debug not enabled"
This reverts commit 0f4b2a0ee4.
2020-05-11 15:38:26 -04:00
Image
0f4b2a0ee4 Disable LogWrite in EQStream causing high cpu even when debug not enabled 2020-05-11 15:35:48 -04:00
Image
492c430229 Revert "Disabled EQStream LogWrite, was causing high cpu"
This reverts commit 57f395bf8c.
2020-05-11 15:32:01 -04:00
Image
57f395bf8c Disabled EQStream LogWrite, was causing high cpu 2020-05-11 15:31:26 -04:00
Image
48b973454c Fixed the proximities changes 2020-05-11 11:58:35 -04:00
Image
5bd0deb900 avoid unnecessary processing for spawns that don't have spawn proximities (cpu improvement) 2020-05-11 11:49:26 -04:00
Image
49a0072218 Better logging for 'proc' function not triggering right so we know which spell 2020-05-11 11:49:06 -04:00
Image
de551afbbe CheckProcs should be just using a vector 2020-05-11 08:57:35 -04:00
Image
07f9f741b5 Loot Chests and other specified objects will show interactive hand icon 2020-05-11 08:46:14 -04:00
Image
e3683ce088 Potential deadlock fix for CheckProc/RemoveProc
11:32:11 E Mutex     : The mutex Entity::m_procList called from RemoveProc at line 1269 timed out while waiting on readers!
11:32:11 E Mutex     : The following functions had locks:
11:32:11 E Mutex     : CheckProcs, number of locks = 1

Note: Might need to reinstantiate the spell pointer.. that remains to be seen
2020-05-11 08:44:49 -04:00
Image
569f9e8df2 Deadlock fix for SpellProcess
11:32:06 E Mutex     : The mutex SpellProcess::SpellCancelList called from AddSpellCancel at line 2266 timed out waiting on another writelock!
11:32:06 E Mutex     : The following functions had locks:
11:32:06 E Mutex     : Process, number of locks = 1
2020-05-11 08:43:36 -04:00
Image
9c71a0ebe0 PVP AE Player Group support 2020-05-10 22:10:31 -04:00
Image
79af63b919 Additional spell PVP fixes
if secondary target is available, we check if target is an enemy player first, if not then we attempt to see if secondary target is an 'enemy'
2020-05-10 19:58:43 -04:00
Image
58a94e862f Fixed some spells not setting their direct target in PVP 2020-05-10 19:07:59 -04:00
Image
42c26f4150 MovementMgr now takes in Spawn not Entity, also protected the command queue with a mutex due to cross thread contamination 2020-05-10 18:18:17 -04:00
Image
7f24a9e0d9 Limit bug reports on spell range being 0 to a single report per startup of world 2020-05-10 14:09:08 -04:00
Image
3ef309619f AFK Visual for players now works for newer clients (1188+) 2020-05-10 14:08:41 -04:00
Image
6b7c210fc1 resolve constant sheething of weapons in combat -- outstanding problem weapon swinging 2020-05-10 11:03:44 -04:00
Image
25d9c9d93f potential crash fix 2020-05-10 11:03:14 -04:00
Image
c0632906b6 Fixed issues with some LUA movement scripts, also mobs engaged in combat should stop more abruptly and not run past you 2020-05-09 23:31:48 -04:00
Image
cbcac95674 Added Spawn Proximity code
Fix 

LUA AddSpawnProximity added:
Argument 1 is spawn to add the proximity
Argument 2 is spawn id OR location id
Argument 3 is 0 for spawn id OR 1 for location id
Argument 4 is distance
Argument 5 is in range function
Argument 6 is out of range function
AddSpawnProximity(NPC,locationid,1,15,"InRange","OutRange")AddSpawnProximity(NPC,spawnid,0,15,"InRange","OutRange")

created 'prespawn' LUA function, AddSpawnProximity can be called before the spawn is added
2020-05-09 20:57:21 -04:00
Image
d8c99e2229 guild create command crashed worldserver, also guild name was passing 'create' as part of the guild name
Fix 
2020-05-09 20:54:46 -04:00
Image
9134eadf80 LUA SetFactionID and GetFactionID support for Spawn
Partially addresses issue 
2020-05-09 13:24:10 -04:00
Image
3f751b18f0 Fix a crash on zone startup if the EQ2Map isn't present 2020-05-09 11:42:03 -04:00
Image
c4ad6568d5 Created HaltMovement to send a client update of no further forward movement, used for fear and mez currently
Fixes 
2020-05-09 09:05:22 -04:00
Image
17a8823e46 AE spells will not hit Mezzed targets unless directly targetted
Fixes 
2020-05-09 09:04:54 -04:00
Image
47926d6430 Fixed an issue in combat where mobs seemed to grow/shrink unexpectedly 2020-05-08 14:45:24 -04:00
Image
d2882be847 If Merchant or Mender have a secondary command id of hail (9, 1262,1265,1267) then automatically hail npc/spawn 2020-05-08 13:32:33 -04:00
Image
aaf8695bd6 linux fix 2020-05-08 00:05:06 -04:00
Image
ae51e035fe Database updates for spawn db pulls to get expansion_flag
Completes fix 
2020-05-07 23:52:58 -04:00
Image
1731b7cdf7 support for spawn set expansion_flag decimalbit
/spawn set expansion_flag 1234 - partial fix issue 
2020-05-07 23:52:40 -04:00
Image
d065919cf8 Support for SetZoneExpansionFlag(Zone,decimalbits) and GetZoneExpansionFlag(Zone)
Partial fix for issue 
2020-05-07 23:51:57 -04:00
Image
29a98cfcb5 Rules Global Expansion Flag
Partial code for Issue 
2020-05-07 23:50:08 -04:00
Image
8d06858971 Zone based expansion flag and preinit_zone_script LUA function for ZoneScripts
Part of Issue 
2020-05-07 23:49:41 -04:00
Image
f1c2955003 Fix for chests and other spawns/widgets/objects having HP of 0 showing up as corpses 2020-05-07 23:31:18 -04:00
Image
4686e2603a Fixed deadlock issues with m_Update 2020-05-07 18:05:22 -04:00