aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/scripts/world_scripts_full.sql1
-rw-r--r--sql/updates/2011_01_31_1_world_spell_script_names.sql3
-rwxr-xr-xsrc/server/game/Spells/Auras/SpellAuraEffects.cpp1
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp31
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();
}