commit entity-modify-player-inventory
This commit is contained in:
@@ -16,7 +16,9 @@ class Entity(Serializable):
|
||||
self.hp = hp
|
||||
self.armor = armor
|
||||
self.speed = speed
|
||||
self.equipped_item = equipped_item
|
||||
self.equipped_item = None
|
||||
if equipped_item:
|
||||
self.set_equipped_item(equipped_item)
|
||||
|
||||
def get_id(self):
|
||||
return self.id
|
||||
@@ -74,4 +76,44 @@ class Entity(Serializable):
|
||||
|
||||
def set_equipped_item(self, item):
|
||||
self.equipped_item = item
|
||||
|
||||
if item.stat_modifier == "strength":
|
||||
self.set_strength(self.get_strength() + item.stat_modifier_value)
|
||||
elif item.stat_modifier == "dexterity":
|
||||
self.set_dexterity(self.get_dexterity() + item.stat_modifier_value)
|
||||
elif item.stat_modifier == "intelligence":
|
||||
self.set_intelligence(self.get_intelligence() + item.stat_modifier_value)
|
||||
elif item.stat_modifier == "wisdom":
|
||||
self.set_wisdom(self.get_wisdom() + item.stat_modifier_value)
|
||||
elif item.stat_modifier == "charisma":
|
||||
self.set_charisma(self.get_charisma() + item.stat_modifier_value)
|
||||
elif item.stat_modifier == "hp":
|
||||
self.set_hp(self.get_hp() + item.stat_modifier_value)
|
||||
elif item.stat_modifier == "armor":
|
||||
self.set_armor(self.get_armor() + item.stat_modifier_value)
|
||||
elif item.stat_modifier == "speed":
|
||||
self.set_speed(self.get_speed() + item.stat_modifier_value)
|
||||
else:
|
||||
raise ValueError(f"Unknown stat modifier: {item.stat_modifier}")
|
||||
|
||||
def change_equipped_item(self, new_item):
|
||||
if self.equipped_item:
|
||||
# Remove the stat modifier of the currently equipped item
|
||||
if self.equipped_item.stat_modifier == "strength":
|
||||
self.set_strength(self.get_strength() - self.equipped_item.stat_modifier_value)
|
||||
elif self.equipped_item.stat_modifier == "dexterity":
|
||||
self.set_dexterity(self.get_dexterity() - self.equipped_item.stat_modifier_value)
|
||||
elif self.equipped_item.stat_modifier == "intelligence":
|
||||
self.set_intelligence(self.get_intelligence() - self.equipped_item.stat_modifier_value)
|
||||
elif self.equipped_item.stat_modifier == "wisdom":
|
||||
self.set_wisdom(self.get_wisdom() - self.equipped_item.stat_modifier_value)
|
||||
elif self.equipped_item.stat_modifier == "charisma":
|
||||
self.set_charisma(self.get_charisma() - self.equipped_item.stat_modifier_value)
|
||||
elif self.equipped_item.stat_modifier == "hp":
|
||||
self.set_hp(self.get_hp() - self.equipped_item.stat_modifier_value)
|
||||
elif self.equipped_item.stat_modifier == "armor":
|
||||
self.set_armor(self.get_armor() - self.equipped_item.stat_modifier_value)
|
||||
elif self.equipped_item.stat_modifier == "speed":
|
||||
self.set_speed(self.get_speed() - self.equipped_item.stat_modifier_value)
|
||||
|
||||
# Equip the new item
|
||||
self.set_equipped_item(new_item)
|
||||
Reference in New Issue
Block a user