extends KinematicBody
var enemyHP :=3
var damage :=1
var attackDistance := 3.0
var attackRate := 1.0
var enemySpeed := 50.0
var vida
var velocity := Vector3.ZERO
onready var timer := $attackTimer as Timer
onready var player := get_node("/root/cenario/player")
const UP = Vector3.UP
func _ready() -> void:
timer.wait_time = attackRate
timer.start()
vida = get_tree().current_scene
func _physics_process(delta: float) -> void:
var distance = translation.distance_to(player.translation)
if distance > attackDistance:
var direction = (player.translation - translation).normalized()
velocity = Vector3(direction.x, 0, direction.z)
velocity = move_and_slide(velocity, UP)
func takeDamage(damage):
enemyHP -= damage
if enemyHP <= 0:
queue_free()
func _on_attackTimer_timeout() -> void:
if translation.distance_to(player.translation) <= attackDistance:
player.takeDamage(damage)
vida.count_hp()
func _on_inimigmorreu_body_entered(body):
if (body.name =="Player"):
print(body.name)