################################################################################
# Sprint VII, by st
################################################################################
#
# Thanks to elliott, HangedMan, Nomi, N78291 and monqy for the early testing
# and feedback.
#
################################################################################
{{

function base_monster_setup(e)
  -- The vague order goes: D / Vaults / Elf / Depths, Lair, Lair branches,
  -- Zot, holies, undead, demons and Hells, portals and Sprint.
  e.kmons("A = rat w:5 / river rat w:15 / quokka / bat / frilled lizard /\
               iguana / ball python / adder / clockroach / ribbon worm /\
               dart slug / scorpion / bombardier beetle / endoplasm / jelly /\
               jackal band / hound / ice beast / sky beast / black bear /\
               water moccasin / bullfrog / goblin / hobgoblin / kobold /\
               kobold brigand band / kobold geomancer / gnoll band /\
               gnoll bouda band w:6 / gnoll sergeant band w:6 / orc band /\
               orc priest band / orc wizard band / ogre / centaur / phantom /\
               zombie / bes kemwar / crimson imp / iron imp / white imp /\
               drude / ufetubus band /  fire bat / crocodile / brain worm /\
               weeping skull / mummy w:5")
  e.kmons("B = steam dragon / acid dragon / blink frog band / killer bee band /\
               hornet / sleepcap / wyvern / basilisk / manticore / elephant /\
               komodo dragon / yak band / cane toad / hell rat / death yak /\
               rime drake / polar bear / lindwurm / wolf band / warg /\
               orc warrior band / wight band / troll / two-headed ogre /\
               centaur / gargoyle / place:D:4 draugr / deep elf pyromancer /\
               wandering mushroom / sleepcap / swamp drake / bog body /\
               tyrant leech / spriggan / naga w:5 / salamander w:5 /\
               merfolk band w:5 / merfolk siren w:3 / snapping turtle /\
               jumping spider / redback / culicivora / wraith / vampire /\
               vampire mosquito band / marrowcuda / freezing wraith /\
               guardian mummy / orange demon / ynoxinul / ice devil /\
               red devil / burial acolyte / goblin rider / hippogriff")
  e.kmons("C = molten gargoyle w:5 / kobold demonologist band / arcanist /\
               rakshasa / necromancer / ugly thing w:15 / tengu warrior /\
               catoblepas / fire crab / elephant band w:5 / dream sheep band /\
               raven / mountainshell / unseen horror / yaktaur / cyclops /\
               deep troll / shapeshifter / fire elemental / water elemental /\
               raiju / kobold blastminer band / orc high priest band w:5 /\
               orc sorcerer w:5 / orc knight band / swamp dragon / hydra /\
               black mamba / mana viper / merfolk avatar / wind drake /\
               sea snake / tarantella / wolf spider / steelbarb worm /\
               shadowghast / shadow wraith / small abomination /\
               laughing skull band / skeletal warrior / thrashing horror /\
               hell hound band w:5 / efreet w:5 / smoke demon / hellwing /\
               chaos spawn / soul eater")
  e.kmons("D = fire dragon w:25 / ice dragon w:25 / very ugly thing w:5 /\
               crawling flesh cage w:5 / kobold fleshcrafter /\
               dire elephant / torpor snail / skyshark / death yak band w:5 /\
               meliai band / yaktaur / ogre mage band w:5 / ettin /\
               enormous slime creature w:5 / centaur warrior band w:5 /\
               occultist w:5 / tengu conjurer / deep elf knight /\
               deep elf zephyrmancer / deep elf archer /\
               glowing shapeshifter / glowing orange brain /\
               great orb of eyes / air elemental / naga mage band w:5 /\
               naga warrior band w:5 / naga ritualist band w:5 /\
               naga sharpshooter / anaconda / spriggan druid / spriggan rider /\
               shambling mangrove w:5 / alligator band / harpy band w:5 /\
               alligator snapping turtle / formless jellyfish / water nymph /\
               satyr band w:5 / merfolk impaler band w:5 / sphinx marauder /\
               merfolk aquamancer w:5 / boulder beetle / pharaoh ant /\
               radroach w:5 / jorogumo w:5 / broodmother w:5 / sun moth w:5 /\
               entropy weaver / eye of devastation / place:Crypt:1 zombie /\
               place:Crypt:1 draugr / large abomination / cognitogaunt /\
               anaconda simulacrum / alligator simulacrum / death knight /\
               eidolon / flayed ghost / phantasmal warrior / vampire knight /\
               vampire mage / starcursed mass / demonic crawler / neqoxec /\
               sixfirhy / sun demon / rust devil / shadow demon /\
               hell hog band w:5 / sin beast / death scarab / minotaur")
  e.kmons("E = orc warlord / yaktaur captain band w:5 / vault warden /\
               ironbound mechanist / ironbound thunderhulk /\
               ironbound frostheart / crystal guardian / fire giant w:25 /\
               frost giant w:25 / stone giant / deep troll shaman band w:7 /\
               hell knight band / guardian sphinx / war gargoyle /\
               thermic dynamo / dancing weapon / deep elf annihilator /\
               deep elf death mage / deep elf high priest /\
               deep elf demonologist / deep elf sorcerer /\
               deep elf elementalist / shadow dragon /\
               deep elf blademaster w:5 / deep elf master archer w:5 /\
               spriggan air mage / spriggan berserker /\
               spriggan defender / chonchon band / colossal amoeba /\
               star jelly / morphogenic ooze / glass eye /\
               walking divine tome / walking earthen tome / nagaraja /\
               salamander tyrant / guardian serpent / shock serpent w:5 /\
               thorn hunter / fenstrider witch / bunyip / will-o-the-wisp w:5 /\
               death drake w:5 / merfolk javelineer band w:5 / orb spider w:5 /\
               emperor scorpion / ghost moth w:5 / azure jelly / death cob /\
               jiangshi band / ghoul band w:5 / mummy priest /\
               base draconian w:60 / draconian monk / daeva / angel /\
               profane servitor / cherub / ophan / \
               balrug / green death / blizzard demon / reaper / \
               searing wretch / imperial myrmidon / halazid warlock")
  e.kmons("F = storm dragon w:12 / shadow dragon / golden dragon w:12 /\
               iron dragon / quicksilver dragon w:15 / wyrmhole / spark wasp /\
               tengu reaver / juggernaut / titan / lich /\
               tentacled monstrosity / undying armoury w:5 /\
               deep elf blademaster / deep elf master archer /\
               walking frostbound tome / walking crystal tome / acid blob /\
               rockslime / slymdra band / moth of wrath w:15 / ghost moth /\
               killer klown / draconian monk w:4 / draconian stormcaller w:7 /\
               draconian scorcher w:7 / draconian annihilator w:7 /\
               draconian knight w:7 / alderking / vampire bloodprince /\
               ancient champion / curse toe w:3 / royal mummy w:3 /\
               hellephant / balrug band w:5 / cacodemon / zykzyl w:5 /\
               hellion / tormentor / executioner / nekomata / nargun w:5 /\
               demonspawn warmonger band w:5 /\
               demonspawn blood saint band w:5 /\
               demonspawn corrupter band w:5 /\
               demonspawn soul scholar band w:5 /\
               quicksilver elemental w:5 / putrid mouth / oblivion hound w:5 /\
               bennu w:5 / fravashi w:5 / pearl dragon / apis w:2 /\
               primal mutant beast w:2 / iron elemental w:3")
  e.kmons("G = caustic shrike w:5 / caustic shrike band w:5 /\
               shard shrike w:3 / shard shrike band w:3 /\
               orb of fire w:8 / orb of winter w:8 / orb of entropy w:8 /\
               electric golem / protean progenitor band w:6 /\
               ancient lich w:6 / dread lich w:6 / royal mummy /\
               vampire bloodprince w:2 / curse skull w:2 /\
               antique champion w:6 ; shadow dragon scales . kite shield . double sword /\
               oni incarcerator w:6 / iron giant / hell sentinel w:12 /\
               brimstone fiend / ice fiend / tzitzimitl /\
               demonspawn corrupter w:2 / purple draconian shifter w:6 /\
               pandemonium lord w:20 / seraph w:2")

  -- FIXME: this should probably use a huge comma uniq fallbacks syntax instead,
  --        to place more of the overall uniques over time, but for whatever
  --        reason, this fails to place some uniques (Yiuf, Jessica, Pargi,
  --        Ribbit, etc). Should figure out genuinely why at some point.
  e.kmons("H = Crazy Yiuf / Duvessa band / Edmund / Ijyb /\
               Grinder / Jessica / Menkaure / Pargi / Pikel band /\
               Prince Ribbit / Robin band / Sigmund / Terence")
  e.kmons("I = Amaemon / Blorkula the orcula / Erica / Erolcha / Eustachio /\
               Fannar / Gastronok / Grum band / Harold / Jeremiah / Joseph /\
               Josephine / Maurice / Nergalle / Lodul / Sonja / Sprozz / Urug")
  e.kmons("J = Agnes / Aizul / Azrael band / Donald / Frances / Jorgrun /\
               Kirke band / Nessos / Ilsuiw band / Polyphemus /\
               Rupert / Saint Roka band / Snorg / Xak'krixis")
  e.kmons("K = Arachne band / Boris / Dissolution / Frederick / Jory /\
               Josephina band / Lernaean hydra /  Margery band / Mennas /\
               Mara / Nikola / Nobody / Grunn band / Parghit / Wiglaf / Xtahua")
  e.kmons("L = Vv / Zenata / Khufu band / Tiamat band / Murray / Mnoleg /\
               Gloorx Vloq / Lom Lobon / Cerebov / Dispater / Asmodeus /\
               Antaeus / Ereshkigal / Ignacio / Geryon / Royal Jelly /\
               Serpent of Hell")
  -- These just get occasional placements regardless of tiering for some of
  -- the later vaults, to... reduce Lair branch gimmickry or something?
  e.kmons("M = stone giant / frost giant / fire giant / iron troll")
  e.kmons("N = titan / frost giant / fire giant / ettin /\
               juggernaut / iron giant w:5 / protean progenitor w:5")
  e.kmons("O = deep elf pyromancer w:30 / deep elf zephyrmancer w:30 /\
               deep elf archer w:20 / deep elf knight w:20 /\
               deep elf annihilator / deep elf death mage w:3 /\
               deep elf high priest / deep elf sorcerer /\
               deep elf demonologist / deep elf elementalist")
  e.kmons("P = deep elf annihilator / deep elf death mage /\
               deep elf sorcerer / deep elf high priest / deep elf demonologist /\
               deep elf elementalist / deep elf master archer / deep elf blademaster")
  e.kmons("Q = place:Crypt:1 draugr / place:Crypt:1 zombie / skeletal warrior band /\
               ghoul / vampire knight / vampire mage band / lich w:5 / eidolon /\
               cognitogaunt / guardian mummy / mummy priest w:5")
  e.kmons("R = royal mummy w:3 / mummy priest / lich / ancient lich /\
               ghoul band / searing wretch w:3 / vampire knight band /\
               vampire mage band / revenant soulmonger / ancient champion")
  e.kmons("S = obsidian bat / orange demon / hellwing / smoke demon /\
               ynoxinul / red devil / sixfirhy / chaos spawn / ice devil /\
               sun demon / rust devil / neqoxec / green death w:5 /\
               blizzard demon w:5 / balrug w:5 / cacodemon / sin beast /\
               reaper w:5")
  e.kmons("T = balrug / blizzard demon / green death / reaper / cacodemon /\
               zykzyl / brimstone fiend / ice fiend / tzitzimitl /\
               hell sentinel / executioner /\
               demonspawn warmonger band w:5 / demonspawn corrupter band w:5 /\
               demonspawn blood saint band w:5 / demonspawn soul scholar band w:5")
  e.kmons("U = place:Slime:$ / titanic slime creature /\
               rockslime / azure jelly / acid blob /\
               glass eye w:3 / void ooze w:3 / eye of devastation /\
               shining eye w:3 / eye of draining w:3")
  e.kmons("V = azure jelly / rockslime / acid blob / slymdra")
  e.kmons("W = acid dragon / steam dragon / fire dragon / ice dragon /\
               storm dragon / swamp drake / lindwurm / rime drake /\
               shadow dragon w:5")
  e.kmons("X = shadow dragon / iron dragon / quicksilver dragon /\
               golden dragon / wyrmhole")
  e.kmons("Y = base draconian")
  e.kmons("Z = nonbase draconian")
  e.subst("1 = A:30 H:2")
  e.subst("2 = B:76 A:12 C:10 I:2")
  e.subst("3 = C:76 B:5 D:15 J:4")
  e.subst("4 = D:71 E:20 F:5 J:4")
  e.subst("5 = E:76 D:16 F:15 K:3")
  e.subst("6 = F:65 G:30 E:5 L:2 K:10")
  e.subst("7 = G:70 F:25 L:10")
end

function storerooms_monster_setup(e)
  e.kmons("0 = goblin / frilled lizard / clockroach / endoplasm /\
               ball python / dart slug / bat / kobold / rat / gnoll /\
               hobgoblin / orc / jackal band / adder / quokka /\
               rat draugr ; dagger / zombie / ufetubus w:5 / crimson imp w:1")
end

function general_item_setup(e)
  e.kitem("^ = superb_item pre_id w:590 /\
          potion of heal wounds pre_id q:4 w:3 /\
          potion of haste pre_id q:4 w:3 /\
          scroll of fog w:1 pre_id /\
          potion of might pre_id w:2 /\
          scroll of acquirement q:1 w:1 pre_id /\
          scroll of enchant weapon pre_id q:4 w:2 /\
          scroll of enchant armour pre_id q:4 w:2 /\
          scroll of brand weapon pre_id")
  e.kitem("| = superb_item pre_id w:66 / star_item pre_id w:33")
  e.kitem("* = star_item pre_id w:66 / any pre_id w:33")
  e.kitem("% = any pre_id")
  e.kitem("! = potion of heal wounds pre_id q:2 w:30 /\
               potion of curing pre_id w:20 / potion of might pre_id /\
               potion of haste pre_id / potion of resistance pre_id w:5 /\
               potion of brilliance pre_id /\
               potion of berserk rage pre_id / potion of mutation pre_id")
  e.kitem("? = scroll of blinking pre_id / any ally scroll pre_id /\
               scroll of fog pre_id / scroll of fear pre_id /\
               scroll of enchant weapon pre_id q:2 /\
               scroll of enchant armour pre_id q:2")
  e.kitem(") = battleaxe plus:9 good_item pre_id /\
    battleaxe plus:7 randart pre_id /\
    executioner's axe plus:7 good_item pre_id /\
    executioner's axe plus:5 randart pre_id /\
    broad axe plus:11 good_item pre_id /\
    broad axe plus:9 randart pre_id /\
    partisan plus:9 good_item pre_id /\
    partisan plus:7 randart pre_id /\
    glaive plus:9 good_item pre_id /\
    glaive plus:7 randart pre_id /\
    bardiche plus:7 good_item pre_id /\
    bardiche plus:5 randart pre_id /\
    demon trident plus:9 good_item pre_id /\
    demon trident plus:7 randart pre_id /\
    great mace plus:9 good_item pre_id /\
    great mace plus:7 randart pre_id /\
    giant spiked club plus:9 good_item pre_id /\
    giant spiked club plus:7 randart pre_id /\
    demon whip plus:9 good_item pre_id /\
    demon whip plus:7 randart pre_id /\
    double sword plus:9 good_item pre_id /\
    double sword plus:7 randart pre_id /\
    triple sword plus:7 good_item pre_id /\
    triple sword plus:5 randart pre_id /\
    demon blade plus:11 good_item pre_id /\
    demon blade plus:9 randart pre_id /\
    great sword plus:9 good_item pre_id /\
    great sword plus:7 randart pre_id /\
    lajatang plus:9 good_item pre_id /\
    lajatang plus:7 randart pre_id /\
    longbow plus:7 ego:heavy pre_id w:15 /\
    triple crossbow plus:7 good_item pre_id w:15")
  e.kitem("] = plate armour plus:12 pre_id /\
    plate armour plus:8 good_item pre_id /\
    chain mail plus:8 pre_id /\
    chain mail plus:6 good_item pre_id /\
    robe plus:4 ego:resistance pre_id /\
    fire dragon scales plus:10 pre_id /\
    ice dragon scales plus:10 pre_id /\
    swamp dragon scales plus:9 pre_id /\
    swamp dragon scales plus:5 good_item pre_id /\
    acid dragon scales plus:8 pre_id /\
    acid dragon scales plus:4 good_item pre_id /\
    quicksilver dragon scales good_item pre_id w:5 /\
    storm dragon scales plus:12 pre_id w:5 /\
    storm dragon scales plus:8 good_item pre_id w:5 /\
    shadow dragon scales plus:12 pre_id w:5 /\
    shadow dragon scales plus:8 good_item pre_id w:5 /\
    golden dragon scales plus:14 pre_id /\
    golden dragon scales plus:10 good_item pre_id /\
    pair of gloves plus:4 pre_id /\
    pair of gloves plus:2 good_item pre_id /\
    pair of boots plus:4 pre_id /\
    pair of boots plus:2 good_item pre_id /\
    helmet plus:4 pre_id /\
    helmet plus:2 good_item pre_id /\
    cloak plus:4 pre_id /\
    cloak plus:2 good_item pre_id /\
    hat plus:4 pre_id /\
    hat plus:2 good_item pre_id /\
    tower shield plus:5 pre_id /\
    tower shield plus:3 good_item pre_id /\
    barding plus:6 pre_id w:5")
  e.kitem("( = battleaxe plus:6 ego:none pre_id /\
    battleaxe plus:3 good_item pre_id /\
    executioner's axe plus:3 ego:none pre_id /\
    executioner's axe plus:0 good_item pre_id /\
    broad axe plus:9 ego:none pre_id /\
    broad axe plus:6 good_item pre_id /\
    partisan plus:6 ego:none pre_id /\
    partisan plus:3 good_item pre_id /\
    glaive plus:6 ego:none pre_id /\
    glaive plus:3 good_item pre_id /\
    bardiche plus:3 ego:none pre_id /\
    bardiche plus:0 good_item pre_id /\
    demon trident plus:6 ego:none pre_id /\
    demon trident plus:3 good_item pre_id /\
    great mace plus:6 ego:none pre_id /\
    great mace plus:3 good_item pre_id /\
    giant spiked club plus:6 ego:none pre_id /\
    giant spiked club plus:3 good_item pre_id /\
    demon whip plus:6 ego:none pre_id /\
    demon whip plus:3 good_item pre_id /\
    double sword plus:6 ego:none pre_id /\
    double sword plus:3 good_item pre_id /\
    triple sword plus:3 ego:none pre_id /\
    triple sword plus:0 good_item pre_id /\
    demon blade plus:6 ego:none pre_id /\
    demon blade plus:3 good_item pre_id /\
    great sword plus:6 ego:none pre_id /\
    great sword plus:3 good_item pre_id /\
    lajatang plus:6 ego:none pre_id /\
    lajatang plus:3 good_item pre_id /\
    longbow plus:5 good_item pre_id w:15 /\
    triple crossbow plus:0 good_item pre_id w:15")
  e.kitem("[ = plate armour plus:7 pre_id /\
    plate armour plus:4 good_item pre_id /\
    chain mail plus:7 pre_id w:20 /\
    chain mail plus:4 good_item pre_id w:20 /\
    robe plus:4 pre_id /\
    robe plus:1 good_item pre_id /\
    fire dragon scales plus:7 pre_id /\
    ice dragon scales plus:7 pre_id /\
    swamp dragon scales plus:5 pre_id /\
    acid dragon scales plus:5 pre_id /\
    quicksilver dragon scales pre_id w:5 /\
    storm dragon scales plus:6 pre_id w:5 /\
    shadow dragon scales plus:6 pre_id w:5 /\
    golden dragon scales plus:8 pre_id /\
    pair of gloves plus:2 pre_id /\
    pair of gloves plus:0 good_item pre_id /\
    pair of boots plus:2 pre_id /\
    pair of boots plus:0 good_item pre_id /\
    helmet plus:2 pre_id /\
    helmet plus:0 good_item pre_id /\
    cloak plus:2 pre_id /\
    cloak plus:0 good_item pre_id /\
    hat plus:2 pre_id /\
    hat plus:0 good_item pre_id /\
    tower shield plus:3 pre_id /\
    tower shield plus:0 good_item pre_id /\
    barding plus:2 pre_id w:5")
end

function general_setup(e)
  crawl.set_max_runes(3)
  e.tags("no_rotate no_hmirror no_vmirror")
  e.tags("no_item_gen no_trap_gen no_pool_fixup")
  e.kfeat("& = closed_door")
  e.kfeat("=~<>#_ = runed_door")
  e.marker("& = lua:restrict_door()")
  e.colour("& = lightgrey")
  e.marker("~ = lua:restrict_door()")
  e.marker("< = lua:restrict_door()")
  e.marker("> = lua:restrict_door()")
  e.marker("# = lua:restrict_door()")
  e.marker("_ = lua:restrict_door()")
  e.marker("= = lua:restrict_door()")
  e.colour("=~<>#_ = yellow")
  e.kfeat("@ = floor")
--  e.colour("@ = yellow")
--  e.ftile("@ = floor_crypt")
  dgn.set_random_mon_list("small abomination / nothing")
end

function metal_vault_setup(e)
  e.tags("the_vault_of_metal")
  e.colour("v = red")
  e.tile("v = dngn_metal_iron")
  e.kitem("a = ring of protection from fire pre_id /\
          ring of protection from cold pre_id /\
          ring of positive energy pre_id /\
          ring of willpower pre_id /\
          ring of see invisible pre_id /\
          ring of poison resistance pre_id /\
          any jewellery pre_id")
  e.lua_marker('>', props_marker {
              door_description_suffix=" to the Metal Vault (Medium)",
              })
end

function steel_vault_setup(e)
  e.tags("the_vault_of_steel")
  e.colour("v = red")
  e.tile("v = dngn_metal_iron")
  e.subst("4 = 4:290 M:1 O:1 Q:1 S:1 U:1 W:1 Y:1 J:1")
  e.subst("5 = 5:290 N:1 P:1 R:1 T:1 V:1 X:1 Z:1 K:1")
  e.kitem("a = any weapon randart level:17 pre_id")
  e.kitem("b = any armour randart level:17 pre_id")
  e.kitem("c = ring of slaying plus:3 pre_id /\
          amulet of regeneration pre_id /\
          ring of protection plus:6 pre_id /\
          ring of evasion plus:6 pre_id /\
          ring of strength plus:6 pre_id /\
          ring of intelligence plus:6 pre_id /\
          ring of dexterity plus:6 pre_id /\
          ring of wizardry pre_id /\
          any jewellery pre_id")
  e.lua_marker('~', props_marker {
           door_description_suffix=" to the Steel Vault (Very Hard)",
           })
  e.lua_marker('<', props_marker {
           door_description_suffix=" to the Silver Pit (Extremely Hard)",
           })
end

function titanium_vault_setup(e)
  e.tags("the_vault_of_titanium")
  e.colour("v = red")
  e.tile("v = dngn_metal_iron")
  e.subst("4 = 4:290 M:1 O:1 Q:1 S:1 U:1 W:1 Y:1 J:1")
  e.subst("5 = 5:290 N:1 P:1 R:1 T:1 V:1 X:1 Z:1 K:1")
  e.kitem("c = any jewellery randart level:27 pre_id")
  e.lua_marker('>', props_marker {
           door_description_suffix=" to the Titanium Vault (Extremely Hard)",
           })
end

function iron_vault_setup(e)
  e.tags("the_vault_of_iron")
  e.colour("v = red")
  e.tile("v = dngn_metal_steel_blood")
  e.kitem("c = any jewellery randart level:27 pre_id")
  e.kitem("d = scroll of acquirement q:1, iron rune of zot")
  e.subst("' = ))]]cc")
  e.lua_marker('~', props_marker {
           door_description_suffix=" to the Iron Vault (Extremely Hard)",
           })
end

function armoury_setup(e)
  e.tile("v = dngn_metal_wall_cyan")
  e.kmons("8 = orc warlord")
  e.kmons("9 = orc knight / orc warrior w:5")
  e.kmons("0 = orc warrior / gargoyle / naga warrior / deep elf knight /\
               naga sharpshooter w:5 / vault guard / yaktaur band w:5 /\
               ironbound preserver w:5")
  e.kitem("a = any weapon level:27 pre_id /\
          broad axe plus:5 pre_id /\
          battleaxe plus:3 pre_id /\
          executioner's axe plus:1 pre_id w:3 /\
          partisan plus:5 pre_id /\
          glaive plus:3 pre_id /\
          bardiche plus:1 pre_id w:3 /\
          dire flail plus:5 pre_id /\
          great mace plus:3 pre_id /\
          demon whip plus:3 pre_id w:5 /\
          giant spiked club plus:3 pre_id /\
          quick blade plus:5 pre_id /\
          great sword plus:3 pre_id /\
          double sword plus:3 pre_id /\
          demon blade plus:3 pre_id w:3 /\
          triple sword plus:1 pre_id w:3 /\
          lajatang plus:3 pre_id /\
          longbow plus:3 pre_id /\
          arbalest plus:3 pre_id /\
          any weapon good_item pre_id w:30")
  e.kitem("b = any armour level:27 pre_id /\
          pair of gloves plus:1 pre_id /\
          pair of boots plus:1 pre_id /\
          helmet plus:1 pre_id /\
          cloak plus:1 pre_id /\
          chain mail plus:6 pre_id w:20 /\
          ring mail plus:4 pre_id /\
          scale mail plus:7 pre_id /\
          plate armour plus:5 pre_id /\
          fire dragon scales plus:4 pre_id /\
          ice dragon scales plus:4 pre_id /\
          swamp dragon scales plus:2 pre_id /\
          acid dragon scales plus:2 pre_id /\
          storm dragon scales plus:3 pre_id w:5 /\
          shadow dragon scales plus:3 pre_id w:5 /\
          golden dragon scales plus:2 pre_id /\
          tower shield plus:1 pre_id /\
          any armour good_item pre_id w:20")
  e.kitem("c = any weapon good_item pre_id")
  e.kitem("d = any armour good_item pre_id")
  e.kitem("8 = fortress talisman / blade talisman")
  e.subst("c = ccc(")
  e.subst("d = ddd[")
  e.lua_marker('~', props_marker {
           door_description_suffix=" to the Main Hall (Safe)",
           })
  e.lua_marker('<', props_marker {
        door_description_suffix=" to the Hallway of Sentries (Extremely Hard)",
           })
  e.lua_marker('>', props_marker {
           door_description_suffix=" to the Coven (Very Hard)",
           })
  e.lua_marker('#', props_marker {
           door_description_suffix=" to the Armoury (Hard)",
           })
end

function coven_setup(e)
  e.kmons("0 = deep elf annihilator / deep elf death mage / deep elf sorcerer /\
               deep elf demonologist / deep elf high priest /\
               deep elf elementalist / nonbase draconian w:20 /\
               sphinx marauder w:5 / guardian sphinx / lich / ancient lich w:3 /\
               dread lich w:3 / arcanist w:5 / occultist w:5 / rakshasa w:5 /\
               tengu conjurer w:5 / ogre mage w:5 /\
               kobold fleshcrafter w:5 / naga mage / nagaraja /\
               merfolk aquamancer w:5 / jorogumo w:5 / vampire mage /\
               base draconian w:20 / demonspawn blood saint w:3")
  e.kmons("9 = Frederick / Boris / Margery band w:5 / Sojobo band w:5")
  e.kfeat("v = crystal_wall")
  e.colour("v = green")
  e.tile("v = wall_crystal_bookcase")
  e.subst("0 = 0:20 9:1")
  e.kitem("a = any book good_item pre_id")
  e.kitem("b = amulet of faith randart pre_id /\
          amulet of guardian spirit randart pre_id /\
          amulet of magic regeneration randart pre_id /\
          amulet of reflection randart pre_id /\
          amulet of regeneration randart pre_id /\
          ring of slaying plus:5 randart pre_id /\
          any jewellery randart level:27 pre_id w:40")
  e.kitem("c = ring of protection from fire randart pre_id /\
          ring of protection from cold randart pre_id /\
          ring of positive energy randart pre_id /\
          ring of willpower randart pre_id /\
          ring of see invisible randart pre_id /\
          ring of poison resistance randart pre_id /\
          ring of slaying plus:5 pre_id /\
          ring of protection plus:6 randart pre_id /\
          ring of evasion plus:6 randart pre_id /\
          ring of strength plus:6 randart pre_id /\
          ring of intelligence plus:6 randart pre_id /\
          ring of dexterity plus:6 randart pre_id /\
          ring of wizardry pre_id randart")
  e.kitem("d = potion of heal wounds q:5 pre_id")
  e.kitem("e = potion of haste q:5 pre_id")
  e.kitem("f = any misc")
  e.kitem("h = any magical staff pre_id")
  e.kitem("i = potion of magic q:5 pre_id")
  e.kitem("j = potion of mutation q:5 pre_id")
  e.lua_marker('~', props_marker {
           door_description_suffix=" to the Coven (Very Hard)",
           })
end

}}
################################################################################
#
################################################################################
NAME:      pitsprint
TAGS:      sprint
LFLOORCOL: lightgrey
ORIENT:    encompass
DESC:      Sprint VII: "The Pits"
ORDER:     7
SUBVAULT:  A : the_storerooms
SUBVAULT:  B : the_entrance_hall
SUBVAULT:  C : the_vault_of_metal
SUBVAULT:  E : the_armoury
SUBVAULT:  F : the_minivault
SUBVAULT:  G : the_grid_vault
SUBVAULT:  H : the_main_hall
SUBVAULT:  I : the_silver_pit
SUBVAULT:  J : the_coven
SUBVAULT:  K : the_vestibule
SUBVAULT:  L : the_vault_of_steel
SUBVAULT:  N : the_golden_pit
SUBVAULT:  P : the_hallway_of_sentries
SUBVAULT:  R : the_vault_of_titanium
SUBVAULT:  S : the_vault_of_iron
SUBVAULT:  Z : the_final_vault
LFLOORTILE: floor_iron
: general_setup(_G)
MAP
[encoded data, 5670 characters]
ENDMAP


