From 6851fae8e2d81ec7d9b1626f99f1b9185644ff76 Mon Sep 17 00:00:00 2001 From: Anubisss Date: Fri, 14 May 2010 21:42:55 +0200 Subject: Fix Glyph of Preparation. Patch based on microbius51's patch. Closes issue #1371. --HG-- branch : trunk --- src/game/SpellEffects.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'src/game/SpellEffects.cpp') diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index bfc858809e5..73bbc257df2 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -1773,8 +1773,28 @@ void Spell::EffectDummy(uint32 i) { SpellEntry const *spellInfo = sSpellStore.LookupEntry(itr->first); - if (spellInfo->SpellFamilyName == SPELLFAMILY_ROGUE && (spellInfo->SpellFamilyFlags[1] & SPELLFAMILYFLAG1_ROGUE_COLDB_SHADOWSTEP || spellInfo->SpellFamilyFlags[0] & SPELLFAMILYFLAG_ROGUE_VAN_EVAS_SPRINT)) - m_caster->ToPlayer()->RemoveSpellCooldown((itr++)->first,true); + if (spellInfo->SpellFamilyName == SPELLFAMILY_ROGUE) + { + if (spellInfo->SpellFamilyFlags[1] & SPELLFAMILYFLAG1_ROGUE_COLDB_SHADOWSTEP || // Cold Blood, Shadowstep + spellInfo->SpellFamilyFlags[0] & SPELLFAMILYFLAG_ROGUE_VAN_EVAS_SPRINT // Vanish, Evasion, Sprint + ) + m_caster->ToPlayer()->RemoveSpellCooldown((itr++)->first, true); + else if (m_caster->HasAura(56819)) // Glyph of Preparation + { + if (spellInfo->SpellFamilyFlags[1] & SPELLFAMILYFLAG1_ROGUE_DISMANTLE || // Dismantle + spellInfo->SpellFamilyFlags[0] & SPELLFAMILYFLAG_ROGUE_KICK || // Kick + ( + spellInfo->SpellFamilyFlags[0] & SPELLFAMILYFLAG_ROGUE_BLADE_FLURRY && // Blade Flurry + spellInfo->SpellFamilyFlags[1] & SPELLFAMILYFLAG1_ROGUE_BLADE_FLURRY + ) + ) + m_caster->ToPlayer()->RemoveSpellCooldown((itr++)->first, true); + else + ++itr; + } + else + ++itr; + } else ++itr; } -- cgit v1.2.3