Implement skill contributor tracking to fix multiple items with same skill issue

Co-authored-by: aronwk-aaron <26027722+aronwk-aaron@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-09-03 05:40:59 +00:00
parent 5c7ee2de9e
commit 71cfd586bc
3 changed files with 148 additions and 11 deletions

View File

@@ -5,6 +5,7 @@
#include <map>
#include <stack>
#include <set>
#include "BehaviorSlot.h"
@@ -426,6 +427,12 @@ private:
*/
std::map<BehaviorSlot, uint32_t> m_Skills;
/**
* Tracks which items (by LOT) contribute skills to each behavior slot
* Used to properly manage skills when multiple items provide the same skill to the same slot
*/
std::map<BehaviorSlot, std::set<LOT>> m_SkillContributors;
/**
* The pets this entity has, mapped by object ID and pet info
*/