diff options
-rw-r--r-- | src/game/SpellEffects.cpp | 24 | ||||
-rw-r--r-- | src/game/SpellMgr.h | 4 |
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 |