using System.Text.Json.Serialization; namespace NeonSprawl.Server.Game.Mastery; /// POST body for POST /game/players/{{id}}/__dev/mastery-fixture (NEO-48 Bruno/manual QA). public sealed class MasteryFixtureRequest { public const int CurrentSchemaVersion = 1; [JsonPropertyName("schemaVersion")] public int SchemaVersion { get; init; } /// When true, clears all branch picks and unlocked perks for the player. [JsonPropertyName("resetPerkState")] public bool ResetPerkState { get; init; } /// Absolute XP totals to set per skillId (omitted skills unchanged). [JsonPropertyName("skillXp")] public Dictionary? SkillXp { get; init; } } public sealed class MasteryFixtureResponse { public const int CurrentSchemaVersion = 1; [JsonPropertyName("schemaVersion")] public int SchemaVersion { get; init; } = CurrentSchemaVersion; [JsonPropertyName("applied")] public bool Applied { get; init; } }