extends "res://objects/enemy/enemy.gd" signal entered_phase(phase) export var shot_speed = 50 export var fire_rate: float = 1 export var can_shoot = false var hp = 3 onready var Bullet = preload("res://objects/enemy/2600_bullet.tscn") onready var positions = $Positions onready var shoot_timer = $ShootTimer onready var anims = $AnimationPlayer onready var head_sprite = $Body/Head func _on_ShootTimer_timeout(): if can_shoot: shoot() func shoot(): Audio.play_sound(Audio.a_bullet_barrage,Audio.ac_boss) for pos in positions.get_children(): var bullet = Bullet.instance() bullet.global_position = pos.global_position bullet.direction = Vector2.LEFT.rotated(pos.rotation) bullet.speed = shot_speed get_parent().add_child(bullet) shoot_timer.wait_time = fire_rate func _play_laser_sound(play: bool): if play: Audio.play_sound(Audio.a_rainbow_laser,Audio.ac_boss) else: Audio.ac_boss.playing = false func die(): hp -= 1 anims.play("Beam") match hp: 2: Game.instance_node(load("res://objects/enemy/boss/collapse_blocks.tscn"),0,0,get_parent()) emit_signal("entered_phase", 2) head_sprite.texture = load("res://graphics/enemy/boss/stg2600_head_cracked.png") 1: shot_speed = 70 fire_rate = 0.8 emit_signal("entered_phase", 3) $Body/Head/Intelli.visible = true head_sprite.texture = load("res://graphics/enemy/boss/stg2600_head_broken.png") 0: queue_free() emit_signal("entered_phase", 4)