fix(Scripts/UBRS): General Drakkisath improvements (#8875)

* Added spells Rage & Pierce Armor (vMaNGOS)
* Corrected Flamestrike spell ID (vMANGOS)
* He now casts conflagration on a random target
This commit is contained in:
Skjalf
2021-11-03 09:40:34 -03:00
committed by GitHub
parent c3546e0439
commit 6da6cfdd4a

View File

@@ -21,18 +21,22 @@
enum Spells enum Spells
{ {
SPELL_FIRENOVA = 23462, SPELL_FLAMESTRIKE = 16419,
SPELL_CLEAVE = 20691, SPELL_CLEAVE = 15284,
SPELL_CONFLIGURATION = 16805, SPELL_CONFLAGRATION = 16805,
SPELL_THUNDERCLAP = 15548, //Not sure if right ID. 23931 would be a harder possibility. SPELL_THUNDERCLAP = 15548, //Not sure if right ID. 23931 would be a harder possibility.
SPELL_RAGE = 16789,
SPELL_PIERCE_ARMOR = 12097
}; };
enum Events enum Events
{ {
EVENT_FIRE_NOVA = 1, EVENT_FLAMESTRIKE = 1,
EVENT_CLEAVE = 2, EVENT_CLEAVE,
EVENT_CONFLIGURATION = 3, EVENT_CONFLAGRATION,
EVENT_THUNDERCLAP = 4, EVENT_THUNDERCLAP,
EVENT_PIERCE_ARMOR,
EVENT_RAGE
}; };
enum ChromaticEliteGuardEvents enum ChromaticEliteGuardEvents
@@ -49,8 +53,8 @@ enum ChromaticEliteGuardSpells
SPELL_STRIKE = 15580 SPELL_STRIKE = 15580
}; };
int const ChromaticEliteGuardEntry = 10814; constexpr uint32 ChromaticEliteGuardEntry = 10814;
int const GeneralDrakkisathEntry = 10814; constexpr uint32 GeneralDrakkisathEntry = 10814;
class boss_drakkisath : public CreatureScript class boss_drakkisath : public CreatureScript
{ {
@@ -70,10 +74,12 @@ public:
{ {
_EnterCombat(); _EnterCombat();
CallForHelp(); CallForHelp();
events.ScheduleEvent(EVENT_FIRE_NOVA, 6000); events.ScheduleEvent(EVENT_FLAMESTRIKE, 6000);
events.ScheduleEvent(EVENT_CLEAVE, 8000); events.ScheduleEvent(EVENT_CLEAVE, 8000);
events.ScheduleEvent(EVENT_CONFLIGURATION, 15000); events.ScheduleEvent(EVENT_CONFLAGRATION, 15000);
events.ScheduleEvent(EVENT_THUNDERCLAP, 17000); events.ScheduleEvent(EVENT_THUNDERCLAP, 17000);
events.ScheduleEvent(EVENT_PIERCE_ARMOR, 5000);
events.ScheduleEvent(EVENT_RAGE, 1000);
} }
// Will make his two adds engage combat // Will make his two adds engage combat
@@ -106,22 +112,33 @@ public:
{ {
switch (eventId) switch (eventId)
{ {
case EVENT_FIRE_NOVA: case EVENT_FLAMESTRIKE:
DoCastVictim(SPELL_FIRENOVA); DoCastAOE(SPELL_FLAMESTRIKE);
events.ScheduleEvent(EVENT_FIRE_NOVA, 10000); events.ScheduleEvent(EVENT_FLAMESTRIKE, 10000);
break; break;
case EVENT_CLEAVE: case EVENT_CLEAVE:
DoCastVictim(SPELL_CLEAVE); DoCastVictim(SPELL_CLEAVE);
events.ScheduleEvent(EVENT_CLEAVE, 8000); events.ScheduleEvent(EVENT_CLEAVE, 8000);
break; break;
case EVENT_CONFLIGURATION: case EVENT_CONFLAGRATION:
DoCastVictim(SPELL_CONFLIGURATION); if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 50.0f, true))
events.ScheduleEvent(EVENT_CONFLIGURATION, 18000); {
DoCast(target, SPELL_CONFLAGRATION);
}
events.ScheduleEvent(EVENT_CONFLAGRATION, 18000);
break; break;
case EVENT_THUNDERCLAP: case EVENT_THUNDERCLAP:
DoCastVictim(SPELL_THUNDERCLAP); DoCastVictim(SPELL_THUNDERCLAP);
events.ScheduleEvent(EVENT_THUNDERCLAP, 20000); events.ScheduleEvent(EVENT_THUNDERCLAP, 20000);
break; break;
case EVENT_PIERCE_ARMOR:
DoCastVictim(SPELL_PIERCE_ARMOR);
events.ScheduleEvent(EVENT_PIERCE_ARMOR, 40000);
break;
case EVENT_RAGE:
DoCastSelf(SPELL_RAGE);
events.ScheduleEvent(EVENT_RAGE, 35000);
break;
} }
} }
DoMeleeAttackIfReady(); DoMeleeAttackIfReady();