diff options
4 files changed, 35 insertions, 1 deletions
diff --git a/sql/scripts/world_scripts_full.sql b/sql/scripts/world_scripts_full.sql index eec503383e0..b379d50194e 100644 --- a/sql/scripts/world_scripts_full.sql +++ b/sql/scripts/world_scripts_full.sql @@ -1846,6 +1846,7 @@ INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES ( 70850, 'spell_krick_pursuit_confusion'), ( 69275, 'spell_tyrannus_mark_of_rimefang'), ( 69172, 'spell_tyrannus_overlord_brand'), +( 70292, 'spell_trash_mob_glacial_strike'), -- Icecrown Citadel ( 69057, 'spell_marrowgar_bone_spike_graveyard'), ( 70826, 'spell_marrowgar_bone_spike_graveyard'), diff --git a/sql/updates/2011_01_31_1_world_spell_script_names.sql b/sql/updates/2011_01_31_1_world_spell_script_names.sql new file mode 100644 index 00000000000..17385cb7383 --- /dev/null +++ b/sql/updates/2011_01_31_1_world_spell_script_names.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `spell_id`=70292 AND `ScriptName`='spell_trash_mob_glacial_strike'; +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES +(70292,'spell_trash_mob_glacial_strike'); diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 276d6eedbe5..ef609c41b0e 100755 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -1286,7 +1286,6 @@ void AuraEffect::PeriodicTick(AuraApplication * aurApp, Unit * caster) const { case 43093: case 31956: case 38801: // Grievous Wound case 35321: case 38363: case 39215: // Gushing Wound - case 70292: // Glacial Strike if (target->IsFullHealth()) { target->RemoveAurasDueToSpell(GetId()); diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp index c5abad82c4b..3b1da155938 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp @@ -275,10 +275,41 @@ class mob_geist_ambusher : public CreatureScript } }; +class spell_trash_mob_glacial_strike : public SpellScriptLoader +{ + public: + spell_trash_mob_glacial_strike() : SpellScriptLoader("spell_trash_mob_glacial_strike") { } + + class spell_trash_mob_glacial_strike_AuraScript : public AuraScript + { + PrepareAuraScript(spell_trash_mob_glacial_strike_AuraScript); + + void PeriodicTick(AuraEffect const* aurEff) + { + if (GetTarget()->IsFullHealth()) + { + GetTarget()->RemoveAura(GetId(), AURA_REMOVE_BY_ENEMY_SPELL); + PreventDefaultAction(); + } + } + + void Register() + { + OnEffectPeriodic += AuraEffectPeriodicFn(spell_trash_mob_glacial_strike_AuraScript::PeriodicTick, EFFECT_2, SPELL_AURA_PERIODIC_DAMAGE_PERCENT); + } + }; + + AuraScript* GetAuraScript() const + { + return new spell_trash_mob_glacial_strike_AuraScript(); + } +}; + void AddSC_pit_of_saron() { new mob_ymirjar_flamebearer(); new mob_wrathbone_laborer(); new mob_iceborn_protodrake(); new mob_geist_ambusher(); + new spell_trash_mob_glacial_strike(); } |