feat(combat): port retail held weapon parenting

Select the default combat mode from ordered equipped objects so bows request missile stance. Parse CreateObject parent metadata and ParentEvent, then render held objects as separate children composed from setup holding locations and placement frames each animation tick.
This commit is contained in:
Erik 2026-07-11 13:02:26 +02:00
parent 564d39dfea
commit ab6d96d113
18 changed files with 1152 additions and 17 deletions

View file

@ -2754,18 +2754,19 @@ Retail oracle for cell-id hysteresis: `acclient_2013_pseudo_c.txt:308742-308783`
## #94 — Held items project spotlight on walls
**Status:** OPEN — **BLOCKED, not an active A7 investigation target.** acdream does not
yet support equipping hand-held items (weapons, orbs, light sources) at all
(user-confirmed 2026-07-09), so this can't be reproduced or verified either way right
now. Re-open for real investigation once item-equipping ships; until then this is a
placeholder, not a live bug.
**Status:** OPEN — **UNBLOCKED 2026-07-11.** Retail ParentEvent/CreateObject child
parenting now renders hand-held objects and follows the animated attachment part. The
original lighting symptom can now be reproduced and investigated after the held-item
visual gate; no lighting conclusion has been drawn yet.
**Severity:** MEDIUM (visual fidelity; doesn't block gameplay)
**Filed:** 2026-05-20
**Component:** lighting, rendering
**Description:** Items the player is holding (torches, light-source items) project a spotlight effect onto nearby walls. The spotlight direction is wrong — should be omnidirectional from the item, but appears to project specifically toward wall surfaces.
**Root cause / status:** Per-entity light direction transform. `LightingHookSink` owner-tracking applies an entity-rotation transform that's probably wrong for held-light items — likely passing the entity's facing-direction as the spotlight cone direction when retail's behavior is omnidirectional point-light. UNTESTABLE until item-equipping exists — this is a hypothesis from the original 2026-05-20 filing, not re-confirmed.
**Root cause / status:** Unknown. The original per-entity light-direction theory is only
a hypothesis and must be re-tested now that held-item parenting exists. Do not treat it
as established root cause.
**Files:**
- `src/AcDream.App/Rendering/Vfx/LightingHookSink.cs` (suspected — verify during A7.L1)