Merge branch 'NetHack-3.7' into copperwater-hallutraps-3.7
This commit is contained in:
+27
@@ -37,6 +37,7 @@ Release/
|
|||||||
binary/
|
binary/
|
||||||
build/
|
build/
|
||||||
ipch/
|
ipch/
|
||||||
|
lib/
|
||||||
Nethack.sln
|
Nethack.sln
|
||||||
Nethack.sdf
|
Nethack.sdf
|
||||||
Nethack.opensdf
|
Nethack.opensdf
|
||||||
@@ -54,3 +55,29 @@ Makefile.gcc-orig
|
|||||||
.vs
|
.vs
|
||||||
# Win32-specific ignores end
|
# Win32-specific ignores end
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
# ms-dos
|
||||||
|
# resulting zip
|
||||||
|
NH*DOS.ZIP
|
||||||
|
# 8.3 versions
|
||||||
|
dat/data.bas
|
||||||
|
sys/share/posixreg.c
|
||||||
|
include/patchlev.h
|
||||||
|
doc/guidebk.txt
|
||||||
|
# folders compiler, target objs, binary results
|
||||||
|
djgpp/
|
||||||
|
src/msdos_o/
|
||||||
|
msdos-binary/
|
||||||
|
dat/NHTILES.BMP
|
||||||
|
dat/msdoshlp.txt
|
||||||
|
src/host_o/
|
||||||
|
util/djgpp-linux64-gcc550.tar.bz2
|
||||||
|
util/djgpp-osx-gcc550.tar.bz2
|
||||||
|
util/djgpp-mingw-gcc550-standalone.zip
|
||||||
|
util/dlb_main
|
||||||
|
util/thintile
|
||||||
|
util/til2bin2
|
||||||
|
util/tile2bin
|
||||||
|
win/share/monthin.txt
|
||||||
|
win/share/objthin.txt
|
||||||
|
win/share/oththin.txt
|
||||||
|
# end of ms-dos
|
||||||
|
|||||||
+36
-41
@@ -4,11 +4,11 @@ matrix:
|
|||||||
- os: linux
|
- os: linux
|
||||||
env: DESCR=linux-xenial-gcc HINTS=linux
|
env: DESCR=linux-xenial-gcc HINTS=linux
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
script: "cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../ && make install"
|
script: "cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../ && make fetch-lua && make install"
|
||||||
- os: linux
|
- os: linux
|
||||||
env: DESCR=linux-xenial-clang HINTS=linux
|
env: DESCR=linux-xenial-clang HINTS=linux
|
||||||
compiler: clang
|
compiler: clang
|
||||||
script: "cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../ && make install"
|
script: "cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../ && make fetch-lua && make install"
|
||||||
- os: linux
|
- os: linux
|
||||||
env: DESCR=linux-xenial-gcc-x11 HINTS=linux-x11
|
env: DESCR=linux-xenial-gcc-x11 HINTS=linux-x11
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
@@ -18,7 +18,7 @@ matrix:
|
|||||||
- libx11-dev
|
- libx11-dev
|
||||||
- libxaw7-dev
|
- libxaw7-dev
|
||||||
- xfonts-utils
|
- xfonts-utils
|
||||||
script: "cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../ && make install"
|
script: "cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../ && make fetch-lua && make install"
|
||||||
- os: linux
|
- os: linux
|
||||||
env: DESCR=linux-xenial-gcc-qt5 HINTS=linux-qt5
|
env: DESCR=linux-xenial-gcc-qt5 HINTS=linux-qt5
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
@@ -31,7 +31,7 @@ matrix:
|
|||||||
- qtbase5-dev
|
- qtbase5-dev
|
||||||
- qtmultimedia5-dev
|
- qtmultimedia5-dev
|
||||||
- qtbase5-dev-tools
|
- qtbase5-dev-tools
|
||||||
script: "cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../ && QT_SELECT=5 make MOC=moc install"
|
script: "cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../ && make fetch-lua && make QT_SELECT=5 MOC=moc install"
|
||||||
- os: linux
|
- os: linux
|
||||||
env: DESCR=linux-bionic-gcc-x11 HINTS=linux-x11
|
env: DESCR=linux-bionic-gcc-x11 HINTS=linux-x11
|
||||||
dist: bionic
|
dist: bionic
|
||||||
@@ -42,7 +42,7 @@ matrix:
|
|||||||
- libx11-dev
|
- libx11-dev
|
||||||
- libxaw7-dev
|
- libxaw7-dev
|
||||||
- xfonts-utils
|
- xfonts-utils
|
||||||
script: "cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../ && make install"
|
script: "cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../ && make fetch-lua && make install"
|
||||||
- os: linux
|
- os: linux
|
||||||
env: DESCR=linux-xenial-gcc-minimal HINTS=linux-minimal
|
env: DESCR=linux-xenial-gcc-minimal HINTS=linux-minimal
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
@@ -67,46 +67,23 @@ matrix:
|
|||||||
sed -i '/^#define SHELL/d' include/unixconf.h
|
sed -i '/^#define SHELL/d' include/unixconf.h
|
||||||
sed -i '/^#define SUSPEND/d' include/unixconf.h
|
sed -i '/^#define SUSPEND/d' include/unixconf.h
|
||||||
sed -i 's/^#define TEXTCOLOR//' include/unixconf.h
|
sed -i 's/^#define TEXTCOLOR//' include/unixconf.h
|
||||||
make install
|
make fetch-lua && make install
|
||||||
cat dat/options
|
cat dat/options
|
||||||
- os: windows
|
- os: windows
|
||||||
env: DESCR=windows-visualstudio
|
env: DESCR=windows-visualstudio
|
||||||
language: shell
|
language: shell
|
||||||
script:
|
script:
|
||||||
# - find /c/Program\ Files\ \(x86\) -iname 'rc.exe' -print
|
- ./win/win32/vs2017/travisci.sh
|
||||||
# - export
|
- os: linux
|
||||||
- export VSVER=2017
|
env: DESCR=msdos-cross-on-linux HINTS=linux LUA_VERSION=5.3.5
|
||||||
- export MSVER=14.16.27023
|
compiler: gcc
|
||||||
- export SDKVER=10.0.17763.0
|
script:
|
||||||
- export FRAMEVER=4.0.30319
|
# - export
|
||||||
- export NETFXVER=4.6.1
|
- cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../
|
||||||
- export WKITVER=10.0.17134.0
|
- make fetch-lua
|
||||||
# - export TOOLSVER=Community
|
- cd lib/lua-$LUA_VERSION/src && make a && cd ../../..
|
||||||
- export TOOLSVER=BuildTools
|
- sh sys/msdos/msdos-cross-compile.sh
|
||||||
- export PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/Common7/IDE/VC/VCPackages:$PATH
|
exclude:
|
||||||
- export PATH=/c/Program\ Files\ \(x86\)/Windows\ Kits/10/bin/$WKITVER/x64:$PATH
|
|
||||||
- export PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/VC/Tools/MSVC/$MSVER/bin/HostX64/x64:$PATH
|
|
||||||
- export PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/VC/Tools/MSVC/$MSVER/bin/HostX64/x86:$PATH
|
|
||||||
- export PATH=$PATH:/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/Common7/IDE/CommonExtensions/Microsoft/TestWindow
|
|
||||||
- export PATH=$PATH:/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/MSBuild/Current/bin/Roslyn
|
|
||||||
- export INCLUDE=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/$TOOLSVER/VC/Tools/MSVC/$MSVER/include
|
|
||||||
- export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/Include/$WKITVER/ucrt
|
|
||||||
- export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/include/$WKITVER/ucrt
|
|
||||||
- export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/include/$WKITVER/shared
|
|
||||||
- export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/include/$WKITVER/um
|
|
||||||
- export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/include/$WKITVER/winrt
|
|
||||||
- export INCLUDE=$INCLUDE:/c/Program\ Files\ \(x86\)/Windows\ Kits/10/include/$WKITVER/cppwinrt
|
|
||||||
- export LIB=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/VC/Tools/MSVC/$MSVER/ATLMFC/lib/x86
|
|
||||||
- export LIB=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/VC/Tools/MSVC/$MSVER/lib/x86:$LIB
|
|
||||||
- export LIB=/c/Program\ Files\ \(x86\)/Windows\ Kits/10/lib/$WKITVER/ucrt/x86:$LIB
|
|
||||||
- export LIB=/c/Program\ Files\ \(x86\)/Windows\ Kits/10/lib/$WKITVER/um/x86:$LIB
|
|
||||||
# - export
|
|
||||||
- git clone --depth 1 https://github.com/wmcbrine/PDCurses.git ../pdcurses
|
|
||||||
- export ADD_CURSES=Y
|
|
||||||
- export PDCURSES_TOP=../../pdcurses
|
|
||||||
- cd src
|
|
||||||
- cp ../sys/winnt/Makefile.msc ./Makefile
|
|
||||||
- nmake install
|
|
||||||
- os: windows
|
- os: windows
|
||||||
# install: choco install mingw
|
# install: choco install mingw
|
||||||
env: DESCR=windows-mingw
|
env: DESCR=windows-mingw
|
||||||
@@ -117,7 +94,11 @@ matrix:
|
|||||||
- cd src
|
- cd src
|
||||||
- cp ../sys/winnt/Makefile.gcc ./Makefile
|
- cp ../sys/winnt/Makefile.gcc ./Makefile
|
||||||
- mingw32-make install
|
- mingw32-make install
|
||||||
exclude:
|
# - os: osx
|
||||||
|
# osx_image: xcode10.3
|
||||||
|
# env: DESCR=osx-xcode10.3-x11 HINTS=macosx10.14 WANT_WIN_CURSES=1 WANT_WIN_X11=1 USE_XPM=1
|
||||||
|
# compiler: clang
|
||||||
|
# script: "cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../ && make install"
|
||||||
- os: osx
|
- os: osx
|
||||||
osx_image: xcode10.2
|
osx_image: xcode10.2
|
||||||
env: HINTS=macosx10.14
|
env: HINTS=macosx10.14
|
||||||
@@ -129,3 +110,17 @@ notifications:
|
|||||||
email:
|
email:
|
||||||
recipients:
|
recipients:
|
||||||
- devteam@nethack.org
|
- devteam@nethack.org
|
||||||
|
#
|
||||||
|
deploy:
|
||||||
|
provider: releases
|
||||||
|
api_key:
|
||||||
|
secure: "U0Dt2CXrcG8Yi4taUCT/6AnM+0IJtdCv6IVG/2rGooUY3pZjNWE9XDM6X9ZeAmbI79aN6FPTppjUf3KbB/upYeJt+8mrjnxEk/ZTO1xXDDW8iL/DiqnczoFsMGmPsTM+Fkeak8bu0SifI7Qkx9i1N+zOyl2VdlaxGjchPfl/OJw2jcQs7rOGRfr23/rapZKTcFq+BFlxMiIHa0dXbCJ9vagdlyAeclOCtPjw1VoH/Cb/+0/Xlx2MFPncw4/1P+bO/fPantHyehh3/WCDVCnI4M7ftONpsTVRrQ+Hml89teUH9/1xXUOpbCeVghWr1rumLcQzMqLKNj2lP/gm9co2/DKpxiUPUzBfO/9Jvl1CNoEwPYQBRNb38kggDvAT4vKX38Oi5sZvumFEO4L0y7o4cW6SA4/CYIykfxOdkrryt8ltfWwopdy3I/DothYw31vJ9GsZOCAShFRAy3hJxYUbHhT+7SDUBadVSEkb4UqxQ+7zntAVT+Lp4DXLAfvsWxZGrQoP/IrWAgNOLRKILubpzh+YpadMH3Ygha2JRAeJAEZ3DnXf3vOOAucWnk4mNXDbW35GTDTAJDWMvddZCfsrUI/uHxgaRjFs9fLX1X5tqhGnsr27sKLWyX+zrIPVV0TPl3AzYPAf6Bc8Okeu+JEGQERvvgSasCuYcmhgYznBVJI="
|
||||||
|
file_glob: true
|
||||||
|
file:
|
||||||
|
- "$TRAVIS_TAG.x86.zip"
|
||||||
|
skip_cleanup: true
|
||||||
|
on:
|
||||||
|
tags: true
|
||||||
|
prerelease: true
|
||||||
|
name: "Pre-Release build of NetHack 3.7.0"
|
||||||
|
body: "This is an auto generated Pre-Release build of NetHack 3.7.0"
|
||||||
|
|||||||
+510
@@ -0,0 +1,510 @@
|
|||||||
|
Cross-compiling NetHack 3.7 Last edit: December 1, 2019
|
||||||
|
|
||||||
|
The NetHack 3.7 build process differs from the build process of previous
|
||||||
|
versions in some important ways that make it possible to use a cross-compiler
|
||||||
|
running on one platform (the "host" platform of the build) to produce a binary
|
||||||
|
NetHack package that can execute on an entirely different platform.
|
||||||
|
|
||||||
|
Part A Contents:
|
||||||
|
A1. Why cross-compile?
|
||||||
|
A2. Building NetHack 3.6 (before)
|
||||||
|
A3. Building NetHack 3.7 (going forward)
|
||||||
|
A4. How was the build procedure reduced to 5 steps?
|
||||||
|
A5. How can I help with the cross-compiling initiative?
|
||||||
|
|
||||||
|
Part B Contents:
|
||||||
|
B1. Two sets of compiles and procedures
|
||||||
|
B2. What needs to be built and executed on the HOST?
|
||||||
|
B3. What needs to be built for the TARGET?
|
||||||
|
B4. Case sample: msdos
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
Part A - Cross-compiling NetHack
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
+--------------------------+
|
||||||
|
| A1. Why cross-compile? |
|
||||||
|
+--------------------------+
|
||||||
|
|
||||||
|
By using cross-compilers on host platforms with fast processors, plenty of RAM
|
||||||
|
and storage resources, and an available cross-compiler, it may be possible to
|
||||||
|
keep or resurrect a working version of NetHack on platforms that are now too
|
||||||
|
constrained to carry out the build process natively on the platform any more.
|
||||||
|
|
||||||
|
Some of the constraints in carrying out a native build on the desired target
|
||||||
|
may include, but not necessarily be limited to, any of the following:
|
||||||
|
|
||||||
|
o Access: Somebody with a working knowledge of the NetHack build process may
|
||||||
|
not have the desired target build platform available to them. Conversly,
|
||||||
|
somebody with a keen knowledge of the target platform, and access to it,
|
||||||
|
may not be all that familiar with the NetHack build process.
|
||||||
|
|
||||||
|
o Resources: Address space limitations, insufficient RAM, low amounts of disk
|
||||||
|
storage, slow processor performance, may impede the ability to execute the
|
||||||
|
compile process on the target platform.
|
||||||
|
|
||||||
|
o Compilers: Some of the native compilers on historical platforms may only
|
||||||
|
support the particular dialect of C that was popular when the platform and
|
||||||
|
compiler were in their prime.
|
||||||
|
|
||||||
|
Another useful potential result of cross-compiling, is that it paves the way
|
||||||
|
for carrying out test and production builds of NetHack for multiple target
|
||||||
|
platforms through automated steps carried out on the host platform(s).
|
||||||
|
|
||||||
|
|
||||||
|
+-------------------------------------+
|
||||||
|
| A2. Building NetHack 3.6 (before) |
|
||||||
|
+-------------------------------------+
|
||||||
|
|
||||||
|
Very generally, the build of NetHack in past versions required the following
|
||||||
|
steps to be carried out:
|
||||||
|
|
||||||
|
1. Compile and link util/makedefs.
|
||||||
|
2. Run makedefs repeatedly with different command line options to produce
|
||||||
|
several output files that are required for:
|
||||||
|
(a) additional build steps to follow, including some header
|
||||||
|
files: pm.h, onames.h, date.h.
|
||||||
|
(b) creation of files, containing information required by,
|
||||||
|
or about the game during its execution, that are stored in a
|
||||||
|
portable, platform-independent way, that need to be inserted
|
||||||
|
into the game package.
|
||||||
|
(c) creation of files containing information required by, or about
|
||||||
|
the game during its execution, that are stored in an architecture
|
||||||
|
and/or platform and/or operating system dependent way, that need
|
||||||
|
to be inserted into the game package (the quest text format is
|
||||||
|
one example).
|
||||||
|
3. Compile and link the level compiler. This step needs to execute
|
||||||
|
work-alike tools to lex and yacc, or needs to build pre-built lex and
|
||||||
|
yacc output (.c, .h files) that are provided in the sys/share part of
|
||||||
|
the NetHack source code tree.
|
||||||
|
4. Execute the level compiler to read dat/*.des files and create
|
||||||
|
a set of binary output files that are architecture and/or operating
|
||||||
|
system dependent on the build platform, for use by the game during
|
||||||
|
its execution.
|
||||||
|
5. Compile and link the dungeon compiler. Like the level compiler, this
|
||||||
|
step needs to execute work-alike tools to lex and yacc, or needs to
|
||||||
|
build pre-built lex and yacc output (.c, .h files) that are provided
|
||||||
|
in the sys/share part of the NetHack source code tree.
|
||||||
|
6. Execute the dungeon compiler to read dat/dungeon.def and create
|
||||||
|
a set of binary output files that are architecture and/or operating
|
||||||
|
system dependent on the build platform, for use by the game during
|
||||||
|
its execution.
|
||||||
|
7. Compile and link several less critical utilities such as uudecode,
|
||||||
|
tile-generation utilities, and so forth, all of which need to execute
|
||||||
|
on the build platform during the build process to produce output files
|
||||||
|
for use during the game, that are reasonably portable (not architecture
|
||||||
|
and/or operating system dependent; only the output of the utilities
|
||||||
|
becomes part of the game package, not the executable utilities
|
||||||
|
themselves.
|
||||||
|
8. Compile and link the game itself.
|
||||||
|
9. Package the game and its required files including the output from
|
||||||
|
previous steps 2b, 2c, 4, 6, 7 and 8 above.
|
||||||
|
|
||||||
|
Steps 1, 2a, 2b, 7, and 9 above are not impediments to cross-compiling NetHack.
|
||||||
|
|
||||||
|
Steps 2c, 3, 4, 5, 6 and 8 above are impediments to cross-compiling NetHack.
|
||||||
|
|
||||||
|
That's because the files that those steps produce are very much tied to the
|
||||||
|
platform where the build of NetHack is being carried out. Variations between
|
||||||
|
platforms (such as 32-bit vs 64-bit, integer sizes, pointer sizes, processor
|
||||||
|
byte order, data alignment requirements, struct padding and the way bitfields
|
||||||
|
are stored) impact the portability of those data files between different
|
||||||
|
platforms and operating systems. If all those things happen to match, the files
|
||||||
|
might, just might, be usable across platforms, but the chances are against it,
|
||||||
|
and that certainly cannot be counted on.
|
||||||
|
|
||||||
|
+------------------------------------------+
|
||||||
|
| A3. Building NetHack 3.7 (going forward) |
|
||||||
|
+------------------------------------------+
|
||||||
|
|
||||||
|
Again, very generally, the build of NetHack in 3.7 requires the following
|
||||||
|
steps to be carried out:
|
||||||
|
|
||||||
|
1. Compile and link util/makedefs.
|
||||||
|
2. Run makedefs repeatedly with different command line options to produce
|
||||||
|
several output files that are required for:
|
||||||
|
(a) additional build steps to follow, including some header
|
||||||
|
files: pm.h, onames.h, date.h.
|
||||||
|
(b) creation of files, containing information required by,
|
||||||
|
or about the game during its execution, that are stored in a
|
||||||
|
portable, platform-independent way, that need to be inserted
|
||||||
|
into the game package.
|
||||||
|
3. Compile and link several less critical utilities such as uudecode,
|
||||||
|
tile-generation utilities, and so forth, all of which need to execute
|
||||||
|
on the build platform during the build process to produce output files
|
||||||
|
for use during the game, that are reasonably portable (not architecture
|
||||||
|
and/or operating system dependent; only the output of the utilities
|
||||||
|
becomes part of the game package, not the executable utilities
|
||||||
|
themselves.
|
||||||
|
4. Compile and link the game components for the TARGET; that includes
|
||||||
|
NetHack itself, Lua, and any optional regular-expression or window port
|
||||||
|
libraries that you plan to link into the NetHack game executable.
|
||||||
|
5. Package the game and its required files including the output from
|
||||||
|
previous steps 2b, 3 and 4 above.
|
||||||
|
|
||||||
|
Step 4 is now the only impediment to cross-compiling NetHack, and is resolved
|
||||||
|
by executing step 4 using a cross-compiler that runs on the build (host)
|
||||||
|
platform to produce a resulting binary for the target platform, instead of
|
||||||
|
executing the native compiler.
|
||||||
|
|
||||||
|
+-----------------------------------------------------+
|
||||||
|
| A4. How was the build procedure reduced to 5 steps? |
|
||||||
|
+-----------------------------------------------------+
|
||||||
|
|
||||||
|
The following are among several design changes planned in NetHack 3.7,
|
||||||
|
and these specific changes are what altered the build process to make
|
||||||
|
cross-compiling possible:
|
||||||
|
|
||||||
|
o There is no creation of platform-dependent files, such as the quest
|
||||||
|
text files, by makedefs during the build process. Instead, the quest
|
||||||
|
text files have been converted to Lua and are inserted into the game
|
||||||
|
package for processing by the embedded Lua <fixme: interpreter?>
|
||||||
|
during execution of NetHack.
|
||||||
|
|
||||||
|
o There is no build-time level compiler involved. Instead, the level
|
||||||
|
descriptions have been converted to Lua and are inserted into the game
|
||||||
|
package for processing by the embeded Lua <fixme: interpreter?>
|
||||||
|
during execution of NetHack.
|
||||||
|
|
||||||
|
o There is no build-time dungeon compiler involved. Instead, the dungeon
|
||||||
|
description has been converted to Lua and is inserted into the game
|
||||||
|
package for processing by the embeded Lua <fixme: interpreter?>
|
||||||
|
during execution of NetHack.
|
||||||
|
|
||||||
|
o Some of the build and option information that was formerly produced
|
||||||
|
during build time by makedefs, and contained information about the
|
||||||
|
build-platform specifically, is now produced at runtime within the
|
||||||
|
game under a cross-compiled build. As such, it now produces information
|
||||||
|
applicable to the target NetHack environment, not the build environment.
|
||||||
|
|
||||||
|
+------------------------------------------------------------+
|
||||||
|
| A5. How can I help with the cross-compiling initiative? |
|
||||||
|
+------------------------------------------------------------+
|
||||||
|
|
||||||
|
o If you have a favourite target platform (let's call it XX-Platform for
|
||||||
|
example purposes) that you'd like to see NetHack be able to run on, do
|
||||||
|
some research to find out if a cross-compiler exists that:
|
||||||
|
- produces output for XX-Platform.
|
||||||
|
- executes on a platform that you use and love (Linux, Windows,
|
||||||
|
Mac OS X are some examples of platforms that have cross-compilers
|
||||||
|
for other targets available)
|
||||||
|
|
||||||
|
o Then, make the community, devteam, and otheres aware that you're starting
|
||||||
|
a cross-compile of NetHack for XX-Platform. You might need to ask some
|
||||||
|
"starting out" questions initially, and as you get deeper into it, you
|
||||||
|
might need to ask some tougher questions.
|
||||||
|
|
||||||
|
o Perhaps consider forking from NetHack on GitHub, and do the
|
||||||
|
cross-compiler work there in your fork. Strive to get it to a point where
|
||||||
|
its ready to play-test on XX-Platform, or perhaps even use an emulator
|
||||||
|
of XX-Platform if one is available. We live in a time where plenty do.
|
||||||
|
|
||||||
|
Doing your work on a GitHub fork has the following advantages:
|
||||||
|
- It will make it really simple to integrate your work back into
|
||||||
|
the NetHack source tree if that's one of your goals.
|
||||||
|
- It will make it possible and straightforward to merge upstream
|
||||||
|
NetHack changes into your work for the XX-Platform cross-compile
|
||||||
|
so that it stays current with the game as it evolves.
|
||||||
|
- You may get help from others in the form of suggestions, or
|
||||||
|
pull-requests, or offers to join the development. Chances are,
|
||||||
|
you aren't the only person out there that would like to
|
||||||
|
establish/resurrect/maintain NetHack on XX-Platform.
|
||||||
|
|
||||||
|
Have fun!
|
||||||
|
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
Part B - Cross-compiling details
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Part B Contents:
|
||||||
|
B1. Two sets of compiles and procedures
|
||||||
|
B2. What needs to be built and executed on the HOST?
|
||||||
|
B3. What needs to be built for the TARGET?
|
||||||
|
B4. Case sample: msdos
|
||||||
|
|
||||||
|
+-----------------------------------------+
|
||||||
|
| B1. Two sets of compiles and procedures |
|
||||||
|
+-----------------------------------------+
|
||||||
|
|
||||||
|
The HOST is the platform/place that you're running the build procedures using
|
||||||
|
the native compiler/linker, and the cross-compiler/linker that runs on the HOST
|
||||||
|
to build the game for a TARGET platform.
|
||||||
|
|
||||||
|
You have to:
|
||||||
|
1. Build mandatory utilities on the HOST.
|
||||||
|
2. Execute the mandatory utilities to generate components that will be used
|
||||||
|
during step 4 to build the game itself, or that will generate components
|
||||||
|
that will become part of the TARGET game package.
|
||||||
|
3. Build optional or enhancing utilities on the HOST, execute those
|
||||||
|
optional or enhancing utilities on the HOST to generate components that
|
||||||
|
will become part of the TARGET game package.
|
||||||
|
4. Execute a supported cross-compiler to compile the rest of the game
|
||||||
|
components like NetHack, Lua, and any optional libraries.
|
||||||
|
(the word "supported", in this sense, means a compiler that runs on your
|
||||||
|
HOST build platform, and generates output executable files for the TARGET
|
||||||
|
platform.
|
||||||
|
|
||||||
|
It should be mentioned that you can execute the cross-compile build approach
|
||||||
|
even to generate binaries for the same platform as the host, where the HOST
|
||||||
|
compilerand the TARGET compiler are actually one and the same.
|
||||||
|
|
||||||
|
|
||||||
|
+------------------------------------------------------+
|
||||||
|
| B2. What needs to be built and executed on the HOST? |
|
||||||
|
+------------------------------------------------------+
|
||||||
|
|
||||||
|
On the HOST, here are the mandatory things that have to be built.
|
||||||
|
|
||||||
|
a) Using the HOST native compiler, build HOST native utility makedefs
|
||||||
|
|
||||||
|
Compile and link the following with these compiler switches:
|
||||||
|
-DCROSSCOMPILE and -DCROSSCOMPILE_HOST
|
||||||
|
from sources: util/makedefs.c, src/mdlib.c, src/monst.c, src/objects.c
|
||||||
|
|
||||||
|
b) Execute HOST native makedefs utility, util/makedefs, as follows:
|
||||||
|
util/makedefs -v
|
||||||
|
util/makedefs -o
|
||||||
|
util/makedefs -p
|
||||||
|
util/makedefs -z
|
||||||
|
util/makedefs -d
|
||||||
|
util/makedefs -r
|
||||||
|
util/makedefs -h
|
||||||
|
util/makedefs -s
|
||||||
|
|
||||||
|
c) Using the HOST native compiler, build these additional utilities if your
|
||||||
|
target platform requires components that they produce. It is important
|
||||||
|
to note that all of the required source files need to be compiled to
|
||||||
|
native obj files for linking into the HOST-side utility. Some of the
|
||||||
|
source files (src/monst.c, src/objects.c) were likely already compiled
|
||||||
|
as native HOST-side obj files in order to build the native HOST utility
|
||||||
|
'makedefs' HOST utility above, and you don't need to compile them again
|
||||||
|
for use in linking other HOST utilities if the HOST-native obj files
|
||||||
|
produced from them are still around.
|
||||||
|
|
||||||
|
NOTE: A few other source files (src/drawing.c, src/decl.c) that need to
|
||||||
|
be compiled for native HOST utilities, also need to be compiled again
|
||||||
|
later as TARGET obj files for linking into the TARGET executable. It is
|
||||||
|
important to keep the compiled HOST-side obj files produced by the HOST
|
||||||
|
native compiler, and the TARGET-side obj files produced by the
|
||||||
|
cross-compiler separate and distinct from one another. That can be done
|
||||||
|
either by naming the differing object files a little differently
|
||||||
|
(perhaps with a suffix), or by placing the HOST-side obj files and the
|
||||||
|
TARGET-side obj files into different folders during the build process.
|
||||||
|
Whatever works best for your cross-compile.
|
||||||
|
|
||||||
|
util/dlb
|
||||||
|
|
||||||
|
from sources: src/dlb.c, src/dlb_main.c, src/alloc.c,
|
||||||
|
src/panic.c
|
||||||
|
purpose: For packaging up many files that are
|
||||||
|
required components of the TARGET game
|
||||||
|
into a single nhdat or nhdat370 combined
|
||||||
|
file
|
||||||
|
|
||||||
|
util/uudecode
|
||||||
|
|
||||||
|
from sources: sys/share/uudecode.c
|
||||||
|
purpose: convert some binary files, that are
|
||||||
|
distributed in the NetHack sources in
|
||||||
|
uuencoded format, back into their
|
||||||
|
original binary state
|
||||||
|
util/tilemap
|
||||||
|
|
||||||
|
from sources: win/share/tilemap.c
|
||||||
|
purpose: produce output file src/tile.c that is
|
||||||
|
required for building TARGET packages with
|
||||||
|
tile support
|
||||||
|
|
||||||
|
util/tile2bmp
|
||||||
|
|
||||||
|
from sources: win/share/tile2bmp.c, win/share/tiletext.c,
|
||||||
|
win/share/tilemap.c, src/drawing.c,
|
||||||
|
src/decl.c, src/monst.c, src/objects.c
|
||||||
|
purpose: <TBD>
|
||||||
|
|
||||||
|
util/gif2txt
|
||||||
|
|
||||||
|
from sources: win/share/gifread.c, win/share/tiletext.c,
|
||||||
|
win/share/tilemap.c, src/drawing.c,
|
||||||
|
src/decl.c, src/monst.c, src/objects.c,
|
||||||
|
src/alloc.c, src/panic.c
|
||||||
|
purpose: <TBD>
|
||||||
|
|
||||||
|
util/ppmwrite
|
||||||
|
|
||||||
|
from sources: win/share/ppmwrite.c, win/share/tiletext.c,
|
||||||
|
win/share/tilemap.c, src/drawing.c,
|
||||||
|
src/decl.c, src/monst.c, src/objects.c,
|
||||||
|
src/alloc.c, src/panic.c
|
||||||
|
purpose: <TBD>
|
||||||
|
|
||||||
|
|
||||||
|
+--------------------------------------------+
|
||||||
|
| B3. What needs to be built for the TARGET? |
|
||||||
|
+--------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
For the TARGET side, here are the mandatory things that have to be built via
|
||||||
|
the HOST-executed cross-compiler that generates code for the TARGET platform.
|
||||||
|
|
||||||
|
Using the cross-compiler, build the following targets:
|
||||||
|
|
||||||
|
a) NetHack sources (core is mandatory)
|
||||||
|
|
||||||
|
With the cross-compiler and linker for the TARGET platform,
|
||||||
|
cross-compile and link with these compiler switches:
|
||||||
|
-DCROSSCOMPILE and -DCROSSCOMPILE_TARGET
|
||||||
|
|
||||||
|
core sources (2019): src/allmain.c, src/apply.c, src/artifact.c,
|
||||||
|
src/attrib.c, src/ball.c, src/bones.c,
|
||||||
|
src/botl.c, src/cmd.c, src/dbridge.c, src/decl.c,
|
||||||
|
src/detect.c, src/dig.c, src/display.c, src/do.c,
|
||||||
|
src/do_name.c, src/do_wear.c, src/dog.c,
|
||||||
|
src/dogmove.c, src/dokick.c, src/dothrow.c,
|
||||||
|
src/drawing.c, src/dungeon.c, src/eat.c, src/end.c,
|
||||||
|
src/engrave.c, src/exper.c, src/explode.c,
|
||||||
|
src/extralev.c, src/files.c, src/fountain.c,
|
||||||
|
src/hack.c, src/hacklib.c, src/invent.c,
|
||||||
|
src/isaac64.c, src/light.c, src/lock.c, src/mail.c,
|
||||||
|
src/makemon.c, src/mapglyph.c, src/mcastu.c,
|
||||||
|
src/mdlib.c, src/mhitm.c, src/mhitu.c, src/minion.c,
|
||||||
|
src/mklev.c, src/mkmap.c, src/mkmaze.c, src/mkobj.c,
|
||||||
|
src/mkroom.c, src/mon.c, src/mondata.c, src/monmove.c,
|
||||||
|
src/monst.c, src/mplayer.c, src/mthrowu.c, src/muse.c,
|
||||||
|
src/music.c, src/nhlsel.c, src/nhlua.c, src/o_init.c,
|
||||||
|
src/objects.c, src/objnam.c, src/options.c,
|
||||||
|
src/pager.c, src/pickup.c, src/pline.c,
|
||||||
|
src/polyself.c, src/potion.c, src/pray.c,
|
||||||
|
src/priest.c, src/quest.c, src/questpgr.c,
|
||||||
|
src/random.c, src/read.c, src/rect.c, src/region.c,
|
||||||
|
src/restore.c, src/rip.c, src/rnd.c, src/role.c,
|
||||||
|
src/rumors.c, src/save.c, src/sfstruct.c,
|
||||||
|
src/shk.c, src/shknam.c, src/sit.c, src/sounds.c,
|
||||||
|
src/sp_lev.c, src/spell.c, src/steal.c, src/steed.c,
|
||||||
|
src/sys.c, src/teleport.c, src/tile.c,
|
||||||
|
src/timeout.c, src/topten.c, src/track.c,
|
||||||
|
src/trap.c, src/u_init.c, src/uhitm.c, src/vault.c,
|
||||||
|
src/version.c, src/vis_tab.c, src/vision.c,
|
||||||
|
src/weapon.c, src/were.c, src/wield.c, src/windows.c,
|
||||||
|
src/wizard.c, src/worm.c, src/worn.c, src/write.c,
|
||||||
|
src/zap.c, sys/share/cppregex.cpp
|
||||||
|
|
||||||
|
tty sources: win/tty/getline.c, win/tty/termcap.c,
|
||||||
|
win/tty/topl.c, win/tty/wintty.c
|
||||||
|
|
||||||
|
plus your platform-specific source files that contain main, typically
|
||||||
|
*main.c, and unix support in *unix.c, tty support in *tty.c, and other
|
||||||
|
system support in *sys.c as well as others sources pertaining to your
|
||||||
|
specific target platform(s).
|
||||||
|
|
||||||
|
b) Lua (mandatory in 3.7)
|
||||||
|
|
||||||
|
lib/lua-5.3.5/src
|
||||||
|
|
||||||
|
from sources: lua.c, lapi.c, lauxlib.c, lbaselib.c, lcode.c,
|
||||||
|
lcorolib.c, lctype.c, ldblib.c, ldebug.c,
|
||||||
|
ldo.c, ldump.c, lfunc.c, lgc.c, linit.c,
|
||||||
|
liolib.c, llex.c, lmathlib.c, lmem.c,
|
||||||
|
loadlib.c, lobject.c, lopcodes.c,
|
||||||
|
loslib.c, lparser.c, lstate.c, lstring.c,
|
||||||
|
lstrlib.c, ltable.c, ltablib.c, ltm.c,
|
||||||
|
lundump.c, lutf8lib.c, lvm.c, lzio.c,
|
||||||
|
lbitlib.c
|
||||||
|
purpose: links into the game executable to interpret
|
||||||
|
lua level description files, lua dungeon
|
||||||
|
description files, and a lua quest text file.
|
||||||
|
|
||||||
|
d) recover (optional if desired/required; some targets have recover
|
||||||
|
functionality built into NetHack itself)
|
||||||
|
|
||||||
|
c) Additional optional library packages/obj files as required
|
||||||
|
|
||||||
|
lib/pdcurses/...
|
||||||
|
|
||||||
|
from sources: addch.c, addchstr.c, addstr.c, attr.c, beep.c,
|
||||||
|
bkgd.c, border.c, clear.c, color.c, delch.c,
|
||||||
|
deleteln.c, getch.c, getstr.c, getyx.c,
|
||||||
|
inch.c, inchstr.c, initscr.c, inopts.c,
|
||||||
|
insch.c, insstr.c, instr.c, kernel.c,
|
||||||
|
keyname.c, mouse.c, move.c, outopts.c,
|
||||||
|
overlay.c, pad.c, panel.c, printw.c,
|
||||||
|
refresh.c, scanw.c, scr_dump.c, scroll.c,
|
||||||
|
slk.c, termattr.c, touch.c, util.c, window.c,
|
||||||
|
debug.c, pdcclip.c, pdcdisp.c, pdcgetsc.c,
|
||||||
|
pdckbd.c, pdcutil.c
|
||||||
|
purpose: underlying curses platform support for some
|
||||||
|
target platforms where inclusion of the
|
||||||
|
NetHack curses window port in win/curses is
|
||||||
|
desired
|
||||||
|
|
||||||
|
+-------------------------+
|
||||||
|
| B4. Case sample: msdos |
|
||||||
|
+-------------------------+
|
||||||
|
|
||||||
|
Cross-compiler used: Andrew Wu's djgpp cross-compiler
|
||||||
|
Cross-compiler url: https://github.com/andrewwutw/build-djgpp
|
||||||
|
Cross-compiler pre-built binary downloads:
|
||||||
|
https://github.com/andrewwutw/build-djgpp/releases/download/v2.9/
|
||||||
|
Mac OS X pre-built binary: djgpp-osx-gcc550.tar.bz2 (tested)
|
||||||
|
Linux pre-built binary : djgpp-linux64-gcc550.tar.bz2 (tested)
|
||||||
|
mingw pre-built binary : djgpp-mingw-gcc550-standalone.zip (untested)
|
||||||
|
|
||||||
|
The msdos cross-compile for NetHack 3.7 uses two phases of compiles:
|
||||||
|
Phase1 is the host-side prerequisite stuff that needs to be done first.
|
||||||
|
Phase2 is the cross-compile pieces using the djgpp cross-compiler hosted on
|
||||||
|
Linux, Mac OS X, or Windows mingw.
|
||||||
|
|
||||||
|
First, on the host platform, you need to set up for a native Unix NetHack
|
||||||
|
build in the usual way. For example, on linux:
|
||||||
|
cd sys/unix
|
||||||
|
sh setup.sh hints/linux
|
||||||
|
cd ../..
|
||||||
|
make fetch-lua
|
||||||
|
|
||||||
|
Now, you could proceed to go ahead and issue
|
||||||
|
make all
|
||||||
|
to build a native NetHack at that point if you wish, but it is not needed
|
||||||
|
for the msdos cross-compile.
|
||||||
|
|
||||||
|
Instead, a test shell script has been put together that will next accomplish
|
||||||
|
each of the following tasks when it is executed. The shell script can be
|
||||||
|
invoked by:
|
||||||
|
sh sys/msdos/msdos-cross-compile.sh
|
||||||
|
but before you do that, please read the paragraphs below.
|
||||||
|
|
||||||
|
The shell script is meant to accomplish the following things:
|
||||||
|
|
||||||
|
Prep : the script downloads the djgpp cross-compiler for the host
|
||||||
|
platform into lib/djgpp (it doesn't install anything on the
|
||||||
|
system, nor does it need to, it just downloads them into the
|
||||||
|
identified directories), it downloads a copy of the msdos
|
||||||
|
dos-extender into lib/djgpp/cwsdpmi for later packaging up with
|
||||||
|
the msdos game, and it downloads pdcurses into lib/pdcurses
|
||||||
|
for cross-compiling during the TARGET build.
|
||||||
|
|
||||||
|
Be certain to ensure the right products are at the url's
|
||||||
|
identified above *before* you execute the Case sample msdos
|
||||||
|
cross-compile script. The correct products were at those url's
|
||||||
|
at the time this was written in Dec 2019, but we don't assume
|
||||||
|
any responsibility for what is at those url's now or in the
|
||||||
|
future. You need to check before executing the script.
|
||||||
|
|
||||||
|
Phase1 : the script uses the Makefile sys/msdos/Makefile1.cross
|
||||||
|
to complete the host-side build steps using the native gcc
|
||||||
|
compiler for the host platform. During phase1 the host obj
|
||||||
|
files are put in subfolder src/host_o to keep them separated
|
||||||
|
and distinguishable from the target obj files that will be
|
||||||
|
built in phase2.
|
||||||
|
|
||||||
|
Phase2 : the script uses the Makefile sys/msdos/Makefile2.cross
|
||||||
|
to complete the target-side build steps using the
|
||||||
|
cross-compiler that was obtained during the prep step of the
|
||||||
|
script described above. During phase2 the target obj files
|
||||||
|
are put in src/msdos_o to keep them separated and
|
||||||
|
distinguishable from the host obj files
|
||||||
|
|
||||||
|
Package: the script then packages up the results that reside in
|
||||||
|
msdos-binary into a zip file which it places in lib called
|
||||||
|
nh370dos.zip.
|
||||||
|
|
||||||
|
|
||||||
@@ -7,7 +7,8 @@ from or not transferred to your system if you wish.
|
|||||||
|
|
||||||
.:
|
.:
|
||||||
(files in top directory)
|
(files in top directory)
|
||||||
.clang-format .travis.yml Files Porting README
|
.clang-format .travis.yml Cross-compiling Files
|
||||||
|
Porting README
|
||||||
|
|
||||||
DEVEL:
|
DEVEL:
|
||||||
(files for people developing changes to NetHack)
|
(files for people developing changes to NetHack)
|
||||||
@@ -30,29 +31,49 @@ prepare-commit-msg
|
|||||||
|
|
||||||
dat:
|
dat:
|
||||||
(files for all versions)
|
(files for all versions)
|
||||||
Arch.des Barb.des Caveman.des GENFILES Healer.des
|
Arc-fila.lua Arc-filb.lua Arc-goal.lua Arc-loca.lua Arc-strt.lua
|
||||||
Knight.des Monk.des Priest.des Ranger.des Rogue.des
|
Bar-fila.lua Bar-filb.lua Bar-goal.lua Bar-loca.lua Bar-strt.lua
|
||||||
Samurai.des Tourist.des Valkyrie.des Wizard.des bigroom.des
|
Cav-fila.lua Cav-filb.lua Cav-goal.lua Cav-loca.lua Cav-strt.lua
|
||||||
bogusmon.txt castle.des cmdhelp data.base dungeon.def
|
GENFILES Hea-fila.lua Hea-filb.lua Hea-goal.lua Hea-loca.lua
|
||||||
endgame.des engrave.txt epitaph.txt gehennom.des help
|
Hea-strt.lua Kni-fila.lua Kni-filb.lua Kni-goal.lua Kni-loca.lua
|
||||||
hh history keyhelp knox.des license
|
Kni-strt.lua Mon-fila.lua Mon-filb.lua Mon-goal.lua Mon-loca.lua
|
||||||
medusa.des mines.des opthelp oracle.des oracles.txt
|
Mon-strt.lua Pri-fila.lua Pri-filb.lua Pri-goal.lua Pri-loca.lua
|
||||||
quest.txt rumors.fal rumors.tru sokoban.des symbols
|
Pri-strt.lua Ran-fila.lua Ran-filb.lua Ran-goal.lua Ran-loca.lua
|
||||||
tower.des tribute wizhelp yendor.des
|
Ran-strt.lua Rog-fila.lua Rog-filb.lua Rog-goal.lua Rog-loca.lua
|
||||||
|
Rog-strt.lua Sam-fila.lua Sam-filb.lua Sam-goal.lua Sam-loca.lua
|
||||||
|
Sam-strt.lua Tou-fila.lua Tou-filb.lua Tou-goal.lua Tou-loca.lua
|
||||||
|
Tou-strt.lua Val-fila.lua Val-filb.lua Val-goal.lua Val-loca.lua
|
||||||
|
Val-strt.lua Wiz-fila.lua Wiz-filb.lua Wiz-goal.lua Wiz-loca.lua
|
||||||
|
Wiz-strt.lua air.lua asmodeus.lua astral.lua baalz.lua
|
||||||
|
bigrm-1.lua bigrm-2.lua bigrm-3.lua bigrm-4.lua bigrm-5.lua
|
||||||
|
bigrm-6.lua bigrm-7.lua bigrm-8.lua bigrm-9.lua bigrm-10.lua
|
||||||
|
bogusmon.txt castle.lua cmdhelp data.base dungeon.lua
|
||||||
|
earth.lua engrave.txt epitaph.txt fakewiz1.lua fakewiz2.lua
|
||||||
|
fire.lua help hh history juiblex.lua
|
||||||
|
keyhelp knox.lua license medusa-1.lua medusa-2.lua
|
||||||
|
medusa-3.lua medusa-4.lua minefill.lua minend-1.lua minend-2.lua
|
||||||
|
minend-3.lua minetn-1.lua minetn-2.lua minetn-3.lua minetn-4.lua
|
||||||
|
minetn-5.lua minetn-6.lua minetn-7.lua nhlib.lua opthelp
|
||||||
|
oracle.lua oracles.txt orcus.lua quest.lua rumors.fal
|
||||||
|
rumors.tru sanctum.lua soko1-1.lua soko1-2.lua soko2-1.lua
|
||||||
|
soko2-2.lua soko3-1.lua soko3-2.lua soko4-1.lua soko4-2.lua
|
||||||
|
symbols tower1.lua tower2.lua tower3.lua tribute
|
||||||
|
valley.lua water.lua wizard1.lua wizard2.lua wizard3.lua
|
||||||
|
wizhelp
|
||||||
|
|
||||||
doc:
|
doc:
|
||||||
(files for all versions)
|
(files for all versions)
|
||||||
Guidebook.mn Guidebook.tex Guidebook.txt config.nh dgn_comp.6
|
Guidebook.mn Guidebook.tex Guidebook.txt config.nh dlb.6
|
||||||
dgn_comp.txt dlb.6 dlb.txt fixes10.0 fixes14.f
|
dlb.txt fixes10.0 fixes14.f fixes22.0 fixes23.e
|
||||||
fixes22.0 fixes23.e fixes30.0 fixes30.pl01 fixes30.pl02
|
fixes30.0 fixes30.pl01 fixes30.pl02 fixes30.pl03 fixes30.pl04
|
||||||
fixes30.pl03 fixes30.pl04 fixes30.pl05 fixes30.pl06 fixes30.pl07
|
fixes30.pl05 fixes30.pl06 fixes30.pl07 fixes30.pl08 fixes30.pl09
|
||||||
fixes30.pl08 fixes30.pl09 fixes30.pl10 fixes31.1 fixes31.2
|
fixes30.pl10 fixes31.1 fixes31.2 fixes31.3 fixes32.0
|
||||||
fixes31.3 fixes32.0 fixes32.1 fixes32.2 fixes32.3
|
fixes32.1 fixes32.2 fixes32.3 fixes33.0 fixes33.1
|
||||||
fixes33.0 fixes33.1 fixes34.0 fixes34.1 fixes34.2
|
fixes34.0 fixes34.1 fixes34.2 fixes34.3 fixes35.0
|
||||||
fixes34.3 fixes35.0 fixes36.0 fixes36.1 fixes36.2
|
fixes36.0 fixes36.1 fixes36.2 fixes36.3 fixes36.4
|
||||||
lev_comp.6 lev_comp.txt makedefs.6 makedefs.txt mn.7
|
fixes36.5 fixes37.0 fixesXX.X makedefs.6 makedefs.txt
|
||||||
mnh.7 nethack.6 nethack.txt recover.6 recover.txt
|
mn.7 mnh.7 nethack.6 nethack.txt recover.6
|
||||||
tmac.n tmac.nh window.doc
|
recover.txt tmac.n tmac.nh window.doc
|
||||||
|
|
||||||
include:
|
include:
|
||||||
(files for GEM versions)
|
(files for GEM versions)
|
||||||
@@ -61,9 +82,6 @@ bitmfile.h gem_rsc.h load_img.h wingem.h
|
|||||||
(file for GNOME versions)
|
(file for GNOME versions)
|
||||||
winGnome.h
|
winGnome.h
|
||||||
|
|
||||||
(files for Qt versions)
|
|
||||||
qt_clust.h qt_kde0.h qt_win.h qt_xpms.h qttableview.h
|
|
||||||
|
|
||||||
(files for X versions)
|
(files for X versions)
|
||||||
tile2x11.h winX.h xwindow.h xwindowp.h
|
tile2x11.h winX.h xwindow.h xwindowp.h
|
||||||
|
|
||||||
@@ -73,16 +91,16 @@ beconf.h botl.h color.h config.h config1.h
|
|||||||
context.h coord.h decl.h def_os2.h dgn_file.h
|
context.h coord.h decl.h def_os2.h dgn_file.h
|
||||||
display.h dlb.h dungeon.h engrave.h extern.h
|
display.h dlb.h dungeon.h engrave.h extern.h
|
||||||
flag.h func_tab.h global.h hack.h integer.h
|
flag.h func_tab.h global.h hack.h integer.h
|
||||||
isaac64.h lev.h lint.h mail.h mextra.h
|
isaac64.h lint.h mail.h mextra.h mfndpos.h
|
||||||
mfndpos.h micro.h mkroom.h monattk.h mondata.h
|
micro.h mkroom.h monattk.h mondata.h monflag.h
|
||||||
monflag.h monst.h monsym.h ntconf.h obj.h
|
monst.h monsym.h ntconf.h obj.h objclass.h
|
||||||
objclass.h os2conf.h patchlevel.h pcconf.h permonst.h
|
os2conf.h patchlevel.h pcconf.h permonst.h prop.h
|
||||||
prop.h qtext.h quest.h rect.h region.h
|
quest.h rect.h region.h rm.h skills.h
|
||||||
rm.h skills.h sp_lev.h spell.h sys.h
|
sp_lev.h spell.h sys.h system.h tcap.h
|
||||||
system.h tcap.h tileset.h timeout.h tosconf.h
|
tileset.h timeout.h tosconf.h tradstdc.h trampoli.h
|
||||||
tradstdc.h trampoli.h trap.h unixconf.h vision.h
|
trap.h unixconf.h vision.h vmsconf.h wceconf.h
|
||||||
vmsconf.h wceconf.h winami.h wincurs.h winprocs.h
|
winami.h wincurs.h winprocs.h wintype.h you.h
|
||||||
wintype.h you.h youprop.h
|
youprop.h
|
||||||
|
|
||||||
(file for tty versions)
|
(file for tty versions)
|
||||||
wintty.h
|
wintty.h
|
||||||
@@ -100,36 +118,36 @@ dog.c dogmove.c dokick.c dothrow.c drawing.c dungeon.c
|
|||||||
eat.c end.c engrave.c exper.c explode.c extralev.c
|
eat.c end.c engrave.c exper.c explode.c extralev.c
|
||||||
files.c fountain.c hack.c hacklib.c invent.c isaac64.c
|
files.c fountain.c hack.c hacklib.c invent.c isaac64.c
|
||||||
light.c lock.c mail.c makemon.c mapglyph.c mcastu.c
|
light.c lock.c mail.c makemon.c mapglyph.c mcastu.c
|
||||||
mhitm.c mhitu.c minion.c mklev.c mkmap.c mkmaze.c
|
mdlib.c mhitm.c mhitu.c minion.c mklev.c mkmap.c
|
||||||
mkobj.c mkroom.c mon.c mondata.c monmove.c monst.c
|
mkmaze.c mkobj.c mkroom.c mon.c mondata.c monmove.c
|
||||||
mplayer.c mthrowu.c muse.c music.c o_init.c objects.c
|
monst.c mplayer.c mthrowu.c muse.c music.c nhlobj.c
|
||||||
objnam.c options.c pager.c pickup.c pline.c polyself.c
|
nhlsel.c nhlua.c o_init.c objects.c objnam.c options.c
|
||||||
potion.c pray.c priest.c quest.c questpgr.c read.c
|
pager.c pickup.c pline.c polyself.c potion.c pray.c
|
||||||
rect.c region.c restore.c rip.c rnd.c role.c
|
priest.c quest.c questpgr.c read.c rect.c region.c
|
||||||
rumors.c save.c shk.c shknam.c sit.c sounds.c
|
restore.c rip.c rnd.c role.c rumors.c save.c
|
||||||
sp_lev.c spell.c steal.c steed.c sys.c teleport.c
|
sfstruct.c shk.c shknam.c sit.c sounds.c sp_lev.c
|
||||||
timeout.c topten.c track.c trap.c u_init.c uhitm.c
|
spell.c steal.c steed.c sys.c teleport.c timeout.c
|
||||||
vault.c version.c vision.c weapon.c were.c wield.c
|
topten.c track.c trap.c u_init.c uhitm.c vault.c
|
||||||
windows.c wizard.c worm.c worn.c write.c zap.c
|
version.c vision.c weapon.c were.c wield.c windows.c
|
||||||
|
wizard.c worm.c worn.c write.c zap.c
|
||||||
|
|
||||||
sys/amiga:
|
sys/amiga:
|
||||||
(files for Amiga versions - untested for 3.6.2)
|
(files for Amiga versions - untested for 3.6.4)
|
||||||
Build.ami Install.ami Makefile.agc Makefile.ami NetHack.cnf
|
Build.ami Install.ami Makefile.agc Makefile.ami NetHack.cnf
|
||||||
amidos.c amidos.p amifont.uu amifont8.uu amigst.c
|
amidos.c amidos.p amifont.uu amifont8.uu amigst.c
|
||||||
amii.hlp amimenu.c amirip.c amisnd.c amistack.c
|
amii.hlp amimenu.c amirip.c amistack.c amitty.c
|
||||||
amitty.c amiwind.c amiwind.p clipwin.c colorwin.c
|
amiwind.c amiwind.p clipwin.c colorwin.c grave16.xpm
|
||||||
cvtsnd.c grave16.xpm ifchange mkdmake txt2iff.c
|
ifchange mkdmake txt2iff.c winami.c winami.p
|
||||||
winami.c winami.p winchar.c windefs.h winext.h
|
winchar.c windefs.h winext.h winfuncs.c winkey.c
|
||||||
winfuncs.c winkey.c winmenu.c winproto.h winreq.c
|
winmenu.c winproto.h winreq.c winstr.c xpm2iff.c
|
||||||
winstr.c xpm2iff.c
|
|
||||||
|
|
||||||
sys/atari:
|
sys/atari:
|
||||||
(files for Atari version - untested for 3.6.2)
|
(files for Atari version - untested for 3.6.4)
|
||||||
Install.tos atarifnt.uue nethack.mnu setup.g tos.c
|
Install.tos atarifnt.uue nethack.mnu setup.g tos.c
|
||||||
unx2atar.sed
|
unx2atar.sed
|
||||||
|
|
||||||
sys/be:
|
sys/be:
|
||||||
(files for BeOS version - untested for 3.6.2)
|
(files for BeOS version - untested for 3.6.4)
|
||||||
README bemain.c
|
README bemain.c
|
||||||
|
|
||||||
sys/mac:
|
sys/mac:
|
||||||
@@ -137,23 +155,27 @@ sys/mac:
|
|||||||
Files.r Install.mw MacHelp NHDeflts NHrsrc.hqx
|
Files.r Install.mw MacHelp NHDeflts NHrsrc.hqx
|
||||||
NHsound.hqx News README carbon.plist dprintf.c
|
NHsound.hqx News README carbon.plist dprintf.c
|
||||||
maccurs.c macerrs.c macfile.c machelp.hqx macmain.c
|
maccurs.c macerrs.c macfile.c machelp.hqx macmain.c
|
||||||
macmenu.c macsnd.c mactopl.c mactty.c macunix.c
|
macmenu.c mactopl.c mactty.c macunix.c macwin.c
|
||||||
macwin.c mgetline.c mmodal.c mrecover.c mrecover.hqx
|
mgetline.c mmodal.c mrecover.c mrecover.hqx mttymain.c
|
||||||
mttymain.c
|
|
||||||
|
|
||||||
sys/msdos:
|
sys/msdos:
|
||||||
(files for MSDOS version - untested for 3.6.2)
|
(files for MSDOS version - tested for 3.6.4 via partial cross-compile only)
|
||||||
Install.dos Makefile.BC Makefile.GCC Makefile.MSC SCHEMA35.MSC
|
Install.dos Makefile.BC Makefile.GCC
|
||||||
moveinit.pat msdos.c msdoshlp.txt ovlinit.c pckeys.c
|
Makefile.MSC Makefile1.cross Makefile2.cross
|
||||||
pctiles.c pctiles.h pcvideo.h portio.h schema1.BC
|
SCHEMA35.MSC moveinit.pat msdos-cross-compile.sh
|
||||||
schema2.BC schema3.MSC setup.bat sound.c tile2bin.c
|
msdos.c msdoshlp.txt ovlinit.c
|
||||||
vesa.h video.c vidtxt.c vidvesa.c vidvga.c
|
pckeys.c pctiles.c pctiles.h
|
||||||
|
pcvideo.h portio.h schema1.BC
|
||||||
|
schema2.BC schema3.MSC setup.bat
|
||||||
|
sysconf tile2bin.c vesa.h
|
||||||
|
video.c vidtxt.c vidvesa.c
|
||||||
|
vidvga.c
|
||||||
|
|
||||||
(files for running MSDOS binary under Windows)
|
(files for running MSDOS binary under Windows)
|
||||||
nhico.uu nhpif.uu
|
nhico.uu nhpif.uu
|
||||||
|
|
||||||
sys/os2:
|
sys/os2:
|
||||||
(files for OS/2 version - untested for 3.6.2)
|
(files for OS/2 version - untested for 3.6.4)
|
||||||
Install.os2 Makefile.os2 nhpmico.uu os2.c
|
Install.os2 Makefile.os2 nhpmico.uu os2.c
|
||||||
|
|
||||||
sys/share:
|
sys/share:
|
||||||
@@ -163,10 +185,10 @@ random.c
|
|||||||
(Berkeley uudecode file, which may be used in build process of any version)
|
(Berkeley uudecode file, which may be used in build process of any version)
|
||||||
uudecode.c
|
uudecode.c
|
||||||
|
|
||||||
(file for MSDOS, OS/2, Amiga, and Atari versions - untested for 3.6.2)
|
(file for MSDOS, OS/2, Amiga, and Atari versions - untested for 3.6.4)
|
||||||
pcmain.c
|
pcmain.c
|
||||||
|
|
||||||
(file for MSDOS, OS/2, and Atari versions - untested for 3.6.2)
|
(file for MSDOS, OS/2, and Atari versions - untested for 3.6.4)
|
||||||
NetHack.cnf pctty.c
|
NetHack.cnf pctty.c
|
||||||
|
|
||||||
(file for MSDOS, OS/2, and VMS versions)
|
(file for MSDOS, OS/2, and VMS versions)
|
||||||
@@ -178,18 +200,15 @@ nhlan.c
|
|||||||
(file for VMS version)
|
(file for VMS version)
|
||||||
tclib.c
|
tclib.c
|
||||||
|
|
||||||
(files for MSDOS and OS/2 versions - untested for 3.6.2)
|
(files for MSDOS and OS/2 versions - untested for 3.6.4)
|
||||||
Makefile.lib termcap.uu
|
Makefile.lib termcap.uu
|
||||||
|
|
||||||
(files for MSDOS, OS/2 and Atari versions - untested for 3.6.2)
|
(files for MSDOS, OS/2 and Atari versions - tested on MSDOS for 3.6.4 via partial cross-compile only)
|
||||||
pcsys.c pcunix.c
|
pcsys.c pcunix.c
|
||||||
|
|
||||||
(files for UNIX and Be versions)
|
(files for UNIX and Be versions)
|
||||||
ioctl.c unixtty.c
|
ioctl.c unixtty.c
|
||||||
|
|
||||||
(lex/yacc output for special level and dungeon compilers)
|
|
||||||
dgn_comp.h dgn_lex.c dgn_yacc.c lev_comp.h lev_lex.c lev_yacc.c
|
|
||||||
|
|
||||||
(posix regex for versions that include regex in their C library)
|
(posix regex for versions that include regex in their C library)
|
||||||
posixregex.c
|
posixregex.c
|
||||||
|
|
||||||
@@ -199,11 +218,6 @@ cppregex.cpp
|
|||||||
(pmatch regex for other versions)
|
(pmatch regex for other versions)
|
||||||
pmatchregex.c
|
pmatchregex.c
|
||||||
|
|
||||||
sys/share/sounds:
|
|
||||||
(files for Amiga and Macintosh versions)
|
|
||||||
README bell.uu bugle.uu erthdrum.uu firehorn.uu frsthorn.uu
|
|
||||||
lethdrum.uu mgcflute.uu mgcharp.uu toolhorn.uu wdnflute.uu wdnharp.uu
|
|
||||||
|
|
||||||
sys/unix:
|
sys/unix:
|
||||||
(files for UNIX versions)
|
(files for UNIX versions)
|
||||||
Install.unx Makefile.dat Makefile.doc Makefile.src
|
Install.unx Makefile.dat Makefile.doc Makefile.src
|
||||||
@@ -215,9 +229,6 @@ unixmain.c unixres.c unixunix.c
|
|||||||
(files for replacement cpp, only needed by some ancient UNIX systems)
|
(files for replacement cpp, only needed by some ancient UNIX systems)
|
||||||
cpp1.shr cpp2.shr cpp3.shr
|
cpp1.shr cpp2.shr cpp3.shr
|
||||||
|
|
||||||
(file for sound driver for 386 UNIX)
|
|
||||||
snd86unx.shr
|
|
||||||
|
|
||||||
sys/unix/NetHack.xcodeproj:
|
sys/unix/NetHack.xcodeproj:
|
||||||
(file for UNIX versions)
|
(file for UNIX versions)
|
||||||
project.pbxproj
|
project.pbxproj
|
||||||
@@ -251,7 +262,7 @@ spec_lev.com sysconf vmsbuild.com vmsfiles.c vmsmail.c
|
|||||||
vmsmain.c vmsmisc.c vmstty.c vmsunix.c
|
vmsmain.c vmsmisc.c vmstty.c vmsunix.c
|
||||||
|
|
||||||
sys/wince:
|
sys/wince:
|
||||||
(files for Windows CE and PocketPC - untested for 3.6.2)
|
(files for Windows CE and PocketPC - untested for 3.6.4)
|
||||||
Install.ce bootstrp.mak celib.c cesetup.bat cesound.c
|
Install.ce bootstrp.mak celib.c cesetup.bat cesound.c
|
||||||
defaults.nh keypad.uu menubar.uu mhaskyn.c mhaskyn.h
|
defaults.nh keypad.uu menubar.uu mhaskyn.c mhaskyn.h
|
||||||
mhcmd.c mhcmd.h mhcolor.c mhcolor.h mhdlg.c
|
mhcmd.c mhcmd.h mhcolor.c mhcolor.h mhdlg.c
|
||||||
@@ -264,7 +275,7 @@ resource.h winMS.h winhack.c winhack.rc winhcksp.rc
|
|||||||
winmain.c
|
winmain.c
|
||||||
|
|
||||||
sys/wince/ceinc:
|
sys/wince/ceinc:
|
||||||
(header files for Windows CE and PocketPC - untested for 3.6.2)
|
(header files for Windows CE and PocketPC - untested for 3.6.4)
|
||||||
assert.h errno.h fcntl.h
|
assert.h errno.h fcntl.h
|
||||||
|
|
||||||
sys/wince/ceinc/sys:
|
sys/wince/ceinc/sys:
|
||||||
@@ -273,42 +284,46 @@ stat.h
|
|||||||
|
|
||||||
sys/winnt:
|
sys/winnt:
|
||||||
(files for Windows 7/8.x/10 version)
|
(files for Windows 7/8.x/10 version)
|
||||||
Install.nt Makefile.gcc Makefile.msc console.rc
|
.nethackrc.template Install.nt Makefile.gcc
|
||||||
defaults.nh nethack.def nh340key.c nhdefkey.c
|
Makefile.msc console.rc nethack.def
|
||||||
nhico.uu nhraykey.c nhsetup.bat ntsound.c
|
nh340key.c nhdefkey.c nhico.uu
|
||||||
nttty.c porthelp stub-pdcscrn.c stubs.c
|
nhraykey.c nhsetup.bat ntsound.c
|
||||||
sysconf win10.c win10.h win32api.h
|
nttty.c porthelp stub-pdcscrn.c
|
||||||
windmain.c winnt.c winos.h
|
stubs.c sysconf.template win10.c
|
||||||
|
win10.h win32api.h windmain.c
|
||||||
|
winnt.c winos.h
|
||||||
|
|
||||||
|
test:
|
||||||
|
(files in top directory)
|
||||||
|
test_des.lua test_lev.lua test_obj.lua test_sel.lua test_src.lua
|
||||||
|
testwish.lua
|
||||||
|
|
||||||
util:
|
util:
|
||||||
(files for all versions)
|
(files for all versions)
|
||||||
dgn_main.c dlb_main.c lev_main.c makedefs.c mdgrep.h mdgrep.pl
|
dlb_main.c makedefs.c mdgrep.h mdgrep.pl panic.c recover.c
|
||||||
panic.c recover.c
|
|
||||||
|
|
||||||
(lex/yacc input for special level and dungeon compilers)
|
|
||||||
dgn_comp.l dgn_comp.y lev_comp.l lev_comp.y
|
|
||||||
|
|
||||||
win/Qt:
|
win/Qt:
|
||||||
|
(files for the Qt 4 or 5 widget library - X11, Windows, Mac OS X)
|
||||||
|
qt_bind.cpp qt_bind.h qt_click.cpp qt_click.h qt_clust.cpp
|
||||||
|
qt_clust.h qt_delay.cpp qt_delay.h qt_glyph.cpp qt_glyph.h
|
||||||
|
qt_icon.cpp qt_icon.h qt_inv.cpp qt_inv.h qt_kde0.h
|
||||||
|
qt_key.cpp qt_key.h qt_line.cpp qt_line.h qt_main.cpp
|
||||||
|
qt_main.h qt_map.cpp qt_map.h qt_menu.cpp qt_menu.h
|
||||||
|
qt_msg.cpp qt_msg.h qt_plsel.cpp qt_plsel.h qt_rip.cpp
|
||||||
|
qt_rip.h qt_set.cpp qt_set.h qt_stat.cpp qt_stat.h
|
||||||
|
qt_str.cpp qt_str.h qt_streq.cpp qt_streq.h qt_svsel.cpp
|
||||||
|
qt_svsel.h qt_win.cpp qt_win.h qt_xcmd.cpp qt_xcmd.h
|
||||||
|
qt_xpms.h qt_yndlg.cpp qt_yndlg.h
|
||||||
|
|
||||||
|
win/Qt3:
|
||||||
(files for the Qt 3 widget library - X11, Windows, Mac OS X, or Qtopia)
|
(files for the Qt 3 widget library - X11, Windows, Mac OS X, or Qtopia)
|
||||||
Info.plist Install.Qt knethack.lnk
|
Info.plist Install.Qt knethack.lnk
|
||||||
knh-mini.xpm knh.xpm nhicns.uu
|
knh-mini.xpm knh.xpm qpe-nethack.control
|
||||||
nhsplash.xpm qpe-nethack.control qt_clust.cpp
|
qt3_clust.cpp qt3_clust.h qt3_kde0.h
|
||||||
qt_win.cpp qttableview.cpp tileedit.cpp
|
qt3_win.cpp qt3_win.h qt3_xpms.h
|
||||||
|
qt3tableview.cpp qt3tableview.h tileedit.cpp
|
||||||
tileedit.h
|
tileedit.h
|
||||||
|
|
||||||
win/Qt4:
|
|
||||||
(files for the Qt 4 widget library - X11, Windows, Mac OS X)
|
|
||||||
qt4bind.cpp qt4bind.h qt4click.cpp qt4click.h qt4clust.cpp
|
|
||||||
qt4clust.h qt4delay.cpp qt4delay.h qt4glyph.cpp qt4glyph.h
|
|
||||||
qt4icon.cpp qt4icon.h qt4inv.cpp qt4inv.h qt4kde0.h
|
|
||||||
qt4key.cpp qt4key.h qt4line.cpp qt4line.h qt4main.cpp
|
|
||||||
qt4main.h qt4map.cpp qt4map.h qt4menu.cpp qt4menu.h
|
|
||||||
qt4msg.cpp qt4msg.h qt4plsel.cpp qt4plsel.h qt4rip.cpp
|
|
||||||
qt4rip.h qt4set.cpp qt4set.h qt4stat.cpp qt4stat.h
|
|
||||||
qt4str.cpp qt4str.h qt4streq.cpp qt4streq.h qt4svsel.cpp
|
|
||||||
qt4svsel.h qt4win.cpp qt4win.h qt4xcmd.cpp qt4xcmd.h
|
|
||||||
qt4yndlg.cpp qt4yndlg.h
|
|
||||||
|
|
||||||
win/X11:
|
win/X11:
|
||||||
(files for X versions)
|
(files for X versions)
|
||||||
Install.X11 NetHack.ad Window.c dialogs.c ibm.bdf
|
Install.X11 NetHack.ad Window.c dialogs.c ibm.bdf
|
||||||
@@ -328,12 +343,12 @@ cursinit.h cursinvt.c cursinvt.h cursmain.c cursmesg.c cursmesg.h
|
|||||||
cursmisc.c cursmisc.h cursstat.c cursstat.h curswins.c curswins.h
|
cursmisc.c cursmisc.h cursstat.c cursstat.h curswins.c curswins.h
|
||||||
|
|
||||||
win/gem:
|
win/gem:
|
||||||
(files for GEM versions - untested for 3.6.2)
|
(files for GEM versions - untested for 3.6.4)
|
||||||
Install.gem bitmfile.c gem_rsc.uu gem_rso.uu gr_rect.c gr_rect.h
|
Install.gem bitmfile.c gem_rsc.uu gem_rso.uu gr_rect.c gr_rect.h
|
||||||
load_img.c tile2img.c title.uu wingem.c wingem1.c xpm2img.c
|
load_img.c tile2img.c title.uu wingem.c wingem1.c xpm2img.c
|
||||||
|
|
||||||
win/gnome:
|
win/gnome:
|
||||||
(files for GNOME versions - untested for 3.6.2)
|
(files for GNOME versions - untested for 3.6.4)
|
||||||
README gn_xpms.h gnaskstr.c gnaskstr.h gnbind.c gnbind.h
|
README gn_xpms.h gnaskstr.c gnaskstr.h gnbind.c gnbind.h
|
||||||
gnglyph.c gnglyph.h gnmain.c gnmain.h gnmap.c gnmap.h
|
gnglyph.c gnglyph.h gnmain.c gnmain.h gnmap.c gnmap.h
|
||||||
gnmenu.c gnmenu.h gnmesg.c gnmesg.h gnomeprv.h gnopts.c
|
gnmenu.c gnmenu.h gnmesg.c gnmesg.h gnomeprv.h gnopts.c
|
||||||
@@ -348,10 +363,10 @@ NetHackTerm.applescript recover.pl
|
|||||||
|
|
||||||
win/share:
|
win/share:
|
||||||
(files for versions using optional tiles)
|
(files for versions using optional tiles)
|
||||||
bmptiles.c gifread.c giftiles.c monsters.txt objects.txt
|
bmptiles.c gifread.c giftiles.c monsters.txt nhicns.uu
|
||||||
other.txt ppmwrite.c renumtiles.pl safeproc.c thintile.c
|
nhsplash.xpm objects.txt other.txt ppmwrite.c renumtiles.pl
|
||||||
tile.doc tile.h tile2bmp.c tilemap.c tileset.c
|
safeproc.c thintile.c tile.doc tile.h tile2bmp.c
|
||||||
tiletext.c
|
tilemap.c tileset.c tiletext.c
|
||||||
|
|
||||||
win/tty:
|
win/tty:
|
||||||
(files for tty versions)
|
(files for tty versions)
|
||||||
@@ -359,74 +374,106 @@ getline.c termcap.c topl.c wintty.c
|
|||||||
|
|
||||||
win/win32:
|
win/win32:
|
||||||
(files for Windows versions - tested up to Windows 10)
|
(files for Windows versions - tested up to Windows 10)
|
||||||
NetHackW.exe.manifest dgnstuff-mingw32.mak dgnstuff.mak
|
NetHackW.c NetHackW.exe.manifest NetHackW.rc
|
||||||
levstuff-mingw32.mak levstuff.mak mhaskyn.c
|
mhaskyn.c mhaskyn.h mhdlg.c
|
||||||
mhaskyn.h mhdlg.c mhdlg.h
|
mhdlg.h mhfont.c mhfont.h
|
||||||
mhfont.c mhfont.h mhinput.c
|
mhinput.c mhinput.h mhmain.c
|
||||||
mhinput.h mhmain.c mhmain.h
|
mhmain.h mhmap.c mhmap.h
|
||||||
mhmap.c mhmap.h mhmenu.c
|
mhmenu.c mhmenu.h mhmsg.h
|
||||||
mhmenu.h mhmsg.h mhmsgwnd.c
|
mhmsgwnd.c mhmsgwnd.h mhrip.c
|
||||||
mhmsgwnd.h mhrip.c mhrip.h
|
mhrip.h mhsplash.c mhsplash.h
|
||||||
mhsplash.c mhsplash.h mhstatus.c
|
mhstatus.c mhstatus.h mhtext.c
|
||||||
mhstatus.h mhtext.c mhtext.h
|
mhtext.h mnsel.uu mnselcnt.uu
|
||||||
mnsel.uu mnselcnt.uu mnunsel.uu
|
mnunsel.uu mswproc.c nethack.rc
|
||||||
mswproc.c nethack.rc nhresource.h
|
nhresource.h petmark.uu pilemark.uu
|
||||||
petmark.uu pilemark.uu record.uu
|
record.uu resource.h rip.uu
|
||||||
resource.h rip.uu splash.uu
|
splash.uu tiles-mingw32.mak tiles.mak
|
||||||
tiles-mingw32.mak tiles.mak winMS.h
|
winMS.h
|
||||||
winhack.c winhack.rc
|
|
||||||
|
|
||||||
win/win32/vs2017:
|
win/win32/vs2017:
|
||||||
(files for Visual Studio 2017 Community Edition builds)
|
(files for Visual Studio 2017 Community Edition builds)
|
||||||
NetHack.sln NetHack.vcxproj NetHackW.vcxproj
|
NetHack.sln NetHack.vcxproj
|
||||||
PDCurses.vcxproj afterdgncomp.proj afterdlb.proj
|
NetHackPackage.appxmanifest NetHackPackage.wapproj
|
||||||
afterlevcomp.proj aftermakedefs.proj afternethack.proj
|
NetHackProperties.props NetHackW.vcxproj
|
||||||
afterrecover.proj aftertile2bmp.proj aftertilemap.proj
|
PDCurses.vcxproj Package.StoreAssociation.xml
|
||||||
afteruudecode.proj build.bat common.props
|
ScreenShot.PNG afterdlb.proj
|
||||||
config.props console.props default.props
|
aftermakedefs.proj afternethack.proj
|
||||||
default_dll.props default_lib.props dgncomp.vcxproj
|
afterrecover.proj aftertile2bmp.proj
|
||||||
dirs.props dlb.vcxproj dll.props
|
aftertilemap.proj afteruudecode.proj
|
||||||
files.props levcomp.vcxproj makedefs.vcxproj
|
build.bat common.props
|
||||||
nh340key.def nh340key.vcxproj nhdefkey.def
|
config.props console.props
|
||||||
nhdefkey.vcxproj nhraykey.def nhraykey.vcxproj
|
default.props default_dll.props
|
||||||
recover.vcxproj tile2bmp.vcxproj tilemap.vcxproj
|
default_lib.props dirs.props
|
||||||
tiles.vcxproj uudecode.vcxproj
|
dlb.vcxproj dll.props
|
||||||
|
files.props makedefs.vcxproj
|
||||||
|
nh340key.def nh340key.vcxproj
|
||||||
|
nhdefkey.def nhdefkey.vcxproj
|
||||||
|
nhraykey.def nhraykey.vcxproj
|
||||||
|
recover.vcxproj tile2bmp.vcxproj
|
||||||
|
tilemap.vcxproj tiles.vcxproj
|
||||||
|
travisci.sh uudecode.vcxproj
|
||||||
|
|
||||||
|
win/win32/vs2017/Images:
|
||||||
|
(files for Visual Studio 2017 Community Edition builds)
|
||||||
|
BadgeLogo.scale-100.png
|
||||||
|
BadgeLogo.scale-125.png
|
||||||
|
BadgeLogo.scale-150.png
|
||||||
|
BadgeLogo.scale-200.png
|
||||||
|
BadgeLogo.scale-400.png
|
||||||
|
LargeTile.scale-100.png
|
||||||
|
LargeTile.scale-125.png
|
||||||
|
LargeTile.scale-150.png
|
||||||
|
LargeTile.scale-200.png
|
||||||
|
LargeTile.scale-400.png
|
||||||
|
LockScreenLogo.scale-200.png
|
||||||
|
SmallTile.scale-100.png
|
||||||
|
SmallTile.scale-125.png
|
||||||
|
SmallTile.scale-150.png
|
||||||
|
SmallTile.scale-200.png
|
||||||
|
SmallTile.scale-400.png
|
||||||
|
SplashScreen.scale-100.png
|
||||||
|
SplashScreen.scale-125.png
|
||||||
|
SplashScreen.scale-150.png
|
||||||
|
SplashScreen.scale-200.png
|
||||||
|
SplashScreen.scale-400.png
|
||||||
|
Square150x150Logo.scale-100.png
|
||||||
|
Square150x150Logo.scale-125.png
|
||||||
|
Square150x150Logo.scale-150.png
|
||||||
|
Square150x150Logo.scale-200.png
|
||||||
|
Square150x150Logo.scale-400.png
|
||||||
|
Square44x44Logo.altform-unplated_targetsize-16.png
|
||||||
|
Square44x44Logo.altform-unplated_targetsize-256.png
|
||||||
|
Square44x44Logo.altform-unplated_targetsize-32.png
|
||||||
|
Square44x44Logo.altform-unplated_targetsize-48.png
|
||||||
|
Square44x44Logo.scale-100.png
|
||||||
|
Square44x44Logo.scale-125.png
|
||||||
|
Square44x44Logo.scale-150.png
|
||||||
|
Square44x44Logo.scale-200.png
|
||||||
|
Square44x44Logo.scale-400.png
|
||||||
|
Square44x44Logo.targetsize-16.png
|
||||||
|
Square44x44Logo.targetsize-24.png
|
||||||
|
Square44x44Logo.targetsize-24_altform-unplated.png
|
||||||
|
Square44x44Logo.targetsize-256.png
|
||||||
|
Square44x44Logo.targetsize-32.png
|
||||||
|
Square44x44Logo.targetsize-48.png
|
||||||
|
StoreLogo.backup.png
|
||||||
|
StoreLogo.scale-100.png
|
||||||
|
StoreLogo.scale-125.png
|
||||||
|
StoreLogo.scale-150.png
|
||||||
|
StoreLogo.scale-200.png
|
||||||
|
StoreLogo.scale-400.png
|
||||||
|
Wide310x150Logo.scale-100.png
|
||||||
|
Wide310x150Logo.scale-125.png
|
||||||
|
Wide310x150Logo.scale-150.png
|
||||||
|
Wide310x150Logo.scale-200.png
|
||||||
|
Wide310x150Logo.scale-400.png
|
||||||
|
|
||||||
This is a list of files produced by auxiliary programs. They can all be
|
This is a list of files produced by auxiliary programs. They can all be
|
||||||
regenerated from the files in the distribution.
|
regenerated from the files in the distribution.
|
||||||
|
|
||||||
dat:
|
dat:
|
||||||
(file generated by dgn_comp at playground creation time)
|
|
||||||
dungeon
|
|
||||||
|
|
||||||
(files generated by lev_comp at playground creation time)
|
|
||||||
Arc-fila.lev Arc-filb.lev Arc-goal.lev Arc-loca.lev Arc-strt.lev
|
|
||||||
Bar-fila.lev Bar-filb.lev Bar-goal.lev Bar-loca.lev Bar-strt.lev
|
|
||||||
Cav-fila.lev Cav-filb.lev Cav-goal.lev Cav-loca.lev Cav-strt.lev
|
|
||||||
Hea-fila.lev Hea-filb.lev Hea-goal.lev Hea-loca.lev Hea-strt.lev
|
|
||||||
Kni-fila.lev Kni-filb.lev Kni-goal.lev Kni-loca.lev Kni-strt.lev
|
|
||||||
Mon-fila.lev Mon-filb.lev Mon-goal.lev Mon-loca.lev Mon-strt.lev
|
|
||||||
Pri-fila.lev Pri-filb.lev Pri-goal.lev Pri-loca.lev Pri-strt.lev
|
|
||||||
Ran-fila.lev Ran-filb.lev Ran-goal.lev Ran-loca.lev Ran-strt.lev
|
|
||||||
Rog-fila.lev Rog-filb.lev Rog-goal.lev Rog-loca.lev Rog-strt.lev
|
|
||||||
Sam-fila.lev Sam-filb.lev Sam-goal.lev Sam-loca.lev Sam-strt.lev
|
|
||||||
Tou-fila.lev Tou-filb.lev Tou-goal.lev Tou-loca.lev Tou-strt.lev
|
|
||||||
Val-fila.lev Val-filb.lev Val-goal.lev Val-loca.lev Val-strt.lev
|
|
||||||
Wiz-fila.lev Wiz-filb.lev Wiz-goal.lev Wiz-loca.lev Wiz-strt.lev
|
|
||||||
air.lev asmodeus.lev astral.lev baalz.lev bigrm-1.lev
|
|
||||||
bigrm-2.lev bigrm-3.lev bigrm-4.lev bigrm-5.lev bigrm-6.lev
|
|
||||||
bigrm-7.lev bigrm-8.lev bigrm-9.lev bigrm-10.lev castle.lev
|
|
||||||
earth.lev fakewiz1.lev fakewiz2.lev fire.lev juiblex.lev
|
|
||||||
knox.lev medusa-1.lev medusa-2.lev medusa-3.lev medusa-4.lev
|
|
||||||
minefill.lev minend-1.lev minend-2.lev minend-3.lev minetn-1.lev
|
|
||||||
minetn-2.lev minetn-3.lev minetn-4.lev minetn-5.lev minetn-6.lev
|
|
||||||
minetn-7.lev oracle.lev orcus.lev sanctum.lev soko1-1.lev
|
|
||||||
soko1-2.lev soko2-1.lev soko2-2.lev soko3-1.lev soko3-2.lev
|
|
||||||
soko4-1.lev soko4-2.lev tower1.lev tower2.lev tower3.lev
|
|
||||||
valley.lev water.lev wizard1.lev wizard2.lev wizard3.lev
|
|
||||||
|
|
||||||
(files generated by makedefs at playground creation time)
|
(files generated by makedefs at playground creation time)
|
||||||
data dungeon.pdf options oracles quest.dat rumors
|
data options oracles rumors
|
||||||
|
|
||||||
(files generated for Qt interface on Mac OS X)
|
(files generated for Qt interface on Mac OS X)
|
||||||
Info.plist nethack.icns
|
Info.plist nethack.icns
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
NetHack Porting Guidelines v 3.6 1999-11-29
|
NetHack Porting Guidelines v 3.7 2019-12-05
|
||||||
|
|
||||||
|
|
||||||
1.0 Introduction
|
1.0 Introduction
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
This document goes through the steps required to port NetHack to a
|
This document goes through the steps required to port NetHack to a
|
||||||
new machine. The basic steps in porting the program are:
|
new machine. The basic steps in porting the program are:
|
||||||
|
|
||||||
1. Get the code onto your machine. The parts of the current
|
1. Get the code onto your build machine. The parts of the current
|
||||||
directory setup you definitely need include src (NetHack code
|
directory setup you definitely need include src (NetHack code
|
||||||
shared by all systems), include (include files), util (code
|
shared by all systems), include (include files), util (code
|
||||||
for utility programs), and dat (various data files). The
|
for utility programs), and dat (various data files). The
|
||||||
@@ -14,6 +14,10 @@ new machine. The basic steps in porting the program are:
|
|||||||
have the files in the top directory since you're reading this
|
have the files in the top directory since you're reading this
|
||||||
one. :-)
|
one. :-)
|
||||||
|
|
||||||
|
If you will be cross-compiling for your target platform on
|
||||||
|
a different platform, you may want to read Cross-compiling
|
||||||
|
in the Top folder as well.
|
||||||
|
|
||||||
A full list of the distribution files and their associated
|
A full list of the distribution files and their associated
|
||||||
OSes may be found in the top-level file "Files".
|
OSes may be found in the top-level file "Files".
|
||||||
|
|
||||||
@@ -53,7 +57,8 @@ new machine. The basic steps in porting the program are:
|
|||||||
possibly send us some mail. We might be able to help.
|
possibly send us some mail. We might be able to help.
|
||||||
|
|
||||||
6. Mail all of your fixes to us in a contextual form so that we can
|
6. Mail all of your fixes to us in a contextual form so that we can
|
||||||
easily integrate them into the code.
|
easily integrate them into the code, or fork the NetHack
|
||||||
|
repository on GitHub and issue a pull-request for your changes.
|
||||||
|
|
||||||
One general rule of thumb exists. Always add code. Don't delete
|
One general rule of thumb exists. Always add code. Don't delete
|
||||||
somebody else's code for yours -- it won't work on their machine if you do.
|
somebody else's code for yours -- it won't work on their machine if you do.
|
||||||
@@ -120,13 +125,6 @@ files for the game.
|
|||||||
You may have to create an OS-specific module to handle things you want to
|
You may have to create an OS-specific module to handle things you want to
|
||||||
use, like a mouse or a ram-disk.
|
use, like a mouse or a ram-disk.
|
||||||
|
|
||||||
The utility compilers "dgn_comp" and "lev_comp" may be a better
|
|
||||||
place to start. They also require "makedefs" but are independent of
|
|
||||||
"nethack". They are usually the last programs made, but since they are
|
|
||||||
much smaller they may be more tractable when first arguing with the include
|
|
||||||
files. These programs create binary data files that "nethack" uses to
|
|
||||||
guide its dungeon creation.
|
|
||||||
|
|
||||||
3.1 Makefiles
|
3.1 Makefiles
|
||||||
|
|
||||||
This distribution provides makefiles for several kinds of systems.
|
This distribution provides makefiles for several kinds of systems.
|
||||||
@@ -167,11 +165,107 @@ for raw I/O, etc.
|
|||||||
to. This file contains some OS dependencies concerning time and filename
|
to. This file contains some OS dependencies concerning time and filename
|
||||||
creation.
|
creation.
|
||||||
|
|
||||||
|
|
||||||
An object of the NetHack development project is to get the game
|
An object of the NetHack development project is to get the game
|
||||||
working on as many different types of hardware and under as many different
|
working on as many different types of hardware and under as many different
|
||||||
operating systems as is practical. Any assistance will be appreciated.
|
operating systems as is practical. Any assistance will be appreciated.
|
||||||
|
|
||||||
|
Cross-compiling may allow porting of NetHack to a machine where there may
|
||||||
|
be challenges building on the platform directly, and may help maintain a
|
||||||
|
working version of NetHack on that platform. See the file Cross-compiling
|
||||||
|
for more information.
|
||||||
|
|
||||||
|
4.0 Build Process
|
||||||
|
|
||||||
|
NetHack requires the following steps to be carried out:
|
||||||
|
|
||||||
|
4.1. makedefs
|
||||||
|
|
||||||
|
Compile and link util/makedefs. Run makedefs repeatedly with different command
|
||||||
|
line options to produce several output files that are required for:
|
||||||
|
(a) additional build steps to follow, including some header
|
||||||
|
files: pm.h, onames.h, date.h.
|
||||||
|
(b) creation of files, containing information required by,
|
||||||
|
or about the game during its execution, that are stored in a
|
||||||
|
portable, platform-independent way, that need to be inserted
|
||||||
|
into the final game package.
|
||||||
|
|
||||||
|
util/makedefs -v
|
||||||
|
util/makedefs -o
|
||||||
|
util/makedefs -p
|
||||||
|
util/makedefs -z
|
||||||
|
util/makedefs -d
|
||||||
|
util/makedefs -r
|
||||||
|
util/makedefs -h
|
||||||
|
util/makedefs -s
|
||||||
|
|
||||||
|
4.2. Other utilities
|
||||||
|
|
||||||
|
Compile and link other utilities such as uudecode, tile-generation
|
||||||
|
utilities, and so forth. Those produce output files for use during the game and
|
||||||
|
need to be included in the packaging of the game.
|
||||||
|
|
||||||
|
4.3. Lua
|
||||||
|
|
||||||
|
Compile and link into a library, or obtain a prebuilt Lua library for
|
||||||
|
your platform. Place the Lua source into lib/lua-5.3.5 (or other folder
|
||||||
|
representing an appropriate Lua version); place the compiled Lua library into
|
||||||
|
lib.
|
||||||
|
|
||||||
|
4.4 Compile NetHack sources
|
||||||
|
|
||||||
|
Compile the source code of the game, including a suitable
|
||||||
|
regular-expression choice from several options available in sys/share. Pick one
|
||||||
|
that is supported by your OS or that you have obtained a 3rd party library for.
|
||||||
|
|
||||||
|
4.5 Compile optional window port components into a library
|
||||||
|
|
||||||
|
If your platform requires 3rd party sources in order to support the
|
||||||
|
window port options that you have chosen, such as curses sources for the curses
|
||||||
|
window port, you may store the sources for that library in a subfolder under
|
||||||
|
lib.
|
||||||
|
|
||||||
|
4.6. Link the game
|
||||||
|
|
||||||
|
Link the game to the Lua library, and to any window port support
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
4.7 Package the game
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
5.0 Design Updates
|
||||||
|
|
||||||
|
The following design updates were introduced in NetHack 3.7.
|
||||||
|
|
||||||
|
5.1 Quest text files
|
||||||
|
|
||||||
|
The quest text files that were formerly converted from their source
|
||||||
|
text by makedefs during the build process, have been replaced by Lua versions
|
||||||
|
and are inserted into the game package for processing by the embedded Lua
|
||||||
|
interpreter during game execution.
|
||||||
|
|
||||||
|
5.2 Level Compiler
|
||||||
|
|
||||||
|
There is no longer a build-time level compiler. Instead, the level
|
||||||
|
descriptions have been converted to Lua and are inserted into the game package
|
||||||
|
for processing by the embeded Lua interpreter during game execution.
|
||||||
|
|
||||||
|
5.3 Dungeon Compiler
|
||||||
|
|
||||||
|
There is no longer a build-time dungeon compiler. Instead, the dungeon
|
||||||
|
description has been converted to Lua and is inserted into the game package for
|
||||||
|
processing by the embeded Lua interpreter during game execution.
|
||||||
|
|
||||||
|
|
||||||
|
5.4 Run-time Options
|
||||||
|
|
||||||
|
Some of the build and option information that was formerly produced at
|
||||||
|
build-time by makedefs, and contained information about the game platform and
|
||||||
|
options selected during the build of the game can now be produced at run-time
|
||||||
|
by code within the game itself. That was done to facilitate cross-compiling of
|
||||||
|
NetHack on one platform for game execution on another.
|
||||||
|
|
||||||
|
|
||||||
# NetHack 3.6 Porting $NHDT-Date: 1524689603 2018/04/25 20:53:23 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.5 $
|
# NetHack 3.6 Porting $NHDT-Date: 1524689603 2018/04/25 20:53:23 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.5 $
|
||||||
# Copyright (c) 2005 by Michael Allison
|
# Copyright (c) 2005 by Michael Allison
|
||||||
# NetHack may be freely redistributed. See license for details.
|
# NetHack may be freely redistributed. See license for details.
|
||||||
|
|||||||
@@ -1,24 +1,65 @@
|
|||||||
NetHack 3.6.2 -- General information
|
NetHack 3.7.0 work-in-progress -- General information
|
||||||
|
|
||||||
NetHack 3.6 is an enhancement to the dungeon exploration game NetHack,
|
NetHack 3.7 is an enhancement to the dungeon exploration game NetHack,
|
||||||
which is a distant descendent of Rogue and Hack, and a direct descendent of
|
which is a distant descendent of Rogue and Hack, and a direct descendent of
|
||||||
NetHack 3.4 as there was no NetHack 3.5 release.
|
NetHack 3.6.
|
||||||
|
|
||||||
NetHack 3.6.2 contains a collection of about 320 bug fixes to NetHack 3.6.1
|
NetHack 3.7.0 work-in-progress is not a release of NetHack. As a .0 version,
|
||||||
and more than 20 enhancements. The file doc/fixes36.2 in the source
|
and still very early in its development cycle, there has already been changes
|
||||||
distribution has a full list of them. The text in there was written for the
|
made, and there will continue to be many more prior to an eventual release.
|
||||||
development team's own use and is provided "as is", so please do not ask us
|
The file doc/fixes37.0 in the source distribution will be updated with a list
|
||||||
to further explain the entries in that file. Some entries might be considered
|
of fixes as they are committed.
|
||||||
"spoilers", particularly in the "new features" section.
|
|
||||||
|
|
||||||
Below you will find some other general notes that were not considered
|
In short -- there are likely to be bugs. Don't treat NetHack-3.7 branch as
|
||||||
spoilers:
|
released code, and if stability is paramount, then the most recent
|
||||||
* Performance optimizations with tty including the ability to do per field
|
NetHack 3.6.4 release is safest for you.
|
||||||
updating
|
|
||||||
* sys/winnt/nttty performance improvements mainly through the introduction
|
We're making the .0 work-in-progress available so that you can observe, test
|
||||||
of a back buffer approach
|
out, and contribute to its development. Constructive suggestions, GitHub pull
|
||||||
* a couple of windows crash bug fixes
|
requests, and bug reports are all welcome and encouraged.
|
||||||
* adoption of the curses window port that was in use in the community
|
|
||||||
|
The file doc/fixes37.0 in the source distribution has a full list of bug-fixes
|
||||||
|
included so far, as well as brief mentions of some of the other code changes.
|
||||||
|
The text in there was written for the development team's own use and is
|
||||||
|
provided "as is", so please do not ask us to further explain the entries in
|
||||||
|
that file. Some entries might be considered "spoilers", particularly in the
|
||||||
|
"new features" section.
|
||||||
|
|
||||||
|
Along with the game improvements and bug fixes, NetHack 3.7 strives to make
|
||||||
|
some general architectural improvements to the game or to its building
|
||||||
|
process. Among them:
|
||||||
|
|
||||||
|
* Remove barriers to building NetHack on one platform and operating system,
|
||||||
|
for later execution on another (possibly quite different) platform and/or
|
||||||
|
operating system. That capability is generally known as "cross-compiling."
|
||||||
|
See the file "Cross-compiling" in the top-level folder for more information
|
||||||
|
on that.
|
||||||
|
|
||||||
|
* Replace the build-time "yacc and lex"-based level compiler, the "yacc and
|
||||||
|
lex"-based dungeon compiler, and the quest text file processing done
|
||||||
|
by NetHack's "makedefs" utility, with Lua text alternatives that are
|
||||||
|
loaded and processed by the game during play.
|
||||||
|
|
||||||
|
* Write game savefiles and bonesfiles in a more portable and consistent way
|
||||||
|
to open up the possibility of utilizing them between different platforms,
|
||||||
|
such as between your desktop computer and your hand-held device.
|
||||||
|
|
||||||
|
* Add support to make the game restartable without exit (a.k.a. "play again"
|
||||||
|
support). Toward that end, many previously scattered and separate variables
|
||||||
|
have been gathered into a central 'g' structure in decl.h/decl.c. That
|
||||||
|
will benefit the porting effort to some platforms that are under
|
||||||
|
consideration.
|
||||||
|
|
||||||
|
Here are some other general notes on the changes in NetHack 3.7 that were not
|
||||||
|
considered spoilers:
|
||||||
|
- automatic annotation "gateway to Moloch's Sanctum" for vibrating square
|
||||||
|
level once that square's location becomes known (found or magic
|
||||||
|
mapped); goes away once sanctum temple is found (entered or high altar
|
||||||
|
mapped)
|
||||||
|
- savefile: add support to deconstruct internal data structures down into
|
||||||
|
their individual fields and save those fields instead of the entire
|
||||||
|
struct
|
||||||
|
- savefile: use little-endian format for fields where that makes a difference
|
||||||
|
|
||||||
- - - - - - - - - - -
|
- - - - - - - - - - -
|
||||||
|
|
||||||
@@ -29,13 +70,13 @@ Please read items (1), (2) and (3) BEFORE doing anything with your new code.
|
|||||||
call it.
|
call it.
|
||||||
|
|
||||||
2. Having unpacked, you should have a file called 'Files' in your Top
|
2. Having unpacked, you should have a file called 'Files' in your Top
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
This file contains the list of all the files you now SHOULD
|
This file contains the list of all the files you now SHOULD
|
||||||
have in each directory. Please check the files in each directory
|
have in each directory. Please check the files in each directory
|
||||||
against this list to make sure that you have a complete set.
|
against this list to make sure that you have a complete set.
|
||||||
|
|
||||||
This file also contains a list of what files are created during
|
This file also contains a list of what files are created during
|
||||||
the build process.
|
the build process.
|
||||||
|
|
||||||
The names of the directories listed should not be changed unless you
|
The names of the directories listed should not be changed unless you
|
||||||
@@ -46,7 +87,11 @@ Please read items (1), (2) and (3) BEFORE doing anything with your new code.
|
|||||||
"license" in the 'dat' subdirectory. It is expected that you comply
|
"license" in the 'dat' subdirectory. It is expected that you comply
|
||||||
with the terms of that license, and we are very serious about it.
|
with the terms of that license, and we are very serious about it.
|
||||||
|
|
||||||
4. If everything is in order, you can now turn to trying to get the program
|
4. If you are attempting to build NetHack on one platform/processor, to
|
||||||
|
produce a game on a different platform/processor it may behoove you to
|
||||||
|
read the file "Cross-compiling" in your Top directory.
|
||||||
|
|
||||||
|
5. If everything is in order, you can now turn to trying to get the program
|
||||||
to compile and run on your particular system. It is worth mentioning
|
to compile and run on your particular system. It is worth mentioning
|
||||||
that the default configuration is SysV/Sun/Solaris2.x (simply because
|
that the default configuration is SysV/Sun/Solaris2.x (simply because
|
||||||
the code was housed on such a system).
|
the code was housed on such a system).
|
||||||
@@ -57,21 +102,23 @@ Please read items (1), (2) and (3) BEFORE doing anything with your new code.
|
|||||||
for particular windowing environments. Reading them, and the man pages,
|
for particular windowing environments. Reading them, and the man pages,
|
||||||
should answer most of your questions.
|
should answer most of your questions.
|
||||||
|
|
||||||
At the time of this release, NetHack 3.6 has been tested to run/compile
|
|
||||||
on:
|
|
||||||
|
|
||||||
Intel Pentium or better (or clone) running Linux, BSDI, or
|
At the time of the most recent official release, NetHack 3.6, it had
|
||||||
|
been tested to run/compile on:
|
||||||
|
|
||||||
|
Intel Pentium or better (or clone) running Linux, BSDI, or
|
||||||
Windows (7 through 10)
|
Windows (7 through 10)
|
||||||
Intel 80386 or greater (or clone) boxes running Linux, or BSDI
|
Intel 80386 or greater (or clone) boxes running Linux, or BSDI
|
||||||
Mac OS X 10.11 (follow the instructions in sys/unix, not sys/mac)
|
Mac OS X 10.11 (follow the instructions in sys/unix, not sys/mac)
|
||||||
OpenVMS (aka VMS) V8.4 on Alpha and on Integrity/Itanium/IA64
|
OpenVMS (aka VMS) V8.4 on Alpha and on Integrity/Itanium/IA64
|
||||||
|
|
||||||
Instructions have been provided by way of community contribution on:
|
Instructions have been provided by way of community contribution on:
|
||||||
msdos protected mode using djgpp
|
msdos protected mode using djgpp including a Linux-host djgpp
|
||||||
|
cross-compile
|
||||||
|
|
||||||
Previous versions of NetHack were tested and known to run on the
|
Previous versions of NetHack were tested and known to run on the
|
||||||
following systems, but it is unknown if they can still build and
|
following systems, but it is unknown if they can still build and
|
||||||
execute NetHack 3.6:
|
execute NetHack 3.6 or NetHack 3.7:
|
||||||
|
|
||||||
Apple Macintosh running MacOS 7.5 or higher, LinuxPPC, BeOS 4.0
|
Apple Macintosh running MacOS 7.5 or higher, LinuxPPC, BeOS 4.0
|
||||||
Atari ST/TT/Falcon running TOS (or MultiTOS) with GCC
|
Atari ST/TT/Falcon running TOS (or MultiTOS) with GCC
|
||||||
@@ -123,10 +170,9 @@ Please read items (1), (2) and (3) BEFORE doing anything with your new code.
|
|||||||
|
|
||||||
- - - - - - - - - - -
|
- - - - - - - - - - -
|
||||||
|
|
||||||
If you have problems building the game, or you find bugs in it, we recommend
|
If you have problems building the game, or you find bugs in it, we recommend
|
||||||
filing a bug report from our "Contact Us" web page at:
|
filing a bug report from our "Contact Us" web page at:
|
||||||
https://www.nethack.org/common/contact.html or
|
https://www.nethack.org/common/contact.html
|
||||||
http://www.nethack.org/common/contact.html
|
|
||||||
Please include the version information from #version or the command line
|
Please include the version information from #version or the command line
|
||||||
option --version in the appropriate field.
|
option --version in the appropriate field.
|
||||||
|
|
||||||
@@ -138,12 +184,12 @@ available can be obtained via git here:
|
|||||||
|
|
||||||
When sending correspondence, please observe the following:
|
When sending correspondence, please observe the following:
|
||||||
o Please be sure to include your machine type, OS, and patchlevel.
|
o Please be sure to include your machine type, OS, and patchlevel.
|
||||||
o Please avoid sending us binary files (e.g. save files or bones files).
|
o Please avoid sending us binary files (e.g. save files or bones files).
|
||||||
If you have found a bug and think that your save file would aid in solving
|
If you have found a bug and think that your save file would aid in solving
|
||||||
the problem, send us a description in words of the problem, your machine
|
the problem, send us a description in words of the problem, your machine
|
||||||
type, your operating system, and the version of NetHack. Tell us that you
|
type, your operating system, and the version of NetHack. Tell us that you
|
||||||
have a save file, but do not actually send it.
|
have a save file, but do not actually send it.
|
||||||
You may then be contacted by a member of the development team with the
|
You may then be contacted by a member of the development team with the
|
||||||
address of a specific person to send the save file to.
|
address of a specific person to send the save file to.
|
||||||
o Though we make an effort to reply to each bug report, it may take some
|
o Though we make an effort to reply to each bug report, it may take some
|
||||||
time before you receive feedback. This is especially true during the
|
time before you receive feedback. This is especially true during the
|
||||||
@@ -152,21 +198,21 @@ o We don't give hints for playing the game.
|
|||||||
o Don't bother to ask when the next version will be out or you can expect
|
o Don't bother to ask when the next version will be out or you can expect
|
||||||
to receive a stock answer.
|
to receive a stock answer.
|
||||||
|
|
||||||
If you want to submit a patch for the NetHack source code via email directly,
|
If you want to submit a patch for the NetHack source code via email directly,
|
||||||
you can direct it to this address:
|
you can direct it to this address:
|
||||||
nethack-bugs (at) nethack.org
|
nethack-bugs (at) nethack.org
|
||||||
|
|
||||||
If a feature is not accepted you are free, of course, to post the patches
|
If a feature is not accepted you are free, of course, to post the patches
|
||||||
to the net yourself and let the marketplace decide their worth.
|
to the net yourself and let the marketplace decide their worth.
|
||||||
|
|
||||||
All of this amounts to the following: If you decide to apply a free-lanced
|
All of this amounts to the following: If you decide to apply a free-lanced
|
||||||
patch to your 3.6 code, you are welcome to do so, of course, but we won't
|
patch to your 3.6 code, you are welcome to do so, of course, but we won't
|
||||||
be able to provide support or receive bug reports for it.
|
be able to provide support or receive bug reports for it.
|
||||||
|
|
||||||
In our own patches, we will assume that your code is synchronized with ours.
|
In our own patches, we will assume that your code is synchronized with ours.
|
||||||
|
|
||||||
-- Good luck, and happy Hacking --
|
-- Good luck, and happy Hacking --
|
||||||
|
|
||||||
# $NHDT-Date: 1557077369 2019/05/05 17:29:29 $ $NHDT-Branch: NetHack-3.6.2 $:$NHDT-Revision: 1.55 $
|
# $NHDT-Date: 1572309271 2019/10/29 00:34:31 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.57 $
|
||||||
# Copyright (c) 2012 by Michael Allison
|
# Copyright (c) 2012 by Michael Allison
|
||||||
# NetHack may be freely redistributed. See license for details.
|
# NetHack may be freely redistributed. See license for details.
|
||||||
|
|||||||
@@ -0,0 +1,59 @@
|
|||||||
|
-- NetHack 3.6 Arch.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.10 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("up")
|
||||||
|
des.object()
|
||||||
|
des.monster("S")
|
||||||
|
end
|
||||||
|
});
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.monster("S")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.object()
|
||||||
|
des.monster("S")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("down")
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("human mummy")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster("S")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster("S")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.random_corridors()
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
-- NetHack 3.6 Arch.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.10 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("up")
|
||||||
|
des.object()
|
||||||
|
des.monster("M")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.monster("M")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.object()
|
||||||
|
des.monster("M")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("down")
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("human mummy")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster("S")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster("S")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.random_corridors()
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
-- NetHack 3.6 Arch.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.10 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
|
||||||
|
---------
|
||||||
|
|..|.|..|
|
||||||
|
-----------|..S.S..|-----------
|
||||||
|
|.|........|+-|.|-+|........|.|
|
||||||
|
|.S........S..|.|..S........S.|
|
||||||
|
|.|........|..|.|..|........|.|
|
||||||
|
------------------+------------------
|
||||||
|
|..|..........|.......|..........|..|
|
||||||
|
|..|..........+.......|..........S..|
|
||||||
|
|..S..........|.......+..........|..|
|
||||||
|
|..|..........|.......|..........|..|
|
||||||
|
------------------+------------------
|
||||||
|
|.|........|..|.|..|........|.|
|
||||||
|
|.S........S..|.|..S........S.|
|
||||||
|
|.|........|+-|.|-+|........|.|
|
||||||
|
-----------|..S.S..|-----------
|
||||||
|
|..|.|..|
|
||||||
|
---------
|
||||||
|
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
des.region(selection.area(35,02,36,03), "unlit")
|
||||||
|
des.region(selection.area(40,02,41,03), "unlit")
|
||||||
|
des.region(selection.area(24,04,24,06), "unlit")
|
||||||
|
des.region(selection.area(26,04,33,06), "lit")
|
||||||
|
des.region(selection.area(38,02,38,06), "unlit")
|
||||||
|
des.region(selection.area(43,04,50,06), "lit")
|
||||||
|
des.region(selection.area(52,04,52,06), "unlit")
|
||||||
|
des.region(selection.area(35,05,36,06), "unlit")
|
||||||
|
des.region(selection.area(40,05,41,06), "unlit")
|
||||||
|
des.region(selection.area(21,08,22,11), "unlit")
|
||||||
|
des.region(selection.area(24,08,33,11), "lit")
|
||||||
|
des.region(selection.area(35,08,41,11), "unlit")
|
||||||
|
des.region(selection.area(43,08,52,11), "lit")
|
||||||
|
des.region(selection.area(54,08,55,11), "unlit")
|
||||||
|
des.region(selection.area(24,13,24,15), "unlit")
|
||||||
|
des.region(selection.area(26,13,33,15), "unlit")
|
||||||
|
des.region(selection.area(35,13,36,14), "unlit")
|
||||||
|
des.region(selection.area(35,16,36,17), "unlit")
|
||||||
|
des.region(selection.area(38,13,38,17), "unlit")
|
||||||
|
des.region(selection.area(40,13,41,14), "unlit")
|
||||||
|
des.region(selection.area(40,16,41,17), "unlit")
|
||||||
|
des.region({ region={43,13, 50,15}, lit=0, type="temple", prefilled=0 })
|
||||||
|
des.region(selection.area(52,13,52,15), "unlit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 38,10)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- The altar of Huhetotl. Unattended.
|
||||||
|
des.altar({ x=50,y=14,align="chaos",type="altar" })
|
||||||
|
-- Objects
|
||||||
|
des.object({ id = "crystal ball", x=50, y=14,buc="blessed",spe=5,name="The Orb of Detection" })
|
||||||
|
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()
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap("rolling boulder",46,14)
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster("Minion of Huhetotl", 50, 14)
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("human mummy")
|
||||||
|
des.monster("human mummy")
|
||||||
|
des.monster("human mummy")
|
||||||
|
des.monster("human mummy")
|
||||||
|
des.monster("human mummy")
|
||||||
|
des.monster("human mummy")
|
||||||
|
des.monster("human mummy")
|
||||||
|
des.monster("human mummy")
|
||||||
|
des.monster("M")
|
||||||
@@ -0,0 +1,145 @@
|
|||||||
|
-- NetHack 3.6 Arch.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.10 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "hardfloor")
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
........................-------------------------------.....................
|
||||||
|
........................|....|.S......................|.....................
|
||||||
|
........................|....|.|.|+------------------.|.....................
|
||||||
|
........................|....|.|.|.|.........|......|.|.....................
|
||||||
|
........................|....|.|.|.|.........|......|.|.....................
|
||||||
|
........................|---+-.|.|.|..---....+......|.|.....................
|
||||||
|
........................|....|.|.|.---|.|....|......|.|.....................
|
||||||
|
........................|....S.|.|.+..S.|--S-----S--|.|.....................
|
||||||
|
........................|....|.|.|.---|.|....|......+.|.....................
|
||||||
|
........................|---+-.|.|.|..---....|.------.|.....................
|
||||||
|
........................|....|.|.|.|.........|.|....+.|.....................
|
||||||
|
........................|....|.|.|.|.........|+|....|-|.....................
|
||||||
|
........................|....|.|.|------------+------.S.....................
|
||||||
|
........................|....|.S......................|.....................
|
||||||
|
........................-------------------------------.....................
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
des.region({ region={25,04, 28,07}, lit=1, type="temple", prefilled=0 })
|
||||||
|
des.region({ region={25,09, 28,11}, lit=0, type="temple", prefilled=0 })
|
||||||
|
des.region({ region={25,13, 28,16}, lit=1, type="temple", prefilled=0 })
|
||||||
|
des.region(selection.area(30,04,30,16), "lit")
|
||||||
|
des.region(selection.area(32,04,32,16), "unlit")
|
||||||
|
des.region({ region={33,04, 53,04}, lit=0, type="ordinary", prefilled=0, irregular=1 })
|
||||||
|
des.region(selection.area(36,10,37,10), "unlit")
|
||||||
|
des.region(selection.area(39,09,39,11), "unlit")
|
||||||
|
des.region({ region={36,06, 42,08}, lit=0, type="ordinary", prefilled=0, irregular=1 })
|
||||||
|
des.region({ region={36,12, 42,14}, lit=0, type="ordinary", prefilled=0, irregular=1 })
|
||||||
|
des.region(selection.area(46,06,51,09), "unlit")
|
||||||
|
des.region({ region={46,11, 49,11}, lit=0, type="ordinary", prefilled=0, irregular=1 })
|
||||||
|
des.region(selection.area(48,13,51,14), "unlit")
|
||||||
|
-- Doors
|
||||||
|
des.door("closed",31,04)
|
||||||
|
des.door("closed",28,08)
|
||||||
|
des.door("locked",29,10)
|
||||||
|
des.door("closed",28,12)
|
||||||
|
des.door("closed",31,16)
|
||||||
|
des.door("locked",34,05)
|
||||||
|
des.door("locked",35,10)
|
||||||
|
des.door("locked",38,10)
|
||||||
|
des.door("closed",43,10)
|
||||||
|
des.door("closed",45,08)
|
||||||
|
des.door("locked",46,14)
|
||||||
|
des.door("locked",46,15)
|
||||||
|
des.door("locked",49,10)
|
||||||
|
des.door("locked",52,11)
|
||||||
|
des.door("closed",52,13)
|
||||||
|
des.door("closed",54,15)
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 03,17)
|
||||||
|
des.stair("down", 39,10)
|
||||||
|
-- Altars - three types. All are unattended.
|
||||||
|
des.altar({ x=26,y=05,align=align[1], type="altar" })
|
||||||
|
des.altar({ x=26,y=10,align=align[2], type="altar" })
|
||||||
|
des.altar({ x=26,y=15,align=align[3], type="altar" })
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- 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()
|
||||||
|
-- Treasure?
|
||||||
|
des.engraving({ type="engrave", text="X marks the spot." })
|
||||||
|
des.engraving({ type="engrave", text="X marks the spot." })
|
||||||
|
des.engraving({ type="engrave", text="X marks the spot." })
|
||||||
|
des.engraving({ type="engrave", text="X marks the spot." })
|
||||||
|
-- Random traps
|
||||||
|
des.trap("spiked pit",24,02)
|
||||||
|
des.trap("spiked pit",37,00)
|
||||||
|
des.trap("spiked pit",23,05)
|
||||||
|
des.trap("spiked pit",26,19)
|
||||||
|
des.trap("spiked pit",55,10)
|
||||||
|
des.trap("spiked pit",55,08)
|
||||||
|
des.trap("pit",51,01)
|
||||||
|
des.trap("pit",23,18)
|
||||||
|
des.trap("pit",31,18)
|
||||||
|
des.trap("pit",48,19)
|
||||||
|
des.trap("pit",55,15)
|
||||||
|
des.trap("magic",60,04)
|
||||||
|
des.trap("statue",72,07)
|
||||||
|
des.trap("statue")
|
||||||
|
des.trap("statue")
|
||||||
|
des.trap("anti magic",64,12)
|
||||||
|
des.trap("sleep gas")
|
||||||
|
des.trap("sleep gas")
|
||||||
|
des.trap("dart")
|
||||||
|
des.trap("dart")
|
||||||
|
des.trap("dart")
|
||||||
|
des.trap("rolling boulder",32,10)
|
||||||
|
des.trap("rolling boulder",40,16)
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("S")
|
||||||
|
des.monster("M")
|
||||||
|
des.monster("human mummy")
|
||||||
|
des.monster("human mummy")
|
||||||
|
des.monster("human mummy")
|
||||||
|
des.monster("human mummy")
|
||||||
|
des.monster("human mummy")
|
||||||
|
des.monster("human mummy")
|
||||||
|
des.monster("human mummy")
|
||||||
|
des.monster("M")
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
-- NetHack 3.6 Arch.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.10 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- The "start" level for the quest.
|
||||||
|
--
|
||||||
|
-- Here you meet your (besieged) class leader, Lord Carnarvon
|
||||||
|
-- and receive your quest assignment.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "hardfloor")
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
....................}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.................
|
||||||
|
....................}-------------------------------------}.................
|
||||||
|
....................}|..S......+.................+.......|}.................
|
||||||
|
....................}-S---------------+----------|.......|}.................
|
||||||
|
....................}|.|...............|.......+.|.......|}.................
|
||||||
|
....................}|.|...............---------.---------}.................
|
||||||
|
....................}|.S.\.............+.................+..................
|
||||||
|
....................}|.|...............---------.---------}.................
|
||||||
|
....................}|.|...............|.......+.|.......|}.................
|
||||||
|
....................}-S---------------+----------|.......|}.................
|
||||||
|
....................}|..S......+.................+.......|}.................
|
||||||
|
....................}-------------------------------------}.................
|
||||||
|
....................}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.................
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
des.region(selection.area(22,06,23,06), "unlit")
|
||||||
|
des.region(selection.area(25,06,30,06), "unlit")
|
||||||
|
des.region(selection.area(32,06,48,06), "unlit")
|
||||||
|
des.region(selection.area(50,06,56,08), "lit")
|
||||||
|
des.region(selection.area(40,08,46,08), "unlit")
|
||||||
|
des.region(selection.area(22,08,22,12), "unlit")
|
||||||
|
des.region(selection.area(24,08,38,12), "unlit")
|
||||||
|
des.region(selection.area(48,08,48,08), "lit")
|
||||||
|
des.region(selection.area(40,10,56,10), "lit")
|
||||||
|
des.region(selection.area(48,12,48,12), "lit")
|
||||||
|
des.region(selection.area(40,12,46,12), "unlit")
|
||||||
|
des.region(selection.area(50,12,56,14), "lit")
|
||||||
|
des.region(selection.area(22,14,23,14), "unlit")
|
||||||
|
des.region(selection.area(25,14,30,14), "unlit")
|
||||||
|
des.region(selection.area(32,14,48,14), "unlit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("down", 55,07)
|
||||||
|
-- Portal arrival point
|
||||||
|
des.levregion({ region = {63,06,63,06}, type="branch" })
|
||||||
|
-- Doors
|
||||||
|
des.door("closed",22,07)
|
||||||
|
des.door("closed",38,07)
|
||||||
|
des.door("locked",47,08)
|
||||||
|
des.door("locked",23,10)
|
||||||
|
des.door("locked",39,10)
|
||||||
|
des.door("locked",57,10)
|
||||||
|
des.door("locked",47,12)
|
||||||
|
des.door("closed",22,13)
|
||||||
|
des.door("closed",38,13)
|
||||||
|
des.door("locked",24,14)
|
||||||
|
des.door("closed",31,14)
|
||||||
|
des.door("locked",49,14)
|
||||||
|
-- Lord Carnarvon
|
||||||
|
des.monster("Lord Carnarvon", 25, 10)
|
||||||
|
-- The treasure of Lord Carnarvon
|
||||||
|
des.object("chest", 25, 10)
|
||||||
|
-- student guards for the audience chamber
|
||||||
|
des.monster("student", 26, 09)
|
||||||
|
des.monster("student", 27, 09)
|
||||||
|
des.monster("student", 28, 09)
|
||||||
|
des.monster("student", 26, 10)
|
||||||
|
des.monster("student", 28, 10)
|
||||||
|
des.monster("student", 26, 11)
|
||||||
|
des.monster("student", 27, 11)
|
||||||
|
des.monster("student", 28, 11)
|
||||||
|
-- city watch guards in the antechambers
|
||||||
|
des.monster("watchman", 50, 06)
|
||||||
|
des.monster("watchman", 50, 14)
|
||||||
|
-- Eels in the moat
|
||||||
|
des.monster("giant eel", 20, 10)
|
||||||
|
des.monster("giant eel", 45, 04)
|
||||||
|
des.monster("giant eel", 33, 16)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Monsters on siege duty.
|
||||||
|
des.monster("S", 60, 09)
|
||||||
|
des.monster("M", 60, 10)
|
||||||
|
des.monster("S", 60, 11)
|
||||||
|
des.monster("S", 60, 12)
|
||||||
|
des.monster("M", 60, 13)
|
||||||
|
des.monster("S", 61, 10)
|
||||||
|
des.monster("S", 61, 11)
|
||||||
|
des.monster("S", 61, 12)
|
||||||
|
des.monster("S", 30, 03)
|
||||||
|
des.monster("M", 20, 17)
|
||||||
|
des.monster("S", 67, 02)
|
||||||
|
des.monster("S", 10, 19)
|
||||||
-472
@@ -1,472 +0,0 @@
|
|||||||
# NetHack 3.6 Arch.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.10 $
|
|
||||||
# Copyright (c) 1989 by Jean-Christophe Collet
|
|
||||||
# Copyright (c) 1991 by M. Stephenson
|
|
||||||
# NetHack may be freely redistributed. See license for details.
|
|
||||||
#
|
|
||||||
# The "start" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet your (besieged) class leader, Lord Carnarvon
|
|
||||||
# and receive your quest assignment.
|
|
||||||
#
|
|
||||||
MAZE: "Arc-strt",' '
|
|
||||||
FLAGS: noteleport,hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
....................}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.................
|
|
||||||
....................}-------------------------------------}.................
|
|
||||||
....................}|..S......+.................+.......|}.................
|
|
||||||
....................}-S---------------+----------|.......|}.................
|
|
||||||
....................}|.|...............|.......+.|.......|}.................
|
|
||||||
....................}|.|...............---------.---------}.................
|
|
||||||
....................}|.S.\.............+.................+..................
|
|
||||||
....................}|.|...............---------.---------}.................
|
|
||||||
....................}|.|...............|.......+.|.......|}.................
|
|
||||||
....................}-S---------------+----------|.......|}.................
|
|
||||||
....................}|..S......+.................+.......|}.................
|
|
||||||
....................}-------------------------------------}.................
|
|
||||||
....................}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.................
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
REGION: (22,06,23,06),unlit,"ordinary"
|
|
||||||
REGION: (25,06,30,06),unlit,"ordinary"
|
|
||||||
REGION: (32,06,48,06),unlit,"ordinary"
|
|
||||||
REGION: (50,06,56,08),lit,"ordinary"
|
|
||||||
REGION: (40,08,46,08),unlit,"ordinary"
|
|
||||||
REGION: (22,08,22,12),unlit,"ordinary"
|
|
||||||
REGION: (24,08,38,12),unlit,"ordinary"
|
|
||||||
REGION: (48,08,48,08),lit,"ordinary"
|
|
||||||
REGION: (40,10,56,10),lit,"ordinary"
|
|
||||||
REGION: (48,12,48,12),lit,"ordinary"
|
|
||||||
REGION: (40,12,46,12),unlit,"ordinary"
|
|
||||||
REGION: (50,12,56,14),lit,"ordinary"
|
|
||||||
REGION: (22,14,23,14),unlit,"ordinary"
|
|
||||||
REGION: (25,14,30,14),unlit,"ordinary"
|
|
||||||
REGION: (32,14,48,14),unlit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(55,07),down
|
|
||||||
# Portal arrival point
|
|
||||||
BRANCH:(63,06,63,06),(0,0,0,0)
|
|
||||||
# Doors
|
|
||||||
DOOR:closed,(22,07)
|
|
||||||
DOOR:closed,(38,07)
|
|
||||||
DOOR:locked,(47,08)
|
|
||||||
DOOR:locked,(23,10)
|
|
||||||
DOOR:locked,(39,10)
|
|
||||||
DOOR:locked,(57,10)
|
|
||||||
DOOR:locked,(47,12)
|
|
||||||
DOOR:closed,(22,13)
|
|
||||||
DOOR:closed,(38,13)
|
|
||||||
DOOR:locked,(24,14)
|
|
||||||
DOOR:closed,(31,14)
|
|
||||||
DOOR:locked,(49,14)
|
|
||||||
# Lord Carnarvon
|
|
||||||
MONSTER:('@',"Lord Carnarvon"),(25,10)
|
|
||||||
# The treasure of Lord Carnarvon
|
|
||||||
OBJECT:('(',"chest"),(25,10)
|
|
||||||
# student guards for the audience chamber
|
|
||||||
MONSTER:('@',"student"),(26,09)
|
|
||||||
MONSTER:('@',"student"),(27,09)
|
|
||||||
MONSTER:('@',"student"),(28,09)
|
|
||||||
MONSTER:('@',"student"),(26,10)
|
|
||||||
MONSTER:('@',"student"),(28,10)
|
|
||||||
MONSTER:('@',"student"),(26,11)
|
|
||||||
MONSTER:('@',"student"),(27,11)
|
|
||||||
MONSTER:('@',"student"),(28,11)
|
|
||||||
# city watch guards in the antechambers
|
|
||||||
MONSTER:('@',"watchman"),(50,06)
|
|
||||||
MONSTER:('@',"watchman"),(50,14)
|
|
||||||
# Eels in the moat
|
|
||||||
MONSTER:(';',"giant eel"),(20,10)
|
|
||||||
MONSTER:(';',"giant eel"),(45,04)
|
|
||||||
MONSTER:(';',"giant eel"),(33,16)
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Monsters on siege duty.
|
|
||||||
MONSTER: 'S',(60,09)
|
|
||||||
MONSTER: 'M',(60,10)
|
|
||||||
MONSTER: 'S',(60,11)
|
|
||||||
MONSTER: 'S',(60,12)
|
|
||||||
MONSTER: 'M',(60,13)
|
|
||||||
MONSTER: 'S',(61,10)
|
|
||||||
MONSTER: 'S',(61,11)
|
|
||||||
MONSTER: 'S',(61,12)
|
|
||||||
MONSTER: 'S',(30,03)
|
|
||||||
MONSTER: 'M',(20,17)
|
|
||||||
MONSTER: 'S',(67,02)
|
|
||||||
MONSTER: 'S',(10,19)
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "locate" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you have to find the Entrance to the Tomb of the Toltec Kings
|
|
||||||
# to go further towards your assigned quest.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Arc-loca",' '
|
|
||||||
FLAGS: hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
........................-------------------------------.....................
|
|
||||||
........................|....|.S......................|.....................
|
|
||||||
........................|....|.|.|+------------------.|.....................
|
|
||||||
........................|....|.|.|.|.........|......|.|.....................
|
|
||||||
........................|....|.|.|.|.........|......|.|.....................
|
|
||||||
........................|---+-.|.|.|..---....+......|.|.....................
|
|
||||||
........................|....|.|.|.---|.|....|......|.|.....................
|
|
||||||
........................|....S.|.|.+..S.|--S-----S--|.|.....................
|
|
||||||
........................|....|.|.|.---|.|....|......+.|.....................
|
|
||||||
........................|---+-.|.|.|..---....|.------.|.....................
|
|
||||||
........................|....|.|.|.|.........|.|....+.|.....................
|
|
||||||
........................|....|.|.|.|.........|+|....|-|.....................
|
|
||||||
........................|....|.|.|------------+------.S.....................
|
|
||||||
........................|....|.S......................|.....................
|
|
||||||
........................-------------------------------.....................
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
REGION:(25,04,28,07),lit,"temple"
|
|
||||||
REGION:(25,09,28,11),unlit,"temple"
|
|
||||||
REGION:(25,13,28,16),lit,"temple"
|
|
||||||
REGION:(30,04,30,16),lit,"ordinary"
|
|
||||||
REGION:(32,04,32,16),unlit,"ordinary"
|
|
||||||
REGION:(33,04,53,04),unlit,"ordinary",unfilled,irregular
|
|
||||||
REGION:(36,10,37,10),unlit,"ordinary"
|
|
||||||
REGION:(39,09,39,11),unlit,"ordinary"
|
|
||||||
REGION:(36,06,42,08),unlit,"ordinary",unfilled,irregular
|
|
||||||
REGION:(36,12,42,14),unlit,"ordinary",unfilled,irregular
|
|
||||||
REGION:(46,06,51,09),unlit,"ordinary"
|
|
||||||
REGION:(46,11,49,11),unlit,"ordinary",unfilled,irregular
|
|
||||||
REGION:(48,13,51,14),unlit,"ordinary"
|
|
||||||
# Doors
|
|
||||||
DOOR:closed,(31,04)
|
|
||||||
DOOR:closed,(28,08)
|
|
||||||
DOOR:locked,(29,10)
|
|
||||||
DOOR:closed,(28,12)
|
|
||||||
DOOR:closed,(31,16)
|
|
||||||
DOOR:locked,(34,05)
|
|
||||||
DOOR:locked,(35,10)
|
|
||||||
DOOR:locked,(38,10)
|
|
||||||
DOOR:closed,(43,10)
|
|
||||||
DOOR:closed,(45,08)
|
|
||||||
DOOR:locked,(46,14)
|
|
||||||
DOOR:locked,(46,15)
|
|
||||||
DOOR:locked,(49,10)
|
|
||||||
DOOR:locked,(52,11)
|
|
||||||
DOOR:closed,(52,13)
|
|
||||||
DOOR:closed,(54,15)
|
|
||||||
# Stairs
|
|
||||||
STAIR:(03,17),up
|
|
||||||
STAIR:(39,10),down
|
|
||||||
# Altars - three types. All are unattended.
|
|
||||||
ALTAR:(26,05),align[0],altar
|
|
||||||
ALTAR:(26,10),align[1],altar
|
|
||||||
ALTAR:(26,15),align[2],altar
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# Objects
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Treasure?
|
|
||||||
ENGRAVING:random,engrave,"X marks the spot."
|
|
||||||
ENGRAVING:random,engrave,"X marks the spot."
|
|
||||||
ENGRAVING:random,engrave,"X marks the spot."
|
|
||||||
ENGRAVING:random,engrave,"X marks the spot."
|
|
||||||
# Random traps
|
|
||||||
TRAP:"spiked pit",(24,02)
|
|
||||||
TRAP:"spiked pit",(37,00)
|
|
||||||
TRAP:"spiked pit",(23,05)
|
|
||||||
TRAP:"spiked pit",(26,19)
|
|
||||||
TRAP:"spiked pit",(55,10)
|
|
||||||
TRAP:"spiked pit",(55,08)
|
|
||||||
TRAP:"pit",(51,01)
|
|
||||||
TRAP:"pit",(23,18)
|
|
||||||
TRAP:"pit",(31,18)
|
|
||||||
TRAP:"pit",(48,19)
|
|
||||||
TRAP:"pit",(55,15)
|
|
||||||
TRAP:"magic",(60,04)
|
|
||||||
TRAP:"statue",(72,07)
|
|
||||||
TRAP:"statue",random
|
|
||||||
TRAP:"statue",random
|
|
||||||
TRAP:"anti magic",(64,12)
|
|
||||||
TRAP:"sleep gas",random
|
|
||||||
TRAP:"sleep gas",random
|
|
||||||
TRAP:"dart",random
|
|
||||||
TRAP:"dart",random
|
|
||||||
TRAP:"dart",random
|
|
||||||
TRAP:"rolling boulder",(32,10)
|
|
||||||
TRAP:"rolling boulder",(40,16)
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'M',random
|
|
||||||
MONSTER:('M',"human mummy"),random
|
|
||||||
MONSTER:('M',"human mummy"),random
|
|
||||||
MONSTER:('M',"human mummy"),random
|
|
||||||
MONSTER:('M',"human mummy"),random
|
|
||||||
MONSTER:('M',"human mummy"),random
|
|
||||||
MONSTER:('M',"human mummy"),random
|
|
||||||
MONSTER:('M',"human mummy"),random
|
|
||||||
MONSTER:'M',random
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "goal" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet Minion of Huhetotl your nemesis monster. You have to
|
|
||||||
# defeat Minion of Huhetotl in combat to gain the artifact you have
|
|
||||||
# been assigned to retrieve.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Arc-goal", ' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
|
|
||||||
---------
|
|
||||||
|..|.|..|
|
|
||||||
-----------|..S.S..|-----------
|
|
||||||
|.|........|+-|.|-+|........|.|
|
|
||||||
|.S........S..|.|..S........S.|
|
|
||||||
|.|........|..|.|..|........|.|
|
|
||||||
------------------+------------------
|
|
||||||
|..|..........|.......|..........|..|
|
|
||||||
|..|..........+.......|..........S..|
|
|
||||||
|..S..........|.......+..........|..|
|
|
||||||
|..|..........|.......|..........|..|
|
|
||||||
------------------+------------------
|
|
||||||
|.|........|..|.|..|........|.|
|
|
||||||
|.S........S..|.|..S........S.|
|
|
||||||
|.|........|+-|.|-+|........|.|
|
|
||||||
-----------|..S.S..|-----------
|
|
||||||
|..|.|..|
|
|
||||||
---------
|
|
||||||
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
REGION:(35,02,36,03),unlit,"ordinary"
|
|
||||||
REGION:(40,02,41,03),unlit,"ordinary"
|
|
||||||
REGION:(24,04,24,06),unlit,"ordinary"
|
|
||||||
REGION:(26,04,33,06),lit,"ordinary"
|
|
||||||
REGION:(38,02,38,06),unlit,"ordinary"
|
|
||||||
REGION:(43,04,50,06),lit,"ordinary"
|
|
||||||
REGION:(52,04,52,06),unlit,"ordinary"
|
|
||||||
REGION:(35,05,36,06),unlit,"ordinary"
|
|
||||||
REGION:(40,05,41,06),unlit,"ordinary"
|
|
||||||
REGION:(21,08,22,11),unlit,"ordinary"
|
|
||||||
REGION:(24,08,33,11),lit,"ordinary"
|
|
||||||
REGION:(35,08,41,11),unlit,"ordinary"
|
|
||||||
REGION:(43,08,52,11),lit,"ordinary"
|
|
||||||
REGION:(54,08,55,11),unlit,"ordinary"
|
|
||||||
REGION:(24,13,24,15),unlit,"ordinary"
|
|
||||||
REGION:(26,13,33,15),unlit,"ordinary"
|
|
||||||
REGION:(35,13,36,14),unlit,"ordinary"
|
|
||||||
REGION:(35,16,36,17),unlit,"ordinary"
|
|
||||||
REGION:(38,13,38,17),unlit,"ordinary"
|
|
||||||
REGION:(40,13,41,14),unlit,"ordinary"
|
|
||||||
REGION:(40,16,41,17),unlit,"ordinary"
|
|
||||||
REGION:(43,13,50,15),unlit,"temple"
|
|
||||||
REGION:(52,13,52,15),unlit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(38,10),up
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# The altar of Huhetotl. Unattended.
|
|
||||||
ALTAR:(50,14),chaos,altar
|
|
||||||
# Objects
|
|
||||||
OBJECT:('(',"crystal ball"),(50,14),blessed,5,name:"The Orb of Detection"
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:"rolling boulder",(46,14)
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('&',"Minion of Huhetotl"),(50,14)
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:'S',random
|
|
||||||
MONSTER:('M',"human mummy"),random
|
|
||||||
MONSTER:('M',"human mummy"),random
|
|
||||||
MONSTER:('M',"human mummy"),random
|
|
||||||
MONSTER:('M',"human mummy"),random
|
|
||||||
MONSTER:('M',"human mummy"),random
|
|
||||||
MONSTER:('M',"human mummy"),random
|
|
||||||
MONSTER:('M',"human mummy"),random
|
|
||||||
MONSTER:('M',"human mummy"),random
|
|
||||||
MONSTER:'M',random
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "fill" levels for the quest.
|
|
||||||
#
|
|
||||||
# These levels are used to fill out any levels not occupied by specific
|
|
||||||
# levels as defined above. "filla" is the upper filler, between the
|
|
||||||
# start and locate levels, and "fillb" the lower between the locate
|
|
||||||
# and goal levels.
|
|
||||||
#
|
|
||||||
|
|
||||||
LEVEL: "Arc-fila"
|
|
||||||
#
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, up
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'S', random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'S', random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'S', random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, down
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'S', random
|
|
||||||
MONSTER: ('M', "human mummy"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'S', random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'S', random
|
|
||||||
}
|
|
||||||
|
|
||||||
RANDOM_CORRIDORS
|
|
||||||
|
|
||||||
LEVEL: "Arc-filb"
|
|
||||||
#
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, up
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'M', random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'M', random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'M', random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, down
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'S', random
|
|
||||||
MONSTER: ('M', "human mummy"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'S', random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'S', random
|
|
||||||
}
|
|
||||||
|
|
||||||
RANDOM_CORRIDORS
|
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
-- NetHack 3.6 Barb.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg=".", smoothed=true, joined=true, lit=0, walled=false })
|
||||||
|
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
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.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ class = "O", peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", peaceful=0 })
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
-- NetHack 3.6 Barb.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg=" ", smoothed=true, joined=true, lit=0, walled=true })
|
||||||
|
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
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.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ class = "O", peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", peaceful=0 })
|
||||||
|
des.monster({ class = "T", peaceful=0 })
|
||||||
@@ -0,0 +1,95 @@
|
|||||||
|
-- NetHack 3.6 Barb.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
|
||||||
|
.............
|
||||||
|
..................
|
||||||
|
.... ......................... ....
|
||||||
|
....... .......................... .......
|
||||||
|
...... ........................ .......
|
||||||
|
.. ...................................... ..
|
||||||
|
.. ..................... ..
|
||||||
|
.. .................. ..
|
||||||
|
.. ..S...S.............. ................
|
||||||
|
.. ........ ...
|
||||||
|
......... ..
|
||||||
|
...... .. ... ....
|
||||||
|
.. ... .. ...... ........
|
||||||
|
.... .. .................. ........ ......
|
||||||
|
...... ...................... ...... ..
|
||||||
|
.... .................. ...........
|
||||||
|
..............
|
||||||
|
...........
|
||||||
|
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "unlit")
|
||||||
|
-- Secret doors
|
||||||
|
des.door("locked",22,09)
|
||||||
|
des.door("locked",26,09)
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 36,05)
|
||||||
|
-- The altar. Unattended.
|
||||||
|
des.altar({ x=63,y=04,align="noncoaligned", type="altar" })
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- Objects
|
||||||
|
des.object({ id = "luckstone", x=63, y=04,buc="blessed",spe=0,name="The Heart of Ahriman" })
|
||||||
|
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()
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster({ id = "Thoth Amon", x=63, y=04, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ class = "O", peaceful=0 })
|
||||||
|
des.monster({ class = "O", peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", peaceful=0 })
|
||||||
|
des.monster({ class = "T", peaceful=0 })
|
||||||
|
des.wallify()
|
||||||
|
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
-- NetHack 3.6 Barb.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "hardfloor")
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
..........PPP.........................................
|
||||||
|
...........PP.......................................... .......
|
||||||
|
..........PP...........-----..........------------------ ..........
|
||||||
|
...........PP..........+...|..........|....S...........|.. ............
|
||||||
|
..........PPP..........|...|..........|-----...........|... .............
|
||||||
|
...........PPP.........-----..........+....+...........|... .............
|
||||||
|
..........PPPPPPPPP...................+....+...........S.................
|
||||||
|
........PPPPPPPPPPPPP.........-----...|-----...........|................
|
||||||
|
......PPPPPPPPPPPPPP..P.......+...|...|....S...........| ...
|
||||||
|
.....PPPPPPP......P..PPPP.....|...|...------------------.. ...
|
||||||
|
....PPPPPPP.........PPPPPP....-----........................ ........
|
||||||
|
...PPPPPPP..........PPPPPPP.................................. ..........
|
||||||
|
....PPPPPPP........PPPPPPP.................................... ..........
|
||||||
|
.....PPPPP........PPPPPPP.........-----........................ ........
|
||||||
|
......PPP..PPPPPPPPPPPP...........+...|......................... .....
|
||||||
|
..........PPPPPPPPPPP.............|...|......................... ....
|
||||||
|
..........PPPPPPPPP...............-----......................... .
|
||||||
|
..............PPP.................................................
|
||||||
|
...............PP....................................................
|
||||||
|
................PPP...................................................
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
des.region(selection.area(24,03,26,04), "unlit")
|
||||||
|
des.region(selection.area(31,08,33,09), "unlit")
|
||||||
|
des.region(selection.area(35,14,37,15), "unlit")
|
||||||
|
des.region(selection.area(39,03,54,08), "lit")
|
||||||
|
des.region(selection.area(56,00,75,08), "unlit")
|
||||||
|
des.region(selection.area(64,09,75,16), "unlit")
|
||||||
|
-- Doors
|
||||||
|
des.door("open",23,03)
|
||||||
|
des.door("open",30,08)
|
||||||
|
des.door("open",34,14)
|
||||||
|
des.door("locked",38,05)
|
||||||
|
des.door("locked",38,06)
|
||||||
|
des.door("closed",43,03)
|
||||||
|
des.door("closed",43,05)
|
||||||
|
des.door("closed",43,06)
|
||||||
|
des.door("closed",43,08)
|
||||||
|
des.door("locked",55,06)
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 05,02)
|
||||||
|
des.stair("down", 70,13)
|
||||||
|
-- Objects
|
||||||
|
des.object({ x = 42, y = 03 })
|
||||||
|
des.object({ x = 42, y = 03 })
|
||||||
|
des.object({ x = 42, y = 03 })
|
||||||
|
des.object({ x = 41, y = 03 })
|
||||||
|
des.object({ x = 41, y = 03 })
|
||||||
|
des.object({ x = 41, y = 03 })
|
||||||
|
des.object({ x = 41, y = 03 })
|
||||||
|
des.object({ x = 41, y = 08 })
|
||||||
|
des.object({ x = 41, y = 08 })
|
||||||
|
des.object({ x = 42, y = 08 })
|
||||||
|
des.object({ x = 42, y = 08 })
|
||||||
|
des.object({ x = 42, y = 08 })
|
||||||
|
des.object({ x = 71, y = 13 })
|
||||||
|
des.object({ x = 71, y = 13 })
|
||||||
|
des.object({ x = 71, y = 13 })
|
||||||
|
-- Random traps
|
||||||
|
des.trap("spiked pit",10,13)
|
||||||
|
des.trap("spiked pit",21,07)
|
||||||
|
des.trap("spiked pit",67,08)
|
||||||
|
des.trap("spiked pit",68,09)
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster({ id = "ogre", x=12, y=09, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=18, y=11, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=45, y=05, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=45, y=06, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=47, y=05, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=46, y=05, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=56, y=03, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=56, y=04, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=56, y=05, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=56, y=06, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=57, y=03, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=57, y=04, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=57, y=05, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=57, y=06, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", peaceful=0 })
|
||||||
|
des.monster({ class = "O", peaceful=0 })
|
||||||
|
des.monster({ class = "T", peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", x=46, y=06, peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", x=47, y=06, peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", x=56, y=07, peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", x=57, y=07, peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", x=70, y=13, peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", peaceful=0 })
|
||||||
|
des.monster({ id = "rock troll", peaceful=0 })
|
||||||
|
des.monster({ class = "T", peaceful=0 })
|
||||||
|
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
-- NetHack 3.6 Barb.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- The "start" level for the quest.
|
||||||
|
--
|
||||||
|
-- Here you meet your (besieged) class leader, Pelias,
|
||||||
|
-- and receive your quest assignment.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "hardfloor")
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
..................................PP........................................
|
||||||
|
...................................PP.......................................
|
||||||
|
...................................PP.......................................
|
||||||
|
....................................PP......................................
|
||||||
|
........--------------......-----....PPP....................................
|
||||||
|
........|...S........|......+...|...PPP.....................................
|
||||||
|
........|----........|......|...|....PP.....................................
|
||||||
|
........|.\..........+......-----...........................................
|
||||||
|
........|----........|...............PP.....................................
|
||||||
|
........|...S........|...-----.......PPP....................................
|
||||||
|
........--------------...+...|......PPPPP...................................
|
||||||
|
.........................|...|.......PPP....................................
|
||||||
|
...-----......-----......-----........PP....................................
|
||||||
|
...|...+......|...+..--+--.............PP...................................
|
||||||
|
...|...|......|...|..|...|..............PP..................................
|
||||||
|
...-----......-----..|...|.............PPPP.................................
|
||||||
|
.....................-----............PP..PP................................
|
||||||
|
.....................................PP...PP................................
|
||||||
|
....................................PP...PP.................................
|
||||||
|
....................................PP....PP................................
|
||||||
|
]]);
|
||||||
|
|
||||||
|
-- the forest beyond the river
|
||||||
|
des.replace_terrain({ region={37,00, 59,19}, fromterrain=".", toterrain="T", chance=5 })
|
||||||
|
des.replace_terrain({ region={60,00, 64,19}, fromterrain=".", toterrain="T", chance=10 })
|
||||||
|
des.replace_terrain({ region={65,00, 75,19}, fromterrain=".", toterrain="T", chance=20 })
|
||||||
|
-- guarantee a path and free spot for the portal
|
||||||
|
des.terrain(selection.randline(selection.new(), 37,7, 62,02, 7), ".")
|
||||||
|
des.terrain({62,02}, ".")
|
||||||
|
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
des.region(selection.area(09,05,11,05), "unlit")
|
||||||
|
des.region(selection.area(09,07,11,07), "lit")
|
||||||
|
des.region(selection.area(09,09,11,09), "unlit")
|
||||||
|
des.region(selection.area(13,05,20,09), "lit")
|
||||||
|
des.region(selection.area(29,05,31,06), "lit")
|
||||||
|
des.region(selection.area(26,10,28,11), "lit")
|
||||||
|
des.region(selection.area(04,13,06,14), "lit")
|
||||||
|
des.region(selection.area(15,13,17,14), "lit")
|
||||||
|
des.region(selection.area(22,14,24,15), "lit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("down", 09,09)
|
||||||
|
-- Portal arrival point
|
||||||
|
des.levregion({ region = {62,02,62,02}, type="branch" })
|
||||||
|
-- Doors
|
||||||
|
des.door("locked",12,05)
|
||||||
|
des.door("locked",12,09)
|
||||||
|
des.door("closed",21,07)
|
||||||
|
des.door("open",07,13)
|
||||||
|
des.door("open",18,13)
|
||||||
|
des.door("open",23,13)
|
||||||
|
des.door("open",25,10)
|
||||||
|
des.door("open",28,05)
|
||||||
|
-- Elder
|
||||||
|
des.monster("Pelias", 10, 07)
|
||||||
|
-- The treasure of Pelias
|
||||||
|
des.object("chest", 09, 05)
|
||||||
|
-- chieftain guards for the audience chamber
|
||||||
|
des.monster("chieftain", 10, 05)
|
||||||
|
des.monster("chieftain", 10, 09)
|
||||||
|
des.monster("chieftain", 11, 05)
|
||||||
|
des.monster("chieftain", 11, 09)
|
||||||
|
des.monster("chieftain", 14, 05)
|
||||||
|
des.monster("chieftain", 14, 09)
|
||||||
|
des.monster("chieftain", 16, 05)
|
||||||
|
des.monster("chieftain", 16, 09)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- One trap to keep the ogres at bay.
|
||||||
|
des.trap("spiked pit",37,07)
|
||||||
|
-- Eels in the river
|
||||||
|
des.monster("giant eel", 36, 01)
|
||||||
|
des.monster("giant eel", 37, 09)
|
||||||
|
des.monster("giant eel", 39, 15)
|
||||||
|
-- Monsters on siege duty.
|
||||||
|
des.monster({ id = "ogre", x=40, y=08, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=41, y=06, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=41, y=07, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=41, y=08, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=41, y=09, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=41, y=10, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=42, y=06, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=42, y=07, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=42, y=08, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=42, y=09, peaceful=0 })
|
||||||
|
des.monster({ id = "ogre", x=42, y=10, peaceful=0 })
|
||||||
-377
@@ -1,377 +0,0 @@
|
|||||||
# NetHack 3.6 Barb.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
|
||||||
# Copyright (c) 1989 by Jean-Christophe Collet
|
|
||||||
# Copyright (c) 1991 by M. Stephenson
|
|
||||||
# NetHack may be freely redistributed. See license for details.
|
|
||||||
#
|
|
||||||
# The "start" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet your (besieged) class leader, Pelias,
|
|
||||||
# and receive your quest assignment.
|
|
||||||
#
|
|
||||||
MAZE: "Bar-strt",' '
|
|
||||||
FLAGS: noteleport,hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
..................................PP........................................
|
|
||||||
...................................PP.......................................
|
|
||||||
...................................PP.......................................
|
|
||||||
....................................PP......................................
|
|
||||||
........--------------......-----....PPP....................................
|
|
||||||
........|...S........|......+...|...PPP.....................................
|
|
||||||
........|----........|......|...|....PP.....................................
|
|
||||||
........|.\..........+......-----...........................................
|
|
||||||
........|----........|...............PP.....................................
|
|
||||||
........|...S........|...-----.......PPP....................................
|
|
||||||
........--------------...+...|......PPPPP...................................
|
|
||||||
.........................|...|.......PPP....................................
|
|
||||||
...-----......-----......-----........PP....................................
|
|
||||||
...|...+......|...+..--+--.............PP...................................
|
|
||||||
...|...|......|...|..|...|..............PP..................................
|
|
||||||
...-----......-----..|...|.............PPPP.................................
|
|
||||||
.....................-----............PP..PP................................
|
|
||||||
.....................................PP...PP................................
|
|
||||||
....................................PP...PP.................................
|
|
||||||
....................................PP....PP................................
|
|
||||||
ENDMAP
|
|
||||||
|
|
||||||
# the forest beyond the river
|
|
||||||
REPLACE_TERRAIN:(37,0,59,19),'.','T', 5%
|
|
||||||
REPLACE_TERRAIN:(60,0,64,19),'.','T', 10%
|
|
||||||
REPLACE_TERRAIN:(65,0,75,19),'.','T', 20%
|
|
||||||
# guarantee a path and free spot for the portal
|
|
||||||
TERRAIN:(randline (37,7),(62,02),7), '.'
|
|
||||||
TERRAIN:(62,02),'.'
|
|
||||||
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
REGION:(09,05,11,05),unlit,"ordinary"
|
|
||||||
REGION:(09,07,11,07),lit,"ordinary"
|
|
||||||
REGION:(09,09,11,09),unlit,"ordinary"
|
|
||||||
REGION:(13,05,20,09),lit,"ordinary"
|
|
||||||
REGION:(29,05,31,06),lit,"ordinary"
|
|
||||||
REGION:(26,10,28,11),lit,"ordinary"
|
|
||||||
REGION:(04,13,06,14),lit,"ordinary"
|
|
||||||
REGION:(15,13,17,14),lit,"ordinary"
|
|
||||||
REGION:(22,14,24,15),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(09,09),down
|
|
||||||
# Portal arrival point
|
|
||||||
BRANCH:(62,02,62,02),(0,0,0,0)
|
|
||||||
# Doors
|
|
||||||
DOOR:locked,(12,05)
|
|
||||||
DOOR:locked,(12,09)
|
|
||||||
DOOR:closed,(21,07)
|
|
||||||
DOOR:open,(07,13)
|
|
||||||
DOOR:open,(18,13)
|
|
||||||
DOOR:open,(23,13)
|
|
||||||
DOOR:open,(25,10)
|
|
||||||
DOOR:open,(28,05)
|
|
||||||
# Elder
|
|
||||||
MONSTER:('@',"Pelias"),(10,07)
|
|
||||||
# The treasure of Pelias
|
|
||||||
OBJECT:('(',"chest"),(09,05)
|
|
||||||
# chieftain guards for the audience chamber
|
|
||||||
MONSTER:('@',"chieftain"),(10,05)
|
|
||||||
MONSTER:('@',"chieftain"),(10,09)
|
|
||||||
MONSTER:('@',"chieftain"),(11,05)
|
|
||||||
MONSTER:('@',"chieftain"),(11,09)
|
|
||||||
MONSTER:('@',"chieftain"),(14,05)
|
|
||||||
MONSTER:('@',"chieftain"),(14,09)
|
|
||||||
MONSTER:('@',"chieftain"),(16,05)
|
|
||||||
MONSTER:('@',"chieftain"),(16,09)
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# One trap to keep the ogres at bay.
|
|
||||||
TRAP:"spiked pit",(37,07)
|
|
||||||
# Eels in the river
|
|
||||||
MONSTER:(';',"giant eel"),(36,01)
|
|
||||||
MONSTER:(';',"giant eel"),(37,09)
|
|
||||||
MONSTER:(';',"giant eel"),(39,15)
|
|
||||||
# Monsters on siege duty.
|
|
||||||
MONSTER:('O',"ogre"),(40,08),hostile
|
|
||||||
MONSTER:('O',"ogre"),(41,06),hostile
|
|
||||||
MONSTER:('O',"ogre"),(41,07),hostile
|
|
||||||
MONSTER:('O',"ogre"),(41,08),hostile
|
|
||||||
MONSTER:('O',"ogre"),(41,09),hostile
|
|
||||||
MONSTER:('O',"ogre"),(41,10),hostile
|
|
||||||
MONSTER:('O',"ogre"),(42,06),hostile
|
|
||||||
MONSTER:('O',"ogre"),(42,07),hostile
|
|
||||||
MONSTER:('O',"ogre"),(42,08),hostile
|
|
||||||
MONSTER:('O',"ogre"),(42,09),hostile
|
|
||||||
MONSTER:('O',"ogre"),(42,10),hostile
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "locate" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you have to infiltrate the Duali Oasis to go
|
|
||||||
# further towards your assigned quest.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Bar-loca",' '
|
|
||||||
FLAGS: hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
..........PPP.........................................
|
|
||||||
...........PP.......................................... .......
|
|
||||||
..........PP...........-----..........------------------ ..........
|
|
||||||
...........PP..........+...|..........|....S...........|.. ............
|
|
||||||
..........PPP..........|...|..........|-----...........|... .............
|
|
||||||
...........PPP.........-----..........+....+...........|... .............
|
|
||||||
..........PPPPPPPPP...................+....+...........S.................
|
|
||||||
........PPPPPPPPPPPPP.........-----...|-----...........|................
|
|
||||||
......PPPPPPPPPPPPPP..P.......+...|...|....S...........| ...
|
|
||||||
.....PPPPPPP......P..PPPP.....|...|...------------------.. ...
|
|
||||||
....PPPPPPP.........PPPPPP....-----........................ ........
|
|
||||||
...PPPPPPP..........PPPPPPP.................................. ..........
|
|
||||||
....PPPPPPP........PPPPPPP.................................... ..........
|
|
||||||
.....PPPPP........PPPPPPP.........-----........................ ........
|
|
||||||
......PPP..PPPPPPPPPPPP...........+...|......................... .....
|
|
||||||
..........PPPPPPPPPPP.............|...|......................... ....
|
|
||||||
..........PPPPPPPPP...............-----......................... .
|
|
||||||
..............PPP.................................................
|
|
||||||
...............PP....................................................
|
|
||||||
................PPP...................................................
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
REGION:(24,03,26,04),unlit,"ordinary"
|
|
||||||
REGION:(31,08,33,09),unlit,"ordinary"
|
|
||||||
REGION:(35,14,37,15),unlit,"ordinary"
|
|
||||||
REGION:(39,03,54,08),lit,"ordinary"
|
|
||||||
REGION:(56,00,75,08),unlit,"ordinary"
|
|
||||||
REGION:(64,09,75,16),unlit,"ordinary"
|
|
||||||
# Doors
|
|
||||||
DOOR:open,(23,03)
|
|
||||||
DOOR:open,(30,08)
|
|
||||||
DOOR:open,(34,14)
|
|
||||||
DOOR:locked,(38,05)
|
|
||||||
DOOR:locked,(38,06)
|
|
||||||
DOOR:closed,(43,03)
|
|
||||||
DOOR:closed,(43,05)
|
|
||||||
DOOR:closed,(43,06)
|
|
||||||
DOOR:closed,(43,08)
|
|
||||||
DOOR:locked,(55,06)
|
|
||||||
# Stairs
|
|
||||||
STAIR:(05,02),up
|
|
||||||
STAIR:(70,13),down
|
|
||||||
# Objects
|
|
||||||
OBJECT:random,(42,03)
|
|
||||||
OBJECT:random,(42,03)
|
|
||||||
OBJECT:random,(42,03)
|
|
||||||
OBJECT:random,(41,03)
|
|
||||||
OBJECT:random,(41,03)
|
|
||||||
OBJECT:random,(41,03)
|
|
||||||
OBJECT:random,(41,03)
|
|
||||||
OBJECT:random,(41,08)
|
|
||||||
OBJECT:random,(41,08)
|
|
||||||
OBJECT:random,(42,08)
|
|
||||||
OBJECT:random,(42,08)
|
|
||||||
OBJECT:random,(42,08)
|
|
||||||
OBJECT:random,(71,13)
|
|
||||||
OBJECT:random,(71,13)
|
|
||||||
OBJECT:random,(71,13)
|
|
||||||
# Random traps
|
|
||||||
TRAP:"spiked pit",(10,13)
|
|
||||||
TRAP:"spiked pit",(21,07)
|
|
||||||
TRAP:"spiked pit",(67,08)
|
|
||||||
TRAP:"spiked pit",(68,09)
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('O',"ogre"),(12,09),hostile
|
|
||||||
MONSTER:('O',"ogre"),(18,11),hostile
|
|
||||||
MONSTER:('O',"ogre"),(45,05),hostile
|
|
||||||
MONSTER:('O',"ogre"),(45,06),hostile
|
|
||||||
MONSTER:('O',"ogre"),(47,05),hostile
|
|
||||||
MONSTER:('O',"ogre"),(46,05),hostile
|
|
||||||
MONSTER:('O',"ogre"),(56,03),hostile
|
|
||||||
MONSTER:('O',"ogre"),(56,04),hostile
|
|
||||||
MONSTER:('O',"ogre"),(56,05),hostile
|
|
||||||
MONSTER:('O',"ogre"),(56,06),hostile
|
|
||||||
MONSTER:('O',"ogre"),(57,03),hostile
|
|
||||||
MONSTER:('O',"ogre"),(57,04),hostile
|
|
||||||
MONSTER:('O',"ogre"),(57,05),hostile
|
|
||||||
MONSTER:('O',"ogre"),(57,06),hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:'O',random,hostile
|
|
||||||
MONSTER:'T',random,hostile
|
|
||||||
MONSTER:('T',"rock troll"),(46,06),hostile
|
|
||||||
MONSTER:('T',"rock troll"),(47,06),hostile
|
|
||||||
MONSTER:('T',"rock troll"),(56,07),hostile
|
|
||||||
MONSTER:('T',"rock troll"),(57,07),hostile
|
|
||||||
MONSTER:('T',"rock troll"),(70,13),hostile
|
|
||||||
MONSTER:('T',"rock troll"),random,hostile
|
|
||||||
MONSTER:('T',"rock troll"),random,hostile
|
|
||||||
MONSTER:'T',random,hostile
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "goal" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet Thoth Amon, your nemesis monster. You have to
|
|
||||||
# defeat Thoth Amon in combat to gain the artifact you have
|
|
||||||
# been assigned to retrieve.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Bar-goal", ' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
|
|
||||||
.............
|
|
||||||
..................
|
|
||||||
.... ......................... ....
|
|
||||||
....... .......................... .......
|
|
||||||
...... ........................ .......
|
|
||||||
.. ...................................... ..
|
|
||||||
.. ..................... ..
|
|
||||||
.. .................. ..
|
|
||||||
.. ..S...S.............. ................
|
|
||||||
.. ........ ...
|
|
||||||
......... ..
|
|
||||||
...... .. ... ....
|
|
||||||
.. ... .. ...... ........
|
|
||||||
.... .. .................. ........ ......
|
|
||||||
...... ...................... ...... ..
|
|
||||||
.... .................. ...........
|
|
||||||
..............
|
|
||||||
...........
|
|
||||||
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),unlit,"ordinary"
|
|
||||||
# Secret doors
|
|
||||||
DOOR:locked,(22,09)
|
|
||||||
DOOR:locked,(26,09)
|
|
||||||
# Stairs
|
|
||||||
STAIR:(36,05),up
|
|
||||||
# The altar. Unattended.
|
|
||||||
ALTAR:(63,04),noncoaligned,altar
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# Objects
|
|
||||||
OBJECT:('*',"luckstone"),(63,04),blessed,0,name:"The Heart of Ahriman"
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('@',"Thoth Amon"),(63,04),hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:('O',"ogre"),random,hostile
|
|
||||||
MONSTER:'O',random,hostile
|
|
||||||
MONSTER:'O',random,hostile
|
|
||||||
MONSTER:('T',"rock troll"),random,hostile
|
|
||||||
MONSTER:('T',"rock troll"),random,hostile
|
|
||||||
MONSTER:('T',"rock troll"),random,hostile
|
|
||||||
MONSTER:('T',"rock troll"),random,hostile
|
|
||||||
MONSTER:('T',"rock troll"),random,hostile
|
|
||||||
MONSTER:('T',"rock troll"),random,hostile
|
|
||||||
MONSTER:('T',"rock troll"),random,hostile
|
|
||||||
MONSTER:('T',"rock troll"),random,hostile
|
|
||||||
MONSTER:'T',random,hostile
|
|
||||||
WALLIFY
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "fill" levels for the quest.
|
|
||||||
#
|
|
||||||
# These levels are used to fill out any levels not occupied by specific
|
|
||||||
# levels as defined above. "filla" is the upper filler, between the
|
|
||||||
# start and locate levels, and "fillb" the lower between the locate
|
|
||||||
# and goal levels.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Bar-fila" , ' '
|
|
||||||
INIT_MAP: mines, '.' , '.' , true , true , unlit , false
|
|
||||||
NOMAP
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
#
|
|
||||||
MONSTER: ('O', "ogre"), random, hostile
|
|
||||||
MONSTER: ('O', "ogre"), random, hostile
|
|
||||||
MONSTER: 'O', random, hostile
|
|
||||||
MONSTER: ('T', "rock troll"), random, hostile
|
|
||||||
|
|
||||||
MAZE: "Bar-filb" , ' '
|
|
||||||
INIT_MAP: mines, '.' , ' ' , true , true , unlit , true
|
|
||||||
NOMAP
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
#
|
|
||||||
MONSTER: ('O', "ogre"), random, hostile
|
|
||||||
MONSTER: ('O', "ogre"), random, hostile
|
|
||||||
MONSTER: ('O', "ogre"), random, hostile
|
|
||||||
MONSTER: ('O', "ogre"), random, hostile
|
|
||||||
MONSTER: ('O', "ogre"), random, hostile
|
|
||||||
MONSTER: ('O', "ogre"), random, hostile
|
|
||||||
MONSTER: ('O', "ogre"), random, hostile
|
|
||||||
MONSTER: 'O' , random, hostile
|
|
||||||
MONSTER: ('T', "rock troll"), random, hostile
|
|
||||||
MONSTER: ('T', "rock troll"), random, hostile
|
|
||||||
MONSTER: ('T', "rock troll"), random, hostile
|
|
||||||
MONSTER: 'T' , random, hostile
|
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
-- NetHack 3.6 Caveman.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.level_init({ style = "mines", fg = ".", bg = " ", smoothed=true, joined=true, walled=true })
|
||||||
|
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
--
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
--
|
||||||
|
des.monster({ id = "bugbear", peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", peaceful=0 })
|
||||||
|
des.monster({ class = "h", peaceful=0 })
|
||||||
|
des.monster({ id = "hill giant", peaceful=0 })
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
-- NetHack 3.6 Caveman.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.level_init({ style = "mines", fg = ".", bg = " ", smoothed=true, joined=true, walled=true })
|
||||||
|
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
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.monster({ id = "bugbear", peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", peaceful=0 })
|
||||||
|
des.monster({ class = "h", peaceful=0 })
|
||||||
|
des.monster({ class = "h", peaceful=0 })
|
||||||
|
des.monster({ id = "hill giant", peaceful=0 })
|
||||||
|
des.monster({ id = "hill giant", peaceful=0 })
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
-- NetHack 3.6 Caveman.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
|
||||||
|
.....................
|
||||||
|
.......................
|
||||||
|
.........................
|
||||||
|
...........................
|
||||||
|
.............................
|
||||||
|
...............................
|
||||||
|
.................................
|
||||||
|
...................................
|
||||||
|
.....................................
|
||||||
|
.......................................
|
||||||
|
.....................................
|
||||||
|
...................................
|
||||||
|
.................................
|
||||||
|
...............................
|
||||||
|
.............................
|
||||||
|
...........................
|
||||||
|
.........................
|
||||||
|
.......................
|
||||||
|
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up")
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- Objects
|
||||||
|
des.object({ id = "mace", x=23, y=10, buc="blessed", spe=0, name="The Sceptre of Might" })
|
||||||
|
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()
|
||||||
|
-- monsters.
|
||||||
|
des.monster({ id = "Chromatic Dragon", x=23, y=10, asleep=1 })
|
||||||
|
des.monster("shrieker", 26, 13)
|
||||||
|
des.monster("shrieker", 25, 8)
|
||||||
|
des.monster("shrieker", 45, 11)
|
||||||
|
des.wallify()
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
-- NetHack 3.6 Caveman.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "hardfloor")
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
|
||||||
|
............. ...........
|
||||||
|
............... .............
|
||||||
|
............. ............... ..........
|
||||||
|
........... ............. ...............
|
||||||
|
... ... ..................
|
||||||
|
... .......... ... ..................
|
||||||
|
... ............ BBB...................
|
||||||
|
... .......... ......................
|
||||||
|
..... .. .....B........................
|
||||||
|
.... ............... . ........B..........................
|
||||||
|
...... .. .............S.............. ..................
|
||||||
|
.... .. ........... ...............
|
||||||
|
.. ... ....................
|
||||||
|
.... BB...................
|
||||||
|
.. .. .. ...............
|
||||||
|
.. ....... .... ..... .... .. ....... S
|
||||||
|
............ ....... .. ....... ..... ... ....
|
||||||
|
....... ..... ...... .......
|
||||||
|
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "unlit")
|
||||||
|
des.region({ region={52,06, 73,15}, lit=1, type="ordinary", prefilled=0, irregular=1 })
|
||||||
|
-- Doors
|
||||||
|
des.door("locked",28,11)
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 04,03)
|
||||||
|
des.stair("down", 73,10)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- 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()
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster({ id = "bugbear", x=02, y=10, peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", x=03, y=11, peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", x=04, y=12, peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", x=02, y=11, peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", x=16, y=16, peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", x=17, y=17, peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", x=18, y=18, peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", x=19, y=16, peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", x=30, y=06, peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", x=31, y=07, peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", x=32, y=08, peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", x=33, y=06, peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", x=34, y=07, peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", peaceful=0 })
|
||||||
|
des.monster({ id = "bugbear", peaceful=0 })
|
||||||
|
des.monster({ class = "h", peaceful=0 })
|
||||||
|
des.monster({ class = "H", peaceful=0 })
|
||||||
|
des.monster({ id = "hill giant", x=03, y=12, peaceful=0 })
|
||||||
|
des.monster({ id = "hill giant", x=20, y=17, peaceful=0 })
|
||||||
|
des.monster({ id = "hill giant", x=35, y=08, peaceful=0 })
|
||||||
|
des.monster({ id = "hill giant", peaceful=0 })
|
||||||
|
des.monster({ id = "hill giant", peaceful=0 })
|
||||||
|
des.monster({ id = "hill giant", peaceful=0 })
|
||||||
|
des.monster({ id = "hill giant", peaceful=0 })
|
||||||
|
des.monster({ class = "H", peaceful=0 })
|
||||||
|
des.wallify()
|
||||||
|
|
||||||
|
--
|
||||||
|
-- The "goal" level for the quest.
|
||||||
|
--
|
||||||
|
-- Here you meet Tiamat your nemesis monster. You have to
|
||||||
|
-- defeat Tiamat in combat to gain the artifact you have
|
||||||
|
-- been assigned to retrieve.
|
||||||
|
--
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
-- NetHack 3.6 Caveman.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- The "start" level for the quest.
|
||||||
|
--
|
||||||
|
-- Here you meet your (besieged) class leader, Shaman Karnov
|
||||||
|
-- and receive your quest assignment.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "hardfloor")
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
|
||||||
|
...... .......................... ... .... ......
|
||||||
|
...... .......................... ........ .... .....
|
||||||
|
..BB ............................. ......... .... ..
|
||||||
|
.. ...................... ....... .. .... ..
|
||||||
|
.. .................... .. ....... .. ...
|
||||||
|
.. S BB ..... ....... .... ....
|
||||||
|
.. ... . .. ........ .. .. .. ...
|
||||||
|
.. ...... .. ............ .. ...
|
||||||
|
. .... .. ........ .. ...........
|
||||||
|
... .. .. ............. ...................
|
||||||
|
..... ..... ............................... ...........
|
||||||
|
.....B................ ... ...
|
||||||
|
..... . .......... .... . ... .......... ...
|
||||||
|
... .. ............. .. ................... ....
|
||||||
|
BB .. ......... BB ... .......... .. ... ...
|
||||||
|
...... ..... B ........ .. .. .... ...
|
||||||
|
.......... .......... ..... ... ..... ........
|
||||||
|
.. ... . ..... .... .. ... ..
|
||||||
|
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "unlit")
|
||||||
|
des.region({ region={13,01, 40,05}, lit=1, type="temple", prefilled=0, irregular=1 })
|
||||||
|
-- The occupied rooms.
|
||||||
|
des.region({ region={02,01, 08,03}, lit=1, type="ordinary", prefilled=0, irregular=1 })
|
||||||
|
des.region({ region={01,11, 06,14}, lit=1, type="ordinary", prefilled=0, irregular=1 })
|
||||||
|
des.region({ region={13,08, 18,10}, lit=1, type="ordinary", prefilled=0, irregular=1 })
|
||||||
|
des.region({ region={05,17, 14,18}, lit=1, type="ordinary", prefilled=0, irregular=1 })
|
||||||
|
des.region({ region={17,16, 23,18}, lit=1, type="ordinary", prefilled=0, irregular=1 })
|
||||||
|
des.region({ region={35,16, 44,18}, lit=1, type="ordinary", prefilled=0, irregular=1 })
|
||||||
|
-- Stairs
|
||||||
|
des.stair("down", 02,03)
|
||||||
|
-- Portal arrival point
|
||||||
|
des.levregion({ region = {71,09,71,09}, type="branch" })
|
||||||
|
-- Doors
|
||||||
|
des.door("locked",19,06)
|
||||||
|
-- The temple altar (this will force a priest(ess) to be created)
|
||||||
|
des.altar({ x=36,y=02, align="coaligned", type="shrine" })
|
||||||
|
-- Shaman Karnov
|
||||||
|
des.monster("Shaman Karnov", 35, 02)
|
||||||
|
-- The treasure of Shaman Karnov
|
||||||
|
des.object("chest", 34, 02)
|
||||||
|
-- neanderthal guards for the audience chamber
|
||||||
|
des.monster("neanderthal", 20, 03)
|
||||||
|
des.monster("neanderthal", 20, 02)
|
||||||
|
des.monster("neanderthal", 20, 01)
|
||||||
|
des.monster("neanderthal", 21, 03)
|
||||||
|
des.monster("neanderthal", 21, 02)
|
||||||
|
des.monster("neanderthal", 21, 01)
|
||||||
|
des.monster("neanderthal", 22, 01)
|
||||||
|
des.monster("neanderthal", 26, 09)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- Random traps
|
||||||
|
des.trap("pit",47,11)
|
||||||
|
des.trap("pit",57,10)
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Monsters on siege duty (in the outer caves).
|
||||||
|
des.monster({ id ="bugbear", x=47, y=02, peaceful=0 })
|
||||||
|
des.monster({ id ="bugbear", x=48, y=03, peaceful=0 })
|
||||||
|
des.monster({ id ="bugbear", x=49, y=04, peaceful=0 })
|
||||||
|
des.monster({ id ="bugbear", x=67, y=03, peaceful=0 })
|
||||||
|
des.monster({ id ="bugbear", x=69, y=04, peaceful=0 })
|
||||||
|
des.monster({ id ="bugbear", x=51, y=13, peaceful=0 })
|
||||||
|
des.monster({ id ="bugbear", x=53, y=14, peaceful=0 })
|
||||||
|
des.monster({ id ="bugbear", x=55, y=15, peaceful=0 })
|
||||||
|
des.monster({ id ="bugbear", x=63, y=10, peaceful=0 })
|
||||||
|
des.monster({ id ="bugbear", x=65, y=09, peaceful=0 })
|
||||||
|
des.monster({ id ="bugbear", x=67, y=10, peaceful=0 })
|
||||||
|
des.monster({ id ="bugbear", x=69, y=11, peaceful=0 })
|
||||||
|
des.wallify()
|
||||||
-316
@@ -1,316 +0,0 @@
|
|||||||
# NetHack 3.6 Caveman.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $
|
|
||||||
# Copyright (c) 1989 by Jean-Christophe Collet
|
|
||||||
# Copyright (c) 1991 by M. Stephenson
|
|
||||||
# NetHack may be freely redistributed. See license for details.
|
|
||||||
#
|
|
||||||
# The "start" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet your (besieged) class leader, Shaman Karnov
|
|
||||||
# and receive your quest assignment.
|
|
||||||
#
|
|
||||||
MAZE: "Cav-strt",' '
|
|
||||||
FLAGS: noteleport,hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
|
|
||||||
...... .......................... ... .... ......
|
|
||||||
...... .......................... ........ .... .....
|
|
||||||
..BB ............................. ......... .... ..
|
|
||||||
.. ...................... ....... .. .... ..
|
|
||||||
.. .................... .. ....... .. ...
|
|
||||||
.. S BB ..... ....... .... ....
|
|
||||||
.. ... . .. ........ .. .. .. ...
|
|
||||||
.. ...... .. ............ .. ...
|
|
||||||
. .... .. ........ .. ...........
|
|
||||||
... .. .. ............. ...................
|
|
||||||
..... ..... ............................... ...........
|
|
||||||
.....B................ ... ...
|
|
||||||
..... . .......... .... . ... .......... ...
|
|
||||||
... .. ............. .. ................... ....
|
|
||||||
BB .. ......... BB ... .......... .. ... ...
|
|
||||||
...... ..... B ........ .. .. .... ...
|
|
||||||
.......... .......... ..... ... ..... ........
|
|
||||||
.. ... . ..... .... .. ... ..
|
|
||||||
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),unlit,"ordinary"
|
|
||||||
REGION:(13,01,40,05),lit,"temple",unfilled,irregular
|
|
||||||
# The occupied rooms.
|
|
||||||
REGION:(02,01,08,03),lit,"ordinary",unfilled,irregular
|
|
||||||
REGION:(01,11,06,14),lit,"ordinary",unfilled,irregular
|
|
||||||
REGION:(13,08,18,10),lit,"ordinary",unfilled,irregular
|
|
||||||
REGION:(05,17,14,18),lit,"ordinary",unfilled,irregular
|
|
||||||
REGION:(17,16,23,18),lit,"ordinary",unfilled,irregular
|
|
||||||
REGION:(35,16,44,18),lit,"ordinary",unfilled,irregular
|
|
||||||
# Stairs
|
|
||||||
STAIR:(02,03),down
|
|
||||||
# Portal arrival point
|
|
||||||
BRANCH:(71,09,71,09),(0,0,0,0)
|
|
||||||
# Doors
|
|
||||||
DOOR:locked,(19,06)
|
|
||||||
# The temple altar (this will force a priest(ess) to be created)
|
|
||||||
ALTAR:(36,02),coaligned,shrine
|
|
||||||
# Shaman Karnov
|
|
||||||
MONSTER:('@',"Shaman Karnov"),(35,02)
|
|
||||||
# The treasure of Shaman Karnov
|
|
||||||
OBJECT:('(',"chest"),(34,02)
|
|
||||||
# neanderthal guards for the audience chamber
|
|
||||||
MONSTER:('@',"neanderthal"),(20,03)
|
|
||||||
MONSTER:('@',"neanderthal"),(20,02)
|
|
||||||
MONSTER:('@',"neanderthal"),(20,01)
|
|
||||||
MONSTER:('@',"neanderthal"),(21,03)
|
|
||||||
MONSTER:('@',"neanderthal"),(21,02)
|
|
||||||
MONSTER:('@',"neanderthal"),(21,01)
|
|
||||||
MONSTER:('@',"neanderthal"),(22,01)
|
|
||||||
MONSTER:('@',"neanderthal"),(26,09)
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# Random traps
|
|
||||||
TRAP:"pit",(47,11)
|
|
||||||
TRAP:"pit",(57,10)
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Monsters on siege duty (in the outer caves).
|
|
||||||
MONSTER: ('h',"bugbear"),(47,02),hostile
|
|
||||||
MONSTER: ('h',"bugbear"),(48,03),hostile
|
|
||||||
MONSTER: ('h',"bugbear"),(49,04),hostile
|
|
||||||
MONSTER: ('h',"bugbear"),(67,03),hostile
|
|
||||||
MONSTER: ('h',"bugbear"),(69,04),hostile
|
|
||||||
MONSTER: ('h',"bugbear"),(51,13),hostile
|
|
||||||
MONSTER: ('h',"bugbear"),(53,14),hostile
|
|
||||||
MONSTER: ('h',"bugbear"),(55,15),hostile
|
|
||||||
MONSTER: ('h',"bugbear"),(63,10),hostile
|
|
||||||
MONSTER: ('h',"bugbear"),(65,09),hostile
|
|
||||||
MONSTER: ('h',"bugbear"),(67,10),hostile
|
|
||||||
MONSTER: ('h',"bugbear"),(69,11),hostile
|
|
||||||
WALLIFY
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "locate" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you have to find the lair of Tiamat to go
|
|
||||||
# further towards your assigned quest.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Cav-loca",' '
|
|
||||||
FLAGS: hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
|
|
||||||
............. ...........
|
|
||||||
............... .............
|
|
||||||
............. ............... ..........
|
|
||||||
........... ............. ...............
|
|
||||||
... ... ..................
|
|
||||||
... .......... ... ..................
|
|
||||||
... ............ BBB...................
|
|
||||||
... .......... ......................
|
|
||||||
..... .. .....B........................
|
|
||||||
.... ............... . ........B..........................
|
|
||||||
...... .. .............S.............. ..................
|
|
||||||
.... .. ........... ...............
|
|
||||||
.. ... ....................
|
|
||||||
.... BB...................
|
|
||||||
.. .. .. ...............
|
|
||||||
.. ....... .... ..... .... .. ....... S
|
|
||||||
............ ....... .. ....... ..... ... ....
|
|
||||||
....... ..... ...... .......
|
|
||||||
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),unlit,"ordinary"
|
|
||||||
REGION:(52,06,73,15),lit,"ordinary",unfilled,irregular
|
|
||||||
# Doors
|
|
||||||
DOOR:locked,(28,11)
|
|
||||||
# Stairs
|
|
||||||
STAIR:(04,03),up
|
|
||||||
STAIR:(73,10),down
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# Objects
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('h',"bugbear"),(02,10),hostile
|
|
||||||
MONSTER:('h',"bugbear"),(03,11),hostile
|
|
||||||
MONSTER:('h',"bugbear"),(04,12),hostile
|
|
||||||
MONSTER:('h',"bugbear"),(02,11),hostile
|
|
||||||
MONSTER:('h',"bugbear"),(16,16),hostile
|
|
||||||
MONSTER:('h',"bugbear"),(17,17),hostile
|
|
||||||
MONSTER:('h',"bugbear"),(18,18),hostile
|
|
||||||
MONSTER:('h',"bugbear"),(19,16),hostile
|
|
||||||
MONSTER:('h',"bugbear"),(30,06),hostile
|
|
||||||
MONSTER:('h',"bugbear"),(31,07),hostile
|
|
||||||
MONSTER:('h',"bugbear"),(32,08),hostile
|
|
||||||
MONSTER:('h',"bugbear"),(33,06),hostile
|
|
||||||
MONSTER:('h',"bugbear"),(34,07),hostile
|
|
||||||
MONSTER:('h',"bugbear"),random,hostile
|
|
||||||
MONSTER:('h',"bugbear"),random,hostile
|
|
||||||
MONSTER:('h',"bugbear"),random,hostile
|
|
||||||
MONSTER:('h',"bugbear"),random,hostile
|
|
||||||
MONSTER:'h',random,hostile
|
|
||||||
MONSTER:'H',random,hostile
|
|
||||||
MONSTER:('H',"hill giant"),(03,12),hostile
|
|
||||||
MONSTER:('H',"hill giant"),(20,17),hostile
|
|
||||||
MONSTER:('H',"hill giant"),(35,08),hostile
|
|
||||||
MONSTER:('H',"hill giant"),random,hostile
|
|
||||||
MONSTER:('H',"hill giant"),random,hostile
|
|
||||||
MONSTER:('H',"hill giant"),random,hostile
|
|
||||||
MONSTER:('H',"hill giant"),random,hostile
|
|
||||||
MONSTER:'H',random,hostile
|
|
||||||
WALLIFY
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "goal" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet Tiamat your nemesis monster. You have to
|
|
||||||
# defeat Tiamat in combat to gain the artifact you have
|
|
||||||
# been assigned to retrieve.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Cav-goal", ' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
|
|
||||||
.....................
|
|
||||||
.......................
|
|
||||||
.........................
|
|
||||||
...........................
|
|
||||||
.............................
|
|
||||||
...............................
|
|
||||||
.................................
|
|
||||||
...................................
|
|
||||||
.....................................
|
|
||||||
.......................................
|
|
||||||
.....................................
|
|
||||||
...................................
|
|
||||||
.................................
|
|
||||||
...............................
|
|
||||||
.............................
|
|
||||||
...........................
|
|
||||||
.........................
|
|
||||||
.......................
|
|
||||||
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:random,up
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# Objects
|
|
||||||
OBJECT:(')',"mace"),(23,10),blessed,0,name:"The Sceptre of Might"
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# monsters.
|
|
||||||
MONSTER:('D',"Chromatic Dragon"),(23,10),asleep
|
|
||||||
MONSTER:('F',"shrieker"),(26,13)
|
|
||||||
MONSTER:('F',"shrieker"),(25,8)
|
|
||||||
MONSTER:('F',"shrieker"),(45,11)
|
|
||||||
WALLIFY
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "fill" levels for the quest.
|
|
||||||
#
|
|
||||||
# These levels are used to fill out any levels not occupied by specific
|
|
||||||
# levels as defined above. "filla" is the upper filler, between the
|
|
||||||
# start and locate levels, and "fillb" the lower between the locate
|
|
||||||
# and goal levels.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Cav-fila" , ' '
|
|
||||||
INIT_MAP: mines, '.' , ' ' , true , true , random , true
|
|
||||||
NOMAP
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
#
|
|
||||||
MONSTER: ('h', "bugbear"), random, hostile
|
|
||||||
MONSTER: ('h', "bugbear"), random, hostile
|
|
||||||
MONSTER: ('h', "bugbear"), random, hostile
|
|
||||||
MONSTER: ('h', "bugbear"), random, hostile
|
|
||||||
MONSTER: ('h', "bugbear"), random, hostile
|
|
||||||
MONSTER: 'h', random, hostile
|
|
||||||
MONSTER: ('H', "hill giant"), random, hostile
|
|
||||||
|
|
||||||
MAZE: "Cav-filb" , ' '
|
|
||||||
INIT_MAP: mines, '.' , ' ' , true , true , random , true
|
|
||||||
NOMAP
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
#
|
|
||||||
MONSTER: ('h', "bugbear"), random, hostile
|
|
||||||
MONSTER: ('h', "bugbear"), random, hostile
|
|
||||||
MONSTER: ('h', "bugbear"), random, hostile
|
|
||||||
MONSTER: ('h', "bugbear"), random, hostile
|
|
||||||
MONSTER: 'h', random, hostile
|
|
||||||
MONSTER: 'h', random, hostile
|
|
||||||
MONSTER: ('H', "hill giant"), random, hostile
|
|
||||||
MONSTER: ('H', "hill giant"), random, hostile
|
|
||||||
+11
-15
@@ -9,17 +9,17 @@
|
|||||||
|
|
||||||
($dir = $0) =~ s!^(.*/)(.*)!$1!;
|
($dir = $0) =~ s!^(.*/)(.*)!$1!;
|
||||||
|
|
||||||
print "T (files generated by lev_comp at playground creation time)\n";
|
#print "T (files generated by lev_comp at playground creation time)\n";
|
||||||
|
#
|
||||||
foreach $des (<$dir*.des>){
|
#foreach $des (<$dir*.des>){
|
||||||
open IN, "<", $des or warn("Can't open $des: $!");
|
# open IN, "<", $des or warn("Can't open $des: $!");
|
||||||
while(<IN>){
|
# while(<IN>){
|
||||||
m/^(MAZE|LEVEL):\s*"(.*?)"/ && do {
|
# m/^(MAZE|LEVEL):\s*"(.*?)"/ && do {
|
||||||
print "F $2.lev\n";
|
# print "F $2.lev\n";
|
||||||
};
|
# };
|
||||||
}
|
# }
|
||||||
close IN;
|
# close IN;
|
||||||
}
|
#}
|
||||||
while(<DATA>){
|
while(<DATA>){
|
||||||
print;
|
print;
|
||||||
}
|
}
|
||||||
@@ -41,10 +41,6 @@ T (files generated for win32 gui at compile time)
|
|||||||
F guioptions
|
F guioptions
|
||||||
T (files generated by makedefs at playground creation time)
|
T (files generated by makedefs at playground creation time)
|
||||||
F data
|
F data
|
||||||
F dungeon.pdf
|
|
||||||
F options
|
F options
|
||||||
F oracles
|
F oracles
|
||||||
F quest.dat
|
|
||||||
F rumors
|
F rumors
|
||||||
T (file generated by dgn_comp at playground creation time)
|
|
||||||
F dungeon
|
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
-- NetHack 3.6 Healer.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.10 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991, 1993 by M. Stephenson, P. Winner
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = "P" });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg="P", smoothed=false, joined=true, lit=1, walled=false })
|
||||||
|
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
--
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster({ class = "r", peaceful=0 })
|
||||||
|
des.monster({ class = "r", peaceful=0 })
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("electric eel")
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
--
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
-- NetHack 3.6 Healer.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.10 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991, 1993 by M. Stephenson, P. Winner
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = "P" });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg="P", smoothed=false, joined=true, lit=1, walled=false })
|
||||||
|
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
--
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster({ class = "r", peaceful=0 })
|
||||||
|
des.monster({ class = "r", peaceful=0 })
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("electric eel")
|
||||||
|
des.monster("electric eel")
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
--
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
-- NetHack 3.6 Healer.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.10 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991, 1993 by M. Stephenson, P. Winner
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = "P" });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
--
|
||||||
|
des.level_init({ style="mines", fg=".", bg="P", smoothed=false, joined=true, lit=1, walled=false })
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
.P....................................PP.
|
||||||
|
PP.......PPPPPPP....PPPPPPP....PPPP...PP.
|
||||||
|
...PPPPPPP....PPPPPPP.....PPPPPP..PPP...P
|
||||||
|
...PP..............................PPP...
|
||||||
|
..PP..............................PP.....
|
||||||
|
..PP..............................PPP....
|
||||||
|
..PPP..............................PP....
|
||||||
|
.PPP..............................PPPP...
|
||||||
|
...PP............................PPP...PP
|
||||||
|
..PPPP...PPPPP..PPPP...PPPPP.....PP...PP.
|
||||||
|
P....PPPPP...PPPP..PPPPP...PPPPPPP...PP..
|
||||||
|
PPP..................................PPP.
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,40,11), "lit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 39,10)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,40,11))
|
||||||
|
-- Objects
|
||||||
|
des.object({ id = "quarterstaff", x=20, y=06, buc="blessed", spe=0, name="The Staff of Aesculapius" })
|
||||||
|
des.object("lightning", 20, 06)
|
||||||
|
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()
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster({ id = "Cyclops", x=20, y=06, peaceful=0 })
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster({ class = "r", peaceful=0 })
|
||||||
|
des.monster({ class = "r", peaceful=0 })
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("electric eel")
|
||||||
|
des.monster("electric eel")
|
||||||
|
des.monster("shark")
|
||||||
|
des.monster("shark")
|
||||||
|
des.monster({ class = ";", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
-- NetHack 3.6 Healer.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.10 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991, 1993 by M. Stephenson, P. Winner
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "hardfloor");
|
||||||
|
--
|
||||||
|
des.level_init({ style="mines", fg=".", bg="P", smoothed=true ,joined=true, lit=1, walled=false })
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
PPPPPPPPPPPPP.......PPPPPPPPPPP
|
||||||
|
PPPPPPPP...............PPPPPPPP
|
||||||
|
PPPP.....-------------...PPPPPP
|
||||||
|
PPPPP....|.S.........|....PPPPP
|
||||||
|
PPP......+.|.........|...PPPPPP
|
||||||
|
PPP......+.|.........|..PPPPPPP
|
||||||
|
PPPP.....|.S.........|..PPPPPPP
|
||||||
|
PPPPP....-------------....PPPPP
|
||||||
|
PPPPPPPP...............PPPPPPPP
|
||||||
|
PPPPPPPPPPP........PPPPPPPPPPPP
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,30,09), "lit")
|
||||||
|
des.region({ region={12,03, 20,06}, lit=1, type="temple" })
|
||||||
|
-- Doors
|
||||||
|
des.door("closed",09,04)
|
||||||
|
des.door("closed",09,05)
|
||||||
|
des.door("locked",11,03)
|
||||||
|
des.door("locked",11,06)
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 04,04)
|
||||||
|
des.stair("down", 20,06)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(11,02,21,07))
|
||||||
|
-- Altar in the temple.
|
||||||
|
des.altar({ x=13,y=05, align="chaos", type="shrine" })
|
||||||
|
-- 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()
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster({ class = "r", peaceful=0 })
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("electric eel")
|
||||||
|
des.monster("electric eel")
|
||||||
|
des.monster("kraken")
|
||||||
|
des.monster("shark")
|
||||||
|
des.monster("shark")
|
||||||
|
des.monster({ class = ";", peaceful=0 })
|
||||||
|
des.monster({ class = ";", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
-- NetHack 3.6 Healer.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.10 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991, 1993 by M. Stephenson, P. Winner
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- The "start" level for the quest.
|
||||||
|
--
|
||||||
|
-- Here you meet your (besieged) class leader, Hippocrates
|
||||||
|
-- and receive your quest assignment.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "hardfloor")
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
|
||||||
|
PPPP........PPPP.....PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP.P..PPPPP......PPPPPPPP
|
||||||
|
PPP..........PPPP...PPPPP.........................PPPP..PPPPP........PPPPPPP
|
||||||
|
PP............PPPPPPPP..............................PPP...PPPP......PPPPPPPP
|
||||||
|
P.....PPPPPPPPPPPPPPP................................PPPPPPPPPPPPPPPPPPPPPPP
|
||||||
|
PPPP....PPPPPPPPPPPP...................................PPPPP.PPPPPPPPPPPPPPP
|
||||||
|
PPPP........PPPPP.........-----------------------........PP...PPPPPPP.....PP
|
||||||
|
PPP............PPPPP....--|.|......S..........S.|--.....PPPP.PPPPPPP.......P
|
||||||
|
PPPP..........PPPPP.....|.S.|......-----------|S|.|......PPPPPP.PPP.......PP
|
||||||
|
PPPPPP......PPPPPP......|.|.|......|...|......|.|.|.....PPPPPP...PP.......PP
|
||||||
|
PPPPPPPPPPPPPPPPPPP.....+.|.|......S.\.S......|.|.+......PPPPPP.PPPP.......P
|
||||||
|
PPP...PPPPP...PPPP......|.|.|......|...|......|.|.|.......PPPPPPPPPPP.....PP
|
||||||
|
PP.....PPP.....PPP......|.|S|-----------......|.S.|......PPPPPPPPPPPPPPPPPPP
|
||||||
|
PPP..PPPPP...PPPP.......--|.S..........S......|.|--.....PPPPPPPPP....PPPPPPP
|
||||||
|
PPPPPPPPPPPPPPPP..........-----------------------..........PPPPP..........PP
|
||||||
|
PPPPPPPPPPPPPPPPP........................................PPPPPP............P
|
||||||
|
PPP.............PPPP...................................PPP..PPPP..........PP
|
||||||
|
PP...............PPPPP................................PPPP...PPPP........PPP
|
||||||
|
PPP.............PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP....PPPPPP
|
||||||
|
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
|
||||||
|
]]);
|
||||||
|
|
||||||
|
des.replace_terrain({ region={01,01, 74,18}, fromterrain="P", toterrain=".", chance=10 })
|
||||||
|
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("down", 37,9)
|
||||||
|
-- Portal arrival point
|
||||||
|
des.levregion({ region = {04,12,04,12}, type="branch" })
|
||||||
|
-- altar for the Temple
|
||||||
|
des.altar({ x=32,y=09,align="neutral",type="altar" })
|
||||||
|
-- Doors
|
||||||
|
des.door("locked",24,10)
|
||||||
|
des.door("closed",26,08)
|
||||||
|
des.door("closed",27,12)
|
||||||
|
des.door("locked",28,13)
|
||||||
|
des.door("closed",35,07)
|
||||||
|
des.door("locked",35,10)
|
||||||
|
des.door("locked",39,10)
|
||||||
|
des.door("closed",39,13)
|
||||||
|
des.door("locked",46,07)
|
||||||
|
des.door("closed",47,08)
|
||||||
|
des.door("closed",48,12)
|
||||||
|
des.door("locked",50,10)
|
||||||
|
-- Hippocrates
|
||||||
|
des.monster("Hippocrates", 37, 10)
|
||||||
|
-- The treasure of Hippocrates
|
||||||
|
des.object("chest", 37, 10)
|
||||||
|
-- intern guards for the audience chamber
|
||||||
|
des.monster("attendant", 29, 08)
|
||||||
|
des.monster("attendant", 29, 09)
|
||||||
|
des.monster("attendant", 29, 10)
|
||||||
|
des.monster("attendant", 29, 11)
|
||||||
|
des.monster("attendant", 40, 09)
|
||||||
|
des.monster("attendant", 40, 10)
|
||||||
|
des.monster("attendant", 40, 11)
|
||||||
|
des.monster("attendant", 40, 13)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Monsters on siege duty.
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("rabid rat")
|
||||||
|
des.monster("giant eel")
|
||||||
|
des.monster("shark")
|
||||||
|
des.monster(";")
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
|
des.monster({ class = "S", peaceful=0 })
|
||||||
-380
@@ -1,380 +0,0 @@
|
|||||||
# NetHack 3.6 Healer.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.10 $
|
|
||||||
# Copyright (c) 1989 by Jean-Christophe Collet
|
|
||||||
# Copyright (c) 1991, 1993 by M. Stephenson, P. Winner
|
|
||||||
# NetHack may be freely redistributed. See license for details.
|
|
||||||
#
|
|
||||||
# The "start" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet your (besieged) class leader, Hippocrates
|
|
||||||
# and receive your quest assignment.
|
|
||||||
#
|
|
||||||
MAZE: "Hea-strt",' '
|
|
||||||
FLAGS: noteleport,hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
|
|
||||||
PPPP........PPPP.....PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP.P..PPPPP......PPPPPPPP
|
|
||||||
PPP..........PPPP...PPPPP.........................PPPP..PPPPP........PPPPPPP
|
|
||||||
PP............PPPPPPPP..............................PPP...PPPP......PPPPPPPP
|
|
||||||
P.....PPPPPPPPPPPPPPP................................PPPPPPPPPPPPPPPPPPPPPPP
|
|
||||||
PPPP....PPPPPPPPPPPP...................................PPPPP.PPPPPPPPPPPPPPP
|
|
||||||
PPPP........PPPPP.........-----------------------........PP...PPPPPPP.....PP
|
|
||||||
PPP............PPPPP....--|.|......S..........S.|--.....PPPP.PPPPPPP.......P
|
|
||||||
PPPP..........PPPPP.....|.S.|......-----------|S|.|......PPPPPP.PPP.......PP
|
|
||||||
PPPPPP......PPPPPP......|.|.|......|...|......|.|.|.....PPPPPP...PP.......PP
|
|
||||||
PPPPPPPPPPPPPPPPPPP.....+.|.|......S.\.S......|.|.+......PPPPPP.PPPP.......P
|
|
||||||
PPP...PPPPP...PPPP......|.|.|......|...|......|.|.|.......PPPPPPPPPPP.....PP
|
|
||||||
PP.....PPP.....PPP......|.|S|-----------......|.S.|......PPPPPPPPPPPPPPPPPPP
|
|
||||||
PPP..PPPPP...PPPP.......--|.S..........S......|.|--.....PPPPPPPPP....PPPPPPP
|
|
||||||
PPPPPPPPPPPPPPPP..........-----------------------..........PPPPP..........PP
|
|
||||||
PPPPPPPPPPPPPPPPP........................................PPPPPP............P
|
|
||||||
PPP.............PPPP...................................PPP..PPPP..........PP
|
|
||||||
PP...............PPPPP................................PPPP...PPPP........PPP
|
|
||||||
PPP.............PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP....PPPPPP
|
|
||||||
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
|
|
||||||
ENDMAP
|
|
||||||
|
|
||||||
REPLACE_TERRAIN:(01,01,74,18), 'P', '.', 10%
|
|
||||||
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(37,9),down
|
|
||||||
# Portal arrival point
|
|
||||||
BRANCH:(04,12,04,12),(0,0,0,0)
|
|
||||||
# altar for the Temple
|
|
||||||
ALTAR:(32,09),neutral,altar
|
|
||||||
# Doors
|
|
||||||
DOOR:locked,(24,10)
|
|
||||||
DOOR:closed,(26,08)
|
|
||||||
DOOR:closed,(27,12)
|
|
||||||
DOOR:locked,(28,13)
|
|
||||||
DOOR:closed,(35,07)
|
|
||||||
DOOR:locked,(35,10)
|
|
||||||
DOOR:locked,(39,10)
|
|
||||||
DOOR:closed,(39,13)
|
|
||||||
DOOR:locked,(46,07)
|
|
||||||
DOOR:closed,(47,08)
|
|
||||||
DOOR:closed,(48,12)
|
|
||||||
DOOR:locked,(50,10)
|
|
||||||
# Hippocrates
|
|
||||||
MONSTER:('@',"Hippocrates"),(37,10)
|
|
||||||
# The treasure of Hippocrates
|
|
||||||
OBJECT:('(',"chest"),(37,10)
|
|
||||||
# intern guards for the audience chamber
|
|
||||||
MONSTER:('@',"attendant"),(29,08)
|
|
||||||
MONSTER:('@',"attendant"),(29,09)
|
|
||||||
MONSTER:('@',"attendant"),(29,10)
|
|
||||||
MONSTER:('@',"attendant"),(29,11)
|
|
||||||
MONSTER:('@',"attendant"),(40,09)
|
|
||||||
MONSTER:('@',"attendant"),(40,10)
|
|
||||||
MONSTER:('@',"attendant"),(40,11)
|
|
||||||
MONSTER:('@',"attendant"),(40,13)
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Monsters on siege duty.
|
|
||||||
MONSTER: ('r',"rabid rat"),random
|
|
||||||
MONSTER: ('r',"rabid rat"),random
|
|
||||||
MONSTER: ('r',"rabid rat"),random
|
|
||||||
MONSTER: ('r',"rabid rat"),random
|
|
||||||
MONSTER: ('r',"rabid rat"),random
|
|
||||||
MONSTER: ('r',"rabid rat"),random
|
|
||||||
MONSTER: ('r',"rabid rat"),random
|
|
||||||
MONSTER: ('r',"rabid rat"),random
|
|
||||||
MONSTER: ('r',"rabid rat"),random
|
|
||||||
MONSTER: ('r',"rabid rat"),random
|
|
||||||
MONSTER: (';',"giant eel"),random
|
|
||||||
MONSTER: (';',"shark"),random
|
|
||||||
MONSTER: ';', random
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
#
|
|
||||||
# The "locate" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you have to find the Temple of Coeus to go
|
|
||||||
# further towards your assigned quest.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Hea-loca",' '
|
|
||||||
FLAGS: hardfloor
|
|
||||||
#
|
|
||||||
INIT_MAP: mines, '.' , 'P', true , true , lit , false
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
PPPPPPPPPPPPP.......PPPPPPPPPPP
|
|
||||||
PPPPPPPP...............PPPPPPPP
|
|
||||||
PPPP.....-------------...PPPPPP
|
|
||||||
PPPPP....|.S.........|....PPPPP
|
|
||||||
PPP......+.|.........|...PPPPPP
|
|
||||||
PPP......+.|.........|..PPPPPPP
|
|
||||||
PPPP.....|.S.........|..PPPPPPP
|
|
||||||
PPPPP....-------------....PPPPP
|
|
||||||
PPPPPPPP...............PPPPPPPP
|
|
||||||
PPPPPPPPPPP........PPPPPPPPPPPP
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,30,09),lit,"ordinary"
|
|
||||||
REGION:(12,03,20,06),lit,"temple"
|
|
||||||
# Doors
|
|
||||||
DOOR:closed,(09,04)
|
|
||||||
DOOR:closed,(09,05)
|
|
||||||
DOOR:locked,(11,03)
|
|
||||||
DOOR:locked,(11,06)
|
|
||||||
# Stairs
|
|
||||||
STAIR:(04,04),up
|
|
||||||
STAIR:(20,06),down
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(11,02,21,07)
|
|
||||||
# Altar in the temple.
|
|
||||||
ALTAR:(13,05), chaos, shrine
|
|
||||||
# Objects
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('r',"rabid rat"),random
|
|
||||||
MONSTER:('r',"rabid rat"),random
|
|
||||||
MONSTER:('r',"rabid rat"),random
|
|
||||||
MONSTER:('r',"rabid rat"),random
|
|
||||||
MONSTER:('r',"rabid rat"),random
|
|
||||||
MONSTER:('r',"rabid rat"),random
|
|
||||||
MONSTER:('r',"rabid rat"),random
|
|
||||||
MONSTER:('r',"rabid rat"),random
|
|
||||||
MONSTER:'r',random,hostile
|
|
||||||
MONSTER:(';',"giant eel"),random
|
|
||||||
MONSTER:(';',"giant eel"),random
|
|
||||||
MONSTER:(';',"giant eel"),random
|
|
||||||
MONSTER:(';',"giant eel"),random
|
|
||||||
MONSTER:(';',"giant eel"),random
|
|
||||||
MONSTER:(';',"electric eel"),random
|
|
||||||
MONSTER:(';',"electric eel"),random
|
|
||||||
MONSTER:(';',"kraken"),random
|
|
||||||
MONSTER:(';',"shark"),random
|
|
||||||
MONSTER:(';',"shark"),random
|
|
||||||
MONSTER:';', random,hostile
|
|
||||||
MONSTER:';', random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "goal" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet Cyclops your nemesis monster. You have to
|
|
||||||
# defeat Cyclops in combat to gain the artifact you have
|
|
||||||
# been assigned to retrieve.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Hea-goal", 'P'
|
|
||||||
#
|
|
||||||
INIT_MAP: mines, '.' , 'P' , false , true , lit , false
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
.P....................................PP.
|
|
||||||
PP.......PPPPPPP....PPPPPPP....PPPP...PP.
|
|
||||||
...PPPPPPP....PPPPPPP.....PPPPPP..PPP...P
|
|
||||||
...PP..............................PPP...
|
|
||||||
..PP..............................PP.....
|
|
||||||
..PP..............................PPP....
|
|
||||||
..PPP..............................PP....
|
|
||||||
.PPP..............................PPPP...
|
|
||||||
...PP............................PPP...PP
|
|
||||||
..PPPP...PPPPP..PPPP...PPPPP.....PP...PP.
|
|
||||||
P....PPPPP...PPPP..PPPPP...PPPPPPP...PP..
|
|
||||||
PPP..................................PPP.
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,40,11),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(39,10),up
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,40,11)
|
|
||||||
# Objects
|
|
||||||
OBJECT:(')',"quarterstaff"),(20,06),blessed,0,name:"The Staff of Aesculapius"
|
|
||||||
OBJECT:('/',"lightning"),(20,06)
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('H',"Cyclops"),(20,06),hostile
|
|
||||||
MONSTER:('r',"rabid rat"),random
|
|
||||||
MONSTER:('r',"rabid rat"),random
|
|
||||||
MONSTER:('r',"rabid rat"),random
|
|
||||||
MONSTER:'r',random,hostile
|
|
||||||
MONSTER:'r',random,hostile
|
|
||||||
MONSTER:(';',"giant eel"),random
|
|
||||||
MONSTER:(';',"giant eel"),random
|
|
||||||
MONSTER:(';',"giant eel"),random
|
|
||||||
MONSTER:(';',"giant eel"),random
|
|
||||||
MONSTER:(';',"giant eel"),random
|
|
||||||
MONSTER:(';',"giant eel"),random
|
|
||||||
MONSTER:(';',"electric eel"),random
|
|
||||||
MONSTER:(';',"electric eel"),random
|
|
||||||
MONSTER:(';',"shark"),random
|
|
||||||
MONSTER:(';',"shark"),random
|
|
||||||
MONSTER:';',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "fill" levels for the quest.
|
|
||||||
#
|
|
||||||
# These levels are used to fill out any levels not occupied by specific
|
|
||||||
# levels as defined above. "filla" is the upper filler, between the
|
|
||||||
# start and locate levels, and "fillb" the lower between the locate
|
|
||||||
# and goal levels.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Hea-fila" , 'P'
|
|
||||||
INIT_MAP: mines, '.' , 'P' , false , true , lit , false
|
|
||||||
NOMAP
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
MONSTER: ('r', "rabid rat"), random
|
|
||||||
MONSTER: 'r', random,hostile
|
|
||||||
MONSTER: 'r', random,hostile
|
|
||||||
MONSTER: (';', "giant eel"), random
|
|
||||||
MONSTER: (';', "giant eel"), random
|
|
||||||
MONSTER: (';', "electric eel"), random
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
#
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
|
|
||||||
MAZE: "Hea-filb" , 'P'
|
|
||||||
INIT_MAP: mines, '.' , 'P' , false , true , lit , false
|
|
||||||
NOMAP
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
MONSTER: ('r', "rabid rat"), random
|
|
||||||
MONSTER: ('r', "rabid rat"), random
|
|
||||||
MONSTER: 'r', random,hostile
|
|
||||||
MONSTER: 'r', random,hostile
|
|
||||||
MONSTER: (';', "giant eel"), random
|
|
||||||
MONSTER: (';', "giant eel"), random
|
|
||||||
MONSTER: (';', "giant eel"), random
|
|
||||||
MONSTER: (';', "giant eel"), random
|
|
||||||
MONSTER: (';', "giant eel"), random
|
|
||||||
MONSTER: (';', "electric eel"), random
|
|
||||||
MONSTER: (';', "electric eel"), random
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'D',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
MONSTER: 'S',random,hostile
|
|
||||||
#
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
-- NetHack 3.6 Knight.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991,92 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = "." });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg="P", smoothed=false, joined=true, lit=1, walled=false })
|
||||||
|
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
--
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ class = "i", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
--
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
-- NetHack 3.6 Knight.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991,92 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = "." });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg="P", smoothed=false, joined=true, lit=1, walled=false })
|
||||||
|
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
--
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ class = "i", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
--
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
-- NetHack 3.6 Knight.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991,92 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
....PPPP..PPP..
|
||||||
|
.PPPPP...PP.. .......... .................................
|
||||||
|
..PPPPP...P.. ........... ...................................
|
||||||
|
..PPP....... ........... ......................................
|
||||||
|
...PPP....... ......... ............... .....................
|
||||||
|
........... ............ ............ ......................
|
||||||
|
............ ............. ....... .....................
|
||||||
|
.............................. .........................
|
||||||
|
............................... ..................................
|
||||||
|
............................. ....................................
|
||||||
|
......... ......................................................
|
||||||
|
.....PP... .....................................................
|
||||||
|
.....PPP.... ....................................................
|
||||||
|
......PPP.... .............. ....................................
|
||||||
|
.......PPP.... ............. .....................................
|
||||||
|
........PP... ............ ......................................
|
||||||
|
...PPP........ .......... ..................................
|
||||||
|
..PPPPP........ .......... ..............................
|
||||||
|
....PPPPP...... ......... ..........................
|
||||||
|
.......PPPP...
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,14,19), "lit")
|
||||||
|
des.region(selection.area(15,00,75,19), "unlit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 03,08)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- Objects
|
||||||
|
des.object({ id = "mirror", x=50,y=06, buc="blessed", spe=0, name="The Magic Mirror of Merlin" })
|
||||||
|
des.object({ coord = { 33, 01 } })
|
||||||
|
des.object({ coord = { 33, 02 } })
|
||||||
|
des.object({ coord = { 33, 03 } })
|
||||||
|
des.object({ coord = { 33, 04 } })
|
||||||
|
des.object({ coord = { 33, 05 } })
|
||||||
|
des.object({ coord = { 34, 01 } })
|
||||||
|
des.object({ coord = { 34, 02 } })
|
||||||
|
des.object({ coord = { 34, 03 } })
|
||||||
|
des.object({ coord = { 34, 04 } })
|
||||||
|
des.object({ coord = { 34, 05 } })
|
||||||
|
des.object({ coord = { 35, 01 } })
|
||||||
|
des.object({ coord = { 35, 02 } })
|
||||||
|
des.object({ coord = { 35, 03 } })
|
||||||
|
des.object({ coord = { 35, 04 } })
|
||||||
|
des.object({ coord = { 35, 05 } })
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
-- Random traps
|
||||||
|
des.trap("spiked pit",13,07)
|
||||||
|
des.trap("spiked pit",12,08)
|
||||||
|
des.trap("spiked pit",12,09)
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster({ id = "Ixoth", x=50, y=06, peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ class = "i", peaceful=0 })
|
||||||
|
des.monster({ class = "i", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ class = "j", peaceful=0 })
|
||||||
@@ -0,0 +1,137 @@
|
|||||||
|
-- NetHack 3.6 Knight.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991,92 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "hardfloor")
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg="P", smoothed=false, joined=true, lit=1, walled=false })
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
xxxxxxxxx......xxxx...........xxxxxxxxxx
|
||||||
|
xxxxxxx.........xxx.............xxxxxxxx
|
||||||
|
xxxx..............................xxxxxx
|
||||||
|
xx.................................xxxxx
|
||||||
|
....................................xxxx
|
||||||
|
.......................................x
|
||||||
|
........................................
|
||||||
|
xx...................................xxx
|
||||||
|
xxxx..............................xxxxxx
|
||||||
|
xxxxxx..........................xxxxxxxx
|
||||||
|
xxxxxxxx.........xx..........xxxxxxxxxxx
|
||||||
|
xxxxxxxxx.......xxxxxx.....xxxxxxxxxxxxx
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
-- The Isle of Glass is a Tor rising out of the swamps surrounding it.
|
||||||
|
des.region(selection.area(00,00,39,11), "lit")
|
||||||
|
-- The top area of the Tor is a holy site.
|
||||||
|
des.region({ region={09,02, 27,09}, lit=1, type="temple" })
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 38,0)
|
||||||
|
des.stair("down", 18,05)
|
||||||
|
-- The altar atop the Tor and its attendant (creating altar makes the priest).
|
||||||
|
des.altar({ x=17, y=05, align="neutral", type="shrine" })
|
||||||
|
-- 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()
|
||||||
|
-- Random traps
|
||||||
|
-- All of the avenues are guarded by magic except for the East.
|
||||||
|
-- South
|
||||||
|
des.trap("magic",08,11)
|
||||||
|
des.trap("magic",09,11)
|
||||||
|
des.trap("magic",10,11)
|
||||||
|
des.trap("magic",11,11)
|
||||||
|
des.trap("magic",12,11)
|
||||||
|
des.trap("magic",13,11)
|
||||||
|
des.trap("magic",14,11)
|
||||||
|
des.trap("magic",15,11)
|
||||||
|
des.trap("magic",16,11)
|
||||||
|
des.trap("magic",20,11)
|
||||||
|
des.trap("magic",21,11)
|
||||||
|
des.trap("magic",22,11)
|
||||||
|
des.trap("magic",23,11)
|
||||||
|
des.trap("magic",24,11)
|
||||||
|
des.trap("magic",25,11)
|
||||||
|
des.trap("magic",26,11)
|
||||||
|
des.trap("magic",27,11)
|
||||||
|
des.trap("magic",28,11)
|
||||||
|
-- West
|
||||||
|
des.trap("magic",00,03)
|
||||||
|
des.trap("magic",00,04)
|
||||||
|
des.trap("magic",00,05)
|
||||||
|
des.trap("magic",00,06)
|
||||||
|
-- North
|
||||||
|
des.trap("magic",06,00)
|
||||||
|
des.trap("magic",07,00)
|
||||||
|
des.trap("magic",08,00)
|
||||||
|
des.trap("magic",09,00)
|
||||||
|
des.trap("magic",10,00)
|
||||||
|
des.trap("magic",11,00)
|
||||||
|
des.trap("magic",12,00)
|
||||||
|
des.trap("magic",13,00)
|
||||||
|
des.trap("magic",14,00)
|
||||||
|
des.trap("magic",19,00)
|
||||||
|
des.trap("magic",20,00)
|
||||||
|
des.trap("magic",21,00)
|
||||||
|
des.trap("magic",22,00)
|
||||||
|
des.trap("magic",23,00)
|
||||||
|
des.trap("magic",24,00)
|
||||||
|
des.trap("magic",25,00)
|
||||||
|
des.trap("magic",26,00)
|
||||||
|
des.trap("magic",27,00)
|
||||||
|
des.trap("magic",28,00)
|
||||||
|
des.trap("magic",29,00)
|
||||||
|
des.trap("magic",30,00)
|
||||||
|
des.trap("magic",31,00)
|
||||||
|
des.trap("magic",32,00)
|
||||||
|
-- Even so, there are magic "sinkholes" around.
|
||||||
|
des.trap("anti magic")
|
||||||
|
des.trap("anti magic")
|
||||||
|
des.trap("anti magic")
|
||||||
|
des.trap("anti magic")
|
||||||
|
des.trap("anti magic")
|
||||||
|
des.trap("anti magic")
|
||||||
|
des.trap("anti magic")
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", peaceful=0 })
|
||||||
|
des.monster({ class = "i", peaceful=0 })
|
||||||
|
des.monster({ class = "j", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ id = "ochre jelly", peaceful=0 })
|
||||||
|
des.monster({ class = "j", peaceful=0 })
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
-- NetHack 3.6 Knight.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991,92 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- The "start" level for the quest.
|
||||||
|
--
|
||||||
|
-- Here you meet your (besieged) class leader, King Arthur
|
||||||
|
-- and receive your quest assignment.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = "." });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "hardfloor")
|
||||||
|
-- This is a kludge to init the level as a lit field.
|
||||||
|
des.level_init({ style="mines", fg=".", bg=".", smoothed=false, joined=false, lit=1, walled=false })
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
..................................................
|
||||||
|
.-----......................................-----.
|
||||||
|
.|...|......................................|...|.
|
||||||
|
.--|+-------------------++-------------------+|--.
|
||||||
|
...|...................+..+...................|...
|
||||||
|
...|.|-----------------|++|-----------------|.|...
|
||||||
|
...|.|.................|..|.........|.......|.|...
|
||||||
|
...|.|...\.............+..+.........|.......|.|...
|
||||||
|
...|.|.................+..+.........+.......|.|...
|
||||||
|
...|.|.................|..|.........|.......|.|...
|
||||||
|
...|.|--------------------------------------|.|...
|
||||||
|
...|..........................................|...
|
||||||
|
.--|+----------------------------------------+|--.
|
||||||
|
.|...|......................................|...|.
|
||||||
|
.-----......................................-----.
|
||||||
|
..................................................
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,49,15), "lit")
|
||||||
|
des.region(selection.area(04,04,45,11), "unlit")
|
||||||
|
des.region({ region={06,06,22,09}, lit=1, type="throne", prefilled=1 })
|
||||||
|
des.region(selection.area(27,06,43,09), "lit")
|
||||||
|
-- Portal arrival point
|
||||||
|
des.levregion({ region = {20,14,20,14}, type="branch" })
|
||||||
|
-- Stairs
|
||||||
|
des.stair("down", 40,7)
|
||||||
|
-- Doors
|
||||||
|
-- Outside Doors
|
||||||
|
des.door("locked",24,03)
|
||||||
|
des.door("locked",25,03)
|
||||||
|
-- Inside Doors
|
||||||
|
des.door("closed",23,04)
|
||||||
|
des.door("closed",26,04)
|
||||||
|
des.door("locked",24,05)
|
||||||
|
des.door("locked",25,05)
|
||||||
|
des.door("closed",23,07)
|
||||||
|
des.door("closed",26,07)
|
||||||
|
des.door("closed",23,08)
|
||||||
|
des.door("closed",26,08)
|
||||||
|
des.door("closed",36,08)
|
||||||
|
-- Watchroom Doors
|
||||||
|
des.door("closed",04,03)
|
||||||
|
des.door("closed",45,03)
|
||||||
|
des.door("closed",04,12)
|
||||||
|
des.door("closed",45,12)
|
||||||
|
-- King Arthur
|
||||||
|
des.monster("King Arthur", 09, 07)
|
||||||
|
-- The treasure of King Arthur
|
||||||
|
des.object("chest", 09, 07)
|
||||||
|
-- knight guards for the watchrooms
|
||||||
|
des.monster({ id = "knight", x=04, y=02, peaceful = 1 })
|
||||||
|
des.monster({ id = "knight", x=04, y=13, peaceful = 1 })
|
||||||
|
des.monster({ id = "knight", x=45, y=02, peaceful = 1 })
|
||||||
|
des.monster({ id = "knight", x=45, y=13, peaceful = 1 })
|
||||||
|
-- page guards for the audience chamber
|
||||||
|
des.monster("page", 16, 06)
|
||||||
|
des.monster("page", 18, 06)
|
||||||
|
des.monster("page", 20, 06)
|
||||||
|
des.monster("page", 16, 09)
|
||||||
|
des.monster("page", 18, 09)
|
||||||
|
des.monster("page", 20, 09)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,49,15))
|
||||||
|
-- Random traps
|
||||||
|
des.trap("sleep gas",24,04)
|
||||||
|
des.trap("sleep gas",25,04)
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Monsters on siege duty.
|
||||||
|
des.monster({ id = "quasit", x=14, y=00, peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", x=16, y=00, peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", x=18, y=00, peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", x=20, y=00, peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", x=22, y=00, peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", x=24, y=00, peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", x=26, y=00, peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", x=28, y=00, peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", x=30, y=00, peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", x=32, y=00, peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", x=34, y=00, peaceful=0 })
|
||||||
|
des.monster({ id = "quasit", x=36, y=00, peaceful=0 })
|
||||||
|
|
||||||
-408
@@ -1,408 +0,0 @@
|
|||||||
# NetHack 3.6 Knight.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
|
||||||
# Copyright (c) 1989 by Jean-Christophe Collet
|
|
||||||
# Copyright (c) 1991,92 by M. Stephenson
|
|
||||||
# NetHack may be freely redistributed. See license for details.
|
|
||||||
#
|
|
||||||
# The "start" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet your (besieged) class leader, King Arthur
|
|
||||||
# and receive your quest assignment.
|
|
||||||
#
|
|
||||||
MAZE: "Kni-strt",'.'
|
|
||||||
FLAGS: noteleport,hardfloor
|
|
||||||
# This is a kludge to init the level as a lit field.
|
|
||||||
INIT_MAP: mines, '.' , '.' , false , false , lit , false
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
..................................................
|
|
||||||
.-----......................................-----.
|
|
||||||
.|...|......................................|...|.
|
|
||||||
.--|+-------------------++-------------------+|--.
|
|
||||||
...|...................+..+...................|...
|
|
||||||
...|.|-----------------|++|-----------------|.|...
|
|
||||||
...|.|.................|..|.........|.......|.|...
|
|
||||||
...|.|...\.............+..+.........|.......|.|...
|
|
||||||
...|.|.................+..+.........+.......|.|...
|
|
||||||
...|.|.................|..|.........|.......|.|...
|
|
||||||
...|.|--------------------------------------|.|...
|
|
||||||
...|..........................................|...
|
|
||||||
.--|+----------------------------------------+|--.
|
|
||||||
.|...|......................................|...|.
|
|
||||||
.-----......................................-----.
|
|
||||||
..................................................
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,49,15),lit,"ordinary"
|
|
||||||
REGION:(04,04,45,11),unlit,"ordinary"
|
|
||||||
REGION:(06,06,22,09),lit,"throne" , unfilled
|
|
||||||
REGION:(27,06,43,09),lit,"ordinary"
|
|
||||||
# Portal arrival point
|
|
||||||
BRANCH:(20,14,20,14),(0,0,0,0)
|
|
||||||
# Stairs
|
|
||||||
STAIR:(40,7),down
|
|
||||||
# Doors
|
|
||||||
# Outside Doors
|
|
||||||
DOOR:locked,(24,03)
|
|
||||||
DOOR:locked,(25,03)
|
|
||||||
# Inside Doors
|
|
||||||
DOOR:closed,(23,04)
|
|
||||||
DOOR:closed,(26,04)
|
|
||||||
DOOR:locked,(24,05)
|
|
||||||
DOOR:locked,(25,05)
|
|
||||||
DOOR:closed,(23,07)
|
|
||||||
DOOR:closed,(26,07)
|
|
||||||
DOOR:closed,(23,08)
|
|
||||||
DOOR:closed,(26,08)
|
|
||||||
DOOR:closed,(36,08)
|
|
||||||
# Watchroom Doors
|
|
||||||
DOOR:closed,(04,03)
|
|
||||||
DOOR:closed,(45,03)
|
|
||||||
DOOR:closed,(04,12)
|
|
||||||
DOOR:closed,(45,12)
|
|
||||||
# King Arthur
|
|
||||||
MONSTER:('@',"King Arthur"),(09,07)
|
|
||||||
# The treasure of King Arthur
|
|
||||||
OBJECT:('(',"chest"),(09,07)
|
|
||||||
# knight guards for the watchrooms
|
|
||||||
MONSTER:('@',"knight"),(04,02),peaceful
|
|
||||||
MONSTER:('@',"knight"),(04,13),peaceful
|
|
||||||
MONSTER:('@',"knight"),(45,02),peaceful
|
|
||||||
MONSTER:('@',"knight"),(45,13),peaceful
|
|
||||||
# page guards for the audience chamber
|
|
||||||
MONSTER:('@',"page"),(16,06)
|
|
||||||
MONSTER:('@',"page"),(18,06)
|
|
||||||
MONSTER:('@',"page"),(20,06)
|
|
||||||
MONSTER:('@',"page"),(16,09)
|
|
||||||
MONSTER:('@',"page"),(18,09)
|
|
||||||
MONSTER:('@',"page"),(20,09)
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,49,15)
|
|
||||||
# Random traps
|
|
||||||
TRAP:"sleep gas",(24,04)
|
|
||||||
TRAP:"sleep gas",(25,04)
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Monsters on siege duty.
|
|
||||||
MONSTER: ('i',"quasit"),(14,00),hostile
|
|
||||||
MONSTER: ('i',"quasit"),(16,00),hostile
|
|
||||||
MONSTER: ('i',"quasit"),(18,00),hostile
|
|
||||||
MONSTER: ('i',"quasit"),(20,00),hostile
|
|
||||||
MONSTER: ('i',"quasit"),(22,00),hostile
|
|
||||||
MONSTER: ('i',"quasit"),(24,00),hostile
|
|
||||||
MONSTER: ('i',"quasit"),(26,00),hostile
|
|
||||||
MONSTER: ('i',"quasit"),(28,00),hostile
|
|
||||||
MONSTER: ('i',"quasit"),(30,00),hostile
|
|
||||||
MONSTER: ('i',"quasit"),(32,00),hostile
|
|
||||||
MONSTER: ('i',"quasit"),(34,00),hostile
|
|
||||||
MONSTER: ('i',"quasit"),(36,00),hostile
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "locate" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you have to find your way to the Isle of Glass to go
|
|
||||||
# further towards your assigned quest.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Kni-loca",' '
|
|
||||||
FLAGS: hardfloor
|
|
||||||
INIT_MAP: mines, '.' , 'P' , false , true , lit , false
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
xxxxxxxxx......xxxx...........xxxxxxxxxx
|
|
||||||
xxxxxxx.........xxx.............xxxxxxxx
|
|
||||||
xxxx..............................xxxxxx
|
|
||||||
xx.................................xxxxx
|
|
||||||
....................................xxxx
|
|
||||||
.......................................x
|
|
||||||
........................................
|
|
||||||
xx...................................xxx
|
|
||||||
xxxx..............................xxxxxx
|
|
||||||
xxxxxx..........................xxxxxxxx
|
|
||||||
xxxxxxxx.........xx..........xxxxxxxxxxx
|
|
||||||
xxxxxxxxx.......xxxxxx.....xxxxxxxxxxxxx
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
# The Isle of Glass is a Tor rising out of the swamps surrounding it.
|
|
||||||
REGION:(00,00,39,11),lit,"ordinary"
|
|
||||||
# The top area of the Tor is a holy site.
|
|
||||||
REGION:(09,02,27,09),lit,"temple"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(38,0),up
|
|
||||||
STAIR:(18,05),down
|
|
||||||
# The altar atop the Tor and its attendant (creating altar makes the priest).
|
|
||||||
ALTAR:(17,05),neutral,shrine
|
|
||||||
# Objects
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
# All of the avenues are guarded by magic except for the East.
|
|
||||||
# South
|
|
||||||
TRAP:"magic",(08,11)
|
|
||||||
TRAP:"magic",(09,11)
|
|
||||||
TRAP:"magic",(10,11)
|
|
||||||
TRAP:"magic",(11,11)
|
|
||||||
TRAP:"magic",(12,11)
|
|
||||||
TRAP:"magic",(13,11)
|
|
||||||
TRAP:"magic",(14,11)
|
|
||||||
TRAP:"magic",(15,11)
|
|
||||||
TRAP:"magic",(16,11)
|
|
||||||
TRAP:"magic",(20,11)
|
|
||||||
TRAP:"magic",(21,11)
|
|
||||||
TRAP:"magic",(22,11)
|
|
||||||
TRAP:"magic",(23,11)
|
|
||||||
TRAP:"magic",(24,11)
|
|
||||||
TRAP:"magic",(25,11)
|
|
||||||
TRAP:"magic",(26,11)
|
|
||||||
TRAP:"magic",(27,11)
|
|
||||||
TRAP:"magic",(28,11)
|
|
||||||
# West
|
|
||||||
TRAP:"magic",(00,03)
|
|
||||||
TRAP:"magic",(00,04)
|
|
||||||
TRAP:"magic",(00,05)
|
|
||||||
TRAP:"magic",(00,06)
|
|
||||||
# North
|
|
||||||
TRAP:"magic",(06,00)
|
|
||||||
TRAP:"magic",(07,00)
|
|
||||||
TRAP:"magic",(08,00)
|
|
||||||
TRAP:"magic",(09,00)
|
|
||||||
TRAP:"magic",(10,00)
|
|
||||||
TRAP:"magic",(11,00)
|
|
||||||
TRAP:"magic",(12,00)
|
|
||||||
TRAP:"magic",(13,00)
|
|
||||||
TRAP:"magic",(14,00)
|
|
||||||
TRAP:"magic",(19,00)
|
|
||||||
TRAP:"magic",(20,00)
|
|
||||||
TRAP:"magic",(21,00)
|
|
||||||
TRAP:"magic",(22,00)
|
|
||||||
TRAP:"magic",(23,00)
|
|
||||||
TRAP:"magic",(24,00)
|
|
||||||
TRAP:"magic",(25,00)
|
|
||||||
TRAP:"magic",(26,00)
|
|
||||||
TRAP:"magic",(27,00)
|
|
||||||
TRAP:"magic",(28,00)
|
|
||||||
TRAP:"magic",(29,00)
|
|
||||||
TRAP:"magic",(30,00)
|
|
||||||
TRAP:"magic",(31,00)
|
|
||||||
TRAP:"magic",(32,00)
|
|
||||||
# Even so, there are magic "sinkholes" around.
|
|
||||||
TRAP:"anti magic",random
|
|
||||||
TRAP:"anti magic",random
|
|
||||||
TRAP:"anti magic",random
|
|
||||||
TRAP:"anti magic",random
|
|
||||||
TRAP:"anti magic",random
|
|
||||||
TRAP:"anti magic",random
|
|
||||||
TRAP:"anti magic",random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:'j',random,hostile
|
|
||||||
MONSTER:('j',"ochre jelly"),random,hostile
|
|
||||||
MONSTER:('j',"ochre jelly"),random,hostile
|
|
||||||
MONSTER:('j',"ochre jelly"),random,hostile
|
|
||||||
MONSTER:('j',"ochre jelly"),random,hostile
|
|
||||||
MONSTER:('j',"ochre jelly"),random,hostile
|
|
||||||
MONSTER:('j',"ochre jelly"),random,hostile
|
|
||||||
MONSTER:('j',"ochre jelly"),random,hostile
|
|
||||||
MONSTER:'j',random,hostile
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "goal" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet Ixoth your nemesis monster. You have to
|
|
||||||
# defeat Ixoth in combat to gain the artifact you have
|
|
||||||
# been assigned to retrieve.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Kni-goal", ' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
....PPPP..PPP..
|
|
||||||
.PPPPP...PP.. .......... .................................
|
|
||||||
..PPPPP...P.. ........... ...................................
|
|
||||||
..PPP....... ........... ......................................
|
|
||||||
...PPP....... ......... ............... .....................
|
|
||||||
........... ............ ............ ......................
|
|
||||||
............ ............. ....... .....................
|
|
||||||
.............................. .........................
|
|
||||||
............................... ..................................
|
|
||||||
............................. ....................................
|
|
||||||
......... ......................................................
|
|
||||||
.....PP... .....................................................
|
|
||||||
.....PPP.... ....................................................
|
|
||||||
......PPP.... .............. ....................................
|
|
||||||
.......PPP.... ............. .....................................
|
|
||||||
........PP... ............ ......................................
|
|
||||||
...PPP........ .......... ..................................
|
|
||||||
..PPPPP........ .......... ..............................
|
|
||||||
....PPPPP...... ......... ..........................
|
|
||||||
.......PPPP...
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,14,19),lit,"ordinary"
|
|
||||||
REGION:(15,00,75,19),unlit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(03,08),up
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# Objects
|
|
||||||
OBJECT:('(',"mirror"),(50,06),blessed,0,name:"The Magic Mirror of Merlin"
|
|
||||||
OBJECT:random,(33,01)
|
|
||||||
OBJECT:random,(33,02)
|
|
||||||
OBJECT:random,(33,03)
|
|
||||||
OBJECT:random,(33,04)
|
|
||||||
OBJECT:random,(33,05)
|
|
||||||
OBJECT:random,(34,01)
|
|
||||||
OBJECT:random,(34,02)
|
|
||||||
OBJECT:random,(34,03)
|
|
||||||
OBJECT:random,(34,04)
|
|
||||||
OBJECT:random,(34,05)
|
|
||||||
OBJECT:random,(35,01)
|
|
||||||
OBJECT:random,(35,02)
|
|
||||||
OBJECT:random,(35,03)
|
|
||||||
OBJECT:random,(35,04)
|
|
||||||
OBJECT:random,(35,05)
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:"spiked pit",(13,07)
|
|
||||||
TRAP:"spiked pit",(12,08)
|
|
||||||
TRAP:"spiked pit",(12,09)
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('D',"Ixoth"),(50,06),hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:('i',"quasit"),random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:('j',"ochre jelly"),random,hostile
|
|
||||||
MONSTER:('j',"ochre jelly"),random,hostile
|
|
||||||
MONSTER:('j',"ochre jelly"),random,hostile
|
|
||||||
MONSTER:('j',"ochre jelly"),random,hostile
|
|
||||||
MONSTER:('j',"ochre jelly"),random,hostile
|
|
||||||
MONSTER:('j',"ochre jelly"),random,hostile
|
|
||||||
MONSTER:('j',"ochre jelly"),random,hostile
|
|
||||||
MONSTER:('j',"ochre jelly"),random,hostile
|
|
||||||
MONSTER:'j',random,hostile
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "fill" levels for the quest.
|
|
||||||
#
|
|
||||||
# These levels are used to fill out any levels not occupied by specific
|
|
||||||
# levels as defined above. "filla" is the upper filler, between the
|
|
||||||
# start and locate levels, and "fillb" the lower between the locate
|
|
||||||
# and goal levels.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Kni-fila" , '.'
|
|
||||||
INIT_MAP: mines, '.' , 'P' , false , true , lit , false
|
|
||||||
NOMAP
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
MONSTER: ('i', "quasit"), random, hostile
|
|
||||||
MONSTER: ('i', "quasit"), random, hostile
|
|
||||||
MONSTER: ('i', "quasit"), random, hostile
|
|
||||||
MONSTER: ('i', "quasit"), random, hostile
|
|
||||||
MONSTER: 'i', random, hostile
|
|
||||||
MONSTER: ('j', "ochre jelly"), random, hostile
|
|
||||||
#
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
|
|
||||||
MAZE: "Kni-filb" , '.'
|
|
||||||
INIT_MAP: mines, '.' , 'P' , false , true , lit , false
|
|
||||||
NOMAP
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
MONSTER: ('i', "quasit"), random, hostile
|
|
||||||
MONSTER: ('i', "quasit"), random, hostile
|
|
||||||
MONSTER: ('i', "quasit"), random, hostile
|
|
||||||
MONSTER: ('i', "quasit"), random, hostile
|
|
||||||
MONSTER: 'i', random, hostile
|
|
||||||
MONSTER: ('j', "ochre jelly"), random, hostile
|
|
||||||
MONSTER: ('j', "ochre jelly"), random, hostile
|
|
||||||
MONSTER: ('j', "ochre jelly"), random, hostile
|
|
||||||
#
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
-- NetHack 3.6 Monk.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-2 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("up")
|
||||||
|
des.object()
|
||||||
|
des.monster({ class = "E", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.monster({ class = "E", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.object()
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("down")
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster({ class = "E", peaceful=0 })
|
||||||
|
des.monster("earth elemental")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster({ class = "X", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster("earth elemental")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.random_corridors()
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
-- NetHack 3.6 Monk.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-2 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("up")
|
||||||
|
des.object()
|
||||||
|
des.monster({ class = "X", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.monster({ class = "X", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.object()
|
||||||
|
des.monster({ class = "E", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("down")
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster({ class = "E", peaceful=0 })
|
||||||
|
des.monster("earth elemental")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster({ class = "X", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster("earth elemental")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.random_corridors()
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
-- NetHack 3.6 Monk.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-2 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
-- des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg="L", bg=".", smoothed=false, joined=false, lit=0, walled=false })
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
xxxxxx..xxxxxx...xxxxxxxxx
|
||||||
|
xxxx......xx......xxxxxxxx
|
||||||
|
xx.xx.............xxxxxxxx
|
||||||
|
x....................xxxxx
|
||||||
|
......................xxxx
|
||||||
|
......................xxxx
|
||||||
|
xx........................
|
||||||
|
xxx......................x
|
||||||
|
xxx................xxxxxxx
|
||||||
|
xxxx.....x.xx.......xxxxxx
|
||||||
|
xxxxx...xxxxxx....xxxxxxxx
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
local place = { {14,04},{13,07} }
|
||||||
|
local placeidx = math.random(1, #place);
|
||||||
|
|
||||||
|
des.region(selection.area(00,00,25,10), "unlit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 20,05)
|
||||||
|
-- Objects
|
||||||
|
des.object({ id = "lenses", coord = place[placeidx], buc="blessed", spe=0, name="The Eyes of the Overworld" })
|
||||||
|
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()
|
||||||
|
-- Random traps
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster("Master Kaen",place[placeidx])
|
||||||
|
des.altar({ coord = place[placeidx], align="noalign", type="altar" })
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
-- NetHack 3.6 Monk.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-2 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
-- 1 2 3 4 5 6 7
|
||||||
|
--123456789012345678901234567890123456789012345678901234567890123456789012345
|
||||||
|
des.map([[
|
||||||
|
---------------------------------------------------- --------
|
||||||
|
---.................................................- --.....|
|
||||||
|
---...--------........------........................--- ---...|
|
||||||
|
---.....- --.......- ----..................---- --.--
|
||||||
|
---.....---- --------- --..................-- --..|
|
||||||
|
---...----- ----.----.....----.....--- --..||
|
||||||
|
----..---- -----..--- |...--- |.......--- --...|
|
||||||
|
|...--- ----....--- |.--- |.........-- --...||
|
||||||
|
|...- ----.....--- ---- |..........---....|
|
||||||
|
|...---- ----......--- | |...|.......-....||
|
||||||
|
|......----- ---.........- | -----...|............|
|
||||||
|
|..........----- ----...........--- -------......||...........||
|
||||||
|
|..............-----................--- |............|||..........|
|
||||||
|
|-S----...............................--- |...........|| |.........||
|
||||||
|
|.....|..............------.............-----..........|| ||........|
|
||||||
|
|.....|.............-- ---.........................|| |.......||
|
||||||
|
|.....|.............- ---.....................--| ||......|
|
||||||
|
|---S--------.......---- --.................---- |.....||
|
||||||
|
|...........|..........--------..............----- ||....|
|
||||||
|
|...........|............................----- |....|
|
||||||
|
------------------------------------------ ------
|
||||||
|
]]);
|
||||||
|
-- Random Monsters
|
||||||
|
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,20), "lit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,20))
|
||||||
|
-- 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()
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("earth elemental")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
|
des.monster("xorn")
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
-- NetHack 3.6 Monk.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-2 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- The "start" level for the quest.
|
||||||
|
--
|
||||||
|
-- Here you meet your (besieged) class leader, the Grand Master
|
||||||
|
-- and receive your quest assignment.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "hardfloor")
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
....................------------------------------------....................
|
||||||
|
....................|................|.....|.....|.....|....................
|
||||||
|
....................|..------------..|--+-----+-----+--|....................
|
||||||
|
....................|..|..........|..|.................|....................
|
||||||
|
....................|..|..........|..|+---+---+-----+--|....................
|
||||||
|
..................---..|..........|......|...|...|.....|....................
|
||||||
|
..................+....|..........+......|...|...|.....|....................
|
||||||
|
..................+....|..........+......|...|...|.....|....................
|
||||||
|
..................---..|..........|......|...|...|.....|....................
|
||||||
|
....................|..|..........|..|+-----+---+---+--|....................
|
||||||
|
....................|..|..........|..|.................|....................
|
||||||
|
....................|..------------..|--+-----+-----+--|....................
|
||||||
|
....................|................|.....|.....|.....|....................
|
||||||
|
....................------------------------------------....................
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
des.region({ region={24,06, 33,13}, lit=1, type="temple" })
|
||||||
|
|
||||||
|
des.replace_terrain({ region={00,00, 10,19}, fromterrain=".", toterrain="T", chance=10 })
|
||||||
|
des.replace_terrain({ region={65,00, 75,19}, fromterrain=".", toterrain="T", chance=10 })
|
||||||
|
|
||||||
|
-- Portal arrival point
|
||||||
|
des.terrain({05,04}, ".")
|
||||||
|
des.levregion({ region = {05,04,05,04}, type="branch" })
|
||||||
|
-- Stairs
|
||||||
|
des.stair("down", 52,09)
|
||||||
|
-- Doors
|
||||||
|
des.door("locked",18,09)
|
||||||
|
des.door("locked",18,10)
|
||||||
|
des.door("closed",34,09)
|
||||||
|
des.door("closed",34,10)
|
||||||
|
des.door("closed",40,05)
|
||||||
|
des.door("closed",46,05)
|
||||||
|
des.door("closed",52,05)
|
||||||
|
des.door("locked",38,07)
|
||||||
|
des.door("closed",42,07)
|
||||||
|
des.door("closed",46,07)
|
||||||
|
des.door("closed",52,07)
|
||||||
|
des.door("locked",38,12)
|
||||||
|
des.door("closed",44,12)
|
||||||
|
des.door("closed",48,12)
|
||||||
|
des.door("closed",52,12)
|
||||||
|
des.door("closed",40,14)
|
||||||
|
des.door("closed",46,14)
|
||||||
|
des.door("closed",52,14)
|
||||||
|
-- Unattended Altar - unaligned due to conflict - player must align it.
|
||||||
|
des.altar({ x=28,y=09, align="noalign", type="altar" })
|
||||||
|
-- The Grand Master
|
||||||
|
des.monster("Grand Master", 28, 10)
|
||||||
|
-- No treasure chest!
|
||||||
|
-- guards for the audience chamber
|
||||||
|
des.monster("abbot", 32, 07)
|
||||||
|
des.monster("abbot", 32, 08)
|
||||||
|
des.monster("abbot", 32, 11)
|
||||||
|
des.monster("abbot", 32, 12)
|
||||||
|
des.monster("abbot", 33, 07)
|
||||||
|
des.monster("abbot", 33, 08)
|
||||||
|
des.monster("abbot", 33, 11)
|
||||||
|
des.monster("abbot", 33, 12)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(18,03,55,16))
|
||||||
|
-- Random traps
|
||||||
|
des.trap("dart",20,09)
|
||||||
|
des.trap("dart",20,10)
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Monsters on siege duty.
|
||||||
|
des.monster("earth elemental", 37, 01)
|
||||||
|
des.monster("earth elemental", 37, 18)
|
||||||
|
des.monster("earth elemental", 03, 03)
|
||||||
|
des.monster("earth elemental", 65, 04)
|
||||||
|
des.monster("earth elemental", 12, 11)
|
||||||
|
des.monster("earth elemental", 60, 12)
|
||||||
|
des.monster("earth elemental", 14, 08)
|
||||||
|
des.monster("earth elemental", 55, 00)
|
||||||
|
des.monster("xorn", 18, 18)
|
||||||
|
des.monster("xorn", 59, 10)
|
||||||
|
des.monster("xorn", 13, 09)
|
||||||
|
des.monster("xorn", 01, 17)
|
||||||
-378
@@ -1,378 +0,0 @@
|
|||||||
# NetHack 3.6 Monk.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $
|
|
||||||
# Copyright (c) 1989 by Jean-Christophe Collet
|
|
||||||
# Copyright (c) 1991-2 by M. Stephenson
|
|
||||||
# NetHack may be freely redistributed. See license for details.
|
|
||||||
#
|
|
||||||
# The "start" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet your (besieged) class leader, the Grand Master
|
|
||||||
# and receive your quest assignment.
|
|
||||||
#
|
|
||||||
MAZE: "Mon-strt",' '
|
|
||||||
FLAGS: noteleport,hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
....................------------------------------------....................
|
|
||||||
....................|................|.....|.....|.....|....................
|
|
||||||
....................|..------------..|--+-----+-----+--|....................
|
|
||||||
....................|..|..........|..|.................|....................
|
|
||||||
....................|..|..........|..|+---+---+-----+--|....................
|
|
||||||
..................---..|..........|......|...|...|.....|....................
|
|
||||||
..................+....|..........+......|...|...|.....|....................
|
|
||||||
..................+....|..........+......|...|...|.....|....................
|
|
||||||
..................---..|..........|......|...|...|.....|....................
|
|
||||||
....................|..|..........|..|+-----+---+---+--|....................
|
|
||||||
....................|..|..........|..|.................|....................
|
|
||||||
....................|..------------..|--+-----+-----+--|....................
|
|
||||||
....................|................|.....|.....|.....|....................
|
|
||||||
....................------------------------------------....................
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
REGION:(24,06,33,13),lit,"temple"
|
|
||||||
|
|
||||||
REPLACE_TERRAIN:(0,0,10,19),'.','T',10%
|
|
||||||
REPLACE_TERRAIN:(65,0,75,19),'.','T',10%
|
|
||||||
|
|
||||||
# Portal arrival point
|
|
||||||
TERRAIN:(05,04),'.'
|
|
||||||
BRANCH:(05,04,05,04),(0,0,0,0)
|
|
||||||
# Stairs
|
|
||||||
STAIR:(52,09),down
|
|
||||||
# Doors
|
|
||||||
DOOR:locked,(18,09)
|
|
||||||
DOOR:locked,(18,10)
|
|
||||||
DOOR:closed,(34,09)
|
|
||||||
DOOR:closed,(34,10)
|
|
||||||
DOOR:closed,(40,05)
|
|
||||||
DOOR:closed,(46,05)
|
|
||||||
DOOR:closed,(52,05)
|
|
||||||
DOOR:locked,(38,07)
|
|
||||||
DOOR:closed,(42,07)
|
|
||||||
DOOR:closed,(46,07)
|
|
||||||
DOOR:closed,(52,07)
|
|
||||||
DOOR:locked,(38,12)
|
|
||||||
DOOR:closed,(44,12)
|
|
||||||
DOOR:closed,(48,12)
|
|
||||||
DOOR:closed,(52,12)
|
|
||||||
DOOR:closed,(40,14)
|
|
||||||
DOOR:closed,(46,14)
|
|
||||||
DOOR:closed,(52,14)
|
|
||||||
# Unattended Altar - unaligned due to conflict - player must align it.
|
|
||||||
ALTAR:(28,09),noalign,altar
|
|
||||||
# The Grand Master
|
|
||||||
MONSTER:('@',"Grand Master"),(28,10)
|
|
||||||
# No treasure chest!
|
|
||||||
# guards for the audience chamber
|
|
||||||
MONSTER:('@',"abbot"),(32,07)
|
|
||||||
MONSTER:('@',"abbot"),(32,08)
|
|
||||||
MONSTER:('@',"abbot"),(32,11)
|
|
||||||
MONSTER:('@',"abbot"),(32,12)
|
|
||||||
MONSTER:('@',"abbot"),(33,07)
|
|
||||||
MONSTER:('@',"abbot"),(33,08)
|
|
||||||
MONSTER:('@',"abbot"),(33,11)
|
|
||||||
MONSTER:('@',"abbot"),(33,12)
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(18,03,55,16)
|
|
||||||
# Random traps
|
|
||||||
TRAP:"dart",(20,09)
|
|
||||||
TRAP:"dart",(20,10)
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Monsters on siege duty.
|
|
||||||
MONSTER: ('E',"earth elemental"),(37,01)
|
|
||||||
MONSTER: ('E',"earth elemental"),(37,18)
|
|
||||||
MONSTER: ('E',"earth elemental"),(03,03)
|
|
||||||
MONSTER: ('E',"earth elemental"),(65,04)
|
|
||||||
MONSTER: ('E',"earth elemental"),(12,11)
|
|
||||||
MONSTER: ('E',"earth elemental"),(60,12)
|
|
||||||
MONSTER: ('E',"earth elemental"),(14,08)
|
|
||||||
MONSTER: ('E',"earth elemental"),(55,00)
|
|
||||||
MONSTER: ('X',"xorn"),(18,18)
|
|
||||||
MONSTER: ('X',"xorn"),(59,10)
|
|
||||||
MONSTER: ('X',"xorn"),(13,09)
|
|
||||||
MONSTER: ('X',"xorn"),(01,17)
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "locate" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you have to locate the Monastery of the Earth-Lord to
|
|
||||||
# go further towards your assigned quest.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Mon-loca",' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
# 1 2 3 4 5 6 7
|
|
||||||
#123456789012345678901234567890123456789012345678901234567890123456789012345
|
|
||||||
MAP
|
|
||||||
---------------------------------------------------- --------
|
|
||||||
---.................................................- --.....|
|
|
||||||
---...--------........------........................--- ---...|
|
|
||||||
---.....- --.......- ----..................---- --.--
|
|
||||||
---.....---- --------- --..................-- --..|
|
|
||||||
---...----- ----.----.....----.....--- --..||
|
|
||||||
----..---- -----..--- |...--- |.......--- --...|
|
|
||||||
|...--- ----....--- |.--- |.........-- --...||
|
|
||||||
|...- ----.....--- ---- |..........---....|
|
|
||||||
|...---- ----......--- | |...|.......-....||
|
|
||||||
|......----- ---.........- | -----...|............|
|
|
||||||
|..........----- ----...........--- -------......||...........||
|
|
||||||
|..............-----................--- |............|||..........|
|
|
||||||
|-S----...............................--- |...........|| |.........||
|
|
||||||
|.....|..............------.............-----..........|| ||........|
|
|
||||||
|.....|.............-- ---.........................|| |.......||
|
|
||||||
|.....|.............- ---.....................--| ||......|
|
|
||||||
|---S--------.......---- --.................---- |.....||
|
|
||||||
|...........|..........--------..............----- ||....|
|
|
||||||
|...........|............................----- |....|
|
|
||||||
------------------------------------------ ------
|
|
||||||
ENDMAP
|
|
||||||
# Random Monsters
|
|
||||||
$monster = monster: { 'E', 'X' }
|
|
||||||
SHUFFLE: $monster
|
|
||||||
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,20),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:random,up
|
|
||||||
STAIR:random,down
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,20)
|
|
||||||
# Objects
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "goal" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet Master Kaen, your nemesis monster. You have to
|
|
||||||
# defeat Master Kaen in combat to gain the artifact you have
|
|
||||||
# been assigned to retrieve.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Mon-goal", ' '
|
|
||||||
INIT_MAP: mines, 'L' , '.' , false , false , unlit , false
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
xxxxxx..xxxxxx...xxxxxxxxx
|
|
||||||
xxxx......xx......xxxxxxxx
|
|
||||||
xx.xx.............xxxxxxxx
|
|
||||||
x....................xxxxx
|
|
||||||
......................xxxx
|
|
||||||
......................xxxx
|
|
||||||
xx........................
|
|
||||||
xxx......................x
|
|
||||||
xxx................xxxxxxx
|
|
||||||
xxxx.....x.xx.......xxxxxx
|
|
||||||
xxxxx...xxxxxx....xxxxxxxx
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
$place = { (14,04),(13,07) }
|
|
||||||
SHUFFLE: $place
|
|
||||||
|
|
||||||
REGION:(00,00,25,10),unlit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(20,05),up
|
|
||||||
# Objects
|
|
||||||
OBJECT:('(',"lenses"),$place[0],blessed,0,name:"The Eyes of the Overworld"
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('@',"Master Kaen"),$place[0]
|
|
||||||
ALTAR:$place[0],noalign,altar
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('E',"earth elemental"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
MONSTER: ('X',"xorn"),random
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "fill" levels for the quest.
|
|
||||||
#
|
|
||||||
# These levels are used to fill out any levels not occupied by specific
|
|
||||||
# levels as defined above. "fila" is the upper filler, between the
|
|
||||||
# start and locate levels, and "filb" the lower between the locate
|
|
||||||
# and goal levels.
|
|
||||||
#
|
|
||||||
|
|
||||||
LEVEL: "Mon-fila"
|
|
||||||
# Random Monsters
|
|
||||||
$monster = monster: { 'E', 'X' }
|
|
||||||
SHUFFLE: $monster
|
|
||||||
|
|
||||||
#
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, up
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'E', random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'E', random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: ('X', "xorn"), random
|
|
||||||
MONSTER: ('E', "earth elemental"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, down
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'E', random, hostile
|
|
||||||
MONSTER: ('E', "earth elemental"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'X', random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: ('E', "earth elemental"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
RANDOM_CORRIDORS
|
|
||||||
|
|
||||||
LEVEL: "Mon-filb"
|
|
||||||
# Random Monsters
|
|
||||||
$monster = monster: { 'E', 'X' }
|
|
||||||
SHUFFLE: $monster
|
|
||||||
|
|
||||||
#
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, up
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'X', random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'X', random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'E', random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, down
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'E', random, hostile
|
|
||||||
MONSTER: ('E', "earth elemental"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'X', random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: ('E', "earth elemental"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
RANDOM_CORRIDORS
|
|
||||||
|
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
-- NetHack 3.6 Priest.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-2 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("up")
|
||||||
|
des.object()
|
||||||
|
des.monster("human zombie")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.object()
|
||||||
|
des.monster("human zombie")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "morgue",
|
||||||
|
contents = function()
|
||||||
|
des.stair("down")
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster("wraith")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "morgue",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.random_corridors()
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
-- NetHack 3.6 Priest.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-2 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("up")
|
||||||
|
des.object()
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("wraith")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "morgue",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.object()
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("wraith")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "morgue",
|
||||||
|
contents = function()
|
||||||
|
des.stair("down")
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("wraith")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
des.room({ type = "morgue",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.random_corridors()
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
-- NetHack 3.6 Priest.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-2 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg="L", bg=".", smoothed=false, joined=false, lit=0, walled=false })
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
xxxxxx..xxxxxx...xxxxxxxxx
|
||||||
|
xxxx......xx......xxxxxxxx
|
||||||
|
xx.xx.............xxxxxxxx
|
||||||
|
x....................xxxxx
|
||||||
|
......................xxxx
|
||||||
|
......................xxxx
|
||||||
|
xx........................
|
||||||
|
xxx......................x
|
||||||
|
xxx................xxxxxxx
|
||||||
|
xxxx.....x.xx.......xxxxxx
|
||||||
|
xxxxx...xxxxxx....xxxxxxxx
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
local place = { {14,04}, {13,07} }
|
||||||
|
local placeidx = math.random(1, #place);
|
||||||
|
|
||||||
|
des.region(selection.area(00,00,25,10), "unlit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 20,05)
|
||||||
|
-- Objects
|
||||||
|
des.object({ id = "helm of brilliance", coord = place[placeidx], buc="blessed", spe=0, name="The Mitre of Holiness" })
|
||||||
|
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()
|
||||||
|
-- Random traps
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster("Nalzok",place[placeidx])
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("human zombie")
|
||||||
|
des.monster("Z")
|
||||||
|
des.monster("Z")
|
||||||
|
des.monster("wraith")
|
||||||
|
des.monster("wraith")
|
||||||
|
des.monster("wraith")
|
||||||
|
des.monster("wraith")
|
||||||
|
des.monster("wraith")
|
||||||
|
des.monster("wraith")
|
||||||
|
des.monster("wraith")
|
||||||
|
des.monster("wraith")
|
||||||
|
des.monster("W")
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
-- NetHack 3.6 Priest.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-2 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "hardfloor")
|
||||||
|
-- This is a kludge to init the level as a lit field.
|
||||||
|
des.level_init({ style="mines", fg=".", bg=".", smoothed=false, joined=false, lit=1, walled=false })
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
........................................
|
||||||
|
........................................
|
||||||
|
..........----------+----------.........
|
||||||
|
..........|........|.|........|.........
|
||||||
|
..........|........|.|........|.........
|
||||||
|
..........|----.----.----.----|.........
|
||||||
|
..........+...................+.........
|
||||||
|
..........+...................+.........
|
||||||
|
..........|----.----.----.----|.........
|
||||||
|
..........|........|.|........|.........
|
||||||
|
..........|........|.|........|.........
|
||||||
|
..........----------+----------.........
|
||||||
|
........................................
|
||||||
|
........................................
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region({ region={00,00, 09,13}, lit=0, type="morgue", prefilled=0 })
|
||||||
|
des.region({ region={09,00, 30,01}, lit=0, type="morgue", prefilled=0 })
|
||||||
|
des.region({ region={09,12, 30,13}, lit=0, type="morgue", prefilled=0 })
|
||||||
|
des.region({ region={31,00, 39,13}, lit=0, type="morgue", prefilled=0 })
|
||||||
|
des.region({ region={11,03, 29,10}, lit=1, type="temple", prefilled=0, irregular=1 })
|
||||||
|
-- The altar inside the temple
|
||||||
|
des.altar({ x=20,y=07, align="noalign", type="shrine" })
|
||||||
|
des.monster({ id = "aligned priest", x=20, y=07, align="noalign", peaceful = 0 })
|
||||||
|
-- Doors
|
||||||
|
des.door("locked",10,06)
|
||||||
|
des.door("locked",10,07)
|
||||||
|
des.door("locked",20,02)
|
||||||
|
des.door("locked",20,11)
|
||||||
|
des.door("locked",30,06)
|
||||||
|
des.door("locked",30,07)
|
||||||
|
-- Stairs
|
||||||
|
-- Note: The up stairs are *intentionally* off of the map.
|
||||||
|
des.stair("up", 43,05)
|
||||||
|
des.stair("down", 20,06)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(10,02,30,13))
|
||||||
|
-- Objects (inside the antechambers).
|
||||||
|
des.object({ coord = { 14, 03 } })
|
||||||
|
des.object({ coord = { 15, 03 } })
|
||||||
|
des.object({ coord = { 16, 03 } })
|
||||||
|
des.object({ coord = { 14, 10 } })
|
||||||
|
des.object({ coord = { 15, 10 } })
|
||||||
|
des.object({ coord = { 16, 10 } })
|
||||||
|
des.object({ coord = { 17, 10 } })
|
||||||
|
des.object({ coord = { 24, 03 } })
|
||||||
|
des.object({ coord = { 25, 03 } })
|
||||||
|
des.object({ coord = { 26, 03 } })
|
||||||
|
des.object({ coord = { 27, 03 } })
|
||||||
|
des.object({ coord = { 24, 10 } })
|
||||||
|
des.object({ coord = { 25, 10 } })
|
||||||
|
des.object({ coord = { 26, 10 } })
|
||||||
|
des.object({ coord = { 27, 10 } })
|
||||||
|
-- Random traps
|
||||||
|
des.trap({ coord = { 15,04 } })
|
||||||
|
des.trap({ coord = { 25,04 } })
|
||||||
|
des.trap({ coord = { 15,09 } })
|
||||||
|
des.trap({ coord = { 25,09 } })
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- No random monsters - the morgue generation will put them in.
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
-- NetHack 3.6 Priest.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-2 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- The "start" level for the quest.
|
||||||
|
--
|
||||||
|
-- Here you meet your (besieged) class leader, High Priest
|
||||||
|
-- and receive your quest assignment.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "hardfloor")
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
....................------------------------------------....................
|
||||||
|
....................|................|.....|.....|.....|....................
|
||||||
|
....................|..------------..|--+-----+-----+--|....................
|
||||||
|
....................|..|..........|..|.................|....................
|
||||||
|
....................|..|..........|..|+---+---+-----+--|....................
|
||||||
|
..................---..|..........|......|...|...|.....|....................
|
||||||
|
..................+....|..........+......|...|...|.....|....................
|
||||||
|
..................+....|..........+......|...|...|.....|....................
|
||||||
|
..................---..|..........|......|...|...|.....|....................
|
||||||
|
....................|..|..........|..|+-----+---+---+--|....................
|
||||||
|
....................|..|..........|..|.................|....................
|
||||||
|
....................|..------------..|--+-----+-----+--|....................
|
||||||
|
....................|................|.....|.....|.....|....................
|
||||||
|
....................------------------------------------....................
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
des.region({ region={24,06, 33,13}, lit=1, type="temple" })
|
||||||
|
|
||||||
|
des.replace_terrain({ region={00,00, 10,19}, fromterrain=".", toterrain="T", chance=10 })
|
||||||
|
des.replace_terrain({ region={65,00, 75,19}, fromterrain=".", toterrain="T", chance=10 })
|
||||||
|
des.terrain({05,04}, ".")
|
||||||
|
|
||||||
|
-- Portal arrival point
|
||||||
|
des.levregion({ region = {05,04,05,04}, type="branch" })
|
||||||
|
-- Stairs
|
||||||
|
des.stair("down", 52,09)
|
||||||
|
-- Doors
|
||||||
|
des.door("locked",18,09)
|
||||||
|
des.door("locked",18,10)
|
||||||
|
des.door("closed",34,09)
|
||||||
|
des.door("closed",34,10)
|
||||||
|
des.door("closed",40,05)
|
||||||
|
des.door("closed",46,05)
|
||||||
|
des.door("closed",52,05)
|
||||||
|
des.door("locked",38,07)
|
||||||
|
des.door("closed",42,07)
|
||||||
|
des.door("closed",46,07)
|
||||||
|
des.door("closed",52,07)
|
||||||
|
des.door("locked",38,12)
|
||||||
|
des.door("closed",44,12)
|
||||||
|
des.door("closed",48,12)
|
||||||
|
des.door("closed",52,12)
|
||||||
|
des.door("closed",40,14)
|
||||||
|
des.door("closed",46,14)
|
||||||
|
des.door("closed",52,14)
|
||||||
|
-- Unattended Altar - unaligned due to conflict - player must align it.
|
||||||
|
des.altar({ x=28, y=09, align="noalign", type="altar" })
|
||||||
|
-- High Priest
|
||||||
|
des.monster("Arch Priest", 28, 10)
|
||||||
|
-- The treasure of High Priest
|
||||||
|
des.object("chest", 27, 10)
|
||||||
|
-- knight guards for the audience chamber
|
||||||
|
des.monster("acolyte", 32, 07)
|
||||||
|
des.monster("acolyte", 32, 08)
|
||||||
|
des.monster("acolyte", 32, 11)
|
||||||
|
des.monster("acolyte", 32, 12)
|
||||||
|
des.monster("acolyte", 33, 07)
|
||||||
|
des.monster("acolyte", 33, 08)
|
||||||
|
des.monster("acolyte", 33, 11)
|
||||||
|
des.monster("acolyte", 33, 12)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(18,03,55,16))
|
||||||
|
-- Random traps
|
||||||
|
des.trap("dart",20,09)
|
||||||
|
des.trap("dart",20,10)
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Monsters on siege duty.
|
||||||
|
des.monster("human zombie", 37, 01)
|
||||||
|
des.monster("human zombie", 37, 18)
|
||||||
|
des.monster("human zombie", 03, 03)
|
||||||
|
des.monster("human zombie", 65, 04)
|
||||||
|
des.monster("human zombie", 12, 11)
|
||||||
|
des.monster("human zombie", 60, 12)
|
||||||
|
des.monster("human zombie", 14, 08)
|
||||||
|
des.monster("human zombie", 55, 00)
|
||||||
|
des.monster("human zombie", 18, 18)
|
||||||
|
des.monster("human zombie", 59, 10)
|
||||||
|
des.monster("human zombie", 13, 09)
|
||||||
|
des.monster("human zombie", 01, 17)
|
||||||
-356
@@ -1,356 +0,0 @@
|
|||||||
# NetHack 3.6 Priest.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
|
||||||
# Copyright (c) 1989 by Jean-Christophe Collet
|
|
||||||
# Copyright (c) 1991-2 by M. Stephenson
|
|
||||||
# NetHack may be freely redistributed. See license for details.
|
|
||||||
#
|
|
||||||
# The "start" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet your (besieged) class leader, High Priest
|
|
||||||
# and receive your quest assignment.
|
|
||||||
#
|
|
||||||
MAZE: "Pri-strt",' '
|
|
||||||
FLAGS: noteleport,hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
....................------------------------------------....................
|
|
||||||
....................|................|.....|.....|.....|....................
|
|
||||||
....................|..------------..|--+-----+-----+--|....................
|
|
||||||
....................|..|..........|..|.................|....................
|
|
||||||
....................|..|..........|..|+---+---+-----+--|....................
|
|
||||||
..................---..|..........|......|...|...|.....|....................
|
|
||||||
..................+....|..........+......|...|...|.....|....................
|
|
||||||
..................+....|..........+......|...|...|.....|....................
|
|
||||||
..................---..|..........|......|...|...|.....|....................
|
|
||||||
....................|..|..........|..|+-----+---+---+--|....................
|
|
||||||
....................|..|..........|..|.................|....................
|
|
||||||
....................|..------------..|--+-----+-----+--|....................
|
|
||||||
....................|................|.....|.....|.....|....................
|
|
||||||
....................------------------------------------....................
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
REGION:(24,06,33,13),lit,"temple"
|
|
||||||
|
|
||||||
REPLACE_TERRAIN:(0,0,10,19),'.','T',10%
|
|
||||||
REPLACE_TERRAIN:(65,0,75,19),'.','T',10%
|
|
||||||
TERRAIN:(05,04),'.'
|
|
||||||
|
|
||||||
# Portal arrival point
|
|
||||||
BRANCH:(05,04,05,04),(0,0,0,0)
|
|
||||||
# Stairs
|
|
||||||
STAIR:(52,09),down
|
|
||||||
# Doors
|
|
||||||
DOOR:locked,(18,09)
|
|
||||||
DOOR:locked,(18,10)
|
|
||||||
DOOR:closed,(34,09)
|
|
||||||
DOOR:closed,(34,10)
|
|
||||||
DOOR:closed,(40,05)
|
|
||||||
DOOR:closed,(46,05)
|
|
||||||
DOOR:closed,(52,05)
|
|
||||||
DOOR:locked,(38,07)
|
|
||||||
DOOR:closed,(42,07)
|
|
||||||
DOOR:closed,(46,07)
|
|
||||||
DOOR:closed,(52,07)
|
|
||||||
DOOR:locked,(38,12)
|
|
||||||
DOOR:closed,(44,12)
|
|
||||||
DOOR:closed,(48,12)
|
|
||||||
DOOR:closed,(52,12)
|
|
||||||
DOOR:closed,(40,14)
|
|
||||||
DOOR:closed,(46,14)
|
|
||||||
DOOR:closed,(52,14)
|
|
||||||
# Unattended Altar - unaligned due to conflict - player must align it.
|
|
||||||
ALTAR:(28,09),noalign,altar
|
|
||||||
# High Priest
|
|
||||||
MONSTER:('@',"Arch Priest"),(28,10)
|
|
||||||
# The treasure of High Priest
|
|
||||||
OBJECT:('(',"chest"),(27,10)
|
|
||||||
# knight guards for the audience chamber
|
|
||||||
MONSTER:('@',"acolyte"),(32,07)
|
|
||||||
MONSTER:('@',"acolyte"),(32,08)
|
|
||||||
MONSTER:('@',"acolyte"),(32,11)
|
|
||||||
MONSTER:('@',"acolyte"),(32,12)
|
|
||||||
MONSTER:('@',"acolyte"),(33,07)
|
|
||||||
MONSTER:('@',"acolyte"),(33,08)
|
|
||||||
MONSTER:('@',"acolyte"),(33,11)
|
|
||||||
MONSTER:('@',"acolyte"),(33,12)
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(18,03,55,16)
|
|
||||||
# Random traps
|
|
||||||
TRAP:"dart",(20,09)
|
|
||||||
TRAP:"dart",(20,10)
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Monsters on siege duty.
|
|
||||||
MONSTER: ('Z',"human zombie"),(37,01)
|
|
||||||
MONSTER: ('Z',"human zombie"),(37,18)
|
|
||||||
MONSTER: ('Z',"human zombie"),(03,03)
|
|
||||||
MONSTER: ('Z',"human zombie"),(65,04)
|
|
||||||
MONSTER: ('Z',"human zombie"),(12,11)
|
|
||||||
MONSTER: ('Z',"human zombie"),(60,12)
|
|
||||||
MONSTER: ('Z',"human zombie"),(14,08)
|
|
||||||
MONSTER: ('Z',"human zombie"),(55,00)
|
|
||||||
MONSTER: ('Z',"human zombie"),(18,18)
|
|
||||||
MONSTER: ('Z',"human zombie"),(59,10)
|
|
||||||
MONSTER: ('Z',"human zombie"),(13,09)
|
|
||||||
MONSTER: ('Z',"human zombie"),(01,17)
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "locate" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you have to locate the Temple of Nalzok to go
|
|
||||||
# further towards your assigned quest.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Pri-loca",' '
|
|
||||||
FLAGS: hardfloor
|
|
||||||
# This is a kludge to init the level as a lit field.
|
|
||||||
INIT_MAP: mines, '.' , '.' , false , false , lit , false
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
........................................
|
|
||||||
........................................
|
|
||||||
..........----------+----------.........
|
|
||||||
..........|........|.|........|.........
|
|
||||||
..........|........|.|........|.........
|
|
||||||
..........|----.----.----.----|.........
|
|
||||||
..........+...................+.........
|
|
||||||
..........+...................+.........
|
|
||||||
..........|----.----.----.----|.........
|
|
||||||
..........|........|.|........|.........
|
|
||||||
..........|........|.|........|.........
|
|
||||||
..........----------+----------.........
|
|
||||||
........................................
|
|
||||||
........................................
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,09,13),unlit,"morgue"
|
|
||||||
REGION:(09,00,30,01),unlit,"morgue"
|
|
||||||
REGION:(09,12,30,13),unlit,"morgue"
|
|
||||||
REGION:(31,00,39,13),unlit,"morgue"
|
|
||||||
REGION:(11,03,29,10),lit,"temple",filled,irregular
|
|
||||||
# The altar inside the temple
|
|
||||||
ALTAR:(20,07),noalign,shrine
|
|
||||||
MONSTER:('@',"aligned priest"),(20,07),noalign,hostile
|
|
||||||
# Doors
|
|
||||||
DOOR:locked,(10,06)
|
|
||||||
DOOR:locked,(10,07)
|
|
||||||
DOOR:locked,(20,02)
|
|
||||||
DOOR:locked,(20,11)
|
|
||||||
DOOR:locked,(30,06)
|
|
||||||
DOOR:locked,(30,07)
|
|
||||||
# Stairs
|
|
||||||
# Note: The up stairs are *intentionally* off of the map.
|
|
||||||
STAIR:(43,05),up
|
|
||||||
STAIR:(20,06),down
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(10,02,30,13)
|
|
||||||
# Objects (inside the antechambers).
|
|
||||||
OBJECT:random,(14,03)
|
|
||||||
OBJECT:random,(15,03)
|
|
||||||
OBJECT:random,(16,03)
|
|
||||||
OBJECT:random,(14,10)
|
|
||||||
OBJECT:random,(15,10)
|
|
||||||
OBJECT:random,(16,10)
|
|
||||||
OBJECT:random,(17,10)
|
|
||||||
OBJECT:random,(24,03)
|
|
||||||
OBJECT:random,(25,03)
|
|
||||||
OBJECT:random,(26,03)
|
|
||||||
OBJECT:random,(27,03)
|
|
||||||
OBJECT:random,(24,10)
|
|
||||||
OBJECT:random,(25,10)
|
|
||||||
OBJECT:random,(26,10)
|
|
||||||
OBJECT:random,(27,10)
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,(15,04)
|
|
||||||
TRAP:random,(25,04)
|
|
||||||
TRAP:random,(15,09)
|
|
||||||
TRAP:random,(25,09)
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# No random monsters - the morgue generation will put them in.
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "goal" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet Nalzok your nemesis monster. You have to
|
|
||||||
# defeat Nalzok in combat to gain the artifact you have
|
|
||||||
# been assigned to retrieve.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Pri-goal", ' '
|
|
||||||
INIT_MAP: mines, 'L' , '.' , false , false , unlit , false
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
xxxxxx..xxxxxx...xxxxxxxxx
|
|
||||||
xxxx......xx......xxxxxxxx
|
|
||||||
xx.xx.............xxxxxxxx
|
|
||||||
x....................xxxxx
|
|
||||||
......................xxxx
|
|
||||||
......................xxxx
|
|
||||||
xx........................
|
|
||||||
xxx......................x
|
|
||||||
xxx................xxxxxxx
|
|
||||||
xxxx.....x.xx.......xxxxxx
|
|
||||||
xxxxx...xxxxxx....xxxxxxxx
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
$place = { (14,04),(13,07) }
|
|
||||||
SHUFFLE: $place
|
|
||||||
|
|
||||||
REGION:(00,00,25,10),unlit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(20,05),up
|
|
||||||
# Objects
|
|
||||||
OBJECT:('[',"helm of brilliance"),$place[0],blessed,0,name:"The Mitre of Holiness"
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('&',"Nalzok"),$place[0]
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:('Z',"human zombie"),random
|
|
||||||
MONSTER:'Z',random
|
|
||||||
MONSTER:'Z',random
|
|
||||||
MONSTER:('W',"wraith"),random
|
|
||||||
MONSTER:('W',"wraith"),random
|
|
||||||
MONSTER:('W',"wraith"),random
|
|
||||||
MONSTER:('W',"wraith"),random
|
|
||||||
MONSTER:('W',"wraith"),random
|
|
||||||
MONSTER:('W',"wraith"),random
|
|
||||||
MONSTER:('W',"wraith"),random
|
|
||||||
MONSTER:('W',"wraith"),random
|
|
||||||
MONSTER:'W',random
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "fill" levels for the quest.
|
|
||||||
#
|
|
||||||
# These levels are used to fill out any levels not occupied by specific
|
|
||||||
# levels as defined above. "filla" is the upper filler, between the
|
|
||||||
# start and locate levels, and "fillb" the lower between the locate
|
|
||||||
# and goal levels.
|
|
||||||
#
|
|
||||||
|
|
||||||
LEVEL: "Pri-fila"
|
|
||||||
#
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, up
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: ('Z', "human zombie"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: ('Z', "human zombie"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "morgue" , random, random, random, random {
|
|
||||||
STAIR: random, down
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: ('W', "wraith"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "morgue" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
}
|
|
||||||
|
|
||||||
RANDOM_CORRIDORS
|
|
||||||
|
|
||||||
LEVEL: "Pri-filb"
|
|
||||||
#
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, up
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: ('Z', "human zombie"), random
|
|
||||||
MONSTER: ('W', "wraith"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "morgue" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: ('Z', "human zombie"), random
|
|
||||||
MONSTER: ('W', "wraith"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "morgue" , random, random, random, random {
|
|
||||||
STAIR: random, down
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: ('Z', "human zombie"), random
|
|
||||||
MONSTER: ('W', "wraith"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "morgue" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
}
|
|
||||||
|
|
||||||
RANDOM_CORRIDORS
|
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
-- NetHack 3.6 Ranger.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg="T", smoothed=true, joined=true, walled=true })
|
||||||
|
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
--
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
--
|
||||||
|
des.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", peaceful=0 })
|
||||||
|
des.monster({ class = "C", peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", peaceful=0 })
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
-- NetHack 3.6 Ranger.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg=" ", smoothed=true, joined=true, walled=true })
|
||||||
|
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
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.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ class = "C", peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", peaceful=0 })
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
-- NetHack 3.6 Ranger.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
|
||||||
|
... ...
|
||||||
|
..........................................................................
|
||||||
|
... + ...
|
||||||
|
. ............ ....... . ....... .
|
||||||
|
. ............................. . ........ .........S.. .
|
||||||
|
. ............ . ...... . . . ....... .. .
|
||||||
|
. ......... . .... + . ... . .. .
|
||||||
|
. S . ......... .S. .S............... .
|
||||||
|
. ... . ... . ......... . .
|
||||||
|
. ........ .....S.+.......+....\....+........+. .
|
||||||
|
. ... ... S ......... .. ..... .
|
||||||
|
. .. ......... .. ...... .
|
||||||
|
. ....... ... + .... .... .......... .
|
||||||
|
. .............. .. . ...... .. ............. .
|
||||||
|
. ............. . .......... ...... .
|
||||||
|
... + ...
|
||||||
|
..........................................................................
|
||||||
|
... ...
|
||||||
|
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 19,10)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- Objects
|
||||||
|
des.object({ id = "bow", x=37, y=10, buc="blessed", spe=0, name="The Longbow of Diana" })
|
||||||
|
des.object("chest", 37, 10)
|
||||||
|
des.object({ coord = { 36, 09 } })
|
||||||
|
des.object({ coord = { 36, 10 } })
|
||||||
|
des.object({ coord = { 36, 11 } })
|
||||||
|
des.object({ coord = { 37, 09 } })
|
||||||
|
des.object({ coord = { 37, 11 } })
|
||||||
|
des.object({ coord = { 38, 09 } })
|
||||||
|
des.object({ coord = { 38, 10 } })
|
||||||
|
des.object({ coord = { 38, 11 } })
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- doors
|
||||||
|
des.door("locked",12,08)
|
||||||
|
des.door("closed",22,10)
|
||||||
|
des.door("locked",24,10)
|
||||||
|
des.door("closed",25,11)
|
||||||
|
des.door("closed",32,10)
|
||||||
|
des.door("closed",37,03)
|
||||||
|
des.door("closed",37,07)
|
||||||
|
des.door("closed",37,13)
|
||||||
|
des.door("closed",37,16)
|
||||||
|
des.door("closed",42,10)
|
||||||
|
des.door("locked",46,08)
|
||||||
|
des.door("closed",51,10)
|
||||||
|
des.door("locked",53,08)
|
||||||
|
des.door("closed",65,05)
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster({ id = "Scorpius", x=37, y=10, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=36, y=09, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=36, y=10, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=36, y=11, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=37, y=09, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=37, y=11, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=38, y=09, peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", x=38, y=10, peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", x=38, y=11, peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", x=02, y=02, peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", x=71, y=02, peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", x=02, y=16, peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", x=71, y=16, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ class = "C", peaceful=0 })
|
||||||
|
des.monster({ class = "C", peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", x=03, y=02, peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", x=72, y=02, peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", x=03, y=17, peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", x=72, y=17, peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", x=41, y=10, peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", x=33, y=09, peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", peaceful=0 })
|
||||||
|
des.monster({ class = "s", peaceful=0 })
|
||||||
|
|
||||||
|
des.wallify()
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
-- NetHack 3.6 Ranger.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "hardfloor")
|
||||||
|
--1234567890123456789012345678901234567890123456789012345678901234567890
|
||||||
|
des.map([[
|
||||||
|
....... ......... .......
|
||||||
|
................... ...................
|
||||||
|
.... ....... ....... ....
|
||||||
|
... ..... . ..... . ..... ...
|
||||||
|
. .......... ..... ........... ..... .......... .
|
||||||
|
. .. ..... .......... ..... .......... ..... .. .
|
||||||
|
. . . ..... . ..... . . .
|
||||||
|
. . ..... ............. ..... . .
|
||||||
|
. . ................ ....... ................ . .
|
||||||
|
. . ..... ....... ..... . .
|
||||||
|
. . . ...... ...... . . .
|
||||||
|
. . ........... ......... ........... . .
|
||||||
|
. . .......... .......... . .
|
||||||
|
. .. ..... . ..... . ..... .. .
|
||||||
|
. .......... ..... ........... ..... .......... .
|
||||||
|
. ..... .......... ..... .......... ..... .
|
||||||
|
. . ..... . ..... . .
|
||||||
|
... ....... ....... ....... ...
|
||||||
|
.............. ............. ..............
|
||||||
|
....... ....... ....... ....... .......
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,54,19), "lit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 25,05)
|
||||||
|
des.stair("down", 27,18)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,54,19))
|
||||||
|
-- Objects
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
-- Random traps
|
||||||
|
des.trap("spiked pit")
|
||||||
|
des.trap("spiked pit")
|
||||||
|
des.trap("teleport")
|
||||||
|
des.trap("teleport")
|
||||||
|
des.trap("arrow")
|
||||||
|
des.trap("arrow")
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster({ id = "wumpus", x=27, y=18, peaceful=0, asleep=1 })
|
||||||
|
des.monster({ id = "giant bat", peaceful=0 })
|
||||||
|
des.monster({ id = "giant bat", peaceful=0 })
|
||||||
|
des.monster({ id = "giant bat", peaceful=0 })
|
||||||
|
des.monster({ id = "giant bat", peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "mountain centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", peaceful=0 })
|
||||||
|
des.monster({ class = "s", peaceful=0 })
|
||||||
|
des.monster({ class = "s", peaceful=0 })
|
||||||
|
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
-- NetHack 3.6 Ranger.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- The "start" level for the quest.
|
||||||
|
--
|
||||||
|
-- Here you meet your (besieged) class leader, Orion,
|
||||||
|
-- and receive your quest assignment.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = "." });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "hardfloor", "arboreal")
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg=".", smoothed=true, joined=true, lit=1, walled=false })
|
||||||
|
des.replace_terrain({ region={00,00, 76,19}, fromterrain=".", toterrain="T", chance=5 })
|
||||||
|
--1234567890123456789012345678901234567890123456789012345678901234567890
|
||||||
|
des.map({ halign = "left", valign = "center", map = [[
|
||||||
|
xx
|
||||||
|
................................... x
|
||||||
|
.. ..
|
||||||
|
.. ...............F............... ..
|
||||||
|
. .. .F. .. .
|
||||||
|
. .. .............F............. .. .
|
||||||
|
. . .. .. . .
|
||||||
|
. . .. ....................... .. ...
|
||||||
|
. . . .. .. .
|
||||||
|
... . .. .|..................... ......
|
||||||
|
FFF . . ..S..................
|
||||||
|
... . .. .|................. .... ...
|
||||||
|
. . . .. .. . . .
|
||||||
|
. . .. ....................... .. . .
|
||||||
|
. . .. .. . .
|
||||||
|
. .. .............F............. .. .
|
||||||
|
. .. .F. .. .
|
||||||
|
.. ...............F............... ..
|
||||||
|
.. ..
|
||||||
|
................................... x
|
||||||
|
xx
|
||||||
|
]] });
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,40,20), "lit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("down", 10,10)
|
||||||
|
-- Portal arrival point; just about anywhere on the right hand side of the map
|
||||||
|
des.levregion({ region = {51,2,77,18}, region_islev = 1, type="branch" })
|
||||||
|
-- Orion
|
||||||
|
des.monster("Orion", 20, 10)
|
||||||
|
-- The treasure of Orion
|
||||||
|
des.object("chest", 20, 10)
|
||||||
|
-- Guards for the audience chamber
|
||||||
|
des.monster("hunter", 19, 09)
|
||||||
|
des.monster("hunter", 20, 09)
|
||||||
|
des.monster("hunter", 21, 09)
|
||||||
|
des.monster("hunter", 19, 10)
|
||||||
|
des.monster("hunter", 21, 10)
|
||||||
|
des.monster("hunter", 19, 11)
|
||||||
|
des.monster("hunter", 20, 11)
|
||||||
|
des.monster("hunter", 21, 11)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,40,20))
|
||||||
|
-- Traps
|
||||||
|
des.trap("arrow",30,09)
|
||||||
|
des.trap("arrow",30,10)
|
||||||
|
des.trap("pit",40,09)
|
||||||
|
des.trap("spiked pit")
|
||||||
|
des.trap("bear")
|
||||||
|
des.trap("bear")
|
||||||
|
-- Monsters on siege duty.
|
||||||
|
des.monster({ id = "minotaur", x=33, y=09, peaceful=0, asleep=1 })
|
||||||
|
des.monster({ id = "forest centaur", x=19, y=03, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=19, y=04, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=19, y=05, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=21, y=03, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=21, y=04, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=21, y=05, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=01, y=09, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=02, y=09, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=03, y=09, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=01, y=11, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=02, y=11, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=03, y=11, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=19, y=15, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=19, y=16, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=19, y=17, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=21, y=15, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=21, y=16, peaceful=0 })
|
||||||
|
des.monster({ id = "forest centaur", x=21, y=17, peaceful=0 })
|
||||||
|
des.monster({ id = "plains centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "plains centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "plains centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "plains centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "plains centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "plains centaur", peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", peaceful=0 })
|
||||||
|
des.monster({ id = "scorpion", peaceful=0 })
|
||||||
-356
@@ -1,356 +0,0 @@
|
|||||||
# NetHack 3.6 Ranger.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.9 $
|
|
||||||
# Copyright (c) 1989 by Jean-Christophe Collet
|
|
||||||
# Copyright (c) 1991 by M. Stephenson
|
|
||||||
# NetHack may be freely redistributed. See license for details.
|
|
||||||
#
|
|
||||||
# The "start" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet your (besieged) class leader, Orion,
|
|
||||||
# and receive your quest assignment.
|
|
||||||
#
|
|
||||||
MAZE: "Ran-strt",'.'
|
|
||||||
FLAGS: noteleport,hardfloor,arboreal
|
|
||||||
INIT_MAP:mines,'.','.',true,true,lit,false
|
|
||||||
REPLACE_TERRAIN:(0,0,76,19),'.', 'T', 5%
|
|
||||||
GEOMETRY:left,center
|
|
||||||
#1234567890123456789012345678901234567890123456789012345678901234567890
|
|
||||||
MAP
|
|
||||||
xx
|
|
||||||
................................... x
|
|
||||||
.. ..
|
|
||||||
.. ...............F............... ..
|
|
||||||
. .. .F. .. .
|
|
||||||
. .. .............F............. .. .
|
|
||||||
. . .. .. . .
|
|
||||||
. . .. ....................... .. ...
|
|
||||||
. . . .. .. .
|
|
||||||
... . .. .|..................... ......
|
|
||||||
FFF . . ..S..................
|
|
||||||
... . .. .|................. .... ...
|
|
||||||
. . . .. .. . . .
|
|
||||||
. . .. ....................... .. . .
|
|
||||||
. . .. .. . .
|
|
||||||
. .. .............F............. .. .
|
|
||||||
. .. .F. .. .
|
|
||||||
.. ...............F............... ..
|
|
||||||
.. ..
|
|
||||||
................................... x
|
|
||||||
xx
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,40,20),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(10,10),down
|
|
||||||
# Portal arrival point; just about anywhere on the right hand side of the map
|
|
||||||
BRANCH:levregion(51,2,77,18),(0,0,40,20)
|
|
||||||
# Orion
|
|
||||||
MONSTER:('@',"Orion"),(20,10)
|
|
||||||
# The treasure of Orion
|
|
||||||
OBJECT:('(',"chest"),(20,10)
|
|
||||||
# Guards for the audience chamber
|
|
||||||
MONSTER:('@',"hunter"),(19,09)
|
|
||||||
MONSTER:('@',"hunter"),(20,09)
|
|
||||||
MONSTER:('@',"hunter"),(21,09)
|
|
||||||
MONSTER:('@',"hunter"),(19,10)
|
|
||||||
MONSTER:('@',"hunter"),(21,10)
|
|
||||||
MONSTER:('@',"hunter"),(19,11)
|
|
||||||
MONSTER:('@',"hunter"),(20,11)
|
|
||||||
MONSTER:('@',"hunter"),(21,11)
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,40,20)
|
|
||||||
# Traps
|
|
||||||
TRAP:"arrow",(30,09)
|
|
||||||
TRAP:"arrow",(30,10)
|
|
||||||
TRAP:"pit",(40,09)
|
|
||||||
TRAP:"spiked pit",random
|
|
||||||
TRAP:"bear",random
|
|
||||||
TRAP:"bear",random
|
|
||||||
# Monsters on siege duty.
|
|
||||||
MONSTER: ('H',"minotaur"),(33,09),hostile,asleep
|
|
||||||
MONSTER: ('C',"forest centaur"),(19,03),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(19,04),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(19,05),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(21,03),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(21,04),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(21,05),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(01,09),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(02,09),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(03,09),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(01,11),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(02,11),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(03,11),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(19,15),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(19,16),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(19,17),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(21,15),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(21,16),hostile
|
|
||||||
MONSTER: ('C',"forest centaur"),(21,17),hostile
|
|
||||||
MONSTER: ('C',"plains centaur"),random,hostile
|
|
||||||
MONSTER: ('C',"plains centaur"),random,hostile
|
|
||||||
MONSTER: ('C',"plains centaur"),random,hostile
|
|
||||||
MONSTER: ('C',"plains centaur"),random,hostile
|
|
||||||
MONSTER: ('C',"plains centaur"),random,hostile
|
|
||||||
MONSTER: ('C',"plains centaur"),random,hostile
|
|
||||||
MONSTER: ('s',"scorpion"),random,hostile
|
|
||||||
MONSTER: ('s',"scorpion"),random,hostile
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "locate" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you have to infiltrate the Cave of the Wumpus to go
|
|
||||||
# further towards your assigned quest.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Ran-loca",' '
|
|
||||||
FLAGS: hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
#1234567890123456789012345678901234567890123456789012345678901234567890
|
|
||||||
MAP
|
|
||||||
....... ......... .......
|
|
||||||
................... ...................
|
|
||||||
.... ....... ....... ....
|
|
||||||
... ..... . ..... . ..... ...
|
|
||||||
. .......... ..... ........... ..... .......... .
|
|
||||||
. .. ..... .......... ..... .......... ..... .. .
|
|
||||||
. . . ..... . ..... . . .
|
|
||||||
. . ..... ............. ..... . .
|
|
||||||
. . ................ ....... ................ . .
|
|
||||||
. . ..... ....... ..... . .
|
|
||||||
. . . ...... ...... . . .
|
|
||||||
. . ........... ......... ........... . .
|
|
||||||
. . .......... .......... . .
|
|
||||||
. .. ..... . ..... . ..... .. .
|
|
||||||
. .......... ..... ........... ..... .......... .
|
|
||||||
. ..... .......... ..... .......... ..... .
|
|
||||||
. . ..... . ..... . .
|
|
||||||
... ....... ....... ....... ...
|
|
||||||
.............. ............. ..............
|
|
||||||
....... ....... ....... ....... .......
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,54,19),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(25,05),up
|
|
||||||
STAIR:(27,18),down
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,54,19)
|
|
||||||
# Objects
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:"spiked pit",random
|
|
||||||
TRAP:"spiked pit",random
|
|
||||||
TRAP:"teleport",random
|
|
||||||
TRAP:"teleport",random
|
|
||||||
TRAP:"arrow",random
|
|
||||||
TRAP:"arrow",random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('q',"wumpus"),(27,18),hostile,asleep
|
|
||||||
MONSTER:('B',"giant bat"),random,hostile
|
|
||||||
MONSTER:('B',"giant bat"),random,hostile
|
|
||||||
MONSTER:('B',"giant bat"),random,hostile
|
|
||||||
MONSTER:('B',"giant bat"),random,hostile
|
|
||||||
MONSTER:('C',"forest centaur"),random,hostile
|
|
||||||
MONSTER:('C',"forest centaur"),random,hostile
|
|
||||||
MONSTER:('C',"forest centaur"),random,hostile
|
|
||||||
MONSTER:('C',"forest centaur"),random,hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),random,hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),random,hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),random,hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),random,hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),random,hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),random,hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),random,hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),random,hostile
|
|
||||||
MONSTER:('s',"scorpion"),random,hostile
|
|
||||||
MONSTER:('s',"scorpion"),random,hostile
|
|
||||||
MONSTER:('s',"scorpion"),random,hostile
|
|
||||||
MONSTER:('s',"scorpion"),random,hostile
|
|
||||||
MONSTER:'s',random,hostile
|
|
||||||
MONSTER:'s',random,hostile
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "goal" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet Scorpius, your nemesis monster. You have to
|
|
||||||
# defeat Scorpius in combat to gain the artifact you have
|
|
||||||
# been assigned to retrieve.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Ran-goal", ' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
|
|
||||||
... ...
|
|
||||||
..........................................................................
|
|
||||||
... + ...
|
|
||||||
. ............ ....... . ....... .
|
|
||||||
. ............................. . ........ .........S.. .
|
|
||||||
. ............ . ...... . . . ....... .. .
|
|
||||||
. ......... . .... + . ... . .. .
|
|
||||||
. S . ......... .S. .S............... .
|
|
||||||
. ... . ... . ......... . .
|
|
||||||
. ........ .....S.+.......+....\....+........+. .
|
|
||||||
. ... ... S ......... .. ..... .
|
|
||||||
. .. ......... .. ...... .
|
|
||||||
. ....... ... + .... .... .......... .
|
|
||||||
. .............. .. . ...... .. ............. .
|
|
||||||
. ............. . .......... ...... .
|
|
||||||
... + ...
|
|
||||||
..........................................................................
|
|
||||||
... ...
|
|
||||||
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(19,10),up
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# Objects
|
|
||||||
OBJECT:(')',"bow"),(37,10),blessed,0,name:"The Longbow of Diana"
|
|
||||||
OBJECT:('(',"chest"),(37,10)
|
|
||||||
OBJECT:random,(36,09)
|
|
||||||
OBJECT:random,(36,10)
|
|
||||||
OBJECT:random,(36,11)
|
|
||||||
OBJECT:random,(37,09)
|
|
||||||
OBJECT:random,(37,11)
|
|
||||||
OBJECT:random,(38,09)
|
|
||||||
OBJECT:random,(38,10)
|
|
||||||
OBJECT:random,(38,11)
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# doors
|
|
||||||
DOOR:locked,(12,08)
|
|
||||||
DOOR:closed,(22,10)
|
|
||||||
DOOR:locked,(24,10)
|
|
||||||
DOOR:closed,(25,11)
|
|
||||||
DOOR:closed,(32,10)
|
|
||||||
DOOR:closed,(37,03)
|
|
||||||
DOOR:closed,(37,07)
|
|
||||||
DOOR:closed,(37,13)
|
|
||||||
DOOR:closed,(37,16)
|
|
||||||
DOOR:closed,(42,10)
|
|
||||||
DOOR:locked,(46,08)
|
|
||||||
DOOR:closed,(51,10)
|
|
||||||
DOOR:locked,(53,08)
|
|
||||||
DOOR:closed,(65,05)
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('s',"Scorpius"),(37,10),hostile
|
|
||||||
MONSTER:('C',"forest centaur"),(36,09),hostile
|
|
||||||
MONSTER:('C',"forest centaur"),(36,10),hostile
|
|
||||||
MONSTER:('C',"forest centaur"),(36,11),hostile
|
|
||||||
MONSTER:('C',"forest centaur"),(37,09),hostile
|
|
||||||
MONSTER:('C',"forest centaur"),(37,11),hostile
|
|
||||||
MONSTER:('C',"forest centaur"),(38,09),hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),(38,10),hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),(38,11),hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),(02,02),hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),(71,02),hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),(02,16),hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),(71,16),hostile
|
|
||||||
MONSTER:('C',"forest centaur"),random,hostile
|
|
||||||
MONSTER:('C',"forest centaur"),random,hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),random,hostile
|
|
||||||
MONSTER:('C',"mountain centaur"),random,hostile
|
|
||||||
MONSTER:'C',random,hostile
|
|
||||||
MONSTER:'C',random,hostile
|
|
||||||
MONSTER:('s',"scorpion"),(03,02),hostile
|
|
||||||
MONSTER:('s',"scorpion"),(72,02),hostile
|
|
||||||
MONSTER:('s',"scorpion"),(03,17),hostile
|
|
||||||
MONSTER:('s',"scorpion"),(72,17),hostile
|
|
||||||
MONSTER:('s',"scorpion"),(41,10),hostile
|
|
||||||
MONSTER:('s',"scorpion"),(33,09),hostile
|
|
||||||
MONSTER:('s',"scorpion"),random,hostile
|
|
||||||
MONSTER:('s',"scorpion"),random,hostile
|
|
||||||
MONSTER:'s',random,hostile
|
|
||||||
|
|
||||||
WALLIFY
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "fill" levels for the quest.
|
|
||||||
#
|
|
||||||
# These levels are used to fill out any levels not occupied by specific
|
|
||||||
# levels as defined above. "fila" is the upper filler, between the
|
|
||||||
# start and locate levels, and "filb" the lower between the locate
|
|
||||||
# and goal levels.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Ran-fila" , ' '
|
|
||||||
INIT_MAP: mines, '.' , 'T', true, true, random, true
|
|
||||||
NOMAP
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
#
|
|
||||||
MONSTER: ('C', "mountain centaur"), random, hostile
|
|
||||||
MONSTER: ('C', "mountain centaur"), random, hostile
|
|
||||||
MONSTER: ('C', "forest centaur"), random, hostile
|
|
||||||
MONSTER: ('C', "forest centaur"), random, hostile
|
|
||||||
MONSTER: ('C', "forest centaur"), random, hostile
|
|
||||||
MONSTER: 'C', random, hostile
|
|
||||||
MONSTER: ('s', "scorpion"), random, hostile
|
|
||||||
|
|
||||||
MAZE: "Ran-filb" , ' '
|
|
||||||
INIT_MAP: mines, '.' , ' ', true, true, random, true
|
|
||||||
NOMAP
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
#
|
|
||||||
MONSTER: ('C', "mountain centaur"), random, hostile
|
|
||||||
MONSTER: ('C', "mountain centaur"), random, hostile
|
|
||||||
MONSTER: ('C', "mountain centaur"), random, hostile
|
|
||||||
MONSTER: ('C', "mountain centaur"), random, hostile
|
|
||||||
MONSTER: 'C', random, hostile
|
|
||||||
MONSTER: ('s', "scorpion"), random, hostile
|
|
||||||
MONSTER: ('s', "scorpion"), random, hostile
|
|
||||||
|
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
-- NetHack 3.6 Rogue.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1992 by Dean Luick
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("up")
|
||||||
|
des.object()
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.object()
|
||||||
|
des.monster({ id = "water nymph", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("down")
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.monster({ class = "l", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "water nymph", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.random_corridors()
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
-- NetHack 3.6 Rogue.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1992 by Dean Luick
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("up")
|
||||||
|
des.object()
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.object()
|
||||||
|
des.monster({ id = "water nymph", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("down")
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.monster({ class = "l", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "water nymph", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.random_corridors()
|
||||||
@@ -0,0 +1,110 @@
|
|||||||
|
-- NetHack 3.6 Rogue.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1992 by Dean Luick
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport")
|
||||||
|
|
||||||
|
-- 1 2 3 4 5 6 7
|
||||||
|
--123456789012345678901234567890123456789012345678901234567890123456789012345
|
||||||
|
des.map([[
|
||||||
|
----- -------.......................................|-----------------|
|
||||||
|
|...| -----.....|.......................................|.................|
|
||||||
|
|...----...|.....|.......................................|....---------....|
|
||||||
|
|.---......---..--.................................------------.......|....|
|
||||||
|
|...............|..................................|..|...|...----........-|
|
||||||
|
|.....-----....--.................................|-..--..-|.....----S----|
|
||||||
|
|--S---...|....|.................................|-........-|....|........|
|
||||||
|
|.........---------.............................|-....}}....-|...|...|....|
|
||||||
|
|....|.....S......|............................|-.....}}.....-|..--.------|
|
||||||
|
|-----.....--.....|...........................|-...}}}}}}}}...-|....|.....--
|
||||||
|
|...........--....------S-----...............|-....}}}}}}}}....-|..........|
|
||||||
|
|............--........|...| |..............--.....}}.}}........----------S-
|
||||||
|
|.............|........|...| |..............|......}}}}}}}}......|...|.....|
|
||||||
|
|S-.---.---.---.---.---|...| ------------...--........}}.}}.....--..---....|
|
||||||
|
|.---.---.---.---.-S-..----- |....|.....|....|-....}}}}}}}}....---..S.|--..|
|
||||||
|
|...|.......|..........|...---....---...S.....|-...}}}}}}}}...-|.S..|...|..|
|
||||||
|
|...|..|....|..........|............|..--..----|-.....}}.....-|..----...-S--
|
||||||
|
|...|---....----.......|----- ......|...---| |-....}}....-|...|..--.--..|
|
||||||
|
-----.....---.....--.---....--...--------..| |-........-|....|.........|
|
||||||
|
|.............|..........|.............S... |S-------|.....|..-----..|
|
||||||
|
---------------------------------------- ...... ---------- ----
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,20), "lit")
|
||||||
|
-- Stairs
|
||||||
|
des.levregion({ region={01,00,15,20}, region_islev=1, exclude={01,18,04,20}, type="stair-up" });
|
||||||
|
-- Doors
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,20))
|
||||||
|
-- One trap to keep the gnomes at bay.
|
||||||
|
des.trap("spiked pit",37,07)
|
||||||
|
-- Objects
|
||||||
|
des.object({ id = "skeleton key", x=38, y=10, buc="blessed", spe=0, name="The Master Key of Thievery" })
|
||||||
|
des.object({ id = "tin", x=26, y=12, montype="chameleon" })
|
||||||
|
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()
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster({ id = "Master Assassin", x=38, y=10, peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ class = "l", peaceful=0 })
|
||||||
|
des.monster({ class = "l", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
des.monster({ class = "N", peaceful=0 })
|
||||||
|
des.monster({ class = "N", peaceful=0 })
|
||||||
|
des.monster({ class = "N", peaceful=0 })
|
||||||
|
des.monster({ id = "chameleon", peaceful=0 })
|
||||||
|
des.monster({ id = "chameleon", peaceful=0 })
|
||||||
|
des.monster({ id = "chameleon", peaceful=0 })
|
||||||
|
des.monster({ id = "chameleon", peaceful=0 })
|
||||||
|
des.monster({ id = "chameleon", peaceful=0 })
|
||||||
|
des.monster({ id = "shark", x=51, y=14, peaceful=0 })
|
||||||
|
des.monster({ id = "shark", x=53, y=09, peaceful=0 })
|
||||||
|
des.monster({ id = "shark", x=55, y=15, peaceful=0 })
|
||||||
|
des.monster({ id = "shark", x=58, y=10, peaceful=0 })
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
-- NetHack 3.6 Rogue.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1992 by Dean Luick
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
-- 1 2 3 4 5 6 7
|
||||||
|
--123456789012345678901234567890123456789012345678901234567890123456789012345
|
||||||
|
des.map([[
|
||||||
|
---------------------------------------------------- --------
|
||||||
|
---.................................................- --.....|
|
||||||
|
---...--------........-------.......................--- ---...|
|
||||||
|
---.....- ---......- ---..................---- --.--
|
||||||
|
---.....---- -------- --..................-- --..|
|
||||||
|
---...----- ----.----.....----.....--- --..||
|
||||||
|
----..---- -----..--- |...--- |.......--- --...|
|
||||||
|
|...--- ----....--- |.--- |.........-- --...||
|
||||||
|
|...- ----.....--- ---- |..........---....|
|
||||||
|
|...---- ----......--- | |...|.......-....||
|
||||||
|
|......----- ---.........- | -----...|............|
|
||||||
|
|..........----- ----...........--- -------......||...........||
|
||||||
|
|..............-----................--- |............|||..........|
|
||||||
|
|------...............................--- |...........|| |.........||
|
||||||
|
|.....|..............------.............-----..........|| ||........|
|
||||||
|
|.....|.............-- ---.........................|| |.......||
|
||||||
|
|.....|.............- ---.....................--| ||......|
|
||||||
|
|-S----------.......---- --.................---- |.....||
|
||||||
|
|...........|..........--------..............----- ||....|
|
||||||
|
|...........|............................----- |....|
|
||||||
|
------------------------------------------ ------
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,20), "lit")
|
||||||
|
-- Doors
|
||||||
|
--DOOR:locked|closed|open,(xx,yy)
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,20))
|
||||||
|
-- Objects
|
||||||
|
des.object({ id = "teleportation", x=11, y=18, buc="cursed", spe=0 })
|
||||||
|
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()
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", peaceful=0 })
|
||||||
|
des.monster({ class = "l", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
des.monster({ id = "guardian naga", peaceful=0 })
|
||||||
|
des.monster({ class = "N", peaceful=0 })
|
||||||
|
des.monster({ class = "N", peaceful=0 })
|
||||||
|
des.monster({ class = "N", peaceful=0 })
|
||||||
|
des.monster({ id = "chameleon", peaceful=0 })
|
||||||
|
des.monster({ id = "chameleon", peaceful=0 })
|
||||||
|
des.monster({ id = "chameleon", peaceful=0 })
|
||||||
|
des.monster({ id = "chameleon", peaceful=0 })
|
||||||
|
des.monster({ id = "chameleon", peaceful=0 })
|
||||||
@@ -0,0 +1,163 @@
|
|||||||
|
-- NetHack 3.6 Rogue.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1992 by Dean Luick
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- The "start" level for the quest.
|
||||||
|
--
|
||||||
|
-- Here you meet your (besieged) class leader, Master of Thieves
|
||||||
|
-- and receive your quest assignment.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "hardfloor", "nommap")
|
||||||
|
|
||||||
|
-- 1 2 3 4 5 6 7
|
||||||
|
--123456789012345678901234567890123456789012345678901234567890123456789012345
|
||||||
|
des.map([[
|
||||||
|
---------------------------------.------------------------------------------
|
||||||
|
|.....|.||..........|....|......|.|.........|.......+............---.......|
|
||||||
|
|.....|..+..........+....---....S.|...-S-----.-----.|............+.+.......|
|
||||||
|
|.....+.||........---......|....|.|...|.....|.|...|.---.....------.--------|
|
||||||
|
|-----|.-------|..|........------.-----.....|.--..|...-------..............|
|
||||||
|
|.....|........------+------..........+.....|..--S---.........------.-----..
|
||||||
|
|.....|.------...............-----.}}.--------.|....-------.---....|.+...--|
|
||||||
|
|..-+--.|....|-----.--------.|...|.....+.....|.|....|.....+.+......|.--....|
|
||||||
|
|..|....|....|....+.|......|.|...-----.|.....|.--...|.....|.|......|..|....|
|
||||||
|
|..|.-----S----...|.+....-----...|...|.----..|..|.---....--.---S-----.|----|
|
||||||
|
|..|.|........|...------.|.S.....|...|....-----.+.|......|..|.......|.|....|
|
||||||
|
|---.-------..|...|....|.|.|.....|...----.|...|.|---.....|.|-.......|.---..|
|
||||||
|
...........|..S...|....---.----S----..|...|...+.|..-------.---+-....|...--+|
|
||||||
|
|---------.---------...|......|....S..|.---...|.|..|...........----.---....|
|
||||||
|
|........|.........|...+.------....|---.---...|.--+-.----.----....|.+...--+|
|
||||||
|
|........|.---+---.|----.--........|......-----......|..|..|.--+-.|.-S-.|..|
|
||||||
|
|........|.|.....|........----------.----.......---.--..|-.|....|.-----.|..|
|
||||||
|
|----....+.|.....----+---............|..|--------.+.|...SS.|....|.......|..|
|
||||||
|
|...--+-----.....|......|.------------............---...||.------+--+----..|
|
||||||
|
|..........S.....|......|.|..........S............|.....||...|.....|....|..|
|
||||||
|
-------------------------.--------------------------------------------------
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
--REGION:(00,00,75,20),lit,"ordinary"
|
||||||
|
|
||||||
|
local streets = selection.floodfill(selection.new(), 0,12)
|
||||||
|
|
||||||
|
|
||||||
|
-- The down stairs is at one of the 4 "exits". The others are mimics,
|
||||||
|
-- mimicing stairwells.
|
||||||
|
local place = { {33,0}, {0,12}, {25,20}, {75,05} }
|
||||||
|
shuffle(place)
|
||||||
|
|
||||||
|
des.stair({ dir = "down", coord = place[1] })
|
||||||
|
des.monster({ id = "giant mimic", coord = place[2], appear_as = "ter:staircase down" })
|
||||||
|
des.monster({ id = "large mimic", coord = place[3], appear_as = "ter:staircase down" })
|
||||||
|
des.monster({ id = "small mimic", coord = place[4], appear_as = "ter:staircase down" })
|
||||||
|
-- Portal arrival point
|
||||||
|
des.levregion({ region = {19,09,19,09}, type="branch" })
|
||||||
|
-- Doors (secret)
|
||||||
|
--DOOR:locked|closed|open,(xx,yy)
|
||||||
|
des.door("locked", 32, 2)
|
||||||
|
des.door("locked", 63, 9)
|
||||||
|
des.door("locked", 27,10)
|
||||||
|
des.door("locked", 31,12)
|
||||||
|
des.door("locked", 35,13)
|
||||||
|
des.door("locked", 69,15)
|
||||||
|
des.door("locked", 56,17)
|
||||||
|
des.door("locked", 57,17)
|
||||||
|
des.door("locked", 11,19)
|
||||||
|
des.door("locked", 37,19)
|
||||||
|
des.door("locked", 39, 2)
|
||||||
|
des.door("locked", 49, 5)
|
||||||
|
des.door("locked", 10, 9)
|
||||||
|
des.door("locked", 14,12)
|
||||||
|
-- Doors (regular)
|
||||||
|
des.door("closed", 52, 1)
|
||||||
|
des.door("closed", 9, 2)
|
||||||
|
des.door("closed", 20, 2)
|
||||||
|
des.door("closed", 65, 2)
|
||||||
|
des.door("closed", 67, 2)
|
||||||
|
des.door("closed", 6, 3)
|
||||||
|
des.door("closed", 21, 5)
|
||||||
|
des.door("closed", 38, 5)
|
||||||
|
des.door("closed", 69, 6)
|
||||||
|
des.door("closed", 4, 7)
|
||||||
|
des.door("closed", 39, 7)
|
||||||
|
des.door("closed", 58, 7)
|
||||||
|
des.door("closed", 60, 7)
|
||||||
|
des.door("closed", 18, 8)
|
||||||
|
des.door("closed", 20, 9)
|
||||||
|
des.door("closed", 48,10)
|
||||||
|
des.door("closed", 46,12)
|
||||||
|
des.door("closed", 62,12)
|
||||||
|
des.door("closed", 74,12)
|
||||||
|
des.door("closed", 23,14)
|
||||||
|
des.door("closed", 23,14)
|
||||||
|
des.door("closed", 50,14)
|
||||||
|
des.door("closed", 68,14)
|
||||||
|
des.door("closed", 74,14)
|
||||||
|
des.door("closed", 14,15)
|
||||||
|
des.door("closed", 63,15)
|
||||||
|
des.door("closed", 9,17)
|
||||||
|
des.door("closed", 21,17)
|
||||||
|
des.door("closed", 50,17)
|
||||||
|
des.door("closed", 6,18)
|
||||||
|
des.door("closed", 65,18)
|
||||||
|
des.door("closed", 68,18)
|
||||||
|
-- Master of Thieves
|
||||||
|
des.monster("Master of Thieves", 36, 11)
|
||||||
|
-- The treasure of Master of Thieves
|
||||||
|
des.object("chest", 36, 11)
|
||||||
|
-- thug guards, room #1
|
||||||
|
des.monster("thug", 28, 10)
|
||||||
|
des.monster("thug", 29, 11)
|
||||||
|
des.monster("thug", 30, 09)
|
||||||
|
des.monster("thug", 31, 07)
|
||||||
|
-- thug guards, room #2
|
||||||
|
des.monster("thug", 31, 13)
|
||||||
|
des.monster("thug", 33, 14)
|
||||||
|
des.monster("thug", 30, 15)
|
||||||
|
--thug guards, room #3
|
||||||
|
des.monster("thug", 35, 09)
|
||||||
|
des.monster("thug", 36, 13)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,20))
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
--
|
||||||
|
-- Monsters to get in the way.
|
||||||
|
--
|
||||||
|
-- West exit
|
||||||
|
des.monster({ id = "leprechaun", x=01, y=12, peaceful=0 })
|
||||||
|
des.monster({ id = "water nymph", x=02, y=12, peaceful=0 })
|
||||||
|
-- North exit
|
||||||
|
des.monster({ id = "water nymph", x=33, y=01, peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", x=33, y=02, peaceful=0 })
|
||||||
|
-- East exit
|
||||||
|
des.monster({ id = "water nymph", x=74, y=05, peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", x=74, y=04, peaceful=0 })
|
||||||
|
-- South exit
|
||||||
|
des.monster({ id = "leprechaun", x=25, y=19, peaceful=0 })
|
||||||
|
des.monster({ id = "water nymph", x=25, y=18, peaceful=0 })
|
||||||
|
-- Wandering the streets.
|
||||||
|
for i=1,4 + math.random(1 - 1,1*3) do
|
||||||
|
des.monster({ id = "water nymph", coord = {streets:rndcoord(1)}, peaceful=0 })
|
||||||
|
des.monster({ id = "leprechaun", coord = {streets:rndcoord(1)}, peaceful=0 })
|
||||||
|
end
|
||||||
|
for i=1,7 + math.random(1 - 1,1*3) do
|
||||||
|
des.monster({ id = "chameleon", coord = {streets:rndcoord(1)}, peaceful=0 })
|
||||||
|
end
|
||||||
-485
@@ -1,485 +0,0 @@
|
|||||||
# NetHack 3.6 Rogue.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
|
||||||
# Copyright (c) 1992 by Dean Luick
|
|
||||||
# NetHack may be freely redistributed. See license for details.
|
|
||||||
#
|
|
||||||
# The "start" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet your (besieged) class leader, Master of Thieves
|
|
||||||
# and receive your quest assignment.
|
|
||||||
#
|
|
||||||
MAZE: "Rog-strt",' '
|
|
||||||
FLAGS: noteleport, hardfloor, nommap
|
|
||||||
GEOMETRY:center,center
|
|
||||||
# 1 2 3 4 5 6 7
|
|
||||||
#123456789012345678901234567890123456789012345678901234567890123456789012345
|
|
||||||
MAP
|
|
||||||
---------------------------------.------------------------------------------
|
|
||||||
|.....|.||..........|....|......|.|.........|.......+............---.......|
|
|
||||||
|.....|..+..........+....---....S.|...-S-----.-----.|............+.+.......|
|
|
||||||
|.....+.||........---......|....|.|...|.....|.|...|.---.....------.--------|
|
|
||||||
|-----|.-------|..|........------.-----.....|.--..|...-------..............|
|
|
||||||
|.....|........------+------..........+.....|..--S---.........------.-----..
|
|
||||||
|.....|.------...............-----.}}.--------.|....-------.---....|.+...--|
|
|
||||||
|..-+--.|....|-----.--------.|...|.....+.....|.|....|.....+.+......|.--....|
|
|
||||||
|..|....|....|....+.|......|.|...-----.|.....|.--...|.....|.|......|..|....|
|
|
||||||
|..|.-----S----...|.+....-----...|...|.----..|..|.---....--.---S-----.|----|
|
|
||||||
|..|.|........|...------.|.S.....|...|....-----.+.|......|..|.......|.|....|
|
|
||||||
|---.-------..|...|....|.|.|.....|...----.|...|.|---.....|.|-.......|.---..|
|
|
||||||
...........|..S...|....---.----S----..|...|...+.|..-------.---+-....|...--+|
|
|
||||||
|---------.---------...|......|....S..|.---...|.|..|...........----.---....|
|
|
||||||
|........|.........|...+.------....|---.---...|.--+-.----.----....|.+...--+|
|
|
||||||
|........|.---+---.|----.--........|......-----......|..|..|.--+-.|.-S-.|..|
|
|
||||||
|........|.|.....|........----------.----.......---.--..|-.|....|.-----.|..|
|
|
||||||
|----....+.|.....----+---............|..|--------.+.|...SS.|....|.......|..|
|
|
||||||
|...--+-----.....|......|.------------............---...||.------+--+----..|
|
|
||||||
|..........S.....|......|.|..........S............|.....||...|.....|....|..|
|
|
||||||
-------------------------.--------------------------------------------------
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
#REGION:(00,00,75,20),lit,"ordinary"
|
|
||||||
|
|
||||||
$streets = selection: floodfill(0,12)
|
|
||||||
|
|
||||||
|
|
||||||
# The down stairs is at one of the 4 "exits". The others are mimics,
|
|
||||||
# mimicing stairwells.
|
|
||||||
$place = { (33,0), (0,12), (25,20), (75,05) }
|
|
||||||
SHUFFLE: $place
|
|
||||||
|
|
||||||
STAIR:$place[0],down
|
|
||||||
MONSTER:('m',"giant mimic"), $place[1], m_feature "staircase down"
|
|
||||||
MONSTER:('m',"large mimic"), $place[2], m_feature "staircase down"
|
|
||||||
MONSTER:('m',"small mimic"), $place[3], m_feature "staircase down"
|
|
||||||
# Portal arrival point
|
|
||||||
BRANCH:(19,09,19,09),(0,0,0,0)
|
|
||||||
# Doors (secret)
|
|
||||||
#DOOR:locked|closed|open,(xx,yy)
|
|
||||||
DOOR: locked, (32, 2)
|
|
||||||
DOOR: locked, (63, 9)
|
|
||||||
DOOR: locked, (27,10)
|
|
||||||
DOOR: locked, (31,12)
|
|
||||||
DOOR: locked, (35,13)
|
|
||||||
DOOR: locked, (69,15)
|
|
||||||
DOOR: locked, (56,17)
|
|
||||||
DOOR: locked, (57,17)
|
|
||||||
DOOR: locked, (11,19)
|
|
||||||
DOOR: locked, (37,19)
|
|
||||||
DOOR: locked, (39, 2)
|
|
||||||
DOOR: locked, (49, 5)
|
|
||||||
DOOR: locked, (10, 9)
|
|
||||||
DOOR: locked, (14,12)
|
|
||||||
# Doors (regular)
|
|
||||||
DOOR: closed, (52, 1)
|
|
||||||
DOOR: closed, ( 9, 2)
|
|
||||||
DOOR: closed, (20, 2)
|
|
||||||
DOOR: closed, (65, 2)
|
|
||||||
DOOR: closed, (67, 2)
|
|
||||||
DOOR: closed, ( 6, 3)
|
|
||||||
DOOR: closed, (21, 5)
|
|
||||||
DOOR: closed, (38, 5)
|
|
||||||
DOOR: closed, (69, 6)
|
|
||||||
DOOR: closed, ( 4, 7)
|
|
||||||
DOOR: closed, (39, 7)
|
|
||||||
DOOR: closed, (58, 7)
|
|
||||||
DOOR: closed, (60, 7)
|
|
||||||
DOOR: closed, (18, 8)
|
|
||||||
DOOR: closed, (20, 9)
|
|
||||||
DOOR: closed, (48,10)
|
|
||||||
DOOR: closed, (46,12)
|
|
||||||
DOOR: closed, (62,12)
|
|
||||||
DOOR: closed, (74,12)
|
|
||||||
DOOR: closed, (23,14)
|
|
||||||
DOOR: closed, (23,14)
|
|
||||||
DOOR: closed, (50,14)
|
|
||||||
DOOR: closed, (68,14)
|
|
||||||
DOOR: closed, (74,14)
|
|
||||||
DOOR: closed, (14,15)
|
|
||||||
DOOR: closed, (63,15)
|
|
||||||
DOOR: closed, ( 9,17)
|
|
||||||
DOOR: closed, (21,17)
|
|
||||||
DOOR: closed, (50,17)
|
|
||||||
DOOR: closed, ( 6,18)
|
|
||||||
DOOR: closed, (65,18)
|
|
||||||
DOOR: closed, (68,18)
|
|
||||||
# Master of Thieves
|
|
||||||
MONSTER:('@',"Master of Thieves"),(36,11)
|
|
||||||
# The treasure of Master of Thieves
|
|
||||||
OBJECT:('(',"chest"),(36,11)
|
|
||||||
# thug guards, room #1
|
|
||||||
MONSTER:('@',"thug"),(28,10)
|
|
||||||
MONSTER:('@',"thug"),(29,11)
|
|
||||||
MONSTER:('@',"thug"),(30,09)
|
|
||||||
MONSTER:('@',"thug"),(31,07)
|
|
||||||
# thug guards, room #2
|
|
||||||
MONSTER:('@',"thug"),(31,13)
|
|
||||||
MONSTER:('@',"thug"),(33,14)
|
|
||||||
MONSTER:('@',"thug"),(30,15)
|
|
||||||
#thug guards, room #3
|
|
||||||
MONSTER:('@',"thug"),(35,09)
|
|
||||||
MONSTER:('@',"thug"),(36,13)
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,20)
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
#
|
|
||||||
# Monsters to get in the way.
|
|
||||||
#
|
|
||||||
# West exit
|
|
||||||
MONSTER: ('l',"leprechaun"),(01,12),hostile
|
|
||||||
MONSTER: ('n',"water nymph"),(02,12),hostile
|
|
||||||
# North exit
|
|
||||||
MONSTER: ('n',"water nymph"),(33,01),hostile
|
|
||||||
MONSTER: ('l',"leprechaun"),(33,02),hostile
|
|
||||||
# East exit
|
|
||||||
MONSTER: ('n',"water nymph"),(74,05),hostile
|
|
||||||
MONSTER: ('l',"leprechaun"),(74,04),hostile
|
|
||||||
# South exit
|
|
||||||
MONSTER: ('l',"leprechaun"),(25,19),hostile
|
|
||||||
MONSTER: ('n',"water nymph"),(25,18),hostile
|
|
||||||
# Wandering the streets.
|
|
||||||
LOOP [ 4 + 1d3 ] {
|
|
||||||
MONSTER: ('n',"water nymph"),rndcoord($streets),hostile
|
|
||||||
MONSTER: ('l',"leprechaun"),rndcoord($streets),hostile
|
|
||||||
}
|
|
||||||
LOOP [ 7 + 1d3 ] {
|
|
||||||
MONSTER: (':',"chameleon"),rndcoord($streets),hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "locate" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you have to find the entrance to the Assassins' Guild to go
|
|
||||||
# further towards your assigned quest.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Rog-loca",' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
# 1 2 3 4 5 6 7
|
|
||||||
#123456789012345678901234567890123456789012345678901234567890123456789012345
|
|
||||||
MAP
|
|
||||||
---------------------------------------------------- --------
|
|
||||||
---.................................................- --.....|
|
|
||||||
---...--------........-------.......................--- ---...|
|
|
||||||
---.....- ---......- ---..................---- --.--
|
|
||||||
---.....---- -------- --..................-- --..|
|
|
||||||
---...----- ----.----.....----.....--- --..||
|
|
||||||
----..---- -----..--- |...--- |.......--- --...|
|
|
||||||
|...--- ----....--- |.--- |.........-- --...||
|
|
||||||
|...- ----.....--- ---- |..........---....|
|
|
||||||
|...---- ----......--- | |...|.......-....||
|
|
||||||
|......----- ---.........- | -----...|............|
|
|
||||||
|..........----- ----...........--- -------......||...........||
|
|
||||||
|..............-----................--- |............|||..........|
|
|
||||||
|------...............................--- |...........|| |.........||
|
|
||||||
|.....|..............------.............-----..........|| ||........|
|
|
||||||
|.....|.............-- ---.........................|| |.......||
|
|
||||||
|.....|.............- ---.....................--| ||......|
|
|
||||||
|-S----------.......---- --.................---- |.....||
|
|
||||||
|...........|..........--------..............----- ||....|
|
|
||||||
|...........|............................----- |....|
|
|
||||||
------------------------------------------ ------
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,20),lit,"ordinary"
|
|
||||||
# Doors
|
|
||||||
#DOOR:locked|closed|open,(xx,yy)
|
|
||||||
# Stairs
|
|
||||||
STAIR:random,up
|
|
||||||
STAIR:random,down
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,20)
|
|
||||||
# Objects
|
|
||||||
OBJECT:('?',"teleportation"),(11,18),cursed,0
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:'l',random,hostile
|
|
||||||
MONSTER:('N',"guardian naga"),random,hostile
|
|
||||||
MONSTER:('N',"guardian naga"),random,hostile
|
|
||||||
MONSTER:('N',"guardian naga"),random,hostile
|
|
||||||
MONSTER:('N',"guardian naga"),random,hostile
|
|
||||||
MONSTER:('N',"guardian naga"),random,hostile
|
|
||||||
MONSTER:('N',"guardian naga"),random,hostile
|
|
||||||
MONSTER:('N',"guardian naga"),random,hostile
|
|
||||||
MONSTER:'N',random,hostile
|
|
||||||
MONSTER:'N',random,hostile
|
|
||||||
MONSTER:'N',random,hostile
|
|
||||||
MONSTER: (':',"chameleon"),random,hostile
|
|
||||||
MONSTER: (':',"chameleon"),random,hostile
|
|
||||||
MONSTER: (':',"chameleon"),random,hostile
|
|
||||||
MONSTER: (':',"chameleon"),random,hostile
|
|
||||||
MONSTER: (':',"chameleon"),random,hostile
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "goal" level for the quest. Teleportation and digging are
|
|
||||||
# disallowed.
|
|
||||||
#
|
|
||||||
# You have to reach The Master Assassin via some means other than
|
|
||||||
# simple searching or digging since there is no path between your
|
|
||||||
# arrival point and his location.
|
|
||||||
#
|
|
||||||
MAZE: "Rog-goal", ' '
|
|
||||||
FLAGS: noteleport
|
|
||||||
GEOMETRY:center,center
|
|
||||||
# 1 2 3 4 5 6 7
|
|
||||||
#123456789012345678901234567890123456789012345678901234567890123456789012345
|
|
||||||
MAP
|
|
||||||
----- -------.......................................|-----------------|
|
|
||||||
|...| -----.....|.......................................|.................|
|
|
||||||
|...----...|.....|.......................................|....---------....|
|
|
||||||
|.---......---..--.................................------------.......|....|
|
|
||||||
|...............|..................................|..|...|...----........-|
|
|
||||||
|.....-----....--.................................|-..--..-|.....----S----|
|
|
||||||
|--S---...|....|.................................|-........-|....|........|
|
|
||||||
|.........---------.............................|-....}}....-|...|...|....|
|
|
||||||
|....|.....S......|............................|-.....}}.....-|..--.------|
|
|
||||||
|-----.....--.....|...........................|-...}}}}}}}}...-|....|.....--
|
|
||||||
|...........--....------S-----...............|-....}}}}}}}}....-|..........|
|
|
||||||
|............--........|...| |..............--.....}}.}}........----------S-
|
|
||||||
|.............|........|...| |..............|......}}}}}}}}......|...|.....|
|
|
||||||
|S-.---.---.---.---.---|...| ------------...--........}}.}}.....--..---....|
|
|
||||||
|.---.---.---.---.-S-..----- |....|.....|....|-....}}}}}}}}....---..S.|--..|
|
|
||||||
|...|.......|..........|...---....---...S.....|-...}}}}}}}}...-|.S..|...|..|
|
|
||||||
|...|..|....|..........|............|..--..----|-.....}}.....-|..----...-S--
|
|
||||||
|...|---....----.......|----- ......|...---| |-....}}....-|...|..--.--..|
|
|
||||||
-----.....---.....--.---....--...--------..| |-........-|....|.........|
|
|
||||||
|.............|..........|.............S... |S-------|.....|..-----..|
|
|
||||||
---------------------------------------- ...... ---------- ----
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,20),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:levregion(01,00,15,20),(01,18,04,20),up
|
|
||||||
# Doors
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,20)
|
|
||||||
# One trap to keep the gnomes at bay.
|
|
||||||
TRAP:"spiked pit",(37,07)
|
|
||||||
# Objects
|
|
||||||
OBJECT:('(',"skeleton key"),(38,10),blessed,0,name:"The Master Key of Thievery"
|
|
||||||
OBJECT:('%',"tin"),(26,12),montype:"chameleon"
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('@',"Master Assassin"),(38,10),hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:('l',"leprechaun"),random,hostile
|
|
||||||
MONSTER:'l',random,hostile
|
|
||||||
MONSTER:'l',random,hostile
|
|
||||||
MONSTER:('N',"guardian naga"),random,hostile
|
|
||||||
MONSTER:('N',"guardian naga"),random,hostile
|
|
||||||
MONSTER:('N',"guardian naga"),random,hostile
|
|
||||||
MONSTER:('N',"guardian naga"),random,hostile
|
|
||||||
MONSTER:('N',"guardian naga"),random,hostile
|
|
||||||
MONSTER:('N',"guardian naga"),random,hostile
|
|
||||||
MONSTER:('N',"guardian naga"),random,hostile
|
|
||||||
MONSTER:('N',"guardian naga"),random,hostile
|
|
||||||
MONSTER:'N',random,hostile
|
|
||||||
MONSTER:'N',random,hostile
|
|
||||||
MONSTER:'N',random,hostile
|
|
||||||
MONSTER: (':',"chameleon"),random,hostile
|
|
||||||
MONSTER: (':',"chameleon"),random,hostile
|
|
||||||
MONSTER: (':',"chameleon"),random,hostile
|
|
||||||
MONSTER: (':',"chameleon"),random,hostile
|
|
||||||
MONSTER: (':',"chameleon"),random,hostile
|
|
||||||
MONSTER:(';',"shark"),(51,14),hostile
|
|
||||||
MONSTER:(';',"shark"),(53,09),hostile
|
|
||||||
MONSTER:(';',"shark"),(55,15),hostile
|
|
||||||
MONSTER:(';',"shark"),(58,10),hostile
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "fill" level for the quest.
|
|
||||||
#
|
|
||||||
# This level is used to fill out any levels not occupied by specific
|
|
||||||
# levels as defined above.
|
|
||||||
#
|
|
||||||
LEVEL: "Rog-fila"
|
|
||||||
#
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, up
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: ('l', "leprechaun"), random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: ('l', "leprechaun"), random, hostile
|
|
||||||
MONSTER: ('N', "guardian naga"), random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: ('n', "water nymph"), random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, down
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'l', random, hostile
|
|
||||||
MONSTER: ('N', "guardian naga"), random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: ('l', "leprechaun"), random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: ('l', "leprechaun"), random, hostile
|
|
||||||
MONSTER: ('n', "water nymph"), random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
RANDOM_CORRIDORS
|
|
||||||
|
|
||||||
#
|
|
||||||
# currently a & b are the same.
|
|
||||||
#
|
|
||||||
LEVEL: "Rog-filb"
|
|
||||||
#
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, up
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: ('l', "leprechaun"), random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: ('l', "leprechaun"), random, hostile
|
|
||||||
MONSTER: ('N', "guardian naga"), random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: ('n', "water nymph"), random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, down
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'l', random, hostile
|
|
||||||
MONSTER: ('N', "guardian naga"), random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: ('l', "leprechaun"), random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: ('l', "leprechaun"), random, hostile
|
|
||||||
MONSTER: ('n', "water nymph"), random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
RANDOM_CORRIDORS
|
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
-- NetHack 3.6 Samurai.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-92 by M. Stephenson, P. Winner
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg="P", smoothed=true, joined=true, walled=true })
|
||||||
|
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
--
|
||||||
|
des.monster("d")
|
||||||
|
des.monster("wolf")
|
||||||
|
des.monster("wolf")
|
||||||
|
des.monster("wolf")
|
||||||
|
des.monster("wolf")
|
||||||
|
des.monster("wolf")
|
||||||
|
des.monster("stalker")
|
||||||
|
--
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
-- NetHack 3.6 Samurai.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-92 by M. Stephenson, P. Winner
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
------------- -------------
|
||||||
|
|...........| |...........|
|
||||||
|
|...-----...|----------------------------------|...-----...|
|
||||||
|
|...| |...|..................................|...| |...|
|
||||||
|
|...-----..........................................-----...|
|
||||||
|
|...........|--S----------------------------S--|...........|
|
||||||
|
----...--------.|..........................|.--------...----
|
||||||
|
|...|........+..........................+........|...|
|
||||||
|
|...|........+..........................+........|...|
|
||||||
|
----...--------.|..........................|.--------...----
|
||||||
|
|...........|--S----------------------------S--|...........|
|
||||||
|
|...-----..........................................-----...|
|
||||||
|
|...| |...|..................................|...| |...|
|
||||||
|
|...-----...|----------------------------------|...-----...|
|
||||||
|
|...........| |...........|
|
||||||
|
------------- -------------
|
||||||
|
]]);
|
||||||
|
des.region(selection.area(00,00,59,15), "unlit")
|
||||||
|
-- Doors
|
||||||
|
des.door("closed",16,07)
|
||||||
|
des.door("closed",16,08)
|
||||||
|
des.door("closed",43,07)
|
||||||
|
des.door("closed",43,08)
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
--
|
||||||
|
des.monster("d")
|
||||||
|
des.monster("wolf")
|
||||||
|
des.monster("wolf")
|
||||||
|
des.monster("wolf")
|
||||||
|
des.monster("wolf")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
--
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
@@ -0,0 +1,111 @@
|
|||||||
|
-- NetHack 3.6 Samurai.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-92 by M. Stephenson, P. Winner
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
|
||||||
|
.......................
|
||||||
|
......-------------------......
|
||||||
|
......----.................----......
|
||||||
|
....----.....-------------.....----....
|
||||||
|
....--.....----...........----.....--....
|
||||||
|
...||....---....---------....---....||...
|
||||||
|
...|....--....---.......---....--....|...
|
||||||
|
....|...||...---...--+--...---...||...|....
|
||||||
|
....|...|....|....|-...-|....|....|...|....
|
||||||
|
....|...|....|....+.....+....|....|...|....
|
||||||
|
....|...|....|....|-...-|....|....|...|....
|
||||||
|
....|...||...---...--+--...---...||...|....
|
||||||
|
...|....--....---.......---....--....|...
|
||||||
|
...||....---....---------....---....||...
|
||||||
|
....--.....----...........----.....--....
|
||||||
|
....----.....-------------.....----....
|
||||||
|
......----.................----......
|
||||||
|
......-------------------......
|
||||||
|
.......................
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
local place = { {02,11},{42,09} }
|
||||||
|
local placeidx = math.random(1, #place);
|
||||||
|
|
||||||
|
des.region(selection.area(00,00,44,19), "unlit")
|
||||||
|
-- Doors
|
||||||
|
des.door("closed",19,10)
|
||||||
|
des.door("closed",22,08)
|
||||||
|
des.door("closed",22,12)
|
||||||
|
des.door("closed",25,10)
|
||||||
|
-- Stairs
|
||||||
|
des.stair({ dir = "up", coord = place[placeidx] })
|
||||||
|
|
||||||
|
-- Holes in the concentric ring walls
|
||||||
|
local place = { {22,14},{30,10},{22, 6},{14,10} }
|
||||||
|
local placeidx = math.random(1, #place);
|
||||||
|
des.terrain(place[placeidx], ".")
|
||||||
|
local place = { {22, 4},{35,10},{22,16},{ 9,10} }
|
||||||
|
local placeidx = math.random(1, #place);
|
||||||
|
des.terrain(place[placeidx], ".")
|
||||||
|
local place = { {22, 2},{22,18} }
|
||||||
|
local placeidx = math.random(1, #place);
|
||||||
|
des.terrain(place[placeidx], ".")
|
||||||
|
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,44,19))
|
||||||
|
-- Objects
|
||||||
|
des.object({ id = "tsurugi", x=22, y=10, buc="blessed", spe=0, name="The Tsurugi of Muramasa" })
|
||||||
|
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.trap("board",22,09)
|
||||||
|
des.trap("board",24,10)
|
||||||
|
des.trap("board",22,11)
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster("Ashikaga Takauji", 22, 10)
|
||||||
|
des.monster({ id = "samurai", peaceful=0 })
|
||||||
|
des.monster({ id = "samurai", peaceful=0 })
|
||||||
|
des.monster({ id = "samurai", peaceful=0 })
|
||||||
|
des.monster({ id = "samurai", peaceful=0 })
|
||||||
|
des.monster({ id = "samurai", peaceful=0 })
|
||||||
|
des.monster({ id = "ninja", peaceful=0 })
|
||||||
|
des.monster({ id = "ninja", peaceful=0 })
|
||||||
|
des.monster({ id = "ninja", peaceful=0 })
|
||||||
|
des.monster({ id = "ninja", peaceful=0 })
|
||||||
|
des.monster({ id = "ninja", peaceful=0 })
|
||||||
|
des.monster("wolf")
|
||||||
|
des.monster("wolf")
|
||||||
|
des.monster("wolf")
|
||||||
|
des.monster("wolf")
|
||||||
|
des.monster("d")
|
||||||
|
des.monster("d")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
@@ -0,0 +1,141 @@
|
|||||||
|
-- NetHack 3.6 Samurai.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-92 by M. Stephenson, P. Winner
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "hardfloor");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
........-----..................................................-----........
|
||||||
|
........|...|..................................................|...|........
|
||||||
|
........|...---..}..--+------------------------------+--..}..---...|........
|
||||||
|
........|-|...|.....|...|....|....|....|....|....|.|...|.....|...|-|........
|
||||||
|
..........|...-------...|....|....|....|....|....S.|...-------...|..........
|
||||||
|
..........|-|.........------+----+-+-------+-+--------.........|-|..........
|
||||||
|
............|..--------.|}........................}|.--------..|............
|
||||||
|
............|..+........+..........................+........+..|............
|
||||||
|
............|..+........+..........................+........+..|............
|
||||||
|
............|..--------.|}........................}|.--------..|............
|
||||||
|
..........|-|.........--------+-+-------+-+----+------.........|-|..........
|
||||||
|
..........|...-------...|.S....|....|....|....|....|...-------...|..........
|
||||||
|
........|-|...|.....|...|.|....|....|....|....|....|...|.....|...|-|........
|
||||||
|
........|...---..}..--+------------------------------+--..}..---...|........
|
||||||
|
........|...|..................................................|...|........
|
||||||
|
........-----..................................................-----........
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
-- Doors
|
||||||
|
des.door("locked",22,04)
|
||||||
|
des.door("locked",22,15)
|
||||||
|
des.door("locked",53,04)
|
||||||
|
des.door("locked",53,15)
|
||||||
|
des.door("locked",49,06)
|
||||||
|
des.door("locked",26,13)
|
||||||
|
des.door("locked",28,07)
|
||||||
|
des.door("locked",30,12)
|
||||||
|
des.door("locked",33,07)
|
||||||
|
des.door("locked",32,12)
|
||||||
|
des.door("locked",35,07)
|
||||||
|
des.door("locked",40,12)
|
||||||
|
des.door("locked",43,07)
|
||||||
|
des.door("locked",42,12)
|
||||||
|
des.door("locked",45,07)
|
||||||
|
des.door("locked",47,12)
|
||||||
|
des.door("closed",15,09)
|
||||||
|
des.door("closed",15,10)
|
||||||
|
des.door("closed",24,09)
|
||||||
|
des.door("closed",24,10)
|
||||||
|
des.door("closed",51,09)
|
||||||
|
des.door("closed",51,10)
|
||||||
|
des.door("closed",60,09)
|
||||||
|
des.door("closed",60,10)
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 10,10)
|
||||||
|
des.stair("down", 25,14)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- Objects
|
||||||
|
des.object("*", 25, 05)
|
||||||
|
des.object("*", 26, 05)
|
||||||
|
des.object("*", 27, 05)
|
||||||
|
des.object("*", 28, 05)
|
||||||
|
des.object("*", 25, 06)
|
||||||
|
des.object("*", 26, 06)
|
||||||
|
des.object("*", 27, 06)
|
||||||
|
des.object("*", 28, 06)
|
||||||
|
--
|
||||||
|
des.object("[", 40, 05)
|
||||||
|
des.object("[", 41, 05)
|
||||||
|
des.object("[", 42, 05)
|
||||||
|
des.object("[", 43, 05)
|
||||||
|
des.object("[", 40, 06)
|
||||||
|
des.object("[", 41, 06)
|
||||||
|
des.object("[", 42, 06)
|
||||||
|
des.object("[", 43, 06)
|
||||||
|
--
|
||||||
|
des.object(")", 27, 13)
|
||||||
|
des.object(")", 28, 13)
|
||||||
|
des.object(")", 29, 13)
|
||||||
|
des.object(")", 30, 13)
|
||||||
|
des.object(")", 27, 14)
|
||||||
|
des.object(")", 28, 14)
|
||||||
|
des.object(")", 29, 14)
|
||||||
|
des.object(")", 30, 14)
|
||||||
|
--
|
||||||
|
des.object("(", 37, 13)
|
||||||
|
des.object("(", 38, 13)
|
||||||
|
des.object("(", 39, 13)
|
||||||
|
des.object("(", 40, 13)
|
||||||
|
des.object("(", 37, 14)
|
||||||
|
des.object("(", 38, 14)
|
||||||
|
des.object("(", 39, 14)
|
||||||
|
des.object("(", 40, 14)
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster({ id = "ninja", x=15, y=05, peaceful=0 })
|
||||||
|
des.monster({ id = "ninja", x=16, y=05, peaceful=0 })
|
||||||
|
des.monster("wolf", 17, 05)
|
||||||
|
des.monster("wolf", 18, 05)
|
||||||
|
des.monster({ id = "ninja", x=19, y=05, peaceful=0 })
|
||||||
|
des.monster("wolf", 15, 14)
|
||||||
|
des.monster("wolf", 16, 14)
|
||||||
|
des.monster({ id = "ninja", x=17, y=14, peaceful=0 })
|
||||||
|
des.monster({ id = "ninja", x=18, y=14, peaceful=0 })
|
||||||
|
des.monster("wolf", 56, 05)
|
||||||
|
des.monster({ id = "ninja", x=57, y=05, peaceful=0 })
|
||||||
|
des.monster("wolf", 58, 05)
|
||||||
|
des.monster("wolf", 59, 05)
|
||||||
|
des.monster({ id = "ninja", x=56, y=14, peaceful=0 })
|
||||||
|
des.monster("wolf", 57, 14)
|
||||||
|
des.monster({ id = "ninja", x=58, y=14, peaceful=0 })
|
||||||
|
des.monster("d", 59, 14)
|
||||||
|
des.monster("wolf", 60, 14)
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
des.monster("stalker")
|
||||||
|
-- "guards" for the central courtyard.
|
||||||
|
des.monster({ id = "samurai", x=30, y=05, peaceful=0 })
|
||||||
|
des.monster({ id = "samurai", x=31, y=05, peaceful=0 })
|
||||||
|
des.monster({ id = "samurai", x=32, y=05, peaceful=0 })
|
||||||
|
des.monster({ id = "samurai", x=32, y=14, peaceful=0 })
|
||||||
|
des.monster({ id = "samurai", x=33, y=14, peaceful=0 })
|
||||||
|
des.monster({ id = "samurai", x=34, y=14, peaceful=0 })
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
-- NetHack 3.6 Samurai.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-92 by M. Stephenson, P. Winner
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- The "start" level for the quest.
|
||||||
|
--
|
||||||
|
-- Here you meet your (besieged) class leader, Lord Sato
|
||||||
|
-- and receive your quest assignment.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "hardfloor")
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
..............................................................PP............
|
||||||
|
...............................................................PP...........
|
||||||
|
..........---------------------------------------------------...PPP.........
|
||||||
|
..........|......|.........|...|..............|...|.........|....PPPPP......
|
||||||
|
......... |......|.........S...|..............|...S.........|.....PPPP......
|
||||||
|
..........|......|.........|---|..............|---|.........|.....PPP.......
|
||||||
|
..........+......|.........+...-------++-------...+.........|......PP.......
|
||||||
|
..........+......|.........|......................|.........|......PP.......
|
||||||
|
......... |......---------------------++--------------------|........PP.....
|
||||||
|
..........|.................................................|.........PP....
|
||||||
|
..........|.................................................|...........PP..
|
||||||
|
..........----------------------------------------...-------|............PP.
|
||||||
|
..........................................|.................|.............PP
|
||||||
|
.............. ................. .........|.................|..............P
|
||||||
|
............. } ............... } ........|.................|...............
|
||||||
|
.............. ........PP....... .........|.................|...............
|
||||||
|
.....................PPP..................|.................|...............
|
||||||
|
......................PP..................-------------------...............
|
||||||
|
............................................................................
|
||||||
|
............................................................................
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
des.region({ region={18,03, 26,07}, lit=1, type="throne", prefilled=1 })
|
||||||
|
-- Portal arrival zone
|
||||||
|
des.levregion({ region = {62,12,70,17}, type="branch" })
|
||||||
|
-- Stairs
|
||||||
|
des.stair("down", 29,04)
|
||||||
|
-- Doors
|
||||||
|
des.door("locked",10,06)
|
||||||
|
des.door("locked",10,07)
|
||||||
|
des.door("closed",27,04)
|
||||||
|
des.door("closed",27,06)
|
||||||
|
des.door("closed",38,06)
|
||||||
|
des.door("locked",38,08)
|
||||||
|
des.door("closed",39,06)
|
||||||
|
des.door("locked",39,08)
|
||||||
|
des.door("closed",50,04)
|
||||||
|
des.door("closed",50,06)
|
||||||
|
-- Lord Sato
|
||||||
|
des.monster("Lord Sato", 20, 04)
|
||||||
|
-- The treasure of Lord Sato
|
||||||
|
des.object("chest", 20, 04)
|
||||||
|
-- roshi guards for the audience chamber
|
||||||
|
des.monster("roshi", 18, 04)
|
||||||
|
des.monster("roshi", 18, 05)
|
||||||
|
des.monster("roshi", 18, 06)
|
||||||
|
des.monster("roshi", 18, 07)
|
||||||
|
des.monster("roshi", 26, 04)
|
||||||
|
des.monster("roshi", 26, 05)
|
||||||
|
des.monster("roshi", 26, 06)
|
||||||
|
des.monster("roshi", 26, 07)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Monsters on siege duty.
|
||||||
|
des.monster({ id = "ninja", x=64, y=00, peaceful=0 })
|
||||||
|
des.monster("wolf", 65, 01)
|
||||||
|
des.monster({ id = "ninja", x=67, y=02, peaceful=0 })
|
||||||
|
des.monster({ id = "ninja", x=69, y=05, peaceful=0 })
|
||||||
|
des.monster({ id = "ninja", x=69, y=06, peaceful=0 })
|
||||||
|
des.monster("wolf", 69, 07)
|
||||||
|
des.monster({ id = "ninja", x=70, y=06, peaceful=0 })
|
||||||
|
des.monster({ id = "ninja", x=70, y=07, peaceful=0 })
|
||||||
|
des.monster({ id = "ninja", x=72, y=01, peaceful=0 })
|
||||||
|
des.monster("wolf", 75, 09)
|
||||||
|
des.monster({ id = "ninja", x=73, y=05, peaceful=0 })
|
||||||
|
des.monster({ id = "ninja", x=68, y=02, peaceful=0 })
|
||||||
|
des.monster("stalker")
|
||||||
-440
@@ -1,440 +0,0 @@
|
|||||||
# NetHack 3.6 Samurai.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
|
||||||
# Copyright (c) 1989 by Jean-Christophe Collet
|
|
||||||
# Copyright (c) 1991-92 by M. Stephenson, P. Winner
|
|
||||||
# NetHack may be freely redistributed. See license for details.
|
|
||||||
#
|
|
||||||
# The "start" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet your (besieged) class leader, Lord Sato
|
|
||||||
# and receive your quest assignment.
|
|
||||||
#
|
|
||||||
MAZE: "Sam-strt",' '
|
|
||||||
FLAGS: noteleport,hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
..............................................................PP............
|
|
||||||
...............................................................PP...........
|
|
||||||
..........---------------------------------------------------...PPP.........
|
|
||||||
..........|......|.........|...|..............|...|.........|....PPPPP......
|
|
||||||
......... |......|.........S...|..............|...S.........|.....PPPP......
|
|
||||||
..........|......|.........|---|..............|---|.........|.....PPP.......
|
|
||||||
..........+......|.........+...-------++-------...+.........|......PP.......
|
|
||||||
..........+......|.........|......................|.........|......PP.......
|
|
||||||
......... |......---------------------++--------------------|........PP.....
|
|
||||||
..........|.................................................|.........PP....
|
|
||||||
..........|.................................................|...........PP..
|
|
||||||
..........----------------------------------------...-------|............PP.
|
|
||||||
..........................................|.................|.............PP
|
|
||||||
.............. ................. .........|.................|..............P
|
|
||||||
............. } ............... } ........|.................|...............
|
|
||||||
.............. ........PP....... .........|.................|...............
|
|
||||||
.....................PPP..................|.................|...............
|
|
||||||
......................PP..................-------------------...............
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
REGION:(18,03,26,07),lit,"throne",unfilled
|
|
||||||
# Portal arrival zone
|
|
||||||
BRANCH:(62,12,70,17),(0,0,0,0)
|
|
||||||
# Stairs
|
|
||||||
STAIR:(29,04),down
|
|
||||||
# Doors
|
|
||||||
DOOR:locked,(10,06)
|
|
||||||
DOOR:locked,(10,07)
|
|
||||||
DOOR:closed,(27,04)
|
|
||||||
DOOR:closed,(27,06)
|
|
||||||
DOOR:closed,(38,06)
|
|
||||||
DOOR:locked,(38,08)
|
|
||||||
DOOR:closed,(39,06)
|
|
||||||
DOOR:locked,(39,08)
|
|
||||||
DOOR:closed,(50,04)
|
|
||||||
DOOR:closed,(50,06)
|
|
||||||
# Lord Sato
|
|
||||||
MONSTER:('@',"Lord Sato"),(20,04)
|
|
||||||
# The treasure of Lord Sato
|
|
||||||
OBJECT:('(',"chest"),(20,04)
|
|
||||||
# roshi guards for the audience chamber
|
|
||||||
MONSTER:('@',"roshi"),(18,04)
|
|
||||||
MONSTER:('@',"roshi"),(18,05)
|
|
||||||
MONSTER:('@',"roshi"),(18,06)
|
|
||||||
MONSTER:('@',"roshi"),(18,07)
|
|
||||||
MONSTER:('@',"roshi"),(26,04)
|
|
||||||
MONSTER:('@',"roshi"),(26,05)
|
|
||||||
MONSTER:('@',"roshi"),(26,06)
|
|
||||||
MONSTER:('@',"roshi"),(26,07)
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Monsters on siege duty.
|
|
||||||
MONSTER: ('@',"ninja"),(64,00),hostile
|
|
||||||
MONSTER: ('d',"wolf"),(65,01)
|
|
||||||
MONSTER: ('@',"ninja"),(67,02),hostile
|
|
||||||
MONSTER: ('@',"ninja"),(69,05),hostile
|
|
||||||
MONSTER: ('@',"ninja"),(69,06),hostile
|
|
||||||
MONSTER: ('d',"wolf"),(69,07)
|
|
||||||
MONSTER: ('@',"ninja"),(70,06),hostile
|
|
||||||
MONSTER: ('@',"ninja"),(70,07),hostile
|
|
||||||
MONSTER: ('@',"ninja"),(72,01),hostile
|
|
||||||
MONSTER: ('d',"wolf"),(75,09)
|
|
||||||
MONSTER: ('@',"ninja"),(73,05),hostile
|
|
||||||
MONSTER: ('@',"ninja"),(68,02),hostile
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "locate" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you have to invade the Shogun's Castle to go
|
|
||||||
# further towards your assigned quest.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Sam-loca",' '
|
|
||||||
FLAGS: hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
........-----..................................................-----........
|
|
||||||
........|...|..................................................|...|........
|
|
||||||
........|...---..}..--+------------------------------+--..}..---...|........
|
|
||||||
........|-|...|.....|...|....|....|....|....|....|.|...|.....|...|-|........
|
|
||||||
..........|...-------...|....|....|....|....|....S.|...-------...|..........
|
|
||||||
..........|-|.........------+----+-+-------+-+--------.........|-|..........
|
|
||||||
............|..--------.|}........................}|.--------..|............
|
|
||||||
............|..+........+..........................+........+..|............
|
|
||||||
............|..+........+..........................+........+..|............
|
|
||||||
............|..--------.|}........................}|.--------..|............
|
|
||||||
..........|-|.........--------+-+-------+-+----+------.........|-|..........
|
|
||||||
..........|...-------...|.S....|....|....|....|....|...-------...|..........
|
|
||||||
........|-|...|.....|...|.|....|....|....|....|....|...|.....|...|-|........
|
|
||||||
........|...---..}..--+------------------------------+--..}..---...|........
|
|
||||||
........|...|..................................................|...|........
|
|
||||||
........-----..................................................-----........
|
|
||||||
............................................................................
|
|
||||||
............................................................................
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
# Doors
|
|
||||||
DOOR:locked,(22,04)
|
|
||||||
DOOR:locked,(22,15)
|
|
||||||
DOOR:locked,(53,04)
|
|
||||||
DOOR:locked,(53,15)
|
|
||||||
DOOR:locked,(49,06)
|
|
||||||
DOOR:locked,(26,13)
|
|
||||||
DOOR:locked,(28,07)
|
|
||||||
DOOR:locked,(30,12)
|
|
||||||
DOOR:locked,(33,07)
|
|
||||||
DOOR:locked,(32,12)
|
|
||||||
DOOR:locked,(35,07)
|
|
||||||
DOOR:locked,(40,12)
|
|
||||||
DOOR:locked,(43,07)
|
|
||||||
DOOR:locked,(42,12)
|
|
||||||
DOOR:locked,(45,07)
|
|
||||||
DOOR:locked,(47,12)
|
|
||||||
DOOR:closed,(15,09)
|
|
||||||
DOOR:closed,(15,10)
|
|
||||||
DOOR:closed,(24,09)
|
|
||||||
DOOR:closed,(24,10)
|
|
||||||
DOOR:closed,(51,09)
|
|
||||||
DOOR:closed,(51,10)
|
|
||||||
DOOR:closed,(60,09)
|
|
||||||
DOOR:closed,(60,10)
|
|
||||||
# Stairs
|
|
||||||
STAIR:(10,10),up
|
|
||||||
STAIR:(25,14),down
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# Objects
|
|
||||||
OBJECT:'*',(25,05)
|
|
||||||
OBJECT:'*',(26,05)
|
|
||||||
OBJECT:'*',(27,05)
|
|
||||||
OBJECT:'*',(28,05)
|
|
||||||
OBJECT:'*',(25,06)
|
|
||||||
OBJECT:'*',(26,06)
|
|
||||||
OBJECT:'*',(27,06)
|
|
||||||
OBJECT:'*',(28,06)
|
|
||||||
#
|
|
||||||
OBJECT:'[',(40,05)
|
|
||||||
OBJECT:'[',(41,05)
|
|
||||||
OBJECT:'[',(42,05)
|
|
||||||
OBJECT:'[',(43,05)
|
|
||||||
OBJECT:'[',(40,06)
|
|
||||||
OBJECT:'[',(41,06)
|
|
||||||
OBJECT:'[',(42,06)
|
|
||||||
OBJECT:'[',(43,06)
|
|
||||||
#
|
|
||||||
OBJECT:')',(27,13)
|
|
||||||
OBJECT:')',(28,13)
|
|
||||||
OBJECT:')',(29,13)
|
|
||||||
OBJECT:')',(30,13)
|
|
||||||
OBJECT:')',(27,14)
|
|
||||||
OBJECT:')',(28,14)
|
|
||||||
OBJECT:')',(29,14)
|
|
||||||
OBJECT:')',(30,14)
|
|
||||||
#
|
|
||||||
OBJECT:'(',(37,13)
|
|
||||||
OBJECT:'(',(38,13)
|
|
||||||
OBJECT:'(',(39,13)
|
|
||||||
OBJECT:'(',(40,13)
|
|
||||||
OBJECT:'(',(37,14)
|
|
||||||
OBJECT:'(',(38,14)
|
|
||||||
OBJECT:'(',(39,14)
|
|
||||||
OBJECT:'(',(40,14)
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('@',"ninja"),(15,05),hostile
|
|
||||||
MONSTER:('@',"ninja"),(16,05),hostile
|
|
||||||
MONSTER:('d',"wolf"),(17,05)
|
|
||||||
MONSTER:('d',"wolf"),(18,05)
|
|
||||||
MONSTER:('@',"ninja"),(19,05),hostile
|
|
||||||
MONSTER:('d',"wolf"),(15,14)
|
|
||||||
MONSTER:('d',"wolf"),(16,14)
|
|
||||||
MONSTER:('@',"ninja"),(17,14),hostile
|
|
||||||
MONSTER:('@',"ninja"),(18,14),hostile
|
|
||||||
MONSTER:('d',"wolf"),(56,05)
|
|
||||||
MONSTER:('@',"ninja"),(57,05),hostile
|
|
||||||
MONSTER:('d',"wolf"),(58,05)
|
|
||||||
MONSTER:('d',"wolf"),(59,05)
|
|
||||||
MONSTER:('@',"ninja"),(56,14),hostile
|
|
||||||
MONSTER:('d',"wolf"),(57,14)
|
|
||||||
MONSTER:('@',"ninja"),(58,14),hostile
|
|
||||||
MONSTER:'d',(59,14)
|
|
||||||
MONSTER:('d',"wolf"),(60,14)
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
# "guards" for the central courtyard.
|
|
||||||
MONSTER:('@',"samurai"),(30,05),hostile
|
|
||||||
MONSTER:('@',"samurai"),(31,05),hostile
|
|
||||||
MONSTER:('@',"samurai"),(32,05),hostile
|
|
||||||
MONSTER:('@',"samurai"),(32,14),hostile
|
|
||||||
MONSTER:('@',"samurai"),(33,14),hostile
|
|
||||||
MONSTER:('@',"samurai"),(34,14),hostile
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "goal" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet Takauji, your nemesis monster. You have to
|
|
||||||
# defeat him in combat to gain the artifact you have been
|
|
||||||
# assigned to retrieve.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Sam-goal", ' '
|
|
||||||
FLAGS: noteleport
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
|
|
||||||
.......................
|
|
||||||
......-------------------......
|
|
||||||
......----.................----......
|
|
||||||
....----.....-------------.....----....
|
|
||||||
....--.....----...........----.....--....
|
|
||||||
...||....---....---------....---....||...
|
|
||||||
...|....--....---.......---....--....|...
|
|
||||||
....|...||...---...--+--...---...||...|....
|
|
||||||
....|...|....|....|-...-|....|....|...|....
|
|
||||||
....|...|....|....+.....+....|....|...|....
|
|
||||||
....|...|....|....|-...-|....|....|...|....
|
|
||||||
....|...||...---...--+--...---...||...|....
|
|
||||||
...|....--....---.......---....--....|...
|
|
||||||
...||....---....---------....---....||...
|
|
||||||
....--.....----...........----.....--....
|
|
||||||
....----.....-------------.....----....
|
|
||||||
......----.................----......
|
|
||||||
......-------------------......
|
|
||||||
.......................
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
$place = { (02,11),(42,09) }
|
|
||||||
SHUFFLE: $place
|
|
||||||
|
|
||||||
REGION:(00,00,44,19),unlit,"ordinary"
|
|
||||||
# Doors
|
|
||||||
DOOR:closed,(19,10)
|
|
||||||
DOOR:closed,(22,08)
|
|
||||||
DOOR:closed,(22,12)
|
|
||||||
DOOR:closed,(25,10)
|
|
||||||
# Stairs
|
|
||||||
STAIR:$place[0],up
|
|
||||||
|
|
||||||
# Holes in the concentric ring walls
|
|
||||||
$place = { (22,14),(30,10),(22, 6),(14,10) }
|
|
||||||
SHUFFLE:$place
|
|
||||||
TERRAIN:$place[0],'.'
|
|
||||||
$place = { (22, 4),(35,10),(22,16),( 9,10) }
|
|
||||||
SHUFFLE:$place
|
|
||||||
TERRAIN:$place[0],'.'
|
|
||||||
$place = { (22, 2),(22,18) }
|
|
||||||
SHUFFLE:$place
|
|
||||||
TERRAIN:$place[0],'.'
|
|
||||||
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,44,19)
|
|
||||||
# Objects
|
|
||||||
OBJECT:(')',"tsurugi"),(22,10),blessed,0,name:"The Tsurugi of Muramasa"
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
#
|
|
||||||
TRAP:"board",(22,09)
|
|
||||||
TRAP:"board",(24,10)
|
|
||||||
TRAP:"board",(22,11)
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('@',"Ashikaga Takauji"),(22,10)
|
|
||||||
MONSTER:('@',"samurai"),random,hostile
|
|
||||||
MONSTER:('@',"samurai"),random,hostile
|
|
||||||
MONSTER:('@',"samurai"),random,hostile
|
|
||||||
MONSTER:('@',"samurai"),random,hostile
|
|
||||||
MONSTER:('@',"samurai"),random,hostile
|
|
||||||
MONSTER:('@',"ninja"),random,hostile
|
|
||||||
MONSTER:('@',"ninja"),random,hostile
|
|
||||||
MONSTER:('@',"ninja"),random,hostile
|
|
||||||
MONSTER:('@',"ninja"),random,hostile
|
|
||||||
MONSTER:('@',"ninja"),random,hostile
|
|
||||||
MONSTER:('d',"wolf"),random
|
|
||||||
MONSTER:('d',"wolf"),random
|
|
||||||
MONSTER:('d',"wolf"),random
|
|
||||||
MONSTER:('d',"wolf"),random
|
|
||||||
MONSTER:'d',random
|
|
||||||
MONSTER:'d',random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
MONSTER:('E',"stalker"),random
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "fill" levels for the quest.
|
|
||||||
#
|
|
||||||
# These levels are used to fill out any levels not occupied by specific
|
|
||||||
# levels as defined above. "filla" is the upper filler, between the
|
|
||||||
# start and locate levels, and "fillb" the lower between the locate
|
|
||||||
# and goal levels.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Sam-fila", ' '
|
|
||||||
INIT_MAP: mines, '.' , 'P', true, true, random, true
|
|
||||||
NOMAP
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
MONSTER: 'd', random
|
|
||||||
MONSTER: ('d', "wolf"), random
|
|
||||||
MONSTER: ('d', "wolf"), random
|
|
||||||
MONSTER: ('d', "wolf"), random
|
|
||||||
MONSTER: ('d', "wolf"), random
|
|
||||||
MONSTER: ('d', "wolf"), random
|
|
||||||
MONSTER: ('E', "stalker"), random
|
|
||||||
#
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
|
|
||||||
MAZE: "Sam-filb", ' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
------------- -------------
|
|
||||||
|...........| |...........|
|
|
||||||
|...-----...|----------------------------------|...-----...|
|
|
||||||
|...| |...|..................................|...| |...|
|
|
||||||
|...-----..........................................-----...|
|
|
||||||
|...........|--S----------------------------S--|...........|
|
|
||||||
----...--------.|..........................|.--------...----
|
|
||||||
|...|........+..........................+........|...|
|
|
||||||
|...|........+..........................+........|...|
|
|
||||||
----...--------.|..........................|.--------...----
|
|
||||||
|...........|--S----------------------------S--|...........|
|
|
||||||
|...-----..........................................-----...|
|
|
||||||
|...| |...|..................................|...| |...|
|
|
||||||
|...-----...|----------------------------------|...-----...|
|
|
||||||
|...........| |...........|
|
|
||||||
------------- -------------
|
|
||||||
ENDMAP
|
|
||||||
REGION:(00,00,59,15),unlit,"ordinary"
|
|
||||||
# Doors
|
|
||||||
DOOR:closed,(16,07)
|
|
||||||
DOOR:closed,(16,08)
|
|
||||||
DOOR:closed,(43,07)
|
|
||||||
DOOR:closed,(43,08)
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
MONSTER: 'd', random
|
|
||||||
MONSTER: ('d', "wolf"), random
|
|
||||||
MONSTER: ('d', "wolf"), random
|
|
||||||
MONSTER: ('d', "wolf"), random
|
|
||||||
MONSTER: ('d', "wolf"), random
|
|
||||||
MONSTER: ('E', "stalker"), random
|
|
||||||
MONSTER: ('E', "stalker"), random
|
|
||||||
MONSTER: ('E', "stalker"), random
|
|
||||||
#
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
-- NetHack 3.6 Tourist.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991,92 by M. Stephenson, P. Winner
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg=" ", smoothed=true, joined=true, walled=true })
|
||||||
|
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
--
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
--
|
||||||
|
des.monster({ id = "soldier", peaceful = 0 })
|
||||||
|
des.monster({ id = "soldier", peaceful = 0 })
|
||||||
|
des.monster({ id = "soldier", peaceful = 0 })
|
||||||
|
des.monster({ id = "soldier", peaceful = 0 })
|
||||||
|
des.monster({ id = "soldier", peaceful = 0 })
|
||||||
|
des.monster({ class = "H", peaceful = 0 })
|
||||||
|
des.monster({ class = "C", peaceful = 0 })
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
-- NetHack 3.6 Tourist.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991,92 by M. Stephenson, P. Winner
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg=" ", smoothed=true, joined=true, walled=true })
|
||||||
|
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
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.monster({ id = "soldier", peaceful = 0 })
|
||||||
|
des.monster({ id = "captain", peaceful = 0 })
|
||||||
|
des.monster({ id = "captain", peaceful = 0 })
|
||||||
|
des.monster({ class = "H", peaceful = 0 })
|
||||||
|
des.monster({ class = "H", peaceful = 0 })
|
||||||
|
des.monster({ class = "C", peaceful = 0 })
|
||||||
|
des.monster("s")
|
||||||
@@ -0,0 +1,160 @@
|
|||||||
|
-- NetHack 3.6 Tourist.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991,92 by M. Stephenson, P. Winner
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
|.........|.........|..........|..| |.................|........|........|..|
|
||||||
|
|.........|.........|..........|..| |....--------.....|........|........|..|
|
||||||
|
|------S--|--+-----------+------..| |....|......|.....|........|........|..|
|
||||||
|
|.........|.......................| |....|......+.....--+-------------+--..|
|
||||||
|
|.........|.......................| |....|......|..........................|
|
||||||
|
|-S-----S-|......----------.......| |....|......|..........................|
|
||||||
|
|..|..|...|......|........|.......| |....-----------.........----..........|
|
||||||
|
|..+..+...|......|........|.......| |....|.........|.........|}}|..........|
|
||||||
|
|..|..|...|......+........|.......| |....|.........+.........|}}|..........|
|
||||||
|
|..|..|...|......|........|.......S.S....|.........|.........----..........|
|
||||||
|
|---..----|......|........|.......| |....|.........|.......................|
|
||||||
|
|.........+......|+F-+F-+F|.......| |....-----------.......................|
|
||||||
|
|---..----|......|..|..|..|.......| |......................--------------..|
|
||||||
|
|..|..|...|......--F-F--F--.......| |......................+............|..|
|
||||||
|
|..+..+...|.......................| |--.---...-----+-----..|............|..|
|
||||||
|
|--|..----|--+-----------+------..| |.....|...|.........|..|------------|..|
|
||||||
|
|..+..+...|.........|..........|..| |.....|...|.........|..+............|..|
|
||||||
|
|..|..|...|.........|..........|..| |.....|...|.........|..|............|..|
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
-- The Inn
|
||||||
|
des.region(selection.area(01,01,09,02), "lit")
|
||||||
|
des.region({ region = {01,04,09,05}, lit=1, type = "barracks" })
|
||||||
|
des.region(selection.area(01,07,02,10), "unlit")
|
||||||
|
des.region(selection.area(07,07,09,10), "unlit")
|
||||||
|
des.region(selection.area(01,14,02,15), "unlit")
|
||||||
|
des.region(selection.area(07,14,09,15), "unlit")
|
||||||
|
des.region(selection.area(01,17,02,18), "unlit")
|
||||||
|
des.region(selection.area(07,17,09,18), "unlit")
|
||||||
|
--
|
||||||
|
des.region({ region = {11,01,19,02}, lit = 0, type = "barracks" })
|
||||||
|
des.region(selection.area(21,01,30,02), "unlit")
|
||||||
|
des.region({ region = {11,17,19,18}, lit = 0, type = "barracks" })
|
||||||
|
des.region(selection.area(21,17,30,18), "unlit")
|
||||||
|
-- Police Station
|
||||||
|
des.region(selection.area(18,07,25,11), "lit")
|
||||||
|
des.region(selection.area(18,13,19,13), "unlit")
|
||||||
|
des.region(selection.area(21,13,22,13), "unlit")
|
||||||
|
des.region(selection.area(24,13,25,13), "unlit")
|
||||||
|
-- The town itself
|
||||||
|
des.region(selection.area(42,03,47,06), "unlit")
|
||||||
|
des.region(selection.area(42,08,50,11), "unlit")
|
||||||
|
des.region({ region = {37,16,41,18}, lit = 0, type = "morgue" })
|
||||||
|
des.region(selection.area(47,16,55,18), "unlit")
|
||||||
|
des.region(selection.area(55,01,62,03), "unlit")
|
||||||
|
des.region(selection.area(64,01,71,03), "unlit")
|
||||||
|
des.region({ region = {60,14,71,15}, lit = 1, type = "shop" })
|
||||||
|
des.region({ region = {60,17,71,18}, lit = 1, type = "shop" })
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 70,08)
|
||||||
|
-- Doors
|
||||||
|
des.door("locked",07,03)
|
||||||
|
des.door("locked",02,06)
|
||||||
|
des.door("locked",08,06)
|
||||||
|
des.door("closed",03,08)
|
||||||
|
des.door("closed",06,08)
|
||||||
|
des.door("open",10,12)
|
||||||
|
des.door("closed",03,15)
|
||||||
|
des.door("closed",06,15)
|
||||||
|
des.door("closed",03,17)
|
||||||
|
des.door("closed",06,17)
|
||||||
|
des.door("closed",13,03)
|
||||||
|
des.door("random",25,03)
|
||||||
|
des.door("closed",13,16)
|
||||||
|
des.door("random",25,16)
|
||||||
|
des.door("locked",17,09)
|
||||||
|
des.door("locked",18,12)
|
||||||
|
des.door("locked",21,12)
|
||||||
|
des.door("locked",24,12)
|
||||||
|
des.door("locked",34,10)
|
||||||
|
des.door("locked",36,10)
|
||||||
|
des.door("random",48,04)
|
||||||
|
des.door("random",56,04)
|
||||||
|
des.door("random",70,04)
|
||||||
|
des.door("random",51,09)
|
||||||
|
des.door("random",51,15)
|
||||||
|
des.door("open",59,14)
|
||||||
|
des.door("open",59,17)
|
||||||
|
-- Objects
|
||||||
|
des.object({ id = "credit card", x=04, y=01, buc="blessed", spe=0, name="The Platinum Yendorian Express Card" })
|
||||||
|
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()
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster({ id = "Master of Thieves", x=04, y=01, peaceful = 0 })
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("s")
|
||||||
|
des.monster("s")
|
||||||
|
-- ladies of the evening
|
||||||
|
des.monster("succubus", 02, 08)
|
||||||
|
des.monster("succubus", 08, 08)
|
||||||
|
des.monster("incubus", 02, 14)
|
||||||
|
des.monster("incubus", 08, 14)
|
||||||
|
des.monster("incubus", 02, 17)
|
||||||
|
des.monster("incubus", 08, 17)
|
||||||
|
-- Police station (with drunken prisoners)
|
||||||
|
des.monster({ id = "Kop Kaptain", x=24, y=09, peaceful = 0 })
|
||||||
|
des.monster({ id = "Kop Lieutenant", x=20, y=09, peaceful = 0 })
|
||||||
|
des.monster({ id = "Kop Lieutenant", x=22, y=11, peaceful = 0 })
|
||||||
|
des.monster({ id = "Kop Lieutenant", x=22, y=07, peaceful = 0 })
|
||||||
|
des.monster({ id = "Keystone Kop", x=19, y=07, peaceful = 0 })
|
||||||
|
des.monster({ id = "Keystone Kop", x=19, y=08, peaceful = 0 })
|
||||||
|
des.monster({ id = "Keystone Kop", x=22, y=09, peaceful = 0 })
|
||||||
|
des.monster({ id = "Keystone Kop", x=24, y=11, peaceful = 0 })
|
||||||
|
des.monster({ id = "Keystone Kop", x=19, y=11, peaceful = 0 })
|
||||||
|
des.monster("prisoner", 19, 13)
|
||||||
|
des.monster("prisoner", 21, 13)
|
||||||
|
des.monster("prisoner", 24, 13)
|
||||||
|
--
|
||||||
|
des.monster({ id = "watchman", x=33, y=10, peaceful = 0 })
|
||||||
|
|
||||||
|
des.wallify()
|
||||||
@@ -0,0 +1,157 @@
|
|||||||
|
-- NetHack 3.6 Tourist.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991,92 by M. Stephenson, P. Winner
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "hardfloor")
|
||||||
|
des.map([[
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
|....|......|..........|......|......|...|....|.....|......|...............|
|
||||||
|
|....|......|.|------|.|......|......|.|.|....|..}..|......|.|----------|..|
|
||||||
|
|....|--+----.|......|.|-S---+|+-----|.|.S....|.....|---+--|.|..........+..|
|
||||||
|
|....|........|......|.|...|.........|.|------|..............|..........|-+|
|
||||||
|
|....+...}}...+......|.|...|.|-----|.|..............|--+----------------|..|
|
||||||
|
|----|........|------|.|---|.|.....|......|-----+-|.|.......|...........|--|
|
||||||
|
|............................|.....|.|--+-|.......|.|.......|...........|..|
|
||||||
|
|----|.....|-------------|...|--+--|.|....|.......|.|-----------+-------|..|
|
||||||
|
|....+.....+.........S...|...........|....|-------|........................|
|
||||||
|
|....|.....|.........|...|.|---------|....|.........|-------|.|----------|.|
|
||||||
|
|....|.....|---------|---|.|......|..+....|-------|.|.......|.+......S.\.|.|
|
||||||
|
|....|.....+.........S...|.|......|..|....|.......|.|.......|.|......|...|.|
|
||||||
|
|-------|..|.........|---|.|+-------------------+-|.|.......+.|----------|.|
|
||||||
|
|.......+..|---------|.........|.........|..........|.......|.|..........|.|
|
||||||
|
|.......|..............|--+--|.|.........|.|----+-----------|.|..........|.|
|
||||||
|
|---------+-|--+-----|-|.....|.|.........|.|........|.|.....+.|..........+.|
|
||||||
|
|...........|........|.S.....|.|----+----|.|--------|.|.....|.|----------|.|
|
||||||
|
|...........|........|.|.....|........................|.....|..............|
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
--
|
||||||
|
des.region({ region={01,01, 04,05}, lit=0, type="morgue", prefilled = 0 })
|
||||||
|
des.region({ region={15,03, 20,05}, lit=1, type="shop", prefilled = 0 })
|
||||||
|
des.region({ region={62,03, 71,04}, lit=1, type="shop", prefilled = 0 })
|
||||||
|
des.region({ region={01,17, 11,18}, lit=1, type="barracks", prefilled = 0 })
|
||||||
|
des.region({ region={12,09, 20,10}, lit=1, type="barracks", prefilled = 0 })
|
||||||
|
des.region({ region={53,11, 59,14}, lit=1, type="zoo", prefilled = 0 })
|
||||||
|
des.region({ region={63,14, 72,16}, lit=1, type="barracks", prefilled = 0 })
|
||||||
|
des.region({ region={32,14, 40,16}, lit=1, type="temple", prefilled = 0 })
|
||||||
|
--
|
||||||
|
des.region({ region = {06,01,11,02}, type = "ordinary" })
|
||||||
|
des.region({ region = {24,01,29,02}, type = "ordinary" })
|
||||||
|
des.region({ region = {31,01,36,02}, type = "ordinary" })
|
||||||
|
des.region({ region = {42,01,45,03}, type = "ordinary" })
|
||||||
|
des.region({ region = {53,01,58,02}, type = "ordinary" })
|
||||||
|
des.region({ region = {24,04,26,05}, type = "ordinary" })
|
||||||
|
des.region({ region = {30,06,34,07}, type = "ordinary" })
|
||||||
|
des.region(selection.area(73,05,74,05), "unlit")
|
||||||
|
des.region({ region = {01,09,04,12}, type = "ordinary" })
|
||||||
|
des.region({ region = {01,14,07,15}, type = "ordinary" })
|
||||||
|
des.region({ region = {12,12,20,13}, type = "ordinary" })
|
||||||
|
des.region({ region = {13,17,20,18}, type = "ordinary" })
|
||||||
|
des.region({ region = {22,09,24,10}, type = "ordinary" })
|
||||||
|
des.region({ region = {22,12,24,12}, type = "ordinary" })
|
||||||
|
des.region({ region = {24,16,28,18}, type = "ordinary" })
|
||||||
|
des.region({ region = {28,11,33,12}, type = "ordinary" })
|
||||||
|
des.region(selection.area(35,11,36,12), "lit")
|
||||||
|
des.region({ region = {38,08,41,12}, type = "ordinary" })
|
||||||
|
des.region({ region = {43,07,49,08}, type = "ordinary" })
|
||||||
|
des.region({ region = {43,12,49,12}, type = "ordinary" })
|
||||||
|
des.region({ region = {44,16,51,16}, type = "ordinary" })
|
||||||
|
des.region({ region = {53,06,59,07}, type = "ordinary" })
|
||||||
|
des.region({ region = {61,06,71,07}, type = "ordinary" })
|
||||||
|
des.region({ region = {55,16,59,18}, type = "ordinary" })
|
||||||
|
des.region({ region = {63,11,68,12}, type = "ordinary" })
|
||||||
|
des.region({ region = {70,11,72,12}, type = "ordinary" })
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 10,04)
|
||||||
|
des.stair("down", 73,05)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
des.door("closed",05,05)
|
||||||
|
des.door("closed",05,09)
|
||||||
|
des.door("closed",08,14)
|
||||||
|
des.door("closed",08,03)
|
||||||
|
des.door("closed",11,09)
|
||||||
|
des.door("closed",11,12)
|
||||||
|
des.door("closed",10,16)
|
||||||
|
des.door("closed",14,05)
|
||||||
|
des.door("closed",15,16)
|
||||||
|
des.door("locked",21,09)
|
||||||
|
des.door("locked",21,12)
|
||||||
|
des.door("closed",23,17)
|
||||||
|
des.door("closed",25,03)
|
||||||
|
des.door("closed",26,15)
|
||||||
|
des.door("closed",29,03)
|
||||||
|
des.door("closed",28,13)
|
||||||
|
des.door("closed",31,03)
|
||||||
|
des.door("closed",32,08)
|
||||||
|
des.door("closed",37,11)
|
||||||
|
des.door("closed",36,17)
|
||||||
|
des.door("locked",41,03)
|
||||||
|
des.door("closed",40,07)
|
||||||
|
des.door("closed",48,06)
|
||||||
|
des.door("closed",48,13)
|
||||||
|
des.door("closed",48,15)
|
||||||
|
des.door("closed",56,03)
|
||||||
|
des.door("closed",55,05)
|
||||||
|
des.door("closed",72,03)
|
||||||
|
des.door("locked",74,04)
|
||||||
|
des.door("closed",64,08)
|
||||||
|
des.door("closed",62,11)
|
||||||
|
des.door("closed",69,11)
|
||||||
|
des.door("closed",60,13)
|
||||||
|
des.door("closed",60,16)
|
||||||
|
des.door("closed",73,16)
|
||||||
|
|
||||||
|
-- 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()
|
||||||
|
-- Toilet paper
|
||||||
|
des.object("blank paper", 71, 12)
|
||||||
|
des.object("blank paper", 71, 12)
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("s")
|
||||||
|
des.monster("s")
|
||||||
@@ -0,0 +1,131 @@
|
|||||||
|
-- NetHack 3.6 Tourist.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991,92 by M. Stephenson, P. Winner
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- The "start" level for the quest.
|
||||||
|
--
|
||||||
|
-- Here you meet your (besieged) class leader, Twoflower
|
||||||
|
-- and receive your quest assignment.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "hardfloor")
|
||||||
|
des.map([[
|
||||||
|
.......}}....---------..-------------------------------------------------...
|
||||||
|
........}}...|.......|..|.-------------------------------------------...|...
|
||||||
|
.........}}..|.......|..|.|......|......|.............|......|......|...|...
|
||||||
|
..........}}.|.......|..|.|......+......+.............+......+..\...|...|...
|
||||||
|
...........}}}..........|.|......|......|.............|......|......|...|...
|
||||||
|
.............}}.........|.|----S-|--S---|S----------S-|---S--|------|...|...
|
||||||
|
..............}}}.......|...............................................|...
|
||||||
|
................}}}.....----S------++--S----------S----------S-----------...
|
||||||
|
..................}}........... .. ...................................
|
||||||
|
......-------......}}}}........}}}}..}}}}..}}}}..}}}}.......................
|
||||||
|
......|.....|.......}}}}}}..}}}} .. }}}}..}}}}..}}}.....................
|
||||||
|
......|.....+...........}}}}}}........................}}}..}}}}..}}}..}}}...
|
||||||
|
......|.....|...........................................}}}}..}}}..}}}}.}}}}
|
||||||
|
......-------...............................................................
|
||||||
|
............................................................................
|
||||||
|
...-------......-------.....................................................
|
||||||
|
...|.....|......|.....|.....................................................
|
||||||
|
...|.....+......+.....|.....................................................
|
||||||
|
...|.....|......|.....|.....................................................
|
||||||
|
...-------......-------.....................................................
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
des.region({ region={14,01, 20,03}, lit=0, type="morgue", prefilled=0 })
|
||||||
|
des.region(selection.area(07,10,11,12), "unlit")
|
||||||
|
des.region(selection.area(04,16,08,18), "unlit")
|
||||||
|
des.region(selection.area(17,16,21,18), "unlit")
|
||||||
|
des.region(selection.area(27,02,32,04), "unlit")
|
||||||
|
des.region(selection.area(34,02,39,04), "unlit")
|
||||||
|
des.region(selection.area(41,02,53,04), "unlit")
|
||||||
|
des.region(selection.area(55,02,60,04), "unlit")
|
||||||
|
des.region(selection.area(62,02,67,04), "lit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("down", 66,03)
|
||||||
|
-- Portal arrival point
|
||||||
|
des.levregion({ region = {68,14,68,14}, type="branch" })
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- Doors
|
||||||
|
des.door("locked",31,05)
|
||||||
|
des.door("locked",36,05)
|
||||||
|
des.door("locked",41,05)
|
||||||
|
des.door("locked",52,05)
|
||||||
|
des.door("locked",58,05)
|
||||||
|
des.door("locked",28,07)
|
||||||
|
des.door("locked",39,07)
|
||||||
|
des.door("locked",50,07)
|
||||||
|
des.door("locked",61,07)
|
||||||
|
des.door("closed",33,03)
|
||||||
|
des.door("closed",40,03)
|
||||||
|
des.door("closed",54,03)
|
||||||
|
des.door("closed",61,03)
|
||||||
|
des.door("open",12,11)
|
||||||
|
des.door("open",09,17)
|
||||||
|
des.door("open",16,17)
|
||||||
|
des.door("locked",35,07)
|
||||||
|
des.door("locked",36,07)
|
||||||
|
-- Monsters on siege duty.
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("giant spider")
|
||||||
|
des.monster("s")
|
||||||
|
des.monster("s")
|
||||||
|
des.monster("forest centaur")
|
||||||
|
des.monster("forest centaur")
|
||||||
|
des.monster("forest centaur")
|
||||||
|
des.monster("forest centaur")
|
||||||
|
des.monster("forest centaur")
|
||||||
|
des.monster("forest centaur")
|
||||||
|
des.monster("forest centaur")
|
||||||
|
des.monster("forest centaur")
|
||||||
|
des.monster("C")
|
||||||
|
-- Twoflower
|
||||||
|
des.monster("Twoflower", 64, 03)
|
||||||
|
-- The treasure of Twoflower
|
||||||
|
des.object("chest", 64, 03)
|
||||||
|
-- guides for the audience chamber
|
||||||
|
des.monster("guide", 29, 03)
|
||||||
|
des.monster("guide", 32, 04)
|
||||||
|
des.monster("guide", 35, 02)
|
||||||
|
des.monster("guide", 38, 03)
|
||||||
|
des.monster("guide", 45, 03)
|
||||||
|
des.monster("guide", 48, 02)
|
||||||
|
des.monster("guide", 49, 04)
|
||||||
|
des.monster("guide", 51, 03)
|
||||||
|
des.monster("guide", 57, 03)
|
||||||
|
des.monster("guide", 62, 04)
|
||||||
|
des.monster("guide", 66, 04)
|
||||||
|
-- path guards
|
||||||
|
des.monster("watchman", 35, 08)
|
||||||
|
des.monster("watchman", 36, 08)
|
||||||
|
-- river monsters
|
||||||
|
des.monster("giant eel", 62, 12)
|
||||||
|
des.monster("piranha", 47, 10)
|
||||||
|
des.monster("piranha", 29, 11)
|
||||||
|
des.monster("kraken", 34, 09)
|
||||||
|
des.monster("kraken", 37, 09)
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
-519
@@ -1,519 +0,0 @@
|
|||||||
# NetHack 3.6 Tourist.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.8 $
|
|
||||||
# Copyright (c) 1989 by Jean-Christophe Collet
|
|
||||||
# Copyright (c) 1991,92 by M. Stephenson, P. Winner
|
|
||||||
# NetHack may be freely redistributed. See license for details.
|
|
||||||
#
|
|
||||||
# The "start" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet your (besieged) class leader, Twoflower
|
|
||||||
# and receive your quest assignment.
|
|
||||||
#
|
|
||||||
MAZE: "Tou-strt",' '
|
|
||||||
FLAGS: noteleport,hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
.......}}....---------..-------------------------------------------------...
|
|
||||||
........}}...|.......|..|.-------------------------------------------...|...
|
|
||||||
.........}}..|.......|..|.|......|......|.............|......|......|...|...
|
|
||||||
..........}}.|.......|..|.|......+......+.............+......+..\...|...|...
|
|
||||||
...........}}}..........|.|......|......|.............|......|......|...|...
|
|
||||||
.............}}.........|.|----S-|--S---|S----------S-|---S--|------|...|...
|
|
||||||
..............}}}.......|...............................................|...
|
|
||||||
................}}}.....----S------++--S----------S----------S-----------...
|
|
||||||
..................}}........... .. ...................................
|
|
||||||
......-------......}}}}........}}}}..}}}}..}}}}..}}}}.......................
|
|
||||||
......|.....|.......}}}}}}..}}}} .. }}}}..}}}}..}}}.....................
|
|
||||||
......|.....+...........}}}}}}........................}}}..}}}}..}}}..}}}...
|
|
||||||
......|.....|...........................................}}}}..}}}..}}}}.}}}}
|
|
||||||
......-------...............................................................
|
|
||||||
............................................................................
|
|
||||||
...-------......-------.....................................................
|
|
||||||
...|.....|......|.....|.....................................................
|
|
||||||
...|.....+......+.....|.....................................................
|
|
||||||
...|.....|......|.....|.....................................................
|
|
||||||
...-------......-------.....................................................
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
REGION:(14,01,20,03),unlit,"morgue"
|
|
||||||
REGION:(07,10,11,12),unlit,"ordinary"
|
|
||||||
REGION:(04,16,08,18),unlit,"ordinary"
|
|
||||||
REGION:(17,16,21,18),unlit,"ordinary"
|
|
||||||
REGION:(27,02,32,04),unlit,"ordinary"
|
|
||||||
REGION:(34,02,39,04),unlit,"ordinary"
|
|
||||||
REGION:(41,02,53,04),unlit,"ordinary"
|
|
||||||
REGION:(55,02,60,04),unlit,"ordinary"
|
|
||||||
REGION:(62,02,67,04),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(66,03),down
|
|
||||||
# Portal arrival point
|
|
||||||
BRANCH:(68,14,68,14),(0,0,0,0)
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# Doors
|
|
||||||
DOOR:locked,(31,05)
|
|
||||||
DOOR:locked,(36,05)
|
|
||||||
DOOR:locked,(41,05)
|
|
||||||
DOOR:locked,(52,05)
|
|
||||||
DOOR:locked,(58,05)
|
|
||||||
DOOR:locked,(28,07)
|
|
||||||
DOOR:locked,(39,07)
|
|
||||||
DOOR:locked,(50,07)
|
|
||||||
DOOR:locked,(61,07)
|
|
||||||
DOOR:closed,(33,03)
|
|
||||||
DOOR:closed,(40,03)
|
|
||||||
DOOR:closed,(54,03)
|
|
||||||
DOOR:closed,(61,03)
|
|
||||||
DOOR:open,(12,11)
|
|
||||||
DOOR:open,(09,17)
|
|
||||||
DOOR:open,(16,17)
|
|
||||||
DOOR:locked,(35,07)
|
|
||||||
DOOR:locked,(36,07)
|
|
||||||
# Monsters on siege duty.
|
|
||||||
MONSTER: ('s',"giant spider"),random
|
|
||||||
MONSTER: ('s',"giant spider"),random
|
|
||||||
MONSTER: ('s',"giant spider"),random
|
|
||||||
MONSTER: ('s',"giant spider"),random
|
|
||||||
MONSTER: ('s',"giant spider"),random
|
|
||||||
MONSTER: ('s',"giant spider"),random
|
|
||||||
MONSTER: ('s',"giant spider"),random
|
|
||||||
MONSTER: ('s',"giant spider"),random
|
|
||||||
MONSTER: ('s',"giant spider"),random
|
|
||||||
MONSTER: ('s',"giant spider"),random
|
|
||||||
MONSTER: ('s',"giant spider"),random
|
|
||||||
MONSTER: ('s',"giant spider"),random
|
|
||||||
MONSTER: 's',random
|
|
||||||
MONSTER: 's',random
|
|
||||||
MONSTER: ('C',"forest centaur"),random
|
|
||||||
MONSTER: ('C',"forest centaur"),random
|
|
||||||
MONSTER: ('C',"forest centaur"),random
|
|
||||||
MONSTER: ('C',"forest centaur"),random
|
|
||||||
MONSTER: ('C',"forest centaur"),random
|
|
||||||
MONSTER: ('C',"forest centaur"),random
|
|
||||||
MONSTER: ('C',"forest centaur"),random
|
|
||||||
MONSTER: ('C',"forest centaur"),random
|
|
||||||
MONSTER: 'C',random
|
|
||||||
# Twoflower
|
|
||||||
MONSTER:('@',"Twoflower"),(64,03)
|
|
||||||
# The treasure of Twoflower
|
|
||||||
OBJECT:('(',"chest"),(64,03)
|
|
||||||
# guides for the audience chamber
|
|
||||||
MONSTER:('@',"guide"),(29,03)
|
|
||||||
MONSTER:('@',"guide"),(32,04)
|
|
||||||
MONSTER:('@',"guide"),(35,02)
|
|
||||||
MONSTER:('@',"guide"),(38,03)
|
|
||||||
MONSTER:('@',"guide"),(45,03)
|
|
||||||
MONSTER:('@',"guide"),(48,02)
|
|
||||||
MONSTER:('@',"guide"),(49,04)
|
|
||||||
MONSTER:('@',"guide"),(51,03)
|
|
||||||
MONSTER:('@',"guide"),(57,03)
|
|
||||||
MONSTER:('@',"guide"),(62,04)
|
|
||||||
MONSTER:('@',"guide"),(66,04)
|
|
||||||
# path guards
|
|
||||||
MONSTER:('@',"watchman"),(35,08)
|
|
||||||
MONSTER:('@',"watchman"),(36,08)
|
|
||||||
# river monsters
|
|
||||||
MONSTER:(';',"giant eel"),(62,12)
|
|
||||||
MONSTER:(';',"piranha"),(47,10)
|
|
||||||
MONSTER:(';',"piranha"),(29,11)
|
|
||||||
MONSTER:(';',"kraken"),(34,09)
|
|
||||||
MONSTER:(';',"kraken"),(37,09)
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "locate" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you have to find the Thieves' Guild Hall to go
|
|
||||||
# further towards your assigned quest.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Tou-loca",' '
|
|
||||||
FLAGS: hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
----------------------------------------------------------------------------
|
|
||||||
|....|......|..........|......|......|...|....|.....|......|...............|
|
|
||||||
|....|......|.|------|.|......|......|.|.|....|..}..|......|.|----------|..|
|
|
||||||
|....|--+----.|......|.|-S---+|+-----|.|.S....|.....|---+--|.|..........+..|
|
|
||||||
|....|........|......|.|...|.........|.|------|..............|..........|-+|
|
|
||||||
|....+...}}...+......|.|...|.|-----|.|..............|--+----------------|..|
|
|
||||||
|----|........|------|.|---|.|.....|......|-----+-|.|.......|...........|--|
|
|
||||||
|............................|.....|.|--+-|.......|.|.......|...........|..|
|
|
||||||
|----|.....|-------------|...|--+--|.|....|.......|.|-----------+-------|..|
|
|
||||||
|....+.....+.........S...|...........|....|-------|........................|
|
|
||||||
|....|.....|.........|...|.|---------|....|.........|-------|.|----------|.|
|
|
||||||
|....|.....|---------|---|.|......|..+....|-------|.|.......|.+......S.\.|.|
|
|
||||||
|....|.....+.........S...|.|......|..|....|.......|.|.......|.|......|...|.|
|
|
||||||
|-------|..|.........|---|.|+-------------------+-|.|.......+.|----------|.|
|
|
||||||
|.......+..|---------|.........|.........|..........|.......|.|..........|.|
|
|
||||||
|.......|..............|--+--|.|.........|.|----+-----------|.|..........|.|
|
|
||||||
|---------+-|--+-----|-|.....|.|.........|.|........|.|.....+.|..........+.|
|
|
||||||
|...........|........|.S.....|.|----+----|.|--------|.|.....|.|----------|.|
|
|
||||||
|...........|........|.|.....|........................|.....|..............|
|
|
||||||
----------------------------------------------------------------------------
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
#
|
|
||||||
REGION:(01,01,04,05),unlit,"morgue"
|
|
||||||
REGION:(15,03,20,05),lit,"shop"
|
|
||||||
REGION:(62,03,71,04),lit,"shop"
|
|
||||||
REGION:(01,17,11,18),lit,"barracks"
|
|
||||||
REGION:(12,09,20,10),lit,"barracks"
|
|
||||||
REGION:(53,11,59,14),lit,"zoo"
|
|
||||||
REGION:(63,14,72,16),lit,"barracks"
|
|
||||||
REGION:(32,14,40,16),lit,"temple"
|
|
||||||
#
|
|
||||||
REGION:(06,01,11,02),random,"ordinary"
|
|
||||||
REGION:(24,01,29,02),random,"ordinary"
|
|
||||||
REGION:(31,01,36,02),random,"ordinary"
|
|
||||||
REGION:(42,01,45,03),random,"ordinary"
|
|
||||||
REGION:(53,01,58,02),random,"ordinary"
|
|
||||||
REGION:(24,04,26,05),random,"ordinary"
|
|
||||||
REGION:(30,06,34,07),random,"ordinary"
|
|
||||||
REGION:(73,05,74,05),unlit,"ordinary"
|
|
||||||
REGION:(01,09,04,12),random,"ordinary"
|
|
||||||
REGION:(01,14,07,15),random,"ordinary"
|
|
||||||
REGION:(12,12,20,13),random,"ordinary"
|
|
||||||
REGION:(13,17,20,18),random,"ordinary"
|
|
||||||
REGION:(22,09,24,10),random,"ordinary"
|
|
||||||
REGION:(22,12,24,12),random,"ordinary"
|
|
||||||
REGION:(24,16,28,18),random,"ordinary"
|
|
||||||
REGION:(28,11,33,12),random,"ordinary"
|
|
||||||
REGION:(35,11,36,12),lit,"ordinary"
|
|
||||||
REGION:(38,08,41,12),random,"ordinary"
|
|
||||||
REGION:(43,07,49,08),random,"ordinary"
|
|
||||||
REGION:(43,12,49,12),random,"ordinary"
|
|
||||||
REGION:(44,16,51,16),random,"ordinary"
|
|
||||||
REGION:(53,06,59,07),random,"ordinary"
|
|
||||||
REGION:(61,06,71,07),random,"ordinary"
|
|
||||||
REGION:(55,16,59,18),random,"ordinary"
|
|
||||||
REGION:(63,11,68,12),random,"ordinary"
|
|
||||||
REGION:(70,11,72,12),random,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(10,04),up
|
|
||||||
STAIR:(73,05),down
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
DOOR:closed,(05,05)
|
|
||||||
DOOR:closed,(05,09)
|
|
||||||
DOOR:closed,(08,14)
|
|
||||||
DOOR:closed,(08,03)
|
|
||||||
DOOR:closed,(11,09)
|
|
||||||
DOOR:closed,(11,12)
|
|
||||||
DOOR:closed,(10,16)
|
|
||||||
DOOR:closed,(14,05)
|
|
||||||
DOOR:closed,(15,16)
|
|
||||||
DOOR:locked,(21,09)
|
|
||||||
DOOR:locked,(21,12)
|
|
||||||
DOOR:closed,(23,17)
|
|
||||||
DOOR:closed,(25,03)
|
|
||||||
DOOR:closed,(26,15)
|
|
||||||
DOOR:closed,(29,03)
|
|
||||||
DOOR:closed,(28,13)
|
|
||||||
DOOR:closed,(31,03)
|
|
||||||
DOOR:closed,(32,08)
|
|
||||||
DOOR:closed,(37,11)
|
|
||||||
DOOR:closed,(36,17)
|
|
||||||
DOOR:locked,(41,03)
|
|
||||||
DOOR:closed,(40,07)
|
|
||||||
DOOR:closed,(48,06)
|
|
||||||
DOOR:closed,(48,13)
|
|
||||||
DOOR:closed,(48,15)
|
|
||||||
DOOR:closed,(56,03)
|
|
||||||
DOOR:closed,(55,05)
|
|
||||||
DOOR:closed,(72,03)
|
|
||||||
DOOR:locked,(74,04)
|
|
||||||
DOOR:closed,(64,08)
|
|
||||||
DOOR:closed,(62,11)
|
|
||||||
DOOR:closed,(69,11)
|
|
||||||
DOOR:closed,(60,13)
|
|
||||||
DOOR:closed,(60,16)
|
|
||||||
DOOR:closed,(73,16)
|
|
||||||
|
|
||||||
# Objects
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Toilet paper
|
|
||||||
OBJECT:('?',"blank paper"),(71,12)
|
|
||||||
OBJECT:('?',"blank paper"),(71,12)
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:'s',random
|
|
||||||
MONSTER:'s',random
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "goal" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet the Master of Thieves your nemesis monster. You have to
|
|
||||||
# defeat the Master of Thieves in combat to gain the artifact you have
|
|
||||||
# been assigned to retrieve.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Tou-goal", ' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
----------------------------------------------------------------------------
|
|
||||||
|.........|.........|..........|..| |.................|........|........|..|
|
|
||||||
|.........|.........|..........|..| |....--------.....|........|........|..|
|
|
||||||
|------S--|--+-----------+------..| |....|......|.....|........|........|..|
|
|
||||||
|.........|.......................| |....|......+.....--+-------------+--..|
|
|
||||||
|.........|.......................| |....|......|..........................|
|
|
||||||
|-S-----S-|......----------.......| |....|......|..........................|
|
|
||||||
|..|..|...|......|........|.......| |....-----------.........----..........|
|
|
||||||
|..+..+...|......|........|.......| |....|.........|.........|}}|..........|
|
|
||||||
|..|..|...|......+........|.......| |....|.........+.........|}}|..........|
|
|
||||||
|..|..|...|......|........|.......S.S....|.........|.........----..........|
|
|
||||||
|---..----|......|........|.......| |....|.........|.......................|
|
|
||||||
|.........+......|+F-+F-+F|.......| |....-----------.......................|
|
|
||||||
|---..----|......|..|..|..|.......| |......................--------------..|
|
|
||||||
|..|..|...|......--F-F--F--.......| |......................+............|..|
|
|
||||||
|..+..+...|.......................| |--.---...-----+-----..|............|..|
|
|
||||||
|--|..----|--+-----------+------..| |.....|...|.........|..|------------|..|
|
|
||||||
|..+..+...|.........|..........|..| |.....|...|.........|..+............|..|
|
|
||||||
|..|..|...|.........|..........|..| |.....|...|.........|..|............|..|
|
|
||||||
----------------------------------------------------------------------------
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
# The Inn
|
|
||||||
REGION:(01,01,09,02),lit,"ordinary"
|
|
||||||
REGION:(01,04,09,05),lit,"barracks"
|
|
||||||
REGION:(01,07,02,10),unlit,"ordinary"
|
|
||||||
REGION:(07,07,09,10),unlit,"ordinary"
|
|
||||||
REGION:(01,14,02,15),unlit,"ordinary"
|
|
||||||
REGION:(07,14,09,15),unlit,"ordinary"
|
|
||||||
REGION:(01,17,02,18),unlit,"ordinary"
|
|
||||||
REGION:(07,17,09,18),unlit,"ordinary"
|
|
||||||
#
|
|
||||||
REGION:(11,01,19,02),unlit,"barracks"
|
|
||||||
REGION:(21,01,30,02),unlit,"ordinary"
|
|
||||||
REGION:(11,17,19,18),unlit,"barracks"
|
|
||||||
REGION:(21,17,30,18),unlit,"ordinary"
|
|
||||||
# Police Station
|
|
||||||
REGION:(18,07,25,11),lit,"ordinary"
|
|
||||||
REGION:(18,13,19,13),unlit,"ordinary"
|
|
||||||
REGION:(21,13,22,13),unlit,"ordinary"
|
|
||||||
REGION:(24,13,25,13),unlit,"ordinary"
|
|
||||||
# The town itself
|
|
||||||
REGION:(42,03,47,06),unlit,"ordinary"
|
|
||||||
REGION:(42,08,50,11),unlit,"ordinary"
|
|
||||||
REGION:(37,16,41,18),unlit,"morgue"
|
|
||||||
REGION:(47,16,55,18),unlit,"ordinary"
|
|
||||||
REGION:(55,01,62,03),unlit,"ordinary"
|
|
||||||
REGION:(64,01,71,03),unlit,"ordinary"
|
|
||||||
REGION:(60,14,71,15),lit,"shop"
|
|
||||||
REGION:(60,17,71,18),lit,"shop"
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# Stairs
|
|
||||||
STAIR:(70,08),up
|
|
||||||
# Doors
|
|
||||||
DOOR:locked,(07,03)
|
|
||||||
DOOR:locked,(02,06)
|
|
||||||
DOOR:locked,(08,06)
|
|
||||||
DOOR:closed,(03,08)
|
|
||||||
DOOR:closed,(06,08)
|
|
||||||
DOOR:open,(10,12)
|
|
||||||
DOOR:closed,(03,15)
|
|
||||||
DOOR:closed,(06,15)
|
|
||||||
DOOR:closed,(03,17)
|
|
||||||
DOOR:closed,(06,17)
|
|
||||||
DOOR:closed,(13,03)
|
|
||||||
DOOR:random,(25,03)
|
|
||||||
DOOR:closed,(13,16)
|
|
||||||
DOOR:random,(25,16)
|
|
||||||
DOOR:locked,(17,09)
|
|
||||||
DOOR:locked,(18,12)
|
|
||||||
DOOR:locked,(21,12)
|
|
||||||
DOOR:locked,(24,12)
|
|
||||||
DOOR:locked,(34,10)
|
|
||||||
DOOR:locked,(36,10)
|
|
||||||
DOOR:random,(48,04)
|
|
||||||
DOOR:random,(56,04)
|
|
||||||
DOOR:random,(70,04)
|
|
||||||
DOOR:random,(51,09)
|
|
||||||
DOOR:random,(51,15)
|
|
||||||
DOOR:open,(59,14)
|
|
||||||
DOOR:open,(59,17)
|
|
||||||
# Objects
|
|
||||||
OBJECT:('(',"credit card"),(04,01),blessed,0,name:"The Platinum Yendorian Express Card"
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('@',"Master of Thieves"),(04,01),hostile
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:('s',"giant spider"),random
|
|
||||||
MONSTER:'s',random
|
|
||||||
MONSTER:'s',random
|
|
||||||
# ladies of the evening
|
|
||||||
MONSTER:('&',"succubus"),(02,08)
|
|
||||||
MONSTER:('&',"succubus"),(08,08)
|
|
||||||
MONSTER:('&',"incubus"),(02,14)
|
|
||||||
MONSTER:('&',"incubus"),(08,14)
|
|
||||||
MONSTER:('&',"incubus"),(02,17)
|
|
||||||
MONSTER:('&',"incubus"),(08,17)
|
|
||||||
# Police station (with drunken prisoners)
|
|
||||||
MONSTER:('K',"Kop Kaptain"),(24,09),hostile
|
|
||||||
MONSTER:('K',"Kop Lieutenant"),(20,09),hostile
|
|
||||||
MONSTER:('K',"Kop Lieutenant"),(22,11),hostile
|
|
||||||
MONSTER:('K',"Kop Lieutenant"),(22,07),hostile
|
|
||||||
MONSTER:('K',"Keystone Kop"),(19,07),hostile
|
|
||||||
MONSTER:('K',"Keystone Kop"),(19,08),hostile
|
|
||||||
MONSTER:('K',"Keystone Kop"),(22,09),hostile
|
|
||||||
MONSTER:('K',"Keystone Kop"),(24,11),hostile
|
|
||||||
MONSTER:('K',"Keystone Kop"),(19,11),hostile
|
|
||||||
MONSTER:('@',"prisoner"),(19,13)
|
|
||||||
MONSTER:('@',"prisoner"),(21,13)
|
|
||||||
MONSTER:('@',"prisoner"),(24,13)
|
|
||||||
#
|
|
||||||
MONSTER:('@',"watchman"),(33,10),hostile
|
|
||||||
|
|
||||||
WALLIFY
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "fill" level for the quest.
|
|
||||||
#
|
|
||||||
# This level is used to fill out any levels not occupied by specific
|
|
||||||
# levels as defined above.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Tou-fila" , ' '
|
|
||||||
INIT_MAP: mines, '.' , ' ', true, true, random, true
|
|
||||||
NOMAP
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
#
|
|
||||||
MONSTER: ('@', "soldier"), random, hostile
|
|
||||||
MONSTER: ('@', "soldier"), random, hostile
|
|
||||||
MONSTER: ('@', "soldier"), random, hostile
|
|
||||||
MONSTER: ('@', "soldier"), random, hostile
|
|
||||||
MONSTER: ('@', "soldier"), random, hostile
|
|
||||||
MONSTER: 'H', random, hostile
|
|
||||||
MONSTER: 'C', random, hostile
|
|
||||||
|
|
||||||
MAZE: "Tou-filb" , ' '
|
|
||||||
INIT_MAP: mines, '.' , ' ', true, true, random, true
|
|
||||||
NOMAP
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
#
|
|
||||||
MONSTER: ('@', "soldier"), random, hostile
|
|
||||||
MONSTER: ('@', "captain"), random, hostile
|
|
||||||
MONSTER: ('@', "captain"), random, hostile
|
|
||||||
MONSTER: 'H', random, hostile
|
|
||||||
MONSTER: 'H', random, hostile
|
|
||||||
MONSTER: 'C', random, hostile
|
|
||||||
MONSTER: 's', random
|
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
-- NetHack 3.6 Valkyrie.des $NHDT-Date: 1553807172 2019/03/28 21:06:12 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.15 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-2 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = "I" });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "icedpools")
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg="I", smoothed=true, joined=true, lit=1, walled=false })
|
||||||
|
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
--
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("a")
|
||||||
|
des.monster({ id = "fire giant", peaceful = 0 })
|
||||||
|
--
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
-- NetHack 3.6 Valkyrie.des $NHDT-Date: 1553807172 2019/03/28 21:06:12 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.15 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-2 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = "L" });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "icedpools")
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg="L", smoothed=true, joined=true, lit=1, walled=false })
|
||||||
|
|
||||||
|
--
|
||||||
|
des.stair("up")
|
||||||
|
des.stair("down")
|
||||||
|
--
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
--
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("a")
|
||||||
|
des.monster({ id = "fire giant", peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", peaceful = 0 })
|
||||||
|
--
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
-- NetHack 3.6 Valkyrie.des $NHDT-Date: 1553807172 2019/03/28 21:06:12 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.15 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-2 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = "L" });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "icedpools")
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg="L", smoothed=true, joined=true, lit=1, walled=false })
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
xxxxxx.....................xxxxxxxx
|
||||||
|
xxxxx.......LLLLL.LLLLL......xxxxxx
|
||||||
|
xxxx......LLLLLLLLLLLLLLL......xxxx
|
||||||
|
xxxx.....LLL|---------|LLL.....xxxx
|
||||||
|
xxxx....LL|--.........--|LL.....xxx
|
||||||
|
x......LL|-...LLLLLLL...-|LL.....xx
|
||||||
|
.......LL|...LL.....LL...|LL......x
|
||||||
|
......LL|-..LL.......LL..-|LL......
|
||||||
|
......LL|.................|LL......
|
||||||
|
......LL|-..LL.......LL..-|LL......
|
||||||
|
.......LL|...LL.....LL...|LL.......
|
||||||
|
xx.....LL|-...LLLLLLL...-|LL......x
|
||||||
|
xxx.....LL|--.........--|LL.....xxx
|
||||||
|
xxxx.....LLL|---------|LLL...xxxxxx
|
||||||
|
xxxxx.....LLLLLLLLLLLLLLL...xxxxxxx
|
||||||
|
xxxxxx......LLLLL.LLLLL.....xxxxxxx
|
||||||
|
xxxxxxxxx..................xxxxxxxx
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,34,16), "lit")
|
||||||
|
-- Stairs
|
||||||
|
-- Note: The up stairs are *intentionally* off of the map.
|
||||||
|
des.stair("up", 45,10)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,34,16))
|
||||||
|
-- Drawbridges; northern one opens from the south (portcullis) to further
|
||||||
|
-- north (lowered span), southern one from the north to further south
|
||||||
|
des.drawbridge({ x=17, y=02, dir="south", state="random" })
|
||||||
|
if math.random(0, 99) < 75 then
|
||||||
|
des.drawbridge({ x=17, y=14, dir="north", state="open" })
|
||||||
|
else
|
||||||
|
des.drawbridge({ x=17, y=14, dir="north", state="random" })
|
||||||
|
end
|
||||||
|
-- Objects
|
||||||
|
des.object({ id = "crystal ball", x=17, y=08, buc="blessed", spe=5, name="The Orb of Fate" })
|
||||||
|
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()
|
||||||
|
-- Traps
|
||||||
|
des.trap("board",13,08)
|
||||||
|
des.trap("board",21,08)
|
||||||
|
-- Random traps
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("board")
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster("Lord Surtur", 17, 08)
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("a")
|
||||||
|
des.monster("a")
|
||||||
|
des.monster({ id = "fire giant", x=10, y=06, peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", x=10, y=07, peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", x=10, y=08, peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", x=10, y=09, peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", x=10, y=10, peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", x=24, y=06, peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", x=24, y=07, peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", x=24, y=08, peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", x=24, y=09, peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", x=24, y=10, peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", peaceful = 0 })
|
||||||
|
des.monster({ class = "H", peaceful = 0 })
|
||||||
|
|
||||||
|
--
|
||||||
|
-- The "fill" levels for the quest.
|
||||||
|
--
|
||||||
|
-- These levels are used to fill out any levels not occupied by specific
|
||||||
|
-- levels as defined above. "filla" is the upper filler, between the
|
||||||
|
-- start and locate levels, and "fillb" the lower between the locate
|
||||||
|
-- and goal levels.
|
||||||
|
--
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
-- NetHack 3.6 Valkyrie.des $NHDT-Date: 1553807172 2019/03/28 21:06:12 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.15 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-2 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "hardfloor", "icedpools")
|
||||||
|
|
||||||
|
des.level_init({ style="mines", fg=".", bg="I", smoothed=true, joined=false, lit=1, walled=false })
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
PPPPxxxx xxxxPPPPPx
|
||||||
|
PLPxxx xPPLLLPP
|
||||||
|
PPP ....................... PPPLLP
|
||||||
|
xx ............................ PPPP
|
||||||
|
x ............................... xxxx
|
||||||
|
................................. xx
|
||||||
|
.................................... x
|
||||||
|
...................................
|
||||||
|
x .................................. x
|
||||||
|
xx .............................. PP
|
||||||
|
xPPP .......................... PLP
|
||||||
|
xPLLP xxPLLP
|
||||||
|
xPPPPxx xxxxPPPP
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,39,12), "lit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 48,14)
|
||||||
|
des.stair("down", 20,06)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,39,12))
|
||||||
|
-- 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()
|
||||||
|
-- Random traps
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("fire ant")
|
||||||
|
des.monster("a")
|
||||||
|
des.monster({ class = "H", peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", peaceful = 0 })
|
||||||
|
des.monster({ class = "H", peaceful = 0 })
|
||||||
|
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
-- NetHack 3.6 Valkyrie.des $NHDT-Date: 1553807172 2019/03/28 21:06:12 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.15 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1991-2 by M. Stephenson
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- The "start" level for the quest.
|
||||||
|
--
|
||||||
|
-- Here you meet your (besieged) class leader, the Norn,
|
||||||
|
-- and receive your quest assignment.
|
||||||
|
--
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "hardfloor", "icedpools")
|
||||||
|
des.level_init({ style = "solidfill", fg = "I" })
|
||||||
|
|
||||||
|
local pools = selection.new()
|
||||||
|
-- random locations
|
||||||
|
for i = 1,13 do
|
||||||
|
pools:set();
|
||||||
|
end
|
||||||
|
-- some bigger ones
|
||||||
|
pools = pools | selection.grow(selection.set(selection.new()), "west")
|
||||||
|
pools = pools | selection.grow(selection.set(selection.new()), "north")
|
||||||
|
pools = pools | selection.grow(selection.set(selection.new()), "random")
|
||||||
|
|
||||||
|
-- Lava pools surrounded by water
|
||||||
|
des.terrain(pools:clone():grow("all"), "P")
|
||||||
|
des.terrain(pools, "L")
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
xxxxxxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxx
|
||||||
|
xxxxxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..{..xxxxxxxxxxxxxxxxxxxx
|
||||||
|
xxxxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.....xxxxxxxxxxxxxxxxxxx
|
||||||
|
xxxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxx
|
||||||
|
xxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxx
|
||||||
|
xxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxx
|
||||||
|
xxxxxxxx.....xxxxxxxxxxxxx|----------------|xxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxx
|
||||||
|
xxxxxxx..xxx...xxxxxxxxxxx|................|xxxxxxxxxx..xxxxxxxxxxxxxxxxxxxx
|
||||||
|
xxxxxx..xxxxxx......xxxxx.|................|.xxxxxxxxx.xxxxxxxxxxxxxxxxxxxxx
|
||||||
|
xxxxx..xxxxxxxxxxxx.......+................+...xxxxxxx.xxxxxxxxxxxxxxxxxxxxx
|
||||||
|
xxxx..xxxxxxxxx.....xxxxx.|................|.x...xxxxx.xxxxxxxxxxxxxxxxxxxxx
|
||||||
|
xxx..xxxxxxxxx..xxxxxxxxxx|................|xxxx.......xxxxxxxxxxxxxxxxxxxxx
|
||||||
|
xxxx..xxxxxxx..xxxxxxxxxxx|----------------|xxxxxxxxxx...xxxxxxxxxxxxxxxxxxx
|
||||||
|
xxxxxx..xxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxx
|
||||||
|
xxxxxxx......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxx
|
||||||
|
xxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...x......xxxxxx
|
||||||
|
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.........xxxxx
|
||||||
|
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.......xxxxxx
|
||||||
|
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
des.region(selection.area(27,08,42,12), "lit")
|
||||||
|
-- Portal arrival point
|
||||||
|
des.levregion({ region = {66,17,66,17}, type="branch" })
|
||||||
|
-- Stairs
|
||||||
|
des.stair("down", 18,01)
|
||||||
|
des.feature("fountain", 53,02)
|
||||||
|
-- Doors
|
||||||
|
des.door("locked",26,10)
|
||||||
|
des.door("locked",43,10)
|
||||||
|
-- Norn
|
||||||
|
des.monster("Norn", 35, 10)
|
||||||
|
-- The treasure of the Norn
|
||||||
|
des.object("chest", 36, 10)
|
||||||
|
-- valkyrie guards for the audience chamber
|
||||||
|
des.monster("warrior", 27, 08)
|
||||||
|
des.monster("warrior", 27, 09)
|
||||||
|
des.monster("warrior", 27, 11)
|
||||||
|
des.monster("warrior", 27, 12)
|
||||||
|
des.monster("warrior", 42, 08)
|
||||||
|
des.monster("warrior", 42, 09)
|
||||||
|
des.monster("warrior", 42, 11)
|
||||||
|
des.monster("warrior", 42, 12)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(26,07,43,13))
|
||||||
|
-- Random traps
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("fire")
|
||||||
|
-- Monsters on siege duty.
|
||||||
|
des.monster("fire ant", 04, 12)
|
||||||
|
des.monster("fire ant", 08, 08)
|
||||||
|
des.monster("fire ant", 14, 04)
|
||||||
|
des.monster("fire ant", 17, 11)
|
||||||
|
des.monster("fire ant", 24, 10)
|
||||||
|
des.monster("fire ant", 45, 10)
|
||||||
|
des.monster("fire ant", 54, 02)
|
||||||
|
des.monster("fire ant", 55, 07)
|
||||||
|
des.monster("fire ant", 58, 14)
|
||||||
|
des.monster("fire ant", 63, 17)
|
||||||
|
des.monster({ id = "fire giant", x=18, y=01, peaceful = 0 })
|
||||||
|
des.monster({ id = "fire giant", x=10, y=16, peaceful = 0 })
|
||||||
|
|
||||||
@@ -1,353 +0,0 @@
|
|||||||
# NetHack 3.6 Valkyrie.des $NHDT-Date: 1553807172 2019/03/28 21:06:12 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.15 $
|
|
||||||
# Copyright (c) 1989 by Jean-Christophe Collet
|
|
||||||
# Copyright (c) 1991-2 by M. Stephenson
|
|
||||||
# NetHack may be freely redistributed. See license for details.
|
|
||||||
#
|
|
||||||
# The "start" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet your (besieged) class leader, the Norn,
|
|
||||||
# and receive your quest assignment.
|
|
||||||
#
|
|
||||||
MAZE: "Val-strt",' '
|
|
||||||
FLAGS: noteleport,hardfloor,icedpools
|
|
||||||
INIT_MAP:solidfill,'I'
|
|
||||||
|
|
||||||
$pools = selection: random & random & random & random & random &
|
|
||||||
random & random & random & random & random & random &
|
|
||||||
random & random &
|
|
||||||
grow(west, random) &
|
|
||||||
grow(north, random) &
|
|
||||||
grow(random & random)
|
|
||||||
# This works because the random coordinates in $pools are evaluated once,
|
|
||||||
# when the variable is initialized.
|
|
||||||
TERRAIN:grow($pools), 'P'
|
|
||||||
TERRAIN:$pools, 'L'
|
|
||||||
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..{..xxxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.....xxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..xxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxxxx.....xxxxxxxxxxxxx|----------------|xxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxxx..xxx...xxxxxxxxxxx|................|xxxxxxxxxx..xxxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxx..xxxxxx......xxxxx.|................|.xxxxxxxxx.xxxxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxx..xxxxxxxxxxxx.......+................+...xxxxxxx.xxxxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxx..xxxxxxxxx.....xxxxx.|................|.x...xxxxx.xxxxxxxxxxxxxxxxxxxxx
|
|
||||||
xxx..xxxxxxxxx..xxxxxxxxxx|................|xxxx.......xxxxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxx..xxxxxxx..xxxxxxxxxxx|----------------|xxxxxxxxxx...xxxxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxx..xxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxx
|
|
||||||
xxxxxxx......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxx
|
|
||||||
xxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...x......xxxxxx
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.........xxxxx
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.......xxxxxx
|
|
||||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
REGION:(27,08,42,12),lit,"ordinary"
|
|
||||||
# Portal arrival point
|
|
||||||
BRANCH:(66,17,66,17),(0,0,0,0)
|
|
||||||
# Stairs
|
|
||||||
STAIR:(18,01),down
|
|
||||||
FOUNTAIN:(53,02)
|
|
||||||
# Doors
|
|
||||||
DOOR:locked,(26,10)
|
|
||||||
DOOR:locked,(43,10)
|
|
||||||
# Norn
|
|
||||||
MONSTER:('@',"Norn"),(35,10)
|
|
||||||
# The treasure of the Norn
|
|
||||||
OBJECT:('(',"chest"),(36,10)
|
|
||||||
# valkyrie guards for the audience chamber
|
|
||||||
MONSTER:('@',"warrior"),(27,08)
|
|
||||||
MONSTER:('@',"warrior"),(27,09)
|
|
||||||
MONSTER:('@',"warrior"),(27,11)
|
|
||||||
MONSTER:('@',"warrior"),(27,12)
|
|
||||||
MONSTER:('@',"warrior"),(42,08)
|
|
||||||
MONSTER:('@',"warrior"),(42,09)
|
|
||||||
MONSTER:('@',"warrior"),(42,11)
|
|
||||||
MONSTER:('@',"warrior"),(42,12)
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(26,07,43,13)
|
|
||||||
# Random traps
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
# Monsters on siege duty.
|
|
||||||
MONSTER: ('a',"fire ant"),(04,12)
|
|
||||||
MONSTER: ('a',"fire ant"),(08,08)
|
|
||||||
MONSTER: ('a',"fire ant"),(14,04)
|
|
||||||
MONSTER: ('a',"fire ant"),(17,11)
|
|
||||||
MONSTER: ('a',"fire ant"),(24,10)
|
|
||||||
MONSTER: ('a',"fire ant"),(45,10)
|
|
||||||
MONSTER: ('a',"fire ant"),(54,02)
|
|
||||||
MONSTER: ('a',"fire ant"),(55,07)
|
|
||||||
MONSTER: ('a',"fire ant"),(58,14)
|
|
||||||
MONSTER: ('a',"fire ant"),(63,17)
|
|
||||||
MONSTER: ('H',"fire giant"),(18,01),hostile
|
|
||||||
MONSTER: ('H',"fire giant"),(10,16),hostile
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "locate" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you have to find the cave of Surtur to go
|
|
||||||
# further towards your assigned quest.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Val-loca",' '
|
|
||||||
FLAGS: hardfloor,icedpools
|
|
||||||
INIT_MAP: mines, '.', 'I', true, true, lit, false
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
PPPPxxxx xxxxPPPPPx
|
|
||||||
PLPxxx xPPLLLPP
|
|
||||||
PPP ....................... PPPLLP
|
|
||||||
xx ............................ PPPP
|
|
||||||
x ............................... xxxx
|
|
||||||
................................. xx
|
|
||||||
.................................... x
|
|
||||||
...................................
|
|
||||||
x .................................. x
|
|
||||||
xx .............................. PP
|
|
||||||
xPPP .......................... PLP
|
|
||||||
xPLLP xxPLLP
|
|
||||||
xPPPPxx xxxxPPPP
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,39,12),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(48,14),up
|
|
||||||
STAIR:(20,06),down
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,39,12)
|
|
||||||
# Objects
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:'a',random
|
|
||||||
MONSTER:'H',random,hostile
|
|
||||||
MONSTER:('H',"fire giant"),random,hostile
|
|
||||||
MONSTER:('H',"fire giant"),random,hostile
|
|
||||||
MONSTER:('H',"fire giant"),random,hostile
|
|
||||||
MONSTER:('H',"fire giant"),random,hostile
|
|
||||||
MONSTER:('H',"fire giant"),random,hostile
|
|
||||||
MONSTER:('H',"fire giant"),random,hostile
|
|
||||||
MONSTER:('H',"fire giant"),random,hostile
|
|
||||||
MONSTER:'H',random,hostile
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "goal" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet Lord Surtur your nemesis monster. You have to
|
|
||||||
# defeat Lord Surtur in combat to gain the artifact you have
|
|
||||||
# been assigned to retrieve.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Val-goal", 'L'
|
|
||||||
FLAGS: icedpools
|
|
||||||
INIT_MAP: mines, '.', 'L', true, true, lit, false
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
xxxxxx.....................xxxxxxxx
|
|
||||||
xxxxx.......LLLLL.LLLLL......xxxxxx
|
|
||||||
xxxx......LLLLLLLLLLLLLLL......xxxx
|
|
||||||
xxxx.....LLL|---------|LLL.....xxxx
|
|
||||||
xxxx....LL|--.........--|LL.....xxx
|
|
||||||
x......LL|-...LLLLLLL...-|LL.....xx
|
|
||||||
.......LL|...LL.....LL...|LL......x
|
|
||||||
......LL|-..LL.......LL..-|LL......
|
|
||||||
......LL|.................|LL......
|
|
||||||
......LL|-..LL.......LL..-|LL......
|
|
||||||
.......LL|...LL.....LL...|LL.......
|
|
||||||
xx.....LL|-...LLLLLLL...-|LL......x
|
|
||||||
xxx.....LL|--.........--|LL.....xxx
|
|
||||||
xxxx.....LLL|---------|LLL...xxxxxx
|
|
||||||
xxxxx.....LLLLLLLLLLLLLLL...xxxxxxx
|
|
||||||
xxxxxx......LLLLL.LLLLL.....xxxxxxx
|
|
||||||
xxxxxxxxx..................xxxxxxxx
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,34,16),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
# Note: The up stairs are *intentionally* off of the map.
|
|
||||||
STAIR:(45,10),up
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,34,16)
|
|
||||||
# Drawbridges; northern one opens from the south (portcullis) to further
|
|
||||||
# north (lowered span), southern one from the north to further south
|
|
||||||
DRAWBRIDGE:(17,02),south,random
|
|
||||||
IF [75%] {
|
|
||||||
DRAWBRIDGE:(17,14),north,open
|
|
||||||
} ELSE {
|
|
||||||
DRAWBRIDGE:(17,14),north,random
|
|
||||||
}
|
|
||||||
# Objects
|
|
||||||
OBJECT:('(',"crystal ball"),(17,08),blessed,5,name:"The Orb of Fate"
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Traps
|
|
||||||
TRAP:"board",(13,08)
|
|
||||||
TRAP:"board",(21,08)
|
|
||||||
# Random traps
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"fire",random
|
|
||||||
TRAP:"board",random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('H',"Lord Surtur"),(17,08)
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:('a',"fire ant"),random
|
|
||||||
MONSTER:'a',random
|
|
||||||
MONSTER:'a',random
|
|
||||||
MONSTER:('H',"fire giant"),(10,06),hostile
|
|
||||||
MONSTER:('H',"fire giant"),(10,07),hostile
|
|
||||||
MONSTER:('H',"fire giant"),(10,08),hostile
|
|
||||||
MONSTER:('H',"fire giant"),(10,09),hostile
|
|
||||||
MONSTER:('H',"fire giant"),(10,10),hostile
|
|
||||||
MONSTER:('H',"fire giant"),(24,06),hostile
|
|
||||||
MONSTER:('H',"fire giant"),(24,07),hostile
|
|
||||||
MONSTER:('H',"fire giant"),(24,08),hostile
|
|
||||||
MONSTER:('H',"fire giant"),(24,09),hostile
|
|
||||||
MONSTER:('H',"fire giant"),(24,10),hostile
|
|
||||||
MONSTER:('H',"fire giant"),random,hostile
|
|
||||||
MONSTER:('H',"fire giant"),random,hostile
|
|
||||||
MONSTER:'H',random,hostile
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "fill" levels for the quest.
|
|
||||||
#
|
|
||||||
# These levels are used to fill out any levels not occupied by specific
|
|
||||||
# levels as defined above. "filla" is the upper filler, between the
|
|
||||||
# start and locate levels, and "fillb" the lower between the locate
|
|
||||||
# and goal levels.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Val-fila" , 'I'
|
|
||||||
FLAGS: icedpools
|
|
||||||
INIT_MAP: mines, '.', 'I', true, true, lit, false
|
|
||||||
NOMAP
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
MONSTER: ('a', "fire ant"), random
|
|
||||||
MONSTER: ('a', "fire ant"), random
|
|
||||||
MONSTER: ('a', "fire ant"), random
|
|
||||||
MONSTER: ('a', "fire ant"), random
|
|
||||||
MONSTER: ('a', "fire ant"), random
|
|
||||||
MONSTER: 'a', random
|
|
||||||
MONSTER: ('H', "fire giant"), random, hostile
|
|
||||||
#
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
|
|
||||||
MAZE: "Val-filb" , 'L'
|
|
||||||
FLAGS: icedpools
|
|
||||||
INIT_MAP: mines, '.', 'L', true, true, lit, false
|
|
||||||
NOMAP
|
|
||||||
#
|
|
||||||
STAIR: random, up
|
|
||||||
STAIR: random, down
|
|
||||||
#
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
#
|
|
||||||
MONSTER: ('a', "fire ant"), random
|
|
||||||
MONSTER: ('a', "fire ant"), random
|
|
||||||
MONSTER: ('a', "fire ant"), random
|
|
||||||
MONSTER: 'a', random
|
|
||||||
MONSTER: ('H', "fire giant"), random, hostile
|
|
||||||
MONSTER: ('H', "fire giant"), random, hostile
|
|
||||||
MONSTER: ('H', "fire giant"), random, hostile
|
|
||||||
#
|
|
||||||
TRAP: "fire", random
|
|
||||||
TRAP: "fire", random
|
|
||||||
TRAP: "fire", random
|
|
||||||
TRAP: "fire", random
|
|
||||||
TRAP: "fire", random
|
|
||||||
TRAP: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
-- NetHack 3.6 Wizard.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1992 by David Cohrs
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("up")
|
||||||
|
des.object()
|
||||||
|
des.monster({ class = "i", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.monster({ class = "i", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.object()
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster("vampire bat")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("down")
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster({ class = "i", peaceful=0 })
|
||||||
|
des.monster("vampire bat")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster({ class = "i", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster("vampire bat")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.random_corridors()
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
-- NetHack 3.6 Wizard.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1992 by David Cohrs
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("up")
|
||||||
|
des.object()
|
||||||
|
des.monster({ class = "X", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.monster({ class = "i", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.object()
|
||||||
|
des.monster({ class = "X", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.stair("down")
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster({ class = "i", peaceful=0 })
|
||||||
|
des.monster("vampire bat")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster({ class = "i", peaceful=0 })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.room({ type = "ordinary",
|
||||||
|
contents = function()
|
||||||
|
des.object()
|
||||||
|
des.trap()
|
||||||
|
des.monster("vampire bat")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.random_corridors()
|
||||||
@@ -0,0 +1,132 @@
|
|||||||
|
-- NetHack 3.6 Wizard.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1992 by David Cohrs
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
------------- -------------
|
||||||
|
|...........| |...........|
|
||||||
|
-------|...........-------------------...........|
|
||||||
|
|......S...........|..|..|..|..|..|..|...........|
|
||||||
|
|......|...........|..|..|..|..|..|..|...........|
|
||||||
|
|......|...........-F+-F+-F+-F+-F+-F+-...........|
|
||||||
|
--S----|...........S.................+...........|
|
||||||
|
|......|...........-F+-F+-F+-F+-F+-F+-...........|
|
||||||
|
|......|...........|..|..|..|..|..|..|...........|
|
||||||
|
|......|...........|..|..|..|..|..|..|...........|
|
||||||
|
-------|...........-------------------...........|
|
||||||
|
|...........| |...........|
|
||||||
|
------------- -------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region({ region={13,10,18,12}, lit=0, type="temple" })
|
||||||
|
des.region(selection.area(13,06,18,08), "lit")
|
||||||
|
des.region(selection.area(20,04,30,14), "unlit")
|
||||||
|
des.region(selection.area(32,06,33,07), "unlit")
|
||||||
|
des.region(selection.area(35,06,36,07), "unlit")
|
||||||
|
des.region(selection.area(38,06,39,07), "unlit")
|
||||||
|
des.region(selection.area(41,06,42,07), "unlit")
|
||||||
|
des.region(selection.area(44,06,45,07), "unlit")
|
||||||
|
des.region(selection.area(47,06,48,07), "unlit")
|
||||||
|
des.region(selection.area(32,09,48,09), "unlit")
|
||||||
|
des.region(selection.area(32,11,33,12), "unlit")
|
||||||
|
des.region(selection.area(35,11,36,12), "unlit")
|
||||||
|
des.region(selection.area(38,11,39,12), "unlit")
|
||||||
|
des.region(selection.area(41,11,42,12), "unlit")
|
||||||
|
des.region(selection.area(44,11,45,12), "unlit")
|
||||||
|
des.region(selection.area(47,11,48,12), "unlit")
|
||||||
|
des.region(selection.area(50,04,60,14), "lit")
|
||||||
|
-- Doors
|
||||||
|
des.door("locked",19,06)
|
||||||
|
des.door("locked",14,09)
|
||||||
|
des.door("locked",31,09)
|
||||||
|
des.door("locked",33,08)
|
||||||
|
des.door("locked",36,08)
|
||||||
|
des.door("locked",39,08)
|
||||||
|
des.door("locked",42,08)
|
||||||
|
des.door("locked",45,08)
|
||||||
|
des.door("locked",48,08)
|
||||||
|
des.door("locked",33,10)
|
||||||
|
des.door("locked",36,10)
|
||||||
|
des.door("locked",39,10)
|
||||||
|
des.door("locked",42,10)
|
||||||
|
des.door("locked",45,10)
|
||||||
|
des.door("locked",48,10)
|
||||||
|
des.door("locked",49,09)
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up", 55,05)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- The altar. This is not a shrine.
|
||||||
|
des.altar({ coord={16,11}, aligned="noncoaligned", type="altar" })
|
||||||
|
-- Objects
|
||||||
|
des.object({ id = "amulet of ESP", x=16, y=11, buc="blessed", spe=0, name="The Eye of the Aethiopica" })
|
||||||
|
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()
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster("Dark One", 16, 11)
|
||||||
|
des.monster({ class = "B",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "B",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "B",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "B",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "B",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "B",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "B",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "B",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "B",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "B",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "B",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "i",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "i",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "i",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "i",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "i",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "i",random, peaceful = 0 })
|
||||||
|
des.monster({ class = "i",random, peaceful = 0 })
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster({ class = "i",random, peaceful = 0 })
|
||||||
|
-- Captive Monsters in the dungeon
|
||||||
|
des.monster({ id = "rogue", x=35, y=06, peaceful=1, name="Pug" })
|
||||||
|
des.monster({ id = "owlbear", x=47, y=06, peaceful=1, asleep=1 })
|
||||||
|
des.monster({ id = "wizard", x=32, y=11, peaceful=1, asleep=1, name="Newt" })
|
||||||
|
des.monster({ id = "Grey-elf", x=44, y=11, peaceful=1 })
|
||||||
|
des.monster({ id = "hill giant", x=47, y=11, peaceful=1, asleep=1 })
|
||||||
|
des.monster({ id = "gnomish wizard", x=38, y=06, peaceful=1 })
|
||||||
|
des.monster({ id = "prisoner", x=35, y=11, peaceful=1 })
|
||||||
|
des.monster({ id = "prisoner", x=41, y=11, peaceful=1, asleep=1 })
|
||||||
@@ -0,0 +1,151 @@
|
|||||||
|
-- NetHack 3.6 Wizard.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1992 by David Cohrs
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "hardfloor")
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
............. .......................................................
|
||||||
|
.............. .............}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.......
|
||||||
|
.............. ..............}.................................}.......
|
||||||
|
.............. ..............}.-------------------------------.}.......
|
||||||
|
............... .........C....}.|.............................|.}.......
|
||||||
|
............... ..........C....}.|.---------------------------.|.}.......
|
||||||
|
............... .........CCC...}.|.|.........................|.|.}.......
|
||||||
|
................ ....C....CCC...}.|.|.-----------------------.|.|.}.......
|
||||||
|
.......C..C..... .....C....CCC...}.|.|.|......+.......+......|.|.|.}.......
|
||||||
|
.............C..CC.....C....CCC...}.|.|.|......|-------|......|.|.|.}.......
|
||||||
|
................ ....C....CCC...}.|.|.|......|.......|......|.|.|.}.......
|
||||||
|
......C..C..... ....C....CCC...}.|.|.|......|-------|......|.|.|.}.......
|
||||||
|
............C.. ...C....CCC...}.|.|.|......+.......+......|.|.|.}.......
|
||||||
|
........C...... ....C....CCC...}.|.|.-----------------------.|.|.}.......
|
||||||
|
....C......C... ........CCC...}.|.|.........................|.|.}.......
|
||||||
|
......C..C.... .........C....}.|.---------------------------.|.}.......
|
||||||
|
.............. .........C....}.|.............................|.}.......
|
||||||
|
............. ..............}.-------------------------------.}.......
|
||||||
|
............. .............}.................................}.......
|
||||||
|
............. .............}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.......
|
||||||
|
............. .......................................................
|
||||||
|
]]);
|
||||||
|
|
||||||
|
des.replace_terrain({ region = { 0, 0,30,20}, fromterrain=".", toterrain="C", chance=15 })
|
||||||
|
des.replace_terrain({ region = {68, 0,75,20}, fromterrain=".", toterrain="}", chance=25 })
|
||||||
|
des.replace_terrain({ region = {34, 1,68,19}, fromterrain="}", toterrain=".", chance=2 })
|
||||||
|
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,20), "lit")
|
||||||
|
des.region({ region={37,04,65,16}, lit=0, type="ordinary", prefilled=1, irregular=1,
|
||||||
|
contents = function()
|
||||||
|
des.door({ state="secret", wall="random" })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
des.region({ region={39,06,63,14}, lit=0, type="ordinary", prefilled=1, irregular=1,
|
||||||
|
contents = function()
|
||||||
|
des.door({ state="secret", wall="random" })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.region({ region={41,08,46,12}, lit=1, type="ordinary", prefilled=1, irregular=1,
|
||||||
|
contents = function()
|
||||||
|
local walls = { "north", "south", "west" }
|
||||||
|
local widx = math.random(1, #walls)
|
||||||
|
des.door({ state="secret", wall=walls[widx] })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.region({ region={56,08,61,12}, lit=1, type="ordinary", prefilled=1, irregular=1,
|
||||||
|
contents = function()
|
||||||
|
local walls = { "north", "south", "east" }
|
||||||
|
local widx = math.random(1, #walls)
|
||||||
|
des.door({ state="secret", wall=walls[widx] })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
des.region(selection.area(48,08,54,08), "unlit")
|
||||||
|
des.region(selection.area(48,12,54,12), "unlit")
|
||||||
|
|
||||||
|
des.region({ region={48,10,54,10}, lit=0, type="ordinary", prefilled=1, irregular=1,
|
||||||
|
contents = function()
|
||||||
|
des.door({ state="secret", wall="random" })
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Doors
|
||||||
|
des.door("locked",55,08)
|
||||||
|
des.door("locked",55,12)
|
||||||
|
des.door("locked",47,08)
|
||||||
|
des.door("locked",47,12)
|
||||||
|
-- Stairs
|
||||||
|
des.terrain({03,17}, ".")
|
||||||
|
des.stair("up", 03,17)
|
||||||
|
des.stair("down", 48,10)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,20))
|
||||||
|
-- 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()
|
||||||
|
-- Random traps
|
||||||
|
des.trap("spiked pit",24,02)
|
||||||
|
des.trap("spiked pit",07,10)
|
||||||
|
des.trap("spiked pit",23,05)
|
||||||
|
des.trap("spiked pit",26,19)
|
||||||
|
des.trap("spiked pit",72,02)
|
||||||
|
des.trap("spiked pit",72,12)
|
||||||
|
des.trap("falling rock",45,16)
|
||||||
|
des.trap("falling rock",65,13)
|
||||||
|
des.trap("falling rock",55,06)
|
||||||
|
des.trap("falling rock",39,11)
|
||||||
|
des.trap("falling rock",57,09)
|
||||||
|
des.trap("magic")
|
||||||
|
des.trap("statue")
|
||||||
|
des.trap("statue")
|
||||||
|
des.trap("polymorph")
|
||||||
|
des.trap("anti magic",53,10)
|
||||||
|
des.trap("sleep gas")
|
||||||
|
des.trap("sleep gas")
|
||||||
|
des.trap("dart")
|
||||||
|
des.trap("dart")
|
||||||
|
des.trap("dart")
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster({ class = "B", peaceful = 0 })
|
||||||
|
des.monster({ class = "B", peaceful = 0 })
|
||||||
|
des.monster({ class = "B", peaceful = 0 })
|
||||||
|
des.monster({ class = "B", peaceful = 0 })
|
||||||
|
des.monster({ class = "B", peaceful = 0 })
|
||||||
|
des.monster({ class = "B", peaceful = 0 })
|
||||||
|
des.monster({ class = "B", peaceful = 0 })
|
||||||
|
des.monster({ class = "B", peaceful = 0 })
|
||||||
|
des.monster({ class = "B", peaceful = 0 })
|
||||||
|
des.monster({ class = "B", peaceful = 0 })
|
||||||
|
des.monster({ class = "B", peaceful = 0 })
|
||||||
|
des.monster({ class = "B", peaceful = 0 })
|
||||||
|
des.monster({ class = "i", peaceful = 0 })
|
||||||
|
des.monster({ class = "i", peaceful = 0 })
|
||||||
|
des.monster({ class = "i", peaceful = 0 })
|
||||||
|
des.monster({ class = "i", peaceful = 0 })
|
||||||
|
des.monster({ class = "i", peaceful = 0 })
|
||||||
|
des.monster({ class = "i", peaceful = 0 })
|
||||||
|
des.monster({ class = "i", peaceful = 0 })
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster("vampire bat")
|
||||||
|
des.monster({ class = "i", peaceful = 0 })
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
-- NetHack 3.6 Wizard.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
||||||
|
-- Copyright (c) 1992 by David Cohrs
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
--
|
||||||
|
-- The "start" level for the quest.
|
||||||
|
--
|
||||||
|
-- Here you meet your (besieged) class leader, Neferet the Green
|
||||||
|
-- and receive your quest assignment.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "hardfloor")
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
............................................................................
|
||||||
|
.....................C....CC.C........................C.....................
|
||||||
|
..........CCC.....................CCC.......................................
|
||||||
|
........CC........-----------.......C.C...C...C....C........................
|
||||||
|
.......C.....---------------------...C..C..C..C.............................
|
||||||
|
......C..C...------....\....------....C.....C...............................
|
||||||
|
........C...||....|.........|....||.........................................
|
||||||
|
.......C....||....|.........+....||.........................................
|
||||||
|
.......C...||---+--.........|....|||........................................
|
||||||
|
......C....||...............|--S--||........................................
|
||||||
|
...........||--+--|++----|---|..|.SS..........C......C......................
|
||||||
|
........C..||.....|..|...|...|--|.||..CC..C.....C..........C................
|
||||||
|
.......C...||.....|..|.--|.|.|....||.................C..C...................
|
||||||
|
.....C......||....|..|.....|.|.--||..C..C..........C...........}}}..........
|
||||||
|
......C.C...||....|..-----.|.....||...C.C.C..............C....}}}}}}........
|
||||||
|
.........C...------........|------....C..C.....C..CC.C......}}}}}}}}}}}.....
|
||||||
|
.........CC..---------------------...C.C..C.....CCCCC.C.......}}}}}}}}......
|
||||||
|
.........C........-----------..........C.C.......CCC.........}}}}}}}}}......
|
||||||
|
..........C.C.........................C............C...........}}}}}........
|
||||||
|
......................CCC.C.................................................
|
||||||
|
]]);
|
||||||
|
|
||||||
|
-- first do cloud everywhere
|
||||||
|
des.replace_terrain({ region={0,0, 75,19}, fromterrain=".", toterrain="C", chance=10 })
|
||||||
|
-- then replace clouds inside the tower back to floor
|
||||||
|
des.replace_terrain({ region={13,5, 33,15}, fromterrain="C", toterrain=".", chance=100 })
|
||||||
|
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(00,00,75,19), "lit")
|
||||||
|
des.region(selection.area(35,00,49,03), "unlit")
|
||||||
|
des.region(selection.area(43,12,49,16), "unlit")
|
||||||
|
des.region({ region={19,11,33,15}, lit=0, type="ordinary", prefilled=0, irregular=1 })
|
||||||
|
des.region(selection.area(30,10,31,10), "unlit")
|
||||||
|
-- Stairs
|
||||||
|
des.stair("down", 30,10)
|
||||||
|
-- Portal arrival point
|
||||||
|
des.terrain({63,06}, ".")
|
||||||
|
des.levregion({ region = {63,06,63,06}, type="branch" })
|
||||||
|
-- Doors
|
||||||
|
des.door("closed",31,09)
|
||||||
|
des.door("closed",16,08)
|
||||||
|
des.door("closed",28,07)
|
||||||
|
des.door("locked",34,10)
|
||||||
|
des.door("locked",35,10)
|
||||||
|
des.door("closed",15,10)
|
||||||
|
des.door("locked",19,10)
|
||||||
|
des.door("locked",20,10)
|
||||||
|
-- Neferet the Green, the quest leader
|
||||||
|
des.monster("Neferet the Green", 23, 05)
|
||||||
|
-- The treasure of the quest leader
|
||||||
|
des.object("chest", 24, 05)
|
||||||
|
-- apprentice guards for the audience chamber
|
||||||
|
des.monster("apprentice", 30, 07)
|
||||||
|
des.monster("apprentice", 24, 06)
|
||||||
|
des.monster("apprentice", 15, 06)
|
||||||
|
des.monster("apprentice", 15, 12)
|
||||||
|
des.monster("apprentice", 26, 11)
|
||||||
|
des.monster("apprentice", 27, 11)
|
||||||
|
des.monster("apprentice", 19, 09)
|
||||||
|
des.monster("apprentice", 20, 09)
|
||||||
|
-- Eels in the pond
|
||||||
|
des.monster("giant eel", 62, 14)
|
||||||
|
des.monster("giant eel", 69, 15)
|
||||||
|
des.monster("giant eel", 67, 17)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,75,19))
|
||||||
|
-- Random traps
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
des.trap()
|
||||||
|
-- Monsters on siege duty.
|
||||||
|
des.monster({ class = "B", x=60, y=09, peaceful = 0 })
|
||||||
|
des.monster({ class = "W", x=60, y=10, peaceful = 0 })
|
||||||
|
des.monster({ class = "B", x=60, y=11, peaceful = 0 })
|
||||||
|
des.monster({ class = "B", x=60, y=12, peaceful = 0 })
|
||||||
|
des.monster({ class = "i", x=60, y=13, peaceful = 0 })
|
||||||
|
des.monster({ class = "B", x=61, y=10, peaceful = 0 })
|
||||||
|
des.monster({ class = "B", x=61, y=11, peaceful = 0 })
|
||||||
|
des.monster({ class = "B", x=61, y=12, peaceful = 0 })
|
||||||
|
des.monster({ class = "B", x=35, y=03, peaceful = 0 })
|
||||||
|
des.monster({ class = "i", x=35, y=17, peaceful = 0 })
|
||||||
|
des.monster({ class = "B", x=36, y=17, peaceful = 0 })
|
||||||
|
des.monster({ class = "B", x=34, y=16, peaceful = 0 })
|
||||||
|
des.monster({ class = "i", x=34, y=17, peaceful = 0 })
|
||||||
|
des.monster({ class = "W", x=67, y=02, peaceful = 0 })
|
||||||
|
des.monster({ class = "B", x=10, y=19, peaceful = 0 })
|
||||||
-472
@@ -1,472 +0,0 @@
|
|||||||
# NetHack 3.6 Wizard.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.11 $
|
|
||||||
# Copyright (c) 1992 by David Cohrs
|
|
||||||
# NetHack may be freely redistributed. See license for details.
|
|
||||||
#
|
|
||||||
# The "start" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet your (besieged) class leader, Neferet the Green
|
|
||||||
# and receive your quest assignment.
|
|
||||||
#
|
|
||||||
MAZE: "Wiz-strt",' '
|
|
||||||
FLAGS: noteleport,hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
............................................................................
|
|
||||||
.....................C....CC.C........................C.....................
|
|
||||||
..........CCC.....................CCC.......................................
|
|
||||||
........CC........-----------.......C.C...C...C....C........................
|
|
||||||
.......C.....---------------------...C..C..C..C.............................
|
|
||||||
......C..C...------....\....------....C.....C...............................
|
|
||||||
........C...||....|.........|....||.........................................
|
|
||||||
.......C....||....|.........+....||.........................................
|
|
||||||
.......C...||---+--.........|....|||........................................
|
|
||||||
......C....||...............|--S--||........................................
|
|
||||||
...........||--+--|++----|---|..|.SS..........C......C......................
|
|
||||||
........C..||.....|..|...|...|--|.||..CC..C.....C..........C................
|
|
||||||
.......C...||.....|..|.--|.|.|....||.................C..C...................
|
|
||||||
.....C......||....|..|.....|.|.--||..C..C..........C...........}}}..........
|
|
||||||
......C.C...||....|..-----.|.....||...C.C.C..............C....}}}}}}........
|
|
||||||
.........C...------........|------....C..C.....C..CC.C......}}}}}}}}}}}.....
|
|
||||||
.........CC..---------------------...C.C..C.....CCCCC.C.......}}}}}}}}......
|
|
||||||
.........C........-----------..........C.C.......CCC.........}}}}}}}}}......
|
|
||||||
..........C.C.........................C............C...........}}}}}........
|
|
||||||
......................CCC.C.................................................
|
|
||||||
ENDMAP
|
|
||||||
|
|
||||||
# first do cloud everywhere
|
|
||||||
REPLACE_TERRAIN:(0,0, 75,19), '.', 'C', 10%
|
|
||||||
# then replace clouds inside the tower back to floor
|
|
||||||
REPLACE_TERRAIN:(13,5, 33,15), 'C', '.', 100%
|
|
||||||
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,19),lit,"ordinary"
|
|
||||||
REGION:(35,00,49,03),unlit,"ordinary"
|
|
||||||
REGION:(43,12,49,16),unlit,"ordinary"
|
|
||||||
REGION:(19,11,33,15),unlit,"ordinary",unfilled,irregular
|
|
||||||
REGION:(30,10,31,10),unlit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:(30,10),down
|
|
||||||
# Portal arrival point
|
|
||||||
TERRAIN:(63,06),'.'
|
|
||||||
BRANCH:(63,06,63,06),(0,0,0,0)
|
|
||||||
# Doors
|
|
||||||
DOOR:closed,(31,09)
|
|
||||||
DOOR:closed,(16,08)
|
|
||||||
DOOR:closed,(28,07)
|
|
||||||
DOOR:locked,(34,10)
|
|
||||||
DOOR:locked,(35,10)
|
|
||||||
DOOR:closed,(15,10)
|
|
||||||
DOOR:locked,(19,10)
|
|
||||||
DOOR:locked,(20,10)
|
|
||||||
# Neferet the Green, the quest leader
|
|
||||||
MONSTER:('@',"Neferet the Green"),(23,05)
|
|
||||||
# The treasure of the quest leader
|
|
||||||
OBJECT:('(',"chest"),(24,05)
|
|
||||||
# apprentice guards for the audience chamber
|
|
||||||
MONSTER:('@',"apprentice"),(30,07)
|
|
||||||
MONSTER:('@',"apprentice"),(24,06)
|
|
||||||
MONSTER:('@',"apprentice"),(15,06)
|
|
||||||
MONSTER:('@',"apprentice"),(15,12)
|
|
||||||
MONSTER:('@',"apprentice"),(26,11)
|
|
||||||
MONSTER:('@',"apprentice"),(27,11)
|
|
||||||
MONSTER:('@',"apprentice"),(19,09)
|
|
||||||
MONSTER:('@',"apprentice"),(20,09)
|
|
||||||
# Eels in the pond
|
|
||||||
MONSTER:(';',"giant eel"),(62,14)
|
|
||||||
MONSTER:(';',"giant eel"),(69,15)
|
|
||||||
MONSTER:(';',"giant eel"),(67,17)
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Monsters on siege duty.
|
|
||||||
MONSTER: 'B',(60,09),hostile
|
|
||||||
MONSTER: 'W',(60,10),hostile
|
|
||||||
MONSTER: 'B',(60,11),hostile
|
|
||||||
MONSTER: 'B',(60,12),hostile
|
|
||||||
MONSTER: 'i',(60,13),hostile
|
|
||||||
MONSTER: 'B',(61,10),hostile
|
|
||||||
MONSTER: 'B',(61,11),hostile
|
|
||||||
MONSTER: 'B',(61,12),hostile
|
|
||||||
MONSTER: 'B',(35,03),hostile
|
|
||||||
MONSTER: 'i',(35,17),hostile
|
|
||||||
MONSTER: 'B',(36,17),hostile
|
|
||||||
MONSTER: 'B',(34,16),hostile
|
|
||||||
MONSTER: 'i',(34,17),hostile
|
|
||||||
MONSTER: 'W',(67,02),hostile
|
|
||||||
MONSTER: 'B',(10,19),hostile
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "locate" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you have to find the Entrance to the Tower of Darkness to go
|
|
||||||
# further towards your assigned quest.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Wiz-loca",' '
|
|
||||||
FLAGS: hardfloor
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
............. .......................................................
|
|
||||||
.............. .............}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.......
|
|
||||||
.............. ..............}.................................}.......
|
|
||||||
.............. ..............}.-------------------------------.}.......
|
|
||||||
............... .........C....}.|.............................|.}.......
|
|
||||||
............... ..........C....}.|.---------------------------.|.}.......
|
|
||||||
............... .........CCC...}.|.|.........................|.|.}.......
|
|
||||||
................ ....C....CCC...}.|.|.-----------------------.|.|.}.......
|
|
||||||
.......C..C..... .....C....CCC...}.|.|.|......+.......+......|.|.|.}.......
|
|
||||||
.............C..CC.....C....CCC...}.|.|.|......|-------|......|.|.|.}.......
|
|
||||||
................ ....C....CCC...}.|.|.|......|.......|......|.|.|.}.......
|
|
||||||
......C..C..... ....C....CCC...}.|.|.|......|-------|......|.|.|.}.......
|
|
||||||
............C.. ...C....CCC...}.|.|.|......+.......+......|.|.|.}.......
|
|
||||||
........C...... ....C....CCC...}.|.|.-----------------------.|.|.}.......
|
|
||||||
....C......C... ........CCC...}.|.|.........................|.|.}.......
|
|
||||||
......C..C.... .........C....}.|.---------------------------.|.}.......
|
|
||||||
.............. .........C....}.|.............................|.}.......
|
|
||||||
............. ..............}.-------------------------------.}.......
|
|
||||||
............. .............}.................................}.......
|
|
||||||
............. .............}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}.......
|
|
||||||
............. .......................................................
|
|
||||||
ENDMAP
|
|
||||||
|
|
||||||
REPLACE_TERRAIN:(0,0,30,20), '.', 'C', 15%
|
|
||||||
REPLACE_TERRAIN:(68,0,75,20), '.', '}', 25%
|
|
||||||
REPLACE_TERRAIN:(34,1,68,19), '}', '.', 2%
|
|
||||||
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,75,20),lit,"ordinary"
|
|
||||||
REGION:(37,04,65,16),unlit,"ordinary",filled,irregular {
|
|
||||||
ROOMDOOR:true,closed,north|south|west|east,random
|
|
||||||
}
|
|
||||||
REGION:(39,06,63,14),unlit,"ordinary",filled,irregular {
|
|
||||||
ROOMDOOR:true,closed,north|south|west|east,random
|
|
||||||
}
|
|
||||||
|
|
||||||
REGION:(41,08,46,12),lit,"ordinary",filled,irregular {
|
|
||||||
ROOMDOOR:true,closed,north|south|west,random
|
|
||||||
}
|
|
||||||
REGION:(56,08,61,12),lit,"ordinary",filled,irregular {
|
|
||||||
ROOMDOOR:true,closed,north|south|east,random
|
|
||||||
}
|
|
||||||
REGION:(48,08,54,08),unlit,"ordinary"
|
|
||||||
REGION:(48,12,54,12),unlit,"ordinary"
|
|
||||||
REGION:(48,10,54,10),unlit,"ordinary",filled,irregular {
|
|
||||||
ROOMDOOR:true,closed,north|south|west|east,random
|
|
||||||
}
|
|
||||||
|
|
||||||
# Doors
|
|
||||||
DOOR:locked,(55,08)
|
|
||||||
DOOR:locked,(55,12)
|
|
||||||
DOOR:locked,(47,08)
|
|
||||||
DOOR:locked,(47,12)
|
|
||||||
# Stairs
|
|
||||||
TERRAIN:(03,17),'.'
|
|
||||||
STAIR:(03,17),up
|
|
||||||
STAIR:(48,10),down
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,20)
|
|
||||||
# Objects
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:"spiked pit",(24,02)
|
|
||||||
TRAP:"spiked pit",(07,10)
|
|
||||||
TRAP:"spiked pit",(23,05)
|
|
||||||
TRAP:"spiked pit",(26,19)
|
|
||||||
TRAP:"spiked pit",(72,02)
|
|
||||||
TRAP:"spiked pit",(72,12)
|
|
||||||
TRAP:"falling rock",(45,16)
|
|
||||||
TRAP:"falling rock",(65,13)
|
|
||||||
TRAP:"falling rock",(55,06)
|
|
||||||
TRAP:"falling rock",(39,11)
|
|
||||||
TRAP:"falling rock",(57,09)
|
|
||||||
TRAP:"magic",random
|
|
||||||
TRAP:"statue",random
|
|
||||||
TRAP:"statue",random
|
|
||||||
TRAP:"polymorph",random
|
|
||||||
TRAP:"anti magic",(53,10)
|
|
||||||
TRAP:"sleep gas",random
|
|
||||||
TRAP:"sleep gas",random
|
|
||||||
TRAP:"dart",random
|
|
||||||
TRAP:"dart",random
|
|
||||||
TRAP:"dart",random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:('B',"vampire bat"),random
|
|
||||||
MONSTER:('B',"vampire bat"),random
|
|
||||||
MONSTER:('B',"vampire bat"),random
|
|
||||||
MONSTER:('B',"vampire bat"),random
|
|
||||||
MONSTER:('B',"vampire bat"),random
|
|
||||||
MONSTER:('B',"vampire bat"),random
|
|
||||||
MONSTER:('B',"vampire bat"),random
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "goal" level for the quest.
|
|
||||||
#
|
|
||||||
# Here you meet the Dark One, your nemesis monster. You have to
|
|
||||||
# defeat the Dark One in combat to gain the artifact you have
|
|
||||||
# been assigned to retrieve.
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE: "Wiz-goal", ' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
------------- -------------
|
|
||||||
|...........| |...........|
|
|
||||||
-------|...........-------------------...........|
|
|
||||||
|......S...........|..|..|..|..|..|..|...........|
|
|
||||||
|......|...........|..|..|..|..|..|..|...........|
|
|
||||||
|......|...........-F+-F+-F+-F+-F+-F+-...........|
|
|
||||||
--S----|...........S.................+...........|
|
|
||||||
|......|...........-F+-F+-F+-F+-F+-F+-...........|
|
|
||||||
|......|...........|..|..|..|..|..|..|...........|
|
|
||||||
|......|...........|..|..|..|..|..|..|...........|
|
|
||||||
-------|...........-------------------...........|
|
|
||||||
|...........| |...........|
|
|
||||||
------------- -------------
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(13,10,18,12),unlit,"temple"
|
|
||||||
REGION:(13,06,18,08),lit,"ordinary"
|
|
||||||
REGION:(20,04,30,14),unlit,"ordinary"
|
|
||||||
REGION:(32,06,33,07),unlit,"ordinary"
|
|
||||||
REGION:(35,06,36,07),unlit,"ordinary"
|
|
||||||
REGION:(38,06,39,07),unlit,"ordinary"
|
|
||||||
REGION:(41,06,42,07),unlit,"ordinary"
|
|
||||||
REGION:(44,06,45,07),unlit,"ordinary"
|
|
||||||
REGION:(47,06,48,07),unlit,"ordinary"
|
|
||||||
REGION:(32,09,48,09),unlit,"ordinary"
|
|
||||||
REGION:(32,11,33,12),unlit,"ordinary"
|
|
||||||
REGION:(35,11,36,12),unlit,"ordinary"
|
|
||||||
REGION:(38,11,39,12),unlit,"ordinary"
|
|
||||||
REGION:(41,11,42,12),unlit,"ordinary"
|
|
||||||
REGION:(44,11,45,12),unlit,"ordinary"
|
|
||||||
REGION:(47,11,48,12),unlit,"ordinary"
|
|
||||||
REGION:(50,04,60,14),lit,"ordinary"
|
|
||||||
# Doors
|
|
||||||
DOOR:locked,(19,06)
|
|
||||||
DOOR:locked,(14,09)
|
|
||||||
DOOR:locked,(31,09)
|
|
||||||
DOOR:locked,(33,08)
|
|
||||||
DOOR:locked,(36,08)
|
|
||||||
DOOR:locked,(39,08)
|
|
||||||
DOOR:locked,(42,08)
|
|
||||||
DOOR:locked,(45,08)
|
|
||||||
DOOR:locked,(48,08)
|
|
||||||
DOOR:locked,(33,10)
|
|
||||||
DOOR:locked,(36,10)
|
|
||||||
DOOR:locked,(39,10)
|
|
||||||
DOOR:locked,(42,10)
|
|
||||||
DOOR:locked,(45,10)
|
|
||||||
DOOR:locked,(48,10)
|
|
||||||
DOOR:locked,(49,09)
|
|
||||||
# Stairs
|
|
||||||
STAIR:(55,05),up
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,75,19)
|
|
||||||
# The altar. This is not a shrine.
|
|
||||||
ALTAR:(16,11),noncoaligned,altar
|
|
||||||
# Objects
|
|
||||||
OBJECT:('"',"amulet of ESP"),(16,11),blessed,0,name:"The Eye of the Aethiopica"
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:('@',"Dark One"),(16,11)
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'B',random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
MONSTER:('B',"vampire bat"),random
|
|
||||||
MONSTER:('B',"vampire bat"),random
|
|
||||||
MONSTER:('B',"vampire bat"),random
|
|
||||||
MONSTER:('B',"vampire bat"),random
|
|
||||||
MONSTER:('B',"vampire bat"),random
|
|
||||||
MONSTER:('B',"vampire bat"),random
|
|
||||||
MONSTER:('B',"vampire bat"),random
|
|
||||||
MONSTER:('B',"vampire bat"),random
|
|
||||||
MONSTER:'i',random,hostile
|
|
||||||
# Captive Monsters in the dungeon
|
|
||||||
MONSTER:('@',"rogue"),(35,06),peaceful,"Pug"
|
|
||||||
MONSTER:('Y',"owlbear"),(47,06),peaceful,asleep
|
|
||||||
MONSTER:('@',"wizard"),(32,11),peaceful,asleep,"Newt"
|
|
||||||
MONSTER:('@',"Grey-elf"),(44,11),peaceful
|
|
||||||
MONSTER:('H',"hill giant"),(47,11),peaceful,asleep
|
|
||||||
MONSTER:('G',"gnomish wizard"),(38,06),peaceful
|
|
||||||
MONSTER:('@',"prisoner"),(35,11),peaceful
|
|
||||||
MONSTER:('@',"prisoner"),(41,11),peaceful,asleep
|
|
||||||
|
|
||||||
#
|
|
||||||
# The "fill" levels for the quest.
|
|
||||||
#
|
|
||||||
# These levels are used to fill out any levels not occupied by specific
|
|
||||||
# levels as defined above. "filla" is the upper filler, between the
|
|
||||||
# start and locate levels, and "fillb" the lower between the locate
|
|
||||||
# and goal levels.
|
|
||||||
#
|
|
||||||
|
|
||||||
LEVEL: "Wiz-fila"
|
|
||||||
#
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, up
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'i', random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'i', random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: ('B', "vampire bat"), random
|
|
||||||
MONSTER: ('B', "vampire bat"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, down
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'i', random, hostile
|
|
||||||
MONSTER: ('B', "vampire bat"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'i', random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: ('B', "vampire bat"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
RANDOM_CORRIDORS
|
|
||||||
|
|
||||||
LEVEL: "Wiz-filb"
|
|
||||||
#
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, up
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'X', random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'i', random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
OBJECT: random,random
|
|
||||||
MONSTER: 'X', random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
STAIR: random, down
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'i', random, hostile
|
|
||||||
MONSTER: ('B', "vampire bat"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: 'i', random, hostile
|
|
||||||
}
|
|
||||||
|
|
||||||
ROOM: "ordinary" , random, random, random, random {
|
|
||||||
OBJECT: random, random
|
|
||||||
TRAP: random, random
|
|
||||||
MONSTER: ('B', "vampire bat"), random
|
|
||||||
}
|
|
||||||
|
|
||||||
RANDOM_CORRIDORS
|
|
||||||
+108
@@ -0,0 +1,108 @@
|
|||||||
|
-- NetHack 3.6 endgame.des $NHDT-Date: 1546303680 2019/01/01 00:48:00 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.14 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1992,1993 by Izchak Miller, David Cohrs,
|
||||||
|
-- and Timo Hakulinen
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "hardfloor", "shortsighted")
|
||||||
|
-- The following messages are somewhat obtuse, to make then
|
||||||
|
-- equally meaningful if the player can see or not.
|
||||||
|
des.message("What a strange feeling!")
|
||||||
|
des.message("You notice that there is no gravity here.")
|
||||||
|
-- The player lands, upon arrival, in the
|
||||||
|
-- lower-left area. The location of the
|
||||||
|
-- portal to the next level is randomly chosen.
|
||||||
|
-- This map has no visible outer boundary, and
|
||||||
|
-- is all "air".
|
||||||
|
des.map([[
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
]]);
|
||||||
|
-- Use up and down regions to partition the level into three parts;
|
||||||
|
-- teleportation can't cross from one part into another.
|
||||||
|
-- The up region is where you'll arrive after activating the portal from
|
||||||
|
-- the preceding level; the exit portal is placed inside the down region.
|
||||||
|
des.teleport_region({ region = {01,00,24,20}, region_islev = 1, exclude = {25,00,79,20}, exclude_islev=1, dir="up" })
|
||||||
|
des.teleport_region({ region = {56,00,79,20}, region_islev = 1, exclude = {01,00,55,20}, exclude_islev=1, dir="down" })
|
||||||
|
|
||||||
|
-- des.portal(levregion(57,01,78,19),(0,0,0,0),"fire")
|
||||||
|
des.levregion({ region = {57,01,78,19}, region_islev=1, type="portal", name="fire" });
|
||||||
|
des.region(selection.area(00,00,75,19),"lit")
|
||||||
|
des.monster({ id = "air elemental", peaceful = 0 })
|
||||||
|
des.monster({ id = "air elemental", peaceful = 0 })
|
||||||
|
des.monster({ id = "air elemental", peaceful = 0 })
|
||||||
|
des.monster({ id = "air elemental", peaceful = 0 })
|
||||||
|
des.monster({ id = "air elemental", peaceful = 0 })
|
||||||
|
des.monster({ id = "air elemental", peaceful = 0 })
|
||||||
|
des.monster({ id = "air elemental", peaceful = 0 })
|
||||||
|
des.monster({ id = "air elemental", peaceful = 0 })
|
||||||
|
des.monster({ id = "air elemental", peaceful = 0 })
|
||||||
|
des.monster({ id = "air elemental", peaceful = 0 })
|
||||||
|
des.monster({ id = "air elemental", peaceful = 0 })
|
||||||
|
|
||||||
|
des.monster({ id = "floating eye", peaceful = 0 })
|
||||||
|
des.monster({ id = "floating eye", peaceful = 0 })
|
||||||
|
des.monster({ id = "floating eye", peaceful = 0 })
|
||||||
|
|
||||||
|
des.monster({ id = "yellow light", peaceful = 0 })
|
||||||
|
des.monster({ id = "yellow light", peaceful = 0 })
|
||||||
|
des.monster({ id = "yellow light", peaceful = 0 })
|
||||||
|
|
||||||
|
des.monster("couatl")
|
||||||
|
|
||||||
|
des.monster("D")
|
||||||
|
des.monster("D")
|
||||||
|
des.monster("D")
|
||||||
|
des.monster("D")
|
||||||
|
des.monster("D")
|
||||||
|
|
||||||
|
des.monster("E")
|
||||||
|
des.monster("E")
|
||||||
|
des.monster("E")
|
||||||
|
des.monster("J")
|
||||||
|
des.monster("J")
|
||||||
|
|
||||||
|
des.monster({ id = "djinni", peaceful = 0 })
|
||||||
|
des.monster({ id = "djinni", peaceful = 0 })
|
||||||
|
des.monster({ id = "djinni", peaceful = 0 })
|
||||||
|
|
||||||
|
des.monster({ id = "fog cloud", peaceful = 0 })
|
||||||
|
des.monster({ id = "fog cloud", peaceful = 0 })
|
||||||
|
des.monster({ id = "fog cloud", peaceful = 0 })
|
||||||
|
des.monster({ id = "fog cloud", peaceful = 0 })
|
||||||
|
des.monster({ id = "fog cloud", peaceful = 0 })
|
||||||
|
des.monster({ id = "fog cloud", peaceful = 0 })
|
||||||
|
des.monster({ id = "fog cloud", peaceful = 0 })
|
||||||
|
des.monster({ id = "fog cloud", peaceful = 0 })
|
||||||
|
des.monster({ id = "fog cloud", peaceful = 0 })
|
||||||
|
des.monster({ id = "energy vortex", peaceful = 0 })
|
||||||
|
des.monster({ id = "energy vortex", peaceful = 0 })
|
||||||
|
des.monster({ id = "energy vortex", peaceful = 0 })
|
||||||
|
des.monster({ id = "energy vortex", peaceful = 0 })
|
||||||
|
des.monster({ id = "energy vortex", peaceful = 0 })
|
||||||
|
des.monster({ id = "steam vortex", peaceful = 0 })
|
||||||
|
des.monster({ id = "steam vortex", peaceful = 0 })
|
||||||
|
des.monster({ id = "steam vortex", peaceful = 0 })
|
||||||
|
des.monster({ id = "steam vortex", peaceful = 0 })
|
||||||
|
des.monster({ id = "steam vortex", peaceful = 0 })
|
||||||
|
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
-- NetHack 3.6 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="mazegrid", bg ="-" });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport")
|
||||||
|
-- First part
|
||||||
|
des.map({ halign = "half-left", valign = "center", map = [[
|
||||||
|
---------------------
|
||||||
|
|.............|.....|
|
||||||
|
|.............S.....|
|
||||||
|
|---+------------...|
|
||||||
|
|.....|.........|-+--
|
||||||
|
|..---|.........|....
|
||||||
|
|..|..S.........|....
|
||||||
|
|..|..|.........|....
|
||||||
|
|..|..|.........|-+--
|
||||||
|
|..|..-----------...|
|
||||||
|
|..S..........|.....|
|
||||||
|
---------------------
|
||||||
|
]] });
|
||||||
|
|
||||||
|
des.levregion({ region={01,00,6,20}, region_islev=1, exclude={6,1,70,16}, exclude_islev=1, type="stair-up" });
|
||||||
|
-- des.stair(levregion(01,00,6,20),levregion(6,1,70,16),up)
|
||||||
|
|
||||||
|
des.levregion({ region={01,00,6,20}, region_islev=1, exclude={6,1,70,16}, exclude_islev=1, type="branch" });
|
||||||
|
-- des.branch(levregion(01,00,6,20),levregion(6,1,70,16))
|
||||||
|
des.teleport_region({ region = {01,00,6,20}, region_islev=1, exclude={6,1,70,16}, exclude_islev=1 })
|
||||||
|
|
||||||
|
-- Doors
|
||||||
|
des.door("closed",04,03)
|
||||||
|
des.door("locked",18,04)
|
||||||
|
des.door("closed",18,08)
|
||||||
|
--
|
||||||
|
des.stair("down", 13,07)
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,20,11))
|
||||||
|
-- Entire main area
|
||||||
|
des.region(selection.area(01,01,20,10),"unlit")
|
||||||
|
-- The fellow in residence
|
||||||
|
des.monster("Asmodeus",12,07)
|
||||||
|
-- Some random weapons and armor.
|
||||||
|
des.object("[")
|
||||||
|
des.object("[")
|
||||||
|
des.object(")")
|
||||||
|
des.object(")")
|
||||||
|
des.object("*")
|
||||||
|
des.object("!")
|
||||||
|
des.object("!")
|
||||||
|
des.object("?")
|
||||||
|
des.object("?")
|
||||||
|
des.object("?")
|
||||||
|
-- Some traps.
|
||||||
|
des.trap("spiked pit", 05,02)
|
||||||
|
des.trap("fire", 08,06)
|
||||||
|
des.trap("sleep gas")
|
||||||
|
des.trap("anti magic")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("magic")
|
||||||
|
des.trap("magic")
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster("ghost",11,07)
|
||||||
|
des.monster("horned devil",10,05)
|
||||||
|
des.monster("L")
|
||||||
|
-- Some Vampires for good measure
|
||||||
|
des.monster("V")
|
||||||
|
des.monster("V")
|
||||||
|
des.monster("V")
|
||||||
|
-- Second part
|
||||||
|
des.map({ halign = "half-right", valign = "center", map = [[
|
||||||
|
---------------------------------
|
||||||
|
................................|
|
||||||
|
................................+
|
||||||
|
................................|
|
||||||
|
---------------------------------
|
||||||
|
]] });
|
||||||
|
des.mazewalk(32,02,"east")
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable(selection.area(00,00,32,04))
|
||||||
|
des.door("closed",32,02)
|
||||||
|
des.monster("&")
|
||||||
|
des.monster("&")
|
||||||
|
des.monster("&")
|
||||||
|
des.trap("anti magic")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("magic")
|
||||||
+187
@@ -0,0 +1,187 @@
|
|||||||
|
-- NetHack 3.6 endgame.des $NHDT-Date: 1546303680 2019/01/01 00:48:00 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.14 $
|
||||||
|
-- Copyright (c) 1989 by Jean-Christophe Collet
|
||||||
|
-- Copyright (c) 1992,1993 by Izchak Miller, David Cohrs,
|
||||||
|
-- and Timo Hakulinen
|
||||||
|
-- NetHack may be freely redistributed. See license for details.
|
||||||
|
--
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "hardfloor", "nommap", "shortsighted", "solidify")
|
||||||
|
des.message("You arrive on the Astral Plane!")
|
||||||
|
des.message("Here the High Temple of %d is located.")
|
||||||
|
des.message("You sense alarm, hostility, and excitement in the air!")
|
||||||
|
des.map([[
|
||||||
|
---------------
|
||||||
|
|.............|
|
||||||
|
|..---------..|
|
||||||
|
|..|.......|..|
|
||||||
|
--------------- |..|.......|..| ---------------
|
||||||
|
|.............| |..|.......|..| |.............|
|
||||||
|
|..---------..-| |-------| |..|.......|..| |-------| |-..---------..|
|
||||||
|
|..|.......|...-| |-.......-| |..|.......|..| |-.......-| |-...|.......|..|
|
||||||
|
|..|.......|....-|-.........-||..----+----..||-.........-|-....|.......|..|
|
||||||
|
|..|.......+.....+...........||.............||...........+.....+.......|..|
|
||||||
|
|..|.......|....-|-.........-|--|.........|--|-.........-|-....|.......|..|
|
||||||
|
|..|.......|...-| |-.......-| -|---+---|- |-.......-| |-...|.......|..|
|
||||||
|
|..---------..-| |---+---| |-.......-| |---+---| |-..---------..|
|
||||||
|
|.............| |...|-----|-.........-|-----|...| |.............|
|
||||||
|
--------------- |.........|...........|.........| ---------------
|
||||||
|
-------...|-.........-|...-------
|
||||||
|
|....|-.......-|....|
|
||||||
|
---...|---+---|...---
|
||||||
|
|...............|
|
||||||
|
-----------------
|
||||||
|
]]);
|
||||||
|
|
||||||
|
-- chance to alter above map and turn the wings of the bottom-center into
|
||||||
|
-- a pair of big (5x15) rooms
|
||||||
|
for i=1,2 do
|
||||||
|
-- 3.6.[01]: 75% chance that both sides opened up, 25% that neither did;
|
||||||
|
-- 3.6.2: 60% twice == 36% chance that both sides open up, 24% left side
|
||||||
|
-- only, 24% right side only, 16% that neither side opens up
|
||||||
|
local hall = selection.new()
|
||||||
|
if math.random(0, 99) < 60 then
|
||||||
|
if i == 1 then
|
||||||
|
des.terrain(selection.area(17,14, 30,18),".")
|
||||||
|
des.wallify()
|
||||||
|
-- temporarily close off the area to be filled so that it doesn't cover
|
||||||
|
-- the entire entry area
|
||||||
|
des.terrain(33,18, "|")
|
||||||
|
hall:floodfill(30,16)
|
||||||
|
-- re-connect the opened wing with the rest of the map
|
||||||
|
des.terrain(33,18, ".")
|
||||||
|
else
|
||||||
|
des.terrain(selection.area(44,14, 57,18),".")
|
||||||
|
des.wallify()
|
||||||
|
des.terrain(41,18, "|")
|
||||||
|
hall:floodfill(44,16)
|
||||||
|
des.terrain(41,18, ".")
|
||||||
|
end
|
||||||
|
-- extra monsters; was [6 + 3d4] when both wings were opened up at once
|
||||||
|
for i=1,3 + math.random(2 - 1,2*3) do
|
||||||
|
des.monster({ id="Angel", coord = { hall:rndcoord(1) }, align="noalign", peaceful=0 })
|
||||||
|
if math.random(0,99) < 50 then
|
||||||
|
des.monster({ coord = { hall:rndcoord(1) }, peaceful=0 })
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Rider locations
|
||||||
|
local place = selection.new();
|
||||||
|
place:set(23,9);
|
||||||
|
place:set(37,14);
|
||||||
|
place:set(51,9);
|
||||||
|
|
||||||
|
-- Where the player will land on arrival
|
||||||
|
des.teleport_region({ region = {29,15,45,15}, exclude = {30,15,44,15} })
|
||||||
|
-- Lit courts
|
||||||
|
des.region({ region={01,05,16,14},lit=1,type="ordinary",prefilled=1,irregular=1 })
|
||||||
|
des.region({ region={31,01,44,10},lit=1,type="ordinary",prefilled=1,irregular=1 })
|
||||||
|
des.region({ region={61,05,74,14},lit=1,type="ordinary",prefilled=1,irregular=1 })
|
||||||
|
-- A Sanctum for each alignment
|
||||||
|
-- The shrines' alignments are shuffled for
|
||||||
|
-- each game
|
||||||
|
des.region({ region={04,07,10,11},lit=1,type="temple" })
|
||||||
|
des.region({ region={34,03,40,07},lit=1,type="temple" })
|
||||||
|
des.region({ region={64,07,70,11},lit=1,type="temple" })
|
||||||
|
|
||||||
|
des.altar({ x=07, y=09, align=align[1],type="sanctum" })
|
||||||
|
des.altar({ x=37, y=05, align=align[2],type="sanctum" })
|
||||||
|
des.altar({ x=67, y=09, align=align[3],type="sanctum" })
|
||||||
|
-- Doors
|
||||||
|
des.door("closed",11,09)
|
||||||
|
des.door("closed",17,09)
|
||||||
|
des.door("locked",23,12)
|
||||||
|
des.door("locked",37,08)
|
||||||
|
des.door("closed",37,11)
|
||||||
|
des.door("closed",37,17)
|
||||||
|
des.door("locked",51,12)
|
||||||
|
des.door("locked",57,09)
|
||||||
|
des.door("closed",63,09)
|
||||||
|
-- Non diggable and phazeable everywhere
|
||||||
|
des.non_diggable(selection.area(00,00,74,19))
|
||||||
|
des.non_passwall(selection.area(00,00,74,19))
|
||||||
|
-- Moloch's horde
|
||||||
|
-- West round room
|
||||||
|
des.monster({ id = "aligned priest",x=18,y=09,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=19,y=08,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=19,y=09,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=19,y=10,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "Angel",x=20,y=09,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "Angel",x=20,y=10,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "Pestilence", coord = { place:rndcoord(1) }, peaceful=0 })
|
||||||
|
-- South-central round room
|
||||||
|
des.monster({ id = "aligned priest",x=36,y=12,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=37,y=12,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=38,y=12,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=36,y=13,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "Angel",x=38,y=13,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "Angel",x=37,y=13,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "Death", coord = { place:rndcoord(1) }, peaceful=0 })
|
||||||
|
-- East round room
|
||||||
|
des.monster({ id = "aligned priest",x=56,y=09,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=55,y=08,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=55,y=09,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=55,y=10,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "Angel",x=54,y=09,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "Angel",x=54,y=10,align="noalign", peaceful=0 })
|
||||||
|
des.monster({ id = "Famine", coord = { place:rndcoord(1) }, peaceful=0 })
|
||||||
|
--
|
||||||
|
-- The aligned horde
|
||||||
|
--
|
||||||
|
-- We do not know in advance the alignment of the
|
||||||
|
-- player. The mpeaceful bit will need resetting
|
||||||
|
-- when the level is created. The setting here is
|
||||||
|
-- but a place holder.
|
||||||
|
--
|
||||||
|
-- West court
|
||||||
|
des.monster({ id = "aligned priest",x=12,y=07,align="chaos", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=13,y=07,align="chaos",peaceful=1 })
|
||||||
|
des.monster({ id = "aligned priest",x=14,y=07,align="law", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=12,y=11,align="law",peaceful=1 })
|
||||||
|
des.monster({ id = "aligned priest",x=13,y=11,align="neutral", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=14,y=11,align="neutral",peaceful=1 })
|
||||||
|
des.monster({ id = "Angel",x=11,y=05,align="chaos", peaceful=0 })
|
||||||
|
des.monster({ id = "Angel",x=12,y=05,align="chaos",peaceful=1 })
|
||||||
|
des.monster({ id = "Angel",x=13,y=05,align="law", peaceful=0 })
|
||||||
|
des.monster({ id = "Angel",x=11,y=13,align="law",peaceful=1 })
|
||||||
|
des.monster({ id = "Angel",x=12,y=13,align="neutral", peaceful=0 })
|
||||||
|
des.monster({ id = "Angel",x=13,y=13,align="neutral",peaceful=1 })
|
||||||
|
-- Central court
|
||||||
|
des.monster({ id = "aligned priest",x=32,y=09,align="chaos", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=33,y=09,align="chaos",peaceful=1 })
|
||||||
|
des.monster({ id = "aligned priest",x=34,y=09,align="law", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=40,y=09,align="law",peaceful=1 })
|
||||||
|
des.monster({ id = "aligned priest",x=41,y=09,align="neutral", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=42,y=09,align="neutral",peaceful=1 })
|
||||||
|
des.monster({ id = "Angel",x=31,y=08,align="chaos", peaceful=0 })
|
||||||
|
des.monster({ id = "Angel",x=32,y=08,align="chaos",peaceful=1 })
|
||||||
|
des.monster({ id = "Angel",x=31,y=09,align="law", peaceful=0 })
|
||||||
|
des.monster({ id = "Angel",x=42,y=08,align="law",peaceful=1 })
|
||||||
|
des.monster({ id = "Angel",x=43,y=08,align="neutral", peaceful=0 })
|
||||||
|
des.monster({ id = "Angel",x=43,y=09,align="neutral",peaceful=1 })
|
||||||
|
-- East court
|
||||||
|
des.monster({ id = "aligned priest",x=60,y=07,align="chaos", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=61,y=07,align="chaos",peaceful=1 })
|
||||||
|
des.monster({ id = "aligned priest",x=62,y=07,align="law", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=60,y=11,align="law",peaceful=1 })
|
||||||
|
des.monster({ id = "aligned priest",x=61,y=11,align="neutral", peaceful=0 })
|
||||||
|
des.monster({ id = "aligned priest",x=62,y=11,align="neutral",peaceful=1 })
|
||||||
|
des.monster({ id = "Angel",x=61,y=05,align="chaos", peaceful=0 })
|
||||||
|
des.monster({ id = "Angel",x=62,y=05,align="chaos",peaceful=1 })
|
||||||
|
des.monster({ id = "Angel",x=63,y=05,align="law", peaceful=0 })
|
||||||
|
des.monster({ id = "Angel",x=61,y=13,align="law",peaceful=1 })
|
||||||
|
des.monster({ id = "Angel",x=62,y=13,align="neutral", peaceful=0 })
|
||||||
|
des.monster({ id = "Angel",x=63,y=13,align="neutral",peaceful=1 })
|
||||||
|
--
|
||||||
|
-- Assorted nasties
|
||||||
|
des.monster({ class = "L", peaceful=0 })
|
||||||
|
des.monster({ class = "L", peaceful=0 })
|
||||||
|
des.monster({ class = "L", peaceful=0 })
|
||||||
|
des.monster({ class = "V", peaceful=0 })
|
||||||
|
des.monster({ class = "V", peaceful=0 })
|
||||||
|
des.monster({ class = "V", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
|
des.monster({ class = "D", peaceful=0 })
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
-- NetHack 3.6 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 = " " });
|
||||||
|
|
||||||
|
-- TODO FIXME: see baalz_fixup - the legs get removed currently.
|
||||||
|
|
||||||
|
des.level_flags("mazelevel", "noteleport", "corrmaze")
|
||||||
|
-- the two pools are fakes used to mark spots which need special wall fixups
|
||||||
|
-- the two iron bars are eyes and spots to their left will be made diggable
|
||||||
|
des.map({ halign = "right", valign = "center", map = [[
|
||||||
|
-------------------------------------------------
|
||||||
|
| ---- ----
|
||||||
|
| ---- | ----------- |
|
||||||
|
| ------ | ---------|.........|--P
|
||||||
|
| F....| -------|...........--------------
|
||||||
|
---....|--|..................S............|----
|
||||||
|
+...--....S..----------------|............S...|
|
||||||
|
---....|--|..................|............|----
|
||||||
|
| F....| -------|...........-----S--------
|
||||||
|
| ------ | ---------|.........|--P
|
||||||
|
| ---- | ----------- |
|
||||||
|
| ---- ----
|
||||||
|
-------------------------------------------------
|
||||||
|
]] });
|
||||||
|
des.levregion({ region = {01,00,15,20}, region_islev=1, exclude={15,1,70,16}, exclude_islev=1, type="stair-up" })
|
||||||
|
des.levregion({ region = {01,00,15,20}, region_islev=1, exclude={15,1,70,16}, exclude_islev=1, type="branch" })
|
||||||
|
des.teleport_region({region = {01,00,15,20}, region_islev=1, exclude = {15,1,70,16}, exclude_islev=1 })
|
||||||
|
-- this actually leaves the farthest right column diggable
|
||||||
|
des.non_diggable(selection.area(00,00,47,12))
|
||||||
|
des.mazewalk(00,06,"west")
|
||||||
|
des.stair("down", 44,06)
|
||||||
|
des.door("locked",00,06)
|
||||||
|
if math.random(0, 99) < 50 then
|
||||||
|
des.terrain(34,08,'-')
|
||||||
|
des.terrain(34,04,'S')
|
||||||
|
des.terrain(29,05,'|')
|
||||||
|
des.terrain(29,07,'S')
|
||||||
|
end
|
||||||
|
-- The fellow in residence
|
||||||
|
des.monster("Baalzebub",35,06)
|
||||||
|
-- Some random weapons and armor.
|
||||||
|
des.object("[")
|
||||||
|
des.object("[")
|
||||||
|
des.object(")")
|
||||||
|
des.object(")")
|
||||||
|
des.object("*")
|
||||||
|
des.object("!")
|
||||||
|
des.object("!")
|
||||||
|
des.object("?")
|
||||||
|
des.object("?")
|
||||||
|
des.object("?")
|
||||||
|
-- Some traps.
|
||||||
|
des.trap("spiked pit")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("sleep gas")
|
||||||
|
des.trap("anti magic")
|
||||||
|
des.trap("fire")
|
||||||
|
des.trap("magic")
|
||||||
|
des.trap("magic")
|
||||||
|
-- Random monsters.
|
||||||
|
des.monster("ghost",37,07)
|
||||||
|
des.monster("horned devil",32,05)
|
||||||
|
des.monster("barbed devil",38,07)
|
||||||
|
des.monster("L")
|
||||||
|
-- Some Vampires for good measure
|
||||||
|
des.monster("V")
|
||||||
|
des.monster("V")
|
||||||
|
des.monster("V")
|
||||||
|
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
]]);
|
||||||
|
|
||||||
|
|
||||||
|
if math.random(0,99) < 75 then
|
||||||
|
local terrains = { "-", "F", "L", "T", "C" };
|
||||||
|
local tidx = math.random(1, #terrains);
|
||||||
|
local choice = math.random(0, 4);
|
||||||
|
if choice == 0 then
|
||||||
|
des.terrain(selection.line(10,8, 65,8), terrains[tidx]);
|
||||||
|
elseif choice == 1 then
|
||||||
|
local sel = selection.new();
|
||||||
|
sel:line(15,4, 15, 13);
|
||||||
|
sel:line(59,4, 59, 13);
|
||||||
|
des.terrain(sel, terrains[tidx]);
|
||||||
|
elseif choice == 2 then
|
||||||
|
local sel = selection.new();
|
||||||
|
sel:line(10,8, 38, 8);
|
||||||
|
sel:line(37,8, 65, 8);
|
||||||
|
sel:line(37,3, 37, 8);
|
||||||
|
sel:line(37,8, 37,14);
|
||||||
|
des.terrain(sel, terrains[tidx]);
|
||||||
|
elseif choice == 3 then
|
||||||
|
des.terrain(selection.rect(4,4, 70,13), terrains[tidx]);
|
||||||
|
local sel = selection.new();
|
||||||
|
sel:line(25,4, 50,4);
|
||||||
|
sel:line(25,13, 50,13);
|
||||||
|
des.terrain(sel, '.');
|
||||||
|
else
|
||||||
|
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
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
|
||||||
|
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
.......................................................................
|
||||||
|
.......................................................................
|
||||||
|
.......................................................................
|
||||||
|
.......................................................................
|
||||||
|
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
|
||||||
|
...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
|
||||||
|
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
|
||||||
|
...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
|
||||||
|
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
|
||||||
|
...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
|
||||||
|
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
|
||||||
|
...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
|
||||||
|
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
|
||||||
|
...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
|
||||||
|
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
|
||||||
|
.......................................................................
|
||||||
|
.......................................................................
|
||||||
|
.......................................................................
|
||||||
|
.......................................................................
|
||||||
|
]]);
|
||||||
|
|
||||||
|
if math.random(0,99) < 40 then
|
||||||
|
-- occasionally it's not a fog maze
|
||||||
|
local terrain = { "L", "}", "T", "-", "F" };
|
||||||
|
local tidx = math.random(1, #terrain);
|
||||||
|
-- break it up a bit
|
||||||
|
des.replace_terrain({ region={0, 0, 70, 18}, fromterrain="C", toterrain=".", chance=5 });
|
||||||
|
des.replace_terrain({ region={0, 0, 70, 18}, fromterrain="C", toterrain=terrain[tidx] });
|
||||||
|
end;
|
||||||
|
|
||||||
|
des.region(selection.area(00,00,70,18), "lit");
|
||||||
|
|
||||||
|
-- when falling down on this level, never end up in the fog maze
|
||||||
|
des.teleport_region({ region = {00,00,70,18}, exclude = {02,03,68,15}, dir = "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
|
||||||
|
|
||||||
|
des.mazewalk({ x=4, y=2, dir="south", stocked=0 });
|
||||||
|
|
||||||
|
-- Stairs up, not in the fog maze
|
||||||
|
des.levregion({ region = {00,00,70,18}, exclude = {02,03,68,15}, type="stair-up"});
|
||||||
|
des.stair("down");
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
]]);
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(01,01,73,16),"lit");
|
||||||
|
|
||||||
|
local choice = math.random(0, 3)
|
||||||
|
if choice == 0 then
|
||||||
|
des.region(selection.area(01,07,22,09),"unlit");
|
||||||
|
des.region(selection.area(24,01,50,05),"unlit");
|
||||||
|
des.region(selection.area(24,11,50,16),"unlit");
|
||||||
|
des.region(selection.area(52,07,73,09),"unlit");
|
||||||
|
elseif choice == 1 then
|
||||||
|
des.region(selection.area(24,01,50,16),"unlit");
|
||||||
|
elseif choice == 2 then
|
||||||
|
des.region(selection.area(01,01,22,16),"unlit");
|
||||||
|
des.region(selection.area(52,01,73,16),"unlit");
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up");
|
||||||
|
des.stair("down");
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable();
|
||||||
|
-- Objects
|
||||||
|
for i = 1,15 do
|
||||||
|
des.object();
|
||||||
|
end
|
||||||
|
-- Random traps
|
||||||
|
for i = 1,6 do
|
||||||
|
des.trap();
|
||||||
|
end
|
||||||
|
-- Random monsters.
|
||||||
|
for i = 1,28 do
|
||||||
|
des.monster();
|
||||||
|
end
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|..............---.......................................---..............|
|
||||||
|
|...............|.........................................|...............|
|
||||||
|
|.....|.|.|.|.|---|.|.|.|.|...................|.|.|.|.|.|---|.|.|.|.|.....|
|
||||||
|
|.....|-------- --------|...................|---------- --------|.....|
|
||||||
|
|.....|.|.|.|.|---|.|.|.|.|...................|.|.|.|.|.|---|.|.|.|.|.....|
|
||||||
|
|...............|.........................................|...............|
|
||||||
|
|..............---.......................................---..............|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.........................................................................|
|
||||||
|
|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
]]);
|
||||||
|
|
||||||
|
-- Dungeon Description
|
||||||
|
des.region(selection.area(01,01,73,16), "lit");
|
||||||
|
|
||||||
|
-- Stairs
|
||||||
|
des.stair("up");
|
||||||
|
des.stair("down");
|
||||||
|
|
||||||
|
-- Non diggable walls
|
||||||
|
des.non_diggable();
|
||||||
|
|
||||||
|
for i = 1,15 do
|
||||||
|
des.object();
|
||||||
|
end
|
||||||
|
|
||||||
|
for i = 1,6 do
|
||||||
|
des.trap();
|
||||||
|
end
|
||||||
|
|
||||||
|
des.monster({ x = 01, y = 01 });
|
||||||
|
des.monster({ x = 13, y = 01 });
|
||||||
|
des.monster({ x = 25, y = 01 });
|
||||||
|
des.monster({ x = 37, y = 01 });
|
||||||
|
des.monster({ x = 49, y = 01 });
|
||||||
|
des.monster({ x = 61, y = 01 });
|
||||||
|
des.monster({ x = 73, y = 01 });
|
||||||
|
des.monster({ x = 07, y = 07 });
|
||||||
|
des.monster({ x = 13, y = 07 });
|
||||||
|
des.monster({ x = 25, y = 07 });
|
||||||
|
des.monster({ x = 37, y = 07 });
|
||||||
|
des.monster({ x = 49, y = 07 });
|
||||||
|
des.monster({ x = 61, y = 07 });
|
||||||
|
des.monster({ x = 67, y = 07 });
|
||||||
|
des.monster({ x = 07, y = 09 });
|
||||||
|
des.monster({ x = 13, y = 09 });
|
||||||
|
des.monster({ x = 25, y = 09 });
|
||||||
|
des.monster({ x = 37, y = 09 });
|
||||||
|
des.monster({ x = 49, y = 09 });
|
||||||
|
des.monster({ x = 61, y = 09 });
|
||||||
|
des.monster({ x = 67, y = 09 });
|
||||||
|
des.monster({ x = 01, y = 16 });
|
||||||
|
des.monster({ x = 13, y = 16 });
|
||||||
|
des.monster({ x = 25, y = 16 });
|
||||||
|
des.monster({ x = 37, y = 16 });
|
||||||
|
des.monster({ x = 49, y = 16 });
|
||||||
|
des.monster({ x = 61, y = 16 });
|
||||||
|
des.monster({ x = 73, y = 16 });
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
----------- -----------
|
||||||
|
|.........| |.........|
|
||||||
|
|.........|-----------| |-----------|.........|
|
||||||
|
|-|...................|----------| |----------|...................|-|
|
||||||
|
-|.............................|-------|.............................|-
|
||||||
|
-|.................................................................|-
|
||||||
|
-|...............................................................|-
|
||||||
|
-|.............................................................|-
|
||||||
|
-|...........................................................|-
|
||||||
|
-|...........................................................|-
|
||||||
|
-|.............................................................|-
|
||||||
|
-|...............................................................|-
|
||||||
|
-|.................................................................|-
|
||||||
|
-|.............................|-------|.............................|-
|
||||||
|
|-|...................|----------| |----------|...................|-|
|
||||||
|
|.........|-----------| |-----------|.........|
|
||||||
|
|.........| |.........|
|
||||||
|
----------- -----------
|
||||||
|
]]);
|
||||||
|
|
||||||
|
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
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
------------------
|
||||||
|
---------................---------
|
||||||
|
-------................................-------
|
||||||
|
------............................................------
|
||||||
|
----......................................................----
|
||||||
|
---............................................................---
|
||||||
|
---................................................................---
|
||||||
|
---....................................................................---
|
||||||
|
|........................................................................|
|
||||||
|
|........................................................................|
|
||||||
|
|........................................................................|
|
||||||
|
---....................................................................---
|
||||||
|
---................................................................---
|
||||||
|
---............................................................---
|
||||||
|
----......................................................----
|
||||||
|
------............................................------
|
||||||
|
-------................................-------
|
||||||
|
---------................---------
|
||||||
|
------------------
|
||||||
|
]]);
|
||||||
|
|
||||||
|
des.region(selection.area(00,00,72,18), "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
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
|
||||||
|
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
--------- --------- --------- ---------
|
||||||
|
---.......--- ---.......--- ---.......--- ---.......---
|
||||||
|
--...........-- --...........-- --...........-- --...........--
|
||||||
|
--.............-- --.............-- --.............-- --.............--
|
||||||
|
-...............- -...............- -...............- -...............-
|
||||||
|
|-...............---...............---...............---...............--
|
||||||
|
|.................-.................-.................-.................|
|
||||||
|
|........T.................T.................T.................T........|
|
||||||
|
|.......................................................................|
|
||||||
|
|......T.{.....................................................{.T......|
|
||||||
|
|.......................................................................|
|
||||||
|
|........T.................T.................T.................T........|
|
||||||
|
|.................-.................-.................-.................|
|
||||||
|
--...............---...............---...............---...............--
|
||||||
|
-...............- -...............- -...............- -...............-
|
||||||
|
--.............-- --.............-- --.............-- --.............--
|
||||||
|
--...........-- --...........-- --...........-- --...........--
|
||||||
|
---.......--- ---.......--- ---.......--- ---.......---
|
||||||
|
--------- --------- --------- ---------
|
||||||
|
]]);
|
||||||
|
|
||||||
|
des.region(selection.area(01,01,72,17), "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
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
-----
|
||||||
|
---------...---
|
||||||
|
---------.........L...---
|
||||||
|
---------.......................---
|
||||||
|
---------.................................---
|
||||||
|
---------...........................................---
|
||||||
|
---------.....................................................---
|
||||||
|
|--------...............................................................--|
|
||||||
|
|.........................................................................|
|
||||||
|
|.L.....................................................................L.|
|
||||||
|
|.........................................................................|
|
||||||
|
|--...............................................................--------|
|
||||||
|
---.....................................................---------
|
||||||
|
---...........................................---------
|
||||||
|
---.................................---------
|
||||||
|
---.......................---------
|
||||||
|
---...L.........---------
|
||||||
|
---...---------
|
||||||
|
-----
|
||||||
|
]]);
|
||||||
|
|
||||||
|
local terrain = { "L", "T", "{", "." };
|
||||||
|
local tidx = math.random(1, #terrain);
|
||||||
|
des.replace_terrain({ region={00,00, 74,18}, fromterrain="L", toterrain=terrain[tidx] });
|
||||||
|
|
||||||
|
des.region(selection.area(01,01,73,17), "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
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
|
||||||
|
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
----------------------------------------------
|
||||||
|
|............................................---
|
||||||
|
--.............................................---
|
||||||
|
---......................................FF.....---
|
||||||
|
---...................................FF........---
|
||||||
|
---................................FF...........---
|
||||||
|
---.............................FF..............---
|
||||||
|
---..........................FF.................---
|
||||||
|
---.......................FF....................---
|
||||||
|
---....................FF.......................---
|
||||||
|
---.................FF..........................---
|
||||||
|
---..............FF.............................---
|
||||||
|
---...........FF................................----
|
||||||
|
---........FF...................................---
|
||||||
|
---.....FF......................................---
|
||||||
|
---.............................................--
|
||||||
|
---............................................|
|
||||||
|
----------------------------------------------
|
||||||
|
]]);
|
||||||
|
|
||||||
|
if math.random(0,99) < 40 then
|
||||||
|
local terrain = { "L", "}", "T", ".", "-", "C" };
|
||||||
|
local tidx = math.random(1, #terrain);
|
||||||
|
des.replace_terrain({ region={00,00, 74,17}, fromterrain="F", toterrain=terrain[tidx] });
|
||||||
|
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
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
|
||||||
|
des.level_init({ style = "solidfill", fg = " " });
|
||||||
|
des.level_flags("mazelevel");
|
||||||
|
|
||||||
|
des.map([[
|
||||||
|
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
|
||||||
|
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}................}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
|
||||||
|
}}}}}}}}}}}}}}}}}}}}}................................}}}}}}}}}}}}}}}}}}}}}
|
||||||
|
}}}}}}}}}}}}}}}............................................}}}}}}}}}}}}}}}
|
||||||
|
}}}}}}}}}}......................................................}}}}}}}}}}
|
||||||
|
}}}}}}}............................................................}}}}}}}
|
||||||
|
}}}}}.......................LLLLLLLLLLLLLLLLLL.......................}}}}}
|
||||||
|
}}}....................LLLLLLLLLLLLLLLLLLLLLLLLLLL.....................}}}
|
||||||
|
}....................LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL....................}
|
||||||
|
}....................LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL....................}
|
||||||
|
}....................LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL....................}
|
||||||
|
}}}....................LLLLLLLLLLLLLLLLLLLLLLLLLLL.....................}}}
|
||||||
|
}}}}}.......................LLLLLLLLLLLLLLLLLL.......................}}}}}
|
||||||
|
}}}}}}}............................................................}}}}}}}
|
||||||
|
}}}}}}}}}}......................................................}}}}}}}}}}
|
||||||
|
}}}}}}}}}}}}}}}............................................}}}}}}}}}}}}}}}
|
||||||
|
}}}}}}}}}}}}}}}}}}}}}................................}}}}}}}}}}}}}}}}}}}}}
|
||||||
|
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}................}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
|
||||||
|
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
|
||||||
|
]]);
|
||||||
|
|
||||||
|
-- Unlit, except 3 mapgrids around the "pupil"
|
||||||
|
des.region(selection.area(00,00,73,18),"unlit");
|
||||||
|
des.region(selection.area(26,04,47,14),"lit");
|
||||||
|
des.region(selection.area(21,05,51,13),"lit");
|
||||||
|
des.region(selection.area(19,06,54,12),"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
|
||||||
-723
@@ -1,723 +0,0 @@
|
|||||||
# NetHack 3.6 bigroom.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $ $NHDT-Branch: master $:$NHDT-Revision: 1.12 $
|
|
||||||
# Copyright (c) 1989 by Jean-Christophe Collet
|
|
||||||
# Copyright (c) 1990 by M. Stephenson
|
|
||||||
# NetHack may be freely redistributed. See license for details.
|
|
||||||
#
|
|
||||||
# These are the bigroom levels:
|
|
||||||
#
|
|
||||||
|
|
||||||
MAZE:"bigrm-1",' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
---------------------------------------------------------------------------
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
---------------------------------------------------------------------------
|
|
||||||
ENDMAP
|
|
||||||
|
|
||||||
$terrains = TERRAIN:{'-', 'F', 'L', 'T', 'C'}
|
|
||||||
SHUFFLE:$terrains
|
|
||||||
|
|
||||||
[50%]: SWITCH [ 4 ] {
|
|
||||||
CASE 0:
|
|
||||||
TERRAIN:line (10,8),(65, 8), $terrains[0]
|
|
||||||
BREAK
|
|
||||||
CASE 1:
|
|
||||||
TERRAIN:line (15,4),(15, 13), $terrains[0]
|
|
||||||
TERRAIN:line (59,4),(59, 13), $terrains[0]
|
|
||||||
BREAK
|
|
||||||
CASE 2:
|
|
||||||
TERRAIN:line (10,8),(38, 8), $terrains[0]
|
|
||||||
TERRAIN:line (37,8),(65, 8), $terrains[0]
|
|
||||||
TERRAIN:line (37,3),(37, 8), $terrains[0]
|
|
||||||
TERRAIN:line (37,8),(37,14), $terrains[0]
|
|
||||||
BREAK
|
|
||||||
CASE 3:
|
|
||||||
TERRAIN:rect (4,4,70,13), $terrains[0]
|
|
||||||
TERRAIN:line (25, 4),(50, 4), '.'
|
|
||||||
TERRAIN:line (25,13),(50,13), '.'
|
|
||||||
BREAK
|
|
||||||
DEFAULT:
|
|
||||||
}
|
|
||||||
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(01,01,73,16),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:random,up
|
|
||||||
STAIR:random,down
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,74,17)
|
|
||||||
# Objects
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
|
|
||||||
# Here, just play with the lighting...
|
|
||||||
|
|
||||||
MAZE:"bigrm-2",' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
---------------------------------------------------------------------------
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
---------------------------------------------------------------------------
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(01,01,73,16),lit,"ordinary"
|
|
||||||
SWITCH [ 3 ] {
|
|
||||||
CASE 0:
|
|
||||||
REGION:(01,07,22,09),unlit,"ordinary"
|
|
||||||
REGION:(24,01,50,05),unlit,"ordinary"
|
|
||||||
REGION:(24,11,50,16),unlit,"ordinary"
|
|
||||||
REGION:(52,07,73,09),unlit,"ordinary"
|
|
||||||
BREAK
|
|
||||||
CASE 1:
|
|
||||||
REGION:(24,01,50,16),unlit,"ordinary"
|
|
||||||
BREAK
|
|
||||||
CASE 2:
|
|
||||||
REGION:(01,01,22,16),unlit,"ordinary"
|
|
||||||
REGION:(52,01,73,16),unlit,"ordinary"
|
|
||||||
BREAK
|
|
||||||
}
|
|
||||||
# Stairs
|
|
||||||
STAIR:random,up
|
|
||||||
STAIR:random,down
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,74,17)
|
|
||||||
# Objects
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
|
|
||||||
# Now, let's get fancy...
|
|
||||||
|
|
||||||
MAZE:"bigrm-3",' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
---------------------------------------------------------------------------
|
|
||||||
|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|..............---.......................................---..............|
|
|
||||||
|...............|.........................................|...............|
|
|
||||||
|.....|.|.|.|.|---|.|.|.|.|...................|.|.|.|.|.|---|.|.|.|.|.....|
|
|
||||||
|.....|-------- --------|...................|---------- --------|.....|
|
|
||||||
|.....|.|.|.|.|---|.|.|.|.|...................|.|.|.|.|.|---|.|.|.|.|.....|
|
|
||||||
|...............|.........................................|...............|
|
|
||||||
|..............---.......................................---..............|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.........................................................................|
|
|
||||||
|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|
|
|
||||||
---------------------------------------------------------------------------
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(01,01,73,16),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:random,up
|
|
||||||
STAIR:random,down
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,74,17)
|
|
||||||
# Objects
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:random,(01,01)
|
|
||||||
MONSTER:random,(13,01)
|
|
||||||
MONSTER:random,(25,01)
|
|
||||||
MONSTER:random,(37,01)
|
|
||||||
MONSTER:random,(49,01)
|
|
||||||
MONSTER:random,(61,01)
|
|
||||||
MONSTER:random,(73,01)
|
|
||||||
MONSTER:random,(07,07)
|
|
||||||
MONSTER:random,(13,07)
|
|
||||||
MONSTER:random,(25,07)
|
|
||||||
MONSTER:random,(37,07)
|
|
||||||
MONSTER:random,(49,07)
|
|
||||||
MONSTER:random,(61,07)
|
|
||||||
MONSTER:random,(67,07)
|
|
||||||
MONSTER:random,(07,09)
|
|
||||||
MONSTER:random,(13,09)
|
|
||||||
MONSTER:random,(25,09)
|
|
||||||
MONSTER:random,(37,09)
|
|
||||||
MONSTER:random,(49,09)
|
|
||||||
MONSTER:random,(61,09)
|
|
||||||
MONSTER:random,(67,09)
|
|
||||||
MONSTER:random,(01,16)
|
|
||||||
MONSTER:random,(13,16)
|
|
||||||
MONSTER:random,(25,16)
|
|
||||||
MONSTER:random,(37,16)
|
|
||||||
MONSTER:random,(49,16)
|
|
||||||
MONSTER:random,(61,16)
|
|
||||||
MONSTER:random,(73,16)
|
|
||||||
MAZE:"bigrm-4",' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
----------- -----------
|
|
||||||
|.........| |.........|
|
|
||||||
|.........|-----------| |-----------|.........|
|
|
||||||
|-|...................|----------| |----------|...................|-|
|
|
||||||
-|.............................|-------|.............................|-
|
|
||||||
-|.................................................................|-
|
|
||||||
-|...............................................................|-
|
|
||||||
-|.............................................................|-
|
|
||||||
-|...........................................................|-
|
|
||||||
-|...........................................................|-
|
|
||||||
-|.............................................................|-
|
|
||||||
-|...............................................................|-
|
|
||||||
-|.................................................................|-
|
|
||||||
-|.............................|-------|.............................|-
|
|
||||||
|-|...................|----------| |----------|...................|-|
|
|
||||||
|.........|-----------| |-----------|.........|
|
|
||||||
|.........| |.........|
|
|
||||||
----------- -----------
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(01,01,73,16),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:random,up
|
|
||||||
STAIR:random,down
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,74,17)
|
|
||||||
# Fountains
|
|
||||||
FOUNTAIN:(05,02)
|
|
||||||
FOUNTAIN:(05,15)
|
|
||||||
FOUNTAIN:(69,02)
|
|
||||||
FOUNTAIN:(69,15)
|
|
||||||
# Objects
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
|
|
||||||
# Try an oval room...
|
|
||||||
|
|
||||||
MAZE:"bigrm-5",' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
------------------
|
|
||||||
---------................---------
|
|
||||||
-------................................-------
|
|
||||||
------............................................------
|
|
||||||
----......................................................----
|
|
||||||
---............................................................---
|
|
||||||
---................................................................---
|
|
||||||
---....................................................................---
|
|
||||||
|........................................................................|
|
|
||||||
|........................................................................|
|
|
||||||
|........................................................................|
|
|
||||||
---....................................................................---
|
|
||||||
---................................................................---
|
|
||||||
---............................................................---
|
|
||||||
----......................................................----
|
|
||||||
------............................................------
|
|
||||||
-------................................-------
|
|
||||||
---------................---------
|
|
||||||
------------------
|
|
||||||
ENDMAP
|
|
||||||
# Dungeon Description
|
|
||||||
REGION:(00,00,72,18),lit,"ordinary"
|
|
||||||
# Stairs
|
|
||||||
STAIR:random,up
|
|
||||||
STAIR:random,down
|
|
||||||
# Non diggable walls
|
|
||||||
NON_DIGGABLE:(00,00,72,18)
|
|
||||||
# Objects
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
OBJECT:random,random
|
|
||||||
# Random traps
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
TRAP:random,random
|
|
||||||
# Random monsters.
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
MONSTER:random,random
|
|
||||||
|
|
||||||
|
|
||||||
# The Four Circles
|
|
||||||
|
|
||||||
LEVEL:"bigrm-6"
|
|
||||||
FLAGS:mazelevel
|
|
||||||
INIT_MAP:solidfill,' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
--------- --------- --------- ---------
|
|
||||||
---.......--- ---.......--- ---.......--- ---.......---
|
|
||||||
--...........-- --...........-- --...........-- --...........--
|
|
||||||
--.............-- --.............-- --.............-- --.............--
|
|
||||||
-...............- -...............- -...............- -...............-
|
|
||||||
|-...............---...............---...............---...............--
|
|
||||||
|.................-.................-.................-.................|
|
|
||||||
|........T.................T.................T.................T........|
|
|
||||||
|.......................................................................|
|
|
||||||
|......T.{.....................................................{.T......|
|
|
||||||
|.......................................................................|
|
|
||||||
|........T.................T.................T.................T........|
|
|
||||||
|.................-.................-.................-.................|
|
|
||||||
--...............---...............---...............---...............--
|
|
||||||
-...............- -...............- -...............- -...............-
|
|
||||||
--.............-- --.............-- --.............-- --.............--
|
|
||||||
--...........-- --...........-- --...........-- --...........--
|
|
||||||
---.......--- ---.......--- ---.......--- ---.......---
|
|
||||||
--------- --------- --------- ---------
|
|
||||||
ENDMAP
|
|
||||||
REGION:(01,01,72,17),lit,"ordinary"
|
|
||||||
|
|
||||||
STAIR:random,up
|
|
||||||
STAIR:random,down
|
|
||||||
|
|
||||||
NON_DIGGABLE:(00,00,72,18)
|
|
||||||
|
|
||||||
LOOP [15] {
|
|
||||||
OBJECT:random,random
|
|
||||||
}
|
|
||||||
LOOP [6] {
|
|
||||||
TRAP:random,random
|
|
||||||
}
|
|
||||||
LOOP [28] {
|
|
||||||
MONSTER:random,random
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Let's tilt it a bit
|
|
||||||
|
|
||||||
LEVEL:"bigrm-7"
|
|
||||||
FLAGS:mazelevel
|
|
||||||
INIT_MAP:solidfill,' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
-----
|
|
||||||
---------...---
|
|
||||||
---------.........L...---
|
|
||||||
---------.......................---
|
|
||||||
---------.................................---
|
|
||||||
---------...........................................---
|
|
||||||
---------.....................................................---
|
|
||||||
|--------...............................................................--|
|
|
||||||
|.........................................................................|
|
|
||||||
|.L.....................................................................L.|
|
|
||||||
|.........................................................................|
|
|
||||||
|--...............................................................--------|
|
|
||||||
---.....................................................---------
|
|
||||||
---...........................................---------
|
|
||||||
---.................................---------
|
|
||||||
---.......................---------
|
|
||||||
---...L.........---------
|
|
||||||
---...---------
|
|
||||||
-----
|
|
||||||
ENDMAP
|
|
||||||
|
|
||||||
$terrain = terrain:{ 'L', 'T', '{', '.' }
|
|
||||||
SHUFFLE:$terrain
|
|
||||||
REPLACE_TERRAIN:(00,00,74,18),'L',$terrain[0],100%
|
|
||||||
|
|
||||||
REGION:(01,01,73,17),lit,"ordinary"
|
|
||||||
|
|
||||||
STAIR:random,up
|
|
||||||
STAIR:random,down
|
|
||||||
|
|
||||||
NON_DIGGABLE:(00,00,74,18)
|
|
||||||
|
|
||||||
LOOP [15] {
|
|
||||||
OBJECT:random,random
|
|
||||||
}
|
|
||||||
LOOP [6] {
|
|
||||||
TRAP:random,random
|
|
||||||
}
|
|
||||||
LOOP [28] {
|
|
||||||
MONSTER:random,random
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Slanted
|
|
||||||
|
|
||||||
LEVEL:"bigrm-8"
|
|
||||||
FLAGS:mazelevel
|
|
||||||
INIT_MAP:solidfill,' '
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
----------------------------------------------
|
|
||||||
|............................................---
|
|
||||||
--.............................................---
|
|
||||||
---......................................FF.....---
|
|
||||||
---...................................FF........---
|
|
||||||
---................................FF...........---
|
|
||||||
---.............................FF..............---
|
|
||||||
---..........................FF.................---
|
|
||||||
---.......................FF....................---
|
|
||||||
---....................FF.......................---
|
|
||||||
---.................FF..........................---
|
|
||||||
---..............FF.............................---
|
|
||||||
---...........FF................................----
|
|
||||||
---........FF...................................---
|
|
||||||
---.....FF......................................---
|
|
||||||
---.............................................--
|
|
||||||
---............................................|
|
|
||||||
----------------------------------------------
|
|
||||||
ENDMAP
|
|
||||||
|
|
||||||
IF [40%] {
|
|
||||||
$terrain = TERRAIN:{ 'L', '}', 'T', '.', '-', 'C' }
|
|
||||||
SHUFFLE:$terrain
|
|
||||||
REPLACE_TERRAIN:(0,0,74,17),'F', $terrain[0], 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
REGION:(01,01,73,16),lit,"ordinary"
|
|
||||||
|
|
||||||
STAIR:random,up
|
|
||||||
STAIR:random,down
|
|
||||||
|
|
||||||
NON_DIGGABLE:(00,00,74,17)
|
|
||||||
|
|
||||||
LOOP [15] {
|
|
||||||
OBJECT:random,random
|
|
||||||
}
|
|
||||||
LOOP [6] {
|
|
||||||
TRAP:random,random
|
|
||||||
}
|
|
||||||
LOOP [28] {
|
|
||||||
MONSTER:random,random
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# The Eye
|
|
||||||
|
|
||||||
LEVEL:"bigrm-9"
|
|
||||||
FLAGS:mazelevel
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
|
|
||||||
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}................}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
|
|
||||||
}}}}}}}}}}}}}}}}}}}}}................................}}}}}}}}}}}}}}}}}}}}}
|
|
||||||
}}}}}}}}}}}}}}}............................................}}}}}}}}}}}}}}}
|
|
||||||
}}}}}}}}}}......................................................}}}}}}}}}}
|
|
||||||
}}}}}}}............................................................}}}}}}}
|
|
||||||
}}}}}.......................LLLLLLLLLLLLLLLLLL.......................}}}}}
|
|
||||||
}}}....................LLLLLLLLLLLLLLLLLLLLLLLLLLL.....................}}}
|
|
||||||
}....................LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL....................}
|
|
||||||
}....................LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL....................}
|
|
||||||
}....................LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL....................}
|
|
||||||
}}}....................LLLLLLLLLLLLLLLLLLLLLLLLLLL.....................}}}
|
|
||||||
}}}}}.......................LLLLLLLLLLLLLLLLLL.......................}}}}}
|
|
||||||
}}}}}}}............................................................}}}}}}}
|
|
||||||
}}}}}}}}}}......................................................}}}}}}}}}}
|
|
||||||
}}}}}}}}}}}}}}}............................................}}}}}}}}}}}}}}}
|
|
||||||
}}}}}}}}}}}}}}}}}}}}}................................}}}}}}}}}}}}}}}}}}}}}
|
|
||||||
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}................}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
|
|
||||||
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
|
|
||||||
ENDMAP
|
|
||||||
|
|
||||||
# Unlit, except 3 mapgrids around the "pupil"
|
|
||||||
REGION:(00,00,73,18),unlit,"ordinary"
|
|
||||||
REGION:(26,04,47,14),lit,"ordinary"
|
|
||||||
REGION:(21,05,51,13),lit,"ordinary"
|
|
||||||
REGION:(19,06,54,12),lit,"ordinary"
|
|
||||||
|
|
||||||
STAIR:random,up
|
|
||||||
STAIR:random,down
|
|
||||||
|
|
||||||
LOOP [15] {
|
|
||||||
OBJECT:random,random
|
|
||||||
}
|
|
||||||
LOOP [6] {
|
|
||||||
TRAP:random,random
|
|
||||||
}
|
|
||||||
LOOP [28] {
|
|
||||||
MONSTER:random,random
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Fog Maze
|
|
||||||
|
|
||||||
LEVEL:"bigrm-10"
|
|
||||||
FLAGS:mazelevel
|
|
||||||
GEOMETRY:center,center
|
|
||||||
MAP
|
|
||||||
.......................................................................
|
|
||||||
.......................................................................
|
|
||||||
.......................................................................
|
|
||||||
.......................................................................
|
|
||||||
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
|
|
||||||
...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
|
|
||||||
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
|
|
||||||
...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
|
|
||||||
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
|
|
||||||
...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
|
|
||||||
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
|
|
||||||
...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
|
|
||||||
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
|
|
||||||
...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...
|
|
||||||
...C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C...
|
|
||||||
.......................................................................
|
|
||||||
.......................................................................
|
|
||||||
.......................................................................
|
|
||||||
.......................................................................
|
|
||||||
ENDMAP
|
|
||||||
|
|
||||||
IF [33%] {
|
|
||||||
# occasionally it's not a fog maze
|
|
||||||
$terrain = TERRAIN:{ 'L', '}', 'T', '-', 'F' }
|
|
||||||
SHUFFLE:$terrain
|
|
||||||
# break it up a bit
|
|
||||||
REPLACE_TERRAIN:(0,0,70,18),'C', '.', 5%
|
|
||||||
REPLACE_TERRAIN:(0,0,70,18),'C', $terrain[0], 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
REGION:(00,00,70,18),lit,"ordinary"
|
|
||||||
|
|
||||||
# when falling down on this level, never end up in the fog maze
|
|
||||||
TELEPORT_REGION:(00,00,70,18),(02,03,68,15),down
|
|
||||||
|
|
||||||
LOOP [15] {
|
|
||||||
OBJECT:random,random
|
|
||||||
}
|
|
||||||
LOOP [6] {
|
|
||||||
TRAP:random,random
|
|
||||||
}
|
|
||||||
LOOP [28] {
|
|
||||||
MONSTER:random,random
|
|
||||||
}
|
|
||||||
|
|
||||||
MAZEWALK:(4, 2), south, false
|
|
||||||
|
|
||||||
# Stairs up, not in the fog maze
|
|
||||||
STAIR:(00,00,70,18),(02,03,68,15),up
|
|
||||||
STAIR:random,down
|
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user