refactor(Scripts/SWP): Update creature scripts to new register method (#20503)
This commit is contained in:
@@ -63,14 +63,9 @@ enum Misc
|
||||
ACTION_SPAWN_FELMYST = 2
|
||||
};
|
||||
|
||||
class boss_brutallus : public CreatureScript
|
||||
struct boss_brutallus : public BossAI
|
||||
{
|
||||
public:
|
||||
boss_brutallus() : CreatureScript("boss_brutallus") { }
|
||||
|
||||
struct boss_brutallusAI : public BossAI
|
||||
{
|
||||
boss_brutallusAI(Creature* creature) : BossAI(creature, DATA_BRUTALLUS) { }
|
||||
boss_brutallus(Creature* creature) : BossAI(creature, DATA_BRUTALLUS) { }
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
@@ -158,12 +153,6 @@ public:
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<boss_brutallusAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
enum eMadrigosa
|
||||
@@ -210,14 +199,9 @@ enum eMadrigosa
|
||||
SPELL_BRUTALLUS_BREAK_ICE = 46637,
|
||||
};
|
||||
|
||||
class npc_madrigosa : public CreatureScript
|
||||
struct npc_madrigosa : public NullCreatureAI
|
||||
{
|
||||
public:
|
||||
npc_madrigosa() : CreatureScript("npc_madrigosa") { }
|
||||
|
||||
struct npc_madrigosaAI : public NullCreatureAI
|
||||
{
|
||||
npc_madrigosaAI(Creature* creature) : NullCreatureAI(creature)
|
||||
npc_madrigosa(Creature* creature) : NullCreatureAI(creature)
|
||||
{
|
||||
instance = creature->GetInstanceScript();
|
||||
bool appear = instance->GetBossState(DATA_BRUTALLUS) != DONE && instance->GetBossState(DATA_MADRIGOSA) == DONE;
|
||||
@@ -402,12 +386,6 @@ public:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<npc_madrigosaAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
class spell_madrigosa_activate_barrier : public SpellScript
|
||||
@@ -519,8 +497,8 @@ public:
|
||||
|
||||
void AddSC_boss_brutallus()
|
||||
{
|
||||
new boss_brutallus();
|
||||
new npc_madrigosa();
|
||||
RegisterSunwellPlateauCreatureAI(boss_brutallus);
|
||||
RegisterSunwellPlateauCreatureAI(npc_madrigosa);
|
||||
RegisterSpellScript(spell_madrigosa_activate_barrier);
|
||||
RegisterSpellScript(spell_madrigosa_deactivate_barrier);
|
||||
RegisterSpellScript(spell_brutallus_burn);
|
||||
|
||||
@@ -82,14 +82,9 @@ enum Misc
|
||||
EVENT_SPELL_FLAME_SEAR = 9
|
||||
};
|
||||
|
||||
class boss_sacrolash : public CreatureScript
|
||||
struct boss_sacrolash : public BossAI
|
||||
{
|
||||
public:
|
||||
boss_sacrolash() : CreatureScript("boss_sacrolash") { }
|
||||
|
||||
struct boss_sacrolashAI : public BossAI
|
||||
{
|
||||
boss_sacrolashAI(Creature* creature) : BossAI(creature, DATA_EREDAR_TWINS) {}
|
||||
boss_sacrolash(Creature* creature) : BossAI(creature, DATA_EREDAR_TWINS) {}
|
||||
|
||||
bool sisterDied;
|
||||
void Reset() override
|
||||
@@ -222,22 +217,11 @@ public:
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<boss_sacrolashAI>(creature);
|
||||
};
|
||||
};
|
||||
|
||||
class boss_alythess : public CreatureScript
|
||||
struct boss_alythess : public BossAI
|
||||
{
|
||||
public:
|
||||
boss_alythess() : CreatureScript("boss_alythess") { }
|
||||
|
||||
struct boss_alythessAI : public BossAI
|
||||
{
|
||||
boss_alythessAI(Creature* creature) : BossAI(creature, DATA_EREDAR_TWINS) { }
|
||||
boss_alythess(Creature* creature) : BossAI(creature, DATA_EREDAR_TWINS) { }
|
||||
|
||||
bool sisterDied;
|
||||
void Reset() override
|
||||
@@ -360,12 +344,6 @@ public:
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<boss_alythessAI>(creature);
|
||||
};
|
||||
};
|
||||
|
||||
class spell_eredar_twins_apply_dark_touched : public SpellScript
|
||||
@@ -496,8 +474,8 @@ public:
|
||||
|
||||
void AddSC_boss_eredar_twins()
|
||||
{
|
||||
new boss_sacrolash();
|
||||
new boss_alythess();
|
||||
RegisterSunwellPlateauCreatureAI(boss_sacrolash);
|
||||
RegisterSunwellPlateauCreatureAI(boss_alythess);
|
||||
RegisterSpellScript(spell_eredar_twins_apply_dark_touched);
|
||||
RegisterSpellScript(spell_eredar_twins_apply_flame_touched);
|
||||
RegisterSpellScript(spell_eredar_twins_handle_touch);
|
||||
|
||||
@@ -126,14 +126,9 @@ private:
|
||||
Unit* _caster;
|
||||
};
|
||||
|
||||
class boss_felmyst : public CreatureScript
|
||||
struct boss_felmyst : public BossAI
|
||||
{
|
||||
public:
|
||||
boss_felmyst() : CreatureScript("boss_felmyst") { }
|
||||
|
||||
struct boss_felmystAI : public BossAI
|
||||
{
|
||||
boss_felmystAI(Creature* creature) : BossAI(creature, DATA_FELMYST)
|
||||
boss_felmyst(Creature* creature) : BossAI(creature, DATA_FELMYST)
|
||||
{
|
||||
bool appear = instance->GetBossState(DATA_BRUTALLUS) == DONE;
|
||||
creature->SetVisible(appear);
|
||||
@@ -343,13 +338,13 @@ public:
|
||||
break;
|
||||
case EVENT_FLIGHT_BREATH1:
|
||||
{
|
||||
Position pos = {1447.0f + urand(0, 2) * 25.0f, 705.0f, 50.0f, 4.71f};
|
||||
Position pos = { 1447.0f + urand(0, 2) * 25.0f, 705.0f, 50.0f, 4.71f };
|
||||
me->GetMotionMaster()->MovePoint(POINT_AIR_BREATH_START1, pos, false, true);
|
||||
break;
|
||||
}
|
||||
case EVENT_FLIGHT_BREATH2:
|
||||
{
|
||||
Position pos = {1447.0f + urand(0, 2) * 25.0f, 515.0f, 50.0f, 1.57f};
|
||||
Position pos = { 1447.0f + urand(0, 2) * 25.0f, 515.0f, 50.0f, 1.57f };
|
||||
me->GetMotionMaster()->MovePoint(POINT_AIR_BREATH_START2, pos, false, true);
|
||||
break;
|
||||
}
|
||||
@@ -384,27 +379,11 @@ public:
|
||||
if (!me->HasUnitMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY))
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<boss_felmystAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
class npc_demonic_vapor : public CreatureScript
|
||||
struct npc_demonic_vapor : public NullCreatureAI
|
||||
{
|
||||
public:
|
||||
npc_demonic_vapor() : CreatureScript("npc_demonic_vapor") { }
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<npc_demonic_vaporAI>(creature);
|
||||
}
|
||||
|
||||
struct npc_demonic_vaporAI : public NullCreatureAI
|
||||
{
|
||||
npc_demonic_vaporAI(Creature* creature) : NullCreatureAI(creature) { }
|
||||
npc_demonic_vapor(Creature* creature) : NullCreatureAI(creature) { }
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
@@ -425,22 +404,11 @@ public:
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
class npc_demonic_vapor_trail : public CreatureScript
|
||||
struct npc_demonic_vapor_trail : public NullCreatureAI
|
||||
{
|
||||
public:
|
||||
npc_demonic_vapor_trail() : CreatureScript("npc_demonic_vapor_trail") { }
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<npc_demonic_vapor_trailAI>(creature);
|
||||
}
|
||||
|
||||
struct npc_demonic_vapor_trailAI : public NullCreatureAI
|
||||
{
|
||||
npc_demonic_vapor_trailAI(Creature* creature) : NullCreatureAI(creature)
|
||||
npc_demonic_vapor_trail(Creature* creature) : NullCreatureAI(creature)
|
||||
{
|
||||
timer = 1;
|
||||
}
|
||||
@@ -475,7 +443,6 @@ public:
|
||||
summon->SetInCombatWithZone();
|
||||
summon->AI()->AttackStart(summon->AI()->SelectTarget(SelectTargetMethod::Random, 0, 100.0f));
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
class spell_felmyst_fog_of_corruption : public SpellScript
|
||||
@@ -558,9 +525,9 @@ class spell_felmyst_open_brutallus_back_doors : public SpellScript
|
||||
|
||||
void AddSC_boss_felmyst()
|
||||
{
|
||||
new boss_felmyst();
|
||||
new npc_demonic_vapor();
|
||||
new npc_demonic_vapor_trail();
|
||||
RegisterSunwellPlateauCreatureAI(boss_felmyst);
|
||||
RegisterSunwellPlateauCreatureAI(npc_demonic_vapor);
|
||||
RegisterSunwellPlateauCreatureAI(npc_demonic_vapor_trail);
|
||||
RegisterSpellScript(spell_felmyst_fog_of_corruption);
|
||||
RegisterSpellScript(spell_felmyst_fog_of_corruption_charm_aura);
|
||||
RegisterSpellScript(spell_felmyst_open_brutallus_back_doors);
|
||||
|
||||
@@ -114,14 +114,9 @@ enum kalEvents
|
||||
|
||||
#define DRAGON_REALM_Z 53.079f
|
||||
|
||||
class boss_kalecgos : public CreatureScript
|
||||
struct boss_kalecgos : public BossAI
|
||||
{
|
||||
public:
|
||||
boss_kalecgos() : CreatureScript("boss_kalecgos") { }
|
||||
|
||||
struct boss_kalecgosAI : public BossAI
|
||||
{
|
||||
boss_kalecgosAI(Creature* creature) : BossAI(creature, DATA_KALECGOS)
|
||||
boss_kalecgos(Creature* creature) : BossAI(creature, DATA_KALECGOS)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -353,12 +348,6 @@ public:
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<boss_kalecgosAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
enum Kalec
|
||||
@@ -371,19 +360,9 @@ enum Kalec
|
||||
EVENT_KALEC_SCENE_3 = 103
|
||||
};
|
||||
|
||||
class boss_kalec : public CreatureScript
|
||||
struct boss_kalec : public ScriptedAI
|
||||
{
|
||||
public:
|
||||
boss_kalec() : CreatureScript("boss_kalec") { }
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<boss_kalecAI>(creature);
|
||||
}
|
||||
|
||||
struct boss_kalecAI : public ScriptedAI
|
||||
{
|
||||
boss_kalecAI(Creature* creature) : ScriptedAI(creature) { }
|
||||
boss_kalec(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
EventMap events;
|
||||
EventMap events2;
|
||||
@@ -485,22 +464,11 @@ public:
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
class boss_sathrovarr : public CreatureScript
|
||||
struct boss_sathrovarr : public ScriptedAI
|
||||
{
|
||||
public:
|
||||
boss_sathrovarr() : CreatureScript("boss_sathrovarr") { }
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<boss_sathrovarrAI>(creature);
|
||||
}
|
||||
|
||||
struct boss_sathrovarrAI : public ScriptedAI
|
||||
{
|
||||
boss_sathrovarrAI(Creature* creature) : ScriptedAI(creature)
|
||||
boss_sathrovarr(Creature* creature) : ScriptedAI(creature)
|
||||
{
|
||||
instance = creature->GetInstanceScript();
|
||||
}
|
||||
@@ -594,7 +562,7 @@ public:
|
||||
{
|
||||
if (InstanceScript* instanceScript = me->GetInstanceScript())
|
||||
{
|
||||
if (Creature *kalecgos = ObjectAccessor::GetCreature(*me, instanceScript->GetGuidData(
|
||||
if (Creature* kalecgos = ObjectAccessor::GetCreature(*me, instanceScript->GetGuidData(
|
||||
NPC_KALECGOS)))
|
||||
{
|
||||
kalecgos->AI()->DoAction(ACTION_ENRAGE_OTHER);
|
||||
@@ -619,7 +587,6 @@ public:
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
class SpectralBlastCheck
|
||||
@@ -750,9 +717,9 @@ class spell_kalecgos_spectral_realm_aura : public AuraScript
|
||||
|
||||
void AddSC_boss_kalecgos()
|
||||
{
|
||||
new boss_kalecgos();
|
||||
new boss_sathrovarr();
|
||||
new boss_kalec();
|
||||
RegisterSunwellPlateauCreatureAI(boss_kalecgos);
|
||||
RegisterSunwellPlateauCreatureAI(boss_sathrovarr);
|
||||
RegisterSunwellPlateauCreatureAI(boss_kalec);
|
||||
RegisterSpellScript(spell_kalecgos_spectral_blast_dummy);
|
||||
RegisterSpellScript(spell_kalecgos_curse_of_boundless_agony_aura);
|
||||
RegisterSpellScript(spell_kalecgos_spectral_realm_dummy);
|
||||
|
||||
@@ -163,19 +163,9 @@ private:
|
||||
Creature* _caster;
|
||||
};
|
||||
|
||||
class npc_kiljaeden_controller : public CreatureScript
|
||||
struct npc_kiljaeden_controller : public NullCreatureAI
|
||||
{
|
||||
public:
|
||||
npc_kiljaeden_controller() : CreatureScript("npc_kiljaeden_controller") { }
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<npc_kiljaeden_controllerAI>(creature);
|
||||
}
|
||||
|
||||
struct npc_kiljaeden_controllerAI : public NullCreatureAI
|
||||
{
|
||||
npc_kiljaeden_controllerAI(Creature* creature) : NullCreatureAI(creature), summons(me)
|
||||
npc_kiljaeden_controller(Creature* creature) : NullCreatureAI(creature), summons(me)
|
||||
{
|
||||
instance = creature->GetInstanceScript();
|
||||
}
|
||||
@@ -273,17 +263,11 @@ public:
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
class boss_kiljaeden : public CreatureScript
|
||||
struct boss_kiljaeden : public ScriptedAI
|
||||
{
|
||||
public:
|
||||
boss_kiljaeden() : CreatureScript("boss_kiljaeden") { }
|
||||
|
||||
struct boss_kiljaedenAI : public ScriptedAI
|
||||
{
|
||||
boss_kiljaedenAI(Creature* creature) : ScriptedAI(creature)
|
||||
boss_kiljaeden(Creature* creature) : ScriptedAI(creature)
|
||||
{
|
||||
instance = creature->GetInstanceScript();
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
@@ -663,12 +647,6 @@ public:
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<boss_kiljaedenAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
enum postEvent
|
||||
@@ -772,19 +750,9 @@ private:
|
||||
Creature* _owner;
|
||||
};
|
||||
|
||||
class npc_kalecgos_kj : public CreatureScript
|
||||
struct npc_kalecgos_kj : public NullCreatureAI
|
||||
{
|
||||
public:
|
||||
npc_kalecgos_kj() : CreatureScript("npc_kalecgos_kj") { }
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<npc_kalecgos_kjAI>(creature);
|
||||
}
|
||||
|
||||
struct npc_kalecgos_kjAI : public NullCreatureAI
|
||||
{
|
||||
npc_kalecgos_kjAI(Creature* creature) : NullCreatureAI(creature), summons(me)
|
||||
npc_kalecgos_kj(Creature* creature) : NullCreatureAI(creature), summons(me)
|
||||
{
|
||||
instance = creature->GetInstanceScript();
|
||||
}
|
||||
@@ -1027,7 +995,6 @@ public:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
class spell_kiljaeden_shadow_spike_aura : public AuraScript
|
||||
@@ -1248,9 +1215,9 @@ class spell_kiljaeden_dragon_breath : public SpellScript
|
||||
|
||||
void AddSC_boss_kiljaeden()
|
||||
{
|
||||
new npc_kiljaeden_controller();
|
||||
new boss_kiljaeden();
|
||||
new npc_kalecgos_kj();
|
||||
RegisterSunwellPlateauCreatureAI(npc_kiljaeden_controller);
|
||||
RegisterSunwellPlateauCreatureAI(boss_kiljaeden);
|
||||
RegisterSunwellPlateauCreatureAI(npc_kalecgos_kj);
|
||||
RegisterSpellScript(spell_kiljaeden_shadow_spike_aura);
|
||||
RegisterSpellScript(spell_kiljaeden_sinister_reflection);
|
||||
RegisterSpellScript(spell_kiljaeden_sinister_reflection_clone);
|
||||
|
||||
@@ -72,14 +72,9 @@ enum Misc
|
||||
DATA_NEGATIVE_ENERGY_TARGETS = 2
|
||||
};
|
||||
|
||||
class boss_muru : public CreatureScript
|
||||
struct boss_muru : public BossAI
|
||||
{
|
||||
public:
|
||||
boss_muru() : CreatureScript("boss_muru") { }
|
||||
|
||||
struct boss_muruAI : public BossAI
|
||||
{
|
||||
boss_muruAI(Creature* creature) : BossAI(creature, DATA_MURU) { }
|
||||
boss_muru(Creature* creature) : BossAI(creature, DATA_MURU) { }
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
@@ -150,22 +145,11 @@ public:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<boss_muruAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
class boss_entropius : public CreatureScript
|
||||
struct boss_entropius : public ScriptedAI
|
||||
{
|
||||
public:
|
||||
boss_entropius() : CreatureScript("boss_entropius") { }
|
||||
|
||||
struct boss_entropiusAI : public ScriptedAI
|
||||
{
|
||||
boss_entropiusAI(Creature* creature) : ScriptedAI(creature) { }
|
||||
boss_entropius(Creature* creature) : ScriptedAI(creature) { }
|
||||
|
||||
EventMap events;
|
||||
EventMap events2;
|
||||
@@ -260,27 +244,11 @@ public:
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<boss_entropiusAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
class npc_singularity : public CreatureScript
|
||||
struct npc_singularity : public NullCreatureAI
|
||||
{
|
||||
public:
|
||||
npc_singularity() : CreatureScript("npc_singularity") { }
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const override
|
||||
{
|
||||
return GetSunwellPlateauAI<npc_singularityAI>(creature);
|
||||
}
|
||||
|
||||
struct npc_singularityAI : public NullCreatureAI
|
||||
{
|
||||
npc_singularityAI(Creature* creature) : NullCreatureAI(creature)
|
||||
npc_singularity(Creature* creature) : NullCreatureAI(creature)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -325,7 +293,6 @@ public:
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
class spell_muru_summon_blood_elves_periodic_aura : public AuraScript
|
||||
@@ -475,9 +442,9 @@ class spell_entropius_black_hole_effect : public SpellScript
|
||||
|
||||
void AddSC_boss_muru()
|
||||
{
|
||||
new boss_muru();
|
||||
new boss_entropius();
|
||||
new npc_singularity();
|
||||
RegisterSunwellPlateauCreatureAI(boss_muru);
|
||||
RegisterSunwellPlateauCreatureAI(boss_entropius);
|
||||
RegisterSunwellPlateauCreatureAI(npc_singularity);
|
||||
|
||||
RegisterSpellScript(spell_muru_summon_blood_elves_periodic_aura);
|
||||
RegisterSpellScript(spell_muru_darkness_aura);
|
||||
|
||||
@@ -105,4 +105,6 @@ inline AI* GetSunwellPlateauAI(T* obj)
|
||||
return GetInstanceAI<AI>(obj, SWPScriptName);
|
||||
}
|
||||
|
||||
#define RegisterSunwellPlateauCreatureAI(ai_name) RegisterCreatureAIWithFactory(ai_name, GetSunwellPlateauAI)
|
||||
|
||||
#endif // SUNWELL_PLATEAU_H
|
||||
|
||||
Reference in New Issue
Block a user