Don't buy hearts, use them instant instead. Fixes #38

This commit is contained in:
Yohann D'ANELLO 2020-12-09 16:57:46 +01:00
parent 2d5a2e4c87
commit 4dbd4f7912
3 changed files with 5 additions and 4 deletions

View File

@ -49,7 +49,7 @@ class Item(Entity):
""" """
self.held = True self.held = True
self.held_by = player self.held_by = player
self.map.remove_entity(self) self.held_by.map.remove_entity(self)
player.add_to_inventory(self) player.add_to_inventory(self)
def save_state(self) -> dict: def save_state(self) -> dict:
@ -80,7 +80,7 @@ class Heart(Item):
When holding a heart, heal the player and don't put item in inventory. When holding a heart, heal the player and don't put item in inventory.
""" """
player.health = min(player.maxhealth, player.health + self.healing) player.health = min(player.maxhealth, player.health + self.healing)
self.map.remove_entity(self) player.map.remove_entity(self)
def save_state(self) -> dict: def save_state(self) -> dict:
""" """

View File

@ -194,7 +194,7 @@ class Game:
if self.store_menu.values and not self.player.dead: if self.store_menu.values and not self.player.dead:
if key == KeyValues.ENTER: if key == KeyValues.ENTER:
item = self.store_menu.validate() item = self.store_menu.validate()
self.player.add_to_inventory(item) item.hold(self.player)
self.store_menu.merchant.inventory.remove(item) self.store_menu.merchant.inventory.remove(item)
# Ensure that the cursor has a good position # Ensure that the cursor has a good position
self.store_menu.position = min(self.store_menu.position, self.store_menu.position = min(self.store_menu.position,

View File

@ -68,7 +68,8 @@ class Map:
""" """
Unregister an entity from the map. Unregister an entity from the map.
""" """
self.entities.remove(entity) if entity in self.entities:
self.entities.remove(entity)
def find_entities(self, entity_class: type) -> list: def find_entities(self, entity_class: type) -> list:
return [entity for entity in self.entities return [entity for entity in self.entities