################################################################################
# The Storerooms
################################################################################
NAME:     storerooms_1
TAGS:     the_storerooms unrand
SUBVAULT: Z : storerooms_room_a
SUBVAULT: Y : storerooms_room_b
SUBVAULT: T : the_temple
SUBVAULT: U : equipment_1
# Initial consumables
KITEM: b = any ally scroll pre_id q:1, \
       scroll of amnesia q:5 pre_id, \
       scroll of vulnerability q:2 pre_id
KITEM: c = stone q:10
KITEM: d = potion of invisibility pre_id q:2, \
       potion of berserk rage pre_id q:2, \
       potion of magic q:2 pre_id
# The 3rd equipment room
KITEM: e = rapier plus:2 ego:electrocution pre_id /\
       rapier plus:2 ego:draining pre_id /\
       rapier plus:2 ego:venom pre_id /\
       rapier plus:2 ego:distortion pre_id /\
       rapier plus:2 good_item pre_id
KITEM: f = war axe plus:2 ego:freezing pre_id /\
       war axe plus:2 ego:heavy pre_id /\
       war axe plus:2 good_item pre_id w:5 /\
       broad axe plus:1 ego:freezing pre_id /\
       broad axe plus:1 ego:heavy pre_id /\
       broad axe plus:1 good_item pre_id w:5
