core fix warnings

This commit is contained in:
luis
2026-10-08 15:27:04 -03:00
parent d149ea9e23
commit 1a711e795c
4 changed files with 219 additions and 163 deletions
@@ -59,6 +59,20 @@ enum Events
EVENT_A2 = 5,
EVENT_A3 = 6,
EVENT_A4 = 7,
EVENT_FLAME_REND = 8,
EVENT_FOE_BREAKER,
EVENT_WAKE_OF_FLAME,
EVENT_FLARE,
EVENT_BURNING_RAGE,
EVENT_CORRUPT_AEGIS,
EVENT_SEARING_TEMPEST,
EVENT_SCORCHING_BLAZE,
EVENT_TAESHALACH_TECHNIQUE,
EVENT_EMPOWERED_FLAME_REND,
EVENT_RAVENOUS_BLAZE,
EVENT_EMPOWERED_FOE_BREAKER,
EVENT_EMPOWERED_SEARING_TEMPEST,
EVENT_SEARING_BINDING,
};
enum Phases
{
@@ -125,25 +139,25 @@ struct boss_aggramar : public BossAI
{
me->RemoveAurasDueToSpell(SPELL_CORRUPT_AEGIS);
events.ScheduleEvent(SPELL_FLAME_REND, 5s);
events.ScheduleEvent(SPELL_FOE_BREAKER, 5s);
events.ScheduleEvent(EVENT_FLAME_REND, 5s);
events.ScheduleEvent(EVENT_FOE_BREAKER, 5s);
if (PhaseStatus < PHASE_2)
events.ScheduleEvent(SPELL_WAKE_OF_FLAME, 6s);
events.ScheduleEvent(EVENT_WAKE_OF_FLAME, 6s);
else
events.ScheduleEvent(SPELL_FLARE, 6s);
events.ScheduleEvent(SPELL_BURNING_RAGE, 5s);
events.ScheduleEvent(SPELL_CORRUPT_AEGIS, 5s);
events.ScheduleEvent(SPELL_SEARING_TEMPEST, 5s);
events.ScheduleEvent(SPELL_SCORCHING_BLAZE, 8s);
events.ScheduleEvent(SPELL_TAESHALACH_TECHNIQUE, 60s);
events.ScheduleEvent(EVENT_FLARE, 6s);
events.ScheduleEvent(EVENT_BURNING_RAGE, 5s);
events.ScheduleEvent(EVENT_CORRUPT_AEGIS, 5s);
events.ScheduleEvent(EVENT_SEARING_TEMPEST, 5s);
events.ScheduleEvent(EVENT_SCORCHING_BLAZE, 8s);
events.ScheduleEvent(EVENT_TAESHALACH_TECHNIQUE, 60s);
if (me->GetMap()->IsMythic())
{
events.ScheduleEvent(SPELL_EMPOWERED_FLAME_REND, 5s);
events.ScheduleEvent(SPELL_RAVENOUS_BLAZE, 5s);
events.ScheduleEvent(SPELL_EMPOWERED_FOE_BREAKER, 5s);
events.ScheduleEvent(SPELL_EMPOWERED_SEARING_TEMPEST, 5s);
events.ScheduleEvent(SPELL_SEARING_BINDING, 5s);
events.ScheduleEvent(EVENT_EMPOWERED_FLAME_REND, 5s);
events.ScheduleEvent(EVENT_RAVENOUS_BLAZE, 5s);
events.ScheduleEvent(EVENT_EMPOWERED_FOE_BREAKER, 5s);
events.ScheduleEvent(EVENT_EMPOWERED_SEARING_TEMPEST, 5s);
events.ScheduleEvent(EVENT_SEARING_BINDING, 5s);
}
}
@@ -154,25 +168,25 @@ struct boss_aggramar : public BossAI
{
Talk(0);
DoCastSelf(SPELL_TAESHALACH_S_REACH);
events.ScheduleEvent(SPELL_FLAME_REND, 5s);
events.ScheduleEvent(SPELL_FOE_BREAKER, 5s);
events.ScheduleEvent(EVENT_FLAME_REND, 5s);
events.ScheduleEvent(EVENT_FOE_BREAKER, 5s);
if (PhaseStatus < PHASE_2)
events.ScheduleEvent(SPELL_WAKE_OF_FLAME, 6s);
events.ScheduleEvent(EVENT_WAKE_OF_FLAME, 6s);
else
events.ScheduleEvent(SPELL_FLARE, 6s);
events.ScheduleEvent(SPELL_BURNING_RAGE, 5s);
events.ScheduleEvent(SPELL_CORRUPT_AEGIS, 5s);
events.ScheduleEvent(SPELL_SEARING_TEMPEST, 5s);
events.ScheduleEvent(SPELL_SCORCHING_BLAZE, 8s);
events.ScheduleEvent(SPELL_TAESHALACH_TECHNIQUE, 60s);
events.ScheduleEvent(EVENT_FLARE, 6s);
events.ScheduleEvent(EVENT_BURNING_RAGE, 5s);
events.ScheduleEvent(EVENT_CORRUPT_AEGIS, 5s);
events.ScheduleEvent(EVENT_SEARING_TEMPEST, 5s);
events.ScheduleEvent(EVENT_SCORCHING_BLAZE, 8s);
events.ScheduleEvent(EVENT_TAESHALACH_TECHNIQUE, 60s);
if (me->GetMap()->IsMythic())
{
events.ScheduleEvent(SPELL_EMPOWERED_FLAME_REND, 5s);
events.ScheduleEvent(SPELL_RAVENOUS_BLAZE, 5s);
events.ScheduleEvent(SPELL_EMPOWERED_FOE_BREAKER, 5s);
events.ScheduleEvent(SPELL_EMPOWERED_SEARING_TEMPEST, 5s);
events.ScheduleEvent(SPELL_SEARING_BINDING, 5s);
events.ScheduleEvent(EVENT_EMPOWERED_FLAME_REND, 5s);
events.ScheduleEvent(EVENT_RAVENOUS_BLAZE, 5s);
events.ScheduleEvent(EVENT_EMPOWERED_FOE_BREAKER, 5s);
events.ScheduleEvent(EVENT_EMPOWERED_SEARING_TEMPEST, 5s);
events.ScheduleEvent(EVENT_SEARING_BINDING, 5s);
}
}
@@ -183,14 +197,14 @@ struct boss_aggramar : public BossAI
switch (eventId)
{
case SPELL_WAKE_OF_FLAME:
case EVENT_WAKE_OF_FLAME:
{
Talk(1);
DoCast(SPELL_WAKE_OF_FLAME);
events.Repeat(25s);
break;
}
case SPELL_FLARE:
case EVENT_FLARE:
{
if (Unit* target1 = SelectTarget(SelectTargetMethod::Random, 0.0, 0.0, true))
me->CastSpell(target1, SPELL_FLARE, false);
@@ -203,13 +217,13 @@ struct boss_aggramar : public BossAI
events.Repeat(25s);
break;
}
case SPELL_SEARING_TEMPEST:
case EVENT_SEARING_TEMPEST:
{
DoCast(SPELL_SEARING_TEMPEST);
//events.Repeat(20s);
break;
}
case SPELL_SCORCHING_BLAZE:
case EVENT_SCORCHING_BLAZE:
{
if (Unit* target1 = SelectTarget(SelectTargetMethod::Random, 0.0, 0.0, true))
me->CastSpell(target1, SPELL_SCORCHING_BLAZE, false);
@@ -220,7 +234,7 @@ struct boss_aggramar : public BossAI
break;
}
case SPELL_TAESHALACH_TECHNIQUE:
case EVENT_TAESHALACH_TECHNIQUE:
{
Talk(2);
DoCast(SPELL_TAESHALACH_TECHNIQUE);
@@ -252,34 +266,34 @@ struct boss_aggramar : public BossAI
{
DoCast(SPELL_FLAME_REND);
DoCast(SPELL_BURNING_RAGE);
events.ScheduleEvent(SPELL_SEARING_TEMPEST, 5s);
events.ScheduleEvent(EVENT_SEARING_TEMPEST, 5s);
break;
}
case SPELL_EMPOWERED_FLAME_REND:
case EVENT_EMPOWERED_FLAME_REND:
{
DoCast(SPELL_EMPOWERED_FLAME_REND);
events.Repeat(5s);
break;
}
case SPELL_RAVENOUS_BLAZE:
case EVENT_RAVENOUS_BLAZE:
{
DoCast(SPELL_RAVENOUS_BLAZE);
events.Repeat(5s);
break;
}
case SPELL_EMPOWERED_FOE_BREAKER:
case EVENT_EMPOWERED_FOE_BREAKER:
{
DoCast(SPELL_EMPOWERED_FOE_BREAKER);
events.Repeat(5s);
break;
}
case SPELL_EMPOWERED_SEARING_TEMPEST:
case EVENT_EMPOWERED_SEARING_TEMPEST:
{
DoCast(SPELL_EMPOWERED_SEARING_TEMPEST);
events.Repeat(5s);
break;
}
case SPELL_SEARING_BINDING:
case EVENT_SEARING_BINDING:
{
DoCast(SPELL_SEARING_BINDING);
events.Repeat(5s);
@@ -53,6 +53,19 @@ enum Spells
NPC_GENERAL_ERODUS = 122333,
};
enum Events
{
EVENT_CHIEF_ENGINEER_ISHKAR = 1,
EVENT_GENERAL_ERODUS,
EVENT_EXPLOIT_WEAKNESS,
EVENT_SHOCK_GRENADE,
EVENT_ASSUME_COMMAND,
EVENT_CHAOS_PULSE,
EVENT_FUSILLADE,
EVENT_ENTROPIC_MINE,
EVENT_SUMMON_REINFORCEMENTS,
};
Position const phase2pos = { -2809.739f,10829.299f,139.751f,2.05f };
Position const phase3pos = { -2859.6398f,10864.7998f,139.74f,5.9322f };
//Phase One - Active Boss: Admiral Svirax
@@ -97,58 +110,58 @@ struct boss_admiral_svirax : public BossAI
void ScheduleTasks() override
{
PhaseStatus = 1;
events.ScheduleEvent(NPC_CHIEF_ENGINEER_ISHKAR, 90s);
events.ScheduleEvent(NPC_GENERAL_ERODUS, 180s);
events.ScheduleEvent(EVENT_CHIEF_ENGINEER_ISHKAR, 90s);
events.ScheduleEvent(EVENT_GENERAL_ERODUS, 180s);
//general
events.ScheduleEvent(SPELL_EXPLOIT_WEAKNESS, 8s);
events.ScheduleEvent(EVENT_EXPLOIT_WEAKNESS, 8s);
if (IsMythic())
events.ScheduleEvent(SPELL_SHOCK_GRENADE, 15s);
events.ScheduleEvent(SPELL_ASSUME_COMMAND, 90s);
events.ScheduleEvent(SPELL_CHAOS_PULSE, 15s);
events.ScheduleEvent(SPELL_FUSILLADE, 30s);
events.ScheduleEvent(EVENT_SHOCK_GRENADE, 15s);
events.ScheduleEvent(EVENT_ASSUME_COMMAND, 90s);
events.ScheduleEvent(EVENT_CHAOS_PULSE, 15s);
events.ScheduleEvent(EVENT_FUSILLADE, 30s);
events.ScheduleEvent(SPELL_ENTROPIC_MINE, 5s);
events.ScheduleEvent(EVENT_ENTROPIC_MINE, 5s);
}
void ExecuteEvent(uint32 eventId) override
{
switch (eventId)
{
case NPC_CHIEF_ENGINEER_ISHKAR:
case EVENT_CHIEF_ENGINEER_ISHKAR:
{
PhaseStatus = 2;
events.CancelEvent(SPELL_ENTROPIC_MINE);
events.ScheduleEvent(SPELL_SUMMON_REINFORCEMENTS, 8s);
events.CancelEvent(EVENT_ENTROPIC_MINE);
events.ScheduleEvent(EVENT_SUMMON_REINFORCEMENTS, 8s);
me->SummonCreature(NPC_CHIEF_ENGINEER_ISHKAR, phase2pos, TEMPSUMMON_MANUAL_DESPAWN);
break;
}
case NPC_GENERAL_ERODUS:
case EVENT_GENERAL_ERODUS:
{
PhaseStatus = 3;
events.CancelEvent(SPELL_SUMMON_REINFORCEMENTS);
events.ScheduleEvent(SPELL_ENTROPIC_MINE, 5s);
events.CancelEvent(EVENT_SUMMON_REINFORCEMENTS);
events.ScheduleEvent(EVENT_ENTROPIC_MINE, 5s);
me->SummonCreature(NPC_GENERAL_ERODUS, phase2pos, TEMPSUMMON_MANUAL_DESPAWN);
break;
}
case SPELL_EXPLOIT_WEAKNESS:
case EVENT_EXPLOIT_WEAKNESS:
{
DoCast(SPELL_EXPLOIT_WEAKNESS);
events.Repeat(8s, 9s);
break;
}
case SPELL_SHOCK_GRENADE:
case EVENT_SHOCK_GRENADE:
{
DoCast(SPELL_SHOCK_GRENADE);
events.Repeat(15s);
break;
}
case SPELL_ASSUME_COMMAND:
case EVENT_ASSUME_COMMAND:
{
DoCast(SPELL_ASSUME_COMMAND);
events.Repeat(90s);
break;
}
case SPELL_CHAOS_PULSE:
case EVENT_CHAOS_PULSE:
{
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 0.f, true))
me->CastSpell(target->GetPosition(), SPELL_CHAOS_PULSE, false);
@@ -157,13 +170,13 @@ struct boss_admiral_svirax : public BossAI
events.Repeat(15s);
break;
}
case SPELL_FUSILLADE:
case EVENT_FUSILLADE:
{
DoCast(SPELL_FUSILLADE);
events.Repeat(30s);
break;
}
case SPELL_ENTROPIC_MINE:
case EVENT_ENTROPIC_MINE:
{
DoCast(SPELL_ENTROPIC_MINE);
for (uint8 i = 0; i < 5; ++i)
@@ -172,7 +185,7 @@ struct boss_admiral_svirax : public BossAI
events.Repeat(10s);
break;
}
case SPELL_SUMMON_REINFORCEMENTS:
case EVENT_SUMMON_REINFORCEMENTS:
{
DoCast(SPELL_SUMMON_REINFORCEMENTS);
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 0.f, true))
@@ -220,13 +233,13 @@ struct npc_chief_engineer_ishkar_122369 : public ScriptedAI
void JustEngagedWith (Unit* /*attacker*/) override
{
events.ScheduleEvent(SPELL_EXPLOIT_WEAKNESS, 8s);
events.ScheduleEvent(EVENT_EXPLOIT_WEAKNESS, 8s);
if (IsMythic())
events.ScheduleEvent(SPELL_SHOCK_GRENADE, 15s);
events.ScheduleEvent(SPELL_ASSUME_COMMAND, 90s);
events.ScheduleEvent(SPELL_CHAOS_PULSE, 15s);
events.ScheduleEvent(EVENT_SHOCK_GRENADE, 15s);
events.ScheduleEvent(EVENT_ASSUME_COMMAND, 90s);
events.ScheduleEvent(EVENT_CHAOS_PULSE, 15s);
//In Pod
events.ScheduleEvent(SPELL_ENTROPIC_MINE, 5s);
events.ScheduleEvent(EVENT_ENTROPIC_MINE, 5s);
}
void UpdateAI(uint32 diff) override
@@ -239,25 +252,25 @@ struct npc_chief_engineer_ishkar_122369 : public ScriptedAI
return;
switch (events.ExecuteEvent())
{
case SPELL_EXPLOIT_WEAKNESS:
case EVENT_EXPLOIT_WEAKNESS:
{
DoCast(SPELL_EXPLOIT_WEAKNESS);
events.Repeat(8s, 9s);
break;
}
case SPELL_SHOCK_GRENADE:
case EVENT_SHOCK_GRENADE:
{
DoCast(SPELL_SHOCK_GRENADE);
events.Repeat(15s);
break;
}
case SPELL_ASSUME_COMMAND:
case EVENT_ASSUME_COMMAND:
{
DoCast(SPELL_ASSUME_COMMAND);
events.Repeat(90s);
break;
}
case SPELL_CHAOS_PULSE:
case EVENT_CHAOS_PULSE:
{
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 0.f, true))
me->CastSpell(target, SPELL_CHAOS_PULSE, false);
@@ -266,7 +279,7 @@ struct npc_chief_engineer_ishkar_122369 : public ScriptedAI
events.Repeat(15s);
break;
}
case SPELL_ENTROPIC_MINE:
case EVENT_ENTROPIC_MINE:
{
DoCast(SPELL_ENTROPIC_MINE);
for (uint8 i = 0; i < 5; ++i)
@@ -311,13 +324,13 @@ struct npc_general_erodus_122333 : public ScriptedAI
void JustEngagedWith(Unit* /*attacker*/) override
{
events.ScheduleEvent(SPELL_EXPLOIT_WEAKNESS, 8s);
events.ScheduleEvent(EVENT_EXPLOIT_WEAKNESS, 8s);
if (IsMythic())
events.ScheduleEvent(SPELL_SHOCK_GRENADE, 15s);
events.ScheduleEvent(SPELL_ASSUME_COMMAND, 90s);
events.ScheduleEvent(SPELL_CHAOS_PULSE, 15s);
events.ScheduleEvent(EVENT_SHOCK_GRENADE, 15s);
events.ScheduleEvent(EVENT_ASSUME_COMMAND, 90s);
events.ScheduleEvent(EVENT_CHAOS_PULSE, 15s);
//In Pod
events.ScheduleEvent(SPELL_SUMMON_REINFORCEMENTS, 8s);
events.ScheduleEvent(EVENT_SUMMON_REINFORCEMENTS, 8s);
}
void UpdateAI(uint32 diff) override
@@ -330,25 +343,25 @@ struct npc_general_erodus_122333 : public ScriptedAI
return;
switch (events.ExecuteEvent())
{
case SPELL_EXPLOIT_WEAKNESS:
case EVENT_EXPLOIT_WEAKNESS:
{
DoCast(SPELL_EXPLOIT_WEAKNESS);
events.Repeat(8s, 9s);
break;
}
case SPELL_SHOCK_GRENADE:
case EVENT_SHOCK_GRENADE:
{
DoCast(SPELL_SHOCK_GRENADE);
events.Repeat(15s);
break;
}
case SPELL_ASSUME_COMMAND:
case EVENT_ASSUME_COMMAND:
{
DoCast(SPELL_ASSUME_COMMAND);
events.Repeat(90s);
break;
}
case SPELL_CHAOS_PULSE:
case EVENT_CHAOS_PULSE:
{
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 0.f, true))
me->CastSpell(target, SPELL_CHAOS_PULSE, false);
@@ -357,7 +370,7 @@ struct npc_general_erodus_122333 : public ScriptedAI
events.Repeat(15s);
break;
}
case SPELL_SUMMON_REINFORCEMENTS:
case EVENT_SUMMON_REINFORCEMENTS:
{
DoCast(SPELL_SUMMON_REINFORCEMENTS);
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 0.f, true))
@@ -110,12 +110,28 @@ enum Spells
enum Events
{
// Intro
EVENT_INTRO = 1,
EVENT_2 = 2,
EVENT_3 = 3,
EVENT_4 = 4,
EVENT_5 = 5,
EVENT_SWEEPING_SCYTHE = 1,
EVENT_CONE_OF_DEATH,
EVENT_SOULBLIGHT_ORB,
EVENT_TORTURED_RAGE,
EVENT_SKY_AND_SEA,
EVENT_SARGERAS_GAZE,
EVENT_SOULBOMB,
EVENT_SOULBURST,
EVENT_EDGE_OF_OBLITERATION,
EVENT_AVTAR_OF_AGGRAMAR,
EVENT_SOULRENDING_SCYTHE,
EVENT_SENTENCE_OF_SARGERAS,
EVENT_EDGE_OF_ANNIHILATION,
EVENT_DEADLY_SCYTHE,
EVENT_REORIGINATION_MODULE,
EVENT_VOLATILE_SOUL,
EVENT_SOULBURST_DETONATION,
EVENT_STARBLAST,
EVENT_COSMIC_RAY,
EVENT_COSMIC_BEACON,
EVENT_INITIALIZATION_SEQUENCE,
EVENT_REORIGINATION_MODULE_DMG,
};
///.go creature id
@@ -163,12 +179,12 @@ struct boss_argus_the_unmaker : public BossAI
if (IsMythic())
{
events.ScheduleEvent(SPELL_SOULRENDING_SCYTHE, 5s);
events.ScheduleEvent(SPELL_SENTENCE_OF_SARGERAS, 35s);
events.ScheduleEvent(SPELL_EDGE_OF_ANNIHILATION, 5s);
events.ScheduleEvent(EVENT_SOULRENDING_SCYTHE, 5s);
events.ScheduleEvent(EVENT_SENTENCE_OF_SARGERAS, 35s);
events.ScheduleEvent(EVENT_EDGE_OF_ANNIHILATION, 5s);
}
events.ScheduleEvent(SPELL_SOULBOMB, 41s);
events.ScheduleEvent(SPELL_SOULBURST, 41s);
events.ScheduleEvent(EVENT_SOULBOMB, 41s);
events.ScheduleEvent(EVENT_SOULBURST, 41s);
}
}
}
@@ -180,13 +196,13 @@ struct boss_argus_the_unmaker : public BossAI
case 1:
PhaseStatus = 1;
events.Reset();
events.ScheduleEvent(SPELL_SWEEPING_SCYTHE, 5s, 6s);
events.ScheduleEvent(SPELL_CONE_OF_DEATH, 30s);
events.ScheduleEvent(SPELL_SOULBLIGHT_ORB, 35s);
events.ScheduleEvent(SPELL_TORTURED_RAGE, 12s);
events.ScheduleEvent(SPELL_SKY_AND_SEA, 10s);
events.ScheduleEvent(EVENT_SWEEPING_SCYTHE, 5s, 6s);
events.ScheduleEvent(EVENT_CONE_OF_DEATH, 30s);
events.ScheduleEvent(EVENT_SOULBLIGHT_ORB, 35s);
events.ScheduleEvent(EVENT_TORTURED_RAGE, 12s);
events.ScheduleEvent(EVENT_SKY_AND_SEA, 10s);
if (IsMythic())
events.ScheduleEvent(SPELL_SARGERAS_GAZE, 8s);
events.ScheduleEvent(EVENT_SARGERAS_GAZE, 8s);
break;
case 2:
PhaseStatus = 2;
@@ -198,18 +214,18 @@ struct boss_argus_the_unmaker : public BossAI
instance->AddTimedDelayedOperation(2500, [this]() -> void
{
events.ScheduleEvent(SPELL_SWEEPING_SCYTHE, 16s, 17s);
events.ScheduleEvent(SPELL_SOULBOMB, 30s);
events.ScheduleEvent(SPELL_SOULBURST, 30s);
events.ScheduleEvent(SPELL_EDGE_OF_OBLITERATION, 21s);
events.ScheduleEvent(SPELL_AVTAR_OF_AGGRAMAR, 21s);
events.ScheduleEvent(EVENT_SWEEPING_SCYTHE, 16s, 17s);
events.ScheduleEvent(EVENT_SOULBOMB, 30s);
events.ScheduleEvent(EVENT_SOULBURST, 30s);
events.ScheduleEvent(EVENT_EDGE_OF_OBLITERATION, 21s);
events.ScheduleEvent(EVENT_AVTAR_OF_AGGRAMAR, 21s);
if (IsMythic())
events.ScheduleEvent(SPELL_SARGERAS_GAZE, 26s);
events.ScheduleEvent(EVENT_SARGERAS_GAZE, 26s);
});
//events.ScheduleEvent(SPELL_TORTURED_RAGE, 15s);
events.ScheduleEvent(SPELL_VOLATILE_SOUL, 15s);
events.ScheduleEvent(SPELL_SOULBURST_DETONATION, 15s);
//events.ScheduleEvent(EVENT_TORTURED_RAGE, 15s);
events.ScheduleEvent(EVENT_VOLATILE_SOUL, 15s);
events.ScheduleEvent(EVENT_SOULBURST_DETONATION, 15s);
break;
case 3:
PhaseStatus = 3;
@@ -275,10 +291,10 @@ struct boss_argus_the_unmaker : public BossAI
me->Attack(me->GetVictim(), true);
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveChase(me->GetVictim());
events.ScheduleEvent(SPEEL_DEADLY_SCYTHE, 5s);
events.ScheduleEvent(SPELL_REORIGINATION_MODULE, 48s);
events.ScheduleEvent(SPELL_SOULBOMB, 80s);
events.ScheduleEvent(SPELL_SOULBURST, 40s);
events.ScheduleEvent(EVENT_DEADLY_SCYTHE, 5s);
events.ScheduleEvent(EVENT_REORIGINATION_MODULE, 48s);
events.ScheduleEvent(EVENT_SOULBOMB, 80s);
events.ScheduleEvent(EVENT_SOULBURST, 40s);
});
break;
default:
@@ -296,33 +312,33 @@ struct boss_argus_the_unmaker : public BossAI
{
switch (eventId)
{
case SPELL_SWEEPING_SCYTHE:
case EVENT_SWEEPING_SCYTHE:
{
DoCast(SPELL_SWEEPING_SCYTHE);
events.Repeat(5s);
break;
}
case SPELL_TORTURED_RAGE:
case EVENT_TORTURED_RAGE:
{
DoCast(SPELL_TORTURED_RAGE);
events.Repeat(13s, 16s);
break;
}
case SPELL_CONE_OF_DEATH:
case EVENT_CONE_OF_DEATH:
{
if (Unit* target1 = SelectTarget(SelectTargetMethod::Random, 0.0, 0.0, true))
me->CastSpell(target1, SPELL_CONE_OF_DEATH, false);
events.Repeat(19s, 24s);
break;
}
case SPELL_SOULBLIGHT_ORB:
case EVENT_SOULBLIGHT_ORB:
{
if (Unit* target1 = SelectTarget(SelectTargetMethod::Random, 0.0, 0.0, true))
me->CastSpell(target1, SPELL_SOULBLIGHT_ORB, false);
events.Repeat(22s);
break;
}
case SPELL_SKY_AND_SEA:
case EVENT_SKY_AND_SEA:
{
if (Creature* target = me->FindNearestCreature(NPC_GOLGANNETH, 150.0f, true))
target->AI()->DoAction(1);
@@ -348,31 +364,31 @@ struct boss_argus_the_unmaker : public BossAI
events.Repeat(25s, 28s);
break;
}
case SPELL_SARGERAS_GAZE:
case EVENT_SARGERAS_GAZE:
{
DoCast(SPELL_SARGERAS_GAZE);
events.Repeat(35s);
break;
}
case SPELL_SOULBOMB:
case EVENT_SOULBOMB:
{
DoCast(SPELL_SOULBOMB);
events.Repeat(42s);
break;
}
case SPELL_SOULBURST:
case EVENT_SOULBURST:
{
DoCast(SPELL_SOULBURST);//2 Targets
events.Repeat(42s);
break;
}
case SPELL_EDGE_OF_OBLITERATION:
case EVENT_EDGE_OF_OBLITERATION:
{
DoCast(SPELL_EDGE_OF_OBLITERATION);
events.Repeat(34s);
break;
}
case SPELL_AVTAR_OF_AGGRAMAR:
case EVENT_AVTAR_OF_AGGRAMAR:
{
if (Unit* target1 = SelectTarget(SelectTargetMethod::Random, 0.0, 0.0, true))
target1->CastSpell(target1, SPELL_AVTAR_OF_AGGRAMAR, true);
@@ -380,45 +396,45 @@ struct boss_argus_the_unmaker : public BossAI
break;
}
case SPELL_SOULRENDING_SCYTHE:
case EVENT_SOULRENDING_SCYTHE:
{
DoCast(SPELL_SOULRENDING_SCYTHE);
events.Repeat(8s, 9s);
break;
}
case SPELL_SENTENCE_OF_SARGERAS:
case EVENT_SENTENCE_OF_SARGERAS:
{
DoCast(SPELL_SENTENCE_OF_SARGERAS);
events.Repeat(35s);
break;
}
case SPELL_EDGE_OF_ANNIHILATION:
case EVENT_EDGE_OF_ANNIHILATION:
{
DoCast(SPELL_EDGE_OF_ANNIHILATION);
events.Repeat(5s, 6s);
break;
}
case SPEEL_DEADLY_SCYTHE:
case EVENT_DEADLY_SCYTHE:
{
DoCast(SPEEL_DEADLY_SCYTHE);
events.Repeat(5s, 6s);
break;
}
case SPELL_REORIGINATION_MODULE:
case EVENT_REORIGINATION_MODULE:
{
DoCast(SPELL_REORIGINATION_MODULE);
events.Repeat(35s);
break;
}
case SPELL_VOLATILE_SOUL:
case EVENT_VOLATILE_SOUL:
{
DoCast(SPELL_VOLATILE_SOUL);
events.Repeat(15s);
break;
}
case SPELL_SOULBURST_DETONATION:
case EVENT_SOULBURST_DETONATION:
{
DoCast(SPELL_SOULBURST_DETONATION);
events.Repeat(15s);
@@ -495,10 +511,10 @@ struct npc_constellar_designate_127192 : public ScriptedAI
void JustEngagedWith(Unit* /*attacker*/) override
{
events.ScheduleEvent(SPELL_STARBLAST, 8s);
events.ScheduleEvent(EVENT_STARBLAST, 8s);
if (!IsMythic())
events.ScheduleEvent(SPELL_COSMIC_RAY, 30s);
events.ScheduleEvent(SPELL_COSMIC_BEACON, 40s);
events.ScheduleEvent(EVENT_COSMIC_RAY, 30s);
events.ScheduleEvent(EVENT_COSMIC_BEACON, 40s);
}
void UpdateAI(uint32 diff) override
@@ -509,21 +525,21 @@ struct npc_constellar_designate_127192 : public ScriptedAI
return;
switch (events.ExecuteEvent())
{
case SPELL_STARBLAST:
case EVENT_STARBLAST:
{
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 0.f, true))
me->CastSpell(target, SPELL_STARBLAST, false);
events.Repeat(15s);
break;
}
case SPELL_COSMIC_RAY:
case EVENT_COSMIC_RAY:
{
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 0.f, true))
me->CastSpell(target, SPELL_COSMIC_RAY, false);
events.Repeat(20s);
break;
}
case SPELL_COSMIC_BEACON:
case EVENT_COSMIC_BEACON:
{
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 0.f, true))
me->CastSpell(target, SPELL_COSMIC_BEACON, false);
@@ -540,7 +556,7 @@ struct npc_gift_of_the_lifebinder_129386 : public ScriptedAI
npc_gift_of_the_lifebinder_129386(Creature* creature) : ScriptedAI(creature)
{
me->SetReactState(REACT_PASSIVE);
events.ScheduleEvent(SPELL_STARBLAST, 8s);
events.ScheduleEvent(EVENT_STARBLAST, 8s);
}
void UpdateAI(uint32 diff) override
@@ -549,7 +565,7 @@ struct npc_gift_of_the_lifebinder_129386 : public ScriptedAI
switch (events.ExecuteEvent())
{
case SPELL_STARBLAST:
case EVENT_STARBLAST:
{
if (InstanceScript* instance = me->GetInstanceScript())
instance->DoResurrectPlayers(1.0f);
@@ -566,8 +582,8 @@ struct npc_reorigination_module_127809 : public ScriptedAI
void JustEngagedWith(Unit* /*attacker*/) override
{
events.ScheduleEvent(SPELL_INITIALIZATION_SEQUENCE, 8s);
events.ScheduleEvent(SPELL_REORIGINATION_MODULE_DMG, 45s);
events.ScheduleEvent(EVENT_INITIALIZATION_SEQUENCE, 8s);
events.ScheduleEvent(EVENT_REORIGINATION_MODULE_DMG, 45s);
}
void UpdateAI(uint32 diff) override
@@ -578,13 +594,13 @@ struct npc_reorigination_module_127809 : public ScriptedAI
return;
switch (events.ExecuteEvent())
{
case SPELL_INITIALIZATION_SEQUENCE:
case EVENT_INITIALIZATION_SEQUENCE:
{
DoCastSelf(SPELL_INITIALIZATION_SEQUENCE);
events.Repeat(30s);
break;
}
case SPELL_REORIGINATION_MODULE_DMG:
case EVENT_REORIGINATION_MODULE_DMG:
{
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 0.f, true))
me->CastSpell(target, SPELL_REORIGINATION_MODULE_DMG, false);
@@ -36,6 +36,19 @@ enum Spells
SPELL_MOLTEN_TOUCH = 244086,
};
enum Events
{
EVENT_SARGERAS_BLESSING = 1,
EVENT_DECAY,
EVENT_CORRUPTING_MAW,
EVENT_CORRUPTING_MAW_DAMAGE,
EVENT_SIPHONED,
EVENT_CONSUMING_SPHERE,
EVENT_WEIGHT_OF_DARKNESS,
EVENT_DESOLATE_GAZE,
EVENT_MOLTEN_TOUCH,
};
struct boss_shatug_fhargAI : public BossAI
{
@@ -147,15 +160,15 @@ struct boss_shatug : public boss_shatug_fhargAI
{
if (instance)
instance->DoPlayConversation(5522);
events.ScheduleEvent(SPELL_SARGERAS_BLESSING, 1s);
events.ScheduleEvent(EVENT_SARGERAS_BLESSING, 1s);
events.ScheduleEvent(SPELL_DECAY, 5s);
events.ScheduleEvent(SPELL_CORRUPTING_MAW, 5s);
events.ScheduleEvent(SPELL_CORRUPTING_MAW_DAMAGE, 5s);
events.ScheduleEvent(SPELL_SIPHONED, 5s);
events.ScheduleEvent(SPELL_CONSUMING_SPHERE, 5s);
events.ScheduleEvent(EVENT_DECAY, 5s);
events.ScheduleEvent(EVENT_CORRUPTING_MAW, 5s);
events.ScheduleEvent(EVENT_CORRUPTING_MAW_DAMAGE, 5s);
events.ScheduleEvent(EVENT_SIPHONED, 5s);
events.ScheduleEvent(EVENT_CONSUMING_SPHERE, 5s);
if (me->GetMap()->IsHeroic() || me->GetMap()->IsMythic())
events.ScheduleEvent(SPELL_WEIGHT_OF_DARKNESS, 30s, 40s);
events.ScheduleEvent(EVENT_WEIGHT_OF_DARKNESS, 30s, 40s);
}
void ExecuteEvent(uint32 eventId) override
@@ -163,31 +176,31 @@ struct boss_shatug : public boss_shatug_fhargAI
switch (eventId)
{
case SPELL_SARGERAS_BLESSING:
case EVENT_SARGERAS_BLESSING:
{
TwinDistanceAura();
events.Repeat(1s);
break;
}
case SPELL_DECAY:
case EVENT_DECAY:
{
DoCast(SPELL_DECAY);
events.Repeat(5s);
break;
}
case SPELL_CORRUPTING_MAW:
case EVENT_CORRUPTING_MAW:
{
DoCast(SPELL_CORRUPTING_MAW);
events.Repeat(5s);
break;
}
case SPELL_CORRUPTING_MAW_DAMAGE:
case EVENT_CORRUPTING_MAW_DAMAGE:
{
DoCast(SPELL_CORRUPTING_MAW_DAMAGE);
events.Repeat(5s);
break;
}
case SPELL_SIPHONED:
case EVENT_SIPHONED:
{
//random
if (Unit* target1 = SelectTarget(SelectTargetMethod::Random, 0.0, 0.0, true))
@@ -195,7 +208,7 @@ struct boss_shatug : public boss_shatug_fhargAI
events.Repeat(10s, 15s);
break;
}
case SPELL_CONSUMING_SPHERE:
case EVENT_CONSUMING_SPHERE:
{
//random
if (Unit* target1 = SelectTarget(SelectTargetMethod::Random, 0.0, 0.0, true))
@@ -203,7 +216,7 @@ struct boss_shatug : public boss_shatug_fhargAI
events.Repeat(10s, 15s);
break;
}
case SPELL_WEIGHT_OF_DARKNESS:
case EVENT_WEIGHT_OF_DARKNESS:
{
if (Unit* target1 = SelectTarget(SelectTargetMethod::Random, 0.0, 0.0, true))
me->CastSpell(target1, SPELL_WEIGHT_OF_DARKNESS, false);
@@ -236,13 +249,13 @@ struct boss_fharg : public boss_shatug_fhargAI
void ScheduleTasks() override
{
events.ScheduleEvent(SPELL_SARGERAS_BLESSING, 1s);
events.ScheduleEvent(SPELL_CORRUPTING_MAW, 5s);
events.ScheduleEvent(SPELL_DESOLATE_GAZE, 5s);
events.ScheduleEvent(EVENT_SARGERAS_BLESSING, 1s);
events.ScheduleEvent(EVENT_CORRUPTING_MAW, 5s);
events.ScheduleEvent(EVENT_DESOLATE_GAZE, 5s);
events.ScheduleEvent(SPELL_CONSUMING_SPHERE, 5s);
events.ScheduleEvent(EVENT_CONSUMING_SPHERE, 5s);
if (me->GetMap()->IsHeroic() || me->GetMap()->IsMythic())
events.ScheduleEvent(SPELL_MOLTEN_TOUCH, 30s, 40s);
events.ScheduleEvent(EVENT_MOLTEN_TOUCH, 30s, 40s);
}
void ExecuteEvent(uint32 eventId) override
@@ -250,25 +263,25 @@ struct boss_fharg : public boss_shatug_fhargAI
switch (eventId)
{
case SPELL_SARGERAS_BLESSING:
case EVENT_SARGERAS_BLESSING:
{
TwinDistanceAura();
events.Repeat(1s);
break;
}
case SPELL_CORRUPTING_MAW:
case EVENT_CORRUPTING_MAW:
{
DoCast(SPELL_CORRUPTING_MAW);
events.Repeat(5s);
break;
}
case SPELL_DESOLATE_GAZE:
case EVENT_DESOLATE_GAZE:
{
DoCast(SPELL_DESOLATE_GAZE);
events.Repeat(5s);
break;
}
case SPELL_CONSUMING_SPHERE:
case EVENT_CONSUMING_SPHERE:
{
//random
if (Unit* target1 = SelectTarget(SelectTargetMethod::Random, 0.0, 0.0, true))
@@ -276,7 +289,7 @@ struct boss_fharg : public boss_shatug_fhargAI
events.Repeat(10s, 15s);
break;
}
case SPELL_MOLTEN_TOUCH:
case EVENT_MOLTEN_TOUCH:
{
if (Unit* target1 = SelectTarget(SelectTargetMethod::Random, 0.0, 0.0, true))
me->CastSpell(target1, SPELL_MOLTEN_TOUCH, false);