From 64f83d7cf13a91d4e05bdbad843f91793faed11f Mon Sep 17 00:00:00 2001 From: Erik Date: Sat, 4 Jul 2026 08:48:55 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20file=20#170=20=E2=80=94=20remote=20crea?= =?UTF-8?q?ture=20chase+attack=20renders=20wrong=20vs=20retail?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User retail side-by-side during R5-V2 visual gate: chasing+attacking monster glides, over-frequency, uniform attack anims (retail correct on same ACE → client-side). Decomposes into #159 (attack cmd numbering) + pending_motions loop + dead-reckon-vs-locomotion glide. NOT V2 (chase tracking works). Co-Authored-By: Claude Fable 5 --- docs/ISSUES.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/docs/ISSUES.md b/docs/ISSUES.md index 6212ccd4..2cf86639 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -46,6 +46,47 @@ Copy this block when adding a new issue: --- +## #170 — Remote creature chase+attack renders wrong vs retail (glide, over-frequency, uniform attack anims) + +**Status:** OPEN +**Severity:** MEDIUM (visual — remote combat / aggro) +**Filed:** 2026-07-03 (user retail side-by-side during the R5-V2 visual gate) +**Component:** animation, remote entity, combat + +**Description:** A monster chasing + attacking the player (aggro) renders wrong +vs the retail client running against the SAME local ACE. User side-by-side: +retail plays proper animations, positions the monster better, plays DIFFERENT +attack animations (variety), and the attack-animation FREQUENCY is correct; +acdream shows the creature "stuck in the attack animation, gliding after me." +Because retail gets the identical ACE motion stream and renders it correctly, +the divergence is CLIENT-side (acdream's UM/animation handling), **not** ACE. + +Three distinct sub-divergences: +1. **Wrong/uniform attack animations** → likely **#159** (CombatAnimationPlanner + uses 2013-decomp command numbering, not ACE/DRW; the attacks + `0x10000062/63/64` misclassify → wrong or same animation). +2. **Over-frequency / stuck attack** — motion trace: ACE streams attack UMs + (`mt=0x00 cmd=0x62/0x63/0x64 spd=0.97`) on top of the `mt=0x06` chase; + acdream's `pending_motions` completes+re-queues in a tight MOTIONDONE loop + (`pending=True` spam) → over-plays. R3/R4 pending_motions/MotionDone area. +3. **Glide** — the creature's position moves (mt-6 moveto + UP dead-reckon) but + no locomotion legs play (attacks override) → smooth slide. AP-80 / #160 + dead-reckon-vs-animation family. + +**Evidence:** `ACDREAM_DUMP_MOTION` trace for guid 0x80000244 — `mt-0 stance 0x3C` +→ `mt-6 chase spd 2.03` → stream of `mt-0` attacks `0x62/63/64 spd 0.97`; +MOTIONDONE loop between `0x8000003C` (stance) and the dispatched motion. + +**NOT V2/R5:** the voyeur target-tracking correctly makes the creature chase +(the `mt-6` is proof); this is the animation/position layer. + +**Where:** `MotionInterpreter`/`AnimationSequencer` attack-motion dispatch + +`pending_motions`; `CombatAnimationPlanner` (#159); `ServerControlledLocomotion` ++ remote dead-reckoning (glide). + +**Acceptance:** side-by-side with retail — a chasing+attacking Mite Scamp shows +correct attack-animation variety, correct frequency, and steps/runs (no glide). + ## #169 — Cold-spawn "hole": world doesn't load / invisible player when spawning far from Holtburg **Status:** DONE (`9b06a9b8`, 2026-07-03) — root confirmed live via a landblock-load