fishtank/src/NPCs/ooze.gd
2024-07-02 23:32:18 +02:00

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()