feat(config): wire /config/update + /config/update_challenge_config (closes family 4/4)
is_skip_gacha_effect, use_challenge_two_pick_premium_card, and challenge_two_pick_sleeve_id all persist on ViewerInfo and round-trip through /load/index. The two challenge fields move from the global ChallengeConfig section to ViewerInfo — they're viewer preferences, not server-wide policy. Premium card defaults to 0; sleeve falls back to DefaultLoadoutConfig.SleeveId (3000011) when unset. MatchContextBuilder's TK2 sleeve read switches to the same viewer-scoped path. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -68,8 +68,9 @@ public class MatchContextBuilderTests
|
||||
// Hardcoded v1 fixtures (see spec §Deferred plumbing)
|
||||
Assert.That(ctx.CardMasterName, Is.EqualTo("card_master_node_10015"));
|
||||
Assert.That(ctx.FieldId, Is.EqualTo(43));
|
||||
// Sleeve comes from ChallengeConfig.TwoPickSleeveId — ShippedDefaults is 0.
|
||||
Assert.That(ctx.SleeveId, Is.EqualTo("0"));
|
||||
// Sleeve falls back to DefaultLoadoutConfig.SleeveId when the viewer hasn't set
|
||||
// a challenge-specific one via /config/update_challenge_config.
|
||||
Assert.That(ctx.SleeveId, Is.EqualTo("3000011"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
||||
Reference in New Issue
Block a user