extends CharacterBody3D class_name Player var dodge_direction @onready var body: MeshInstance3D = $Body @onready var anim_player: AnimationPlayer = $AnimationPlayer @onready var sword_hit_area: Area3D = $SwordHit var gold_to_vacuum = [] var gold = 0 const MAX_HEALTH : float = 100 var health = MAX_HEALTH @export var arrows = 10 const MAX_STAMINA : float = 100 var stamina = MAX_STAMINA ## Gameplay Settings const STAMINA_REGEN_RATE = 10.0 const DODGE_STAMINA_COST = 30.0 const ATTACK_STAMINA_COST = 10.0 func _ready() -> void: Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN) func _physics_process(delta: float) -> void: stamina_regen(delta) move_and_slide() func stamina_regen(delta): if stamina < MAX_STAMINA: stamina = clamp(stamina + delta * STAMINA_REGEN_RATE,0,MAX_STAMINA) func _on_area_3d_body_entered(body: Node3D) -> void: if body is Gold: body.follow_target = self func _on_area_3d_area_entered(area: Area3D) -> void: if area.get_parent() is Arrow: area.get_parent().follow_target = self