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_by = player
self.map.remove_entity(self)
self.held_by.map.remove_entity(self)
player.add_to_inventory(self)
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.
"""
player.health = min(player.maxhealth, player.health + self.healing)
self.map.remove_entity(self)
player.map.remove_entity(self)
def save_state(self) -> dict:
"""

View File

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

View File

@ -68,7 +68,8 @@ class 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:
return [entity for entity in self.entities