Files
nethack/dat/bigrm-1.lua
Pasi Kallinen e504d44de2 Add "snake wall" to bigroom variant 1
Also increase the chances of having walls in bigrm-1 from 75% to 80%
2026-01-10 11:19:52 +02:00

82 lines
3.0 KiB
Lua

-- NetHack bigroom bigrm-1.lua $NHDT-Date: 1652196021 2022/05/10 15:20:21 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.3 $
-- Copyright (c) 1989 by Jean-Christophe Collet
-- Copyright (c) 1990 by M. Stephenson
-- NetHack may be freely redistributed. See license for details.
--
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noflip");
des.map([[
---------------------------------------------------------------------------
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
|.........................................................................|
---------------------------------------------------------------------------
]]);
if percent(80) then
local terrains = { "-", "F", "L", "T", "C" };
local tidx = math.random(1, #terrains);
local choice = math.random(0, 5);
if choice == 0 then
-- one horizontal line
des.terrain(selection.line(10,8, 65,8), terrains[tidx]);
elseif choice == 1 then
-- two vertical lines
local sel = selection.line(15,4, 15, 13) | selection.line(59,4, 59, 13);
des.terrain(sel, terrains[tidx]);
elseif choice == 2 then
-- plus sign
local sel = selection.line(10,8, 64, 8) | selection.line(37,3, 37, 14);
des.terrain(sel, terrains[tidx]);
elseif choice == 3 then
-- brackets: [ ]
des.terrain(selection.rect(4,4, 70,13), terrains[tidx]);
local sel = selection.line(25,4, 50,4) | selection.line(25,13, 50,13);
des.terrain(sel, '.');
elseif choice == 4 then
-- snake
des.terrain(selection.fillrect(5,5, 69, 12), terrains[tidx]);
for i = 0, 7 do
local x = 6 + i*8;
local y = 5 + (i%2);
des.terrain(selection.fillrect(x, y, x+6, y+6), '.');
end
else
-- nothing
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