Files
nethack/dat/minend-3.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

108 lines
3.3 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.
--
-- "Catacombs" by Kelly Bailey
-- Relies on some very specific behavior of MAZEWALK.
des.level_init({ style = "solidfill", fg = "-" });
des.level_flags("mazelevel", "nommap")
des.map({ halign = "center", valign = "bottom", map = [[
- - - - - - - - - - -- -- - - . - - - - - - - - - -- - - -- - - - - . - - |
------...---------.-----------...-----.-------.------- ----------------|
- - - - - - - - - - - . - - - . - - - - - - - - - - -- - -- - . - - - - - |
------------.---------...-------------------------.--- ------------------|
- - - - - - - - - - . . - - --- - . - - - - - - - - -- -- - - - - |.....| |
--.---------------.......------------------------------- ----------|.....S-|
- - - - |.. ..| - ....... . - - - - |.........| - - - --- - - - - |.....| |
----.----|.....|------.......--------|.........|--------------.------------|
- - - - |..{..| - - -.... . --- - -.S.........S - - - - - - - - - - - - - |
---------|.....|--.---...------------|.........|---------------------------|
- - - - |.. ..| - - - . - - - - - - |.........| - --- . - - - - - - - - - |
----------------------...-------.---------------------...------------------|
---..| - - - - - - - - . --- - - - - - - - - - - - - - . - - --- - - --- - |
-.S..|----.-------.------- ---------.-----------------...----- -----.-------
---..| - - - - - - - -- - - -- . - - - - - . - - - . - . - - -- -- - - - --
-.S..|--------.---.--- -...---------------...{.--------- ---------
--|. - - - - - - - -- - - - -- . - - - --- - - - . . - - - - -- - - - - - -
]] });
local place = { {1,15},{68,6},{1,13} }
shuffle(place)
des.non_diggable(selection.area(67,3,73,7))
des.non_diggable(selection.area(0,12,2,16))
des.feature("fountain", {12,08})
des.feature("fountain", {51,15})
des.region(selection.area(0,0,75,16),"unlit")
des.region(selection.area(38,6,46,10),"lit")
des.door("closed",37,8)
des.door("closed",47,8)
des.door("closed",73,5)
des.door("closed",2,15)
des.mazewalk({ x=36, y=8, dir="west", stocked=false })
des.stair("up", 42,8)
des.wallify()
-- Objects
des.object("diamond")
des.object("*")
des.object("diamond")
des.object("*")
des.object("emerald")
des.object("*")
des.object("emerald")
des.object("*")
des.object("emerald")
des.object("*")
des.object("ruby")
des.object("*")
des.object("ruby")
des.object("amethyst")
des.object("*")
des.object("amethyst")
des.object({ id="luckstone", coord=place[2], buc="not-cursed", achievement=1 })
des.object("flint",place[1])
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.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
des.trap()
-- One-time annoyance factor
des.trap("level teleport",place[2])
des.trap("level teleport",place[1])
des.monster("M")
des.monster("M")
des.monster("M")
des.monster("M")
des.monster("M")
des.monster("ettin mummy")
des.monster("V")
des.monster("Z")
des.monster("Z")
des.monster("Z")
des.monster("Z")
des.monster("Z")
des.monster("V")
des.monster("e")
des.monster("e")
des.monster("e")
des.monster("e")