# Hoard Inspect (staged 2026-10-03, TEST only, not published)

Trevor: "can we get inspect to work on items in the hoard?"

Files:
- dinput8.dll: md5 4e1cb8c9, client_dll 573095a (build of 10e602f). It also carries the hotbar cooldowns
  (ee3eedb/df6d6ad, not yet published). Live is 540a0c6 (md5 5aa21452).
- HJ_HoardWnd.xml: Inspect button (HW_Inspect) in the bottom row (Take | Inspect | Store Cursor ... Buy | Refresh).
- EQUI_Inventory.xml: live patch_files copy (7985553c) plus HJ_CMD_hoard_inspect on the inventory Hoard tab,
  bottom row re-spaced. (staged_classes/EQUI_Inventory.xml is an older version; ignore it.)
- EQUI.xml is unchanged (HJ_HoardWnd.xml is already included).
verify_sites.py vs patch_files/eqgame.exe: 37 hooks, 40 byte patches + signatures, 2 call sites, 0 problems.
Server side: test quests 4e90fbc8f (advloot_engine.lua HoardInspect, commands/hoard.lua, commands/advloot.lua).

What it does: #hoard inspect <row> opens the item window for that Hoard row (only your own rows). The Hoard window
and the inventory Hoard tab get an Inspect button, and right-clicking a row does the same, as in Advanced Loot.
#hoard <1-4> chat rows get an [inspect] link (the item name was already an item link, which is the no-DLL way).
The window shows the item built from its id: a weapon whose Proc Exaltation was taken out shows its default one,
and attunement is not shown; inspect then adds one chat line saying so.

## Test on the desktop
scp -r openclawvm:heroes_journey_workspace/patcher/staged_hoardinspect /tmp/ && bash /tmp/staged_hoardinspect/install_desktop.sh
Launch with "EverQuest RoF2 Tanks (Direct)" and log in to the TEST world. hjclient.log line 1 ends "+hoardinspect) loaded".
1. Put something in the Hoard (cursor item, /hoard, Store Cursor). Select its row, click Inspect: item window opens.
2. Right-click a row: item window. Right-click the first (info) row: nothing.
3. Inventory window, Hoard tab: select a row, Inspect; right-click a row. (If right-click does nothing there but
   the button works, the inventory window keeps list right-clicks to itself; the button is the way.)
4. #hoard 1 in chat: each row has [take] [inspect]; [inspect] opens the window. #hoard inspect 999999: "gone".
5. Check the bottom-row labels are not clipped: "Store Cursor" (window, now 80px) and "Buy +5 Slots"
   (inventory tab, now 92px).
6. Optional: an Enchanted weapon with its Exaltation taken out -> inspect shows the chat note.
Undo: bash /tmp/staged_hoardinspect/install_desktop.sh --revert (or run the Patcher launcher once).

## Publish (after Trevor confirms on test). Order matters: quests first, then the patcher
(new DLL + old prod Lua: #hoard inspect N falls through to the hoard list; old DLL + new Lua is fine).
1. Prod quests: cd ~/eqserver/quests && git cherry-pick 4e90fbc8f (dry run on prod 42c7160b0: clean), then prod
   world console: api reload 22. No restart (Lua_Client::ViewItem is already in the prod zone).
2. Patcher: mkdir -p ~/.local/share/eq-backups/<date>/hoardinspect; back up patch_files/dinput8.dll and
   patch_files/uifiles/default/{HJ_HoardWnd,EQUI_Inventory}.xml there; copy this folder's dinput8.dll to
   patch_files/ and HJ_HoardWnd.xml + EQUI_Inventory.xml to patch_files/uifiles/default/; add a line at the top of
   news.txt (under the welcome line); cd ~/heroes_journey_workspace/patcher && python3 generate_manifest.py;
   check patch_manifest.json lists the three new files (sha256).
   The DLL includes the hotbar cooldowns: publish them together, or say so in news.txt.
   Old DLL + new XML: the Inspect buttons are inert or say "usage"; new DLL + old XML: no button, right-click works.
