aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnubisss <none@none>2009-05-15 17:58:06 +0200
committerAnubisss <none@none>2009-05-15 17:58:06 +0200
commitad92f5e210b7a2c0584cdabd30560fe723d160be (patch)
treec9d68b6784548d59fadbcb508cee32df905ec7db
parente6cd40a6191ba42bee1941359db48188809a0325 (diff)
*Fix Glyph of Ice Block.
*Thanks QAston for the help in the SpellFamilyMask. --HG-- branch : trunk
-rw-r--r--sql/updates/3323_world_spell_proc_event.sql4
-rw-r--r--sql/world_spell_full.sql3
-rw-r--r--src/game/Unit.cpp19
3 files changed, 25 insertions, 1 deletions
diff --git a/sql/updates/3323_world_spell_proc_event.sql b/sql/updates/3323_world_spell_proc_event.sql
new file mode 100644
index 00000000000..e1ed1649994
--- /dev/null
+++ b/sql/updates/3323_world_spell_proc_event.sql
@@ -0,0 +1,4 @@
+-- Glyph of Ice Block --
+DELETE FROM `spell_proc_event` WHERE `entry` = 56372;
+INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `SpellFamilyMask0`, `SpellFamilyMask1`, `SpellFamilyMask2`, `procFlags`, `procEx`, `ppmRate`, `CustomChance`, `Cooldown`) VALUES
+(56372, 0x00, 3, 0x00000000, 0x00000080, 0x00000000, 0x00004000, 0x00000000, 0.000000, 0.000000, 0);
diff --git a/sql/world_spell_full.sql b/sql/world_spell_full.sql
index af93f1f4cd2..12a3f5d2745 100644
--- a/sql/world_spell_full.sql
+++ b/sql/world_spell_full.sql
@@ -1491,5 +1491,6 @@ INSERT INTO `spell_proc_event` (`entry`, `SchoolMask`, `SpellFamilyName`, `Spell
(974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3),
(9782, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0),
(9784, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0),
-(9799, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0);
+(9799, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0),
+(56372, 0, 3, 0, 128, 0, 16384, 0, 0, 0, 0);
-- (42370, 0x00, 11, 0x00000080, 0x00000000, 0x00000000, 0.000000, 0.000000, 0); \ No newline at end of file
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index e176405d043..5c7bf244571 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -5331,6 +5331,25 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger
CastSpell(this, 28682, true, castItem, triggeredByAura);
return (procEx & PROC_EX_CRITICAL_HIT);// charge update only at crit hits, no hidden cooldowns
}
+ // Glyph of Ice Block
+ case 56372:
+ {
+ if(GetTypeId() != TYPEID_PLAYER)
+ return false;
+
+ SpellCooldowns SpellCDs = ((Player*)this)->GetSpellCooldowns();
+ // remove cooldowns on all ranks of Frost Nova
+ for(SpellCooldowns::const_iterator itr = SpellCDs.begin(); itr != SpellCDs.end(); itr++)
+ {
+ SpellEntry const* SpellCDs_entry = sSpellStore.LookupEntry(itr->first);
+ // Frost Nova
+ if(SpellCDs_entry && SpellCDs_entry->SpellFamilyName == SPELLFAMILY_MAGE && SpellCDs_entry->SpellFamilyFlags[0] & 0x00000040)
+ {
+ ((Player*)this)->RemoveSpellCooldown(SpellCDs_entry->Id, true);
+ }
+ }
+ break;
+ }
}
break;
}