diff options
author | Anubisss <none@none> | 2009-05-15 17:58:06 +0200 |
---|---|---|
committer | Anubisss <none@none> | 2009-05-15 17:58:06 +0200 |
commit | ad92f5e210b7a2c0584cdabd30560fe723d160be (patch) | |
tree | c9d68b6784548d59fadbcb508cee32df905ec7db | |
parent | e6cd40a6191ba42bee1941359db48188809a0325 (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.sql | 4 | ||||
-rw-r--r-- | sql/world_spell_full.sql | 3 | ||||
-rw-r--r-- | src/game/Unit.cpp | 19 |
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; } |