1############################################################################## 2# tar.des: Special maps for Tartarus. 3# Content: (mini)vaults particular to Tartarus, and/or first appearing in 4# Tar (order: Dis, Geh, Coc, Tar) 5############################################################################## 6 7: crawl_require('dlua/vault.lua') 8 9{{ 10function tar_setup(e) 11 e.place("Tar:$") 12 e.tags("no_rotate") 13 e.kmask('O = no_item_gen') 14 e.kitem('O = bone rune of Zot') 15end 16 17function callback.grunt_gauntlet_trap_activate(data,triggerable,trigger,marker,ev) 18 if not dgn.persist.grunt_gauntlet_trap_triggered then 19 for slave in iter.slave_iterator("trap_wall2", 1) do 20 local you_x, you_y = you.pos() 21 if (dgn.mons_at(slave.x, slave.y) ~= nil or (slave.x == you_x and slave.y == you_y)) then 22 return 23 end 24 end 25 dgn.persist.grunt_gauntlet_trap_triggered = true 26 for slave in iter.slave_iterator("trap_wall", 1) do 27 dgn.terrain_changed(slave.x, slave.y, "floor", false) 28 dgn.place_cloud(slave.x, slave.y, "foul pestilence", crawl.random2(5) + 5) 29 end 30 for slave in iter.slave_iterator("trap_wall2", 1) do 31 dgn.terrain_changed(slave.x, slave.y, "stone_wall", false) 32 dgn.colour_at(slave.x, slave.y, "lightmagenta") 33 end 34 crawl.mpr("You hear an unearthly scream, and the grinding of stone!", 35 "warning") 36 crawl.mpr("The path is suddenly blocked!", "warning") 37 end 38end 39 40function tar_dig_maze(e, x, y) 41 local delta = { {x = 2, y = 0}, 42 {x = -2, y = 0}, 43 {x = 0, y = 2}, 44 {x = 0, y = -2} } 45 local count = 0 46 local passes = 0 47 local i = 0 48 local newx = 0 49 local newy = 0 50 local nextx = 0 51 local nexty = 0 52 while true do 53 count = 0 54 for i = 1, 4 do 55 newx = x + delta[i].x 56 newy = y + delta[i].y 57 if e.is_valid_coord { x = newx, y = newy } 58 and e.mapgrd[newx][newy] ~= '.' 59 and e.mapgrd[newx][newy] ~= ' ' 60 and e.mapgrd[newx][newy] ~= '$' 61 and e.mapgrd[newx][newy] ~= 'L' then 62 count = count + 1 63 if crawl.random2(count) == 0 then 64 nextx = newx 65 nexty = newy 66 end 67 end 68 end 69 if count == 0 then 70 if passes == 0 then 71 e.mapgrd[x][y] = 'L' 72 end 73 return 74 end 75 if nexty == y then 76 newy = y 77 if nextx - x < 0 then 78 newx = nextx + 1 79 else 80 newx = nextx - 1 81 end 82 else 83 newx = x 84 if nexty - y < 0 then 85 newy = nexty + 1 86 else 87 newy = nexty - 1 88 end 89 end 90 passes = passes + 1 91 e.mapgrd[newx][newy] = '.' 92 e.mapgrd[nextx][nexty] = '.' 93 tar_dig_maze(e, nextx, nexty) 94 end 95end 96}} 97 98 99############################################################################## 100# Tartarus 101############################################################################## 102 103NAME: lemuel_nasty_pond 104DEPTH: Tar 105TAGS: no_pool_fixup no_rotate 106MONS: withered plant 107MONS: oklob plant, ghoul, necrophage, blizzard demon / green death 108SUBST: W:w. 109SUBST: Z:w. 110SUBST: w = w .:1 111SUBST: . = .:15 1:1 w:1 112SUBST: 1 = 1 2:2 113SUBST: 3 = 3:9 4:1 .:2 114COLOUR: . = none / green w:2 115COLOUR: w = green / lightgreen 116MAP 117 ...WWWW3.... 118 .3..WWWWW....3... 119 ....WWWwwW...3....3. 120..Z.WWwwwwww3.....3... 1213.ZZWwwwwwwwwww3...... 122.ZZZ..wwwww5wwwwww3... 123..3Z..44wwwwwww33..... 124.3ZZZ..44wwwwww3..3... 125.ZZZZZ.44wwwww........ 126 ..ZZZZZ4wwww.3...... 127 3ZZZZwwwww....3. 128 .ZZwww3..... 129ENDMAP 130 131############################################################################## 132 133NAME: grunt_tartarus_stairs_gauntlet_trap 134DEPTH: Tar, !Tar:$ 135TAGS: generate_awake patrolling no_trap_gen 136MONS: Tzitzimitl, shadow demon / reaper, soul eater, necrophage, shadow imp 137{{ 138 dgn.persist.grunt_gauntlet_trap_triggered = false 139 local trap_marker = TriggerableFunction:new { 140 func = "callback.grunt_gauntlet_trap_activate", 141 repeated = true} 142 trap_marker:add_triggerer(DgnTriggerer:new { 143 type="player_move"}) 144 lua_marker(':', trap_marker) 145 lua_marker('H', trap_marker) 146 lua_marker('-', trap_marker) 147 lua_marker('1', trap_marker) 148 lua_marker('e', trap_marker) 149 lua_marker('}', trap_marker) 150 lua_marker(']', trap_marker) 151 lua_marker(')', trap_marker) 152 lua_marker('d', props_marker {trap_wall=1}) 153 lua_marker('"', props_marker {trap_wall2=1}) 154}} 155SUBST: d = c 156SUBST: e = 2 157COLOUR: c = lightmagenta 158KPROP: "H-}]) = no_tele_into 159MARKER: H = lua:fog_machine { \ 160 pow_min = 10, pow_max = 10, delay = 10, \ 161 size = 3, walk_dist = 1, spread_rate = 0, \ 162 cloud_type = "purple smoke" } 163MAP 164cccccccccccccccccccccc....... 165c...2...............cG.5..... 166cdcccccccccccccccccdcc...5... 167c--H":e:c9c8c8c0c0c0cG.4..5.. 168c}--":::cdcdcdcdcdcdcc3.4..5. 169c]1H":::+............+......@ 170c)--":::cdcdcdcdcdcdcc3.4..5. 171c--H":e:c9c8c8c0c0c0cG.4..5.. 172cdcccccccccccccccccdcc...5... 173c...2...............cG.5..... 174cccccccccccccccccccccc....... 175ENDMAP 176 177############################################################################## 178NAME: hangedman_snap_crack_crunch 179TAGS: transparent no_monster_gen 180DEPTH: Tar, !Tar:$, Zot:1-4 181: if you.in_branch("Tar") then 182KMONS: 12 = patrolling reaper 183KMONS: 34 = patrolling tormentor 184KMONS: 56 = patrolling shadow demon 185KMONS: 7 = skeletal warrior 186KMONS: 8 = patrolling shadow imp 187KMONS: AB = lich 188KMONS: CD : vampire mage / mummy priest 189KMONS: EF : shadow dragon w:5 / death drake 190KITEM: | = nothing 191: else 192KMONS: 12 = patrolling lich / ancient lich / dread lich 193KMONS: 34 = patrolling curse toe 194KMONS: 56 = patrolling bone dragon 195KMONS: 7 = death cob w:12 / zombie w:4 / skeleton w:4 / guardian mummy w:4 196KMONS: 8 = patrolling death cob 197KMONS: ABCD = shadow dragon 198KMONS: EF = death drake 199: end 200KMONS: 0 = soul eater 201KMONS: Z = obsidian statue 202KFEAT: Z = zot trap 203SHUFFLE: 1234, 12 / 34 / 56, ABCD, AB / CD / EF, {'" / {'" / }`_, {', }`, GHI 204SUBST: { : -_= |:3, } : -= |:2, ' : |:1 .:4, " = ., Z = Z:1 c:8 205SUBST: G : O:20 X, H : O X:50, I = X, X : xc 206NSUBST: - = 1:{ / 1:}, _ = 1:[ / 1 = (:80 <, = = 1:] / 1 = ):80 > 207NSUBST: 7 = 3:7 / 3:0 / 2 = 70 208MARKER: O = lua:fog_machine { cloud_type = "foul pestilence", pow_min = 200, \ 209 pow_max = 300, delay = 25, size = 1, walk_dist = 0, excl_rad = 0 } 210MAP 211 xxxxxxxxx 212 xxxx...7.xx.@@. 213 xxxxxxxx..cc.7xx..... 214 xxxxxxxx.AcXc..xx....@ 215 xxx......cGc...x.."..@ 216 xx.'....cXc....x.8.... 217 xx..cc..cc..cc..x..xxx 218 xx..cXc.....cXc..xxxxxx 219 xxx...cHc..1..cXc....7.x 220xxxx....cXc.....cXc....7x 221xxx..cc..cc..cc..cc..cc.x 222xx.BcXc....{cXc.....cXc.x 223x..cIc..2..cZc..3..cIc..x 224x.cXc.....cXc{....cXcC.xx 225x.cc..cc..cc..cc..cc..xxx 226x7....cXc.....cXc....xxxx 227x.7....cXc..4..cHc...xxx 228xxxxxx..cXc.....cXc..xx 229 xxx..x..cc..cc..cc..xx 230 ....8.x....cXc....'.xx 231 @.."..x...cGc......xxx 232 @....xx..cXcD.xxxxxxxx 233 .....xx7.cc..xxxxxxxx 234 .@@.xx.7...xxxx 235 xxxxxxxxx 236ENDMAP 237 238############################################################################## 239 240NAME: hangedman_restless_catacombs 241TAGS: no_monster_gen 242DEPTH: Tar, !Tar:$ 243MONS: soul eater, patrolling curse skull 244MONS: skeletal warrior / phantasmal warrior w:6 / \ 245 shadow wraith w:4 / guardian mummy w:4 / \ 246 ushabti w:2 / ghoul w:4 247KMONS: 45 = vampire knight 248KMONS: 67 = vampire mage 249KMONS: 89 = flayed ghost 250KMONS: AB = mummy priest 251KMONS: CD = lich 252NSUBST: 0 = 1:( / 1 : ):9 >:1 / 1 : 3:9 [:1 / 1:4 / 1:5 / 1:6 / 1:7 / *:3 253SHUFFLE: 456789ABCD" 254SUBST: " = 3 255MAP 256xxxxxxxxxxxxxxxxx 257xcccccccccccccccx 258xcG.c0c0c0c0c.Gcx 259xc.1c+c+c+c+c1.cx 260xccc.........cccx 261xc0+.........+0cx 262xccc...x.x...cccx 263xc0+..x...x..+0cx 264xccc....2....cccx 265xc0+..x...x..+0cx 266xccc...x.x...cccx 267xc0+.........+0cx 268xccc.........cccx 269xc.1c+c+c+c+c1.cx 270xcG.c0c0c0c0c.Gcx 271xcccccccccccccccx 272xxxxxxxxxxxxxxxxx 273ENDMAP 274 275################################################################################ 276 277NAME: hangedman_tartarus_temple_path 278TAGS: transparent extra 279DEPTH: Tar, !Tar:$ 280SHUFFLE: hH / hH / Hh, iI / iI / Ii 281SUBST: h : cccx, H : cxGF, i : cccx, I : cxGF 282SUBST: d = d., + = +..., { = {}...., c = c:49 .:1, C = c 283MARKER: F = lua:fog_machine { cloud_type = "foul pestilence", pow_min = 200, \ 284 pow_max = 300, delay = 25, size = 1, walk_dist = 0, excl_rad = 0 } 285{{ 286dgn.delayed_decay(_G, 'd', 'base draconian corpse w:5 / ' .. 287 'base draconian skeleton / ' .. 288 'shadow dragon corpse w:5 / ' .. 289 'shadow dragon skeleton') 290}} 291MAP 292 .@xxxxxxxxxxxxxxxxxxxxxxx@. 293.x..cccccccCCCCCCCccccccc..x. 294@...cd.c.dcccccccccd.c.dc...@ 295x...c.....cd.....dc.....c...x 296xc..c..c..c...c...c..c..c..cx 297xc..c..h..cF..i..Fc..h..c..cx 298xc..+.dHd.+...I...+.dHd.+..cx 299xc..c..h..cF..i..Fc..h..c..cx 300xc..c..c..c...c...c..c..c..cx 301x...c.....cd..{..dc.....c...x 302@...cd.c.dcccccccccd.c.dc...@ 303.x..cccccccCCCCCCCccccccc..x. 304 .@xxxxxxxxxxxxxxxxxxxxxxx@. 305ENDMAP 306 307NAME: nicolae_tar_cuneiform_heaven 308DEPTH: Tar 309WEIGHT: 10, 1 (Tar:$) 310TAGS: transparent decor extra allow_dup luniq tar_grunt_decor 311MAP 312................ 313........xxxxx... 314.........xxx.... 315.........xxx.... 316.x...x....x..... 317.xxx.xxx..x..... 318.xxxxxxxxxxxxxx. 319.xxx.xxx..x..... 320.x...x....x..... 321..........x..... 322..........x..... 323................ 324ENDMAP 325 326NAME: nicolae_tar_cuneiform_sun 327DEPTH: Tar 328WEIGHT: 10, 1 (Tar:$) 329TAGS: transparent decor extra allow_dup luniq tar_grunt_decor 330MAP 331............ 332....x.xxxxx. 333..xxx..xxx.. 334.xxxx..xxx.. 335..xxx...x... 336....x...x... 337..xxx...x... 338.xxxx...x... 339..xxx...x... 340....x...x... 341............ 342ENDMAP 343 344NAME: nicolae_tar_cuneiform_to_be 345DEPTH: Tar 346WEIGHT: 10, 1 (Tar:$) 347TAGS: transparent decor extra allow_dup luniq tar_grunt_decor 348MAP 349............... 350.xxxxx......... 351..xxx.......... 352..xxxx......... 353...x.xxx....... 354...x.xxxxxxxxx. 355...x.xxx....... 356...x.x......... 357...x........... 358...x........... 359............... 360ENDMAP 361 362NAME: nicolae_tar_cuneiform_two 363DEPTH: Tar 364WEIGHT: 10, 1 (Tar:$) 365TAGS: transparent decor extra allow_dup luniq tar_grunt_decor 366MAP 367............. 368.xxxxx.xxxxx. 369..xxx...xxx.. 370..xxx...xxx.. 371...x.....x... 372...x.....x... 373...x.....x... 374...x.....x... 375...x.....x... 376...x.....x... 377............. 378ENDMAP 379 380NAME: nicolae_tar_cuneiform_three 381DEPTH: Tar 382WEIGHT: 10, 1 (Tar:$) 383TAGS: transparent decor extra allow_dup luniq tar_grunt_decor 384MAP 385................... 386.xxxxx.xxxxx.xxxxx. 387..xxx...xxx...xxx.. 388..xxx...xxx...xxx.. 389...x.....x.....x... 390...x.....x.....x... 391...x.....x.....x... 392...x.....x.....x... 393...x.....x.....x... 394...x.....x.....x... 395................... 396ENDMAP 397 398NAME: nicolae_tar_cuneiform_bird 399DEPTH: Tar 400WEIGHT: 10, 1 (Tar:$) 401TAGS: transparent decor extra allow_dup luniq tar_grunt_decor 402MAP 403.................. 404....xxxxx...xxxxx. 405.....xxx.....xxx.. 406.....xxx.....xxx.. 407.x....x....x..x... 408.xxx..x..xxx..x... 409.xxxxxxxxxxx..x... 410.xxx..x..xxx..x... 411.x....x....x..x... 412......x.......x... 413......x.......x... 414.................. 415ENDMAP 416 417NAME: nicolae_tar_cuneiform_water 418DEPTH: Tar 419WEIGHT: 10, 1 (Tar:$) 420TAGS: transparent decor extra allow_dup luniq tar_grunt_decor 421MAP 422............. 423.xxxxx.xxxxx. 424..xxx...xxx.. 425..xxx...xxx.. 426...x.....x... 427...x...xxxxx. 428...x....xxx.. 429...x....xxx.. 430...x.....x... 431...x.....x... 432............. 433ENDMAP 434 435NAME: nicolae_tar_cuneiform_bread 436DEPTH: Tar 437WEIGHT: 10, 1 (Tar:$) 438TAGS: transparent decor extra allow_dup luniq tar_grunt_decor 439MAP 440................... 441.xxxxx.xxxxx.xxxxx. 442..xxx...xxx...xxx.. 443..xxx...xxx...xxx.. 444...x.....x.....x... 445................... 446.....xxxxxxxxx..... 447......xxxxxxx...... 448.......xxxxx....... 449.......xxxxx....... 450........xxx........ 451.........x......... 452................... 453ENDMAP 454 455NAME: nicolae_tar_cuneiform_oil 456DEPTH: Tar 457WEIGHT: 10, 1 (Tar:$) 458TAGS: transparent decor extra allow_dup luniq tar_grunt_decor 459MAP 460............. 461.x........... 462.xxx......... 463.xxxxxxxxxxx. 464.xxx......... 465.x........... 466............. 467.x...xxx.xxx. 468.xxx..x...x.. 469.xxxxxxxxxxx. 470.xxx..x...x.. 471.x....x...x.. 472............. 473ENDMAP 474 475NAME: nicolae_tar_cuneiform_not 476DEPTH: Tar 477WEIGHT: 10, 1 (Tar:$) 478TAGS: transparent decor extra allow_dup luniq tar_grunt_decor 479MAP 480.............. 481....xxxxx..... 482.....xxx...... 483.....xxx...... 484.x....x.....x. 485.xxx..x....x.. 486.xxxxxxxxxxxx. 487.xxx..x..x.... 488.x....x.x..... 489......xx...... 490......x....... 491.....xx....... 492..xxx.x....... 493...xx......... 494....x......... 495.............. 496ENDMAP 497 498NAME: nicolae_tar_cuneiform_city 499DEPTH: Tar 500WEIGHT: 10, 1 (Tar:$) 501TAGS: transparent decor extra allow_dup luniq tar_grunt_decor 502MAP 503................. 504.....xxxxx.xxxxx. 505......xxx...xxx.. 506......xxx...xxx.. 507.x.....x.....x... 508.xxx...x.....x... 509.xxxxxxxxxxxxx... 510.xxx...x.....x... 511.x.....x.....x... 512.......x.....x... 513.x.....x.....x... 514.xxx...x.....x... 515.xxxxxxxxxxxx.... 516.xxx............. 517.x............... 518................. 519ENDMAP 520 521NAME: nicolae_tar_fractal_crypt 522DEPTH: Tar, !Tar:$ 523TAGS: transparent 524SHUFFLE: ae, bf, cg, dh 525SUBST: e : ae, f : bf, g : cg, h : dh 526NSUBST: a = + / x, b = + / x, c = + / x, d = + / x, e = + / x, f = + / x, \ 527 g = + / x, h = + / x, > = 1:} / 1:] / 1:) / . 528SUBST: d = x, 0 = 0009.., 9 = 998, ] = ...]>, ) = .....)>, X = ..x 529SHUFFLE: }]) 530KMONS: 0 = 0 / 0 band w:5 531KMONS: 9 = 9 band 532KMONS: 8 = 8 band 533MAP 534xaxxxaxaxxxaxexxxexexxxex 535h..x..x..x..x..x..x..x..b 536xX.X.XxX.X.XxX.X.XxX.X.Xx 537xxX0XxxxX0XxxxX0XxxxX0Xxx 538x..X..X..X..x..X..X..X..x 539h.Xx.....x.>x>.x.....xX.b 540xxxxX.0.XxxxxxxxX.0.Xxxxx 541h.Xx.....xxxxxxx.....xX.b 542x..X..X...XXXXX...X..X..x 543xxX0Xxxx.........xxxX0Xxx 544x..X..xxX.0...0.Xxx..X..x 545h.Xx.>xxX.......Xxx>.xX.b 546xxxxxxxxX...9...Xxxxxxxxx 547d.Xx.>xxX.......Xxx>.xX.f 548x..X..xxX.0...0.Xxx..X..x 549xxX0Xxxx.........xxxX0Xxx 550x..X..X...XXXXX...X..X..x 551d.Xx.....xxxxxxx.....xX.f 552xxxxX.0.XxxxxxxxX.0.Xxxxx 553d.Xx.....x.>x>.x.....xX.f 554x..X..X..X..x..X..X..X..x 555xxX0XxxxX0XxxxX0XxxxX0Xxx 556xX.X.XxX.X.XxX.X.XxX.X.Xx 557d.Xx..x..x..x..x..x..x..f 558xgxxxgxgxxxgxcxxxcxcxxxcx 559ENDMAP 560 561NAME: hangedman_damned_closets 562TAGS: no_monster_gen 563DEPTH: Tar, !Tar:$ 564ORIENT: float 565MONS: shadow w:6 / shadow wraith / wraith w:6 566MONS: soul eater, tormentor / shadow demon w:12 567MONS: patrolling lost soul 568KMONS: 56 = flayed ghost 569KMONS: 78 = eidolon 570KMONS: 90 = phantasmal warrior 571KMONS: AB : spectral titan / spectral ettin 572KMONS: C = patrolling revenant w:19 / patrolling tzitzimitl w:1 573KFEAT: C = } / ) / ] / > w:30 / floor w:5 574SHUFFLE: 4C / 56 / 78 / 90 / AB, 567890AB, yz / yz / zy, YZ / YZ / ZY 575SUBST: X : x., y : xxx., z = ., { = {.. 576MAP 577 xxxxxxxxxxxxxxxxxxxx 578 cccccccccccccccccccx 579 c.......yz.....1xxcx 580 c.......yz..3...xGcx 581 c.......x.......x4cx 582 @cc..1..x.x...xxx.+Ccx 583 .c...2...x.xxx...xxccx 584 .+......ZY.......xGcxx 585x..+.......YZ......x5cx 586x.cc.......x...2...+6cx 587x.c.xxxx..x.x..1..xxccx 588x{c.....xxX.......xGcxx 589..c.......Xxx.....x7cx 590.cc..1..x.x..xxxx.+8cx 591.+...2...x.......xxccx 592.+......ZY.......xGcxx 593@c.......YZ......x9cx 594cc...xxx.x...2...+0cx 595c.xxx...x.x..1..xxccx 596c.......x.......xGcxx 597c...3..zy.......xAcx 598c1.....zy.......+Bcx 599cccccccccccccccccccx 600xxxxxxxxxxxxxxxxxxxx 601ENDMAP 602 603# A bit of a tribute to Jory's old silence vault, except 604# hopefully this time with some choice in using the silence; 605# the aura extends to the edge of the walls with the main doors. 606NAME: hangedman_tartarus_silent_blood_keep 607TAGS: no_monster_gen transparent patrolling 608DEPTH: Tar, !Tar:$ 609ORIENT: float 610WEIGHT: 5 611MONS: zombie / skeleton / spectral thing w:4 612MONS: jiangshi / phantasmal warrior w:4 / shadow wraith w:4, vampire mage 613MONS: vampire knight ; demon whip | demon trident | demon blade . \ 614 plate armour | chain mail 615MONS: soul eater, tormentor w:3 / shadow demon w:1, silent spectre 616KMONS: 9 = reaper / lorocyproca w:6 617KMONS: J = Jory w:9 / tzitzimitl w:1, tzitzimitl 618NSUBST: J = 1:J / *:9, 8 = 1:6 / * = 5:19 6:1 619SUBST: A : x.., B : x.., ] = ]> 620MAP 621 xx xx xx xx xx xx 622 xxxxxxxxxxxxxxxxxxxxxxxxx 623 xxxxxxxxxxxxxxxxxxxxxxxxxxx 624 ..xx..xx....2.....xx......... 625 ....A......4c.3..4...B.....ccc... 626 .............ccc+ccc......82ccccc.. 627...ccc1.......ccc.2.ccc..cccccc1c1cc. 628..ccccc18ccccccc)56..ccccc....+..7cc. 629.cc1c1cccc....+J.3<4.J+....cccc1c1cc. 630.cc7..+....ccccc..65]ccccccc81ccccc.. 631.cc1c1cccccc..ccc.2.ccc.......1ccc... 632..ccccc82......ccc+ccc............. 633...ccc.....B...3..4.c3......A.... 634 .........xx.....2....xx..xx.. 635 xxxxxxxxxxxxxxxxxxxxxxxxxxxx 636 xxxxxxxxxxxxxxxxxxxxxxxxxx 637 xx xx xx xx xx xx 638ENDMAP 639 640############################################################################## 641# Ereshkigal (Tartarus) 642############################################################################## 643 644NAME: tar_old 645ORIENT: encompass 646MONS: patrolling Ereshkigal, reaper, shadow demon, shadow 647MONS: lich / ancient lich / dread lich, shadow dragon / death drake w:1 648MONS: tzitzimitl 649KMONS: 8 = ghoul 650KMONS: 9 = vampire mage / vampire knight 651KMONS: 0 = soul eater 652KMONS: Z = skeleton / zombie 653SUBST: ? = ?..., ? = 2., 0 = 002 654SHUFFLE: 3569 655: serpent_of_hell_setup(_G) 656: tar_setup(_G) 657MAP 658xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 659xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 660xxxx..............................................................xxxx 661xxxx..............................................................xxxx 662xxxx.................cccc..........ccc............................xxxx 663xxxx.............ccccc..cccc.....ccc.cccc.........................xxxx 664xxxx...........ccc.........ccccccc.....cc.........................xxxx 665xxxx.........ccc........6...........V..cc.........................xxxx 666xxxx........cc4........................cc...........xxxxxxxx......xxxx 667xxxx........cc44xxx++xxx......D........cc..........xx......xx.....xxxx 668xxxx........ccxxx......xxx.......ccc++ccc....6....xx........xx....xxxx 669xxxx........cxx..........xxx.....ccc44ccc.........x..........x....xxxx 670xxxx........cx............xx....cccc44cc.........xx.9......7.xx...xxxx 671xxxx.......ccx.G........G.xxx7ccc..c44c..........x....||||....x...xxxx 672xxxx.......cxx............xxxcc..................x....||||....x...xxxx 673xxxx......ccx..............xxc...................xx.9......9.xx...xxxx 674xxxx......ccx..G........G..xxc..x.........x.......x..........x....xxxx 675xxxx......ccx..............xcc......??............xx........xx....xxxx 676xxxx.......cxx............xxc......2222............xx......xx.....xxxx 677xxxx.......ccx.G........G.xcc.......??..............xxxxxxxx......xxxx 678xxxx........cx7..........7xc......................................xxxx 679xxxx........cxx....17....xxc....x.........x.......................xxxx 680xxxx........ccxxx......xxxcc......................................xxxx 681xxxx........cccc+xxxxxx+cccc.................................3....xxxx 682xxxx........cc$$cccccccc$$cc......................................xxxx 683xxxx.........cc$$$$O$$$$$cc.......................................xxxx 684xxxx..........cccccccccccc......x.........x............V..........xxxx 685xxxx..............................................................xxxx 686xxxx...........................................cccccccccccccccc...xxxx 687xxxx...........................................cccccccccccccccc...xxxx 688xxxx..................................6........cc$$$$$xx|||||cc...xxxx 689xxxx.......3........V...........x.........x....cc$$$$$xx|||||cc...xxxx 690xxxx................................7..........ccxxcccccccccccc...xxxx 691xxxx...........................................ccxxcccccccccccc...xxxx 692xxxx...........................................cc44744xx00000cc...xxxx 693xxxx.......ccccccccc+ccccccccc.................cc44444xx88888cc...xxxx 694xxxx.......c.................c..x.........x..ccccccccccccxxxxcc...xxxx 695xxxx.......c.x.x.x.x.x.x.x.x.c.................ccccccccccxxxxcc...xxxx 696xxxx.......c.................c......................+........cc...xxxx 697xxxx.......cx5x.x.x.x.x.x.x5xc......................+........cc...xxxx 698xxxx.......c.................c.................ccccccccccxxxxcc...xxxx 699xxxx.......c.x.x.x.x5x.x.x.x.c..x.........x..ccccccccccccxxxxcc...xxxx 700xxxx.......c.................c.................ccZZZZZxx88888cc...xxxx 701xxxx.......cxxxxxxx.x.xxxxxxxc.................ccZZZZZxx00000cc...xxxx 702xxxx.......c$$$$$$x....x$$$||c.................ccxxcccccccccccc...xxxx 703xxxx.......c$x$$x$xx.x.x$x$x|c.................ccxxcccccccccccc...xxxx 704xxxx.......c||||||+....+$$$||c..x....3....x....cc||xx444xx|||cc...xxxx 705xxxx.......ccccccccccccccccccc.................cc||xx444xx|7|cc...xxxx 706xxxx...........................................cccccccccccccccc...xxxx 707xxxx...........................................cccccccccccccccc...xxxx 708xxxx..............................................................xxxx 709xxxx..............................................................xxxx 710xxxx........(...........................................[.........xxxx 711xxxx..............................................................xxxx 712xxxx..............................................................xxxx 713xxxx..............................{...............................xxxx 714xxxx..............................................................xxxx 715xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 716xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 717xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 718ENDMAP 719 720 721############################################################################## 722# Ereshkigal (Tartarus) by Mu. 723############################################################################## 724NAME: tar_mu 725ORIENT: encompass 726MONS: patrolling Ereshkigal, tzitzimitl, reaper, soul eater, shadow demon 727MONS: shadow dragon, shadow wraith 728KMONS: 8 = shadow imp 729: serpent_of_hell_setup(_G) 730SUBVAULT: = : tar_mu_maze 731# position of the loot chamber varies 732SHUFFLE: AB 733SUBST: A = % 734SUBST: B = x 735KFEAT: % = . 736KMONS: % = soul eater w:20 / shadow wraith w:15 / reaper w:5 / nothing w:20 737KITEM: % = | / $ 738SUBST: 4 = 3333444455566778 739KMONS: s = eidolon 740KMONS: t = phantasmal warrior 741: tar_setup(_G) 742MAP 743xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 744xxxx..............................................................xxxx 745xxxx.4.............................4.........................(..{.xxxx 746xxxx..ccccccccccccccccccccccccccccc...............................xxxx 747xxxx..c===========================+...............................xxxx 748xxxx..c===========================c.............................[.xxxx 749xxxx..c===========================c...............................xxxx 750xxxx..c===========================c...............................xxxx 751xxxx..c===========================c..............3ccccccc3........xxxx 752xxxx..c===========================c............7ccccccccccc7......xxxx 753xxxx..c===========================c...........3ccccc$$$ccccc3.....xxxx 754xxxx..c===========================c..........7cccc$$$$$$$cccc7....xxxx 755xxxx..c===========================c..........7ccc$$$$$$$$$ccc7....xxxx 756xxxx..c===========================c..........ccc$$$$$$$$$$$ccc....xxxx 757xxxx..c===========================c..........ccc.2.$$$$$.2.ccc....xxxx 758xxxx..c===========================c.........ccc....xxxxx....ccc...xxxx 759xxxx..c===========================c.........ccc..xxxxxxxxx..ccc...xxxx 760xxxx..c===========================c.........cc..xxxxxxxxxxx..cc...xxxx 761xxxx..c===========================c.........cc+cxxxxxxxxxxxc+cc...xxxx 762xxxx..c===========================c.........cc.c...........c.cc...xxxx 763xxxx..c===========================c.........cc.c.xxxxxxxxx.c.cc...xxxx 764xxxx..c===========================c.........cc.c+xxxxxxxxc+c.cc...xxxx 765xxxx..c===========================c.........cc.c.xx.444.xc.c.cc...xxxx 766xxxx..c===========================c.........cc.c.cx.444.xc.c.cc...xxxx 767xxxx..c===========================c.........cc.c.cxxxxxxxc.c.cc...xxxx 768xxxx..c===========================c.........cc.c.cccxxxccc.c.cc...xxxx 769xxxx..c===========================c.........cc.c...cxxxc...c.cc...xxxx 770xxxx..c===========================c.........cc.c.cccxxxccc.c.cc...xxxx 771xxxx..c===========================c.........cc.c.cx|2.2|xc.c.cc...xxxx 772xxxx..c===========================c.........cc.c.cx|$$$|xc.c.cc...xxxx 773xxxx..c===========================c.........cc.c.ccccxcccc.c.cc...xxxx 774xxxx..c===========================c.........cc.c....cxc....c.cc...xxxx 775xxxx..c===========================c.........cc.c.ccccxcccc.c.cc...xxxx 776xxxx..c===========================c.........cc.c.cxx|||xxc.c.cc...xxxx 777xxxx..c===========================c.........cc.c.cxx|||xxc.c.cc...xxxx 778xxxx..c===========================c.........cc+c.ccccccccc.c+cc...xxxx 779xxxx..c===========================c..........c.c.....c.....c.c....xxxx 780xxxx..c===========================c............c...........c......xxxx 781xxxx..c===========================c...............................xxxx 782xxxx..c===========================c...............4.4.4.4.........xxxx 783xxxx..c===========================c................4...4..........xxxx 784xxxx..c===========================c...........x.................xxxxxx 785xxxx..c===========================c..........xxx...............xxxxxxx 786xxxx..c===========================c.........xxxxxx+xxxxxxxxx+xxxxxxxxx 787xxxx..c===========================c.........xxxxxx.x|$...$|x.xxxxxxxxx 788xxxx..ccccccccccccc===============c.........xxxxxx.xxx2.2xxx.xxxAAAAxx 789xxxx..cc..........+===============c........xxxxxxx.xxxxxxxxx.xxxAAAAxx 790xxxx..cc..........c===============c........xxxxxxx..xxxxxxx..xxxAAAAxx 791xxxx..cc..........c===============c........xxxxxxxx.........xxxxAAAAxx 792xxxx..cc....2.....c===============c.......xxxxxxxxxx.......xxxxxxxxxxx 793xxxx..cc.s...2..s.c===============c.......xxxxxxxxxxx.....xxAAAAAAAAxx 794xxxx..cc.7..1...7.c===============c......xxBBBBBBBxxxx...xxxAAAAAAAAxx 795xxxx..cc..........c===============c......xxBBBBBBBxxxxx.xxxxAAAAAAAAxx 796xxxx..cc..........c===============c.....xxxBBBBBBBxxxxx+xxxxxxxxxxxxxx 797xxxx..cc.5.t..t.5.c===============c.....xxxxxxxxxxxx..............$$xx 798xxxx..cc.$$$O$$$$.ccccccccccccccccc.....xxBBBBxBBBBx.4...4.......$$$xx 799xxxx..ccccccccccccccccccccccccccccc.....xxBBBBxBBBBx...4..4.....$$$$xx 800xxxx.4..............................4..xxxBBBBxBBBBx.2..4..4...$$$$$xx 801xxxx..................................xxxxBBBBxBBBBx..........$$$$$$xx 802xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 803xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 804ENDMAP 805 806NAME: tar_mu_maze 807# only to shut up the validator 808ORIENT: encompass 809TAGS: tar_mu_maze no_rotate no_hmirror no_vmirror unrand 810: tar_dig_maze(_G, 0, 0) 811NSUBST: L = 2:M / 3 = M. / 5:N / 5:P / 5:V / 1:L / *:. 812NSUBST: . = 5:Q / *:. 813KFEAT: L = zot trap 814KMONS: M = tzitzimitl 815KFEAT: N = floor 816KITEM: N = superb_item 817KMONS: N = patrolling tzitzimitl / patrolling soul eater 818KFEAT: P = floor 819KITEM: P = star_item 820KMONS: P = patrolling reaper / nothing 821KMONS: Q = generate_awake unseen horror 822SUBST: V = V / . 823MAP 824ccccccccccccccccccccccccccc 825ccccccccccccccccccccccccccc 826ccccccccccccccccccccccccccc 827ccccccccccccccccccccccccccc 828ccccccccccccccccccccccccccc 829ccccccccccccccccccccccccccc 830ccccccccccccccccccccccccccc 831ccccccccccccccccccccccccccc 832ccccccccccccccccccccccccccc 833ccccccccccccccccccccccccccc 834ccccccccccccccccccccccccccc 835ccccccccccccccccccccccccccc 836ccccccccccccccccccccccccccc 837ccccccccccccccccccccccccccc 838ccccccccccccccccccccccccccc 839ccccccccccccccccccccccccccc 840ccccccccccccccccccccccccccc 841ccccccccccccccccccccccccccc 842ccccccccccccccccccccccccccc 843ccccccccccccccccccccccccccc 844ccccccccccccccccccccccccccc 845ccccccccccccccccccccccccccc 846ccccccccccccccccccccccccccc 847ccccccccccccccccccccccccccc 848ccccccccccccccccccccccccccc 849ccccccccccccccccccccccccccc 850ccccccccccccccccccccccccccc 851ccccccccccccccccccccccccccc 852ccccccccccccccccccccccccccc 853ccccccccccccccccccccccccccc 854ccccccccccccccccccccccccccc 855ccccccccccccccccccccccccccc 856ccccccccccccccccccccccccccc 857ccccccccccccccccccccccccccc 858ccccccccccccccccccccccccccc 859ccccccccccccccccccccccccccc 860ccccccccccccccccccccccccccc 861ccccccccccccccccccccccccccc 862ccccccccccccccccccccccccccc 863ccccccccccccccccccccccccccc 864ccccccccccccccccccccccccccc 865 cccccccccccccccc 866 cccccccccccccccc 867 cccccccccccccccc 868 cccccccccccccccc 869 cccccccccccccccc 870 cccccccccccccccc 871 cccccccccccccccc 872 cccccccccccccccc 873 cccccccccccccccc 874 cccccccccccccccc 875ENDMAP 876 877############################################################################## 878# Ereshkigal (Tartarus) by minmay 879############################################################################## 880 881NAME: tar_minmay_river 882ORIENT: encompass 883MONS: patrolling Ereshkigal, reaper, shadow demon, tzitzimitl, soul eater 884FTILE: "5!?^ = floor_green_bones 885SUBST: 5 = 5:10 3:1 886NSUBST: " = 2:4 / 4:3 887NSUBST: 2 = 3:4 / *:2 888NSUBST: w = 3=Ew / 20=Fw / *:w 889NSUBST: ! = 2:. / *:c 890NSUBST: ? = 2:. / *:c 891NSUBST: ^ = 2:. / *:c 892KMONS: E = spectral kraken 893KMONS: F = spectral swamp worm 894KFEAT: EFw = deep_water 895KMASK: Ww = no_monster_gen 896: serpent_of_hell_setup(_G) 897: tar_setup(_G) 898: set_border_fill_type("permarock_wall") 899MAP 900cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 901cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 902ccc$$$$$cccc........cccc$$$$$c|||||O||||||c$$$$$cccc........cccc$$$$$ccc 903ccc$$$ccc....cccccc....ccc$$$c|cccccccccc|c$$$ccc....cccccc....ccc$$$ccc 904ccc$$cc...cccc....cccc...cc$$c+c........c+c$$cc...cccc....cccc...cc$$ccc 905ccc$cc..ccc....cc....ccc..cc+cc....14....cc+cc..ccc....cc....ccc..cc$ccc 906ccc$c..cc...cccccccc...cc...2c............c2...cc...cccccccc...cc..c$ccc 907ccc+c.cc..ccc......ccc..cc..cc............cc..cc..ccc......ccc..cc.c+ccc 908ccc2..c..cc...cccc...cc..c..c4............4c..c..cc...cccc...cc..c..2ccc 909cccc.cc.cc..ccc..ccc..cc.cc.c..............c.cc.cc..ccc..ccc..cc.cc.cccc 910cccc.c..c..cc......cc..c..c.c....cc++cc....c.c..c..cc......cc..c..c.cccc 911ccc..c.cc.cc..cccc..cc.cc.c.c...cc....cc...c.c.cc.cc..cccc..cc.cc.c..ccc 912ccc.cc.c..c..cc..cc..c..c.c.cc..c......c..cc.c.c..c..cc..cc..c..c.cc.ccc 913ccc.c..c.cc.cc....cc.cc.c....c.cc...D..cc.c....c.cc.cc....cc.cc.c..c.ccc 914ccc.c.cc.c..c..cc.+2..c.c....c.c........c.c....c.c..2+.cc..c..c.cc.c.ccc 915ccc.c.cc.c..c..cc.ccc.c.c....c.c........c.c....c.c.ccc.cc..c..c.cc.c.ccc 916ccc.c..c.cc.cc......c.c.c....c3c........c3c....c.c.c......cc.cc.c..c.ccc 917ccc.cc.c..c..cc+c...c...c2cc2ccccc++++ccccc2cc2c...c...c+cc..c..c.cc.ccc 918ccc..c.cc.cc..c2c...ccc.c+c...cc........cc...c+c.ccc...c2c..cc.cc.c..ccc 919cccc.c..c..cc...cccc33c...c...c..........c...c...c33cccc...cc..c..c.cccc 920cccc.cc.cc..ccc....c33cccccc..c..c....c..c..cccccc33c....ccc..cc.cc.cccc 921cccc..c..cc...cccc.ccc|||c.c.....c....c.....c.c|||ccc.cccc...cc..c..cccc 922ccccc.cc..ccc........c||cc.cc...cc....cc...cc.cc||c........ccc..cc.ccccc 923ccc.c..cc...cccccccc.c|cc...cc2cccc33cccc2cc...cc|c.cccccccc...cc..c.ccc 924ccc.cc..ccc..2....2+.ccc.....cccc2cccc2cccc.....ccc.+2....2..ccc..cc.ccc 925ccc..cc...cccc....cccc............................cccc....cccc...cc..ccc 926cc..............WWWWWWWWWWWWWWWWWWWWWWW...............................cc 927cc..WWWWWWWWWWWWWWwwwwwwwwwwwwwwWwwwwwWWWWWWWW........................cc 928ccWWWWwwwwwwwwwwwWwwwwwwwwwwwwwWwwwwwwwwwwwwWWWWWWWWWW................cc 929ccwwwwWwwwwwwwwwwWwwwwwwwwwwwwwWwwwwwwwwwwwwWwwwwwwwwWWWWWWWWWWWWW....cc 930ccwwwwWwwwwwwwwwwwWwwwwwwwwwwwwWwwwwwwwwwwwWwwwwwwwwwwwWwwwwwwwwwWWWWWcc 931ccwwwwWwwwwwwwwwwwWwwwwwwwwwwwwWwwwwwwwwwwwWwwwwwwwwwwWwwwwwwwwwwWwwwwcc 932ccwwwwwWwwwwwwwwwwWwwwwwwwwwwwWwwwwwwwwwwwWwwwwwwwwwwwWwwwwwwwwwwWwwwwcc 933ccwwwwwWwwwwwwwWWWWWWWWWWWWWWWWWWWwwwwwwwwWwwwwwwwwwwwWwwwwwwwwwwWwwwwcc 934ccwwwWWWWWWWWWWWcc""""""""""cccccWWWWWWwwwWwwwwwwwwwwWwwwwwwwwwwwWwwwwcc 935ccWWWW"""^^^^^ccc^^^ccccccc^^c""c"""""WWWWWWWWwwwwwwwWwwwwwwwwwwWwwwwwcc 936cc"""""""c""""""c""""c5"c""""c""c""""""""""""WWWWWWWWWWWwwwwwwwwWwwwwwcc 937ccc^^^cccc""c""""""""c""c""""c"""""c^^^cccc"""""""""c""WWWWWWWWWWWWWwwcc 938ccc""""c""""c""c"""ccc"""""""cc""""c""""""cccccc^^^^cccc"""""""""""WWWcc 939ccc""ccc""""c""c"""""c""""c""c"""c"c"""c"5c""""""""""""c^^^^c^^^c"""""cc 940ccc""""c""""c""c"""""""cccc""c5""c"c"""cccc"""""c""""c""""""c"""c"c""ccc 941cccc""""""ccccccccc""""c""c""cccccccc"""c"c"""c"c""ccccc""""c""ccccccccc 942ccc""""""""c"""c"5cc""""""c""c""""""""""c"""""c"c"""c5""""""""cc5""c"ccc 943cc""""c""""c""""""c"""""""c"""""""c"""""""""cccccc??c""""c"""""c"""""ccc 944cc""ccc""""c""""""c""cccccc"""""""c""""""c"""""c""""ccccccc"""cc"""""ccc 945cc""""c"""??"""cccc"""""c"""""""ccc""""""c""""cc""""c"5c"""""""cccc""ccc 946cc""""ccccc"""""""c"""""c"""""""""c""""""c"""??c""c""""c"""""""""c"""ccc 947cc"""""5c""""c""""c????cc"""""c""5c"""cc"ccccc""""c""""c""c""""""c""""cc 948cc??ccccc""""c""""""""""c???cccccccc???c"""c""""""c""ccc""ccc????c""""cc 949cc""""""c""""c""""""""""c"""""c""""""""c""5ccccc""c""""c??c"""""""""""cc 950ccc""""""""""c"c"""""""""""cccc""""""""ccccc""""""c"""""""c""c"""cccc"cc 951ccc"""""""""ccccccccccc"""""""c""""""""""""c""""""c"""""ccccccc""c5"""cc 952cccccc""""ccc"""5c""""""""""""c""""""""""""c"""ccccc"""cc""""""""cc"""cc 953ccc5""""""""c""""c""""""""c"""""""""ccc""""c"""c""5cc"""""cc"""""c""cccc 954ccc""""""""""""""cccc!!!!"c!!!!!ccccc""""""""""c"""c"""""""cccc!!!!!!ccc 955ccccc!!!!!!!!!cccc""""""c"c""""""c""cccccc!!!""c"""ccc!!!ccc"""""""""ccc 956cc"""""""c""""c"c"""""""cccc"""""c""c5""""""cccc"ccc"""""""c""""c""ccccc 957cc""""""cc""""c"c""""""""""c""""""""c""""""""""c"""""""""""c""cccc"""ccc 958cc"""""""c""""c""""""""c""5cccc""""ccc""""""""cc"""""""c"cccccc"c""""ccc 959cc"""""cccc"""c"""""""cccccc"""""""""c"""""""""""""ccccc"c"""5c"c"""""cc 960ccc"""""""cc"""""c""""""c""c"""""c"""c""""""c""""""""""ccc""""c"""""c"cc 961ccc"c"""""c""""""c""""""c""""""ccc""""""""""c""""""""""""c""ccc""c""c"cc 962cccccccc""c""""""cccc"""c""""""""ccccccc"""ccc"""""""""""c"""""""ccccccc 963ccc...c"""""""cccc""""""c""cc""""c...c"""""""c""""""c""""c""""""cc...ccc 964ccc.{..""""""""c"""""c""""""cc"""c.(.."""c""5cccc"""c"c""""""c"""..[.ccc 965ccc...c""""""""c"""""c""""""c"""cc...c"""ccccc""""""c"c""""""c"""c...ccc 966cccccccccc"""""""""ccccccc"""""""ccccc"""""""""""""ccccc""""cccccccccccc 967cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 968cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 969ENDMAP 970 971############################################################################## 972# Ereshkigal (Tartarus) by Grunt 973############################################################################## 974 975NAME: tar_grunt 976TAGS: overwritable 977ORIENT: encompass 978{{ 979 extend_map{width = 70, height = 70} 980 fill_area{fill = 'X', border = 'x'} 981 fill_area{x1 = 2, y1 = 2, x2 = 67, y2 = 67, fill = '_', border = '-'} 982 fill_area{x1 = 4, y1 = 4, x2 = 65, y2 = 65, fill = '.'} 983 subst('X = xx.') 984 subst('- = x.') 985 subst('_ = x..') 986 -- The remove_isolated_glyphs doesn't seem to consistently get rid of 987 -- pockets in the border, so... 988 kprop('X-_ = no_tele_into') 989 remove_isolated_glyphs { find = '.', replace = 'x', percent = 100 } 990 tar_setup(_G) 991 hook("post_place", function() 992 local map, vplace = dgn.resolve_map(dgn.map_by_tag("tar_grunt_ereshkigal")) 993 local x = (dgn.GXM / 2) - 5 + crawl.random2(11) 994 local y = (dgn.GYM / 2) - 5 + crawl.random2(11) 995 local res = dgn.place_map(map, false, true, x, y) 996 if not res then 997 error("Failed to place Ereshkigal chamber somehow!") 998 end 999 dgn.place_maps{tag="tar_grunt_big_loot", count=1, die_on_error = true} 1000 dgn.place_maps{tag="tar_grunt_small_loot", count=3} 1001 dgn.place_maps{tag="tar_grunt_decor", count=15} 1002 dgn.place_maps{tag="tar_grunt_mons1", count=10} 1003 dgn.place_maps{tag="tar_grunt_mons2", count=10} 1004 end) 1005}} 1006 1007NAME: tar_grunt_ereshkigal 1008TAGS: tar_grunt_ereshkigal unrand 1009MONS: patrolling Ereshkigal, Tzitzimitl, shadow demon / reaper 1010MONS: lich w:40 / ancient lich / dread lich 1011KMASK: O = no_item_gen 1012KITEM: O = bone rune of Zot 1013: serpent_of_hell_setup(_G) 1014: tar_dig_maze(_G, 9, 21) 1015KFEAT: - = floor 1016NSUBST: L = 2:2 / 3:4 / 8:3 / *:. 1017MAP 1018ccccccccccccccccccccc 1019ccccccc$$$O$$$ccccccc 1020ccccccc$$$$$$$ccccccc 1021ccccccc$.....$ccccccc 1022ccccccc...1...ccccccc 1023ccccccc.......ccccccc 1024ccccccc..2.2..ccccccc 1025ccccccc.......ccccccc 1026ccccccccc+++ccccccccc 1027ccccccccc---ccccccccc 1028ccccccccccccccccccccc 1029ccccccccccccccccccccc 1030ccccccccccccccccccccc 1031ccccccccccccccccccccc 1032ccccccccccccccccccccc 1033ccccccccccccccccccccc 1034ccccccccccccccccccccc 1035ccccccccccccccccccccc 1036ccccccccccccccccccccc 1037ccccccccccccccccccccc 1038ccccccccccccccccccccc 1039ccccccccc---ccccccccc 1040ccccccccc+++ccccccccc 1041 ........ 1042 xx3.4xx 1043 xx.D.xx 1044 ....... 1045 xx...xx 1046 xx...xx 1047 ....... 1048 x...x 1049 ..... 1050 x...x 1051 ..... 1052 x...x 1053 ..... 1054 x.2.x 1055ENDMAP 1056 1057NAME: tar_grunt_big_loot 1058TAGS: tar_grunt_big_loot unrand 1059MONS: Tzitzimitl / shadow dragon, shadow demon / reaper 1060MONS: lich w:40 / ancient lich / dread lich 1061MAP 1062.................. 1063.cccccccccccccccc. 1064.c|$x.2c||c2.x$|c. 1065.c$.x..c||c..x.$c. 1066.c..c..c||c..c..c. 1067.c..c$|c$$c|$c..c. 1068.c..c|$c$$c$|c..c. 1069.c..c..c$$c..c..c. 1070.c..c..c22c..c..c. 1071.c2.c3.c13c.3c.2c. 1072.c..cxxcxxcxxc..c. 1073.c..c$...1..$c..c. 1074.c..c|$.3..$|c..c. 1075.c..cccccccccc..c. 1076.c$.x..1..2..x.$c. 1077.c|$x........x$|c. 1078.ccccccc++ccccccc. 1079........@@........ 1080ENDMAP 1081 1082NAME: tar_grunt_small_loot 1083TAGS: tar_grunt_small_loot allow_dup unrand no_exits 1084MONS: shadow demon w:20 / reaper w:15 / shadow wraith w:10 / soul eater w:5 1085NSUBST: x = 1:m / *:x 1086MAP 1087cccxccc 1088c..$..c 1089c.$|$.c 1090x$|1|$x 1091c.$|$.c 1092c..$..c 1093cccxccc 1094ENDMAP 1095 1096NAME: tar_grunt_small_decor_pillar 1097TAGS: tar_grunt_decor transparent allow_dup unrand no_exits 1098WEIGHT: 60 1099{{ 1100 local size = crawl.random2(6) + 1 1101 local glyphs = { {'A', 2}, 1102 {'B', 3}, 1103 {'C', 4}, 1104 {'D', 5}, 1105 {'E', 6} } 1106 for i = 1, #glyphs do 1107 if size >= glyphs[i][2] then 1108 subst(glyphs[i][1] .. ' = x') 1109 else 1110 clear(glyphs[i][1]) 1111 end 1112 end 1113}} 1114MAP 1115xABCDE 1116AABCDE 1117BBBCDE 1118CCCCDE 1119DDDDDE 1120EEEEEE 1121ENDMAP 1122 1123NAME: tar_grunt_decor_1 1124TAGS: tar_grunt_decor transparent allow_dup unrand 1125SUBST: G : GV 1126MAP 1127... 1128.G. 1129... 1130ENDMAP 1131 1132NAME: tar_grunt_decor_3 1133TAGS: tar_grunt_decor transparent allow_dup unrand 1134SUBST: G : GV 1135MAP 1136 ..... 1137...G... 1138.G...G. 1139....... 1140ENDMAP 1141 1142NAME: tar_grunt_decor_4 1143TAGS: tar_grunt_decor transparent allow_dup unrand 1144SUBST: G : GV 1145MAP 1146...... 1147.G..G. 1148...... 1149...... 1150.G..G. 1151...... 1152ENDMAP 1153 1154NAME: tar_grunt_decor_6 1155TAGS: tar_grunt_decor transparent allow_dup unrand 1156SUBST: G : GV 1157MAP 1158 ...... 1159 .G..G. 1160........ 1161.G....G. 1162........ 1163 .G..G. 1164 ...... 1165ENDMAP 1166 1167NAME: tar_grunt_decor_8 1168TAGS: tar_grunt_decor transparent allow_dup unrand 1169SUBST: G : GV 1170MAP 1171 ...... 1172 ..G..G.. 1173.......... 1174.G......G. 1175.......... 1176.G......G. 1177.......... 1178 ..G..G.. 1179 ...... 1180ENDMAP 1181 1182NAME: tar_grunt_decor_cross_ortho 1183TAGS: tar_grunt_decor transparent allow_dup unrand 1184MAP 1185 .... 1186 .xx. 1187...xx... 1188.xxxxxx. 1189.xxxxxx. 1190...xx... 1191 .xx. 1192 .... 1193ENDMAP 1194 1195NAME: tar_grunt_decor_cross_diag 1196TAGS: tar_grunt_decor transparent allow_dup unrand 1197MAP 1198... ... 1199.xx..xx. 1200.xxxxxx. 1201 .xxxx. 1202 .xxxx. 1203.xxxxxx. 1204.xx..xx. 1205... ... 1206ENDMAP 1207 1208NAME: tar_grunt_decor_circle_5 1209TAGS: tar_grunt_decor transparent allow_dup unrand 1210SUBST: G : GV 1211MAP 1212 ... 1213 .xxx. 1214.x...x. 1215.x.G.x. 1216.x...x. 1217 .xxx. 1218 ... 1219ENDMAP 1220 1221NAME: tar_grunt_decor_octagon_7 1222TAGS: tar_grunt_decor transparent allow_dup unrand 1223SUBST: G : GV 1224MAP 1225 ... 1226 .xxx. 1227 .x...x. 1228.x.....x. 1229.x..G..x. 1230.x.....x. 1231 .x...x. 1232 .xxx. 1233 ... 1234ENDMAP 1235 1236NAME: tar_grunt_mons_1 1237TAGS: tar_grunt_mons_1 transparent allow_dup unrand 1238MONS: shadow imp 1239MAP 12401 1241ENDMAP 1242 1243NAME: tar_grunt_mons_2 1244TAGS: tar_grunt_mons_2 transparent allow_dup unrand 1245MONS: soul eater 1246MAP 12471 1248ENDMAP 1249 1250############################################################################## 1251# Ereshkigal (Tartarus) Cathedral by Grunt 1252############################################################################## 1253 1254NAME: tar_grunt_cathedral 1255ORIENT: encompass 1256MONS: patrolling Ereshkigal, patrolling tzitzimitl, reaper, shadow demon 1257MONS: lich w:40 / ancient lich / dread lich, shadow dragon 1258MONS: shadow wraith / soul eater 1259NSUBST: K = 1:D / *:. 1260: serpent_of_hell_setup(_G) 1261NSUBST: P = 1:O / *:| 1262KITEM: $ = $ no_pickup 1263SHUFFLE: {([< 1264: tar_setup(_G) 1265MAP 1266ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 1267ccccccc.........................ccccc.........................ccccccc 1268ccccc7.........................................................7ccccc 1269ccc..............................7.7..............................ccc 1270c.....7cc.....................ccccccccc.....................cc7.....c 1271c....cccccc.................ccc|||||||ccc.................cccccc....c 1272c..cccccccccc.............ccc...........ccc.............cccccccccc..c 1273c..cccccccccccc....{....ccc......5.5......ccc....[....cccccccccccc..c 1274c..cccccccccccccc.....ccc......ccccccc......ccc.....cccccccccccccc..c 1275c..cccccccccccccccccccc......ccc.....ccc......cccccccccccccccccccc..c 1276c..+......c...+...ccc......ccc.........ccc......ccc...+...c......+..c 1277c..+......+.4.+.6.+..7...ccc.............ccc...7..+.6.+.4.+......+..c 1278c..c...6..+.3.c...+....ccc.................ccc....+...c.3.+..6...c..c 1279c..c......c..ccc++c++ccc.....................ccc++c++ccc..c......c..c 1280c..c..ccccc||cc...+.............ccccc.............+...cc||ccccc..c..c 1281c..c..cccccccc.7..+............cc$P$cc............+..7.cccccccc..c..c 1282c..c..ccccccc...ccc..6.........c.ccc.c.........6..ccc...ccccccc..c..c 1283c..c..cccccc...cc..............c.ccc.c..............cc...cccccc..c..c 1284c..c..ccccc...cc...........4...c.....c...3...........cc...ccccc..c..c 1285c..c..ccccc..cc.........cc.....c..2..c.....cc.........cc..ccccc..c..c 1286c..c..ccccc..c.........cccc....cc...cc....cccc.........c..ccccc..c..c 1287c..c..ccccc..c.........cccc.....c...c.....cccc.........c..ccccc..c..c 1288c..c......c..c..........cc......c...c......cc..........c..c......c..c 1289c..c...7..+..c........3.......................4........c..+..7...c..c 1290c..c......+..c..............K...........K..............c..+......c..c 1291c..c......c..c.........................................c..c......c..c 1292c..c..ccccc..c......cccccc.....cc...cc.....cccccc......c..ccccc..c..c 1293c..c..ccccc..c.....cc....ccc...c.....c...ccc....cc.....c..ccccc..c..c 1294c.7c..ccccc$3c.....c$cc.......................cc$c.....c4$ccccc..c7.c 1295c..c..ccccc$$c.....cPcc.2.........1.........2.ccPc.....c$$ccccc..c..c 1296c.7c..ccccc$4c.....c$cc.......................cc$c.....c3$ccccc..c7.c 1297c..c..ccccc..c.....cc....ccc...c.....c...ccc....cc.....c..ccccc..c..c 1298c..c..ccccc..c......cccccc.....cc...cc.....cccccc......c..ccccc..c..c 1299c..c......c..c.........................................c..c......c..c 1300c..c......+..c.........................................c..+......c..c 1301c..c...7..+..c..............K...........K..............c..+..7...c..c 1302c..c......c..c........4.........c...c.........3........c..c......c..c 1303c..c..ccccc..c..........cc......c...c......cc..........c..ccccc..c..c 1304c..c..ccccc..c.........cccc....cc...cc....cccc.........c..ccccc..c..c 1305c..c..ccccc..cc........cccc....c..2..c....cccc........cc..ccccc..c..c 1306c..c..ccccc...cc........cc.....c.....c.....cc........cc...ccccc..c..c 1307c..c..cccccc...cc..........3...c.ccc.c...4..........cc...cccccc..c..c 1308c..c..ccccccc...ccc..6.........c.ccc.c.........6..ccc...ccccccc..c..c 1309c..c..cccccccc.7..+............cc$P$cc............+..7.cccccccc..c..c 1310c..c..ccccc||cc...+.............ccccc.............+...cc||ccccc..c..c 1311c..c......c..ccc++c++ccc.....................ccc++c++ccc..c......c..c 1312c..c...6..+.3.c...+....ccc.................ccc....+...c.3.+..6...c..c 1313c..+......+.4.+.6.+..7...ccc.............ccc...7..+.6.+.4.+......+..c 1314c..+......c...+...ccc......ccc.........ccc......ccc...+...c......+..c 1315c..cccccccccccccccccccc......ccc.....ccc......cccccccccccccccccccc..c 1316c..cccccccccccccc.....ccc......ccccccc......ccc.....cccccccccccccc..c 1317c..cccccccccccc....(....ccc......5.5......ccc....<....cccccccccccc..c 1318c..cccccccccc.............ccc...........ccc.............cccccccccc..c 1319c....cccccc.................ccc|||||||ccc.................cccccc....c 1320c.....7cc.....................ccccccccc.....................cc7.....c 1321ccc..............................7.7..............................ccc 1322ccccc7.........................................................7ccccc 1323ccccccc.........................ccccc.........................ccccccc 1324ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 1325ENDMAP 1326