RAIDER_Survivor/scripts/Entity.gd
2025-02-23 22:21:44 +01:00

45 lines
952 B
GDScript

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