From 63c436f5fb6924b872050cf5838a4052d9034935 Mon Sep 17 00:00:00 2001 From: Keader Date: Wed, 14 Feb 2018 17:32:29 -0300 Subject: Core/Scripts: Fixed some delayed enrage Closes #15367 --- .../CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp | 4 ++-- .../ChamberOfAspects/RubySanctum/boss_baltharus_the_warborn.cpp | 4 ++-- .../ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp | 4 ++-- .../Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp | 5 ++++- .../scripts/Northrend/IsleOfConquest/boss_ioc_horde_alliance.cpp | 4 ++-- src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp | 4 ++-- src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp | 4 ++-- .../scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp | 4 ++-- src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp | 4 ++-- .../Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp | 8 ++++---- 10 files changed, 24 insertions(+), 21 deletions(-) (limited to 'src') 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 59b89c2ed09..8b56ea6c275 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 @@ -107,11 +107,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 941deb21c37..05a1ce8d293 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 4706f5767a9..4660609a578 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 135726939f0..ad591aa3c6b 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp @@ -319,11 +319,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 c49af265572..50b5ceb3b30 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 666cf0d5445..504c21fcc27 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 f097546321b..9c1138b39d8 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 fbe05f264b2..672d0ba67ef 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp @@ -259,11 +259,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 6410f8786b8..e749b07a50b 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp @@ -169,11 +169,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 485bb682ef2..d070590a08d 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(); } -- cgit v1.2.3