Files
nethack/dat/sanctum.lua
copperwater 78d46b3a76 Fix: missing filled flags in various levels
This is an omission in the filled/prefilled unification. The default for
filled on regions now being 0 meant that regions that had previously had
no need for any fill declaration at all (regions' prefilled defaulted to
0 before this, the effect being to fill them) now failed to get filled.

The rule of thumb is that all des.regions with a type for which filled
is meaningful (e.g. special rooms) should declare the fill status. I
added it to a bunch of temples even though this doesn't really seem to
affect anything there (the priest and altar come with the altar
definition). I assigned temples filled=1 and filled=2 loosely based on
if there is ever being some other generation that would put other
furniture or items in a temple, but the distinction should not affect
anything right now.

Cases fixed where non-temple regions weren't getting filled:
- Barracks, a graveyard, and shops in Tou-goal
- The beehive in the Wizard's Tower
2020-09-28 07:44:42 +03:00

134 lines
5.3 KiB
Lua

-- NetHack 3.7 gehennom.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.13 $
-- Copyright (c) 1989 by Jean-Christophe Collet
-- Copyright (c) 1992 by M. Stephenson and Izchak Miller
-- NetHack may be freely redistributed. See license for details.
--
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel", "noteleport", "hardfloor", "nommap")
-- This is outside the main map, below, so we must do it before adding
-- that map and anchoring coordinates to it. This extends the invisible
-- barrier up to the top row, which falls outside the drawn map.
des.non_passwall(selection.area(39,00,41,00))
des.map([[
----------------------------------------------------------------------------
| -------------- |
| |............| ------- |
| -------............----- |.....| |
| |......................| --.....| --------- |
| ----......................---------|......---- |.......| |
| |........---------..........|......+.........| ------+---..| |
| ---........|.......|..........--S----|.........| |........|..| |
| |..........|.......|.............| |.........-------..---------- |
| |..........|.......|..........---- |..........|....|..|......| |
| |..........|.......|..........| --.......----+---S---S--..| |
| |..........---------..........| |.......|.............|..| |
| ---...........................| -----+-------S---------S--- |
| |...........................| |...| |......| |....|-- |
| ----.....................---- |...---....--- ---......| |
| |.....................| |..........| |.....---- |
| -------...........----- --...------- |.....| |
| |...........| |...| |.....| |
| ------------- ----- ------- |
----------------------------------------------------------------------------
]]);
des.region({ region={15,07, 21,10}, lit=1, type="temple", filled=2, contents = function()
des.door({ wall = "random", state = "secret" });
end })
des.altar({ x=18, y=08, align="noalign", type="sanctum" })
des.region({ region={41,06, 48,11}, lit=0, type="morgue", filled=1, irregular=1 })
-- Non diggable walls
des.non_diggable(selection.area(00,00,75,19))
-- Invisible barrier separating the left & right halves of the level
des.non_passwall(selection.area(37,00,39,19))
-- Doors
des.door("closed",40,06)
des.door("locked",62,06)
des.door("closed",46,12)
des.door("closed",53,10)
-- Surround the temple with fire
des.trap("fire",13,05)
des.trap("fire",14,05)
des.trap("fire",15,05)
des.trap("fire",16,05)
des.trap("fire",17,05)
des.trap("fire",18,05)
des.trap("fire",19,05)
des.trap("fire",20,05)
des.trap("fire",21,05)
des.trap("fire",22,05)
des.trap("fire",23,05)
des.trap("fire",13,12)
des.trap("fire",14,12)
des.trap("fire",15,12)
des.trap("fire",16,12)
des.trap("fire",17,12)
des.trap("fire",18,12)
des.trap("fire",19,12)
des.trap("fire",20,12)
des.trap("fire",21,12)
des.trap("fire",22,12)
des.trap("fire",23,12)
des.trap("fire",13,06)
des.trap("fire",13,07)
des.trap("fire",13,08)
des.trap("fire",13,09)
des.trap("fire",13,10)
des.trap("fire",13,11)
des.trap("fire",23,06)
des.trap("fire",23,07)
des.trap("fire",23,08)
des.trap("fire",23,09)
des.trap("fire",23,10)
des.trap("fire",23,11)
-- Some traps.
des.trap("spiked pit")
des.trap("fire")
des.trap("sleep gas")
des.trap("anti magic")
des.trap("fire")
des.trap("magic")
-- Some random objects
des.object("[")
des.object("[")
des.object("[")
des.object("[")
des.object(")")
des.object(")")
des.object("*")
des.object("!")
des.object("!")
des.object("!")
des.object("!")
des.object("?")
des.object("?")
des.object("?")
des.object("?")
des.object("?")
-- Some monsters.
des.monster({ id = "horned devil", x=14,y=12,peaceful=0 })
des.monster({ id = "barbed devil", x=18,y=08,peaceful=0 })
des.monster({ id = "erinys", x=10,y=04,peaceful=0 })
des.monster({ id = "marilith", x=07,y=09,peaceful=0 })
des.monster({ id = "nalfeshnee", x=27,y=08,peaceful=0 })
-- Moloch's horde
des.monster({ id = "aligned priest", x=20,y=03,align="noalign",peaceful=0 })
des.monster({ id = "aligned priest", x=15,y=04,align="noalign",peaceful=0 })
des.monster({ id = "aligned priest", x=11,y=05,align="noalign",peaceful=0 })
des.monster({ id = "aligned priest", x=11,y=07,align="noalign",peaceful=0 })
des.monster({ id = "aligned priest", x=11,y=09,align="noalign",peaceful=0 })
des.monster({ id = "aligned priest", x=11,y=12,align="noalign",peaceful=0 })
des.monster({ id = "aligned priest", x=15,y=13,align="noalign",peaceful=0 })
des.monster({ id = "aligned priest", x=17,y=13,align="noalign",peaceful=0 })
des.monster({ id = "aligned priest", x=21,y=13,align="noalign",peaceful=0 })
-- A few nasties
des.monster("L")
des.monster("L")
des.monster("V")
des.monster("V")
des.monster("V")
des.stair("up", 63,15)
-- Teleporting to this level is allowed after the invocation creates its
-- entrance. Force arrival in that case to be on rightmost third of level.
des.teleport_region({ region = {54,1,79,18}, region_islev=1, dir="down" })