Overflow Vaults I: Ready
Posted: Tuesday, 13th October 2015, 16:14
Recently when I asked what sort of vaults were needed, one of the suggestions that came back was more overflow alter vaults. So I looked at the existing vaults in the altar folder and found that there is indeed a disparity in the number of vaults that explicitly specify a particular god's altar. So I've taken on the task of ensuring that each god has at least 10 such vaults. Since I still very much feel like I don't know what I'm doing, I'll be posted them here for feedback and in some cases with questions. I'm totally open to objections to geometry or balance since I'm not familiar with all the vault shapes made previously and not expereinced enough to know when something is too dangerous or too unbalancing loot-wise.
Here are the vaults I intend to make:
This is a total of 33 vaults, 13 of which are done and in this post and two more in another thread with questions. I have provisional maps for all 33, it's just taking time to get the des fragments fleshed out and tested.
Several of these follow a theme I'm calling "Rivals" where two gods that have opposing goals or effects are paired with one another in a vault having geometry that emphasizes the contrast. These are Ash/Nem (foreknowledge), Fedh/Yred (fate of corpses), Dith/Qaz (noise, also fire), Ely/Kiku (succor/torment), Goz/Ru (avarice/sacrifice), Sif/Trog (magic), Chei/Oka (combat speed), TSO/Makh (angel/demon summons), Ely/Yred (life/death). This reduced the total number of vaults needed, and also contributed to the few that already had 10 but I'm giving more to. Zin/Xom (mutations, also order/chaos) is another rival pair, but a vault already exists for those two gods and they both had 10 already.
The following 13 vaults are as far as I can tell ready to go. I've tested them in trunk with square LOS. One thing to mention: I'm not sure of the purpose of the ": interest_check(_G)" line so I just left it in from the existing vaults from the overflow folder which I was using as a template.
Here are Rivals vaults:
Fedhas and Yred
Makh and TSO
Gozag and Ru
Ashenzari & Nemelex
Another Gozag and Ru. I used a runed door because I was concerned that the welcoming committee might be too strong. UPDATE: fixed below after feedback from wheals, runed door to plain and 8 monsters in entry chamber to 5.
Dith and Qaz. This one is my favorite thematically. I think I've figured out how to keep the steam from hitting the altars or the doors.
Oka and Chei. The altars are visible from the neck of the hourglass. Even though it is a downstairs closet I think the "transparent" tag is correct so the builder can join the empty floor around it to the rest of the level?
Vaults that aren't Rivals theme
Sif and Veh. I was tempted to nerf the bookstore to only carry a few low-level books but decided against it, so it can be useful to magicians all game. UPDATE: fixed below after feedback from wheals, changed book shop into two spellbooks.
Even Ashenzari's altar is shackled
A Dith altar that focuses on quiet instead of smoke
Another Dith altar, this one subtly changes the geometry of the whole level.
A different configuration for Qazlal and elementals. Too bad the fire elementals kill the water ones, the partition kinda kills the crescent moon I was going for.
Yred's altar in the middle of a catacombs chamber. I placed the monsters far enough from the central corridor that you can run away and close the door if they are too dangerous on shallower dungeon levels.
Here are the vaults I intend to make:
- Code:
Ash 5 new 10 total
Chei 3 new 10 total
Dith 4 new 10 total
Ely 4 new 10 total
Goz 3 new 10 total
Kiku 2 new 10 total
Qaz 4 new 10 total
Ru 4 new 10 total
Sif 5 new 10 total
Veh 3 new 10 total
Yred 4 new 10 total
Fedh 1 new 11 total
Makh 1 new 10 total
Nem 1 new 10 total
Oka 1 new 10 total
Trog 1 new 12 total
Xom 0 new 11 total
Zin 0 new 10 total
TSO 1 new 10 total
This is a total of 33 vaults, 13 of which are done and in this post and two more in another thread with questions. I have provisional maps for all 33, it's just taking time to get the des fragments fleshed out and tested.
Several of these follow a theme I'm calling "Rivals" where two gods that have opposing goals or effects are paired with one another in a vault having geometry that emphasizes the contrast. These are Ash/Nem (foreknowledge), Fedh/Yred (fate of corpses), Dith/Qaz (noise, also fire), Ely/Kiku (succor/torment), Goz/Ru (avarice/sacrifice), Sif/Trog (magic), Chei/Oka (combat speed), TSO/Makh (angel/demon summons), Ely/Yred (life/death). This reduced the total number of vaults needed, and also contributed to the few that already had 10 but I'm giving more to. Zin/Xom (mutations, also order/chaos) is another rival pair, but a vault already exists for those two gods and they both had 10 already.
The following 13 vaults are as far as I can tell ready to go. I've tested them in trunk with square LOS. One thing to mention: I'm not sure of the purpose of the ": interest_check(_G)" line so I just left it in from the existing vaults from the overflow folder which I was using as a template.
Here are Rivals vaults:
Fedhas and Yred
- Code:
# Fedhas wants corpses to have a natural end,
# Yred wants them to have an unnatural end
NAME: mainiacjoe_yred_fedhas_diamonds
DEPTH: D:2-9
TAGS: temple_overflow_2 temple_overflow_fedhas
TAGS: temple_overflow_yredelemnul
TAGS: uniq_altar_yredelemnul uniq_altar_fedhas
TAGS: uniq_rivals_overflow
KFEAT: A = altar_fedhas
KFEAT: B = altar_yredelemnul
TAGS: no_pool_fixup
KMASK: wW = no_monster_gen
FTILE: 'A = floor_grass
FTILE: "B = floor_marble
: interest_check(_G)
MAP
cccccccc
cc.cccc.cc
cc...cc...cc
cc..'...."..cc
cc..'''.."""..cc
cc..'''''"""""..cc
cc..'''''"'"""""..cc
c..'''''"WW'"""""..c
+.'''A'"WwwW'"B""".+
c..'''''"WW'"""""..c
cc..'''''"'"""""..cc
cc..'''''"""""..cc
cc..'''.."""..cc
cc..'...."..cc
cc...cc...cc
cc.cccc.cc
cccccccc
ENDMAP
Makh and TSO
- Code:
# Mahkleb summons demons to help worshippers,
# TSO summons angels to help worshippers
NAME: mainiacjoe_makh_tso_bowtie
DEPTH: D:2-9
TAGS: temple_overflow_2 temple_overflow_makhleb
TAGS: temple_overflow_the_shining_one
TAGS: transparent decor
TAGS: uniq_altar_the_shining_one uniq_altar_makhleb
TAGS: uniq_rivals_overflow
KFEAT: A = altar_the_shining_one
KFEAT: B = altar_makhleb
MONS: angel, reaper
FTILE: .ABTY12 = floor_sandstone
: interest_check(_G)
MAP
c+c c+c
c.cc cc.c
c..cc cc..c
c...cc cc...c
c.T..cc cc..Y.c
c.....ccccc.....c
c...A.n1n2n.B...c
c.....ccccc.....c
c.T..cc cc..Y.c
c...cc cc...c
c..cc cc..c
c.cc cc.c
c+c c+c
ENDMAP
Gozag and Ru
- Code:
# Ru wants worshippers who sacrifice,
# Gozag wants worshippers who are greedy
NAME: mainiacjoe_goz_ruh_rams_horns
DEPTH: D:2-9
TAGS: temple_overflow_2 temple_overflow_ru
TAGS: temple_overflow_gozag
TAGS: transparent decor
TAGS: uniq_altar_gozag uniq_altar_ru
TAGS: uniq_rivals_overflow
KFEAT: A = altar_ru
KFEAT: B = altar_gozag
SUBST: G : Gt12Tbv$
MONS: plant
MONS: bush
: interest_check(_G)
MAP
ccccc...ccccc
cc...cc cc...cc
cc..G..ccc..G..cc
c.......c.......c
cc..cc...c...cc..cc
c..cccc.....cccc..c
c.cc c..G..c cc.c
c.cc cc...cc cc.c
ccAc c.G.c cBcc
ccc c...c ccc
c.G.c
c...c
c.G.c
c...c
c.G.c
c...c
c+++c
ENDMAP
Ashenzari & Nemelex
- Code:
# Ashenzari gives worshippers knowledge,
# Nemelex worshipper don't know what's coming
# Both give a little gift to get you started
NAME: mainiacjoe_ash_nem_sprials
DEPTH: D:2-9
TAGS: temple_overflow_2 temple_overflow_ashenzari
TAGS: temple_overflow_nemelex_xobeh
TAGS: transparent decor
TAGS: uniq_altar_nemelex_xobeh uniq_altar_ashenzari
TAGS: uniq_rivals_overflow
KFEAT: A = altar_nemelex_xobeh
KFEAT: B = altar_ashenzari
KITEM: A = plain deck
KITEM: B = scroll of curse jewellery ident:type / \
scroll of curse weapon ident:type / \
scroll of curse armour ident:type
: interest_check(_G)
MAP
xxxxxxxxxxxxx+x
x...........x.x
x.xcccccccc.x.x
x.x.......c.x.x
x.x.ccccc.c.x.x
x.x.c..Ac.c.x.x
x.x.c.cnc.c.x.x
x.x.c.cB..c.x.x
x.x.c.ccccc.x.x
x.x.c.......x.x
x.x.ccccccccx.x
x.x...........x
x+xxxxxxxxxxxxx
ENDMAP
Another Gozag and Ru. I used a runed door because I was concerned that the welcoming committee might be too strong. UPDATE: fixed below after feedback from wheals, runed door to plain and 8 monsters in entry chamber to 5.
- Code:
# Another Ru/Gozag rivals altar
# This one has a big welcoming committee
NAME: mainiacjoe_ru_gozag_curved_hallways
DEPTH: D:2-9
TAGS: temple_overflow_2 temple_overflow_ru
TAGS: temple_overflow_gozag
TAGS: transparent decor
TAGS: uniq_altar_gozag uniq_altar_ru
TAGS: uniq_rivals_overflow
KFEAT: A = altar_ru
KFEAT: B = altar_gozag
SUBST: $ = .:40 $
FTILE: .ABGT$ = floor_sandstone
: interest_check(_G)
MAP
cccccc
cccc$$..cc
cc$$$$$G..ccc
cc$$$$$$..0..cc
cc$$$ccccc.....cc
cc$$ccc...ccc....cc
c$$cc...0...cc....cc
c$cc.........cc.G..c
cc$c..0..G..0..c....c
cBcc...........cc...c
cnc.................c
+.=.0.G..T..G.0...G.c
cnc.................c
cAcc...........cc...c
cc.c..0..G..0..c....c
c.cc.........cc.G..c
c..cc...0...cc....cc
cc..ccc...ccc....cc
cc...ccccc.....cc
cc........0..cc
cc.....G..ccc
cccc....cc
cccccc
ENDMAP
Dith and Qaz. This one is my favorite thematically. I think I've figured out how to keep the steam from hitting the altars or the doors.
- Code:
# Dithmenos hates fire, Qazlal loves it
# At the magical interface between Qazlal's lava
# and Dithmenos' water trying to quench it, steam
# continuously erupts as the gods struggle
NAME: mainiacjoe_qaz_dith_steam
DEPTH: D:2-9
TAGS: temple_overflow_2 temple_overflow_qazlal
TAGS: temple_overflow_dithmenos
TAGS: transparent decor
TAGS: uniq_altar_dithmenos uniq_altar_qazlal
TAGS: uniq_rivals_overflow
KFEAT: A = altar_dithmenos
KFEAT: B = altar_qazlal
KFEAT: s = deep_water
KFEAT: S = lava
KPROP: lS = no_cloud_gen
MARKER: s = lua:fog_machine { cloud_type="steam", \
pow_min = 2, pow_max = 5, delay = 25, \
size = 1, walk_dist = 1, spread_rate= 4 }
MARKER: S = lua:fog_machine { cloud_type="steam", \
pow_min = 2, pow_max = 5, delay = 25, \
size = 1, walk_dist = 1, spread_rate= 4 }
: interest_check(_G)
MAP
cccccccccc++cccccccccc
c....................c
c.wwwwwwwwwlllllllll.c
c.wwwwwwwwwlllllllll.c
c.wwwwwwwwsSllllllll.c
c.wwwwwwwwsSllllllll.c
c.wwwwwwwwsSllllllll.c
c.wwwwwwwwsSllllllll.c
c......AwwwlllB......c
c.wwwwwwwwsSllllllll.c
c.wwwwwwwwsSllllllll.c
c.wwwwwwwwsSllllllll.c
c.wwwwwwwwsSllllllll.c
c.wwwwwwwwwlllllllll.c
c.wwwwwwwwwlllllllll.c
c....................c
cccccccccc++cccccccccc
ENDMAP
Oka and Chei. The altars are visible from the neck of the hourglass. Even though it is a downstairs closet I think the "transparent" tag is correct so the builder can join the empty floor around it to the rest of the level?
- Code:
# Okawaru gives worshippers speed in combat,
# Chei slows them down
NAME: mainiacjoe_oka_chei_hourglass
DEPTH: D:2-9
TAGS: temple_overflow_2 temple_overflow_okawaru
TAGS: temple_overflow_cheibriados
TAGS: transparent decor
TAGS: uniq_altar_okawaru uniq_altar_cheibriados
TAGS: uniq_rivals_overflow
KFEAT: A = altar_okawaru
KFEAT: B = altar_cheibriados
FTILE: sB} = floor_sand
FTILE: 'A = floor_marble
SUBST: } = })]
: interest_check(_G)
MAP
...................
.ccccccccccccccccc.
..n'''''''''''''n..
..n''''''A''''''n..
..n'''''sss'''''n..
..nn''sssssss''nn..
...nsssssssssssn...
...nnsssssssssnn...
....nnsssssssnn....
.....nnnsssnnn.....
.......nn}nn.......
.....nnn's'nnn.....
....nn'''s'''nn....
...nn''''s''''nn...
...n'''''s'''''n...
..nn''''sss''''nn..
..n'''sssssss'''n..
..n''ssssBssss''n..
..n'sssssssssss'n..
.ccccccccccccccccc.
...................
ENDMAP
Vaults that aren't Rivals theme
Sif and Veh. I was tempted to nerf the bookstore to only carry a few low-level books but decided against it, so it can be useful to magicians all game. UPDATE: fixed below after feedback from wheals, changed book shop into two spellbooks.
- Code:
# The magic gods want you to get a good start on your career
NAME: mainiacjoe_sif_veh_bookstore
DEPTH: D:2-9
TAGS: temple_overflow_2 temple_overflow_sif_muna
TAGS: temple_overflow_vehumet no_pool_fixup
TAGS: transparent decor
SUBST: G : GTt1
SUBST: H : GTt1
SUBST: c : cxtnbvl
MONS: plant
KFEAT: A = altar_sif_muna
KFEAT: B = altar_vehumet
KFEAT: S = book shop
KMASK: wl = no_monster_gen
: interest_check(_G)
MAP
ccccc
cc...cc
cc..G..cc
c.......c
c.G.A.G.c
c.......c@
cc..G....cccc
cc....S....cc
cccc....H..cc
@c.......c
c.H.B.H.c
c.......c
cc..H..cc
cc...cc
ccccc
ENDMAP
Even Ashenzari's altar is shackled
- Code:
# Since you need to find a consumable to get at the altar,
# Ashenzari will give you compensation for your late start
DEPTH: D:2-9
NAME: mainiacjoe_ashenzari_jail_gifts
TAGS: temple_overflow_1 temple_overflow_ashenzari
TAGS: uniq_altar_ashenzari
TAGS: transparent decor
KFEAT: _ = altar_ashenzari
KFEAT: # = iron_grate
ITEM: scroll of curse armour ident:type
ITEM: scroll of curse weapon ident:type
ITEM: scroll of curse jewellery ident:type
SHUFFLE: def?
SUBST: ? = def
SUBST: v : vcbltGTw
: interest_check(_G)
MAP
.....
.......
..v###v..
..##d##..
..#e_f#..
..##?##..
..v###v..
.......
.....
ENDMAP
A Dith altar that focuses on quiet instead of smoke
- Code:
# Way too many smoky Dith altar vaults, this one emphasizes
# his stealthiness and antipathy to noise.
NAME: mainiacjoe_dithmenos_silent_spectre
DEPTH: D:2-9
TAGS: temple_overflow_1 temple_overflow_dithmenos
TAGS: uniq_altar_dithmenos
TAGS: transparent decor
KFEAT: _ = altar_dithmenos
SUBST: x : xcvb
SUBST: G : GTVAWt23
SUBST: T : GTVAWt23
SUBST: V : GTVAWt23
NSUBST: 0 = 8:0 / *:.
MONS: silent spectre, plant, bush
: interest_check(_G)
MAP
xxxxxxxxxxx+xxxxxxxxxxx
x.....................x
x.V....0.......0....V.x
x...xxxxxxxxxxxxxxx...x
x..x.......0.......x..x
x..x..T.........T..x..x
x..x.....xx+xx.....x..x
x.0x....xx...xx....x0.x
x..x...xx..G..xx...x..x
x..x..xx.0...0.xx..x..x
x..x..x...ooo...x..x..x
+..x0.+._.o1o.G.+.0x..+
x..x..x...ooo...x..x..x
x..x..xx.0...0.xx..x..x
x..x...xx..G..xx...x..x
x.0x....xx...xx....x0.x
x..x.....xx+xx.....x..x
x..x..T.........T..x..x
x..x.......0.......x..x
x...xxxxxxxxxxxxxxx...x
x.V....0.......0....V.x
x.....................x
xxxxxxxxxxx+xxxxxxxxxxx
ENDMAP
Another Dith altar, this one subtly changes the geometry of the whole level.
- Code:
# A river highway leads from far off on the level to a smoky altar
NAME: mainiacjoe_dithmenos_river_promenade
DEPTH: D:2-9
TAGS: temple_overflow_1 temple_overflow_dithmenos
TAGS: uniq_altar_dithmenos no_monster_gen
TAGS: transparent decor
KFEAT: _ = altar_dithmenos
KFEAT: ' = shallow_water
MARKER: ' = lua:fog_machine { cloud_type = "black smoke", \
pow_min = 10, pow_max = 20, \
delay = 100, size = 1, walk_dist = 1 }
: interest_check(_G)
MAP
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W'W
WW.WW
WWWWWWWWWWWWWWWWWWWWW'._.'WWWWWWWWWWWWWWWWWWWWWWWWWW
WW.WW
W'W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
ENDMAP
A different configuration for Qazlal and elementals. Too bad the fire elementals kill the water ones, the partition kinda kills the crescent moon I was going for.
- Code:
# had to separate the fire and water elementals alas
NAME: mainiacjoe_qaz_moon_chamber
DEPTH: D:2-9
TAGS: temple_overflow_1 temple_overflow_qazlal
TAGS: transparent decor
TAGS: uniq_altar_qazlal
TAGS: no_monster_gen
KFEAT: _ = altar_qazlal
NSUBST: ' = 3:1 / 3:3 / *:'
NSUBST: ` = 3:2 / 3:4 / *:'
KMASK: 1234' = no_item_gen
KMASK: . = !no_monster_gen
KPROP: 1234' = no_tele_into
MONS: earth elemental, air elemental, fire elemental, water elemental
: interest_check(_G)
MAP
ccccc
ccc'n`ccc
cc'''n```cc
cc''nnnnn``cc
c''nn...nn``c
c'nn.....nn`c
c'n.......n`c
c'n..._...n`c
ccn.......ncc
ccc.....ccc
cc...cc
cc+cc
ENDMAP
Yred's altar in the middle of a catacombs chamber. I placed the monsters far enough from the central corridor that you can run away and close the door if they are too dangerous on shallower dungeon levels.
- Code:
# The catacombs are full of Yred's restless dead,
# but you can always just close the door
NAME: mainiacjoe_yred_catacombs
DEPTH: D:2-9
TAGS: temple_overflow_1 temple_overflow_yredelemnul
TAGS: transparent decor
TAGS: uniq_altar_yredelemnul
KFEAT: _ = altar_yredelemnul
FTILE: _. = floor_marble
TILE: x = wall_brick_darkgray
SUBST: ? = 12
MONS: zombie, skeleton
: interest_check(_G)
MAP
xxxxxxxxxxxxxxxxx
x?.............?x
xxxxxxx...xxxxxxx
x?.............?x
xxxxxxx...xxxxxxx
x?......_......?x
xxxxxxx...xxxxxxx
x?.............?x
xxxxxxx...xxxxxxx
x?.............?x
xxxxxxx...xxxxxxx
x...x
xx+xx
ENDMAP