Description |
I've made number of vaults that contain the entrance to zot, since it was mentioned in ##crawl-dev that it would be good to have some. These have been designed as branch entries (for zot), but also as branch endings (for the main dungeon). Thus, they are larger than typical branch entry vaults, and are a bit more challenging (some harder than others).
The monsters are draconians and dragons. For the draconians, they are mostly the unclassed (base draconian) type, with most vaults only having a few classed ones. Thus, the difficulty should be appropriate for the bottom of the dungeon, but still easier than zot. None of these vaults contain any real loot (one of them contains a small amount of gold, but that's all).
Note that in order for these vaults to work as intended, crawl needs to generate just one entrance to zot, rather than 4+ (as it does currently). I have already submitted a patch for this, which changes 3 lines in dungeon.cc (it's a pretty simple change).
There is a weird issue with placing these vaults, currently. In order to guarantee that one gets placed, I am using "PLACE: D:27" (this line guarantees one gets picked right at the start of level generation), and have avoided tagging them with zot_entry. The reason is that if I just use the zot_entry tag, the game will only pick a vault _after_ generating most of the level, and thus won't be able to find a spot to put the vault (it will try several times and fail... try this in debug mode to see what I mean). On the other hand, if I use "PLACE: D:27" and the zot_entry tag at the same time, it will pick one vault for the PLACE line, and another vault for the zot_entry tag (and likely fail at this part). Thus, I have opted for just using PLACE, as a workaround.
Unfortunately, if there are no vaults tagged with zot_entry for it to choose, the game will randomly place a portal on the level. This happens in addition to picking one of the D:27 vaults (in other words, two portals will be generated: one inside a vault, and one outside). I've worked around this by using an empty dummy vault tagged with zot_entry. I've explained this in a lengthy comment in the vault file itself.
I'd like to have come up with a better solution than this hack, but I don't know the crawl source well enough to do that (and I'm not much of a C++ programmer anyway). Luckily, this method works for now, even if it's rather inelegant. I suspect that the best solution in the long term would be to make vaults tagged with zot_entry be placed at the beginning of level generation. |
Attached Files |
zot-entry.txt [^] (10,941 bytes) 2011-06-05 08:41 [Show Content] [Hide Content]# 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
zot-entry-updated.txt [^] (9,535 bytes) 2011-06-07 22:06 [Show Content] [Hide Content]NAME: evilmike_zot_entry_round
TAGS: no_monster_gen zot_entry
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 zot_entry
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 zot_entry
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 zot_entry
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 zot_entry
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 zot_entry
TAGS: no_monster_gen zot_entry
ORIENT: float
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 zot_entry
ORIENT: float
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
zot-entry-updated2.txt [^] (7,685 bytes) 2011-06-08 10:59 [Show Content] [Hide Content]NAME: evilmike_zot_entry_round
TAGS: no_monster_gen zot_entry
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...cx
xxc...n----G----n..3cx
xcc...n-G--4--G-n...cc
xc.1.nn----v----nn...c
xc.v.n----v-v----n.v.+
xc.v.+-G-v-O-v-G-=.v.+
xc.v.n----v-v----n.v.+
xc.1.nn----v----nn...c
xcc...n-G--4--G-n...cc
xxc...n----G----n..3cx
xxc...nnnn---nnnn...cx
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 zot_entry
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'
'wcccccccwwwwwwwwwwwwwwwwwwwwwwwcccccccw'
'wc1....cccccmccccccmccccccmccccc....1cw'
'wc.""".+....2.............2....+.""".cw'
'wc."O".cccccccccccc+cccccccccccc."O".cw'
'wc.""".s..3.....=4m.m4=......3.s.""".cw'
'wc.....c.3...cccccc.cccccc.""".c.....cw'
'wccccccc3....+...3"""3...+."x"3ccc+cccw'
'wwwwwwccccccccc.""""""".ccc""".c$$$.ccw'
''''''wm.......c.""""""".c4=..3.s$$$2mww'
''''''wc.x3x3x2c"""xxx"""cmcccccccccccw''
''''''WD"""""""D"""xxx"""+.+^^^^^^^^^+w''
''''''wc.x3x3x2c"""xxx"""cmcccccccccccw''
''''''wm.......c.""""""".c4=..3.s$$$2mww'
'wwwwwwccccccccc.""""""".ccc""".c$$$.ccw'
'wccccccc3....+...3"""3...+."x"3ccc+cccw'
'wc.....c.3...cccccc.cccccc.""".c.....cw'
'wc.""".s..3.....=4m.m4=......3.s.""".cw'
'wc."O".cccccccccccc+cccccccccccc."O".cw'
'wc.""".+....2.............2....+.""".cw'
'wc1....cccccmccccccmccccccmccccc....1cw'
'wcccccccwwwwwwwwwwwwwwwwwwwwwwwcccccccw'
'wwwwwwwww'''''''''''''''''''''wwwwwwwww'
'''''''''''''''''''''''''''''''''''''''''
ENDMAP
NAME: evilmike_zot_entry_gauntlet
TAGS: no_monster_gen zot_entry
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
ccc+ccccccccccccccccccc
cvb.bvcccvb.bvccccccccc
cb...bcccb.9.bccccccccc
c.1.1.ccc.0...+.ccccccc
cb222bcccb.9.bc..cccccc
cvb.bvcccvb.bvcc..ccccc
ccc+ccccccc+ccccc..cccc
ccc.ccccccc.cccccc..ccc
ccc+ccccccXDXcccccc+ccc
cvb.bvcccXX-XXcccvb.bvc
cb...bccXX---XXccb.8.bc
c.3.3.ccX--O--Xcc.7.7.c
cb444bccXX---XXccb...bc
cvb.bvcccXX-XXcccvb.bvc
ccc+ccccccXXXcccccc+ccc
ccc..ccccccccccccc..ccc
cccc..ccccccccccc..cccc
ccccc..ccvb.bvcc..ccccc
cccccc..cb.56bc..cccccc
ccccccc.+.....+.ccccccc
cccccccccb.56bccccccccc
cccccccccvb.bvccccccccc
ccccccccccccccccccccccc
ENDMAP
NAME: evilmike_zot_entry_argh
TAGS: no_monster_gen patrolling zot_entry
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 zot_entry
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
cccccccccccc
cc..1....ccc
cccccccccccccccccccc.........cc
ccccccdccdccdccdccc..2XXXXX...c
ccc..............dc..XX---XX..c
+...vv.zz.vv.zz..cc..X-----X..c
+...vv.zz.vv.zz..+...X--O--+..c
+...vv.zz.vv.zz..cc..X-----X..c
ccc..............dc..XX---XX..c
ccccccdccdccdccdccc..2XXXXX...c
cccccccccccccccccccc.........cc
ccc..1....ccc
ccccccccccccc
ENDMAP
NAME: evilmike_zot_entry_basic
TAGS: no_monster_gen zot_entry
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 zot_entry
KFEAT: O = enter_zot
KFEAT: A = stone_arch
TILE: X = WALL_ZOT_MAGENTA
COLOUR: X+- = magenta
FTILE: -O+A = FLOOR_HALL
KPROP: -OxA = no_tele_into
SUBST: - = .
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
..1..
.2X+X2.
..XX-XX..
3.XX---XX.3
..XX--O--XX..
..XXXX---XXXX..
.2XX-XXX-XXX-XX2.
.XX---XXXXX---XX.
1+--A--XXX--A--+1
.XX---XXXXX---XX.
.2XX-XXX-XXX-XX2.
..XXXX---XXXX..
..XX--A--XX..
3.XX---XX.3
..XX-XX..
.2X+X2.
..1..
ENDMAP
morgue-Mathis-20110710-111651.map [^] (5,025 bytes) 2011-07-10 18:56
morgue-Mathis-20110710-111651.txt [^] (46,337 bytes) 2011-07-10 18:56 [Show Content] [Hide Content]
|