1;;----------------------------------------------------------------------------
2;; Constants
3;;----------------------------------------------------------------------------
4(define abigail-lvl 1)
5(define abigail-species sp_forest_goblin)
6(define abigail-occ oc_wrogue)
7
8;;----------------------------------------------------------------------------
9;; Schedule
10;;
11;; In Green Tower
12;;----------------------------------------------------------------------------
13(kern-mk-sched 'sch_abigail
14               (list 0 0 abigail-bed "sleeping")
15               (list 7 0 gt-ws-hall "idle")
16               (list 8 0 gt-woods "idle")
17               (list 12 0 gt-ws-hall "idle")
18               (list 13 0 gt-ruins "idle")
19               (list 18 0 gt-ws-hall "idle")
20               (list 19 0 gt-tower "idle")
21               (list 20 0 abigail-bed "sleeping")
22               )
23
24;;----------------------------------------------------------------------------
25;; Gob
26;;----------------------------------------------------------------------------
27(define (abigail-mk) nil)
28
29;;----------------------------------------------------------------------------
30;; Conv
31;;
32;; Abigail is a female goblin child, who lives in Green Tower.
33;;----------------------------------------------------------------------------
34
35;; Basics...
36(define (abigail-hail knpc kpc)
37  (kern-log-msg "You meet a goblin child.")
38  (say knpc "Hi.")
39  )
40
41(define (abigail-default knpc kpc)
42  (say knpc "[She shrugs]")
43  )
44
45(define (abigail-name knpc kpc)
46  (say knpc "Guto says my name is Abigail.")
47  )
48
49(define (abigail-bye knpc kpc)
50  (say knpc "Bye-bye!")
51  )
52
53(define (abigail-guto knpc kpc)
54  (say knpc "Doris is my guto."))
55
56(define (abigail-dori knpc kpc)
57  (say knpc "That's my guto!"))
58
59(define (abigail-gobl knpc kpc)
60  (say knpc "The green people, like me. I'm both!"))
61
62(define (abigail-both knpc kpc)
63  (say knpc "I talk to goblins. I talk to people. See? Both!"))
64
65(define abigail-conv
66  (ifc nil
67
68       ;; basics
69       (method 'default abigail-default)
70       (method 'hail abigail-hail)
71       (method 'bye abigail-bye)
72       (method 'name abigail-name)
73
74       (method 'guto abigail-guto)
75       (method 'dori abigail-dori)
76       (method 'gobl abigail-gobl)
77       (method 'both abigail-both)
78       ))
79
80(define (mk-abigail)
81  (bind
82   (kern-mk-char
83    'ch_abigail           ; tag
84    "Abigail"             ; name
85    abigail-species         ; species
86    abigail-occ              ; occ
87    s_goblin_child     ; sprite
88    faction-men      ; starting alignment
89    0 0 1            ; str/int/dex
90    0  ; hp bonus
91    0 ; hp per-level bonus
92    0 ; mp off
93    1 ; mp gain
94    max-health ; hp
95    0                   ; xp
96    max-health ; mp
97    0
98    abigail-lvl
99    #f               ; dead
100    'abigail-conv         ; conv
101    sch_abigail           ; sched
102    'townsman-ai              ; special ai
103    nil
104    nil              ; readied
105    )
106   (abigail-mk)))
107