Randoloot/scripts/game/radiation_aura.gd
2026-10-25 22:38:13 +01:00

19 lines
659 B
GDScript

extends Node2D
var status: Node
var _age := 0.0
func _ready() -> void:
z_index = 2
func _process(delta: float) -> void:
_age += delta
visible = is_instance_valid(status) and status.remaining>0.0
if visible: queue_redraw()
func _draw() -> void:
var owner := get_parent()
var radius := float(owner.get_visual_size())*0.47 if owner.has_method("get_visual_size") else 29.0
var pulse := 0.5+0.5*sin(_age*5)
for i in 5:
var angle := i*TAU/5.0+_age*0.35
draw_arc(Vector2.ZERO,radius,angle,angle+0.32,8,Color(0.5,1,0.24,0.12+pulse*0.15),1.0,true)
var point := Vector2.RIGHT.rotated(angle)*radius
draw_circle(point,1.0,Color(0.7,1,0.4,0.2+pulse*0.25))