diff --git a/squirrelbattle/entities/friendly.py b/squirrelbattle/entities/friendly.py index 15ce8d1..0e7ac1c 100644 --- a/squirrelbattle/entities/friendly.py +++ b/squirrelbattle/entities/friendly.py @@ -3,7 +3,7 @@ from ..translations import gettext as _ from .player import Player from .items import Item from random import choice -from typing import Dict, Tuple, Any +from typing import Any class Merchant(FriendlyEntity): @@ -51,7 +51,7 @@ class Merchant(FriendlyEntity): d = super().save_state() d["inventory"] = [item.save_state() for item in self.inventory] return d - + def add_to_inventory(self, obj: Any) -> None: """ Adds an object to inventory diff --git a/squirrelbattle/entities/items.py b/squirrelbattle/entities/items.py index 5148a5c..87c9ba1 100644 --- a/squirrelbattle/entities/items.py +++ b/squirrelbattle/entities/items.py @@ -17,8 +17,8 @@ class Item(Entity): held_by: Optional[Player] price: int - def __init__(self, held: bool = False, held_by: Optional[Player] = None, price : int=2, - *args, **kwargs): + def __init__(self, held: bool = False, held_by: Optional[Player] = None, + price: int = 2, *args, **kwargs): super().__init__(*args, **kwargs) self.held = held self.held_by = held_by @@ -66,27 +66,30 @@ class Item(Entity): def get_all_items() -> list: return [BodySnatchPotion, Bomb, Heart, Sword] - def be_sold(self, buyer: Entity, seller: Entity, game : Any) -> bool: + def be_sold(self, buyer: Entity, seller: Entity, game: Any) -> bool: """ Does all necessary actions when an object is to be sold. - Is overwritten by some classes that cannot exist in the player's inventory + Is overwritten by some classes that cannot exist in the player's + inventory """ - if buyer.hazel>=self.price : + if buyer.hazel >= self.price: buyer.add_to_inventory(self) seller.remove_from_inventory(self) buyer.change_hazel_balance(-self.price) seller.change_hazel_balance(self.price) return True - else : + else: return False + class Heart(Item): """ A heart item to return health to the player """ healing: int - def __init__(self, name: str = "heart", healing: int = 5, price: int = 3, *args, **kwargs): + def __init__(self, name: str = "heart", healing: int = 5, price: int = 3, + *args, **kwargs): super().__init__(name=name, price=price, *args, **kwargs) self.healing = healing @@ -105,20 +108,21 @@ class Heart(Item): d["healing"] = self.healing return d - def be_sold(self, buyer: Entity, seller: Entity, game: Any) -> str: + def be_sold(self, buyer: Entity, seller: Entity, game: Any) -> bool: """ Does all necessary actions when an object is to be sold. - Is overwritten by some classes that cannot exist in the player's inventory + Is overwritten by some classes that cannot exist in the player's + inventory """ - if buyer.hazel>=self.price : + if buyer.hazel >= self.price: self.hold(buyer) seller.remove_from_inventory(self) buyer.change_hazel_balance(-self.price) seller.change_hazel_balance(self.price) return True - else : + else: return False - + class Bomb(Item): """ @@ -212,7 +216,8 @@ class BodySnatchPotion(Item): other entity. """ - def __init__(self, name: str = "body_snatch_potion", price: int = 14, *args, **kwargs): + def __init__(self, name: str = "body_snatch_potion", price: int = 14, + *args, **kwargs): super().__init__(name=name, price=price, *args, **kwargs) def use(self) -> None: diff --git a/squirrelbattle/game.py b/squirrelbattle/game.py index 1dc4fc0..34ce960 100644 --- a/squirrelbattle/game.py +++ b/squirrelbattle/game.py @@ -195,7 +195,7 @@ class Game: if key == KeyValues.ENTER: item = self.store_menu.validate() flag = item.be_sold(self.player, self.store_menu.merchant, self) - if not flag : + if not flag: self.message = _("You do not have enough money") self.display_actions(DisplayActions.UPDATE) # Ensure that the cursor has a good position