extends Node2D ## KINETIC+HEAT chemistry proc marker: the two tag hues visibly meet ## at the point of impact (canon feedback stack — the light and the ## sting are the noun; no proc text, ever). Oriented along the impact ## axis: KINETIC steel-blue sweeps in from the striker side, HEAT ## orange flares out the struck side, white core where they touch. var axis := Vector2.RIGHT var duration := 0.28 var max_r := 26.0 var _t := 0.0 func _process(delta: float) -> void: _t += delta queue_redraw() if _t >= duration: queue_free() func _draw() -> void: var k := clampf(_t / duration, 0.0, 1.0) var a := 1.0 - k var r := lerpf(6.0, max_r, k) var ang := axis.angle() draw_arc(Vector2.ZERO, r, ang + PI - 1.2, ang + PI + 1.2, 20, Color(0.75, 0.85, 0.95, a), 3.0) draw_arc(Vector2.ZERO, r * 0.8, ang - 1.2, ang + 1.2, 20, Color(0.95, 0.55, 0.2, a), 3.0) draw_circle(Vector2.ZERO, lerpf(5.0, 1.0, k), Color(1, 1, 1, a))