refactor(Scripts/Northrend): dungeons Spell Scripts registry macros (#19134)
* instance_azjol_nerub spell:spell_azjol_nerub_fixate * instance_azjol_nerub aura:spell_azjol_nerub_web_wrap_aura * boss_hadronox aura:spell_hadronox_summon_periodic_aura * boss_hadronox aura:spell_hadronox_leech_poison_aura * boss_argent_challenge spell:spell_eadric_radiance * boss_argent_challenge spell:spell_toc5_light_rain * boss_argent_challenge aura:spell_reflective_shield_aura * fixup! boss_argent_challenge aura:spell_reflective_shield_aura * instance_drak_tharon_keep aura:spell_dtk_raise_dead_aura * instance_drak_tharon_keep spell:spell_dtk_summon_random_drakkari * boss_trollgore spell:spell_trollgore_consume * boss_trollgore aura:spell_trollgore_corpse_explode_aura * boss_trollgore spell:spell_trollgore_invader_taunt * boss_novos spell:spell_novos_despawn_crystal_handler * boss_novos aura:spell_novos_crystal_handler_death_aura * boss_novos spell:spell_novos_summon_minions * boss_tharon_ja aura:spell_tharon_ja_curse_of_life_aura * boss_tharon_ja aura:spell_tharon_ja_dummy_aura * boss_tharon_ja spell:spell_tharon_ja_clear_gift_of_tharon_ja * boss_dred aura:spell_dred_grievious_bite_aura * boss_dred spell:spell_dred_raptor_call * boss_moorabi aura:spell_moorabi_mojo_frenzy_aura * boss_slad_ran aura:spell_sladran_grip_of_sladran_aura * boss_drakkari_colossus spell:spell_drakkari_colossus_emerge * boss_drakkari_colossus spell:spell_drakkari_colossus_surge * boss_drakkari_colossus spell:spell_drakkari_colossus_face_me * boss_gal_darah spell:spell_galdarah_impaling_charge * boss_gal_darah spell:spell_galdarah_transform * boss_malygos spell:spell_eoe_ph3_surge_of_power * oculus aura:spell_oculus_stop_time_aura * oculus aura:spell_oculus_evasive_maneuvers_aura * oculus spell:spell_oculus_shock_lance * oculus aura:spell_oculus_temporal_rift_aura * oculus spell:spell_oculus_touch_the_nightmare * oculus aura:spell_oculus_dream_funnel_aura * oculus spell:spell_oculus_call_ruby_emerald_amber_drake * oculus aura:spell_oculus_ride_ruby_emerald_amber_drake_que_aura * oculus aura:spell_oculus_evasive_charges_aura * oculus aura:spell_oculus_soar_aura * oculus aura:spell_oculus_rider_aura * oculus aura:spell_oculus_drake_flag_aura * boss_magus_telestra aura:spell_boss_magus_telestra_summon_telestra_clones_aura * boss_magus_telestra spell:spell_boss_magus_telestra_gravity_well * utgarde_keep aura:spell_ticking_time_bomb_aura * boss_keleseth aura:spell_frost_tomb_aura * boss_svala pair:spell_svala_ritual_strike * boss_moragg aura:spell_optic_link_aura * violet_hold aura:spell_destroy_door_seal_aura * forge_of_souls aura:spell_shield_of_bones_aura * boss_devourer_of_souls aura:spell_wailing_souls_periodic_aura * boss_bronjahm spell:spell_bronjahm_magic_bane * boss_bronjahm aura:spell_bronjahm_soulstorm_channel_ooc_aura * boss_bronjahm aura:spell_bronjahm_soulstorm_visual_aura * boss_bronjahm spell:spell_bronjahm_soulstorm_targeting * boss_krickandick aura:spell_krick_explosive_barrage_aura * boss_krickandick aura:spell_exploding_orb_auto_grow_aura * pit_of_saron aura:spell_pos_empowered_blizzard_aura * pit_of_saron spell:spell_pos_slave_trigger_closest * pit_of_saron spell:spell_pos_rimefang_frost_nova * pit_of_saron aura:spell_pos_blight_aura * pit_of_saron aura:spell_pos_glacial_strike_aura * boss_forgemaster_garfrost spell:spell_garfrost_permafrost * halls_of_reflection aura:spell_hor_gunship_cannon_fire_aura * boss_marwyn aura:spell_hor_shared_suffering_aura * fixup! forge_of_souls aura:spell_shield_of_bones_aura * fixup! boss_bronjahm aura:spell_bronjahm_soulstorm_channel_ooc_aura * fixup! boss_bronjahm aura:spell_bronjahm_soulstorm_visual_aura * fixup! pit_of_saron aura:spell_pos_empowered_blizzard_aura * fixup! halls_of_reflection aura:spell_hor_gunship_cannon_fire_aura * fixup! boss_marwyn aura:spell_hor_shared_suffering_aura
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
--
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_azjol_nerub_web_wrap_aura' WHERE `spell_id`=52086;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_hadronox_summon_periodic_crypt_fiend_aura' WHERE `spell_id`=53037;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_hadronox_leech_poison_aura' WHERE `spell_id` IN (53030,59417);
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_reflective_shield_aura' WHERE `spell_id`=66515;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_dtk_raise_dead_aura' WHERE `spell_id` IN (48597,48605);
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_trollgore_corpse_explode_aura' WHERE `spell_id` IN (49555,59807);
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_novos_crystal_handler_death_aura' WHERE `spell_id`=47336;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_tharon_ja_curse_of_life_aura' WHERE `spell_id` IN (49527,59972);
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_tharon_ja_dummy_aura' WHERE `spell_id`=49551;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_dred_grievious_bite_aura' WHERE `spell_id`=48920;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_moorabi_mojo_frenzy_aura' WHERE `spell_id`=55163;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_sladran_grip_of_sladran_aura' WHERE `spell_id`=55093;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_oculus_stop_time_aura' WHERE `spell_id`=49838;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_oculus_evasive_maneuvers_aura' WHERE `spell_id`=50240;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_oculus_temporal_rift_aura' WHERE `spell_id`=49592;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_oculus_dream_funnel_aura' WHERE `spell_id`=50344;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_oculus_ride_ruby_emerald_amber_drake_que_aura' WHERE `spell_id` IN (49427,49459,49463);
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_oculus_evasive_charges_aura' WHERE `spell_id`=50241;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_oculus_soar_aura' WHERE `spell_id`=50325;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_oculus_drake_flag_aura' WHERE `spell_id`=53797;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_boss_magus_telestra_summon_telestra_clones_aura' WHERE `spell_id`=47710;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_ticking_time_bomb_aura' WHERE `spell_id`=59686;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_frost_tomb_aura' WHERE `spell_id`=42672;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_optic_link_aura' WHERE `spell_id`=54396;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_destroy_door_seal_aura' WHERE `spell_id`=58040;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_shield_of_bones_aura' WHERE `spell_id` IN (69069,70207);
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_wailing_souls_periodic_aura' WHERE `spell_id`=68875;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_bronjahm_soulstorm_channel_ooc_aura' WHERE `spell_id`=69008;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_bronjahm_soulstorm_visual_aura' WHERE `spell_id`=68870;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_krick_explosive_barrage_aura' WHERE `spell_id`=69012;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_exploding_orb_auto_grow_aura' WHERE `spell_id`=69020;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_pos_empowered_blizzard_aura' WHERE `spell_id`=70132;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_pos_blight_aura' WHERE `spell_id` IN (69603,69604,70285,70286);
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_pos_glacial_strike_aura' WHERE `spell_id` IN (70292,71316,71317);
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_hor_gunship_cannon_fire_aura' WHERE `spell_id`=70017;
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_hor_shared_suffering_aura' WHERE `spell_id` IN (72368,72369);
|
||||
@@ -323,16 +323,17 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_hadronox_summon_periodic : public SpellScriptLoader
|
||||
class spell_hadronox_summon_periodic_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_hadronox_summon_periodic(const char* name, uint32 delay, uint32 spellEntry) : SpellScriptLoader(name), _delay(delay), _spellEntry(spellEntry) { }
|
||||
PrepareAuraScript(spell_hadronox_summon_periodic_aura);
|
||||
|
||||
class spell_hadronox_summon_periodic_AuraScript : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_hadronox_summon_periodic_AuraScript(uint32 delay, uint32 spellEntry) : _delay(delay), _spellEntry(spellEntry) { }
|
||||
PrepareAuraScript(spell_hadronox_summon_periodic_AuraScript);
|
||||
spell_hadronox_summon_periodic_aura(uint32 delay, uint32 spellEntry) : _delay(delay), _spellEntry(spellEntry) { }
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_WEB_FRONT_DOORS });
|
||||
}
|
||||
|
||||
void HandlePeriodic(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
@@ -355,8 +356,8 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_hadronox_summon_periodic_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
OnEffectApply += AuraEffectApplyFn(spell_hadronox_summon_periodic_AuraScript::OnApply, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_hadronox_summon_periodic_aura::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
OnEffectApply += AuraEffectApplyFn(spell_hadronox_summon_periodic_aura::OnApply, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -364,25 +365,15 @@ public:
|
||||
uint32 _spellEntry;
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_hadronox_leech_poison_aura : public AuraScript
|
||||
{
|
||||
return new spell_hadronox_summon_periodic_AuraScript(_delay, _spellEntry);
|
||||
PrepareAuraScript(spell_hadronox_leech_poison_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_LEECH_POISON_HEAL });
|
||||
}
|
||||
|
||||
private:
|
||||
uint32 _delay;
|
||||
uint32 _spellEntry;
|
||||
};
|
||||
|
||||
class spell_hadronox_leech_poison : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_hadronox_leech_poison() : SpellScriptLoader("spell_hadronox_leech_poison") { }
|
||||
|
||||
class spell_hadronox_leech_poison_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_hadronox_leech_poison_AuraScript)
|
||||
|
||||
void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_DEATH)
|
||||
@@ -392,13 +383,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_hadronox_leech_poison_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_PERIODIC_LEECH, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_hadronox_leech_poison_AuraScript();
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_hadronox_leech_poison_aura::HandleEffectRemove, EFFECT_0, SPELL_AURA_PERIODIC_LEECH, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -422,10 +407,10 @@ void AddSC_boss_hadronox()
|
||||
{
|
||||
new boss_hadronox();
|
||||
new npc_anub_ar_crusher();
|
||||
new spell_hadronox_summon_periodic("spell_hadronox_summon_periodic_champion", 15000, SPELL_SUMMON_ANUBAR_CHAMPION);
|
||||
new spell_hadronox_summon_periodic("spell_hadronox_summon_periodic_necromancer", 10000, SPELL_SUMMON_ANUBAR_NECROMANCER);
|
||||
new spell_hadronox_summon_periodic("spell_hadronox_summon_periodic_crypt_fiend", 5000, SPELL_SUMMON_ANUBAR_CRYPT_FIEND);
|
||||
new spell_hadronox_leech_poison();
|
||||
RegisterSpellScriptWithArgs(spell_hadronox_summon_periodic_aura, "spell_hadronox_summon_periodic_champion", 15000, SPELL_SUMMON_ANUBAR_CHAMPION);
|
||||
RegisterSpellScriptWithArgs(spell_hadronox_summon_periodic_aura, "spell_hadronox_summon_periodic_necromancer", 10000, SPELL_SUMMON_ANUBAR_NECROMANCER);
|
||||
RegisterSpellScriptWithArgs(spell_hadronox_summon_periodic_aura, "spell_hadronox_summon_periodic_crypt_fiend", 5000, SPELL_SUMMON_ANUBAR_CRYPT_FIEND);
|
||||
RegisterSpellScript(spell_hadronox_leech_poison_aura);
|
||||
new achievement_hadronox_denied();
|
||||
}
|
||||
|
||||
|
||||
@@ -114,14 +114,9 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_azjol_nerub_fixate : public SpellScriptLoader
|
||||
class spell_azjol_nerub_fixate : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_azjol_nerub_fixate() : SpellScriptLoader("spell_azjol_nerub_fixate") { }
|
||||
|
||||
class spell_azjol_nerub_fixate_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_azjol_nerub_fixate_SpellScript);
|
||||
PrepareSpellScript(spell_azjol_nerub_fixate);
|
||||
|
||||
void HandleScriptEffect(SpellEffIndex effIndex)
|
||||
{
|
||||
@@ -132,24 +127,18 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_azjol_nerub_fixate_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_azjol_nerub_fixate::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_azjol_nerub_web_wrap_aura : public AuraScript
|
||||
{
|
||||
return new spell_azjol_nerub_fixate_SpellScript();
|
||||
PrepareAuraScript(spell_azjol_nerub_web_wrap_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_WEB_WRAP_TRIGGER });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_azjol_nerub_web_wrap : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_azjol_nerub_web_wrap() : SpellScriptLoader("spell_azjol_nerub_web_wrap") { }
|
||||
|
||||
class spell_azjol_nerub_web_wrap_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_azjol_nerub_web_wrap_AuraScript);
|
||||
|
||||
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
@@ -160,19 +149,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectRemove += AuraEffectRemoveFn(spell_azjol_nerub_web_wrap_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_MOD_ROOT, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_azjol_nerub_web_wrap_AuraScript();
|
||||
OnEffectRemove += AuraEffectRemoveFn(spell_azjol_nerub_web_wrap_aura::OnRemove, EFFECT_0, SPELL_AURA_MOD_ROOT, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_instance_azjol_nerub()
|
||||
{
|
||||
new instance_azjol_nerub();
|
||||
new spell_azjol_nerub_fixate();
|
||||
new spell_azjol_nerub_web_wrap();
|
||||
RegisterSpellScript(spell_azjol_nerub_fixate);
|
||||
RegisterSpellScript(spell_azjol_nerub_web_wrap_aura);
|
||||
}
|
||||
|
||||
+19
-42
@@ -734,14 +734,9 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_eadric_radiance : public SpellScriptLoader
|
||||
class spell_eadric_radiance : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_eadric_radiance() : SpellScriptLoader("spell_eadric_radiance") { }
|
||||
|
||||
class spell_eadric_radiance_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_eadric_radiance_SpellScript);
|
||||
PrepareSpellScript(spell_eadric_radiance);
|
||||
|
||||
void FilterTargets(std::list<WorldObject*>& targets)
|
||||
{
|
||||
@@ -757,25 +752,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_eadric_radiance_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_eadric_radiance_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_eadric_radiance::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_eadric_radiance::FilterTargets, EFFECT_1, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_toc5_light_rain : public SpellScript
|
||||
{
|
||||
return new spell_eadric_radiance_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_toc5_light_rain : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_toc5_light_rain() : SpellScriptLoader("spell_toc5_light_rain") { }
|
||||
|
||||
class spell_toc5_light_rain_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_toc5_light_rain_SpellScript);
|
||||
PrepareSpellScript(spell_toc5_light_rain);
|
||||
|
||||
void FilterTargets(std::list<WorldObject*>& targets)
|
||||
{
|
||||
@@ -794,24 +778,23 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_toc5_light_rain_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_toc5_light_rain::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
enum ReflectiveShield
|
||||
{
|
||||
return new spell_toc5_light_rain_SpellScript();
|
||||
}
|
||||
SPELL_REFLECTIVE_SHIELD_DAMAGE = 33619
|
||||
};
|
||||
|
||||
class spell_reflective_shield : public SpellScriptLoader
|
||||
class spell_reflective_shield_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_reflective_shield() : SpellScriptLoader("spell_reflective_shield") { }
|
||||
PrepareAuraScript(spell_reflective_shield_aura);
|
||||
|
||||
class spell_reflective_shield_AuraScript : public AuraScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
PrepareAuraScript(spell_reflective_shield_AuraScript)
|
||||
return ValidateSpellInfo({ SPELL_REFLECTIVE_SHIELD_DAMAGE });
|
||||
}
|
||||
|
||||
void HandleAfterEffectAbsorb(AuraEffect* /*aurEff*/, DamageInfo& dmgInfo, uint32& absorbAmount)
|
||||
{
|
||||
@@ -819,19 +802,13 @@ public:
|
||||
if( GetOwner() && attacker->GetGUID() != GetOwner()->GetGUID() )
|
||||
{
|
||||
int32 damage = (int32)(absorbAmount * 0.25f);
|
||||
GetOwner()->ToUnit()->CastCustomSpell(attacker, 33619, &damage, nullptr, nullptr, true);
|
||||
GetOwner()->ToUnit()->CastCustomSpell(attacker, SPELL_REFLECTIVE_SHIELD_DAMAGE, &damage, nullptr, nullptr, true);
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectAbsorb += AuraEffectAbsorbFn(spell_reflective_shield_AuraScript::HandleAfterEffectAbsorb, EFFECT_0);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_reflective_shield_AuraScript();
|
||||
AfterEffectAbsorb += AuraEffectAbsorbFn(spell_reflective_shield_aura::HandleAfterEffectAbsorb, EFFECT_0);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -841,8 +818,8 @@ void AddSC_boss_argent_challenge()
|
||||
new boss_paletress();
|
||||
new npc_memory();
|
||||
new npc_argent_soldier();
|
||||
new spell_eadric_radiance();
|
||||
new spell_toc5_light_rain();
|
||||
new spell_reflective_shield();
|
||||
RegisterSpellScript(spell_eadric_radiance);
|
||||
RegisterSpellScript(spell_toc5_light_rain);
|
||||
RegisterSpellScript(spell_reflective_shield_aura);
|
||||
}
|
||||
|
||||
|
||||
@@ -155,14 +155,9 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class spell_dred_grievious_bite : public SpellScriptLoader
|
||||
class spell_dred_grievious_bite_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_dred_grievious_bite() : SpellScriptLoader("spell_dred_grievious_bite") { }
|
||||
|
||||
class spell_dred_grievious_bite_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_dred_grievious_bite_AuraScript);
|
||||
PrepareAuraScript(spell_dred_grievious_bite_aura);
|
||||
|
||||
void OnPeriodic(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
@@ -176,24 +171,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_dred_grievious_bite_AuraScript::OnPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_dred_grievious_bite_aura::OnPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_dred_raptor_call : public SpellScript
|
||||
{
|
||||
return new spell_dred_grievious_bite_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_dred_raptor_call : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_dred_raptor_call() : SpellScriptLoader("spell_dred_raptor_call") { }
|
||||
|
||||
class spell_dred_raptor_call_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_dred_raptor_call_SpellScript);
|
||||
PrepareSpellScript(spell_dred_raptor_call);
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -202,13 +186,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_dred_raptor_call_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_dred_raptor_call_SpellScript();
|
||||
OnEffectHitTarget += SpellEffectFn(spell_dred_raptor_call::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -231,7 +209,7 @@ public:
|
||||
void AddSC_boss_dred()
|
||||
{
|
||||
new boss_dred();
|
||||
new spell_dred_grievious_bite();
|
||||
new spell_dred_raptor_call();
|
||||
RegisterSpellScript(spell_dred_grievious_bite_aura);
|
||||
RegisterSpellScript(spell_dred_raptor_call);
|
||||
new achievement_better_off_dred();
|
||||
}
|
||||
|
||||
@@ -268,14 +268,14 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_novos_despawn_crystal_handler : public SpellScriptLoader
|
||||
class spell_novos_despawn_crystal_handler : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_novos_despawn_crystal_handler() : SpellScriptLoader("spell_novos_despawn_crystal_handler") { }
|
||||
PrepareSpellScript(spell_novos_despawn_crystal_handler);
|
||||
|
||||
class spell_novos_despawn_crystal_handler_SpellScript : public SpellScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
PrepareSpellScript(spell_novos_despawn_crystal_handler_SpellScript);
|
||||
return ValidateSpellInfo({ SPELL_BEAM_CHANNEL });
|
||||
}
|
||||
|
||||
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -285,24 +285,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_novos_despawn_crystal_handler_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_novos_despawn_crystal_handler::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_novos_crystal_handler_death_aura : public AuraScript
|
||||
{
|
||||
return new spell_novos_despawn_crystal_handler_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_novos_crystal_handler_death : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_novos_crystal_handler_death() : SpellScriptLoader("spell_novos_crystal_handler_death") { }
|
||||
|
||||
class spell_novos_crystal_handler_death_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_novos_crystal_handler_death_AuraScript)
|
||||
PrepareAuraScript(spell_novos_crystal_handler_death_aura);
|
||||
|
||||
void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
@@ -313,24 +302,18 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectApply += AuraEffectApplyFn(spell_novos_crystal_handler_death_AuraScript::HandleEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
OnEffectApply += AuraEffectApplyFn(spell_novos_crystal_handler_death_aura::HandleEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_novos_summon_minions : public SpellScript
|
||||
{
|
||||
return new spell_novos_crystal_handler_death_AuraScript();
|
||||
PrepareSpellScript(spell_novos_summon_minions);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_COPY_OF_SUMMON_MINIONS });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_novos_summon_minions : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_novos_summon_minions() : SpellScriptLoader("spell_novos_summon_minions") { }
|
||||
|
||||
class spell_novos_summon_minions_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_novos_summon_minions_SpellScript);
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -340,13 +323,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_novos_summon_minions_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_novos_summon_minions_SpellScript();
|
||||
OnEffectHitTarget += SpellEffectFn(spell_novos_summon_minions::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -364,8 +341,8 @@ public:
|
||||
void AddSC_boss_novos()
|
||||
{
|
||||
new boss_novos();
|
||||
new spell_novos_despawn_crystal_handler();
|
||||
new spell_novos_crystal_handler_death();
|
||||
new spell_novos_summon_minions();
|
||||
RegisterSpellScript(spell_novos_despawn_crystal_handler);
|
||||
RegisterSpellScript(spell_novos_crystal_handler_death_aura);
|
||||
RegisterSpellScript(spell_novos_summon_minions);
|
||||
new achievement_oh_novos();
|
||||
}
|
||||
|
||||
@@ -208,14 +208,9 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class spell_tharon_ja_curse_of_life : public SpellScriptLoader
|
||||
class spell_tharon_ja_curse_of_life_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_tharon_ja_curse_of_life() : SpellScriptLoader("spell_tharon_ja_curse_of_life") { }
|
||||
|
||||
class spell_tharon_ja_curse_of_life_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_tharon_ja_curse_of_life_AuraScript);
|
||||
PrepareAuraScript(spell_tharon_ja_curse_of_life_aura);
|
||||
|
||||
void OnPeriodic(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
@@ -228,24 +223,18 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_tharon_ja_curse_of_life_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_tharon_ja_curse_of_life_aura::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_tharon_ja_dummy_aura : public AuraScript
|
||||
{
|
||||
return new spell_tharon_ja_curse_of_life_AuraScript();
|
||||
PrepareAuraScript(spell_tharon_ja_dummy_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_FLESH_VISUAL, SPELL_GIFT_OF_THARON_JA, SPELL_TURN_BONES });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_tharon_ja_dummy : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_tharon_ja_dummy() : SpellScriptLoader("spell_tharon_ja_dummy") { }
|
||||
|
||||
class spell_tharon_ja_dummy_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_tharon_ja_dummy_AuraScript)
|
||||
|
||||
void HandleEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
@@ -266,25 +255,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectApply += AuraEffectApplyFn(spell_tharon_ja_dummy_AuraScript::HandleEffectApply, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
|
||||
OnEffectRemove += AuraEffectRemoveFn(spell_tharon_ja_dummy_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
|
||||
OnEffectApply += AuraEffectApplyFn(spell_tharon_ja_dummy_aura::HandleEffectApply, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
|
||||
OnEffectRemove += AuraEffectRemoveFn(spell_tharon_ja_dummy_aura::HandleEffectRemove, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_tharon_ja_clear_gift_of_tharon_ja : public SpellScript
|
||||
{
|
||||
return new spell_tharon_ja_dummy_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_tharon_ja_clear_gift_of_tharon_ja : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_tharon_ja_clear_gift_of_tharon_ja() : SpellScriptLoader("spell_tharon_ja_clear_gift_of_tharon_ja") { }
|
||||
|
||||
class spell_tharon_ja_clear_gift_of_tharon_ja_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_tharon_ja_clear_gift_of_tharon_ja_SpellScript);
|
||||
PrepareSpellScript(spell_tharon_ja_clear_gift_of_tharon_ja);
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -294,21 +272,15 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_tharon_ja_clear_gift_of_tharon_ja_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_tharon_ja_clear_gift_of_tharon_ja_SpellScript();
|
||||
OnEffectHitTarget += SpellEffectFn(spell_tharon_ja_clear_gift_of_tharon_ja::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_tharon_ja()
|
||||
{
|
||||
new boss_tharon_ja();
|
||||
new spell_tharon_ja_curse_of_life();
|
||||
new spell_tharon_ja_dummy();
|
||||
new spell_tharon_ja_clear_gift_of_tharon_ja();
|
||||
RegisterSpellScript(spell_tharon_ja_curse_of_life_aura);
|
||||
RegisterSpellScript(spell_tharon_ja_dummy_aura);
|
||||
RegisterSpellScript(spell_tharon_ja_clear_gift_of_tharon_ja);
|
||||
}
|
||||
|
||||
|
||||
@@ -171,14 +171,14 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_trollgore_consume : public SpellScriptLoader
|
||||
class spell_trollgore_consume : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_trollgore_consume() : SpellScriptLoader("spell_trollgore_consume") { }
|
||||
PrepareSpellScript(spell_trollgore_consume);
|
||||
|
||||
class spell_trollgore_consume_SpellScript : public SpellScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
PrepareSpellScript(spell_trollgore_consume_SpellScript);
|
||||
return ValidateSpellInfo({ SPELL_CONSUME_AURA });
|
||||
}
|
||||
|
||||
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -188,24 +188,18 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_trollgore_consume_SpellScript::HandleScriptEffect, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_trollgore_consume::HandleScriptEffect, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_trollgore_corpse_explode_aura : public AuraScript
|
||||
{
|
||||
return new spell_trollgore_consume_SpellScript();
|
||||
PrepareAuraScript(spell_trollgore_corpse_explode_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_CORPSE_EXPLODE_DAMAGE });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_trollgore_corpse_explode : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_trollgore_corpse_explode() : SpellScriptLoader("spell_trollgore_corpse_explode") { }
|
||||
|
||||
class spell_trollgore_corpse_explode_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_trollgore_corpse_explode_AuraScript);
|
||||
|
||||
void PeriodicTick(AuraEffect const* aurEff)
|
||||
{
|
||||
@@ -222,25 +216,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_trollgore_corpse_explode_AuraScript::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_trollgore_corpse_explode_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_trollgore_corpse_explode_aura::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_trollgore_corpse_explode_aura::HandleRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_trollgore_invader_taunt : public SpellScript
|
||||
{
|
||||
return new spell_trollgore_corpse_explode_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_trollgore_invader_taunt : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_trollgore_invader_taunt() : SpellScriptLoader("spell_trollgore_invader_taunt") { }
|
||||
|
||||
class spell_trollgore_invader_taunt_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_trollgore_invader_taunt_SpellScript);
|
||||
PrepareSpellScript(spell_trollgore_invader_taunt);
|
||||
|
||||
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -250,13 +233,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_trollgore_invader_taunt_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_trollgore_invader_taunt_SpellScript();
|
||||
OnEffectHitTarget += SpellEffectFn(spell_trollgore_invader_taunt::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -279,8 +256,8 @@ public:
|
||||
void AddSC_boss_trollgore()
|
||||
{
|
||||
new boss_trollgore();
|
||||
new spell_trollgore_consume();
|
||||
new spell_trollgore_corpse_explode();
|
||||
new spell_trollgore_invader_taunt();
|
||||
RegisterSpellScript(spell_trollgore_consume);
|
||||
RegisterSpellScript(spell_trollgore_corpse_explode_aura);
|
||||
RegisterSpellScript(spell_trollgore_invader_taunt);
|
||||
new achievement_consumption_junction();
|
||||
}
|
||||
|
||||
@@ -77,14 +77,9 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_dtk_raise_dead : public SpellScriptLoader
|
||||
class spell_dtk_raise_dead_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_dtk_raise_dead() : SpellScriptLoader("spell_dtk_raise_dead") { }
|
||||
|
||||
class spell_dtk_raise_dead_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_dtk_raise_dead_AuraScript)
|
||||
PrepareAuraScript(spell_dtk_raise_dead_aura);
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
@@ -99,24 +94,18 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_dtk_raise_dead_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_dtk_raise_dead_aura::HandleEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_dtk_summon_random_drakkari : public SpellScript
|
||||
{
|
||||
return new spell_dtk_raise_dead_AuraScript();
|
||||
PrepareSpellScript(spell_dtk_summon_random_drakkari);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SUMMON_DRAKKARI_SHAMAN, SPELL_SUMMON_DRAKKARI_GUARDIAN });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_dtk_summon_random_drakkari : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_dtk_summon_random_drakkari() : SpellScriptLoader("spell_dtk_summon_random_drakkari") { }
|
||||
|
||||
class spell_dtk_summon_random_drakkari_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_dtk_summon_random_drakkari_SpellScript);
|
||||
|
||||
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -125,19 +114,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_dtk_summon_random_drakkari_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_dtk_summon_random_drakkari_SpellScript();
|
||||
OnEffectHitTarget += SpellEffectFn(spell_dtk_summon_random_drakkari::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_instance_drak_tharon_keep()
|
||||
{
|
||||
new instance_drak_tharon_keep();
|
||||
new spell_dtk_raise_dead();
|
||||
new spell_dtk_summon_random_drakkari();
|
||||
RegisterSpellScript(spell_dtk_raise_dead_aura);
|
||||
RegisterSpellScript(spell_dtk_summon_random_drakkari);
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ enum eSpells
|
||||
SPELL_TELEPORT_VISUAL = 52096,
|
||||
|
||||
SPELL_SOULSTORM_VISUAL = 68870,
|
||||
SPELL_SOULSTORM_VISUAL2 = 68904,
|
||||
SPELL_SOULSTORM = 68872,
|
||||
};
|
||||
|
||||
@@ -263,14 +264,9 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_bronjahm_magic_bane : public SpellScriptLoader
|
||||
class spell_bronjahm_magic_bane : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_bronjahm_magic_bane() : SpellScriptLoader("spell_bronjahm_magic_bane") { }
|
||||
|
||||
class spell_bronjahm_magic_bane_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_bronjahm_magic_bane_SpellScript);
|
||||
PrepareSpellScript(spell_bronjahm_magic_bane);
|
||||
|
||||
void RecalculateDamage()
|
||||
{
|
||||
@@ -290,51 +286,39 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnHit += SpellHitFn(spell_bronjahm_magic_bane_SpellScript::RecalculateDamage);
|
||||
OnHit += SpellHitFn(spell_bronjahm_magic_bane::RecalculateDamage);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_bronjahm_soulstorm_channel_ooc_aura : public AuraScript
|
||||
{
|
||||
return new spell_bronjahm_magic_bane_SpellScript();
|
||||
PrepareAuraScript(spell_bronjahm_soulstorm_channel_ooc_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SOULSTORM_VISUAL2, SPELL_SOULSTORM_VISUAL2+1, SPELL_SOULSTORM_VISUAL2+2, SPELL_SOULSTORM_VISUAL2+3 });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_bronjahm_soulstorm_channel_ooc : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_bronjahm_soulstorm_channel_ooc() : SpellScriptLoader("spell_bronjahm_soulstorm_channel_ooc") { }
|
||||
|
||||
class spell_bronjahm_soulstorm_channel_ooc_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_bronjahm_soulstorm_channel_ooc_AuraScript);
|
||||
|
||||
void HandlePeriodicTick(AuraEffect const* aurEff)
|
||||
{
|
||||
PreventDefaultAction();
|
||||
GetTarget()->CastSpell(GetTarget(), 68904 + (aurEff->GetTickNumber() % 4), true);
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_SOULSTORM_VISUAL2 + (aurEff->GetTickNumber() % 4), true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_bronjahm_soulstorm_channel_ooc_AuraScript::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_bronjahm_soulstorm_channel_ooc_aura::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_bronjahm_soulstorm_visual_aura : public AuraScript
|
||||
{
|
||||
return new spell_bronjahm_soulstorm_channel_ooc_AuraScript();
|
||||
PrepareAuraScript(spell_bronjahm_soulstorm_visual_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ 68886, 68896, 68897, 68898 });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_bronjahm_soulstorm_visual : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_bronjahm_soulstorm_visual() : SpellScriptLoader("spell_bronjahm_soulstorm_visual") { }
|
||||
|
||||
class spell_bronjahm_soulstorm_visual_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_bronjahm_soulstorm_visual_AuraScript);
|
||||
|
||||
void HandlePeriodicTick(AuraEffect const* aurEff)
|
||||
{
|
||||
@@ -360,24 +344,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_bronjahm_soulstorm_visual_AuraScript::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_bronjahm_soulstorm_visual_aura::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_bronjahm_soulstorm_targeting : public SpellScript
|
||||
{
|
||||
return new spell_bronjahm_soulstorm_visual_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_bronjahm_soulstorm_targeting : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_bronjahm_soulstorm_targeting() : SpellScriptLoader("spell_bronjahm_soulstorm_targeting") { }
|
||||
|
||||
class spell_bronjahm_soulstorm_targeting_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_bronjahm_soulstorm_targeting_SpellScript);
|
||||
PrepareSpellScript(spell_bronjahm_soulstorm_targeting);
|
||||
|
||||
void FilterTargets(std::list<WorldObject*>& targets)
|
||||
{
|
||||
@@ -386,13 +359,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_bronjahm_soulstorm_targeting_SpellScript::FilterTargets, EFFECT_ALL, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_bronjahm_soulstorm_targeting_SpellScript();
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_bronjahm_soulstorm_targeting::FilterTargets, EFFECT_ALL, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -401,9 +368,9 @@ void AddSC_boss_bronjahm()
|
||||
new boss_bronjahm();
|
||||
new npc_fos_corrupted_soul_fragment();
|
||||
|
||||
new spell_bronjahm_magic_bane();
|
||||
new spell_bronjahm_soulstorm_channel_ooc();
|
||||
new spell_bronjahm_soulstorm_visual();
|
||||
new spell_bronjahm_soulstorm_targeting();
|
||||
RegisterSpellScript(spell_bronjahm_magic_bane);
|
||||
RegisterSpellScript(spell_bronjahm_soulstorm_channel_ooc_aura);
|
||||
RegisterSpellScript(spell_bronjahm_soulstorm_visual_aura);
|
||||
RegisterSpellScript(spell_bronjahm_soulstorm_targeting);
|
||||
}
|
||||
|
||||
|
||||
@@ -308,14 +308,14 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_wailing_souls_periodic : public SpellScriptLoader
|
||||
class spell_wailing_souls_periodic_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_wailing_souls_periodic() : SpellScriptLoader("spell_wailing_souls_periodic") { }
|
||||
PrepareAuraScript(spell_wailing_souls_periodic_aura);
|
||||
|
||||
class spell_wailing_souls_periodic_AuraScript : public AuraScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
PrepareAuraScript(spell_wailing_souls_periodic_AuraScript);
|
||||
return ValidateSpellInfo({ SPELL_WAILING_SOULS_DMG_N });
|
||||
}
|
||||
|
||||
int8 dir;
|
||||
|
||||
@@ -362,19 +362,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_wailing_souls_periodic_AuraScript::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_wailing_souls_periodic_AuraScript();
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_wailing_souls_periodic_aura::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_devourer_of_souls()
|
||||
{
|
||||
new boss_devourer_of_souls();
|
||||
new spell_wailing_souls_periodic();
|
||||
RegisterSpellScript(spell_wailing_souls_periodic_aura);
|
||||
}
|
||||
|
||||
|
||||
@@ -256,14 +256,19 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_shield_of_bones : public SpellScriptLoader
|
||||
enum ShieldOfBones
|
||||
{
|
||||
public:
|
||||
spell_shield_of_bones() : SpellScriptLoader("spell_shield_of_bones") { }
|
||||
SPELL_SHIELD_OF_BONES_DAMAGE = 69642
|
||||
};
|
||||
|
||||
class spell_shield_of_bones_AuraScript : public AuraScript
|
||||
class spell_shield_of_bones_aura : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_shield_of_bones_AuraScript);
|
||||
PrepareAuraScript(spell_shield_of_bones_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SHIELD_OF_BONES_DAMAGE });
|
||||
}
|
||||
|
||||
int32 amount;
|
||||
bool fired;
|
||||
@@ -282,19 +287,13 @@ public:
|
||||
if (Unit* caster = GetCaster())
|
||||
{
|
||||
fired = true;
|
||||
caster->CastSpell(caster, 69642, true);
|
||||
caster->CastSpell(caster, SPELL_SHIELD_OF_BONES_DAMAGE, true);
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectAbsorb += AuraEffectAbsorbFn(spell_shield_of_bones_AuraScript::HandleAfterEffectAbsorb, EFFECT_0);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_shield_of_bones_AuraScript();
|
||||
AfterEffectAbsorb += AuraEffectAbsorbFn(spell_shield_of_bones_aura::HandleAfterEffectAbsorb, EFFECT_0);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -302,6 +301,6 @@ void AddSC_forge_of_souls()
|
||||
{
|
||||
new npc_fos_leader();
|
||||
new npc_fos_leader_second();
|
||||
new spell_shield_of_bones();
|
||||
RegisterSpellScript(spell_shield_of_bones_aura);
|
||||
}
|
||||
|
||||
|
||||
@@ -169,14 +169,19 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_hor_shared_suffering : public SpellScriptLoader
|
||||
enum SharedSufferingAura
|
||||
{
|
||||
public:
|
||||
spell_hor_shared_suffering() : SpellScriptLoader("spell_hor_shared_suffering") { }
|
||||
SPELL_SHARED_SUFFERING_DAMAGE = 72373
|
||||
};
|
||||
|
||||
class spell_hor_shared_sufferingAuraScript : public AuraScript
|
||||
class spell_hor_shared_suffering_aura : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_hor_shared_sufferingAuraScript);
|
||||
PrepareAuraScript(spell_hor_shared_suffering_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SHARED_SUFFERING_DAMAGE });
|
||||
}
|
||||
|
||||
void OnRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
@@ -195,24 +200,18 @@ public:
|
||||
++count;
|
||||
ticks = (a->GetDuration() / int32(a->GetSpellInfo()->Effects[0].Amplitude)) + 1;
|
||||
int32 dmg = (ticks * dmgPerTick) / count;
|
||||
caster->CastCustomSpell(GetTarget(), 72373, nullptr, &dmg, nullptr, true);
|
||||
caster->CastCustomSpell(GetTarget(), SPELL_SHARED_SUFFERING_DAMAGE, nullptr, &dmg, nullptr, true);
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_hor_shared_sufferingAuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_hor_shared_sufferingAuraScript();
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_hor_shared_suffering_aura::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_marwyn()
|
||||
{
|
||||
new boss_marwyn();
|
||||
new spell_hor_shared_suffering();
|
||||
RegisterSpellScript(spell_hor_shared_suffering_aura);
|
||||
}
|
||||
|
||||
+14
-15
@@ -2315,34 +2315,33 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_hor_gunship_cannon_fire : public SpellScriptLoader
|
||||
enum GunshipCannonFire
|
||||
{
|
||||
public:
|
||||
spell_hor_gunship_cannon_fire() : SpellScriptLoader("spell_hor_gunship_cannon_fire") { }
|
||||
SPELL_GUNSHIP_CANNON_FIRE = 70021
|
||||
};
|
||||
|
||||
class spell_hor_gunship_cannon_fireAuraScript : public AuraScript
|
||||
class spell_hor_gunship_cannon_fire_aura : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_hor_gunship_cannon_fireAuraScript)
|
||||
PrepareAuraScript(spell_hor_gunship_cannon_fire_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_GUNSHIP_CANNON_FIRE });
|
||||
}
|
||||
|
||||
void HandleEffectPeriodic(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
PreventDefaultAction();
|
||||
if (Unit* caster = GetCaster())
|
||||
if (Creature* c = caster->SummonCreature(WORLD_TRIGGER, CannonFirePos[caster->GetEntry() == NPC_JAINA_PART2 ? 0 : 1][urand(0, 2)], TEMPSUMMON_TIMED_DESPAWN, 1))
|
||||
if (Creature* creature = caster->SummonCreature(WORLD_TRIGGER, CannonFirePos[caster->GetEntry() == NPC_JAINA_PART2 ? 0 : 1][urand(0, 2)], TEMPSUMMON_TIMED_DESPAWN, 1))
|
||||
{
|
||||
c->CastSpell((Unit*)nullptr, 70021, true);
|
||||
creature->CastSpell((Unit*)nullptr, SPELL_GUNSHIP_CANNON_FIRE, true);
|
||||
}
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_hor_gunship_cannon_fireAuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_hor_gunship_cannon_fireAuraScript();
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_hor_gunship_cannon_fire_aura::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -2403,7 +2402,7 @@ void AddSC_halls_of_reflection()
|
||||
new npc_hor_raging_ghoul();
|
||||
new npc_hor_risen_witch_doctor();
|
||||
new npc_hor_lumbering_abomination();
|
||||
new spell_hor_gunship_cannon_fire();
|
||||
RegisterSpellScript(spell_hor_gunship_cannon_fire_aura);
|
||||
|
||||
new at_hor_battered_hilt_start();
|
||||
new at_hor_battered_hilt_throw();
|
||||
|
||||
@@ -299,14 +299,9 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_garfrost_permafrost : public SpellScriptLoader
|
||||
class spell_garfrost_permafrost : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_garfrost_permafrost() : SpellScriptLoader("spell_garfrost_permafrost") { }
|
||||
|
||||
class spell_garfrost_permafrost_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_garfrost_permafrost_SpellScript);
|
||||
PrepareSpellScript(spell_garfrost_permafrost);
|
||||
|
||||
std::list<WorldObject*> targetList;
|
||||
|
||||
@@ -362,15 +357,9 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_garfrost_permafrost_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_garfrost_permafrost_SpellScript::FilterTargetsNext, EFFECT_1, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_garfrost_permafrost_SpellScript::FilterTargetsNext, EFFECT_2, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_garfrost_permafrost_SpellScript();
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_garfrost_permafrost::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_garfrost_permafrost::FilterTargetsNext, EFFECT_1, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_garfrost_permafrost::FilterTargetsNext, EFFECT_2, TARGET_UNIT_DEST_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -378,6 +367,6 @@ void AddSC_boss_garfrost()
|
||||
{
|
||||
new boss_garfrost();
|
||||
|
||||
new spell_garfrost_permafrost();
|
||||
RegisterSpellScript(spell_garfrost_permafrost);
|
||||
}
|
||||
|
||||
|
||||
@@ -458,14 +458,14 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_krick_explosive_barrage : public SpellScriptLoader
|
||||
class spell_krick_explosive_barrage_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_krick_explosive_barrage() : SpellScriptLoader("spell_krick_explosive_barrage") { }
|
||||
PrepareAuraScript(spell_krick_explosive_barrage_aura);
|
||||
|
||||
class spell_krick_explosive_barrage_AuraScript : public AuraScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
PrepareAuraScript(spell_krick_explosive_barrage_AuraScript);
|
||||
return ValidateSpellInfo({ SPELL_EXPLOSIVE_BARRAGE_SUMMON });
|
||||
}
|
||||
|
||||
void HandlePeriodicTick(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
@@ -483,24 +483,18 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_krick_explosive_barrage_AuraScript::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_krick_explosive_barrage_aura::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_exploding_orb_auto_grow_aura : public AuraScript
|
||||
{
|
||||
return new spell_krick_explosive_barrage_AuraScript();
|
||||
PrepareAuraScript(spell_exploding_orb_auto_grow_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_EXPLOSIVE_BARRAGE_DAMAGE, SPELL_HASTY_GROW, SPELL_AUTO_GROW, SPELL_EXPLODING_ORB_VISUAL });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_exploding_orb_auto_grow : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_exploding_orb_auto_grow() : SpellScriptLoader("spell_exploding_orb_auto_grow") { }
|
||||
|
||||
class spell_exploding_orb_auto_grow_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_exploding_orb_auto_grow_AuraScript);
|
||||
|
||||
void HandlePeriodicTick(AuraEffect const* aurEff)
|
||||
{
|
||||
@@ -519,13 +513,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_exploding_orb_auto_grow_AuraScript::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_exploding_orb_auto_grow_AuraScript();
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_exploding_orb_auto_grow_aura::HandlePeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -534,7 +522,7 @@ void AddSC_boss_ick()
|
||||
new boss_ick();
|
||||
new boss_krick();
|
||||
|
||||
new spell_krick_explosive_barrage();
|
||||
new spell_exploding_orb_auto_grow();
|
||||
RegisterSpellScript(spell_krick_explosive_barrage_aura);
|
||||
RegisterSpellScript(spell_exploding_orb_auto_grow_aura);
|
||||
}
|
||||
|
||||
|
||||
@@ -1301,31 +1301,30 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_pos_empowered_blizzard : public SpellScriptLoader
|
||||
enum EmpoweredBlizzard
|
||||
{
|
||||
public:
|
||||
spell_pos_empowered_blizzard() : SpellScriptLoader("spell_pos_empowered_blizzard") { }
|
||||
SPELL_EMPOWERED_BLIZZARD = 70131
|
||||
};
|
||||
|
||||
class spell_pos_empowered_blizzardAuraScript : public AuraScript
|
||||
class spell_pos_empowered_blizzard_aura : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_pos_empowered_blizzardAuraScript)
|
||||
PrepareAuraScript(spell_pos_empowered_blizzard_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_EMPOWERED_BLIZZARD });
|
||||
}
|
||||
|
||||
void HandleEffectPeriodic(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
PreventDefaultAction();
|
||||
if (Unit* caster = GetCaster())
|
||||
caster->CastSpell((float)urand(447, 480), (float)urand(200, 235), 528.71f, 70131, true);
|
||||
caster->CastSpell((float)urand(447, 480), (float)urand(200, 235), 528.71f, SPELL_EMPOWERED_BLIZZARD, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_pos_empowered_blizzardAuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_pos_empowered_blizzardAuraScript();
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_pos_empowered_blizzard_aura::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1364,14 +1363,9 @@ private:
|
||||
Creature& _owner;
|
||||
};
|
||||
|
||||
class spell_pos_slave_trigger_closest : public SpellScriptLoader
|
||||
class spell_pos_slave_trigger_closest : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_pos_slave_trigger_closest() : SpellScriptLoader("spell_pos_slave_trigger_closest") { }
|
||||
|
||||
class spell_pos_slave_trigger_closestSpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_pos_slave_trigger_closestSpellScript);
|
||||
PrepareSpellScript(spell_pos_slave_trigger_closest);
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -1397,24 +1391,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_pos_slave_trigger_closestSpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_pos_slave_trigger_closest::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_pos_rimefang_frost_nova : public SpellScript
|
||||
{
|
||||
return new spell_pos_slave_trigger_closestSpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_pos_rimefang_frost_nova : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_pos_rimefang_frost_nova() : SpellScriptLoader("spell_pos_rimefang_frost_nova") { }
|
||||
|
||||
class spell_pos_rimefang_frost_novaSpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_pos_rimefang_frost_novaSpellScript);
|
||||
PrepareSpellScript(spell_pos_rimefang_frost_nova);
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -1429,24 +1412,18 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_pos_rimefang_frost_novaSpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_pos_rimefang_frost_nova::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_pos_blight_aura : public AuraScript
|
||||
{
|
||||
return new spell_pos_rimefang_frost_novaSpellScript();
|
||||
PrepareAuraScript(spell_pos_blight_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ 69604 });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_pos_blight : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_pos_blight() : SpellScriptLoader("spell_pos_blight") { }
|
||||
|
||||
class spell_pos_blightAuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_pos_blightAuraScript)
|
||||
|
||||
void HandleEffectPeriodic(AuraEffect const* aurEff)
|
||||
{
|
||||
@@ -1457,24 +1434,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_pos_blightAuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_pos_blight_aura::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_pos_glacial_strike_aura : public AuraScript
|
||||
{
|
||||
return new spell_pos_blightAuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_pos_glacial_strike : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_pos_glacial_strike() : SpellScriptLoader("spell_pos_glacial_strike") { }
|
||||
|
||||
class spell_pos_glacial_strikeAuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_pos_glacial_strikeAuraScript)
|
||||
PrepareAuraScript(spell_pos_glacial_strike_aura);
|
||||
|
||||
void HandleEffectPeriodic(AuraEffect const* aurEff)
|
||||
{
|
||||
@@ -1489,13 +1455,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_pos_glacial_strikeAuraScript::HandleEffectPeriodic, EFFECT_2, SPELL_AURA_PERIODIC_DAMAGE_PERCENT);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_pos_glacial_strikeAuraScript();
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_pos_glacial_strike_aura::HandleEffectPeriodic, EFFECT_2, SPELL_AURA_PERIODIC_DAMAGE_PERCENT);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1537,11 +1497,11 @@ void AddSC_pit_of_saron()
|
||||
new npc_pos_freed_slave();
|
||||
new npc_pos_leader_second();
|
||||
|
||||
new spell_pos_empowered_blizzard();
|
||||
new spell_pos_slave_trigger_closest();
|
||||
new spell_pos_rimefang_frost_nova();
|
||||
new spell_pos_blight();
|
||||
new spell_pos_glacial_strike();
|
||||
RegisterSpellScript(spell_pos_empowered_blizzard_aura);
|
||||
RegisterSpellScript(spell_pos_slave_trigger_closest);
|
||||
RegisterSpellScript(spell_pos_rimefang_frost_nova);
|
||||
RegisterSpellScript(spell_pos_blight_aura);
|
||||
RegisterSpellScript(spell_pos_glacial_strike_aura);
|
||||
|
||||
new at_tyrannus_event_starter();
|
||||
}
|
||||
|
||||
@@ -406,14 +406,14 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class spell_drakkari_colossus_emerge : public SpellScriptLoader
|
||||
class spell_drakkari_colossus_emerge : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_drakkari_colossus_emerge() : SpellScriptLoader("spell_drakkari_colossus_emerge") { }
|
||||
PrepareSpellScript(spell_drakkari_colossus_emerge);
|
||||
|
||||
class spell_drakkari_colossus_emerge_SpellScript : public SpellScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
PrepareSpellScript(spell_drakkari_colossus_emerge_SpellScript);
|
||||
return ValidateSpellInfo({ SPELL_FREEZE_ANIM });
|
||||
}
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -422,24 +422,18 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_drakkari_colossus_emerge_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_drakkari_colossus_emerge::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_drakkari_colossus_surge : public SpellScript
|
||||
{
|
||||
return new spell_drakkari_colossus_emerge_SpellScript();
|
||||
PrepareSpellScript(spell_drakkari_colossus_surge);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SURGE_DAMAGE });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_drakkari_colossus_surge : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_drakkari_colossus_surge() : SpellScriptLoader("spell_drakkari_colossus_surge") { }
|
||||
|
||||
class spell_drakkari_colossus_surge_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_drakkari_colossus_surge_SpellScript);
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -449,24 +443,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_drakkari_colossus_surge_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_drakkari_colossus_surge::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_drakkari_colossus_face_me : public SpellScript
|
||||
{
|
||||
return new spell_drakkari_colossus_surge_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_drakkari_colossus_face_me : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_drakkari_colossus_face_me() : SpellScriptLoader("spell_drakkari_colossus_face_me") { }
|
||||
|
||||
class spell_drakkari_colossus_face_me_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_drakkari_colossus_face_me_SpellScript);
|
||||
PrepareSpellScript(spell_drakkari_colossus_face_me);
|
||||
|
||||
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -479,13 +462,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_drakkari_colossus_face_me_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_drakkari_colossus_face_me_SpellScript();
|
||||
OnEffectHitTarget += SpellEffectFn(spell_drakkari_colossus_face_me::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -494,8 +471,8 @@ void AddSC_boss_drakkari_colossus()
|
||||
new boss_drakkari_colossus();
|
||||
new boss_drakkari_elemental();
|
||||
new npc_living_mojo();
|
||||
new spell_drakkari_colossus_emerge();
|
||||
new spell_drakkari_colossus_surge();
|
||||
new spell_drakkari_colossus_face_me();
|
||||
RegisterSpellScript(spell_drakkari_colossus_emerge);
|
||||
RegisterSpellScript(spell_drakkari_colossus_surge);
|
||||
RegisterSpellScript(spell_drakkari_colossus_face_me);
|
||||
}
|
||||
|
||||
|
||||
@@ -219,14 +219,14 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class spell_galdarah_impaling_charge : public SpellScriptLoader
|
||||
class spell_galdarah_impaling_charge : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_galdarah_impaling_charge() : SpellScriptLoader("spell_galdarah_impaling_charge") { }
|
||||
PrepareSpellScript(spell_galdarah_impaling_charge);
|
||||
|
||||
class spell_galdarah_impaling_charge_SpellScript : public SpellScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
PrepareSpellScript(spell_galdarah_impaling_charge_SpellScript);
|
||||
return ValidateSpellInfo({ SPELL_IMPALING_CHARGE_VEHICLE });
|
||||
}
|
||||
|
||||
void HandleApplyAura(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -236,24 +236,18 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_galdarah_impaling_charge_SpellScript::HandleApplyAura, EFFECT_1, SPELL_EFFECT_APPLY_AURA);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_galdarah_impaling_charge::HandleApplyAura, EFFECT_1, SPELL_EFFECT_APPLY_AURA);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_galdarah_transform : public SpellScript
|
||||
{
|
||||
return new spell_galdarah_impaling_charge_SpellScript();
|
||||
PrepareSpellScript(spell_galdarah_transform);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_TRANSFORM_TO_RHINO });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_galdarah_transform : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_galdarah_transform() : SpellScriptLoader("spell_galdarah_transform") { }
|
||||
|
||||
class spell_galdarah_transform_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_galdarah_transform_SpellScript);
|
||||
|
||||
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -263,13 +257,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_galdarah_transform_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_galdarah_transform_SpellScript();
|
||||
OnEffectHitTarget += SpellEffectFn(spell_galdarah_transform::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -292,7 +280,7 @@ public:
|
||||
void AddSC_boss_gal_darah()
|
||||
{
|
||||
new boss_gal_darah();
|
||||
new spell_galdarah_impaling_charge();
|
||||
new spell_galdarah_transform();
|
||||
RegisterSpellScript(spell_galdarah_impaling_charge);
|
||||
RegisterSpellScript(spell_galdarah_transform);
|
||||
new achievement_share_the_love();
|
||||
}
|
||||
|
||||
@@ -170,14 +170,9 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class spell_moorabi_mojo_frenzy : public SpellScriptLoader
|
||||
class spell_moorabi_mojo_frenzy_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_moorabi_mojo_frenzy() : SpellScriptLoader("spell_moorabi_mojo_frenzy") { }
|
||||
|
||||
class spell_moorabi_mojo_frenzy_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_moorabi_mojo_frenzy_AuraScript);
|
||||
PrepareAuraScript(spell_moorabi_mojo_frenzy_aura);
|
||||
|
||||
void HandlePeriodic(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
@@ -191,13 +186,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_moorabi_mojo_frenzy_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_moorabi_mojo_frenzy_AuraScript();
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_moorabi_mojo_frenzy_aura::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -217,6 +206,6 @@ public:
|
||||
void AddSC_boss_moorabi()
|
||||
{
|
||||
new boss_moorabi();
|
||||
new spell_moorabi_mojo_frenzy();
|
||||
RegisterSpellScript(spell_moorabi_mojo_frenzy_aura);
|
||||
new achievement_less_rabi();
|
||||
}
|
||||
|
||||
@@ -200,14 +200,14 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class spell_sladran_grip_of_sladran : public SpellScriptLoader
|
||||
class spell_sladran_grip_of_sladran_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_sladran_grip_of_sladran() : SpellScriptLoader("spell_sladran_grip_of_sladran") { }
|
||||
PrepareAuraScript(spell_sladran_grip_of_sladran_aura);
|
||||
|
||||
class spell_sladran_grip_of_sladran_AuraScript : public AuraScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
PrepareAuraScript(spell_sladran_grip_of_sladran_AuraScript);
|
||||
return ValidateSpellInfo({ SPELL_SNAKE_WRAP });
|
||||
}
|
||||
|
||||
void HandlePeriodic(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
@@ -221,13 +221,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_sladran_grip_of_sladran_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_sladran_grip_of_sladran_AuraScript();
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_sladran_grip_of_sladran_aura::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -250,6 +244,6 @@ public:
|
||||
void AddSC_boss_slad_ran()
|
||||
{
|
||||
new boss_slad_ran();
|
||||
new spell_sladran_grip_of_sladran();
|
||||
RegisterSpellScript(spell_sladran_grip_of_sladran_aura);
|
||||
new achievement_snakes_whyd_it_have_to_be_snakes();
|
||||
}
|
||||
|
||||
@@ -1488,14 +1488,9 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_eoe_ph3_surge_of_power : public SpellScriptLoader
|
||||
class spell_eoe_ph3_surge_of_power : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_eoe_ph3_surge_of_power() : SpellScriptLoader("spell_eoe_ph3_surge_of_power") { }
|
||||
|
||||
class spell_eoe_ph3_surge_of_power_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_eoe_ph3_surge_of_power_SpellScript);
|
||||
PrepareSpellScript(spell_eoe_ph3_surge_of_power);
|
||||
|
||||
ObjectGuid DrakeGUID[3];
|
||||
|
||||
@@ -1534,13 +1529,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_eoe_ph3_surge_of_power_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_eoe_ph3_surge_of_power_SpellScript();
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_eoe_ph3_surge_of_power::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1556,5 +1545,5 @@ void AddSC_boss_malygos()
|
||||
new npc_hover_disk();
|
||||
new npc_eoe_wyrmrest_skytalon();
|
||||
|
||||
new spell_eoe_ph3_surge_of_power();
|
||||
RegisterSpellScript(spell_eoe_ph3_surge_of_power);
|
||||
}
|
||||
|
||||
@@ -230,14 +230,14 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class spell_boss_magus_telestra_summon_telestra_clones : public SpellScriptLoader
|
||||
class spell_boss_magus_telestra_summon_telestra_clones_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_boss_magus_telestra_summon_telestra_clones() : SpellScriptLoader("spell_boss_magus_telestra_summon_telestra_clones") { }
|
||||
PrepareAuraScript(spell_boss_magus_telestra_summon_telestra_clones_aura);
|
||||
|
||||
class spell_boss_magus_telestra_summon_telestra_clones_AuraScript : public AuraScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
PrepareAuraScript(spell_boss_magus_telestra_summon_telestra_clones_AuraScript);
|
||||
return ValidateSpellInfo({ SPELL_FIRE_MAGUS_SUMMON, SPELL_FROST_MAGUS_SUMMON, SPELL_ARCANE_MAGUS_SUMMON });
|
||||
}
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
@@ -264,25 +264,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_boss_magus_telestra_summon_telestra_clones_AuraScript::HandleApply, EFFECT_1, SPELL_AURA_TRANSFORM, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_boss_magus_telestra_summon_telestra_clones_AuraScript::HandleRemove, EFFECT_1, SPELL_AURA_TRANSFORM, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_boss_magus_telestra_summon_telestra_clones_aura::HandleApply, EFFECT_1, SPELL_AURA_TRANSFORM, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_boss_magus_telestra_summon_telestra_clones_aura::HandleRemove, EFFECT_1, SPELL_AURA_TRANSFORM, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_boss_magus_telestra_gravity_well : public SpellScript
|
||||
{
|
||||
return new spell_boss_magus_telestra_summon_telestra_clones_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_boss_magus_telestra_gravity_well : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_boss_magus_telestra_gravity_well() : SpellScriptLoader("spell_boss_magus_telestra_gravity_well") { }
|
||||
|
||||
class spell_boss_magus_telestra_gravity_well_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_boss_magus_telestra_gravity_well_SpellScript);
|
||||
PrepareSpellScript(spell_boss_magus_telestra_gravity_well);
|
||||
|
||||
void SelectTarget(std::list<WorldObject*>& targets)
|
||||
{
|
||||
@@ -315,14 +304,8 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_boss_magus_telestra_gravity_well_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_boss_magus_telestra_gravity_well_SpellScript::HandlePull, EFFECT_0, SPELL_EFFECT_PULL_TOWARDS_DEST);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_boss_magus_telestra_gravity_well_SpellScript();
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_boss_magus_telestra_gravity_well::SelectTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_boss_magus_telestra_gravity_well::HandlePull, EFFECT_0, SPELL_EFFECT_PULL_TOWARDS_DEST);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -345,7 +328,7 @@ public:
|
||||
void AddSC_boss_magus_telestra()
|
||||
{
|
||||
new boss_magus_telestra();
|
||||
new spell_boss_magus_telestra_summon_telestra_clones();
|
||||
new spell_boss_magus_telestra_gravity_well();
|
||||
RegisterSpellScript(spell_boss_magus_telestra_summon_telestra_clones_aura);
|
||||
RegisterSpellScript(spell_boss_magus_telestra_gravity_well);
|
||||
new achievement_split_personality();
|
||||
}
|
||||
|
||||
@@ -532,14 +532,9 @@ public:
|
||||
};
|
||||
|
||||
// 49838 - Stop Time
|
||||
class spell_oculus_stop_time : public SpellScriptLoader
|
||||
class spell_oculus_stop_time_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_oculus_stop_time() : SpellScriptLoader("spell_oculus_stop_time") { }
|
||||
|
||||
class spell_oculus_stop_time_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_oculus_stop_time_AuraScript);
|
||||
PrepareAuraScript(spell_oculus_stop_time_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
@@ -559,25 +554,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_oculus_stop_time_AuraScript::Apply, EFFECT_0, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_oculus_stop_time_AuraScript();
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_oculus_stop_time_aura::Apply, EFFECT_0, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
// 50240 - Evasive Maneuvers
|
||||
class spell_oculus_evasive_maneuvers : public SpellScriptLoader
|
||||
class spell_oculus_evasive_maneuvers_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_oculus_evasive_maneuvers() : SpellScriptLoader("spell_oculus_evasive_maneuvers") { }
|
||||
|
||||
class spell_oculus_evasive_maneuvers_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_oculus_evasive_maneuvers_AuraScript);
|
||||
PrepareAuraScript(spell_oculus_evasive_maneuvers_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
@@ -594,25 +578,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectProc += AuraEffectProcFn(spell_oculus_evasive_maneuvers_AuraScript::HandleProc, EFFECT_2, SPELL_AURA_PROC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_oculus_evasive_maneuvers_AuraScript();
|
||||
OnEffectProc += AuraEffectProcFn(spell_oculus_evasive_maneuvers_aura::HandleProc, EFFECT_2, SPELL_AURA_PROC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
// 49840 - Shock Lance
|
||||
class spell_oculus_shock_lance : public SpellScriptLoader
|
||||
class spell_oculus_shock_lance : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_oculus_shock_lance() : SpellScriptLoader("spell_oculus_shock_lance") { }
|
||||
|
||||
class spell_oculus_shock_lance_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_oculus_shock_lance_SpellScript);
|
||||
PrepareSpellScript(spell_oculus_shock_lance);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
@@ -634,25 +607,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnHit += SpellHitFn(spell_oculus_shock_lance_SpellScript::CalcDamage);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_oculus_shock_lance_SpellScript();
|
||||
OnHit += SpellHitFn(spell_oculus_shock_lance::CalcDamage);
|
||||
}
|
||||
};
|
||||
|
||||
// 49592 - Temporal Rift
|
||||
class spell_oculus_temporal_rift : public SpellScriptLoader
|
||||
class spell_oculus_temporal_rift_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_oculus_temporal_rift() : SpellScriptLoader("spell_oculus_temporal_rift") { }
|
||||
|
||||
class spell_oculus_temporal_rift_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_oculus_temporal_rift_AuraScript);
|
||||
PrepareAuraScript(spell_oculus_temporal_rift_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
@@ -685,25 +647,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectProc += AuraEffectProcFn(spell_oculus_temporal_rift_AuraScript::HandleProc, EFFECT_2, SPELL_AURA_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_oculus_temporal_rift_AuraScript();
|
||||
OnEffectProc += AuraEffectProcFn(spell_oculus_temporal_rift_aura::HandleProc, EFFECT_2, SPELL_AURA_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
// 50341 - Touch the Nightmare
|
||||
class spell_oculus_touch_the_nightmare : public SpellScriptLoader
|
||||
class spell_oculus_touch_the_nightmare : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_oculus_touch_the_nightmare() : SpellScriptLoader("spell_oculus_touch_the_nightmare") { }
|
||||
|
||||
class spell_oculus_touch_the_nightmare_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_oculus_touch_the_nightmare_SpellScript);
|
||||
PrepareSpellScript(spell_oculus_touch_the_nightmare);
|
||||
|
||||
void HandleDamageCalc(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -712,25 +663,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_oculus_touch_the_nightmare_SpellScript::HandleDamageCalc, EFFECT_2, SPELL_EFFECT_SCHOOL_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_oculus_touch_the_nightmare_SpellScript();
|
||||
OnEffectHitTarget += SpellEffectFn(spell_oculus_touch_the_nightmare::HandleDamageCalc, EFFECT_2, SPELL_EFFECT_SCHOOL_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
// 50344 - Dream Funnel
|
||||
class spell_oculus_dream_funnel : public SpellScriptLoader
|
||||
class spell_oculus_dream_funnel_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_oculus_dream_funnel() : SpellScriptLoader("spell_oculus_dream_funnel") { }
|
||||
|
||||
class spell_oculus_dream_funnel_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_oculus_dream_funnel_AuraScript);
|
||||
PrepareAuraScript(spell_oculus_dream_funnel_aura);
|
||||
|
||||
void HandleEffectCalcAmount(AuraEffect const* /*aurEff*/, int32& amount, bool& canBeRecalculated)
|
||||
{
|
||||
@@ -742,25 +682,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_oculus_dream_funnel_AuraScript::HandleEffectCalcAmount, EFFECT_0, SPELL_AURA_PERIODIC_HEAL);
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_oculus_dream_funnel_AuraScript::HandleEffectCalcAmount, EFFECT_2, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_oculus_dream_funnel_aura::HandleEffectCalcAmount, EFFECT_0, SPELL_AURA_PERIODIC_HEAL);
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_oculus_dream_funnel_aura::HandleEffectCalcAmount, EFFECT_2, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_oculus_call_ruby_emerald_amber_drake : public SpellScript
|
||||
{
|
||||
return new spell_oculus_dream_funnel_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_oculus_call_ruby_emerald_amber_drake : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_oculus_call_ruby_emerald_amber_drake() : SpellScriptLoader("spell_oculus_call_ruby_emerald_amber_drake") { }
|
||||
|
||||
class spell_oculus_call_ruby_emerald_amber_drake_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_oculus_call_ruby_emerald_amber_drake_SpellScript);
|
||||
PrepareSpellScript(spell_oculus_call_ruby_emerald_amber_drake);
|
||||
|
||||
void SetDest(SpellDestination& dest)
|
||||
{
|
||||
@@ -771,24 +700,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_oculus_call_ruby_emerald_amber_drake_SpellScript::SetDest, EFFECT_0, TARGET_DEST_CASTER_FRONT);
|
||||
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_oculus_call_ruby_emerald_amber_drake::SetDest, EFFECT_0, TARGET_DEST_CASTER_FRONT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_oculus_ride_ruby_emerald_amber_drake_que_aura : public AuraScript
|
||||
{
|
||||
return new spell_oculus_call_ruby_emerald_amber_drake_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_oculus_ride_ruby_emerald_amber_drake_que : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_oculus_ride_ruby_emerald_amber_drake_que() : SpellScriptLoader("spell_oculus_ride_ruby_emerald_amber_drake_que") { }
|
||||
|
||||
class spell_oculus_ride_ruby_emerald_amber_drake_que_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_oculus_ride_ruby_emerald_amber_drake_que_AuraScript);
|
||||
PrepareAuraScript(spell_oculus_ride_ruby_emerald_amber_drake_que_aura);
|
||||
|
||||
void HandlePeriodic(AuraEffect const* aurEff)
|
||||
{
|
||||
@@ -800,24 +718,18 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_oculus_ride_ruby_emerald_amber_drake_que_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_oculus_ride_ruby_emerald_amber_drake_que_aura::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_oculus_evasive_charges_aura : public AuraScript
|
||||
{
|
||||
return new spell_oculus_ride_ruby_emerald_amber_drake_que_AuraScript();
|
||||
PrepareAuraScript(spell_oculus_evasive_charges_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_RUBY_EVASIVE_MANEUVERS });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_oculus_evasive_charges : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_oculus_evasive_charges() : SpellScriptLoader("spell_oculus_evasive_charges") { }
|
||||
|
||||
class spell_oculus_evasive_chargesAuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_oculus_evasive_chargesAuraScript);
|
||||
|
||||
void HandleOnEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
@@ -836,25 +748,19 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectApply += AuraEffectApplyFn(spell_oculus_evasive_chargesAuraScript::HandleOnEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
OnEffectRemove += AuraEffectRemoveFn(spell_oculus_evasive_chargesAuraScript::HandleOnEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
OnEffectApply += AuraEffectApplyFn(spell_oculus_evasive_charges_aura::HandleOnEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
OnEffectRemove += AuraEffectRemoveFn(spell_oculus_evasive_charges_aura::HandleOnEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_oculus_soar_aura : public AuraScript
|
||||
{
|
||||
return new spell_oculus_evasive_chargesAuraScript();
|
||||
PrepareAuraScript(spell_oculus_soar_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SOAR_BUFF });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_oculus_soar : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_oculus_soar() : SpellScriptLoader("spell_oculus_soar") { }
|
||||
|
||||
class spell_oculus_soarAuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_oculus_soarAuraScript);
|
||||
|
||||
void HandleEffectPeriodic(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
@@ -893,25 +799,19 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_oculus_soarAuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
OnEffectApply += AuraEffectApplyFn(spell_oculus_soarAuraScript::HandleOnEffectApply, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_oculus_soar_aura::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
OnEffectApply += AuraEffectApplyFn(spell_oculus_soar_aura::HandleOnEffectApply, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_oculus_rider_aura : public AuraScript
|
||||
{
|
||||
return new spell_oculus_soarAuraScript();
|
||||
PrepareAuraScript(spell_oculus_rider_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SOAR_TRIGGER, SPELL_RUBY_EVASIVE_AURA, SPELL_DRAKE_FLAG_VISUAL });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_oculus_rider_aura : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_oculus_rider_aura() : SpellScriptLoader("spell_oculus_rider_aura") { }
|
||||
|
||||
class spell_oculus_rider_auraAuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_oculus_rider_auraAuraScript);
|
||||
|
||||
ObjectGuid _drakeGUID;
|
||||
|
||||
@@ -966,26 +866,20 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectApply += AuraEffectApplyFn(spell_oculus_rider_auraAuraScript::HandleOnEffectApply, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
OnEffectApply += AuraEffectApplyFn(spell_oculus_rider_auraAuraScript::HandleOnEffectApply, EFFECT_2, SPELL_AURA_LINKED, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
OnEffectRemove += AuraEffectRemoveFn(spell_oculus_rider_auraAuraScript::HandleOnEffectRemove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
OnEffectApply += AuraEffectApplyFn(spell_oculus_rider_aura::HandleOnEffectApply, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
OnEffectApply += AuraEffectApplyFn(spell_oculus_rider_aura::HandleOnEffectApply, EFFECT_2, SPELL_AURA_LINKED, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
OnEffectRemove += AuraEffectRemoveFn(spell_oculus_rider_aura::HandleOnEffectRemove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_oculus_drake_flag_aura : public AuraScript
|
||||
{
|
||||
return new spell_oculus_rider_auraAuraScript();
|
||||
PrepareAuraScript(spell_oculus_drake_flag_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_DRAKE_FLAG_VISUAL });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_oculus_drake_flag : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_oculus_drake_flag() : SpellScriptLoader("spell_oculus_drake_flag") { }
|
||||
|
||||
class spell_oculus_drake_flagAuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_oculus_drake_flagAuraScript);
|
||||
|
||||
void HandleOnEffectApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
@@ -1005,13 +899,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectApply += AuraEffectApplyFn(spell_oculus_drake_flagAuraScript::HandleOnEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_oculus_drake_flagAuraScript();
|
||||
OnEffectApply += AuraEffectApplyFn(spell_oculus_drake_flag_aura::HandleOnEffectApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1021,17 +909,17 @@ void AddSC_oculus()
|
||||
new npc_oculus_drake();
|
||||
new npc_centrifuge_construct();
|
||||
|
||||
new spell_oculus_stop_time();
|
||||
new spell_oculus_evasive_maneuvers();
|
||||
new spell_oculus_shock_lance();
|
||||
new spell_oculus_temporal_rift();
|
||||
new spell_oculus_touch_the_nightmare();
|
||||
new spell_oculus_dream_funnel();
|
||||
new spell_oculus_call_ruby_emerald_amber_drake();
|
||||
new spell_oculus_ride_ruby_emerald_amber_drake_que();
|
||||
new spell_oculus_evasive_charges();
|
||||
new spell_oculus_soar();
|
||||
new spell_oculus_rider_aura();
|
||||
new spell_oculus_drake_flag();
|
||||
RegisterSpellScript(spell_oculus_stop_time_aura);
|
||||
RegisterSpellScript(spell_oculus_evasive_maneuvers_aura);
|
||||
RegisterSpellScript(spell_oculus_shock_lance);
|
||||
RegisterSpellScript(spell_oculus_temporal_rift_aura);
|
||||
RegisterSpellScript(spell_oculus_touch_the_nightmare);
|
||||
RegisterSpellScript(spell_oculus_dream_funnel_aura);
|
||||
RegisterSpellScript(spell_oculus_call_ruby_emerald_amber_drake);
|
||||
RegisterSpellScript(spell_oculus_ride_ruby_emerald_amber_drake_que_aura);
|
||||
RegisterSpellScript(spell_oculus_evasive_charges_aura);
|
||||
RegisterSpellScript(spell_oculus_soar_aura);
|
||||
RegisterSpellScript(spell_oculus_rider_aura);
|
||||
RegisterSpellScript(spell_oculus_drake_flag_aura);
|
||||
}
|
||||
|
||||
|
||||
@@ -343,14 +343,14 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class spell_frost_tomb : public SpellScriptLoader
|
||||
class spell_frost_tomb_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_frost_tomb() : SpellScriptLoader("spell_frost_tomb") { }
|
||||
PrepareAuraScript(spell_frost_tomb_aura);
|
||||
|
||||
class spell_frost_tombAuraScript : public AuraScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
PrepareAuraScript(spell_frost_tombAuraScript);
|
||||
return ValidateSpellInfo({ SPELL_FROST_TOMB_SUMMON });
|
||||
}
|
||||
|
||||
void HandleEffectPeriodic(AuraEffect const* aurEff)
|
||||
{
|
||||
@@ -362,13 +362,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_frost_tombAuraScript::HandleEffectPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_frost_tombAuraScript();
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_frost_tomb_aura::HandleEffectPeriodic, EFFECT_1, SPELL_AURA_PERIODIC_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -377,6 +371,6 @@ void AddSC_boss_keleseth()
|
||||
new boss_keleseth();
|
||||
new npc_frost_tomb();
|
||||
new npc_vrykul_skeleton();
|
||||
new spell_frost_tomb();
|
||||
RegisterSpellScript(spell_frost_tomb_aura);
|
||||
}
|
||||
|
||||
|
||||
@@ -208,14 +208,9 @@ enum TickingTimeBomb
|
||||
SPELL_TICKING_TIME_BOMB_EXPLODE = 59687
|
||||
};
|
||||
|
||||
class spell_ticking_time_bomb : public SpellScriptLoader
|
||||
class spell_ticking_time_bomb_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_ticking_time_bomb() : SpellScriptLoader("spell_ticking_time_bomb") { }
|
||||
|
||||
class spell_ticking_time_bomb_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_ticking_time_bomb_AuraScript);
|
||||
PrepareAuraScript(spell_ticking_time_bomb_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
@@ -232,13 +227,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectRemove += AuraEffectRemoveFn(spell_ticking_time_bomb_AuraScript::HandleOnEffectRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_ticking_time_bomb_AuraScript();
|
||||
OnEffectRemove += AuraEffectRemoveFn(spell_ticking_time_bomb_aura::HandleOnEffectRemove, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -247,6 +236,6 @@ void AddSC_utgarde_keep()
|
||||
new npc_dragonflayer_forge_master();
|
||||
new npc_enslaved_proto_drake();
|
||||
|
||||
new spell_ticking_time_bomb();
|
||||
RegisterSpellScript(spell_ticking_time_bomb_aura);
|
||||
}
|
||||
|
||||
|
||||
@@ -396,14 +396,9 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class spell_svala_ritual_strike : public SpellScriptLoader
|
||||
class spell_svala_ritual_strike : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_svala_ritual_strike() : SpellScriptLoader("spell_svala_ritual_strike") { }
|
||||
|
||||
class spell_svala_ritual_strike_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_svala_ritual_strike_SpellScript);
|
||||
PrepareSpellScript(spell_svala_ritual_strike);
|
||||
|
||||
void HandleDummyEffect(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -418,18 +413,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_svala_ritual_strike_SpellScript::HandleDummyEffect, EFFECT_2, SPELL_EFFECT_DUMMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_svala_ritual_strike::HandleDummyEffect, EFFECT_2, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_svala_ritual_strike_aura : public AuraScript
|
||||
{
|
||||
return new spell_svala_ritual_strike_SpellScript();
|
||||
}
|
||||
|
||||
class spell_svala_ritual_strike_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_svala_ritual_strike_AuraScript);
|
||||
PrepareAuraScript(spell_svala_ritual_strike_aura);
|
||||
|
||||
void CalculateAmount(AuraEffect const* /*aurEff*/, int32& amount, bool& /*canBeRecalculated*/)
|
||||
{
|
||||
@@ -439,13 +429,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_svala_ritual_strike_AuraScript::CalculateAmount, EFFECT_1, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_svala_ritual_strike_AuraScript();
|
||||
DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_svala_ritual_strike_aura::CalculateAmount, EFFECT_1, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -453,6 +437,6 @@ void AddSC_boss_svala()
|
||||
{
|
||||
new boss_svala();
|
||||
new npc_ritual_channeler();
|
||||
new spell_svala_ritual_strike();
|
||||
RegisterSpellAndAuraScriptPair(spell_svala_ritual_strike, spell_svala_ritual_strike_aura);
|
||||
}
|
||||
|
||||
|
||||
@@ -132,14 +132,9 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class spell_optic_link : public SpellScriptLoader
|
||||
class spell_optic_link_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_optic_link() : SpellScriptLoader("spell_optic_link") { }
|
||||
|
||||
class spell_optic_linkAuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_optic_linkAuraScript)
|
||||
PrepareAuraScript(spell_optic_link_aura);
|
||||
|
||||
void HandleEffectPeriodic(AuraEffect const* aurEff)
|
||||
{
|
||||
@@ -151,19 +146,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_optic_linkAuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_optic_linkAuraScript();
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_optic_link_aura::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_moragg()
|
||||
{
|
||||
new boss_moragg();
|
||||
new spell_optic_link();
|
||||
RegisterSpellScript(spell_optic_link_aura);
|
||||
}
|
||||
|
||||
|
||||
@@ -1157,14 +1157,9 @@ public:
|
||||
** DESTROY DOOR SEAL SPELL SCRIPT
|
||||
***********/
|
||||
|
||||
class spell_destroy_door_seal : public SpellScriptLoader
|
||||
class spell_destroy_door_seal_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_destroy_door_seal() : SpellScriptLoader("spell_destroy_door_seal") { }
|
||||
|
||||
class spell_destroy_door_sealAuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_destroy_door_sealAuraScript)
|
||||
PrepareAuraScript(spell_destroy_door_seal_aura);
|
||||
|
||||
void HandleEffectPeriodic(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
@@ -1176,13 +1171,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_destroy_door_sealAuraScript::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_destroy_door_sealAuraScript();
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_destroy_door_seal_aura::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1232,6 +1221,6 @@ void AddSC_violet_hold()
|
||||
new npc_azure_raider();
|
||||
new npc_azure_stalker();
|
||||
|
||||
new spell_destroy_door_seal();
|
||||
RegisterSpellScript(spell_destroy_door_seal_aura);
|
||||
RegisterCreatureAI(npc_violet_hold_defense_system);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user