aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnubisss <none@none>2010-05-14 21:42:55 +0200
committerAnubisss <none@none>2010-05-14 21:42:55 +0200
commit6851fae8e2d81ec7d9b1626f99f1b9185644ff76 (patch)
tree4f5a0f855bb412245ff2bb5e6684847468fc6b70
parent5c596f32d49d635246246012575aaf02eea50cf3 (diff)
Fix Glyph of Preparation.
Patch based on microbius51's patch. Closes issue #1371. --HG-- branch : trunk
-rw-r--r--src/game/SpellEffects.cpp24
-rw-r--r--src/game/SpellMgr.h4
2 files changed, 26 insertions, 2 deletions
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;
}
diff --git a/src/game/SpellMgr.h b/src/game/SpellMgr.h
index e70385872af..b6211dc2259 100644
--- a/src/game/SpellMgr.h
+++ b/src/game/SpellMgr.h
@@ -100,6 +100,10 @@ enum SpellFamilyFlag
SPELLFAMILYFLAG1_ROGUE_HUNGERFORBLOOD = 0x01000000,
SPELLFAMILYFLAG_ROGUE_VAN_EVAS_SPRINT = 0x00000860, // Vanish, Evasion, Sprint
SPELLFAMILYFLAG1_ROGUE_COLDB_SHADOWSTEP = 0x00000240, // Cold Blood, Shadowstep
+ SPELLFAMILYFLAG_ROGUE_KICK = 0x00000010, // Kick
+ SPELLFAMILYFLAG1_ROGUE_DISMANTLE = 0x00100000, // Dismantle
+ SPELLFAMILYFLAG_ROGUE_BLADE_FLURRY = 0x40000000, // Blade Flurry
+ SPELLFAMILYFLAG1_ROGUE_BLADE_FLURRY = 0x00000800, // Blade Flurry
//SPELLFAMILYFLAG_ROGUE__FINISHING_MOVE = 0x9003E0000LL,
// Warrior