diff options
Diffstat (limited to 'src')
10 files changed, 24 insertions, 21 deletions
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp index 6f0aeba2bd2..a5995b59868 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp @@ -106,11 +106,11 @@ public: if (!UpdateVictim()) return; + events.Update(diff); + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - events.Update(diff); - while (uint32 eventId = events.ExecuteEvent()) { switch (eventId) diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp index cbe62f4f6cc..8b0f3026cee 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp @@ -183,11 +183,11 @@ class boss_baltharus_the_warborn : public CreatureScript if (!events.IsInPhase(PHASE_INTRO)) me->SetHealth(instance->GetData(DATA_BALTHARUS_SHARED_HEALTH)); + events.Update(diff); + if (!events.IsInPhase(PHASE_INTRO) && me->HasUnitState(UNIT_STATE_CASTING)) return; - events.Update(diff); - while (uint32 eventId = events.ExecuteEvent()) { switch (eventId) diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp index 5a6cd67cdb1..399c603c5d4 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp @@ -128,11 +128,11 @@ class boss_general_zarithrian : public CreatureScript if (!UpdateVictim()) return; + events.Update(diff); + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - events.Update(diff); - while (uint32 eventId = events.ExecuteEvent()) { switch (eventId) diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp index aad2aea2d9a..dc23c621fea 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp @@ -320,11 +320,14 @@ class boss_halion : public CreatureScript if (events.IsInPhase(PHASE_TWO)) return; - if (!UpdateVictim() || me->HasUnitState(UNIT_STATE_CASTING)) + if (!UpdateVictim()) return; events.Update(diff); + if (me->HasUnitState(UNIT_STATE_CASTING)) + return; + while (uint32 eventId = events.ExecuteEvent()) { switch (eventId) diff --git a/src/server/scripts/Northrend/IsleOfConquest/boss_ioc_horde_alliance.cpp b/src/server/scripts/Northrend/IsleOfConquest/boss_ioc_horde_alliance.cpp index 570f21b0d34..8357d16975c 100644 --- a/src/server/scripts/Northrend/IsleOfConquest/boss_ioc_horde_alliance.cpp +++ b/src/server/scripts/Northrend/IsleOfConquest/boss_ioc_horde_alliance.cpp @@ -79,11 +79,11 @@ public: if (!UpdateVictim()) return; + _events.Update(diff); + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - _events.Update(diff); - while (uint32 eventId = _events.ExecuteEvent()) { switch (eventId) diff --git a/src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp b/src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp index 541bda4228c..426e79ac0aa 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp @@ -176,11 +176,11 @@ struct boss_gurtogg_bloodboil : public BossAI if (!UpdateVictim()) return; + events.Update(diff); + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - events.Update(diff); - while (uint32 eventId = events.ExecuteEvent()) { switch (eventId) diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp index 1009106b426..8340d8a9143 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp @@ -201,11 +201,11 @@ struct boss_illidari_council : public BossAI if (!UpdateVictim()) return; + events.Update(diff); + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - events.Update(diff); - while (uint32 eventId = events.ExecuteEvent()) { switch (eventId) diff --git a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp index 6c339c35c63..5abf5205c4e 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp @@ -261,11 +261,11 @@ struct boss_reliquary_of_souls : public BossAI if (!UpdateVictim()) return; + events.Update(diff); + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - events.Update(diff); - while (uint32 eventId = events.ExecuteEvent()) { switch (eventId) diff --git a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp index 50d5cf67a10..0fc3f845036 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp @@ -170,11 +170,11 @@ struct boss_teron_gorefiend : public BossAI if (!events.IsInPhase(PHASE_INTRO) && !UpdateVictim()) return; + events.Update(diff); + if (me->HasUnitState(UNIT_STATE_CASTING)) return; - events.Update(diff); - while (uint32 eventId = events.ExecuteEvent()) { switch (eventId) diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp index 8f0a3807428..5e41e335c78 100644 --- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp @@ -220,11 +220,14 @@ class boss_magtheridon : public CreatureScript void UpdateAI(uint32 diff) override { - if (me->HasUnitState(UNIT_STATE_CASTING)) + if (!events.IsInPhase(PHASE_BANISH) && !UpdateVictim()) return; events.Update(diff); + if (me->HasUnitState(UNIT_STATE_CASTING)) + return; + while (uint32 eventId = events.ExecuteEvent()) { switch (eventId) @@ -294,9 +297,6 @@ class boss_magtheridon : public CreatureScript return; } - if (!UpdateVictim()) - return; - DoMeleeAttackIfReady(); } |
