using System.Text.Json.Serialization; namespace NeonSprawl.Server.Game.Combat; /// JSON body for GET /game/world/combat-targets (NEO-83). public sealed class CombatTargetsListResponse { public const int CurrentSchemaVersion = 1; [JsonPropertyName("schemaVersion")] public int SchemaVersion { get; init; } = CurrentSchemaVersion; /// Prototype combat dummies ordered by stable targetId (ordinal). [JsonPropertyName("targets")] public required IReadOnlyList Targets { get; init; } } /// One row in the read-only combat target HP projection. public sealed class CombatTargetJson { [JsonPropertyName("targetId")] public required string TargetId { get; init; } [JsonPropertyName("maxHp")] public required int MaxHp { get; init; } [JsonPropertyName("currentHp")] public required int CurrentHp { get; init; } [JsonPropertyName("defeated")] public required bool Defeated { get; init; } }