extends CharacterBody2D var target var curr = "" var projectile_damage var damage_tick_rate var chaos_factor : float var _total_lifetime : float = 0.0 func _on_damage_tick_timeout() -> void: var enemies = $Area2D.get_overlapping_bodies() for i in enemies: if "Crawler" in i.name: i.deal_damage(projectile_damage) func move_projectile(delta) -> void: _total_lifetime += delta var pos : Vector2 var curve_offset = Vector2( sin(_total_lifetime * 10) * chaos_factor, cos(_total_lifetime * 10) * chaos_factor, ) pos = target.global_position + curve_offset look_at(pos)