extends Area2D func _physics_process(delta: float) -> void: var monsters_in_range = get_overlapping_bodies() if monsters_in_range.size() > 0: var target = monsters_in_range.front() look_at(target.global_position) func shoot(): const BULLET = preload("res://bullet.tscn") var new_bullet = BULLET.instantiate() new_bullet.global_transform = %Barrel.global_transform %Barrel.add_child(new_bullet) func _on_timer_timeout() -> void: shoot()