From 31907382c86ff226cf4038b614a293a7fea3bb66 Mon Sep 17 00:00:00 2001 From: "Michael Cook (mackal)" Date: Sat, 25 Feb 2017 02:21:48 -0500 Subject: [PATCH 1/3] Lets not aggro zonign clients --- zone/aggro.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zone/aggro.cpp b/zone/aggro.cpp index 9533fbbff..cc537662a 100644 --- a/zone/aggro.cpp +++ b/zone/aggro.cpp @@ -253,7 +253,7 @@ bool Mob::CheckWillAggro(Mob *mob) { //sometimes if a client has some lag while zoning into a dangerous place while either invis or a GM //they will aggro mobs even though it's supposed to be impossible, to lets make sure we've finished connecting if (mob->IsClient()) { - if (!mob->CastToClient()->ClientFinishedLoading() || mob->CastToClient()->IsHoveringForRespawn()) + if (!mob->CastToClient()->ClientFinishedLoading() || mob->CastToClient()->IsHoveringForRespawn() || mob->CastToClient()->zoning) return false; } From 14a5ff399aa0adc07952aef8a80159c829a913a2 Mon Sep 17 00:00:00 2001 From: "Michael Cook (mackal)" Date: Sat, 25 Feb 2017 02:37:57 -0500 Subject: [PATCH 2/3] clear xtarget manager on death --- zone/attack.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zone/attack.cpp b/zone/attack.cpp index b7cd49384..dc50f23db 100644 --- a/zone/attack.cpp +++ b/zone/attack.cpp @@ -1563,7 +1563,7 @@ bool Client::Death(Mob* killerMob, int32 damage, uint16 spell, EQEmu::skills::Sk } } - entity_list.RemoveFromTargets(this); + entity_list.RemoveFromTargets(this, true); hate_list.RemoveEntFromHateList(this); RemoveAutoXTargets(); From 3fd40e9449368033aef5787d405433fd2bcedd1e Mon Sep 17 00:00:00 2001 From: "Michael Cook (mackal)" Date: Sat, 25 Feb 2017 14:36:17 -0500 Subject: [PATCH 3/3] Make ST_AreaNPCOnly skip faction check The motivation for this is there a bunch of auras that use this target type that all would require setting up faction for these NPCs so they would hate everything. Also allows Ward of Destruction to work. --- zone/effects.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zone/effects.cpp b/zone/effects.cpp index 0cec65877..400bae1fa 100644 --- a/zone/effects.cpp +++ b/zone/effects.cpp @@ -795,7 +795,7 @@ void EntityList::AESpell(Mob *caster, Mob *center, uint16 spell_id, bool affect_ continue; if (dist_targ < min_range2) //make sure they are in range continue; - if (isnpc && curmob->IsNPC()) { //check npc->npc casting + if (isnpc && curmob->IsNPC() && spells[spell_id].targettype != ST_AreaNPCOnly) { //check npc->npc casting FACTION_VALUE f = curmob->GetReverseFactionCon(caster); if (bad) { //affect mobs that are on our hate list, or