KITEM: g = dire flail plus:2 ego:protection pre_id /\
       dire flail plus:2 ego:heavy pre_id /\
       dire flail plus:2 good_item pre_id w:5 /\
       morningstar plus:2 ego:protection pre_id /\
       morningstar plus:2 ego:heavy pre_id /\
       morningstar plus:2 good_item pre_id w:5
KITEM: h = halberd plus:2 ego:protection pre_id /\
       halberd plus:2 ego:venom pre_id /\
       halberd plus:2 good_item pre_id w:5
KITEM: i = lajatang plus:0 pre_id /\
       quarterstaff plus:4 ego:speed pre_id w:15 /\
       quarterstaff plus:4 good_item pre_id w:5
KITEM: j = scimitar plus:2 ego:flaming pre_id /\
       scimitar plus:2 ego:holy_wrath pre_id /\
       scimitar plus:2 good_item pre_id
KITEM: k = protean talisman / serpent talisman /\
           eel talisman / maw talisman, /\
           pair of gloves mundane pre_id /\
           pair of boots mundane pre_id /\
           helmet mundane pre_id /\
           cloak mundane pre_id /\
           chain mail plus:4 pre_id w:20 /\
           ring mail plus:5 pre_id /\
           scale mail plus:4 pre_id /\
           plate armour plus:3 pre_id
