16 lines
752 B
C#
16 lines
752 B
C#
namespace NeonSprawl.Server.Game.Combat;
|
|
|
|
/// <summary>
|
|
/// Server-internal combat resolution envelope (NEO-81); promoted to wire JSON via cast response extension (NEO-82).
|
|
/// NEO-84 telemetry hook sites live in <see cref="CombatOperations.TryResolve"/>.
|
|
/// <see cref="DamageDealt"/> is catalog damage applied on success; zero on deny.
|
|
/// <see cref="TargetRemainingHp"/> is authoritative HP after success; optional on deny (e.g. zero on <c>target_defeated</c>).
|
|
/// <see cref="TargetDefeated"/> is <c>true</c> when post-resolve HP is zero on success; <c>false</c> on deny.
|
|
/// </summary>
|
|
public readonly record struct CombatResult(
|
|
bool Success,
|
|
string? ReasonCode,
|
|
int DamageDealt,
|
|
int? TargetRemainingHp,
|
|
bool TargetDefeated);
|