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

17 lines
716 B
C#

namespace NeonSprawl.Server.Game.Encounters;
/// <summary>
/// Internal completion payload returned on successful encounter grant (NEO-105).
/// Persisted via <see cref="IEncounterCompleteEventStore"/> on success (NEO-107).
/// E7.M2 quest-credit routing consumes this record (hook stub on NEO-107).
/// NEO-109 telemetry: <c>encounter_complete</c> / <c>reward_attribution</c> hook sites in
/// <see cref="EncounterCompletionOperations.TryCompleteAndGrant"/>.
/// </summary>
public readonly record struct EncounterCompleteEvent(
string PlayerId,
string EncounterId,
string RewardTableId,
IReadOnlyList<EncounterGrantApplied> GrantedItems,
DateTimeOffset CompletedAt,
string IdempotencyKey);