diff --git a/Libraries/SPTarkov.Server.Core/Helpers/BotDifficultyHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/BotDifficultyHelper.cs index bffa3a4d..a73cacdc 100644 --- a/Libraries/SPTarkov.Server.Core/Helpers/BotDifficultyHelper.cs +++ b/Libraries/SPTarkov.Server.Core/Helpers/BotDifficultyHelper.cs @@ -21,7 +21,7 @@ public class BotDifficultyHelper( ICloner cloner ) { - protected readonly PmcConfig _pmcConfig = configServer.GetConfig(); + protected readonly PmcConfig PMCConfig = configServer.GetConfig(); /// /// Get difficulty settings for desired bot type, if not found use assault bot types @@ -72,9 +72,9 @@ public class BotDifficultyHelper( /// Difficulty object protected DifficultyCategories? GetDifficultySettings(string type, string difficulty) { - var difficultySetting = string.Equals(_pmcConfig.Difficulty, "asonline", StringComparison.OrdinalIgnoreCase) + var difficultySetting = string.Equals(PMCConfig.Difficulty, "asonline", StringComparison.OrdinalIgnoreCase) ? difficulty - : _pmcConfig.Difficulty.ToLowerInvariant(); + : PMCConfig.Difficulty.ToLowerInvariant(); difficultySetting = ConvertBotDifficultyDropdownToBotDifficulty(difficultySetting); diff --git a/Libraries/SPTarkov.Server.Core/Helpers/DurabilityLimitsHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/DurabilityLimitsHelper.cs index 5cd4fbaa..83c8479c 100644 --- a/Libraries/SPTarkov.Server.Core/Helpers/DurabilityLimitsHelper.cs +++ b/Libraries/SPTarkov.Server.Core/Helpers/DurabilityLimitsHelper.cs @@ -41,7 +41,9 @@ public class DurabilityLimitsHelper( var itemMaxDurability = itemTemplate?.Properties?.MaxDurability; if (!itemMaxDurability.HasValue) { - throw new DurabilityHelperException("Item max durability amount is null when trying to get max armor durability"); + const string message = "Item max durability amount is null when trying to get max armor durability"; + logger.Error(message); + throw new DurabilityHelperException(message); } if (botRole is null) @@ -158,7 +160,9 @@ public class DurabilityLimitsHelper( if (!_botConfig.Durability.BotDurabilities.TryGetValue(botRole, out var durability)) { - throw new DurabilityHelperException($"Bot role {botRole} durability doesn't exist"); + var message = $"Bot role {botRole} durability doesn't exist"; + logger.Error(message); + throw new DurabilityHelperException(message); } return durability.Weapon.LowestMax; @@ -177,7 +181,9 @@ public class DurabilityLimitsHelper( if (!_botConfig.Durability.BotDurabilities.TryGetValue(botRole, out var durability)) { - throw new DurabilityHelperException($"Bot role {botRole} durability doesn't exist"); + var message = $"Bot role {botRole} durability doesn't exist"; + logger.Error(message); + throw new DurabilityHelperException(message); } return durability.Weapon.HighestMax; @@ -221,7 +227,9 @@ public class DurabilityLimitsHelper( if (!_botConfig.Durability.BotDurabilities.TryGetValue(botRole, out var durability)) { - throw new DurabilityHelperException($"Bot role {botRole} durability doesn't exist"); + var message = $"Bot role {botRole} durability doesn't exist"; + logger.Error(message); + throw new DurabilityHelperException(message); } return durability.Weapon.MinDelta; @@ -241,7 +249,9 @@ public class DurabilityLimitsHelper( if (!_botConfig.Durability.BotDurabilities.TryGetValue(botRole, out var value)) { - throw new DurabilityHelperException($"Bot role {botRole} durability doesn't exist"); + var message = $"Bot role {botRole} durability doesn't exist"; + logger.Error(message); + throw new DurabilityHelperException(message); } return value.Weapon.MaxDelta; @@ -261,7 +271,9 @@ public class DurabilityLimitsHelper( if (!_botConfig.Durability.BotDurabilities.TryGetValue(botRole, out var value)) { - throw new DurabilityHelperException($"Bot role {botRole} durability doesn't exist"); + var message = $"Bot role {botRole} durability doesn't exist"; + logger.Error(message); + throw new DurabilityHelperException(message); } return value.Armor.MinDelta; @@ -281,7 +293,9 @@ public class DurabilityLimitsHelper( if (!_botConfig.Durability.BotDurabilities.TryGetValue(botRole, out var value)) { - throw new DurabilityHelperException($"Bot role {botRole} durability doesn't exist"); + var message = $"Bot role {botRole} durability doesn't exist"; + logger.Error(message); + throw new DurabilityHelperException(message); } return value.Armor.MaxDelta; @@ -301,7 +315,9 @@ public class DurabilityLimitsHelper( if (!_botConfig.Durability.BotDurabilities.TryGetValue(botRole, out var value)) { - throw new DurabilityHelperException($"Bot role {botRole} durability doesn't exist"); + var message = $"Bot role {botRole} durability doesn't exist"; + logger.Error(message); + throw new DurabilityHelperException(message); } return value.Armor.MinLimitPercent; @@ -321,7 +337,9 @@ public class DurabilityLimitsHelper( if (!_botConfig.Durability.BotDurabilities.TryGetValue(botRole, out var value)) { - throw new DurabilityHelperException($"Bot role {botRole} durability doesn't exist"); + var message = $"Bot role {botRole} durability doesn't exist"; + logger.Error(message); + throw new DurabilityHelperException(message); } return value.Weapon.MinLimitPercent; diff --git a/Libraries/SPTarkov.Server.Core/Helpers/HandbookHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/HandbookHelper.cs index 817bea89..0d8a9452 100644 --- a/Libraries/SPTarkov.Server.Core/Helpers/HandbookHelper.cs +++ b/Libraries/SPTarkov.Server.Core/Helpers/HandbookHelper.cs @@ -74,7 +74,9 @@ public class HandbookHelper(ISptLogger logger, DatabaseService d { if (!result.Categories.ById.TryAdd(handbookCategory.Id, handbookCategory.ParentId)) { - throw new HandbookHelperException($"Unable to add `{handbookCategory.Id}`. Key already exists."); + var message = $"Unable to add `{handbookCategory.Id}`. Key already exists."; + logger.Error(message); + throw new HandbookHelperException(message); } if (handbookCategory.ParentId is not null) diff --git a/Libraries/SPTarkov.Server.Core/Helpers/HealthHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/HealthHelper.cs index a25c6195..40472934 100644 --- a/Libraries/SPTarkov.Server.Core/Helpers/HealthHelper.cs +++ b/Libraries/SPTarkov.Server.Core/Helpers/HealthHelper.cs @@ -4,6 +4,7 @@ using SPTarkov.Server.Core.Models.Common; using SPTarkov.Server.Core.Models.Eft.Common; using SPTarkov.Server.Core.Models.Eft.Common.Tables; using SPTarkov.Server.Core.Models.Spt.Config; +using SPTarkov.Server.Core.Models.Utils; using SPTarkov.Server.Core.Servers; using SPTarkov.Server.Core.Utils; using BodyPartHealth = SPTarkov.Server.Core.Models.Eft.Common.Tables.BodyPartHealth; @@ -11,7 +12,7 @@ using BodyPartHealth = SPTarkov.Server.Core.Models.Eft.Common.Tables.BodyPartHea namespace SPTarkov.Server.Core.Helpers; [Injectable] -public class HealthHelper(TimeUtil timeUtil, ConfigServer configServer) +public class HealthHelper(ISptLogger logger, TimeUtil timeUtil, ConfigServer configServer) { protected readonly HealthConfig HealthConfig = configServer.GetConfig(); protected readonly HashSet EffectsToSkip = ["Dehydration", "Exhaustion"]; @@ -35,7 +36,9 @@ public class HealthHelper(TimeUtil timeUtil, ConfigServer configServer) if (healthChanges.BodyParts is null) { - throw new HealthHelperException("healthChanges.BodyParts is null when trying to apply health changes"); + const string message = "healthChanges.BodyParts is null when trying to apply health changes"; + logger.Error(message); + throw new HealthHelperException(message); } // Alter saved profiles Health with values from post-raid client data @@ -46,7 +49,9 @@ public class HealthHelper(TimeUtil timeUtil, ConfigServer configServer) if (pmcProfileToUpdate.Health is null) { - throw new HealthHelperException("pmcProfileToUpdate.Health is null when trying to apply health changes"); + const string message = "pmcProfileToUpdate.Health is null when trying to apply health changes"; + logger.Error(message); + throw new HealthHelperException(message); } // Update last edited timestamp @@ -76,9 +81,10 @@ public class HealthHelper(TimeUtil timeUtil, ConfigServer configServer) if (partProperties.Health is null || matchingProfilePart.Health is null) { - throw new HealthHelperException( - "partProperties.Health or matchingBodyPart.Health is null when trying to modify profile health properties" - ); + const string message = + "partProperties.Health or matchingBodyPart.Health is null when trying to modify profile health properties"; + logger.Error(message); + throw new HealthHelperException(message); } if (HealthConfig.Save.Health) diff --git a/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs index 87c2cbdc..0bd020aa 100644 --- a/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs +++ b/Libraries/SPTarkov.Server.Core/Helpers/HideoutHelper.cs @@ -57,7 +57,9 @@ public class HideoutHelper( if (pmcData.Hideout is null) { - throw new HideoutHelperException($"Hideout is null when trying to register production for recipe id `{recipe.Id}`"); + var message = $"Hideout is null when trying to register production for recipe id `{recipe.Id}`"; + logger.Error(message); + throw new HideoutHelperException(message); } // @Important: Here we need to be very exact: @@ -131,9 +133,9 @@ public class HideoutHelper( if (pmcData.Hideout is null) { - throw new HideoutHelperException( - $"Hideout is null when trying to register production for recipe id `{productionRequest.RecipeId.Value}`" - ); + var message = $"Hideout is null when trying to register production for recipe id `{productionRequest.RecipeId.Value}`"; + logger.Error(message); + throw new HideoutHelperException(message); } // @Important: Here we need to be very exact: @@ -209,7 +211,9 @@ public class HideoutHelper( case BonusType.MaximumEnergyReserve: if (profileData.Health?.Energy is null) { - throw new HideoutHelperException("Profile Energy is null when trying to apply MaximumEnergyReserve"); + const string message = "Profile Energy is null when trying to apply MaximumEnergyReserve"; + logger.Error(message); + throw new HideoutHelperException(message); } // Amend max energy in profile @@ -231,7 +235,9 @@ public class HideoutHelper( if (profileData.Bonuses is null) { - throw new HideoutHelperException($"Profile bonuses are null when trying to add: {bonus.Type}"); + var message = $"Profile bonuses are null when trying to add: {bonus.Type}"; + logger.Error(message); + throw new HideoutHelperException(message); } // Add bonus to player bonuses array in profile @@ -255,7 +261,9 @@ public class HideoutHelper( if (pmcData.Hideout is null) { - throw new HideoutHelperException("Hideout is null when trying to update player hideout"); + const string message = "Hideout is null when trying to update player hideout"; + logger.Error(message); + throw new HideoutHelperException(message); } pmcData.Hideout.SptUpdateLastRunTimestamp ??= timeUtil.GetTimeStamp(); @@ -402,7 +410,9 @@ public class HideoutHelper( { if (pmcData.Hideout?.Production is null) { - throw new HideoutHelperException("Hideout productions are null when trying to update water collector production timer"); + const string message = "Hideout productions are null when trying to update water collector production timer"; + logger.Error(message); + throw new HideoutHelperException(message); } if (!pmcData.Hideout.Production.TryGetValue(productionId, out var production) || production is null) @@ -430,7 +440,9 @@ public class HideoutHelper( { if (pmcData.Hideout?.Production is null) { - throw new HideoutHelperException("Hideout productions are null when trying to update production progress"); + const string message = "Hideout productions are null when trying to update production"; + logger.Error(message); + throw new HideoutHelperException(message); } // Production is complete, no need to do any calculations @@ -472,7 +484,9 @@ public class HideoutHelper( { if (pmcData.Hideout?.Production is null) { - throw new HideoutHelperException("Hideout productions are null when trying to update cultist progress"); + const string message = "Hideout productions are null when trying to update cultist progress"; + logger.Error(message); + throw new HideoutHelperException(message); } if (!pmcData.Hideout.Production.TryGetValue(prodId, out var production) || production is null) @@ -528,7 +542,9 @@ public class HideoutHelper( { if (pmcData.Hideout?.Production is null) { - throw new HideoutHelperException("Hideout productions are null when trying to match production progress"); + const string message = "Hideout productions are null when trying to update production"; + logger.Error(message); + throw new HideoutHelperException(message); } // Production doesn't exist or progress or production time is null @@ -558,7 +574,9 @@ public class HideoutHelper( { if (pmcData.Hideout?.Production is null) { - throw new HideoutHelperException("Hideout productions are null when trying to update scav case production timer"); + const string message = "Hideout productions are null when trying to update scav case"; + logger.Error(message); + throw new HideoutHelperException(message); } if (!pmcData.Hideout.Production.TryGetValue(productionId, out var production) || production is null) @@ -583,7 +601,9 @@ public class HideoutHelper( { if (pmcData.Hideout is null) { - throw new HideoutHelperException("Hideout is null when trying update areas with resources"); + const string message = "Hideout is null when trying update areas with resources"; + logger.Error(message); + throw new HideoutHelperException(message); } foreach (var area in pmcData.Hideout.Areas ?? []) @@ -1217,7 +1237,9 @@ public class HideoutHelper( { if (pmcData.Hideout is null) { - throw new HideoutHelperException("Pmc Hideout is null when trying get last elasped server tick"); + const string message = "Pmc Hideout is null when trying get last elapsed server tick"; + logger.Error(message); + throw new HideoutHelperException(message); } // Reduce time elapsed (and progress) when generator is off @@ -1341,7 +1363,9 @@ public class HideoutHelper( { if (pmcData.Hideout?.Production is null) { - throw new HideoutHelperException("Hideout productions are null when trying to retrieve bitcoin productions"); + const string message = "Hideout productions are null when trying to retrieve bitcoin productions"; + logger.Error(message); + throw new HideoutHelperException(message); } if (pmcData.Hideout?.Production?.TryGetValue(BitcoinProductionId, out var bitcoinCraft) is null or false) diff --git a/Libraries/SPTarkov.Server.Core/Helpers/InRaidHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/InRaidHelper.cs index acf035e4..792591da 100644 --- a/Libraries/SPTarkov.Server.Core/Helpers/InRaidHelper.cs +++ b/Libraries/SPTarkov.Server.Core/Helpers/InRaidHelper.cs @@ -42,7 +42,9 @@ public class InRaidHelper( { if (serverProfile.InsuredItems is null) { - throw new InRaidHelperException("Insured items are null when trying to set inventory post raid"); + const string message = "Insured items are null when trying to set inventory post raid"; + logger.Error(message); + throw new InRaidHelperException(message); } if ( @@ -51,9 +53,10 @@ public class InRaidHelper( || serverProfile.Inventory?.Equipment is null ) { - throw new InRaidHelperException( - "Server profile inventory items, quest raid items, or equipment are null when trying to set inventory post raid" - ); + const string message = + "Server profile inventory items, quest raid items, or equipment are null when trying to set inventory post raid"; + logger.Error(message); + throw new InRaidHelperException(message); } if ( @@ -62,9 +65,10 @@ public class InRaidHelper( || postRaidProfile.Inventory.Equipment is null ) { - throw new InRaidHelperException( - "Post raid profile inventory items, quest raid items, or equipment are null when trying to set inventory post raid" - ); + const string message = + "Post raid profile inventory items, quest raid items, or equipment are null when trying to set inventory post raid"; + logger.Error(message); + throw new InRaidHelperException(message); } // Store insurance (as removeItem() removes insured items) @@ -160,7 +164,9 @@ public class InRaidHelper( { if (pmcData.Inventory is null) { - throw new InRaidHelperException("Pmc profile inventory is null when trying to delete inventory"); + const string message = "Pmc profile inventory is null when trying to delete inventory"; + logger.Error(message); + throw new InRaidHelperException(message); } // Get inventory items to remove from players profile @@ -222,7 +228,9 @@ public class InRaidHelper( { if (pmcData.Inventory is null) { - throw new InRaidHelperException("Pmc profile inventory is null when checking if an item is kept on death"); + const string message = "Pmc profile inventory is null when checking if an item is kept on death"; + logger.Error(message); + throw new InRaidHelperException(message); } // Base inventory items are always kept