Files
nethack/dat/bigrm-1.lua
Pasi Kallinen 88aa0793dc Allow flipping levels horizontally or vertically
When a special level is created, there's a chance it gets flipped
horizontally and/or vertically.

Add new level flags "noflip", "noflipx", and "noflipy" to prevent
flipping the level. Add a wiz-mode command #wizlevelflip to test
the flipping on current level - although this doesn't flip everything,
as level flipping is meant to happen during level creation.
2020-02-21 18:16:14 +02:00

73 lines
2.5 KiB
Lua

des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noflip");
des.map([[
---------------------------------------------------------------------------
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
---------------------------------------------------------------------------
]]);
if math.random(0,99) < 75 then
local terrains = { "-", "F", "L", "T", "C" };
local tidx = math.random(1, #terrains);
local choice = math.random(0, 4);
if choice == 0 then
des.terrain(selection.line(10,8, 65,8), terrains[tidx]);
elseif choice == 1 then
local sel = selection.new();
sel:line(15,4, 15, 13);
sel:line(59,4, 59, 13);
des.terrain(sel, terrains[tidx]);
elseif choice == 2 then
local sel = selection.new();
sel:line(10,8, 38, 8);
sel:line(37,8, 65, 8);
sel:line(37,3, 37, 8);
sel:line(37,8, 37,14);
des.terrain(sel, terrains[tidx]);
elseif choice == 3 then
des.terrain(selection.rect(4,4, 70,13), terrains[tidx]);
local sel = selection.new();
sel:line(25,4, 50,4);
sel:line(25,13, 50,13);
des.terrain(sel, '.');
else
end
end
des.region(selection.area(01,01, 73, 16), "lit");
des.stair("up");
des.stair("down");
des.non_diggable();
for i = 1,15 do
des.object();
end
for i = 1,6 do
des.trap();
end
for i = 1,28 do
des.monster();
end