KITEM: l = any randbook slevels:14, /\
       ring of protection plus:3 pre_id \
       ring of evasion plus:3 pre_id /\
       ring of strength plus:3 pre_id /\
       ring of intelligence plus:3 pre_id /\
       ring of dexterity plus:3 pre_id
SHUFFLE: efghij
TILE:  v = dngn_metal_wall_cyan
: lua_marker('~', props_marker {
:            door_description_suffix=" to the Temple (Safe)",
:            })
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: storerooms_monster_setup(_G)
MAP
vvvvvvvvvvvv
vTTTTTTTTTTv
vTTTTTTTTTTv
vTTTTTTTTTTv
vvvvvvvvvv~v
vabcd+UUU+@v
vvvvvvvvvv.v
v.........0@
v+vvvvv&vvvv
v.vZZZZZZZZv
v.vZZZZZZZZv
v.vZZZZZZZZv
v.vZZZZZZZZv
v.vZZZZZZZZv
v.vZZZZZZZZv
v.vZZZZZZZZv
v.vZZZZZZZZv
v&vvvvvvvvvv
vYYYYYYYv11v
vYYYYYYYv1vvvvvvvvvvv
vYYYYYYYv1v..1.v!!kkv
vYYYYYYYv&v....v!!kkv
vYYYYYYYv2&...2&llhiv
vYYYYYYYv&v....v!!fgv
vYYYYYYY&1v..2.v!!ejv
vvvvvvvvvvvvvvvvvvvvv
ENDMAP

NAME:  equipment_1
TAGS:  equipment_1 unrand
KITEM: a = dagger plus:2 pre_id, /\
           falchion plus:2 pre_id
KITEM: b = hand axe plus:2 pre_id, /\
           mace plus:2 pre_id
KITEM: c = trident plus:2 pre_id, /\
           quarterstaff plus:2 pre_id
SHUFFLE: abc
: general_setup(_G)
: general_item_setup(_G)
MAP
abc
ENDMAP

NAME:  equipment_2
TAGS:  equipment_2
KITEM: a = dagger ego:electrocution pre_id /\
       dagger ego:draining pre_id /\
       dagger ego:venom pre_id
KITEM: b = hand axe ego:freezing pre_id /\
       hand axe ego:heavy pre_id
KITEM: c = mace ego:heavy pre_id /\
       mace ego:protection pre_id /\
       flail ego:heavy pre_id /\
       flail ego:protection pre_id
KITEM: d = trident ego:heavy pre_id
KITEM: e = quarterstaff ego:protection pre_id /\
       quarterstaff ego:speed pre_id
KITEM: f = long sword ego:holy_wrath pre_id /\
       long sword ego:flaming pre_id
KITEM: g = potion of heal wounds q:5 pre_id
KITEM: h = potion of curing q:5 pre_id
KITEM: i = chain mail plus:3 pre_id w:20 /\
       ring mail plus:3 pre_id /\
       scale mail plus:3 pre_id /\
       plate armour plus:2 pre_id
SHUFFLE: abcdef
: general_item_setup(_G)
MAP
gedai
hfcbi
ENDMAP

NAME:  storerooms_room_a_1
TAGS:  storerooms_room_a unrand
SUBVAULT: U : equipment_2
TILE:  v = dngn_metal_wall_cyan
: general_setup(_G)
: general_item_setup(_G)
: storerooms_monster_setup(_G)
: base_monster_setup(_G)
MAP
00v..0&.
..v0..v.
..vvvvv.
..&..0v.
..&0..&.
..vvvvvv
..&UUUUU
01vUUUUU
ENDMAP

NAME:  storerooms_room_a_2
TAGS:  storerooms_room_a unrand
SUBVAULT: U : equipment_2
TILE:  v = dngn_metal_wall_cyan
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: storerooms_monster_setup(_G)
MAP
UUv.0..0
UUvvvvv&
UUv...0.
UUv.0...
UUvvv&vv
v&v....0
.1......
..0....0
ENDMAP

NAME:  storerooms_room_a_3
TAGS:  storerooms_room_a unrand
SUBVAULT: U : equipment_2
TILE:  v = dngn_metal_wall_cyan
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: storerooms_monster_setup(_G)
MAP
.0v..vUU
..&00vUU
0.vvvvUU
..v10vUU
.0v..vUU
v&v..v&v
.......0
.....0..
ENDMAP

NAME:  storerooms_room_a_4
TAGS:  storerooms_room_a unrand
SUBVAULT: U : equipment_2
TILE:  v = dngn_metal_wall_cyan
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: storerooms_monster_setup(_G)
MAP
0..v0vUU
..0v.vUU
...&0vUU
v&vvvvUU
....0vUU
0....v&v
......1.
....0...
ENDMAP

NAME:  storerooms_room_a_5
TAGS:  storerooms_room_a unrand
SUBVAULT: U : equipment_2
TILE:  v = dngn_metal_wall_cyan
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: storerooms_monster_setup(_G)
MAP
..0..vUU
.0...vUU
vv&vvvUU
0..0.vUU
.....vUU
vvv&vv&v
0......1
0......0
ENDMAP

NAME:  storerooms_room_a_6
TAGS:  storerooms_room_a unrand
SUBVAULT: U : equipment_2
TILE:  v = dngn_metal_wall_cyan
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: storerooms_monster_setup(_G)
MAP
.0v..v0.
0.&0.&.0
v&vvvv&v
...00...
...10...
vvvv&vvv
..UUUUU.
..UUUUU.
ENDMAP

NAME:  storerooms_room_b_1
TAGS:  storerooms_room_b unrand
TILE:  v = dngn_metal_wall_cyan
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
MAP
......1
.vvv...
.v1....
.v.1.v.
....1v.
...vvv.
1.....1
ENDMAP

NAME:  storerooms_room_b_2
TAGS:  storerooms_room_b unrand
TILE:  v = dngn_metal_wall_cyan
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
MAP
......1
...v...
...v1..
.vv.vv.
..1v1..
...v...
1.....1
ENDMAP

NAME:  storerooms_room_b_3
TAGS:  storerooms_room_b unrand
TILE:  v = dngn_metal_wall_cyan
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
MAP
......1
..v.v..
.vv1vv.
..1..1.
.vv.vv.
..v1v..
1......
ENDMAP

NAME:  storerooms_room_b_4
TAGS:  storerooms_room_b unrand
TILE:  v = dngn_metal_wall_cyan
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
MAP
......1
.......
..1v...
..vvv.1
...v...
.......
1..1..1
ENDMAP

NAME:  storerooms_room_b_5
TAGS:  storerooms_room_b unrand
TILE:  v = dngn_metal_wall_cyan
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
MAP
..v.v1v
.......
v.v.v.v
...1..1
v.v.v.v
1......
v.v1v.1
ENDMAP

