From fc182f8653cc3a17b56b94db894fbc63e4b38f4a Mon Sep 17 00:00:00 2001 From: Kelsi Date: Fri, 20 Mar 2026 21:57:27 -0700 Subject: [PATCH] feat: fire SKILL_LINES_CHANGED event when player skills update Detect changes in player skill values after extractSkillFields() and fire SKILL_LINES_CHANGED when any skill value changes. Used by profession tracking addons and skill bar displays. --- src/game/game_handler.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index b81d27c3..0c5073fb 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -24442,7 +24442,19 @@ void GameHandler::extractSkillFields(const std::map& fields) } } + bool skillsChanged = (newSkills.size() != playerSkills_.size()); + if (!skillsChanged) { + for (const auto& [id, sk] : newSkills) { + auto it = playerSkills_.find(id); + if (it == playerSkills_.end() || it->second.value != sk.value) { + skillsChanged = true; + break; + } + } + } playerSkills_ = std::move(newSkills); + if (skillsChanged && addonEventCallback_) + addonEventCallback_("SKILL_LINES_CHANGED", {}); } void GameHandler::extractExploredZoneFields(const std::map& fields) {