35 lines
992 B
Python
35 lines
992 B
Python
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
|
|
|