NAME:  storerooms_room_b_6
TAGS:  storerooms_room_b unrand
TILE:  v = dngn_metal_wall_cyan
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
MAP
...1...
..vvv..
...1...
v1vvv1v
...1...
..vvv..
...1...
ENDMAP


NAME:    temple_room_1
TAGS:    the_temple unrand
KFEAT:   a = altar_ashenzari
KFEAT:   b = altar_beogh
KFEAT:   c = altar_cheibriados
KFEAT:   d = altar_dithmenos
KFEAT:   e = altar_elyvilon
KFEAT:   f = altar_fedhas
KFEAT:   g = altar_gozag
KFEAT:   h = altar_hepliaklqana
KFEAT:   j = altar_jiyva
KFEAT:   k = altar_kikubaaqudgha
KFEAT:   l = altar_lugonu
KFEAT:   m = altar_makhleb
KFEAT:   n = altar_nemelex_xobeh
KFEAT:   o = altar_okawaru
KFEAT:   q = altar_qazlal
KFEAT:   r = altar_ru
KFEAT:   s = altar_sif_muna
KFEAT:   t = altar_trog
KFEAT:   u = altar_uskayaw
KFEAT:   v = altar_vehumet
KFEAT:   w = altar_wu_jian
KFEAT:   x = altar_xom
KFEAT:   y = altar_yredelemnul
KFEAT:   z = altar_zin
KFEAT:   ' = altar_the_shining_one
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
MAP
abcdefghj.
klmnoqrst.
uvwxyz'...
ENDMAP

