local perlin = require 'map_gen.shared.perlin_noise'
local Event = require 'utils.event'

local function init()
    global.terrain_seed_A = math.random(10, 10000)
    global.terrain_seed_B = math.random(10, 10000)
end

Event.on_init(init)

return function(x, y, world)
    local wiggle = 50 + perlin.noise((x * 0.005), (y * 0.005), global.terrain_seed_A + 71) * 60
    local terrain_A = perlin.noise((x * 0.005), (y * 0.005), global.terrain_seed_A + 19) * wiggle --For determining where water is
    local terrain_sqr = terrain_A * terrain_A --we can use this again to mess with other layers as well

    if terrain_sqr < 50 then --Main water areas
        terrain_A = perlin.noise((x * 0.01), (y * 0.01), global.terrain_seed_A + 31) * 90 + (wiggle * -0.2) --we only gen this when we consider placing water

        if terrain_A * terrain_A > 40 then --creates random bridges over the water by overlapping with another noise layer
            return 'water'
        end
    end

    return true
end
