feat(combat): implement 9 shield defensive and offensive moves #334

Merged
freemo merged 3 commits from feature/m4-shield-moves into master 2026-04-01 01:51:56 +00:00
Owner

Summary

Implements Issue #277: Add 9 shield defensive and offensive combat moves to the Aethyr combat system.

Shield Moves Added

Basic Repositions (1 AP, Skill Level 1)

  • Block High - Raise shield to block high attacks
  • Block Low - Lower shield to block low attacks
  • Block Right - Shift shield right to block attacks
  • Block Left - Shift shield left to block attacks

Intermediate Techniques (2 AP)

  • Full Guard (Skill 5) - 2x2 area block
  • Shield Bash (Skill 10) - 4 blunt damage with knockback, 1 delay
  • Shield Sweep Right (Skill 10) - Horizontal sweep-block path
  • Shield Sweep Up (Skill 10) - Vertical sweep-block path

Advanced Technique (3 AP)

  • Bulwark (Skill 20) - 3x2 area block

Implementation Details

  • CombatAction class with all 19 required properties per specification
  • Shield module with move lookup by name (multiple formats supported)
  • Helper methods for categorizing moves (defensive, offensive, sweep, area_block, reposition)
  • Skill level and AP cost filtering

Testing

  • 30 unit test scenarios (146 steps) - all passing
  • 9 integration test scenarios (52 steps) - all passing

Closes #277

## Summary Implements Issue #277: Add 9 shield defensive and offensive combat moves to the Aethyr combat system. ### Shield Moves Added **Basic Repositions (1 AP, Skill Level 1)** - Block High - Raise shield to block high attacks - Block Low - Lower shield to block low attacks - Block Right - Shift shield right to block attacks - Block Left - Shift shield left to block attacks **Intermediate Techniques (2 AP)** - Full Guard (Skill 5) - 2x2 area block - Shield Bash (Skill 10) - 4 blunt damage with knockback, 1 delay - Shield Sweep Right (Skill 10) - Horizontal sweep-block path - Shield Sweep Up (Skill 10) - Vertical sweep-block path **Advanced Technique (3 AP)** - Bulwark (Skill 20) - 3x2 area block ### Implementation Details - CombatAction class with all 19 required properties per specification - Shield module with move lookup by name (multiple formats supported) - Helper methods for categorizing moves (defensive, offensive, sweep, area_block, reposition) - Skill level and AP cost filtering ### Testing - 30 unit test scenarios (146 steps) - all passing - 9 integration test scenarios (52 steps) - all passing Closes #277
freemo added this to the v1.3.0 milestone 2026-03-23 05:58:51 +00:00
feat(combat): implement 9 shield defensive and offensive moves
Some checks failed
CI / unit_tests (pull_request) Failing after 16m12s
CI / integration_tests (pull_request) Failing after 16m12s
CI / type_check (pull_request) Failing after 16m48s
CI / lint (pull_request) Failing after 16m48s
CI / build (pull_request) Has been skipped
986b07c7f2
freemo force-pushed feature/m4-shield-moves from 986b07c7f2 to 40558cc1ed 2026-03-31 19:44:07 +00:00 Compare
fix: resolve lint and Sorbet errors for shield-moves PR
Some checks failed
CI / type_check (pull_request) Successful in 42s
CI / lint (pull_request) Successful in 1m10s
CI / integration_tests (pull_request) Failing after 3m53s
CI / unit_tests (pull_request) Failing after 20m53s
CI / build (pull_request) Has been skipped
5ad104e055
freemo force-pushed feature/m4-shield-moves from 5ad104e055 to 742dfac813 2026-03-31 21:13:44 +00:00 Compare
freemo force-pushed feature/m4-shield-moves from 742dfac813 to fa75ca6364 2026-04-01 00:38:52 +00:00 Compare
freemo force-pushed feature/m4-shield-moves from fa75ca6364 to 436531215a 2026-04-01 01:18:07 +00:00 Compare
freemo merged commit 436531215a into master 2026-04-01 01:51:56 +00:00
freemo deleted branch feature/m4-shield-moves 2026-04-01 01:51:56 +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#334
No description provided.