39 lines
923 B
GDScript
39 lines
923 B
GDScript
extends KinematicBody2D
|
|
|
|
onready var immunity = 500
|
|
|
|
const MOVEMENT_VECTORS = [
|
|
Vector2.UP,
|
|
Vector2.RIGHT,
|
|
Vector2.DOWN,
|
|
Vector2.LEFT
|
|
]
|
|
|
|
func _physics_process(_delta):
|
|
if immunity > 0:
|
|
immunity = immunity - 1
|
|
var movement = MOVEMENT_VECTORS[randi() % 4]
|
|
move_and_collide(movement * 2)
|
|
|
|
func _on_Hurtbox_area_entered(_area):
|
|
if immunity == 0:
|
|
$Hurtbox/death.play()
|
|
|
|
func _on_death_finished():
|
|
var smallooze = load("res://NPCs/smallooze.tscn")
|
|
var instance1 = smallooze.instance()
|
|
var instance2 = smallooze.instance()
|
|
instance1.position = position
|
|
instance2.position = position
|
|
get_parent().add_child(instance1)
|
|
get_parent().add_child(instance2)
|
|
queue_free()
|
|
|
|
func _on_Hitbox_area_entered(_area):
|
|
yield(get_tree().create_timer(2.0),"timeout")
|
|
var bigooze = load("res://NPCs/big_ooze.tscn")
|
|
var instance = bigooze.instance()
|
|
instance.position = position
|
|
get_parent().add_child(instance)
|
|
queue_free()
|