Files
Wyvern-Castle/entities/entity.py
Hemithermos f16388dda4 removed inventory and item modules and moved item
to utils. Updated imports accordingly.
decentralized entity stats-item coordination.
2026-01-29 22:23:32 +01:00

96 lines
3.1 KiB
Python

# Game imports
from serializable import Serializable
# Native imports
import uuid
class Entity(Serializable):
def __init__(self, name, strength, dexterity, intelligence, wisdom, charisma, hp, armor, speed, equipped_item=None):
self.id = str(uuid.uuid4())
self.name = name
self.strength = strength
self.dexterity = dexterity
self.intelligence = intelligence
self.wisdom = wisdom
self.charisma = charisma
self.hp = hp
self.armor = armor
self.speed = speed
self.equipped_item = None
if equipped_item:
self.set_equipped_item(equipped_item)
def get_id(self):
return self.id
def get_strength(self):
if self.equipped_item and "strength" in self.equipped_item.stat_modifier.keys():
return self.strength + self.equipped_item.stat_modifier["strength"]
return self.strength
def get_dexterity(self):
if self.equipped_item and "dexterity" in self.equipped_item.stat_modifier.keys():
return self.dexterity + self.equipped_item.stat_modifier["dexterity"]
return self.dexterity
def get_intelligence(self):
if self.equipped_item and "intelligence" in self.equipped_item.stat_modifier.keys():
return self.intelligence + self.equipped_item.stat_modifier["intelligence"]
return self.intelligence
def get_wisdom(self):
if self.equipped_item and "wisdom" in self.equipped_item.stat_modifier.keys():
return self.wisdom + self.equipped_item.stat_modifier["wisdom"]
return self.wisdom
def get_charisma(self):
if self.equipped_item and "charisma" in self.equipped_item.stat_modifier.keys():
return self.charisma + self.equipped_item.stat_modifier["charisma"]
return self.charisma
def get_hp(self):
if self.equipped_item and "hp" in self.equipped_item.stat_modifier.keys():
return self.hp + self.equipped_item.stat_modifier["hp"]
return self.hp
def get_armor(self):
if self.equipped_item and "armor" in self.equipped_item.stat_modifier.keys():
return self.armor + self.equipped_item.stat_modifier["armor"]
return self.armor
def get_speed(self):
if self.equipped_item and "speed" in self.equipped_item.stat_modifier.keys():
return self.speed + self.equipped_item.stat_modifier["speed"]
return self.speed
def get_equipped_item(self):
return self.equipped_item
def set_strength(self, value):
self.strength = value
def set_dexterity(self, value):
self.dexterity = value
def set_intelligence(self, value):
self.intelligence = value
def set_wisdom(self, value):
self.wisdom = value
def set_charisma(self, value):
self.charisma = value
def set_hp(self, value):
self.hp = value
def set_armor(self, value):
self.armor = value
def set_speed(self, value):
self.speed = value
def set_equipped_item(self, item):
self.equipped_item = item