Add tentacled boss planet encounter
This commit is contained in:
parent
0f7edff15a
commit
40f284dcdd
38 changed files with 1051 additions and 19 deletions
39
boss/BossReturnSignal.gd
Normal file
39
boss/BossReturnSignal.gd
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
class_name BossReturnSignal
|
||||
extends Node2D
|
||||
|
||||
@export var speed: float = 520.0
|
||||
|
||||
var target: Node2D
|
||||
var trail: PackedVector2Array = PackedVector2Array()
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
add_to_group("boss_returns")
|
||||
trail.append(global_position)
|
||||
queue_redraw()
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if not is_instance_valid(target):
|
||||
queue_free()
|
||||
return
|
||||
var destination: Vector2 = target.global_position
|
||||
if global_position.distance_to(destination) <= speed * delta:
|
||||
global_position = destination
|
||||
target.open_next_eye()
|
||||
queue_free()
|
||||
return
|
||||
global_position = global_position.move_toward(destination, speed * delta)
|
||||
trail.append(global_position)
|
||||
while trail.size() > 14:
|
||||
trail.remove_at(0)
|
||||
queue_redraw()
|
||||
|
||||
|
||||
func _draw() -> void:
|
||||
for i in range(1, trail.size()):
|
||||
var alpha: float = float(i) / float(trail.size())
|
||||
draw_line(trail[i - 1] - global_position, trail[i] - global_position,
|
||||
Color(1.0, 0.82, 0.22, alpha * 0.7), 3.0 + alpha * 5.0, true)
|
||||
NeonDraw.draw_glowing_circle(self, Vector2.ZERO, 9.0,
|
||||
Color(1.0, 0.82, 0.22), 1.0, Color(0.16, 0.04, 0.01))
|
||||
Loading…
Reference in a new issue