Updated pattern for boss; trying to get it to spawn bullets.

This commit is contained in:
Henry 2026-03-04 01:07:40 +00:00
parent caf2bffb0c
commit e608652170
24 changed files with 606 additions and 28 deletions

View file

@ -14,14 +14,13 @@ var can_shoot = true
var vulnerable = true
var stunned = false
var blocking = false
var travel: bool = false
var shader_active = false
var enemy_move_aggression = randf_range(5, 20)
var enemy_shoot_aggression = randf_range(4, 20)
const TILE = 32
@onready var screensize = get_viewport_rect().size
@onready var move_timer = $MoveTimer
@onready var crt = $CRT
@ -30,19 +29,19 @@ func _ready():
move_timer.start()
func start(pos):
vulnerable = true
speed = 4
crt.frame = 0
#var pos_mod = randf_range(-TILE,TILE) #modify the start position randomly
#position = Vector2(pos.x + pos_mod, -pos.y) #add the modifier
position = Vector2(pos.x, -pos.y)
start_pos = pos
await get_tree().create_timer(randf_range(0.25, 0.35)).timeout
var tween = create_tween().set_trans(Tween.TRANS_BACK)
tween.tween_property(self, "position:y", start_pos.y, tween_speed)
await tween.finished
move_timer.wait_time = enemy_move_aggression
travel = true
# move_timer.wait_time = enemy_move_aggression
move_timer.start()
$ShootTimer.wait_time = enemy_shoot_aggression
# $ShootTimer.wait_time = enemy_shoot_aggression
$ShootTimer.start()
func _on_timer_timeout():
@ -50,7 +49,7 @@ func _on_timer_timeout():
$DirectionTimer.start()
func _on_direction_timer_timeout():
var move_direction = int(randf_range(0,3))
var move_direction = randi_range(0,2)
match move_direction:
0:
crt.frame = 0
@ -92,10 +91,11 @@ func _process(delta):
if stunned == false:
position += direction * speed * delta
if position.x > screensize.x + 32:
start(start_pos)
#if position.x > screensize.x + 32:
#start(start_pos)
if position.y > screensize.y + 32:
if travel == true and position.y > screensize.y + 32 or position.x > screensize.x or position.x < -screensize.x:
print("I'm off screen!")
start(start_pos)
@ -128,7 +128,7 @@ func block():
crt.material.set_shader_parameter("toggle", 0.0)
shader_active = false
stunned = false
$DirectionTimer.stop()
$DirectionTimer.start()
print("CRT Not Stunned!")