feat(client): training dummy swings when struck (#36) #69

Merged
marco merged 2 commits from feat/dummy-swing-on-hit into main 2026-07-19 08:09:56 +02:00
Owner

The training dummy now visibly reacts when struck — it swings.

  • Pack the UO dummy swing frames (0x1070-0x1077) as a one-shot creature/dummy/hit animation (rebuilt assets.isoa).
  • Mobile.PlayHit() plays a creature's "hit" reaction over its idle (one-shot, reverting to stand when finished) if its art set has a hit clip; creatures without one are unaffected (the damage number still sells the hit).
  • GameScreen triggers it on a landed melee hit (Attacked with Hit) and on a SpellBolt, so the dummy swings when you melee or bolt it.

just lint -> 0 warnings. just test -> full suite green (GameServer 145).

Try it (just dev): /spawn dummy, hit it (melee or bolt) → it swings.

Definition of Done (delta)

  • The training dummy plays its swing animation when hit (melee or spell).
  • Creatures without a hit clip are unaffected; no crash/warning.
  • Whole solution builds, zero warnings, tests green.
The training dummy now **visibly reacts when struck** — it swings. - Pack the UO dummy swing frames (`0x1070-0x1077`) as a one-shot `creature/dummy/hit` animation (rebuilt `assets.isoa`). - `Mobile.PlayHit()` plays a creature's "hit" reaction over its idle (one-shot, reverting to stand when finished) if its art set has a `hit` clip; creatures without one are unaffected (the damage number still sells the hit). - `GameScreen` triggers it on a landed melee hit (`Attacked` with Hit) and on a `SpellBolt`, so the dummy swings when you melee or bolt it. `just lint` -> 0 warnings. `just test` -> full suite green (GameServer 145). Try it (`just dev`): `/spawn dummy`, hit it (melee or bolt) → it swings. ## Definition of Done (delta) - [x] The training dummy plays its swing animation when hit (melee or spell). - [x] Creatures without a hit clip are unaffected; no crash/warning. - [x] Whole solution builds, zero warnings, tests green.
feat(client): training dummy swings when struck (#36)
All checks were successful
ci / Lint & Test (pull_request) Successful in 2m15s
ef843659a3
Pack the UO dummy swing frames (0x1070-0x1077) as a one-shot creature/dummy/hit
animation, and play a creature's "hit" reaction (if its art set has one) when it
takes a melee or spell hit. Mobile.PlayHit plays the clip once over the idle,
reverting to stand when finished; creatures without a "hit" clip are unaffected
(the damage number still sells the hit). The dummy now visibly reacts to bolts.
fix(assets): dummy swing — one facing, slower, no end rotation
All checks were successful
ci / Lint & Test (pull_request) Successful in 2m3s
ddcba4fa5b
The 0x1070-0x1077 range holds two facings (0x1074-0x1077 is rotated ~45°), so
playing all eight made the dummy appear to turn at the end. Use one facing's
swing (0x1070-0x1073) as a pendulum out-and-back ending at rest, and slow it
from 14 to 10 fps.
marco merged commit 4da0a5a2fd into main 2026-07-19 08:09:56 +02:00
marco deleted branch feat/dummy-swing-on-hit 2026-07-19 08:09:57 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
marco/IsoMmo!69
No description provided.