extends Node @export var ammo_scene: PackedScene = preload("res://scenes/ammo_pickup.tscn") @export var spawn_interval_min: float = 5.0 @export var spawn_interval_max: float = 15.0 @export var spawn_radius: float = 300.0 func _ready(): spawn_loop() func spawn_loop(): var wait_time = randf_range(spawn_interval_min, spawn_interval_max) await get_tree().create_timer(wait_time).timeout spawn_ammo() spawn_loop() func spawn_ammo(): var player = get_tree().get_first_node_in_group("player") if not player: return var pickup = ammo_scene.instantiate() # Randomize type pickup.ammo_type = randi() % 2 # 0 or 1 pickup.amount = 10 if pickup.ammo_type == 0 else 5 # More AP than HE # Random position around player var angle = randf() * TAU var distance = randf_range(100.0, spawn_radius) var pos = player.global_position + Vector2.RIGHT.rotated(angle) * distance pickup.global_position = pos get_parent().add_child(pickup)