1(kern-load "joel.scm")
2(kern-load "r2a_mech.scm")
3
4(mk-dungeon-room
5 'p_road_to_absalot_1 "Passage to Absalot"
6	(list
7		"rn rn rn r4 !! r2 rn rc ,, ,, ,, ra r8 r8 r4 !! r2 rn rn "
8		"rn rn rn rc !! ra rc {{ ,, .. ,, {{ {{ {{ re !! ra rn rn "
9		"rn r8 rc {{ !! {A {{ {C ,, ,, ,, {{ !3 !! !! !! {{ r2 rn "
10		"r4 {{ {{ {C !! !! !! !5 ,, ,, ,, {{ !! bb {F !! {{ r2 rn "
11		"r4 {{ !3 !! !! {& bb !! ,, ,, {4 {{ !! {# bb !! {{ r2 rn "
12		"r4 {{ !! bb !! {{ {% !! ,, ,, ,, {{ !e {{ {% !! {{ ra rn "
13		"r4 {{ !e {& !! {{ {{ !e .. ,, ,, {A {{ {{ {{ !! {{ {{ r~ "
14		"r4 {{ {{ {{ !! {{ {{ pp ,, ,, ,, pp {{ {{ {C !! {A {{ r2 "
15		"rn r5 {{ {C !! {A {C ,, ,, ,, ,, ,, {{ !3 !! !! !5 {{ r2 "
16		"rn r4 {{ !3 !! !! !5 ,, ,, ,, ,, ,, {{ !! bb bb !! {{ r2 "
17		"rn r4 {{ !! bb bb !! ,, ,, ,, ,, ,, {{ !! bb {& !e {{ r2 "
18		"rn rc {{ !! {& bb !! pp {8 ,, ,, bb {{ !! {# {{ {{ {{ r2 "
19		"r4 {{ {{ !! {{ {% !! {# {{ {{ {{ {{ {{ !! {{ {{ {{ {{ r2 "
20		"r4 {{ {{ !! {{ {{ !e {{ {{ r7 {{ {{ {{ !! {{ {{ {{ {{ r2 "
21		"r4 {{ {{ !e {{ {{ {{ {{ r3 r4 {{ {{ {{ !! {{ {{ {{ {{ r2 "
22		"rn r5 {{ {{ {{ r7 {{ {{ r2 rn r5 {{ {{ !e {{ {{ r7 bb r2 "
23		"rn rn r5 {{ r3 r4 {{ r3 rn rn rn r5 {{ {{ {{ r3 rn r1 rn "
24		"rn rn r4 {{ r2 rn r1 rn rn rn rn rn r5 {{ r3 rn rn rn rn "
25		"rn rn rn r1 rn rn rn rn rn rn rn rn rn r1 rn rn rn rn rn "
26	)
27  (put (mk-ladder-up 'p_gate_to_absalot 9 1) 9 9)
28  (put (mk-bump-door 'p_absalot_passage 1 38) 18 6)
29 (put (spawn-pt 'troll-m) 4 12)
30 (put (spawn-pt 'troll-m) 13 4)
31 (put (spawn-pt 'headless) 9 4)
32 (put (spawn-pt 'headless) 5 4)
33 (put (spawn-pt 'gazer) 3 17)
34 )
35
36(mk-place-music p_road_to_absalot_1 'ml-dungeon-adventure)
37
38(mk-dungeon-room
39 'p_fire_bridge "Fire Bridge"
40	(list
41		"xx xx xx rr rr xx xx xx ,, ,, ,, xx xx xx xx xx xx xx xx "
42		"xx ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, rr "
43		"xx ,, .. ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, bb rr "
44		"rr ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, rr "
45		"rr ,, ,, ,, ,, xx rr xx ,, w+ ,, xx xx xx ,, ,, ,, ,, xx "
46		"xx ,, ,, ,, ,, xx !_ !_ ,, ,, !! !_ !_ xx ,, ,, ,, ,, xx "
47		"xx ,, ,, ,, ,, w+ !! !_ !_ !_ !_ !_ !! w+ ,, ,, ,, ,, xx "
48		"rr ,, ,, ,, ,, xx !! !! !_ !_ !_ !! !! rr ,, ,, ,, ,, xx "
49		"xx ,, ,, ,, ,, xx xx !! !! !! !! !! xx xx ,, .. ,, ,, xx "
50		"xx ,, ,, ,, ,, ,, w+ !! ,, ,, !! !! w+ ,, ,, ,, ,, ,, rr "
51		"xx ,, ,, ,, ,, ,, w+ !! ,, ,, bb !! w+ ,, ,, ,, ,, ,, xx "
52		"xx ,, ,, ,, ,, ,, w+ !! ,, ,, ,, !! w+ ,, ,, ,, ,, ,, xx "
53		"xx xx ,, ,, ,, xx rr !! !! ,, ,, !! xx xx ,, ,, ,, xx xx "
54		"!_ xx bb w+ w+ xx !! !! ,, ,, ,, !! !! xx w+ w+ w+ xx !_ "
55		"!_ !! !! !! !! !! !! !! ,, ,, !! !! !! !! !! !! !! !! !_ "
56		"!_ !! !! !! !! !! !c {& ,, ,, {4 {% !a !! !! !! !! !! !_ "
57		"r5 {{ {% !a !! !c {# {{ ,, ,, ,, {{ {% !a !! !c {# {{ r3 "
58		"r4 {{ {{ {{ {{ {{ {{ {{ {2 ,, ,, {{ {{ {{ {{ {{ {{ r3 rn "
59		"rn r1 r1 r1 r1 r1 r1 r5 ,, ,, ,, r3 r1 r1 r1 r1 r1 rn rn "
60	)
61  (put (kern-tag 'fb-p2 (mk-portcullis)) 8 4)
62  (put (kern-tag 'fb-p1
63                 (mk-connected-portcullis 'fb-p2)) 10 4)
64  (put (kern-tag 'fb-b1 (mk-tblitter 'p_fire_bridge
65                                     8 6 3 3
66                                     'm_deck_section)) 1 1)
67  (put (mk-lever 'fb-p1) 3 10)
68  (put (mk-lever 'fb-b1) 15 10)
69  ;(put (mk-magic-locked-door) 9 0)
70  (put (guard-pt 'craven-archer) 5 10)
71  (put (guard-pt 'ghast) 3 11)
72  (put (guard-pt 'skeletal-spear-thrower) 5 9)
73
74  (put (guard-pt 'craven-archer) 13 11)
75  (put (guard-pt 'ghast) 14 9)
76  (put (guard-pt 'craven-archer) 13 9)
77
78  (put (guard-pt 'death-knight) 8 3)
79  (put (guard-pt 'death-knight) 10 3)
80  (put (spawn-pt 'demon) 16 2)
81
82  (put (kern-mk-obj t_spell_book_force_magick_matter 1) 17 9)
83 )
84
85(mk-place-music p_fire_bridge 'ml-dungeon-adventure)
86
87(mk-dungeon-room
88 'p_road_to_absalot_3 "Passage to Absalot"
89	(list
90		"rn rn rn r8 r8 r8 r8 r8 r8 r8 r8 r8 r8 r8 r8 r8 rn rn rn "
91		"rn rn rc {C !! !! !c {{ {{ {{ {{ {{ !a !! !! {A ra rn rn "
92		"rn rc {C !3 !! !c {# {{ {{ {{ {{ {{ {{ {% !! !5 {A ra rn "
93		"r4 {C !3 !! !c {# {{ {{ bb xx xx {{ {{ {{ !a !! !5 {A r2 "
94		"r4 !! !! !c {# {{ {{ xx rr rr xx xx {{ {{ {% !a !! !! r2 "
95		"r4 !! !! {# {{ {{ xx xx xx xx xx xx xx {{ {{ {% !! !! r2 "
96		"r4 !! !! {{ {{ xx xx xx ,, ,, ,, bb rr xx {{ {{ !! !! r2 "
97		"r4 !! !! {{ {{ rr xx xx ,, ,, ,, rr xx xx {{ {{ !! !! r2 "
98		"r4 !! !! {{ {{ bb rr xx ,, ,, ,, xx xx xx {{ {{ !! !! r2 "
99		"r4 !! !! {A {{ {{ xx xx xx ,, xx xx xx {{ {{ {C !! !! r2 "
100		"r4 !! !! !5 {A {{ {{ xx xx ,, xx xx {{ {{ {C !3 !! !! r2 "
101		"r4 !! !! !! !5 {A {{ {{ xx ,, xx {{ {{ {C !3 !! !! !! r2 "
102		"r4 {% !! !! !! !5 {A {{ ,, ,, ,, {{ !3 !! !! !! !! {# r~ "
103		"r4 {{ !a !! !! !! !5 {{ {2 ,, ,, {{ !! !! !! !! !c {{ r2 "
104		"r4 {{ {% !a !! !! !! {{ ,, ,, ,, {{ !! !! !! !c {# {{ r2 "
105		"r4 {{ {{ {% !a !! xx rr ,, ,, .. xx xx !! !c {# {{ {{ r2 "
106		"rn r5 {{ {{ {% !a xx ,, ,, ,, ,, ,, xx !c {# {{ {{ {{ r2 "
107		"rn rn r5 {{ {{ {{ rr bb ,, ,, ,, ,, ?? {{ {{ {{ {{ r3 rn "
108		"rn rn rn r1 r1 xx xx xx ,, ,, ,, xx xx xx r1 r1 r1 rn rn "
109	)
110 (put (mk-magic-locked-door) 9 10)
111 (put (mk-ladder-up 'p_tower_of_absalot 9 9) 9 7)
112 (put (mk-bump-door 'p_absalot_passage 1 2) 18 12)
113 (put (guard-pt 'ghast) 10 8)
114 (put (guard-pt 'death-knight) 8 8)
115 (put (spawn-pt 'craven-archer) 10 6)
116 (put (spawn-pt 'zorn) 8 6)
117 (put (spawn-pt 'zorn) 7 6)
118 (put (spawn-pt 'zorn) 9 6)
119 )
120
121(mk-place-music p_road_to_absalot_3 'ml-dungeon-adventure)
122
123(define (mk-r2a-statue)
124  (bind
125   (kern-mk-char
126    'ch_r2a_statue           ; tag
127    "Statue"             ; name
128    sp_statue         ; species
129    nil              ; occ
130    s_statue     ; sprite
131    faction-men      ; starting alignment
132    0 0 0            ; str/int/dex
133    999 0              ; hp mod/mult
134    0 0              ; mp mod/mult
135    max-health ; hp
136    0                   ; xp
137    max-health ; mp
138    0
139    9
140    #f               ; dead
141    'r2a-statue-conv         ; conv
142    nil           ; sched
143    'ankh-ai              ; special ai
144    nil              ; container
145    nil              ; readied
146    )
147   nil))
148
149(kern-mk-place
150 'p_absalot_passage     ; tag
151 "Secret Passage"      ; name
152  nil          ; sprite
153	(kern-mk-map nil 19 40 pal_expanded
154		(list
155		"rn rn rn r8 rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn "
156		"r8 r8 rc .. ra r8 rn rn rn rn rn rn rn rn rn rn rn rn rn "
157		".. {8 .. .. {c {{ r2 rn rn rn rn rn rn rn rn rn rn rn rn "
158		"r5 {{ {2 r7 {{ {3 ra rn rn rn rn rn rn rn rn rn rn rn rn "
159		"rn r1 r1 rn r5 .. bb ra rn rn rn rn rn rn rn rn r8 rn rn "
160		"rn rn rn rn r4 .. {c {{ r2 rn rn r8 rn rn rn rc *7 ra rn "
161		"rn rn rn rn rn r5 {{ {3 r2 rn r4 *7 ra rn r4 *3 vv *5 r2 "
162		"rn rn rn rn rn rn r5 .. r2 rn rc vv *5 ra rc vv vv vv ra "
163		"rn rn rn rn rn rn rc .. r2 r4 *3 vv vv vv vv vv vv vv vv "
164		"rn rn rn rn rn r4 {{ {2 r2 r4 *2 vv vv vv vv vv vv vv vv "
165		"rn rn rn rn rn r4 {1 bb r2 rc vv vv vv vv vv vv vv vv vv "
166		"rn rn rn rn rn rc .. r3 rc *3 vv vv vv vv vv *c r7 vv vv "
167		"rn rn rn rn r4 {{ .. re *3 vv vv vv vv vv *c r3 r4 *2 vv "
168		"rn r8 r8 r8 r4 .. *3 vv vv vv vv vv vv vv r3 rn rc *2 vv "
169		"rc !! !! !! re .. *2 vv vv vv vv vv vv vv ra r4 bb vv vv "
170		"!! !! !! !! !! !! *2 vv vv vv vv vv vv vv *5 re *3 vv vv "
171		"!! !_ !_ !_ !_ !_ *2 vv vv vv vv vv vv vv vv vv vv vv vv "
172		"!_ !_ !_ !_ +s !! *2 vv vv vv vv vv vv vv vv vv vv vv vv "
173		"!_ !_ !! !_ !_ !_ *2 vv vv vv vv vv vv vv vv vv vv vv vv "
174		"!! !! !! !! !! !! *a vv vv vv vv vv vv vv vv vv vv vv vv "
175		"!! !! r3 r1 r5 {c {h vv vv vv vv vv vv vv vv vv vv vv vv "
176		"r1 r1 rn rn r4 {{ .. *2 vv vv vv vv vv vv vv vv vv vv vv "
177		"rn rn rn rn rn rd .. *2 vv vv vv vv vv *c r7 vv vv vv vv "
178		"rn rn rn rn r4 {{ .l vv vv vv vv vv vv bb r6 *a vv vv vv "
179		"rn rn rn rn r4 .. *3 vv vv vv vv vv vv rb rn rd vv vv vv "
180		"rn rn rn rn r4 .. *2 vv vv vv vv vv vv *5 re *3 vv vv vv "
181		"rn rn rn rn rc {{ *2 vv vv vv vv vv vv vv vv vv vv vv vv "
182		"rn rn rn r4 {{ .. *a vv vv vv vv vv vv vv vv vv vv vv vv "
183		"rn rn rn rc {1 {8 r3 r5 *a vv vv vv vv vv vv vv vv vv vv "
184		"rn rn r4 {{ {6 {{ r2 rn r5 *a vv vv vv vv vv vv vv vv vv "
185		"rn rn r4 {{ {2 r3 rn rn rn r5 vv vv vv vv vv vv *c r3 r1 "
186		"rn rn r4 {1 {8 r2 rn rn rn r4 *2 vv *c r7 vv *c r3 rn rn "
187		"rn rn r4 {4 {{ r2 rn rn rn r4 *e r3 r1 r4 *e r3 rn rn rn "
188		"rn rn r4 bb {1 r2 rn rn rn rn r1 rn rn rn r1 rn rn rn rn "
189		"rn rn rn rd .. r2 rn rn rn rn rn rn rn rn rn rn rn rn rn "
190		"rn rn r4 {{ {2 r2 rn rn rn rn rn rn rn rn rn rn rn rn rn "
191		"rn r8 rc {{ {2 r2 rn rn rn rn rn rn rn rn rn rn rn rn rn "
192		"rc {4 {{ {3 r3 rn rn rn rn rn rn rn rn rn rn rn rn rn rn "
193		".. .. r3 r1 rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn "
194		"r1 r1 rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn "
195		)
196	)
197
198 #f              ; wraps
199 #t              ; underground
200 #f              ; large-scale (wilderness)
201 #f              ; tmp combat place
202 nil ; subplaces
203 nil ; neighbors
204
205 (list (put (mk-monman) 0 0) ; objects
206 (put (mk-bump-door 'p_road_to_absalot_3 17 12) 0 2)
207 (put (mk-bump-door 'p_road_to_absalot_1 17 6) 0 38)
208 (put (make-invisible (mk-r2a-statue)) 4 17)
209 (put (spawn-pt 'bat) 15 22)
210 (put (spawn-pt 'bat) 10 10)
211 (put (spawn-pt 'bat) 10 30)
212 (put (spawn-pt 'bat) 16 30)
213 (put (spawn-pt 'bat) 16 15)
214 )
215 (list
216	'fix-lava
217	'on-entry-to-dungeon-room
218	) ;; hooks
219 	nil
220 )
221
222(mk-place-music p_absalot_passage 'ml-dungeon-adventure)
223
224(mk-dungeon-level
225 (list p_road_to_absalot_3)
226 (list p_fire_bridge)
227 (list p_road_to_absalot_1)
228 )
229
230(mk-tower
231 'p_gate_to_absalot "Gate To Absalot"
232	(list
233		"^^ ^^ ^^ ^^ ^^ ^^ ^^ xx xx xx xx xx ^^ ^^ ^^ ^^ ^^ ^^ ^^ "
234		"^^ ^^ ^^ xx xx xx xx xx ,, ,, ,, xx xx xx xx rr ^^ ^^ ^^ "
235		"^^ ^^ ^^ xx ,, ,, ,, xx .. ,, ,, xx ,, ,, ,, bb ^^ ^^ ^^ "
236		"^^ ^^ ^^ xx bb ,, ,, ,, ,, ,, ,, ,, ,, .. ,, rr ^^ ^^ ^^ "
237		"^^ ^^ ^^ xx ,, .. ,, xx ,, ,, ,, xx ,, ,, ,, xx ^^ ^^ ^^ "
238		"^^ ^^ ^^ xx ,, ,, ,, xx xx bb xx rr ,, ,, bb xx ^^ ^^ ^^ "
239		"^^ ^^ ^^ xx ,, ,, bb xx bb bb bb xx ,, ,, ,, xx ^^ ^^ ^^ "
240		"^^ ^^ ^^ xx ,, ,, ,, w+ .. bb .. w+ ,, ,, ,, xx ^^ ^^ ^^ "
241		"^^ ^^ ^^ xx ,, ,, ,, xx .. .. .. xx bb ,, ,, xx ^^ ^^ ^^ "
242		"^^ ^^ ^^ xx xx w+ xx rr .. .. .. xx xx w+ xx xx ^^ ^^ ^^ "
243		"^^ ^^ ^^ {{ {a .. .. .. .. .. .. .. .. .. {c {{ ^^ ^^ ^^ "
244		"^^ ^^ ^^ {{ {{ {2 .. .. .. .. .. .. .. {4 {{ {{ ^^ ^^ ^^ "
245		"^^ ^^ ^^ {{ {{ {2 .. .. .. && .. .. .. {4 {{ {{ ^^ ^^ ^^ "
246		"^^ ^^ ^^ {{ {{ {a .. .. .. .. .. .. .. {c {{ {{ ^^ ^^ ^^ "
247		"^^ ^^ ^^ ^^ {{ {{ {a .. .. .. .. .. {c {{ {{ ^^ ^^ ^^ ^^ "
248		"^^ ^^ ^^ ^^ ^^ {{ {{ {2 .. .. .. {4 {{ {{ ^^ ^^ ^^ ^^ ^^ "
249		"^^ ^^ ^^ ^^ ^^ {{ {{ {2 .. .. .. {4 {{ {{ ^^ ^^ ^^ ^^ ^^ "
250		"^^ ^^ ^^ ^^ {{ {{ {3 .. .. .. .. .. {5 {{ {{ ^^ ^^ ^^ ^^ "
251		"^^ ^^ ^^ {{ {{ {3 .. .. .. .. .. .. .. {5 {{ {{ ^^ ^^ ^^ "
252	)
253	(list
254		(list northwest 14 18)
255		(list northeast 4 18)
256	)
257 (put (mk-ladder-down 'p_road_to_absalot_1 9 9) 9 1)
258 (put (mk-joel) 9 10)
259 (put (mk-npc 'bull 4) 12 12)
260 (put (mk-npc 'bull 4) 10 15)
261 )
262
263(mk-place-music p_gate_to_absalot 'ml-small-town)
264
265(mk-tower
266 'p_tower_of_absalot "Tower of Absalot"
267	(list
268		"^^ tt tt tc %% te bb %% .. .. ta tc bb ta tc %% %% %c ^^ "
269		"^^ ta tt %b ~f %% %% %% %% =| %d bb %b %% %% %% ~f ^3 ^^ "
270		"^^ ^5 tt t5 %e t7 bb %e .. .. .. %f bb t7 %a ~f ^b ^^ ^^ "
271		"^^ ^^ tt tt tt tt td bb .. .. .. bb tb tt t5 %a ~f ^a ^^ "
272		"^^ ^^ tt tt tc xx w+ xx rr .. xx xx bb xx ta tt tt t5 ^^ "
273		"^^ ^^ tt tt xx xx ,, ,, w+ .. w+ ,, ,, xx xx tt tt tt ^^ "
274		"^^ ^^ tt tt w+ ,, ,, ,, rr d, xx ,, ,, ,, w+ tt tt tt ^^ "
275		"^^ ^^ ta tt xx ,, ,, ,, ,, ,, ,, ,, ,, ,, xx tt tt tc ^^ "
276		"^^ ^^ ^5 tt xx ,, ,, ,, ,, ,, ,, ,, ,, ,, xx tt tt ^3 ^^ "
277		"^^ ^^ ^^ tt bb .. ,, ,, ,, /c ,, ,, ,, ,, w+ tt tt ^^ ^^ "
278		"^^ ^^ ^^ tt t5 .. ,, ,, ,, ,, ,, ,, ,, ,, rr tt tt ^^ ^^ "
279		"^^ ^^ ^c tt tc .. .. ,, ,, ,, ,, ,, ,, ,, rr tt tt ^^ ^^ "
280		"^^ ^^ t3 tt bb .. ,, ,, ,, ,, ,, ,, ,, ,, w+ tt tt ^^ ^^ "
281		"^^ ^^ ta tt rr rr ,, ,, ,, ,, ,, ,, ,, xx xx tt tc ^^ ^^ "
282		"^^ ^^ ^5 tt t5 rr w+ xx xx w+ xx xx w+ xx t3 tt ^3 ^^ ^^ "
283		"^^ ^^ ^^ ta tt tt tt tt tt tt tt tt tt tt tt tc ^^ ^^ ^^ "
284		"^^ ^^ ^^ ^^ ^5 ta tt tt tt tt tt tt tt tt tc ^3 ^^ ^^ ^^ "
285		"^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ "
286		"^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ "
287	)
288	(list
289		(list southwest 11 0)
290		(list southeast 2 0)
291	)
292 (put (mk-ladder-down 'p_road_to_absalot_3 9 7) 9 9)
293 (put (spawn-pt 'death-knight) 6 7)
294 (put (spawn-pt 'ghast) 12 11)
295 )
296
297(mk-place-music p_tower_of_absalot 'ml-outdoor-adventure)
298