refactor(battle-xp): retire ArenaTwoPickConfig.ClassXpPerBattle for shared BattleXpService

- ArenaTwoPickService now delegates class-XP grants to IBattleXpService
  with BattleXpMode.ArenaTwoPick. Inline GrantClassXp/ResolveClassLevel
  helpers deleted.
- ClassXpPerBattle field removed from ArenaTwoPickConfig; TK2 XP now
  configurable via ArenaTwoPickXpPerWin/XpPerLoss overrides or the global
  BattleXpConfig defaults (100/25).
- Updated 5 test files (ArenaTwoPickService callers) for the new
  constructor arg. Added loss-XP assertion to Finish tests.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-07-04 08:54:52 -04:00
parent 81771bb0a0
commit f85f221bfa
7 changed files with 31 additions and 23 deletions

View File

@@ -82,6 +82,6 @@ public class ArenaTwoPickServiceTopTests
{
// GetTopAsync only uses _runs — every other dep can be null! because the test path
// never touches them.
return new ArenaTwoPickService(runRepo, null!, null!, null!, null!, null!, null!, db);
return new ArenaTwoPickService(runRepo, null!, null!, null!, null!, null!, null!, null!, db);
}
}