Scripts/Icecrown Citadel: Finish script registration refactoring - RegisterSpellScriptWithArgs
(cherry picked from commit 600a6b5f681c0f5864f9e9e37559965742e22ca9)
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#include "PassiveAI.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "Spell.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellInfo.h"
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "ObjectAccessor.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellMgr.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "ObjectAccessor.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "ObjectAccessor.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "PassiveAI.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellHistory.h"
|
||||
#include "SpellMgr.h"
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "Player.h"
|
||||
#include "QuestPools.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "SpellScript.h"
|
||||
#include "TemporarySummon.h"
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "Player.h"
|
||||
#include "PointMovementGenerator.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellScript.h"
|
||||
#include "TemporarySummon.h"
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "MotionMaster.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "Spell.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellMgr.h"
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "Map.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellScript.h"
|
||||
#include "TemporarySummon.h"
|
||||
|
||||
@@ -1542,8 +1542,8 @@ void AddSC_boss_sindragosa()
|
||||
RegisterSpellScript(spell_rimefang_icy_blast);
|
||||
RegisterSpellScript(spell_frostwarden_handler_order_whelp);
|
||||
RegisterSpellAndAuraScriptPair(spell_frostwarden_handler_focus_fire, spell_frostwarden_handler_focus_fire_aura);
|
||||
new spell_trigger_spell_from_caster("spell_sindragosa_ice_tomb", SPELL_ICE_TOMB_DUMMY, TRIGGERED_IGNORE_SET_FACING);
|
||||
new spell_trigger_spell_from_caster("spell_sindragosa_ice_tomb_dummy", SPELL_FROST_BEACON);
|
||||
RegisterSpellScriptWithArgs(spell_trigger_spell_from_caster, "spell_sindragosa_ice_tomb", SPELL_ICE_TOMB_DUMMY, TRIGGERED_IGNORE_SET_FACING);
|
||||
RegisterSpellScriptWithArgs(spell_trigger_spell_from_caster, "spell_sindragosa_ice_tomb_dummy", SPELL_FROST_BEACON);
|
||||
RegisterSpellScript(spell_sindragosa_ice_tomb_target);
|
||||
|
||||
// AreaTriggers
|
||||
|
||||
@@ -17,11 +17,12 @@
|
||||
|
||||
#include "icecrown_citadel.h"
|
||||
#include "CellImpl.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "GridNotifiersImpl.h"
|
||||
#include "InstanceScript.h"
|
||||
#include "MotionMaster.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "ScriptedEscortAI.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellScript.h"
|
||||
#include "VehicleDefines.h"
|
||||
|
||||
@@ -1489,7 +1490,7 @@ void AddSC_boss_sister_svalna()
|
||||
RegisterIcecrownCitadelCreatureAI(npc_captain_rupert);
|
||||
RegisterIcecrownCitadelCreatureAI(npc_frostwing_ymirjar_vrykul);
|
||||
RegisterIcecrownCitadelCreatureAI(npc_impaling_spear);
|
||||
new spell_trigger_spell_from_caster("spell_svalna_caress_of_death", SPELL_IMPALING_SPEAR_KILL);
|
||||
RegisterSpellScriptWithArgs(spell_trigger_spell_from_caster, "spell_svalna_caress_of_death", SPELL_IMPALING_SPEAR_KILL);
|
||||
RegisterSpellScript(spell_svalna_revive_champion);
|
||||
RegisterSpellScript(spell_svalna_remove_spear);
|
||||
new at_icc_start_frostwing_gauntlet();
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "MotionMaster.h"
|
||||
#include "ObjectAccessor.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "Spell.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
@@ -2849,7 +2850,7 @@ void AddSC_boss_the_lich_king()
|
||||
RegisterSpellScript(spell_the_lich_king_trigger_vile_spirit);
|
||||
RegisterSpellScript(spell_the_lich_king_jump);
|
||||
RegisterSpellScript(spell_the_lich_king_jump_remove_aura);
|
||||
new spell_trigger_spell_from_caster("spell_the_lich_king_mass_resurrection", SPELL_MASS_RESURRECTION_REAL);
|
||||
RegisterSpellScriptWithArgs(spell_trigger_spell_from_caster, "spell_the_lich_king_mass_resurrection", SPELL_MASS_RESURRECTION_REAL);
|
||||
RegisterSpellScript(spell_the_lich_king_harvest_souls_teleport);
|
||||
|
||||
// Achievements
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "ObjectAccessor.h"
|
||||
#include "PhasingHandler.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellAuraEffects.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "Map.h"
|
||||
#include "Player.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "Spell.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "SpellMgr.h"
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "ObjectAccessor.h"
|
||||
#include "PassiveAI.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
enum ICCTexts
|
||||
@@ -1459,47 +1460,24 @@ class spell_icc_soul_missile : public SpellScriptLoader
|
||||
}
|
||||
};
|
||||
|
||||
class spell_trigger_spell_from_caster_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_trigger_spell_from_caster_SpellScript);
|
||||
|
||||
public:
|
||||
spell_trigger_spell_from_caster_SpellScript(uint32 triggerId, TriggerCastFlags triggerFlags)
|
||||
: SpellScript(), _triggerId(triggerId), _triggerFlags(triggerFlags) { }
|
||||
|
||||
private:
|
||||
bool Validate(SpellInfo const* /*spell*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ _triggerId });
|
||||
}
|
||||
|
||||
void HandleTrigger()
|
||||
{
|
||||
GetCaster()->CastSpell(GetHitUnit(), _triggerId, _triggerFlags);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterHit += SpellHitFn(spell_trigger_spell_from_caster_SpellScript::HandleTrigger);
|
||||
}
|
||||
|
||||
uint32 _triggerId;
|
||||
TriggerCastFlags _triggerFlags;
|
||||
};
|
||||
|
||||
spell_trigger_spell_from_caster::spell_trigger_spell_from_caster(char const* scriptName, uint32 triggerId)
|
||||
: SpellScriptLoader(scriptName), _triggerId(triggerId), _triggerFlags(TRIGGERED_FULL_MASK)
|
||||
spell_trigger_spell_from_caster::spell_trigger_spell_from_caster(uint32 triggerId, TriggerCastFlags triggerFlags /*= TRIGGERED_FULL_MASK*/)
|
||||
: SpellScript(), _triggerId(triggerId), _triggerFlags(triggerFlags)
|
||||
{
|
||||
}
|
||||
|
||||
spell_trigger_spell_from_caster::spell_trigger_spell_from_caster(char const* scriptName, uint32 triggerId, TriggerCastFlags triggerFlags)
|
||||
: SpellScriptLoader(scriptName), _triggerId(triggerId), _triggerFlags(triggerFlags)
|
||||
bool spell_trigger_spell_from_caster::Validate(SpellInfo const* /*spell*/)
|
||||
{
|
||||
return ValidateSpellInfo({ _triggerId });
|
||||
}
|
||||
|
||||
SpellScript* spell_trigger_spell_from_caster::GetSpellScript() const
|
||||
void spell_trigger_spell_from_caster::HandleTrigger()
|
||||
{
|
||||
return new spell_trigger_spell_from_caster_SpellScript(_triggerId, _triggerFlags);
|
||||
GetCaster()->CastSpell(GetHitUnit(), _triggerId, _triggerFlags);
|
||||
}
|
||||
|
||||
void spell_trigger_spell_from_caster::Register()
|
||||
{
|
||||
AfterHit += SpellHitFn(spell_trigger_spell_from_caster::HandleTrigger);
|
||||
}
|
||||
|
||||
class at_icc_saurfang_portal : public AreaTriggerScript
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
#define ICECROWN_CITADEL_H_
|
||||
|
||||
#include "CreatureAIImpl.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "SpellDefines.h"
|
||||
#include "SpellScript.h"
|
||||
|
||||
#define ICCScriptName "instance_icecrown_citadel"
|
||||
#define DataHeader "IC"
|
||||
@@ -549,16 +550,20 @@ extern Position const SpiritWardenSpawn;
|
||||
uint32 const WeeklyNPCs = 9;
|
||||
uint32 const MaxHeroicAttempts = 50;
|
||||
|
||||
class spell_trigger_spell_from_caster : public SpellScriptLoader
|
||||
class spell_trigger_spell_from_caster : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_trigger_spell_from_caster(char const* scriptName, uint32 triggerId, TriggerCastFlags triggerFlags);
|
||||
spell_trigger_spell_from_caster(char const* scriptName, uint32 triggerId);
|
||||
SpellScript* GetSpellScript() const override;
|
||||
PrepareSpellScript(spell_trigger_spell_from_caster);
|
||||
|
||||
private:
|
||||
uint32 _triggerId;
|
||||
TriggerCastFlags _triggerFlags;
|
||||
public:
|
||||
spell_trigger_spell_from_caster(uint32 triggerId, TriggerCastFlags triggerFlags = TRIGGERED_FULL_MASK);
|
||||
|
||||
private:
|
||||
bool Validate(SpellInfo const* spell) override;
|
||||
void HandleTrigger();
|
||||
void Register() override;
|
||||
|
||||
uint32 _triggerId;
|
||||
TriggerCastFlags _triggerFlags;
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "ObjectMgr.h"
|
||||
#include "Player.h"
|
||||
#include "QuestPools.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "TemporarySummon.h"
|
||||
#include "Transport.h"
|
||||
#include "TransportMgr.h"
|
||||
|
||||
Reference in New Issue
Block a user