############################################################################## # elf.des: Special maps for Elf:7, arrival vaults for Elf:1, and (mini)vaults # particular to the Elven Halls. ############################################################################## ############################################################################## # Elf:1 arrival vaults # # The concept: # There are no entry vaults for the Elven Halls. Instead, there is a "border # check" vault on the other side, in the Elf:1 level. Note that elves and orcs # are not necessarily at war or have big enmities against each other. It's # just a border check. # # The intention: # I (Eino here, hi!) lost a lot of characters trying to do the Halls right # after the Mines until I realized the Halls are significantly harder. A # welcoming party on the other side will hopefully warn the player about this. # # Honour this intention. For instance, put lots of space between the monsters # and the stairs, so the players have many turns to realize their mistake. # Note that designing can be a challenge with the eight space LOS. What might # make the player realize it's better to flee: facing a nasty summon, taking # a few hits from conjurations.. they might engage melee opponents, at which # point it's quite difficult to flee. Please keep that in mind. Note also, # that a corridor is usually easier for the player than an open space. # # This is an instance where an entry (arrival) vault really does benefit from # having monsters, even a nasty bunch. However, don't go overboard trying to # make it really hard. And try to make it seem like a plausible border guard. # ############################################################################## ############################################################################## # Dummy Elf arrival vault NAME: elf_arrival_dummy TAGS: dummy PLACE: Elf:1 WEIGHT: 50 ORIENT: float MAP { ENDMAP ############################################################################## NAME: elf_arrival_001 PLACE: Elf:1 ORIENT: west TAGS: patrolling SHUFFLE: asd/x$= SHUFFLE: fgh/x$= SUBST: a = x, s = x, d = x, f = x, g = x, h = x MONS: deep elf soldier MONS: deep elf mage / deep elf priest / deep elf summoner w:5 MAP xxxxxxxxxxxxxxxaaa xxxxxxxxxxxxxxxasa xxxxxxxxxxxxxxxxdx x...xxxxx..1.....@ x.{........G1.G2.x x...xxxxx..1.....@ xxxxxxxxxxxxxxxxhx xxxxxxxxxxxxxxxfgf xxxxxxxxxxxxxxxfff ENDMAP ############################################################################## NAME: elf_arrival_002 PLACE: Elf:1 ORIENT: south TAGS: patrolling MONS: deep elf soldier, deep elf mage MAP xxxxx@xxx@xxx@xxxxx xxxx...........xxxx xx....G..2..G....xx x...1.........1...x x.G.............G.x x.................x x.......G.G.......x x........[........x x.....G.....G.....x xx.1.....{.....1.xx xxxx...........xxxx xxxxxxxxxxxxxxxxxxx ENDMAP ############################################################################## NAME: eino_elf_arrival_customs ORIENT: southwest PLACE: Elf:1 TAGS: patrolling MONS: deep elf soldier / deep elf mage w:5 MONS: deep elf summoner / nothing MAP xxxxxxxxx x.+.....x x.x..x..x x.m.xxx.x x.x..x..x x.m1..1.x x.x.2x..x x.m1xxx.x x.x.1x..x x{m...2.+ xxxxxxxxx ENDMAP ############################################################################## NAME: eino_elf_arrival_shootout PLACE: Elf:1 ORIENT: float TAGS: patrolling MONS: deep elf soldier / deep elf mage w:3 / nothing w:6 MONS: deep elf mage / deep elf priest w:3 / nothing w:6 MAP xxxxxxxx@@@xxxxxxxx xxxx...........xxxx xx.......2.......xx x.....1.....1.....x xxxx.....G.....xxxx xxxxxxxx...xxxxxxxx xxx[.....{.....(xxx xxxxxxxx...xxxxxxxx xxxx.....G.....xxxx x.....1.....1.....x xx.......2.......xx xxxx...........xxxx xxxxxxxx@@@xxxxxxxx ENDMAP ############################################################################## NAME: eino_elf_arrival_sip PLACE: Elf:1 ORIENT: south TAGS: patrolling TAGS: no_monster_gen KMONS: Z = deep elf soldier / nothing w:7 KFEAT: Z = W MAP ......... x..WWWWW..x xWWWZWZWWWx xWWZWZWZWWx xWWWWWWWWWx x..WWWWW..x x.........x x....[....x xx...{...xx xxx.....xxx xxxxxxxxxxx ENDMAP ############################################################################## NAME: eino_elf_arrival_the_gate PLACE: Elf:1 ORIENT: south TAGS: patrolling MONS: deep elf soldier / deep elf mage w:5 MONS: deep elf mage / deep elf priest w:3 MAP x.........x @.........@ x....2....x x...1.1...x x.G..1..G.x x.........x xxx+++++xxx xxx.....xxx xxx..[..xxx xxx.....xxx xxx..{..xxx xxxx...xxxx xxxxxxxxxxx ENDMAP ############################################################################## # A nice scenic altar NAME: eino_elf_arrival_altar ORIENT: west PLACE: Elf:1 TAGS: patrolling SHUFFLE: 1/2 KFEAT: C = altar_vehumet MONS: deep elf soldier, deep elf mage MONS: deep elf priest MAP xxxxxxxxxxxxxxxxxxxxxxx@@@xxxx xxxxxxxxxxxxx...xxxxxx.....xxx xxxxxxxxxxx.22x...xx.........x xxxxxxxxx...xxxxx.x..........x x...xxxxx.xxxxxxx.m..........x x.[.......xxxxxx....1..GmG...@ x....xxxxxxxxxxx..m..C3mbm...@ x.{.......xxxxxx....2..GmG...@ x...xxxxx.xxxxxxx.m..........x xxxxxxxxx...xxxxx.x..........x xxxxxxxxxxx.11x...xx.........x xxxxxxxxxxxxx...xxxxxx.....xxx xxxxxxxxxxxxxxxxxxxxxxx@@@xxxx ENDMAP ########################################################################### # Two arrival vaults by Lemuel, using fog generators. NAME: elf_arrival_freeze PLACE: Elf:1 ORIENT: float ITEM: nothing MARKER: d = lua:fog_machine { cloud_type = "freezing vapour", \ pow_min = 10, pow_max = 10, delay = 10, \ size = 1, walk_dist = 0, spread_rate= 0 } MAP xx@@@xx xx...xx xx...xx xx.d.xx xx...xx xx...xx xx...xx xx...xx xx...xx xx...xx xx...xx xx.{.xx xxxxxxx ENDMAP NAME: elf_arrival_flame PLACE: Elf:1 ORIENT: float ITEM: nothing MARKER: d = lua:fog_machine { cloud_type = "flame", \ pow_min = 10, pow_max = 10, delay = 10, \ size = 1, walk_dist = 0, spread_rate= 0 } MAP xx@@@xx xx...xx xx...xx xx.d.xx xx...xx xx...xx xx...xx xx...xx xx...xx xx...xx xx...xx xx.{.xx xxxxxxx ENDMAP ############################################################################## # Elf:7 branch endings ############################################################################## ############################################################################## # elf_hall # NAME: elf_hall PLACE: Elf:7 ORIENT: northwest TAGS: no_rotate LFLAGS: no_tele_control MONS: deep elf high priest, deep elf demonologist, deep elf annihilator MONS: deep elf sorcerer, deep elf death mage MONS: deep elf blademaster, deep elf master archer SUBST: 1=1., 2=2., 3=3., 4=4., 5=5. SHUFFLE: 23, 45 KMONS: $ = weight:450 nothing / deep elf sorcerer / deep elf annihilator KMONS: * = weight:300 nothing / deep elf annihilator / deep elf death mage KMONS: | = weight:600 nothing / deep elf demonologist / deep elf death mage KFEAT: $ = $ KFEAT: * = * KFEAT: | = | SUBST: v = v .:2 SUBST: v : xvb SUBST: | = | *:2 SUBST: $ = $:20 *:4 |:1 SUBST: * = * |:3 MARKER: U = lua:feat_change_change_flags { \ level_flags="!no_tele_control", final_feat="dry_fountain", \ group="fountain" \ } MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxcccccccccccccccccxxxxx xxxxxxxxxxxxcc*|*|*|**|||||c$ccxxxx xxxxxxxxxxxcc*$*|*|*|*|||||c$$ccxxx xxxxxxxxxxcc*$|*$***$$|||||c|$$ccxx xxxxxxxxxcc*$*|**ccccccccccc$$$$ccx xxxxxxxxxc*|*$*$ccc..2..2..c+$|$$cx xxxxxxxxxc$*$*ccc7........7.c$$$$cx xxxxxxxxxc||**cc...5.5...4.4cc$|$cx xxxxxxxxxc*$$cc..3.....3..ccccccccx xxxxxxxxxc$+ccc.....2....cc.....5cx xxxxxxxxxc$c....5.....5.cc....5..cx xxxxxxxxxccc......5....cc..2....ccx xxxxxxxxxxxc....5...2.cc.......ccxx xxxxxxxxxxcc..1..U.....3.4..4..ccxx xxxxxxxxxcc.....................ccx xxxxxxxxxc..2........3........5..cx xxxxxxxxxc.......2..2....3.......cx xxxxxxxxxc..2................2..5cx xxxxxxxxxc......v.........v..2...cx xxxxxxxxxc..2..vv..1...1..vv.....cx xxxxxxxxxc2..6vvv....1....vvv64.4cx xxxxxxxxxc..vvvv...........vvvv..cx xxxxxxxxxc.vvv.....cc.cc.....vvv.cx xxxxxxxxxc.v.3...cccc.cccc.3...v.cx xxxxxxxxxc.3...cccxxc.cxxccc.3.3.cx xxxxxxxxxc...cccxxxxc.cxxxxccc...cx xxxxxxxxxc.cccxxxxxxc.cxxxxxxccc.cx xxxxxxxxxcccxxxxxxxxc.cxxxxxxxxcccx xxxxxxxxxxxxxxxxxxxxx@xxxxxxxxxxxxx ENDMAP ############################################################################## ## alternative elf halls: gauntlets (David) NAME: elf_hall_gauntlet_wide PLACE: Elf:7 TAGS: no_pool_fixup no_rotate LFLAGS: no_tele_control ORIENT: float WEIGHT: 5 MONS: deep elf high priest, deep elf demonologist MONS: deep elf annihilator, deep elf sorcerer MONS: deep elf death mage, deep elf blademaster SHUFFLE: 345 SUBST: 4=4., 2=2., 5=5., 3=3. KMONS: $ = weight:115 nothing / deep elf annihilator KMONS: * = weight:105 nothing / deep elf death mage KMONS: | = weight:290 nothing / deep elf sorcerer KFEAT: $ = $ KFEAT: * = * KFEAT: | = | SUBST: | = | *:2 SUBST: * = * |:3 KMONS: A = deep elf master archer KFEAT: A = | KMONS: B = deep elf blademaster KFEAT: B = | MARKER: U = lua:feat_change_change_flags { \ level_flags="!no_tele_control", final_feat="dry_fountain", \ group="fountain" \ } MAP cccccccccccccccccccccccccc c2ccccccc........ccccccccc c.cccc2...5....5...2cccccc c.cc..................cccc c.c....3....45....3....c3c c.+........U..U........+.c c.c......2.2..2.2......c.c c.cc......3....4......cc.c c.ccc4cccccc..cccccc.cc..c c2ccc.c.3.ww..ww.4.ccc...c c.ccc..3..ww..ww..5......c c$$$ccc...ww..ww...ccccc.c c$$$ccc.1.ww..ww.5.ccccc.c c$$$cccccccc2.cccccc1262.c ccc+cccccccc..cccccccccc.c cB*|*|**|*cc..cc$|$*$|$|.c c**|*|||||cc..cc|$|$*$*$.c c*|*|||**|cc..cc$*$*$*$|.c c|**|*|||Acc..ccA$|$|$|$2c ccccccccccccWWcccccccccccc ccccccccccccWWcccccccccccc ccccccccccccWWcccccccccccc xxxxxxxxxxxx@@xxxxxxxxxxxx ENDMAP ############################################################################## NAME: elf_hall_gauntlet_narrow PLACE: Elf:7 TAGS: no_pool_fixup no_rotate ORIENT: float WEIGHT: 5 MONS: deep elf high priest, deep elf demonologist MONS: deep elf annihilator, deep elf sorcerer MONS: deep elf death mage, deep elf master archer MONS: deep elf blademaster SHUFFLE: 345 SUBST: 4=4., 2=2., 5=5., 3=3. SUBST: l : lww SHUFFLE: lww SHUFFLE: nN / yY / zZ SUBST: N=@, n=., Y=c, y=c SHUFFLE: zZ / nN SUBST: N=@, n=., Z=c, z=c KMONS: $ = weight:115 nothing / deep elf annihilator KMONS: * = weight:105 nothing / deep elf death mage KMONS: | = weight:290 nothing / deep elf sorcerer KFEAT: $ = $ KFEAT: * = * KFEAT: | = | SUBST: | = | *:2 SUBST: * = * |:3 KITEM: 6 = | KITEM: 7 = | KFEAT: 6 = 6 KFEAT: 7 = 7 LFLAGS: no_tele_control MARKER: U = lua:feat_change_change_flags { \ level_flags="!no_tele_control", final_feat="dry_fountain", \ group="fountain" \ } MAP ccccccccccccccccccccccccc c2ccccccc.......ccccccccc c.cccc2...5...5...2cccccc c.cc.................cc7c c.c....3....45...3....c3c c.+.........U.........+.c c.c......2.2.2.2......c.c c.cc......3...4......cc.c c.ccc4cccccc.cccccc.cc..c c2ccc.c.3.ww.ww.4.ccc...c c.ccc..3..ww.ww..5......c c$$$ccc...ww.ww...ccccc.c c$$$ccc.1.ww.ww.5.ccccc.c c$$$cccccccc.ccccccc122.c ccc+cccccccc2cccccccccc.c c7*|*|**|*cc.cc$|$*$|$|.c c**|*|||||cc.cc|$|$*$*$.c c||*||***|cc.cc$*$*$*$|.c c|**|*||6*cc.cc6$|$|$|$2c cccccccccccclcccccccccccc ccccccccccclllccccccccccc cccccccccc..c..cccccccccc Yyyyyyyyyy.ccc.zzzzzzzzzZ xxxxxxxxxxNncnNxxxxxxxxxx ENDMAP ############################################################################## # (Mini)vaults specific to the Elven Halls ############################################################################## default-depth: Elf:* ############################################################################## # Some orcs on a diplomatic mission (Shiori) # They have brought some gold from their mines as a gift NAME: orc_legates DEPTH: Elf:1-2 SHUFFLE: AB , 34 , 12 SUBST: 6=4 SUBST: 0= 0 .:9 9:1 SUBST: 5= 5 .:9 4:1 NSUBST: 1= 2:1 / *:. NSUBST: 2= 2:2 / *:. KITEM: A= any good_item race:elven KITEM: B= any good_item race:elven KMONS: A= patrolling deep elf knight KMONS: B= patrolling deep elf high priest / patrolling deep elf demonologist MONS: ice dragon, dragon MONS: orc knight / orc sorcerer / orc high priest MONS: orc warrior / orc wizard / orc priest MONS: orc ITEM: q:120 gold / q:60 gold / q:30 gold # being able to blink and become invisible, the deep elves do not need a # hidden exit in back of their audience chamber. MAP cccccxxccccc c111cGGc222c cnnncABcnnnc xG00B..A00Gx xG00A..B00Gx xx00x..x00xx xG00.dd.00Gx xG...34...Gx xx.5x66x5.xx xG.555555.Gx xG.555555.Gx xx++x++x++xx ENDMAP ############################################################################## # A high-level negotiation between orc and deep elf leaders (Shiori) NAME: elf_orc_summit_meeting DEPTH: Elf:6-7 SHUFFLE: 12 , 45 NSUBST: 7= 1=7 / *= 7:1 . NSUBST: 6= 1=6 D:1 / *= 6 .:1 SUBST: 3 = 3 .:1 # the deep elf delegation: MONS: deep elf blademaster / deep elf master archer MONS: deep elf annihilator / deep elf sorcerer / deep elf death mage MONS: deep elf knight / w:1 deep elf high priest / \ w:1 deep elf demonologist # the orcish delegation: MONS: orc warlord / iron troll / w:1 fire giant / w:1 frost giant / \ w:1 stone giant MONS: orc sorcerer / orc high priest / w:5 ogre mage MONS: orc knight / rock troll / ettin / w:1 orc sorcerer / \ w:1 orc high priest # the arbiter(s): MONS: great orb of eyes / sphinx # The orcs might have a unique with them. He or she will likely be outclassed # by the others in attendance, but perhaps has some special testimony to # present. None of the uniques really fits in with the deep elves... KMONS: D = Ijyb / Blork the Orc / Urug / Erolcha / Snorg MAP xxxx xxGGxx xxxx3776xxxx .GxT33..66TxG. .xxx3x..x6xxx. @+3+331466+6+@ @+3+332566+6+@ .xxx3x..x.xxx. .GxT33..66TxG. xxxx3776xxxx xxGGxx xxxx ENDMAP