1###############################################################################
2# snake.des: All maps and branch endings relating to the Snake Pit.
3#
4# <<1>>      Entries
5# <<2>>      Decorative vaults
6# <<3>>      Monster-placing vaults
7# <<4>>      Snake end vaults
8#
9###############################################################################
10###############################################################################
11
12###############################################################################
13#
14# <<1>> Snake entries.
15#       All must have the snake_entry tag and place an enter_snake feature.
16#
17###############################################################################
18
19NAME:   dummy_snake_entry
20TAGS:   snake_entry transparent
21KFEAT:  O = enter_snake_pit
22MAP
23O
24ENDMAP
25
26NAME:   minmay_snake_entry_guardpost_small
27TAGS:   snake_entry transparent
28ORIENT: float
29MONS:   naga, naga / nothing w:3
30KFEAT:  O = enter_snake_pit
31MAP
32ccc.@.ccc
33c.......c
34c.2...2.c
35.........
36@...O...@
37.........
38c.1...2.c
39c.......c
40ccc.@.ccc
41ENDMAP
42
43NAME:   minmay_snake_entry_guardpost_medium
44TAGS:   snake_entry transparent
45WEIGHT: 5
46ORIENT: float
47MONS:   naga, naga / nothing
48KFEAT:  O = enter_snake_pit
49MAP
50   ccccccc
51 ccc.....ccc
52cc2.......2cc
53c...c2.1c...c
54@...c.O.c...@
55c...c1.2c...c
56cc2.......2cc
57 ccc.....ccc
58   ccccccc
59ENDMAP
60
61NAME:   minmay_snake_entry_guardpost_large
62TAGS:   snake_entry transparent
63WEIGHT: 2
64ORIENT: float
65MONS:   naga, naga / nothing
66KFEAT:  O = enter_snake_pit
67MAP
68c@ccccccc
69c.......cc
70c..c.c..2cc
71c.........cc
72c..c.c.c..2cc
73c......2....cc
74cc2..c1O2c..2cc
75 cc....2......c
76  cc2..c.c.c..c
77   cc.........c
78    cc2..c.c..c
79     cc.......c
80      ccccccc@c
81ENDMAP
82
83NAME:   minmay_snake_entry_six_corridors
84TAGS:   snake_entry ruin_lair transparent
85ORIENT: float
86MONS:   water moccasin, black mamba
87KMONS:  P = plant / fungus w:1 / nothing
88SUBST:  1 = 1 .:30, 2 = 122 .:30, D = 12 .:40
89KFEAT:  O = enter_snake_pit
90MAP
91xxxx.@1xxxxxxP@xxxxx
92xxxx1.PxxxxxP..xxxxx
93xxxxx..xxxxx1.xxxxxx
94 xxxxP..xxxx..xxxxx
95 xxxxP.1xxxxD..xxxx
96xxxxxx..Pxxxx1Pxxxxx
97xxxxxxxD.xxxP.xxxxxx
98xxxxxxxP2xx1..xxxxxx
99xxxxxxxx...2.xxxxxxx
100xxxxxxxP2..P2.xxxxxx
101xxD1xxP..PO.P..Dxx1P
102P.....1.2.2.xx.....@
103@.1PxxxP..xxxx.Px1P.
104xxxxxxxx.1xxxxDxxxxx
105xxxxxxxx..Pxx..xxxx
106xxxxxxxx..PxxP.1xxx
107 xxxxxx1.Dxxxx..xxxx
108 xxxxxxP.xxxxxx1..Px
109xxxxxxx.1xxxxxxxP...
110xxxxxx.@.Pxxxxxxxx.@
111ENDMAP
112
113NAME:   minmay_snake_entry_spellcaster
114TAGS:   snake_entry transparent
115ORIENT: float
116WEIGHT: 2
117MONS:   guardian serpent
118KFEAT:  O = enter_snake_pit
119MAP
120...
121.O1
122...
123ENDMAP
124
125NAME:   guppyfry_snake_entry_island
126TAGS:   snake_entry patrolling no_monster_gen transparent
127ORIENT: float
128MONS:   naga / nothing, plant
129KFEAT:  O = enter_snake_pit
130SUBST:  - = . W:2 2:1
131MAP
132   -WWWWW-
133  -WWWWWWW-
134 -WWW---WWW-
135-WWW-----WWW-
136-WW---1---WW-
137@WW--1O1--WW@
138-WW---1---WW-
139-WWW-----WWW-
140 -WWW---WWW-
141  -WWWWWWW-
142   -WWWWW-
143ENDMAP
144
145NAME:   guppyfry_snake_entry_garden
146TAGS:   snake_entry patrolling no_monster_gen transparent
147ORIENT: float
148MONS:  naga / nothing, plant
149KFEAT:  O = enter_snake_pit
150SUBST:  - = wW2t.
151SUBST:  " = W2.
152MAP
153 xxxx@xxxx
154xx---.---xx
155x--"".""--x
156x-"tt.tt"-x
157x-"t1.1t"-x
158@....O....@
159x-"t1.1t"-x
160x-"tt.tt"-x
161x--"".""--x
162xx---.---xx
163 xxxx@xxxx
164ENDMAP
165
166###############################################################################
167#
168# <<2>> Decorative vaults.
169#
170###############################################################################
171
172default-depth: Snake
173
174NAME:    hangedman_snake_thin_pillar_pass
175TAGS:    extra transparent
176WEIGHT:  6
177SHUFFLE: @' / @' / @' / '@
178SUBST:   A : c.., B : c.., C : c.., D = cccc., E = c...., ' = .
179: local Z = dgn.br_depth(you.branch())
180: if crawl.x_chance_in_y(Z - you.depth(), Z) then
181SUBST: c = x
182: end
183MAP
184x@.xxxxxxxxx.@x
185x......D......x
186xx.cA..c..Ac.xx
187 x.....D.....x
188 xx.cB.c.Cc.xx
189  x.........x
190  xx.cC.Bc.xx
191   x.......x
192   xx.c.c.xx
193    x.....x
194    xx.E.xx
195     x.'.x
196ENDMAP
197
198NAME:    hangedman_snake_wide_pillar_pass
199TAGS:    extra transparent
200WEIGHT:  4
201SHUFFLE: @' / @' / @' / '@
202SUBST:   A : c.., B : c.., C : c.., D = cccc., E : c...., F : c...., ' = .
203: local Z = dgn.br_depth(you.branch())
204: if crawl.x_chance_in_y(Z - you.depth(), Z) then
205SUBST: c = x
206: end
207MAP
208x.xxx.@.xxxxxxxxxxxxx.@.xxx.x
209x...x.A......FDF......A.x...x
210xxx...c.B.....c.....C.c...xxx
211  xxx...c.C...c...B.c...xxx
212    xxx...c.E...E.c...xxx
213      xxx...c...c...xxx
214        xxx...D...xxx
215          xxx.'.xxx
216ENDMAP
217
218# Somewhat vaguely inspired by a vault shape in
219# a draft of evilmike's for something else entirely.
220NAME:    hangedman_snake_pattern
221TAGS:    transparent extra
222# Pillars, door positions, entrances.
223SHUFFLE: XYZ, aA-+ / aA-+ / aA-+ / Aa+- / Aa+-, ABCDE
224SUBST:   X : cx.., Y : cx...., Z = ., a = x, - : xx+, + : +++..
225SUBST:   A : @@+, B : @@++..x, C : @+...xxx, DE = x
226MAP
227   xxBxxxxxxxCxxxxxxxDxxxxxxxxExxxxxx
228  xx...xx.........xx...xx.........xx
229 xx.....xx.......xx.....xx.......xx
230aa...X...xx..Z..--...X...xx..Z..aa
231 AA...Y...++..Y..++...Y...++..Y..AA
232  xx...Z...--..X..xx...Z...--..X..xx
233   xx.....xx.......xx.....xx.......xx
234    xx...xx.........xx...xx.........xx
235     xxExxxxxxDxxxxxxxxCxxxxxxBxxxxxxx
236ENDMAP
237
238NAME:   nicolae_snake_squiggles
239TAGS:   transparent extra
240NSUBST: a = x / ., p = x / ., q = x / ., D = x / ., E = x / ., F = x / .
241NSUBST: r = x / ., H = x / ., s = x / ., J = x / ., K = x / ., L = x / .
242NSUBST: M = x / ., N = x / ., O = x / ., P = x / ., Q = x / ., R = x / .
243NSUBST: S = x / ., y = x / ., z = x / ., ' = x / ., " = x / ., - = x / .
244MAP
245     .......
246    ..-x.xa..
247   .."x-.axp..
248  ..'x"...pxq..
249 ..zx'.. ..qxD..
250..yxz..   ..DxE..
251.Sxy..     ..ExF.
252.xS..       ..Fx.
253....         ....
254.xR..       ..rx.
255.RxQ..     ..Hxr.
256..QxP..   ..sxH..
257 ..PxO.. ..Jxs..
258  ..OxN...KxJ..
259   ..NxM.LxK..
260    ..Mx.xL..
261     .......
262ENDMAP
263
264NAME:  nicolae_large_snake_swirl
265TAGS:  transparent
266: if you.depth() == 1 then
267SUBST: s = ]})
268: elseif you.depth() == dgn.br_depth(you.branch()) then
269SUBST: s = [{(
270: else
271SUBST: s = ]})[{(
272: end
273MAP
274xxxxxxxxxxx
275@.........xxx
276............xx
277.............xx
278..............x@......@x
279..............xx.......x
280...............x.......x
281...............x.......x
282.....xxxxx.....x......xx
283...xxx.........x......x
284..xx...........x......x
285.xx...........xx.....xx
286@x....xxxx....x......x
287xx...xx......xx.....xx
288x....x..s...xx.....xx
289x....xx...xxx.....xx
290x.....xxxxx......xx
291x...............xx
292x.............xxx
293xx.........xxxx
294 x.....xxxxx
295 xx......@
296  xx......
297   xxx...@
298     xxxxx
299ENDMAP
300
301NAME:  nicolae_coiled_stairwell_down
302TAGS:  uniq_coiled_stairwell
303DEPTH: Snake, !Snake:$
304SUBST: } = }])>
305MAP
306  xxxxxxx
307 xx.....xx
308xx.xxxxx.xx
309x.xx...xx.x
310x.x.xxx.x.x
311x.x.x}x.x.x
312x.xx..x.x.x
313xx.xxxx.x.x
314 xx....xx.x
315  xxxxxx.xx
316    x...xx
317   xx.xxx
318   x.0.x
319   x...x
320   xx@xx
321ENDMAP
322
323NAME:  nicolae_coiled_stairwell_up
324TAGS:  uniq_coiled_stairwell
325DEPTH: Snake:2-
326SUBST: { = {[(<
327MAP
328  xxxxxxx
329 xx.....xx
330xx.xxxxx.xx
331x.xx...xx.x
332x.x.xxx.x.x
333x.x.x{x.x.x
334x.xx..x.x.x
335xx.xxxx.x.x
336 xx....xx.x
337  xxxxxx.xx
338    x...xx
339   xx.xxx
340   x.0.x
341   x...x
342   xx@xx
343ENDMAP
344
345NAME:   nicolae_snake_nest
346TAGS:   transparent
347ORIENT: float
348MAP
349         .........
350    ......xx..xxx..
351  ...xxxxxx..xx.xx..
352.....x......xx...xx..
353.xx..xx...............
354..xx....xxxx..xxxx..x..
355 ..x..xxx..x.....xx.xx..
356 ..x..x....xx.x...x..x...
357 ..x....xx....xx..x..xxx.
358 .xx.xx.x......x.xx....x.
359 .x..x..x..xxxxx.x.....x.
360 .x..x..x.xx........x.xx.
361 ....x..x....x..xxx.x....
362 .xx.xx.xx...x.xx.x.xxx..
363 .x...x..xxx.x....x...x.
364 .xx..xx.....x....x.x.x.
365 ..x...x.x...x..xxx.xxx.
366  .xx....xxxxx..........
367  ..x...........x..xx..
368   .x.xxx...xxx.x..x..
369   .x...xxxxx...x..x.
370   .............xxxx.
371     ..xx..xxxx......
372      ..xxxx..x.
373       .........
374ENDMAP
375
376NAME:  nicolae_snake_serpentine_hallways
377TAGS:  transparent extra
378MAP
379        x@@@@xxxxx
380        x........xxx
381       xxx.........xx
382    xxxxxxxx........x
383xxxxxxxxxxxxxxxx....xx
384@..............xx....x
385@...............xx...x
386xxxxxxxxxxx......x...x
387xxxxx.....xxx...xx...x
388xxx.........xx.xx....x
389xx...........x+x....xx
390xx....x+x...........xx
391x....xx.xx.........xxx
392x...xx...xxx.....xxxxx
393x...x......xxxxxxxxxxx
394x...xx...............@
395x....xx..............@
396xx....xxxxxxxxxxxxxxxx
397 x........xxxxxxxx
398 xx.........xxx
399  xxx........x
400    xxxxx@@@@x
401ENDMAP
402
403NAME:  nicolae_snake_linked_coils
404TAGS:  transparent extra
405SUBST: + : +x
406MAP
407    xxxxxxxxxxxxxx
408  xxx.....xxx....xxx
409 xx.........+x.....xx
410xx...xxxxx...xxxx...xx
411@...xxxx.+xx..xxxx...@
412@..xxxxx..xx..xxxxx..@
413xxxxxxx..xxxx..xxxxxxx
414xxxxxxx..xxxx..xxxxxxx
415xxxxxxx..xxxx..xxxxxxx
416xxxxxxx..xxxx..xxxxxxx
417xxxxxxx..xxxx..xxxxxxx
418@..xxxxx..xx..xxxxx..@
419@...xxxx...x+.xxxx...@
420xx...xxxx...xxxxx...xx
421 xx.....x+.........xx
422  xxx....xxx.....xxx
423    xxxxxxxxxxxxxx
424ENDMAP
425
426NAME: nicolae_snake_single_loop
427TAGS: transparent extra
428MAP
429 xxxxxxx
430xx.....xx
431x.......xx
432@...x...xxx
433@..xxx..xxxx
434xxxxxx..xxxxx
435xx...+..+...xx
436x....+..+....x
437x...xx..xx...x
438x..xxx..xxx..x
439x...x...xx...x
440x.......x....x
441xx.....xx...xx
442 xxxxxxxx@@xx
443ENDMAP
444
445NAME:    nicolae_snake_double_loop
446TAGS:    transparent extra
447SHUFFLE: AB, CD
448SUBST:   AC = ., BD = +
449MAP
450 xxxxxxx    xxxxxxx
451xx.....xxxxxx.....xx
452x.......xxxx.......x
453@...x...xxxx...x...x
454@..xxx..xxxx..xxx..x
455xxxxxxBBxxxxCCxxx..x
456xx...A..A..D..D....x
457x....A..A..D..D...xx
458x...xxBBxxxxCCxxxxxx
459x..xxx..xxxx..xxx..@
460x...x...xxxx...x...@
461x.......xxxx.......x
462xx.....xxxxxx.....xx
463 xxxxxxx    xxxxxxx
464ENDMAP
465
466NAME:    nicolae_snake_round_shape_thing
467TAGS:    transparent extra
468SHUFFLE: bc
469SUBST:   a : x., b : x@, c : @
470MAP
471       xxbbbxx
472     xxx.....xxx
473    xx.........xx
474    x...........x
475   xx....xxx....xx
476   x....xxxxx....x
477   x...xxxxxxx...x
478   x...xxxxxxx...x
479  xx...xxxxxxx...xx
480 xx.....xxxxx.....xx
481xx.......xxx.......xx
482c....a.........a....c
483c...aaa.......aaa...c
484c....a.........a....c
485xx.......xxx.......xx
486 xx.....xxxxx.....xx
487  xx...xxxxxxx...xx
488   x...xxxxxxx...x
489   x...xxxxxxx...x
490   x....xxxxx....x
491   xx....xxx....xx
492    x...........x
493    xx.........xx
494     xxx.....xxx
495       xxbbbxx
496ENDMAP
497
498NAME:  nicolae_snake_biting_tails
499TAGS:  transparent extra
500SUBST: G : GT
501MAP
502xxxxx     xxxxxxx     xxxxxxx     xxxxxxx
503@...xxxxxxx.....xxx xxx.....xxx xxx.....xxxxxxxx
504xx....xx..........xxx.........xxx.........xx...x
505 xxx.x......xxx....x....xxx....x....xxx..x.....x
506   xx.G....xxxxxx.x...xxxxxxx.x...xxxxxxx.G....x
507   xx.....xxxxxxxx...xxxxxxxxx...xxxxxxxx.....xx
508   x....G.xxxxxxx...x.xxxxxxx...x.xxxxxx....G.xx
509   x.....x..xxx....x....xxx....x....xxx......x.xxx
510   x...xx.........xxx.........xxx..........xx....xx
511   xxxxxxxx.....xxx xxx.....xxx xxx.....xxxxxxx...@
512          xxxxxxx     xxxxxxx     xxxxxxx     xxxxx
513ENDMAP
514
515NAME:    nicolae_snake_serpentine_bazaar
516TAGS:    no_pool_fixup transparent
517KFEAT:   a = weapon shop
518KFEAT:   p = armour shop
519KFEAT:   q = antiques shop
520KFEAT:   r = jewellery shop
521KFEAT:   s = distillery shop
522KFEAT:   y = scroll shop
523KFEAT:   z = general shop
524KFEAT:   - = abandoned_shop
525# Odds of X non-abandoned shops: 3 = 3/8 ; 4 = 3/8 ; 5 = 3/16 ; 6 = 1/16
526SHUFFLE: DEF
527SUBST:   F : FSSS, S : GGGtTU, Z : GGGtTU
528NSUBST:  DEF = a / p / q / r / s / y
529SHUFFLE: apqrsyz-
530MAP
531    ............
532    ..xxxxxxxx..
533    .xxxxxxxxxx.
534    ........Zxx.
535.............xx.....
536..xxxxxxxx...xxxxx..
537.xxxxxxxxxx...xxxxx.
538.xxF....Dxx.....Exx.
539.xx......x.......xx.
540.xx..ww......ww..xx.
541.xx..ww......ww..xx.
542.xx.......x......xx.
543.xxE.....xxD....Fxx.
544.xxxxx...xxxxxxxxxx.
545..xxxxx...xxxxxxxx..
546.....xx.............
547    .xxZ........
548    .xxxxxxxxxx.
549    ..xxxxxxxx..
550    ............
551ENDMAP
552
553NAME:  nicolae_snake_slithery_corners
554TAGS:  extra transparent
555SUBST: D : TGG., E : TGG., F : TGG.
556MAP
557     ccc
558c@@@ccccc@@@cc
559c...ccccc...cccc
560c...ccccc...ccccc
561c....ccc....cccccc
562cc....c....ccccccc
563ccc...c...ccccccccc
564ccc..DcF..ccccccccc
565ccc...c...ccccc...@
566cc....c....ccc....@
567c....ccc..........@
568c...cccc........ccc
569cE..cccccc..F..ccccc
570c...cccccccccccccccc
571c....ccccc..D..ccccc
572cc....ccc.......ccc
573 c................@
574 cc........ccc....@
575  ccc..E..ccccc...@
576    ccccccccccccccc
577ENDMAP
578
579NAME:  nicolae_snake_slithery_hallway
580TAGS:  extra transparent
581SUBST: D : TGG., E : TGG., F : TGG.
582MAP
583  cccccccccccccccccccccccccccccccccc
584 cc..F..ccccc..D..ccccc..E..ccccc..@
585cc.......ccc.......ccc.......ccc...@
586@..................................@
587@...ccc.......ccc.......ccc.......cc
588@..ccccc..E..ccccc..D..ccccc..F..cc
589cccccccccccccccccccccccccccccccccc
590ENDMAP
591
592NAME:   nicolae_snake_snake_lake
593TAGS:   extra transparent
594KMONS:  1 = plant
595KFEAT:  1 = . w:40 / W
596NSUBST: t = . / t
597SUBST:  ' = 1 W .:60, t = t:80 1 . W:5
598MAP
599         .......   .......   .......
600        .............................
601    .....ttttttt...ttttttt...ttttttt..
602   .....tt'''''tt.tt'''''tt.tt'''''tt..
603  ..ttttt'''''''ttt'''''''ttt'''''''tt..
604 ..tt'''''wwwww'''''wwwww'''''wwww'''t..
605..tt'''''wwwwwww'''wwwwwww'''wwwwww''t..
606..t'''wwwwwwwwwwwwwwwwwwwwwwwwwwwww''t..
607..t''wwwwwwwwwwwwwwwwwwwwwwwwwwwww'''t..
608..t''wwwwww'''wwwwwww'''wwwwwww'''''tt..
609..t'''wwww''''.wwwww'''''wwwww'''''tt..
610..tt'''''''ttt'''''''ttt'''''''ttttt..
611 ..tt'''''tt.tt'''''tt.tt'''''tt.....
612  ..ttttttt...ttttttt...ttttttt.....
613   .............................
614    .......   .......   .......
615ENDMAP
616
617# Although sometimes it's not a hallway.
618NAME:  nicolae_snake_yet_another_twisty_hallway
619TAGS:  extra transparent
620: if crawl.one_chance_in(5) then
621SUBST: x = -, . = x, @- = .
622: end
623SUBST: x : x:50 c:30 b, ' = .
624MAP
625xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
626@'........xxx.....xxx...........xx
627@..........x.......x.............x
628xxxxxxxxx..x..xxx..x..xxxxxxxxx..x
629xx....xxx..x..xxx..x..xx....xxx..x
630x......xx..x..xx...x..x......xx..x
631x..xx......x..x...xx..x..xx......x
632x..xxx....xx..x..xxx..x..xxx....xx
633x..xxxxxxxxx..x..xxx..x..xxxxxxxxx
634x.............x.......x..........@
635xx...........xxx.....xxx........'@
636xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
637ENDMAP
638
639################################################################################
640# Gridmaze is a series of decor vaults inspired by the layout_grid_maze variant
641# that have two-block-thick walls with rounded corners. The cleared notches
642# around the outside edge give opportunities to connect up with the walls in
643# the rest of the level.
644
645NAME:    nicolae_snake_gridmaze_big_u
646TAGS:    extra transparent
647SHUFFLE: DEFHJ, KL/MN, KL, OPQRSZ, apqrsy, z-
648SUBST:   DEFHKMz = x, JLNPQRSZpqrsy- = ., Oa = _
649CLEAR:   _
650MAP
651.....OO..........yy.....
652..xxxxxxxx----xxxxxxxx..
653.xxxxxxxxxx--xxxxxxxxxx.
654.xx......zz..zz......xx.
655.xx......zz..zz......xx.
656Pxx...x..zx--xxxxx...xxs
657Pxx..xx..xx---xxxxx..xxs
658.xx..xx..xx......xx..xx.
659.xx..xx..xx......xx..xx.
660.xx..xxLLxx..xNNNxx..xx.
661.xx..KxLLxK..MxNNxM..xx.
662Qxx..KK..KK..MM..MM..xxr
663Qxx..KK..KK..MM..MM..xxr
664.xx..KxLLxxxxxxNNxM..xx.
665.xx..xxLLLxxxxNNNxx..xx.
666.xx..xx..........xx..xx.
667.xx..xx..........xx..xx.
668Rxx..xxxxxxxxxxxxxx..xxq
669Rxx...xxxxxxxxxxxx...xxq
670.xx..................xx.
671.xx..................xx.
672.xxJJJHHHHFFFFEEEEDDDxx.
673..xJJxxHHxxFFxxEExxDDx..
674.....SS..ZZ..aa..pp.....
675ENDMAP
676
677NAME:    nicolae_snake_gridmaze_entwining
678TAGS:    extra transparent
679SHUFFLE: DE/FH, DE, JK, LM, NOPQRSZap
680SUBST:   HDJL = x, FEKMOPQRSZap = ., N = _
681CLEAR:   _
682MAP
683...PP..QQ..RR..SS..ZZ...
684..xxxxxxxxxxxxxxxxxxxx..
685.xxxxxxxxxxxxxxxxxxxxxx.
686Oxx..................xxa
687Oxx..................xxa
688.xx...xxxxDDDDxxxxL..xx.
689.xx..xxxxxxDDxxxxxM..xx.
690Nxx..xx..EE..EE..MM..xxp
691Nxx..xx..EE..EE..MM..xxp
692.xxxxxx..ExDDxE..MxLLxx.
693..xxxx...xxDDxx..xLLLLM.
694.........xx..xx.........
695.........xx..xx.........
696.KJJJJx..xxFFxx...xxxx..
697.xxJJxK..HxFFxH..xxxxxx.
698pxx..KK..HH..HH..xx..xxN
699pxx..KK..HH..HH..xx..xxN
700.xx..KxxxxxFFxxxxxx..xx.
701.xx..JxxxxFFFFxxxx...xx.
702axx..................xxO
703axx..................xxO
704.xxxxxxxxxxxxxxxxxxxxxx.
705..xxxxxxxxxxxxxxxxxxxx..
706...ZZ..SS..RR..QQ..PP...
707ENDMAP
708
709NAME:    nicolae_snake_gridmaze_spiral
710TAGS:    extra transparent
711SHUFFLE: DE/FH/JK/LM/pq, DE, NO, PQRSZa
712SUBST:   DFJLNp = x, EHKMOQRSZaq = ., P = _
713CLEAR:   _
714MAP
715.................PP.....
716.qxqqqxxxxLLLLxxxxxxxx..
717.pxqqxxxxxxLLxxxxxxxxxx.
718.pp..pp..MM..MM......xx.
719.pp..pp..MM..MM......xx.
720.pxqqxp..MxLLxxxxx...xxQ
721.xxqqxx..xxLLLxxxxx..xxQ
722.xx..xx..xx......xx..xx.
723.xx..xx..xx......xx..xx.
724.xxEExx..xxOOON..xxKKxx.
725.DxEExD..NxOOxx..JxKKxJ.
726.DD..DD..NN..xx..JJ..JJ.
727.DD..DD..NN..xx..JJ..JJ.
728.DxEExD..Nxxxxx..JxKKxJ.
729.xxEExx..Oxxxx...xxKKxx.
730.xx..xx..........xx..xx.
731.xx..xx..........xx..xx.
732axx..xxxxxFFFFxxxxx..xxR
733axx...xxxxxFFxxxxx...xxR
734.xx......HH..HH......xx.
735.xx......HH..HH......xx.
736.xxxxxxxxxxFFxxxxxxxxxx.
737..xxxxxxxxFFFFxxxxxxxx..
738.....ZZ..........SS.....
739ENDMAP
740
741NAME:    nicolae_snake_gridmaze_squiggle
742TAGS:    extra transparent
743: if crawl.one_chance_in(3) then
744SUBST:   DHK = x, EFJ = .
745: elseif crawl.coinflip() then
746SUBST:   EHJ = x, DFK = .
747: else
748SUBST:   FJK = x, DEH = .
749: end
750SHUFFLE: LMNOPQRSZ
751SUBST:   L = _, MNOPQRSZ = .
752CLEAR:   _
753MAP
754...NN......OO......PP...
755..xxxx....xxxx....xxxx..
756.xxxxxx..xxxxxx..xxxxxx.
757Mxx..xx..xx..xx..xx..xxQ
758Mxx..xx..xx..xx..xx..xxQ
759.xx..xxxxxx..xxxxxx..xx.
760.xx...xxxx....xxxx...xx.
761Lxx..................xxR
762Lxx..................xxR
763.xxx...EKKKKH...xxxxxxx.
764..xxx..xxKKxJ..xxxxxxx..
765.......HH..JJ..xx.......
766.......HH..JJ..xx.......
767..xxxxxxx..Jxxxxx..xxx..
768.xxxxxxx...Dxxxx....xxx.
769Rxx..................xxL
770Rxx..................xxL
771.xx...xxxx....xxxx...xx.
772.xx..xxxxxx..xxxxxx..xx.
773Qxx..xx..xx..xx..xx..xxM
774Qxx..xx..xx..xx..xx..xxM
775.xxxxxx..xxxxxx..xxxxxx.
776..xxxx....xxxx....xxxx..
777...PP......OO......NN...
778ENDMAP
779
780NAME:    nicolae_snake_gridmaze_swirls
781TAGS:    extra transparent
782SHUFFLE: DE, FH, JKLMNO
783SUBST:   DF = x, EHKLMNO = ., J = _
784CLEAR:   _
785MAP
786...NN..............MM...
787..xxxxxxxx...xxxxxxxxx..
788.xxxxxxxxxx...xxxxxxxxx.
789Oxx......xx..........xxL
790Oxx......xx..........xxL
791.xxxxx...xxHHHxxxx...xx.
792..xxxxx..FxHHxxxxxx..xx.
793.....xx..FF......xx..xxK
794.....xx..FF......xx..xxK
795..xxxxx..Fxxxxxxxxx..xx.
796.xxxxx...Hxxxxxxxx...xx.
797Jxx..................xxJ
798Jxx..................xxJ
799.xx...xxxxxxxxE...xxxxx.
800.xx..xxxxxxxxxD..xxxxx..
801Kxx..xx......DD..xx.....
802Kxx..xx......DD..xx.....
803.xx..xxxxxxEExD..xxxxx..
804.xx...xxxxEEExx...xxxxx.
805Lxx..........xx......xxO
806Lxx..........xx......xxO
807.xxxxxxxxx...xxxxxxxxxx.
808..xxxxxxxxx...xxxxxxxx..
809...MM..............NN...
810ENDMAP
811
812NAME:    nicolae_snake_gridmaze_tees
813TAGS:    extra transparent
814SHUFFLE: DE/FH/JK/LM, DE, FH, JK, NOPQRSZ
815SUBST:   DFJL = x, EHKMOPQRSZ = ., N = _
816CLEAR:   _
817MAP
818...RR......QQ......PP...
819..xxxxxxxxxxxxxMMMxxxx..
820.xxxxxxxxxxxxxMMMxxxxxx.
821Sxx..............LL..xxO
822Sxx..............LL..xxO
823.xxxxx....xxxxxxxxL..xx.
824..xxxxx..xxxxxxxxxM..xx.
825.....xx..xx..........xxN
826.....xx..xx..........xxN
827.DEEExx..xxxxxxxxxH..xx.
828.xxEExD...xxxxxxxxF..xx.
829Zxx..DD..........FF..xxZ
830Zxx..DD..........FF..xxZ
831.xx..Dxxxxxxxx...FxHHxx.
832.xx..Exxxxxxxxx..xxHHHF.
833Nxx..........xx..xx.....
834Nxx..........xx..xx.....
835.xx..Kxxxxxxxxx..xxxxx..
836.xx..Jxxxxxxxx....xxxxx.
837Oxx..JJ..............xxS
838Oxx..JJ..............xxS
839.xxxxxxKKKxxxxxxxxxxxxx.
840..xxxxKKKxxxxxxxxxxxxx..
841...PP......QQ......RR...
842ENDMAP
843
844NAME:    nicolae_snake_gridmaze_waves
845TAGS:    extra transparent
846SHUFFLE: DE, FH, JKLMNOPQ
847SUBST:   DF = x, EHKLMNOPQ = ., J = _
848CLEAR:   _
849MAP
850...NN......OO......PP...
851..xxxxH...xxxx....xxxx..
852.xxxxxF..xxxxxx..xxxxxx.
853.xx..FF..xx..xx..xx..xx.
854.xx..FF..xx..xx..xx..xx.
855.xxHHxxxxxx..xxxxxx..xx.
856.FHHHHxxxx....xxxx...xx.
857.....................xxQ
858.....................xxQ
859..xxxxx.....xxxxx....xx.
860.xxxxxxx...xxxxxxx...xx.
861.xx...xx...xx...xx...xx.
862.xx...xx...xx...xx...xx.
863.xx...xxxxxxx...xxDDDxx.
864.xx....xxxxx....EDDDDxE.
865Mxx..................EE.
866Mxx..................EE.
867.xx...xxxx....xxxx...Ex.
868.xx..xxxxxx..xxxxxx..xx.
869.xx..xx..xx..xx..xx..xx.
870.xx..xx..xx..xx..xx..xx.
871.xxxxxx..xxxxxx..xxxxxx.
872..xxxx....xxxx....xxxx..
873...LL......KK......JJ...
874ENDMAP
875
876NAME:    nicolae_snake_gridmaze_zigzag
877TAGS:    extra transparent
878SHUFFLE: DE, FH, JK, LMNOP
879SUBST:   DFJ = x, EHKMNOP = ., L = _
880CLEAR:   _
881MAP
882.....LL..........MM.....
883..xxxxxxxx....xxxxxxxx..
884.xxxxxxxxxx..xxxxxxxxxx.
885Pxx......xx..xx......xxN
886Pxx......xx..xx......xxN
887.xxHHxH..xxxxxx...xxxxx.
888.FxHHxF...xxxx...xxxxx..
889.FF..FF..........xx.....
890.FF..FF..........xx.....
891.FxHHxxxxxKKKKxxxxx...xO
892.xxHHHxxxxxKKxxxxx...xxO
893.xx......JJ..JJ......xx.
894.xx......JJ..JJ......xx.
895Oxx...xxxxxKKxxxxxEEExx.
896Ox...xxxxxKKKKxxxxxEExD.
897.....xx..........DD..DD.
898.....xx..........DD..DD.
899..xxxxx...xxxx...DxEExD.
900.xxxxx...xxxxxx..ExEExx.
901Nxx......xx..xx......xxP
902Nxx......xx..xx......xxP
903.xxxxxxxxxx..xxxxxxxxxx.
904..xxxxxxxx....xxxxxxxx..
905.....MM..........LL.....
906ENDMAP
907
908###############################################################################
909#
910# <<3>> Monster-placing vaults.
911#
912###############################################################################
913
914NAME:   minmay_snake_pond
915TAGS:   transparent no_monster_gen
916KMONS:  1 = black mamba w:20 / mana viper w:5 / shock serpent w:5
917KMONS:  2 = anaconda / sea snake
918KFEAT:  1 = W
919KFEAT:  2 = w
920SUBST:  W = WWW1, w = wwwwwWWWW2
921MAP
922  wwww
923 WwwWww
924wwWWwwWw
925wWwwWWww
926wWwwwwWw
927wwwWwWww
928 wWwWww
929  wwww
930ENDMAP
931
932NAME:   minmay_snake_river
933TAGS:   no_monster_gen generate_awake
934ORIENT: south
935KITEM:  2 = * / nothing
936KITEM:  3 = |
937KMONS:  1 = sea snake / anaconda / nothing w:20
938KMONS:  23 = sea snake / anaconda
939SUBST:  w = wwW
940KPROP:  12 = no_tele_into
941MAP
942xxxxxxxxxxxxxxxxxxxxxx..@..xxxxxxxxxxxxxxxxxxxx..@.xxxxxxxxxxxxxxxxxxx
943xx211xxxxxxxxxxxxxxwwwWWWWWwwwwxxxxxxxxxxxxxwwwWWWWwwxxxxxxxxxxx112xxx
944xx311wwwwxxxxxwwwwwwwwwxxxxxwwwwwwwwxxxxwwwwwwxxxxwwwwwwxxxxxxww113xxx
945xx211xwwwwwwwwwwwwxxxxxxxxxxxxxwwwwwwwwwwwwxxxxxxxxxxxwwwwwwwwwx112xxx
946xxxxxxxxxxwwwwwxxxxxxxxxxxxxxxxxxxwwwwwwwxxxxxxxxxxxxxxxxwwwwxxxxxxxxx
947xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
948ENDMAP
949
950NAME:   hangedman_venom_bottle
951TAGS:   patrolling transparent
952WEIGHT: 5
953KMONS:  123 = black mamba / nothing
954KMONS:  4 = guardian serpent
955KMONS:  5 = naga mage / nothing
956KITEM:  1235 = potion of degeneration w:30 ident:type / nothing w:20
957KITEM:  4 = any weapon good_item ego:venom q:1 / \
958            any weapon good_item ego:venom q:2
959KFEAT:  1234 = shallow_water
960KMASK:  123 = no_monster_gen
961COLOUR: 1234 = lightgreen
962SUBST:  1 = 1 2:1 3:1
963MARKER: 2 = lua:fog_machine { cloud_type = "poison gas", pow_min = 5, \
964                pow_max = 30, delay = 30, size = 2, walk_dist = 2 }
965MARKER: 3 = lua:fog_machine { cloud_type = "noxious fumes", pow_min = 5, \
966                pow_max = 20, delay = 40, size = 3 }
967MAP
968     ...
969    .....
970   ..+++..
971  ..m+2+m..
972  ..mm1mm..
973 ..mm111mm..
974..mm11111mm..
975..mm11111mm..
976..mm11411mm..
977..mm11111mm..
978..mmm111mmm..
979 ..mmmmmmm..
980  ....5....
981   .......
982ENDMAP
983
984NAME:   nicolae_snake_lava_pool
985TAGS:   transparent no_monster_gen
986SUBST:  L = l1, 1 = 1....
987MONS:   black mamba w:30 / anaconda / mana viper / shock serpent w:5
988KMONS:  l = salamander w:30 / salamander mystic / salamander tyrant w:5 \
989        / nothing w:400
990KFEAT:  l = lava
991MAP
992    .......
993  ...........
994 .............
995 .....111.....
996.....1LLL1.....
997....1LlllL1....
998...1LlllllL1...
999...1LlllllL1...
1000...1LlllllL1...
1001....1LlllL1....
1002.....1LLL1.....
1003 .....111.....
1004 .............
1005  ...........
1006    .......
1007ENDMAP
1008
1009NAME:   nicolae_snake_springs
1010TAGS:   transparent no_monster_gen
1011SUBST:  W = w1, 1 = 1....
1012MONS:   black mamba w:30 / anaconda / mana viper / shock serpent w:5
1013KMONS:  w = sea snake / nothing w:90
1014KFEAT:  w = deep_water
1015MAP
1016    .......
1017  ...........
1018 .............
1019 .....111.....
1020.....1WWW1.....
1021....1WwwwW1....
1022...1WwwwwwW1...
1023...1WwwwwwW1...
1024...1WwwwwwW1...
1025....1WwwwW1....
1026.....1WWW1.....
1027 .....111.....
1028 .............
1029  ...........
1030    .......
1031ENDMAP
1032
1033NAME:    nicolae_sea_snake_s
1034TAGS:    no_monster_gen
1035DEPTH:   Snake:2-, !Snake:$
1036ORIENT:  float
1037MONS:    naga mage, naga
1038KMONS:   q = w:15 sea snake / w:5 nothing
1039KFEAT:   q = w
1040SHUFFLE: {[(
1041SHUFFLE: (<
1042MAP
1043xxxwwwwwwwxxxxxx
1044@..wwwqwww.....xx
1045@...wwwww.......xx
1046@....wqw.........x
1047x..2.www....x....x
1048xx...wqw...xxx...x
1049 x...www...xxx...x
1050 x.2.wqw...xxx...x
1051 x...www...xxx...x
1052 x...wqw...xxx...x
1053 x.2.www...xxx...x
1054 x....w....xxx...x
1055 x.........xxx{.[x
1056 xx...1...xxxx...x
1057  xx.....xx  xx(xx
1058   xxxxxxx    xxx
1059ENDMAP
1060
1061NAME:  nicolae_snake_horde_hoard
1062TAGS:  no_monster_gen
1063KITEM: s = $ / nothing w:25 / * w:1
1064KMONS: s = black mamba w:35 / anaconda / mana viper / shock serpent \
1065           / sea snake w:5 / nothing w:100
1066MAP
1067 xxxxxxx
1068xxsssssxxxxxx
1069xssssssss=..@
1070xssssssss=.0@
1071xssssssss=..@
1072xxsssssxxxxxx
1073 xxxxxxx
1074ENDMAP
1075
1076NAME:    nicolae_cobra_stairs
1077TAGS:    no_pool_fixup patrolling
1078DEPTH:   Snake:2-, !Snake:$
1079ORIENT:  float
1080MONS:    guardian serpent, nagaraja, naga mage, naga warrior
1081SHUFFLE: }])
1082SUBST:   ) = >>)
1083MAP
1084       xxxxxxxx
1085     xxx......xx
1086   xxx..4.www.2xx
1087xxxx.9....w3w...x
1088@.....wwwwwWw...xx
1089@..0.ww.....1...}x
1090@..0.W.4.4.3.2..]x
1091@..0.ww.....1...)x
1092@.....wwwwwWw...xx
1093xxxx.9....w3w...x
1094   xxx..4.www.2xx
1095     xxx......xx
1096       xxxxxxxx
1097ENDMAP
1098
1099NAME:   nicolae_snake_hallway
1100ORIENT: float
1101MONS:   naga, naga warrior
1102MONS:   naga mage w:25 / nagaraja w:5
1103SUBST:  A : @xx
1104SUBST:  B : @xx
1105SUBST:  C : @xx
1106SUBST:  T : TTTVVUY
1107MAP
1108             xxxxxx
1109           xxx.G.GxxxxxAAxx
1110xxx      xxx.G..1..Gxx.1..xxx
1111@Gxxx  xxx.G....1....G...T..xx
1112@..Gxxxx.G.2...G.G.....3...1.C
1113@..1.G.G.3.2.Gxxxx.G...3...1.C
1114@G.1...2.3.Gxxx  xxx.G...T..xx
1115xx.G...2.Gxxx      xxx.1..xxx
1116 xxx.G.Gxxx          xxBBxx
1117   xxxxxx
1118ENDMAP
1119
1120# The disgraced guardian serpent Aizul has been
1121# demoted to watching the stairs.
1122NAME:    nicolae_aizul_guard
1123TAGS:    no_rotate no_hmirror no_vmirror transparent
1124DEPTH:   Snake:2-, !Snake:$
1125ORIENT:  float
1126: if you.absdepth() > 14 then
1127KMONS:   D = patrolling Aizul, patrolling nagaraja
1128KMONS:   E = guardian serpent / nagaraja
1129: else
1130KMONS:   D = patrolling Aizul, patrolling guardian serpent
1131KMONS:   E = naga mage / guardian serpent
1132: end
1133SHUFFLE: ]})>
1134SUBST:   ) = )>
1135NSUBST:  E = D / E
1136MAP
1137 xxx.@.xxx
1138xx.E...E.xx
1139x.........x
1140xE.......Ex
1141....].>....
1142@.........@
1143....).}....
1144xE.......Ex
1145x.........x
1146xx.E...E.xx
1147 xxx.@.xxx
1148ENDMAP
1149
1150NAME:   nicolae_snake_shapes
1151TAGS:   no_pool_fixup transparent
1152NSUBST: 0 = 2=9 / 1=8 / 0
1153SUBST:  x : xcvmlwWb
1154MAP
1155      .....
1156   ...........
1157 ......xxx......
1158 .......0x.......
1159...xxx..xx..xxx...
1160....0x..x0...0x...
1161....xx..xxx..xx....
1162 ...x0...0x..x0....
1163 ...xxx..xx..xxx...
1164  .......x0.......
1165   ......xxx......
1166     ...........
1167        .....
1168ENDMAP
1169
1170NAME:   nicolae_snakescales
1171ORIENT: float
1172SUBST:  0 = 0., 9 = 9., 8 = 8.
1173MAP
1174        xxx       xxx       xxx
1175       x...x     x...x     x...x
1176      x.....x   x.....x   x.....x
1177   xxx...0...xxx...9...xxx...0...xxx
1178  x...x.....x...x.....x...x.....x...x
1179 x.....x...x.....x...x.....x...x.....x
1180x...0...xxx...9...xxx...9...xxx...0..x
1181 x.....x...x.....x...x.....x...x.....x
1182  x...x.....x...x.....x...x.....x...x
1183   xxx...0...xxx...8...xxx...0...xxx
1184  x...x.....x...x.....x...x.....x...x
1185 x.....x...x.....x...x.....x...x.....x
1186x...0...xxx...9...xxx...9...xxx...0..x
1187 x.....x...x.....x...x.....x...x.....x
1188  x...x.....x...x.....x...x.....x...x
1189   xxx...0...xxx...8...xxx...0...xxx
1190  x...x.....x...x.....x...x.....x...x
1191 x.....x...x.....x...x.....x...x.....x
1192x...0...xxx...9...xxx...9...xxx...0..x
1193 x.....x...x.....x...x.....x...x.....x
1194  x...x.....x...x.....x...x.....x...x
1195   xxx...0...xxx...9...xxx...0...xx
1196      x.....x   x.....x   x.....x
1197       x...x     x...x     x...x
1198        xxx       xxx       xxx
1199ENDMAP
1200
1201NAME:    guppyfry_snake_island
1202TAGS:    transparent
1203MONS:    plant
1204SUBST:   . = . W:1 1:1, - = . W:3 0:1 ~:1 %:1
1205SHUFFLE: 0~
1206SUBST:   ~ = .
1207MAP
1208@.WWWWWWWW.@
1209.WWW.....WW.
1210WWW--WW-00WW
1211WW..WWWW..WW
1212WWW--WWWW~WW
1213WWWW..WWWWWW
1214WWWWW--WWWWW
1215W~WWWW..WWWW
1216W--WWWW--WWW
1217WW..WW..WWWW
1218.WW----WWWW.
1219@.WWWWWWWW.@
1220ENDMAP
1221
1222####
1223
1224NAME:    hangedman_snake_corridor_cut
1225TAGS:    no_monster_gen transparent
1226MONS:    naga, patrolling naga mage
1227MONS:    anaconda / mana viper / shock serpent w:5, patrolling guardian serpent
1228MONS:    patrolling black mamba
1229SHUFFLE: hH / hH / hH, iI / iI / Ii, jJ / jJ / Jj, kK / kK / Kk
1230SHUFFLE: 1234 / 1234 / 1212 / 3434
1231SUBST:   hi = ., H : xx., I : xx., J : xx., K : xx., % = $%
1232MAP
1233xxxxxxxxx@5@xxx
1234xccccccccc...xxx
1235xc*2%...KxJ...xxx
1236xc2*1...xxx.j..xxx
1237xc%1....JxKk....xxx
1238xcHxI.....kKxJ...xx
1239@cxxx.i1.j.xxx.j..x
12405.IxHh..%..JxKk...@
1241@...hHxI.1%..kKxJ.5
1242x..i.xxx.i3.j.xxxc@
1243xx...IxHh..%..JxKcx
1244xxx....hHxI.3....cx
1245 xxx..i.xxx.i....cx
1246  xxx...IxHh.....cx
1247   xxx....hHxI.3%cx
1248    xxx..i.xxx3*4cx
1249     xxx...IxH%4*cx
1250      xxx...ccccccx
1251       xxx@5@xxxxxx
1252ENDMAP
1253
1254NAME:    hangedman_snake_corridor_split
1255TAGS:    no_monster_gen transparent allow_dup
1256MONS:    naga, black mamba, naga warrior, anaconda, naga mage, guardian serpent
1257SUBST:   X : xxc, Y : x:33 c:66 w:1, 0 = 12
1258SHUFFLE: 34, 56, 3456 / 3456 / 3456 / 3535 / 4646 / 3636 / 4545 / 3434 / 5656
1259MAP
1260    xxxxxxx
1261   xxxxxxxxx
1262  xxxx...xxxx
1263xxxxx..X..xxxx
1264xxxx..X%X.3xxxxx
1265xx1..X%..X.4xxxx
1266xx2YY..x..X.0.xxxxxxxxx
1267x..YY.xxx..YY.xxxxxxxxx.@.
1268..X.21xxxx.*Y...xxxxxx..X@
1269@X..xxxxxx...Y*.xxxx12.X..
1270.@.xxxxxxxxx.YY..xxx.YY..x
1271   xxxxxxxxx.0.X..x..YY2xx
1272          xxxx6.X..%X..1xx
1273          xxxxx5.X%X..xxxx
1274            xxxx..X..xxxxx
1275             xxxx...xxxx
1276              xxxxxxxxx
1277              xxxxxxxx
1278ENDMAP
1279
1280NAME:    nicolae_snake_salamander_stairs
1281TAGS:    no_monster_gen
1282DEPTH:   Snake, !Snake:$
1283: if you.depth() < 2 then
1284KMONS:   1 = salamander mystic / salamander tyrant w:5
1285KMONS:   2 = salamander / salamander mystic w:1 / nothing w:80
1286: elseif you.depth() < 3 then
1287KMONS:   1 = salamander mystic / salamander tyrant
1288KMONS:   2 = salamander / salamander mystic w:2 / nothing w:50
1289: else
1290KMONS:   1 = salamander tyrant
1291KMONS:   2 = salamander / salamander mystic w:5 / nothing w:45
1292: end
1293KFEAT:   12 = l
1294SHUFFLE: ])}
1295NSUBST:  ' = 1 / l, D = 2=. / x, E = 2=. / x, F = @ / .
1296SUBST:   L = l.
1297MAP
1298 xxxxxxxxxx
1299xx2222L.D.EF
1300x.'222L.D.EF
1301x]''22L.D.EF
1302x.'222L.D.EF
1303xx2222L.D.EF
1304 xxxxxxxxxx
1305ENDMAP
1306
1307NAME:   cheibrodos_snake_lava_hold
1308TAGS:   no_item_gen no_monster_gen patrolling
1309DEPTH:  Snake, !Snake:$
1310ORIENT: float
1311KFEAT:  DEF = lava
1312KMONS:  D = salamander
1313KMONS:  E = salamander mystic
1314KMONS:  F = salamander tyrant
1315SUBST:  E = El, H = EEEF, D = Dl
1316NSUBST: ' = '''l
1317
1318MAP
1319    ccccccccccccccc
1320   ccccccccccccccccc
1321  cccEcDcDcDcDcDcDccc
1322 cccEl.............ccc
1323 ccHl..lclclc.......cc
1324cccl..lccccclc..clc..c
1325ccHl..lc*$*ccl.clllc.+@
1326ccFl....$|$Gcc.lllll.+@
1327ccHl..lc*$*ccl.clllc.+@
1328cccl..lccccclc..clc..c
1329 ccHl..lclclc.......cc
1330 cccEl.............ccc
1331  cccEcDcDcDcDcDcDccc
1332   ccccccccccccccccc
1333    ccccccccccccccc
1334ENDMAP
1335
1336NAME:   cheibrodos_snake_ritualist_ritual
1337TAGS:   no_item_gen no_monster_gen no_pool_fixup patrolling transparent
1338DEPTH:  Snake, !Snake:$
1339ORIENT: float
1340MONS:   naga mage / mana viper
1341KMONS:  - = naga ritualist
1342KITEM:  - = any good_item / any amulet
1343MAP
1344...........
1345.wwwwwwwww.
1346.w1.....1w.
1347.w.ww.ww.w.
1348.w.w...w.w.
1349@..w.-.w..@
1350.w.w...w.w.
1351.w.ww.ww.w.
1352.w1.....1w.
1353.wwwwwwwww.
1354...........
1355ENDMAP
1356
1357NAME:   cheibrodos_toxic_ritual
1358TAGS:   no_item_gen no_monster_gen transparent
1359ORIENT: float
1360MONS:   green death, naga ritualist, naga mage, naga
1361NSUBST: - = 2=2 / ., _ = 2=2 / ., ' = 3 / 2=4 / 3=34 / .
1362NSUBST: " = | / 3=* / 4=$%
1363MAP
1364.............
1365..ccc...ccc..
1366.cc"cc.cc"cc.
1367.c"""ncn"""c.
1368.c'''''''''c.
1369.c'''''''''c.
1370.c---c=c___c.
1371.c-1-n.n_1_c.
1372.ccAcc.ccAcc.
1373..ccc...ccc..
1374......@......
1375ENDMAP
1376
1377NAME:    nicolae_snake_attic_fulla_snakes
1378DEPTH:   Snake, !Snake:$
1379ORIENT:  northeast
1380KITEM:   2 = *
1381KITEM:   3 = |
1382KITEM:   4 = $
1383KMONS:   123 = anaconda / black mamba / shock serpent / mana viper / \
1384         sea snake / water moccasin
1385KMONS:   4 = guardian serpent
1386SUBST:   ' = 1 .:25
1387SHUFFLE: }])
1388MAP
1389xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1390xxxxxxxxxx'''''xxxxxxxxxxxxx.4%%*x
1391xxxxxxxx'''''''''xxxxxxxxx''.4%*|x
1392xxxxxxx'''''''''''xxxxxxx'''.4%%*x
1393xxxxx.'''''xxx''''''xxx'''''.xxxxx
1394x.....'''xxxxxxx'''''''''''xxxxxxx
1395x.}...''xxxxxxxxx'''''''''xxxxxxxx
1396x.....xxxxxxxxxxxxx'''''xxxxxxxxxx
1397xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1398ENDMAP
1399
1400
1401NAME:   nicolae_snake_boneroom
1402TAGS:   transparent
1403MONS:   naga ritualist band / naga sharpshooter band / naga warrior band \
1404        / naga mage band / nagaraja w:5
1405NSUBST: E = . / 1, F = . / 1, q = | / 2=* / 3=% / $.
1406MAP
1407xxx+xxxxxxxxxxxxxxxxxxxxxxx
1408xcc.ccccccccccccccccccccccx
1409xcc.ccc.c.c.c.c.c.c.c.c.ccx
1410xc...c...................cx
1411xcc.ccc.E.c.c..E..c.c.E.ccx
1412xc...c....ccc.....ccc....cx
1413xcc.ccc.ccc.ccc.cccqccc.ccx
1414xc...cq.qc...c...cq.qc...cx
1415xcc.ccc.ccc.c+c.ccc.ccc.ccx
1416xc...cq.qc...c...cq.qc...cx
1417xcc.cccqccc.ccc.ccc.ccc.ccx
1418xc....ccc.....ccc....c...cx
1419xcc.F.c.c..F..c.c.F.ccc.ccx
1420xc...................c...cx
1421xcc.c.c.c.c.c.c.c.c.ccc.ccx
1422xcccccccccccccccccccccc.ccx
1423xxxxxxxxxxxxxxxxxxxxxxx+xxx
1424ENDMAP
1425
1426NAME:   nicolae_snake_bzzzt
1427KMONS:  1 = electric eel
1428KMONS:  2 = shock serpent
1429KFEAT:  1 = w
1430SUBST:  S = w', E = x'
1431NSUBST: w = 2=1 / 4=1www / w, ' = 2=2 / 4=2... / .
1432MAP
1433   xxxxxxx
1434  xxwwwwwxx
1435 xxwwSSSwwxx
1436xxwwSS'SSwwxx
1437xwwSS'''SSSwx
1438@..''EEE''Swx
1439@..''EEE''Swx
1440xwwSS'''SSSwx
1441xxwwSS'SSwwxx
1442 xxwwSSSwwxx
1443  xxwwwwwxx
1444   xxxxxxx
1445ENDMAP
1446
1447NAME: nicolae_snake_coiling_death
1448TAGS: transparent
1449MONS: naga sharpshooter band
1450MONS: naga warrior band / naga mage band / naga ritualist band
1451MAP
1452       cccc  cccc  cccc
1453      cc..cccc..cccc..cc
1454    ..c....cc....cc....c
1455   ..c.....c.....c.....c.
1456  ..c.....c.....c.....c..
1457@..c..2..c..1..c..2..c..@
1458..c.....c.....c.....c..
1459.c.....c.....c.....c..
1460 c....cc....cc....c..
1461 cc..cccc..cccc..cc
1462  cccc  cccc  cccc
1463ENDMAP
1464
1465NAME:    nicolae_snake_crotalidae_crossing
1466TAGS:    transparent
1467ORIENT:  float
1468KMONS:   0 = 0 / 0 band
1469: if you.depth() == 1 then
1470SUBST:   S = )}]
1471: elseif you.depth_fraction() < 1 then
1472SUBST:   S = (){}[]
1473: else
1474SUBST:   S = ({[
1475: end
1476SHUFFLE: DE
1477SUBST:   D = c, E = ., 0 = 00.
1478MAP
1479@.0.cc                 cc.0.@
1480.....cc               cc.....
14810.cE..cc             cc..cc.0
1482..cE...cc           cc..DEE..
1483c..DcE..cc         cc...c...c
1484cc...Dc..cc       cc...DE..cc
1485 cc...ED..cc     cc...Ec..cc
1486  cc...c...cc   cc..EcD..cc
1487   cc..ED...cc cc..cD...cc
1488    cc..cE...ccc..DE...cc
1489     cc..DcE..c...c...cc
1490      cc...Dc...DDE..cc
1491       cc..Dc.0.cc..cc
1492        cc.........cc
1493         cc.0.S.0.cc
1494        cc.........cc
1495       cc..cc.0.cD..cc
1496      cc..EDD...cD...cc
1497     cc...c...c..EcD..cc
1498    cc...ED..ccc...Ec..cc
1499   cc...Dc..cc cc...DE..cc
1500  cc..DcE..cc   cc...c...cc
1501 cc..cE...cc     cc..DE...cc
1502cc..ED...cc       cc..cD...cc
1503c...c...cc         cc..EcD..c
1504..EED..cc           cc...Ec..
15050.cc..cc             cc..Ec.0
1506.....cc               cc.....
1507@.0.cc                 cc.0.@
1508ENDMAP
1509
1510NAME:   nicolae_snake_dead_anacondas
1511TAGS:   no_pool_fixup transparent no_monster_gen patrolling
1512KMONS:  1 = anaconda skeleton / anaconda zombie
1513KMONS:  2 = anaconda skeleton w:5 / anaconda zombie w:5 / spectral anaconda \
1514        / anaconda simulacrum
1515KFEAT:  2 = W / . w:30
1516NSUBST: D = 2=% / 2=* / *| / -'
1517# About 18.5 snek on-average.
1518SUBST:  ' = 2:40 W .:50, - = xwW.
1519MAP
1520  xxxxxxx
1521 xxxxxxxxx..@
1522xxxDDD--xx...x
1523xxDD''''-xx1.x
1524xxD''''''.+..x
1525xxD''''''-xxxx
1526xxD''''''-xxxx
1527xxD''''''.+..x
1528xxDD''''-xx1.x
1529xxxDDD--xx...x
1530 xxxxxxxxx..@
1531  xxxxxxx
1532ENDMAP
1533
1534NAME:    nicolae_snake_ghostly_warrior_ritual
1535TAGS:    patrolling transparent
1536MONS:    naga ritualist / naga mage, naga warrior
1537MONS:    phantasmal warrior / spectral naga warrior w:3
1538SUBST:   D : bc, E : bc
1539NSUBST:  F = 3=2 / 3=3 / 23
1540MAP
1541..............
1542......EE......
1543..DDWWEEWWDD..
1544..DD......DD..
1545..W..F.F...W..
1546..W......F.W..
1547.EE.F.1....EE.
1548.EE......F.EE.
1549..W.F......W..
1550..W...F.F..W..
1551..DD......DD..
1552..DDWWEEWWDD..
1553......EE......
1554..............
1555ENDMAP
1556
1557NAME:   nicolae_snake_guarding_the_ruins
1558TAGS:   patrolling transparent
1559MONS:   naga / salamander / nothing w:5, naga warrior band
1560NSUBST: D = . / x, E = . / x, F = . / x, H = . / x, J = . / x, K = . / x, \
1561        L = . / x, M = . / x, N = . / x, O = . / x, P = . / x, Q = . / x
1562SUBST:  x = x:30 .
1563MAP
1564cc...........cc
1565ccDDDcJJJcEEEcc
1566.D...J...J...E.
1567.D.1.J.1.J.1.E.
1568.D...J...J...E.
1569.cMMMcNNNcKKKc.
1570.M...Q...O...K.
1571.M.1.Q.2.O.1.K.
1572.M...Q...O...K.
1573.cMMMcPPPcKKKc.
1574.H...L...L...F.
1575.H.1.L.1.L.1.F.
1576.H...L...L...F.
1577ccHHHcLLLcFFFcc
1578cc...........cc
1579ENDMAP
1580
1581# Noun, herptile (plural herptiles)
1582# 1. (zoology, chiefly ecology) A reptile or amphibian.
1583# - Wiktionary
1584NAME:   nicolae_snake_herptile_family_reunion
1585TAGS:   no_pool_fixup patrolling transparent
1586MONS:   anaconda / black mamba / shock serpent / mana viper / sea snake / \
1587        guardian serpent
1588MONS:   goliath frog, alligator, snapping turtle, alligator snapping turtle
1589MONS:   hydra
1590NSUBST: D = 2 / 3 / 4 / 5 / E.
1591SUBST:  - = x:25 .:25 w W E:5, E = 1:80 2345 .:80
1592MAP
1593                xxxxxxxx
1594            xxxxxx----xxxxxx
1595        xxxxxxxxx-..D.-xxxxxxxxx
1596    xxxxxxxxxxxxx-.--.-xxxxxxxxxxxxx
1597xxxxxx----xxxxxx-..xx..-xxxxxx----xxxxxx
1598xxx---....---xxx-DxxxxD-xxx---....---xxx
1599x--...E..E...--x-.-xx-.-x--...E..E...--x
1600-.E.x-....-x.D.-.E.--...-.D.x-....-x.E.-
1601..-xxx----xxx-.....--.6...-xxx----xxx-.@
1602@.-xxx----xxx-...6.--.....-xxx----xxx-..
1603-.E.x-....-x.D.-...--.E.-.D.x-....-x.E.-
1604x--...E..E...--x-.-xx-.-x--...E..E...--x
1605xxx---....---xxx-DxxxxD-xxx---....---xxx
1606xxxxxx----xxxxxx-..xx..-xxxxxx----xxxxxx
1607    xxxxxxxxxxxxx-.--.-xxxxxxxxxxxxx
1608        xxxxxxxxx-.D..-xxxxxxxxx
1609            xxxxxx----xxxxxx
1610                xxxxxxxx
1611ENDMAP
1612
1613NAME:    nicolae_snake_mages_go_home
1614TAGS:    transparent
1615MONS:    mana viper
1616MONS:    naga w:20 ; any weapon ego:antimagic / \
1617            naga warrior ; any weapon ego:antimagic / \
1618            salamander ; any weapon ego:antimagic
1619SHUFFLE: DE/FH
1620SUBST:   M = 1:30 2:5 .:80, N = 2:30 1:5 .:80
1621SUBST:   D = c, E = %:30 *:20 .:40, FH = .:100 1 2
1622MAP
1623  xxxbbb@@@bbbxxx
1624 xxbbbM.N.N.Mbbbxx
1625xxbb.M.N.N.N.M.bbxx
1626xbbE..MFFFFFM..Ebbx
1627xbDDDDD.HFH.DDDDDbx
1628xbE.M.N.HFH.N.M.Ebx
1629xbEM.N.NHFHN.N.MEbx
1630xbE.M.N.HFH.N.M.Ebx
1631xbDDDDD.HFH.DDDDDbx
1632xbbE..MFFFFFM..Ebbx
1633xxbb.M.N.N.N.M.bbxx
1634 xxbbbM.N.N.Mbbbxx
1635  xxxbbb@@@bbbxxx
1636ENDMAP
1637
1638NAME:    nicolae_snake_magic_snake_eye
1639TAGS:    patrolling transparent
1640ITEM:    any book, any wand / any magical staff, any jewellery / any wand
1641ITEM:    any scroll, any potion
1642MONS:    naga mage / naga ritualist / naga sharpshooter / salamander mystic
1643MONS:    nagaraja / salamander tyrant
1644MONS:    naga mage band / naga ritualist band / naga sharpshooter band / \
1645         salamander mystic band
1646SHUFFLE: dD / eE / fF / gG, gG / hH
1647SUBST:   D = ., E = ., F = ., G = g.., H = h..
1648NSUBST:  J = 1 / 2=1.. / 3 / ., K = 2=1 / 2=1.. / 2 / 3 / .
1649NSUBST:  L = 2=1 / 2=1.. / 2 / 3 / .
1650MAP
1651xxxxxxx       xxxxxxx
1652xxxxxccccc+cccccxxxxx
1653xxxxcc.Ddc.ceE.ccxxxx
1654xxxcc.KDcc.ccEL.ccxxx
1655xxcc....c...c....ccxx
1656xxc..K.cc.J.cc.L..cxx
1657xcc....c.....c....ccx
1658xc..K..c..J..c..L..cx
1659xc.....c.....c.....cx
1660xc..K..+..J..+..L..cx
1661xc.....c.....c.....cx
1662xc..K..c..J..c..L..cx
1663xcc....c.....c....ccx
1664xxc..K.cc.J.cc.L..cxx
1665xxcc....c...c....ccxx
1666xxxcc.KFcc.ccGL.ccxxx
1667xxxxcc.Ffc.cgG.ccxxxx
1668xxxxxccccc+cccccxxxxx
1669xxxxxxx       xxxxxxx
1670ENDMAP
1671
1672NAME:   nicolae_snake_naga_rites
1673TAGS:   patrolling transparent
1674KMONS:  1* = black mamba w:15 / mana viper / anaconda w:5
1675KMONS:  2 = naga ritualist
1676KMONS:  3 = naga ritualist band
1677KITEM:  2 = |
1678KITEM:  * = *
1679# Seven 1s on-average.
1680SUBST:  S = 2...
1681MAP
1682 xxxxxxxxxxxxx
1683 xxxxxcccccxxx
1684 xxxxxcSSScxxx
1685 xxxccc.c.cccxxxxxxxxxxxxx
1686xxxxcS..S..Scccccccccxxxxx
1687.Gccc.cScSc.ccc1...1cccccx
1688..c...S.S.S..Sc.....c%**cx
1689@.+.cScSc1cScS+..3..+%*2cx
1690..c...S.S.S..Sc.....c%**cx
1691.Gccc.cScSc.ccc1...1cccccx
1692xxxxcS..S..Scccccccccxxxxx
1693 xxxccc.c.cccxxxxxxxxxxxxx
1694 xxxxxcSSScxxx
1695 xxxxxcccccxxx
1696 xxxxxxxxxxxxx
1697ENDMAP
1698
1699NAME:    nicolae_snake_omega
1700TAGS:    no_pool_fixup transparent
1701# It is intentional that sometimes the front doors merge into a big 1x4 door.
1702SHUFFLE: MNO
1703SUBST:   D : GTUw%0., E : GTUw%0., F : GTUw%0., H : GTUw%0., J : GTUw%0.
1704SUBST:   M : +, N : 0, O : ., 0 = 0009., 9 = 9998., % = %:70 *:30 .:20 |
1705SUBST:   w : w:50 l
1706MAP
1707  cccc.@.cc
1708 cc%Fcc...cc
1709 cE...cc.0Hc
1710cc..0..cc.cc
1711cD.9w0..c+cJ
1712c%9www..MNO@
1713c%9www..MNO@
1714cD.9w0..c+cJ
1715cc..0..cc.cc
1716 cE...cc.0Hc
1717 cc%Fcc...cc
1718  cccc.@.cc
1719ENDMAP
1720
1721NAME:    nicolae_snake_salamander_fort
1722TAGS:    patrolling transparent
1723KMONS:   1 = salamander tyrant band
1724KMONS:   2 = salamander / salamander mystic w:5
1725KFEAT:   12 = l
1726SHUFFLE: DEFH, EFHJKLMNOPQRSZa, pqrsy
1727SUBST:   D : ., EFHJKpq : v, LMNOPrs : l, Q : lv, R : lv, S : lv, Z : lv
1728SUBST:   a : lv, y : lv, * = **|, ~ = 2 l:6
1729MAP
1730..............
1731.vvDDEEFFHHvv.
1732.v....~l....v.
1733.a.~l....l~.J.
1734.a.lvvvvvvl.J.
1735.Z..q****r..K.
1736.Zl.q.1l.r.~K.
1737.S~.p.ll.s.lL.
1738.S..p....s..L.
1739.R.lv..yyvl.M.
1740.R.~l....l~.M.
1741.v....l~....v.
1742.vvQQPPOONNvv.
1743..............
1744ENDMAP
1745
1746NAME:   nicolae_snake_salamander_jacuzzi
1747TAGS:   transparent
1748KMONS:  L = salamander
1749KFEAT:  L = l
1750NSUBST: D = + / +c / +cc
1751SUBST:  l = Ll, E : cGl
1752MAP
1753xx           xx
1754xxx         xxx
1755 xxxcccDcccxxx
1756  xccc...cccx
1757  ccE.....Ecc
1758  cc.......cc
1759  c...lll...c
1760  +...lll...D
1761  c...lll...c
1762  cc.......cc
1763  ccE.....Ecc
1764  xccc...cccx
1765 xxxcccDcccxxx
1766xxx         xxx
1767xx           xx
1768ENDMAP
1769
1770NAME:  nicolae_snake_salamander_zone
1771TAGS:  transparent
1772KITEM: 2 = *
1773KITEM: 3 = |
1774KMONS: 1S = salamander
1775KMONS: 2 = salamander / nothing w:5
1776KMONS: 3 = salamander mystic
1777KFEAT: S = l
1778SUBST: l = l:170 S
1779MAP
1780          v
1781       ...v...
1782     ...llvll...
1783   @..lllllllll..@
1784   .llllllvllllll.
1785  ..llllvvv..llll..
1786  .lllvvv3v....lll.
1787 ..lllv222v.1..lll..
1788 .lllvv%%%v..1..lll.
1789 .lllv$$$vv.....lll.
1790vvvlv+vvvv+v+vvvvlvvv
1791 .lll.....vv.llllll.
1792 .lll.1...v.1.lllll.
1793 ..lll.1..vl...lll..
1794  .lll..1.vll...ll.
1795  ..llll..vlll.....
1796   .llllllvllll...
1797   @..lllllllll..@
1798     ...llvll...
1799       ...v...
1800          v
1801ENDMAP
1802
1803# A little treat for the intersection of the "Herpetology"/"DCSS" Venn diagram
1804# Layout adapted from graphics of snake head scales found at
1805# https://www.virginiaherpetologicalsociety.com/identification-keys/ \
1806# id-keys-snakes/virginia_snake_identification.htm
1807NAME:   nicolae_snake_scaly_snakehead
1808TAGS:   no_pool_fixup patrolling transparent
1809KMONS:  12 = guardian serpent / naga w:20 / salamander / anaconda w:20 / \
1810             naga warrior / black mamba w:20 / mana viper / nothing w:80
1811KMONS:  3 = naga mage / naga ritualist / naga sharpshooter / shock serpent / \
1812            salamander mystic / nothing w:40
1813KMONS:  4 = nagaraja / salamander tyrant
1814KITEM:  2 = %:15 / * / |:5 / nothing w:5
1815NSUBST: 4 = 2=4 / 34
1816SUBST:  D = 13
1817MAP
1818 cccccccccccccc
1819 c2..c1c..2c2.ccc
1820ccc..c..cccc..c1ccc
1821c3.c.ccc.wwwcc.c.1ccc
1822c...c.2.cwwwc1c.cc.1c
1823c2.c.....cccc.c.c.cccc
1824ccc.4..3.c.2cc.cc.w.1c
1825c2c2.....c..c.D..cc.cc
1826c.c..D.3..ccc...c1.c.c.....l
1827cc.c.....c...c.2c..c..c...l.
1828c24.ccccc..D.cccccc.D.clll.@
1829cc.c.....c...c.2c1.c..c...l.
1830c.c..D.3..ccc...c..c.c.....l
1831c2c2.....c..c.D..cc.cc
1832ccc.4..3.c.2cc.cc.w.1c
1833c2.c.....cccc.c.c.cccc
1834c...c.2.cwwwc1c.cc.1c
1835c3.c.ccc.wwwcc.c.1ccc
1836ccc..c..cccc..c1ccc
1837 c2..c1c..2c2.ccc
1838 cccccccccccccc
1839ENDMAP
1840
1841NAME:    nicolae_snake_shooting_gallery
1842TAGS:    no_pool_fixup transparent
1843DEPTH:   Snake, !Snake:$
1844ORIENT:  float
1845ITEM:    shortbow / longbow w:4 / hand crossbow / arbalest w:3 \
1846         / triple crossbow w:1
1847ITEM:    arrow / bolt
1848MONS:    naga sharpshooter
1849SUBST:   s = 1'
1850SHUFFLE: }])
1851KMASK:   1dew'+}]) = opaque
1852MAP
1853 xxxxxxxxx.@@@.xxxxxxxxx
1854xxxxxxxxxxx...xxxxxxxxxxx
1855xx.......xx...xx.......xx
1856xx.....................xx
1857xx.....................xx
1858xx.....................xx
1859xx....wwwwwwwwwwwww....xx
1860xx....wwwwwwwwwwwww....xx
1861xx....ww1'''s'''1ww....xx
1862xxx...ww'ccccccc'ww...xxx
1863.xx...ww'ceeeeec'ww...xx.
1864@.....ww'+''s''c'ww.....@
1865@.....wws+''1'}csww.....@
1866@.....ww'+''s''c'ww.....@
1867.xx...ww'cdddddc'ww...xx.
1868xxx...ww'ccccccc'ww...xxx
1869xx....ww1'''s'''1ww....xx
1870xx....wwwwwwwwwwwww....xx
1871xx....wwwwwwwwwwwww....xx
1872xx.....................xx
1873xx.....................xx
1874xx.....................xx
1875xx.......xx...xx.......xx
1876xxxxxxxxxxx...xxxxxxxxxxx
1877 xxxxxxxxx.@@@.xxxxxxxxx
1878ENDMAP
1879
1880NAME:   nicolae_snake_snakes_in_the_grass
1881TAGS:   transparent
1882KMONS:  1 = plant
1883KFEAT:  1 = . w:30 / W
1884KFEAT:  . = . w:50 / W
1885SUBST:  ' = 0 ':200
1886SUBST:  F = tt''0, - = _', ' = 1.
1887CLEAR:  _
1888MAP
1889    --------
1890  ---''''''---
1891 --''''''''''--
1892 -''''''''''''-
1893--''''''''''''--
1894-''''''''''''''-
1895-'''''FFFF'''''-
1896-'''''FttF'''''-
1897-'''''FttF'''''-
1898-'''''FFFF'''''-
1899-''''''''''''''-
1900--''''''''''''--
1901 -''''''''''''-
1902 --''''''''''--
1903  ---''''''---
1904    --------
1905ENDMAP
1906
1907NAME:  nicolae_snake_snakewalk
1908TAGS:  transparent
1909KMONS: 0 = 0 / 0 band
1910KMONS: 9 = 9 / 9 band
1911KMONS: 8 = 8 / 8 band
1912SUBST: 0 = 00., 9 = 99.
1913MAP
1914     ccccccc         ccccccc
1915   ccc.....ccc     ccc.....ccc
1916  cc....9....cc   cc....8....cc
1917 cc...........cc cc...........cc
1918cc..0.ccccc.0..ccc..0.ccccc.0..cc
1919cc...ccccccc...ccc...ccccccc...cc
1920c...ccccccccc...c...ccccccccc...c@@@ ccc
1921c.0.cc.ccc.cc.0.c.9.cc|ccc*cc.9.c...cc.cc
1922c...+...c...+...c...+...c...+...c...+...c
1923cc.cc...c.9.cc*ccc|cc.9.c.0.cc.ccc.cc.0.c
1924 ccc @@@c...ccccccccc...c...ccccccccc...c
1925        cc...ccccccc...ccc...ccccccc...cc
1926        cc..0.ccccc.0..ccc..0.ccccc.0..cc
1927         cc...........cc cc...........cc
1928          cc....8....cc   cc....9....cc
1929           ccc.....ccc     ccc.....ccc
1930             ccccccc         ccccccc
1931ENDMAP
1932
1933NAME:  nicolae_snake_storage_room
1934TAGS:  patrolling transparent
1935KMONS: 0 = 0 / 0 band
1936KMONS: 9 = 9 / 9 band
1937KMONS: 8 = 8 / 8 band
1938SUBST: 0 = 0:50 9 .:60, 9 = 9:50 8
1939MAP
1940 cccccccc
1941cccccccccc
1942cc9..%*|cc.....@
1943cc.8.%*|cc......
1944cc..9ccccc..cc..
1945cc..ccccc0..cc..
1946cc.0....0.09....
1947cc0....0..90....
1948ccccc.0.cc..0cccc
1949 ccccc.0cc.0cccccc
1950    cc9.0.0.cc||cc
1951    cc.9.0..cc**cc
1952    ccccc...cc%%cc
1953     ccccc..c9..cc
1954        cc.0..8.cc
1955        cc0....9cc
1956        cccccccccc
1957         cccccccc
1958ENDMAP
1959
1960NAME:    nicolae_snake_unarmed_stairs_patrol
1961DEPTH:   Snake, !Snake:$
1962TAGS:    transparent
1963ORIENT:  float
1964MONS:    guardian serpent
1965MONS:    anaconda w:20 / black mamba w:20 / shock serpent / mana viper / \
1966         sea snake w:5
1967SUBST:   2 = 2:30 1:5 .:35
1968SHUFFLE: )]}>>
1969MAP
1970     xxxxxxxxx
1971  xxxxcccccccxxxx
1972xxxccccG222Gccccxxxx
1973xcccG.2.....2.Gccc.@
1974xc)...2.....2....c..
1975xc]...1..G..1....+.@
1976xc}...2.....2....c..
1977xcccG.2.....2.Gccc.@
1978xxxccccG222Gccccxxxx
1979  xxxxcccccccxxxx
1980     xxxxxxxxx
1981ENDMAP
1982
1983###############################################################################
1984#
1985# <<4>> Snake ending vaults
1986#
1987###############################################################################
1988
1989default-depth:
1990
1991# Snake Pit: the hunt
1992NAME:    snake_hunt
1993TAGS:    no_rotate
1994PLACE:   Snake:$
1995ORIENT:  northwest
1996KITEM:   O = serpentine rune of Zot
1997MONS:    naga w:30 / salamander
1998MONS:    nagaraja w:20 / salamander tyrant
1999MONS:    guardian serpent
2000MONS:    naga warrior / naga sharpshooter w:5
2001MONS:    naga mage w:30 / naga ritualist / naga sharpshooter \
2002         / salamander mystic
2003MONS:    nagaraja / guardian serpent / salamander tyrant w:5
2004SHUFFLE: 'D / "E, 'D / 'D / FH, "E / JK
2005SUBST:   FHJK = x, ' = ., " = .
2006SUBST:   E = D, L=xc..++, D=xc++, T : T U V .:30 b, _ : ....!x, ! = x .:2
2007SUBST:   1 = 1..., 2 = 2..., 3 = 3..., 4 = 44..., 5 = 55...
2008NSUBST:  . = 30 =12345..... / *:., 6 = 4:6 / *=6.
2009SUBST:   - = .
2010SHUFFLE: 123, 45
2011NSUBST:  { = { / .
2012#
2013validate {{ return glyphs_connected('{', 'O') }}
2014#
2015MAP
2016xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2017xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2019xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2020xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2021xxxxxxxxxxxxxxxxxx'xxxcccccxxx"xxxxxxxxxxxxx
2022xxxxxxxxxxxxx'xx''''''c4O4c""""""xx"xxxxxxxx
2023xxxxxxxxxxx''''''xxxx6646466xxxx""""""xxxxxx
2024xxxxxxxx''''xxxxxxxx.5665665.xxxxxxxx""""xxx
2025xxxxxxx''xxxx''''xxx..45554..xxx""""xxxx""xx
2026xxxxxx''xxx''''''''xxx.666.xxx""""""""xxx""x
2027xxxxxx'xxx''''''''''xxxcLcxxx""""""""""xxx"x
2028xxxxxx''x''''''''''''xx.3.xx""""""""""""x""x
2029xxxxxxx'D'''''''''''''45354"""""""""""""E"xx
2030xxxxxxxxxx''''''''''xx.....xx""""""""""xxxxx
2031xxxxxxxxxxx''''''''xxxxx.xxxxx""""""""xxxxxx
2032xxxxxxxxxxxxx''''xxxxxx...xxxxxx""""xxxxxxxx
2033xxxxxxxxxxxxxxxxxxxxxxxx+xxxxxxxxxxxxxxxxxxx
2034xxxxxxxxxxxxx!.!xxxxxx.....xxxxxx!.!xxxxxxxx
2035xxxxxxxxxx!..---_xx...43335...xx_---!!!xxxxx
2036xxxxxxxx!...---_x.11-4--3--5-22.x_---...!xxx
2037xxxxxxx!...2---x--11---------22--x---1...!xx
2038xxxxxxx!..2---_x------T...T------x_---1--!xx
2039xxxxxx!...2---x--2-------------1--x---1---!x
2040xxxxxx!..2----x---------{---------x----1---!
2041xxxxxx!..-----x----T---(-[---T-------------@
2042xxxxxx!..2----x-------ZZZZZ-------x----1---!
2043xxxxxxx!.-2---_x-----------------x_---1--!xx
2044xxxxxxx!.--2---_xx----T---T----xx_---1---!xx
2045xxxxxxx!.--------_xx---------xx_---------!xx
2046xxxxxxxx!.---------_xxx---xxx_--------..!xxx
2047xxxxxxxxx!-------------x-x-------------!xxxx
2048xxxxxxxxxx!!-------------------------!!xxxxx
2049xxxxxxxxxxxx!!!-----3-------3-----!!!xxxxxxx
2050xxxxxxxxxxxxxxx!!!!!--3-{-3--!!!!!xxxxxxxxxx
2051xxxxxxxxxxxxxxxxxxxx!!!---!!!xxxxxxxxxxxxxxx
2052xxxxxxxxxxxxxxxxxxxxxxx!@!xxxxxxxxxxxxxxxxxx
2053ENDMAP
2054
2055################################################################################
2056# Snake Pit: old level
2057#
2058NAME:   snake_pit
2059TAGS:   no_rotate
2060PLACE:  Snake:$
2061ORIENT: southwest
2062KITEM:  O = serpentine rune of Zot
2063MONS:   nagaraja / salamander tyrant w:5, naga w:15 / salamander w:5
2064MONS:   naga mage w:30 / naga ritualist / salamander mystic / naga sharpshooter
2065MONS:   naga warrior / naga sharpshooter w:5
2066SUBST:  D = c .:1, v = x .:1, 2 = 223, 4 = 4.
2067NSUBST: 1 = 3:1 / *=1.., 3 = 5:3 / *=3...
2068MAP
2069xxxxxxxxxxxxxxxxxccc.@2cc2@.ccccxxxxxxxx
2070xxxxxxxxxxxxcccccc.............ccccxxxxx
2071xxxxxxxxxxccc....v.............v..cccxxx
2072xxxxxxxxxcc...2..v.............v..2.cxxx
2073xxxxxxxxxc....2..v....v.....v..v..33ccxx
2074xxxxxxxxxc....22.v.............vv..2.cxx
2075xxxxxxxxcc.......vv..v........vv..33.cxx
2076xxxxxxxxc....23x3.vv....T...vvv.4444.ccx
2077xxxxxxxxc.....4444.v.........v..333...cx
2078xxxxxxxxc.....334v....v........x44....cx
2079xxxxxxxxc......334......v.......4333..cx
2080xxxxxxxcc..D...........4.4..v......D..cx
2081xxxxxxxc...DD...........1.........DD..cx
2082xxxxxxxc3..DD..........4.4........DD.3cx
2083xxxxxxxc3..DD.......v........2....DD.3cx
2084xxxxxxxc1..DD.........1...1......DD..1cx
2085xxxxxxxcc..DD.....1.....1.....1.DDD..ccx
2086xxxxxxxxc...DDD......3333333....DD...cxx
2087xxxxxxxxc....DDDD....3333333....DD...cxx
2088xxxxxxxxc.....DDDDDD...........DD....cxx
2089xxxxxxxxc........DDDc...O....cDD.....cxx
2090xxxxxxxxcc........Dc.DcccccDD.cD....ccxx
2091xxxxxxxxxc..........DDDcccDDDD......cxxx
2092xxxxxxxxxccc.....3..............3..ccxxx
2093xxxxxxxxxxxcccc..13............31cccxxxx
2094xxxxxxxxxxxxxxcccccc.......cccccccxxxxxx
2095xxxxxxxxxxxxxxxxxxxcccccccccxxxxxxxxxxxx
2096xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2097xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2098xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2099xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2100xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2101xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2102xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2103ENDMAP
2104
2105################################################################################
2106# Snake Pit: Coiled (minmay)
2107#
2108NAME:    minmay_snake_end_coiled
2109TAGS:    no_rotate
2110PLACE:   Snake:$
2111ORIENT:  southwest
2112KITEM:   O = serpentine rune of Zot
2113MONS:    naga, naga warrior / naga sharpshooter w:5
2114MONS:    naga mage w:30 / naga ritualist / naga sharpshooter \
2115         / salamander mystic
2116MONS:    nagaraja / salamander tyrant w:5
2117SHUFFLE: ABC
2118SUBST:   A = x, B : xx., C = ., c : c:20 v:5, 1 = 1., 2 = 23...
2119NSUBST:  4 = 4=4 / *=432.., X = 4=x / 4=. / x..
2120MAP
2121xxxxxxxxxxxxxxxxxxc.@..cxxxxxxxxxxxxxxxxxx
2122xxxxxxxxxxxxxxxxxxc....cxxxxxxxxxxxxxxxxxx
2123xxxxxxxxxxxxxxxxxcc....ccxxxxxxxxxxxxxxxxx
2124xxxxxxxxxxxxxxxxxc......cxxxxxxxxxxxxxxxxx
2125xxxxxxxxxxxxxxxxxc..1.1.cxxxxxxxxxxxxxxxxx
2126xxxxxxxxxxxxxxxxxc...2..cxxxccccccccxxxxxx
2127xxxxxxxxxxxxcccccc......ccccc......cccxxxx
2128xxxxxxxxccccc...2.......2.......1....ccccc
2129xxxxxcccc.......A...4............1........
2130xxxccc..........A2..X..2.........2.......@
2131xxcc...............2.2..........1.........
2132xxc....4.....ccccc......cccccc......cccccc
2133xcc...1...ccccxxxc......cxxxxccccccccxxxxx
2134xc...X.B.ccxxxxxxc..1.1.cxxxxxxxxxxxxxxxxx
2135xc....4B.ccxxxxxxc...X..cxxxxxxxxxxxxxxxxx
2136xcc....1..ccccxxxc...2..cxxxxxxxxxxxxxxxxx
2137xxc..........ccccc......ccccccxxxxxxxxxxxx
2138xxcc.........................cccccxxxxxxxx
2139xxxccc.....4....C........A.......ccccxxxxx
2140xxxxxcccc...1...C..4X....A..........cccxxx
2141xxxxxxxxccccc........X4........1......ccxx
2142xxxxxxxxxxxxcccccc......ccccc..........cxx
2143xxxxxxxxxxxxxxxxxc......cxxxcccc..1....ccx
2144xxxxxxxxxxxxxxxxxc..1...cxxxxxxcc.B.X...cx
2145xxxxxxxxxxxxxxxxxc..X21.cxxxxxxcc.B.4...cx
2146xxxxxxxxxxxxxxxxxc..1...cxxxcccc..1....ccx
2147xxxxxxxxxxxxcccccc......ccccc..........cxx
2148xxxxxxxxccccc........4.........4......ccxx
2149xxxxxcccc.......A...1X...C...2......cccxxx
2150xxxccc..........A....4...C.......ccccxxxxx
2151xxcc.........................cccccxxxxxxxx
2152xxc....1.2...ccccc...1..ccccccxxxxxxxxxxxx
2153xcc..4....ccccxxxc..1...cxxxxxxxxxxxxxxxxx
2154xc..1X.B.ccxxxxxxc...2..cxxxxxxxxxxxxxxxxx
2155xc...4.B.ccxxxxxxc..1X..cxxxxxxxxxxxxxxxxx
2156xcc.......ccccxxxc...1..cxxxxxxxxxxxxxxxxx
2157xxc....1.2...ccccc..2...ccccccxxxxxxxxxxxx
2158xxcc.................1.....4.cccccxxxxxxxx
2159xxxccc........1.C...4........1...ccccxxxxx
2160xxxxxcccc..4.2X4C....1......12X4....cccxxx
2161xxxxxxxxccccc.1.....2........1....4..Ocxxx
2162xxxxxxxxxxxxcccccccccccccccccccccccccccxxx
2163xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2164ENDMAP
2165
2166################################################################################
2167# Salamanders (by Mu.)
2168# by popular request
2169#
2170NAME:   snake_pit_salamanders_mu
2171TAGS:   no_monster_gen no_rotate
2172PLACE:  Snake:$
2173ORIENT: north
2174KITEM:  O = serpentine rune of Zot
2175MONS:   naga / salamander w:15
2176MONS:   naga mage / naga ritualist / naga sharpshooter \
2177        / salamander mystic w:30
2178MONS:   naga warrior / naga sharpshooter w:5
2179MONS:   nagaraja / salamander tyrant w:20, guardian serpent
2180MONS:   anaconda w:20 / black mamba / shock serpent / mana viper w:15
2181KMONS:  7 = salamander
2182KMONS:  D = lindwurm
2183KMONS:  OS = guardian serpent
2184KFEAT:  7 = lava
2185SUBST:  2 = 2..., 3 = 3..., 4 = 4..., D = Dll, S = SS6.
2186NSUBST: l = 8=7l / *:l, . = 12 = 1.. / *:., 5 = 2:5 / *=5.., 6 = 6:6 / *=6..
2187MAP
2188              xxxxxx
2189              cccccc
2190            ccc2452ccc
2191           cc..2232..cc
2192          cc..llllll..cc
2193          c..DllllllD..c  ccccc
2194   ccccc cc.llllllllll.cccc666cc
2195  cc...ccc..llllllllll..cc66666cc
2196 cc.222.cc.llllllllllll.+666S666c
2197 c..443..c3llllllllllll.+666O666c
2198 c.4243..+5llllllllllll.+666S666c
2199 c.4332..c3llllllllllll.cc66666cc
2200 cc.....cc..llllllllll..ccc666cc
2201 @cc...c+cc.llllllllll.ccccccccccc
2202c+ccccc+..c..DllllllD..c...+.....c
2203c..lllc.3.cc..llllll..cc...cl.33.c
2204c.3lllcc...cc..2232..cc...ccll...c
2205cc..lllcc...ccc2452ccc...cclll..cc
2206 cc..lDlcc....cccccc....cclDl..cc
2207  cc..lllcc.....42.....cclll..cc
2208   cc..lllcc....5.....cclll..cc
2209    cc..lllccc..42..ccclll..cc
2210     cc...lllcccccccclll...cc
2211      cc...llllllllllll...cc
2212       cc..llllllllllll..cc
2213        c....DllllllD....c
2214        c......llll......c
2215        c.2242..ll..2452.c
2216        c.3222..ll..2223.c
2217        c......llll......c
2218        cccc+cllllllc+cccc
2219         c....llllll....c
2220         cc.3.llllll.3.cc
2221          cc..4lDDl4..cc
2222           cc..4224..cc
2223            cc......cc
2224             cccccccc
2225ENDMAP
2226
2227################################################################################
2228
2229NAME:   grunt_snake_rune_spirals
2230PLACE:  Snake:$
2231ORIENT: centre
2232KITEM:  D = serpentine rune of Zot
2233KITEM:  E = serpentine rune of Zot mimic / w:90 any good_item
2234MONS:   naga w:30 / salamander, naga warrior / naga sharpshooter w:5
2235MONS:   naga mage w:15 / naga ritualist / naga sharpshooter /\
2236        salamander mystic w:5
2237MONS:   nagaraja / guardian serpent / salamander tyrant w:5, nagaraja
2238SUBST:  1 = 1.., 2 = 2..., 3 = 3.
2239NSUBST: O = D / 1=E, 4 = 4:4 / *=4., 5 = 6:5 / *=54.
2240MAP
2241        cccccccc     c.@..c       cccccccc
2242     cccc..1...ccc   c....c    cccc..2...ccc
2243   ccc.....2.....ccc c....c   cc.....3.....cc
2244  cc.......1.......ccc....c  cc......2......cc
2245  c1....ccccccc....1cc....c  c1....cccccc..51c
2246 cc.51ccc..2..cc..5..c....cxcc.2.ccc....cc12.cc
2247 c...cc...23...cc1........cxc.5.1c.......cc...c
2248cc...c2....2....cc........cxc...cc.......4c...cc
2249c...cc52..ccc..22cc....32.cxc232c......4..cc...c
2250c...c...2ccccc25..cc......cxc...c.4.O.4c.2.c...c
2251c232c...cc.5.cc...ccc..5..ccc...cc.....c323c...c
2252c...c323c.....cc...ccc..5..ccc...cc.5.cc...c232c
2253c...c.2.c4.O.4.c...cxc......cc..52ccccc2...c...c
2254c...cc..4......c232cxc.23....cc22..ccc..25cc...c
2255cc...c4.......cc...cxc........cc....2....2c...cc
2256 c...cc.......c1.5.cxc........1cc...32...cc...c
2257 cc.21cc....ccc.2.ccxc....c..5..cc..2..ccc15.cc
2258  c15..cccccc....1c  c....cc1....ccccccc....1c
2259  cc......2......cc  c....ccc.......1.......cc
2260   cc.....3.....cc   c....c ccc.....2.....ccc
2261    ccc...2..cccc    c....c   ccc...1..cccc
2262      cccccccc       c..@.c     cccccccc
2263ENDMAP
2264
2265################################################################################
2266
2267NAME:   grunt_snake_rune_pools
2268TAGS:   no_trap_gen no_monster_gen
2269PLACE:  Snake:$
2270ORIENT: north
2271KITEM:  O = serpentine rune of zot
2272# I've added a fire theme, which places salamander monsters and lava instead of
2273# deep water and sea snakes. --gammafunk
2274: if crawl.one_chance_in(3) then
2275MONS:   nagaraja / salamander tyrant w:20, guardian serpent
2276MONS:   naga warrior / naga sharpshooter w:5
2277MONS:   naga mage / naga ritualist / naga sharpshooter / salamander mystic w:30
2278MONS:   naga / salamander w:30
2279MONS:   guardian serpent w:15 / anaconda w:30 / black mamba / mana viper \
2280        / shock serpent
2281KMONS:  7 = salamander
2282KFEAT:  7 = l
2283SUBST:  w = l
2284NSUBST: 7 = 2=7 / 7llll
2285: else
2286MONS:   nagaraja, guardian serpent, naga warrior / naga sharpshooter w:5
2287MONS:   naga mage w:40 / naga ritualist / naga sharpshooter, naga
2288MONS:   guardian serpent w:15 / anaconda w:30 / black mamba / mana viper \
2289        / shock serpent
2290KMONS:  7 = sea snake
2291KFEAT:  7 = w
2292NSUBST: 7 = 2=7 / 7wwww
2293: end
2294SUBST:  4 = 45, 3 = 35, 1 = 113., 2 = 2211., 5 = 5.., 6 = 66.
2295MAP
2296          xxxxxxxxx
2297          ccccccccc
2298       cccc.7w7w7.cccc
2299      cc..5..www..5..cc
2300      c4.www1.2.1www.4c
2301   ccccw.w7ww.O.ww7w.wccc
2302  cccwwwSww7w212w7wwSwwwccc
2303 cc...ww.wwwww.wwwww.ww...cc
2304cc......3.w7ww4ww7w.3......cc
2305c..cccwww.ww7w4w7ww.wwwccc..c
2306c..cxcc7w..2.5.5.2..w7ccxc..c
2307c..ccxcwwwwwcccccwwwwwcxcc..c
2308cc15cccww7wcc7w7ccw7wwccc51cc
2309 cc34ccccwcc.w7w.ccwcccc43cc
2310  c..cc.ccc4..1..4ccc.cc..c
2311  c....c..5..6.6..5..c....c
2312  cc.....c.3..2..3.c.....cc
2313   cc..c..5.......5..c..cc
2314    ccc.cc.........cc.ccc
2315      ccccccc+c+cccccccc
2316         ccc4...4ccc
2317        cc...www...cc
2318        c6c3.w7w.3c6c
2319        c6c.17w72.c6c
2320        c6c..w7w..c6c
2321        cc...www...cc
2322         ccc.....ccc
2323          ccc+++ccc
2324          cc.@.@.cc
2325ENDMAP
2326
2327################################################################################
2328
2329NAME:   grunt_snake_rune_serpentine_throne
2330PLACE:  Snake:$
2331ORIENT: north
2332KITEM:  O = serpentine rune of Zot
2333KMONS:  L = vashnia / nagaraja, nagaraja
2334MONS:   nagaraja w:15 / naga sharpshooter / salamander tyrant w:5
2335MONS:   naga mage w:15 / naga ritualist / naga sharpshooter /\
2336        salamander mystic w:5
2337MONS:   naga w:30 / salamander
2338MONS:   anaconda / guardian serpent
2339MONS:   naga warrior
2340KFEAT:  A = altar_okawaru / altar_makhleb / altar_trog
2341NSUBST: 1 = 4:1 / *=1., 2 = 2:2 / *=2., 5 = 2:5 / *=5..
2342SUBST:  3 = 3.., 4 = 4.
2343MAP
2344     xxxxxxx
2345     ccccccc
2346   ccc..O..ccc
2347  cc4.3...3.4cc
2348  c..1.ccc.1..c
2349 cc.3.cc.cc.3.cc
2350 c...cc._.cc...c
2351cc......L......cc
2352c..5..G...G..5..c
2353c..T.2.1.1.2.T..c
2354c...3.G...G.3...c
2355c..4.2.1.1.2.4..c
2356c.4.3.G...G.3.4.c
2357c..4T2.1.1.2T4..c
2358c.4.3.G...G.3.4.c
2359c..4.2.1.1.2.4..c
2360c...3.G...G.3...c
2361cc.T.2.....2.T.cc
2362 c....G.5.G....c
2363 cc.5..5.5..5.cc
2364  c.....T.....c
2365  cc..4...4..cc
2366   ccc.4.4.ccc
2367     cc...ccxx
2368     x.......xx
2369     xx....5..xx
2370      xxxx...4.xx
2371         xxx3.1.x
2372   xxxxxxxx..2.4x
2373 xxx...5.5....3xx
2374xx.4....5....xxx
2375x.1.3xxxxxxxxx
2376x4.2........xx
2377xx3..........x
2378 xxxxxxx..@..xx
2379ENDMAP
2380
2381################################################################################
2382
2383NAME:   johnstein_snake_rune_scales
2384PLACE:  Snake:$
2385ORIENT: north
2386KITEM:  O = serpentine rune of Zot
2387MONS:   naga w:30 / salamander, naga warrior / naga / salamander w:5
2388MONS:   naga mage w:15 / naga ritualist / naga sharpshooter /\
2389        salamander mystic
2390MONS:   guardian serpent w:20 / salamander mystic / naga ritualist
2391MONS:   nagaraja w:20 / naga sharpshooter / salamander tyrant
2392MONS:   anaconda / black mamba / mana viper / shock serpent w:5
2393KMONS:  Z = Vashnia w:30 / nagaraja w:20 / salamander tyrant \
2394            , nagaraja / salamander tyrant w:5
2395SUBST:  1 = 1.., 2 = 2.., 3 = 33..., 6 = 6..
2396NSUBST: 4 = 2:4 / *=4.., 5 = 1:ZZZ5 / 3:5 / *=5.
2397NSUBST: O = 1:O / *:%.
2398MAP
2399cccccccccccccccccccccccccccccccccccccccc
2400c4cO..4.4...OccO...44...OccO...4.4..Oc4c
2401c.cc..252...cccc..5225..cccc...252..cc.c
2402c1.cc.131..cc..cc..33..cc..cc..131.cc.1c
2403c...cc....cc....cc....cc....cc....cc...c
2404cc...cc..cc......cc..cc......cc..cc...cc
2405 cc.2.c..c.2.22.2.c..c.2.22.2.c..c.2.cc
2406  cc.1.1....4554........4554....1.1.cc
2407   cc.2..c.3.33.3..cc..3.33.3.c..2.cc
2408    cc.1.cc.......cccc.......cc.1.cc
2409     cc...cc.....cc44cc.....cc...cc
2410      cc...cc...cc.55.cc...cc...cc
2411       cc...c..cc.3333.cc..c...cc
2412        cc.....c1.1..1.1c.....cc
2413         cc..................cc
2414          cc....c666666c....cc
2415           cc...cc6666cc...cc
2416            cc..3cc66cc3..cc
2417             cc..2cccc2..cc
2418              cc..1cc1..cc
2419               cc.1111.cc
2420                cc....cc
2421                 cc++cc
2422                 @....@
2423                   cc
2424ENDMAP
2425
2426################################################################################
2427# This vault takes its monster theme from snake ziggurat floors.
2428NAME:   hellmonk_snake_rune_quicksilver_temple
2429PLACE:  Snake:$
2430ORIENT: north
2431KITEM:  O = serpentine rune of Zot
2432MONS:   naga sharpshooter / guardian serpent / nagaraja / salamander tyrant
2433MONS:   quicksilver dragon
2434# Ten high tier monsters and ten normal spawns on average.
2435SUBST:  1 = ..1
2436NSUBST: . = 20=0. / .
2437TILE:   G = dngn_statue_dragon
2438MAP
2439              ccccc
2440             cc2O2cc
2441            ccG.1.Gcc
2442            cc..c..cc
2443           cc...c...cc
2444           cc..ccc..cc
2445     ccccccc1.ccccc.1ccccccc
2446    cccc.1cc...c.c...cc1.cccc
2447   cc......cc...1...cc......cc
2448  cc...cc...ccG...Gcc...cc...cc
2449 cc..ccccc.c+.......+c.ccccc..cc
2450cc..cc1G.ccc..cc+cc..ccc.G1cc..cc
2451c1..c.....c1.cc...cc.1c.....c..1c
2452c...cG.T..+..c1.G.1c..+..T.Gc...c
2453cc..c1....c..c..1..c..c....1c..cc
2454c...cc..1cc..cc...cc..cc1..cc...c
2455c....cc+cc...ccc+ccc...cc+cc....c
2456cc.....1....ccc...ccc....1.....cc
2457 cc....c...ccc..G..ccc...c....cc
2458  cc..cccc1ccc1...1ccc1cccc..cc
2459   c1..cc...ccc...ccc...cc..1c
2460   cc..cc...cccc+cccc...cc..cc
2461    c..ccc..ccc.1.ccc..ccc..c
2462    c...c....c.....c....c...c
2463    cc1......G.....G......1cc
2464     cccc.......T.......cccc
2465        cc..cc'''''cc..cc
2466         ccccc'''''ccccc
2467             cc'''cc
2468             cc'''cc
2469              G@@@G
2470ENDMAP
2471