From a3ed7b6290c0b2ed92590fe4021a451886af85a1 Mon Sep 17 00:00:00 2001 From: dshaligram Date: Thu, 5 Apr 2007 14:49:52 +0000 Subject: Updated build instructions for DOS, Windows, Linux. Fixed targeting for Sandblast, Bone Shards, verified that targeting works okay for all spells (woof). Updated level layouts with more random features (David). Made makefile.unix default to using flex instead of lex. Tweaked beam names for dragon breath. s/Paralyze/Paralyse/ Don't show current target for direction-only targeting. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1222 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/INSTALL | 68 ++- crawl-ref/source/abl-show.cc | 4 +- crawl-ref/source/beam.cc | 2 +- crawl-ref/source/dat/splev.des | 543 +++++++++---------- crawl-ref/source/dat/tricky.des | 139 +++-- crawl-ref/source/dat/vaults.des | 1087 ++++++++++++++++++++++----------------- crawl-ref/source/makefile.dos | 2 +- crawl-ref/source/makefile.mgw | 2 +- crawl-ref/source/makefile.unix | 2 +- crawl-ref/source/mapdef.cc | 4 +- crawl-ref/source/monstuff.cc | 4 +- crawl-ref/source/mstuff2.cc | 5 +- crawl-ref/source/spells1.cc | 4 +- crawl-ref/source/spells3.cc | 22 +- crawl-ref/source/spells3.h | 5 +- crawl-ref/source/spells4.cc | 17 +- crawl-ref/source/spells4.h | 2 +- crawl-ref/source/spl-cast.cc | 14 +- crawl-ref/source/spl-data.h | 10 +- crawl-ref/source/spl-util.cc | 3 +- 20 files changed, 1034 insertions(+), 905 deletions(-) diff --git a/crawl-ref/INSTALL b/crawl-ref/INSTALL index e29e8a10d2..c962fd36c6 100644 --- a/crawl-ref/INSTALL +++ b/crawl-ref/INSTALL @@ -94,11 +94,11 @@ Building: packaged in a zip archive, it's safe to comment out SAVE_PACKAGE_CMD and LOAD_UNPACKAGE_CMD. -* If you don't have flex or bison, edit makefile.unix and set DOYACC - := n. If you want to use byacc instead of bison, edit makefile.unix - and set YACC := byacc. On some Linuxes you may not have lex - symlinked to flex, in which case you'll have to set LEX := flex in - makefile.unix. +* If you don't have (or don't want to use) flex or bison, edit + makefile.unix and set DOYACC := n. If you want to use byacc instead + of bison, edit makefile.unix and set YACC := byacc. On some Unixes, + you may not have flex (but have some other lex), in which case + you'll have to set LEX := lex in makefile.unix. * Run make to build the normal (non-wizard) Crawl. On systems such as Solaris, you may have to use gmake for GNU make. Make sure your make @@ -113,7 +113,8 @@ Building: * If you have Lua, you can edit AppHdr.h and uncomment // #define CLUA_BINDINGS then add -llua to your LIB = line in makefile.unix, and rebuild to - compile with Lua support. + compile with Lua support. See the section on Lua (below) for more + information. Building on Mac OS X @@ -154,15 +155,13 @@ Mac build instructions below. with Lua support. -Building on Windows -------------------- +Building on Windows (MinGW) +--------------------------- -NOTE: Building for Windows+MinGW on Windows 9x/ME may work, but we've -not tested it. You may be better off using the DOS build instructions -if you're on 9x/ME. - -We've also not tested or updated the makefile for Borland C++. We -strongly recommend using MinGW if possible. +NOTE: You cannot build Windows binaries on Windows 9x/ME using the +MinGW makefile supplied. If you're on 9x/ME, you can choose to use the +Cygwin build instructions, or build a binary on a Windows NT/2k/XP +system (the binary will run on 9x), or build a DOS binary. * Install MinGW from http://www.mingw.org. The MinGW 5.0.2 installer is best so you don't have to fiddle with individual packages (you @@ -196,8 +195,24 @@ strongly recommend using MinGW if possible. subdirectory. -Building on DOS ---------------- +Building on Windows (cygwin) +---------------------------- + +* Get Cygwin from http://www.cygwin.com/. When installing, ensure that + the following packages are selected: gcc, g++, make, flex, bison. If + you'd like to build from svn, install the svn client. You may also + want to install diff and patch if you'd like to apply third party + patches, or create your own. + +* Once Cygwin is installed, open a Cygwin bash shell (use the Start + menu, do not double-click bash.exe in Explorer). cd to the Crawl + source directory. + +* Follow the Linux build instructions to build Crawl. + + +Building for DOS (djgpp) +------------------------ * Install djgpp from http://www.delorie.com/djgpp/. Don't forget to include C++ support when the Zip picker asks for what you want. You @@ -272,13 +287,28 @@ This also depends on how you install Lua - some package management systems build just the plain old liblua.so even for pre 5.1 Lua. If in doubt, try both "-llua -llualib" and "-llua". -On many Linuxes, the package management system installs Lua libraries -including the version number, so the linker option becomes something -like: +On many Linuxes (Debian, for instance), the package management system +installs Lua libraries including the version number, so the linker +option becomes something like: LIB = -llua50 +Lua include path: + +On Unix, Lua headers may be installed in /usr/include (unlikely), or +in a subdirectory of /usr/include (such as /usr/include/lua50/). If +the headers are in a subdirectory, you need to add this directory to +the include path in your makefile.unix: + +INCLUDES = -I/usr/include/ncurses -I/usr/include/lua50 + +On other platforms, the Lua headers should usually be installed in +your compiler's include directory, or a subdirectory. If it's in a +subdirectory, you'll need to add the full directory path to your +includes line. + + Getting Lua: On Unixes your package management system is the best way to get Lua. diff --git a/crawl-ref/source/abl-show.cc b/crawl-ref/source/abl-show.cc index 01eb25959d..98090b2818 100644 --- a/crawl-ref/source/abl-show.cc +++ b/crawl-ref/source/abl-show.cc @@ -955,7 +955,9 @@ bool activate_ability(void) break; case ABIL_TSO_SMITING: - cast_smiting( (2 + skill_bump(SK_INVOCATIONS)) * 6 ); + if (your_spells( SPELL_SMITING, (2 + skill_bump(SK_INVOCATIONS)) * 6, + false ) == SPRET_ABORT) + return (false); exercise( SK_INVOCATIONS, (coinflip()? 3 : 2) ); break; diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc index 7174b86293..3809c0575d 100644 --- a/crawl-ref/source/beam.cc +++ b/crawl-ref/source/beam.cc @@ -540,7 +540,7 @@ static void zappy( char z_type, int power, struct bolt &pbolt ) pbolt.colour = LIGHTMAGENTA; pbolt.range = random2(5) + 8; pbolt.damage = dice_def( 1, 3 + power / 5 ); // 25: 1d8 - pbolt.hit = 1500; // hits always + pbolt.hit = AUTOMATIC_HIT; // hits always pbolt.type = SYM_ZAP; pbolt.flavour = BEAM_MMISSILE; // unresistable pbolt.obvious_effect = true; diff --git a/crawl-ref/source/dat/splev.des b/crawl-ref/source/dat/splev.des index e833e32cd7..fd5725fb40 100644 --- a/crawl-ref/source/dat/splev.des +++ b/crawl-ref/source/dat/splev.des @@ -188,14 +188,15 @@ # does the same thing - whitespace is not significant. # SUBST: ? = T:20 U V # makes T twice as likely to be used as U or V (the default weight -# is 10). Note that there has to be at least one space after T:20 -# and that whitespace in T:20 is not permitted. +# is 10). Note that there has to be at least one space before and after +# T:20 and that whitespace in T:20 is not permitted. # SUBST: ? : TUV # replaces occurrences of ? with one of TUV, and guarantees that all # occurrences of ? will get the same replacement symbol. -# The placeholder symbol can be any non-space, printable character apart from -# : and =. The replacement symbols can be any non-space printable character, -# including : and = ("SUBST: ? = +=:123def" is valid). +# +# The placeholder and replacement symbols can be any non-space, printable +# character, including : and =, apart from commas - "SUBST: = = +=:123def" is +# valid. # # SUBST: lines can safely replace symbols with themselves: # @@ -1156,18 +1157,13 @@ KFEAT: Z = weight:2 teleport trap / . KFEAT: z = teleport trap MONS: naga / nothing, greater naga / nothing, guardian naga / nothing MONS: naga warrior / nothing, naga mage / nothing -SHUFFLE: 123 -SHUFFLE: 45 -SUBST: ' : ' x -SUBST: " : " x +SUBST: ':'x, ":"x SUBST: ' = .:250 1 2 3 4:15 5:5 SUBST: " = .:250 1 2 3 4:5 5:15 -SUBST: X = x c + . -SUBST: Y = x c + -SUBST: T : T U V .:30 b -SUBST: _ : ! . -SUBST: ! : ! . x -SUBST: ! = x .:2 +SUBST: X=xc.+, Y=xc+ +SUBST: T : T U V .:30 b +SUBST: _:.!, !:!.x, !=x .:2 +SHUFFLE: 123, 45 MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx @@ -1210,40 +1206,40 @@ ENDMAP ############################################################################ # snake_pit +# now slightly randomised (dp) - changes welcome -NAME: snake_pit -PLACE: Snake:5 +NAME: snake_pit +PLACE: Snake:5 ORIENT: southwest - -# Rotation makes this look really bad if the console font is not square. -FLAGS: no_rotate - -# Hey, this looks a bit like a face ... - +FLAGS: no_rotate +MONS: greater naga / nothing, naga, naga mage / nothing, naga warrior / nothing +SUBST: c = c .:1 +SUBST: v = v .:1 +SUBST: v = x MAP xxxxxxxxxxxxxxxxxxxxxxx..@.xxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx.............xxxxxxxx -xxxxxxxxxxxxxx....x.............x..xxxxx -xxxxxxxxxxxx....2.x.............x.2..xxx -xxxxxxxxxxx.....2.x....x.....x..x..3.xxx -xxxxxxxxxxx.....22x.............xx.2..xx -xxxxxxxxxxx.......xx..x........xx..3..xx -xxxxxxxxxx.....x23.xx....T...xxx.44...xx -xxxxxxxxxx......4.4.x.........x.333....x -xxxxxxxxxx......3.x4...x.......4x4.....x -xxxxxxxxxx.......3.......x.............x -xxxxxxxxxx..c......3.........x.......c.x -xxxxxxxxx...cc...................3..cc.x -xxxxxxxxx...cc..........4.4.........cc.x -xxxxxxxxx...cc...3...x........2.....cc.x +xxxxxxxxxxxxxx....v.............v..xxxxx +xxxxxxxxxxxx....2.v.............v.2..xxx +xxxxxxxxxxx.....2.v....v.....v..v.33.xxx +xxxxxxxxxxx.....22v.............vv.2..xx +xxxxxxxxxxx.......vv..v........vv.33..xx +xxxxxxxxxx.....x233vv....T...vvv4444..xx +xxxxxxxxxx......4444v.........v.333....x +xxxxxxxxxx......33v4...v.......4x4.....x +xxxxxxxxxx.......334.....v.....4333....x +xxxxxxxxxx..c......3.3..4.4..v.......c.x +xxxxxxxxx...cc.....1...1.1.1...133..cc.x +xxxxxxxxx...cc....3.....4.4.........cc.x +xxxxxxxxx...cc...3...v........2.....cc.x xxxxxxxxx...cc.........1...1.......cc..x xxxxxxxxxx..cc.....1.....1.....1..ccc.xx -xxxxxxxxxx...ccc..................cc..xx +xxxxxxxxxx...ccc......3333333.....cc..xx xxxxxxxxxx....cccc....3333333.....cc..xx -xxxxxxxxxx.....ccccccc...........cc...xx -xxxxxxxxxx........cccccccO...ccccc....xx +xxxxxxxxxx.....cccccc............cc...xx +xxxxxxxxxx........ccccc..O....cccc....xx xxxxxxxxxxx........cccccccccccccc....xxx -xxxxxxxxxxx.........cccccccccccc.....xxx +xxxxxxxxxxx..........ccccccccccc.....xxx xxxxxxxxxxxxx.......................xxxx xxxxxxxxxxxxxxxx..................xxxxxx xxxxxxxxxxxxxxxxxxxxx.......xxxxxxxxxxxx @@ -1257,17 +1253,27 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP -MONS: greater naga, naga, naga mage, naga warrior -MONS: random, random, random ############################################################################ # elf_hall +# now slightly randomised (dp) - changes welcome -NAME: elf_hall -PLACE: Elf:7 -ORIENT: northwest -FLAGS: no_rotate - +NAME: elf_hall +PLACE: Elf:7 +ORIENT: northwest +FLAGS: no_rotate +MONS: deep elf high priest, deep elf demonologist, deep elf annihilator +MONS: deep elf sorcerer, deep elf death mage +SUBST: 1=1., 2=2., 3=3., 4=4., 5=5. +SHUFFLE: 23, 45 +KMONS: $ = weight:450 nothing / deep elf sorcerer / deep elf annihilator +KMONS: * = weight:300 nothing / deep elf annihilator / deep elf death mage +KMONS: | = weight:600 nothing / deep elf demonologist / deep elf death mage +SUBST: v = v .:2 +SUBST: v : xvb +SUBST: | = | *:2 +SUBST: $ = $:20 *:4 |:1 +SUBST: * = * |:3 MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx @@ -1281,36 +1287,32 @@ xxxxxxxxxxxxxxxxxcc*|*|*|**|||||c$ccxxxx xxxxxxxxxxxxxxxxcc*$*|*|*|*|||||c$$ccxxx xxxxxxxxxxxxxxxcc*$|*$***$$|||||c|$$ccxx xxxxxxxxxxxxxxcc*$*|**ccccccccccc$$$$ccx -xxxxxxxxxxxxxxc*|*$*$ccc.....2..c+$|$$cx +xxxxxxxxxxxxxxc*|*$*$ccc..2..2..c+$|$$cx xxxxxxxxxxxxxxc$*$*ccc...........c$$$$cx -xxxxxxxxxxxxxxc||**cc...5.......4cc$|$cx -xxxxxxxxxxxxxxc*$$cc........3..ccccccccx +xxxxxxxxxxxxxxc||**cc...5.5...4.4cc$|$cx +xxxxxxxxxxxxxxc*$$cc..3.....3..ccccccccx xxxxxxxxxxxxxxc$+ccc.....2....cc.....5cx -xxxxxxxxxxxxxxc$c....5.......cc.......cx +xxxxxxxxxxxxxxc$c....5.....5.cc....5..cx xxxxxxxxxxxxxxccc......5....cc..2....ccx -xxxxxxxxxxxxxxxxc..........cc.......ccxx -xxxxxxxxxxxxxxxcc..1..U..........4..ccxx +xxxxxxxxxxxxxxxxc....5...2.cc.......ccxx +xxxxxxxxxxxxxxxcc..1..U.....3.4..4..ccxx xxxxxxxxxxxxxxcc.....................ccx -xxxxxxxxxxxxxxc...........3...........cx -xxxxxxxxxxxxxxc.......2.......3.......cx +xxxxxxxxxxxxxxc..2........3........5..cx +xxxxxxxxxxxxxxc.......2..2....3.......cx xxxxxxxxxxxxxxc..2................2..5cx -xxxxxxxxxxxxxxc......x.........x......cx -xxxxxxxxxxxxxxc.....xx.........xx.....cx -xxxxxxxxxxxxxxc2...xxx....1....xxx.4..cx -xxxxxxxxxxxxxxc..xxxx...........xxxx..cx -xxxxxxxxxxxxxxc.xxx.....cc.cc.....xxx.cx -xxxxxxxxxxxxxxc.x.....cccc.cccc.....x.cx -xxxxxxxxxxxxxxc.3...cccxxc.cxxccc.3...cx +xxxxxxxxxxxxxxc......v.........v..2...cx +xxxxxxxxxxxxxxc..2..vv..1...1..vv.....cx +xxxxxxxxxxxxxxc2...vvv....1....vvv.4.4cx +xxxxxxxxxxxxxxc..vvvv...........vvvv..cx +xxxxxxxxxxxxxxc.vvv.....cc.cc.....vvv.cx +xxxxxxxxxxxxxxc.v.3...cccc.cccc.3...v.cx +xxxxxxxxxxxxxxc.3...cccxxc.cxxccc.3.3.cx xxxxxxxxxxxxxxc...cccxxxxc.cxxxxccc...cx xxxxxxxxxxxxxxc.cccxxxxxxc.cxxxxxxccc.cx xxxxxxxxxxxxxxcccxxxxxxxxc.cxxxxxxxxcccx xxxxxxxxxxxxxxxxxxxxxxxxxx@xxxxxxxxxxxxx ENDMAP -MONS: deep elf high priest, deep elf demonologist -MONS: deep elf annihilator, deep elf sorcerer -MONS: deep elf death mage -MONS: random, random ############################################################################ ## alternative elf halls: gauntlets (David) @@ -1400,9 +1402,7 @@ MONS: deep elf death mage MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing MONS: curse skull / curse toe SUBST: ~ = ~ .:30 -SUBST: ! = 1 5 -SUBST: ? = . ? -SUBST: ? : 2 3 +SUBST: !=15, ?=.?, ?:23 MAP ccccccccccccccccccccccccccccccccccccccccccc cxcccc$$ce**|||**eccccccce%*%%%*%ec$$ccccxc @@ -1444,9 +1444,7 @@ MONS: deep elf death mage MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing MONS: curse skull / curse toe SUBST: ~ = ^ .:30 -SUBST: ! = 1 5 -SUBST: ? = . ? -SUBST: ? : 2 3 +SUBST: !=15, ?=.?, ?:23 MAP ccccccccccccccccccccccccccccccccccccccccccc cxcccc$$ce%*%%%%%ecccccc=e**|||**ec$$ccccxc @@ -1488,9 +1486,7 @@ MONS: deep elf death mage MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing MONS: curse skull / curse toe SUBST: ~ = ^ .:30 -SUBST: ! = 1 5 -SUBST: ? = . ? -SUBST: ? : 2 3 +SUBST: !=15, ?=.?, ?:23 MAP ccccccccccccccccccccccccccccccccccccccccccc cxcccc$$ce%%%%%*%eccccccce**|||**ec$$=cccxc @@ -1532,9 +1528,7 @@ MONS: deep elf death mage MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing MONS: curse skull / curse toe SUBST: ~ = ^ .:30 -SUBST: ! = 1 5 -SUBST: ? = . ? -SUBST: ? : 2 3 +SUBST: !=15, ?=.?, ?:23 MAP ccccccccccccccccccccccccccccccccccccccccccc cxcccc$$ce%*%%%%%eccccccce**|||**ec$$ccccxc @@ -1576,9 +1570,7 @@ MONS: deep elf death mage MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing MONS: curse skull / curse toe SUBST: ~ = ^ .:30 -SUBST: ! = 1 5 -SUBST: ? = . ? -SUBST: ? : 2 3 +SUBST: !=15, ?=.?, ?:23 MAP ccccccccccccccccccccccccccccccccccccccccccc cxcccc$$cd%%%%%%%dc==c===e%%%%%%%ec$$ccccxc @@ -1620,9 +1612,7 @@ MONS: deep elf death mage MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing MONS: curse skull / curse toe SUBST: ~ = ^ .:30 -SUBST: ! = 1 5 -SUBST: ? = . ? -SUBST: ? : 2 3 +SUBST: !=15, ?=.?, ?:23 MAP ccccccccccccccccccccccccccccccccccccccccccc cxcccc$$ce%%%%%%%eccccccce**|||**ec$$ccccxc @@ -1664,9 +1654,7 @@ MONS: deep elf death mage MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing MONS: curse skull / curse toe SUBST: ~ = ^ .:30 -SUBST: ! = 1 5 -SUBST: ? = . ? -SUBST: ? : 2 3 +SUBST: !=15, ?=.?, ?:23 MAP ccccccccccccccccccccccccccccccccccccccccccc cxcccc$$cd|*|||**dcccccccd*||*|**dc$$ccccxc @@ -1708,9 +1696,7 @@ MONS: deep elf death mage MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing MONS: curse skull / curse toe SUBST: ~ = ^ .:30 -SUBST: ! = 1 5 -SUBST: ? = . ? -SUBST: ? : 2 3 +SUBST: !=15, ?=.?, ?:23 MAP ccccccccccccccccccccccccccccccccccccccccccc cxcccc$$ce*|||||*ec==ccc=e*|||||*ec$$ccccxc @@ -1752,9 +1738,7 @@ MONS: deep elf death mage MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing MONS: curse skull / curse toe SUBST: ~ = ^ .:30 -SUBST: ! = 1 5 -SUBST: ? = . ? -SUBST: ? : 2 3 +SUBST: !=15, ?=.?, ?:23 MAP ccccccccccccccccccccccccccccccccccccccccccc cxcccc$$=e**|||**eccccccce%%|%|%%e=$$ccccxc @@ -1796,9 +1780,7 @@ MONS: deep elf death mage MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing MONS: curse skull / curse toe SUBST: ~ = ^ .:30 -SUBST: ! = 1 5 -SUBST: ? = . ? -SUBST: ? : 2 3 +SUBST: !=15, ?=.?, ?:23 MAP ccccccccccccccccccccccccccccccccccccccccccc cxccc====ccccc=======cccc====ccccccccccccxc @@ -1830,78 +1812,80 @@ ENDMAP ############################################################################## # slime_pit - -NAME: slime_pit -PLACE: Slime:$ -ORIENT: encompass - -# Slime pit take is reduced pending an increase in difficulty of this -# subdungeon. -- bwr - -MAP -xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..xxxx.........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxxx....................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxx......................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxx..........................x.xxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxx............................xxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxx.............................xxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxx.................................xxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxx..................................xxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxx....(................................xxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxx......................................xxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxx..........................................xxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxx..........................................xxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxx............................................xxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxx............................................xxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxx.....................ccc..ccc............]......xxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxx...................cccc2ccccc...................xxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxx...................cc*cc..cc*cc....................xxxxxxxxxxxxxxx -xxxxxxxxxxxxxx..................cc***cc4c***cc..................xxxxxxxxxxxxxxxx -xxxxxxxxxxxxx..................cc*|*cc..cc*|*cc..................xxxxxxxxxxxxxxx -xxxxxxxxxxxxx.................cc*|P|*c4cc*|P|*cc.................xxxxxxxxxxxxxxx -xxxxxxxxxxxxx.................cc**|*cc..cc*|**cc....................xxxxxxxxxxxx -xxxxxxxxxxxx..................ccc**c|cc4c|c**ccc...................xxxxxxxxxxxxx -xxxxxxxxxxxx..................cccccccc..cccccccc....................xxxxxxxxxxxx -xxxxxxxxxxx...................c.4.c.4.1..4.c.4.c.....................xxxxxxxxxxx -xxxxxxxxxxx...................2.c.4.c..3.c.4.c.2.....................xxxxxxxxxxx -xxxxxxxxxxx..........)........cccccccc..cccccccc.....................xxxxxxxxxxx -xxxxxxxxxxx...................ccc**c|cc4c|c**ccc.....................xxxxxxxxxxx -xxxxxxxxxx....................cc**|*cc..cc*|**cc....................xxxxxxxxxxxx -xxxxxxxxxx....................cc*|P|*c4cc*|P|*cc....................xxxxxxxxxxxx -xxxxxxxxxx.....................cc*|*cc..cc*|*cc....................xxxxxxxxxxxxx -xxxxxxxxxxx.....................cc***cc4c***cc.....................xxxxxxxxxxxxx -xxxxxxxxxxxx.....................cc*cc..cc*cc......................xxxxxxxxxxxxx -xxxxxxxxxxxxx.....................cccc2ccccc......................xxxxxxxxxxxxxx -xxxxxxxxxxxxxx.....................ccc..ccc.......................xxxxxxxxxxxxxx -xxxxxxxxxxxxxx...........................................[.........xxxxxxxxxxxxx -xxxxxxxxxxxxx......................................................xxxxxxxxxxxxx -xxxxxxxxxxxxx..............................................xxxxx...xxxxxxxxxxxxx -xxxxxxxxxxxxxx...........................................xxxxxxxx.xxxxxxxxxxxxxx -xxxxxxxxxxxxxx..........................................xxxxxxxxx.xxxxxxxxxxxxxx -xxxxxxxxxxxxxxxx........................................xxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxx.........................................xxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxx.......................................xxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxx......................................xxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxx......................................xxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxx.....................................xxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxx.............................}......xxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxx.................................xxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxx..............................xxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxx..............................xxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxx............................xxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxx...........{........xxx..xxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx................xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +# now slightly randomised (dp) - changes welcome + +NAME: slime_pit +PLACE: Slime:$ +ORIENT: encompass +MONS: royal jelly, acid blob, great orb of eyes / nothing +SUBST: ' : ' .:1, ' : ' x:1, ' = .x +SUBST: " : " .:3, " = .c +SHUFFLE: ([{ +# of what use are the exits? +MAP +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx''''xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx''xxxx''''...''xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxx'''..'''''........'''xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxx'.....................'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxx'.......................''x'xxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxx'..........................'.xxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxx'............................'xxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxx'.............................'''xxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxx'...............................''xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxx''..(..............................''xxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx'''....................................''xxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxx'.........................................'xxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxx''.........................................'xxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxx'...........................................'xxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxx''xx'..........................................'xxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxx'..''................""""."""""...........]....''xxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxx'x.................."cccc2ccccc".................'xxxxxxxxxxxxxxxxx +xxxxxxxxxxxxx'.'................"cc*cc..cc*cc".................''xxxxxxxxxxxxxxx +xxxxxxxxxxxxx'................."cc***cc4c***cc".................xxxxxxxxxxxxxxxx +xxxxxxxxxxxxx'................"cc*|*cc..cc*|*cc"................'xxxxxxxxxxxxxxx +xxxxxxxxxxxx''..............."cc*|P|*c4cc*|P|*cc"...............'xxxxxxxxxxxxxxx +xxxxxxxxxxxx'................"cc**|*cc..cc*|**cc"................'''xxxxxxxxxxxx +xxxxxxxxxxxx'................"ccc**c|cc4c|c**ccc"..................xxxxxxxxxxxxx +xxxxxxxxxxx'................."cccccccc.3cccccccc"..................'xxxxxxxxxxxx +xxxxxxxxxxx'................."c.4.c.4.1..4.c.4.c"..................''xxxxxxxxxxx +xxxxxxxxxxx'..................2.c.4.c....c.4.c.2....................'xxxxxxxxxxx +xxxxxxxxxx'..........)......."cccccccc3.cccccccc"...................'xxxxxxxxxxx +xxxxxxxxxx'.................."ccc**c|cc4c|c**ccc"...................'xxxxxxxxxxx +xxxxxxxxxx'.................."cc**|*cc..cc*|**cc"..................'xxxxxxxxxxxx +xxxxxxxxx'..................."cc*|P|*c4cc*|P|*cc"..................'xxxxxxxxxxxx +xxxxxxxxx''..................."cc*|*cc..cc*|*cc"..................'xxxxxxxxxxxxx +xxxxxxxxxxx'..................."cc***cc4c***cc"...................'xxxxxxxxxxxxx +xxxxxxxxxxxx'..................."cc*cc..cc*cc"....................'xxxxxxxxxxxxx +xxxxxxxxxxxx'...................."cccc2ccccc"....................'xxxxxxxxxxxxxx +xxxxxxxxxxxxx'...................."""".""""".....................'xxxxxxxxxxxxxx +xxxxxxxxxxxxx'...........................................[........'xxxxxxxxxxxxx +xxxxxxxxxxxx''..............................................'''....'xxxxxxxxxxxx +xxxxxxxxxxxx'.............................................''xxx''.'xxxxxxxxxxxxx +xxxxxxxxxxxxx'..........................................''xxxxxxx.xxxxxxxxxxxxxx +xxxxxxxxxxxxx'''.......................................'xxxxxxxxx.xxxxxxxxxxxxxx +xxxxxxxxxxxxxxxx'......................................'xxxxxxxxx'xxxxxxxxxxxxxx +xxxxxxxxxxxxxxxx'.......................................'xxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxx''.....................................'xxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx'.....................................'xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxx''....................................'xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxx'...................................'xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxx'............................}......'xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxx''................................'xxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxx'.............................''xxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxx'.............................'xxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxx'......................''...'xxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxx'''''........{.......'xx'..xxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'''............'xxxx''xxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx''....'....'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx''''x...''xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx''''xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx @@ -1911,9 +1895,6 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP -MONS: royal jelly, acid blob, great orb of eyes -MONS: random, random, random, random - ############################################################################## # The Hall of Blades @@ -1921,7 +1902,8 @@ MONS: random, random, random, random NAME: hall_of_blades PLACE: Blade ORIENT: north - +MONS: dancing weapon +SHUFFLE: cvx MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx @@ -1961,8 +1943,6 @@ xxxxxxxxcccc.............................cccccccccccccccccccccccccccccccxxxxxxxx xxxxxxxxcccccccccccccccccccccccccccccc.@.cccccccccccccccccccccccccccccccxxxxxxxx ENDMAP -MONS: dancing weapon -MONS: random, random, random, random, random, random ############################################################################## # hall_of_Zot @@ -2504,35 +2484,37 @@ MONS: random, random ############################################################################# # Swamp:5 +# now slightly randomised (dp) - changes welcome -NAME: swamp -PLACE: Swamp:5 -ORIENT: southeast -FLAGS: no_rotate - +NAME: swamp +PLACE: Swamp:5 +ORIENT: southeast +FLAGS: no_rotate +MONS: swamp dragon / nothing, swamp drake / nothing, hydra / nothing +SHUFFLE: 12 +SUBST: ' = xc # NB - most of the 'x's here will be set to water in dungeon.cc - MAP xxxxxxxxxxx@xxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxx2xxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxx2xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxx2x.xxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxx2x2xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxcc.ccxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxcc...ccxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxcc3.2..ccxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxcc.1.3.2.ccxxxxxxxxxxxxxxxxxxxxxxx -xxxxxccc....1.1cccxxxxxxxxxxxxxxxxxxxxxx -xxxxxcc.1.32....ccxxxxxxxxxxxxxxxxxxxxxx -xxxxxcc...3..1.3ccxxxxxxxxxxxxxxxxxxxxxx -xxxxxcc2.1.3..2.ccxxxxxxxxxxxxxxxxxxxxxx -xxxxxccc33..1..cccxxxxxxxxxxxxxxxxxxxxxx -xxxxxxcccc3O3ccccxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxcccccccccxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxcccccccxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxcccxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxcc3.2ccxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxx'c3.2.3c'xxxxxxxxxxxxxxxxxxxxxxxx +xxxxxx'c11.3322c''xxxxxxxxxxxxxxxxxxxxxx +xxxxx'cc...21.1cccxxxxxxxxxxxxxxxxxxxxxx +xxxxx'c.13321.1.cc'xxxxxxxxxxxxxxxxxxxxx +xxxx'cc31333.113cc'xxxxxxxxxxxxxxxxxxxxx +xxxx'cc22113.223ccxxxxxxxxxxxxxxxxxxxxxx +xxxxx'cc3333113cc'xxxxxxxxxxxxxxxxxxxxxx +xxxxx'cccc3O3ccc'xxxxxxxxxxxxxxxxxxxxxxx +xxxxxx'cccccccc'xxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxx''ccccc'xxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxx''cc'xxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxx'xxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx @@ -2549,8 +2531,37 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP -MONS: swamp dragon, swamp drake, hydra -MONS: random, random, random, random +############################################################################# +# Swamp:5 alternative (dp) + +NAME: swamp_alternative +PLACE: Swamp:5 +ORIENT: float +MONS: swamp dragon, swamp drake, hydra, firedrake +ITEM: nothing +SUBST: 1=1., 2=2., 3=3., 4=4. +SHUFFLE: Od, 123 +SUBST: l=l .:2, '=.x, "=cx, _=c. +# NB - most of the 'x's here will be set to water in dungeon.cc +MAP +xxx@xxxxxxx@xxxxxxxxxxx +xxx1'xxxxxxx2'xxxxxxxxx +xxxx1xxxxxx2'xxxxxxxxxx +xxxx.xxxxxx.xxxxxxxxxxx +xx'2x3.x''3xxxxxxxxxxxx +xx''x"c..1""""xxxxxxxxx +xxxx""c".ccccc""xxx'3xx +xxx"cc_.2lll.ccc""2.'3x +xx"cc..33ll..2._c1'xxx@ +x"cc.1..lll...1..""xxxx +x"c....llllll.1.2c"xxxx +x"cc..l4llllll..cc"xxxx +xx"ccll.llll.4lcc"xxxxx +xxx"cccO.lld.ccc"xxxxxx +xxxx""cccccccc""xxxxxxx +xxxxxx""""""""xxxxxxxxx +ENDMAP + ############################################################################## # Portal vaults @@ -2590,7 +2601,7 @@ NAME: david_orc_1_choice TAGS: orc_entry MONS: orc, warg / orc priest / orc warrior, orc warrior / orc ITEM: % / scroll of teleport / scroll of remove curse / scroll of identify -ITEM: % / weight:2 * / scroll of blinking / scroll of recharging / scroll of fear +ITEM: % / w:2 * / scroll of blinking / scroll of recharging / scroll of fear SHUFFLE: %1 ORIENT: float MAP @@ -2708,7 +2719,7 @@ NAME: david_orc_5 TAGS: orc_entry ORIENT: float KFEAT: C = altar of Yredelemnul / altar of Makhleb / altar of Trog -MONS: orc priest, orc / weight:5 orc warrior / weight:1 orc knight +MONS: orc priest / nothing, orc / w:5 orc warrior / w:1 orc knight SUBST: x : cxv SUBST: ( = ( . SUBST: ) = ) . @@ -2730,7 +2741,7 @@ NAME: erik_orc_1 TAGS: orc_entry MONS: orc, orc priest/orc wizard, weight:50 orc warrior/ogre, swamp drake # The drake's name is Bobby. Since you did ask. -KITEM: 1 = sausage / nothing / animal skin / potion of confusion / potion of paralysis / potion of slowing / potion of degeneration / weight:2 potion of speed / weight:2 potion of might +KITEM: 1 = sausage / nothing / animal skin / potion of confusion / potion of paralysis / potion of slowing / potion of degeneration / w:2 potion of speed / w:2 potion of might ITEM: club, potion of confusion, slice of pizza, sausage / weight:40 nothing ITEM: potion of confusion / potion of water SHUFFLE: defO @@ -2866,16 +2877,17 @@ MONS: weight:20 nothing / weight:30 human / necromancer / wizard ORIENT: float SHUFFLE: != SUBST: ! = x +SUBST: ' : cxv MAP -xxxxx.@.xxxxx -x...+...x...x -x...x...x...x -x!x=x111x...x -@.x.x111+.O.x -x.x.x111x...x -x.x.x...x...x -x.+.x...x...x -xxxxx.@.xxxxx +xxxxx.@.''''' +x...+...'...' +x...x...'...' +x!x=x111'...' +@.x.x111+.O.' +x.x.x111'...' +x.x.x...'...' +x.+.x...'...' +xxxxx.@.''''' ENDMAP ############################################################################## @@ -2927,7 +2939,7 @@ ENDMAP NAME: david_vaults_4 TAGS: vault_entry ORIENT: float -SHUFFLE: 12345 +SHUFFLE: 123456 MONS: dragon / golden dragon / ice dragon / iron dragon / shadow dragon / storm dragon MONS: freezing wraith / shadow wraith / wight / wraith MONS: deep troll / iron troll / rock troll / troll @@ -2935,13 +2947,8 @@ MONS: cyclops / ettin / fire giant / frost giant / hill giant / stone giant / ti MONS: necromancer / shapeshifter / vault guard / wizard MONS: nothing MONS: shapeshifter / weight:30 nothing -SUBST: 1 = 1 . -SUBST: 2 = 2 . -SUBST: 3 = 3 . -SUBST: 4 = 4 . -SUBST: 5 = 5 . -SUBST: * : * % . - +SUBST: 1=.1, 2=.2, 3=.3, 4=.4, 5=.5, *:*.% +SUBST: x : xcv MAP @..........@ .xxxxxxxxxx. @@ -2985,7 +2992,7 @@ NAME: erik_vaults_1 TAGS: vault_entry MONS: dancing weapon ORIENT: float - +SHUFFLE: vc MAP ............. ............. @@ -3006,7 +3013,7 @@ NAME: erik_vaults_2 TAGS: vault_entry MONS: vault guard ORIENT: float - +SHUFFLE: vx MAP vvvvvv.vvvvvv vvvvvv.vvvvvv @@ -3036,17 +3043,17 @@ ENDMAP # NAME: david_lair_1 TAGS: lair_entry -MONS: giant lizard, giant snail / elephant slug -MONS: yak / weight:2 death yak, plant / fungus +MONS: giant lizard / sheep, giant snail / elephant slug / nothing +MONS: nothing / yak / weight:2 death yak, plant / fungus / w:20 nothing SHUFFLE: 12 ORIENT: float MAP xxxx..@..xxxx xx.........xx -x...2...44..x -...4..1...... +x..42...44..x +..44..1...... @....1O3....@ -..........4.. +...4......4.. x...4..2....x xx.........xx xxxx..@..xxxx @@ -3055,19 +3062,20 @@ ENDMAP ############################################################################## # Shrubbed Lair entry # -NAME: david_lair_2 -TAGS: lair_entry -MONS: plant, firedrake +NAME: david_lair_2 +TAGS: lair_entry +MONS: plant, firedrake +SUBST: ' = 1. ORIENT: float MAP xxxxxxxxxxxxx xx111111111xx -x112..111111x -x11.O..111... -x11...111...@ -x111111...... -x1..11......x -xx.........xx +x112.'111111x +x11.O.'111''. +x11'..111'..@ +x111111''.... +x1''11......x +xx.''..'...xx xxxx..@..xxxx ENDMAP @@ -3076,11 +3084,11 @@ ENDMAP # NAME: david_lair_3 TAGS: lair_entry -MONS: weight:50 nothing / weight:30 giant slug / weight:30 giant snail -MONS: weight:100 nothing / weight:40 yak / sheep / death yak -MONS: weight:100 nothing / weight:20 giant iguana / weight:20 giant lizard / gila monster / komodo dragon +MONS: w:50 nothing / w:30 giant slug / w:30 giant snail +MONS: w:100 nothing / w:40 yak / sheep / death yak +MONS: w:100 nothing / w:20 giant iguana / w:20 giant lizard / gila monster / komodo dragon MONS: green rat / grey rat / orange rat / quokka / rat -MONS: weight:90 nothing / weight:30 giant frog / blink frog / giant brown frog / spiny frog +MONS: w:90 nothing / w:30 giant frog / blink frog / giant brown frog / spiny frog SHUFFLE: 12345 ORIENT: float MAP @@ -3161,17 +3169,17 @@ ENDMAP # NAME: erik_lair_3 TAGS: lair_entry -MONS: weight:50 troll / Snorg, weight:30 hound / jackal / weight:20 war dog +MONS: w:50 troll / Snorg, w:30 hound / jackal / w:20 war dog ORIENT: float SUBST: ? = w. MAP -.@........ww?www?..... +.@........wwwwww?..... ..?.?.?..wwwwwww.?..?. ..??w..wwwwwwwww?.??.. -...??w.wwwwwww??www?.. -...wwwwwwwwwwwwwww??.. -..wwwwww?wwwww2wwww..@ -..wwwwwwww....wwww???. +...??w.wwwwwwww?www?.. +...wwww?wwwwwwwwww??.. +..wwwwww??w??w2wwww..@ +..wwwwww??....wwww???. ......1..2.2O2.wwww... ..?wwwww???2.2www.ww?. .....wwww2..w.2www.... @@ -3187,8 +3195,8 @@ ENDMAP # NAME: erik_lair_4 TAGS: lair_entry -MONS: steam dragon/mottled dragon/swamp drake -MONS: weight:20 giant iguana/komodo dragon/giant gecko/giant lizard +MONS: steam dragon / mottled dragon / swamp drake +MONS: w:20 giant iguana / komodo dragon / giant gecko / giant lizard / nothing FLAGS: no_rotate SUBST: ? = x.c SHUFFLE: %*RO @@ -3196,9 +3204,9 @@ ORIENT: float MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxx?xxx?x?xx?x.2xx??xx?x*?xxx?.2.xxxx +xxxxxxxxxxxxxxx?xxx?x?xx?x.2xx?xxx?x*?xxx?.2.xxxx xxxxxxxxxxxxxxx.2.......?xx.x.?xxx?.??xxxx?x.?xxx -xxxxxxxxxxxxx?....xxx...2....??????..??x?x..%xxxx +xxxxxxxxxxxxx?....xxx...2....??????..????x..%xxxx xx?xx???xxxxx..xx??xx??..........?...???..??x=.?x @......xxx.2.xx?xxxxxx?x?x??.......1...2.x.xxx.?x xxx?xxx...xxxxxxxxxxxx?xxxx.??.2...?......?xxx$xx @@ -3267,7 +3275,7 @@ ENDMAP # Hive monsters near stair # NAME: david_hive_2 -TAGS: hive_entry +TAGS: hive_entry generate_awake MONS: nothing / killer bee / killer bee larva MONS: queen bee ORIENT: float @@ -3294,14 +3302,8 @@ MONS: killer bee larva / killer bee, queen bee MONS: giant ant / soldier ant, queen ant MONS: yellow wasp / nothing, red wasp / yellow wasp MONS: bumblebee -SHUFFLE: XY -SHUFFLE: VW -SHUFFLE: defgOR -SHUFFLE: 34 / 56 -SUBST: V = = -SUBST: W = a -SUBST: X = = -SUBST: Y = a +SHUFFLE: XY, VW, defgOR, 34/56 +SUBST: V==, W=a, X==, Y=a SUBST: ? = a .:20 SUBST: 1 : 1 7:2 SUBST: 7 = 7 . @@ -3325,21 +3327,21 @@ ENDMAP # NAME: erik_hive_1 TAGS: hive_entry -MONS: weight:200 bear/polar bear, grizzly bear, black bear +MONS: w:200 bear / polar bear, grizzly bear, black bear MONS: killer bee, queen bee, killer bee larva ITEM: honeycomb, royal jelly -SHUFFLE: 123 -SHUFFLE: deO +SUBST: ? = a. +SHUFFLE: 123, deO ORIENT: float MAP ....................... -.............aaa....... +............?aaa???.... ...........aaa4aaaaa... -...........a4e6d564a... -......2....a6.4.4O6a... -............a64aa4a.... -....1.......aaaaaa..... -.......3............... +..........?a4e6d564a?.. +......2...?a6?4?4O6a?.. +...........?a64?a4a.... +....1......?aaaaaa?.... +.......3.....????...... ....................... ENDMAP @@ -3377,17 +3379,18 @@ ENDMAP NAME: erik_hive_3 TAGS: hive_entry MONS: killer bee larva, killer bee, queen bee, firedrake -SUBST: l = l. +SHUFFLE: UVWXYZ +SUBST: l=.l, U==, V=a, W=a, X=a, Y=a, Z=a ORIENT: float MAP .................. ...aaaaa.......... ..aaRa....a...a... -..a2.a.aaa=.aa.... -.aa.1aaa.1aaa...a. +..a2.Y.aaaX.aa.... +.aV.1aaa.1aaa...a. ..aa21.2O2aaa4.aa. -...aaa2131aaaaa... -..aaaaaRaaa..aa... +...Zaa2131Waaaa... +..aaaaaRaUa..aa... ..aa.4aaa.a...a... .aa...aaa.aa...... .a..aaaa.......... diff --git a/crawl-ref/source/dat/tricky.des b/crawl-ref/source/dat/tricky.des index 39a8a386b1..d8993fc894 100644 --- a/crawl-ref/source/dat/tricky.des +++ b/crawl-ref/source/dat/tricky.des @@ -190,17 +190,17 @@ NAME: lemuel_trickyentry_002_batcave TAGS: entry ORIENT: float SHUFFLE: {[( -MONS: giant bat +MONS: giant bat / nothing MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x{x[x(xxxxxxxxxxx.........%xxxx x.x.x.xxxxxxxx...............xx -x.x.x.xxxxxx..................x -x.x.x.xxxx....1.1.1.1.1......%x +x.x.x.xxxxxx...1.1.1..........x +x.x.x.xxxx....1.1.1.1.1.1....%x x.x.x.xx.......1.1.1.1.1....%xx -x.....+.......1.1.1.1.1.....%xx +x.....+.......1.1.1.1.1.1...%xx xxx.xxx........1.1.1.1.1....xxx -xxx.xxxx.................xxxxxx +xxx.xxxx..........1.1.1..xxxxxx xxx.xxxxx.............xxxxxxxxx @...xxxxxxx.......xxxxxxxxxxxxx xxx.xxxxxxxxx...xxxxxxxxxxxxxxx @@ -215,11 +215,8 @@ ENDMAP NAME: lemuel_trickyentry_river TAGS: entry no_monster_gen ORIENT: float -SHUFFLE: {[( -SHUFFLE: ABC -SUBST: A = = -SUBST: B = x -SUBST: C = x +SHUFFLE: {[(, ABC +SUBST: A:=, B:x, C:x CHANCE: 1 MAP xxxxxxxxxxxxxxxxxxx @@ -277,8 +274,7 @@ NAME: david_trickyentry_002_a TAGS: entry no_monster_gen no_pool_fixup ORIENT: float CHANCE: 2 -SHUFFLE: {[( -SHUFFLE: wWl +SHUFFLE: {[(, wWl MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx @@ -301,8 +297,7 @@ NAME: david_trickyentry_002_b TAGS: entry no_monster_gen no_pool_fixup ORIENT: float CHANCE: 2 -SHUFFLE: {[( -SHUFFLE: wWl +SHUFFLE: {[(, wWl MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx @@ -325,8 +320,7 @@ NAME: david_trickyentry_002_c TAGS: entry no_monster_gen no_pool_fixup ORIENT: float CHANCE: 2 -SHUFFLE: {[( -SHUFFLE: wWl +SHUFFLE: {[(, wWl MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx=.....=xxxx @@ -349,8 +343,7 @@ NAME: david_trickyentry_002_d TAGS: entry no_monster_gen no_pool_fixup ORIENT: float CHANCE: 2 -SHUFFLE: {[( -SHUFFLE: wWl +SHUFFLE: {[(, wWl MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx=.....=xxxx @@ -373,8 +366,7 @@ NAME: david_trickyentry_002_e TAGS: entry no_monster_gen no_pool_fixup ORIENT: float CHANCE: 2 -SHUFFLE: {[( -SHUFFLE: wWl +SHUFFLE: {[(, wWl MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx @@ -424,42 +416,24 @@ ENDMAP ############################################################################## # Evil foreboding -NAME: david_trickyentry_004_a +NAME: david_trickyentry_004 TAGS: entry no_monster_gen -MONS: troll +MONS: troll / w:40 giant bat ORIENT: float -CHANCE: 2 SHUFFLE: {[(< +SUBST: ?:?.l, ?=l. MAP {...............[ -......lll........ -...lll.lll....... -..l.llll.llll..l. -...lll]..1lllll.. -..ll.ll...ll..... -.....lll.ll...... -....ll.lll....... +....?.lll?....... +...lll?lll??..... +..l.llll.llll?.l. +..?lll]..1lllll?. +.?ll?ll...ll.??.. +...?.lll.ll??.... +....ll.lll?...... <...............( ENDMAP -NAME: david_trickyentry_004_b -TAGS: entry no_monster_gen -MONS: giant bat -ORIENT: float -CHANCE: 8 -SHUFFLE: {[(< -MAP -{...............< -......lll........ -...lll.lll....... -..l.l.lllllll..l. -...lll].11lllll.. -..ll.ll.11ll..... -.....lll.ll...... -....ll.lll....... -[...............( -ENDMAP - ############################################################################## # The pits are prepared @@ -540,19 +514,18 @@ ENDMAP NAME: david_trickyentry_006 TAGS: entry -MONS: weight:30 nothing / worm -MONS: weight:30 nothing / ooze / weight:2 jelly -MONS: weight:30 nothing / jackal / rat +MONS: w:30 nothing / worm +MONS: w:30 nothing / ooze / weight:2 jelly +MONS: w:30 nothing / jackal / rat FLAGS: no_rotate ORIENT: float SUBST: ?=Gx -SHUFFLE: xc -SHUFFLE: 123 +SHUFFLE: xc, 123 MAP ................. .xxxxxxxxxxxxxxx. -.x123132>332213x. -.x2312132211321x. +.x1231321332212x. +.x2312132211323x. .x3123213123132x. .x?????G+G?????x. .x.............x. @@ -604,8 +577,7 @@ NAME: david_trickyentry_008 TAGS: entry ITEM: nothing ORIENT: float -SHUFFLE: [{( -SHUFFLE: GIcbv= +SHUFFLE: [{(, GIcbv=, Iw, Gl MAP xxxxxxxxxxxxx x[....{....(x @@ -631,7 +603,7 @@ TAGS: entry no_monster_gen no_pool_fixup FLAGS: no_rotate CHANCE: 1 MONS: plant, plant / nothing -ITEM: bread ration / weight:20 meat ration, weight:20 any food / nothing +ITEM: bread ration / w:20 meat ration, w:20 any food / nothing ORIENT: float SHUFFLE: {[( SHUFFLE: lw @@ -666,14 +638,15 @@ ENDMAP NAME: david_trickyentry_010 TAGS: entry no_monster_gen no_pool_fixup MONS: nothing / hobgoblin / warg / war dog / hog / hound / wolf -MONS: nothing / giant gecko / giant iguana / giant lizard / giant newt -MONS: nothing / orc / generate_awake orc priest / generate_awake orc warrior / generate_awake orc wizard -MONS: nothing / generate_awake brain worm / generate_awake lava worm / generate_awake swamp worm / worm +MONS: giant gecko / giant iguana / giant lizard / giant newt +MONS: orc / generate_awake orc priest / generate_awake orc warrior / generate_awake orc wizard +MONS: generate_awake brain worm / generate_awake lava worm / generate_awake swamp worm / worm ITEM: any food ORIENT: float -SHUFFLE: {[( -SHUFFLE: lw -SHUFFLE: 1234d +SUBST: 2 = 2:40 . +SUBST: 3 = 3:40 . +SUBST: 4 = 4:40 . +SHUFFLE: {[(, lw, 1234d MAP xxxxxx@xxxxxx x...........x @@ -786,12 +759,14 @@ ENDMAP ############################################################################## # Being Mean Is Cool - +# (Has anyone a good guess on proper CHANCEs?) + NAME: erik_trickyentry_004_a TAGS: entry ORIENT: float -CHANCE: 5 -ITEM: scroll of curse armour, scroll of teleportation +CHANCE: 10 +ITEM: scroll of curse armour +ITEM: scroll of teleportation MAP xxxxx xxexx @@ -803,15 +778,35 @@ ENDMAP NAME: erik_trickyentry_004_b TAGS: entry ORIENT: float -CHANCE: 5 -ITEM: scroll of curse armour / scroll of random uselessness / scroll of identify -ITEM: scroll of curse armour / scroll of fear / scroll of teleportation +CHANCE: 10 +ITEM: scroll of curse armour, scroll of random uselessness, scroll of identify +ITEM: scroll of curse armour, scroll of fear, scroll of teleportation +SHUFFLE: def, ghi MAP @.....@ .xx=xx. -.xxexx. -.=d{e=. +.xxgxx. +.=d{g=. .xxdxx. .xx=xx. @.....@ ENDMAP + +NAME: erik_trickyentry_004_c +TAGS: entry +ORIENT: float +CHANCE: 10 +SHUFFLE: uU / vV / wW / zZ +SUBST: u==, v==, V=~, w=x, W=x, z==, Z=~. +ITEM: scroll of curse armour, scroll of random uselessness, scroll of identify +ITEM: scroll of curse armour, scroll of fear, scroll of teleportation +KFEAT: U = teleport trap +MAP +xxxxxxx +xZxxxWx +xxzgwxx +xxd{gxx +xxudvxx +xUxxxVx +xxxxxxx +ENDMAP diff --git a/crawl-ref/source/dat/vaults.des b/crawl-ref/source/dat/vaults.des index 0e1536f342..f9e60b91f6 100644 --- a/crawl-ref/source/dat/vaults.des +++ b/crawl-ref/source/dat/vaults.des @@ -188,14 +188,15 @@ # does the same thing - whitespace is not significant. # SUBST: ? = T:20 U V # makes T twice as likely to be used as U or V (the default weight -# is 10). Note that there has to be at least one space after T:20 -# and that whitespace in T:20 is not permitted. +# is 10). Note that there has to be at least one space before and after +# T:20 and that whitespace in T:20 is not permitted. # SUBST: ? : TUV # replaces occurrences of ? with one of TUV, and guarantees that all # occurrences of ? will get the same replacement symbol. -# The placeholder symbol can be any non-space, printable character apart from -# : and =. The replacement symbols can be any non-space printable character, -# including : and = ("SUBST: ? = +=:123def" is valid). +# +# The placeholder and replacement symbols can be any non-space, printable +# character, including : and =, apart from commas - "SUBST: = = +=:123def" is +# valid. # # SUBST: lines can safely replace symbols with themselves: # @@ -434,11 +435,8 @@ NAME: lemuel_entry_005_b TAGS: entry no_monster_gen ORIENT: float CHANCE: 5 -SHUFFLE: {[( -SHUFFLE: XYZ -SUBST: X = W -SUBST: Y = w -SUBST: Z = w +SHUFFLE: {[(, XYZ +SUBST: X=W, Y=w, Z=w MAP xxxxxxxxxxxxxxxxxxx xxxxx{...(...[xxxxx @@ -466,25 +464,26 @@ ENDMAP NAME: lemuel_entry_006_tunnels TAGS: entry no_monster_gen ORIENT: float +SUBST: ? = x. SHUFFLE: {[( MAP xxxxxxxxxxxxxxxxxxx x{xxxxxxxxxxxxxxxxx -x..xxxxxxxxxxxx[xxx -xx.xxxxxx(xxxxx...x -xx..xxxx..xxxxxxx.x -x...xx...xxxxxxxx.x -x.xxx..xxxxxx.....x -x..xx.xxxxxxx.xxxxx -xx..x.xxxxxx..xxxxx -xxx...xxxxx..xxxxxx +x..xxxxxxxxxxxx[x?x +xx.?xxxxx(xxxx?...x +x?..xxxx..xxxx???.x +x..?x?..?xxxx?x??.x +x.?xx..xxxxx?.....x +x.?xx.?xxxx?x.x???x +xx..?.xxxx??..xxxxx +xxx...?x??x..xxxxxx xxxxx.xx....xxxxxxx -xxxxx..x.xxxxxxxxxx -xxxxxx.x.xxxxxxxxxx -xxxxxx...xxxxxxxxxx -xxxxxxxx.xxxxxxxxxx -xxxxxxxx.xxxxxxxxxx -xxxxxxxx...xxxxxxxx +xxxxx..x.??xxxxxxxx +xxxxxx.?.xxxxxxxxxx +xxxxxx..??xxxxxxxxx +xxxxxx?x.xxxxxxxxxx +xxxxxxx?.?xxxxxxxxx +xxxxxxxx..?xxxxxxxx xxxxxxxxxx.xxxxxxxx ENDMAP @@ -494,16 +493,17 @@ ENDMAP NAME: lemuel_entry_007_funnel TAGS: entry no_monster_gen ORIENT: float +SUBST: c : x. MAP xxxxxxxxxxxxxxx x{.....(.....[x x.............x -xx...........xx -xx...........xx -xxx.........xxx -xxx.........xxx -xxxx.......xxxx -xxxx.......xxxx +xx...ccccc...xx +xx...ccccc...xx +xxx...ccc...xxx +xxx...ccc...xxx +xxxx...c...xxxx +xxxx...c...xxxx xxxxx.....xxxxx xxxxx.....xxxxx xxxxxx...xxxxxx @@ -520,22 +520,23 @@ NAME: lemuel_entry_008_muddy TAGS: entry no_monster_gen ORIENT: float SHUFFLE: {[( +SUBST: ? = w. MONS: nothing / plant, nothing / fungus MAP xxxxxxxxxxxxxxxxxxx xxxxx{..1..(.1ww.[x xxxxx1...1...11ww.x -xxxxxx..w.11....1.x -xxxxxx........2.1.x -xxxxxw..11......w.x -xxxxxw...........xx -xxxxx.11..22.2....x -xxxxx11.....w2....x -xxxxx....1.......xx -xxxxxx..1.......xxx -xxxxxx.....2....xxx -xxxxxx...2......xxx -xxxxx.....2.....xxx +xxxx?x..w.11..??1.x +xxx??x........2.1.x +xxx?ww..11.....?w.x +xxxxww?..........xx +xxx?w?11?.22.2....x +xxx?w11?....w2....x +xxxx???..1..???..xx +xxxxx?..1??..??.xxx +xxxx?x.....2?...xxx +xxxx?x...2......xxx +xxxx?w....2.....xxx xxxxx.22w......xxxx xxxxxxx..2.....xxxx xxxxxxx..2..22xxxxx @@ -553,28 +554,55 @@ NAME: lemuel_entry_009_a TAGS: entry ORIENT: float SHUFFLE: {[( +SUBST: ? : xcvG. CHANCE: 4 MAP xxxxxxxxxxx x{...(...[x x.........x -x.x.....x.x +x.?.....?.x x.........x x.........x -x.x.....x.x +x.?.....?.x x.........x x.........x -x.x.....x.x +x.?.....?.x x.........x x.........x -x.x.....x.x +x.?.....?.x x.........x x@...@...@x ENDMAP +NAME: lemuel_entry_009_b +TAGS: entry +ORIENT: float +SUBST: ? : xcvG. +ITEM: meat ration / bread ration / beef jerky / spear / potion of water / apple / club / hammer / knife +SHUFFLE: {[( +CHANCE: 3 +MAP +xxxxxxxxxxxx +x{...(...[xx +x.........xx +x.?.....?.xx +x.........xx +x.........xx +x.?.....?.xx +x.........xx +x.........xxxxxx +x.?.....?.xxxddx +x.........=..ddx +x.........xxxxxx +x.?.....?.xx +x.........xx +x@...@...@xx +ENDMAP + NAME: lemuel_entry_009_c TAGS: entry ORIENT: float +SUBST: ? : xcvG. ITEM: meat ration / bread ration / beef jerky / spear / potion of water / apple / club / hammer / knife SHUFFLE: {[( CHANCE: 3 @@ -582,27 +610,29 @@ MAP xxxxxxxxxxxx x{...(...[xx x.........xx -x.x.....x.xx +x.?.....?.xx x.........xx x.........xxxxxx -x.x.....x.xxxddx +x.?.....?.xxxddx x.........=..ddx x.........xxxxxx -x.x.....x.xx +x.?.....?.xx x.........xx x.........xx -x.x.....x.xx +x.?.....?.xx x.........xx x@...@...@xx ENDMAP ################################### -# behind the green door +# behind the door -NAME: lemuel_entry_010_green +NAME: lemuel_entry_010_a TAGS: entry +CHANCE: 5 ORIENT: float SHUFFLE: {( +SUBST: b : bcv MAP xxxxxxxxxxx x{...(...[x @@ -617,6 +647,22 @@ xbbbb+bbbbx x....@....x ENDMAP +NAME: lemuel_entry_010_b +TAGS: entry +CHANCE: 5 +ORIENT: float +SHUFFLE: {( +SUBST: b : bcv +MAP +xxxxxxxxxxx +x{...(...[x +x.........x +x.........x +x.........x +xbbbb+bbbbx +x....@....x +ENDMAP + ############################# # lemuel_lava_pool @@ -624,6 +670,7 @@ NAME: lemuel_entry_011_lava_pool TAGS: entry no_monster_gen ORIENT: float SHUFFLE: {[ +SUBST: l = l .:3 MAP xxxxxxxxxxxxxxx xxxxx..{..xxxxx @@ -648,10 +695,11 @@ ENDMAP # David's entry vaults ############################################################################## -NAME: david_entry_001 +NAME: david_entry_001_a TAGS: entry FLAGS: no_rotate ORIENT: float +CHANCE: 5 SHUFFLE: {[( MAP xxxxxxxxxxx@xxxxxxxxxxx @@ -674,6 +722,37 @@ xxxxx.............xxxxx xxxxxxxxxxxxxxxxxxxxxxx ENDMAP +NAME: david_entry_001_b +TAGS: entry +FLAGS: no_rotate +ORIENT: float +CHANCE: 5 +SHUFFLE: {[ +MAP +xxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxx...xxxxxxxxxx +xxxxxxxxx..{..xxxxxxxxx +xxxxxxxxx.....xxxxxxxxx +xxxx...xxx...xxx...xxxx +xx.......xx+xx.......xx +x.........x.x.........x +x....[....+.+....(....x +x.........x.x.........x +xx.......xx+xx.......xx +xxxx...xxxx.xxxx...xxxx +xxxxxxxx.......xxxxxxxx +xxxxx.............xxxxx +xxxx...............xxxx +xxx.................xxx +xxx........T........xxx +xxx.......TTT.......xxx +xxx.................xxx +xxxx...............xxxx +xxxxx.............xxxxx +xxxxxxxx.......xxxxxxxx +xxxxxxxxxxx@xxxxxxxxxxx +ENDMAP + ############################################################################## # Three discs @@ -681,6 +760,9 @@ NAME: david_entry_002 TAGS: entry FLAGS: no_rotate ORIENT: float +SUBST: . : ?. +SUBST: ? = .:1000 % ~ +SUBST: ' = .x MAP xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx...xxxx @@ -693,11 +775,11 @@ x.........xxxxxx...xxxx xx.......xxxxxx.xxxxxxx xxxx...xxxxxx...xxxxxxx xxxxxxxxxxx.......xxxxx -xxx...x............xxxx -xx..x...xx....[....xxxx -xx.xxxxxxx.........xxxx -xx...x...xx.......xxxxx -xxxx...x..xxx...xxxxxxx +xxx...''...........xxxx +x'.''...xx....[....xxxx +x'.'xx'xxx.........xxxx +x'..''...xx.......xxxxx +xx''..''..xxx...xxxxxxx xxxxxxxxx@xxxxxxxxxxxxx ENDMAP @@ -709,6 +791,7 @@ TAGS: entry FLAGS: no_rotate ORIENT: float SHUFFLE: {[(< +SUBST: v:vx, c:vxc CHANCE: 2 MAP xxxxxxxxxxxxxxx@xxxxxxxxxxxxxxx @@ -734,6 +817,7 @@ TAGS: entry FLAGS: no_rotate ORIENT: float SHUFFLE: {[(< +SUBST: v:vx, c:vxc CHANCE: 2 MAP xxxxxxxxxxxxxxx@xxxxxxxxxxxxxxx @@ -759,6 +843,7 @@ TAGS: entry FLAGS: no_rotate ORIENT: float SHUFFLE: {[(< +SUBST: v:vx, c:vxc CHANCE: 2 MAP xxxxxxxxxxxxxxx@xxxxxxxxxxxxxxx @@ -784,6 +869,7 @@ TAGS: entry FLAGS: no_rotate ORIENT: float SHUFFLE: {[(< +SUBST: v:vx, c:vxc CHANCE: 2 MAP xxxxxxxxxxxxxxx@xxxxxxxxxxxxxxx @@ -809,6 +895,7 @@ TAGS: entry FLAGS: no_rotate ORIENT: float SHUFFLE: {[(< +SUBST: v:vx, c:vxc CHANCE: 2 MAP xxxxxxxxxxxxxxx@xxxxxxxxxxxxxxx @@ -962,36 +1049,32 @@ ccccccccccc@ccccccccccc ENDMAP ############################################################################## -# the imperial orb +# Moving archways NAME: david_entry_009 -TAGS: entry -FLAGS: no_rotate -ORIENT: float -SHUFFLE: {[ -MAP -xxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxx...xxxxxxxxxx -xxxxxxxxx..{..xxxxxxxxx -xxxxxxxxx.....xxxxxxxxx -xxxx...xxx...xxx...xxxx -xx.......xx+xx.......xx -x.........x.x.........x -x....[....+.+....(....x -x.........x.x.........x -xx.......xx+xx.......xx -xxxx...xxxx.xxxx...xxxx -xxxxxxxx.......xxxxxxxx -xxxxx.............xxxxx -xxxx...............xxxx -xxx.................xxx -xxx........T........xxx -xxx.......TTT.......xxx -xxx.................xxx -xxxx...............xxxx -xxxxx.............xxxxx -xxxxxxxx.......xxxxxxxx -xxxxxxxxxxx@xxxxxxxxxxx +TAGS: entry no_monster_gen +ORIENT: float +MONS: plant / fungus / nothing +SHUFFLE: _wl' +SUBST: l:wxl, _:xw~_, ':., +:+. +SUBST: ~ = ~:2 . +SUBST: _ = 1 . %:1 +SUBST: w = w W:3 +MAP +xxx.......@.......xxx +xxxx+xxx+xxx+xxx+xxxx +xxx___xwwwxlllx'''xxx +xxx___xwwwxlllx'''xxx +xxx___xwwwxlllx'''xxx +xxx___xwwwxlllx'''xxx +xxx___xwwwxlllx'''xxx +xxx___xwwwxlllx'''xxx +xxxx+xxx+xxx+xxx+xxxx +xxx...............xxx +xxxx.............xxxx +xxxxxxx.......xxxxxxx +xxxxxxxxx[{(xxxxxxxxx +xxxxxxxxxxxxxxxxxxxxx ENDMAP ############################################################################## @@ -1207,32 +1290,33 @@ TAGS: entry no_monster_gen ORIENT: float FLAGS: no_rotate MONS: fungus -SHUFFLE: {[( +SHUFFLE: {[(, b:bcv, UVW, XYZ +SUBST: '=.x, U==, V=x, W=x, X==, Y=x, Z=x MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxx..xxxxxxxxxxxxxxxxx%xxxxxxxxxxxxx -xxx...x.....x...xxxxxxxxxxx.0%%xxxxxxxxxxx -xx..(....xx...x..xxxxxxxxxx.x.xxxxxxxxxxxx -xx.....xxx..xxx..xxxxxxxxxx...xxxxxxxxxxxx -xxx...xxxx=xxxxx..xx...xxxxx0xxxxxxxxxxxxx -xxxxxxxxx=xxxxxx..x..x..xxx.xxxxxxxxxxxx.. -xxxxxxx....xxxxxx...xx..xxxx..xxxxxxx..... -xxxxx...xx..xxxxxxxxx..xxxxxxx.xxxx....... -xxxx..xxxx..xxxxxxxx..xxxxxxx0xxxx........ -xxxx..xxxxx..xxxxxx.....xxxx.xxxx......... -xxxxx...xxxx..xxxx.......xxx0xxxx......... -xxxx.....xxx..xxx...bbb...x=xxxx.......... -xxxx..{..xx..xxxx..bbbbb....xx...........@ -xxxxx...xxx..xxx...bbbbb..x....x.......... -xxxxxxxxxxxx..x.....bbb...xxx=xxx......... -xxxxxxxxxxxxx....x.......xxx.xxxx......... -xxxxxxxxxxxxxxx.xxx.....xxx..xxxxx........ +xxxxxxxxx''xxxxxxxxxxxxxxxxx%xxxxxxxxxxxxx +xxx...x''...x...xxxxxxxxxxx.0%%xxxxxxxxxxx +xx..(....xx..''..xxxxxxxxxx.x.xxxxxxxxxxxx +xx.....xxx'.xxx..xxxx''xxxx...xxxxxxxxxxxx +xxx...xxxx=xxxxx.'xx'..'xxxx0xxxxxxxxxxxxx +xxxxxxx'x=xxxxxx'.x..x.'xxx.xxxxxxxxxxxx.. +xxxxx''...'xxxxxx'..xx..'xxx..xxxxxxx..... +xxxxx'..x'..xxxxxx'x'..x'xxxxx.xxxx....... +xxxx..'xxx..'xxxxxxx'.xxxxxxx0x.Wx........ +xxxx..xxxxx..'xxxxx.....xxxx.xxxx......... +xxxxx...xx'x..'xxx.......xxx0xxxx......... +xxxx.....x'x..'xx...bbb...xUxVxx.......... +xxxx..{..xx..x''x..bbbbb....x'...........@ +xxxxx...xx''.xxx...bbbbb..x....x.......... +xxxxxxxxxxxx.'x.....bbb...xxxYxxx......... +xxxxxxxxxxxxx....x.......xXx.xxxx......... +xxxxxxxxxxxxxxx'xxx.....xxx..xxxxx........ xxxxxxxxxxxxxx=xxxxxx..xxx..xxxxxxx....... -xxxxxxxxxxxxx=xxxxxx..xxxx.xxxxxxxxxx..... -xx...x..xxxxx..xxxxx...xx1.xxxxxxxxxxxxx.. -x..[.......x....xxxxx..xxx..xxxxxwxxwwxxxx -x.....xxx....xx..xxx..xxxxx1...wwwwwxxwxxx -xx...xxxxxxxxxxx.....xxxxxxxxx.wwwxxxxxxxx +xxxxxx'xxxxxx=xxxxxx.''xxx.xxxxxxxxxx..... +xx...x.'xxxxx'.xxxxx'...Z1.xxxxxxxxxxxxx.. +x..[.......'...'x'xxx..'xx..xxxxxwxxwwxxxx +x.....xxx...'x'..xxx..'xxxx1...wwwwwxxwxxx +xx...xxxx''x'xxx'..'.xxxxxxxxx.wwwxxxxxxxx xxxxxxxxxxxxxxxxxx..xxxxxxxxxxwwxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP @@ -1598,7 +1682,7 @@ ENDMAP NAME: david_entry_016_chase TAGS: entry no_monster_gen no_pool_fixup -MONS: kobold, hobgoblin +MONS: kobold, hobgoblin / goblin / giant bat ITEM: stone, dart ORIENT: float FLAGS: no_rotate @@ -1625,6 +1709,7 @@ NAME: david_entry_017_fractal TAGS: entry no_monster_gen ORIENT: float FLAGS: no_rotate +KFEAT: X = teleport trap SHUFFLE: {[( MAP xxxxx+xxxxx+xxxxxxxxxxx@x @@ -1649,8 +1734,8 @@ xx+xxx..................x xx.xx...................x x..x....................x xxx.....................x -xx......................x -@.......................x +xx....................G.x +@......................Xx xxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP @@ -1726,7 +1811,7 @@ ENDMAP NAME: david_021_tetris TAGS: entry ORIENT: float -SHUFFLE: {[( +SHUFFLE: {[(, bcvx MAP xxxxxxxxxxx.@.xxxxxxxxxxx xxxxxxxxxxx...xxxxxxxxxxx @@ -1759,9 +1844,9 @@ ENDMAP NAME: david_022_central TAGS: entry -MONS: gnoll +MONS: gnoll, jackal, worm ORIENT: float -SHUFFLE: {[(< +SHUFFLE: {[(<, 123 MAP xxxxxxxxxxxxxxxx@xxxxxxxxxxxxxxxx xxxxxxxxxxx...........xxxxxxxxxxx @@ -1881,8 +1966,7 @@ MONS: worm / giant beetle ITEM: nothing / ring of hunger / protection from fire / protection from cold ITEM: nothing / choko / pear / apple / sausage / banana / any scroll CHANCE: 2 -SHUFFLE: {( -SHUFFLE: cv +SHUFFLE: {(, cvx MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxvxvx...............xvxvxxxxxx @@ -1921,8 +2005,7 @@ MONS: worm / giant beetle ITEM: nothing / ring of hunger / protection from fire / protection from cold ITEM: nothing / choko / pear / apple / sausage / banana / any scroll CHANCE: 2 -SHUFFLE: {( -SHUFFLE: cv +SHUFFLE: {(, cvx MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxvxvx...............xvxvxxxxxx @@ -1961,8 +2044,7 @@ MONS: worm / giant beetle ITEM: nothing / ring of hunger / protection from fire / protection from cold ITEM: nothing / choko / pear / apple / sausage / banana / any scroll CHANCE: 2 -SHUFFLE: {( -SHUFFLE: cv +SHUFFLE: {(, cvx MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxvxvx...............xvxvxxxxxx @@ -2001,8 +2083,7 @@ MONS: worm / giant beetle ITEM: nothing / ring of hunger / protection from fire / protection from cold ITEM: nothing / choko / pear / apple / sausage / banana / any scroll CHANCE: 2 -SHUFFLE: {( -SHUFFLE: cv +SHUFFLE: {(, cvx MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxvxvx...............xvxvxxxxxx @@ -2040,8 +2121,7 @@ FLAGS: no_rotate MONS: worm / giant beetle ITEM: nothing / ring of hunger / protection from fire / protection from cold CHANCE: 1 -SHUFFLE: {( -SHUFFLE: cv +SHUFFLE: {(, cvx MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxvxvx...............xvxvxxxxxx @@ -2079,8 +2159,7 @@ FLAGS: no_rotate MONS: worm / giant beetle ITEM: nothing / choko / pear / apple / sausage / banana / any scroll CHANCE: 1 -SHUFFLE: {( -SHUFFLE: cv +SHUFFLE: {(, cvx MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxvxvx...............xvxvxxxxxx @@ -2119,6 +2198,7 @@ TAGS: entry no_monster_gen MONS: generate_awake jelly ITEM: dart ORIENT: float +KFEAT: X = teleport trap SHUFFLE: {[( MAP xxxxxxxxxxxxxxxxxxxxx....@..... @@ -2126,10 +2206,10 @@ xxxxx......xxxxxxxxxx.........@ xxx............xxxxxx.......... xx................xxxxxxxxxxxxx xx....vvvv.......xx.....xxxxxxx -.....vv1dvv......x...{.....xxxx -@....vddd>v..................xx -.....vvddvv....x....vvv.......x -xxx...vvvv....xx...vvvvv..(...x +.....vv1dvvv.....x...{.....xxxx +@....vddd+Xvv................xx +.....vvddvvv...x....vvv.......x +xxx...vvvvv...xx...vvvvv..(...x xxx..........xx....vvvvv.....xx xxx..........xx.....vvv......xx xxxx........xx..............xxx @@ -2145,11 +2225,12 @@ NAME: david_028_sounds_drone TAGS: entry no_monster_gen MONS: generate_awake boring beetle FLAGS: no_rotate +KFEAT: X = teleport trap ORIENT: float SHUFFLE: {[(< MAP xxx.....@....ccccc....@.....xxx -xx...........cx>xc...........xx +xx...........cxXxc...........xx x............cxxxc............x .............cxxxc............. .............cxxxc............. @@ -2157,7 +2238,7 @@ x............cxxxc............x .............cxxxc............. ccccccccccccccxxxcccccccccccccc cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxc -c>xxxxxxxxxxxxx1xxxxxxxxxxxxx>c +cXxxxxxxxxxxxxx1xxxxxxxxxxxxxXc cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxc ccccccccccccccxxxcccccccccccccc .............cxxxc............. @@ -2165,7 +2246,7 @@ ccccccccccccccxxxcccccccccccccc .............cxxxc............. .............cxxxc............. x............cxxxc............x -xx...........cx>xc...........xx +xx...........cxXxc...........xx xxx.....@....ccccc....@.....xxx ENDMAP @@ -2176,25 +2257,26 @@ NAME: david_entry_029 TAGS: entry ORIENT: float SHUFFLE: [{ +SUBST: ':'.x, '=.x MAP xxxxxxxxxxxxxxxxxxxxx -xxxxx..xx......xx..xx -xxxx.......xxx..x...x -xxxx..{...xx........x -xxx......x....[....xx -xxx...............xxx -xxx............xxxxxx -xx..........xxxxxxxxx -xx.........xxxxxxxxx. -x.......xxxxxxxxxxx.. -x.....xxxxxxxxxxxxx.@ -x..xxxxxxxxxxxxxx.... -x...xxxxxx....x...xxx -x.......x..xx...xxxxx -x...........xxxxxxxxx -xx...(.xxx.......xxxx -xxx.....xxxx.......xx -xxxxxx...xxxxx......x +xxxxx''xx''''''xx''xx +xxxx''..'..xxx.'x..'x +xxxx'.{...xx'......'x +xxx'.....x''..[...'xx +xxx'....'.......''xxx +xxx'.........''xxxxxx +xx'........'xxxxxxxxx +xx'......''xxxxxxxxx. +x'.....'xxxxxxxxxxx.. +x...''xxxxxxxxxxxxx.@ +x.'xxxxxxxxxxxxxx.... +x..'xxxxxx''.'x..'xxx +x'...'''x'.xx..'xxxxx +x'..........xxxxxxxxx +xx'..(.xxx'....''xxxx +xxx'....xxxx''...''xx +xxxxxx'''xxxxx''...'x xxxxxxxxxxxxxxx..@..x ENDMAP @@ -2205,23 +2287,24 @@ NAME: david_entry_030 TAGS: entry ORIENT: float SHUFFLE: {[( -MAP -xxxxxxx..@..xxxxx -xxxxxx........xxx -xxxx....xxxx..xxx -xxx....xxxxx...xx -xxx.(..xxxxxx..xx -xx......xxxxx...x -xx.......xxxxx... -x....xx....xx...@ -...xxxxx........x -@..xxxx......[..x -....x..........xx -x......{..xxx...x -xx.......xxxx..xx -xxxxx..xxxxxxx.xx -xxxxx.x.xxxxx..xx -xxxx...@..xx.@..x +SUBST: ':'.x, '=.x +MAP +xxxxxxx'.@.'xxxxx +xxxxxx'..'...'xxx +xxxx'...xxxx..xxx +xxx...'xxxxx'.'xx +xxx.(.'xxxxxx..xx +xx'....'xxxxx'..x +xx...'...xxxxx'.' +x..''xx'..'xx...@ +..'xxxxx.'.'...'x +@.'xxxx'.....[.'x +'..'x'....''...xx +x'.....{.'xxx'.'x +xx'''....xxxx'.xx +xxxxx.'xxxxxxx.xx +xxxxx.x'xxxxx.'xx +xxxx'..@''xx.@.'x ENDMAP ############################################################################## @@ -2232,23 +2315,24 @@ TAGS: entry no_monster_gen ORIENT: float MONS: goblin, rat, giant bat SHUFFLE: {[( +SUBST: ?:?.w, ?=.w, ':'.x, '=.x MAP xxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxx.xx1..xxxxxxxx..33x -xxxx.....xxx.xxx.x.x..xxxx -xx....w...........x..xxx.x -x...www.....www..xx...2x.. -x..www....w.wwww......xx.@ -xx......wwww.www..ww..x... -xxx....wwww...wwwww..xx.xx -..xx...www.[({.www..xx.xxx -@..xx.wwwww...wwwww...xx.x -..xx...wwwww.wwwww...x..xx -x..xxx...wwww.ww......xxxx -xx..x......www......xxxx.x -xxx............xx..x.....x -xxxx.....xxxxxxx......x.2x -xxx..xxxxx...xxxxxx..xx1xx +xxxxxxx?xx1.'xxxxxxxx'.33x +xxxx'.??.xxx.xxx.x.x..xxxx +xx'..?w.....?.....x..xxx'x +x'.?www?.?.?www?.xx...2x.' +x'?www?.??w.wwww?...?.xx.@ +xx.???.?wwww.www.?ww..x..' +xxx'..?wwww??.wwwww?.xx.xx +''xx..?www?[({?www?.xx.xxx +@..xx?wwwww???wwwww?..xx'x +..xx..?wwwww.wwwww?..x..xx +x'.xxx.??wwww.ww.??...xxxx +xx..x....??www.??...xxxx'x +xxx...??....??.xx?.x.....x +xxxx'...'xxxxxxx''...'x.2x +xxx'.xxxxx'''xxxxxx''xx1xx xxxxxxxxxx.@.xxxxxxxxxxxxx ENDMAP @@ -2259,20 +2343,21 @@ NAME: david_entry_032 TAGS: entry no_monster_gen ORIENT: float SHUFFLE: {[( +SUBST: ?:?.w, ?=.w, ':'.x, '=.x MAP xxxxxxxxxxxxxxxxxxxxxxxxxxx -xwwwwwwwww................. -xwwwwww......w............. -xwww......w.www......x..... -xww......ww.w.ww....xx..... -xw......ww[www..w.......... -xw..(..wwwwwwwww..........@ -xw.....ww{wwww..w.....x.... -xww......wwww..ww.....x.... -xww.........wwww...x....... -xwww..............x....xx.. -xwwwwwwww.................. -xxxxxxxxxxxxxxxxx..@....... +xwwwwwwwww?......'''....''. +xwwwwww??...?w?......'..... +xwww??....w.www??...'x'..'. +xww??...?ww.w.ww.?..xx..... +xw?....?ww[www..w.?..'..... +xw?.(.?wwwwwwwww......'...@ +xw?....ww{wwww..w....'x.'.. +xww??...?wwww?.ww?....x.''. +xwww??.....?wwww...x..'.... +xwwwwww??....???..'x....xx' +xwwwwwwww??''...........''' +xxxxxxxxxxxxxxxxx..@....''' ENDMAP ############################################################################## @@ -2326,18 +2411,19 @@ ENDMAP NAME: david_entry_034 TAGS: entry ORIENT: float -SHUFFLE: {[( +SHUFFLE: {[(, +' +SUBST: ':'x+, '=x+ MAP xxxxxxx.@.xxxxxxx x.....x...x.....x -x..(..x...+..[..x +x..(..'...+..[..x x.....xx.xx.....x -xxx+xxxx.xxxxxxxx +xxx+xxxx.xxxx'xxx @....xx...xx....@ .....xx...xx..... xxx+xxxx.xxxx+xxx x.....xx.xx.....x -x..{..x...x..]..x +x..{..'...'..]..x x.....x...x.....x xxxxxxx.@.xxxxxxx ENDMAP @@ -2609,14 +2695,15 @@ NAME: david_entry_039 TAGS: entry ORIENT: float SHUFFLE: {[( +SUBST: '=cx., "=+.= MAP xxxxxxxxxxxxxxxxxxxx xccccccx.......x..c. -xccccccc..ccx..x..x. -xcc.(..c.....c..x... -xcc.[..+..c..+.x...@ -xcc.{..c..cxxc....x. -xccccccc..x.....xx.. +xccccccc..ccx'.x..x. +xcc.(..c..'..c.'=''. +xcc.[..+..c..+.x.."@ +xcc.{..c..cxxc.'..x. +xccccccc..x....'xx'. xcccccxxc...cc...... xxxxxxxxxxxxxxxxxxxx ENDMAP @@ -2647,19 +2734,21 @@ ENDMAP NAME: david_entry_041 TAGS: entry ORIENT: float -SHUFFLE: {[( +SHUFFLE: {[(, vcx +SUBST: ? = x= +SUBST: ' = x. MAP xxxxxxxxxxxxxxxx.@ -@...xxxxxx..xx.=.. -xxx..xxxx.xx..xx.. -xxxx..xxx=xxxxxx.. +@...xxxxxx.'xx.?.. +xxx'.xxxx.xx..xx.. +xxxx.'xxx?xxxxxx.. xxxxx.xxx.xxxxxx.. xx[x.......xxxxx.. -xx...vvvv...xxxx.. -x..vvvvvvv....xx.. -x..vvvvvv..xx..x.. -xx..vv....xxxx.x.. -x(x....xx{xxxx.=.. +xx...vvvv..'xxxx.. +x'.vvvvvvv....xx.. +x..vvvvvv..xx'.x.. +xx..vv....xxxx'x.. +x(x'...xx{xxxx.?.. xxxxxxxxxxxxxxxxxx ENDMAP @@ -2670,22 +2759,23 @@ NAME: david_entry_042 TAGS: entry ORIENT: float SHUFFLE: {[( +SUBST: ':'.x, '=x. MAP xxxx@xxxxxxxxx xxxx.xxxx...xx -xx....xx..x..@ -x...x.......xx -x.........xxxx -x.........xxxx -x..........xxx -xx...xxx....xx -xx..xxxxxx..xx -xx..xxxxxxx..x -xxx..xxxxxx..x +xx'...xx..x..@ +x'..x..'....xx +x'.......'xxxx +x'........xxxx +x'...''....xxx +xx..'xxx'...xx +xx.'xxxxxx..xx +xx..xxxxxxx.'x +xxx.'xxxxxx..x xxx..xxxxxx.{x xxxx..xxxx..xx -xxxxx...xx..xx -xxxxxxx.(.[.xx +xxxxx...xx.'xx +xxxxxxx.(.['xx xxxxxxxxxxxxxx ENDMAP @@ -2696,18 +2786,19 @@ NAME: david_entry_043 TAGS: entry ORIENT: float SHUFFLE: {[( +SUBST: ':'.x, '=x., ":".c, "=.c MAP xxxxxxxxxxxxxxxxxxxxxxxx xxxxx.....xxxxxxxxxxxxxx -xxx..........xxxxxxxxxxx -xx....ccc..[.....xxxxxxx -x...cccccc....cc...xxx.@ -x.{.ccccc.......cc..x.x. -x....cc.....xx...c...xx. -xx......(..xxxx......xx. -xx........xxxxxxxx..xxx. -xx.....xxxxxxxxxxxx.xxx. -xxx..xxxxxxxxxxxxxx.xxx. +xxx'.."""....xxxxxxxxxxx +xx'.."ccc".[.....xxxxxxx +x...cccccc"...cc...xxx.@ +x.{.ccccc"..'.."cc..x.x. +x....cc....'xx.."c".'xx. +xx......(.'xxxx'....'xx. +xx'..''...xxxxxxxx.'xxx. +xx'..''xxxxxxxxxxxx.xxx. +xxx''xxxxxxxxxxxxxx.xxx. xxxxxxxxxxxxxxxxxxx@...@ ENDMAP @@ -2779,7 +2870,7 @@ ORIENT: float SHUFFLE: {[( MAP xx.(..x..xx. -xx...xx...x. +xx...xx...=. .....xxx..xx ....xxx...x. x...xx....x. @@ -2797,7 +2888,7 @@ ENDMAP NAME: david_entry_047 TAGS: entry ORIENT: float -SHUFFLE: {[( +SHUFFLE: {[(, TVG MAP xxxxx.@.xxxxx x...........x @@ -2821,8 +2912,7 @@ TAGS: entry no_monster_gen FLAGS: no_rotate ORIENT: float CHANCE: 5 -SHUFFLE: {[( -SHUFFLE: cvba +SHUFFLE: {[(, cvba MAP xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxx...xxxx..xxxxxx @@ -2840,8 +2930,7 @@ TAGS: entry no_monster_gen FLAGS: no_rotate ORIENT: float CHANCE: 5 -SHUFFLE: {[( -SHUFFLE: cvba +SHUFFLE: {[(, cvba MAP xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxx...xxxx..xxxxxx @@ -2860,8 +2949,7 @@ ENDMAP NAME: david_entry_049 TAGS: entry ORIENT: float -SHUFFLE: {[( -SHUFFLE: cv +SHUFFLE: {[(, cv MAP xxxxxxxxxxxxxxxxxxxxxxxxxx xcxcxcxcxcxcxcxcxcxcxcxxcx @@ -2881,22 +2969,23 @@ ENDMAP NAME: david_entry_050 TAGS: entry ORIENT: float -SHUFFLE: {[( +SHUFFLE: {[(, TcGv, XY +SUBST: ':.x, X=+=x, Y=+=x MAP xxxxxxxxxxxxxxxxxx..@ -x.......xxxxxxxxxx... -x.......xxxx...xxx... -x..x+x.xxx...T...x... -x..x.x.[xx.......x... -xxxx.xxxxx..x+x..x... -xxxx.xxxxxxxx.xxxxxxx +x'''''''xxxxxxxxxx... +x'.....'xxxx...xxx... +x'.x+x.xxx'..T..'x... +x..x.x.[xx.......Y... +xxxx.xxxxx''x+x''x... +xxxx.xxxxxxxx.xxxxxXx @...................@ xxxxxx.xxxxxxxxxxx.xx -xxxxxx+xxxxxx....x.xx -xxxx.....xxxx.c..x.xx -xxx.......xxx.{..+.xx -xxx..xxx..xxx.c..xxxx -xxxx..(..xxxx....xxxx +xxxxxx+xxxxxx...'x.xx +xxxx''.''xxxx.c..x.xx +xxx'.....'xxx.{..+.xx +xxx'.xxx.'xxx.c..xxxx +xxxx..(..xxxx...'xxxx xxxxxxxxxxxxxxxxxxxxx ENDMAP @@ -2979,6 +3068,7 @@ NAME: david_entry_051_d TAGS: entry no_monster_gen ORIENT: float CHANCE: 1 +SHUFFLE: cvb MAP xxxxxxxxxxxxxxxxxxxx...@ xxxxxxx.......xxx[.=.... @@ -3004,8 +3094,10 @@ ENDMAP NAME: david_entry_052 TAGS: entry -MONS: rat +MONS: rat, goblin, giant bat ORIENT: float +SHUFFLE: [{( +SUBST: X = x= MAP xxxxxxxxxxxx..@ xx.1.%1xxxxx... @@ -3013,7 +3105,7 @@ x%.1.....xxx(.. x1........xx... xxx...xx..xx... xxxxxxxxx.1x... -xxxxxxxxxx+x=xx +xxxxxxxxxx+xXxx ..[.xxxxxx....x ....xxxxxx.{..x @...xxxxxxxx@xx @@ -3024,9 +3116,10 @@ ENDMAP NAME: david_entry_053 TAGS: entry no_monster_gen -MONS: jackal +MONS: jackal / worm ORIENT: float SHUFFLE: {( +SUBST: l = l. MAP xxxxxxxxxxxxxxxxx@xxx @.xx...xx..xx..xx.xxx @@ -3051,6 +3144,7 @@ ENDMAP NAME: david_entry_054 TAGS: entry ORIENT: float +SUBST: c:xc, T:TGv., %:%.T MAP ..................... ..................... @@ -3072,11 +3166,11 @@ ENDMAP # Just another circle NAME: david_entry_055_a -TAGS: entry +TAGS: entry no_monster_gen ORIENT: float FLAGS: no_rotate CHANCE: 5 -SHUFFLE: {[( +SHUFFLE: {[(, lw MAP xxxxxxxxxxxxxxxxxxxxxxx xxxxxxx.........xxxxxxx @@ -3098,10 +3192,10 @@ xxxxxxxxxxxxxxxxxxxxxxx ENDMAP NAME: david_entry_055_b -TAGS: entry +TAGS: entry no_monster_gen ORIENT: float CHANCE: 5 -SHUFFLE: {[( +SHUFFLE: {[(, lw MAP xxxxxxxxxxx@xxxxxxxxxxx xxxxxxx.........xxxxxxx @@ -3131,8 +3225,7 @@ ORIENT: float CHANCE: 5 FLAGS: no_rotate ITEM: nothing, nothing, nothing -SHUFFLE: cbv -SHUFFLE: def} +SHUFFLE: cbvx, def} MAP .............................. ...............cc............. @@ -3160,7 +3253,7 @@ TAGS: entry ORIENT: float CHANCE: 5 FLAGS: no_rotate -SHUFFLE: cbv +SHUFFLE: cbvx MAP .......................... ............cc............ @@ -3320,9 +3413,7 @@ NAME: david_entry_059 TAGS: entry ORIENT: float ITEM: nothing, nothing -SHUFFLE: =+ -SHUFFLE: TV -SHUFFLE: {[ +SHUFFLE: =+, TVG, {[ MAP xx@...@xxxxxxxx xx+xxx+xxxxxxxx @@ -3345,10 +3436,7 @@ NAME: david_entry_060 TAGS: entry ORIENT: float ITEM: nothing, nothing -SHUFFLE: =+ -SHUFFLE: cx -SHUFFLE: de/{( -SHUFFLE: {[( +SHUFFLE: =+, cx, de/{(, {[( MAP @.............@ .....xx+xx..... @@ -3371,50 +3459,54 @@ TAGS: entry no_monster_gen ORIENT: northwest SUBST: ?=l. CHANCE: 6 +KFEAT: X = teleport trap SHUFFLE: Cc MAP -xxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxx -xxxxxxClllllllll?...@ -xxxxxxllllllll??..... -xxxxxxlllllllll...... -xxxxxxlllllllll...... -xxxxxxlllllllll...... -xxxxxxllllllll?...... -xxxxxxllllllll....... -xxxxxxlllllll?....... -xxxxxx?ll?ll?.....{.. -xxxxxxl.??........... -xxxxxx..............@ +xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxx +xxxxxxXlllllllllll.... +xxxxxxlClllllllll?...@ +xxxxxxlllllllll??..... +xxxxxxllllllllll...... +xxxxxxllllllllll...... +xxxxxxllllllllll...... +xxxxxxlllllllll?...... +xxxxxxlllllllll....... +xxxxxxllllllll?....... +xxxxxxl?ll?ll?.....{.. +xxxxxxll.??........... +xxxxxxl..............@ ENDMAP NAME: david_entry_061_b_altar TAGS: entry no_monster_gen ORIENT: northwest CHANCE: 4 +KFEAT: X = teleport trap SHUFFLE: Cc MAP -xxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxxxxxxxxxxx -xxxxxxCwwwwwwwwwww..@ -xxxxxxwwwwwwwwwww.... -xxxxxxwwwwwwwwwww.... -xxxxxxwwwwwwwwww..... -xxxxxxwwwwwwwwww..... -xxxxxxwwwwwwwww...... -xxxxxxwwwwwwwww...... -xxxxxxwwwwwwww....... -xxxxxxwwwwwww.....{.. -xxxxxxwwwww.......... -xxxxxx..............@ +xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxx +xxxxxxXwwwwwwwwwwwwww. +xxxxxxwCwwwwwwwwwww..@ +xxxxxxwwwwwwwwwwww.... +xxxxxxwwwwwwwwwwww.... +xxxxxxwwwwwwwwwww..... +xxxxxxwwwwwwwwwww..... +xxxxxxwwwwwwwwww...... +xxxxxxwwwwwwwwww...... +xxxxxxwwwwwwwww....... +xxxxxxwwwwwwww.....{.. +xxxxxxwwwwww.......... +xxxxxxw..............@ ENDMAP ############################################################################## @@ -3423,7 +3515,7 @@ ENDMAP NAME: david_entry_062 TAGS: entry no_monster_gen no_pool_fixup ORIENT: float -SHUFFLE: {[ +SHUFFLE: {[, lw MAP .......xxxxxx@0 @+xlllxx......@ @@ -3628,6 +3720,7 @@ TAGS: entry ORIENT: float CHANCE: 1 SHUFFLE: {[( +SUBST: X : x:20 G:4 l:1 MAP cccccccccccccccccccccccccccccccccccccccc c[c..c...cc......c.....................c @@ -3637,12 +3730,12 @@ c..cccc.cc..c..cc.......c..............c c.cc...c.c..c......c...c....xxxxxxxx...c cc.c.ccc..c...c..cc...c....xxxxT9T.x...c ccc.ccc.c.c..c...c..c.....xxxxx....x...c -c{ccc..cc.cc......cc......G.x$x.C..x...@ -c.c...c.cc.c..cc............+0x..9.x...c +c{ccc..cc.cc......cc......G.x$X.C9.x...@ +c.c...c.cc.c..cc............+0x....x...c cc.cccccc.c...c..c..cc......+0x....x...c -cccc.c...c..c...c.........G.x$x.C.>x...c +cccc.c...c..c...c.........G.x$X.C..x...c c.cc..ccc.c.......c...c...xxxxx....x...c -c..cc.c.c...cc...ccc...cc..xxxxT.T.x...c +c..cc.c.c...cc...ccc...cc..xxxxT.T>x...c cc..cc.cc.cc....c....c......xxxxxxxx...c c(.c..c.cc...c......c..................c cccccccccccccccccccccccccccccccccccccccc @@ -3666,9 +3759,9 @@ ccc.ccc.c.c..c...c..c.....xxxxx1...x...c c{ccc..cc.cc......cc......G.x$x.V..x...@ c.c...c.cc.c..cc............+0x....x...c cc.cccccc.c...c..c..cc......+0x.1..x...c -cccc.c...c..c...c.........G.x$x.V.>x...c +cccc.c...c..c...c.........G.x$x.V..x...c c.cc..ccc.c.......c...c...xxxxx....x...c -c..cc.c.c...cc...ccc...cc..xxxxT.T.x...c +c..cc.c.c...cc...ccc...cc..xxxxT.T>x...c cc..cc.cc.cc....c....c......xxxxxxxx...c c(.c..c.cc...c......c..................c cccccccccccccccccccccccccccccccccccccccc @@ -3718,9 +3811,9 @@ ccc.ccc.c.c..c...c..c.....xxxxx....x...c c{ccc..cc.cc......cc......G.x$x.V..x...@ c.c...c.cc.c..cc............+0x...1x...c cc.cccccc.c...c..c..cc......+0x1...x...c -cccc.c...c..c...c.........G.x$x.V.>x...c +cccc.c...c..c...c.........G.x$x.V..x...c c.cc..ccc.c.......c...c...xxxxx....x...c -c..cc.c.c...cc...ccc...cc..xxxxT.T.x...c +c..cc.c.c...cc...ccc...cc..xxxxT.T>x...c cc..cc.cc.cc....c....c......xxxxxxxx...c c(.c..c.cc...c......c..................c cccccccccccccccccccccccccccccccccccccccc @@ -4035,7 +4128,7 @@ ENDMAP NAME: matt_entry_002 TAGS: entry ORIENT: float -SHUFFLE: {[ +SHUFFLE: {[, TU MAP xxxxxxxxxx@xxxxxxxxxx x..x.............x..x @@ -4063,22 +4156,23 @@ NAME: matt_entry_003 TAGS: entry no_monster_gen ORIENT: float SHUFFLE: {[( +SUBST: ':x., ":x., ?:x., _:x. MAP xxxxxxxxxx@xxxxxxxxxx -xx.................xx -x.x........x......x.x +xx..........'......xx +x.x......_.x......x.x x..x......x......x..x -x...x....x.x....x...x +x...x....x.x."..x...x x....x..x...x..x....x -x.....xx.....xx.....x +x.....xx...".xx.....x x.....x...x...x.....x -x..x.x...x.....x....@ +x..x.x.?.x.....x....@ @...x...x.(.[.x.x...x -x....x...x.{.x......x -x.....x...x.x.x.....x +x..'.x.".x.{.x..._..x +x.'...x...x.x.x.....x x....x.x...x...x....x x...x...x...x...x...x -x..x.....x.......x..x +x..x.....x...?...x..x x.x.......x.......x.x xx.................xx xxxxxxxxxx@xxxxxxxxxx @@ -4091,27 +4185,28 @@ NAME: matt_entry_004 TAGS: entry ORIENT: float SHUFFLE: {[( +SUBST: ':'.x, '=x. MAP xxxxxxx@xxxxxxxxxxxxx@xxxxxxx -x....x....x.................x -x.....xxxx............x.....x -x.................xx..x.....x -x........x..........xx.xx...x -x....x.......x.x.....x......x -x...x.x..............x......x -x....x.......x.x.........x..x -x........xxx..{...x......x..x -@........................x..x -x........xxx...xx........x..x -x....x........xx.x...[....x.@ -x........x....x.xx........x.x -x.....x.......x.x........x..x -x............xx.x...x....x..x -x..x.....(...x.xx........x..x -x......x.........xx......x..x +x....x..'.x.................x +x...'.xxxx...........'x.....x +x'..''.''.........xx..x'....x +x'...'...x'...'....'xx.xx...x +x'...x'......x.x.....x..''..x +x'.'x'x'.......'....'x......x +x'..'x.......x'x.....''..x..x +x'...'...xxx..{...x'....'x'.x +@''.......'.....'....'..'x'.x +x''......xxx...xx........x..x +x....x.......'xx.x...[....x.@ +x...'....x''..x.xx........x.x +x'....x....'..x'x..'''...x..x +x...'.'....'.xx.x...x...'x.'x +x..x.....(...x.xx.......'x.'x +x..'..'x.........xx.....'x..x x...x...........xx.x..x..x..x -x........x......x.xx........x -x................xx.........x +x.......'x.'''..x.xx........x +x.........'......xx.........x xxxxxxxxxxx@xxxxxxxxxxxxxxxxx ENDMAP @@ -4245,6 +4340,7 @@ TAGS: entry ORIENT: northwest FLAGS: no_rotate SHUFFLE: [({ +SUBST: ':'.x, '=x. MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx @@ -4252,18 +4348,18 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -xxxxxxxxxxxx....xxxxxxxxxxxxxxx....xx..xxx...x.xxx...xxx..xxxxxxxxx -xxxxxxxxxx..........xx.................................xx...xx...xx -xxxxxxxx.....ccccc...xxx.....ccccc...........ccccc.............x..x -xxxxxx....cccc...cccc.....cccc...cccc.....cccc...cccc.........xxx.@ -xxxxxx..ccc.........ccc+ccc.........ccc+ccc.........ccc........xxxx -xxxxxx..c......{......+.+......[......+.+......(......c.........xxx -xxxxxx..ccc.........ccc+ccc.........ccc+ccc.........ccc........xxxx -xxxxxx....cccc...cccc.....cccc...cccc.....cccc...cccc...........xxx -xxxxxx.......ccccc...........ccccc...........ccccc............xxxxx -xxxxxx....................xx..........xxxx....................xxxxx -xxxxxx.....xxx.............xx...xx.xxxxxxxxxx.x..........xxx...xxxx -xxxxxx.xxxxxxxxxxxxxx..xxx.xxx...xxxxxxxxxxxxxxxxxx....xxxxxx...xxx +xxxxxxxxxxxx....xxxxxxxxxxxxxxx....xx..xxx.''x.xxx..'xxx..xxxxxxxxx +xxxxxxxxxx''........xx...''.........''...'.............xx...xx...xx +xxxxxxxx'....ccccc...xxx.....ccccc......'....ccccc.............x..x +xxxxxx....cccc...cccc.....cccc...cccc.....cccc...cccc.....''..xxx.@ +xxxxxx..ccc.........ccc+ccc.........ccc+ccc.........ccc....''..xxxx +xxxxxx'.c......{......+.+......[......+.+......(......c...'.....xxx +xxxxxx'.ccc.........ccc+ccc.........ccc+ccc.........ccc...''...xxxx +xxxxxx....cccc...cccc.....cccc...cccc.....cccc...cccc......'..'.xxx +xxxxxx.......ccccc......'....ccccc...........ccccc......'.....xxxxx +xxxxxx'................'..xx..........xxxx..........'....'....xxxxx +xxxxxx.''..xxx...''.....'..xx...xx.xxxxxxxxxx.x..'''..''.xxx''.xxxx +xxxxxx'xxxxxxxxxxxxxx..xxx.xxx...xxxxxxxxxxxxxxxxxx....xxxxxx...xxx xxxxxxxxxxxxxxxxxxxxxx@xxxxxxxx@xxxxxxxxxxxxxxxxxxxxxx@xxxxxxxx@xxx ENDMAP @@ -4275,9 +4371,7 @@ ORIENT: west FLAGS: MONS: rat, goblin, giant bat, kobold ITEM: sausage / beef jerky, nothing, nothing -SHUFFLE: {[( -SHUFFLE: 234 -SHUFFLE: ef~ +SHUFFLE: {[(, 234, ef~ MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxxxxxxxxx @@ -4343,43 +4437,71 @@ ENDMAP NAME: entry_elethiomel_004 TAGS: entry no_monster_gen ORIENT: float +SHUFFLE: {[(, WXYZ +SUBST: W=., X=X., X=x=., Y=Y., Y=x=., Z=Z., Z=x=. MAP -xx.xxxxxxxxxxxxxxxxxxxxxxxxxx +xx@xxxxxxxxxxxxxxxxxxxxxxxxxx xx.x.......xxxxx...xx......xx -xx.x.xxxxx.xxxxx.x.xxxxxxx.xx -xx...x{..x...x...x...x(xxx... +xx.xXxxxxx.xxxxx.x.xxxxxxx.xx +xx...x{..x...x...x...x(xxx..@ xxxx.xxx.x.x.x.xxxxx.x.xxx.xx -...x...x...x.....xxx...x...xx +@..x...x...x.....xxx...x...xx xx.xxx.xxxxxxxxx.xxxxxxx.xxxx -xx.....xxxxx.x.....x.....x... +xx.....xxxxx.x.....x.W...x..@ xxxx.xxxxxxx.x.xxx.x.xxxxx.xx -xx...xxxxxxx...xxx...x.....xx +xx...xxxxxxx...xxx...x...Z.xx xx.xxxxxxxxx.x.xxx.xxx.xxx.xx xx...xxxxx...x.....x...x...xx xxxx.x[xxx.xxxxxxxxx.xxx.xxxx -xxxx.................xxx...xx -xxxxxxxxxxxxxxxxxxxxxxxxxx.xx +xxxx.....Y...........xxx...xx +xxxxxxxxxxxxxxxxxxxxxxxxxx@xx ENDMAP ############################################################## # It's quiet. Too quiet.... -NAME: entry_elethiomel_005 +NAME: entry_elethiomel_005_a TAGS: entry no_monster_gen ORIENT: float -MONS: rat, hobgoblin, goblin -SHUFFLE: {[( +MONS: rat / nothing, hobgoblin / goblin / nothing +SHUFFLE: {[(, '"/AB, !?/CD +SUBST: ':., ":=, A:x, B:x, !:., ?:=, C:x, D:x MAP xxxxxxxxxx@xxxxxxxxxx xxxxxxxxxx.xxxxxxxxxx xxxxxxxccc+cccxxxxxxx xxxxxxxc.G.G.cxxxxxxx xxcccccc.....ccccccxx -xc%.3.cc.....cc11.$cx +xc%.2.cc.....cc11.$cx xc%.2.=..G.G..=11..cx xc%...cc.....cc11.$cx xxcccccc.....ccccccxx -......=..G.G..=...... +''''''"..G.G..?!!!!!! +xxcccccc.....ccccccxx +xxxxxxcG.....Gcxxxxxx +xxxxxxc.[.{.(.cxxxxxx +xxxxxxcccccccccxxxxxx +xxxxxxxxxxxxxxxxxxxxx +ENDMAP + +NAME: entry_elethiomel_005_b +TAGS: entry no_monster_gen +ORIENT: float +MONS: rat / nothing, hobgoblin / goblin / nothing +SHUFFLE: {[(, '"/AB, !?/CD +SUBST: ':., ":=, A:x, B:x, !:., ?:=, C:x, D:x +KFEAT: X = teleport trap +MAP +xxxxxxxxxx@xxxxxxxxxx +xxxxxxxxxx.xxxxxxxxxx +xxxxxxxccc+cccxxxxxxx +xxxxxxxc.G.G.cxxxxxxx +xxcccccc.....ccccccxx +xc%.2.cc.....cc11.$cx +xcX.2.c..G.G..c11.Xcx +xc%...cc.....cc11.$cx +xxcccccc.....ccccccxx +''''''"..G.G..?!!!!!! xxcccccc.....ccccccxx xxxxxxcG.....Gcxxxxxx xxxxxxc.[.{.(.cxxxxxx @@ -4393,7 +4515,9 @@ ENDMAP NAME: entry_elethiomel_006 TAGS: entry ORIENT: float -SHUFFLE: {[( +SHUFFLE: {[(, XY/AB +KFEAT: X = teleport trap +SUBST: Y=x, A=., B== MAP xxxxxxx.xxxxxxx...xxxxxxx xxxxxxx.xxxxxx...xxxxxxxx @@ -4401,7 +4525,7 @@ xxxxxxx.xxxxx...xxxxxxxxx xxxxx...xxxx...xxxxxxxxxx xxxxx{....x...xxxxxxxxxxx xxxxx........xxxxxxxxxxxx -x]..=........xxxxxxxxxxxx +x].XY........xxxxxxxxxxxx xxxxx.[.................. xxxxx.......(.xxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx @@ -4414,6 +4538,7 @@ NAME: entry_elethiomel_007 TAGS: entry ORIENT: float SHUFFLE: {[( +SUBST: ~ = ~ .:5 # Too bad there isn't a "rolling boulder" trap. MAP xxxxxxxxxx.xxxxxxxxxxxxxxx @@ -4422,7 +4547,7 @@ xxxxxxxxxx.xxxxxxxxxxxxxxx xxxxxxxxxx.xxxxxxxxxxxxxxx xxxxxxxxxx.xxxxxxx.....xxx xxxxxxx.......xx...~~~..xx -.........{[(.....G.~%~...x +.........{[(...+.G.~%~...x xxxxxxx.......xx...~~~..xx xxxxxxxxxx.xxxxxxx.....xxx xxxxxxxxxx.xxxxxxxxxxxxxxx @@ -4502,10 +4627,8 @@ DEPTH: 1-11 # Vaults tagged "dummy" are no-ops when the dungeon builder is looking for maps # by depth. TAGS: dummy - ORIENT: float CHANCE: 100 - MAP x ENDMAP @@ -4566,30 +4689,30 @@ ENDMAP ############################################################################## # Rubicon -NAME: erik_rubicon_a -DEPTH: 10-16 -ORIENT: float -FLAGS: no_rotate -CHANCE: 6 -ITEM: ring of levitation / potion of levitation / nothing, potion of levitation -ITEM: nothing, nothing, nothing -SHUFFLE: {[( -SHUFFLE: wl -SHUFFLE: )gh -MAP -xxxxccccccccwwwww.@wwww.@wwwwwww...@wwwwwww.@wwww@..wccccxxxxxx -ccccwwwwwwwww..wwwww.wwwwwwww.wwwwwww.wwwwwwwwwwwwwwwwwwccccccc +NAME: erik_rubicon_a +DEPTH: 10-16 +ORIENT: float +FLAGS: no_rotate +TAGS: no_pool_fixup +CHANCE: 6 +ITEM: ring of levitation / potion of levitation / nothing, potion of levitation +ITEM: nothing, nothing, nothing +SHUFFLE: {[(, )gh +SUBST: ?:?.w, ?=w., w:lw, ':'.c, '=cx. +MAP +xxxxcccccccc????w.@??ww.@www???w...@???wwww.@ww??@..?ccccxxxxxx +ccccwwwwwwwww..wwwww.wwwwwwww.wwwwwww.wwwwwwwwwwww??wwwwccccccc cwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwc cwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwc ccwwwwwwwwwwwwwwwwwwwcccwwwwwwwwwcwwwwwwwwwwwwwwwwwwwwwwcccwccc cwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwc cwwwwwwwwwwwwwwwwwwwwwccwwwwwwwwwcwcwwwwwwwwwwwwwwwwwwwwwwccccc cwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwcwwwww.wwwwwwwwwwwwwwwwwwwwwwc -ccwcwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.wwwwwwwccccc -ccccccwwwwwww.wwwwwxwwwwww...wwwwwwwwwwwwwwwwwwwwwwwwwwcccccxxx -xxxxcxx.........w..xx........wwwww...c......ww.....www..cxccxxx -xxxxcx..(cc[......xx...x....x..wxx.xcc..cxcx...xxx.....chxxcxxx -xxxxcx..cc{c..xx.....xx...cc..xx....xcc......xxx..x.xxc...cxxxx +ccwcwwwwwwwwwwwwwwwxwwwwww???wwwwwwwww???wwwwwwwww.wwwwwwwccccc +cccccc????w??.w????xw??w??...?wwww???w????w?w???w???w??cccccxxx +xxxxcxx...''....?..xx........??w??...c''....??.....???..cxccxxx +xxxxcx..(cc[.''..'xx...x.''.x..?xx.xcc..cxcx...xxx.'...chxxcxxx +xxxxcx..cc{c..xx.....xx...cc..xx....xcc....''xxx..x.xxc...cxxxx xxxxccx....e.xx....x..x.....c....cx..x...x......c......cxcxxxxx xxxxxcxexxx.x.x.xx.x.xx.xcc.xx.xccxx....xx.x.xxxccxx.xcccxxxxxx xxxxxccx.gxxx..x..xdx..x.xxxx.x...xx.xx...xx.xxxx)..xxcxxxxxxxx @@ -4597,31 +4720,29 @@ xxxxxxcxxxxxxxx...xxxxxxxxxccccccc..xxxxccccccccxxxccccxxxxxxxx xxxxxxcccccccccccccccccccccccccccccccccccxxxxxcccccccxxxxxxxxxx ENDMAP -NAME: erik_rubicon_b -DEPTH: 10-16 -TAGS: no_pool_fixup -ORIENT: float -FLAGS: no_rotate -CHANCE: 4 -ITEM: ring of levitation / potion of levitation / nothing, potion of levitation -ITEM: nothing, nothing, nothing, nothing -SHUFFLE: {[( -SHUFFLE: fgW -SHUFFLE: )hi +NAME: erik_rubicon_b +DEPTH: 10-16 +ORIENT: float +FLAGS: no_rotate +CHANCE: 4 +ITEM: ring of levitation / potion of levitation / nothing, potion of levitation +ITEM: nothing, nothing, nothing, nothing +SHUFFLE: {[(, fgW, )hi +SUBST: ?:?.wW, ?=wW., ':'.c, '=c. MAP -xxxxccccccccwgwwf.@wgfw.@wwwgwfw...@gwfwwww.@wwww@..wccccxxxxxx -ccccwwwwwwwww..fwwww.wwwwwwww.wwwwwww.wwwwwwwwwwwffggwwwccccccc -cwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwc +xxxxcccccccc?gw?f.@wgf?.@w??g?fw...@gwfw???.@wwww@..?ccccxxxxxx +ccccwwwwwww??..f????.ww???www.???ww??.wwwwwwwwwwwffgg?wwccccccc +cwwwwwwwwwwww??wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww??wwwwwwwwwc cwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwc ccwwwwwwwwwwwwwwwgwwwcccwwwfwwwwwcwwwwgwwwwwwwwwwwwwwwwwcccwccc cwwwwwwwwwwwwwwgwwwwwwwwwwwwfwwwwwwwwwwwwwfwwwwwwwwwwwwwwwwwwwc -cwwwwwwwwwwwwwwwwwwwwwccwwwwwwwwwcwcwwwwwwwwwwwwwwwwwwwwwwccccc +cwwwwwwwwwwwwwwwwwwwwwccwwwwwwwwwcwcwwww?wwwwwwwwwwwwwwwwwccccc cwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwcwwwww.wwwwwwwwwwwwwwwwwwwwwwc -ccwcwwwwwgwwwwfwwwwxwwwwwwwwwwwwwwwwwwwfgwwwgwwwww.wwwwwwwccccc -ccccccwffwgwwfwwwwgxwwwwww...wwwwwwwwwfwgwwfwgwwwfgwwwgcccccxxx -xxxxcxx.........w..xx........wwwww...c......ww.....wgg.xcxccxxx -xxxxcx..(cc[.....xx....x....x..w...xcc..cxcx.x..x......cxhxcxxx -xxxxxcc..c{c..x.x...c.xxx.x.xx....xx..cc..c.xx...cc..xxx...xxxx +ccwcwwwwwg?wwwfwwwwxwwwwwwwwwwwwwwwwwwwfgwwwgwwwww.wwwwwwwccccc +ccccccwffwg??fw?ww?gx??ww?..??wwwww??w?fwgw?fwgw??fg??gcccccxxx +xxxxcxx...'''...?..xx.....''.?ww??...c.'....??...'.?gg.xcxccxxx +xxxxcx..(cc[.'.'.xx..'.x.'..x..?...xcc..cxcx.x..x..''..cxhxcxxx +xxxxxcc..c{c..x.x...c.xxx.x.xx.'.'xx..cc..c.xx''.cc..xxx...xxxx xxxxccx....e.xx...x...x.....c...c....cc....x...x....x....cxxxxx xxxxxcxexxxxx.x.xxxx.x..xcc.xx..cc.x....xx.x.x.xccxx.xcccxxxxxx xxxxxccx..xi.x.x.xxdxxxx...x..xx..xxxxx...x).xx..xc.xxcxxxxxxxx @@ -4635,7 +4756,7 @@ ENDMAP NAME: erik_ogre DEPTH: 4-9 ORIENT: float -MONS: ogre / iron devil +MONS: ogre / iron devil / w:5 nothing ITEM: potion of heal wounds / speed / berserk rage SHUFFLE: {( MAP @@ -4666,44 +4787,49 @@ ENDMAP ################################### # Hellmouth (Lemuel) # note that other than the imps, the demons here cannot fly -NAME: hellmouth_1 -FLAGS: no_rotate -MONS: imp / quasit / shadow imp, hellion / rotting devil / iron devil / hairy devil / hell hound -ITEM: good_item demon blade / good_item demon whip / good_item demon trident / wand of draining / wand of fire / ring of fire / Necronomicon / book of demonology / scroll of torment +NAME: hellmouth_1 +FLAGS: no_rotate +MONS: imp / quasit / shadow imp, hellion / rotting devil / iron devil / hairy devil / hell hound +ITEM: good_item demon blade / good_item demon whip / good_item demon trident / wand of draining +ITEM: wand of fire / ring of fire / Necronomicon / book of demonology / scroll of torment ORIENT: float +SUBST: d=de, ?:?.l, ?=l. MAP xxxxxxxxxxxxxxxxxxx xxxxxxxxlllxxxxxxxx xxxxxxlllAlllxxxxxx -xxxlllll.d.llll.xxx -xlllllll121lllll..x -x.lllllll1llll....x -x...llllllll......x -x....llllll.......x -x.....lllll.......x -xxx....lll......xxx -xxxx...lll.....xxxx -xxxxx..ll.....xxxxx -xxxxx.lll.....xxxxx -xxxxxxlll....xxxxxx +xxxlllll.d.llll?xxx +xlllllll121lllll?.x +x?lllllll1llll?...x +x.??llllllll?.....x +x...?llllll?......x +x....?lllll.......x +xxx...?lll?.....xxx +xxxx...lll?....xxxx +xxxxx.?ll?....xxxxx +xxxxx?lll.....xxxxx +xxxxxxlll?...xxxxxx xxxxxxxlll...xxxxxx -xxxxxxxxll..xxxxxxx -xxxxxxxxll..xxxxxxx -xxxxxxxxl.@xxxxxxxx +xxxxxxxxll?.xxxxxxx +xxxxxxxxll?.xxxxxxx +xxxxxxxxl?@xxxxxxxx ENDMAP ################################### # Hellmouth 2 (Lemuel) # note that other than the imps, the demons here cannot fly -NAME: hellmouth_2 -TAGS: no_monster_gen -FLAGS: no_rotate -MONS: imp / quasit / shadow imp / manes / lemure -MONS: hellion / rotting devil / iron devil / hairy devil / hell hound -ITEM: good_item demon blade / good_item demon whip / good_item demon trident / wand of draining / wand of fire / ring of fire / Necronomicon / book of demonology / scroll of torment -ITEM: good_item demon blade / good_item demon whip / good_item demon trident +NAME: hellmouth_2 +TAGS: no_monster_gen +FLAGS: no_rotate +MONS: imp / quasit / shadow imp / manes / lemure +MONS: hellion / rotting devil / iron devil / hairy devil / hell hound +ITEM: good_item demon blade / good_item demon whip / good_item demon trident / wand of draining +ITEM: wand of fire / ring of fire / Necronomicon / book of demonology / scroll of torment +ITEM: good_item demon blade / good_item demon whip / good_item demon trident / w:30 nothing ORIENT: float +SUBST: d=de, ?:?.l, ?=l. +SUBST: b : b:30 c v . MAP .......bbbbbbbbbbbb....... @@ -4711,15 +4837,15 @@ MAP ..bbb....llllllll....bbb.. .bb....llllllllllll....bb. .b....llllllllllllll....b. -.b....llllll..llllll....b. -.b....lll........lll....b. -.b....ll....111...ll....b. -.+....l....11211d..l....b. -.+....l....12A21|e.l....b. -.b....ll...11211d.ll....b. -.b....lll...111..lll....b. -.b....llll......llll....b. -.b....llllll..llllll....b. +.b....llllll??llllll....b. +.b...?lll??.....?lll?...b. +.b...?ll?...111...ll?...b. +.+...?l?...11211d..l?...b. +.+...?l?...12A21|f.l?...b. +.b...?ll...11211d.ll?...b. +.b...?lll?..111..lll?...b. +.b....llll?.....llll....b. +.b....llllll??llllll....b. .bb....llllllllllll....bb. ..bbb....llllllll....bbb.. ....bbbb..........bbbb.... @@ -4728,28 +4854,28 @@ ENDMAP ################################### # Hellmouth 3 (Lemuel) -NAME: hellmouth_3 -MONS: weight:50 imp / quasit / shadow imp / manes / lemure, hell hound -ITEM: good_item demon blade / good_item demon whip / good_item demon trident +NAME: hellmouth_3 +MONS: weight:50 imp / quasit / shadow imp / manes / lemure, hell hound +ITEM: good_item demon blade / good_item demon whip / good_item demon trident / nothing ORIENT: float - +SUBST: ?:?.l, ?=l. MAP ................l............. .............................. -................l............. -....ll..........l............. -...lll..........l............. -....l..........l.............. -.............lll.............. -..........lllllll............. -........llllllllll............ -.......lll111111llll.......... -.......llll12Ad1lll........... -........lll11111ll............ -.........lllll1ll............. -...........llllll............. -............llll......ll...... -.............ll........ll..... +....??..........l?............ +...?ll?........?l?............ +..?lll?.........l............. +...?l........??l?............. +...........??lll?............. +.........?lllllll?............ +.......?llllllllll??.......... +......?lll111111llll?......... +......?llll12Ad1lll........... +.......?lll11111ll?........... +........?lllll1ll?............ +.........??llllll......?...... +...........?llll?.....ll?..... +............?ll?.......ll?.... .............................. ...................l.......... ENDMAP @@ -4759,7 +4885,9 @@ ENDMAP NAME: RatsNest ORIENT: float DEPTH: 4-8 - +SHUFFLE: 23, 34 +MONS: rat / nothing, grey rat / nothing +MONS: green rat / nothing, orange rat / nothing MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxx @@ -4785,14 +4913,15 @@ xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx@xxxxxxxxxxxxxxxxxxxxxx ENDMAP -MONS: rat, grey rat, green rat, orange rat ############################################################################## # Beware the mummy's curse (Lemuel) NAME: MiniTomb ORIENT: float DEPTH: 10-26 - +MONS: large zombie / nothing, mummy, guardian mummy, greater mummy, large zombie +MONS: mummy / nothing +SHUFFLE: 2F, cbv MAP xxxxcccccxxxx xxxxc$|$cxxxx @@ -4808,7 +4937,7 @@ xxcccc=ccccxx xxc.......cxx xxc.......cxx x$=.12321.=$x -x$c.......c$x +x$c..666..c$x x3c.......c3x xxcccc+ccccxx xxxxxc.cxxxxx @@ -4816,15 +4945,13 @@ xxxxxc.cxxxxx xxxxxc.cxxxxx xxxx.=.=.xxxx xxxx$c.c$xxxx -xxxx2c1c2xxxx +xxxx6c1c6xxxx xxxxxc1cxxxxx xxxccc1cccxxx xxccFc+cFccxx xxcc@c@c@ccxx ENDMAP -MONS: large zombie, mummy, guardian mummy, greater mummy -MONS: large zombie ############################################################################# @@ -5615,9 +5742,8 @@ ENDMAP NAME: david_greed DEPTH: 10-26 -ITEM: nothing -SHUFFLE: d| -SHUFFLE: HS +ITEM: nothing / any good_item +SHUFFLE: d|, HS MAP xxxxxxxxx xbbbbbbbx @@ -5636,16 +5762,16 @@ ENDMAP ############################################################################## # Defended altar -NAME: david_defended_altar -DEPTH: 6-20 -ITEM: nothing -MONS: orc priest, deep elf priest / nothing -SUBST: 1 : 1 2 +NAME: david_defended_altar +DEPTH: 7-20 +ITEM: nothing +SHUFFLE: 1I/2T +MONS: orc priest, deep elf priest / w:30 nothing MAP ......... .ccccc... .c1..c... -.c1C.+.T. +.c1C.+.I. .c1..c... .ccccc... ......... @@ -6351,7 +6477,7 @@ NAME: fake_naga_vault # room, and being hit by multiple mimics is un-fun. DEPTH: 15-26 - +MONS: mimic, guardian naga MAP xxxxxxxxx x1111111x @@ -6361,7 +6487,6 @@ x11.2.11x xxxx+xxxx ENDMAP -MONS: mimic, guardian naga ############################################################################# # Pandemonium lesser demon vaults diff --git a/crawl-ref/source/makefile.dos b/crawl-ref/source/makefile.dos index f56ea91ed8..4535c7df19 100644 --- a/crawl-ref/source/makefile.dos +++ b/crawl-ref/source/makefile.dos @@ -1,4 +1,4 @@ -# Make file for Dungeon Crawl (dos) +# -*- Makefile -*- for Dungeon Crawl (dos) # # Modified for Crawl Reference by $Author$ on $Date$ diff --git a/crawl-ref/source/makefile.mgw b/crawl-ref/source/makefile.mgw index 074f8783ae..f1bc19f861 100644 --- a/crawl-ref/source/makefile.mgw +++ b/crawl-ref/source/makefile.mgw @@ -1,4 +1,4 @@ -# Make file for Dungeon Crawl (Win32, MinGW) +# -*- Makefile -*- for Dungeon Crawl (Win32, MinGW) # makefile.obj includes a list of object files needed to build Crawl. include makefile.obj diff --git a/crawl-ref/source/makefile.unix b/crawl-ref/source/makefile.unix index 95a50e7659..e1516fb05e 100644 --- a/crawl-ref/source/makefile.unix +++ b/crawl-ref/source/makefile.unix @@ -63,7 +63,7 @@ YCFLAGS := $(INCLUDES) $(CFOTHERS) UTIL = util/ -LEX := lex +LEX := flex YACC := bison -y YTABC := levcomp.tab.c diff --git a/crawl-ref/source/mapdef.cc b/crawl-ref/source/mapdef.cc index c20760cd6e..6a8a79802a 100644 --- a/crawl-ref/source/mapdef.cc +++ b/crawl-ref/source/mapdef.cc @@ -97,8 +97,8 @@ static std::string split_key_item(const std::string &s, std::string *arg) { std::string::size_type - norm = s.find("="), - fixe = s.find(":"); + norm = s.find("=", 1), + fixe = s.find(":", 1); const std::string::size_type sep = norm < fixe? norm : fixe; if (sep == std::string::npos) diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc index 9994cfc3e5..f299b36fed 100644 --- a/crawl-ref/source/monstuff.cc +++ b/crawl-ref/source/monstuff.cc @@ -5103,9 +5103,9 @@ bool message_current_target() if (mons_near(montarget) && player_monster_visible(montarget)) { - mprf( MSGCH_PROMPT, "You are currently targeting %s " + mprf( MSGCH_PROMPT, "Current target: %s " "(use p/t/f to fire at it again.)", - ptr_monam(montarget, DESC_NOCAP_THE) ); + ptr_monam(montarget, DESC_PLAIN) ); return (true); } diff --git a/crawl-ref/source/mstuff2.cc b/crawl-ref/source/mstuff2.cc index e1ce320d7b..9eafee035f 100644 --- a/crawl-ref/source/mstuff2.cc +++ b/crawl-ref/source/mstuff2.cc @@ -851,6 +851,7 @@ void setup_dragon(struct monsters *monster, struct bolt &pbolt) ? draco_subspecies( monster ) : monster->type; int scaling = 100; + pbolt.name.clear(); switch (type) { case MONS_FIREDRAKE: @@ -872,7 +873,7 @@ void setup_dragon(struct monsters *monster, struct bolt &pbolt) break; case MONS_RED_DRACONIAN: - pbolt.name += "searing breath"; + pbolt.name += "searing blast"; #ifdef DEBUG_DIAGNOSTICS mprf( MSGCH_DIAGNOSTICS, "bolt name: '%s'", pbolt.name.c_str() ); #endif @@ -883,7 +884,7 @@ void setup_dragon(struct monsters *monster, struct bolt &pbolt) break; case MONS_WHITE_DRACONIAN: - pbolt.name += "chilling breath"; + pbolt.name += "chilling blast"; #ifdef DEBUG_DIAGNOSTICS mprf( MSGCH_DIAGNOSTICS, "bolt name: '%s'", pbolt.name.c_str() ); #endif diff --git a/crawl-ref/source/spells1.cc b/crawl-ref/source/spells1.cc index 72c2748123..54062c881d 100644 --- a/crawl-ref/source/spells1.cc +++ b/crawl-ref/source/spells1.cc @@ -66,9 +66,7 @@ int blink(void) // query for location {dlb}: for (;;) { - mpr("Blink to where?", MSGCH_PROMPT); - - direction(beam, DIR_TARGET, TARG_ANY); + direction(beam, DIR_TARGET, TARG_ANY, false, "Blink to where?"); if (!beam.isValid || coord_def(beam.tx, beam.ty) == you.pos()) { diff --git a/crawl-ref/source/spells3.cc b/crawl-ref/source/spells3.cc index b5a19d385c..7d450a8f7d 100644 --- a/crawl-ref/source/spells3.cc +++ b/crawl-ref/source/spells3.cc @@ -187,21 +187,10 @@ bool detect_curse(bool suppress_msg) return (success); } // end detect_curse() -int cast_smiting(int power) +int cast_smiting(int power, dist &beam) { bool success = false; - struct dist beam; - struct monsters *monster = 0; // NULL {dlb} - - mpr("Smite whom?", MSGCH_PROMPT); - - direction( beam, DIR_TARGET, TARG_ENEMY ); - - if (!beam.isValid) - { - canned_msg(MSG_OK); - return (-1); - } + monsters *monster = 0; // NULL {dlb} if (mgrd[beam.tx][beam.ty] == NON_MONSTER || beam.isMe) @@ -276,11 +265,9 @@ int airstrike(int power, dist &beam) return (success); } // end airstrike() -int cast_bone_shards(int power) +int cast_bone_shards(int power, bolt &beam) { bool success = false; - struct bolt beam; - struct dist spelld; if (you.equip[EQ_WEAPON] == -1 || you.inv[you.equip[EQ_WEAPON]].base_type != OBJ_CORPSES) @@ -291,9 +278,6 @@ int cast_bone_shards(int power) mpr("The corpse collapses into a mass of pulpy flesh."); else { - if (spell_direction(spelld, beam) == -1) - return (-1); - // practical max of 100 * 15 + 3000 = 4500 // actual max of 200 * 15 + 3000 = 6000 power *= 15; diff --git a/crawl-ref/source/spells3.h b/crawl-ref/source/spells3.h index 8d8a77e1b0..067117f979 100644 --- a/crawl-ref/source/spells3.h +++ b/crawl-ref/source/spells3.h @@ -14,6 +14,7 @@ struct dist; +struct bolt; // updated 24may2000 {dlb} /* *********************************************************************** @@ -33,7 +34,7 @@ int airstrike(int power, dist &beam); /* *********************************************************************** * called from: spell * *********************************************************************** */ -int cast_bone_shards(int power); +int cast_bone_shards(int power, bolt &); // updated 24may2000 {dlb} @@ -61,7 +62,7 @@ bool cast_selective_amnesia(bool force); /* *********************************************************************** * called from: ability - spell * *********************************************************************** */ -int cast_smiting(int power); +int cast_smiting(int power, dist &); // updated 24may2000 {dlb} diff --git a/crawl-ref/source/spells4.cc b/crawl-ref/source/spells4.cc index a57bdb0245..6f333d6d04 100644 --- a/crawl-ref/source/spells4.cc +++ b/crawl-ref/source/spells4.cc @@ -2356,6 +2356,7 @@ void cast_fragmentation(int pow) // jmf: ripped idea from airstrike blast.set_target(beam); blast.is_tracer = false; blast.flavour = BEAM_FRAG; + blast.hit = AUTOMATIC_HIT; // Number of dice vary... 3 is easy/common, but it can get as high as 6. blast.damage = dice_def( 0, 5 + pow / 10 ); @@ -2972,11 +2973,9 @@ int cast_apportation(int pow) return (done); } -void cast_sandblast(int pow) +void cast_sandblast(int pow, bolt &beam) { bool big = true; - struct dist spd; - struct bolt beam; // this type of power manipulation should be done with the others, // currently over in it_use2.cc (ack) -- bwr @@ -2988,19 +2987,11 @@ void cast_sandblast(int pow) { int wep = you.equip[EQ_WEAPON]; if (you.inv[wep].base_type == OBJ_MISSILES - && (you.inv[wep].sub_type == MI_STONE || you.inv[wep].sub_type == MI_LARGE_ROCK)) + && (you.inv[wep].sub_type == MI_STONE + || you.inv[wep].sub_type == MI_LARGE_ROCK)) big = true; } - if (spell_direction(spd, beam) == -1) - return; - - if (spd.isMe) - { - canned_msg(MSG_UNTHINKING_ACT); - return; - } - if (big) { dec_inv_item_quantity( you.equip[EQ_WEAPON], 1 ); diff --git a/crawl-ref/source/spells4.h b/crawl-ref/source/spells4.h index 92cc3ae0ae..d76921f82a 100644 --- a/crawl-ref/source/spells4.h +++ b/crawl-ref/source/spells4.h @@ -39,7 +39,7 @@ void cast_intoxicate(int pow); void cast_mass_sleep(int pow); void cast_passwall(int pow); void cast_rotting(int pow); -void cast_sandblast(int powc); +void cast_sandblast(int powc, bolt &beam); void cast_see_invisible(int pow); void cast_shatter(int pow); diff --git a/crawl-ref/source/spl-cast.cc b/crawl-ref/source/spl-cast.cc index 97107db571..be3240dfb3 100644 --- a/crawl-ref/source/spl-cast.cc +++ b/crawl-ref/source/spl-cast.cc @@ -880,11 +880,11 @@ spret_type your_spells( int spc2, int powc, bool allow_fail ) testbits( flags, SPFLAG_GRID ) ? DIR_TARGET : testbits( flags, SPFLAG_DIR ) ? DIR_DIR : DIR_NONE); + const char *prompt = get_spell_target_prompt(spc2); if (dir == DIR_DIR) - mpr("Which direction? ", MSGCH_PROMPT); + mpr(prompt? prompt : "Which direction? ", MSGCH_PROMPT); - if (spell_direction( spd, beam, dir, targ, - get_spell_target_prompt(spc2) ) == -1) + if (spell_direction( spd, beam, dir, targ, prompt ) == -1) return (SPRET_ABORT); if (testbits( flags, SPFLAG_NOT_SELF ) && spd.isMe) @@ -1194,8 +1194,7 @@ spret_type your_spells( int spc2, int powc, bool allow_fail ) break; case SPELL_SMITING: - if (cast_smiting(powc) == -1) - return (SPRET_ABORT); + cast_smiting(powc, spd); break; case SPELL_REPEL_UNDEAD: @@ -1416,8 +1415,7 @@ spret_type your_spells( int spc2, int powc, bool allow_fail ) break; case SPELL_BONE_SHARDS: - if (cast_bone_shards(powc) == -1) - return (SPRET_ABORT); + cast_bone_shards(powc, beam); break; case SPELL_BANISHMENT: @@ -1796,7 +1794,7 @@ spret_type your_spells( int spc2, int powc, bool allow_fail ) break; case SPELL_SANDBLAST: - cast_sandblast(powc); + cast_sandblast(powc, beam); break; case SPELL_ROTTING: diff --git a/crawl-ref/source/spl-data.h b/crawl-ref/source/spl-data.h index 758514fe91..f588cbdae8 100644 --- a/crawl-ref/source/spl-data.h +++ b/crawl-ref/source/spl-data.h @@ -291,7 +291,7 @@ }, { - SPELL_PARALYZE, "Paralyze", + SPELL_PARALYZE, "Paralyse", SPTYP_ENCHANTMENT, SPFLAG_DIR_OR_TARGET, 4, @@ -469,9 +469,9 @@ { SPELL_SMITING, "Smiting", SPTYP_HOLY, - SPFLAG_NONE, + SPFLAG_TARGET | SPFLAG_NOT_SELF, 4, - NULL + "Smite whom?" }, { @@ -677,7 +677,7 @@ 1, NULL }, - + { SPELL_VAMPIRIC_DRAINING, "Vampiric Draining", SPTYP_NECROMANCY, @@ -873,7 +873,7 @@ { SPELL_BONE_SHARDS, "Bone Shards", SPTYP_NECROMANCY, - SPFLAG_NONE, + SPFLAG_DIR_OR_TARGET, 3, NULL }, diff --git a/crawl-ref/source/spl-util.cc b/crawl-ref/source/spl-util.cc index fc16f70628..b0465fb75c 100644 --- a/crawl-ref/source/spl-util.cc +++ b/crawl-ref/source/spl-util.cc @@ -685,7 +685,8 @@ char spell_direction( struct dist &spelld, struct bolt &pbolt, targeting_type restrict, int mode, const char *prompt ) { - message_current_target(); + if (restrict != DIR_DIR) + message_current_target(); direction( spelld, restrict, mode, false, prompt ); -- cgit v1.2.3-54-g00ecf