mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Auras: Update visible aura immediately during spell cast instead of waiting for next update tick
This commit is contained in:
@@ -1547,10 +1547,11 @@ class TC_GAME_API Unit : public WorldObject
|
||||
uint32 m_lastSanctuaryTime;
|
||||
|
||||
VisibleAuraContainer const& GetVisibleAuras() const { return m_visibleAuras; }
|
||||
bool HasVisibleAura(AuraApplication* aurApp) const { return m_visibleAuras.count(aurApp) > 0; }
|
||||
bool HasVisibleAura(AuraApplication* aurApp) const { return m_visibleAuras.contains(aurApp); }
|
||||
void SetVisibleAura(AuraApplication* aurApp);
|
||||
void SetVisibleAuraUpdate(AuraApplication* aurApp) { m_visibleAurasToUpdate.insert(aurApp); }
|
||||
void RemoveVisibleAura(AuraApplication* aurApp);
|
||||
void SetVisibleAuraUpdate(AuraApplication* aurApp) { m_visibleAurasToUpdate.insert(aurApp); }
|
||||
void RemoveVisibleAuraUpdate(AuraApplication* aurApp) { m_visibleAurasToUpdate.erase(aurApp); }
|
||||
|
||||
bool HasInterruptFlag(SpellAuraInterruptFlags flags) const { return m_interruptMask.HasFlag(flags); }
|
||||
bool HasInterruptFlag(SpellAuraInterruptFlags2 flags) const { return m_interruptMask2.HasFlag(flags); }
|
||||
|
||||
@@ -3027,6 +3027,12 @@ void Spell::TargetInfo::DoDamageAndTriggers(Spell* spell)
|
||||
|
||||
if (effMask)
|
||||
_spellHitTarget->_ApplyAura(aurApp, effMask);
|
||||
|
||||
if (aurApp->IsNeedClientUpdate() && aurApp->GetRemoveMode() == AURA_REMOVE_NONE)
|
||||
{
|
||||
aurApp->ClientUpdate(false);
|
||||
_spellHitTarget->RemoveVisibleAuraUpdate(aurApp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user