From 4080b430be47baaeeb846f087c4f2ea0ff6d8965 Mon Sep 17 00:00:00 2001 From: CWX Date: Thu, 23 Jan 2025 14:50:49 +0000 Subject: [PATCH] null guards go brr --- Libraries/Core/Helpers/ProfileHelper.cs | 2 +- Libraries/Core/Helpers/TradeHelper.cs | 2 +- Libraries/Core/Helpers/TraderAssortHelper.cs | 2 +- Libraries/Core/Helpers/TraderHelper.cs | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Libraries/Core/Helpers/ProfileHelper.cs b/Libraries/Core/Helpers/ProfileHelper.cs index 6ef80282..e507e2b4 100644 --- a/Libraries/Core/Helpers/ProfileHelper.cs +++ b/Libraries/Core/Helpers/ProfileHelper.cs @@ -480,7 +480,7 @@ public class ProfileHelper( pointsToAddToSkill *= skillProgressRate; } - if (_inventoryConfig.SkillGainMultipliers[skill.ToString()] != null) + if (_inventoryConfig.SkillGainMultipliers.TryGetValue(skill.ToString(), out var _)) pointsToAddToSkill *= _inventoryConfig.SkillGainMultipliers[skill.ToString()]; profileSkill.Progress += pointsToAddToSkill; diff --git a/Libraries/Core/Helpers/TradeHelper.cs b/Libraries/Core/Helpers/TradeHelper.cs index d6170235..6c6f40a9 100644 --- a/Libraries/Core/Helpers/TradeHelper.cs +++ b/Libraries/Core/Helpers/TradeHelper.cs @@ -414,7 +414,7 @@ public class TradeHelper( (double)assortBeingPurchased.Upd?.BuyRestrictionMax, pmcData.Info.GameVersion ); - if ((traderPurchaseData?.PurchaseCount ?? 0 + count) > traderItemPurchaseLimit) + if (((traderPurchaseData?.PurchaseCount ?? 0) + count) > traderItemPurchaseLimit) { throw new Exception( $"Unable to purchase: {count} items, this would exceed your purchase limit of {traderItemPurchaseLimit} from the trader: {traderId} assort: {assortId} this refresh" diff --git a/Libraries/Core/Helpers/TraderAssortHelper.cs b/Libraries/Core/Helpers/TraderAssortHelper.cs index 00941f95..2e4dffe8 100644 --- a/Libraries/Core/Helpers/TraderAssortHelper.cs +++ b/Libraries/Core/Helpers/TraderAssortHelper.cs @@ -92,7 +92,7 @@ public class TraderAssortHelper( continue; } - assortToAdjust.Upd.BuyRestrictionCurrent = (int)assortPurchasesfromTrader[assortId.Key].PurchaseCount; + assortToAdjust.Upd.BuyRestrictionCurrent = (int)(assortPurchasesfromTrader[assortId.Key].PurchaseCount ?? 0); } // Get rid of quest locked assorts diff --git a/Libraries/Core/Helpers/TraderHelper.cs b/Libraries/Core/Helpers/TraderHelper.cs index 4d717b8c..317f8745 100644 --- a/Libraries/Core/Helpers/TraderHelper.cs +++ b/Libraries/Core/Helpers/TraderHelper.cs @@ -441,7 +441,8 @@ public class TraderHelper( // Null guard when dict doesnt exist - if (profile.TraderPurchases[traderId][purchasedItem.ItemId] is null) + if (profile.TraderPurchases[traderId][purchasedItem.ItemId].PurchaseCount is null + || profile.TraderPurchases[traderId][purchasedItem.ItemId].PurchaseTimestamp is null) { profile.TraderPurchases[traderId][purchasedItem.ItemId] = new TraderPurchaseData {