Files
nethack/dat/minend-2.lua
PatR 6c479f2317 more simplification of achievement tracking
Instead of hardcoding the "prize" type and then watching for that
to be created, specify it in the level description.

Also, instead of giving both Sokoban end levels 50:50 chance for
either prize, bias the one that used to always have the bag of
holding to now have 75% chance for that and 25% chance for amulet
of reflection, with the other one having those chances reversed.
So still 50:50 overall.
2020-01-30 17:35:32 -08:00

155 lines
4.8 KiB
Lua

-- NetHack 3.6 mines.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.25 $
-- Copyright (c) 1989-95 by Jean-Christophe Collet
-- Copyright (c) 1991-95 by M. Stephenson
-- NetHack may be freely redistributed. See license for details.
--
-- Mine end level variant 2
-- "Gnome King's Wine Cellar"
des.level_init({ style = "solidfill", fg = " " });
des.level_flags("mazelevel");
des.map([[
---------------------------------------------------------------------------
|...................................................| |
|.|---------S--.--|...|--------------------------|..| |
|.||---| |.||-| |...|..........................|..| |
|.||...| |-|.|.|---...|.............................| .. |
|.||...|-|.....|....|-|..........................|..|. .. |
|.||.....|-S|..|....|............................|..|.. |
|.||--|..|..|..|-|..|----------------------------|..|-. |
|.| |..|..|....|..................................|... |
|.| |..|..|----|..-----------------------------|..|.... |
|.|---|..|--|.......|----------------------------|..|..... |
|...........|----.--|......................| |..|....... |
|-----------|...|.| |------------------|.|.|-----|..|.....|.. |
|-----------|.{.|.|--------------------|.|..........|.....|.... |
|...............|.S......................|-------------..-----... |
|.--------------|.|--------------------|.|......................... |
|.................| |.....................|........ |
---------------------------------------------------------------------------
]]);
if math.random(0, 99) < 50 then
des.terrain({55,14},"-")
des.terrain({56,14},"-")
des.terrain({61,15},"|")
des.terrain({52,5}, "S")
des.door("locked", 52,5)
end
if math.random(0, 99) < 50 then
des.terrain({18,1}, "|")
des.terrain(selection.area(7,12, 8,13), ".")
end
if math.random(0, 99) < 50 then
des.terrain({49,4}, "|")
des.terrain({21,5}, ".")
end
if math.random(0, 99) < 50 then
if math.random(0, 99) < 50 then
des.terrain({22,1}, "|")
else
des.terrain({50,7}, "-")
des.terrain({51,7}, "-")
end
end
-- Dungeon Description
des.feature("fountain", {14,13})
des.region(selection.area(23,03,48,06),"lit")
des.region(selection.area(21,06,22,06),"lit")
des.region(selection.area(14,04,14,04),"unlit")
des.region(selection.area(10,05,14,08),"unlit")
des.region(selection.area(10,09,11,09),"unlit")
des.region(selection.area(15,08,16,08),"unlit")
-- Secret doors
des.door("locked",12,02)
des.door("locked",11,06)
-- Stairs
des.stair("up", 36,04)
-- Non diggable walls
des.non_diggable(selection.area(00,00,52,17))
des.non_diggable(selection.area(53,00,74,00))
des.non_diggable(selection.area(53,17,74,17))
des.non_diggable(selection.area(74,01,74,16))
des.non_diggable(selection.area(53,07,55,07))
des.non_diggable(selection.area(53,14,61,14))
-- The Gnome King's wine cellar.
-- the Trespassers sign is a long-running joke
des.engraving({12,03}, "engrave",
"You are now entering the Gnome King's wine cellar.")
des.engraving({12,04}, "engrave", "Trespassers will be persecuted!")
des.object("booze", 10, 07)
des.object("booze", 10, 07)
des.object("!", 10, 07)
des.object("booze", 10, 08)
des.object("booze", 10, 08)
des.object("!", 10, 08)
des.object("booze", 10, 09)
des.object("booze", 10, 09)
des.object("object detection", 10, 09)
-- Objects
-- The Treasure chamber...
des.object("diamond", 69, 04)
des.object("*", 69, 04)
des.object("diamond", 69, 04)
des.object("*", 69, 04)
des.object("emerald", 70, 04)
des.object("*", 70, 04)
des.object("emerald", 70, 04)
des.object("*", 70, 04)
des.object("emerald", 69, 05)
des.object("*", 69, 05)
des.object("ruby", 69, 05)
des.object("*", 69, 05)
des.object("ruby", 70, 05)
des.object("amethyst", 70, 05)
des.object("*", 70, 05)
des.object("amethyst", 70, 05)
des.object({ id="luckstone", x=70, y=05,
buc="not-cursed", achievement=1 });
-- Scattered gems...
des.object("*")
des.object("*")
des.object("*")
des.object("*")
des.object("*")
des.object("*")
des.object("*")
des.object("(")
des.object("(")
des.object()
des.object()
des.object()
-- Random traps
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- Random monsters.
des.monster("gnome king")
des.monster("gnome lord")
des.monster("gnome lord")
des.monster("gnome lord")
des.monster("gnomish wizard")
des.monster("gnomish wizard")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("gnome")
des.monster("hobbit")
des.monster("hobbit")
des.monster("dwarf")
des.monster("dwarf")
des.monster("dwarf")
des.monster("h")