neon-sprawl/server/NeonSprawl.Server/Game/Encounters/EncounterCompletionResult.cs

16 lines
710 B
C#

namespace NeonSprawl.Server.Game.Encounters;
/// <summary>
/// Server-internal encounter completion resolution envelope (NEO-105).
/// Combat wiring promotes via NEO-106; HTTP DTOs via NEO-108.
/// NEO-109 telemetry hook sites live in <see cref="EncounterCompletionOperations.TryCompleteAndGrant"/>.
/// <see cref="GrantsApplied"/> is item grants on success; empty when denied.
/// <see cref="CompleteEvent"/> is completion payload on success; null when denied.
/// </summary>
public readonly record struct EncounterCompletionResult(
bool Success,
string? ReasonCode,
IReadOnlyList<EncounterGrantApplied> GrantsApplied,
EncounterCompleteEvent? CompleteEvent,
DateTimeOffset? CompletedAt);