diff --git a/SVSim.BattleNode/Lifecycle/ScriptedProfiles.cs b/SVSim.BattleNode/Lifecycle/ScriptedProfiles.cs index 386a474..b41c100 100644 --- a/SVSim.BattleNode/Lifecycle/ScriptedProfiles.cs +++ b/SVSim.BattleNode/Lifecycle/ScriptedProfiles.cs @@ -1,5 +1,3 @@ -using SVSim.BattleNode.Protocol.Bodies; - namespace SVSim.BattleNode.Lifecycle; /// @@ -15,32 +13,11 @@ internal static class ScriptedProfiles // From frame[2] (Matched). public const long BattleSeed = 17_548_138L; - public static readonly MatchedOppoInfo OpponentMatchedProfile = new( - CountryCode: "JPN", - UserName: "Opponent", - SleeveId: "704141010", - EmblemId: "400001100", - DegreeId: "120027", - FieldId: 5, - IsOfficial: 0, - OppoId: 0, - Seed: BattleSeed, - OppoDeckCount: 30); - // From frame[5] (BattleStart). Hardcoded; see spec §Deferred plumbing — sourcing these // from real per-viewer state needs a TK2 rank/battle-point tracker. public const string PlayerRank = "10"; public const string PlayerBattlePoint = "6270"; - public static readonly BattleStartOppoInfo OpponentBattleStartProfile = new( - Rank: "1", - IsMasterRank: "0", - BattlePoint: 0, - MasterPoint: "0", - ClassId: "8", - CharaId: "8", - CardMasterName: "card_master_node_10015"); - // From frame[8] (Ready). Provenance is "what prod sent"; the client // doesn't validate, but echoing matches the capture protects against // a regression on a future tightening. diff --git a/SVSim.BattleNode/Sessions/Participants/ScriptedBotParticipant.cs b/SVSim.BattleNode/Sessions/Participants/ScriptedBotParticipant.cs index 5872e9c..9d3176d 100644 --- a/SVSim.BattleNode/Sessions/Participants/ScriptedBotParticipant.cs +++ b/SVSim.BattleNode/Sessions/Participants/ScriptedBotParticipant.cs @@ -23,12 +23,12 @@ public sealed class ScriptedBotParticipant : IBattleParticipant { public long ViewerId => ScriptedLifecycle.FakeOpponentViewerId; public MatchContext Context { get; } = new( - // 30 dummy card ids so oppoCtx.SelfDeckCardIds.Count == 30 (matches the - // hardcoded OppoDeckCount that ScriptedProfiles.OpponentMatchedProfile shipped). + // 30 dummy card ids so oppoCtx.SelfDeckCardIds.Count == 30 — prod frame[2] (Matched) + // shipped OppoDeckCount: 30. SelfDeckCardIds: Enumerable.Range(1, 30).Select(_ => 0L).ToList(), - // BattleStart opponent half: ClassId/CharaId from ScriptedProfiles.OpponentBattleStartProfile. + // BattleStart opponent half (frame[5]): ClassId/CharaId both "8" (neutral test class). ClassId: "8", CharaId: "8", CardMasterName: "card_master_node_10015", - // Matched opponent half: cosmetic fields from ScriptedProfiles.OpponentMatchedProfile. + // Matched opponent half (frame[2]): cosmetic fields from the prod capture. CountryCode: "JPN", UserName: "Opponent", SleeveId: "704141010", EmblemId: "400001100", DegreeId: "120027", FieldId: 5, IsOfficial: 0, BattleType: 0);