extends Area2D var enemy_type: String = "boss" var bullet_scene = preload("res://scenes/enemy_bullet.tscn") var start_pos = Vector2.ZERO var speed = 0 var tween_speed: float = 1.4 var horse_counter = 0 var exploding = false @onready var boss = $AnimationPlayer @onready var screensize = get_viewport_rect().size func _ready(): position = Vector2(screensize.x / 2, -screensize.y) var tween = create_tween().set_ease(Tween.EASE_OUT) tween.tween_property(self, "position:y", 100, 2) await tween.finished boss_intro() func boss_intro(): print("Boss intro!") await get_tree().create_timer(2).timeout boss.play("align") await get_tree().create_timer(2).timeout boss.play("rise") await get_tree().create_timer(4).timeout boss.play("whisper") await get_tree().create_timer(1).timeout boss_horse() func boss_horse(): $Horse.horse_phase = true print("Boss horse!") await get_tree().create_timer(2).timeout EventBus.flash_screen.emit(.25) $Sprite2D.frame = 7 $Horse.show() $Horse.start() var horse_player = $Horse/AnimationPlayer horse_player.play("run") await get_tree().create_timer(10).timeout EventBus.flash_screen.emit(.25) $Horse.hide() $Horse.end() horse_counter += 1 await get_tree().create_timer(5).timeout lady_of_whispers() func lady_of_whispers(): print("Lady of Whispers!") boss.play("rise") await get_tree().create_timer(4).timeout boss.play("whisper") await get_tree().create_timer(1).timeout boss_horse() func hit_detection(): return