From c511fa28037094a591d2ecc34b68c7e361f0d454 Mon Sep 17 00:00:00 2001 From: ccrs Date: Thu, 16 May 2019 00:21:09 +0200 Subject: Core/Misc: remove incorrect ClearUnitState calls related to movement these unit states should never be removed outside motionmaster's handlings (cherry picked from commit 79b90f9d3afb3815e265fc59a1e98c92ec788012) --- src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp | 14 +------------- src/server/game/Handlers/PetHandler.cpp | 3 --- 2 files changed, 1 insertion(+), 16 deletions(-) (limited to 'src') diff --git a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp index f42fbcb1691..fde068bf24c 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp @@ -52,19 +52,7 @@ void FollowerAI::MovementInform(uint32 type, uint32 id) void FollowerAI::AttackStart(Unit* who) { - if (!who) - return; - - if (me->Attack(who, true)) - { - me->EngageWithTarget(who); // in case it doesn't have threat+combat yet - - if (me->HasUnitState(UNIT_STATE_FOLLOW)) - me->ClearUnitState(UNIT_STATE_FOLLOW); - - if (IsCombatMovementAllowed()) - me->GetMotionMaster()->MoveChase(who); - } + ScriptedAI::AttackStart(who); } void FollowerAI::MoveInLineOfSight(Unit* who) diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp index 667d81bdca9..eb2510b28df 100644 --- a/src/server/game/Handlers/PetHandler.cpp +++ b/src/server/game/Handlers/PetHandler.cpp @@ -195,7 +195,6 @@ void WorldSession::HandlePetActionHelper(Unit* pet, ObjectGuid guid1, uint32 spe if (!owner->IsValidAttackTarget(TargetUnit)) return; - pet->ClearUnitState(UNIT_STATE_FOLLOW); // This is true if pet has no target or has target but targets differs. if (pet->GetVictim() != TargetUnit || !pet->GetCharmInfo()->IsCommandAttack()) { @@ -695,8 +694,6 @@ void WorldSession::HandlePetCastSpellOpcode(WorldPackets::Spells::PetCastSpell& SpellCastTargets targets(caster, petCastSpell.Cast); - caster->ClearUnitState(UNIT_STATE_FOLLOW); - Spell* spell = new Spell(caster, spellInfo, TRIGGERED_NONE); spell->m_fromClient = true; spell->m_misc.Raw.Data[0] = petCastSpell.Cast.Misc[0]; -- cgit v1.2.3