feat(combat): implement multi-strike momentum system #330

Merged
freemo merged 4 commits from feature/m4-multi-strike into master 2026-04-01 20:37:10 +00:00
Owner

Summary

  • Implements MultiStrikeResolver class for resolving multi-strike combat actions
  • Handles :sustained momentum (blocked strikes deal 0, arc continues)
  • Handles :interrupted momentum (blocked strike cancels remaining strikes)
  • Generates per-strike damage events with body part multipliers
  • Includes comprehensive unit tests (14 scenarios) and integration tests (10 scenarios)

Closes #270

## Summary - Implements `MultiStrikeResolver` class for resolving multi-strike combat actions - Handles `:sustained` momentum (blocked strikes deal 0, arc continues) - Handles `:interrupted` momentum (blocked strike cancels remaining strikes) - Generates per-strike damage events with body part multipliers - Includes comprehensive unit tests (14 scenarios) and integration tests (10 scenarios) Closes #270
freemo added this to the v1.3.0 milestone 2026-03-23 05:37:59 +00:00
freemo force-pushed feature/m4-multi-strike from 1d9abd9baa
Some checks failed
CI / type_check (pull_request) Failing after 15m51s
CI / lint (pull_request) Failing after 15m51s
CI / unit_tests (pull_request) Failing after 16m34s
CI / integration_tests (pull_request) Failing after 16m34s
CI / build (pull_request) Has been skipped
to 264c25618c
Some checks failed
CI / type_check (pull_request) Successful in 43s
CI / lint (pull_request) Successful in 1m13s
CI / integration_tests (pull_request) Failing after 3m53s
CI / unit_tests (pull_request) Failing after 20m43s
CI / build (pull_request) Has been skipped
2026-03-31 19:41:33 +00:00
Compare
freemo force-pushed feature/m4-multi-strike from 264c25618c
Some checks failed
CI / type_check (pull_request) Successful in 43s
CI / lint (pull_request) Successful in 1m13s
CI / integration_tests (pull_request) Failing after 3m53s
CI / unit_tests (pull_request) Failing after 20m43s
CI / build (pull_request) Has been skipped
to 44730be7db
Some checks failed
CI / type_check (pull_request) Successful in 47s
CI / lint (pull_request) Successful in 1m14s
CI / integration_tests (pull_request) Failing after 4m34s
CI / unit_tests (pull_request) Failing after 20m53s
CI / build (pull_request) Has been skipped
2026-03-31 21:13:41 +00:00
Compare
freemo force-pushed feature/m4-multi-strike from 44730be7db
Some checks failed
CI / type_check (pull_request) Successful in 47s
CI / lint (pull_request) Successful in 1m14s
CI / integration_tests (pull_request) Failing after 4m34s
CI / unit_tests (pull_request) Failing after 20m53s
CI / build (pull_request) Has been skipped
to 0c5a04b031
Some checks failed
CI / type_check (pull_request) Failing after 2s
CI / lint (pull_request) Successful in 1m15s
CI / integration_tests (pull_request) Failing after 1m55s
CI / unit_tests (pull_request) Failing after 21m24s
CI / build (pull_request) Has been skipped
2026-04-01 00:34:16 +00:00
Compare
freemo force-pushed feature/m4-multi-strike from 0c5a04b031
Some checks failed
CI / type_check (pull_request) Failing after 2s
CI / lint (pull_request) Successful in 1m15s
CI / integration_tests (pull_request) Failing after 1m55s
CI / unit_tests (pull_request) Failing after 21m24s
CI / build (pull_request) Has been skipped
to 3f001cc4c0
Some checks failed
CI / type_check (pull_request) Successful in 43s
CI / lint (pull_request) Successful in 1m16s
CI / integration_tests (pull_request) Failing after 1m57s
CI / unit_tests (pull_request) Failing after 20m49s
CI / build (pull_request) Has been skipped
2026-04-01 01:18:05 +00:00
Compare
fix: restore config.yaml and preserve Combat namespace in test stubs
All checks were successful
CI / type_check (pull_request) Successful in 33m8s
CI / lint (pull_request) Successful in 33m41s
CI / integration_tests (pull_request) Successful in 35m19s
CI / unit_tests (pull_request) Successful in 53m15s
CI / build (pull_request) Successful in 40s
6ddac633f8
- Revert config.yaml address from '7' to 127.0.0.1 (fixes server startup)
- Revert config.yaml log_level and start_room to master values
- Fix Combat namespace stubbing in test step definitions to preserve
  existing module contents (CombatAction, ShieldResolver, etc.)
  instead of replacing Aethyr::Core::Combat with an empty stub
- Affected files: slash_steps, kick_command_steps, punch_command_steps,
  simple_block_steps, simple_dodge_steps
freemo merged commit f740bf2b92 into master 2026-04-01 20:37:10 +00:00
freemo deleted branch feature/m4-multi-strike 2026-04-01 20:37:10 +00: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
aethyr/Aethyr!330
No description provided.