72 lines
1.5 KiB
GDScript
72 lines
1.5 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 = 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|