from serializable import Serializable import uuid class Item(Serializable): def __init__(self,name:str, description:str, stat_modifier:str): super().__init__() self.id = str(uuid.uuid4()) self.name = name self.description = description self.stat_modifier = stat_modifier def __str__(self): return f"{self.name}: {self.description}" class Equippable(Item): def __init__(self, name, description, stat_modifier, equipped:bool): super().__init__(name, description, stat_modifier) self.equipped = equipped def equip(self): self.equipped = True def unequip(self): self.equipped = False class Consummable(Item): def __init__(self, name, description, stat_modifier, nb_of_uses:int): super().__init__(name, description, stat_modifier) self.nb_of_uses = nb_of_uses def consumme(self): if self.nb_of_uses > 0: self.nb_of_uses -= 1