From 5e79363a48c0388d944a664246afd557960640a7 Mon Sep 17 00:00:00 2001 From: Lacyway <20912169+Lacyway@users.noreply.github.com> Date: Sun, 25 Aug 2024 21:53:37 +0200 Subject: [PATCH 01/11] Resync MongoID after exceptions --- .../ObservedInventoryController.cs | 18 +++-------- Fika.Core/Networking/FikaClient.cs | 25 +++++++++++++++ Fika.Core/Networking/FikaServer.cs | 31 +++++++++++++++++-- .../Communication/ResyncInventoryPacket.cs | 22 +++++++++++++ 4 files changed, 79 insertions(+), 17 deletions(-) create mode 100644 Fika.Core/Networking/Packets/Communication/ResyncInventoryPacket.cs diff --git a/Fika.Core/Coop/ObservedClasses/ObservedInventoryController.cs b/Fika.Core/Coop/ObservedClasses/ObservedInventoryController.cs index 12ab67a7..aaad6bca 100644 --- a/Fika.Core/Coop/ObservedClasses/ObservedInventoryController.cs +++ b/Fika.Core/Coop/ObservedClasses/ObservedInventoryController.cs @@ -38,19 +38,9 @@ public override bool IsInventoryBlocked() return false; } - /*public override void InProcess(TraderControllerClass executor, Item item, ItemAddress to, bool succeed, GInterface338 operation, Callback callback) - { - if (!succeed) - { - callback.Succeed(); - return; - } - if (!executor.CheckTransferOwners(item, to, out Error error)) - { - callback.Fail(error.ToString()); - return; - } - callback.Succeed(); - }*/ + public void SetNewID(MongoID newId) + { + mongoID_0 = newId; + } } } diff --git a/Fika.Core/Networking/FikaClient.cs b/Fika.Core/Networking/FikaClient.cs index 3a79e22c..20255278 100644 --- a/Fika.Core/Networking/FikaClient.cs +++ b/Fika.Core/Networking/FikaClient.cs @@ -17,6 +17,7 @@ using Fika.Core.Coop.Factories; using Fika.Core.Coop.GameMode; using Fika.Core.Coop.Lighthouse; +using Fika.Core.Coop.ObservedClasses; using Fika.Core.Coop.Players; using Fika.Core.Coop.Utils; using Fika.Core.Modding; @@ -120,6 +121,7 @@ public async void Init() packetProcessor.SubscribeNetSerializable(OnWorldLootPacketReceived); packetProcessor.SubscribeNetSerializable(OnReconnectPacketReceived); packetProcessor.SubscribeNetSerializable(OnLightkeeperGuardDeathPacketReceived); + packetProcessor.SubscribeNetSerializable(OnResyncInventoryPacketReceived); netClient = new NetManager(this) { @@ -168,6 +170,29 @@ public async void Init() FikaEventDispatcher.DispatchEvent(new FikaClientCreatedEvent(this)); } + private void OnResyncInventoryPacketReceived(ResyncInventoryPacket packet) + { + if (Players.TryGetValue(packet.NetId, out CoopPlayer playerToApply)) + { + if (playerToApply is ObservedCoopPlayer observedPlayer) + { + if (observedPlayer.InventoryControllerClass is ObservedInventoryController observedController) + { + observedController.SetNewID(new(packet.MongoId)); + } + return; + } + if (playerToApply.IsYourPlayer) + { + ResyncInventoryPacket response = new(playerToApply.NetId) + { + MongoId = playerToApply.InventoryControllerClass.CurrentId.ToString() + }; + SendData(ref response, DeliveryMethod.ReliableOrdered); + } + } + } + private void OnReconnectPacketReceived(ReconnectPacket packet) { if (!packet.IsRequest) diff --git a/Fika.Core/Networking/FikaServer.cs b/Fika.Core/Networking/FikaServer.cs index cbe91f16..38eb7227 100644 --- a/Fika.Core/Networking/FikaServer.cs +++ b/Fika.Core/Networking/FikaServer.cs @@ -5,13 +5,13 @@ using EFT; using EFT.AssetsManager; using EFT.Interactive; -using EFT.InventoryLogic; using EFT.UI; using Fika.Core.Coop.ClientClasses; using Fika.Core.Coop.Components; using Fika.Core.Coop.Custom; using Fika.Core.Coop.Factories; using Fika.Core.Coop.GameMode; +using Fika.Core.Coop.ObservedClasses; using Fika.Core.Coop.Players; using Fika.Core.Coop.Utils; using Fika.Core.Modding; @@ -136,6 +136,7 @@ public async Task Init() packetProcessor.SubscribeNetSerializable(OnInteractableInitPacketReceived); packetProcessor.SubscribeNetSerializable(OnWorldLootPacketReceived); packetProcessor.SubscribeNetSerializable(OnReconnectPacketReceived); + packetProcessor.SubscribeNetSerializable(OnResyncInventoryPacketReceived); netServer = new NetManager(this) { @@ -247,6 +248,21 @@ public async Task Init() FikaEventDispatcher.DispatchEvent(new FikaServerCreatedEvent(this)); } + private void OnResyncInventoryPacketReceived(ResyncInventoryPacket packet, NetPeer peer) + { + if (Players.TryGetValue(packet.NetId, out CoopPlayer playerToApply)) + { + if (playerToApply is ObservedCoopPlayer observedPlayer) + { + SendDataToAll(ref packet, DeliveryMethod.ReliableOrdered, peer); + if (observedPlayer.InventoryControllerClass is ObservedInventoryController observedController) + { + observedController.SetNewID(new(packet.MongoId)); + } + } + } + } + private void OnReconnectPacketReceived(ReconnectPacket packet, NetPeer peer) { if (packet.IsRequest) @@ -892,8 +908,14 @@ private void OnInventoryPacketReceived(InventoryPacket packet, NetPeer peer) catch (Exception exception) { FikaPlugin.Instance.FikaLogger.LogError($"ItemControllerExecutePacket::Exception thrown: {exception}"); - OperationCallbackPacket callbackPacket = new(playerToApply.NetId, packet.ItemControllerExecutePacket.CallbackId, EOperationStatus.Failed); - SendDataToAll(ref callbackPacket, LiteNetLib.DeliveryMethod.ReliableOrdered); + OperationCallbackPacket callbackPacket = new(playerToApply.NetId, packet.ItemControllerExecutePacket.CallbackId, EOperationStatus.Failed) + { + Error = exception.Message + }; + SendDataToAll(ref callbackPacket, DeliveryMethod.ReliableOrdered); + + ResyncInventoryPacket resyncPacket = new(packet.NetId); + SendDataToPeer(peer, ref resyncPacket, DeliveryMethod.ReliableOrdered); } } } @@ -1191,6 +1213,9 @@ internal void HandleResult(IResult result) operationCallbackPacket = new(netId, operationId, EOperationStatus.Failed, result.Error ?? "An unknown error has occured"); server.SendDataToPeer(peer, ref operationCallbackPacket, DeliveryMethod.ReliableOrdered); + ResyncInventoryPacket resyncPacket = new(netId); + server.SendDataToPeer(peer, ref resyncPacket, DeliveryMethod.ReliableOrdered); + return; } diff --git a/Fika.Core/Networking/Packets/Communication/ResyncInventoryPacket.cs b/Fika.Core/Networking/Packets/Communication/ResyncInventoryPacket.cs new file mode 100644 index 00000000..149de9d7 --- /dev/null +++ b/Fika.Core/Networking/Packets/Communication/ResyncInventoryPacket.cs @@ -0,0 +1,22 @@ +using LiteNetLib.Utils; + +namespace Fika.Core.Networking +{ + public struct ResyncInventoryPacket(int netId) : INetSerializable + { + public int NetId = netId; + public string MongoId = string.Empty; + + public void Deserialize(NetDataReader reader) + { + NetId = reader.GetInt(); + MongoId = reader.GetString(); + } + + public void Serialize(NetDataWriter writer) + { + writer.Put(NetId); + writer.Put(MongoId); + } + } +} From 65de422f892a34477ac40e07353bc8d86582a7f9 Mon Sep 17 00:00:00 2001 From: Lacyway <20912169+Lacyway@users.noreply.github.com> Date: Mon, 26 Aug 2024 09:49:54 +0200 Subject: [PATCH 02/11] Backport operation rejection --- Fika.Core/Networking/FikaServer.cs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Fika.Core/Networking/FikaServer.cs b/Fika.Core/Networking/FikaServer.cs index 38eb7227..209c2012 100644 --- a/Fika.Core/Networking/FikaServer.cs +++ b/Fika.Core/Networking/FikaServer.cs @@ -885,7 +885,21 @@ private void OnInventoryPacketReceived(InventoryPacket packet, NetPeer peer) using BinaryReader binaryReader = new(memoryStream); try { + OperationCallbackPacket operationCallbackPacket; GStruct411 result = playerToApply.ToInventoryOperation(binaryReader.ReadPolymorph()); + if (!result.Succeeded) + { + logger.LogError($"Inventory operation {packet.ItemControllerExecutePacket.CallbackId} was rejected from {playerToApply.Profile.Info.MainProfileNickname}. Reason: {result.Error}"); + operationCallbackPacket = new(playerToApply.NetId, packet.ItemControllerExecutePacket.CallbackId, EOperationStatus.Failed) + { + Error = result.Error.ToString() + }; + SendDataToPeer(peer, ref operationCallbackPacket, DeliveryMethod.ReliableOrdered); + + ResyncInventoryPacket resyncPacket = new(packet.NetId); + SendDataToPeer(peer, ref resyncPacket, DeliveryMethod.ReliableOrdered); + return; + } InventoryOperationHandler opHandler = new() { @@ -896,7 +910,7 @@ private void OnInventoryPacketReceived(InventoryPacket packet, NetPeer peer) server = this }; #if DEBUG - OperationCallbackPacket operationCallbackPacket = new(playerToApply.NetId, packet.ItemControllerExecutePacket.CallbackId, + operationCallbackPacket = new(playerToApply.NetId, packet.ItemControllerExecutePacket.CallbackId, simulateFail ? EOperationStatus.Failed : EOperationStatus.Started); #else OperationCallbackPacket operationCallbackPacket = new(playerToApply.NetId, packet.ItemControllerExecutePacket.CallbackId, EOperationStatus.Started); From b189c650a99adaa940e9c3b6f12539d63202caee Mon Sep 17 00:00:00 2001 From: Lacyway <20912169+Lacyway@users.noreply.github.com> Date: Mon, 26 Aug 2024 10:10:57 +0200 Subject: [PATCH 03/11] Fix build error --- Fika.Core/Networking/FikaServer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Fika.Core/Networking/FikaServer.cs b/Fika.Core/Networking/FikaServer.cs index 209c2012..095ee241 100644 --- a/Fika.Core/Networking/FikaServer.cs +++ b/Fika.Core/Networking/FikaServer.cs @@ -913,7 +913,7 @@ private void OnInventoryPacketReceived(InventoryPacket packet, NetPeer peer) operationCallbackPacket = new(playerToApply.NetId, packet.ItemControllerExecutePacket.CallbackId, simulateFail ? EOperationStatus.Failed : EOperationStatus.Started); #else - OperationCallbackPacket operationCallbackPacket = new(playerToApply.NetId, packet.ItemControllerExecutePacket.CallbackId, EOperationStatus.Started); + operationCallbackPacket = new(playerToApply.NetId, packet.ItemControllerExecutePacket.CallbackId, EOperationStatus.Started); #endif SendDataToPeer(peer, ref operationCallbackPacket, DeliveryMethod.ReliableOrdered); From f2fa5d1d01aaef7fdab5c739962eb00135e9c0a7 Mon Sep 17 00:00:00 2001 From: Lacyway <20912169+Lacyway@users.noreply.github.com> Date: Mon, 26 Aug 2024 11:39:23 +0200 Subject: [PATCH 04/11] More verbose logging --- Fika.Core/Coop/Players/CoopPlayer.cs | 2 +- Fika.Core/Networking/FikaServer.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Fika.Core/Coop/Players/CoopPlayer.cs b/Fika.Core/Coop/Players/CoopPlayer.cs index 72ca9636..ecf3e33f 100644 --- a/Fika.Core/Coop/Players/CoopPlayer.cs +++ b/Fika.Core/Coop/Players/CoopPlayer.cs @@ -1105,7 +1105,7 @@ public virtual void HandleInventoryPacket(in InventoryPacket packet) } catch (Exception exception) { - FikaPlugin.Instance.FikaLogger.LogError($"ItemControllerExecutePacket::Exception thrown: {exception}"); + FikaPlugin.Instance.FikaLogger.LogError($"ItemControllerExecutePacket::Exception thrown on netId {NetId}, {Profile.Info.MainProfileNickname}: {exception}"); if (FikaBackendUtils.IsServer) { OperationCallbackPacket callbackPacket = new(NetId, packet.ItemControllerExecutePacket.CallbackId, EOperationStatus.Failed); diff --git a/Fika.Core/Networking/FikaServer.cs b/Fika.Core/Networking/FikaServer.cs index 095ee241..a421b915 100644 --- a/Fika.Core/Networking/FikaServer.cs +++ b/Fika.Core/Networking/FikaServer.cs @@ -921,7 +921,7 @@ private void OnInventoryPacketReceived(InventoryPacket packet, NetPeer peer) } catch (Exception exception) { - FikaPlugin.Instance.FikaLogger.LogError($"ItemControllerExecutePacket::Exception thrown: {exception}"); + logger.LogError($"ItemControllerExecutePacket::Exception thrown on netId {playerToApply.NetId}, {playerToApply.Profile.Info.MainProfileNickname}: {exception}"); OperationCallbackPacket callbackPacket = new(playerToApply.NetId, packet.ItemControllerExecutePacket.CallbackId, EOperationStatus.Failed) { Error = exception.Message From 835f16cd2df28a65c1e7218058b7c5a08133e9ce Mon Sep 17 00:00:00 2001 From: Lacyway <20912169+Lacyway@users.noreply.github.com> Date: Tue, 27 Aug 2024 11:58:48 +0200 Subject: [PATCH 05/11] Stop processing incorrect operations --- Fika.Core/Coop/Players/CoopPlayer.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Fika.Core/Coop/Players/CoopPlayer.cs b/Fika.Core/Coop/Players/CoopPlayer.cs index ecf3e33f..f68bd5a5 100644 --- a/Fika.Core/Coop/Players/CoopPlayer.cs +++ b/Fika.Core/Coop/Players/CoopPlayer.cs @@ -1098,6 +1098,11 @@ public virtual void HandleInventoryPacket(in InventoryPacket packet) try { GStruct411 result = ToInventoryOperation(binaryReader.ReadPolymorph()); + if (!result.Succeeded) + { + FikaPlugin.Instance.FikaLogger.LogError($"HandleInventoryPacket::Unable to process descriptor from netid {NetId}, error: {result.Error}"); + return; + } InventoryOperationHandler opHandler = new(result); @@ -1105,7 +1110,7 @@ public virtual void HandleInventoryPacket(in InventoryPacket packet) } catch (Exception exception) { - FikaPlugin.Instance.FikaLogger.LogError($"ItemControllerExecutePacket::Exception thrown on netId {NetId}, {Profile.Info.MainProfileNickname}: {exception}"); + FikaPlugin.Instance.FikaLogger.LogError($"HandleInventoryPacket::Exception thrown on netId {NetId}, {Profile.Info.MainProfileNickname}: {exception}"); if (FikaBackendUtils.IsServer) { OperationCallbackPacket callbackPacket = new(NetId, packet.ItemControllerExecutePacket.CallbackId, EOperationStatus.Failed); @@ -1115,7 +1120,7 @@ public virtual void HandleInventoryPacket(in InventoryPacket packet) } else { - FikaPlugin.Instance.FikaLogger.LogError("ItemControllerExecutePacket: inventory was null!"); + FikaPlugin.Instance.FikaLogger.LogError("HandleInventoryPacket: inventory was null!"); if (FikaBackendUtils.IsServer) { OperationCallbackPacket callbackPacket = new(NetId, packet.ItemControllerExecutePacket.CallbackId, EOperationStatus.Failed); From cd423d351040fcf3a37625435125e132b7755652 Mon Sep 17 00:00:00 2001 From: Lacyway <20912169+Lacyway@users.noreply.github.com> Date: Tue, 27 Aug 2024 12:48:40 +0200 Subject: [PATCH 06/11] Send response to all players when receiving info on server --- Fika.Core/Networking/FikaServer.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Fika.Core/Networking/FikaServer.cs b/Fika.Core/Networking/FikaServer.cs index a421b915..feba18d1 100644 --- a/Fika.Core/Networking/FikaServer.cs +++ b/Fika.Core/Networking/FikaServer.cs @@ -808,11 +808,10 @@ private void OnInformationPacketReceived(InformationPacket packet, NetPeer peer) { respondPackage.GameTime = gameStartTime.Value; GameTimerClass gameTimer = coopHandler.LocalGameInstance.GameTimer; - //TimeSpan? passedTime = gameTimer.SessionTime - gameTimer.PastTime; respondPackage.SessionTime = gameTimer.SessionTime.Value; } - SendDataToPeer(peer, ref respondPackage, DeliveryMethod.ReliableUnordered); + SendDataToAll(ref respondPackage, DeliveryMethod.ReliableUnordered); } private void OnAllCharacterRequestPacketReceived(AllCharacterRequestPacket packet, NetPeer peer) From 4f79a6d3ecf82214a0f76b29686ade636cfba7d6 Mon Sep 17 00:00:00 2001 From: Lacyway <20912169+Lacyway@users.noreply.github.com> Date: Tue, 27 Aug 2024 15:03:55 +0200 Subject: [PATCH 07/11] Update bot sender --- Fika.Core/Coop/PacketHandlers/BotPacketSender.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Fika.Core/Coop/PacketHandlers/BotPacketSender.cs b/Fika.Core/Coop/PacketHandlers/BotPacketSender.cs index 9993d076..bfe64fae 100644 --- a/Fika.Core/Coop/PacketHandlers/BotPacketSender.cs +++ b/Fika.Core/Coop/PacketHandlers/BotPacketSender.cs @@ -68,7 +68,7 @@ protected void FixedUpdate() Server.SendDataToAll(ref playerStatePacket, DeliveryMethod.Unreliable); - if (!mover.IsMoving || mover.Pause) + if (!mover.IsMoving || mover.Pause || player.MovementContext.CanWalk) { player.LastDirection = Vector2.zero; } From c6c87395032e9b995e083a955b57bcf0999f023f Mon Sep 17 00:00:00 2001 From: Lacyway <20912169+Lacyway@users.noreply.github.com> Date: Tue, 27 Aug 2024 21:10:37 +0200 Subject: [PATCH 08/11] Remove duplicate method --- Fika.Core/Coop/Components/CoopHandler.cs | 53 ++++-------------------- 1 file changed, 7 insertions(+), 46 deletions(-) diff --git a/Fika.Core/Coop/Components/CoopHandler.cs b/Fika.Core/Coop/Components/CoopHandler.cs index 03b7e92e..0577c5c9 100644 --- a/Fika.Core/Coop/Components/CoopHandler.cs +++ b/Fika.Core/Coop/Components/CoopHandler.cs @@ -10,7 +10,6 @@ using Fika.Core.Networking; using Fika.Core.Utils; using LiteNetLib; -using LiteNetLib.Utils; using System; using System.Collections; using System.Collections.Generic; @@ -505,9 +504,13 @@ private ObservedCoopPlayer SpawnObservedPlayer(Profile profile, Vector3 position #if DEBUG Logger.LogInfo($"CreateLocalPlayer::{profile.Info.Nickname}::Spawned."); #endif - - SetWeaponInHandsOfNewPlayer(otherPlayer); - + otherPlayer.SetFirstAvailableItem((result) => + { + if (result.Failed) + { + Logger.LogError($"SetFirstAvailableItem: Failed to set the first available item for {otherPlayer.Profile.Info.MainProfileNickname}"); + } + }); return otherPlayer; } @@ -554,47 +557,5 @@ private IEnumerator AddClientToBotEnemies(BotsController botController, LocalPla Logger.LogError($"Failed to add {playerToAdd.Profile.Nickname} to the enemy list."); } } - - /// - /// Attempts to set up the New Player with the current weapon after spawning - /// - /// The player to set the item on - public void SetWeaponInHandsOfNewPlayer(Player player) - { - EquipmentClass equipment = player.Profile.Inventory.Equipment; - if (equipment == null) - { - Logger.LogError($"SetWeaponInHandsOfNewPlayer: {player.Profile.Nickname}, {player.Profile.ProfileId} has no Equipment!"); - } - Item item = null; - - if (equipment.GetSlot(EquipmentSlot.FirstPrimaryWeapon).ContainedItem != null) - { - item = equipment.GetSlot(EquipmentSlot.FirstPrimaryWeapon).ContainedItem; - } - - if (item == null && equipment.GetSlot(EquipmentSlot.SecondPrimaryWeapon).ContainedItem != null) - { - item = equipment.GetSlot(EquipmentSlot.SecondPrimaryWeapon).ContainedItem; - } - - if (item == null && equipment.GetSlot(EquipmentSlot.Holster).ContainedItem != null) - { - item = equipment.GetSlot(EquipmentSlot.Holster).ContainedItem; - } - - if (item == null && equipment.GetSlot(EquipmentSlot.Scabbard).ContainedItem != null) - { - item = equipment.GetSlot(EquipmentSlot.Scabbard).ContainedItem; - } - - player.SetItemInHands(item, (IResult) => - { - if (IResult.Failed == true) - { - Logger.LogError($"SetWeaponInHandsOfNewPlayer: Unable to set item {item} in hands for {player.Profile.Nickname}, {player.Profile.ProfileId}"); - } - }); - } } } \ No newline at end of file From 09b720624b85eef19b76aa32815953bd032a41b2 Mon Sep 17 00:00:00 2001 From: Lacyway <20912169+Lacyway@users.noreply.github.com> Date: Wed, 28 Aug 2024 21:34:33 +0200 Subject: [PATCH 09/11] Send one last packet when task is done --- Fika.Core/Coop/GameMode/CoopGame.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Fika.Core/Coop/GameMode/CoopGame.cs b/Fika.Core/Coop/GameMode/CoopGame.cs index 5e47351a..f86bca37 100644 --- a/Fika.Core/Coop/GameMode/CoopGame.cs +++ b/Fika.Core/Coop/GameMode/CoopGame.cs @@ -738,6 +738,14 @@ private IEnumerator WaitForOtherPlayers() { DynamicAI.AddHumans(); } + + InformationPacket finalPacket = new(false) + { + NumberOfPlayers = server.NetServer.ConnectedPeersCount, + ReadyPlayers = server.ReadyClients + }; + + server.SendDataToAll(ref finalPacket, DeliveryMethod.ReliableOrdered); } else { From bc7fda3c8f128f6f77559be2fd52779178f710f7 Mon Sep 17 00:00:00 2001 From: Lacyway <20912169+Lacyway@users.noreply.github.com> Date: Fri, 6 Sep 2024 08:33:34 +0200 Subject: [PATCH 10/11] Cleanup --- Fika.Core/Coop/Airdrops/FikaAirdropsManager.cs | 1 - Fika.Core/Coop/BTR/FikaBTRManager_Client.cs | 1 - Fika.Core/Coop/BTR/FikaBTRManager_Host.cs | 1 - Fika.Core/Coop/Components/CoopExfilManager.cs | 1 - Fika.Core/Coop/Components/CoopHalloweenEventManager.cs | 1 - Fika.Core/Coop/FreeCamera/FreeCamera.cs | 1 - Fika.Core/Coop/GameMode/CoopGame.cs | 5 ++--- .../Coop/Lighthouse/FikaLighthouseProgressionClass.cs | 1 - .../HandsControllers/CoopObservedFirearmController.cs | 2 +- Fika.Core/Coop/Patches/LocalGame/GameWorld_Create_Patch.cs | 1 - Fika.Core/Coop/Players/CoopBot.cs | 7 +++---- Fika.Core/Coop/Players/CoopPlayer.cs | 2 +- Fika.Core/Coop/Players/ObservedCoopPlayer.cs | 2 +- Fika.Core/FikaPlugin.cs | 4 ++-- 14 files changed, 10 insertions(+), 20 deletions(-) diff --git a/Fika.Core/Coop/Airdrops/FikaAirdropsManager.cs b/Fika.Core/Coop/Airdrops/FikaAirdropsManager.cs index 37e1d0dd..dc2a4fc4 100644 --- a/Fika.Core/Coop/Airdrops/FikaAirdropsManager.cs +++ b/Fika.Core/Coop/Airdrops/FikaAirdropsManager.cs @@ -9,7 +9,6 @@ using Fika.Core.Coop.Utils; using Fika.Core.Networking; using LiteNetLib; -using LiteNetLib.Utils; using SPT.Custom.Airdrops; using System; using System.Collections; diff --git a/Fika.Core/Coop/BTR/FikaBTRManager_Client.cs b/Fika.Core/Coop/BTR/FikaBTRManager_Client.cs index 1c9c7f25..eee71397 100644 --- a/Fika.Core/Coop/BTR/FikaBTRManager_Client.cs +++ b/Fika.Core/Coop/BTR/FikaBTRManager_Client.cs @@ -10,7 +10,6 @@ using Fika.Core.Networking; using GPUInstancer; using HarmonyLib; -using LiteNetLib.Utils; using SPT.Custom.BTR; using SPT.Custom.BTR.Utils; using SPT.SinglePlayer.Utils.TraderServices; diff --git a/Fika.Core/Coop/BTR/FikaBTRManager_Host.cs b/Fika.Core/Coop/BTR/FikaBTRManager_Host.cs index 2f4f5afe..3f3cc8d6 100644 --- a/Fika.Core/Coop/BTR/FikaBTRManager_Host.cs +++ b/Fika.Core/Coop/BTR/FikaBTRManager_Host.cs @@ -11,7 +11,6 @@ using GPUInstancer; using HarmonyLib; using LiteNetLib; -using LiteNetLib.Utils; using SPT.Custom.BTR; using SPT.Custom.BTR.Utils; using SPT.SinglePlayer.Utils.TraderServices; diff --git a/Fika.Core/Coop/Components/CoopExfilManager.cs b/Fika.Core/Coop/Components/CoopExfilManager.cs index 388552bf..796f5cb7 100644 --- a/Fika.Core/Coop/Components/CoopExfilManager.cs +++ b/Fika.Core/Coop/Components/CoopExfilManager.cs @@ -6,7 +6,6 @@ using Fika.Core.Coop.Utils; using Fika.Core.Networking; using LiteNetLib; -using LiteNetLib.Utils; using System.Collections.Generic; using System.Linq; using UnityEngine; diff --git a/Fika.Core/Coop/Components/CoopHalloweenEventManager.cs b/Fika.Core/Coop/Components/CoopHalloweenEventManager.cs index e23f107b..273c6a50 100644 --- a/Fika.Core/Coop/Components/CoopHalloweenEventManager.cs +++ b/Fika.Core/Coop/Components/CoopHalloweenEventManager.cs @@ -4,7 +4,6 @@ using Fika.Core.Coop.Utils; using Fika.Core.Networking; using LiteNetLib; -using LiteNetLib.Utils; using System; using UnityEngine; diff --git a/Fika.Core/Coop/FreeCamera/FreeCamera.cs b/Fika.Core/Coop/FreeCamera/FreeCamera.cs index 1efc61c2..b7294496 100644 --- a/Fika.Core/Coop/FreeCamera/FreeCamera.cs +++ b/Fika.Core/Coop/FreeCamera/FreeCamera.cs @@ -7,7 +7,6 @@ using Fika.Core.Utils; using System; using System.Collections.Generic; -using System.Diagnostics.Eventing.Reader; using System.Linq; using UnityEngine; diff --git a/Fika.Core/Coop/GameMode/CoopGame.cs b/Fika.Core/Coop/GameMode/CoopGame.cs index f86bca37..3fd5b5b0 100644 --- a/Fika.Core/Coop/GameMode/CoopGame.cs +++ b/Fika.Core/Coop/GameMode/CoopGame.cs @@ -36,7 +36,6 @@ using HarmonyLib; using JsonType; using LiteNetLib; -using LiteNetLib.Utils; using Newtonsoft.Json; using SPT.Common.Http; using SPT.SinglePlayer.Models.Progression; @@ -2312,7 +2311,7 @@ public void HandleExit() if (screenManager.CheckCurrentScreen(EEftScreenType.Reconnect)) { screenManager.CloseAllScreensForced(); - } + } localGame.gparam_0.Player.OnGameSessionEnd(exitStatus, localGame.PastTime, localGame.Location_0.Id, exitName); localGame.CleanUp(); localGame.Status = GameStatus.Stopped; @@ -2332,7 +2331,7 @@ public void HandleExit() } localGame.iSession.OfflineRaidEnded(exitStatus, exitName, timeSpan.TotalSeconds).HandleExceptions(); MonoBehaviourSingleton.Instance.FadeOutVolumeAfterRaid(); - StaticManager staticManager = StaticManager.Instance; + StaticManager staticManager = StaticManager.Instance; float num = delay; EndAction = new Action(FireCallback); staticManager.WaitSeconds(num, EndAction); diff --git a/Fika.Core/Coop/Lighthouse/FikaLighthouseProgressionClass.cs b/Fika.Core/Coop/Lighthouse/FikaLighthouseProgressionClass.cs index 618c98a7..7887cff6 100644 --- a/Fika.Core/Coop/Lighthouse/FikaLighthouseProgressionClass.cs +++ b/Fika.Core/Coop/Lighthouse/FikaLighthouseProgressionClass.cs @@ -6,7 +6,6 @@ using Fika.Core.Networking; using Fika.Core.Networking.Packets.GameWorld; using LiteNetLib; -using LiteNetLib.Utils; using System.Collections.Generic; using System.Linq; using UnityEngine; diff --git a/Fika.Core/Coop/ObservedClasses/HandsControllers/CoopObservedFirearmController.cs b/Fika.Core/Coop/ObservedClasses/HandsControllers/CoopObservedFirearmController.cs index d584ee79..51b9da06 100644 --- a/Fika.Core/Coop/ObservedClasses/HandsControllers/CoopObservedFirearmController.cs +++ b/Fika.Core/Coop/ObservedClasses/HandsControllers/CoopObservedFirearmController.cs @@ -149,7 +149,7 @@ public override void OnPlayerDead() catch (Exception ex) { FikaPlugin.Instance.FikaLogger.LogError("CoopObservedFirearmController: Exception was caught: " + ex.Message); - } + } } private IEnumerator BreakFiringLoop() diff --git a/Fika.Core/Coop/Patches/LocalGame/GameWorld_Create_Patch.cs b/Fika.Core/Coop/Patches/LocalGame/GameWorld_Create_Patch.cs index b00203cd..0fc4d526 100644 --- a/Fika.Core/Coop/Patches/LocalGame/GameWorld_Create_Patch.cs +++ b/Fika.Core/Coop/Patches/LocalGame/GameWorld_Create_Patch.cs @@ -1,6 +1,5 @@ using EFT; using Fika.Core.Coop.ClientClasses; -using Fika.Core.Coop.GameMode; using Fika.Core.Coop.Utils; using HarmonyLib; using SPT.Reflection.Patching; diff --git a/Fika.Core/Coop/Players/CoopBot.cs b/Fika.Core/Coop/Players/CoopBot.cs index 399ff917..26e0a956 100644 --- a/Fika.Core/Coop/Players/CoopBot.cs +++ b/Fika.Core/Coop/Players/CoopBot.cs @@ -14,7 +14,6 @@ using Fika.Core.Coop.Utils; using Fika.Core.Networking; using Fika.Core.Utils; -using LiteNetLib.Utils; using System; using System.Collections; using System.Collections.Generic; @@ -211,9 +210,9 @@ public override void OnDead(EDamageType damageType) if (LastAggressor is CoopPlayer aggressor) { if (aggressor.gameObject.name.StartsWith("Player_") || aggressor.IsYourPlayer) - NotificationManagerClass.DisplayMessageNotification(string.Format(LocaleUtils.KILLED_BOSS.Localized(), - [ColorizeText(Colors.GREEN, LastAggressor.Profile.Info.MainProfileNickname), ColorizeText(Colors.BROWN, name)]), - iconType: EFT.Communications.ENotificationIconType.Friend); + NotificationManagerClass.DisplayMessageNotification(string.Format(LocaleUtils.KILLED_BOSS.Localized(), + [ColorizeText(Colors.GREEN, LastAggressor.Profile.Info.MainProfileNickname), ColorizeText(Colors.BROWN, name)]), + iconType: EFT.Communications.ENotificationIconType.Friend); } } } diff --git a/Fika.Core/Coop/Players/CoopPlayer.cs b/Fika.Core/Coop/Players/CoopPlayer.cs index f68bd5a5..67ffcead 100644 --- a/Fika.Core/Coop/Players/CoopPlayer.cs +++ b/Fika.Core/Coop/Players/CoopPlayer.cs @@ -735,7 +735,7 @@ public override void Move(Vector2 direction) base.Move(direction); LastDirection = direction; } - } + } private void HandleInteractPacket(WorldInteractionPacket packet) { diff --git a/Fika.Core/Coop/Players/ObservedCoopPlayer.cs b/Fika.Core/Coop/Players/ObservedCoopPlayer.cs index bf117de4..5e90508a 100644 --- a/Fika.Core/Coop/Players/ObservedCoopPlayer.cs +++ b/Fika.Core/Coop/Players/ObservedCoopPlayer.cs @@ -899,7 +899,7 @@ public void InitObservedPlayer(bool isDedicatedHost) if (FikaPlugin.ShowNotifications.Value && !isDedicatedHost) { - NotificationManagerClass.DisplayMessageNotification(string.Format(LocaleUtils.GROUP_MEMBER_SPAWNED.Localized(), + NotificationManagerClass.DisplayMessageNotification(string.Format(LocaleUtils.GROUP_MEMBER_SPAWNED.Localized(), ColorizeText(Colors.GREEN, Profile.Info.MainProfileNickname)), EFT.Communications.ENotificationDurationType.Default, EFT.Communications.ENotificationIconType.Friend); } diff --git a/Fika.Core/FikaPlugin.cs b/Fika.Core/FikaPlugin.cs index 5287d93c..fde5c7e6 100644 --- a/Fika.Core/FikaPlugin.cs +++ b/Fika.Core/FikaPlugin.cs @@ -241,7 +241,7 @@ protected void Awake() #if GOLDMASTER new TOS_Patch().Enable(); #endif - OfficialVersion.SettingChanged += OfficialVersion_SettingChanged; + OfficialVersion.SettingChanged += OfficialVersion_SettingChanged; DisableSPTPatches(); EnableOverridePatches(); @@ -291,7 +291,7 @@ private void VerifyServerVersion() else { FikaLogger.LogInfo($"Server version check passed. Expected: >{RequiredServerVersion}, received: {serverVersion}"); - } + } } /// From 4a974955f0f91635e45cf45af1fbe4daf742b2cb Mon Sep 17 00:00:00 2001 From: Lacyway <20912169+Lacyway@users.noreply.github.com> Date: Fri, 6 Sep 2024 08:33:45 +0200 Subject: [PATCH 11/11] Version bump --- Fika.Core/FikaPlugin.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Fika.Core/FikaPlugin.cs b/Fika.Core/FikaPlugin.cs index fde5c7e6..24d00dcc 100644 --- a/Fika.Core/FikaPlugin.cs +++ b/Fika.Core/FikaPlugin.cs @@ -49,7 +49,7 @@ namespace Fika.Core /// Originally by: Paulov
/// Re-written by: Lacyway ///
- [BepInPlugin("com.fika.core", "Fika.Core", "0.9.9003")] + [BepInPlugin("com.fika.core", "Fika.Core", "0.9.9015")] [BepInProcess("EscapeFromTarkov.exe")] [BepInDependency("com.SPT.custom", BepInDependency.DependencyFlags.HardDependency)] // This is used so that we guarantee to load after spt-custom, that way we can disable its patches [BepInDependency("com.SPT.singleplayer", BepInDependency.DependencyFlags.HardDependency)] // This is used so that we guarantee to load after spt-singleplayer, that way we can disable its patches