AIBotProfile carries the cosmetic metadata the AI rank-battle start endpoint composes into oppo_info. BotRoster.Pick is deterministic per MatchContext so mid-flight retries get the same opponent. ai_id values 4001..4008 are placeholders per the existing ai-start.md TODO — we have no live capture of the prod catalog. Future improvement: migrate Roster to a bot-roster.json seed under SVSim.Bootstrap/Data/seeds/ for editability without rebuilds. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
24 lines
670 B
C#
24 lines
670 B
C#
namespace SVSim.EmulatedEntrypoint.Matching;
|
|
|
|
/// <summary>
|
|
/// Cosmetic + identity metadata for an AI opponent. Used to compose
|
|
/// <c>oppo_info</c> in the <c>/ai_<fmt>_rank_battle/start</c> response.
|
|
/// The wire keys are camelCase (sleeveId, emblemId, etc.) — the DTO handles
|
|
/// the JSON serialization; this record is the internal-facing shape.
|
|
/// </summary>
|
|
public sealed record AIBotProfile(
|
|
int AiId,
|
|
string CountryCode,
|
|
string UserName,
|
|
int SleeveId,
|
|
int EmblemId,
|
|
int DegreeId,
|
|
int FieldId,
|
|
int IsOfficial,
|
|
int ClassId,
|
|
int CharaId,
|
|
int Rank,
|
|
int BattlePoint,
|
|
int IsMasterRank,
|
|
int MasterPoint);
|