Files
nethack/dat/bigrm-13.lua
2026-01-10 17:47:34 +02:00

83 lines
2.8 KiB
Lua

-- NetHack bigroom bigrm-13.lua $NHDT-Date: 1652196024 2022/05/10 15:20:24 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.0 $
-- Copyright (c) 2026 by Pasi Kallinen
-- NetHack may be freely redistributed. See license for details.
--
-- Pillars
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noflip");
des.map([[
---------------------------------------------------------------------------
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
---------------------------------------------------------------------------
]]);
local pillar = [[
---
| |
---]];
filters = {
-- 1: all pillars
function(x, y) return true; end,
-- 2: 3 vertical lines
function(x, y) return (x%2 == 1); end,
-- 3: checkerboard
function(x, y) return (((x+y)%2) == 0); end,
-- 4: center row
function(x, y) return (y%2 == 1); end,
-- 5: top and bottom rows
function(x, y) return (y%2 == 0); end,
-- 6: random 50%
function(x, y) return (math.random(0,1) == 0); end,
-- 7: corners and center
function(x, y) return ((x/3)%2 == y%2); end,
-- 8: slanted
function(x, y) return ((x+1)//3 == y); end,
};
idx = math.random(1, #filters);
for y = 0,2 do
for x = 0,6 do
if (filters[idx](x, y)) then
des.map({ coord = {12 + x*9, 4 + y*5}, map = pillar, contents=function() end });
end
end
end
des.region(selection.area(00,00,75,18), "lit");
des.wallify();
des.non_diggable();
des.stair("up");
des.stair("down");
for i = 1,15 do
des.object();
end
for i = 1,6 do
des.trap();
end
for i = 1,28 do
des.monster();
end