namespace SVSim.BattleNode.Lifecycle;
///
/// Default frame constants templated from TK2 prod captures, shared by the
/// server-authored battle-frame builders. Every value here originated in a real prod
/// frame in data_dumps/captures/battle-traffic_tk2_regular.ndjson; pulling them
/// out of makes the magic numerics navigable and gives
/// the seed a single source of truth instead of two duplicated literals.
///
internal static class BattleFrameDefaults
{
// Shared per the spec — selfInfo.seed and oppoInfo.seed always agree.
// From frame[2] (Matched).
public const long BattleSeed = 17_548_138L;
// 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";
// 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.
public const int ReadyIdxChangeSeed = 771_335_280;
public const int ReadySpin = 243;
///
/// Server-pushed Judge frame spin value. Prod varies per push (55, 175, 73, ...) — it's
/// an animation seed, not a stateful value. Fixed at 100 here for test stability;
/// the client's JudgeOperation doesn't read it.
///
public const int OpponentJudgeSpin = 100;
}