namespace IdleSpectator; public enum NarrativeEventKind { Unknown, BondFormed, BondBroken, ChildBorn, FriendFormed, Kill, Death, RoleChanged, HomeChanged, Founding, WarChanged, PlotChanged } /// One immutable confirmed world observation, shared by all character perspectives. public sealed class NarrativeEventRecord { public string Id = ""; public string DedupeKey = ""; public NarrativeEventKind Kind; public long SubjectId; public LifeSagaIdentity Subject; public long OtherId; public LifeSagaIdentity Other; public string DevelopmentId = ""; public string CorrelationKey = ""; public string FamilyKey = ""; public string CityKey = ""; public string KingdomKey = ""; public string WarKey = ""; public string PlotKey = ""; public string PreviousState = ""; public string NewState = ""; public string Outcome = ""; public string Note = ""; public bool Resolved; public string EvidenceSource = ""; public string DateLabel = ""; public double WorldTime; public float ObservedAt; public float Magnitude; public float Confidence = 1f; } public sealed class NarrativeEventReceipt { public bool IsNew; public string EventId = ""; public string DevelopmentId = ""; public NarrativePresentationModel Presentation; public string RejectionReason = ""; }