################################################################################
# Safe places
#
################################################################################
# the Entrance Room
################################################################################
NAME:    entrance_room_1
TAGS:    the_entrance_hall unrand
COLOUR:  v = lightgrey
TILE:    v = wall_crypt_metal
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: lua_marker('~', props_marker {
:           door_description_suffix=" to the Storerooms (Easy)",
:           })
: lua_marker('<', props_marker {
:           door_description_suffix=" to the Grid Vault (Hard)",
:           })
: lua_marker('>', props_marker {
:           door_description_suffix=" to the Metal Vault (Medium)",
:           })
: lua_marker('_', props_marker {
:           door_description_suffix=" to the Entrance Hall (Safe)",
:           })
: lua_marker('#', props_marker {
:           door_description_suffix=" leading to the Armoury (Hard)",
:           })
MAP
vvvvvvvvvv<<vvvvvv
v.........@@.....v
v......v..v......v
v...............@#
~@..............@#
v......v..v......v
v...@.....@@.....v
vvvv_vvvvv>>vvvvvv
v...@...v
v.......v
v.......v
v...{...v
v.......v
v.......v
v.......v
vvvvvvvvv
ENDMAP


NAME:    main_hall_1
TAGS:    the_main_hall unrand
COLOUR:  v = lightgrey
TILE:    v = wall_crypt_metal
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: lua_marker('~', props_marker {
:           door_description_suffix=" to the Vestibule (Extremely Hard)",
:           })
: lua_marker('<', props_marker {
:           door_description_suffix=" to the Steel Vault (Very Hard)",
:           })
: lua_marker('>', props_marker {
:           door_description_suffix=" to the Crystal Vault (Extremely Hard)",
:           })
: lua_marker('#', props_marker {
:           door_description_suffix=" to the Grid Vault (Hard)",
:           })
: lua_marker('_', props_marker {
:           door_description_suffix=" to a Minivault (Hard)",
:           })
: lua_marker('=', props_marker {
:           door_description_suffix=" leading to the Armoury (Hard)",
:           })
MAP
vvvvv~~vvvvv
v....@@....v
v..........v
<@.v....v..v
<@.........v
v..........v
v..v....v..v
#@.........v
#@.........v
v..v....v..v
v.........@>
v..@@....@@>
vvv__vvvv==v
ENDMAP


################################################################################
# The Vaults
#
################################################################################
# The Metal Vault
################################################################################
# 37
# 27 '2', 7 '1', 3 '3'
NAME:    metal_vault_1
TAGS:    unrand
: metal_vault_setup(_G)
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
MAP
v>>vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v@@v2.............vvv22vv....v!!v*av
v..vv1.............v.2vv.v2v2v!!v**v
v..vvvv222v+vvvvvv...vv......v!!v**v
v..v..vvvvv.vv2.3vv+vv1v1v2v2v!!v**v
v..v....vv...v...v...v.......vv+vv+v
v..+....2v...v...v...v.......v.....v
v..+....1+...+.|.+.2.+......3&.....v
v..+....2v...v...v...v.......v.....v
v..v....vv...v...v...v.......vv+vv+v
v..v..vvvvv.vv2.3vv+vv1v1v2v2v|*v??v
v..vvvv222v+vvvvvv...vv......v|*v??v
v..vv1.............v.2vv.v2v2v*|v??v
v..v2.............vvv22vv....va*v??v
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 37
# 27 '2', 7 '1', 3 '3'
NAME:    metal_vault_2
TAGS:    unrand
: metal_vault_setup(_G)
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
MAP
v>>vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v@@....vvvv2.......2vv**a**&2.2&*a*v
v......vvvvv2.....1vvv*****vv.vv|||v
vv....vvvvvvvv...vvvvvvvvvvv.2.vvvvv
vvv++vvvvvv..+...+.2vv.3vv.......vvv
vv....vvv...2vv+vv.....vv....1..2.vv
v...1..v....vv...vv....v...........v
v2.....+...2+.2.2.+..2.+..1..1...3.v
v......v....vv...vv....v...........v
vv...2vvv...2vv+vv.....vv....1..2.vv
vvv++vvvvvv..+...+.2vv.3vv.......vvv
vv....vvvvvvvv...vvvvvvvvvvv.2.vvvvv
v...2..vvvvv2.....1vvv!?!?!vv.vv?!?v
v2....2vvvv2.......2vv?!?!?&2.2&!?!v
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 36
# 27 '2', 6 '1', 3 '3'
NAME:    metal_vault_3
TAGS:    unrand
: metal_vault_setup(_G)
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
MAP
v>>vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v@@vvvv.....2vvv2..vvvv??&..2..&|*vv
v..vvv..v+v...1.....vv???vv2.2vv*|*v
v..vv2.vv2vv.....v..2v??vv.....vva|v
v..vv2vv...vv...vvv..v?vv...1..2vv*v
v..vvvv....2vv.vv2vv3vvv.........vvv
v..1vv......v...v.v...v...........vv
v...2+...2..+...+.+...+......1..3..v
v..2vv......v...v.v...v...........vv
v..vvvv....2vv.vv2vv3vvv.........vvv
v..vv2vv...vv...vvv..v!vv...1..2vv*v
v..vv2.vv2vv.....v..2v!!vv.....vv**v
v..vvv..v+v...1.....vv!!!vv2.2vv**av
v..vvvv.....2vvv2..vvvv!!&..2..&**vv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 36
# 26 '2', 7 '1', 3 '3'
NAME:    metal_vault_4
TAGS:    unrand
: metal_vault_setup(_G)
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
MAP
v>>vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v@@....+..+...vvv........vvv2..2vvvv
v......+..+....1vv..23..vv....vvv?!v
v...2.vv..vv2....vv....vv.1v2vv!?!?v
v..2vvv....vvv2...v2...v.....v!?!?!v
v..vv2......2vvv.vvv..vv.v.v2v?!?!?v
v++v...v..v...v...2v..v......vvv+vvv
v.......12....+.1..+..+...1.3&.....v
v++v...v..v...v...2v..v......vvv+vvv
v..vv2......2vvv.vvv..vv.v.v2v***|*v
v..2vvv....vvv2...v2...v.....v*|a**v
v....2vv..vv2....vv....vv.1v2vv***|v
vv2....+..+....1vv..32..vv....vvva*v
vvvv...+..+...vvv........vvv2..2vvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 37
# 28 '2', 6 '1', 3 '3'
NAME:    metal_vault_5
TAGS:    unrand
: metal_vault_setup(_G)
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
MAP
v>>vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v@@vvv2.2vvv..+...vvv.2.......2.&?!v
v...vv...vv..vv.2.vvv...........v!?v
vv...vv+vv..vvv.2.+.vv..2...2..vv?!v
vvv.........2vv...v..vvv.....vvvv!?v
vv..vvv+vvv...vv+vv..3vvv.1.vvv?!?!v
v2.vv.....vv..v2..v...v.......v!?!?v
v1.+..212..+..+..2+.2.+...1..3vvvvvv
v2.vv.....vv..v2..v...v.......v***av
vv..vvv+vvv...vv+vv..3vvv.1.vvv|***v
vvv.........2vv...v..vvv.....vvvv|*v
vv...vv+vv..vvv.2.+.vv..2...2..vv*av
v2..vv...vv..vv.2.vvv...........v*|v
v.2vvv2.2vvv..+...vvv.2.......2.&**v
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 37
# 27 '2', 7 '1', 3 '3'
NAME:    metal_vault_6
TAGS:    unrand
: metal_vault_setup(_G)
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
MAP
v>>vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v......v.2.+....vvv.22vv....vv!!?!?v
v...1vvv.1.vvv...v...vv2.1..2vv?!?!v
v..2vv.+...+.vv..3..vvvv....vvvv?!?v
v..vv.2vv+vv2.vv...vv.1vv..vv2.vv?!v
v..v..vv...vv..+...v............v!?v
v..v..v.....v.2v...v....v..v...2vv&v
v..+..+..2..+..+.2.+....2..2......3v
v..v..v.....v.2v...v....v..v...2vv&v
v..v..vv...vv..+...v............v|*v
v..vv.2vv+vv2.vv...vv.1vv..vv2.vv**v
v...vv.+...+.vv..3..vvvv....vvvva*|v
v...2vvv.1.vvv...v...vv2..1.2vv****v
v.....2v.2.+....vvv.22vv....vv|***av
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 35
# 26 '2', 6 '1', 3 '3'
NAME:    metal_vault_7
TAGS:    unrand
WEIGHT:  5
: metal_vault_setup(_G)
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
MAP
v>>vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v...2vv..+...vv2..vvvvv!?!?!?!?!?vvv
v...vv...v..vv......vvv?!?!vvvvv&vvv
v..vv..2vv..v........vv!vvvv2.2..vvv
v..v...vv1..+.....3...vvv2.......3vv
v.1+..vv....vvv.......vv...1......vv
v2vv..v......2vvv..2...v..........2v
vvv...+.........vv.....v....1......v
vv....v....vvvv.2vv..2.v+.........2v
v2.v..vv1.vv..vv..+.....v+.......2vv
v2vvv..vv.+.22.+..v......vv+1..2.vvv
vvv2vv..v.vv..vv..v..3...2.vvvvvv&vv
vv2..+..+..vvvv...vv...vvvvvvv|****v
v2...v.2vv...2....2vv.vv|***a**|**av
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 35
# 26 '2', 6 '1', 3 '3'
NAME:    metal_vault_8
TAGS:    unrand
WEIGHT:  5
: metal_vault_setup(_G)
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
MAP
v>>vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v..........v..2...v1..2...v!?!?!?!?v
v....2.....+.2.2..v......2v?!?!?!?!v
v..vvvvv...vvvvv+vv.......vvvvv&vvvv
v..+..1v.....2........1....2..2...2v
v..v.2.v...1....vv+vv..............v
v.2v1..v.vvvvv..v..3v..vvv+vv...3..v
v..vvvvv.+..2v..v3..v..v.2..v2.....v
v........v...+..vv+vv..+..2.v..2..2v
v.......2v..2v2.....2..vvvv+v.vvv&vv
vv+vvv...v2..v................v*|**v
v2...+...v+vvv...vvvv+vv1....2v**|*v
v..2.v...........v.2...v......va***v
v...2v..1.......2+..2.2v..2...v*|*av
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP


################################################################################
# The Steel Vault
################################################################################
# 46 - 16 '3', 25 '4', 5 '5', 1 '6'
NAME:   steel_vault_1
TAGS:   unrand
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: steel_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v..!!!????v..+........34.........v
v..!!!???vv..+.4......33......4..v
v..!!!!?vv..vvvv4.....vv.....4vvvv
v..!!vvvv..vv||vvvv........vvvv||v
v&vvvv4....4v||.43vvvv++vvvv34.||v
v.5.4....vv.v4........33........4v
v..6..vv...4v5.......5vv5.......3v
v.5.4....vv.v4........33........4v
v&vvvv4....4v||.43vvvv++vvvv34.||v
v..ccvvvv..vv||vvvv........vvvv||v
v..cc[[(vv..vvvv4.....vv.....4vvvv
v..cc[[((vv..+.4......33......4.@~
v@@|[[[(((v..+........34........@~
v<<vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 46 - 16 '3', 25 '4', 5 '5', 1 '6'
NAME:   steel_vault_2
TAGS:   unrand
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: steel_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vcccv|||||.......4..........34v..v
vcccvv||4.....4.v.v.4.......4vv..v
v[[[[v|44...4.vv...vv.3....43v...v
v[[[(vv54..vvv.......vvv...3vv...v
v((((!vvvvv.............vvvvv..v.v
v((!!!!v........5v3.......+3..43.v
v!!!!?.&.5.6...vv3vv4.....v...vv.v
v!!??..v........5v3.......+3..43.v
v!??..vvvvv.............vvvvv..v.v
v??..vv54..vvv.......vvv...3vv...v
v?...v|44...4.vv...vv.3....43v...v
v...vv||4.....4.v.v.4.......4vv.@~
v@@.v|||||.......4..........34v.@~
v<<vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 46 - 16 '3', 25 '4', 5 '5', 1 '6'
NAME:   steel_vault_3
TAGS:   unrand
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: steel_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v!!!!!!????&.......v.343v|||||.4.v
v!!!!!!????v...........4v..3.3..4v
v++vvvvvvvvv..44...v....v...3...|v
vccc(((([[[v..5v+vvv....+.......|v
vccc((([[[[v..4v..3.....vvvvvvv.vv
vvvvvvvvvvvv.vvv.3vv4...........4v
v54v...v.........5vv5..3........4v
v4.v.4............3.vv+vvvvv.vvvvv
v..+...vvvv+vvv.v...v.....v......v
v.4v.5.v........v............33..v
v..v.......44...v...v........33..v
v.4v.4....3443......v3...4v.....@~
v@@....v||||||||v4.4v3|||4v.....@~
v<<vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 46 - 16 '3', 25 '4', 5 '5', 1 '6'
NAME:   steel_vault_4
TAGS:   unrand
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: steel_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v!!!!v.4v||||||||v.44.v.34v33..44v
v!!!!v4....v44v...........v5....4v
v??!!v......5.............v......v
v??!!v..v..v4.v..v....v...v....34v
v??vvv.vv........vv..vv...vv...vvv
v??v.....v......v..33..v.v..v.v.4v
vc[&.654..vvvvvv...43............v
vc[v.....v......v..33..v.v..v.v.4v
vc[vvv.vv........vv..vv...vv...vvv
vc[[[v..v..v4.v..v....v...v....34v
vc[((v......5.............v......v
vc(((v4....v44v...........v5....@~
v@@((v.4v||||||||v.44.v.34v33...@~
v<<vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 46 - 16 '3', 25 '4', 5 '5', 1 '6'
NAME:   steel_vault_5
TAGS:   unrand
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: steel_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v!!!!v4...4v55.....4v4....33..v..v
v!!!!v.....v........v.........v..v
v!!!!v.....4..3..v..4..v......v..v
v????v4.........4v.....v4....4v34v
v????vvv..vvv..vvv..v..vvv..vvv43v
v[...v...4.........3v3...........v
vc[..&.6...5.33.4.vvvvv..........v
vc[[.v...4.........3v3...........v
vc[[(vvv..vvv..vvv..v..vvv..vvv..v
vcc[(v4.........4v.....v4....4v..v
v.c((v.....4..3..v..4..v......v..v
v..((v.....v........v.........v.@~
v@@.(v4...4v55.....4v4....33..v.@~
v<<vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP


################################################################################
# The Titanium Vault
################################################################################
# 50 - 16 '4', 30 '5', 3 '6', 1 '7'
NAME:   titanium_vault_1
TAGS:   unrand
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: titanium_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v54v55v5......5......5v55v66v
v44v4.v.....5...5.....v44v44v
v++v++v..vvvvvvvvvvv..v++v++v
v........v))))$!!!!v.......6v
v.......5v))))$!!!!v6.....54v
v..v..v..v$$$$$$$$$&..v..v75v
v.......5v]]]]$ccccv6.....54v
v........v]]]]$ccccv.......6v
v++v++v..vvvvvvvvvvv..v++v++v
>@.v4.v.....5...5.....v44v44v
>@.v45v5......5......5v55v66v
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 50 - 16 '4', 30 '5', 3 '6', 1 '7'
NAME:   titanium_vault_2
TAGS:   unrand
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: titanium_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v54...v55vcccc$!!!!v5....454v
v54...v..vcccc$!!!!v5....454v
vvvv++v++vvvvv&vvvvv++v++vvvv
v54...................6....4v
v45...v...5...5...6...v....5v
v..v.....v5.v555v.5v....7v.6v
v45...v...5...5...6...v....5v
v54...................6....4v
vvvv++v++vvvvv&vvvvv++v++vvvv
>@....v..v]]]]$))))v5....454v
>@....v55v]]]]$))))v5....454v
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 50 - 16 '4', 30 '5', 3 '6', 1 '7'
NAME:   titanium_vault_3
TAGS:   unrand
WEIGHT: 5
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: titanium_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v]]))v54..vv....5vv5...5..6.v
v]]))&54.+v...5...vv..4..4..v
v]]))v54+v.........vv5..5..6v
vvvvvvvvv.....4.....vv+vv+vvv
v44..........5v5............v
v5.......5..4v5v4..5..5...67v
v44..........5v5............v
vvvv++vvv.....4.....vvvvv++vv
v.......vv.........vvc!!v..6v
>@......4vv...5...vvcc!!&.45v
>@......54vv5...5vvccc!!v.65v
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 50 - 16 '4', 30 '5', 3 '6', 1 '7'
NAME:   titanium_vault_4
TAGS:   unrand
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: titanium_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v5.4.5v5.5.5v55vcccc&.66.v))v
v.....v.....v44vccccv4444v))v
v4.v++v++v++v++vvvvvv+vv+v))v
v..+.....................v))v
v5.+.....5.....5.....5...vv&v
vvvv..v.5v5.v.5v5.v.5v6..7..v
v45+.....5.....5.....5...vv&v
v..+.....................v]]v
v..v++v++v++v++vvvvvv+vv+v]]v
>@...5v.....v44v!!!!v4444v]]v
>@...4v5.5.5v55v!!!!&.66.v]]v
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 50 - 16 '4', 30 '5', 3 '6', 1 '7'
NAME:   titanium_vault_5
TAGS:   unrand
WEIGHT: 5
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: titanium_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v]]vccccv4...5.4..4...6..656v
v]]vccccv.................75v
v]]vv&vvv.5.4.....vvv...5..6v
v]]&5.............v5555v....v
vvvv.........5.4..v5555v5...v
v4...vvv....4...5....vvv...6v
v....v5445v...5..........vvvv
v....v5445v...4...4...4..&))v
v.......vvv5........vvv&vv))v
>@..................v!!!!v))v
>@..4.....5...5..4.5v!!!!v))v
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 50 - 16 '4', 30 '5', 3 '6', 1 '7'
NAME:   titanium_vault_6
TAGS:   unrand
WEIGHT: 5
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: titanium_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v]]+45+..+))+..+..+44+..+ccvv
v]]+54+..+))+.5+5.+44+..+ccvv
v++v++v++v++v++v++v++v++v++vv
v..+..+45+..+45+]]+55+..+56vv
v.5+..+54+..+54+]]+56+.7+55vv
v++v++v++v++v++v++v++v++v++vv
v..+45+..+55+..+55+..+!!+.6vv
v..+54+..+55+5.+55+.6+!!+5.vv
v++v++v++v++v++v++v++v++v++vv
>@.+..+..+..+))+44+!!+.6+ccvv
>@.+..+5.+5.+))+44+!!+5.+ccvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

