39 lines
1 KiB
GDScript
39 lines
1 KiB
GDScript
extends Node3D
|
|
|
|
# used to switch between the fun stuff.
|
|
var Swapper = false
|
|
|
|
var HP: float = 400
|
|
var MaxHP: float = 400
|
|
var Attack: float = 9
|
|
var Heal: float = 3
|
|
var Level: int = 1
|
|
|
|
@export_node_path("Node3D") var PlayerPath
|
|
|
|
func EnemyTakeTurn():
|
|
var RandomThing = randf_range(0, 100)
|
|
if RandomThing < 75:
|
|
if Player.HP > 0:
|
|
get_tree().get_current_scene().get_node("Animator").play("EnemyAttack")
|
|
else:
|
|
HP = HP + (Heal * randf_range(4, 50))
|
|
if HP >= MaxHP:
|
|
HP = MaxHP
|
|
get_tree().get_current_scene().get_node("Animator").play("EnemyHeal")
|
|
|
|
func SpawnEnemy():
|
|
var Health = randf_range(250, 600)
|
|
HP = Health * Level
|
|
MaxHP = Health * Level
|
|
Attack = randi_range(5, 12) * Level
|
|
Heal = randi_range(2, 5) * Level
|
|
|
|
# This is an animation function, in EnemyAttack.
|
|
func DealPlayerDamage():
|
|
Player.HP = Player.HP - (Attack * randf_range(1, 7))
|
|
if Swapper == false:
|
|
get_node(PlayerPath).get_node("Damage").set("emitting", true)
|
|
else:
|
|
get_node(PlayerPath).get_node("Damage2").set("emitting", true)
|
|
Swapper = !Swapper
|