the-third-place/scenes/boss.gd
2026-03-04 14:43:24 +00:00

88 lines
1.9 KiB
GDScript

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)