diff --git a/src/server/scripts/EasternKingdoms/BastionOfTwilight/bastion_of_twilight.h b/src/server/scripts/EasternKingdoms/BastionOfTwilight/bastion_of_twilight.h index d3dcf37bd87..238259bb3a6 100644 --- a/src/server/scripts/EasternKingdoms/BastionOfTwilight/bastion_of_twilight.h +++ b/src/server/scripts/EasternKingdoms/BastionOfTwilight/bastion_of_twilight.h @@ -160,6 +160,11 @@ enum BoTGameObjects GO_GRIM_BATOL_RAID_TRAP_DOOR = 205898 }; +enum BoTSpells +{ + SPELL_BERSERK = 26662 +}; + enum BoTActions { // Halfus Wyrmbreaker @@ -183,7 +188,7 @@ enum BoTActions ACTION_TALK_ASCENDANT_COUNCIL_INTRO_1 = 3, ACTION_TALK_ASCENDANT_COUNCIL_INTRO_2 = 4, ACTION_TALK_ASCENDANT_COUNCIL_INTRO_3 = 5, - ACTION_TALK_CHOGALL_INTRO = 6, + ACTION_TALK_CHOGALL_INTRO = 6 }; enum BoTEvents diff --git a/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_chogall.cpp b/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_chogall.cpp index d50e947540c..d90f2a6ea27 100644 --- a/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_chogall.cpp +++ b/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_chogall.cpp @@ -131,6 +131,7 @@ enum Events EVENT_CHECK_BLOOD_OF_THE_OLD_GOD_BUFF, EVENT_DARKENED_CREATIONS, EVENT_SUMMON_SPIKED_TENTACLE, + EVENT_BERSERK, // Corrupting Adherent / Blood of the Old God EVENT_ENGAGE_PLAYERS, @@ -310,6 +311,7 @@ struct boss_chogall : public BossAI events.ScheduleEvent(EVENT_SHADOWS_ORDERS, 20s + 800ms, 0, PHASE_1); events.ScheduleEvent(EVENT_SUMMON_CORRUPTING_ADHERENT, 2min + 4s, 0, PHASE_1); events.ScheduleEvent(EVENT_CONVERSION, 11s, 0, PHASE_1); + events.ScheduleEvent(EVENT_BERSERK, 10min); if (instance->GetData(DATA_FULL_HEROIC_ID) && IsHeroic()) _allowDeath = false; @@ -538,6 +540,9 @@ struct boss_chogall : public BossAI DoCastAOE(SPELL_SUMMON_SPIKED_TENTACLE_TRIGGER); events.Repeat(20s); break; + case EVENT_BERSERK: + DoCastSelf(SPELL_BERSERK, true); + break; default: break; } diff --git a/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_halfus_wyrmbreaker.cpp b/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_halfus_wyrmbreaker.cpp index f7a26741bb9..14d5e863808 100644 --- a/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_halfus_wyrmbreaker.cpp +++ b/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_halfus_wyrmbreaker.cpp @@ -64,6 +64,7 @@ enum Events EVENT_SHADOW_NOVA = 1, EVENT_FURIOUS_ROAR, EVENT_RESET_ACHIEVEMT, + EVENT_BERSERK, // Proto-Behemoth EVENT_FIREBALL, @@ -185,6 +186,7 @@ class boss_halfus_wyrmbreaker : public CreatureScript _JustEngagedWith(); Talk(SAY_AGGRO); instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me); + events.ScheduleEvent(EVENT_BERSERK, 10min); if (Creature* protoBehemoth = instance->GetCreature(DATA_PROTO_BEHEMOTH)) protoBehemoth->AI()->DoZoneInCombat(); @@ -336,6 +338,9 @@ class boss_halfus_wyrmbreaker : public CreatureScript case EVENT_RESET_ACHIEVEMT: _theOnlyEscapeAchievementState = NOT_STARTED; break; + case EVENT_BERSERK: + DoCastSelf(SPELL_BERSERK, true); + break; default: break; } diff --git a/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_theralion_and_valiona.cpp b/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_theralion_and_valiona.cpp index d66d4f392d5..e8c28f7bec6 100644 --- a/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_theralion_and_valiona.cpp +++ b/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_theralion_and_valiona.cpp @@ -115,6 +115,7 @@ enum Events EVENT_LAND, EVENT_ATTACK_PLAYERS, EVENT_RESPOND_TO_SIBLING, + EVENT_BERSERK, // Theralion EVENT_TWILIGHT_BLAST, @@ -245,6 +246,7 @@ class boss_theralion : public CreatureScript { _JustEngagedWith(); instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me); + events.ScheduleEvent(EVENT_BERSERK, 10min); if (Creature* valiona = instance->GetCreature(DATA_VALIONA)) valiona->AI()->AttackStart(who); @@ -445,6 +447,9 @@ class boss_theralion : public CreatureScript Talk(SAY_ANNOUNCE_ENGULFING_MAGIC); events.Repeat(Seconds(40)); break; + case EVENT_BERSERK: + DoCastSelf(SPELL_BERSERK, true); + break; default: break; } @@ -497,6 +502,7 @@ class boss_valiona : public CreatureScript events.SetPhase(PHASE_GROUND); events.ScheduleEvent(EVENT_BLACKOUT, Seconds(10) + Milliseconds(500)); events.ScheduleEvent(EVENT_DEVOURING_FLAMES, Seconds(25)); + events.ScheduleEvent(EVENT_BERSERK, 10min); if (IsHeroic()) DoCastSelf(SPELL_TWILIGHT_SHIFT, true); @@ -779,6 +785,9 @@ class boss_valiona : public CreatureScript if (Unit* target = me->GetVictim()) AttackStart(target); break; + case EVENT_BERSERK: + DoCastSelf(SPELL_BERSERK, true); + break; default: break; }