1
0
mirror of https://github.com/Refactorio/RedMew.git synced 2024-12-14 10:13:13 +02:00
RedMew/map_gen/terrain/neko_river_overlay.lua

26 lines
999 B
Lua
Raw Normal View History

2018-05-23 23:34:47 +02:00
local perlin = require 'map_gen.shared.perlin_noise'
local Event = require 'utils.event'
2017-08-10 00:05:11 +02:00
2018-05-16 12:38:51 +02:00
local function init()
2018-05-23 23:34:47 +02:00
global.terrain_seed_A = math.random(10, 10000)
global.terrain_seed_B = math.random(10, 10000)
2018-05-16 12:38:51 +02:00
end
2017-08-10 00:05:11 +02:00
2018-05-16 12:38:51 +02:00
Event.on_init(init)
2017-08-10 00:05:11 +02:00
2018-05-16 12:38:51 +02:00
return function(x, y, world)
2018-06-12 17:57:39 +02:00
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
2018-05-23 23:34:47 +02:00
local terrain_sqr = terrain_A * terrain_A --we can use this again to mess with other layers as well
2017-08-10 00:05:11 +02:00
2018-05-23 23:34:47 +02:00
if terrain_sqr < 50 then --Main water areas
2018-06-12 17:57:39 +02:00
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
2017-08-10 00:05:11 +02:00
2018-05-23 23:34:47 +02:00
if terrain_A * terrain_A > 40 then --creates random bridges over the water by overlapping with another noise layer
return 'water'
end
end
2017-08-10 00:05:11 +02:00
2018-05-23 23:34:47 +02:00
return true
2017-08-10 00:05:11 +02:00
end