Core/Auras: Do not use spellmod system to drop auras with spell proc event entry.

This commit is contained in:
QAston
2011-06-07 19:09:20 +02:00
parent b9e8e6d3b4
commit 6c5f68e8fc
+4 -4
View File
@@ -19677,17 +19677,17 @@ void Player::RemoveSpellMods(Spell * spell)
void Player::DropModCharge(SpellModifier * mod, Spell * spell) void Player::DropModCharge(SpellModifier * mod, Spell * spell)
{ {
// this mod shouldn't be removed here // don't handle spells with proc_event entry defined
if (mod->op == SPELLMOD_CRIT_DAMAGE_BONUS) // this is a temporary workaround, because all spellmods should be handled like that
if (sSpellMgr->GetSpellProcEvent(mod->spellId))
return; return;
if (spell && mod->ownerAura && mod->charges > 0) if (spell && mod->ownerAura && mod->charges > 0)
{ {
--mod->charges; --mod->charges;
if (mod->charges == 0) if (mod->charges == 0)
{
mod->charges = -1; mod->charges = -1;
}
spell->m_appliedMods.insert(mod->ownerAura); spell->m_appliedMods.insert(mod->ownerAura);
} }
} }