summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;
}