class_name Entity extends Node3D var stats: EntityStats var equipments: Array[Equipment] func init_entity(stats: EntityStats): self.stats = stats; func equip(newEquipment: Equipment)-> void: equipments.append(newEquipment) func unequip(equipmentToRemove: Equipment)-> void: equipments.erase(equipmentToRemove) func get_max_health()->int: var max_health = stats.max_health for equipment in equipments: max_health += equipment return max_health func get_health()->int: return stats.health.value func get_armor()->int: var armor = stats.armor for equipment in equipments: armor += equipment.stats.armor return armor func get_Shield()->int: var shield = stats.shield for equipment in equipments: shield += equipment.stats.shield return shield func get_movement_speed()->int: var movement_speed = stats.movement_speed for equipment in equipments: movement_speed += equipment.stats.movement_speed return movement_speed