Core/Auras: Update visible aura immediately during spell cast instead of waiting for next update tick
Port From (https://github.com/TrinityCore/TrinityCore/commit/62dc916184d5d32b26a2d331d84d3cae481040fb)
This commit is contained in:
@@ -4487,5 +4487,6 @@ namespace Game.Entities
|
|||||||
public SortedSet<AuraApplication> GetVisibleAuras() { return m_visibleAuras; }
|
public SortedSet<AuraApplication> GetVisibleAuras() { return m_visibleAuras; }
|
||||||
public bool HasVisibleAura(AuraApplication aurApp) { return m_visibleAuras.Contains(aurApp); }
|
public bool HasVisibleAura(AuraApplication aurApp) { return m_visibleAuras.Contains(aurApp); }
|
||||||
public void SetVisibleAuraUpdate(AuraApplication aurApp) { m_visibleAurasToUpdate.Add(aurApp); }
|
public void SetVisibleAuraUpdate(AuraApplication aurApp) { m_visibleAurasToUpdate.Add(aurApp); }
|
||||||
|
public void RemoveVisibleAuraUpdate(AuraApplication aurApp) { m_visibleAurasToUpdate.Remove(aurApp); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8852,6 +8852,12 @@ namespace Game.Spells
|
|||||||
|
|
||||||
if (effMask != 0)
|
if (effMask != 0)
|
||||||
_spellHitTarget._ApplyAura(aurApp, effMask);
|
_spellHitTarget._ApplyAura(aurApp, effMask);
|
||||||
|
|
||||||
|
if (aurApp.IsNeedClientUpdate() && aurApp.GetRemoveMode() == AuraRemoveMode.None)
|
||||||
|
{
|
||||||
|
aurApp.ClientUpdate(false);
|
||||||
|
_spellHitTarget.RemoveVisibleAuraUpdate(aurApp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user