From ca0bd6bbfca82f88a244443c99b6cd332901b814 Mon Sep 17 00:00:00 2001 From: Vildravn Date: Thu, 16 Dec 2021 14:50:13 +0000 Subject: [PATCH] Merge branch '1877-faction-item-vendor-fix' into 'master' bug #1877: Move the canBuy check from factionVendor.js to trade.js Closes #1877 See merge request Isleward/isleward!578 (cherry picked from commit cb0202c4279d5ade3f6d6fdb5d8900be3d1850d0) 420230b7 bug #1877: Move the canBuy check from factionVendor.js to trade.js --- .../components/extensions/factionVendor.js | 19 ------------------- src/server/components/trade.js | 17 ++++++++++++++++- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/src/server/components/extensions/factionVendor.js b/src/server/components/extensions/factionVendor.js index 5e1d1c03..17c04c79 100644 --- a/src/server/components/extensions/factionVendor.js +++ b/src/server/components/extensions/factionVendor.js @@ -149,25 +149,6 @@ module.exports = { } }, - canBuy: function (itemId, requestedBy, action) { - let item = null; - if (action === 'buy') - item = this.findItem(itemId, requestedBy.name); - else if (action === 'buyback') - item = this.findBuyback(itemId, requestedBy.name); - - let result = true; - if (item.factions) - result = requestedBy.reputation.canEquipItem(item); - - if (!result) { - const message = 'your reputation is too low to buy that item'; - requestedBy.social.notifySelf({ message }); - } - - return result; - }, - findItem: function (itemId, sourceName) { let list = this.items[sourceName]; if (!list) diff --git a/src/server/components/trade.js b/src/server/components/trade.js index 4af96e40..3c72a179 100644 --- a/src/server/components/trade.js +++ b/src/server/components/trade.js @@ -341,7 +341,22 @@ module.exports = { }, canBuy: function (itemId, requestedBy, action) { - return true; + let item = null; + if (action === 'buy') + item = this.findItem(itemId, requestedBy.name); + else if (action === 'buyback') + item = this.findBuyback(itemId, requestedBy.name); + + let result = true; + if (item.factions) + result = requestedBy.reputation.canEquipItem(item); + + if (!result) { + const message = 'your reputation is too low to buy that item'; + requestedBy.social.notifySelf({ message }); + } + + return result; }, findItem: function (itemId, sourceName) {