34 lines
751 B
GDScript
34 lines
751 B
GDScript
extends CharacterBody3D
|
|
class_name Player
|
|
|
|
var dodge_direction
|
|
|
|
@onready var body: MeshInstance3D = $Body
|
|
@onready var anim_player: AnimationPlayer = $AnimationPlayer
|
|
|
|
var gold_to_vacuum = []
|
|
var gold = 0
|
|
|
|
const MAX_HEALTH : float = 100
|
|
var health = MAX_HEALTH
|
|
|
|
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 _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
|