Improve level check logic inside PlayerLacksTraderLoyaltyLevelToBuyOffer

This commit is contained in:
Chomp
2025-08-17 16:42:01 +01:00
parent c8108600ec
commit aa4224081b
@@ -227,7 +227,20 @@ public class TradeController(
/// <returns>True if player can buy offer</returns>
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;
}
/// <summary>