From 35824666ce892b99cac8fff5241c7e5b3e130abe Mon Sep 17 00:00:00 2001 From: KuMiShi Date: Sun, 25 Jan 2026 16:21:15 +0100 Subject: [PATCH] Equippable & Consummable --- inventory.py | 10 +++++++++- item.py | 24 +++++++++++++++++++----- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/inventory.py b/inventory.py index 07f7799..d8f19b9 100644 --- a/inventory.py +++ b/inventory.py @@ -28,4 +28,12 @@ class Inventory(Serializable): self.items.remove(r_item) return f'{r_item.name} was removed from the inventory' else: - return f'{r_item.name} is not present within the inventory' \ No newline at end of file + return f'{r_item.name} is not present within the inventory' + + def get_item(self, item_name:str): + for item in self.items: + if item.name == item_name: + return item + + # The item was not found + return None \ No newline at end of file diff --git a/item.py b/item.py index 9efe375..dbd0008 100644 --- a/item.py +++ b/item.py @@ -1,19 +1,33 @@ from .serializable import Serializable class Item(Serializable): - def __init__(self,name:str, description:str, weight:float = 10.0): + def __init__(self,name:str, description:str, stat_modifier:str, weight:float = 10.0): super().__init__() self.name = name self.description = description + self.stat_modifier = stat_modifier self.weight = weight def __str__(self): return self.name + '(' + self.weight + ' kg)' + ': ' + self.description class Equippable(Item): - def __init__(self, name, description, weight = 10): - super().__init__(name, description, weight) + def __init__(self, name, description, stat_modifier, equipped:bool, weight = 10.0): + super().__init__(name, description, stat_modifier, weight) + self.equipped = equipped + + def equip(self): + self.equipped = True + + def unequip(self): + self.equipped = False class Consummable(Item): - def __init__(self, name, description, weight = 10): - super().__init__(name, description, weight) \ No newline at end of file + def __init__(self, name, description, stat_modifier, nb_of_uses:int, weight = 10.0): + super().__init__(name, description, stat_modifier, weight) + self.nb_of_uses = nb_of_uses + + def consumme(self): + if self.nb_of_uses > 0: + self.nb_of_uses -= 1 + \ No newline at end of file