0
0
mirror of https://github.com/sp-tarkov/server.git synced 2025-02-12 15:50:42 -05:00

Made use of RagfairOfferHelper.offerIsFromTrader()

This commit is contained in:
Chomp 2024-12-22 19:57:26 +00:00
parent 140a1e8c00
commit a22032abe2
3 changed files with 12 additions and 16 deletions

View File

@ -117,7 +117,7 @@ export class RagfairController {
// Match offers with quests and lock unfinished quests // Match offers with quests and lock unfinished quests
for (const offer of result.offers) { for (const offer of result.offers) {
if (offer.user.memberType === MemberCategory.TRADER) { if (this.ragfairOfferHelper.offerIsFromTrader(offer)) {
// for the items, check the barter schemes. The method getDisplayableAssorts sets a flag sptQuestLocked // for the items, check the barter schemes. The method getDisplayableAssorts sets a flag sptQuestLocked
// to true if the quest is not completed yet // to true if the quest is not completed yet
if (this.ragfairOfferHelper.traderOfferItemQuestLocked(offer, traderAssorts)) { if (this.ragfairOfferHelper.traderOfferItemQuestLocked(offer, traderAssorts)) {
@ -330,7 +330,7 @@ export class RagfairController {
return sum; return sum;
} }
if (ignoreTraderOffers && offer.user.memberType === MemberCategory.TRADER) { if (ignoreTraderOffers && this.ragfairOfferHelper.offerIsFromTrader(offer)) {
return sum; return sum;
} }

View File

@ -120,8 +120,7 @@ export class TradeController {
return this.httpResponse.appendErrorToOutput(output, errorMessage, BackendErrorCodes.OFFEROUTOFSTOCK); return this.httpResponse.appendErrorToOutput(output, errorMessage, BackendErrorCodes.OFFEROUTOFSTOCK);
} }
const sellerIsTrader = fleaOffer.user.memberType === MemberCategory.TRADER; if (this.ragfairOfferHelper.offerIsFromTrader(fleaOffer)) {
if (sellerIsTrader) {
this.buyTraderItemFromRagfair(sessionID, pmcData, fleaOffer, offer, output); this.buyTraderItemFromRagfair(sessionID, pmcData, fleaOffer, offer, output);
} else { } else {
this.buyPmcItemFromRagfair(sessionID, pmcData, fleaOffer, offer, output); this.buyPmcItemFromRagfair(sessionID, pmcData, fleaOffer, offer, output);

View File

@ -110,7 +110,7 @@ export class RagfairOfferHelper {
} }
// Not trader offer + tiered flea enabled // Not trader offer + tiered flea enabled
if (tieredFlea.enabled && offer.user.memberType !== MemberCategory.TRADER) { if (tieredFlea.enabled && !this.offerIsFromTrader(offer)) {
this.checkAndLockOfferFromPlayerTieredFlea(tieredFlea, offer, tieredFleaLimitTypes, pmcData.Info.Level); this.checkAndLockOfferFromPlayerTieredFlea(tieredFlea, offer, tieredFleaLimitTypes, pmcData.Info.Level);
} }
@ -185,7 +185,7 @@ export class RagfairOfferHelper {
return false; return false;
} }
if (tieredFlea.enabled && offer.user.memberType !== MemberCategory.TRADER) { if (tieredFlea.enabled && !this.offerIsFromTrader(offer)) {
this.checkAndLockOfferFromPlayerTieredFlea(tieredFlea, offer, tieredFleaLimitTypes, pmcData.Info.Level); this.checkAndLockOfferFromPlayerTieredFlea(tieredFlea, offer, tieredFleaLimitTypes, pmcData.Info.Level);
} }
@ -238,8 +238,7 @@ export class RagfairOfferHelper {
continue; continue;
} }
const isTraderOffer = offer.user.memberType === MemberCategory.TRADER; if (this.offerIsFromTrader(offer)) {
if (isTraderOffer) {
if (this.traderBuyRestrictionReached(offer)) { if (this.traderBuyRestrictionReached(offer)) {
continue; continue;
} }
@ -258,7 +257,7 @@ export class RagfairOfferHelper {
} }
// Tiered flea and not trader offer // Tiered flea and not trader offer
if (tieredFlea.enabled && offer.user.memberType !== MemberCategory.TRADER) { if (tieredFlea.enabled && !this.offerIsFromTrader(offer)) {
this.checkAndLockOfferFromPlayerTieredFlea( this.checkAndLockOfferFromPlayerTieredFlea(
tieredFlea, tieredFlea,
offer, offer,
@ -408,12 +407,10 @@ export class RagfairOfferHelper {
*/ */
protected getLoyaltyLockedOffers(offers: IRagfairOffer[], pmcProfile: IPmcData): string[] { protected getLoyaltyLockedOffers(offers: IRagfairOffer[], pmcProfile: IPmcData): string[] {
const loyaltyLockedOffers: string[] = []; const loyaltyLockedOffers: string[] = [];
for (const offer of offers) { for (const offer of offers.filter((offer) => this.offerIsFromTrader(offer))) {
if (offer.user.memberType === MemberCategory.TRADER) { const traderDetails = pmcProfile.TradersInfo[offer.user.id];
const traderDetails = pmcProfile.TradersInfo[offer.user.id]; if (traderDetails.loyaltyLevel < offer.loyaltyLevel) {
if (traderDetails.loyaltyLevel < offer.loyaltyLevel) { loyaltyLockedOffers.push(offer._id);
loyaltyLockedOffers.push(offer._id);
}
} }
} }
@ -639,7 +636,7 @@ export class RagfairOfferHelper {
const isDefaultUserOffer = offer.user.memberType === MemberCategory.DEFAULT; const isDefaultUserOffer = offer.user.memberType === MemberCategory.DEFAULT;
const offerRootItem = offer.items[0]; const offerRootItem = offer.items[0];
const moneyTypeTpl = offer.requirements[0]._tpl; const moneyTypeTpl = offer.requirements[0]._tpl;
const isTraderOffer = offer.user.memberType === MemberCategory.TRADER; const isTraderOffer = this.offerIsFromTrader(offer);
if (pmcData.Info.Level < this.databaseService.getGlobals().config.RagFair.minUserLevel && isDefaultUserOffer) { if (pmcData.Info.Level < this.databaseService.getGlobals().config.RagFair.minUserLevel && isDefaultUserOffer) {
// Skip item if player is < global unlock level (default is 15) and item is from a dynamically generated source // Skip item if player is < global unlock level (default is 15) and item is from a dynamically generated source