aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Movement/MotionMaster.cpp
diff options
context:
space:
mode:
authorGiacomo Pozzoni <giacomopoz@gmail.com>2020-03-17 18:58:07 +0000
committerShauren <shauren.trinity@gmail.com>2021-12-23 22:32:41 +0100
commit934c320d4b0da40691be7449f860447fe79b4083 (patch)
treee1a143498b408c85ef752a412196c3c2096c594c /src/server/game/Movement/MotionMaster.cpp
parent103f7f5e77c5d5724f7d7bea79e4295b405d4617 (diff)
Core/AI: Make critters flee as soon as engaged in combat and make them evade after they stop running in fear (#24320)
* Core/AI: Make critters flee as soon as engaged in combat and make them evade after they stop running in fear * Warning and no-pch build fix (cherry picked from commit 6fde051e4e52d98d1a6cf31b8ad3fcf95e0e83fd)
Diffstat (limited to 'src/server/game/Movement/MotionMaster.cpp')
-rw-r--r--src/server/game/Movement/MotionMaster.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp
index 28c991a3c8d..3b21d0b4dec 100644
--- a/src/server/game/Movement/MotionMaster.cpp
+++ b/src/server/game/Movement/MotionMaster.cpp
@@ -1198,7 +1198,10 @@ void MotionMaster::DirectAdd(MovementGenerator* movement, MovementSlot slot/* =
{
case MOTION_SLOT_DEFAULT:
if (_defaultGenerator)
+ {
_defaultGenerator->Finalize(_owner, _generators.empty(), false);
+ _defaultGenerator->NotifyAIOnFinalize(_owner);
+ }
_defaultGenerator = MovementGeneratorPointer(movement);
if (IsStatic(movement))
@@ -1243,6 +1246,7 @@ void MotionMaster::Delete(MovementGenerator* movement, bool active, bool movemen
movement->Priority, movement->Flags, movement->BaseUnitState, movement->GetMovementGeneratorType(), _owner->GetGUID().ToString().c_str());
movement->Finalize(_owner, active, movementInform);
+ movement->NotifyAIOnFinalize(_owner);
ClearBaseUnitState(movement);
MovementGeneratorPointerDeleter(movement);
}
@@ -1253,6 +1257,7 @@ void MotionMaster::DeleteDefault(bool active, bool movementInform)
_defaultGenerator->Priority, _defaultGenerator->Flags, _defaultGenerator->BaseUnitState, _defaultGenerator->GetMovementGeneratorType(), _owner->GetGUID().ToString().c_str());
_defaultGenerator->Finalize(_owner, active, movementInform);
+ _defaultGenerator->NotifyAIOnFinalize(_owner);
_defaultGenerator = MovementGeneratorPointer(GetIdleMovementGenerator());
AddFlag(MOTIONMASTER_FLAG_STATIC_INITIALIZATION_PENDING);
}