mirror of
https://github.com/Refactorio/RedMew.git
synced 2025-03-17 21:08:08 +02:00
Added donut and removed module boll call from map_layout.lua
This commit is contained in:
parent
28f3c9c843
commit
1c62f974fa
37
locale/gen_shape/donut.lua
Normal file
37
locale/gen_shape/donut.lua
Normal file
@ -0,0 +1,37 @@
|
||||
--Donut script by Neko_Baron - tested on RedMew
|
||||
if shape_module then return end
|
||||
shape_module = true
|
||||
|
||||
--change these to mess with ring/shape
|
||||
local donut_radius = 1600
|
||||
local donut_width = 128
|
||||
|
||||
--dont touch these
|
||||
local donut_half = donut_width * 0.5
|
||||
local x_offset = donut_radius - donut_half
|
||||
local donut_low = x_offset^2
|
||||
local donut_high = (x_offset+donut_width)^2
|
||||
|
||||
|
||||
function run_shape_module(event)
|
||||
local area = event.area
|
||||
local surface = event.surface
|
||||
local tiles = {}
|
||||
|
||||
local top_left = area.left_top --make a more direct reference
|
||||
|
||||
|
||||
for x = top_left.x-1, top_left.x + 32 do
|
||||
for y = top_left.y-1, top_left.y + 32 do
|
||||
|
||||
local x_off = x - donut_radius
|
||||
local distance = x_off^2 + y^2 -- we dont bother to get sqr of it, because we just want the cubed answer to compare to donut_low/high
|
||||
if distance > donut_high or distance < donut_low then
|
||||
table.insert(tiles, {name = "out-of-map", position = {x,y}})
|
||||
end
|
||||
end
|
||||
end
|
||||
surface.set_tiles(tiles)
|
||||
|
||||
return true
|
||||
end
|
@ -10,10 +10,11 @@ require "locale.gen_shared.simplex_noise"
|
||||
--shapes--
|
||||
--require "locale.gen_shape.right"
|
||||
--require "locale.gen_shape.up"
|
||||
require "locale.gen_shape.maze"
|
||||
--require "locale.gen_shape.maze"
|
||||
--require "locale.gen_shape.spiral"
|
||||
--require "locale.gen_shape.spiral_tri"
|
||||
--require "locale.gen_shape.spiral2"
|
||||
--require "locale.gen_shape.donut"
|
||||
|
||||
--terrain--
|
||||
--require "locale.gen_terrain.neko_bridged_rivers"
|
||||
@ -25,18 +26,18 @@ require "locale.gen_shape.maze"
|
||||
--TODO: IMPLEMENT BROKEN STYLES. DO NOT MERGE INTO MASTER BEFORE THIS IS
|
||||
|
||||
local on_chunk_generated = function(event)
|
||||
if shape_module then
|
||||
if run_shape_module ~= nil then
|
||||
if run_shape_module(event) then
|
||||
if terrain_module then
|
||||
if run_terrain_module ~= nil then
|
||||
run_terrain_module(event)
|
||||
elseif ores_module then
|
||||
elseif run_ores_module ~= nil then
|
||||
run_ores_module(event)
|
||||
end
|
||||
end
|
||||
else
|
||||
if terrain_module then
|
||||
if run_terrain_module ~= nil then
|
||||
run_terrain_module(event)
|
||||
elseif ores_module then
|
||||
elseif run_ores_module ~= nil then
|
||||
run_ores_module(event)
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user