tune(battle-xp): raise defaults to XpPerWin=200 / XpPerLoss=50

Doubles the shipped defaults across all modes without touching per-mode
overrides. Curve interaction against classexp.csv (L1=50, L2=150):
- Win (200 XP): crosses both L1 + L2 → land at L3, Exp=0
- Loss (50 XP): exactly meets L1 → land at L2, Exp=0

Updates every affected test assertion (Practice, Rank, Free, TK2,
Colosseum, Story) for the new level/exp math.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-07-04 09:34:01 -04:00
parent 8199a95356
commit 94ed6734c7
7 changed files with 52 additions and 49 deletions

View File

@@ -137,7 +137,7 @@ public class ArenaTwoPickServiceFinishTests
var result = await svc.RecordBattleResultAsync(vid, isWin: true);
Assert.That(result.BattleResult, Is.EqualTo(1));
Assert.That(result.GetClassExperience, Is.EqualTo(100),
Assert.That(result.GetClassExperience, Is.EqualTo(200),
"Default BattleXpConfig.XpPerWin");
Assert.That(result.AddSpotPoint, Is.EqualTo(10));
var run = await db.ViewerArenaTwoPickRuns.FirstAsync(r => r.ViewerId == vid);
@@ -154,11 +154,11 @@ public class ArenaTwoPickServiceFinishTests
var result = await svc.RecordBattleResultAsync(vid, isWin: false);
Assert.That(result.BattleResult, Is.EqualTo(0));
Assert.That(result.GetClassExperience, Is.EqualTo(25),
Assert.That(result.GetClassExperience, Is.EqualTo(50),
"Default BattleXpConfig.XpPerLoss");
Assert.That(result.ClassExperience, Is.EqualTo(25),
"Fresh viewer with Exp=0, +25 loss XP < curve[1]=50 so no level-up.");
Assert.That(result.ClassLevel, Is.EqualTo(1));
Assert.That(result.ClassExperience, Is.EqualTo(0),
"Fresh viewer with Exp=0, +50 loss XP exactly meets curve[1]=50 → L2, Exp=0.");
Assert.That(result.ClassLevel, Is.EqualTo(2));
}
[Test]