diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index 14b79d94..5c2582a2 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -11904,7 +11904,17 @@ void GameHandler::applyUpdateObjectBlock(const UpdateBlock& block, bool& newItem } else if (key == ufMaxHealth) { unit->setMaxHealth(val); } else if (key == ufLevel) { unit->setLevel(val); - } else if (key == ufFaction) { unit->setFactionTemplate(val); } + } else if (key == ufFaction) { + unit->setFactionTemplate(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_FACTION", {uid}); + } + } else if (key == ufFlags) { unit->setUnitFlags(val); } else if (key == ufBytes0) { unit->setPowerType(static_cast((val >> 24) & 0xFF));