################################################################################
# The Iron Vault
################################################################################
# 42
# 21 '6', 21 '7'
NAME:   iron_vault_1
TAGS:   unrand
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: iron_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvv
vv7vv6vvv6vvv7vvv6vvvv
vv+v666+...+...+.6.+7v
vv.+v6+vv7+vv6vvv6+vvv
v7.7vvv7vvv7vvv.vvv.vv
vv.v+vvvv'vvvv.6.+.6.v
vv+vv7vv'''vvvv.vv+.vv
vvv6vvv'''''vvv+v6vvvv
vv676&'''d'''vv.vvv.vv
vv+6+vv'''''vv.7.+.7.v
v7vvv7vv'''vvv+.vv+.vv
vvv'vvvvv'vvv7vvv7v+vv
vvv'vvv.vvv.vvv.vvv.vv
v''7'+.7.+.7.+.6.+.6.v
vv+'vv+.vv+.vv+.vv+.vv
v7v'v6vvv6vvv7vvv6vv~~
vvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 42
# 21 '6', 21 '7'
NAME:   iron_vault_2
TAGS:   unrand
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: iron_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvv
vv7+v.vvv6vvv.vvv6vvvv
vvvv.7.+.76v.7.+.7.+6v
v7vvv.vvv.vvv.vvv6vvvv
vv+.v+v.vv+.vv+.vvv.vv
vv7.7v.7.v666v.6.v.6.v
vvv.vvv.+vv.+vv.vv+.vv
v7v+v7vvv7v+v7v+v6v+vv
vv+6+vv7vvv.vvv.vvv.vv
vv676+.66v.7.+.6.v.7.v
vvv6vvv7vv+.+vv.+v+.vv
vvvvvvv&v7vvv7vvv7v+vv
vv''''''vv+.vvv.vvv.vv
v''''''''v.7.+.6.+.6.v
v'''d''''vv.vv+.vv+.vv
vv''''''vvvvv6vvv6vv~~
vvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 44
# 21 '6', 23 '7'
NAME:   iron_vault_3
TAGS:   unrand
WEIGHT: 5
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: iron_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvv
vv7vv+7&''''''d''''''v
v+vv7vvv'''''''''''''v
vv.vv+vvvvvvvvvvvvvvvv
v.7.+6v7v7+.+7v7vv+6vv
vv.vvvv+v+v+v+v+v7vvvv
vv+v.v+6+.+7+.+6+v+.vv
v7v.7.vvvvvvvvvvvv.7.v
vvvv.vv6+7+6v6+7vvv.vv
v6+vvvv+vvv+vvv+v7v+vv
v+v6+v+6+vv7+v+6+v+7vv
v6vvv7vvv7vvv6vvv6vvvv
vv+.vvv.vvv.vvv.vvv.vv
vv.7.+.7.+.6.+.6.+.6.v
vv+.vv+.vv+.vv+.vv+.vv
v6vvv6vvv6vvv7vvv6vv~~
vvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 43
# 21 '6', 22 '7'
NAME:   iron_vault_4
TAGS:   unrand
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: iron_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvv
vv7vvv7vvv7vvv7vvvvvvv
vvv+.+vv.+vv7+vv''''vv
v7+.76+676+.7.&''''''v
vvvv.vvv.vvv7vv''d'''v
v6vv+vvv+vvvvvv''''''v
vvvv6vvv6vvv.vvv''''vv
v7+.7.+.6.+.7.vvvvvvvv
v+vv6vvv6vvv.vvv6+v.vv
vv7vvv7v+v6vvv7vvv.7.v
v+v+.vv+.vv+.vv+.+v.vv
v7v.7.+666v.7.v.6.v+vv
vv+v.vvv.vvv.+vv.vv.vv
vv.vvv6vvv.vvv.+vv.6.v
v.7.+.6.+.6.+.7.vv+.vv
vv.vvv6vvv.vvv.vv6vv~~
vvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 42
# 20 '6', 22 '7'
NAME:   iron_vault_5
TAGS:   unrand
WEIGHT: 5
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: iron_vault_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvv
vvvvv6vvvv+v+..vv7vvvv
v7+7vv+vv6v7vv..+vv7vv
vvvv+vv7vvvvv+v..v+vvv
v7v7v7vv+vv7v6vv..vv6v
vv+vvv+v6.+vvvv+v..+vv
v7v7v6v.vv6v6v7vvv..vv
vv+vvvvv..vvv+vv6vv.6v
vv7vv7v.vv..+6vvv+v.6v
v767vv+v6.vvvvv7vv..vv
vv7vv6v+vv+7v6vv+..vvv
vv&vvvv7v6vvvv+v..+vvv
v'''''vvvvvv7vv..vv6vv
v''''''vvv6vv+..v+vv+v
v'''d'''vvv+v..+vv6v.v
v''''''''vvv..vv6vvv~~
vvvvvvvvvvvvvvvvvvvvvv
ENDMAP

################################################################################
# Loot Stores
#
################################################################################
# The Armoury
################################################################################
NAME:    armoury_1
TAGS:    the_armoury unrand
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: armoury_setup(_G)
MAP
            v~~vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv<v
            v@@...............................@v
            v........2.3.............3.2.......v
            v..vvvvvvvvvvvvvv##vvvvvvvvvvvvvv..v
            v2.vaavaavccccv......vddddvbbvbbv..v
            v..vaavaavv&&vv......vv&&vvbbvbbv.3v
vvvv        v.3v.....v0030v3....3v0300v.....v..v
v..v        v..v..vvvv....vvv..vvv....vvvv..v4.v
v..v        v2.v..&4....................4&..v..v
_@.v        v..v..vvvv................vvvv..v.3v
_@.vvvvvvvvvv..v.....v..vvvv9999vvvv..v.....v..v
v......22......vaavaav..veev9889vffv..vbbvbbv..v
v..............vaavaav00&eevv99vvff&00vbbvbbv@@v
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv>>v
ENDMAP

NAME:    armoury_2
TAGS:    the_armoury unrand
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: armoury_setup(_G)
MAP
            v~~vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv<v
            v@@...............................@v
            v........2.3.............3.2.......v
            v..vvvvvvvvvvvvvv##vvvvvvvvvvvvvv..v
            v2.vaa&030&aav........vbb&030&bbv..v
            v..vaav...vaav3......3vbbv...vbbv.3v
vvvv        v.3vvvv...vvvvvvv..vvvvvvv...vvvv..v
v..v        v..v.........v........v.........v4.v
v..v        v2.v4..........................4v..v
_@.v        v..v.0...0...v99999999v...0...0.v.3v
_@.vvvvvvvvvv..vv&vvv&vv.vvvv88vvvv.vv&vvv&vv..v
v......22......vaaaavccv.veevvvvffv.vddvbbbbv..v
v..............vaaaavccv0&eevvvvff&0vddvbbbbv@@v
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv>>v
ENDMAP

NAME:    armoury_3
TAGS:    the_armoury unrand
WEIGHT:  5
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: armoury_setup(_G)
MAP
            v~~vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv<v
            v@@...............................@v
            v........2.3.............3.2.......v
            v..vvvvvvvvvvvvvv##vvvvvvvvvvvvvv..v
            v2.vaaavcvev3v........v3vfvdvbbbv..v
            v..vavavcvev.v.v....v.v.vfvdvbvbv.3v
vvvv        v.3vaaavcvev............vfvdvbbbv..v
v..v        v..vv.vvcvev.v.v....v.v.vfvdvv.vv4.v
v..v        v2.vaaav&v&v............v&v&vbbbv..v
_@.v        v..vavav040v.v.v....v.v.v040vbvbv.3v
_@.vvvvvvvvvv..vaaav........9999........vbbbv..v
v......22......v&vvv.v.v.v.v9889v.v.v.v.vvv&v..v
v..............v0......v030v9999v030v......0v@@v
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv>>v
ENDMAP


################################################################################
# The Coven
################################################################################
# 25
# 6 '4', 19 '0'
NAME:   the_coven_1
TAGS:   the_coven unrand
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: coven_setup(_G)
MAP
vvvvvvvvvvvvvvvvvv~~v
vv4.4vvccccccccvv.@@v
va....vvccccccvv4.4vv
vv.vv..vvv&&vvv...vvv
va0av0...........vvev
va.avv......0v...vgjv
va0av0.0v0..vvv..&fiv
vv.vvv.vvv..0v0..vhjv
va0av0.0v0.......vvdv
va.avv............vvv
va0av0.vv&&vv..0v0.vv
vv.vv.vvbbbbvv.vvv..v
va....vbbbbbbv.0v0..v
vv4.4vvvbbbbvvv....vv
vvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 25
# 6 '4', 19 '0'
NAME:   the_coven_2
TAGS:   the_coven unrand
WEIGHT: 5
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: coven_setup(_G)
MAP
vvvvvvvvvvvvvvvvvv~~v
vcccccccccvvv.....@@v
vcccbbbbvvv..0v....4v
vbbbbbvvv....vvv....v
vbbbvvv......0v0...4v
vb&vv....0v0........v
vvv4.....vvv...0v0..v
vv4..0v0.0v0...vvv..v
v....vvv.......0v0..v
vv...0v0...........vv
vvvvv......0v0...vvvv
vaaavvv4...vvv..v&jdv
vaaaaa&vv4.0v0.vvhijv
vaaaaaaavvv...vvvfgev
vvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 25
# 6 '4', 19 '0'
NAME:   the_coven_3
TAGS:   the_coven unrand
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: coven_setup(_G)
MAP
vvvvvvvvvvvvvvvvvv~~v
vbbbbvv...v0v0v...@@v
vbbbbv4.v.......v..vv
vbbb&v.vvv.....vvv.av
vbbvv4.0v0.....0v0.vv
vvvvv..vvv.0v0.vvv.av
vejgv4..v..vvv..v..av
vhif&...0..0v0..0..av
vdjfv4..v..vvv..v..av
vvvvv..vvv.0v0.vvv.av
vccvv4.0v0.....0v0.vv
vccc&v.vvv.....vvv.av
vccccv4.v...0...v..vv
vccccvvaaavavavaaavvv
vvvvvvvvvvvvvvvvvvvvv
ENDMAP


