revo-jailbreak/objects/enemy/boss/boss1.gd

46 lines
1.2 KiB
GDScript

extends "res://objects/enemy/enemy_move_sidesideupdown.gd"
signal entered_phase(phase)
var hp = 3
var arrow_speed = 80
export var phase2_speed = 100
export var phase3_speed = 150
const ArrowProjectile = preload("res://objects/player/arrow_projectile.tscn")
const arrow_pickup = preload("res://objects/collectibles/arrow.tscn")
onready var shoot_timer = $ShootTimer
var shoot_time = Vector2(0.4,0.7)
export var arrow_spawns = [Vector2(0,0),Vector2(0,0),Vector2(0,0)]
func _ready():
seed(hash("HEROMARK2"))
func shoot():
var arrow = ArrowProjectile.instance()
arrow.global_position = Vector2(
global_position.x + $Position2D.position.x,
stepify(global_position.y + $Position2D.position.y,8)
)
arrow.direction = -1
arrow.breaks_on_wall = false
arrow.target_group = "player"
arrow.speed = arrow_speed
get_owner().add_child(arrow)
func _on_ShootTimer_timeout():
shoot_timer.start(rand_range(shoot_time.x,shoot_time.y))
shoot()
func die():
hp -= 1
match hp:
2:
emit_signal("entered_phase", 2)
speed = phase2_speed
shoot_time = Vector2(0.4,0.5)
1:
emit_signal("entered_phase", 3)
speed = phase3_speed
shoot_time = Vector2(0.3,0.5)
0:
.die()