Skip to content

Client: dodge-roll sync for remote players#58

Merged
Kheartz merged 2 commits into
mainfrom
spell-dodge
Jun 27, 2026
Merged

Client: dodge-roll sync for remote players#58
Kheartz merged 2 commits into
mainfrom
spell-dodge

Conversation

@Kheartz

@Kheartz Kheartz commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

Remote players' dodge-rolls now replay on their proxies. Stacks on the existing spell wire (the Dodge flag was already reserved in human_sync.hpp), so there's no new network wiring; it rides the already-delta-serialized stateFlags byte.

Remote proxy applies (UpdateDodge, on the flag's rising edge): plays the roll montage (Hu_Cmbt_DdgeRll_Fwd) into the AnimBP's DefaultSlot over the running locomotion. HL drives the source player's dodge via AnimBP state (not a montage) on the proxy; the roll's ground displacement still comes from the synced position. Native clip loaded by path, cached + GC-rooted; skipped while mounted.

Mirrors the established Cast rising-edge pattern exactly (same edge guard, GC-pinned clip, _dodgeLast re-arm).

Test command: /spawnnpc, then /dodgenpcs; toggles the Dodge flag every second so e one-shot roll montage; run again to stop.

Kheartz added 2 commits June 27, 2026 04:29
Detect the local dodge-roll (combat-AnimBP FullBodyState==13), publish the Dodge
flag, and play the roll montage into DefaultSlot on the proxy on the rising edge.
HL drives the source dodge by AnimBP state (no montage), so we re-author it; the
ground displacement still comes from the synced position. On-foot only.
Add Human.setDodging(bool) binding and a /dodgenpcs command that loop-toggles the
Dodge flag on spawned NPCs, so each rising edge plays the roll montage on the
proxy — single-client test.
@Kheartz Kheartz merged commit f54693b into main Jun 27, 2026
2 checks passed
@Kheartz Kheartz deleted the spell-dodge branch June 27, 2026 08:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant