1;;----------------------------------------------------------------------------
2;; Slimy Cavern
3;;
4;;  Wherein the player fights some slimes, some bandits, and optionally rescues
5;;  Roland.
6;;----------------------------------------------------------------------------
7
8(kern-load "slimy-cavern-zones.scm")
9
10;;----------------------------------------------------------------------------
11;; Characters
12;;----------------------------------------------------------------------------
13(kern-load "roland.scm")
14
15;; ----------------------------------------------------------------------------
16;; Map
17;; ----------------------------------------------------------------------------
18(kern-mk-map
19 'm_slimy_cavern 16 32 pal_expanded
20	(list
21		"rn rn rn rn rn rn rn rn rn rn rn rn r8 r8 r8 rn "
22		"rn rn rn rn rn r8 r8 r8 r8 r8 rn r4 .. .. .. r2 "
23		"rn rn rn rn rc .. .. && .. .. ra r4 .. .. .. r2 "
24		"rn r8 r8 rc bb .. .. .. .. .. bb rr rr .. r3 rn "
25		"r4 bb .. .. bb .. .. .. .. .. bb .. .. .. ra rn "
26		"r4 bb .. .. .. bb bb .. bb bb .. .. .. .. .. r2 "
27		"r4 .. .. .. .. .. .. .. .. .. .. .. .. .. .. r2 "
28		"r4 bb .. .. .. .. .. .. .. .. .. .. .. .. r3 rn "
29		"rn r5 bb .. .. .. .. .. .. .. .. .. r3 r9 r8 rn "
30		"rn r8 rd .. .. .. .. .. .. .. .. .. r6 .. .. r2 "
31		"r4 .. .. .. .. .. .. r3 r5 .. .. r3 r4 .. .. r2 "
32		"r4 .. r7 .. rf bb r3 r8 r8 r5 .. r2 r4 .. r3 rn "
33		"rc %7 re .. .. .. r6 .. .. re .. ra rc .. r2 rn "
34		"~~ b~ b~ rf .. .. r6 .. .. .. .. .. .. .. r2 rn "
35		"r5 ~a b~ ~4 .. .. ra r5 .. r3 r5 .. r3 r1 rn rn "
36		"rn rd %a ~a ~9 ~1 b~ ra r1 rn rc .. ra rn rn rn "
37		"r4 .. .. .. .. ~a b~ b~ ra rc .. .. .. r2 rn rn "
38		"r4 .. r7 .. %f r7 b~ ~~ bb %7 .. .. .. ra rn rn "
39		"r4 .. r2 r1 r1 r8 rd b~ ~~ ~5 %5 .. .. %7 ra rn "
40		"r4 .. ra r8 r4 .. .. rf %% ~a b~ ~9 b~ ~1 ~5 ra "
41		"r4 .. .. .. r6 .. %b %% %% %% %c .. %% b~ ~8 ~~ "
42		"rn r1 r5 .. r6 .. .. r3 r5 .. .. .. %e rb r9 r1 "
43		"rn rn rc .. ra r1 r1 r8 rc .. .. .. .. .. bb r2 "
44		"rn rc .. .. .. ra rc .. .. .. r7 .. .. .. .. r2 "
45		"r4 .. .. .. .. .. .. .. r3 r1 r4 .. .. .. .. r2 "
46		"r4 .. .. .. .. r3 r1 r9 r8 r8 rn r5 .. .. r3 rn "
47		"rn r5 .. .. r3 rn rc .. .. .. ra rn r5 .. r2 rn "
48		"rn r8 rd .. ra rc .. .. .. .. .. ra rc .. ra rn "
49		"r4 .. .. .. .. .. .. .. .. .. .. .. .. .. .. r2 "
50		"r4 .. r3 r1 r1 r5 .. .. .. .. .. r7 .. rf .. r2 "
51		"r4 .. r2 rn rn rn r5 .. .. .. r3 r4 .. .. .. r2 "
52		"rn r1 rn rn rn rn rn r1 r1 r1 rn rn r1 r1 r1 rn "
53	)
54 )
55
56;;----------------------------------------------------------------------------
57;; Special Objects
58;;----------------------------------------------------------------------------
59(define rolands-chest
60  (mk-chest
61   nil ;; trap
62   '(
63    ;; Food
64    (2 t_food)
65
66    ;; Arms
67    (1 t_2H_sword)
68    (1 t_armor_chain)
69    (1 t_iron_helm)
70
71    ;; Hints/instructions
72    )))
73
74(define (mk-green-slime-verbose msg)
75  (kern-log-msg msg)
76  (mk-npc 'green-slime 3))
77
78
79(kern-mk-place 'p_slimy_cavern    ; tag
80               "Slimy Cavern"     ; name
81               nil                ; sprite
82               m_slimy_cavern     ; map
83               #f                 ; wraps
84               #t                 ; underground
85               #f                 ; large-scale (wilderness)
86               #f                 ; tmp combat place
87               nil                ; subplaces
88               nil                ; neighbors
89
90               ;; objects
91               (list
92                (put (mk-monman) 0 0)
93
94                ;; loot and loose-lying objects
95                (list rolands-chest 9 2)
96                (put (mk-corpse-with-loot) 12 21)
97
98                ;; Trapped chest with some reasonably nice thiefly items
99                (put (mk-chest 'poison-trap
100                               '((1 t_in_ex_por_scroll)
101                                 (1 t_wis_quas_scroll)
102                                 (3 t_gem)
103                                 (5 t_picklock)
104                                 (50 t_gold_coins)
105                                 ))
106                     5 2)
107
108                ;; terrain features
109                (list (mk-ladder-up 'p_shard 13 8) 8 30)
110                (list (mk-bridge 'north) 4 15)
111                (list (mk-bridge 'north) 11 19)
112
113                ;; doors/mechanisms
114                (list (mk-door-full 'windowed-wood-door-in-rock #t #f nil) 13 3)
115
116                ;; existing npc's
117                (put (mk-npc 'blackguard 2) 5 4)
118                (put (mk-npc 'blackguard 2) 9 4)
119                (put (mk-npc 'blackguard 2) 9 2)
120                (put (spawn-pt 'green-slime) 9 17)
121                (put (spawn-pt 'green-slime) 10 18)
122                (put (spawn-pt 'green-slime) 13 18)
123                (put (mk-roland) 14 1)
124
125                )
126               (list 'on-entry-to-dungeon-room) ; hooks
127               nil ; edge entrances
128               )
129
130(mk-place-music p_slimy_cavern 'ml-dungeon-adventure)
131