using System.Text.Json.Serialization; using Core.Models.Eft.Common; using Core.Models.Eft.Common.Tables; using Core.Models.Enums; namespace Core.Models.Eft.Match; public class EndLocalRaidRequestData { /// /// ID of server player just left /// [JsonPropertyName("serverId")] public string ServerId { get; set; } [JsonPropertyName("results")] public EndRaidResult Results { get; set; } /// /// Insured items left in raid by player /// [JsonPropertyName("lostInsuredItems")] public List LostInsuredItems { get; set; } /// /// Items sent via traders to player, keyed to service e.g. BTRTransferStash /// [JsonPropertyName("transferItems")] public Dictionary> TransferItems { get; set; } [JsonPropertyName("locationTransit")] public LocationTransit LocationTransit { get; set; } } public class EndRaidResult { public PmcData Profile { get; set; } /// /// "Survived/Transit" etc /// [JsonPropertyName("result")] public ExitStatus Result { get; set; } [JsonPropertyName("killerId")] public string KillerId { get; set; } [JsonPropertyName("killerAid")] public string KillerAid { get; set; } /// /// "Gate 3" etc /// [JsonPropertyName("exitName")] public string ExitName { get; set; } [JsonPropertyName("inSession")] public bool InSession { get; set; } [JsonPropertyName("favorite")] public bool Favorite { get; set; } /// /// Seconds in raid /// [JsonPropertyName("playTime")] public int PlayTime { get; set; } } public class LocationTransit { [JsonPropertyName("hash")] public string Hash { get; set; } [JsonPropertyName("playersCount")] public int PlayersCount { get; set; } [JsonPropertyName("ip")] public string Ip { get; set; } [JsonPropertyName("location")] public string Location { get; set; } [JsonPropertyName("profiles")] public Dictionary Profiles { get; set; } [JsonPropertyName("transitionRaidId")] public string TransitionRaidId { get; set; } [JsonPropertyName("raidMode")] public string RaidMode { get; set; } [JsonPropertyName("side")] public string Side { get; set; } [JsonPropertyName("dayTime")] public string DayTime { get; set; } /// /// The location player last visited /// [JsonPropertyName("sptLastVisitedLocation")] public string SptLastVisitedLocation { get; set; } /// /// Name of exit taken /// [JsonPropertyName("sptExitName")] public string? SptExitName { get; set; } } public class TransitProfile { [JsonPropertyName("_id")] public string Id { get; set; } [JsonPropertyName("keyId")] public string KeyId { get; set; } [JsonPropertyName("isSolo")] public bool IsSolo { get; set; } }