Merge branch 'NetHack-3.7' into copperwater-hallutraps-3.7
This commit is contained in:
27
.gitignore
vendored
27
.gitignore
vendored
@@ -37,6 +37,7 @@ Release/
|
||||
binary/
|
||||
build/
|
||||
ipch/
|
||||
lib/
|
||||
Nethack.sln
|
||||
Nethack.sdf
|
||||
Nethack.opensdf
|
||||
@@ -54,3 +55,29 @@ Makefile.gcc-orig
|
||||
.vs
|
||||
# Win32-specific ignores end
|
||||
.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
|
||||
|
||||
77
.travis.yml
77
.travis.yml
@@ -4,11 +4,11 @@ matrix:
|
||||
- os: linux
|
||||
env: DESCR=linux-xenial-gcc HINTS=linux
|
||||
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
|
||||
env: DESCR=linux-xenial-clang HINTS=linux
|
||||
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
|
||||
env: DESCR=linux-xenial-gcc-x11 HINTS=linux-x11
|
||||
compiler: gcc
|
||||
@@ -18,7 +18,7 @@ matrix:
|
||||
- libx11-dev
|
||||
- libxaw7-dev
|
||||
- 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
|
||||
env: DESCR=linux-xenial-gcc-qt5 HINTS=linux-qt5
|
||||
compiler: gcc
|
||||
@@ -31,7 +31,7 @@ matrix:
|
||||
- qtbase5-dev
|
||||
- qtmultimedia5-dev
|
||||
- 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
|
||||
env: DESCR=linux-bionic-gcc-x11 HINTS=linux-x11
|
||||
dist: bionic
|
||||
@@ -42,7 +42,7 @@ matrix:
|
||||
- libx11-dev
|
||||
- libxaw7-dev
|
||||
- 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
|
||||
env: DESCR=linux-xenial-gcc-minimal HINTS=linux-minimal
|
||||
compiler: gcc
|
||||
@@ -67,46 +67,23 @@ matrix:
|
||||
sed -i '/^#define SHELL/d' include/unixconf.h
|
||||
sed -i '/^#define SUSPEND/d' include/unixconf.h
|
||||
sed -i 's/^#define TEXTCOLOR//' include/unixconf.h
|
||||
make install
|
||||
make fetch-lua && make install
|
||||
cat dat/options
|
||||
- os: windows
|
||||
env: DESCR=windows-visualstudio
|
||||
language: shell
|
||||
script:
|
||||
# - find /c/Program\ Files\ \(x86\) -iname 'rc.exe' -print
|
||||
# - export
|
||||
- export VSVER=2017
|
||||
- export MSVER=14.16.27023
|
||||
- export SDKVER=10.0.17763.0
|
||||
- export FRAMEVER=4.0.30319
|
||||
- export NETFXVER=4.6.1
|
||||
- export WKITVER=10.0.17134.0
|
||||
# - export TOOLSVER=Community
|
||||
- export TOOLSVER=BuildTools
|
||||
- export PATH=/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/$VSVER/$TOOLSVER/Common7/IDE/VC/VCPackages:$PATH
|
||||
- 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
|
||||
- ./win/win32/vs2017/travisci.sh
|
||||
- os: linux
|
||||
env: DESCR=msdos-cross-on-linux HINTS=linux LUA_VERSION=5.3.5
|
||||
compiler: gcc
|
||||
script:
|
||||
# - export
|
||||
- cd sys/unix/ && sh setup.sh hints/$HINTS && cd ../../
|
||||
- make fetch-lua
|
||||
- cd lib/lua-$LUA_VERSION/src && make a && cd ../../..
|
||||
- sh sys/msdos/msdos-cross-compile.sh
|
||||
exclude:
|
||||
- os: windows
|
||||
# install: choco install mingw
|
||||
env: DESCR=windows-mingw
|
||||
@@ -117,7 +94,11 @@ matrix:
|
||||
- cd src
|
||||
- cp ../sys/winnt/Makefile.gcc ./Makefile
|
||||
- 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
|
||||
osx_image: xcode10.2
|
||||
env: HINTS=macosx10.14
|
||||
@@ -129,3 +110,17 @@ notifications:
|
||||
email:
|
||||
recipients:
|
||||
- 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
Cross-compiling
Normal file
510
Cross-compiling
Normal file
@@ -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.
|
||||
|
||||
|
||||
393
Files
393
Files
@@ -7,7 +7,8 @@ from or not transferred to your system if you wish.
|
||||
|
||||
.:
|
||||
(files in top directory)
|
||||
.clang-format .travis.yml Files Porting README
|
||||
.clang-format .travis.yml Cross-compiling Files
|
||||
Porting README
|
||||
|
||||
DEVEL:
|
||||
(files for people developing changes to NetHack)
|
||||
@@ -30,29 +31,49 @@ prepare-commit-msg
|
||||
|
||||
dat:
|
||||
(files for all versions)
|
||||
Arch.des Barb.des Caveman.des GENFILES Healer.des
|
||||
Knight.des Monk.des Priest.des Ranger.des Rogue.des
|
||||
Samurai.des Tourist.des Valkyrie.des Wizard.des bigroom.des
|
||||
bogusmon.txt castle.des cmdhelp data.base dungeon.def
|
||||
endgame.des engrave.txt epitaph.txt gehennom.des help
|
||||
hh history keyhelp knox.des license
|
||||
medusa.des mines.des opthelp oracle.des oracles.txt
|
||||
quest.txt rumors.fal rumors.tru sokoban.des symbols
|
||||
tower.des tribute wizhelp yendor.des
|
||||
Arc-fila.lua Arc-filb.lua Arc-goal.lua Arc-loca.lua Arc-strt.lua
|
||||
Bar-fila.lua Bar-filb.lua Bar-goal.lua Bar-loca.lua Bar-strt.lua
|
||||
Cav-fila.lua Cav-filb.lua Cav-goal.lua Cav-loca.lua Cav-strt.lua
|
||||
GENFILES Hea-fila.lua Hea-filb.lua Hea-goal.lua Hea-loca.lua
|
||||
Hea-strt.lua Kni-fila.lua Kni-filb.lua Kni-goal.lua Kni-loca.lua
|
||||
Kni-strt.lua Mon-fila.lua Mon-filb.lua Mon-goal.lua Mon-loca.lua
|
||||
Mon-strt.lua Pri-fila.lua Pri-filb.lua Pri-goal.lua Pri-loca.lua
|
||||
Pri-strt.lua Ran-fila.lua Ran-filb.lua Ran-goal.lua Ran-loca.lua
|
||||
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:
|
||||
(files for all versions)
|
||||
Guidebook.mn Guidebook.tex Guidebook.txt config.nh dgn_comp.6
|
||||
dgn_comp.txt dlb.6 dlb.txt fixes10.0 fixes14.f
|
||||
fixes22.0 fixes23.e fixes30.0 fixes30.pl01 fixes30.pl02
|
||||
fixes30.pl03 fixes30.pl04 fixes30.pl05 fixes30.pl06 fixes30.pl07
|
||||
fixes30.pl08 fixes30.pl09 fixes30.pl10 fixes31.1 fixes31.2
|
||||
fixes31.3 fixes32.0 fixes32.1 fixes32.2 fixes32.3
|
||||
fixes33.0 fixes33.1 fixes34.0 fixes34.1 fixes34.2
|
||||
fixes34.3 fixes35.0 fixes36.0 fixes36.1 fixes36.2
|
||||
lev_comp.6 lev_comp.txt makedefs.6 makedefs.txt mn.7
|
||||
mnh.7 nethack.6 nethack.txt recover.6 recover.txt
|
||||
tmac.n tmac.nh window.doc
|
||||
Guidebook.mn Guidebook.tex Guidebook.txt config.nh dlb.6
|
||||
dlb.txt fixes10.0 fixes14.f fixes22.0 fixes23.e
|
||||
fixes30.0 fixes30.pl01 fixes30.pl02 fixes30.pl03 fixes30.pl04
|
||||
fixes30.pl05 fixes30.pl06 fixes30.pl07 fixes30.pl08 fixes30.pl09
|
||||
fixes30.pl10 fixes31.1 fixes31.2 fixes31.3 fixes32.0
|
||||
fixes32.1 fixes32.2 fixes32.3 fixes33.0 fixes33.1
|
||||
fixes34.0 fixes34.1 fixes34.2 fixes34.3 fixes35.0
|
||||
fixes36.0 fixes36.1 fixes36.2 fixes36.3 fixes36.4
|
||||
fixes36.5 fixes37.0 fixesXX.X makedefs.6 makedefs.txt
|
||||
mn.7 mnh.7 nethack.6 nethack.txt recover.6
|
||||
recover.txt tmac.n tmac.nh window.doc
|
||||
|
||||
include:
|
||||
(files for GEM versions)
|
||||
@@ -61,9 +82,6 @@ bitmfile.h gem_rsc.h load_img.h wingem.h
|
||||
(file for GNOME versions)
|
||||
winGnome.h
|
||||
|
||||
(files for Qt versions)
|
||||
qt_clust.h qt_kde0.h qt_win.h qt_xpms.h qttableview.h
|
||||
|
||||
(files for X versions)
|
||||
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
|
||||
display.h dlb.h dungeon.h engrave.h extern.h
|
||||
flag.h func_tab.h global.h hack.h integer.h
|
||||
isaac64.h lev.h lint.h mail.h mextra.h
|
||||
mfndpos.h micro.h mkroom.h monattk.h mondata.h
|
||||
monflag.h monst.h monsym.h ntconf.h obj.h
|
||||
objclass.h os2conf.h patchlevel.h pcconf.h permonst.h
|
||||
prop.h qtext.h quest.h rect.h region.h
|
||||
rm.h skills.h sp_lev.h spell.h sys.h
|
||||
system.h tcap.h tileset.h timeout.h tosconf.h
|
||||
tradstdc.h trampoli.h trap.h unixconf.h vision.h
|
||||
vmsconf.h wceconf.h winami.h wincurs.h winprocs.h
|
||||
wintype.h you.h youprop.h
|
||||
isaac64.h lint.h mail.h mextra.h mfndpos.h
|
||||
micro.h mkroom.h monattk.h mondata.h monflag.h
|
||||
monst.h monsym.h ntconf.h obj.h objclass.h
|
||||
os2conf.h patchlevel.h pcconf.h permonst.h prop.h
|
||||
quest.h rect.h region.h rm.h skills.h
|
||||
sp_lev.h spell.h sys.h system.h tcap.h
|
||||
tileset.h timeout.h tosconf.h tradstdc.h trampoli.h
|
||||
trap.h unixconf.h vision.h vmsconf.h wceconf.h
|
||||
winami.h wincurs.h winprocs.h wintype.h you.h
|
||||
youprop.h
|
||||
|
||||
(file for tty versions)
|
||||
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
|
||||
files.c fountain.c hack.c hacklib.c invent.c isaac64.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
|
||||
mkobj.c mkroom.c mon.c mondata.c monmove.c monst.c
|
||||
mplayer.c mthrowu.c muse.c music.c o_init.c objects.c
|
||||
objnam.c options.c pager.c pickup.c pline.c polyself.c
|
||||
potion.c pray.c priest.c quest.c questpgr.c read.c
|
||||
rect.c region.c restore.c rip.c rnd.c role.c
|
||||
rumors.c save.c shk.c shknam.c sit.c sounds.c
|
||||
sp_lev.c spell.c steal.c steed.c sys.c teleport.c
|
||||
timeout.c topten.c track.c trap.c u_init.c uhitm.c
|
||||
vault.c version.c vision.c weapon.c were.c wield.c
|
||||
windows.c wizard.c worm.c worn.c write.c zap.c
|
||||
mdlib.c mhitm.c mhitu.c minion.c mklev.c mkmap.c
|
||||
mkmaze.c mkobj.c mkroom.c mon.c mondata.c monmove.c
|
||||
monst.c mplayer.c mthrowu.c muse.c music.c nhlobj.c
|
||||
nhlsel.c nhlua.c o_init.c objects.c objnam.c options.c
|
||||
pager.c pickup.c pline.c polyself.c potion.c pray.c
|
||||
priest.c quest.c questpgr.c read.c rect.c region.c
|
||||
restore.c rip.c rnd.c role.c rumors.c save.c
|
||||
sfstruct.c shk.c shknam.c sit.c sounds.c sp_lev.c
|
||||
spell.c steal.c steed.c sys.c teleport.c timeout.c
|
||||
topten.c track.c trap.c u_init.c uhitm.c vault.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:
|
||||
(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
|
||||
amidos.c amidos.p amifont.uu amifont8.uu amigst.c
|
||||
amii.hlp amimenu.c amirip.c amisnd.c amistack.c
|
||||
amitty.c amiwind.c amiwind.p clipwin.c colorwin.c
|
||||
cvtsnd.c grave16.xpm ifchange mkdmake txt2iff.c
|
||||
winami.c winami.p winchar.c windefs.h winext.h
|
||||
winfuncs.c winkey.c winmenu.c winproto.h winreq.c
|
||||
winstr.c xpm2iff.c
|
||||
amii.hlp amimenu.c amirip.c amistack.c amitty.c
|
||||
amiwind.c amiwind.p clipwin.c colorwin.c grave16.xpm
|
||||
ifchange mkdmake txt2iff.c winami.c winami.p
|
||||
winchar.c windefs.h winext.h winfuncs.c winkey.c
|
||||
winmenu.c winproto.h winreq.c winstr.c xpm2iff.c
|
||||
|
||||
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
|
||||
unx2atar.sed
|
||||
|
||||
sys/be:
|
||||
(files for BeOS version - untested for 3.6.2)
|
||||
(files for BeOS version - untested for 3.6.4)
|
||||
README bemain.c
|
||||
|
||||
sys/mac:
|
||||
@@ -137,23 +155,27 @@ sys/mac:
|
||||
Files.r Install.mw MacHelp NHDeflts NHrsrc.hqx
|
||||
NHsound.hqx News README carbon.plist dprintf.c
|
||||
maccurs.c macerrs.c macfile.c machelp.hqx macmain.c
|
||||
macmenu.c macsnd.c mactopl.c mactty.c macunix.c
|
||||
macwin.c mgetline.c mmodal.c mrecover.c mrecover.hqx
|
||||
mttymain.c
|
||||
macmenu.c mactopl.c mactty.c macunix.c macwin.c
|
||||
mgetline.c mmodal.c mrecover.c mrecover.hqx mttymain.c
|
||||
|
||||
sys/msdos:
|
||||
(files for MSDOS version - untested for 3.6.2)
|
||||
Install.dos Makefile.BC Makefile.GCC Makefile.MSC SCHEMA35.MSC
|
||||
moveinit.pat msdos.c msdoshlp.txt ovlinit.c pckeys.c
|
||||
pctiles.c pctiles.h pcvideo.h portio.h schema1.BC
|
||||
schema2.BC schema3.MSC setup.bat sound.c tile2bin.c
|
||||
vesa.h video.c vidtxt.c vidvesa.c vidvga.c
|
||||
(files for MSDOS version - tested for 3.6.4 via partial cross-compile only)
|
||||
Install.dos Makefile.BC Makefile.GCC
|
||||
Makefile.MSC Makefile1.cross Makefile2.cross
|
||||
SCHEMA35.MSC moveinit.pat msdos-cross-compile.sh
|
||||
msdos.c msdoshlp.txt ovlinit.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)
|
||||
nhico.uu nhpif.uu
|
||||
|
||||
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
|
||||
|
||||
sys/share:
|
||||
@@ -163,10 +185,10 @@ random.c
|
||||
(Berkeley uudecode file, which may be used in build process of any version)
|
||||
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
|
||||
|
||||
(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
|
||||
|
||||
(file for MSDOS, OS/2, and VMS versions)
|
||||
@@ -178,18 +200,15 @@ nhlan.c
|
||||
(file for VMS version)
|
||||
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
|
||||
|
||||
(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
|
||||
|
||||
(files for UNIX and Be versions)
|
||||
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)
|
||||
posixregex.c
|
||||
|
||||
@@ -199,11 +218,6 @@ cppregex.cpp
|
||||
(pmatch regex for other versions)
|
||||
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:
|
||||
(files for UNIX versions)
|
||||
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)
|
||||
cpp1.shr cpp2.shr cpp3.shr
|
||||
|
||||
(file for sound driver for 386 UNIX)
|
||||
snd86unx.shr
|
||||
|
||||
sys/unix/NetHack.xcodeproj:
|
||||
(file for UNIX versions)
|
||||
project.pbxproj
|
||||
@@ -251,7 +262,7 @@ spec_lev.com sysconf vmsbuild.com vmsfiles.c vmsmail.c
|
||||
vmsmain.c vmsmisc.c vmstty.c vmsunix.c
|
||||
|
||||
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
|
||||
defaults.nh keypad.uu menubar.uu mhaskyn.c mhaskyn.h
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
sys/wince/ceinc/sys:
|
||||
@@ -273,42 +284,46 @@ stat.h
|
||||
|
||||
sys/winnt:
|
||||
(files for Windows 7/8.x/10 version)
|
||||
Install.nt Makefile.gcc Makefile.msc console.rc
|
||||
defaults.nh nethack.def nh340key.c nhdefkey.c
|
||||
nhico.uu nhraykey.c nhsetup.bat ntsound.c
|
||||
nttty.c porthelp stub-pdcscrn.c stubs.c
|
||||
sysconf win10.c win10.h win32api.h
|
||||
windmain.c winnt.c winos.h
|
||||
.nethackrc.template Install.nt Makefile.gcc
|
||||
Makefile.msc console.rc nethack.def
|
||||
nh340key.c nhdefkey.c nhico.uu
|
||||
nhraykey.c nhsetup.bat ntsound.c
|
||||
nttty.c porthelp stub-pdcscrn.c
|
||||
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:
|
||||
(files for all versions)
|
||||
dgn_main.c dlb_main.c lev_main.c makedefs.c mdgrep.h mdgrep.pl
|
||||
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
|
||||
dlb_main.c makedefs.c mdgrep.h mdgrep.pl panic.c recover.c
|
||||
|
||||
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)
|
||||
Info.plist Install.Qt knethack.lnk
|
||||
knh-mini.xpm knh.xpm nhicns.uu
|
||||
nhsplash.xpm qpe-nethack.control qt_clust.cpp
|
||||
qt_win.cpp qttableview.cpp tileedit.cpp
|
||||
knh-mini.xpm knh.xpm qpe-nethack.control
|
||||
qt3_clust.cpp qt3_clust.h qt3_kde0.h
|
||||
qt3_win.cpp qt3_win.h qt3_xpms.h
|
||||
qt3tableview.cpp qt3tableview.h tileedit.cpp
|
||||
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:
|
||||
(files for X versions)
|
||||
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
|
||||
|
||||
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
|
||||
load_img.c tile2img.c title.uu wingem.c wingem1.c xpm2img.c
|
||||
|
||||
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
|
||||
gnglyph.c gnglyph.h gnmain.c gnmain.h gnmap.c gnmap.h
|
||||
gnmenu.c gnmenu.h gnmesg.c gnmesg.h gnomeprv.h gnopts.c
|
||||
@@ -348,10 +363,10 @@ NetHackTerm.applescript recover.pl
|
||||
|
||||
win/share:
|
||||
(files for versions using optional tiles)
|
||||
bmptiles.c gifread.c giftiles.c monsters.txt objects.txt
|
||||
other.txt ppmwrite.c renumtiles.pl safeproc.c thintile.c
|
||||
tile.doc tile.h tile2bmp.c tilemap.c tileset.c
|
||||
tiletext.c
|
||||
bmptiles.c gifread.c giftiles.c monsters.txt nhicns.uu
|
||||
nhsplash.xpm objects.txt other.txt ppmwrite.c renumtiles.pl
|
||||
safeproc.c thintile.c tile.doc tile.h tile2bmp.c
|
||||
tilemap.c tileset.c tiletext.c
|
||||
|
||||
win/tty:
|
||||
(files for tty versions)
|
||||
@@ -359,74 +374,106 @@ getline.c termcap.c topl.c wintty.c
|
||||
|
||||
win/win32:
|
||||
(files for Windows versions - tested up to Windows 10)
|
||||
NetHackW.exe.manifest dgnstuff-mingw32.mak dgnstuff.mak
|
||||
levstuff-mingw32.mak levstuff.mak mhaskyn.c
|
||||
mhaskyn.h mhdlg.c mhdlg.h
|
||||
mhfont.c mhfont.h mhinput.c
|
||||
mhinput.h mhmain.c mhmain.h
|
||||
mhmap.c mhmap.h mhmenu.c
|
||||
mhmenu.h mhmsg.h mhmsgwnd.c
|
||||
mhmsgwnd.h mhrip.c mhrip.h
|
||||
mhsplash.c mhsplash.h mhstatus.c
|
||||
mhstatus.h mhtext.c mhtext.h
|
||||
mnsel.uu mnselcnt.uu mnunsel.uu
|
||||
mswproc.c nethack.rc nhresource.h
|
||||
petmark.uu pilemark.uu record.uu
|
||||
resource.h rip.uu splash.uu
|
||||
tiles-mingw32.mak tiles.mak winMS.h
|
||||
winhack.c winhack.rc
|
||||
NetHackW.c NetHackW.exe.manifest NetHackW.rc
|
||||
mhaskyn.c mhaskyn.h mhdlg.c
|
||||
mhdlg.h mhfont.c mhfont.h
|
||||
mhinput.c mhinput.h mhmain.c
|
||||
mhmain.h mhmap.c mhmap.h
|
||||
mhmenu.c mhmenu.h mhmsg.h
|
||||
mhmsgwnd.c mhmsgwnd.h mhrip.c
|
||||
mhrip.h mhsplash.c mhsplash.h
|
||||
mhstatus.c mhstatus.h mhtext.c
|
||||
mhtext.h mnsel.uu mnselcnt.uu
|
||||
mnunsel.uu mswproc.c nethack.rc
|
||||
nhresource.h petmark.uu pilemark.uu
|
||||
record.uu resource.h rip.uu
|
||||
splash.uu tiles-mingw32.mak tiles.mak
|
||||
winMS.h
|
||||
|
||||
win/win32/vs2017:
|
||||
(files for Visual Studio 2017 Community Edition builds)
|
||||
NetHack.sln NetHack.vcxproj NetHackW.vcxproj
|
||||
PDCurses.vcxproj afterdgncomp.proj afterdlb.proj
|
||||
afterlevcomp.proj aftermakedefs.proj afternethack.proj
|
||||
afterrecover.proj aftertile2bmp.proj aftertilemap.proj
|
||||
afteruudecode.proj build.bat common.props
|
||||
config.props console.props default.props
|
||||
default_dll.props default_lib.props dgncomp.vcxproj
|
||||
dirs.props dlb.vcxproj dll.props
|
||||
files.props levcomp.vcxproj makedefs.vcxproj
|
||||
nh340key.def nh340key.vcxproj nhdefkey.def
|
||||
nhdefkey.vcxproj nhraykey.def nhraykey.vcxproj
|
||||
recover.vcxproj tile2bmp.vcxproj tilemap.vcxproj
|
||||
tiles.vcxproj uudecode.vcxproj
|
||||
NetHack.sln NetHack.vcxproj
|
||||
NetHackPackage.appxmanifest NetHackPackage.wapproj
|
||||
NetHackProperties.props NetHackW.vcxproj
|
||||
PDCurses.vcxproj Package.StoreAssociation.xml
|
||||
ScreenShot.PNG afterdlb.proj
|
||||
aftermakedefs.proj afternethack.proj
|
||||
afterrecover.proj aftertile2bmp.proj
|
||||
aftertilemap.proj afteruudecode.proj
|
||||
build.bat common.props
|
||||
config.props console.props
|
||||
default.props default_dll.props
|
||||
default_lib.props dirs.props
|
||||
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
|
||||
regenerated from the files in the distribution.
|
||||
|
||||
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)
|
||||
data dungeon.pdf options oracles quest.dat rumors
|
||||
data options oracles rumors
|
||||
|
||||
(files generated for Qt interface on Mac OS X)
|
||||
Info.plist nethack.icns
|
||||
|
||||
116
Porting
116
Porting
@@ -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
|
||||
@@ -6,7 +6,7 @@
|
||||
This document goes through the steps required to port NetHack to a
|
||||
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
|
||||
shared by all systems), include (include files), util (code
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
creation.
|
||||
|
||||
|
||||
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
|
||||
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 $
|
||||
# Copyright (c) 2005 by Michael Allison
|
||||
# NetHack may be freely redistributed. See license for details.
|
||||
|
||||
122
README
122
README
@@ -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
|
||||
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
|
||||
and more than 20 enhancements. The file doc/fixes36.2 in the source
|
||||
distribution has a full list of them. 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.
|
||||
NetHack 3.7.0 work-in-progress is not a release of NetHack. As a .0 version,
|
||||
and still very early in its development cycle, there has already been changes
|
||||
made, and there will continue to be many more prior to an eventual release.
|
||||
The file doc/fixes37.0 in the source distribution will be updated with a list
|
||||
of fixes as they are committed.
|
||||
|
||||
Below you will find some other general notes that were not considered
|
||||
spoilers:
|
||||
* Performance optimizations with tty including the ability to do per field
|
||||
updating
|
||||
* sys/winnt/nttty performance improvements mainly through the introduction
|
||||
of a back buffer approach
|
||||
* a couple of windows crash bug fixes
|
||||
* adoption of the curses window port that was in use in the community
|
||||
In short -- there are likely to be bugs. Don't treat NetHack-3.7 branch as
|
||||
released code, and if stability is paramount, then the most recent
|
||||
NetHack 3.6.4 release is safest for you.
|
||||
|
||||
We're making the .0 work-in-progress available so that you can observe, test
|
||||
out, and contribute to its development. Constructive suggestions, GitHub pull
|
||||
requests, and bug reports are all welcome and encouraged.
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
have in each directory. Please check the files in each directory
|
||||
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 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
|
||||
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
|
||||
that the default configuration is SysV/Sun/Solaris2.x (simply because
|
||||
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,
|
||||
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)
|
||||
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)
|
||||
OpenVMS (aka VMS) V8.4 on Alpha and on Integrity/Itanium/IA64
|
||||
|
||||
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
|
||||
following systems, but it is unknown if they can still build and
|
||||
execute NetHack 3.6:
|
||||
Previous versions of NetHack were tested and known to run on the
|
||||
following systems, but it is unknown if they can still build and
|
||||
execute NetHack 3.6 or NetHack 3.7:
|
||||
|
||||
Apple Macintosh running MacOS 7.5 or higher, LinuxPPC, BeOS 4.0
|
||||
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:
|
||||
https://www.nethack.org/common/contact.html or
|
||||
http://www.nethack.org/common/contact.html
|
||||
https://www.nethack.org/common/contact.html
|
||||
Please include the version information from #version or the command line
|
||||
option --version in the appropriate field.
|
||||
|
||||
@@ -138,12 +184,12 @@ available can be obtained via git here:
|
||||
|
||||
When sending correspondence, please observe the following:
|
||||
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
|
||||
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
|
||||
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
|
||||
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.
|
||||
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
|
||||
@@ -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
|
||||
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:
|
||||
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.
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
-- 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
|
||||
# NetHack may be freely redistributed. See license for details.
|
||||
|
||||
59
dat/Arc-fila.lua
Normal file
59
dat/Arc-fila.lua
Normal file
@@ -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()
|
||||
59
dat/Arc-filb.lua
Normal file
59
dat/Arc-filb.lua
Normal file
@@ -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()
|
||||
115
dat/Arc-goal.lua
Normal file
115
dat/Arc-goal.lua
Normal file
@@ -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")
|
||||
145
dat/Arc-loca.lua
Normal file
145
dat/Arc-loca.lua
Normal file
@@ -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")
|
||||
113
dat/Arc-strt.lua
Normal file
113
dat/Arc-strt.lua
Normal file
@@ -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
dat/Arch.des
472
dat/Arch.des
@@ -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
|
||||
33
dat/Bar-fila.lua
Normal file
33
dat/Bar-fila.lua
Normal file
@@ -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 })
|
||||
44
dat/Bar-filb.lua
Normal file
44
dat/Bar-filb.lua
Normal file
@@ -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 })
|
||||
95
dat/Bar-goal.lua
Normal file
95
dat/Bar-goal.lua
Normal file
@@ -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()
|
||||
|
||||
107
dat/Bar-loca.lua
Normal file
107
dat/Bar-loca.lua
Normal file
@@ -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 })
|
||||
|
||||
103
dat/Bar-strt.lua
Normal file
103
dat/Bar-strt.lua
Normal file
@@ -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
dat/Barb.des
377
dat/Barb.des
@@ -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
|
||||
35
dat/Cav-fila.lua
Normal file
35
dat/Cav-fila.lua
Normal file
@@ -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 })
|
||||
41
dat/Cav-filb.lua
Normal file
41
dat/Cav-filb.lua
Normal file
@@ -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 })
|
||||
59
dat/Cav-goal.lua
Normal file
59
dat/Cav-goal.lua
Normal file
@@ -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()
|
||||
101
dat/Cav-loca.lua
Normal file
101
dat/Cav-loca.lua
Normal file
@@ -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.
|
||||
--
|
||||
91
dat/Cav-strt.lua
Normal file
91
dat/Cav-strt.lua
Normal file
@@ -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
dat/Caveman.des
316
dat/Caveman.des
@@ -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
|
||||
26
dat/GENFILES
26
dat/GENFILES
@@ -9,17 +9,17 @@
|
||||
|
||||
($dir = $0) =~ s!^(.*/)(.*)!$1!;
|
||||
|
||||
print "T (files generated by lev_comp at playground creation time)\n";
|
||||
|
||||
foreach $des (<$dir*.des>){
|
||||
open IN, "<", $des or warn("Can't open $des: $!");
|
||||
while(<IN>){
|
||||
m/^(MAZE|LEVEL):\s*"(.*?)"/ && do {
|
||||
print "F $2.lev\n";
|
||||
};
|
||||
}
|
||||
close IN;
|
||||
}
|
||||
#print "T (files generated by lev_comp at playground creation time)\n";
|
||||
#
|
||||
#foreach $des (<$dir*.des>){
|
||||
# open IN, "<", $des or warn("Can't open $des: $!");
|
||||
# while(<IN>){
|
||||
# m/^(MAZE|LEVEL):\s*"(.*?)"/ && do {
|
||||
# print "F $2.lev\n";
|
||||
# };
|
||||
# }
|
||||
# close IN;
|
||||
#}
|
||||
while(<DATA>){
|
||||
print;
|
||||
}
|
||||
@@ -41,10 +41,6 @@ T (files generated for win32 gui at compile time)
|
||||
F guioptions
|
||||
T (files generated by makedefs at playground creation time)
|
||||
F data
|
||||
F dungeon.pdf
|
||||
F options
|
||||
F oracles
|
||||
F quest.dat
|
||||
F rumors
|
||||
T (file generated by dgn_comp at playground creation time)
|
||||
F dungeon
|
||||
|
||||
42
dat/Hea-fila.lua
Normal file
42
dat/Hea-fila.lua
Normal file
@@ -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()
|
||||
50
dat/Hea-filb.lua
Normal file
50
dat/Hea-filb.lua
Normal file
@@ -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()
|
||||
90
dat/Hea-goal.lua
Normal file
90
dat/Hea-goal.lua
Normal file
@@ -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 })
|
||||
|
||||
97
dat/Hea-loca.lua
Normal file
97
dat/Hea-loca.lua
Normal file
@@ -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 })
|
||||
107
dat/Hea-strt.lua
Normal file
107
dat/Hea-strt.lua
Normal file
@@ -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
dat/Healer.des
380
dat/Healer.des
@@ -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
|
||||
35
dat/Kni-fila.lua
Normal file
35
dat/Kni-fila.lua
Normal file
@@ -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()
|
||||
40
dat/Kni-filb.lua
Normal file
40
dat/Kni-filb.lua
Normal file
@@ -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()
|
||||
99
dat/Kni-goal.lua
Normal file
99
dat/Kni-goal.lua
Normal file
@@ -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 })
|
||||
137
dat/Kni-loca.lua
Normal file
137
dat/Kni-loca.lua
Normal file
@@ -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 })
|
||||
102
dat/Kni-strt.lua
Normal file
102
dat/Kni-strt.lua
Normal file
@@ -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
dat/Knight.des
408
dat/Knight.des
@@ -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
|
||||
61
dat/Mon-fila.lua
Normal file
61
dat/Mon-fila.lua
Normal file
@@ -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()
|
||||
60
dat/Mon-filb.lua
Normal file
60
dat/Mon-filb.lua
Normal file
@@ -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()
|
||||
75
dat/Mon-goal.lua
Normal file
75
dat/Mon-goal.lua
Normal file
@@ -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")
|
||||
90
dat/Mon-loca.lua
Normal file
90
dat/Mon-loca.lua
Normal file
@@ -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")
|
||||
104
dat/Mon-strt.lua
Normal file
104
dat/Mon-strt.lua
Normal file
@@ -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
dat/Monk.des
378
dat/Monk.des
@@ -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
|
||||
|
||||
55
dat/Pri-fila.lua
Normal file
55
dat/Pri-fila.lua
Normal file
@@ -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()
|
||||
62
dat/Pri-filb.lua
Normal file
62
dat/Pri-filb.lua
Normal file
@@ -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()
|
||||
83
dat/Pri-goal.lua
Normal file
83
dat/Pri-goal.lua
Normal file
@@ -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")
|
||||
73
dat/Pri-loca.lua
Normal file
73
dat/Pri-loca.lua
Normal file
@@ -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.
|
||||
105
dat/Pri-strt.lua
Normal file
105
dat/Pri-strt.lua
Normal file
@@ -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
dat/Priest.des
356
dat/Priest.des
@@ -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
|
||||
35
dat/Ran-fila.lua
Normal file
35
dat/Ran-fila.lua
Normal file
@@ -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 })
|
||||
39
dat/Ran-filb.lua
Normal file
39
dat/Ran-filb.lua
Normal file
@@ -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 })
|
||||
106
dat/Ran-goal.lua
Normal file
106
dat/Ran-goal.lua
Normal file
@@ -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()
|
||||
79
dat/Ran-loca.lua
Normal file
79
dat/Ran-loca.lua
Normal file
@@ -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 })
|
||||
|
||||
97
dat/Ran-strt.lua
Normal file
97
dat/Ran-strt.lua
Normal file
@@ -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
dat/Ranger.des
356
dat/Ranger.des
@@ -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
|
||||
|
||||
64
dat/Rog-fila.lua
Normal file
64
dat/Rog-fila.lua
Normal file
@@ -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()
|
||||
64
dat/Rog-filb.lua
Normal file
64
dat/Rog-filb.lua
Normal file
@@ -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()
|
||||
110
dat/Rog-goal.lua
Normal file
110
dat/Rog-goal.lua
Normal file
@@ -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 })
|
||||
99
dat/Rog-loca.lua
Normal file
99
dat/Rog-loca.lua
Normal file
@@ -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 })
|
||||
163
dat/Rog-strt.lua
Normal file
163
dat/Rog-strt.lua
Normal file
@@ -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
dat/Rogue.des
485
dat/Rogue.des
@@ -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
|
||||
37
dat/Sam-fila.lua
Normal file
37
dat/Sam-fila.lua
Normal file
@@ -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()
|
||||
60
dat/Sam-filb.lua
Normal file
60
dat/Sam-filb.lua
Normal file
@@ -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()
|
||||
111
dat/Sam-goal.lua
Normal file
111
dat/Sam-goal.lua
Normal file
@@ -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")
|
||||
141
dat/Sam-loca.lua
Normal file
141
dat/Sam-loca.lua
Normal file
@@ -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 })
|
||||
91
dat/Sam-strt.lua
Normal file
91
dat/Sam-strt.lua
Normal file
@@ -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
dat/Samurai.des
440
dat/Samurai.des
@@ -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
|
||||
35
dat/Tou-fila.lua
Normal file
35
dat/Tou-fila.lua
Normal file
@@ -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 })
|
||||
39
dat/Tou-filb.lua
Normal file
39
dat/Tou-filb.lua
Normal file
@@ -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")
|
||||
160
dat/Tou-goal.lua
Normal file
160
dat/Tou-goal.lua
Normal file
@@ -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()
|
||||
157
dat/Tou-loca.lua
Normal file
157
dat/Tou-loca.lua
Normal file
@@ -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")
|
||||
131
dat/Tou-strt.lua
Normal file
131
dat/Tou-strt.lua
Normal file
@@ -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
dat/Tourist.des
519
dat/Tourist.des
@@ -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
|
||||
40
dat/Val-fila.lua
Normal file
40
dat/Val-fila.lua
Normal file
@@ -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()
|
||||
42
dat/Val-filb.lua
Normal file
42
dat/Val-filb.lua
Normal file
@@ -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()
|
||||
102
dat/Val-goal.lua
Normal file
102
dat/Val-goal.lua
Normal file
@@ -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.
|
||||
--
|
||||
85
dat/Val-loca.lua
Normal file
85
dat/Val-loca.lua
Normal file
@@ -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 })
|
||||
|
||||
98
dat/Val-strt.lua
Normal file
98
dat/Val-strt.lua
Normal file
@@ -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 })
|
||||
|
||||
353
dat/Valkyrie.des
353
dat/Valkyrie.des
@@ -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
|
||||
59
dat/Wiz-fila.lua
Normal file
59
dat/Wiz-fila.lua
Normal file
@@ -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()
|
||||
58
dat/Wiz-filb.lua
Normal file
58
dat/Wiz-filb.lua
Normal file
@@ -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()
|
||||
132
dat/Wiz-goal.lua
Normal file
132
dat/Wiz-goal.lua
Normal file
@@ -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 })
|
||||
151
dat/Wiz-loca.lua
Normal file
151
dat/Wiz-loca.lua
Normal file
@@ -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 })
|
||||
104
dat/Wiz-strt.lua
Normal file
104
dat/Wiz-strt.lua
Normal file
@@ -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
dat/Wizard.des
472
dat/Wizard.des
@@ -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
dat/air.lua
Normal file
108
dat/air.lua
Normal file
@@ -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 })
|
||||
|
||||
88
dat/asmodeus.lua
Normal file
88
dat/asmodeus.lua
Normal file
@@ -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
dat/astral.lua
Normal file
187
dat/astral.lua
Normal file
@@ -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 })
|
||||
72
dat/baalz.lua
Normal file
72
dat/baalz.lua
Normal file
@@ -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")
|
||||
|
||||
72
dat/bigrm-1.lua
Normal file
72
dat/bigrm-1.lua
Normal file
@@ -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
|
||||
58
dat/bigrm-10.lua
Normal file
58
dat/bigrm-10.lua
Normal file
@@ -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");
|
||||
57
dat/bigrm-2.lua
Normal file
57
dat/bigrm-2.lua
Normal file
@@ -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
|
||||
71
dat/bigrm-3.lua
Normal file
71
dat/bigrm-3.lua
Normal file
@@ -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 });
|
||||
43
dat/bigrm-4.lua
Normal file
43
dat/bigrm-4.lua
Normal file
@@ -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
|
||||
44
dat/bigrm-5.lua
Normal file
44
dat/bigrm-5.lua
Normal file
@@ -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
|
||||
45
dat/bigrm-6.lua
Normal file
45
dat/bigrm-6.lua
Normal file
@@ -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
|
||||
48
dat/bigrm-7.lua
Normal file
48
dat/bigrm-7.lua
Normal file
@@ -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
|
||||
50
dat/bigrm-8.lua
Normal file
50
dat/bigrm-8.lua
Normal file
@@ -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
|
||||
48
dat/bigrm-9.lua
Normal file
48
dat/bigrm-9.lua
Normal file
@@ -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
dat/bigroom.des
723
dat/bigroom.des
@@ -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