diff options
author | Snapper <snapperryen@gmail.com> | 2016-06-04 21:17:15 +0200 |
---|---|---|
committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-01-12 23:17:37 +0100 |
commit | 36a896e28a253b3980c205ce79789f91d47ecbc7 (patch) | |
tree | 8c9b02685485144dc108a463698dc39af8f54724 | |
parent | 4e003219709334c7fb2468ea603e2d647f4bd3da (diff) |
Core/SmartAI: delay SMART_ACTION_FLEE_FOR_ASSIST if creature is rooted/stunned.
Prevents creatures from teleporting around when fleeing while stunned/rooted.
(cherry picked from commit aaf10dccb09935e8618389df99b2f8616458cf6b)
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartScript.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 0e5d15af6b9..500dfe0b627 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -3388,6 +3388,16 @@ void SmartScript::UpdateTimer(SmartScriptHolder& e, uint32 const diff) } } + // Delay flee for assist event if stunned or rooted + if (e.GetActionType() == SMART_ACTION_FLEE_FOR_ASSIST) + { + if (me && me->HasUnitState(UNIT_STATE_ROOT | UNIT_STATE_STUNNED)) + { + e.timer = 1; + return; + } + } + e.active = true;//activate events with cooldown switch (e.GetEventType())//process ONLY timed events { |