Core/Spells: Implemented new proc hit type PROC_HIT_DISPEL
This commit is contained in:
@@ -2131,6 +2131,8 @@ void Spell::EffectDispel()
|
||||
m_caster->SendMessageToSet(spellDispellLog.Write(), true);
|
||||
|
||||
CallScriptSuccessfulDispel(SpellEffIndex(effectInfo->EffectIndex));
|
||||
|
||||
m_hitMask |= PROC_HIT_DISPEL;
|
||||
}
|
||||
|
||||
void Spell::EffectDualWield()
|
||||
@@ -4105,8 +4107,13 @@ void Spell::EffectDispelMechanic()
|
||||
dispel_list.emplace_back(aura->GetId(), aura->GetCasterGUID());
|
||||
}
|
||||
|
||||
if (dispel_list.empty())
|
||||
return;
|
||||
|
||||
for (auto itr = dispel_list.begin(); itr != dispel_list.end(); ++itr)
|
||||
unitTarget->RemoveAura(itr->first, itr->second, 0, AURA_REMOVE_BY_ENEMY_SPELL);
|
||||
|
||||
m_hitMask |= PROC_HIT_DISPEL;
|
||||
}
|
||||
|
||||
void Spell::EffectResurrectPet()
|
||||
@@ -4645,6 +4652,8 @@ void Spell::EffectStealBeneficialBuff()
|
||||
}
|
||||
|
||||
m_caster->SendMessageToSet(spellDispellLog.Write(), true);
|
||||
|
||||
m_hitMask |= PROC_HIT_DISPEL;
|
||||
}
|
||||
|
||||
void Spell::EffectKillCreditPersonal()
|
||||
|
||||
@@ -283,7 +283,8 @@ enum ProcFlagsHit : uint32
|
||||
PROC_HIT_REFLECT = 0x0000800,
|
||||
PROC_HIT_INTERRUPT = 0x0001000,
|
||||
PROC_HIT_FULL_BLOCK = 0x0002000,
|
||||
PROC_HIT_MASK_ALL = 0x0003FFF
|
||||
PROC_HIT_DISPEL = 0x0004000,
|
||||
PROC_HIT_MASK_ALL = 0x0007FFF
|
||||
};
|
||||
|
||||
DEFINE_ENUM_FLAG(ProcFlagsHit);
|
||||
|
||||
Reference in New Issue
Block a user