forked from github/server
75 lines
1.7 KiB
Lua
75 lines
1.7 KiB
Lua
|
function size()
|
||
|
return 16
|
||
|
end
|
||
|
|
||
|
function island(pl, x, y, r)
|
||
|
gmtool.make_block(pl, x, y, r)
|
||
|
gmtool.make_island(pl, x+r/2+2, y+r/2, size() * 3)
|
||
|
gmtool.make_island(pl, x-r-2, y+r/2, size() * 3)
|
||
|
gmtool.make_island(pl, x-r/2-2, y-r/2, size() * 3)
|
||
|
gmtool.make_island(pl, x+r+2, y-r/2, size() * 3)
|
||
|
gmtool.make_island(pl, x+r/2+2, y-r-2, size() * 3)
|
||
|
gmtool.make_island(pl, x-r/2-2, y+r+2, size() * 3)
|
||
|
end
|
||
|
|
||
|
function cross(pl, x, y, r)
|
||
|
gmtool.make_block(pl, x-r, y+r*2, r)
|
||
|
gmtool.make_block(pl, x+r*4/3, y, r)
|
||
|
gmtool.make_block(pl, x-r*4/3, y, r)
|
||
|
gmtool.make_block(pl, x+r, y-r*2, r)
|
||
|
|
||
|
gmtool.make_island(pl, x, y, size() * 3)
|
||
|
gmtool.make_island(pl, x, y-r*4/3, size() * 3)
|
||
|
gmtool.make_island(pl, x, y+r*4/3, size() * 3)
|
||
|
gmtool.make_island(pl, x+r*4/3, y-r*4/3, size() * 3)
|
||
|
gmtool.make_island(pl, x-r*4/3, y+r*4/3, size() * 3)
|
||
|
end
|
||
|
|
||
|
function count()
|
||
|
local i = 0
|
||
|
for f in factions() do i = i + 1 end
|
||
|
print(i)
|
||
|
end
|
||
|
|
||
|
function line(pl)
|
||
|
local m = 0
|
||
|
local x, y
|
||
|
local i = 0
|
||
|
x = 0
|
||
|
y = i
|
||
|
local r = get_region(x, y, pl)
|
||
|
while true do
|
||
|
if r==nil then
|
||
|
if m==0 and (i>=0 or i<-10) then
|
||
|
local s = size()
|
||
|
gmtool.make_island(pl, x, y, s*3, s)
|
||
|
else
|
||
|
gmtool.make_block(pl, x, y, 6)
|
||
|
end
|
||
|
r = get_region(x, y, pl)
|
||
|
if r==nil then
|
||
|
r = region.create(x, y, "ocean", pl)
|
||
|
end
|
||
|
m = 1 - m
|
||
|
end
|
||
|
i = r.y + 1
|
||
|
x = 0
|
||
|
y = i
|
||
|
r = get_region(x, y, pl)
|
||
|
if r~=nil and r.y==0 then break end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function build(pl)
|
||
|
cross(pl, -28, -20, 6)
|
||
|
island(pl, 28, -20, 11)
|
||
|
island(pl, -28, 20, 11)
|
||
|
island(pl, 28, 20, 11)
|
||
|
-- line(pl)
|
||
|
end
|
||
|
|
||
|
eressea.free_game()
|
||
|
pl = plane.create(0, -50, -40, 90, 80)
|
||
|
|
||
|
build(pl)
|