extends Node2D var speed = 85 var minSpeed = -50 var decelDelay = 2.6 var decel = 82 var fadeDelay = 2.2 var fadeSpeed = 0.2 var fadeAccel = 0.13 var opacity = 0 var fadingIn = true var fadeInSpeed = 0.9 func _ready(): set_opacities(opacity) func _process(delta): if decelDelay <= 0: if speed > minSpeed: speed -= decel * delta else: decelDelay -= delta if fadingIn: opacity += fadeInSpeed * delta if opacity >= 1: opacity = 1 fadingIn = false elif fadeDelay <= 0: opacity -= fadeSpeed * delta fadeSpeed += fadeAccel * delta else: fadeDelay -= delta set_opacities(opacity) translate(Vector2(0, speed * -1) * delta) func set_opacities(opacity): $Water.modulate.a = opacity $Foam.modulate.a = opacity + 0.15 if $Foam.modulate.a > 1: $Foam.modulate.a = 1 if !fadingIn and opacity <= 0: queue_free()