################################################################################
# Mini-Vaults
################################################################################
NAME:   mini_pit_1
TAGS:   the_minivault unrand
COLOUR: v = white
TILE:   v = wall_vaults_metal
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
KITEM:  34CBDEJK = superb_item pre_id w:66 /\
                   nothing w:30
: lua_marker('_', props_marker {
:           door_description_suffix=" to a Minivault (Hard)",
:           })
MAP
vvv__vvv
v..@@..v
v.v+vv.v
v.v33+.v
v.+44v.v
v.v43+.v
v.+33v.v
v.vv+v.v
v......v
vvvvvvvv
ENDMAP

NAME:   grid_room_1
TAGS:   the_grid_vault unrand
NSUBST: + = 1:& / *:v
COLOUR: v = white
TILE:   v = wall_vaults_metal
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
KITEM:  3CDJ = superb_item pre_id w:66 / star_item pre_id w:33
: lua_marker('<', props_marker {
:           door_description_suffix=" to the Main Hall (Safe)",
:           })
: lua_marker('~', props_marker {
:           door_description_suffix=" to the Grid Vault (Hard)",
:           })
MAP
vvvvvvvvvvvvvvvvvvvvvv
v...................@<
v...................@<
v..vvv+vvv+vvv+v+vv..v
v..+v.v.v.v3v.v.v.v..v
v..v.v2v2v3v3v2v2v+..v
v..+v3v3v4v5v4v3v3v..v
v..v.v2v2v3v3v2v2v+..v
v..vv.v.v.v3v.v.v.v..v
v..v+vvv+vvv+vvv+vv..v
v....................v
v.........@@.........v
vvvvvvvvvv~~vvvvvvvvvv
ENDMAP

NAME:   hallway_of_sentries
TAGS:   the_hallway_of_sentries unrand
KFEAT:  & = closed_door
MARKER: & = lua:restrict_door()
TILE:   v = dngn_metal_wall_cyan
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: lua_marker('~', props_marker {
:           door_description_suffix=" to the Golden Pit (Nightmare!)",
:           })
: lua_marker('<', props_marker {
:       door_description_suffix=" to the Hallway of Sentries (Extremely Hard)",
:           })
MAP
v~v
v6v
v&v
v7v
v&v
v6v
v&v
v7v
v&v
v6v
v&v
v7v
v&v
v5v
575
565
v7v
v&v
v6v
v&v
v7v
v&v
v6v
v&v
v5v
v&v
v6v
v&v
v5v
v<v
ENDMAP

NAME:   the_vestibule_1
TAGS:   the_vestibule unrand
COLOUR: v = magenta
TILE:   v = metal_wall_workshop
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: lua_marker('~', props_marker {
:           door_description_suffix=" to the Vestibule (Extremely Hard)",
:           })
: lua_marker('>', props_marker {
:           door_description_suffix=" to the Final Vault (Nightmare!)",
:           })
MAP
vvvvvvvvvv>>vvvvvvv
vvvv......@@...vvvv
vv....6.....6....vv
v..5...........7..v
v........5........v
v..5...........6..v
vv....5.....6....vv
vvvv.@@........vvvv
vvvvv~~vvvvvvvvvvvv
ENDMAP


################################################################################
# Pits
#
################################################################################
# The Silver Pit
################################################################################
NAME:    silver_pit
TAGS:    the_silver_pit unrand
KMONS:   a = orc knight w:20 / orc warrior w:20 / orc warlord w:20 /\
             orc sorcerer / orc high priest
KMONS:   A = orc warlord
KMONS:   b = ogre / two-headed ogre / troll / deep troll /\
             iron troll w:5 / deep troll / ogre mage w:5 /\
             cyclops / stone giant w:5 / ettin w:5
KMONS:   B = titan
KMONS:   c = human w:20 / arcanist / occultist / hell knight w:15 /\
             vault guard w:20 / necromancer / ironbound preserver /\
             ironbound frostheart w:1
KMONS:   C = Frederick, Louise, Rupert, vault warden
KMONS:   d = burial acolyte w:5 / place:Crypt:$ zombie w:15 /\
             place:Crypt:$ draugr w:15 / simulacrum w:15 / vampire /\
             vampire mage / jiangshi w:3 / ghoul w:5 /\
             skeletal warrior w:20 / lich w:3 / wraith w:3 /\
             freezing wraith w:3 / phantasmal warrior w:3 / flayed ghost
KMONS:   D = lich
KMONS:   e = wyvern / acid dragon / steam dragon / basilisk / rime drake /\
             lindwurm / komodo dragon / alligator / hydra w:20 / swamp dragon /\
             swamp drake / fire dragon w:5 / ice dragon w:5
KMONS:   E = golden dragon
KITEM:   2ABCDE = scroll of acquirement q:1, silver rune of zot
KITEM:   1abcde = superb_item pre_id w:66 / star_item pre_id w:33 /\
         any pre_id w:133
NSUBST:  + = 1:& / *:v
SUBST:   1 : a, 2 : A
SHUFFLE: aA / bB / cC / dD / eE
COLOUR:  v = yellow
TILE:    v = wall_lab_metal
: general_setup(_G)
: general_item_setup(_G)
: lua_marker('~', props_marker {
:           door_description_suffix=" to the Silver Pit (Extremely Hard)",
:           })
MAP
v~~vvvvvvvvv
v@@v1111111v
v..+1111111v
v..+1111111v
v..+1112111v
v..+1111111v
v..+1111111v
v..+1111111v
v..v1111111v
vvvvvvvvvvvv
ENDMAP


################################################################################
# The Golden Pit
################################################################################
NAME:   golden_pit
TAGS:   the_golden_pit unrand
KMONS:  a = stone giant / frost giant / fire giant / ettin / titan / cyclops
KMONS:  A = iron giant
# Honestly, the non-giant ones are awful. Suffer.
KMONS:  b = ushabti w:5 / cognitogaunt w:5 / place:Crypt:$ zombie w:20 /\
            place:Crypt:$ draugr w:20 / place:Crypt:$ simulacrum w:20 /\
            lich / ancient lich w:5 / revenant soulmonger w:5 / vampire knight /\
            vampire bloodprince w:5 / bone dragon / ghoul /\
            ancient champion w:5 / guardian mummy / mummy priest / royal mummy
KMONS:  B = dread lich
KMONS:  c = saltling w:25 / peacekeeper w:20 / crystal guardian w:15 /\
            molten gargoyle w:5 / dancing weapon w:1 /\
            guardian serpent w:5 / servant of whispers / \
            imperial myrmidon / ragged hierophant w:20 / halazid warlock w:5
KMONS:  C = Zenata, halazid warlock
KMONS:  d = angel / daeva w:15 / cherub / fravashi w:1 / pearl dragon w:1
KMONS:  D = seraph
KITEM:  2ABCD = scroll of acquirement q:3, golden rune of zot
KITEM:  1abcd = superb_item pre_id w:66 / star_item pre_id w:33 /\
                any pre_id w:33
NSUBST: + = 1:& / *:v
SUBST:  1 : a, 2 : A
SHUFFLE: aA / bB / cC / dD
COLOUR: v = yellow
TILE:   v = wall_lab_metal
: general_setup(_G)
: general_item_setup(_G)
: lua_marker('~', props_marker {
:           door_description_suffix=" to the Golden Pit (Nightmare!)",
:           })
MAP
vvvvvvvvvvvvvvvvvvvvvvvvv
vvv1111111111111111111vvv
vvv1111111112111111111vvv
vvv1111111111111111111vvv
vvv1111111111111111111vvv
vvvvvv+++++++++++++vvvvvv
v.......................v
v.....................@@v
vvvvvvvvvvvvvvvvvvvvvvv~v
ENDMAP


################################################################################
# The Final Vault
################################################################################
# 65?
# ~19 '7', ~20 '6', 23 '9'
NAME:    final_vault
TAGS:    the_final_vault unrand
KMONS:   98 = patrolling orb guardian
KITEM:   8 = orb of zot
KFEAT:   8 = orb dais
SUBST:   0 = 7776.., Z = 6.
COLOUR:  v = lightmagenta
TILE:    v = dngn_metal_zot
: general_setup(_G)
: general_item_setup(_G)
: base_monster_setup(_G)
: lua_marker('~', props_marker {
:           door_description_suffix=" to the Final Vault (Nightmare!)",
:           })
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvv.......vvvvvvv...............vvvvvvv........vvvv
vvvv...7.7...vvvvv.................vvvvv.....Z....vvv
vvv...........vvv.....vvv999vvv.....vvv..Z......Z..vv
vv..6...7...6..v....vvv.......vvv....v......Z.....0.v
vv....0...0........vv...0...0...vv...v0.Z.....Z.....v
vv7.....9....0....vv..0.......0..vv..v....Z.....Z.Z.v
vv..0..999........v.....Z...Z.....v..9......7.......v
vv7...99899.0.....v.Z.7...7...7.Z.v..9.Z.Z.....Z.Z..v
vv..0..999........v.....Z...Z.....v..9.....Z.Z......v
vv7.....9....0....vv..0.......0..vv..v..Z......Z....v
vv....0...0........vv...0...0...vv...v............Z.v
vv..6...7...6..v....vvv.......vvv....v....Z...Z.....v
vvv...........vvv.....vvv999vvv.....vvv............vv
vvvv...7.7...vvvvv.................vvvvv...9999...vvv
vvvvv.......vvvvvvv...............vvvvvvv...@@...vvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv~~vvvvvvv
ENDMAP
