From 5c258d7aae872cbbceb2b6dfc5ce7d97538a9cba Mon Sep 17 00:00:00 2001 From: Eriks Karls Date: Sun, 26 Jan 2020 20:44:21 +0200 Subject: [PATCH] Hey Plato! If You're reading this - fix your variable types and there will be 90% less bugs in Your code!!! {'weaponId': 6, 'weaponQuantity': 0, 'damage': 120} {'weaponId': '7', 'weaponQuantity': 1185, 'inClip': 7, 'damage': 200} {'weaponId': 10, 'weaponQuantity': 0, 'damage': 100} --- erepublik/citizen.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/erepublik/citizen.py b/erepublik/citizen.py index dc1cbbb..3daa4f5 100644 --- a/erepublik/citizen.py +++ b/erepublik/citizen.py @@ -2195,11 +2195,14 @@ class Citizen(CitizenAPI): while not isinstance(available_weapons, list): available_weapons = self._get_military_show_weapons(battle_id).json() weapon_quality = -1 + weapon_damage = 0 if not battle.is_air: for weapon in available_weapons: - if weapon['weaponId'] == 7 and weapon['weaponQuantity'] > 30: - weapon_quality = 7 - break + try: + if weapon['weaponQuantity'] > 30 and weapon['damage'] > weapon_damage: + weapon_quality = int(weapon['weaponId']) + except ValueError: + pass return self.change_weapon(battle_id, weapon_quality) def change_weapon(self, battle_id: int, weapon_quality: int) -> int: