diff --git a/Libraries/SPTarkov.Server.Core/Controllers/TradeController.cs b/Libraries/SPTarkov.Server.Core/Controllers/TradeController.cs index 7b3c7064..2a91b225 100644 --- a/Libraries/SPTarkov.Server.Core/Controllers/TradeController.cs +++ b/Libraries/SPTarkov.Server.Core/Controllers/TradeController.cs @@ -227,7 +227,20 @@ public class TradeController( /// True if player can buy offer protected bool PlayerLacksTraderLoyaltyLevelToBuyOffer(RagfairOffer fleaOffer, PmcData pmcData) { - return fleaOffer.LoyaltyLevel > pmcData.TradersInfo[fleaOffer.User.Id].LoyaltyLevel; + if (fleaOffer.LoyaltyLevel == 0) + { + // No requirement, always passes + return true; + } + + if (pmcData.TradersInfo.TryGetValue(fleaOffer.User.Id, out var traderInfo)) + { + // Trader exists in profile ,do loyalty level check + return traderInfo.LoyaltyLevel >= fleaOffer.LoyaltyLevel; + } + + // No trader data on player profile, fail check + return false; } ///