diff options
author | ccrs <ccrs@users.noreply.github.com> | 2019-05-16 00:21:09 +0200 |
---|---|---|
committer | ccrs <ccrs@users.noreply.github.com> | 2019-05-16 00:21:09 +0200 |
commit | 79b90f9d3afb3815e265fc59a1e98c92ec788012 (patch) | |
tree | caaa83b86e737e2a7d039628b6511965c863a082 | |
parent | 6d2d16727a50fc02d91d1389f575354319c9bd72 (diff) |
Core/Misc: remove incorrect ClearUnitState calls related to movement
these unit states should never be removed outside motionmaster's handlings
-rw-r--r-- | src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp | 14 | ||||
-rw-r--r-- | src/server/game/Handlers/PetHandler.cpp | 3 |
2 files changed, 1 insertions, 16 deletions
diff --git a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp index 9b98b60146c..40ebf4ee44d 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedFollowerAI.cpp @@ -53,19 +53,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 080a3acea56..827dbe1ec91 100644 --- a/src/server/game/Handlers/PetHandler.cpp +++ b/src/server/game/Handlers/PetHandler.cpp @@ -202,7 +202,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()) { @@ -802,8 +801,6 @@ void WorldSession::HandlePetCastSpellOpcode(WorldPacket& recvPacket) targets.Read(recvPacket, caster); HandleClientCastFlags(recvPacket, castFlags, targets); - caster->ClearUnitState(UNIT_STATE_FOLLOW); - Spell* spell = new Spell(caster, spellInfo, TRIGGERED_NONE); spell->m_cast_count = castCount; // probably pending spell cast spell->m_targets = targets; |