diff options
| author | Giacomo Pozzoni <giacomopoz@gmail.com> | 2020-03-17 18:58:07 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-17 19:58:07 +0100 |
| commit | 6fde051e4e52d98d1a6cf31b8ad3fcf95e0e83fd (patch) | |
| tree | 20e4cdc46bc4ed2af86ac02c249b3d5ec4f38f41 /src/server/game/Movement/MotionMaster.cpp | |
| parent | c09d2b7206ae29c43acb1df098eceeff6db5581c (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
Diffstat (limited to 'src/server/game/Movement/MotionMaster.cpp')
| -rw-r--r-- | src/server/game/Movement/MotionMaster.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp index d266b855ed0..a0b2c91c284 100644 --- a/src/server/game/Movement/MotionMaster.cpp +++ b/src/server/game/Movement/MotionMaster.cpp @@ -1142,7 +1142,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)) @@ -1187,6 +1190,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); } @@ -1197,6 +1201,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); } |
