############################################################################### # altar.des: This is the place where minivaults (and floating vaults) # containing altars should go. Vaults particular to a specific # branch (Beogh altar minivaults for Orc:*, for example), may # go in the corresponding des-file. A few entry vaults contain # altars; these should always be in entry.des. # # There are two reasons for keeping altar vaults separate: # * This makes it easier to adapt for new gods. # * Easier tweaking of altar chances. ############################################################################### ###################################### # I Temples (Multi-altar vaults) ###################################### NAME: minitemple TAGS: allow_dup # More common than the others. WEIGHT: 20 MAP cccccccccc cBcBcBcBcc G.c.c.c.Bc @.......Bc @.......Bc G.c.c.c.Bc cBcBcBcBcc cccccccccc ENDMAP NAME: jmf_multi_god_temple SHUFFLE: abc SUBST: a:=, b:x, c:x DEPTH: D:8-21, Vault MAP ............ .axxxxxxxxa. .x9......9x. .bT......Tb. .x..C..C..x. .cT......Tc. .xxxxmmxxxx. .xxx$$$$xxx. .xx8....8xx. ..xx....xx.. ...xG..Gx... ............ ENDMAP NAME: jmf_multi_god_temple2 DEPTH: D:8-21, Vault MAP ............ ..vvvvvvvv.. .vv......vv. .v..x..x..v. .v.Cx..xC.v. .v..x..x..v. .vT8x..x8Tv. .vvvx==xvvv. ...Gx99xG... ...+*99*+... ...GxxxxG... ............ ENDMAP ###################################### # II General altars ###################################### NAME: old_standard_altar TAGS: allow_dup SHUFFLE: cvxx MAP ........... .xxxx.xxxx. .xx.....xx. .x.......x. .x.......x. .....C..... .x.......x. .x.......x. .xx.....xx. .xxxx.xxxx. ........... ENDMAP NAME: lemuel_round_altar TAGS: allow_dup SHUFFLE: cvxx SUBST: X:x. MAP xxXxx xx...xx xx.....xx x.......x X...C...@ x.......x xx.....xx xx...xx xxXxx ENDMAP NAME: lemuel_crystal_altar TAGS: allow_dup MAP b.b .C. b.b ENDMAP NAME: lemuel_altar_in_water DEPTH: D:2-18, Swamp, Shoal WEIGHT: 9 : local brnd = crawl.random2(13) : if brnd > 10 then TAGS: no_monster_gen no_rotate # this case almost always has altar access : else TAGS: no_monster_gen no_pool_fixup no_rotate : end MAP ......... ...wwwww... ..wwwwwwwww.. ..wwwwwwwwwww.. .wwwwwwwwwwwww. .wwwwwwCwwwwww. .wwwwwwwwwwwww. ..wwwwwwwwwww.. .wwwwwwwww.. ...wwwww... ........ ENDMAP NAME: lemuel_altar_in_water2 TAGS: no_pool_fixup no_monster_gen DEPTH: D:2-18, Lair, Snake, Swamp, Shoal WEIGHT: 1 MAP www wwwww wwwwwww @..Cwww wwwwwww wwwww www ENDMAP NAME: lemuel_oklob_altar DEPTH: D:6-18, Lair, Snake, Shoal MONS: oklob plant, plant MAP 2 2C1 2 ENDMAP NAME: lemuel_hidden_altar DEPTH: D:1-18, Vault, Lair, Elf, Crypt SHUFFLE: XY SUBST: X = . SUBST: Y = = MAP ......... .xxxXxxx. .xxx.xxx. .xxxYxxx. .X.YCY.X. .xxxYxxx. .xxx.xxx. .xxxXxxx. ......... ENDMAP NAME: lemuel_sealed_altar_a WEIGHT: 3 DEPTH: D:2-18, Vault, Elf, Crypt MAP xxxxxxxxxxxxx x...........x x...........x x...........x x...........x x.....>.....x x.....C.....x x...........x x...........x x...........x x...........x xxxxxxxxxxxxx ENDMAP NAME: lemuel_sealed_altar_b WEIGHT: 7 DEPTH: D:2-18, Vault, Elf, Crypt MAP xxxxxxxxxxx x.........x x.........x x....>....x x....C....x x.........x x.........x xxxxxxxxxxx ENDMAP NAME: lemuel_tele_altar DEPTH: D:2-18, Vault SUBST: Y = X x KFEAT: X = teleport trap MAP ............. .xxxxxXxxxxx. .x.........x. .x.........x. .x.........x. .Y....C....Y. .x.........x. .x.........x. .x.........x. .xxxxxYxxxxx. ............. ENDMAP NAME: lemuel_statue_altar DEPTH: 2-18, Vault, Elf : if you.absdepth() < 10 then SUBST: F = G : end SUBST: F = G:100 F:1 KMONS: F = orange crystal statue / silver statue / ice statue MAP ......... .ccccccc. .F...>Cc. .ccccccc. ......... ENDMAP NAME: lemuel_coloured_pillars_altar DEPTH: D:2-18, Vault, Elf TAGS: no_rotate COLOUR: c = blue / yellow / red / cyan MAP xxxxxxxxxxxxxxxxxxxx ...................x c...c...c...c...c..x @.................Cx c...c...c...c...c..x ...................x xxxxxxxxxxxxxxxxxxxx ENDMAP NAME: lemuel_upstairs_altar DEPTH: D:2-12, Vault, Elf, Crypt ORIENT: float SUBST: T:T., )=)}], c:ccx KMASK: T = no_monster_gen MAP ccccccc cT...Tc c.....ccccccc c..C..+....)c c.....ccccccc cT...Tc ccccccc ENDMAP ###################################### # III Special altars ###################################### # XXX - The WEIGHTs and PLACE of these Feawn vaults are temporary. # Remove once the Ecumenical Temple is updated to cater for # more than 12 gods. NAME: feawn_altar_1 TAGS: uniq_altar_feawn DEPTH: D:2-7 WEIGHT: 75 KFEAT: C = altar_feawn MONS: plant MAP ..... .1.1. ..C.. .1.1. ..... ENDMAP NAME: feawn_altar_2 TAGS: uniq_altar_feawn DEPTH: D:2-7 WEIGHT: 75 KFEAT: C = altar_feawn NSUBST: w = 2:W / *:w SUBST: . = ..wW SUBST: w = wwwP MAP ..... .www. .wCw. .www. ..... ENDMAP NAME: feawn_altar_3 TAGS: uniq_altar_feawn DEPTH: D:2-7 WEIGHT: 75 KFEAT: C = altar_feawn NSUBST: b = 1:. / *:1 MONS: plant w:5 / fungus / nothing w:3 MAP .111. 1b1b1 11C11 1b1b1 .111. ENDMAP NAME: feawn_altar_4 TAGS: uniq_altar_feawn DEPTH: D:2-7 WEIGHT: 75 KFEAT: C = altar_feawn FTILE: . = floor_lair FTILE: t = floor_lair MAP xxxxxxxxxxxxxxx xxxtttttttxxxxx xxtttttttttxxxx xtttt.ttttttxxx xtttt.C.ttttttt xxtttt...ttttt. xxtttttt....... xxxxttttttttt.. xxxxxxttttttttx xxxxxxxtttttttx xxxxxxxxxxxxxxx ENDMAP NAME: feawn_altar_5 TAGS: uniq_altar_feawn PLACE: D:8 KFEAT: C = altar_feawn MONS: centaur, bush MAP ...... .2222.. .21222. .22C22. ...22.. .222.. ENDMAP NAME: cheibriados_altar_1 TAGS: uniq_altar_cheibriados PLACE: D:7 KFEAT: C = altar_cheibriados MAP ... .C. ... ENDMAP NAME: cheibriados_altar_2 TAGS: uniq_altar_cheibriados DEPTH: D:2-6 WEIGHT: 100 KFEAT: C = altar_cheibriados MONS: giant slug, giant snail, elephant slug SUBST: 1 : 1:50 2:30 3:10 4:10 NSUBST: 4 = 1:1 / 1:2 / 1:3 MAP ....... .mmm... .m1m... .mmmmm. ..Cm1m. .mmmmm. .m1m... .mmm... ....... ENDMAP NAME: cheibriados_altar_3 TAGS: uniq_altar_cheibriados DEPTH: D:2-6 WEIGHT: 100 KFEAT: C = altar_cheibriados ITEM: potion of slowing ITEM: apple, pear, orange, banana SUBST: e : efgh MAP .d. eCe .d. ENDMAP ############################# NAME: lemuel_angel_altar DEPTH: D:3-18, Vault : if you.absdepth() > 12 then MONS: patrolling Daeva / patrolling Angel : else MONS: patrolling Angel : end KFEAT: C = altar_elyvilon / altar_zin / altar_shining_one MAP ..... ..xmx.. ..xx>xx.. ..xxx.xxx.. .xxxx1xxxx. .m>..C..>m. .xxxx.xxxx. ..xxx.xxx.. ..xx>xx.. ..xmx.. ..... ENDMAP NAME: lemuel_hellish_altar DEPTH: D:2-21, Crypt, Geh MONS: iron devil/orange demon, beast/rotting devil, lemure/manes, hellion SUBST: 2 = 23 SUBST: 2 = 12 SUBST: 3 = 3L : if you.absdepth() >14 then SUBST: 1 = 1:20 4 : end SUBST: L = l. SUBST: C = C P:1 KFEAT: C = altar_lugonu/altar_yredelemnul/altar_kikubaaqudgha/altar_makhleb KFEAT: P = enter_abyss MAP ..LLllLL.... .LllllllLLL.. ..Lll323lllLLL. .LLl32123lllLL. .LLl33C33llLL.. ..Lll323llLL... ..LLll3llL..... ...LLlllL... ....LLLL.... ..LLLLL.. ....LLLL. ENDMAP NAME: david_defended_altar_orc DEPTH: D:7-20, Orc MONS: patrolling orc priest TAGS: uniq_defended_altar KFEAT: D = altar_beogh / w:1 altar_okawaru / w:1 altar_makhleb / w:1 altar_trog MAP ccccc... c1..c... c1D.+.I@ c1..c... ccccc... ENDMAP NAME: david_defended_altar_elf DEPTH: D:7-20, Elf MONS: patrolling deep elf priest / w:30 nothing TAGS: uniq_defended_altar MAP ccccc... c1..c... c1C.+.G@ c1..c... ccccc... ENDMAP NAME: lemuel_blue_sif_altar DEPTH: D:2-18, Elf, Vault TAGS: no_monster_gen mini_float COLOUR: . = blue FTILE: . = floor_hall, C = floor_hall, @ = floor_hall, + = floor_hall KFEAT: C = altar_sif_muna MAP xxxxxxxxxxxxxx ...........xxx @..........+Cx ...........xxx xxxxxxxxxxxxxx ENDMAP NAME: lemuel_zombie_altar DEPTH: D:2-18, Crypt TAGS: no_pool_fixup MONS: rat zombie / giant bat zombie / nothing w:200 KMONS: w = giant goldfish zombie / big fish zombie / nothing w:200 KFEAT: w = deep_water KFEAT: C = altar_kikubaaqudgha / altar_yredelemnul MAP xxxxxxxxxxxxxxxx xxxxwwwwwwwwxxxx xxxx11111111xxxx @.............Cx xxxx11111111xxxx xxxxwwwwwwwwxxxx xxxxxxxxxxxxxxxx ENDMAP # The mix of deep and shallow water is intended to keep the centaurs from # escaping without requiring the player to be able to cross deep water. NAME: lemuel_centaur_altar DEPTH: D:7-20, Shoal, Lair TAGS: no_pool_fixup no_monster_gen MONS: patrolling centaur MAP xxxxxxxxxxxxx xxxxxxxxxxwxx xxwx.1.1.xxwx xwxx1.C.1xwwx xwwxWwwWwWwxx xwwWwwwwwwxxx xxwWwWWwwWxxx xxxwWwwWwxxxx xxxwwwWwWxxxx xxx...@..xxxx ENDMAP NAME: lemuel_mausoleum_altar DEPTH: D:7-20, Crypt MONS: w:50 human zombie/orc zombie/elf zombie/w:5 ogre zombie/w:5 troll zombie MONS: w:50 human skeleton/orc skeleton/elf skeleton/w:5 ogre skeleton/\ w:5 troll skeleton MONS: mummy, wight, wraith, necrophage, ghoul NSUBST: ? = 1:C / *:1 SUBST: 1 = 1:25 2 3 4:8 5:6 6:4 7:2 KFEAT: C = altar_kikubaaqudgha / altar_yredelemnul KMONS: C = human zombie MAP ccccccccccccccc c?c?c?c?c?c?ccG c+c+c+c+c+c+ccc c............+@ c+c+c+c+c+c+ccc c?c?c?c?c?c?ccG ccccccccccccccc ENDMAP ################################################################### # Nemelex altar (Shiori) # Perhaps could have different parameters for the two types of clouds, # and different patterns. NAME: nemelx_altar_shiori DEPTH: !Lair, !Orc TAGS: no_pool_fixup no_monster_gen no_item_gen TAGS: generate_awake patrolling mini_float no_rotate TAGS: layout_rooms layout_city layout_open layout_cross KFEAT: _ = altar_nemelex_xobeh SUBST: b:aa. , a:n. , d:c. , c:nn. , f:ee. , e:nn. , h:g. , g:n. SUBST: G:GTUVblw> , C=c KFEAT: z = teleport trap MARKER: R = lua:fog_machine { cloud_type="flame", walk_dist=1, size=9, \ pow_max=20, delay=10, buildup_amnt=14, buildup_time=7, \ spread_rate=3, start_clouds=1 } MARKER: B = lua:fog_machine { cloud_type="foul pestilence", walk_dist=1, \ size=9, pow_max=20, delay=10, buildup_amnt=14, buildup_time=7, \ spread_rate=3, start_clouds=1 } MAP CCCCCCCC+++CCCCCCCC Cnnnnnnn...nnnnnnnC Cnab'ban...ncd'dcnC Cnb...bn.G.nd...dnC Cn'.B..n...n..R.'nC Cnb...bn...nd...dnC Cnab.ban...ncd.dcnC Cnnnnnnn...nnnnnnnC CG......._.......GC Cnnnnnnn...nnnnnnnC Cnef.fen...ngh.hgnC Cnf...fn...nh...hnC Cn'.R..n...n..B.'nC Cnf...fn.G.nh...hnC Cnef'fen...ngh'hgnC Cnnnnnnn...nnnnnnnC CCCCCCCC+++CCCCCCCC ENDMAP ################################################################### # Distorted/chaotic kobolds (Jude) NAME: due_chaos_kobolds DEPTH: D:13-27, Vault, Elf, Crypt TAGS: no_rotate ORIENT: float SUBST: y = c. COLOUR: 1. = random MARKER: P = lua:fog_machine { cloud_type="tloc energy", walk_dist=1, \ size=9, pow_max=20, delay=10, buildup_amnt=14, buildup_time=7, \ spread_rate=3, start_clouds=1 } : if crawl.coinflip() then KFEAT: L = altar_lugonu KFEAT: P = enter_abyss : kmons("1 = kobold w:" .. you.absdepth() .. " ; quick blade ego:distortion " .. : "w:6 | sabre ego:distortion | short sword ego:distortion / kobold " .. : "w:80 ; short sword | sabre | quick blade w:3") : else KFEAT: L = altar_xom : if crawl.one_chance_in(4) then KMONS: P = orange crystal statue : else KFEAT: P = enter_abyss / fountain_sparkling / stone_arch : end : kmons("1 = kobold w:" .. you.absdepth() .. " ; quick blade ego:chaos " .. : "w:6 | sabre ego:chaos | short sword ego:chaos / kobold w:80 ;" .. : "short sword | sabre | quick blade w:3") : end MAP ccccc cc...cc cc..P..cc cc...cc ccc.cccc ccyy.yyyccc cy..111.yyc cc..1L1..cc cyy.111..yc cccyy..yycc ccc..ccc c++c @@ ENDMAP ############################################################################### # Blood-stained Trog altar! NAME: bloody_trog DEPTH: D:7-20 TAGS: uniq_bloody_trog KPROP: . = bloody / nothing KFEAT: _ = altar_trog KITEM: _ = animal skin, knife MAP ... ._. ... ENDMAP