1;;;;
2;;;; goblin-kingdoms.scm -- dungeon rooms for the first level of Kurpolis
3;;;;
4
5;;
6;; load characters
7;;
8(kern-load "douglas.scm")
9
10;;
11;; define dungeon rooms
12;;
13
14(mk-dungeon-room
15 'p_kurpolis_entrance "Entrance to Kurpolis"
16	(list
17		"rr rr rr rr xx xx x! xx xx && xx xx x! xx xx rn rn rn rn "
18		"rr .. .. .. ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, xx rn rn rn rn "
19		"xx xx x! xx xx ,, ,, ,, ,, ,, ,, ,, ,, ,, xx rn rn rn rn "
20		"xx xx ,, ,, ,, ,, ,, [[ @@ @@ @@ ]] ,, ,, x! rn rn rn rn "
21		"xx xx ,, xx xx ,, ,, ,, ,, ,, ,, ,, ,, ,, xx rn rn rn rn "
22		"xx xx ,, xx xx ,, ,, ,, ,, ,, ,, ,, ,, ,, xx rn r8 r8 rn "
23		"xx xx ,, xx xx xx xx xx xx x! xx xx xx xx xx rc bb ,, ra "
24		"xx xx ,, xx xx .K .U .R .P .O .L .I .S xx ,, bb bb bb ,, "
25		"xx xx ,, xx x! ,, ,, ,, ,, ,, ,, ,, ,, x! bb bb ,, bb ,, "
26		"xx ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, w+ ,, bb ,, ,, ,, "
27		"x! ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, bb ,, "
28		"xx ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, w+ bb bb bb bb ,, "
29		"xx xx ,, xx x! ,, ,, ,, ,, ,, ,, ,, ,, x! bb bb ,, bb r3 "
30		"xx xx ,, xx xx xx xx xx xx xx xx xx xx xx xx ,, bb r3 rn "
31		"xx xx ,, xx xx ,, ,, ,, ,, ,, ,, ,, ,, ,, xx r1 r1 rn rn "
32		"xx xx ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, xx rn rn rn rn "
33		"xx xx x! xx xx ,, ,, ,, ,, ,, ,, ,, ,, ,, xx rn rn rn rn "
34		"rn rn rn rn xx ,, ,, ,, ,, ,, ,, ,, ,, ,, xx rn rn rn rn "
35		"rn rn rn rn xx xx xx xx xx xx xx xx xx xx xx rn rn rn rn "
36	)
37 (put (mk-ladder-up 'p_shard 53 18) 9 10)
38 (put (mk-door) 2 8)
39 (put (mk-door) 2 12)
40 (put (mk-door) 4 15)
41 (put (mk-door) 4 3)
42 (put (mk-locked-door) 4 1)
43 (put (mk-windowed-door) 13 10)
44 (put (mk-chest nil '((10 t_food))) 1 1)
45 (put (mk-bed) 5 17)
46 (put (mk-bed) 7 17)
47 (put (mk-bed) 9 17)
48 (put (mk-bed) 11 17)
49 (put (mk-bed) 13 17)
50 (put (mk-clock) 13 5)
51 (put (spawn-pt 'cave-goblin-slinger) 18 7)
52 (put (spawn-pt 'cave-goblin-slinger) 18 11)
53 (put (spawn-pt 'cave-goblin-berserker) 15 9)
54 (put (guard-pt 'crossbowman) 12 9)
55 (put (guard-pt 'crossbowman) 12 11)
56 (put (guard-pt 'halberdier) 10 10)
57 (put (mk-douglas) 9 9)
58 )
59
60(mk-place-music p_kurpolis_entrance 'ml-castle)
61
62(mk-dungeon-room
63 'p_goblin_crossroads "Goblin Crossroads"
64	(list
65		"rn rn rn rn rn rn r4 {{ {{ ,, ,, {{ ra r8 r8 rn rn rn rn "
66		"rn rn rn rn rn rn rn r5 {{ ,, {# {{ {{ {{ {{ ra r8 rn rn "
67		"rn rn rn rn rn rn rn r4 {{ {{ ,, {5 {{ rf {{ {{ {{ r2 rn "
68		"rn rn rn rn rn rn rn rn r5 {{ ,, bb {5 {{ {{ {{ {{ r2 rn "
69		"rn rn rn rn rn rn rn rn r4 ,, {{ {a {8 {1 {5 {{ {{ ra rn "
70		"rn rn rn rn rn rn rn rn rn r5 {{ {{ {{ {a bb {d {{ {{ r2 "
71		"r8 r8 r8 rn rn rn rn rn rn r4 bb {{ {{ {{ {e {{ {{ {{ ra "
72		"{{ {{ {{ ra r8 rn rn rn rn rn r5 {{ {{ {{ {{ {{ {{ {{ {{ "
73		",, {{ {{ {a bb ra rn rn rn rn r4 {{ {{ {{ {{ {{ ,, {C ,, "
74		",, {E ,, {{ {6 {{ ra rn rn rn rc {{ {{ ,, ,, ,, {A ,, ,, "
75		",, ,, ,, {1 ,, ,, {{ ra r8 rc {{ {{ {{ {% ,, ,, ,, {% ,, "
76		"{{ {{ {{ {a bb .. {5 {{ {{ {{ {{ {{ {7 {{ {{ {{ {{ {{ {{ "
77		"r5 {{ {{ {{ {2 {8 bb {5 {{ {{ {{ {3 bb {d {{ {{ {{ r3 r1 "
78		"rn r5 {{ r3 rd {{ {a .. {5 {{ {{ {2 {c {{ {{ {{ r3 rn rn "
79		"rn rn r1 r4 {{ {{ {{ {a {8 {1 {1 {4 {{ {{ {{ {{ r2 rn rn "
80		"rn rn rn r4 {{ {{ {{ {{ {{ {2 bb {4 {{ {{ rb r1 rn rn rn "
81		"rn rn rn rn r5 {{ {{ {{ {{ ,, .. {c {{ {{ {{ r2 rn rn rn "
82		"rn rn rn rn rn r1 r5 {{ {{ {2 {4 {{ r3 r1 r1 rn rn rn rn "
83		"rn rn rn rn rn rn r4 {{ ,, .. .. r3 rn rn rn rn rn rn rn "
84	)
85 (put (spawn-pt 'cave-goblin-slinger) 14 11)
86 (put (spawn-pt 'cave-goblin-berserker) 15 9)
87 (put (spawn-pt 'cave-goblin-priest) 16 10)
88 (put (spawn-pt 'forest-goblin-hunter) 15 5)
89 (put (spawn-pt 'forest-goblin-hunter) 12 7)
90 (put (spawn-pt 'forest-goblin-shaman) 13 5)
91 (put (spawn-pt 'forest-goblin-stalker) 16 8)
92 )
93
94(mk-place-music p_goblin_crossroads 'ml-dungeon-adventure)
95
96(mk-dungeon-room
97 'p_cave_goblin_village "Cave Goblin Village"
98	(list
99		"rn rn rn rn rn rn r8 r8 r8 r8 r8 r8 rn rn rn rn rn rn rn "
100		"rn rn rn rn rn rc {{ {{ {{ {{ {{ {{ ra rn r8 r8 r8 rn rn "
101		"rn rn rn rn r4 {{ ,, ,, ,, ,, {A {{ {{ rr {{ {{ {{ ra rn "
102		"rn rn rn rn r4 {{ ,, ,, && ,, ,, bb {{ rr {{ ,, {A {{ r2 "
103		"rn rn rn rn r4 {{ ,, ,, ,, ,, ,, ,, {1 .. {9 ,, ,, {{ r2 "
104		"rn rn rn rn r4 {{ {a {8 ,, ,, {# {{ ,, rr {{ ,, ,, {{ r2 "
105		"r8 r8 r8 r8 rc {{ {{ {{ {6 {{ bb {C ,, rr {{ {{ {{ {{ r2 "
106		"{{ {{ {{ {{ bb {{ bb {{ {2 {5 {C ,, ,, rr r5 {{ {{ r3 rn "
107		"{{ {{ {{ {{ bb {{ {{ {3 ,, ,, ,, ,, {# rr rn r1 r1 rn rn "
108		",, {A ,, {9 .. {9 {1 ,, .. ,, ,, ,, {{ {{ ra rn rn rn rn "
109		",, ,, {c {{ bb {{ {a ,, ,, ,, ,, {4 {{ {{ {{ r2 rn rn rn "
110		"{{ {{ {{ {{ bb {{ {{ ,, ,, ,, ,, ,, {1 {5 {{ ra r8 rn rn "
111		"r1 r1 r1 r1 r5 {{ bb {% ,, ,, ,, {# ,, .. ~C ~~ ~~ ra rn "
112		"rn rn rn rn r4 {{ {{ {{ {D ,, {B {{ {{ {a ~3 -- -- ~~ r2 "
113		"rn rn rn rn rn r1 r5 bb bb .. bb bb rr {{ ~a -- -- ~~ r2 "
114		"rn rn rn rn rn rn r4 {{ {{ {6 {{ {{ rr {{ {H ~a ~c {G r2 "
115		"rn rn rn rn rn rn r4 {{ {{ {a {5 {{ rr r5 {{ {{ {{ {{ r2 "
116		"rn rn rn rn rn rn r4 {{ {{ {{ {6 {{ r2 r4 {{ {{ {{ r3 rn "
117		"rn rn rn rn rn rn r4 {{ {{ {3 {4 {{ r2 rn r1 r1 r1 rn rn "
118	)
119 (put (spawn-pt 'cave-goblin-slinger)    5  8)
120 (put (spawn-pt 'cave-goblin-slinger)    8  2)
121 (put (spawn-pt 'cave-goblin-slinger)    9  3)
122 (put (spawn-pt 'cave-goblin-slinger)   10 13)
123 (put (spawn-pt 'cave-goblin-berserker)  6 10)
124 (put (spawn-pt 'cave-goblin-berserker)  8  4)
125 (put (spawn-pt 'cave-goblin-berserker)  7  3)
126 (put (spawn-pt 'cave-goblin-berserker)  8 13)
127 (put (spawn-pt 'cave-goblin-priest)    15  4)
128 (put (spawn-pt 'cave-goblin-priest)     9  9)
129 (put (guard-pt 'cave-goblin-berserker) 14  4)
130 (put (guard-pt 'cave-goblin-priest)    16  4)
131 (put (mk-locked-door-in-rock) 13 4)
132 (put (mk-treasure-chest) 16 4)
133 (put (mk-treasure-chest) 16 5)
134 (put (mk-treasure-chest) 15 3)
135 )
136
137(mk-place-music p_cave_goblin_village 'ml-dungeon-adventure)
138
139(mk-dungeon-room
140 'p_trolls_den "Troll's Den"
141	(list
142		"rn r8 r8 r8 rn rn r4 {{ {2 ,, ,, {{ r2 rn rn rn rn rn rn "
143		"r4 {{ {{ {{ ra rn r4 {{ {2 ,, {B {{ r2 rn rn rn rn rn rn "
144		"r4 {{ {{ {{ {{ ra r4 {{ {a .. ,, {A r2 rn rn rn rn rn rn "
145		"r4 {{ {{ {{ {{ {{ ra r5 {{ {2 ,, bb r2 rn rn rn rn rn rn "
146		"rn r5 {{ {{ r7 {{ {{ re {{ ,, {c {{ r2 rn rn rn rn rn rn "
147		"rn r4 {{ rb rn rd {{ {{ {{ {6 {{ {{ r2 r8 r8 rn rn rn rn "
148		"rn rc {{ {{ re {{ {{ r7 {{ {a {5 {{ re {{ {{ ra r8 rn rn "
149		"r4 {{ {{ {{ {6 {{ rb rn rd {{ {2 {1 {8 {5 {{ {{ {{ ra rn "
150		"r4 {{ {{ {b bb {d {{ re {{ {3 .. r7 {{ {a {5 {{ {3 .. r2 "
151		"r4 {{ {{ {{ {e {{ {{ {{ {{ {2 rb rn rd {{ {2 {1 .. .. r2 "
152		"rn r5 {{ {{ {{ {{ r7 {{ {3 {c {{ re {{ {{ {2 .. .. && r2 "
153		"rn rn r5 {{ {{ rb rn rd {4 {{ {{ {{ {3 {1 .. {8 .. .. r2 "
154		"rn rn rc {{ {7 {{ re {{ {2 r3 r5 {1 bb {8 {c {{ {a .. r2 "
155		"rn rc {{ bb .. {5 {{ {3 {8 ra rn r5 {4 {{ {{ {{ {{ r3 rn "
156		"r4 {{ {3 .. .. .. {9 {c {{ {{ r2 rn r1 r5 {{ {{ {{ r2 rn "
157		"r4 {{ {a .. .. bb {{ {{ {{ {{ r2 rn rn rn r1 r1 r1 rn rn "
158		"r4 {{ {{ {a {8 bb {{ {{ r3 r1 rn rn rn rn rn rn rn rn rn "
159		"rn r5 {{ {{ {{ r3 r1 r1 rn rn rn rn rn rn rn rn rn rn rn "
160		"rn rn r1 r1 r1 rn rn rn rn rn rn rn rn rn rn rn rn rn rn "
161	)
162 (put (mk-ladder-up 'p_old_mine 17 17) 3 15)
163 (put (spawn-pt 'troll) 16 10)
164 (put (spawn-pt 'troll-geomancer) 17 9)
165 (put (spawn-pt 'troll) 17 11)
166 (put (kern-mk-obj t_food 1) 17 8)
167 (put (kern-mk-obj t_beer 1) 16 8)
168 (put (kern-mk-obj t_food 1) 16 12)
169 (put (kern-mk-obj t_beer 1) 15 11)
170 (put (mk-corpse-with-loot) 12 13)
171 (put (mk-corpse-with-loot) 14 14)
172 (put (mk-corpse-with-loot) 14 6)
173 )
174
175(mk-place-music p_trolls_den 'ml-dungeon-adventure)
176
177(mk-dungeon-room
178 'p_shamans_grove "Shaman's Grove"
179	(list
180		"rn rn rn rn rn rn rn rn r8 r8 r8 rn rn rn rn rn rn rn rn "
181		"rn rn rn rn rn rn rn rc t7 bb t7 ra rn rn rn rn rn rn rn "
182		"rn rn rn rn rn rn rc tb tt t| t| td ra rn rn rn rn rn rn "
183		"rn rn rn rn rn r4 t7 bb te t& te bb t7 r2 rn rn rn rn rn "
184		"rn rn rn rn rn r4 tt t5 tB aa tD t3 tt r2 rn rn rn rn rn "
185		"rn rn rn rn rn r4 ta tt td tE tb t| tc r2 rn rn rn rn rn "
186		"rn rn rn rn rn rn r5 te bb t7 bb te r3 rn rn rn rn rn rn "
187		"rn rn rn r8 r8 r8 rn r5 t3 tt t5 r3 rn r8 r8 r8 rn rn rn "
188		"rn rn rc t3 tt t5 ra r4 || |X || r2 rc |# |X |% ra rn rn "
189		"rn rc t3 tc t& ta t5 re |t || || re |# |X || || |% ra rn "
190		"r4 t3 tc t# .. t% te bb |X |X |t || || |X || || || |% r2 "
191		"r4 tt tB .. && .. tD tb || |t || || || |X tt || || || r2 "
192		"r4 ta t5 tA .. tC t7 bb || || || |t |X |t |X |X || |C r2 "
193		"rn r5 ta t5 tE t3 tc r7 |X || || r7 |A |X || || |C r3 rn "
194		"rn rn r5 ta tt tc r3 r4 |X || |X r2 r5 |A |t |C r3 rn rn "
195		"rn rn rn r1 r1 r1 rn r4 || tt || r2 rn r1 r1 r1 rn rn rn "
196		"rn rn rn rn rn rn rn r4 t| tt tt r2 rn rn rn rn rn rn rn "
197		"rn rn rn rn rn rn rn r4 ta tt tc r2 rn rn rn rn rn rn rn "
198		"rn rn rn rn rn rn rn r4 .. .. .. r2 rn rn rn rn rn rn rn "
199	)
200 (put (mk-ladder-down 'p_dank_cave 9 1) 14 11)
201 (put (spawn-pt 'forest-goblin-shaman) 9 3)
202 (put (spawn-pt 'forest-goblin-hunter) 3 11)
203 (put (spawn-pt 'forest-goblin-hunter) 4 10)
204 (put (spawn-pt 'forest-goblin-stalker) 5 11)
205 (put (mk-chest 'spike-trap
206                '((5 t_food)
207                  (20 t_arrow)
208                  (30 t_gold_coins)
209                  (3 t_heal_potion)
210                  ))
211      2 13)
212 (put (mk-chest 'lightning-trap
213                '((2 mandrake)
214                  (6 sulphorous_ash)
215                  (4 blood_moss)
216                  (5 garlic)
217                  (5 ginseng)
218                  (2 t_mana_potion)
219                  (1 t_xp_potion)
220                  ))
221      10 1)
222 )
223
224(mk-place-music p_shamans_grove 'ml-dungeon-adventure)
225
226(mk-dungeon-room
227 'p_watchpoint  "Watchpoint"
228	(list
229		"rn rn rn rn rn rn r4 {{ {C ,, ,, {{ r2 rn rn rn rn rn rn "
230		"rn rn rn rn rn rn rc {{ ,, ,, {4 {{ ra rn rn rn rn rn rn "
231		"rn rn rn rn rn r4 bb {{ ,, .. ,, {5 {{ r2 rn rn rn rn rn "
232		"rn rn rn rn rn rc {{ {{ ,, .. ,, bb {{ r2 rn rn rn r8 rn "
233		"rn rn rn rn r4 bb {{ {{ {2 ,, ,, {c {{ ra rn rn rc __ r2 "
234		"rn rn rn rn rc {{ {{ {{ ,, .. ,, {{ {{ {{ ra rc -- __ r2 "
235		"rn rn rn r4 bb {A {{ {C oo ee oo {{ ~~ -- -- -- -- __ r2 "
236		"rn rn r8 rc bb bb ~3 ~9 ~~ ee ee ~9 ~~ _! -- -- r3 r1 rn "
237		"rn rc -- -- -- ~~ ~c {& oo ee ~c {{ ~~ -- rb r1 rn rn rn "
238		"r4 __ _! _! -- -c {G {{ {{ ,, {{ {{ {{ {{ {{ r2 rn rn rn "
239		"r4 __ -- -- -- {G {{ bb ,, ,, ,, bb {{ {{ {{ r2 rn rn rn "
240		"r4 __ r3 r5 {{ {{ x. x. w+ d, w+ x. x. {{ {{ r2 rn rn rn "
241		"rn r1 rn r4 {{ {{ x. .. ,, ,, ,, ,, r6 {d {{ r2 rn rn rn "
242		"rn rn rn rn rd {{ x. ,, ,, ,, ,, ,, x. {{ {{ r2 rn rn rn "
243		"rn rn rn r4 {{ {{ x. ,, ,, ,, ,, ,, x. {{ {{ r2 rn rn rn "
244		"rn rn rn r4 {{ {{ bb ,, ,, ,, ,, .. x. {{ r3 rn rn rn rn "
245		"rn rn rn rn r5 {{ xx ,, ,, ,, .. bb x. r1 rn rn rn rn rn "
246		"rn rn rn rn rn r1 rn xx xx && xx xx xx rn rn rn rn rn rn "
247		"rn rn rn rn rn rn rn rn rn r1 rn rn rn rn rn rn rn rn rn "
248	)
249 (put (mk-ladder-down 'p_paladins_hold 3 9) 9 14)
250 (put (guard-pt 'halberdier) 8 12)
251 (put (guard-pt 'crossbowman) 10 12)
252 )
253
254(mk-place-music p_watchpoint 'ml-dungeon-town)
255
256;;
257;; assemble the rooms into a dungeon level
258;;
259
260(mk-dungeon-level
261 (list nil                 p_shamans_grove     nil                  )
262 (list p_kurpolis_entrance p_goblin_crossroads p_cave_goblin_village)
263 (list nil                 p_watchpoint        p_trolls_den         )
264 )
265