Scripts/BoT: added berserk timers to bosses

This commit is contained in:
Ovahlord
2019-03-23 23:51:41 +01:00
parent bc468d8449
commit 4652ccd18d
4 changed files with 25 additions and 1 deletions

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}