feat: port retail magic lifecycle and retained spell UI
Complete the retail cast-intent, target, component, enchantment, and busy-state paths; mount the DAT-authored spell bar, spellbook, component book, effects panels, and shared panel lifecycle; and add scoped input plus conformance coverage. Co-Authored-By: Codex <noreply@openai.com>
This commit is contained in:
parent
7b7ffcd278
commit
07be994d97
84 changed files with 17822 additions and 1051 deletions
|
|
@ -5136,49 +5136,52 @@ responds as if the user clicked the item.
|
|||
|
||||
## #L.2 — Spellbook favorites panel
|
||||
|
||||
**Status:** OPEN
|
||||
**Status:** DONE 2026-07-15
|
||||
**Severity:** MEDIUM
|
||||
**Filed:** 2026-04-26 (deferred from Phase K)
|
||||
**Component:** ui / magic
|
||||
|
||||
**Description:** In `MagicCombat` scope, 1-9 should fire
|
||||
`UseSpellSlot_1..9` (distinct from hotbar). Requires a small UI to
|
||||
pin favorite spells + a spellbook tab nav. Cross-references issue
|
||||
#L.3 (combat-mode dispatch).
|
||||
**Resolution:** The authored `gmSpellcastingUI` page inside combat layout
|
||||
`0x21000073` now exposes all eight server-persisted favorite tabs, equipped
|
||||
caster endowment, spell selection/name, drag-remove/drop-add favorite edits,
|
||||
cast button, and `UseSpellSlot_1..9`. Cast intent goes through the single
|
||||
`SpellCastingController`; ACE remains authoritative for turning, motion,
|
||||
components, mana, fizzle, impact, and completion.
|
||||
The same slice also mounts the authored Helpful/Harmful effect indicators
|
||||
(`0x21000071`, buttons `0x100000F5/F6`) and routes their panel IDs 4/5 through
|
||||
the shared retail `gmPanelUI` lifecycle, so closed effect lists have an exact
|
||||
reopen path and replace the current main panel instead of becoming orphaned.
|
||||
|
||||
---
|
||||
|
||||
## #L.3 — Combat-mode tracking + scope-aware Insert/PgUp/Delete/End/PgDn dispatch
|
||||
|
||||
**Status:** OPEN
|
||||
**Status:** DONE 2026-07-15
|
||||
**Severity:** MEDIUM
|
||||
**Filed:** 2026-04-26 (deferred from Phase K)
|
||||
**Component:** input / combat
|
||||
|
||||
**Description:** Insert/PgUp/Delete/End/PgDn mean different things in
|
||||
melee / missile / magic combat modes (per retail keymap MeleeCombat /
|
||||
MissileCombat / MagicCombat blocks). Phase K has the bindings and the
|
||||
scope stack; what's missing: `CombatState.CurrentMode` field +
|
||||
listener for the server-side `SetCombatMode` packet (likely 0x0053 or
|
||||
similar — confirm against ACE source). When mode arrives, push the
|
||||
appropriate scope; when leaving combat, pop.
|
||||
**Resolution:** Every binding now persists its retail `InputScope`; schema 4
|
||||
migrates older files. `CombatState.CurrentMode` selects the Melee/Missile/Magic
|
||||
shadow scope, held actions release atomically on any scope/binding transition,
|
||||
and reentrant callbacks cannot replay a stale held-chord snapshot. Settings
|
||||
conflict checks and rebinds preserve the scoped identity.
|
||||
|
||||
---
|
||||
|
||||
## #L.4 — F-key panels: Allegiance / Fellowship / Skills / Attributes / World / SpellComponents
|
||||
|
||||
**Status:** OPEN
|
||||
**Status:** PARTIAL — magic/character/inventory surfaces shipped
|
||||
**Severity:** LOW
|
||||
**Filed:** 2026-04-26 (deferred from Phase K)
|
||||
**Component:** ui
|
||||
|
||||
**Description:** Retail F3-F6, F8-F12 toggle UI panels for various
|
||||
character data. Phase K has the bindings (`ToggleAllegiancePanel`,
|
||||
`ToggleFellowshipPanel`, `ToggleSpellbookPanel`,
|
||||
`ToggleSpellComponentsPanel`, `ToggleAttributesPanel`,
|
||||
`ToggleSkillsPanel`, `ToggleWorldPanel`, `ToggleInventoryPanel`); the
|
||||
panels themselves don't exist. Each is its own design feature.
|
||||
Inventory (F12) is the most-requested.
|
||||
**Current state:** Retained Inventory, Skills, Attributes, Spellbook, and
|
||||
SpellComponents panels now exist and their F-key actions route through the
|
||||
window manager. The spell/component book is the authored `0x21000034` tree,
|
||||
with learned-spell filters, exact DAT spell/component icons, component
|
||||
categories, selection, scrolling, and server-persisted desired amounts.
|
||||
Allegiance, Fellowship, and World remain separate open panel features.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue