1 (kern-load "enchanters-tower-mech.scm")
3 ;;----------------------------------------------------------------------------
6 ;; Declare the map for the place here.
7 ;;----------------------------------------------------------------------------
9 'm_enchanters_tower 31 31 pal_expanded
11 "tt tt bb te bb |v |v tt %a %% %% %% %% %c .. .. .. %a %% %% %% %% %% %% %% %% %% %% %% %% %% "
12 "bb te .. t% tb tt |v |v tt t5 %% %% %% bb .. .. .. bb .. bb .. bb .. bb .. bb .. bb .. %a %% "
13 "td t# .. .. .. .. bb |v |v tt %% %% %% .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. %% "
14 "bb .. .. .. .. .. .. ta |v |v %a %% %% bb .. .. .. bb .. bb .. bb .. bb .. bb .. .. .. bb %% "
15 "|v .. .. .. .. .. .. .. bb |v t5 %% %% %d .. .. .. %b %% %% %% %% %% %% %% %% %5 .. .. .. %% "
16 "|v bb .. .. .. .. .. .. .. |v |v %a %c xx w+ cc w+ xx %e tb tt tt tt tt t5 %a %% bb .. bb %% "
17 "|v |v .. .. .. .. && .. .. ta |v xx xx xx ,, cc ,, xx xx xx |v |v |v tt tt t5 %% .. .. .. %% "
18 "tc bb .. .. bb .. .. .. .. xx w+ xx && xx ,, cc ,, xx ,, xx xx xx |v |v |v tt %% bb .. bb %% "
19 "%5 .. .. |v |v tA .. .. xx xx ,, ,, ,, xx x! cc x! xx ,, 00 x! xx ?? xx |v tt %% .. .. .. %% "
20 "%% bb .. bb |v t5 tA xx xx ,, ,, ,, ,, xx ,, cc ,, xx ,, ,, xx ,, ,, xx |v tt %% bb .. bb %% "
21 "%% .. .. |v |v tt td xx ,, ,, 00 ,, ,, xx ,, cc ,, xx ,, ,, xx xx xx xx |v tc %% .. .. .. %% "
22 "%% bb .. bb |v |v xx xx ,, ,, 00 ,, ,, xx ,, cc ,, xx ,, ,, ,, ,, ,, xx xx %3 %% bb .. bb %% "
23 "%% .. .. %f ta |v xx ,, ,, ,, ,, ,, ,, ,, ,, cc ,, ,, ,, ,, ,, ,, ,, && xx %a %% .. .. .. %% "
24 "%c bb .. bb %f xx xx xx xx xx xx xx xx xx ,, cc ,, xx xx xx xx xx xx xx xx xx %e bb .. bb %a "
25 ".. .. .. .. .. w+ ,, ,, ,, ,, xx ,, ,, x! ,, cc ,, ,, xx ,, xx ,, ,, ,, ,, w+ .. .. .. .. .. "
26 ".. .. .. .. .. cc cc cc cc ,, xx ,, ,, ,, ,, cc cc ,, xx w+ xx ,, cc cc cc cc .. .. .. .. .. "
27 ".. .. .. .. .. w+ ,, ,, cc ,, xx ,, ,, xx ,, cc ,, ,, xx ,, xx ,, cc ,, ,, w+ .. .. .. .. .. "
28 "%5 bb .. bb %7 xx xx x! cc x! xx xx xx xx ,, cc ,, xx xx xx xx x! cc x! xx xx %7 bb .. bb %3 "
29 "%% %% %% %% %% %5 w+ ,, cc ,, ,, ,, ,, ,, ,, cc ,, ,, ,, ,, ,, ,, cc ,, w+ t7 %a %% %% %% %% "
30 "%% %c .. %a %% %% xx xx cc ,, pp ,, ,, pp ,, cc ,, pp ,, ,, pp ,, cc xx xx tt tt tt tt tt tt "
31 "%% .. .. .. %% %% %5 w+ cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc xx t3 |v |v |v |v |v tt "
32 "%% %5 .. %3 %% %% %% xx xx cc cc cc cc cc cc cc cc cc cc cc cc cc xx xx |v |v bb te bb |v |v "
33 "%% %% %% %% %% %% %% %5 xx xx x! ,, ,, pp ,, cc ,, pp ,, ,, x! xx xx |v |v tt td t& tb tt |v "
34 "%% %c t3 tt tt t5 tA %a %5 xx xx xx ,, ,, ,, cc ,, ,, ,, xx xx xx tb |v |v bb .. .. .. bb |v "
35 "%c t3 tL ~3 ~5 tJ t5 tA %a %% %5 xx w+ xx xx cc xx xx w+ xx %3 %% ~5 ta |v td .. ++ .. tb |v "
36 "tt tL ~3 -- -- ~5 tJ t5 .. %% %% %% %5 xx ,, cc ,, xx %3 %% %% ~b ~~ -d |v bb .. .. .. bb |v "
37 "tt ~3 -- __ __ -- ~5 tt .. %% %% %% %% xx ,, cc ,, xx %a %% %% %% ~c %% |v |v td .. tb |v |v "
38 "tt ~a -- __ __ -- ~c tt .. %% %% %% %% xx w+ cc w+ xx .. bb .. bb %% %c |v |v bb .. bb |v |v "
39 "tt tH ~a -- -- ~c tG tc .. %e .. %a %% .. .. .. .. .. .. .. .. .. == .. tt tc tA .. t3 |v |v "
40 "%5 ta tH ~a ~c tG tc t# %7 .. .. .. %% bb .. .. .. bb .. bb .. bb %% %5 |v bb t7 bb |v |v |v "
41 "%% %5 tt tt tt tt t# %3 %% %5 .. %3 %% %5 .. .. .. %3 %% %% %% %% %% %% |v |v |v |v |v |v |v "
46 'm_enchanters_tower_l2 31 31 pal_expanded
48 "tt tt bb te bb |. |. tt %a %% %% %% %% %c .. .. .. %a %% %% %% %% %% %% %% %% %% %% %% %% %% "
49 "bb te .. t% tb tt |. |. tt t5 %% %% %% bb .. .. .. bb .. bb .. bb .. bb .. bb .. bb .. %a %% "
50 "td t# .. .. .. .. bb |. |. tt %% %% %% .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. %% "
51 "bb .. .. .. .. .. .. ta |. |. %a %% %% bb .. .. .. bb .. bb .. bb .. bb .. bb .. .. .. bb %% "
52 "|. .. .. .. .. .. .. .. bb |. t5 %% %% %d .. .. .. %b %% %% %% %% %% %% %% %% %5 .. .. .. %% "
53 "|. bb .. .. .. .. .. .. .. |. |. %a %c ee ee ee ee ee %e tb tt tt tt tt t5 %a %% bb .. bb %% "
54 "|. |. .. .. .. .. && .. .. ta |. ee ee ee ee ee ee ee ee ee |. |. |. tt tt t5 %% .. .. .. %% "
55 "tc bb .. .. bb .. .. .. .. ee ee ee ee ee ee ee ee ee ee ee ee ee |. |. |. tt %% bb .. bb %% "
56 "%5 .. .. |. |. tA .. .. ee ee ee ee xx w+ xx xx xx w+ xx ee ee ee ee ee |. tt %% .. .. .. %% "
57 "%% bb .. bb |. t5 tA ee ee ee xx xx xx ,, ,, xx ,, ,, xx xx xx ee ee ee |. tt %% bb .. bb %% "
58 "%% .. .. |. |. tt td ee ee xx xx ,, ,, ,, ,, xx ,, ,, ,, 00 xx xx ee ee |. tc %% .. .. .. %% "
59 "%% bb .. bb |. |. ee ee ee w+ ,, ,, ,, ,, ,, x! ,, ,, ,, ,, ,, w+ ee ee ee %3 %% bb .. bb %% "
60 "%% .. .. %f ta |. ee ee xx xx ,, 00 ,, ,, ,, xx ,, ,, ,, xx xx xx xx ee ee %a %% .. .. .. %% "
61 "%c bb .. bb %f ee ee ee xx ,, ,, ,, xx xx ,, xx ,, xx xx xx [[ ]] xx ee ee ee %e bb .. bb %a "
62 ".. .. .. .. .. ee ee ee w+ ,, ,, ,, xx ,, ,, ,, ,, ,, xx 00 ,, 00 xx ee ee ee .. .. .. .. .. "
63 ".. .. .. .. .. ee ee ee xx ,, ,, ,, x! ,, cc cc cc ,, x! ,, ,, 00 xx ee ee ee .. .. .. .. .. "
64 ".. .. .. .. .. ee ee ee xx xx xx xx xx ,, ,, ,, ,, ,, xx 00 ,, 00 xx ee ee ee .. .. .. .. .. "
65 "%5 bb .. bb %7 ee ee ee xx ,, ,, xx xx xx x! ,, x! xx xx xx [[ ]] xx ee ee ee %7 bb .. bb %3 "
66 "%% %% %% %% %% %5 ee ee xx xx xx x! ,, ,, ,, ,, ,, ,, ,, x! xx xx xx ee ee t7 %a %% %% %% %% "
67 "%% %c .. %a %% %% ee ee ee w+ ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, w+ ee ee ee tt tt tt tt tt tt "
68 "%% .. .. .. %% %% %5 ee ee xx xx [[ ]] ,, ,, ,, ,, ,, [[ ]] xx xx ee ee t3 |. |. |. |. |. tt "
69 "%% %5 .. %3 %% %% %% ee ee ee xx w+ xx [[ @@ @@ @@ ]] xx w+ xx ee ee ee |. |. bb te bb |. |. "
70 "%% %% %% %% %% %% %% %5 ee ee ee ee xx w+ xx xx xx w+ xx ee ee ee ee |. |. tt td t& tb tt |. "
71 "%% %c t3 tt tt t5 tA %a %5 ee ee ee ee ee ee ee ee ee ee ee ee ee tb |. |. bb .. .. .. bb |. "
72 "%c t3 tL ~3 ~5 tJ t5 tA %a %% %5 ee ee ee ee ee ee ee ee ee %3 %% ~5 ta |. td .. ++ .. tb |. "
73 "tt tL ~3 -- -- ~5 tJ t5 .. %% %% %% %5 ee ee ee ee ee %3 %% %% ~b ~~ -d |. bb .. .. .. bb |. "
74 "tt ~3 -- __ __ -- ~5 tt .. %% %% %% %% ee ee ee ee ee %a %% %% %% ~c %% |. |. td .. tb |. |. "
75 "tt ~a -- __ __ -- ~c tt .. %% %% %% %% ee ee ee ee ee .. bb .. bb %% %c |. |. bb .. bb |. |. "
76 "tt tH ~a -- -- ~c tG tc .. %e .. %a %% .. .. .. .. .. .. .. .. .. == .. tt tc tA .. t3 |. |. "
77 "%5 ta tH ~a ~c tG tc t# %7 .. .. .. %% bb .. .. .. bb .. bb .. bb %% %5 |. bb t7 bb |. |. |. "
78 "%% %5 tt tt tt tt t# %3 %% %5 .. %3 %% %5 .. .. .. %3 %% %% %% %% %% %% |. |. |. |. |. |. |. "
83 'm_enchanters_tower_l3 31 31 pal_expanded
85 "tt tt bb te bb |. |. tt %a %% %% %% %% %c .. .. .. %a %% %% %% %% %% %% %% %% %% %% %% %% %% "
86 "bb te .. t% tb tt |. |. tt t5 %% %% %% bb .. .. .. bb .. bb .. bb .. bb .. bb .. bb .. %a %% "
87 "td t# .. .. .. .. bb |. |. tt %% %% %% .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. %% "
88 "bb .. .. .. .. .. .. ta |. |. %a %% %% bb .. .. .. bb .. bb .. bb .. bb .. bb .. .. .. bb %% "
89 "|. .. .. .. .. .. .. .. bb |. t5 %% %% %d .. .. .. %b %% %% %% %% %% %% %% %% %5 .. .. .. %% "
90 "|. bb .. .. .. .. .. .. .. |. |. %a %c ee ee ee ee ee %e tb tt tt tt tt t5 %a %% bb .. bb %% "
91 "|. |. .. .. .. .. && .. .. ta |. ee ee ee ee ee ee ee ee ee |. |. |. tt tt t5 %% .. .. .. %% "
92 "tc bb .. .. bb .. .. .. .. ee ee ee ee ee ee ee ee ee ee ee ee ee |. |. |. tt %% bb .. bb %% "
93 "%5 .. .. |. |. tA .. .. ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee |. tt %% .. .. .. %% "
94 "%% bb .. bb |. t5 tA ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee |. tt %% bb .. bb %% "
95 "%% .. .. |. |. tt td ee ee ee ee ee ee 00 00 00 00 00 ee ee ee ee ee ee |. tc %% .. .. .. %% "
96 "%% bb .. bb |. |. ee ee ee ee ee 00 00 00 ,, ,, ,, 00 00 00 ee ee ee ee ee %3 %% bb .. bb %% "
97 "%% .. .. %f ta |. ee ee ee ee ee 00 ,, ,, ,, xx ,, ,, ,, 00 ee ee ee ee ee %a %% .. .. .. %% "
98 "%c bb .. bb %f ee ee ee ee ee 00 00 ,, x! ,, ,, ,, x! ,, 00 00 ee ee ee ee ee %e bb .. bb %a "
99 ".. .. .. .. .. ee ee ee ee ee 00 ,, ,, ,, ,, cc ,, ,, ,, ,, 00 ee ee ee ee ee .. .. .. .. .. "
100 ".. .. .. .. .. ee ee ee ee ee 00 ,, xx ,, cc cc cc ,, xx ,, 00 ee ee ee ee ee .. .. .. .. .. "
101 ".. .. .. .. .. ee ee ee ee ee 00 ,, ,, ,, ,, cc ,, ,, ,, ,, 00 ee ee ee ee ee .. .. .. .. .. "
102 "%5 bb .. bb %7 ee ee ee ee ee 00 00 ,, x! ,, ,, ,, x! ,, 00 00 ee ee ee ee ee %7 bb .. bb %3 "
103 "%% %% %% %% %% %5 ee ee ee ee ee 00 ,, ,, ,, xx ,, ,, ,, 00 ee ee ee ee ee t7 %a %% %% %% %% "
104 "%% %c .. %a %% %% ee ee ee ee ee 00 00 00 ,, ,, ,, 00 00 00 ee ee ee ee ee tt tt tt tt tt tt "
105 "%% .. .. .. %% %% %5 ee ee ee ee ee ee 00 00 00 00 00 ee ee ee ee ee ee t3 |. |. |. |. |. tt "
106 "%% %5 .. %3 %% %% %% ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee |. |. bb te bb |. |. "
107 "%% %% %% %% %% %% %% %5 ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee |. |. tt td t& tb tt |. "
108 "%% %c t3 tt tt t5 tA %a %5 ee ee ee ee ee ee ee ee ee ee ee ee ee tb |. |. bb .. .. .. bb |. "
109 "%c t3 tL ~3 ~5 tJ t5 tA %a %% %5 ee ee ee ee ee ee ee ee ee %3 %% ~5 ta |. td .. ++ .. tb |. "
110 "tt tL ~3 -- -- ~5 tJ t5 .. %% %% %% %5 ee ee ee ee ee %3 %% %% ~b ~~ -d |. bb .. .. .. bb |. "
111 "tt ~3 -- __ __ -- ~5 tt .. %% %% %% %% ee ee ee ee ee %a %% %% %% ~c %% |. |. td .. tb |. |. "
112 "tt ~a -- __ __ -- ~c tt .. %% %% %% %% ee ee ee ee ee .. bb .. bb %% %c |. |. bb .. bb |. |. "
113 "tt tH ~a -- -- ~c tG tc .. %e .. %a %% .. .. .. .. .. .. .. .. .. == .. tt tc tA .. t3 |. |. "
114 "%5 ta tH ~a ~c tG tc t# %7 .. .. .. %% bb .. .. .. bb .. bb .. bb %% %5 |. bb t7 bb |. |. |. "
115 "%% %5 tt tt tt tt t# %3 %% %5 .. %3 %% %5 .. .. .. %3 %% %% %% %% %% %% |. |. |. |. |. |. |. "
119 ;;----------------------------------------------------------------------------
122 ;; kern-load the character files here and call their first-time constructors.
123 ;;----------------------------------------------------------------------------
124 (kern-load "zane.scm")
125 (mk-zane-first-time 'ch_zane)
127 ;;(kern-load "gate-guard.scm")
129 (kern-load "enchanter.scm")
130 (mk-enchanter-first-time 'ch_enchanter)
132 ;;----------------------------------------------------------------------------
135 ;; Call the place constructor here.
136 ;;----------------------------------------------------------------------------
138 'p_enchanters_tower ; tag
139 "Enchanters Tower" ; name
141 m_enchanters_tower ; map
144 #f ; large-scale (wilderness)
145 #f ; tmp combat place
155 ;; magically locked doors at all entrances
156 (put (mk-magic-locked-door) 5 15)
157 (put (mk-magic-locked-door) 25 15)
158 (put (mk-magic-locked-door) 15 5)
159 (put (mk-magic-locked-door) 15 27)
162 ;; (put (kern-mk-obj t_poison_immunity_potion 1) 14 4)
163 ;; (put (kern-mk-obj t_in_ex_por_scroll 1) 16 4)
165 ;; portcullis's & levers for west store room
166 (put (kern-tag 'enchtwr-port-4 (mk-portcullis)) 13 15)
167 (put (mk-lever 'enchtwr-port-4) 21 9)
169 ;; treasure in west store room
172 '((10 sulphorous_ash)
180 (1 t_spell_book_white_magick_1)
181 (1 t_spell_book_white_magick_2)
189 (5 t_poison_immunity_potion)
190 (1 t_invisibility_potion)
191 (1 t_spell_book_force_magick_fields)
203 (put (mk-magic-locked-door) 19 14)
206 (put (mk-door) 15 24)
207 (put (mk-door) 22 17)
210 (put (mk-ladder-up 'p_enchanters_tower_l2 16 15)
213 (put (mk-door) 13 12)
214 (put (mk-door) 17 12)
215 (put (mk-clock) 7 12)
217 (put (mk-shelf) 18 7)
218 (put (mk-shelf) 19 10)
221 (list 'on-entry-trigger-all 'quest-calltoarms-tower) ; hooks
222 (list ; edge entrances
223 (list northeast 3 30)
224 (list southwest 30 14)
229 (mk-place-music p_enchanters_tower 'ml-castle)
232 'p_enchanters_tower_l2 ; tag
233 "Enchanters Tower" ; name
235 m_enchanters_tower_l2 ; map
238 #f ; large-scale (wilderness)
239 #f ; tmp combat place
245 (put (mk-ladder-down 'p_enchanters_tower 16 15)
247 (put (mk-ladder-up 'p_enchanters_tower_l3 14 15)
250 (put (mk-door) 16 13)
251 (put (mk-door) 14 13)
252 (put (mk-door) 15 17)
256 (put (mk-shelf) 14 9)
257 (put (mk-shelf) 14 10)
258 (put (mk-shelf) 14 11)
259 (put (mk-shelf) 11 10)
260 (put (mk-shelf) 12 10)
261 (put (mk-shelf) 12 12)
262 (put (mk-shelf) 9 13)
263 (put (mk-shelf) 11 13)
265 (put (mk-shelf) 10 15)
266 (put (mk-shelf) 11 15)
268 (put (mk-shelf) 16 18)
269 (put (mk-shelf) 17 18)
271 (put (mk-hidden 't_ylem_an_ex_book 1) 14 9)
272 (put (mk-hidden 't_bet_flam_hur_book 1) 11 10)
274 ;; treasure in east store room
275 (put (kern-mk-obj t_doom_staff 1) 20 13)
276 (put (kern-mk-obj t_xen_corp_scroll 1) 21 13)
278 (put (kern-mk-obj t_an_tym_scroll 1) 21 14)
280 (put (kern-mk-obj t_vas_rel_por_scroll 1) 20 17)
281 (put (kern-mk-obj t_spell_book_divination 1) 20 17)
282 (put (kern-mk-obj t_in_vas_por_ylem_scroll 1) 21 17)
283 (put (kern-mk-obj t_spell_book_gate_magick 1) 21 17)
285 (put (kern-mk-obj t_spell_book_enchantment_wards 1) 21 15)
286 (put (kern-mk-obj t_spell_book_enchantment_curses 1) 21 15)
287 (put (kern-mk-obj t_spell_book_enchantment_miscellanea 1) 21 15)
289 (put (kern-mk-obj t_gold_coins 500) 21 16)
291 (put (kern-mk-obj t_mans_note 1) 19 16)
294 (put (kern-tag 'openlibwall
304 (put (kern-tag 'closelibwall
315 (list 'on-entry-trigger-all) ; hooks
319 (mk-place-music p_enchanters_tower_l2 'ml-castle)
321 ;;plain old mirror mirror
322 (let* ((kmir (kern-tag 'ench-guest-mirror (mk-mirror 's_mirror_bg_flagstones)))
323 (ksen (mk-char-sensor 'ench-guest-mirror)))
324 (kern-obj-put-at kmir (list p_enchanters_tower_l2 16 9))
325 (kern-obj-put-at ksen (list p_enchanters_tower_l2 16 10)))
327 ;;decorative test mirror
328 (let* ((testmirror1 (kern-tag 'ench-test-mirror1
329 (mk-mag-mirror 's_mirror_bg_flagstones
330 (list 'p_enchanters_tower_l2 14 19)
331 (list 'p_enchanters_tower_l2 12 19)
334 (testmirror2 (kern-tag 'ench-test-mirror2
335 (mk-mag-mirror 's_mirror_bg_flagstones
336 (list 'p_enchanters_tower_l2 12 19)
337 (list 'p_enchanters_tower_l2 14 19)
340 (sigsplit (kern-tag 'ench-test-mirrors
341 (mk-sig-splitter (list 'ench-test-mirror1 'ench-test-mirror2 nil))
343 (kern-obj-put-at testmirror1 (list p_enchanters_tower_l2 12 18))
344 (kern-obj-put-at testmirror2 (list p_enchanters_tower_l2 14 18))
345 (kern-obj-put-at sigsplit (list p_enchanters_tower_l2 0 0))
346 (kern-obj-put-at (mk-char-sensor 'ench-test-mirrors) (list p_enchanters_tower_l2 12 19))
347 (kern-obj-put-at (mk-char-sensor 'ench-test-mirrors) (list p_enchanters_tower_l2 14 19))
348 (kern-obj-put-at (mk-lever-on 'ench-test-mirrors) (list p_enchanters_tower_l2 13 18))
351 ;;working portal mirror
352 (let* ((doormirror1 (kern-tag 'ench-door-mirror1
353 (mk-mag-mirror 's_mirror_bg_flagstones
354 (list 'p_enchanters_tower_l2 20 15)
355 (list 'p_enchanters_tower_l2 9 17)
358 (doormirror2 (kern-tag 'ench-door-mirror2
359 (mk-mag-mirror 's_mirror_bg_flagstones
360 (list 'p_enchanters_tower_l2 9 17)
361 (list 'p_enchanters_tower_l2 20 15)
364 (sigsplit (kern-tag 'ench-door-mirrors
365 (mk-sig-splitter (list 'ench-door-mirror1 'ench-door-mirror2 nil))
367 (kern-obj-put-at doormirror1 (list p_enchanters_tower_l2 10 17))
368 (kern-obj-put-at doormirror2 (list p_enchanters_tower_l2 19 15))
369 (kern-obj-put-at sigsplit (list p_enchanters_tower_l2 0 0))
370 (kern-obj-put-at (mk-char-sensor 'ench-door-mirrors) (list p_enchanters_tower_l2 9 17))
371 (kern-obj-put-at (mk-char-sensor 'ench-door-mirrors) (list p_enchanters_tower_l2 20 15))
372 (kern-obj-put-at (mk-lever 'ench-door-mirrors) (list p_enchanters_tower 19 16))
375 ;;ench bedroom entrance
376 (let* ((broomwall (kern-tag 'ench-broom-wall
377 (mk-bim-secret 't_secret_door 't_wall (list 'p_enchanters_tower 19 13)))))
378 (kern-obj-put-at ench-broom-wall (list p_enchanters_tower 19 13))
379 (kern-obj-put-at (mk-hidden-mech) (list p_enchanters_tower 20 8))
380 (kern-obj-put-at (mk-disg-lvr 'ench-broom-wall 's_wall_torch) (list p_enchanters_tower 20 8))
383 ;;library wall entrance
384 (let* ((libwall (kern-tag 'ench-lib-wall
385 (mk-bim-secret 't_secret_door 't_wall (list 'p_enchanters_tower_l2 9 16)))))
386 (kern-obj-put-at ench-lib-wall (list p_enchanters_tower_l2 9 16))
387 (kern-obj-put-at (mk-moving-shelf
388 (list 'p_enchanters_tower_l2 10 15)
389 (list 'p_enchanters_tower_l2 9 15)
391 (list p_enchanters_tower_l2 9 15))
395 (kern-obj-put-at (mk-mag-clock) (list p_enchanters_tower_l2 18 18))
399 'p_enchanters_tower_l3 ; tag
400 "Enchanters Tower Roof" ; name
402 m_enchanters_tower_l3 ; map
405 #f ; large-scale (wilderness)
406 #f ; tmp combat place
411 (put (mk-ladder-down 'p_enchanters_tower_l2 14 15)
413 ;; this needs a telescope
416 (list 'on-entry-trigger-all) ; hooks
420 (define (obj-line objfactory place yloc xloc xmax)
421 (kern-obj-put-at (objfactory xloc yloc) (list place xloc yloc))
423 (obj-line objfactory place yloc (+ xloc 1) xmax)
426 (define (obj-rect objfactory place xmin xmax ymin ymax)
427 (obj-line objfactory place ymin xmin xmax)
429 (obj-rect objfactory place xmin xmax (+ ymin 1) ymax)
432 (define (obj-list objfactory place loclist)
433 (kern-obj-put-at (objfactory (caar loclist) (cadar loclist)) (list place (caar loclist) (cadar loclist)))
434 (if (not (equal? (cadr loclist) '()))
435 (obj-list objfactory place (cdr loclist))
438 (mk-place-music p_enchanters_tower_l3 'ml-castle)
440 ;;no teleporting out of the tower!
441 ;; TODO use same mechanism as gryphon peak
444 (lambda (xloc yloc) (mk-blocker))))
445 (obj-rect blockers p_enchanters_tower_l2 0 30 0 7)
446 (obj-rect blockers p_enchanters_tower_l2 0 7 8 22)
447 (obj-rect blockers p_enchanters_tower_l2 23 30 8 22)
448 (obj-rect blockers p_enchanters_tower_l2 0 30 23 30)
449 (obj-rect blockers p_enchanters_tower_l2 8 11 8 8)
450 (obj-rect blockers p_enchanters_tower_l2 19 22 8 8)
451 (obj-rect blockers p_enchanters_tower_l2 8 11 22 22)
452 (obj-rect blockers p_enchanters_tower_l2 19 22 22 22)
453 (obj-list blockers p_enchanters_tower_l2 (list
454 (list 8 9) (list 8 10) (list 8 11) (list 9 9)
455 (list 22 9) (list 22 10) (list 22 11) (list 21 9)
456 (list 8 19) (list 8 20) (list 8 21) (list 9 21)
457 (list 22 19) (list 22 20) (list 22 21) (list 21 21)
459 (obj-rect blockers p_enchanters_tower_l3 0 30 0 9)
460 (obj-rect blockers p_enchanters_tower_l3 0 9 10 20)
461 (obj-rect blockers p_enchanters_tower_l3 21 30 10 20)
462 (obj-rect blockers p_enchanters_tower_l3 0 30 21 30)
463 (obj-rect blockers p_enchanters_tower_l3 10 12 10 10)
464 (obj-rect blockers p_enchanters_tower_l3 18 20 10 10)
465 (obj-rect blockers p_enchanters_tower_l3 10 12 20 20)
466 (obj-rect blockers p_enchanters_tower_l3 18 20 20 20)
467 (obj-list blockers p_enchanters_tower_l3 (list
468 (list 10 11) (list 10 12) (list 20 11) (list 20 12)
469 (list 10 18) (list 10 19) (list 20 18) (list 20 29)