namespace NeonSprawl.Server.Game.Combat; /// /// Server-internal combat resolution envelope (NEO-81); promoted to wire JSON via cast response extension (NEO-82). /// NEO-84 telemetry hook sites live in . /// is catalog damage applied on success; zero on deny. /// is authoritative HP after success; optional on deny (e.g. zero on target_defeated). /// is true when post-resolve HP is zero on success; false on deny. /// public readonly record struct CombatResult( bool Success, string? ReasonCode, int DamageDealt, int? TargetRemainingHp, bool TargetDefeated);