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

@@ -128,10 +128,10 @@ public class FreeBattleControllerTests
using var doc = JsonDocument.Parse(raw);
var data = doc.RootElement;
Assert.That(data.GetProperty("battle_result").GetInt32(), Is.EqualTo(1));
// XpPerWin=100, classexp.csv L1=50 L2 with 50 carry.
Assert.That(data.GetProperty("get_class_experience").GetInt32(), Is.EqualTo(100));
Assert.That(data.GetProperty("class_experience").GetInt32(), Is.EqualTo(50));
Assert.That(data.GetProperty("class_level").GetInt32(), Is.EqualTo(2));
// XpPerWin=200; classexp.csv L1=50, L2=150 → 200 XP crosses both: L3, Exp=0.
Assert.That(data.GetProperty("get_class_experience").GetInt32(), Is.EqualTo(200));
Assert.That(data.GetProperty("class_experience").GetInt32(), Is.EqualTo(0));
Assert.That(data.GetProperty("class_level").GetInt32(), Is.EqualTo(3));
// Strict subset — no rank fields. The client doesn't read them on free-battle
// finish; emitting them would be wire-format pollution.
@@ -153,9 +153,10 @@ public class FreeBattleControllerTests
using var doc = JsonDocument.Parse(await resp.Content.ReadAsStringAsync());
Assert.That(doc.RootElement.GetProperty("battle_result").GetInt32(), Is.EqualTo(2));
Assert.That(doc.RootElement.GetProperty("get_class_experience").GetInt32(), Is.EqualTo(25));
Assert.That(doc.RootElement.GetProperty("class_experience").GetInt32(), Is.EqualTo(25));
Assert.That(doc.RootElement.GetProperty("class_level").GetInt32(), Is.EqualTo(1));
// XpPerLoss=50 exactly meets L1 threshold → L2, Exp=0.
Assert.That(doc.RootElement.GetProperty("get_class_experience").GetInt32(), Is.EqualTo(50));
Assert.That(doc.RootElement.GetProperty("class_experience").GetInt32(), Is.EqualTo(0));
Assert.That(doc.RootElement.GetProperty("class_level").GetInt32(), Is.EqualTo(2));
}
[Test]