1;;----------------------------------------------------------------------------
2;; Constants
3;;----------------------------------------------------------------------------
4(define gholet-lvl 4)
5(define gholet-species sp_human)
6(define gholet-occ nil)
7
8;;----------------------------------------------------------------------------
9;; Schedule
10;;
11;; In the Prison level under Glasdrin
12;;----------------------------------------------------------------------------
13
14;;----------------------------------------------------------------------------
15;; Gob
16;;----------------------------------------------------------------------------
17(define (gholet-mk) nil)
18
19;;----------------------------------------------------------------------------
20;; Conv
21;;
22;; Gholet is a former pirate, now imprisoned in the Prison below Glasdrin.
23;; He is one of the surviving crew of the Merciful Death,
24;; and is sought for vengeance by the ghost Ghertie.
25;;----------------------------------------------------------------------------
26
27;; Basics...
28(define (gholet-hail knpc kpc)
29  (say knpc "'Ello, guv'nah"))
30
31(define (gholet-default knpc kpc)
32  (say knpc "Right you are, guv'nah, that's what I like about you!"))
33
34(define (gholet-name knpc kpc)
35  (say knpc "Gholet's me 'andle, but take no account o' me, guv'nah")
36  (quest-data-update 'questentry-ghertie 'gholet-dungeon 1))
37
38(define (gholet-join knpc kpc)
39  (say knpc "And leave behind 'is 'ere life of luxury? Tosh!"))
40
41(define (gholet-job knpc kpc)
42  (say knpc "Why, I's a cook. Or I was, at any rate, 'fore I took up the new "
43       "vocation you see me at 'ere."))
44
45(define (gholet-bye knpc kpc)
46  (say knpc "Nice chattin' with ya, guv'nah"))
47
48;; Tier 2 replies
49(define (gholet-cook knpc kpc)
50  (say knpc "I was a cook on a famous luxury liner! The Merciful Death, "
51       "ever 'ear of her?")
52  (if (yes? kpc)
53      (say knpc "Oh. Well, I told you she was famous!")
54      (say knpc "Oh, she was quite-well known in her time. "
55           "Don't know what became of 'er.")))
56
57(define (gholet-merc knpc kpc)
58  (say knpc "Oh, yeah, she was captained by a marvelous woman. "
59       "Ghertie was her name."))
60
61(define (gholet-gher knpc kpc)
62  (say knpc "A real peach. Couldn't ask for a nicer boss."))
63
64(define (gholet-voca knpc kpc)
65  (say knpc "Aye, this is the easiest job I ever had."))
66
67(define (gholet-mean knpc kpc)
68  (say knpc "'Aven't seen old Meaney in ages. "
69       "Last I 'eard 'e was running a poor 'ouse."))
70
71(define (gholet-jorn knpc kpc)
72  (say knpc "Oh, now there's a right dangerous man, now guv'nah. "
73       "Best let sleeping dogs lie, as I like to say. "))
74
75(define (gholet-dog knpc kpc)
76  (say knpc "From what I 'ear, that dog lies at the White Stag.")
77  (quest-data-update 'questentry-ghertie 'jorn-loc 1))
78
79;; Quest-related
80(define (gholet-ring knpc kpc)
81
82  (if (not (in-inventory? knpc t_skull_ring_g))
83      (say knpc "Ring? What ring?")
84      (begin
85
86        (define (take-picklocks)
87          (if (< (num-in-inventory kpc t_picklock) 12)
88		(begin
89		(quest-data-update-with 'questentry-ghertie 'gholet-price 1 (quest-notify nil))
90              (say knpc "Mmm. Bit of a problem, guv'nah, "
91                   "you don't have enough picklocks. "
92                   "But I'll keep the ring 'ere on layaway until you do.")
93		   )
94              (begin
95                (say knpc "Right you are, 'ere you go, and there I go, "
96                     "right as rain, right as rain! Enjoy your new ring, "
97                     "guv'nah!")
98                (kern-obj-remove-from-inventory kpc t_picklock 12)
99                (kern-obj-add-to-inventory knpc t_picklock 12)
100                (kern-obj-remove-from-inventory knpc t_skull_ring_g 1)
101		(skullring-g-get nil kpc)
102		)))
103
104        (say knpc "Oh, that old thing? It got to itchin', "
105             "I must be allergic to it. "
106             "So I took it off. 'Ad to take the whole finger, off, actually, "
107             "bit of a mess. Would you like to see it?")
108        (if (yes? kpc)
109            (begin
110              (say knpc "Don't blame you. Not at all. "
111                   "It's quite the curious item! "
112                   "But one good turn deserves another, "
113                   "don't you agree, guv'nah?")
114              (if (yes? kpc)
115                  (begin
116                    (say knpc "Of course you do! Youse a fair man, guv'nah! "
117                         "You know tit-for-tat, scratch each other's back! "
118                         "A dozen picklocks. A dozen picklocks and you can have the ring. "
119                         "Agreed?")
120                    (if (yes? kpc)
121                        (take-picklocks)
122                        (begin
123			(quest-data-update-with 'questentry-ghertie 'gholet-price 1 (quest-notify nil))
124                          (say knpc "That's my price. "
125                               "Come back when you're ready to pay.")
126                          (kern-conv-end))))
127                  (begin
128                    (say knpc "Piss off, then.")
129                    (kern-conv-end))))
130            (say knpc "Don't screw with me. "
131                 "I know you're 'ere for the ring or you wouldn't "
132                 "'ave asked.")))))
133
134(define gholet-conv
135  (ifc basic-conv
136
137       ;; basics
138       (method 'default gholet-default)
139       (method 'hail gholet-hail)
140       (method 'bye  gholet-bye)
141       (method 'job  gholet-job)
142       (method 'name gholet-name)
143       (method 'join gholet-join)
144
145       ;; other responses
146       (method 'cook gholet-cook)
147       (method 'merc gholet-merc)
148       (method 'gher gholet-gher)
149       (method 'voca gholet-voca)
150       (method 'ring gholet-ring)
151
152       (method 'mean gholet-mean)
153       (method 'jorn gholet-jorn)
154       (method 'dog  gholet-dog)
155       ))
156
157(define (mk-gholet)
158  (bind
159   (kern-char-force-drop
160   (kern-mk-char
161    'ch_my           ; tag
162    "Gholet"             ; name
163    gholet-species         ; species
164    gholet-occ              ; occ
165    s_brigand     ; sprite
166    faction-men      ; starting alignment
167    1 0 3            ; str/int/dex
168    0 0              ; hp mod/mult
169    0 0              ; mp mod/mult
170    max-health; hp
171    -1                   ; xp
172    max-health ; mp
173    0
174    gholet-lvl
175    #f               ; dead
176    'gholet-conv         ; conv
177    nil              ; sched
178    nil              ; special ai
179    ;;..........container (and contents)
180    (mk-inventory
181              (list
182               (list 1 t_skull_ring_g)
183               ))
184    nil              ; readied
185    )
186   #t)
187  (gholet-mk)))
188