mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 01:37:00 +00:00
Implement 195 SPELL_AURA_MOD_IGNORE_ABSORB_FOR_SPELL aura (remove unused variable)
Signed-off-by: DiSlord <dislord@nomail.com>
This commit is contained in:
parent
3adbf3e00f
commit
01b677ff82
2 changed files with 17 additions and 4 deletions
|
|
@ -237,7 +237,7 @@ enum AuraType
|
||||||
SPELL_AURA_HASTE_MELEE = 192,
|
SPELL_AURA_HASTE_MELEE = 192,
|
||||||
SPELL_AURA_MELEE_SLOW = 193,
|
SPELL_AURA_MELEE_SLOW = 193,
|
||||||
SPELL_AURA_MOD_IGNORE_ABSORB_SCHOOL = 194,
|
SPELL_AURA_MOD_IGNORE_ABSORB_SCHOOL = 194,
|
||||||
SPELL_AURA_MOD_DEPRICATED_2 = 195, // not used now, old SPELL_AURA_MOD_SPELL_HEALING_OF_INTELLECT
|
SPELL_AURA_MOD_IGNORE_ABSORB_FOR_SPELL = 195,
|
||||||
SPELL_AURA_MOD_COOLDOWN = 196, // only 24818 Noxious Breath
|
SPELL_AURA_MOD_COOLDOWN = 196, // only 24818 Noxious Breath
|
||||||
SPELL_AURA_MOD_ATTACKER_SPELL_AND_WEAPON_CRIT_CHANCE = 197,
|
SPELL_AURA_MOD_ATTACKER_SPELL_AND_WEAPON_CRIT_CHANCE = 197,
|
||||||
SPELL_AURA_MOD_ALL_WEAPON_SKILLS = 198,
|
SPELL_AURA_MOD_ALL_WEAPON_SKILLS = 198,
|
||||||
|
|
|
||||||
|
|
@ -1090,8 +1090,21 @@ void Unit::CalculateSpellDamage(SpellNonMeleeDamage *damageInfo, int32 damage, S
|
||||||
// Calculate absorb resist
|
// Calculate absorb resist
|
||||||
if(damage > 0)
|
if(damage > 0)
|
||||||
{
|
{
|
||||||
CalcAbsorbResist(pVictim, damageSchoolMask, SPELL_DIRECT_DAMAGE, damage, &damageInfo->absorb, &damageInfo->resist);
|
// lookup absorb/resist ignore auras on caster for spell
|
||||||
damage-= damageInfo->absorb + damageInfo->resist;
|
bool ignore = false;
|
||||||
|
Unit::AuraList const& ignoreAbsorb = GetAurasByType(SPELL_AURA_MOD_IGNORE_ABSORB_FOR_SPELL);
|
||||||
|
for(Unit::AuraList::const_iterator i = ignoreAbsorb.begin(); i != ignoreAbsorb.end(); ++i)
|
||||||
|
if ((*i)->isAffectedOnSpell(spellInfo))
|
||||||
|
{
|
||||||
|
ignore = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ignore)
|
||||||
|
{
|
||||||
|
CalcAbsorbResist(pVictim, damageSchoolMask, SPELL_DIRECT_DAMAGE, damage, &damageInfo->absorb, &damageInfo->resist);
|
||||||
|
damage-= damageInfo->absorb + damageInfo->resist;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
damage = 0;
|
damage = 0;
|
||||||
|
|
@ -1820,7 +1833,7 @@ void Unit::CalcAbsorbResist(Unit *pVictim,SpellSchoolMask schoolMask, DamageEffe
|
||||||
// Remove all expired absorb auras
|
// Remove all expired absorb auras
|
||||||
if (existExpired)
|
if (existExpired)
|
||||||
{
|
{
|
||||||
for(AuraList::const_iterator i = vSchoolAbsorb.begin(), next; i != vSchoolAbsorb.end();)
|
for(AuraList::const_iterator i = vSchoolAbsorb.begin(); i != vSchoolAbsorb.end();)
|
||||||
{
|
{
|
||||||
if ((*i)->GetModifier()->m_amount<=0)
|
if ((*i)->GetModifier()->m_amount<=0)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue