fix(ui): match retail item appraisal semantics
Preserve PublicWeenieDesc hook identity from CreateObject through the item model so hook appraisals suppress sentinel capacities exactly. Use appraisal-only Value and Burden presence, retain AddItemInfo paragraph and authored font-color selection, and port retail lock, page, enchantment, and spell-block formatting. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
bc47bc4917
commit
d3c5e06fdd
21 changed files with 982 additions and 145 deletions
|
|
@ -107,7 +107,21 @@ text out from the top, and replaces the sparse property dump with retail's
|
|||
ordered item-report branches for common weapons, armor, magic and DAT spell
|
||||
descriptions, requirements, capacities, cooldown/special properties, uses,
|
||||
crafting, ratings, rare state, and prose. AP-110 records the remaining
|
||||
specialized/player-dependent/DAT-name/font/object-preview branches explicitly.
|
||||
specialized/player-dependent/DAT-name/creature-font/object-preview branches
|
||||
explicitly.
|
||||
|
||||
The item-format conformance correction then fixed the live Black Phyntos Hive
|
||||
counterexample at its source. CreateObject had walked past
|
||||
`PublicWeenieDesc.HookItemTypes` and `HookType` without retaining them, so the
|
||||
item formatter could not execute retail `ACCWeenieObject::IsHook`. It also
|
||||
fell back from a deliberately incomplete appraisal to public Value/Burden and
|
||||
printed the hook's 255/255 sentinel capacities as ordinary storage. Hook
|
||||
identity now survives the wire/session/object-table path; Value/Burden use
|
||||
only the appraisal profile and display `???`/`Unknown` when absent;
|
||||
`HasHookedItem` suppresses the hook capacity; lock wording and page-count
|
||||
property order match retail; and each report fragment preserves
|
||||
`AddItemInfo`'s line/paragraph flag plus LayoutDesc `0x1B`'s white/green/red
|
||||
font-color indices.
|
||||
|
||||
**Files:** `src/AcDream.Core.Net/Messages/AppraiseInfoParser.cs`;
|
||||
`src/AcDream.App/UI/RetailUiRuntime.cs`;
|
||||
|
|
@ -129,6 +143,9 @@ animated target remains above row chrome but below text; changing selection
|
|||
updates the open window without another magnifier click. Item text begins at
|
||||
the top and assessed melee/missile/armor/magic items show their retail-ordered
|
||||
stats and full DAT spell descriptions.
|
||||
The Black Phyntos Hive specifically reads `Value: ???`, `Burden: Unknown`,
|
||||
then its description after one retail paragraph break, without the bogus
|
||||
255-item/255-container line.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue