fix(ui): port exact selected health policy
Replace the toolbar's PWD-bit approximation with retail ObjectIsAttackable composed with the exact player and pet short-circuits. Carry second-header PetOwner through CreateObject, session, and ClientObject state so self, pet, and Free-PK cases match retail while friendly NPCs and attackable non-creatures remain name-only. Co-Authored-By: Codex <codex@openai.com>
This commit is contained in:
parent
52a80dc531
commit
2644d1d527
18 changed files with 416 additions and 50 deletions
|
|
@ -524,7 +524,7 @@ their live action gate remains pending. The inventory-button gate remains pendin
|
|||
`RecvNotice_SplitStack` activation behavior, and `HandleSelectionChanged` stack
|
||||
precedence. Vendor-specific initial quantity remains naturally dormant until a
|
||||
vendor panel owns an active vendor id.
|
||||
- [ ] Replace the PWD-only health gate with the exact attackable/player/pet policy.
|
||||
- [x] Replace the PWD-only health gate with the exact attackable/player/pet policy.
|
||||
- [x] Add item-mana query/cancel state and health query cancellation.
|
||||
- [x] Add one shared split-quantity owner for the entry, slider, and selected-source
|
||||
item-holder merge, container-split, and ground-split payloads.
|
||||
|
|
@ -559,6 +559,15 @@ Automated wire, state, and retained-controller conformance is green. The live ga
|
|||
transferred its mana into armor, and the selected armor's authored mana bar updated from
|
||||
the authoritative `0x0264` response.
|
||||
|
||||
**Wave 4.4c implementation (2026-07-11):** the former PWD-only approximation is
|
||||
replaced by a pure Core port of `ClientCombatSystem::ObjectIsAttackable @ 0x0056A600`
|
||||
composed exactly with toolbar `IsPlayer || pet_owner`. CreateObject now continues through
|
||||
the complete second header and preserves `PetOwner` after MaterialType/Cooldown fields,
|
||||
matching `PublicWeenieDesc::UnPack @ 0x005AD7AC..0x005AD7F8` and ACE serialization.
|
||||
The policy restores self, pet, and Free-PK creature cases while retaining name-only
|
||||
friendly NPCs and rejecting attackable non-creatures. AP-46 is retired; automated
|
||||
parser/model/policy conformance is green and the live gate remains pending.
|
||||
|
||||
**Wave 4.1 implementation (2026-07-11):** bare `1..9` now use slots 0..8,
|
||||
Ctrl+`1..9` selects them, Alt+`5..9` uses slots 13..17, and `0` creates a
|
||||
shortcut to the selected owned/eligible object in the first empty slot. A focused
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue