Core/Auras: Do not use spellmod system to drop auras with spell proc event entry.
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user