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