diff --git a/src/addons/lua_engine.cpp b/src/addons/lua_engine.cpp index 7d819253..cf72c8b2 100644 --- a/src/addons/lua_engine.cpp +++ b/src/addons/lua_engine.cpp @@ -955,7 +955,7 @@ static int lua_GetCVar(lua_State* L) { return 1; } -// SetCVar(name, value) — no-op stub (log for debugging) +// SetCVar(name, value) — no-op stub static int lua_SetCVar(lua_State* L) { (void)L; return 0; diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index bb97f4fa..51d39d61 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -12586,6 +12586,15 @@ void GameHandler::applyUpdateObjectBlock(const UpdateBlock& block, bool& newItem } else if (key == ufLevel) { uint32_t oldLvl = unit->getLevel(); unit->setLevel(val); + if (val != oldLvl && addonEventCallback_) { + std::string uid; + if (block.guid == playerGuid) uid = "player"; + else if (block.guid == targetGuid) uid = "target"; + else if (block.guid == focusGuid) uid = "focus"; + else if (block.guid == petGuid_) uid = "pet"; + if (!uid.empty()) + addonEventCallback_("UNIT_LEVEL", {uid}); + } if (block.guid != playerGuid && entity->getType() == ObjectType::PLAYER && val > oldLvl && oldLvl > 0 && @@ -20279,10 +20288,12 @@ void GameHandler::handleGroupList(network::Packet& packet) { const char* methodName = (partyData.lootMethod < 5) ? kLootMethods[partyData.lootMethod] : "Unknown"; addSystemChatMessage(std::string("Loot method changed to ") + methodName + "."); } - // Fire GROUP_ROSTER_UPDATE / PARTY_MEMBERS_CHANGED for Lua addons + // Fire GROUP_ROSTER_UPDATE / PARTY_MEMBERS_CHANGED / RAID_ROSTER_UPDATE for Lua addons if (addonEventCallback_) { addonEventCallback_("GROUP_ROSTER_UPDATE", {}); addonEventCallback_("PARTY_MEMBERS_CHANGED", {}); + if (partyData.groupType == 1) + addonEventCallback_("RAID_ROSTER_UPDATE", {}); } } @@ -20294,6 +20305,7 @@ void GameHandler::handleGroupUninvite(network::Packet& packet) { if (addonEventCallback_) { addonEventCallback_("GROUP_ROSTER_UPDATE", {}); addonEventCallback_("PARTY_MEMBERS_CHANGED", {}); + addonEventCallback_("RAID_ROSTER_UPDATE", {}); } MessageChatData msg;