summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-03-05 14:30:56 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-03-05 14:30:56 +0000
commit91b3a4bcce5335372cf9369169a337c12157cde9 (patch)
tree18eb025ba015cef4884cd405da1140b61cdf8720 /crawl-ref
parentbeb469a9f1450e99042798eebeb1d23a4c45311b (diff)
downloadcrawl-ref-91b3a4bcce5335372cf9369169a337c12157cde9.tar.gz
crawl-ref-91b3a4bcce5335372cf9369169a337c12157cde9.zip
Updated Elf:7 levels (David).
New vaults (Lemuel). Tweaked dungeon.cc so that vault and minivault depths are no longer hardcoded, and the depth settings in .des files are respected. Okawaru now looks to see if the player already has enough ammo before doing ammo gifts (needs testing, maybe some tuning of the enough-ammo condition). Map lexer now accepts any non-space character in the map, for SUBST convenience. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@979 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/dat/splev.des520
-rw-r--r--crawl-ref/source/dat/vaults.des97
-rw-r--r--crawl-ref/source/dungeon.cc10
-rw-r--r--crawl-ref/source/maps.cc11
-rw-r--r--crawl-ref/source/religion.cc54
-rw-r--r--crawl-ref/source/util/levcomp.lpp2
6 files changed, 424 insertions, 270 deletions
diff --git a/crawl-ref/source/dat/splev.des b/crawl-ref/source/dat/splev.des
index abc7c12c95..5353ac308c 100644
--- a/crawl-ref/source/dat/splev.des
+++ b/crawl-ref/source/dat/splev.des
@@ -1190,83 +1190,69 @@ PLACE: Elf:7
TAGS: no_pool_fixup
FLAGS: no_rotate
ORIENT: float
-CHANCE: 5
-# all water should be shallow, except for the two 2x4 parts (that's deep)
-# flipping is welcome
-
+CHANCE: 7
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
MONS: random, random
-
MAP
-xxxxxxxxxxxxxxxxxxxxxxxxxxx
-xXXXXXXXXXXXXXXXXXXXXXXXXXx
-xX|$*.....WWW.WWW.....*$*Xx
-xXXX$XXXXcccc+ccccXXXXX$*Xx
-xX2XXXcccc.......ccccXXX$Xx
-xX.Xccc....5...5....cccXXXx
-xX.cc.................ccXXx
-xX.c....3....4....3....c.Xx
-xX.+.........U.........+.Xx
-xX.c......2.2.2.2......c.Xx
-xX.cc.................cc.Xx
-xX.Xcc.cccccc.cccccc.cc..Xx
-xX.XXc.c.3.ww.ww.4.ccc...Xx
-xX3XXc.....ww.ww.........Xx
-xX$$$ccc...ww.ww...cXXXX.Xx
-xX$$$XXc.1.ww.ww.5.cXXXX.Xx
-xX$$$XXcccccc.ccccccX12..Xx
-xXXX+XXXXXXXc.cXXXXXXXXX.Xx
-xX|*|*|**|*XXWXX$|$*$|$|.Xx
-xX**|*|||||XcWcX|$|$*$*$.Xx
-xX5|*||4**|XcWcX$*$*$*$|3Xx
-xX|**|*|||*Xc.cX|$|$|$|$.Xx
-xXXXXXXXXXXXc.cXXXXXXXXXXXX
-xxxxxxxxxxxxx@xxxxxxxxxxxxx
+ccccccccccccccccccccccccc
+c2ccccccc.......ccccccccc
+c.cccc....5...5....cccccc
+c.cc.................cccc
+c.c....3....4....3....c.c
+c.+.........U.........+.c
+c.c......2.2.2.2......c.c
+c.cc.................cc.c
+c.ccc.cccccc.cccccc.cc..c
+c.ccc.c.3.ww.ww.4.ccc...c
+c3ccc.....ww.ww.........c
+c$$$ccc...ww.ww...ccccc.c
+c$$$ccc.1.ww.ww.5.ccccc.c
+c$$$cccccccc.ccccccc12..c
+ccc+cccccccc.cccccccccc.c
+c|*|*|**|*ccWcc$|$*$|$|.c
+c**|*|||||ccWcc|$|$*$*$.c
+c5|*||4**|ccWcc$*$*$*$|3c
+c|**|*|||*cc.cc|$|$|$|$.c
+cccccccccccc.cccccccccccc
+xxxxxxxxxxxx@xxxxxxxxxxxx
ENDMAP
#######################################
NAME: elf_hall_gauntlet_fiery
PLACE: Elf:7
-TAGS: no_pool_fixup
FLAGS: no_rotate
ORIENT: float
-CHANCE: 5
-# all water should be shallow
-# flipping is welcome
-
+CHANCE: 3
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
MONS: random, random
-
+SUBST: l = l w W
MAP
-xxxxxxxxxxxxxxxxxxxxxxxxxxx
-xXXXXXXXXXXXXXXXXXXXXXXXXXx
-xX|$*.....lll.lll.....*$*Xx
-xXXX$XXXXcccc+ccccXXXXX$*Xx
-xX2XXXcccc.......ccccXXX$Xx
-xX.Xccc....5...5....cccXXXx
-xX.cc.................ccXXx
-xX.c....3....4....3....c.Xx
-xX.+.........U.........+.Xx
-xX.c......2.2.2.2......c.Xx
-xX.cc.................cc.Xx
-xX.Xcc.cccccc.cccccc.cc..Xx
-xX.XXc.c.3.WW.WW.4.ccc...Xx
-xX3XXc.....WW.WW.........Xx
-xX$$$ccc...WW.WW...cXXXX.Xx
-xX$$$XXc.1.WW.WW.5.cXXXX.Xx
-xX$$$XXcccccc.ccccccX12..Xx
-xXXX+XXXXXXXc.cXXXXXXXXX.Xx
-xX|*|*|**|*Xc.cX$|$*$|$|.Xx
-xX**|*|||||Xc.cX|$|$*$*$.Xx
-xX5|*||4**|XXlXX$*$*$*$|3Xx
-xX|**|*|||*Xc.cX|$|$|$|$.Xx
-xXXXXXXXXXXXc.cXXXXXXXXXXXX
-xxxxxxxxxxxxx@xxxxxxxxxxxxx
+ccccccccccccccccccccccccc
+c2ccccccc.......ccccccccc
+c.cccc....5...5....cccccc
+c.cc.................cccc
+c.c....3....4....3....c.c
+c.+.........U.........+.c
+c.c......2.2.2.2......c.c
+c.cc.................cc.c
+c.ccc.cccccc.cccccc.cc..c
+c.ccc.c.3.ww.ww.4.ccc...c
+c3ccc.....ww.ww.........c
+c$$$ccc...ww.ww...ccccc.c
+c$$$ccc.1.ww.ww.5.ccccc.c
+c$$$cccccccc.ccccccc12..c
+ccc+cccccccc.cccccccccc.c
+c|*|*|**|*cc.cc$|$*$|$|.c
+c**|*|||||cc.cc|$|$*$*$.c
+c5|*||4**|cclcc$*$*$*$|3c
+c|**|*|||*cclcc|$|$|$|$.c
+cccccccccccc.cccccccccccc
+xxxxxxxxxxxx@xxxxxxxxxxxx
ENDMAP
##############################################################################
@@ -1277,36 +1263,39 @@ PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
-ITEM: scroll of teleportation, scroll of paper
-
+ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
-MONS: curse skull, curse toe
-
+MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
+MONS: curse skull / curse toe / oklob plant / azure jelly / acid blob
+SUBST: ~ = ~ .:30
+SUBST: ! = 1 5
+SUBST: ? = . ?
+SUBST: ? : 2 3
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$ce**|||**eccccccce%*%%%*%ec$$ccccxc
-cxc..c$$=....6....ccccccc....7....c$$c..cxc
+cxc..c$$=....7....ccccccc....7....c$$c..cxc
cx.d%c$ccccc...ccccccccc=ccc...ccccc$c*e.xc
cx.d%cc=.c.cc.cc.|.ccccc.|.cc.cc.c.c==|e.xc
cxc..cc$.c**ccc..c..ccc..c..ccc|*c.$cc..cxc
-cxccccc$$|*|*c..2c...U...c2..c***|$$cccccxc
-cxcccc$$$c|**3...c...1...c...3*||c$$$ccccxc
-cxcccc$$$c*|*c...|.5.c.5.|...c***c$$$ccccxc
+cxccccc$$|*|*c...c...U...c...c***|$$cccccxc
+cxcccc$$$c|**...4c...!...c4...*||c$$$ccccxc
+cxcccc$$$c*|*c...|...c...|...c***c$$$ccccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
-cxccccccc...cccccc.......cccccc...cccccccxc
-cxccccc4......ccc...ccc...ccc......4cccccxc
-cxccccc...3...cc...cc|cc...cc...3...cccccxc
-cxcccc.........+5.cc*|*=c.5+.........ccccxc
-cxcccc...2|2...c..cce|ecc..c...2|2...ccccxc
-cxccc=c..c^c..cc..3cc|cc3..cc..c^c..cccccxc
-cxc..ccccc+cccccc...ccc...cccccc+ccccc..cxc
-cx.e|ccc.....ccccc.......ccccc.....ccc%d.xc
-cx.e*cc4.1.3..ccccccccccccccc..3.1.4cc%d.xc
-cxc..cc.....22cccc.......cccc22.....cc..cxc
-cxccccc3..2...ccc..cc.cc..ccc...2..3cccccxc
-cxcccccc.......|^.ccc.ccc.^|.......ccccccxc
+cxccccccc...cccccc...?...cccccc...cccccccxc
+cxccccc.....?.ccc...ccc...ccc.?.....cccccxc
+cxccccc.2.!.?.cc.6.cc|cc.6.cc.?.!.3.cccccxc
+cxcccc.........+.4cc*|*=c4.+.........ccccxc
+cxcccc....|....c.6cce|ecc6.c....|....ccccxc
+cxcccc=..c~c..cc...cc|cc...cc..c~c..cccccxc
+cxc..=cccc+cccccc...ccc...cccccc+ccccc..cxc
+cx.e|ccc.~~~.ccccc.......ccccc.~~~.ccc%d.xc
+cx.e*cc.......ccccccccccccccc.......cc%d.xc
+cxc..cc...!...cccc.......cccc...!...cc..cxc
+cxccccc.......ccc~6cc?cc6~ccc.......cccccxc
+cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
@@ -1318,36 +1307,39 @@ PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
-ITEM: scroll of teleportation, scroll of paper
-
+ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
-MONS: curse skull, curse toe
-
+MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
+MONS: curse skull / curse toe / oklob plant / azure jelly / acid blob
+SUBST: ~ = ^ .:30
+SUBST: ! = 1 5
+SUBST: ? = . ?
+SUBST: ? : 2 3
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$ce%*%%%%%ecccccc=e**|||**ec$$ccccxc
-cxc..c$$c....6....ccccc=c....7....c$$=..cxc
+cxc..c$$c....7....ccccc=c....7....c$$=..cxc
cx.e*c$ccccc...=cccccc=ccccc...ccccc$c*e.xc
cx.e%cc=.c.cc.cc...ccc=c...cc.cc.c.c=c|e.xc
cxc..cc$.c**ccc..c..ccc..c..ccc|*c.$cc..cxc
-cxccc=c$$|*|*c..2c...U...c2..c***|$$cccccxc
-cxcccc$$$c|**3...c...1...c...3*||c$$$ccccxc
-cxcccc$$$c*|*c.....5.c.5.....c***c$$$ccccxc
+cxccc=c$$|*|*c...c...U...c...c***|$$cccccxc
+cxcccc$$$c|**...4c...!...c4..3*||c$$$ccccxc
+cxcccc$$$c*|*c.......c.......c***c$$$ccccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
-cxccccccc...cccccc.......cccccc...cccccccxc
-cxccccc4......ccc...c=c...ccc......4cccccxc
-cxccccc...3...cc...cc|cc...cc...3...cccccxc
-cxcccc.........+5.cc*|*cc.5+.........ccccxc
-cxcccc...2|2...c..cce|ecc..c...2|2...ccccxc
-cxccccc..c^c..cc..3cc|cc3..cc..c^c..cccccxc
+cxccccccc...cccccc...?...cccccc...cccccccxc
+cxccccc.....?.ccc...c=c...ccc.?.....cccccxc
+cxccccc.2.!.?.cc.6.cc|cc.6.cc.?.!.3.cccccxc
+cxcccc.........+.4cc*|*cc4.+.........ccccxc
+cxcccc....|....c.6cce|ecc6.c....|....ccccxc
+cxccccc..c~c..cc...cc|cc...cc..c~c..cccccxc
cxc..ccccc+cccccc...ccc...cccccc+ccccc..cxc
-cx.e|ccc.....ccccc.......ccccc.....ccc%d.xc
-cx.e*c=4.1.3..ccccccccccccccc..3.1.4cc%d.xc
-cxc..=c.....22cccc.......cccc22.....cc..cxc
-cxccccc3..2...cc...cc.cc..ccc...2..3cccccxc
-cxcccccc......|^..ccc.ccc.^|.......ccccccxc
+cx.e|ccc.~~~.ccccc.......ccccc.~~~.ccc%d.xc
+cx.e*c=.......ccccccccccccccc.......cc%d.xc
+cxc..=c...!...cccc.......cccc...!...cc..cxc
+cxccccc.......ccc~6cc?cc6~ccc.......cccccxc
+cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
@@ -1359,36 +1351,39 @@ PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
-ITEM: scroll of teleportation, scroll of paper
-
+ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
-MONS: curse skull, curse toe
-
+MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
+MONS: curse skull / curse toe / oklob plant / azure jelly / acid blob
+SUBST: ~ = ^ .:30
+SUBST: ! = 1 5
+SUBST: ? = . ?
+SUBST: ? : 2 3
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$ce%%%%%*%eccccccce**|||**ec$$=cccxc
-cxc..c$$c....6....ccccccc....7....=$$c..cxc
+cxc..c$$c....7....ccccccc....7....=$$c..cxc
cx.e|c$ccccc...ccc=ccccccccc...ccccc$c*e.xc
cx.e*=c=.c.cc.cc...ccccc...cc.cc.c.c=c%e.xc
cxc..cc$.c**ccc..c..ccc..c..ccc|*c.$cc..cxc
-cxccccc$$|*|*c..2c...U...c2..c***|$$cc=ccxc
-cxcccc$$$c|**3...c...1...c...3*||c$$$c=ccxc
-cxcccc$$$c*|*c.....5.c.5.....c***c$$$c=ccxc
+cxccccc$$|*|*c...c...U...c...c***|$$cc=ccxc
+cxcccc$$$c|**...4c...!...c4...*||c$$$c=ccxc
+cxcccc$$$c*|*c.......c.......c***c$$$c=ccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$c=ccxc
-cxccccccc...cccccc.......cccccc...cccc=ccxc
-cxccccc4......ccc...ccc...ccc......4cc=ccxc
-cxccccc...3...cc...cc|cc...cc...3...cc=ccxc
-cxcccc.........+5.cc*|*cc.5+.........c=ccxc
-cxcccc...2|2...c..cce|ecc..c...2|2...c=ccxc
-cxccccc..c^c..cc..3=c|cc3..cc..c^c..cc=ccxc
+cxccccccc...cccccc...?...cccccc...cccc=ccxc
+cxccccc.....?.ccc...ccc...ccc.?.....cc=ccxc
+cxccccc.2.!.?.cc.6.cc|cc.6.cc.?.!.3.cc=ccxc
+cxcccc.........+.4cc*|*cc4.+.........c=ccxc
+cxcccc....|....c.6cce|ecc6.c....|....c=ccxc
+cxccccc..c~c..cc...=c|cc...cc..c~c..cc=ccxc
cxc..ccccc+cccccc...ccc...cccccc+ccccc..cxc
-cx.d%ccc.....ccccc.......ccccc.....ccc|e.xc
-cx.d%cc4.1.3..ccccccccccccccc..3.1.4cc*e.xc
-cxc..cc.....22cccc.......cccc22.....cc..cxc
-cxccccc3..2...ccc..cc.cc..ccc...2..3cccccxc
-cxcccccc.......|^.ccc.ccc.^|.......ccccccxc
+cx.d%ccc.~~~.ccccc.......ccccc.~~~.ccc|e.xc
+cx.d%cc.......ccccccccccccccc.......cc*e.xc
+cxc..cc...!...cccc.......cccc...!...cc..cxc
+cxccccc.......ccc~6cc?cc6~ccc.......cccccxc
+cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
@@ -1400,36 +1395,39 @@ PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
-ITEM: scroll of teleportation, scroll of paper
-
+ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
-MONS: curse skull, curse toe
-
+MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
+MONS: curse skull / curse toe / oklob plant / azure jelly / acid blob
+SUBST: ~ = ^ .:30
+SUBST: ! = 1 5
+SUBST: ? = . ?
+SUBST: ? : 2 3
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$ce%*%%%%%eccccccce**|||**ec$$ccccxc
-cxc..=$$c....6....ccccccc....7....c$$c..cxc
+cxc..=$$c....7....ccccccc....7....c$$c..cxc
cx.e%c$ccccc...ccccccccccccc...ccccc$c*e.xc
cx.e*cc=.c.cc.cc...ccccc...cc.cc.c.c=c|e.xc
cxc..cc$.c**c=c..c..ccc..c..c=c|*c.$cc..cxc
-cxccccc$$|*|*c..2c...U...c2..c***|$$c=cccxc
-cxcccc$$$c|**3...c...1...c...3*||c$$$ccccxc
-cxcccc$$$c*|*c.....5.c.5.....c***c$$$ccccxc
+cxccccc$$|*|*c...c...U...c...c***|$$c=cccxc
+cxcccc$$$c|**...4c...!...c4...*||c$$$ccccxc
+cxcccc$$$c*|*c.......c.......c***c$$$ccccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
-cxccccccc...cccccc.......cccccc...cccccccxc
-cxccccc4......ccc...=cc...ccc......4cccccxc
-cxccccc...3...cc...cc|cc...cc...3...cccccxc
-cxcccc.........+5.cc*|*cc.5+.........ccccxc
-cxcccc...2|2...c..cce|ecc..c...2|2...ccccxc
-cxccccc..c^c..cc..3cc|cc3..cc..c^c..cccccxc
+cxccccccc...cccccc...?...cccccc...cccccccxc
+cxccccc.....?.ccc...=cc...ccc.?.....cccccxc
+cxccccc.2.!.?.cc.6.cc|cc.6.cc.?.!.3.cccccxc
+cxcccc.........+.4cc*|*cc4.+.........ccccxc
+cxcccc....|....c.6cce|ecc6.c....|....ccccxc
+cxccccc..c~c..cc...cc|cc...cc..c~c..cccccxc
cxc..ccccc+cccccc...ccc...cccccc+ccccc..cxc
-cx.d%ccc.....ccccc.......ccccc.....ccc*e.xc
-cx.d%cc4.1.3..ccccccccccccccc..3.1.4cc|e.xc
-cxc..cc.....22cccc.......cccc22.....c=..cxc
-cxccccc3..2...ccc..cc.cc..ccc...2..3=ccccxc
-cxcccccc.......|^.ccc.ccc.^|.......ccccccxc
+cx.d%ccc.~~~.ccccc.......ccccc.~~~.ccc*e.xc
+cx.d%cc.......ccccccccccccccc.......cc|e.xc
+cxc..cc...!...cccc.......cccc...!...c=..cxc
+cxccccc.......ccc~6cc?cc6~ccc.......=ccccxc
+cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
@@ -1441,36 +1439,39 @@ PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
-ITEM: scroll of teleportation, scroll of paper
-
+ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
-MONS: curse skull, curse toe
-
+MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
+MONS: curse skull / curse toe / oklob plant / azure jelly / acid blob
+SUBST: ~ = ^ .:30
+SUBST: ! = 1 5
+SUBST: ? = . ?
+SUBST: ? : 2 3
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$cd%%%%%%%dc==c===e%%%%%%%ec$$ccccxc
-cxc..c$$c....6....ccc=ccc....7....c$$c..cxc
+cxc..c$$c....7....ccc=ccc....7....c$$c..cxc
cx.e|=$ccccc...cccccc=cccccc...ccccc$c*e.xc
cx.e*ccc.c.cc.cc...cc=cc...cc.cc.c.c=c|e.xc
cxc..cc$.c**ccc..c..c=c..c..ccc|*c.$c=..cxc
-cxccccc$$|*|*c..2c...U...c2..c***|$$cccccxc
-cxcccc$$$c|**3...c...1...c...3*||c$$$ccccxc
-cxcccc$$$c*|*c.....5.c.5.....c***c$$$ccccxc
+cxccccc$$|*|*c...c...U...c...c***|$$cccccxc
+cxcccc$$$c|**...4c...!...c4...*||c$$$ccccxc
+cxcccc$$$c*|*c.......c.......c***c$$$ccccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
-cxccccccc...cccccc.......cccccc...cccccccxc
-cxccccc4......ccc...ccc...ccc......4cccccxc
-cxccccc...3...cc...c=|cc...cc...3...cccccxc
-cxcccc.........+5.cc|||cc.5+.........ccccxc
-cxcccc...2|2...c..cce|ecc..c...2|2...=cccxc
-cxccccc..c^c..cc..3cc|cc3..cc..c^c..cc=ccxc
+cxccccccc...cccccc...?...cccccc...cccccccxc
+cxccccc.....?.ccc...ccc...ccc.?.....cccccxc
+cxccccc.2.!.?.cc.6.c=|cc.6.cc.?.!.3.cccccxc
+cxcccc.........+.4cc|||cc4.+.........ccccxc
+cxcccc....|....c.6cce|ecc6.c....|....=cccxc
+cxccccc..c~c..cc...cc|cc...cc..c~c..cc=ccxc
cxc..c=ccc+cccccc...ccc...cccccc+ccccc..cxc
-cx.e|=cc.....ccccc.......ccccc.....ccc|e.xc
-cx.e|cc4.1.3..ccccccccccccccc..3.1.4cc|e.xc
-cxc..cc.....22cccc.......cccc22.....cc..cxc
-cxccccc3..2...ccc..cc.cc..ccc...2..3cccccxc
-cxcccccc.......|^.ccc.ccc.^|.......ccccccxc
+cx.e|=cc.~~~.ccccc.......ccccc.~~~.ccc|e.xc
+cx.e|cc.......ccccccccccccccc.......cc|e.xc
+cxc..cc...!...cccc.......cccc...!...cc..cxc
+cxccccc.......ccc~6cc?cc6~ccc.......cccccxc
+cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
@@ -1482,36 +1483,39 @@ PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
-ITEM: scroll of teleportation, scroll of paper
-
+ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
-MONS: curse skull, curse toe
-
+MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
+MONS: curse skull / curse toe / oklob plant / azure jelly / acid blob
+SUBST: ~ = ^ .:30
+SUBST: ! = 1 5
+SUBST: ? = . ?
+SUBST: ? : 2 3
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$ce%%%%%%%eccccccce**|||**ec$$ccccxc
-cxc..c$$c....6....cccccc=....7....c$$c..cxc
+cxc..c$$c....7....cccccc=....7....c$$c..cxc
cx.e|c$cccc=...cccccccc=cccc...ccccc$c*e.xc
cx.e*cc=.c.cc.cc...ccccc...cc.cc.c.c=c|e.xc
cxc..cc$.c**ccc..c..ccc..c..ccc|*c.$cc..cxc
-cxcc=cc$$|*|*c..2c...U...c2..c***|$$c=cccxc
-cxcc=c$$$c|**3...c...1...c...3*||c$$$ccccxc
-cxcc=c$$$c*|*c.....5.c.5.....c***c$$$ccccxc
+cxcc=cc$$|*|*c...c...U...c...c***|$$c=cccxc
+cxcc=c$$$c|**...4c...!...c4...*||c$$$ccccxc
+cxcc=c$$$c*|*c.......c.......c***c$$$ccccxc
cxcc=c$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
-cxccc=ccc...cccccc.......cccccc...cccccccxc
-cxccccc4......ccc...ccc...ccc......4cccccxc
-cxccccc...3...cc...cc|cc...cc...3...cccccxc
-cxcccc.........+5.cc*|*cc.5+.........ccccxc
-cxcccc...2|2...c..ccd|dcc..c...2|2...ccccxc
-cxccccc..c^c..cc..3cc|cc3..cc..c^c..cccccxc
+cxccc=ccc...cccccc...?...cccccc...cccccccxc
+cxccccc.....?.ccc...ccc...ccc.?.....cccccxc
+cxccccc.2.!.?.cc.6.cc|cc.6.cc.?.!.3.cccccxc
+cxcccc.........+.4cc*|*cc4.+.........ccccxc
+cxcccc....|....c.6ccd|dcc6.c....|....ccccxc
+cxccccc..c~c..cc...cc|cc...cc..c~c..cccccxc
cxc..ccccc+cccccc...ccc...cccccc+ccccc..cxc
-cx.e*ccc.....ccccc.......ccccc.....ccc%d.xc
-cx.e|cc4.1.3..ccccccccccccccc..3.1.4cc%d.xc
-cxc..cc.....22cccc.......cccc22.....cc..cxc
-cxccc=c3..2...ccc..cc.cc..ccc...2..3cccccxc
-cxcc=ccc.......|^.ccc.ccc.^|.......ccccccxc
+cx.e*ccc.~~~.ccccc.......ccccc.~~~.ccc%d.xc
+cx.e|cc.......ccccccccccccccc.......cc%d.xc
+cxc..cc...!...cccc.......cccc...!...cc..cxc
+cxccc=c.......ccc~6cc?cc6~ccc.......cccccxc
+cxcc=ccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccc===c...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
@@ -1523,36 +1527,39 @@ PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
-ITEM: scroll of teleportation, scroll of paper
-
+ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
-MONS: curse skull, curse toe
-
+MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
+MONS: curse skull / curse toe / oklob plant / azure jelly / acid blob
+SUBST: ~ = ^ .:30
+SUBST: ! = 1 5
+SUBST: ? = . ?
+SUBST: ? : 2 3
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$cd|*|||**dcccccccd*||*|**dc$$ccccxc
-cxc..c$$c....6....ccccccc....7....c$$c..cxc
+cxc..c$$c....7....ccccccc....7....c$$c..cxc
cx.e|c$ccccc...ccccccccccccc...ccccc$c%e.xc
cx.e|c=c.c.cc.cc...ccccc...cc.cc.c.c=c%e.xc
cxc..cc$.c**ccc..c..ccc..c..ccc|*c.$c=..cxc
-cxcc=cc$$|*|*c..2c...U...c2..c***|$$cccccxc
-cxcc=c$$$c|**3...c...1...c...3*||c$$$ccccxc
-cxcc=c$$$c*|*c.....5.c.5.....c***c$$$ccccxc
+cxcc=cc$$|*|*c...c...U...c...c***|$$cccccxc
+cxcc=c$$$c|**...4c...!...c4...*||c$$$ccccxc
+cxcc=c$$$c*|*c.......c.......c***c$$$ccccxc
cxcc=c$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
-cxcc=cccc...cccccc.......cccccc...cccccccxc
-cxcc=cc4......ccc...ccc...ccc......4cccccxc
-cxccc=c...3...cc...cc%cc...cc...3...cccccxc
-cxcccc.........+5.cc*|%cc.5+.........ccccxc
-cxcccc...2|2...c..cce%ecc..c...2|2...ccccxc
-cxccc=c..c^c..cc..3cc|cc3..cc..c^c..cccccxc
+cxcc=cccc...cccccc...?...cccccc...cccccccxc
+cxcc=cc.....?.ccc...ccc...ccc.?.....cccccxc
+cxccc=c.2.!.?.cc.6.cc%cc.6.cc.?.!.3.cccccxc
+cxcccc.........+.4cc*|%cc4.+.........ccccxc
+cxcccc....|....c.6cce%ecc6.c....|....ccccxc
+cxccc=c..c~c..cc...cc|cc...cc..c~c..cccccxc
cxc..ccccc+cccccc...c=c...cccccc+ccccc..cxc
-cx.e|ccc.....ccccc.......ccccc.....ccc*e.xc
-cx.e|cc4.1.3..ccccccccccccccc..3.1.4cc*e.xc
-cxc..cc.....22cccc.......cccc22.....cc..cxc
-cxccccc3..2...ccc..cc.cc..ccc...2..3cccccxc
-cxcccccc.......|^.ccc.ccc.^|.......ccccccxc
+cx.e|ccc.~~~.ccccc.......ccccc.~~~.ccc*e.xc
+cx.e|cc.......ccccccccccccccc.......cc*e.xc
+cxc..cc...!...cccc.......cccc...!...cc..cxc
+cxccccc.......ccc~6cc?cc6~ccc.......cccccxc
+cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
@@ -1564,36 +1571,39 @@ PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
-ITEM: scroll of teleportation, scroll of paper
-
+ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
-MONS: curse skull, curse toe
-
+MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
+MONS: curse skull / curse toe / oklob plant / azure jelly / acid blob
+SUBST: ~ = ^ .:30
+SUBST: ! = 1 5
+SUBST: ? = . ?
+SUBST: ? : 2 3
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$ce*|||||*ec==ccc=e*|||||*ec$$ccccxc
-cxc..=$$c....6....=cc=c=c....7....=$$c..cxc
+cxc..=$$c....7....=cc=c=c....7....=$$c..cxc
cx.e%c$ccccc...ccccc=c=ccccc...ccccc$c|e.xc
cx.e%cc=.c.cc.cc...ccccc...cc.cc.c.cc=|e.xc
cxc..cc$.c**ccc..c..ccc..c..ccc|*c.$cc..cxc
-cxccccc$$|*|*c..2c...U...c2..c***|$$cc=ccxc
-cxcccc$$$c|**3...c...1...c...3*||c$$$c=ccxc
-cxcccc$$$c*|*c.....5.c.5.....c***c$$$c=ccxc
+cxccccc$$|*|*c...c...U...c...c***|$$cc=ccxc
+cxcccc$$$c|**...4c...!...c4...*||c$$$c=ccxc
+cxcccc$$$c*|*c.......c.......c***c$$$c=ccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$c=ccxc
-cxccccccc...cccccc.......cccccc...cccc=ccxc
-cxccccc4......ccc...ccc...ccc......4==cccxc
-cxccccc...3...cc...cc%cc...cc...3...cccccxc
-cxcccc.........+5.cc*%*cc.5+.........ccccxc
-cxcccc...2|2...c..cce|e=c..c...2|2...ccccxc
-cxccc=c..c^c..cc..3cc*cc3..cc..c^c..cccccxc
+cxccccccc...cccccc...?...cccccc...cccc=ccxc
+cxccccc.....?.ccc...ccc...ccc.?.....==cccxc
+cxccccc.2.!.?.cc.6.cc%cc.6.cc.?.!.3.cccccxc
+cxcccc.........+.4cc*%*cc4.+.........ccccxc
+cxcccc....|....c.6cce|e=c6.c....|....ccccxc
+cxccc=c..c~c..cc...cc*cc...cc..c~c..cccccxc
cxc..ccccc+cccccc...ccc...cccccc+ccccc..cxc
-cx.e%ccc.....ccccc.......ccccc.....ccc%d.xc
-cx.e%cc4.1.3..ccccccccccccccc..3.1.4cc%d.xc
-cxc..cc.....22cccc.......cccc22.....cc..cxc
-cxccccc3..2...ccc..cc.cc..ccc...2..3=ccccxc
-cxcccccc.......|^.ccc.ccc.^|.......ccccccxc
+cx.e%ccc.~~~.ccccc.......ccccc.~~~.ccc%d.xc
+cx.e%cc.......ccccccccccccccc.......cc%d.xc
+cxc..cc...!...cccc.......cccc...!...cc..cxc
+cxccccc.......ccc~6cc?cc6~ccc.......=ccccxc
+cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
@@ -1605,36 +1615,39 @@ PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
-ITEM: scroll of teleportation, scroll of paper
-
+ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
-MONS: curse skull, curse toe
-
+MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
+MONS: curse skull / curse toe / oklob plant / azure jelly / acid blob
+SUBST: ~ = ^ .:30
+SUBST: ! = 1 5
+SUBST: ? = . ?
+SUBST: ? : 2 3
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$=e**|||**eccccccce%%|%|%%e=$$ccccxc
-cxc..c$$c....6....==ccccc....7....c$$c..cxc
+cxc..c$$c....7....==ccccc....7....c$$c..cxc
cx.d|c$ccccc...cccc=cc=ccccc...ccccc$c%d.xc
cx.d|ccc.c.cc.cc...cc=cc...cc.c=.c.ccc%d.xc
cxc..cc$.c|*ccc..c..=cc..c..ccc|*c.$cc..cxc
-cxccccc$$|*|*c..2c...U...c2..c***|$$cccccxc
-cxcccc$$$c|**3...c...1...c...3*||c$$$ccccxc
-cxcccc$$$c*||c.....5.c.5.....c***c$$$ccccxc
+cxccccc$$|*|*c...c...U...c...c***|$$cccccxc
+cxcccc$$$c|**...4c...!...c4...*||c$$$ccccxc
+cxcccc$$$c*||c.......c.......c***c$$$ccccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
-cxccccccc...cccccc.......cccccc...cccccccxc
-cxccccc4......ccc...ccc...ccc......4cccccxc
-cxccccc...3...cc...cc|cc...cc...3...cccccxc
-cxcccc.........+5.cc||*cc.5+.........ccccxc
-cxcccc...2|2...c..c=e|ecc..c...2|2...ccccxc
-cxccccc..c^c..cc..3cc|cc3..cc..c^c..cccccxc
+cxccccccc...cccccc...?...cccccc...cccccccxc
+cxccccc.....?.ccc...ccc...ccc.?.....cccccxc
+cxccccc.2.!.?.cc.6.cc|cc.6.cc.?.!.3.cccccxc
+cxcccc.........+.4cc||*cc4.+.........ccccxc
+cxcccc....|....c.6c=e|ecc6.c....|....ccccxc
+cxccccc..c~c..cc...cc|cc...cc..c~c..cccccxc
cxc..ccccc+cccccc...ccc...cccccc+ccccc..cxc
-cx.d%ccc.....ccccc.......ccccc.....ccc%d.xc
-cx.d%cc4.1.3..ccccccccccccccc..3.1.4cc%d.xc
-cxc..cc.....22cccc.......cccc22.....cc..cxc
-cxccccc3..2...ccc..cc.cc..ccc...2..3cccccxc
-cxcccccc.......|^.ccc.ccc.^|.......ccccccxc
+cx.d%ccc.~~~.ccccc.......ccccc.~~~.ccc%d.xc
+cx.d%cc.......ccccccccccccccc.......cc%d.xc
+cxc..cc...!...cccc.......cccc...!...cc..cxc
+cxccccc.......ccc~6cc?cc6~ccc.......cccccxc
+cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
@@ -1646,40 +1659,43 @@ PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
-ITEM: scroll of teleportation, scroll of paper
-
+ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
-MONS: curse skull, curse toe
-
+MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
+MONS: curse skull / curse toe / oklob plant / azure jelly / acid blob
+SUBST: ~ = ^ .:30
+SUBST: ! = 1 5
+SUBST: ? = . ?
+SUBST: ? : 2 3
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxccc====ccccc=======cccc====ccccccccccccxc
cxcc=cccc=ccc=ccccccc=c==cccc=cccccccccccxc
cxcc=c$$ce**|||**eccc=ccce|*|*|*|ec$$ccccxc
-cxc..c$$=....6....ccccccc....7....c$$c..cxc
+cxc..c$$=....7....ccccccc....7....c$$c..cxc
cx.e%c$ccccc...=cccccccccccc...ccccc$c%d.xc
cx.e%ccc.c.cc.cc...ccccc...cc.cc.c.ccc%d.xc
cxc..cc$.c|*ccc..c..ccc..c..ccc|*c.$cc..cxc
-cxccccc$$|*|*c..2c...U...c2..c***|$$cccccxc
-cxcccc$$$c|**3...c...1...c...3*||c$$$ccccxc
-cxcccc$$$c*||c.....5.c.5.....c***c$$$ccccxc
+cxccccc$$|*|*c...c...U...c...c***|$$cccccxc
+cxcccc$$$c|**...4c...!...c4...*||c$$$ccccxc
+cxcccc$$$c*||c.......c.......c***c$$$ccccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
-cxccccccc...cccccc.......cccccc...cccccccxc
-cxccccc4......ccc...ccc...ccc......4cccccxc
-cxccccc...3...cc...cc|cc...cc...3...cccccxc
-cxcccc.........+5.cc||*cc.5+.........ccccxc
-cxcccc...2|2...c..ccd|dcc..c...2|2...ccccxc
-cxccccc..c^c..cc..3cc|cc3..cc..c^c..cccccxc
+cxccccccc...cccccc...?...cccccc...cccccccxc
+cxccccc.....?.ccc...ccc...ccc.?.....cccccxc
+cxccccc.2.!.?.cc.6.cc|cc.6.cc.?.!.3.cccccxc
+cxcccc.........+.4cc||*cc4.+.........ccccxc
+cxcccc....|....c.6ccd|dcc6.c....|....ccccxc
+cxccccc..c~c..cc...cc|cc...cc..c~c..cccccxc
cxc..ccccc+cccccc...ccc...cccccc+ccccc..cxc
-cx.d%ccc.....ccccc.......ccccc.....ccc%d.xc
-cx.d%cc4.1.3..ccccccccccccccc..3.1.4cc%d.xc
-cxc..cc.....22cccc.......cccc22.....cc..cxc
-cxccccc3..2...ccc..cc.cc..ccc...2..3cccccxc
-cxcccccc.......|^.ccc.ccc.^|.......ccccccxc
-cxccc...ccccccccc.ccccccccc...cccccccccccxc
-ccccccccccccccccc@ccccccccccccccccccccccccc
+cx.d%ccc.~~~.ccccc.......ccccc.~~~.ccc%d.xc
+cx.d%cc.......ccccccccccccccc.......cc%d.xc
+cxc..cc...!...cccc.......cccc...!...cc..cxc
+cxccccc.......ccc~6cc?cc6~ccc.......cccccxc
+cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
+cxccccccc...ccccccccc.ccccccccc...cccccccxc
+ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
##############################################################################
diff --git a/crawl-ref/source/dat/vaults.des b/crawl-ref/source/dat/vaults.des
index 0339e79efb..fcba2bffed 100644
--- a/crawl-ref/source/dat/vaults.des
+++ b/crawl-ref/source/dat/vaults.des
@@ -222,7 +222,8 @@
#
###############################################################################
-default-depth: 1-27
+# Set the default depth for vaults.
+default-depth: 12-26
##############################################################################
# Entry vaults
@@ -4514,6 +4515,77 @@ MAP
...................l..........
ENDMAP
+##############################################################################
+# Rats! (Lemuel)
+NAME: RatsNest
+ORIENT: float
+DEPTH: 3-8
+
+MAP
+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxx343.xx.xxxxxxxx.334433xxxxxxxxx23...x
+xx.222...xxxxxxxx..224422xxxxxx1111...xx
+x..111..xxxxxxxxx..111111.xxx.111...xxxx
+xx.111..xxxxxxxxxx.11111..x......xxxxxxx
+xxxx..xx.x.xxxxxx.xx..........xxxxxxxxxx
+xxxxx.xxx.x..x.xx.x.xx....x.xxxxxxxxxxxx
+xxxxx...x.xxx.x33xx.xxxx.xxxxxxxxxxxxxxx
+xxxxxxx.x.xxxx221x.xxx...xxxxxxxxxxxxxxx
+xxxxxxxx.xxxxx111.xxxx.xxxxxxxxxxxxxxxxx
+xxxxxxxxx..xxx.x.x.xxx.xxxxxxxxxxxxxxxxx
+xxxxxxxxxx..x.xx.x.xx.xxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxx..xx.xx.x.xxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxx.xxxx.xxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxx
+xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxx
+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
+
+MAP
+xxxxcccccxxxx
+xxxxc$|$cxxxx
+xxxxc$|$cxxxx
+xxxxc$4$cxxxx
+xxcccc=ccccxx
+xxc$55155$cxx
+xxc1211121cxx
+xxc...F...cxx
+xxc.......cxx
+xxc.......cxx
+xxcccc=ccccxx
+xxc.......cxx
+xxc.......cxx
+x$=.12321.=$x
+x$c.......c$x
+x3c.......c3x
+xxcccc+ccccxx
+xxxxxc.cxxxxx
+xxxxxc.cxxxxx
+xxxxxc.cxxxxx
+xxxx.=.=.xxxx
+xxxx$c.c$xxxx
+xxxx2c1c2xxxx
+xxxxxc1cxxxxx
+xxxccc1cccxxx
+xxccFc+cFccxx
+ENDMAP
+
+MONS: large zombie, mummy, guardian mummy, greater mummy
+MONS: large zombie
+
#############################################################################
NAME: vault_1
@@ -5284,6 +5356,9 @@ ENDMAP
# NOTE: Minivaults must NOT have an ORIENT: attribute. Including an ORIENT:
# attribute makes the map a normal vault, and mayhem can result.
+# Default depth for minivaults.
+default-depth: 8-27
+
NAME: minivault_1
MAP
@@ -5948,6 +6023,26 @@ MAP
...............
ENDMAP
+##############################################################################
+# Things aren't always what they seem (Lemuel)
+NAME: fake_naga_vault
+
+# Intentionally moved this deeper because explore will gladly run into the
+# room, and being hit by multiple mimics is un-fun.
+
+DEPTH: 15-26
+
+MAP
+xxxxxxxxx
+x1111111x
+x1111111x
+x1111111x
+x11.2.11x
+xxxx+xxxx
+ENDMAP
+
+MONS: mimic, guardian naga
+
#############################################################################
# Pandemonium lesser demon vaults
#############################################################################
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc
index 236d6d5b16..a658f48a49 100644
--- a/crawl-ref/source/dungeon.cc
+++ b/crawl-ref/source/dungeon.cc
@@ -4013,7 +4013,7 @@ static int builder_normal(int level_number, char level_type, spec_room &sr)
// Can't have vaults on you.where_are_you != BRANCH_MAIN_DUNGEON levels
if (vault == -1
&& player_in_branch( BRANCH_MAIN_DUNGEON )
- && level_number > 10 && level_number < 26 && one_chance_in(9))
+ && one_chance_in(9))
vault = random_map_for_depth(level_number);
if (vault != -1)
@@ -4056,7 +4056,7 @@ static int builder_normal(int level_number, char level_type, spec_room &sr)
{
plan_main(level_number, 0);
- if (one_chance_in(3) && level_number > 6)
+ if (one_chance_in(3))
{
int mvault = random_map_for_depth(level_number, true);
if (mvault != -1)
@@ -4075,8 +4075,7 @@ static int builder_normal(int level_number, char level_type, spec_room &sr)
// sometimes roguey_levels generate a special room
roguey_level(level_number, sr);
- if (level_number > 6
- && player_in_branch( BRANCH_MAIN_DUNGEON )
+ if (player_in_branch( BRANCH_MAIN_DUNGEON )
&& one_chance_in(4))
{
int mvault = random_map_for_depth(level_number, true);
@@ -4212,8 +4211,7 @@ static void builder_extras( int level_number, int level_type )
if (level_number >= 11 && level_number <= 23 && one_chance_in(15))
place_specific_stair(DNGN_ENTER_LABYRINTH);
- if (level_number > 6
- && player_in_branch( BRANCH_MAIN_DUNGEON )
+ if (player_in_branch( BRANCH_MAIN_DUNGEON )
&& one_chance_in(3))
{
int mvault = random_map_for_depth(level_number, true);
diff --git a/crawl-ref/source/maps.cc b/crawl-ref/source/maps.cc
index 7df752a3e8..f4e0033b2e 100644
--- a/crawl-ref/source/maps.cc
+++ b/crawl-ref/source/maps.cc
@@ -305,11 +305,12 @@ int random_map_for_depth(int depth, bool want_minivault)
for (unsigned i = 0, size = vdefs.size(); i < size; ++i)
if (vdefs[i].depth.contains(depth)
- // Tagged levels cannot be selected by depth. This is
- // the only thing preventing Pandemonium demon vaults from
- // showing up in the main dungeon.
- && vdefs[i].tags.empty()
- && vdefs[i].is_minivault() == want_minivault)
+ // Tagged levels cannot be selected by depth. This is
+ // the only thing preventing Pandemonium demon vaults from
+ // showing up in the main dungeon.
+ && !vdefs[i].has_tag("entry")
+ && !vdefs[i].has_tag("pan")
+ && vdefs[i].is_minivault() == want_minivault)
{
rollsize += vdefs[i].chance;
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index 70c86b192e..31a1927af8 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -319,6 +319,54 @@ static int random_undead_servant(int religion)
return (thing_called);
}
+static const item_def *find_missile_launcher(int skill)
+{
+ for (int i = 0; i < ENDOFPACK; ++i)
+ {
+ if (!is_valid_item(you.inv[i]))
+ continue;
+
+ const item_def &item = you.inv[i];
+ if (is_range_weapon(item)
+ && range_skill(item) == skill_type(skill))
+ {
+ return (&item);
+ }
+ }
+ return (NULL);
+}
+
+static int ammo_count(const item_def *launcher)
+{
+ int count = 0;
+ const missile_type mt = launcher? fires_ammo_type(*launcher) : MI_DART;
+
+ for (int i = 0; i < ENDOFPACK; ++i)
+ {
+ if (!is_valid_item(you.inv[i]))
+ continue;
+
+ const item_def &item = you.inv[i];
+ if (item.base_type == OBJ_MISSILES && item.sub_type == mt)
+ count += item.quantity;
+ }
+
+ return (count);
+}
+
+static bool need_missile_gift()
+{
+ const int best_missile_skill = best_skill(SK_SLINGS, SK_RANGED_COMBAT);
+ const item_def *launcher = find_missile_launcher(best_missile_skill);
+ return (you.piety > 80
+ && random2( you.piety ) > 70
+ && !grid_destroys_items( grd[you.x_pos][you.y_pos] )
+ && one_chance_in(8)
+ && you.skills[ best_missile_skill ] >= 8
+ && (launcher || best_missile_skill == SK_DARTS)
+ && ammo_count(launcher) < 20 + random2(35));
+}
+
void pray(void)
{
unsigned char was_praying = you.duration[DUR_PRAYER];
@@ -526,11 +574,7 @@ void pray(void)
}
if (you.religion == GOD_OKAWARU
- && you.piety > 80
- && random2( you.piety ) > 70
- && !grid_destroys_items( grd[you.x_pos][you.y_pos] )
- && one_chance_in(8)
- && you.skills[ best_skill(SK_SLINGS, SK_RANGED_COMBAT) ] >= 9)
+ && need_missile_gift())
{
success = acquirement( OBJ_MISSILES, you.religion );
if (success)
diff --git a/crawl-ref/source/util/levcomp.lpp b/crawl-ref/source/util/levcomp.lpp
index c10e719a7f..9441ca0306 100644
--- a/crawl-ref/source/util/levcomp.lpp
+++ b/crawl-ref/source/util/levcomp.lpp
@@ -62,7 +62,7 @@ NSPACE [^\ \t\r\n]
<MAPDEF>^\s*ENDMAP { BEGIN(INITIAL); }
-<MAPDEF>^[a-zA-Z_&0-9|$+.@^~()\[\]=<>{}%*\-?]+ {
+<MAPDEF>^[^ \r\n\t]+ {
settext();
return MAP_LINE;
}