Converted ProfileMeetsTraderLoyaltyLevelToBuyOffer to extension method
This commit is contained in:
@@ -138,7 +138,7 @@ public class TradeController(
|
||||
)
|
||||
{
|
||||
// Skip buying items when player doesn't have needed loyalty
|
||||
if (!PlayerMeetsTraderLoyaltyLevelToBuyOffer(fleaOffer, pmcData))
|
||||
if (!pmcData.PlayerMeetsTraderLoyaltyLevelToBuyOffer(fleaOffer))
|
||||
{
|
||||
var errorMessage =
|
||||
$"Unable to buy item: {fleaOffer.Items[0].Template} from trader: {fleaOffer.User.Id} as loyalty level too low, skipping";
|
||||
@@ -219,30 +219,6 @@ public class TradeController(
|
||||
ragfairServer.ReduceOfferQuantity(fleaOffer.Id, requestOffer.Count ?? 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Does Player have necessary trader loyalty to purchase flea offer
|
||||
/// </summary>
|
||||
/// <param name="fleaOffer">Flea offer being bought</param>
|
||||
/// <param name="pmcData">Player profile</param>
|
||||
/// <returns>True if player can buy offer</returns>
|
||||
protected bool PlayerMeetsTraderLoyaltyLevelToBuyOffer(RagfairOffer fleaOffer, PmcData pmcData)
|
||||
{
|
||||
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>
|
||||
/// Handle SellAllFromSavage event
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user