Core/Auras: Implemented using all aura interrupt flag fields

This commit is contained in:
hondacrx
2017-12-18 10:14:17 -05:00
parent ff15083cfe
commit 1e5249b6b0
12 changed files with 126 additions and 41 deletions
+7 -3
View File
@@ -1875,10 +1875,10 @@ namespace Game.Entities
AuraApplication aurApp = new AuraApplication(this, caster, aura, effMask);
m_appliedAuras.Add(aurId, aurApp);
if (aurSpellInfo.AuraInterruptFlags != 0)
if (aurSpellInfo.HasAnyAuraInterruptFlag())
{
m_interruptableAuras.Add(aurApp);
AddInterruptMask((uint)aurSpellInfo.AuraInterruptFlags);
AddInterruptMask(aurSpellInfo.AuraInterruptFlags);
}
AuraStateType aState = aura.GetSpellInfo().GetAuraState();
@@ -1888,7 +1888,11 @@ namespace Game.Entities
aura._ApplyForTarget(this, caster, aurApp);
return aurApp;
}
public void AddInterruptMask(uint mask) { m_interruptMask |= mask; }
public void AddInterruptMask(uint[] mask)
{
for (int i = 0; i < m_interruptMask.Length; ++i)
m_interruptMask[i] |= mask[i];
}
void _UpdateAutoRepeatSpell()
{