added more types and callbacks filled in

This commit is contained in:
CWX
2025-01-07 11:40:15 +00:00
parent cfcd724ebe
commit 08dbd33f62
41 changed files with 1121 additions and 16 deletions
+15 -2
View File
@@ -1,8 +1,21 @@
namespace Core.Callbacks;
using Core.Models.Eft.HttpResponse;
using Core.Models.Eft.ItemEvent;
namespace Core.Callbacks;
public class ItemEventCallbacks
{
public GetBodyResponseData<ItemEventRouterResponse> HandleEvents(string url, ItemEventRouterRequest info, string sessionID)
public async Task<GetBodyResponseData<ItemEventRouterResponse>> HandleEvents(string url, ItemEventRouterRequest info, string sessionID)
{
throw new NotImplementedException();
}
public bool IsCriticalError(List<Warning> warnings)
{
throw new NotImplementedException();
}
public int GetErrorCode(List<Warning> warnings)
{
throw new NotImplementedException();
}
+15 -12
View File
@@ -1,4 +1,7 @@
namespace Core.Callbacks;
using Core.Models.Eft.Common;
using Core.Models.Eft.Launcher;
namespace Core.Callbacks;
public class LauncherCallbacks
{
@@ -37,22 +40,12 @@ public class LauncherCallbacks
throw new NotImplementedException();
}
public string GetMiniProfile(string url, GetMiniProfileRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public string GetAllMiniProfiles(string url, object info, string sessionID)
{
throw new NotImplementedException();
}
public string GetServerVersion()
{
throw new NotImplementedException();
}
public string Ping(string url, object info, string sessionID)
public string Ping(string url, EmptyRequestData info, string sessionID)
{
throw new NotImplementedException();
}
@@ -66,4 +59,14 @@ public class LauncherCallbacks
{
throw new NotImplementedException();
}
public string GetLoadedServerMods()
{
throw new NotImplementedException();
}
public string GetServerModsProfileUsed(string url, EmptyRequestData info, string sessionID)
{
throw new NotImplementedException();
}
}
+5 -2
View File
@@ -1,15 +1,18 @@
using Core.Models.Eft.Common;
using Core.Models.Eft.Common.Tables;
using Core.Models.Eft.HttpResponse;
using Core.Models.Eft.Location;
namespace Core.Callbacks;
public class LocationCallbacks
{
public GetBodyResponseData<LocationsGenerateAllResponse> GetLocationData(string url, object info, string sessionID)
public GetBodyResponseData<LocationsGenerateAllResponse> GetLocationData(string url, EmptyRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<LocationBase> GetLocation(string url, GetLocationRequestData info, string sessionID)
public GetBodyResponseData<GetAirdropLootResponse> GetAirdropLoot(string url, GetAirdropLootRequest info, string sessionID)
{
throw new NotImplementedException();
}
+144
View File
@@ -0,0 +1,144 @@
using Core.Models.Eft.Common;
using Core.Models.Eft.Common.Tables;
using Core.Models.Eft.HttpResponse;
using Core.Models.Eft.Match;
namespace Core.Callbacks;
public class MatchCallbacks
{
public NullResponseData UpdatePing(string url, EmptyRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public NullResponseData ExitMatch(string url, EmptyRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public NullResponseData ExitFromMenu(string url, EmptyRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<MatchGroupCurrentResponse> GroupCurrent(string url, EmptyRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public NullResponseData StartGroupSearch(string url, EmptyRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public NullResponseData StopGroupSearch(string url, EmptyRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<string> SendGroupInvite(string url, MatchGroupInviteSendRequest info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<List<GroupCharacter>> AcceptGroupInvite(string url, RequestIdRequest info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<bool> DeclineGroupInvite(string url, RequestIdRequest info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<bool> CancelGroupInvite(string url, RequestIdRequest info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<bool> TransferGroup(string url, MatchGroupTransferRequest info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<bool> CancelAllGroupInvite(string url, EmptyRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public NullResponseData PutMetrics(string url, PutMetricsRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public NullResponseData EventDisconnect(string url, PutMetricsRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<bool> ServerAvailable(string url, EmptyRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<ProfileStatusResponse> JoinMatch(string url, MatchGroupStartGameRequest info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<Metrics> GetMetrics(string url, object info, string sessionID) // TODO: No type given
{
throw new NotImplementedException();
}
public GetBodyResponseData<MatchGroupStatusResponse> GetGroupStatus(string url, MatchGroupStatusRequest info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<bool> DeleteGroup(string url, EmptyRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<bool> LeaveGroup(string url, EmptyRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<bool> RemovePlayerFromGroup(string url, MatchGroupPlayerRemoveRequest info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<StartLocalRaidResponseData> StartLocalRaid(string url, StartLocalRaidRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public NullResponseData EndLocalRaid(string url, EndLocalRaidRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public NullResponseData GetRaidConfiguration(string url, GetRaidConfigurationRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public NullResponseData GetConfigurationByProfile(string url, GetRaidConfigurationRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<bool> RaidReady(string url, EmptyRequestData info, string sessionID)
{
throw new NotImplementedException();
}
public GetBodyResponseData<bool> NotRaidReady(string url, EmptyRequestData info, string sessionID)
{
throw new NotImplementedException();
}
}
@@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Common.Tables;
public class LocationsGenerateAllResponse
{
[JsonPropertyName("locations")]
public Locations Locations { get; set; }
[JsonPropertyName("paths")]
public List<Path> Paths { get; set; }
}
@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Launcher;
public class ChangeRequestData : LoginRequestData
{
[JsonPropertyName("change")]
public string Change { get; set; }
}
@@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Launcher;
public class LoginRequestData
{
[JsonPropertyName("username")]
public string Username { get; set; }
[JsonPropertyName("password")]
public string Password { get; set; }
}
+9
View File
@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Launcher;
public class RegisterData : LoginRequestData
{
[JsonPropertyName("edition")]
public string Edition { get; set; }
}
@@ -0,0 +1,6 @@
namespace Core.Models.Eft.Launcher;
public class RemoveProfileData : LoginRequestData
{
}
@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Location;
public class GetAirdropLootRequest
{
[JsonPropertyName("containerId")]
public string ContainerId { get; set; }
}
@@ -0,0 +1,15 @@
using System.Text.Json.Serialization;
using Core.Models.Eft.Common.Tables;
using Core.Models.Enums;
namespace Core.Models.Eft.Location;
public class GetAirdropLootResponse
{
// The type of airdrop
[JsonPropertyName("icon")]
public AirdropTypeEnum Icon { get; set; }
[JsonPropertyName("container")]
public List<Item> Container { get; set; }
}
@@ -0,0 +1,122 @@
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
{
/// <summary>
/// ID of server player just left
/// </summary>
[JsonPropertyName("serverId")]
public string ServerId { get; set; }
[JsonPropertyName("results")]
public EndRaidResult Results { get; set; }
/// <summary>
/// Insured items left in raid by player
/// </summary>
[JsonPropertyName("lostInsuredItems")]
public List<Item> LostInsuredItems { get; set; }
/// <summary>
/// Items sent via traders to player, keyed to service e.g. BTRTransferStash
/// </summary>
[JsonPropertyName("transferItems")]
public Dictionary<string, List<Item>> TransferItems { get; set; }
[JsonPropertyName("locationTransit")]
public LocationTransit LocationTransit { get; set; }
}
public class EndRaidResult
{
public PmcData Profile { get; set; }
/// <summary>
/// "Survived/Transit" etc
/// </summary>
[JsonPropertyName("result")]
public ExitStatus Result { get; set; }
[JsonPropertyName("killerId")]
public string KillerId { get; set; }
[JsonPropertyName("killerAid")]
public string KillerAid { get; set; }
/// <summary>
/// "Gate 3" etc
/// </summary>
[JsonPropertyName("exitName")]
public string ExitName { get; set; }
[JsonPropertyName("inSession")]
public bool InSession { get; set; }
[JsonPropertyName("favorite")]
public bool Favorite { get; set; }
/// <summary>
/// Seconds in raid
/// </summary>
[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<string, TransitProfile> 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; }
/// <summary>
/// The location player last visited
/// </summary>
[JsonPropertyName("sptLastVisitedLocation")]
public string SptLastVisitedLocation { get; set; }
/// <summary>
/// Name of exit taken
/// </summary>
[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; }
}
@@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Match;
public class GetRaidConfigurationRequestData : RaidSettings
{
[JsonPropertyName("keyId")]
public string KeyId { get; set; }
[JsonPropertyName("MaxGroupCount")]
public int MaxGroupCount { get; set; }
}
+113
View File
@@ -0,0 +1,113 @@
using System.Text.Json.Serialization;
using Core.Models.Eft.Common.Tables;
using Core.Models.Enums;
namespace Core.Models.Eft.Match;
public class GroupCharacter
{
[JsonPropertyName("_id")]
public string Id { get; set; }
[JsonPropertyName("aid")]
public int Aid { get; set; }
[JsonPropertyName("Info")]
public CharacterInfo Info { get; set; }
[JsonPropertyName("PlayerVisualRepresentation")]
public PlayerVisualRepresentation? VisualRepresentation { get; set; }
[JsonPropertyName("isLeader")]
public bool IsLeader { get; set; }
[JsonPropertyName("isReady")]
public bool? IsReady { get; set; }
[JsonPropertyName("region")]
public string? Region { get; set; }
[JsonPropertyName("lookingGroup")]
public bool? LookingGroup { get; set; }
}
public class CharacterInfo
{
[JsonPropertyName("Nickname")]
public string Nickname { get; set; }
[JsonPropertyName("Side")]
public string Side { get; set; }
[JsonPropertyName("Level")]
public int Level { get; set; }
[JsonPropertyName("MemberCategory")]
public MemberCategory MemberCategory { get; set; }
[JsonPropertyName("GameVersion")]
public string? GameVersion { get; set; }
[JsonPropertyName("SavageLockTime")]
public int? SavageLockTime { get; set; }
[JsonPropertyName("SavageNickname")]
public string? SavageNickname { get; set; }
[JsonPropertyName("hasCoopExtension")]
public bool? HasCoopExtension { get; set; }
}
public class PlayerVisualRepresentation
{
[JsonPropertyName("Info")]
public VisualInfo Info { get; set; }
[JsonPropertyName("Customization")]
public Customization Customization { get; set; }
[JsonPropertyName("Equipment")]
public Equipment Equipment { get; set; }
}
public class VisualInfo
{
[JsonPropertyName("Side")]
public string Side { get; set; }
[JsonPropertyName("Level")]
public int Level { get; set; }
[JsonPropertyName("Nickname")]
public string Nickname { get; set; }
[JsonPropertyName("MemberCategory")]
public MemberCategory MemberCategory { get; set; }
[JsonPropertyName("GameVersion")]
public string GameVersion { get; set; }
}
public class Customization
{
[JsonPropertyName("Head")]
public string Head { get; set; }
[JsonPropertyName("Body")]
public string Body { get; set; }
[JsonPropertyName("Feet")]
public string Feet { get; set; }
[JsonPropertyName("Hands")]
public string Hands { get; set; }
}
public class Equipment
{
[JsonPropertyName("Id")]
public string Id { get; set; }
[JsonPropertyName("Items")]
public List<Item> Items { get; set; }
}
@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Match;
public class MatchGroupCurrentResponse
{
[JsonPropertyName("squad")]
public List<GroupCharacter> Squad { get; set; }
}
@@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Match;
public class MatchGroupInviteSendRequest
{
[JsonPropertyName("to")]
public string To { get; set; }
[JsonPropertyName("inLobby")]
public bool InLobby { get; set; }
}
@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Match;
public class MatchGroupPlayerRemoveRequest
{
[JsonPropertyName("aidToKick")]
public string AidToKick { get; set; }
}
@@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Match;
public class MatchGroupStartGameRequest
{
[JsonPropertyName("groupId")]
public string GroupId { get; set; }
[JsonPropertyName("servers")]
public List<Server> Servers { get; set; }
}
@@ -0,0 +1,25 @@
using System.Text.Json.Serialization;
using Core.Models.Enums;
namespace Core.Models.Eft.Match;
public class MatchGroupStatusRequest
{
[JsonPropertyName("location")]
public string Location { get; set; }
[JsonPropertyName("savage")]
public bool IsSavage { get; set; }
[JsonPropertyName("dt")]
public string DateTime { get; set; }
[JsonPropertyName("keyId")]
public string KeyId { get; set; }
[JsonPropertyName("raidMode")]
public RaidMode RaidMode { get; set; }
[JsonPropertyName("spawnPlace")]
public string SpawnPlace { get; set; }
}
@@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Match;
public class MatchGroupStatusResponse
{
[JsonPropertyName("players")]
public List<GroupCharacter> Players { get; set; }
[JsonPropertyName("maxPveCountExceeded")]
public bool MaxPveCountExceeded { get; set; }
}
@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Match;
public class MatchGroupTransferRequest
{
[JsonPropertyName("aidToChange")]
public string AidToChange { get; set; }
}
@@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Match;
public class ProfileStatusResponse
{
[JsonPropertyName("maxPveCountExceeded")]
public bool MaxPveCountExceeded { get; set; }
[JsonPropertyName("profiles")]
public List<SessionStatus> Profiles { get; set; }
}
@@ -0,0 +1,162 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Match;
public class PutMetricsRequestData
{
[JsonPropertyName("sid")]
public string SessionId { get; set; }
[JsonPropertyName("settings")]
public object Settings { get; set; }
[JsonPropertyName("SharedSettings")]
public SharedSettings SharedSettings { get; set; }
[JsonPropertyName("HardwareDescription")]
public HardwareDescription HardwareDescription { get; set; }
[JsonPropertyName("Location")]
public string Location { get; set; }
[JsonPropertyName("Metrics")]
public object Metrics { get; set; }
[JsonPropertyName("ClientEvents")]
public ClientEvents ClientEvents { get; set; }
[JsonPropertyName("SpikeSamples")]
public List<object> SpikeSamples { get; set; }
[JsonPropertyName("mode")]
public string Mode { get; set; }
}
public class SharedSettings
{
[JsonPropertyName("StatedFieldOfView")]
public double StatedFieldOfView { get; set; }
}
public class HardwareDescription
{
[JsonPropertyName("deviceUniqueIdentifier")]
public string DeviceUniqueIdentifier { get; set; }
[JsonPropertyName("systemMemorySize")]
public double SystemMemorySize { get; set; }
[JsonPropertyName("graphicsDeviceID")]
public double GraphicsDeviceId { get; set; }
[JsonPropertyName("graphicsDeviceName")]
public string GraphicsDeviceName { get; set; }
[JsonPropertyName("graphicsDeviceType")]
public string GraphicsDeviceType { get; set; }
[JsonPropertyName("graphicsDeviceVendor")]
public string GraphicsDeviceVendor { get; set; }
[JsonPropertyName("graphicsDeviceVendorID")]
public double GraphicsDeviceVendorId { get; set; }
[JsonPropertyName("graphicsDeviceVersion")]
public string GraphicsDeviceVersion { get; set; }
[JsonPropertyName("graphicsMemorySize")]
public double GraphicsMemorySize { get; set; }
[JsonPropertyName("graphicsMultiThreaded")]
public bool GraphicsMultiThreaded { get; set; }
[JsonPropertyName("graphicsShaderLevel")]
public double GraphicsShaderLevel { get; set; }
[JsonPropertyName("operatingSystem")]
public string OperatingSystem { get; set; }
[JsonPropertyName("processorCount")]
public double ProcessorCount { get; set; }
[JsonPropertyName("processorFrequency")]
public double ProcessorFrequency { get; set; }
[JsonPropertyName("processorType")]
public string ProcessorType { get; set; }
[JsonPropertyName("driveType")]
public string DriveType { get; set; }
[JsonPropertyName("swapDriveType")]
public string SwapDriveType { get; set; }
}
public class ClientEvents
{
[JsonPropertyName("MatchingCompleted")]
public double MatchingCompleted { get; set; }
[JsonPropertyName("MatchingCompletedReal")]
public double MatchingCompletedReal { get; set; }
[JsonPropertyName("LocationLoaded")]
public double LocationLoaded { get; set; }
[JsonPropertyName("LocationLoadedReal")]
public double LocationLoadedReal { get; set; }
[JsonPropertyName("GamePrepared")]
public double GamePrepared { get; set; }
[JsonPropertyName("GamePreparedReal")]
public double GamePreparedReal { get; set; }
[JsonPropertyName("GameCreated")]
public double GameCreated { get; set; }
[JsonPropertyName("GameCreatedReal")]
public double GameCreatedReal { get; set; }
[JsonPropertyName("GamePooled")]
public double GamePooled { get; set; }
[JsonPropertyName("GamePooledReal")]
public double GamePooledReal { get; set; }
[JsonPropertyName("GameRunned")]
public double GameRunned { get; set; }
[JsonPropertyName("GameRunnedReal")]
public double GameRunnedReal { get; set; }
[JsonPropertyName("GameSpawn")]
public double GameSpawn { get; set; }
[JsonPropertyName("GameSpawnReal")]
public double GameSpawnReal { get; set; }
[JsonPropertyName("PlayerSpawnEvent")]
public double PlayerSpawnEvent { get; set; }
[JsonPropertyName("PlayerSpawnEventReal")]
public double PlayerSpawnEventReal { get; set; }
[JsonPropertyName("GameSpawned")]
public double GameSpawned { get; set; }
[JsonPropertyName("GameSpawnedReal")]
public double GameSpawnedReal { get; set; }
[JsonPropertyName("GameStarting")]
public double GameStarting { get; set; }
[JsonPropertyName("GameStartingReal")]
public double GameStartingReal { get; set; }
[JsonPropertyName("GameStarted")]
public double GameStarted { get; set; }
[JsonPropertyName("GameStartedReal")]
public double GameStartedReal { get; set; }
}
+96
View File
@@ -0,0 +1,96 @@
using System.Text.Json.Serialization;
using Core.Models.Enums;
using Core.Models.Enums.RaidSettings;
using Core.Models.Enums.RaidSettings.TimeAndWeather;
namespace Core.Models.Eft.Match;
public class RaidSettings
{
[JsonPropertyName("keyId")]
public string KeyId { get; set; }
[JsonPropertyName("location")]
public string Location { get; set; }
[JsonPropertyName("isLocationTransition")]
public bool IsLocationTransition { get; set; }
[JsonPropertyName("timeVariant")]
public DateTime TimeVariant { get; set; }
[JsonPropertyName("metabolismDisabled")]
public bool MetabolismDisabled { get; set; }
[JsonPropertyName("timeAndWeatherSettings")]
public TimeAndWeatherSettings TimeAndWeatherSettings { get; set; }
[JsonPropertyName("botSettings")]
public BotSettings BotSettings { get; set; }
[JsonPropertyName("wavesSettings")]
public WavesSettings WavesSettings { get; set; }
[JsonPropertyName("side")]
public SideType Side { get; set; }
[JsonPropertyName("raidMode")]
public RaidMode RaidMode { get; set; }
[JsonPropertyName("playersSpawnPlace")]
public PlayersSpawnPlace PlayersSpawnPlace { get; set; }
[JsonPropertyName("canShowGroupPreview")]
public bool CanShowGroupPreview { get; set; }
}
public class TimeAndWeatherSettings
{
[JsonPropertyName("isRandomTime")]
public bool IsRandomTime { get; set; }
[JsonPropertyName("isRandomWeather")]
public bool IsRandomWeather { get; set; }
[JsonPropertyName("cloudinessType")]
public CloudinessType CloudinessType { get; set; }
[JsonPropertyName("rainType")]
public RainType RainType { get; set; }
[JsonPropertyName("fogType")]
public FogType FogType { get; set; }
[JsonPropertyName("windType")]
public WindSpeed WindType { get; set; }
[JsonPropertyName("timeFlowType")]
public TimeFlowType TimeFlowType { get; set; }
[JsonPropertyName("hourOfDay")]
public int HourOfDay { get; set; }
}
public class BotSettings
{
[JsonPropertyName("isScavWars")]
public bool IsScavWars { get; set; }
[JsonPropertyName("botAmount")]
public BotAmount BotAmount { get; set; }
}
public class WavesSettings
{
[JsonPropertyName("botAmount")]
public BotAmount BotAmount { get; set; }
[JsonPropertyName("botDifficulty")]
public BotDifficulty BotDifficulty { get; set; }
[JsonPropertyName("isBosses")]
public bool IsBosses { get; set; }
[JsonPropertyName("isTaggedAndCursed")]
public bool IsTaggedAndCursed { get; set; }
}
@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Match;
public class RequestIdRequest
{
[JsonPropertyName("requestId")]
public string RequestId { get; set; }
}
+15
View File
@@ -0,0 +1,15 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Match;
public class Server
{
[JsonPropertyName("ping")]
public int Ping { get; set; }
[JsonPropertyName("ip")]
public string Ip { get; set; }
[JsonPropertyName("port")]
public int Port { get; set; }
}
+42
View File
@@ -0,0 +1,42 @@
using System.Text.Json.Serialization;
namespace Core.Models.Eft.Match;
public class SessionStatus
{
[JsonPropertyName("profileid")]
public string ProfileId { get; set; }
[JsonPropertyName("profileToken")]
public string ProfileToken { get; set; }
[JsonPropertyName("status")]
public string Status { get; set; }
[JsonPropertyName("ip")]
public string Ip { get; set; }
[JsonPropertyName("port")]
public int Port { get; set; }
[JsonPropertyName("sid")]
public string Sid { get; set; }
[JsonPropertyName("version")]
public string? Version { get; set; }
[JsonPropertyName("location")]
public string? Location { get; set; }
[JsonPropertyName("raidMode")]
public string? RaidMode { get; set; }
[JsonPropertyName("mode")]
public string? Mode { get; set; }
[JsonPropertyName("shortId")]
public string? ShortId { get; set; }
[JsonPropertyName("additional_info")]
public List<object>? AdditionalInfo { get; set; }
}
@@ -0,0 +1,32 @@
using System.Text.Json.Serialization;
using Core.Models.Enums;
namespace Core.Models.Eft.Match;
public class StartLocalRaidRequestData
{
[JsonPropertyName("serverId")]
public string ServerId { get; set; }
[JsonPropertyName("location")]
public string Location { get; set; }
[JsonPropertyName("timeVariant")]
public string TimeVariant { get; set; }
[JsonPropertyName("mode")]
public string Mode { get; set; }
[JsonPropertyName("playerSide")]
public string PlayerSide { get; set; }
[JsonPropertyName("transitionType")]
public TransitionType TransitionType { get; set; }
[JsonPropertyName("transition")]
public Transition Transition { get; set; }
/** Should loot generation be skipped, default false */
[JsonPropertyName("sptSkipLootGeneration")]
public bool? ShouldSkipLootGeneration { get; set; }
}
@@ -0,0 +1,48 @@
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 StartLocalRaidResponseData
{
[JsonPropertyName("serverId")]
public string ServerId { get; set; }
[JsonPropertyName("serverSettings")]
public LocationServices ServerSettings { get; set; }
[JsonPropertyName("profile")]
public ProfileInsuredItems Profile { get; set; }
[JsonPropertyName("locationLoot")]
public LocationBase LocationLoot { get; set; }
[JsonPropertyName("transitionType")]
public TransitionType TransitionType { get; set; }
[JsonPropertyName("transition")]
public Transition Transition { get; set; }
}
public class ProfileInsuredItems
{
[JsonPropertyName("insuredItems")]
public List<InsuredItem> InsuredItems { get; set; }
}
public class Transition
{
[JsonPropertyName("transitionType")]
public TransitionType TransitionType { get; set; }
[JsonPropertyName("transitionRaidId")]
public string TransitionRaidId { get; set; }
[JsonPropertyName("transitionCount")]
public int TransitionCount { get; set; }
[JsonPropertyName("visitedLocations")]
public List<string> VisitedLocations { get; set; }
}
+11
View File
@@ -0,0 +1,11 @@
namespace Core.Models.Enums;
public enum ExitStatus
{
SURVIVED,
KILLED,
LEFT,
RUNNER,
MISSINGINACTION,
TRANSIT
}
+8
View File
@@ -0,0 +1,8 @@
namespace Core.Models.Enums;
public enum PlayersSpawnPlace
{
SAME_PLACE,
DIFFERENT_PLACES,
AT_THE_ENDS_OF_THE_MAP
}
+8
View File
@@ -0,0 +1,8 @@
namespace Core.Models.Enums;
public enum RaidMode
{
ONLINE,
LOCAL,
COOP
}
@@ -0,0 +1,11 @@
namespace Core.Models.Enums.RaidSettings;
public enum BotAmount
{
AS_ONLINE,
NO_BOTS,
LOW,
MEDIUM,
HIGH,
HORDE,
}
@@ -0,0 +1,11 @@
namespace Core.Models.Enums.RaidSettings;
public enum BotDifficulty
{
AS_ONLINE,
EASY,
MEDIUM,
HARD,
IMPOSSIBLE,
RANDOM,
}
@@ -0,0 +1,11 @@
namespace Core.Models.Enums.RaidSettings.TimeAndWeather;
public enum CloudinessType
{
CLEAR,
PARTLY_CLOUDY,
CLOUDY,
CLOUDY_WITH_GAPS,
HEAVY_CLOUD_COVER,
THUNDER_CLOUD
}
@@ -0,0 +1,10 @@
namespace Core.Models.Enums.RaidSettings.TimeAndWeather;
public enum FogType
{
NO_FOG,
FAINT,
FOG,
HEAVY,
CONTINUOUS,
}
@@ -0,0 +1,10 @@
namespace Core.Models.Enums.RaidSettings.TimeAndWeather;
public enum RainType
{
NO_RAIN,
DRIZZLING,
RAIN,
HEAVY,
SHOWER,
}
@@ -0,0 +1,13 @@
namespace Core.Models.Enums.RaidSettings.TimeAndWeather;
public enum TimeFlowType
{
X0,
X0_14,
X0_25,
X0_5,
X1,
X2,
X4,
X8,
}
@@ -0,0 +1,10 @@
namespace Core.Models.Enums.RaidSettings.TimeAndWeather;
public enum WindSpeed
{
LIGHT,
MODERATE,
STRONG,
VERY_STRONG,
HURRICANE,
}
+8
View File
@@ -0,0 +1,8 @@
namespace Core.Models.Enums;
public enum SideType
{
PMC,
SAVAGE,
RANDOM
}
+8
View File
@@ -0,0 +1,8 @@
namespace Core.Models.Enums;
public enum TransitionType
{
NONE = 0,
COMMON = 1,
EVENT = 2
}