Fix Divine Shield not absorbing lava or slime damage. thanks NostraliaWow
This commit is contained in:
parent
6c823bf0d5
commit
dbd720030a
@ -904,9 +904,19 @@ uint32 Player::EnvironmentalDamage(EnvironmentalDamageType type, uint32 damage)
|
|||||||
uint32 absorb = 0;
|
uint32 absorb = 0;
|
||||||
uint32 resist = 0;
|
uint32 resist = 0;
|
||||||
if (type == DAMAGE_LAVA)
|
if (type == DAMAGE_LAVA)
|
||||||
{ CalculateDamageAbsorbAndResist(this, SPELL_SCHOOL_MASK_FIRE, DIRECT_DAMAGE, damage, &absorb, &resist); }
|
{
|
||||||
|
if (this->IsImmuneToDamage(SPELL_SCHOOL_MASK_FIRE))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
CalculateDamageAbsorbAndResist(this, SPELL_SCHOOL_MASK_FIRE, DIRECT_DAMAGE, damage, &absorb, &resist);
|
||||||
|
}
|
||||||
else if (type == DAMAGE_SLIME)
|
else if (type == DAMAGE_SLIME)
|
||||||
{ CalculateDamageAbsorbAndResist(this, SPELL_SCHOOL_MASK_NATURE, DIRECT_DAMAGE, damage, &absorb, &resist); }
|
{
|
||||||
|
if (this->IsImmuneToDamage(SPELL_SCHOOL_MASK_NATURE))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
CalculateDamageAbsorbAndResist(this, SPELL_SCHOOL_MASK_NATURE, DIRECT_DAMAGE, damage, &absorb, &resist);
|
||||||
|
}
|
||||||
|
|
||||||
damage -= absorb + resist;
|
damage -= absorb + resist;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user