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:
@@ -632,12 +632,12 @@ public class StoryServiceTests
|
||||
Assert.That(resp.RewardList[0].RewardNum, Is.EqualTo("100"));
|
||||
// Story XP resolves via DI-registered IBattleXpService → real IGameConfigService
|
||||
// (the local NewConfigService mock is passed to StoryService but the XP service
|
||||
// pulls its own config from DI). BattleXpConfig.ShippedDefaults(): XpPerWin=100,
|
||||
// StoryXpPerClear=null → falls back to XpPerWin=100. Curve L1=50, so 100 XP
|
||||
// → L2 with 50 carry.
|
||||
Assert.That(resp.GetClassExperience, Is.EqualTo("100"));
|
||||
Assert.That(resp.ClassExperience, Is.EqualTo(50));
|
||||
Assert.That(resp.ClassLevel, Is.EqualTo("2"));
|
||||
// pulls its own config from DI). BattleXpConfig.ShippedDefaults(): XpPerWin=200,
|
||||
// StoryXpPerClear=null → falls back to XpPerWin=200. Curve L1=50, L2=150 → 200 XP
|
||||
// crosses both thresholds: L3 with 0.
|
||||
Assert.That(resp.GetClassExperience, Is.EqualTo("200"));
|
||||
Assert.That(resp.ClassExperience, Is.EqualTo(0));
|
||||
Assert.That(resp.ClassLevel, Is.EqualTo("3"));
|
||||
_viewer.Verify(v => v.UpsertProgressAsync(viewerId, 100, true, null), Times.Once);
|
||||
|
||||
// Confirm currency + class XP persisted: fetch fresh viewer from a new scope.
|
||||
@@ -648,8 +648,8 @@ public class StoryServiceTests
|
||||
.FirstAsync(v => v.Id == viewerId);
|
||||
Assert.That(freshViewer.Currency.RedEther, Is.EqualTo(100UL));
|
||||
var cls2 = freshViewer.Classes.Single(c => c.Class.Id == 2);
|
||||
Assert.That(cls2.Level, Is.EqualTo(2));
|
||||
Assert.That(cls2.Exp, Is.EqualTo(50));
|
||||
Assert.That(cls2.Level, Is.EqualTo(3));
|
||||
Assert.That(cls2.Exp, Is.EqualTo(0));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user