diff --git a/project/src/generators/FenceBaseAssortGenerator.ts b/project/src/generators/FenceBaseAssortGenerator.ts index 3972229f..530d0c05 100644 --- a/project/src/generators/FenceBaseAssortGenerator.ts +++ b/project/src/generators/FenceBaseAssortGenerator.ts @@ -163,12 +163,13 @@ export class FenceBaseAssortGenerator // Calculate preset price (root item + child items) const price = this.handbookHelper.getTemplatePriceForItems(itemAndChildren); + const itemQualityModifier = this.itemHelper.getItemQualityModifierForOfferItems(itemAndChildren); // Multiply weapon+mods rouble price by quality modifier baseFenceAssort.barter_scheme[itemAndChildren[0]._id] = [[]]; baseFenceAssort.barter_scheme[itemAndChildren[0]._id][0][0] = { _tpl: Money.ROUBLES, - count: Math.round(price * this.itemHelper.getItemQualityModifierForOfferItems(itemAndChildren)), + count: Math.round(price * itemQualityModifier), }; baseFenceAssort.loyal_level_items[itemAndChildren[0]._id] = 1; diff --git a/project/src/helpers/ItemHelper.ts b/project/src/helpers/ItemHelper.ts index 63217c96..ecb936b2 100644 --- a/project/src/helpers/ItemHelper.ts +++ b/project/src/helpers/ItemHelper.ts @@ -304,7 +304,12 @@ export class ItemHelper */ public getItemQualityModifierForOfferItems(items: Item[]): number { - let qualityModifier = 1; + if (this.isOfBaseclass(items[0]._tpl, BaseClasses.WEAPON)) + { + return this.getItemQualityModifier(items[0]); + } + + let qualityModifier = 0; for (const item of items) { qualityModifier += this.getItemQualityModifier(item); @@ -370,9 +375,11 @@ export class ItemHelper // make item non-zero but still very low result = 0.01; } + + return result; } - return result; + return 1; } /** diff --git a/project/src/helpers/RagfairOfferHelper.ts b/project/src/helpers/RagfairOfferHelper.ts index e2069d7c..64738c20 100644 --- a/project/src/helpers/RagfairOfferHelper.ts +++ b/project/src/helpers/RagfairOfferHelper.ts @@ -612,9 +612,9 @@ export class RagfairOfferHelper return false; } - if (offer.items.length === 1 || this.itemHelper.isOfBaseclass(offerRootItem._tpl, BaseClasses.WEAPON)) + if (offer.items.length === 1) { - // Single item or weapon + // Single item if ( this.isConditionItem(offerRootItem) && !this.itemQualityInRange(offerRootItem, searchRequest.conditionFrom, searchRequest.conditionTo)