1;;----------------------------------------------------------------------------
2;; Constants
3;;----------------------------------------------------------------------------
4(define mesmeme-lvl 2)
5(define mesmeme-species sp_gazer)
6(define mesmeme-occ oc_wizard)
7
8;;----------------------------------------------------------------------------
9;; Schedule
10;;----------------------------------------------------------------------------
11(kern-mk-sched 'sch_mesmeme
12               (list 0  0 campfire-1 "sleeping")
13               (list 9  0 cantina-6 "idle")
14               )
15
16;;----------------------------------------------------------------------------
17;; Gob
18;;----------------------------------------------------------------------------
19(define (mesmeme-mk) nil)
20
21;;----------------------------------------------------------------------------
22;; Conv
23;;----------------------------------------------------------------------------
24
25;; Basics...
26(define (mesmeme-hail knpc kpc)
27  (kern-log-msg "You meet a battered gazer.")
28  (say knpc "I see you.")
29  )
30
31(define (mesmeme-default knpc kpc)
32  (say knpc "No knowing. No asking. Alone.")
33  )
34
35(define (mesmeme-name knpc kpc)
36  (say knpc "I Mesmeme.")
37  )
38
39(define (mesmeme-leav knpc kpc)
40  (if (is-player-party-member? knpc)
41      (begin
42		(say knpc "Be alone?")
43        (if (yes? kpc)
44            (begin
45              (if (kern-char-leave-player knpc)
46                  (begin
47                    (say knpc "Here waiting. Until void.")
48                    (kern-conv-end))
49                  (say knpc "Not now!")))
50            (say knpc "Not alone!")))
51      (begin
52		(say knpc "Until void.")
53	    (kern-conv-end)))
54  )
55
56(define (mesmeme-join knpc kpc)
57  (say knpc "Yes! I alone.")
58  (join-player knpc)
59  (kern-conv-end)
60  )
61
62(define (mesmeme-job knpc kpc)
63  (say knpc "No job. No kindred. Alone.")
64  )
65
66(define (mesmeme-bye knpc kpc)
67  (say knpc "Until void.")
68  )
69
70(define (mesmeme-alon knpc kpc)
71  (say knpc "I crippled. No... think voice? Mind voice? No talk kindred. Alone.")
72  )
73
74(define (mesmeme-kind knpc kpc)
75  (say knpc "Kindred. Gazers. Swarm.")
76  )
77
78(define (mesmeme-crip knpc kpc)
79  (say knpc "Gint slave, mine. Too strong. Broke free, hurt!")
80  )
81
82(define (mesmeme-slav knpc kpc)
83  (say knpc "Tools. Hands. One body too few!")
84  )
85
86(define mesmeme-conv
87  (ifc nil
88
89       ;; basics
90       (method 'default mesmeme-default)
91       (method 'hail mesmeme-hail)
92       (method 'bye mesmeme-bye)
93       (method 'job mesmeme-job)
94       (method 'name mesmeme-name)
95       (method 'join mesmeme-join)
96       (method 'leav mesmeme-leav)
97
98       (method 'alon mesmeme-alon)
99       (method 'kind mesmeme-kind)
100       (method 'crip mesmeme-crip)
101       (method 'slav mesmeme-slav)
102       ))
103
104(define (mk-mesmeme)
105  (bind
106   (kern-mk-char
107    'ch_mesmeme           ; tag
108    "Mesmeme"             ; name
109    mesmeme-species         ; species
110    mesmeme-occ              ; occ
111    s_gazer     ; sprite
112    faction-men      ; starting alignment
113    0 0 0            ; str/int/dex
114    (/ pc-hp-off 2)  ; hp bonus
115    (/ pc-hp-gain 2) ; hp per-level bonus
116    0 ; mp off
117    1 ; mp gain
118    max-health ; hp
119    -1                   ; xp
120    max-health ; mp
121    0
122    mesmeme-lvl
123    #f               ; dead
124    'mesmeme-conv         ; conv
125    sch_mesmeme           ; sched
126    'townsman-ai              ; special ai
127    nil              ; container
128    nil              ; readied
129    )
130   (mesmeme-mk)))
131