aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2013_07_20_06_world_spell_script_misc_434.sql7
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp7
-rw-r--r--src/server/scripts/Spells/spell_mage.cpp31
3 files changed, 38 insertions, 7 deletions
diff --git a/sql/updates/world/2013_07_20_06_world_spell_script_misc_434.sql b/sql/updates/world/2013_07_20_06_world_spell_script_misc_434.sql
new file mode 100644
index 00000000000..0dd62f80fa1
--- /dev/null
+++ b/sql/updates/world/2013_07_20_06_world_spell_script_misc_434.sql
@@ -0,0 +1,7 @@
+DELETE FROM `spell_script_names` WHERE `spell_id`=56374;
+INSERT INTO `spell_script_names`(`spell_id`, `ScriptName`) VALUES
+(56374,'spell_mage_glyph_of_icy_veins');
+
+DELETE FROM `spell_proc_event` WHERE `entry`=56374;
+INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`) VALUES
+(56374, 0, 3, 0, 16384, 0, 16384, 0, 0, 100, 0);
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 1103bb9c10f..2d0852510a3 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -5432,13 +5432,6 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
}
switch (dummySpell->Id)
{
- // Glyph of Icy Veins
- case 56374:
- {
- RemoveAurasByType(SPELL_AURA_HASTE_SPELLS, 0, 0, true, false);
- RemoveAurasByType(SPELL_AURA_MOD_DECREASE_SPEED);
- return true;
- }
// Permafrost
case 11175:
case 12569:
diff --git a/src/server/scripts/Spells/spell_mage.cpp b/src/server/scripts/Spells/spell_mage.cpp
index 28283c8ba1e..ec1e5861599 100644
--- a/src/server/scripts/Spells/spell_mage.cpp
+++ b/src/server/scripts/Spells/spell_mage.cpp
@@ -694,6 +694,36 @@ class spell_mage_glyph_of_ice_block : public SpellScriptLoader
}
};
+// 56374 - Glyph of Icy Veins
+class spell_mage_glyph_of_icy_veins : public SpellScriptLoader
+{
+public:
+ spell_mage_glyph_of_icy_veins() : SpellScriptLoader("spell_mage_glyph_of_icy_veins") { }
+
+ class spell_mage_glyph_of_icy_veins_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_mage_glyph_of_icy_veins_AuraScript);
+
+ void HandleEffectProc(AuraEffect const* /*aurEff*/, ProcEventInfo& /*eventInfo*/)
+ {
+ PreventDefaultAction();
+
+ GetTarget()->RemoveAurasByType(SPELL_AURA_HASTE_SPELLS, 0, 0, true, false);
+ GetTarget()->RemoveAurasByType(SPELL_AURA_MOD_DECREASE_SPEED);
+ }
+
+ void Register() OVERRIDE
+ {
+ OnEffectProc += AuraEffectProcFn(spell_mage_glyph_of_icy_veins_AuraScript::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
+ }
+ };
+
+ AuraScript* GetAuraScript() const OVERRIDE
+ {
+ return new spell_mage_glyph_of_icy_veins_AuraScript();
+ }
+};
+
// 56375 - Glyph of Polymorph
class spell_mage_glyph_of_polymorph : public SpellScriptLoader
{
@@ -1377,6 +1407,7 @@ void AddSC_mage_spell_scripts()
new spell_mage_ice_barrier();
new spell_mage_ignite();
new spell_mage_glyph_of_ice_block();
+ new spell_mage_glyph_of_icy_veins();
new spell_mage_glyph_of_polymorph();
new spell_mage_living_bomb();
new spell_mage_mage_ward();