diff options
| author | treeston <treeston.mmoc@gmail.com> | 2016-09-03 17:21:22 +0200 |
|---|---|---|
| committer | treeston <treeston.mmoc@gmail.com> | 2016-09-03 17:21:22 +0200 |
| commit | ac62d7156f93bf86f57dbad1f24f14031322fd5a (patch) | |
| tree | 869eb135438a9d8fa115cdf0b0c6d726567c371f /src/server/game/AI/ScriptedAI | |
| parent | a4623efaa67be1cfea19e561be83f118a784b9d1 (diff) | |
Scripts/Events: Globally fix all ExecuteEvent loops to check UNIT_STATE_CASTING after each iteration, instead of just checking it once initially.
Fixes and closes #17892.
Diffstat (limited to 'src/server/game/AI/ScriptedAI')
| -rw-r--r-- | src/server/game/AI/ScriptedAI/ScriptedCreature.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp index 9fb8608241c..cfbe90d53a7 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp @@ -550,7 +550,11 @@ void BossAI::UpdateAI(uint32 diff) return; while (uint32 eventId = events.ExecuteEvent()) + { ExecuteEvent(eventId); + if (me->HasUnitState(UNIT_STATE_CASTING)) + return; + } DoMeleeAttackIfReady(); } @@ -631,7 +635,11 @@ void WorldBossAI::UpdateAI(uint32 diff) return; while (uint32 eventId = events.ExecuteEvent()) + { ExecuteEvent(eventId); + if (me->HasUnitState(UNIT_STATE_CASTING)) + return; + } DoMeleeAttackIfReady(); } |
