aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSnapper <snapperryen@gmail.com>2016-06-04 21:17:15 +0200
committerjoschiwald <joschiwald.trinity@gmail.com>2017-01-12 23:17:37 +0100
commit36a896e28a253b3980c205ce79789f91d47ecbc7 (patch)
tree8c9b02685485144dc108a463698dc39af8f54724
parent4e003219709334c7fb2468ea603e2d647f4bd3da (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.cpp10
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
{