hero-mark-2/objects/enemy/boss/boss1.gd
2023-02-20 01:18:08 -05:00

46 lines
1.1 KiB
GDScript

extends "res://objects/enemy/enemy_move_sidesideupdown.gd"
signal entered_phase(phase)
#Stats
var hp = 3
var arrow_speed = 80
var shoot_time = Vector2(0.4,0.7)
export var phase2_speed = 100
export var phase3_speed = 150
#Onready
onready var shoot_timer = $ShootTimer
onready var shootpoint = $Position2D
onready var blood_position = $BloodPosition
onready var map = get_owner()
const Projectile = preload("res://objects/enemy/boss/boss1_projectile.tscn")
func _ready():
seed(hash("HEROMARK2"))
func shoot():
Game.instance_node(Projectile,shootpoint.global_position.x,stepify(shootpoint.global_position.y,8),map)
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()
#Bleed particles
var death_particles = DeathParticles.instance()
death_particles.global_position = blood_position.global_position
death_particles.emitting = true
get_parent().add_child(death_particles)