local worms_per_chunk = 50
local small_worm_spawn_distance = 100
local medium_worm_spawn_distance = 150
local big_worm_spawn_distance = 200

local worm_names = {"small-worm-turret", "medium-worm-turret", "big-worm-turret"}

local chance = worms_per_chunk / (32 * 32)

return function(x, y, world)
  local distance = math.sqrt(world.x * world.x + world.y * world.y)

  if distance > small_worm_spawn_distance - 32 then
    local lvl = 1
    if distance > medium_worm_spawn_distance then
      lvl = 2
    end
    if distance > big_worm_spawn_distance then
      lvl = 3
    end
    if math.random() < chance then
      local worm_id = math.random(1, lvl)
      return {name = worm_names[worm_id]}
    end
  end
end
