fix(world): restore portal and distant use lifecycles

This commit is contained in:
Erik 2026-07-25 09:59:25 +02:00
parent c730632075
commit 1a14812c44
18 changed files with 401 additions and 196 deletions

View file

@ -22,10 +22,14 @@ cursor owners. Its connected state gate passed. A named-retail correction now
treats reset/absent useability zero as usable. The connected gate then exposed
the delivery defect beneath that classifier: carried Use had been routed
through the world-object approach query and silently cancelled because
inventory objects have no spatial entity. Owned direct-use now sends
immediately, while the registered AD-27 approach seam remains world-only;
shared AutoWear reports the exact overlapping worn item that must be removed.
That correction is user-confirmed. The requested adjacent cooldown follow-up
inventory objects have no spatial entity. Ordinary Use now sends immediately
for both owned and world objects, matching `ItemHolder::UseObject`; ACE owns
distant approach and AD-27 remains pickup-only. The connected distant-NPC
gate also corrected the logical animation-owner callback across temporary
spatial projection withdrawal, so ACE MoveTo turns, walks, and completes Use
without leaving the UI busy. Shared AutoWear reports the exact overlapping
worn item that must be removed. These corrections are user-confirmed. The
requested adjacent cooldown follow-up
ports the optional public shared-cooldown metadata, the authoritative
cooldown-enchantment lookup, the exact ten-step bucket formula, and DAT
sprites `0x060067CF..0x060067D8` through the shared retained `UiItemSlot`