mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
feat: fire BAG_UPDATE and PLAYER_EQUIPMENT_CHANGED events for addons
Fire BAG_UPDATE and UNIT_INVENTORY_CHANGED when item stack/durability fields change in UPDATE_OBJECT VALUES path. Fire PLAYER_EQUIPMENT_CHANGED when equipment slot fields change. Enables bag addons (Bagnon, OneBag) and gear tracking addons to react to inventory changes.
This commit is contained in:
parent
ae18d25996
commit
4cdccb7430
1 changed files with 9 additions and 1 deletions
|
|
@ -12648,7 +12648,11 @@ void GameHandler::applyUpdateObjectBlock(const UpdateBlock& block, bool& newItem
|
|||
// Do not auto-create quests from VALUES quest-log slot fields for the
|
||||
// same reason as CREATE_OBJECT2 above (can be misaligned per realm).
|
||||
if (applyInventoryFields(block.fields)) slotsChanged = true;
|
||||
if (slotsChanged) rebuildOnlineInventory();
|
||||
if (slotsChanged) {
|
||||
rebuildOnlineInventory();
|
||||
if (addonEventCallback_)
|
||||
addonEventCallback_("PLAYER_EQUIPMENT_CHANGED", {});
|
||||
}
|
||||
extractSkillFields(lastPlayerFields_);
|
||||
extractExploredZoneFields(lastPlayerFields_);
|
||||
applyQuestStateFromFields(lastPlayerFields_);
|
||||
|
|
@ -12753,6 +12757,10 @@ void GameHandler::applyUpdateObjectBlock(const UpdateBlock& block, bool& newItem
|
|||
}
|
||||
if (inventoryChanged) {
|
||||
rebuildOnlineInventory();
|
||||
if (addonEventCallback_) {
|
||||
addonEventCallback_("BAG_UPDATE", {});
|
||||
addonEventCallback_("UNIT_INVENTORY_CHANGED", {"player"});
|
||||
}
|
||||
}
|
||||
}
|
||||
if (block.hasMovement && entity->getType() == ObjectType::GAMEOBJECT) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue