feat(items): port retail shared cooldown overlays
Preserve public shared-cooldown metadata, resolve the authoritative cooldown enchantment with retail expiry semantics, and project the exact ten DAT-authored radial steps through the shared retained item-slot architecture. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
19e8863f4e
commit
6b1ae4fb76
27 changed files with 875 additions and 20 deletions
|
|
@ -25,8 +25,12 @@ 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 awaits its connected gate; the magnifying-glass Assess command
|
||||
follows in the same slice.
|
||||
That correction is 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`
|
||||
presentation. Its visual gate comes next; the magnifying-glass Assess command
|
||||
then follows in the same slice.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -92,13 +92,12 @@ broaden the feature surface.
|
|||
Slice 1's 18-cell favorite-spell overflow bar is user-accepted. Slice 2 is
|
||||
active: the status hand's selected-object availability and existing
|
||||
Use/AutoWield/use-on-target command routing passed their connected gate.
|
||||
The follow-up retail correction for zero-valued direct-use items and named
|
||||
AutoWear blockers is code-complete. Its first connected gate exposed and
|
||||
corrected the lower delivery boundary: carried direct-use had been sent through
|
||||
the world approach query even though inventory objects have no spatial entity.
|
||||
Owned Use now sends immediately; world Use alone retains the registered AD-27
|
||||
approach seam. The combined correction awaits its connected gate before the
|
||||
Assess half continues.
|
||||
The follow-up retail correction for zero-valued direct-use items, named
|
||||
AutoWear blockers, and carried-use delivery is user-confirmed. The requested
|
||||
adjacent cooldown follow-up now preserves the item's shared group/duration,
|
||||
projects the authoritative cooldown-enchantment bucket, and draws retail's ten
|
||||
DAT-authored radial steps across all item-slot surfaces. Its visual gate is
|
||||
next; the Assess half then continues.
|
||||
|
||||
Carried:
|
||||
#153 far-teleport residual, #116 slide-response, the remaining R6 ownership cleanup plus
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
# World interaction completion — pre-M4 program
|
||||
|
||||
**Status:** Slice 1 user-accepted 2026-07-23. Slice 2 Use-hand selection state
|
||||
passed its connected gate. The follow-up zero-useability/AutoWear correction is
|
||||
code-complete and awaits its connected gate before Assess continues.
|
||||
**Status:** Slice 1 user-accepted 2026-07-23. Slice 2 Use-hand selection,
|
||||
zero-useability, carried direct-use, and AutoWear correction passed their
|
||||
connected gates. The requested shared item-cooldown follow-up is code-complete
|
||||
and awaits its visual gate before Assess continues.
|
||||
**Milestone:** M4 prerequisite/preamble.
|
||||
**Architecture:** retained gameplay UI over shared selection, object, and
|
||||
interaction state. `GameWindow` remains a composition/callback shell.
|
||||
|
|
@ -89,6 +90,22 @@ tests / 5 skips. The carried-use delivery correction adds an end-to-end App
|
|||
pin from Favor activation through wire dispatch and authoritative UseDone busy
|
||||
release. The Release build retains the 17 tracked test-project warnings;
|
||||
3,477 App tests / 3 skips and 7,858 complete-solution tests / 5 skips pass.
|
||||
The user confirmed Blackmoor's Favor now activates correctly.
|
||||
|
||||
Before Assess, the user requested the adjacent retail item-cooldown
|
||||
presentation. `PublicWeenieDesc` now preserves the optional shared cooldown id
|
||||
and duration, assessed property updates reach the same object fields, and
|
||||
`CEnchantmentRegistry::OnCooldown @ 0x005943C0` plus
|
||||
`UIElement_UIItem::UpdateCooldownDisplay @ 0x004E1E20` are ported through the
|
||||
canonical Core registry and one pure display projection. Every retained item
|
||||
list shares one controller and the exact
|
||||
ten DAT-authored radial sprites `0x060067CF..0x060067D8`; items with the same
|
||||
group display the same server-authored cooldown. Research:
|
||||
[`../research/2026-07-23-retail-item-cooldown-pseudocode.md`](../research/2026-07-23-retail-item-cooldown-pseudocode.md).
|
||||
The focused parser/Core/UI/production-DAT tests, warning-free Release solution
|
||||
build, 3,482 App tests / 3 skips, and 7,875 complete-solution tests / 5 skips
|
||||
pass. AP-123 records only the retained toolkit's procedural-child adaptation;
|
||||
the visible assets, ordering, timing, and shared-group behavior are exact.
|
||||
|
||||
## Slice 1 — spell-bar overflow arrows
|
||||
|
||||
|
|
@ -168,9 +185,9 @@ Named retail references and executable pseudocode are recorded in
|
|||
|
||||
### Remaining Slice 2 work
|
||||
|
||||
- Run the connected visual gate for the shared item cooldown: use Blackmoor's
|
||||
Favor or a summon/stone and verify its inventory and shortcut aliases count
|
||||
down together, then clear.
|
||||
- Port the magnifying-glass Assess command state and activation.
|
||||
- Run the connected correction gate: activate Blackmoor's Favor, then try to
|
||||
equip armor blocked by an overlapping worn item and verify the named system
|
||||
message.
|
||||
- Continue directly into the Assess information slice after the combined
|
||||
status-control gate.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue