From a0140ff943c85471ab0127d6a6cd4fdb4dfaef1c Mon Sep 17 00:00:00 2001 From: "Michael Cook (mackal)" Date: Mon, 24 Jul 2017 15:27:33 -0400 Subject: [PATCH] Fix client UI when auras expire --- zone/aura.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/zone/aura.cpp b/zone/aura.cpp index 52b8a32d8..8c54b75ee 100644 --- a/zone/aura.cpp +++ b/zone/aura.cpp @@ -886,9 +886,17 @@ void Mob::RemoveAura(int spawn_id, bool skip_strip, bool expired) if (aura.spawn_id == spawn_id) { if (aura.aura) aura.aura->Depop(skip_strip); - if (expired && IsClient()) + if (expired && IsClient()) { CastToClient()->SendColoredText( CC_Yellow, StringFormat("%s has expired.", aura.name)); // TODO: verify color + // need to update client UI too + auto app = new EQApplicationPacket(OP_UpdateAura, sizeof(AuraDestory_Struct)); + auto ads = (AuraDestory_Struct *)app->pBuffer; + ads->action = 1; // delete + ads->entity_id = spawn_id; + CastToClient()->QueuePacket(app); + safe_delete(app); + } while (aura_mgr.count - 1 > i) { i++; aura.spawn_id = aura_mgr.auras[i].spawn_id;