From 49b04c0fdd03d060d10f91a597857ec9c3d9f4ed Mon Sep 17 00:00:00 2001 From: Treeston Date: Sun, 21 Jul 2019 03:59:17 +0200 Subject: Core/AI: No longer override chase movement with follow movement if the creature engages before JustAppeared has had a chance to fire. --- src/server/game/AI/CreatureAI.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/server/game/AI/CreatureAI.cpp') diff --git a/src/server/game/AI/CreatureAI.cpp b/src/server/game/AI/CreatureAI.cpp index 93c0076a2fa..760517851f6 100644 --- a/src/server/game/AI/CreatureAI.cpp +++ b/src/server/game/AI/CreatureAI.cpp @@ -186,15 +186,18 @@ static bool ShouldFollowOnSpawn(SummonPropertiesEntry const* properties) void CreatureAI::JustAppeared() { - if (TempSummon* summon = me->ToTempSummon()) + if (!IsEngaged()) { - // Only apply this to specific types of summons - if (!summon->GetVehicle() && ShouldFollowOnSpawn(summon->m_Properties)) + if (TempSummon* summon = me->ToTempSummon()) { - if (Unit* owner = summon->GetCharmerOrOwner()) + // Only apply this to specific types of summons + if (!summon->GetVehicle() && ShouldFollowOnSpawn(summon->m_Properties)) { - summon->GetMotionMaster()->Clear(); - summon->GetMotionMaster()->MoveFollow(owner, PET_FOLLOW_DIST, summon->GetFollowAngle()); + if (Unit* owner = summon->GetCharmerOrOwner()) + { + summon->GetMotionMaster()->Clear(); + summon->GetMotionMaster()->MoveFollow(owner, PET_FOLLOW_DIST, summon->GetFollowAngle()); + } } } } -- cgit v1.2.3