# Note: I've also submitted a patch to go along with this (see mantis). Without # it, these vaults are kind of pointless. ################################################################################ # This dummy is the only vault tagged with zot_entry. All the others use # PLACE: D:27, which makes them more like branch endings for D:27. I use this # dummy vault because otherwise, a _second_ zot entry will randomly get placed # in the level (usually meaning one inside a vault, as intended, and one outside, # defeating the purpose of the vault). # # Tagging the vaults with zot_entry (rather than using PLACE) doesn't # work, because they don't get placed as primary vaults. This means the game # will usually fail to place one, causing the level to just have one random # portal and no entry vault. # # Also, tagging the vaults with zot_entry along with using PLACE doesn't work, # because it will try to place one vault for PLACE, and one vault for zot_entry # (although it will likely fail at this second part... and if it does, a second # portal will get placed, as above). # # Basically this dummy vault is just a cheap hack to get things working the way # I want them to, since I don't know of a better way to do this. # -evilmike NAME: zot_entry_dummy TAGS: zot_entry NAME: evilmike_zot_entry_round TAGS: no_monster_gen PLACE: D:27 ORIENT: float SUBST: = = nnn= SUBST: c: c:70 v:20 b:10 SUBST: v: vcxlmb, n: nnnnvbcx FTILE: })]O-4G: FLOOR_MARBLE SUBST: - = ^ .:90 KFEAT: O = enter_zot SUBST: 4 = 122223 MONS: patrolling nonbase draconian MONS: dragon / ice dragon / storm dragon / shadow dragon / bone dragon / golden dragon MONS: patrolling base draconian MAP xxxxxxxxxxxxxxxxxxxxxx xxxxxxxxcccccccxxxxxxx xxxcccccc..3..ccccccxx xxcc......vvv......ccx xxc.v......3......v.cx xxc.2v...nn=nn...v..cx xxc...nnnn---nnnn...cxxxxxxxxxxxxxxx xxc...n----G----n...cxxxxxxxx3..xxxx xcc...n-G--4--G-n.3.ccxxxxc...v...xx xc.1.nn----v----nn...cccccc.vvvvv.xx xc.v.n----v-v----n.v........vvcvv..x xc.v.+-G-v-O-v-G-=.v...2...vvcccvv.+ xc.v.n----v-v----n.v........vvcvv..x xc.1.nn----v----nn...cccccc.vvvvv.xx xcc...n-G--4--G-n.3.ccxxxxc...v...xx xxc...n----G----n...cxxxxxxxx3..xxxx xxc...nnnn---nnnn...cxxxxxxxxxxxxxxx xxc.2v...nn=nn...v..cx xxc.v.....3.......v.cx xxcc......vvv......ccx xxxcccccc.3...ccccccxx xxxxxxxxcccccccxxxxxxx xxxxxxxxxxxxxxxxxxxxxx ENDMAP # Sorry, no wand of wishing in this one NAME: evilmike_zot_entry_castle TAGS: no_monster_gen PLACE: D:27 ORIENT: float NSUBST: O = 1:O / *:n SUBST: ^ = ^. SUBST: s = ccc= MARKER: = = lua:restrict_door() KFEAT: ^ = alarm trap / blade trap / axe trap / bolt trap KFEAT: O = enter_zot KFEAT: n = stone_arch KFEAT: m = iron_grate FTILE: "OnDx = FLOOR_MARBLE COLOUR: " = magenta TILE: x = WALL_ZOT_MAGENTA COLOUR: x = magenta FTILE: .+cm^1234$ = FLOOR_HALL SUBST: D = +, "' = . MONS: patrolling nonbase draconian MONS: dragon / ice dragon / storm dragon / shadow dragon / bone dragon / golden dragon MONS: w:20 patrolling base draconian / nothing MONS: base draconian ; glaive ego:reaching | halberd ego:reaching MAP ''''''''''''''''''''''''''''''''''''''''''''' 'wwwwwwwww'''''''''''''''''''''''''wwwwwwwww' 'wcccccccwwwwwwwwwwwwwwwwwwwwwwwwwwwcccccccw' 'wc1....ccccccmcccccccmcccccccmcccccc....1cw' 'wc.""".+.....2...............2.....+.""".cw' 'wc."O".cccccccccccccc+cccccccccccccc."O".cw' 'wc.""".s..3.......=4m.m4=........3.s.""".cw' 'wc.....c.3....ccccccc.ccccccc..""".c.....cw' 'wccccccc3.....+....3"""3....+.."x"3ccc+cccw' 'wwwwwwccccccccccc.""""""".cccc.""".c$$$.ccw' ''''''wm.........c.""""""".c44=...3.s$$$2mww' ''''''wc.x3x3x2x.c"""xxx"""cmmccccccccccccw'' @'''''WD"""""""""D"""xxx"""+..+^^^^^^^^^^+w'' ''''''wc.x3x3x2x.c"""xxx"""cmmccccccccccccw'' ''''''wm.........c.""""""".c44=...3.s$$$2mww' 'wwwwwwccccccccccc.""""""".cccc.""".c$$$.ccw' 'wccccccc3.....+....3"""3....+.."x"3ccc+cccw' 'wc.....c.3....ccccccc.ccccccc..""".c.....cw' 'wc.""".s..3.......=4m.m4=........3.s.""".cw' 'wc."O".cccccccccccccc+cccccccccccccc."O".cw' 'wc.""".+.....2...............2.....+.""".cw' 'wc1....ccccccmcccccccmcccccccmcccccc....1cw' 'wcccccccwwwwwwwwwwwwwwwwwwwwwwwwwwwcccccccw' 'wwwwwwwww'''''''''''''''''''''''''wwwwwwwww' ''''''''''''''''''''''''''''''''''''''''''''' ENDMAP NAME: evilmike_zot_entry_gauntlet TAGS: no_monster_gen PLACE: D:27 ORIENT: float SUBST: b: v.., v: c. TILE: X = WALL_ZOT_MAGENTA FTILE: -OD = FLOOR_HALL COLOUR: X-D = magenta KPROP: O- = no_tele_into SUBST: - = ., D = + KFEAT: O = enter_zot MARKER: + = lua:restrict_door() # easy: 1, 2 : if crawl.coinflip() then MONS: pale draconian, steam dragon : else MONS: grey draconian, wyvern : end # medium: 3, 4 : if crawl.coinflip() then MONS: mottled draconian, mottled dragon : else MONS: green draconian, swamp dragon : end # hard: 5, 6 : if crawl.coinflip() then MONS: red draconian, dragon : else MONS: white draconian, ice dragon : end # harder: 7, 8 : if crawl.coinflip() then MONS: black draconian KMONS: 8 = storm dragon : else MONS: purple draconian KMONS: 8 = quicksilver dragon : end # boss: 9, 0 KMONS: 9 = nonbase draconian KMONS: 0 = golden dragon MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxcccccccxxxxxxxxxcccccccxxxxxxxxx ccccvb.bvcxxxxxxxxxcvb.bvcxxxxxxxxx c..cb.12bcccxxxxxcccb.9.bcccxxxxxxx +..+...2.+.ccxxxcccc.0...+.ccxxxxxx c..cb.12bc..ccxcccccb.9.bc..ccxxxxx ccccvb.bvcc..cccccccvb.bvcc..ccxxxx xxxccccccccc..cccccccc+ccccc..ccxxx xxxxxxxxxxxcc..ccccccc.cccccc..cxxx xccc+ccccccXDXcccccc+cccx xcvb.bvcccXX-XXcccvb.bvcx xcb...bccXX---XXccb.8.bcx xc.3.3.ccX--O--Xcc.7.7.cx xcb444bccXX---XXccb...bcx xcvb.bvcccXX-XXcccvb.bvcx xccc+ccccccXXXcccccc+cccx xxxc..ccccccccccccc..cxxx xxxcc..ccccccccccc..ccxxx xxxxcc..ccvb.bvcc..ccxxxx xxxxxcc..cb.56bc..ccxxxxx xxxxxxcc.+.....+.ccxxxxxx xxxxxxxcccb.56bcccxxxxxxx xxxxxxxxxcvb.bvcxxxxxxxxx xxxxxxxxxcccccccxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP NAME: evilmike_zot_entry_argh TAGS: no_monster_gen patrolling PLACE: D:27 ORIENT: float KFEAT: O = enter_zot # Grey dracs can escape from the islands if they have water. This is intentional. SUBST: G: GXm., m: mmlw SUBST: x: xcvX NSUBST: 2 = 2:2 / *:- TILE: X = WALL_ZOT_MAGENTA COLOUR: X = magenta COLOUR: . = white FTILE: -23O = FLOOR_HALL SUBST: - = . MONS: draconian zealot / draconian caller MONS: dragon / ice dragon / storm dragon / shadow dragon / bone dragon / golden dragon MONS: base draconian KMONS: O = nonbase draconian MAP xxxxxxxxxxxx@xxxxxxxxxxxx xxx........---........xxx xxmmm.....G.-.G.....mmmxx x.m1m.......-.......m1m.x x.mmm...G...-...G...mmm.x x..........---..........x x.....G....---....G.....x x..........---..........x x...G.....-----.....G...x x........XX---XX........x x.G.....-X3---3X-.....G.x x-...------2-2------...-x @-----------O-----------@ x-...------2-2------...-x x.G.....-X3---3X-.....G.x x........XX---XX........x x...G.....-----.....G...x x..........---..........x x.....G....---....G.....x x..........---..........x x.mmm...G...-...G...mmm.x x.m1m.......-.......m1m.x xxmmm.....G.-.G.....mmmxx xxx........---........xxx xxxxxxxxxxxx@xxxxxxxxxxxx ENDMAP NAME: evilmike_zot_entry_hall TAGS: no_monster_gen patrolling PLACE: D:27 ORIENT: float KFEAT: O = enter_zot TILE: X = WALL_ZOT_MAGENTA COLOUR: X+- = magenta FTILE: -O+ = FLOOR_HALL KPROP: O- = no_tele_into SUBST: - = . SUBST: v: ....cnXblw, z:..cnXblw NSUBST: d = 5:3 / 2:2 / *:. MONS: nonbase draconian MONS: dragon / ice dragon / storm dragon / shadow dragon / bone dragon / golden dragon MONS: base draconian MAP xxxxxxxxxxxxxx xxcccccccccxxx xxxxxxxxxxxxxxxxxxxxxxxxxcc..1....ccxx cccccccccccccccccccxxxxxcc.........ccx ccccccdccdccdccdccdcxxxxc..2XXXXX...cx ccc................cccccc..XX---XX..cx +...vv.zz.vv.zz.vv.+....c..X-----X..cx +...vv.zz.vv.zz.vv.+..3.+..X--O--+..cx +...vv.zz.vv.zz.vv.+....c..X-----X..cx ccc................cccccc..XX---XX..cx ccccccdccdccdccdccdcxxxxc..2XXXXX...cx cccccccccccccccccccxxxxxcc.........ccx xxxxxxxxxxxxxxxxxxxxxxxxxcc..1....ccxx xxcccccccccxxx xxxxxxxxxxxxxx ENDMAP # If the current selection of zot entries is too limited, give this vault a higher # weight. It's small and simple enough for players not to get bored of it. NAME: evilmike_zot_entry_basic TAGS: no_monster_gen ORIENT: float PLACE: D:27 WEIGHT: 20 KFEAT: O = enter_zot TILE: x = WALL_ZOT_MAGENTA COLOUR: x+- = magenta FTILE: O-+ = FLOOR_HALL KPROP: O- = no_tele_into SUBST: - = . NSUBST: d = 5:3 / 2:2 / 1:1 MONS: patrolling nonbase draconian MONS: dragon / ice dragon / storm dragon / shadow dragon / bone dragon / golden dragon MONS: patrolling base draconian MAP ....d.... .dxx+xxd. .xx---xx. .x-----x. dx--O--xd .x-----x. .xx---xx. .dxxxxxd. ....d.... ENDMAP NAME: evilmike_zot_entry_diamond TAGS: no_monster_gen ORIENT: float PLACE: D:27 KFEAT: O = enter_zot KFEAT: A = stone_arch TILE: X = WALL_ZOT_MAGENTA COLOUR: X+-G = magenta FTILE: -O+A = FLOOR_HALL KPROP: -OxA = no_tele_into SUBST: - = . SUBST: x: xxwl SUBST: v: vvccbn, c: ccvx NSUBST: 2 = 2:2 / *:. NSUBST: 1 = 2:1 / *:2 MONS: patrolling nonbase draconian MONS: dragon / ice dragon / storm dragon / shadow dragon / bone dragon / golden dragon MONS: patrolling base draconian MAP @.cc ccc ccc cc.@ ...cc cc3cc cc3cc cc... c...cccc...cc cc...cccc...c cc...cc..v..cc cc..v..cc...cc cc.....vvv.2cc cc2.vvv.....cc cc...vvxvv..ccc..vvxvv...cc cc..vvxxxvv..G..vvxxxvv..cc cc..vvxxxxxvv.1.vvxxxxxvv..cc cc..vvxxxxxxxvX+Xvxxxxxxxvv..cc c3.vvxxxxGxxxXX-XXxxxGxxxxvv.3c cc..vvxxxxxxXX---XXxxxxxxvv..cc cc..vvxxxxXX--O--XXxxxxvv..cc cc2.vvxxXXXX---XXXXxxvv2.cc cc..vvXX-XXX-XXX-XXvv..cc cc..XX---XXXXX---XX..cc cG1+--A--XXX--A--+1Gc cc..XX---XXXXX---XX..cc cc..vvXX-XXX-XXX-XXvv..cc cc2.vvxxXXXX---XXXXxxvv2.cc cc..vvxxxxXX--A--XXxxxxvv..cc cc..vvxxxxxxXX---XXxxxxxxvv..cc c3.vvxxxxGxxcXX-XXxxxGxxxxvv.3c cc..vvxxxxxxxvX+Xvxxxxxxxvv..cc cc..vvxxxxxvv.1.vvxxxxxvv..cc cc..vvxxxvv..G..vvxxxvv..cc cc...vvxvv..ccc..vvxvv...cc cc.....vvv.2cc cc2.vvv.....cc cc...cc..v..cc cc..v..cc...cc c...cccc...cc cc...cccc...c ...cc cc3cc cc3cc cc... @.cc ccc ccc cc.@ ENDMAP