Migrate EndDiplomacyResolutionPhaseAction and PerformUnaffiliatedHeroesAction to protoless RandomStateSequencer (#4702)

* Migrate EndDiplomacyResolutionPhaseAction to protoless RandomStateSequencer

- Use ActionResultApplier instead of ActionResultTApplier
- Use RandomStateSequencer instead of LegacyRandomStateTSequencer
- All helper methods now accept GameState instead of GameStateProto
- Removed all proto converter calls
- Updated test to use ActionResultApplierImpl and provide a date

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Convert PerformUnaffiliatedHeroesAction to use protoless RandomStateSequencer

- Migrated from LegacyRandomStateTSequencer to RandomStateSequencer
- Changed from ActionResultTApplier to ActionResultApplier
- Updated RoundPhaseAdvancer to pass actionResultApplier
- Updated test to call .results() directly and convert to proto (matching other migrated action tests)
- Updated DEPROTO_PLAN.md to mark action as migrated

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Update PerformUnaffiliatedHeroesActionTest to use Scala types directly

- Use .results(SeededRandom(...)) instead of resultsOfExecute()
- Assert on ActionResultT types (HeroChangedResultType, ChangedHeroC, ChangedProvinceC)
- Use inside() pattern for safe type matching instead of asInstanceOf
- Add Scala testing patterns guidance to CLAUDE.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Refactor PerformUnaffiliatedHeroesActionTest to use Scala GameState directly

Instead of constructing proto GameState and converting to Scala,
the test now creates Scala GameState directly with all required fields.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-19 09:57:23 -08:00
committed by GitHub
co-authored by Claude Opus 4.5
parent 9adfd84498
commit 314ff83d24
11 changed files with 487 additions and 610 deletions
+2 -2
View File
@@ -159,8 +159,8 @@ Modify `RandomStateTSequencer` to thread Scala `GameState` throughout (currently
| `PerformReconResolutionAction` | ✅ Migrated |
| `NewRoundAction` | ✅ Migrated (PR #4698) |
| `EndBattleAftermathPhaseAction` | ✅ Migrated (PR #4699) |
| `EndDiplomacyResolutionPhaseAction` | 🔄 Pending |
| `PerformUnaffiliatedHeroesAction` | 🔄 Pending |
| `EndDiplomacyResolutionPhaseAction` | ✅ Migrated |
| `PerformUnaffiliatedHeroesAction` | ✅ Migrated |
**TCommandFactory Extraction** (PR #4684):