From 4721d9814bb940bce24c5eae351eaffdd86ed802 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Fri, 16 Feb 2018 03:26:36 +0100 Subject: [PATCH] Core/Scripts: Fixed some delayed enrage --- .../TheBlackMorass/boss_chrono_lord_deja.cpp | 4 ++-- .../RubySanctum/boss_baltharus_the_warborn.cpp | 4 ++-- .../RubySanctum/boss_general_zarithrian.cpp | 4 ++-- .../ChamberOfAspects/RubySanctum/boss_halion.cpp | 5 ++++- .../Northrend/IsleOfConquest/boss_ioc_horde_alliance.cpp | 4 ++-- .../Outland/BlackTemple/boss_gurtogg_bloodboil.cpp | 4 ++-- .../scripts/Outland/BlackTemple/boss_illidari_council.cpp | 4 ++-- .../Outland/BlackTemple/boss_reliquary_of_souls.cpp | 4 ++-- .../scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp | 4 ++-- .../HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp | 8 ++++---- 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 a967f15445d..46f60b4747b 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 79d40b29f2e..0c6fe7ba380 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 @@ -182,11 +182,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 4559cf170f4..1c3541e110c 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp @@ -123,11 +123,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 e30194e2041..d8e00e49ac2 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp @@ -311,11 +311,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 ed16b6728ac..2b452ff3cba 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 dad48782475..2fa63fa5ff9 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp @@ -180,11 +180,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_illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp index da5a92fcffb..85f2efca148 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp @@ -206,11 +206,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_reliquary_of_souls.cpp b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp index 7dcdc907f1a..252270eeaaa 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp @@ -262,11 +262,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_teron_gorefiend.cpp b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp index 9d6c27144c7..4a40496fec0 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp @@ -172,11 +172,11 @@ public: 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 d6a6ab38885..f4dd961f190 100644 --- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp @@ -218,11 +218,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) @@ -291,9 +294,6 @@ class boss_magtheridon : public CreatureScript return; } - if (!UpdateVictim()) - return; - DoMeleeAttackIfReady(); }