From c81986d65e195db436d3541dc0d733bdcd14446f Mon Sep 17 00:00:00 2001 From: Eriks K Date: Fri, 20 Nov 2020 14:31:16 +0200 Subject: [PATCH] CitizenEconomy.post_market_offer() bugfix --- erepublik/citizen.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/erepublik/citizen.py b/erepublik/citizen.py index 6322e6c..11ff0f9 100644 --- a/erepublik/citizen.py +++ b/erepublik/citizen.py @@ -1120,14 +1120,16 @@ class CitizenEconomy(CitizenTravel): if not constants.INDUSTRIES[industry]: self.write_log(f"Trying to sell unsupported industry {industry}") - final = industry in [1, 2, 4, 23] - items = self.inventory['final' if final else 'raw'][constants.INDUSTRIES[industry]] - if items[quality if final else 0]['amount'] < amount: - self.update_inventory() - items = self.inventory['final' if final else 'raw'][constants.INDUSTRIES[industry]] - if items[quality if final else 0]['amount'] < amount: + _inv_qlt = quality if industry in [1, 2, 3, 4, 23] else 0 + _kind = 'final' if industry in [1, 2, 4, 4, 23] else 'raw' + inventory = self.get_inventory() + items = inventory[_kind].get(constants.INDUSTRIES[industry], {_inv_qlt: {'amount': 0}}) + if items[_inv_qlt]['amount'] < amount: + inventory = self.get_inventory(True) + items = inventory[_kind].get(constants.INDUSTRIES[industry], {_inv_qlt: {'amount': 0}}) + if items[_inv_qlt]['amount'] < amount: self._report_action("ECONOMY_SELL_PRODUCTS", "Unable to sell! Not enough items in storage!", - kwargs=dict(inventory=items[quality if final else 0], amount=amount)) + kwargs=dict(inventory=items[_inv_qlt], amount=amount)) return False data = {