fix(items): port retail useability and autowear rejection
Use the exact low USEABLE_NO-bit predicate so reset/zero-valued direct-use items such as Blackmoor's Favor reach the ordinary Use request. Port AutoWear's clothing-priority blocker lookup and exact named system notice through the shared activation owner. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
60387668d0
commit
f71f947475
13 changed files with 289 additions and 57 deletions
|
|
@ -1,7 +1,8 @@
|
|||
# World interaction completion — pre-M4 program
|
||||
|
||||
**Status:** Slice 1 user-accepted 2026-07-23. Slice 2 Use-hand state and command
|
||||
path code-complete; connected visual gate pending before Assess continues.
|
||||
**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.
|
||||
**Milestone:** M4 prerequisite/preamble.
|
||||
**Architecture:** retained gameplay UI over shared selection, object, and
|
||||
interaction state. `GameWindow` remains a composition/callback shell.
|
||||
|
|
@ -69,6 +70,20 @@ AP-122. The 14-test Core interaction focus, 49-test toolbar focus, Release
|
|||
solution build, 3,474 App tests / 3 skips, and 7,848 complete-solution tests /
|
||||
5 skips pass.
|
||||
|
||||
The connected selection-state gate passed. Its follow-up exposed two deeper
|
||||
shared-policy defects, now corrected from named retail plus the matching
|
||||
binary. `ItemUses::IsUseable @ 0x004FCCC0` tests only `USEABLE_NO`; reset/absent
|
||||
value zero is usable, so Blackmoor's Favor and other zero-valued direct-use
|
||||
items now emit the ordinary Use request. AutoWear now applies
|
||||
`CPlayerSystem::AutoWearIsLegal @ 0x0055EF40` through the same double-click and
|
||||
toolbar-hand path, resolves the overlapping worn object from the
|
||||
retail-ordered equipment projection, and emits the exact system line
|
||||
`You must remove your <item> to wear that`. Research:
|
||||
[`../research/2026-07-23-retail-item-use-and-autowear-pseudocode.md`](../research/2026-07-23-retail-item-use-and-autowear-pseudocode.md).
|
||||
The focused 25-test Core and 85-test App sets pass, as do the warning-free
|
||||
Release solution build, 3,476 App tests / 3 skips, and 7,857 complete-solution
|
||||
tests / 5 skips.
|
||||
|
||||
## Slice 1 — spell-bar overflow arrows
|
||||
|
||||
### Retail oracle
|
||||
|
|
@ -148,7 +163,8 @@ Named retail references and executable pseudocode are recorded in
|
|||
### Remaining Slice 2 work
|
||||
|
||||
- Port the magnifying-glass Assess command state and activation.
|
||||
- Run the connected Use-hand visual gate: no selection, spell component,
|
||||
weapon, and health kit.
|
||||
- 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