mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-23 02:25:38 +01:00
Merge pull request #16483 from Treeston/3.3.5-debuffimmunity
[3.3.5] Make Web Wrap / Mutating Injection (and others) properly cancel on immunity (Divine Shield/Ice Block)
This commit is contained in:
@@ -3384,7 +3384,7 @@ void AuraEffect::HandleAuraModSchoolImmunity(AuraApplication const* aurApp, uint
|
||||
&& !iter->second->IsPositive() //Don't remove positive spells
|
||||
&& spell->Id != GetId()) //Don't remove self
|
||||
{
|
||||
target->RemoveAura(iter);
|
||||
target->RemoveAura(iter, AURA_REMOVE_BY_ENEMY_SPELL);
|
||||
}
|
||||
else
|
||||
++iter;
|
||||
|
||||
@@ -1221,14 +1221,18 @@ bool SpellInfo::CanDispelAura(SpellInfo const* aura) const
|
||||
if (HasAttribute(SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY) && !aura->IsDeathPersistent())
|
||||
return true;
|
||||
|
||||
// These auras (like Divine Shield) can't be dispelled
|
||||
if (aura->HasAttribute(SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY))
|
||||
return false;
|
||||
|
||||
// These auras (Cyclone for example) are not dispelable
|
||||
if (aura->HasAttribute(SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE))
|
||||
return false;
|
||||
|
||||
// Divine Shield etc can dispel auras if they don't ignore school immunity
|
||||
if (HasAttribute(SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY) && !aura->IsDeathPersistent())
|
||||
return true;
|
||||
|
||||
// These auras (like Divine Shield) can't be dispelled
|
||||
if (aura->HasAttribute(SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user