2 ;;;;;;;;;;;;;;;;;;;;;;;;;;
5 (kern-mk-map 'm_deeptempl_wall 19 19 pal_expanded
7 "rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn "
8 "rn rn rn rn rn r8 r8 rn r8 rn rn r8 r8 rn rn rn rn rn rn "
9 "rn rn rn rn r4 .. .. re .. ra rc {4 {{ r2 rn rn rn rn rn "
10 "rn rn rn r8 rc .. .. .. .. bb .. .. .. .. ra r8 rn rn rn "
11 "rn rn r8 {{ {2 .. .. {8 .. .. .. .. {8 .. {4 {{ r8 rn rn "
12 "rn r4 .. {1 {8 .. rf {{ {2 {8 .. {4 {{ rf .. {1 .. r2 rn "
13 "rn rn rd {4 {{ {6 {{ rb r5 {{ {a .. {1 .. .. .. .. ra rn "
14 "rn rc .. .. {1 .. {5 {{ r2 r5 {{ rf .. .. {8 .. {4 {{ r2 "
15 "r4 .. bb .. .. .. .. {1 ra rn rd {8 .. bb {{ {2 .. r3 rn "
16 "r4 .. .. .. .. rf .. {8 .. r6 {{ {{ {2 .. {1 .. rb rn rn "
17 "rn rd .. .. {4 {{ rf {{ r3 r8 r9 rd .. .. .. .. bb ra rn "
18 "r4 .. .. .. .. {1 .. {9 r6 {{ {6 {{ rf .. .. .. .. .. r2 "
19 "rn r5 {8 .. bb .. {4 {{ re {1 .. {1 .. .. .. .. .. .. r2 "
20 "rn r4 {{ .. .. .. .. rf .. {8 .. .. .. .. bb {8 .. r3 rn "
21 "rn rn r1 .. rf .. .. .. {4 {{ bb .. .. .. {4 {{ r1 rn rn "
22 "rn rn rn r5 {{ {2 .. .. .. {1 .. .. .. .. .. r3 rn rn rn "
23 "rn rn rn rn r4 {{ {2 .. {c {{ {{ {2 bb r2 rn rn rn rn rn "
24 "rn rn rn rn rn r5 .. r7 {{ r3 r5 .. r3 rn rn rn rn rn rn "
25 "rn rn rn rn rn rn r1 rn r1 rn rn r1 rn rn rn rn rn rn rn "
29 (kern-mk-map 'm_deeptempl_passage 19 19 pal_expanded
31 "rn rn rn rn rn r4 .. .. .. .. {4 {{ {2 .. r2 rn rn rn rn "
32 "rn rn rn rn rn rc .. .. .. .. .. {1 .. rb rn rn rn rn rn "
33 "rn rn rn rn r4 .. .. .. .. .. .. .. .. .. r2 rn rn rn rn "
34 "rn rn rn {{ {2 .. .. .. .. .. .. .. .. .. {4 {{ rn rn rn "
35 "r8 rn r8 {1 .. .. {8 .. .. .. .. .. .. .. .. rb r8 r8 rn "
36 ".. re .. .. .. {4 {{ {2 .. .. .. .. .. .. {8 .. .. {8 ra "
37 ".. {8 .. .. .. .. {1 .. .. {8 .. .. .. {4 {{ {2 {4 {{ {2 "
38 "{4 {{ {2 .. .. .. .. .. {4 {{ {2 .. .. .. {1 .. .. {1 .. "
39 ".. {1 .. .. .. .. .. bb .. {1 .. .. .. .. .. .. .. .. .. "
40 ".. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. "
41 ".. .. .. .. .. .. .. .. .. .. .. {8 .. .. .. .. .. .. .. "
42 ".. .. bb .. .. .. .. .. .. .. {4 {{ {2 .. .. .. .. .. .. "
43 ".. .. .. .. .. .. .. {8 .. .. .. {1 .. .. .. .. .. .. .. "
44 "r5 .. .. .. .. .. {4 {{ {2 .. .. .. .. .. .. .. .. r7 .. "
45 "rn r1 r1 .. {8 .. .. {1 .. .. .. .. .. .. .. .. r1 rn r1 "
46 "rn rn rn r5 {{ {2 .. .. .. .. .. .. .. .. .. bb rn rn rn "
47 "rn rn rn rn r4 .. .. .. .. {8 .. .. .. r2 rn rn rn rn rn "
48 "rn rn rn rn rn rd .. .. {4 {{ {a .. .. ra rn rn rn rn rn "
49 "rn rn rn rn r4 .. .. .. .. {5 {{ {2 .. .. r2 rn rn rn rn "
54 (kern-mk-map 'm_deeptempl_water 19 19 pal_expanded
56 "rn rn rn rn rn rc ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ r2 rn rn rn rn "
57 "rn rn rn rn r4 ~b ~8 ~8 ~~ ~~ ~~ ~8 ~~ ~4 r2 rn rn rn rn "
58 "rn rn rn rn r4 .. .. .. ~% ~6 %c .. ~% ~e r2 rn rn rn rn "
59 "rn rn rn rn rc .. .. .. .. .. .. .. .. .. ra r8 rn rn rn "
60 "r8 r8 r8 rc .. .. .. .. .. .. .. .. .. .. .. .. r8 r8 r8 "
61 "~~ ~5 .. .. .. .. ~C ~7 ~A .. .. bb .. .. .. .. .. ~b ~~ "
62 "~~ ~c .. .. .. .. ~3 -- ~d .. .. .. .. .. .. .. .. bb ~~ "
63 "~~ %c bb .. .. .. ~a ~~ {G {2 .. .. .. .. .. .. .. ~3 ~~ "
64 "~4 .. .. .. .. .. %a ~e {1 .. .. .. .. .. .. .. .. ~2 ~~ "
65 "~~ ~A .. .. .. .. .. .. .. .. .. ~7 .. .. .. .. .. ~a ~~ "
66 "~~ ~d .. .. .. .. .. .. .. .. %3 ~~ ~5 ~A .. .. .. ~D ~~ "
67 "~~ %c .. .. .. ~C ~7 ~A .. .. ~3 -- -- ~d .. .. .. ~3 ~~ "
68 "~4 .. .. .. .. ~3 -- ~d .. ~b ~~ -- ~c ~# .. .. .. ~2 ~~ "
69 "~c .. .. .. .. ~a ~c ~# .. .. %a ~e ~# .. .. .. .. ~e r3 "
70 "r1 r1 r1 .. .. .. .. .. .. .. .. .. .. .. bb .. r1 r1 rn "
71 "rn rn rn r1 r5 .. .. .. .. .. .. .. .. .. r3 r1 rn rn rn "
72 "rn rn rn rn r4 .. ~C ~7 ~A .. .. ~C ~3 ~d r2 rn rn rn rn "
73 "rn rn rn rn rn rd ~3 ~~ ~~ ~5 ~E ~3 ~~ rb rn rn rn rn rn "
74 "rn rn rn rn r4 ~3 ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~5 r2 rn rn rn rn "
79 (kern-mk-map 'm_deeptempl_hole 19 19 pal_expanded
81 "rn rn rn rn rn rc vv vv vv vv vv vv vv *c r2 rn rn rn rn "
82 "rn rn rn rn r4 *b vv vv *8 *c .i *e .g rb rn rn rn rn rn "
83 "rn rn rn rn r4 .h *e .g .. .. .. .. .. .. r2 rn rn rn rn "
84 "rn rn rn .. .. .. {8 .. .. .. .. .. .. .. .. .. rn rn rn "
85 "r8 rn r8 .. .. *7 {j .. .. .. .. .. {8 .. .. .. rn r8 r8 "
86 "*5 re .. .. .. *a vv *5 .j .. .. {4 {{ {a .. .. re .. *3 "
87 "vv *5 .. .. .. .. .h vv *5 .j .. .. bb {{ {2 .. .. .l vv "
88 "vv *4 .. .. .. .. .. *a vv *5 .j .. .. {1 .. .. *b vv vv "
89 "vv *c .. .. .. .. {4 {h vv vv *5 .j .. .. .. .. .h *a vv "
90 "vv .g .. .. .. {8 .. .. *2 vv vv *d .. .. .. .. .. .m vv "
91 "vv .j .. .. {c {{ {2 .. *a vv vv .g .. .. {8 .. .. *b vv "
92 "vv *d .. {4 {{ rf .. .. rf *a vv {j {2 {4 {{ {2 .. .m vv "
93 "vv .k .. .. {1 .. .. .. .. .h *a *5 .j .. {1 .. .. *3 vv "
94 "vv *d .. .. .. .. .. .. .. .. .h *a *5 .. .. .. .. *e r3 "
95 "r1 r1 r1 .. .. .. .. .. .. .. {4 {h *e .. .. .. r1 r1 rn "
96 "rn rn rn .. .. .. .. .. .. .. .. {1 .. .. .. .. rn rn rn "
97 "rn rn rn rn r4 .. .. .. .. .. *7 .j .. .. r2 rn rn rn rn "
98 "rn rn rn rn r4 *7 .n *3 *5 .n vv *5 .n *7 r2 rn rn rn rn "
99 "rn rn rn rn r4 vv vv vv vv vv vv vv vv vv r2 rn rn rn rn "
103 (kern-mk-map 'm_deeptempl_lava 19 19 pal_expanded
105 "rn rn rn rn rn r4 !_ !_ !_ !_ !_ !_ !_ ra rn rn rn rn rn "
106 "rn rn rn rn rn rc !! !! !! !! !! !! !_ !! r2 rn rn rn rn "
107 "rn rn rn rn r4 !! !c .. .. .. bb !a !c .. r2 rn rn rn rn "
108 "rn rn rn bb re .. .. .. .. .. .. .. .. .. {4 {{ rn rn rn "
109 "rn r8 r8 .. .. .. .. .. .. .. .. .. .. .. .. {1 r8 rn rn "
110 "rc !! !! .. .. .. rf .. .. .. .. !3 !! !5 .. .. !! ra r8 "
111 "!_ !_ !c .. .. .. .. {8 .. .. .. !! !_ !c .. .. !! !_ !_ "
112 "!_ !! {# .. .. .. {4 {{ {2 .. .. !a !c .. {8 .. !a !! !_ "
113 "!_ !! {1 .. bb .. .. {1 .. .. .. .. .. {4 {{ {2 .. !! !_ "
114 "!_ !! .. .. .. .. .. !7 .. .. .. .. .. .. {1 .. .. !! !_ "
115 "!_ !! .. .. .. .. !3 !! !5 .. .. .. .. .. .. .. .. !! !_ "
116 "!_ !! .. .. .. !3 !_ !! !c .. .. .. bb .. .. .. .. !! !_ "
117 "!_ !! !5 .. .. !a !c .. .. .. .. !3 !5 .. .. .. {8 !! !_ "
118 "!_ r7 !! .. .. .. .. .. .. .. .. !a !c .. .. .. {{ r7 !_ "
119 "r1 rn r1 .. {8 .. .. .. .. .. .. .. .. .. .. rb r1 rn r1 "
120 "rn rn rn r5 {{ {2 .. .. .. .. .. .. .. .. .. bb rn rn rn "
121 "rn rn rn rn r4 .. .. !7 bb .. .. !3 !! !! r2 rn rn rn rn "
122 "rn rn rn rn r4 !! !! !! !! !! !! !! !_ rb rn rn rn rn rn "
123 "rn rn rn rn rn r5 !_ !_ !_ !_ !_ !_ !_ !_ r2 rn rn rn rn "
127 (kern-mk-map 'm_deeptempl_swamp 19 19 pal_expanded
129 "rn rn rn rn r4 %a %% %% %% %% %% %% ~f %% r2 rn rn rn rn "
130 "rn rn rn rn r4 {% %a %c {4 {% %% %% %% %c r2 rn rn rn rn "
131 "rn rn rn rn rn r5 .. .. .. {1 %% %% {# {2 r2 rn rn rn rn "
132 "rn rn rn .. re %% .. .. bb .. %% %% %% %% %c r2 rn rn rn "
133 "rn r8 r8 .. %b %% %5 .. %3 %% %% %c {8 .. .. ra r8 r8 rn "
134 "rc {{ {2 .. .. %a %% %% %% %c .. {4 {{ {2 .. .. {{ %7 ra "
135 "%% %5 .. .. bb .. .. %% %% .. .. .. {1 .. .. .. {1 %% %% "
136 "%% ~f %% .. .. .. %3 %% %% %5 .. {8 .. %7 .. .. %% %% ~f "
137 "%% %% %% %% %5 .. %% ~b ~d %% %d {{ %3 %% %% %% %% %% %% "
138 "%% %% .. .. %a %% %% %% %% %c rb rd %% %% %c .. .. .. %% "
139 "%% %% bb .. .. %a %% %% %% .. %3 ~e %% .. .. .. .. {8 %% "
140 "%% %c .. .. .. .. %% .. %a %% %% %% %c .. {8 .. {4 {C %% "
141 "%% .. .. .. .. %3 %% .. .. %a %% %% .. {4 {{ {2 .. %b %% "
142 "%c r7 .. .. .. %% ~f %5 .. .. .. %% .. .. {1 .. .. r7 %a "
143 "r1 rn r1 .. .. %% %% %c .. .. .. %% %5 .. .. r3 r1 rn r1 "
144 "rn rn rn .. r7 %% %% .. .. bb .. %% %% %% %5 r2 rn rn rn "
145 "rn rn rn rn r4 .. {8 .. .. .. %% %% %% {{ r2 rn rn rn rn "
146 "rn rn rn rn rn rd {C %3 %% %% %% %% %% rb rn rn rn rn rn "
147 "rn rn rn rn r4 %3 %% %% %% %% %% ~f %% %5 r2 rn rn rn rn "
151 (kern-mk-map 'm_deeptempl_break 19 19 pal_expanded
153 "rn rn rn rn rn rn rn r4 bb .. .. r2 rn rn rn rn rn rn rn "
154 "rn rn rn rn rn r8 r8 r4 .. .. bb ra r8 rn rn rn rn rn rn "
155 "rn rn rn rn r4 .. .. re .. .. rf {4 {{ r2 rn rn rn rn rn "
156 "rn rn rn r8 rc .. .. .. .. bb .. .. .. .. ra r8 rn rn rn "
157 "rn rn r8 {{ {2 .. .. {8 .. .. .. .. {8 .. {4 {{ r8 rn rn "
158 "rn r4 .. {1 {8 .. rf {{ {2 {8 .. {4 {{ rf .. {1 .. r2 rn "
159 "rn rn rd {4 {{ {6 {{ rb r5 {{ {a .. {1 .. .. .. .. ra rn "
160 "r8 rc .. .. {1 .. {5 {{ r2 r5 {{ rf .. .. {8 .. {4 {{ ra "
161 "bb .. bb .. .. .. .. {1 ra rn rd {8 .. bb {{ {2 .. {1 bb "
162 ".. .. .. .. .. rf .. {8 .. r6 {{ {{ {2 .. {1 .. rf .. .. "
163 ".. bb .. .. {4 {{ rf {{ r3 r8 r9 rd .. .. .. .. bb .. .. "
164 "r5 .. .. .. .. {1 .. {9 r6 {{ {6 {{ rf .. .. .. .. .. r3 "
165 "rn r5 {8 .. bb .. {4 {{ re {1 .. {1 .. .. .. .. .. .. r2 "
166 "rn r4 {{ .. .. .. .. rf .. {8 .. .. .. .. bb {8 .. r3 rn "
167 "rn rn r1 .. rf .. .. .. {4 {{ bb .. .. .. {4 {{ r1 rn rn "
168 "rn rn rn r5 {{ {2 .. .. .. {1 .. .. .. .. .. r3 rn rn rn "
169 "rn rn rn rn r4 {{ {2 .. .. .. .. .. bb r2 rn rn rn rn rn "
170 "rn rn rn rn rn r5 .. r7 .. .. bb .. r3 rn rn rn rn rn rn "
171 "rn rn rn rn rn rn r1 r4 bb .. .. r3 rn rn rn rn rn rn rn "
175 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
179 ;probability for edge terrains... out of 83
180 (define deep-terrain-edges
182 (list 20 'm_deeptempl_wall #f)
183 (list 25 'm_deeptempl_water #f)
184 (list 30 'm_deeptempl_hole #f)
185 (list 35 'm_deeptempl_lava #f)
186 (list 40 'm_deeptempl_swamp #t)
187 (list 100 'm_deeptempl_passage #t)
190 ;probability for area terrains... out of 149
191 (define deep-terrain-area
193 (list 30 'm_deeptempl_wall)
194 (list 45 'm_deeptempl_water)
195 (list 65 'm_deeptempl_hole)
196 (list 75 'm_deeptempl_lava)
197 (list 80 'm_deeptempl_swamp)
198 (list 150 'm_deeptempl_passage)
201 ;map areas replaced by the various blitting ops
202 (define deep-room-blitstats
203 (prmap-mk-blitstats 19 19 3 4 3))
206 ;parameters to random number generators
207 (define (deep-rno) (+ (kern-dice-roll "1d70" 33)))
208 (define deep-random-type-ew (prmap-mk-prng-params (deep-rno) (deep-rno) 0 (deep-rno) 83))
209 (define deep-random-type-ns (prmap-mk-prng-params (deep-rno) (deep-rno) 0 (deep-rno) 83))
210 (define deep-random-type-area (prmap-mk-prng-params (deep-rno) (deep-rno) 0 (deep-rno) 149))
212 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
215 (define deep-monster-types
225 (list 100 'giant-spider)
226 (list 150 'queen-spider)
229 (list 100 'cave-goblin-slinger)
230 (list 200 'cave-goblin-berserker)
231 (list 250 'cave-goblin-priest)
234 (list 50 'cave-goblin-slinger-m)
235 (list 100 'cave-goblin-berserker-m)
237 (list 350 'troll-geomancer-m)
240 (list 100 'green-slime)
241 (list 200 'yellow-slime)
251 (list 50 'cave-goblin-slinger-m)
252 (list 100 'cave-goblin-berserker-m)
254 (list 350 'gint-warrior-m)
255 (list 400 'gint-mage-m)
258 (list 50 'cave-goblin-slinger-m)
260 (list 150 'cave-goblin-berserker-m)
262 (list 250 'gint-warrior-m)
266 (list 25 'cave-goblin-slinger-m)
267 (list 50 'cave-goblin-berserker-m)
272 (list 70 'skeletal-warrior)
273 (list 120 'skeletal-spear-thrower)
274 (list 150 'craven-archer)
275 (list 300 'death-knight)
279 (list 100 'skeletal-warrior)
280 (list 200 'skeletal-spear-thrower)
285 (list 150 'skeletal-warrior)
286 (list 200 'skeletal-spear-thrower)
287 (list 220 'craven-archer)
288 (list 250 'death-knight)
295 (define deep-group-types
297 (list 10 0 100 "1d4+3") ;bats
298 (list 20 1 100 "1d4+3") ;rats
299 (list 30 1 200 "1d6+4") ;bats n rats
300 (list 40 5 100 "1d3+2") ;slime
301 (list 50 2 100 "1d4+3") ;spiders
302 (list 60 3 100 "1d3+1") ;goblins
303 (list 70 2 110 "1d4+3") ;spiders 1q
304 (list 80 13 100 "1d6+4") ;headless
305 (list 90 2 150 "1d6+4") ;spiders +qs
306 (list 100 5 200 "1d6+3") ;slime+
307 (list 110 3 200 "1d6+4") ;goblin war
308 (list 120 7 20 "1d6+1") ;ghost
309 (list 130 11 120 "1d6+4") ;skels
310 (list 140 4 300 "1d6+3") ;trolls
311 (list 150 6 100 "1d2") ;zorn
312 (list 160 8 350 "1d6+3") ;gint
313 (list 170 7 22 "1d6+1") ;ghost + d
314 (list 180 11 300 "2d4+4") ;deathknights
315 (list 190 11 310 "2d4+4") ;deathknights +d
316 (list 200 3 210 "1d6+5") ;goblin war +p
317 (list 210 7 200 "1d3") ;demons
318 (list 220 3 250 "2d4+4") ;goblin tribe
319 (list 230 4 350 "1d6+5") ;trolls +m
320 (list 240 8 400 "2d4+4") ;gint + m
321 (list 250 10 300 "1d4") ;dragon
322 (list 260 10 80 "1d6+3") ;dragon + gob
323 (list 270 9 260 "1d6+3") ;gazer
324 (list 280 13 330 "2d4+4") ;warlock
325 (list 290 12 205 "2d4+4") ;lich
326 (list 300 9 320 "2d4+4") ;gazers
330 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
333 (define (deeps-link-factory x y z map dir)
334 (list 'm_deeptempl_break nil)
337 (define (deeps-init-cohesion mapdata)
338 (if (list-ref mapdata 10)
340 ;;(kern-log-msg "begin cohesion check")
341 (prmap-ensure-cohesion mapdata -5 6 -6 5 0 deeps-link-factory)
342 ;;(kern-log-msg "end cohesion check")
343 (mutable-list-set mapdata 10 #f)
346 (define (deeps-room-handle-deeps kplace kplayer)
348 (roomdata (get-roomdata kplace))
349 (mapdata (prmap-get-mapdata (eval 'p_deeps_1)))
351 (prmap-room-freeze-current mapdata)
352 (prmap-room-init-neighbors kplace roomdata)
353 (prmap-room-init-links kplace roomdata mapdata)
354 (prmap-room-cleanout kplace)
355 (prmap-room-thaw kplace mapdata)
356 (prmap-room-blit-map kplace roomdata mapdata)
357 (prmap-room-init-contents kplace roomdata)
360 (define (deeps-room-handle-garrison kplace kplayer)
362 (roomdata (get-roomdata kplace))
363 (mapdata (prmap-get-mapdata (eval 'p_deeps_1)))
365 (deeps-init-cohesion mapdata)
366 (prmap-room-freeze-current mapdata)
367 (prmap-room-init-neighbors kplace roomdata)
368 (prmap-room-init-links kplace roomdata mapdata)
371 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
375 't_garrison_log "Garrison Log" s_lexicon v-hard
376 (lambda (klexicon kuser)
381 "The log details events at the garrison "
382 "while it was still in operation. Early "
383 "entries detail several attempts to "
384 "clear the surrounding caverns.")
387 "However, the paladins were "
388 "unable to even determine how "
389 "large the dungeon is, and "
390 "eventually settled on a policy "
391 "of containment by fortifying "
392 "this bottleneck position.")