From fcac38d55bb7edbc230723166daf079c56f6736e Mon Sep 17 00:00:00 2001 From: dshaligram Date: Thu, 1 Mar 2007 16:20:14 +0000 Subject: Added extra entry vaults and option to load them. Undead should not drown in deep water. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@970 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/dat/asciiart.des | 526 +++++++++++++++++++++++++ crawl-ref/source/dat/tricky.des | 784 ++++++++++++++++++++++++++++++++++++++ crawl-ref/source/externs.h | 2 + crawl-ref/source/initfile.cc | 38 +- crawl-ref/source/maps.cc | 9 + crawl-ref/source/monstuff.cc | 6 +- 6 files changed, 1347 insertions(+), 18 deletions(-) create mode 100644 crawl-ref/source/dat/asciiart.des create mode 100644 crawl-ref/source/dat/tricky.des diff --git a/crawl-ref/source/dat/asciiart.des b/crawl-ref/source/dat/asciiart.des new file mode 100644 index 0000000000..543d45b86c --- /dev/null +++ b/crawl-ref/source/dat/asciiart.des @@ -0,0 +1,526 @@ +############################################################################## +# ASCIIart entry vaults +# This file contains a number of entries which may not suit all players - they +# contain ASCII art in the sense of pictures of things and being, or words etc. +# By default, they are not used. If you want to try them, set in the init.txt +# entries += asciiart +############################################################################## + +############################################################################## +# Arecibo + +NAME: erik_asciiartentry_001 +TAGS: entry +ORIENT: float +FLAGS: no_rotate no_hmirror +SHUFFLE: {[( +MAP +.....@.....({[......@....xxx....@...............@.... +.......x.x.x.x...........x.+.....vv....++......v..... +...x.x.....x.x.......x...x.+....v......+........v.... +.x...x...x...x..x.xx..x..x.+...v.......++........v... +.x.x.x.x.x.x.x.x..x..x...x.x..v........++........v... +.........................x.x..v.........+.......v.... +.............xx..........x.x...v.......+.......v..... +...........xx.x..........x.x....v............vv...... +@..........xx.x..........x.x.....vv........vv.......@ +..........x.x.x..........x.x...v...vvv.x.vv.......... +..........xxxxx..........x.x...v.......x............. +.........................x.x...v.....xxxxx........... +.bb....bbb...bb....bb....x.x...v....x.xxx.x..+.++.++. +.b.............bb..b.....x.x.......x..xxx..x..++++++. +.bb.b...bb...bb....bb.b..x.x.+.+++....xxx.....++.+++. +.bbbbb.bbbbb.bbbbb.bbbbb.x.x..........x.x.....+++.++. +.........................x.x...v......x.x.....++++++. +....c.................c..x.x...v......x.x.....++..... +@........................x.x...v.....xx.xx..........@ +.....c.................c.x.x......................... +.ccccc.............ccccc.x.x...aaa.....a............. +.cc....cc....ccc...cc....x.x...aaa.a.a...a.a.a.a.a.a. +.c.......c.........c.....x.x...aaa.........a.a.a.a... +.cc.c....cc...ccc..cc.c..x.x...............a.a....... +.ccccc.ccccc.ccccc.ccccc.x.x...............a.a....... +.........................x.x.........=====........... +....c......++.........c..x.x.......=========......... +@..........++............x.x.....===.......===......@ +.....c.....++..........c.x.x....==...........==...... +.ccccc.....++......ccccc.x.x...==.=.........=.==..... +...v........+........v...x.x..==..==.......==..==.... +....v......++.......v....x.x..=...=.=.....=.=...=.... +.....vv....++......v.....x.x..=...=..=...=..=...=.... +.......vv...+....vv......x.x......=...=.=...=........ +@..........++..vv........x.x......=....=....=.......@ +.......vv...+....vv......+.x......=.........=........ +.........................+.x........x..x.x........... +.........................+.x..vvvv..xxxxx.x..vvvv.... +....@...............@....xxx....@...............@.... +ENDMAP + +############################################################################## +# Game-of-Life Cheshire Cat + +NAME: erik_asciiartentry_002 +TAGS: entry +ORIENT: float +SHUFFLE: {[( +MAP +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xx..........x..........x..........x..........x +xx..........x..........x..........x..........x +xx...c..c...x...c..c...x..cc..cc..x..cccccc..x +xx...cccc...x..cccccc..x..c.cc.c..x..c....c..x +x(..c....c.....c....c.......cc......c......c.x +x[..c.cc.c....cc....cc...ccc..ccc...c......c.x +x{..c....c..x..c....c..x.cc.cc.cc.x.c..cc..c.x +xx...cccc...x...cccc...x...c..c...x...c..c...x +xx..........x....cc....x...c..c...x..........x +xx..........x..........x..........x..........x +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..xxxxx +xx..........x..........x....cc....x..........x +xx..........x..........x..c....c..x...cccc...x +xx..........x..........x.c......c.x..cccccc..x +xx..........x..........x..........x.cc.cc.cc.x +xx.....................x............cc....cc.x +xx......................c........c.ccc....cccx +xx..........x..........x..c.cc.c..x..c.cc.c..x +xx...cc.....x...c..c...x...cccc...x....cc....x +xx...cc.....x....cc....x..........x..........x +xx..........x..........x..........x..........x +xxxxx@@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +ENDMAP + +############################################################################## +# Zot Side Story + +NAME: erik_asciiartentry_003 +TAGS: entry +ORIENT: float +MONS: giant bat, small snake, worm, gnoll, imp, orc +ITEM: stone, scroll of paper, banana, potion of healing +SHUFFLE: {[( +MAP +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +bb.........................................................b +b(...xxx...xxx...xxx...xxx..gaaa...vvvvvvvvv...ccccccccc...b +b[.x.+Cx...+6x..2+ex..3+ex...+fa...+++===4ev...===g5e===...b +b{...xxx...xxx...xxx...xxx..gaaa...vvvvvvvvv...ccccccccc...b +bb.........................................................b +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb+++bbbbbbbbbbbbbb=b +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb...+...+...bbbbbbbbbb.....b +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb...+...+...bbbbbbbbbb.bbbbb +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb...+...+...bbbbbbbbbb...bbb +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb+++bbbbbbbbbbbbbbbbbbbb.bbb +bbbbbbbbbbbbbbbbb...........................bbbb.........bbb +bbbbbbbbbbbbbbbbb......xbXXXXXXXXXXXbx......bbbb.bbbbbbbbbbb +bbbbbbbbbbbbbbbbb......xXXX...1...XXXx......bbbb.bbbbbbbbbbb +bbbbbbbbbbbbbbbbb......xXX..1...1..XXx......bbbb.bb.....bbbb +bbbbbbbbbbbbbbbbb......xX1.........1Xx......bbbb.bb.bbb.bbbb +bbbbbbbbbbbbbbbbb..........1..d..1..........bbbb.bb.bbb.bbbb +bbbbbbbbbbbbbbbbb......xX1.........1Xx......bbbb.bb..bb.bbbb +bbbbbbbbbbbbbbbbb......xXX..1...1..XXx......bbbb.bbb.bb.bbbb +bbbbbbbbbbbbbbbbb......xXXX...1...XXXx......bbbb.....bbebbbb +bbbbbbbbbbbbbbbbb......xbXXXXXXXXXXXbx......bbbbbbbbbbbbbbbb +bbbbbbbbbbbbbbbbb.............<.............bbbbbbbbbbbbbbbb +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.bbbbbbbbbbbbbbbbbbbbbbbbbbbbb +ENDMAP + +############################################################################## +# The Frivolous Dungeonbuilder #1 + +NAME: erik_asciiartentry_004 +TAGS: entry no_monster_gen +ORIENT: float +FLAGS: no_rotate no_hmirror no_vmirror +SHUFFLE: {[( +MAP +............... +.....aa........ +......a...aa... +..aaaaaa.aa.... +......aawaaaaa. +....aaabaaa..a. +...aa..b..a.... +.......b..aa... +.......b....... +.......bb...... +........b...... +........b...... +........bb..... +.........b..... +..({.xx..b..... +.x[xxxxxxbbxx.. +.xxxxxxxxxxxxx. +............... +ENDMAP + + +############################################################################## +# The Frivolous Dungeonbuilder #2 + +NAME: erik_asciiartentry_005 +TAGS: entry no_monster_gen +ORIENT: float +FLAGS: no_rotate no_hmirror no_vmirror +SHUFFLE: {[( +MAP +............... +....bbb........ +...x..b...bb... +..bbbbbbbbb.... +..x...bxxbbbbb. +....bbbxxbb..b. +...bb..xx.b..x. +...x...xx.bb... +........xx.x... +........xx..... +........xx..... +........xx..... +........xx..... +.........xx.... +..({.aa..xx.... +..[aaaaaaxxaaaw +waaaaaaaaaaaaaw +wwwwwwwwwwwwwww +ENDMAP + + +############################################################################## +# The Frivolous Dungeonbuilder #3 and enough, enough already! + +NAME: erik_asciiartentry_006 +TAGS: entry no_monster_gen +ORIENT: float +FLAGS: no_rotate +SHUFFLE: {[( +# Supposed to be an Easter egg. Get it?! Easter egg?! Sigh. +MAP +............... +......aaa...... +....aawwwaa.... +..bwwwwwwwwwb.. +.bbbwwwwwwwbbb. +.bbbbbbbbbbbbb. +.wwwwwwwwwwwww. +.bbbbbbbbbbbbb. +.bbbwwwwwwwbbb. +..xwxwxwxwxwx.. +...aaawwwaaa... +......aaa...... +......({[...... +ENDMAP + + +############################################################################## +# Yars' Revenge + +NAME: erik_asciiartentry_007 +TAGS: entry +ORIENT: float +MONS: goblin +SHUFFLE: {[( +MAP +vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +v.........x.x..................vvv...............................x +v........x.x.x.........xxx.....vvv.b..b.bbbb.b..b.b..b.bbbb.b..b.x +v(........x.x.........xxx.....1xxx.b..b.b....b..b.b..b.b....b..b.x +v{.......x.x.x.......xxx.1.....+.=.bbbb.bbbb.b.cb.b.cb.bbbb.bbbb.x +v[........x.x.........xxx.....1xxx.b..b....b.b.cb.b.cb....b.b..b.x +v........x.x.x.........xxx.....vvv.b..b.bbbb.bbbb.bbbb.bbbb.b..b.x +v.........x.x..................vvv...............................x +vvvvvvvvvvvvvvvvvvvvvvvvvvvv@@@vvvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +ENDMAP + +############################################################################## +# Lazy Man's Vault + +NAME: erik_asciiartentry_008 +TAGS: entry +ORIENT: float +# deliberately has no stairs +MAP +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +ENDMAP + +############################################################################## +# Shusaku - Inseki, "ear-reddening move" + +NAME: erik_asciiartentry_009 +TAGS: entry +ORIENT: float +# deliberately has no stairs +MAP +....................................... +.c.c.c.c.c.c.c.c.c.x.a.a.c.c.c.c.c.c.c. +....................................... +.c.c.c.x.c.c.c.c.c.x.a.c.a.c.a.a.x.c.c. +....................................... +.c.c.a.a.c.x.c.c.a.x.x.a.a.c.a.x.c.c.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.x.x.x.c.c.x.c.c. +....................................... +.c.c.c.c.c.x.c.c.c.c.x.c.c.c.c.x.x.c.c. +....................................... +.c.c.a.c.c.c.c.c.c.c.c.c.c.c.c.x.a.a.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.a.a.a.x.x.x. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.x.a.a.a.x. +....................................... +.c.c.c.c.c.c.c.c.c.x.c.c.x.a.a.x.x.x.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.a.a.x.c.x.a.c. +....................................... +.c.c.a.c.c.c.c.c.c.c.c.c.c.c.a.x.x.a.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.a.x.a.x.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.a.c.a.x.a.a.c. +....................................... +.c.c.a.c.c.c.c.c.c.x.c.x.a.c.a.x.c.c.c. +....................................... +.c.c.c.c.c.c.x.c.a.c.c.x.a.x.a.x.a.c.c. +....................................... +.c.c.x.c.x.c.c.x.c.c.c.x.a.a.x.a.a.c.c. +....................................... +.c.c.c.c.c.x.a.x.a.c.a.a.x.x.x.x.a.a.c. +....................................... +.c.c.c.c.c.c.x.a.c.a.a.c.a.x.x.c.x.a.c. +....................................... +.c.c.c.c.c.c.c.c.a.c.c.a.c.x.c.x.c.x.c. +....................................... +ENDMAP + + +############################################################################## +# Shussai - Go Seigen, infamous tesuji + +NAME: erik_asciiartentry_010 +TAGS: entry +ORIENT: float +# deliberately has no stairs +MAP +....................................... +.c.c.c.c.x.c.c.c.c.c.c.c.c.c.x.c.c.c.c. +....................................... +.c.x.x.x.x.a.a.c.c.c.c.c.a.a.x.c.c.c.c. +....................................... +.c.x.a.x.a.x.c.a.a.x.a.c.c.c.c.c.x.c.c. +....................................... +.c.a.a.a.a.c.x.x.a.c.a.c.c.x.c.a.x.c.c. +....................................... +.c.c.c.c.c.c.x.a.a.a.x.x.x.x.x.a.c.c.c. +....................................... +.c.c.c.c.c.x.c.x.c.x.c.c.a.x.a.c.c.x.c. +....................................... +.c.c.c.c.c.c.c.x.c.c.c.c.a.a.x.x.x.c.c. +....................................... +.c.a.a.c.c.c.a.c.c.c.c.c.c.c.a.a.c.a.c. +....................................... +.a.c.c.a.a.c.c.a.c.c.c.c.c.c.c.a.c.c.c. +....................................... +.c.a.a.x.x.x.x.c.c.x.c.c.c.a.c.x.a.c.c. +....................................... +.x.c.x.c.x.c.c.c.c.c.x.c.c.c.c.x.a.c.c. +....................................... +.c.c.x.c.x.c.c.c.c.c.c.x.c.x.c.x.x.a.c. +....................................... +.c.c.a.x.a.a.x.c.c.c.c.a.c.x.x.a.x.a.c. +....................................... +.c.c.a.c.a.x.c.c.c.c.c.c.a.x.a.a.a.x.c. +....................................... +.c.c.a.c.a.x.c.c.c.c.x.x.x.a.c.c.c.x.c. +....................................... +.c.a.x.x.x.x.x.x.x.x.a.a.x.c.a.c.x.c.c. +....................................... +.c.c.a.a.x.a.a.x.a.a.x.a.a.a.c.a.a.x.c. +....................................... +.c.c.c.a.a.x.a.a.c.c.c.c.c.c.c.a.x.x.c. +....................................... +.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c. +....................................... +ENDMAP + + +############################################################################## +# Rinrii + +NAME: erik_asciiartentry_011 +TAGS: entry +ORIENT: float +FLAGS: no_rotate no_hmirror no_vmirror +SHUFFLE: {[( +MAP +ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +c...........................................................c +c.vvv...vvv....v..............v.....vvv...vvv...............c +c.vvv...vvv...vvvvv.........vvvv....vvv...vvv...............c +c.vvv...vvv.....vvvvv......vvvv.....vvv...vvv...............c +c.vvv...vvv.......vvvvv...vvvv......vvv...vvv..vvvvvvvvvvvv.c +c.vvv...vvv.........v...vvvv........vvv...vvv..vvvvvvvvvvvv.c +c.vvv...vvv...........vvvvv.........vvv...vvv...............c +c.vvv...vvv.........vvvvv...........vvv...vvv...............c +c......vvv........vvvvv..................vvv................c +c.....vvv......vvvvv....................vvv.................c +c....vv.........v..........[({.........vv...................c +c...........................................................c +ccccccccccccccccccccccccccc...ccccccccccccccccccccccccccccccc +ENDMAP + + +############################################################################## +# Mitsuhiro Itakura + +NAME: erik_asciiartentry_012 +TAGS: entry +ORIENT: float +FLAGS: no_rotate no_hmirror no_vmirror +SHUFFLE: {[( +MAP +ccccccccccccccccccccccccccccccccccccccccccccc +c...............................G...........c +c...G.....GGGGGGGGGGG..........G.G..........c +c...G.....G.................GGG...GGG.......c +c...G.....G..............GGG..GGGGG..GGG....c +c.GGGGG...G...........GGG...............GGG.c +c...G.....GGGGGGGGG.......GGGGGGGGGGGGGG....c +c...G.....G.G.....G.......G............G....c +c..GGG....G.G.....G.......GGGGGGGGGGGGGG....c +c..GG.G...G..G...G........G............G....c +c.G.G.....G..G...G........GGGGGGGGGGGGGG....c +c.G.G.....G...GGG......G....................c +c...G.....G...GGG......G...GGGGGGGGGGGGG....c +c...G....G...G...G....G....G...........G....c +c...G....G..G.....G..G.....G...........G....c +....G...G..G.......G.......GGGGGGGGGGGGG..... +............................................. +ccccccccccccccccccc([{ccccccccccccccccccccccc +............................................. +............G...........G....G.....G......... +c...........G............G....G....G........c +c....GGGGGGGGGGGGGGGG.....G...G...G.........c +c..........G...............GGGGGGGGGGGG.....c +c.........G.....G......G........G...........c +c.........G......G......G.......G...........c +c........G....GGG.G......G...GGGGGGGGG......c +c.....GGGGGGGGG...G.............G...........c +c.........G...G.................G...........c +c.........G...G..........G......G...........c +c........G....G..........G.GGGGGGGGGGGG.....c +c........G....G.........G.......G...........c +c.......G.....G....G....G.......G...........c +c......G......G....G...G........G...........c +c....GG........GGGGG...G........G...........c +c...........................................c +ccccccccccccccccccccccccccccccccccccccccccccc +ENDMAP + + +############################################################################## +# Yin-Yang + +NAME: erik_asciiartentry_013 +TAGS: entry +ORIENT: float +FLAGS: no_rotate +SHUFFLE: {[( +# I am worried about getting ported into the 2x2 closet +# IF we replace G with c, we could place a secret door +MAP +xxxxxxxxxxxvvvvvvvvvvvvxxxxxxxxxx +xxxxxxvvvvv...........vvvxxxxxxxx +xxxvvvv......GGGG.......vvvvxxxxx +xxxv.......GGGGG.GGG.......vvvxxx +xxv.....GGGGGG..G...GGG......vvxx +xvv...GGGGGGG.GG.......GG.....vvx +xv...GGGGGGG.G......GG...G.....vx +vv..GGGGGGG.G.......GG....G....vx +v...GGGGGGG.G.............G.....v +v..GGGGGGGG.G..............G....v +v..GGGGGGGGG.G.............G....v +v..GGGGGGGGG.G.............G....v +v..GGGGGGGGGG.G............G....v +v..GGGGGGGGGGG.GG..........G....v +v...GGGGGGGGGGG..G........G..[..v +vv..GGGGG..GGGGGG.G.......G..{..@ +xv...GGGG}.GGGGGG.G......G...(..v +xvv...GGGGGGGGGGGG.G...GG.....vvv +xxv.....GGGGGGGGGG.GGGG......vvxx +xxvv.......GGGGGG.GG.......vvvxxx +xxxvvvvv.................vvvxxxxx +xxxxxxxvvvv...........vvvvxxxxxxx +xxxxxxxxxxvvvvvvvvvvvvvxxxxxxxxxx +ENDMAP + +############################################################################## +# Hello? Cthulhu calling! + +NAME: erik_asciiartentry_014 +TAGS: entry +ORIENT: float +MONS: pit fiend +# Pan demon would be more appropriate, but they're enormously buggy when used this way. +# Shadow fiend would too, but might be too easy for spoiled mummies. +ITEM: potion of decay / potion of paralysis / potion of poison +MAP +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxccccccdccccccxxxx +x.....xxxxxxxxxcccccccxxccccccxxx +......xxxxxxxxccccccccxccccccccxx +x.....xxxxxxxxccccccccxccccccccxx +x.....xxxxxxxxccccccccxccccccccxx +xx.xxxxxxxxxxxccccccccxccccccccxx +xx.xxxxxxxxxxxccccccccxccccccccxx +xx.xxxxxxxxxxxccccccccxccccccccxx +xx.xxxxxxxxxxxdxxxxxxx1xxxxxxxdxx +xx.xxxxxxxxxxxccccccccxccccccccxx +xx.xxxxxxxxxxxccccccccxccccccccxx +x...xxxxxxxxxxccccccccxccccccccxx +x...xxxxxxxxxxccccccccxccccccccxx +....xxxxxxxxxxccccccccxccccccccxx +x...xxxxxxxxxxccccccccxccccccccxx +xx.xxxxxxxxxxxxcccccccxcccccccxxx +xx.xxxxxxxxxxxxxccccccdccccccxxxx +bb.bbbxxxxxxxxxxxxxxxxxxxxxxxxxxx +b...(bxxx........................ +..b.[...................xxxx..... +b...{bxxx...............xxxx..... +bb.bbbxxxxxxxxxxxxxx.xxxxxxx..... +ENDMAP diff --git a/crawl-ref/source/dat/tricky.des b/crawl-ref/source/dat/tricky.des new file mode 100644 index 0000000000..2288e9f079 --- /dev/null +++ b/crawl-ref/source/dat/tricky.des @@ -0,0 +1,784 @@ +############################################################################## +# Tricky entry vaults +# This file contains a number of entries which may not be appropriate for +# certain players, like newbies. These entries may require the use of certain +# item, or demand searching for hidden passages, or may be plain more risky. +# By default, they are not used. If you want to try them, set in the init.txt +# entries += tricky +############################################################################## + +################################### +# pick a door + +NAME: lemuel_trickyentry_001_a +TAGS: entry +ORIENT: float +SHUFFLE: [{ +CHANCE: 2 +MAP +xxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxx{([xxxxxxxxxxx +xxxxxxxxxxx...xxxxxxxxxxx +xxxxxxxxxxxx+xxxxxxxxxxxx +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.xxx.x.x.x.x.x +x.xxx.x.x.x.x...x.x.x.x.x +x...x.x.xxx.x.xxx.x.x.x.x +xxx.x.x.x.x.x.xxx.x.x.x.x +xxx.x.x.x.x.x.x.....x.x.x +x.x.x.x.x.x.x.x.xxxxx.x.x +x.x.x.x.x.x.x.xxx...x.x.x +x.x.xxx.x.x.x...x.x.x.x.x +x.x.xxx.x.x.xxx.x.x.x.x.x +x.x.x.x.x.x.x.x.x.x.x.xxx +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.xxx=x.x.x.x.x.xxxxx.x +x...x...x.x.x.x.x.x.....x +xxxxx=xxx.x.x.x.x.x.xxxxx +.......==...x.x...x...xxx +.......xxxxxxxxxxxxxx+xxx +@......xxxxxxxxxxxxxx@xxx +ENDMAP + +NAME: lemuel_trickyentry_001_b +TAGS: entry +ORIENT: float +SHUFFLE: [{ +CHANCE: 2 +MAP +xxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxx{([xxxxxxxxxxx +xxxxxxxxxxx...xxxxxxxxxxx +xxxxxxxxxxxx+xxxxxxxxxxxx +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.xxx.x.x.xxx.x.x.x...x.x +x...x.x.xxx...x...xxxxx.x +xxx.x.x.x.x.xxx=xxx.....x +x.x.x.x.x.x.x...xxx.xxxxx +x.x.x.x.....x.x.xxx.x...x +x.x.x.xxx.x.x.x.....x.x.x +x.x.x=x.x.x.x.xxxxx.x.x.x +x.....x.x.xxx.x...x...x.x +x.xxxxx...x.x...x.xxxxxxx +x.x...x.xxx.xxxxx.x...x.@ +x.x.x.x.x...x.x.x.x.x.x.. +x.x.x.....xxx.x.x...x.x+x +x=xxxxxxx.x...x.x=xxx.x.x +x.....x.x.x.x.x.x.x.....x +x..]..x.x.x.x...x.x.xxxxx +x.....x.....x.x...x.....x +xxx+xxxxxxxxx=xxxxxxxxxxx +@......................@. +ENDMAP + +NAME: lemuel_trickyentry_001_c +TAGS: entry +ORIENT: float +SHUFFLE: [{ +CHANCE: 2 +MAP +xxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxx{([xxxxxxxxxxx +xxxxxxxxxxx...xxxxxxxxxxx +xxxxxxxxxxxx+xxxxxxxxxxxx +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.xxx.x.x.xxxxxxx.x.x.x.x +x...x.x.x.x.......x.xxx.x +xxx.x.x.x.x.xxx.xxx...x.x +x.x.x.x.x.x.xxx.xxx.xxx.x +x.xxx.x...x.xxx.xxx.x...x +x.....x.x.x.....x...x.xxx +x.xxxxx.x.xxxxxxxxx.x.xxx +x.....x.x.xxx%x.....x...x +x.xxxxx...x.x%x.x.xxxxxxx +x.x...xxxxx.x=x.x.x.....x +x.x.x.xxx...x0x.xxx.x.x.x +x...x.....x.x0x.....x.x.x +xxxxxxxxxxx+x=xxxxxxx.x.x +x.................=.....x +x.xxxxxxxxxxxxxxx.x.xxxxx +x.................x.....x +xxxx=xxxxxxxxxxx=xxxxx..x +@......................@. +ENDMAP + +NAME: lemuel_trickyentry_001_d +TAGS: entry +ORIENT: float +SHUFFLE: [{ +CHANCE: 2 +MAP +xxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxx{([xxxxxxxxxxx +xxxxxxxxxxx...xxxxxxxxxxx +xxxxxxxxxxxx+xxxxxxxxxxxx +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 +xxx+xxx.x.xxxxxxx.x.x.x.x +x...x...x.x.x.....x.x.x.x +x.x.x.xxx.x.x.xxxxx...x.x +x.x.x.xxx...x...xxx.xxx.x +x.xxx.x...xxxxx.xxx.x...x +x...x.x.x.x.....x...xxxxx +xxxxx.x.x.x.xxxxxxx.xxxxx +x.x...x.x.x.xxxxxxx.....x +x.x.xxx=x.x.......xxxxx.x +x.x.x...x.xxxxxxx.x.....x +x.x.x.b.x...x.xxx.x.xxx.x +x...x...xxxxxxxxx.x.x.x.x +xx=xx=xxx.........xxx.x.x +xx=x....x.xxxxxxxxx.....x +xx=x.>..x.xxxxxxxxxxx=x.x +...x....x.............x.x +...x....xxxxxxxxxxxxx+xxx +@..xx=xxxxxxxxxxxxxxx..@. +ENDMAP + +NAME: lemuel_trickyentry_001_e +TAGS: entry +MONS: nothing +ORIENT: float +SHUFFLE: [{ +SHUFFLE: 1cv= +CHANCE: 2 +MAP +xxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxx{([xxxxxxxxxxx +xxxxxxxxxxx...xxxxxxxxxxx +xxxxxxxxxxxx+xxxxxxxxxxxx +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.x.x.x.x.x.x.x.x.x.x +x.x.x.x.x.x=xcx.x.x.x.x.x +x.x.x.x.x.1.x.1.x.x.x.x.x +x.x.x.xxxcx.x.xvxxx.x.x.x +x.x.x.x.v.x.x.x.=.x.x.x.x +x.x.x.x.x.x.x.x.x.x.x.x.x +x.x.xxx1x.x.x.x.x=xxx.x.x +x.x.xxx.c.x.x.x.v.xxx.x.x +x.x.xxx.xvx.x.xcx.xxx.x.x +x.xxxxx.x.=.x.1.x.xxxxx.x +x.xxxxx.x.xxxxx.x.xxxxx.x +x.xxxxx.x.x...x.x.xxxxx.x +xxxxxxx.x.xvxvx.x.xxxxxxx +xxxxxxx.....=.....xxxxxxx +xxxxxxxvxxcxxx=xx1xxxxxxx +@......................@. +ENDMAP + +######################### +# if bats scare you, close the door! +# minus entry, could be a good standalone vault for low levels + +NAME: lemuel_trickyentry_002_batcave +TAGS: entry +ORIENT: float +SHUFFLE: {[( +MONS: giant bat +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.xx.......1.1.1.1.1....%xx +x.....+.......1.1.1.1.1.....%xx +xxx.xxx........1.1.1.1.1....xxx +xxx.xxxx.................xxxxxx +xxx.xxxxx.............xxxxxxxxx +@...xxxxxxx.......xxxxxxxxxxxxx +xxx.xxxxxxxxx...xxxxxxxxxxxxxxx +xxx.xxxxxxxxxxxxxxxxxxxxxxxxxxx +xxx.xxxxxxxxxxxxxxxxxxxxxxxxxxx +xxx@xxxxxxxxxxxxxxxxxxxxxxxxxxx +ENDMAP + +############################################################################## +# the eight (infinity) + +NAME: david_trickyentry_001_infinity +TAGS: entry +FLAGS: no_rotate +ORIENT: float +SHUFFLE: {[ +SHUFFLE: bcva +MAP +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxx..........xx(xx..........xxxxx +xxx...c=cccccc.......ccc=cccc...xxx +xx..ccc......c=ccccccc......ccc..xx +xx.cc...cccc...ccccc...cccc...cc.xx +x..c..cccccccc..ccc..cccccccc..=..x +x.cc.cc..........ccc........cc.cc.x +x.c..c....bb..cc...cc..bb.{..c..c.x +x.=..c..[.bb..cc...cc..bb....c..c.x +x.cc.cc........ccc..........cc.cc.x +x..=..cccccccc..ccc..cccccccc..c..x +xx.cc...cccc...cccc....cccc...cc.xx +xx..ccc......ccccccccc......ccc..xx +xxx...cc=ccccc.......ccccc=cc...xxx +xxxxx..........xx.xx..........xxxxx +xxxxxxxxxxxxxxxxx@xxxxxxxxxxxxxxxxx +ENDMAP + +######################################################################## +# Array of rooms (five variations on the theme). + +NAME: david_trickyentry_002_a +TAGS: entry no_monster_gen no_pool_fixup +ORIENT: float +CHANCE: 2 +SHUFFLE: {[( +SHUFFLE: wWl +MAP +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +x...xxxxxxx.+...xxxxx.xvvvvvx...x +x.(.+.....+.xxxxxxxxx.+.....+...x +x...xxxxxxx.xx....x.+.xvvvvvx...x +xxxxx..x.xx.xx.ww.+.x.+.~..~+...x +x...x..+.xx+xx.ww.xxx.xvvvvvx...x +x.{.+..x.+...+....x.+.+~.~..+...@ +x...xxxxxxxx+xxx+xx.x.xvvvvvx...x +xxxxx...x..x...x..xxx.+...~~+...x +x...x...+..xxx+x..+.+.xvvvvvx...x +x.[.+...x..+...xxxxxx.+.~.~.+...x +x...x...xxxx...xxxxxx.xvvvvvx...x +xxxxxxxxxxxxxxxxxxxxxx=.....=xxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +ENDMAP + +NAME: david_trickyentry_002_b +TAGS: entry no_monster_gen no_pool_fixup +ORIENT: float +CHANCE: 2 +SHUFFLE: {[( +SHUFFLE: wWl +MAP +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +x...xxxxxxx.+...xxxxx.xvvvvvx...x +x.(.+.....+.xxxxxxxxx.+..~.~+...x +x...xxxxxxx.xx....x.+.xvvvvvx...x +xxxxx..x.xx.xx.ww.+.x.+.....+...x +x...x..+.xx+xx.ww.xxx.xvvvvvx...x +x.{.+..x.+...+....x.+.+~~...+...@ +x...xxxxxxxx+xxx+xx.x.xvvvvvx...x +xxxxx...x..x...x..xxx.+.~..~+...x +x...x...+..xxx+x..+.+.xvvvvvx...x +x.[.+...x..+...xxxxxx.+~.~..+...x +x...x...xxxx...xxxxxx.xvv=vvx...x +xxxxxxxxxxxxxxxxxxxxxx=...xxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +ENDMAP + +NAME: david_trickyentry_002_c +TAGS: entry no_monster_gen no_pool_fixup +ORIENT: float +CHANCE: 2 +SHUFFLE: {[( +SHUFFLE: wWl +MAP +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxx=.....=xxxx +x...xxxxxxx.+...xxxxx.xvvvvvx...x +x.[.+.....+.xxxxxxxxx.+~~..~+...x +x...xxxxxxx.xx....x.+.xvvvvvx...x +xxxxx..x.xx.xx.ww.+.x.+..~.~+...x +x...x..+.xx+xx.ww.xxx.xvvvvvx...x +x.{.+..x.+...+....x.+.+.....+...@ +x...xxxxxxxx+xxx+xx.x.xvvvvvx...x +xxxxx...x..x...x..xxx.+~...~+...x +x...x...+..xxx+x..+.+.xvvvvvx...x +x.(.+...x..+...xxxxxx.+..~~.+...x +x...x...xxxx...xxxxxx.xvvvvvx...x +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +ENDMAP + +NAME: david_trickyentry_002_d +TAGS: entry no_monster_gen no_pool_fixup +ORIENT: float +CHANCE: 2 +SHUFFLE: {[( +SHUFFLE: wWl +MAP +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxx=.....=xxxx +x...xxxxxxx.+...xxxxx.xvvvvvx...x +x.{.+.....+.xxxxxxxxx.+...~~+...x +x...xxxxxxx.xx....x.+.xvvvvvx...x +xxxxx..x.xx.xx.ww.+.x.+.~~..+...x +x...x..+.xx+xx.ww.xxx.xvvvvvx...x +x.[.+..x.+...+....x.+.+..~.~+...@ +x...xxxxxxxx+xxx+xx.x.xvvvvvx...x +xxxxx...x..x...x..xxx.+.....+...x +x...x...+..xxx+x..+.+.xvvvvvx...x +x.(.+...x..+...xxxxxx.+~..~~+...x +x...x...xxxx...xxxxxx.xvvvvvx...x +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +ENDMAP + +NAME: david_trickyentry_002_e +TAGS: entry no_monster_gen no_pool_fixup +ORIENT: float +CHANCE: 2 +SHUFFLE: {[( +SHUFFLE: wWl +MAP +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +x...xxxxxxx.+...xxxxx.xvvvvvx...x +x.[.+.....+.xxxxxxxxx.+..~.~+...x +x...xxxxxxx.xx....x.+.xvvvvvx...x +xxxxx..x.xx.xx.ww.+.x.+..~~.+...x +x...x..+.xx+xx.ww.xxx.xvvvvvx...x +x.(.+..x.+...+....x.+.+~.~..+...@ +x...xxxxxxxx+xxx+xx.x.xvvvvvx...x +xxxxx...x..x...x..xxx.+...~~+...x +x...x...+..xxx+x..+.+.xvvvvvx...x +x.{.+...x..+...xxxxxx.+.....+...x +x...x...xxxx...xxxxxx.xvvvvvx...x +xxxxxxxxxxxxxxxxxxxxxx=.....=xxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +ENDMAP + +############################################################################## +# concentric eggs, the baby version + +NAME: david_trickyentry_003_concentric_mini_eggs +TAGS: entry no_monster_gen +ITEM: pear / apple / banana +ORIENT: float +SHUFFLE: =+ +MAP +xxxxxxxxxx.@.xxxxxxxxxx +xxxxxxxx.......xxxxxxxx +xxxx...............xxxx +xx......xxx=xxx......xx +xx....xxxx.d.xxxx....xx +x....xxx.......xxx....x +x...xxx..xxxxx..xxx...x +....xx..xx...xx..xx.... +@.[.+=d.=+.{.=+.d+=.(.@ +....xx..xx...xx..xx.... +x...xxx..xxxxx..xxx...x +x....xxx.......xxx....x +xx....xxxx.d.xxxx....xx +xx......xxx=xxx......xx +xxxx...............xxxx +xxxxxxxx.......xxxxxxxx +xxxxxxxxxx.@.xxxxxxxxxx +ENDMAP + +############################################################################## +# Evil foreboding + +NAME: david_trickyentry_004_a +TAGS: entry no_monster_gen +MONS: troll +ORIENT: float +CHANCE: 2 +SHUFFLE: {[(< +MAP +{...............[ +......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 + +NAME: david_trickyentry_005_a +TAGS: entry no_monster_gen +ORIENT: float +CHANCE: 3 +MAP +@..................@ +..wwww........llll.. +.w.wwww......llllll. +.ww{}ww......llllll. +.wwwwww......llllll. +..wwww..bbbb..llll.. +.......bbbbbb....... +.......bbbbbb....... +.......bbbbbb....... +........bbbb........ +@..................@ +ENDMAP + +NAME: david_trickyentry_005_b +TAGS: entry no_monster_gen +ORIENT: float +CHANCE: 3 +MAP +@..................@ +..wwww........llll.. +.wwwwww......llllll. +.wwwwww......ll}{ll. +.wwwwww......llll.l. +..wwww..bbbb..llll.. +.......bbbbbb....... +.......bbbbbb....... +.......bbbbbb....... +........bbbb........ +@..................@ +ENDMAP + +NAME: david_trickyentry_005_c +TAGS: entry no_monster_gen +ORIENT: float +CHANCE: 3 +MAP +@..................@ +..wwww........llll.. +.wwwwww......llllll. +.wwwwww......llllll. +.wwwwww......llllll. +..wwww..b=bb..llll.. +.......bb.bbb....... +.......bb{}bb....... +.......bb.b=b....... +........b=bb........ +@..................@ +ENDMAP + +NAME: david_trickyentry_005_d +TAGS: entry no_monster_gen +ORIENT: float +CHANCE: 1 +MAP +@..................@ +..wwww........llll.. +.wwwwww..{}..llllll. +.wwwwww......llllll. +.wwwwww......llllll. +..wwww..bbbb..llll.. +.......bbbbbb....... +.......bbbbbb....... +.......bbbbbb....... +........bbbb........ +@..................@ +ENDMAP + +############################################################################## +# Caged fury + +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 +FLAGS: no_rotate +ORIENT: float +SUBST: ?=Gx +SHUFFLE: xc +SHUFFLE: 123 +MAP +................. +.xxxxxxxxxxxxxxx. +.x123132>332213x. +.x2312132211321x. +.x3123213123132x. +.x?????G+G?????x. +.x.............x. +.=T....xxx....T=. +.x.....({[.....x. +.x..T.......T..x. +.xxx=xxxxxxx=xxx. +................. +ENDMAP + +############################################################################## +# Morbid curiosity + +NAME: david_trickyentry_007 +TAGS: entry +MONS: goblin, kobold, orc priest +ITEM: needle, dart, stone +ORIENT: float +MAP +xxxxxxxxxxxxxx.xxxxxxxxxxxxxx +xxxxxxxxx...........xxxxxxxxx +xxxxxx...xxxxx+xxxxx...xxxxxx +xxxx..xxxxxlllllllxxxxx..xxxx +xxx.xxxxxlll..3..lllxxxxx.xxx +xx.xxxxxx...........xxxxxx.xx +xx.xxxxxxxxxxx=xxxxxxxxxxx.xx +xx.xxxxxxxxx.....xxxxxxxxx.xx +x.xx...xxx..G.G.G..xxx..lxx.x +x.x....xx...........xx1fllx.x +x.x....x.............x...lx.x +..+...........{....G.=..1l+.. +x.x....x.............x...lx.x +x.x....xx...........xx..llx.x +x.xx...xxx...G.G...xxx..lxx.x +xx.xxxxxxxxx.....xxxxxxxxxx.x +xx.xxxxxxxxxxx=xxxxxxxxxxx.xx +xx.xxxxxx2d....2..e2xxxxxx.xx +xxx.xxxxxlll2....lllxxxxx.xxx +xxxx..xxxxxlllllllxxxxx..xxxx +xxxxxx...xxxxx+xxxxx...xxxxxx +xxxxxxxxx...........xxxxxxxxx +xxxxxxxxxxxxxx.xxxxxxxxxxxxxx +ENDMAP + +############################################################################## +# Stupid exit shuffling + +NAME: david_trickyentry_008 +TAGS: entry +ITEM: nothing +ORIENT: float +SHUFFLE: [{( +SHUFFLE: GIcbv= +MAP +xxxxxxxxxxxxx +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 +xGxIxcxbxvx=x +x.....@.....x +ENDMAP + +############################################################################## +# Water fire reprise + +NAME: david_trickyentry_009_water_fire +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 +ORIENT: float +SHUFFLE: {[( +SHUFFLE: lw +MAP +xxxxxxxxxxxxxxxxxxxx@xxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxx...............xxxxxxxxxxxxx +xxxxxxxx.........ll....ww........xxxxxxxx +xxxx..........llllllxwwwwww..........xxxx +xx......ll...lllxxllxwwww..ww..ww......xx +x...llllllllll.dllllxw..2wwwxxx..www....x +x.xl.lel.lx.l.lxxxxxx.xxxxw.wwx.x21wwwwwx +xxllxxx.x.l.lx.1llww21wwwwxx.wxwx.1w..wwx +x.l.xx.lxl.lxx22x.w.xww.1111xw.wxw.2xx.wx +xl.xx..lxl.lx..111..x..xxxwx11.wxw.wx.xxx +xll.xll.xxll.1x1xx.xx.x....wxxx.xxw.xw.wx +xlx.x..lxll.x..xxe..x...x...xw.xx.wwxxw.x +x.x.x...xx.xxx..x.x.x.x.x.wxxww.x.xxxw.wx +x...x...x.xxx...x.x.x...xx..x..wx...xw..x +xx+xx...x...x...x...x...x...x...x...xx+xx +x..xxx..x...x...x...x...x...x...x..xxx..x +x....x+xx...x...x...x...x...x...xx+x....x +xx......xx+xxx+xx...x...xx+xxx+xx......xx +xxxx...........xxx+xxx+xxx...........xxxx +xxxxxxxx.........................xxxxxxxx +xxxxxxxxxxxxx.....[.{.(.....xxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +ENDMAP + +############################################################################## +# The zoo + +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 +ITEM: any food +ORIENT: float +SHUFFLE: {[( +SHUFFLE: lw +SHUFFLE: 1234d +MAP +xxxxxx@xxxxxx +x...........x +x.v+v+v+v+v.x +x.v=v=v=v=v.x +x.v=v=v=v=v.x +x.v1v2v3v4v.x +x.vwvwvwvwv.x +x.v+v+v+v+v.x +x...........x +x..I.I.I.I..x +x...........x +x...{.[.(...x +xxxxxxxxxxxxx +ENDMAP + +############################################################################## +# Goblin Pantry + +NAME: erik_trickyentry_001 +TAGS: entry +ORIENT: float +FLAGS: no_rotate +MONS: goblin, hobgoblin +ITEM: sausage / beef jerky / cheese / pizza / pizza / pizza +SHUFFLE: {[( +MAP +xxxxxxxx...xxxxxx +xxxxxxxx.x.xxxxxx +xxxxxxxx...xxxxxx +xxxxxxxx.x.xxxxxx +xxxxxxxx...xxxxxx +xxxxxxxx.x.xxxxxx +xxxxxxxx...xxxxxx +xxxxxxxx.x.xxxxxx +xxxxxxxx...xxxxxx +xxxxxxxx...xxxxxx +xdx2+.x.....xxxxx +x$x2x.x.....xxxxx +x.x2x.x.[{(.xxxxx +xdx1x.x.....xxxxx +xd+1x.+.....xxxxx +xxxxxxxxxxxxxxxxx +ENDMAP + +############################################################################## +# Spiral Da Hi + +NAME: erik_trickyentry_002 +TAGS: entry +ORIENT: float +MONS: fungus +MAP +x@xxxxxxxxxxxxxxxxxxxx +x.=xxxxxxxxxxxxxxxxxxx +x.x..................x +x.x.=xxxxxxxxxxxxxx1.x +x.x.x..............x.x +x.x.x.=xxxxxxxxxx1.x.x +x.x.x.x..........x.x.x +x.x.x.x.=xxxxxx1.x.x.x +x.x.x.x.x......x.x.x.x +x.x.x.x.x.=xxx.x.x.x.x +x.x.x.x.x.x{[x.x.x.x.x +x.x.x.x.x.xx(x.x.x.x.x +x.x.x.x.x....x.x.x.x.x +x.x.x.x.1xxxx=.x.x.x.x +x.x.x.x........x.x.x.x +x.x.x.1xxxxxxxx=.x.x.x +x.x.x............x.x.x +x.x.1xxxxxxxxxxxx=.x.x +x.x................x.x +x.1xxxxxxxxxxxxxxxx=.x +x....................x +xxxxxxxxxxxxxxxxxxxxxx +ENDMAP + +############################################################################## +# Ooh! Treasure!, Low Noise Edition Now with Added Exity Goodness + +NAME: erik_trickyentry_003 +TAGS: entry no_monster_gen +ORIENT: float +ITEM: scroll of paper, potion of water, wand of slowing +ITEM: club, knife, stone, ring of teleportation +SHUFFLE: {[(< +MAP +bbbbbbbbbbbbbbbbbbbbb +b0g....d..}g.......0b +b.g..ge...e..d.d....b +b..d................b +bh..............g.d.b +b.........j.........b +b...................b +b.........d.........b +b........ddd......g.b +b.h.....ddddd.......b +b..g......d......g..b +b.........d.........b +b.........d.........b +b...f.....d.......e.b +b...................b +b..........i........b +b.....e...........hib +bh........(......h..b +bh..d....<[<....j...b +b0........{........0b +bbbbbbbbbbbbbbbbbbbbb +ENDMAP + +############################################################################## +# Being Mean Is Cool + +NAME: erik_trickyentry_004_a +TAGS: entry +ORIENT: float +CHANCE: 5 +ITEM: scroll of curse armour, scroll of teleportation +MAP +xxxxx +xxexx +xd{ex +xxdxx +xxxxx +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 +MAP +@.....@ +.xx=xx. +.xxexx. +.=d{e=. +.xxdxx. +.xx=xx. +@.....@ +ENDMAP diff --git a/crawl-ref/source/externs.h b/crawl-ref/source/externs.h index b99b03fa64..048782eca5 100644 --- a/crawl-ref/source/externs.h +++ b/crawl-ref/source/externs.h @@ -1087,6 +1087,8 @@ public: std::string morgue_dir; // Directory where character dumps and morgue // dumps are saved. Overrides crawl_dir. + std::vector extra_levels; + std::string player_name; bool autopickup_on; diff --git a/crawl-ref/source/initfile.cc b/crawl-ref/source/initfile.cc index d5ae9102d1..50bcb190b7 100644 --- a/crawl-ref/source/initfile.cc +++ b/crawl-ref/source/initfile.cc @@ -728,6 +728,7 @@ void game_options::reset_options() channels[i] = MSGCOL_DEFAULT; // Clear vector options. + extra_levels.clear(); dump_order.clear(); new_dump_fields("header,stats,misc,inventory,skills," "spells,,overview,mutations,messages,screenshot," @@ -1301,7 +1302,8 @@ void game_options::read_option_line(const std::string &str, bool runscript) && key != "note_monsters" && key != "note_messages" && key.find("cset") != 0 && key != "dungeon" && key != "feature" && key != "fire_items_start" - && key != "menu_colour" && key != "menu_color") + && key != "menu_colour" && key != "menu_color" + && key != "levels" && key != "level" && key != "entries") { tolower_string( field ); } @@ -1387,13 +1389,13 @@ void game_options::read_option_line(const std::string &str, bool runscript) } else if (key == "default_autopickup") { - // should autopickup default to on or off? - autopickup_on = read_bool( field, autopickup_on ); + // should autopickup default to on or off? + autopickup_on = read_bool( field, autopickup_on ); } else if (key == "default_autoprayer") { - // should autoprayer default to on or off? - autoprayer_on = read_bool( field, autoprayer_on ); + // should autoprayer default to on or off? + autoprayer_on = read_bool( field, autoprayer_on ); } else if (key == "detailed_stat_dump") { @@ -1545,6 +1547,10 @@ void game_options::read_option_line(const std::string &str, bool runscript) // As a suggestion, try "rxvt -rv -fn 10x20" under Un*xes friend_brand = curses_attribute(field); } + else if (key == "levels" || key == "level" || key == "entries") + { + extra_levels.push_back(field); + } else if (key == "stab_brand") { stab_brand = curses_attribute(field); @@ -1885,19 +1891,19 @@ void game_options::read_option_line(const std::string &str, bool runscript) } else if (key == "note_skill_levels") { - std::vector thesplit = split_string(",", field); - for ( unsigned i = 0; i < thesplit.size(); ++i ) + std::vector thesplit = split_string(",", field); + for ( unsigned i = 0; i < thesplit.size(); ++i ) { - int num = atoi(thesplit[i].c_str()); - if ( num > 0 && num <= 27 ) - note_skill_levels.push_back(num); - else + int num = atoi(thesplit[i].c_str()); + if ( num > 0 && num <= 27 ) + note_skill_levels.push_back(num); + else { - fprintf(stderr, "Bad skill level to note -- %s\n", - thesplit[i].c_str()); - continue; - } - } + fprintf(stderr, "Bad skill level to note -- %s\n", + thesplit[i].c_str()); + continue; + } + } } else if (key == "pickup_thrown") { diff --git a/crawl-ref/source/maps.cc b/crawl-ref/source/maps.cc index 4994fc5a69..7df752a3e8 100644 --- a/crawl-ref/source/maps.cc +++ b/crawl-ref/source/maps.cc @@ -376,6 +376,15 @@ void read_maps() { parse_maps( lc_desfile = datafile_path( "splev.des" ) ); parse_maps( lc_desfile = datafile_path( "vaults.des" ) ); + + for (int i = 0, size = Options.extra_levels.size(); i < size; ++i) + { + lc_desfile = datafile_path( Options.extra_levels[i] + ".des", false ); + if (lc_desfile.empty()) + continue; + + parse_maps( lc_desfile ); + } } void add_parsed_map( const map_def &md ) diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc index 8126a72afa..62abbf8868 100644 --- a/crawl-ref/source/monstuff.cc +++ b/crawl-ref/source/monstuff.cc @@ -4542,8 +4542,10 @@ void mons_check_pool(monsters *mons, int killer) ptr_monam(mons, DESC_CAP_THE), (grid == DNGN_LAVA ? "lava" : "water")); - // Even fire resistant monsters perish in lava! - if (!monster_habitable_grid(mons, grid)) + // Even fire resistant monsters perish in lava, but undead can survive + // deep water. + if (!monster_habitable_grid(mons, grid) + && (grid == DNGN_LAVA || mons->holiness() != MH_UNDEAD)) { if (message) { -- cgit v1.2.3-54-g00ecf