diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 799701736..3ff49c4c8 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -10002,6 +10002,16 @@ void Player::RemoveSpellMods(Spell* spell) continue; } } + // ROGUE MUTILATE WITH COLD BLOOD + if (spellInfo->Id == 5374) + { + SpellInfo const* sp = mod->ownerAura->GetSpellInfo(); + if (sp->Id == 14177) // Cold Blood + { + mod->charges = 1; + continue; + } + } if (mod->ownerAura->DropCharge(AURA_REMOVE_BY_EXPIRE)) itr = m_spellMods[i].begin(); diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index eadb46eb3..6985ed536 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4544,6 +4544,11 @@ void Spell::finish(bool ok) // Xinef: Reset cooldown event in case of fail cast if (m_spellInfo->IsCooldownStartedOnEvent()) m_caster->ToPlayer()->SendCooldownEvent(m_spellInfo, 0, 0, false); + + // Rogue fix: Remove Cold Blood if Mutilate off-hand failed + if (m_spellInfo->Id == 27576) // Mutilate, off-hand + if (m_caster->HasAura(14177)) + m_caster->RemoveAura(14177); } return; }