1;;----------------------------------------------------------------------------
2;; Constants
3;;----------------------------------------------------------------------------
4(define dennis-lvl 3)
5(define dennis-species sp_human)
6(define dennis-occ oc_wright)
7
8;;----------------------------------------------------------------------------
9;; Schedule
10;;
11;; In Old Absalot.
12;;----------------------------------------------------------------------------
13(define dennis-bed oa-bed2)
14(define dennis-mealplace oa-tbl1)
15(define dennis-workplace oa-slaves)
16(define dennis-leisureplace oa-dining-hall)
17(kern-mk-sched 'sch_dennis
18               (list 0  0 dennis-bed          "sleeping")
19               (list 7  0 dennis-mealplace    "eating")
20               (list 8  0 dennis-workplace    "working")
21               (list 12 0 dennis-mealplace    "eating")
22               (list 13 0 dennis-workplace    "working")
23               (list 18 0 dennis-mealplace    "eating")
24               (list 19 0 dennis-leisureplace "idle")
25               (list 22 0 dennis-bed          "sleeping")
26               )
27
28;;----------------------------------------------------------------------------
29;; Gob
30;;----------------------------------------------------------------------------
31(define (dennis-mk) nil)
32
33;;----------------------------------------------------------------------------
34;; Conv
35;;
36;; Dennis is an acolyte of the Accursed, who lives in Old Absalot.
37;; He is somewhat naive, but not yet wholly corrupt.
38;;----------------------------------------------------------------------------
39
40;; Basics...
41(define (dennis-hail knpc kpc)
42  (say knpc "Hello."))
43
44(define (dennis-default knpc kpc)
45  (say knpc "I don't know about that sort of thing."))
46
47(define (dennis-name knpc kpc)
48  (say knpc "I'm Dennis."))
49
50(define (dennis-join knpc kpc)
51  (say knpc "[He scoffs] I don't think so, wayfarer."))
52
53(define (dennis-job knpc kpc)
54  (say knpc "I am a student of Master Silas."))
55
56(define (dennis-bye knpc kpc)
57  (say knpc "Goodbye."))
58
59;; Tier 2
60(define (dennis-stud knpc kpc)
61  (say knpc "Master Silas teaches that by focusing my will, and by sacrificing things which impede my progess, I can achieve anything I desire. Or, at least, I will be able to once I have mastered the ways of the Accursed."))
62
63(define (dennis-accu knpc kpc)
64  (say knpc "The Accursed are misunderstood. It is not evil to pursue one's desires, it is good! Why can't our enemies see that?"))
65
66(define (dennis-enem knpc kpc)
67  (say knpc "The butchers of Glasdrin and that old fool the Enchanter have more blood on their hands than anyone!"))
68
69(define (dennis-ways knpc kpc)
70  (say knpc "The ways of the Accursed are revealed to students in phases. At each phase, an acolyte gains more power. To advance to the next phase the student must master the rites and perform a suitable sacrifice."))
71
72(define (dennis-sacr knpc kpc)
73  (say knpc "The sacrificial rites are secret. I cannot speak of them with an uninitiate like yourself."))
74
75(define (dennis-powe knpc kpc)
76  (say knpc "Power unimaginable awaits those who have the will to grasp it."))
77
78(define (dennis-sila knpc kpc)
79  (say knpc "Master Silas is a powerful wizard and a wise teacher."))
80
81(define (dennis-absa knpc kpc)
82  (say knpc "Those fools destroyed Absalot, thinking we were there! But they didn't know about Old Absalot, a city beneath the city."))
83
84(define (dennis-old knpc kpc)
85  (say knpc "I can't help but feel awed when I walk among these ruins. But they are a bit creepy. The ancients had some strange beliefs!"))
86
87(define (dennis-sele knpc kpc)
88  (say knpc "[He blushes] If you know what's good for you, you will stay away from her!")
89  (kern-conv-end)
90  )
91
92(define dennis-conv
93  (ifc basic-conv
94
95       ;; basics
96       (method 'default dennis-default)
97       (method 'hail dennis-hail)
98       (method 'bye dennis-bye)
99       (method 'job dennis-job)
100       (method 'name dennis-name)
101       (method 'join dennis-join)
102
103       (method 'sele dennis-sele)
104       (method 'stud dennis-stud)
105       (method 'teac dennis-stud)
106       (method 'accu dennis-accu)
107       (method 'enem dennis-enem)
108       (method 'ways dennis-ways)
109       (method 'sacr dennis-sacr)
110       (method 'powe dennis-powe)
111       (method 'sila dennis-sila)
112       (method 'absa dennis-absa)
113       (method 'old dennis-old)
114       ))
115
116(define (mk-dennis)
117  (bind
118   (kern-mk-char
119    'ch_dennis           ; tag
120    "Dennis"             ; name
121    dennis-species         ; species
122    dennis-occ              ; occ
123    s_townsman     ; sprite
124    faction-men      ; starting alignment
125    0 1 0            ; str/int/dex
126    0 0              ; hp mod/mult
127    0 0              ; mp mod/mult
128    max-health ; hp
129    -1                   ; xp
130    max-health ; mp
131    0
132    dennis-lvl
133    #f               ; dead
134    'dennis-conv         ; conv
135    sch_dennis           ; sched
136    'spell-sword-ai              ; special ai
137    nil              ; container
138    (list t_staff)              ; readied
139    )
140   (dennis-mk)))
141