From 82990f5891138e53c2a8333d93453cdabf6844dd Mon Sep 17 00:00:00 2001 From: Kelsi Date: Sat, 21 Mar 2026 08:22:52 -0700 Subject: [PATCH] feat: fire UNIT_FLAGS event when unit flags change Fire UNIT_FLAGS for player/target/focus when UNIT_FIELD_FLAGS updates. Covers PvP flag, combat state, silenced, disarmed, and other flag changes. Used by nameplate addons for PvP indicators and by unit frame addons tracking CC/silence state. --- src/game/game_handler.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index 5c2582a2..27216114 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -11915,7 +11915,17 @@ void GameHandler::applyUpdateObjectBlock(const UpdateBlock& block, bool& newItem addonEventCallback_("UNIT_FACTION", {uid}); } } - else if (key == ufFlags) { unit->setUnitFlags(val); } + else if (key == ufFlags) { + unit->setUnitFlags(val); + if (addonEventCallback_) { + std::string uid; + if (block.guid == playerGuid) uid = "player"; + else if (block.guid == targetGuid) uid = "target"; + else if (block.guid == focusGuid) uid = "focus"; + if (!uid.empty()) + addonEventCallback_("UNIT_FLAGS", {uid}); + } + } else if (key == ufBytes0) { unit->setPowerType(static_cast((val >> 24) & 0xFF)); } else if (key == ufDisplayId) {