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 = 1 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) $Heart.hide() $Horse.show() $Sprite2D.frame = 7 $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() await get_tree().create_timer(5).timeout horse_counter += 1 lady_of_whispers() func lady_of_whispers(): if horse_counter == 2: print("Lady of Whispers offers you a heart!") boss.play("rise") await get_tree().create_timer(4).timeout # boss.play("whisper") offer_heart() if horse_counter <= 1: 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 func offer_heart(): $Heart.show() await get_tree().create_timer(4).timeout boss_horse() horse_counter = 0 print("Horse Counter:",horse_counter)