1;;----------------------------------------------------------------------------
2;; Constants
3;;----------------------------------------------------------------------------
4(define tim-start-lvl 4)
5
6;;----------------------------------------------------------------------------
7;; Schedule
8;;
9;; In the Tower of Brundegart (p_brundegardt_tower_4), locked outside.
10;;----------------------------------------------------------------------------
11
12;;----------------------------------------------------------------------------
13;; Gob
14;;
15;; Quest flags, etc, go here.
16;;----------------------------------------------------------------------------
17(define (tim-mk) (list #f #f))
18(define (tim-caught? gob) (car gob))
19(define (tim-caught! gob) (set-car! gob #t))
20(define (tim-met? gob) (cadr gob))
21(define (tim-met! gob) (set-car! (cdr gob) #t))
22
23;;----------------------------------------------------------------------------
24;; Conv
25;;
26;; Tim is a maimed, drooling madman, currently trapped outside
27;; the Tower of Brundegart.
28;;
29;; Once a seeker of knowledge (and power),
30;; his body was ravaged by griffins (and their hungry chicks),
31;; and his mind broken by contact with the EYE of Brundegart.
32;; (One rather assumes the maiming did not help his mental state,
33;; for that matter...)
34;;----------------------------------------------------------------------------
35(define (tim-hail knpc kpc)
36  (meet "You meet a drooling madman with only one arm.")
37  (say knpc "I have seen the eye!"))
38
39(define (tim-eye knpc kpc)
40  (say knpc "So wise I am now, because of the eye. Would you be wise?")
41  (cond ((yes? knpc)
42         (say knpc "Alas, my friend, I have lost the key!"))
43        (else
44         (say knpc "Fool!")
45         (kern-conv-end))))
46
47(define (tim-key knpc kpc)
48  (say knpc "It was my key! I found it on the dead man. "
49       "First they took my arm, then the lion-birds took my key!"))
50
51(define (tim-arm knpc kpc)
52  (say knpc "They chose me as I walked among the hills, "
53       "and brought me here to feed their young."))
54
55(define (tim-name knpc kpc)
56  (say knpc "Do not pretend to not know me! "
57       "One who is all-wise is necessarily famous! That's logic!"))
58
59(define (tim-job knpc kpc)
60  (say knpc "I will bring enlightenment to the world!"))
61
62(define (tim-enli knpc kpc)
63  (say knpc "Yes! The eye! The eye... [He curls into a fetal ball and sobs]")
64  (kern-conv-end))
65
66(define (tim-lion knpc kpc)
67  (say knpc "[He shrieks and cowers] Do you see them?! "
68       "Have they come for my other arm?  The chicks are so hungry! So cruel!"))
69
70(define tim-conv
71  (ifc nil
72       (method 'hail tim-hail)
73       (method 'eye  tim-eye)
74       (method 'key  tim-key)
75       (method 'arm  tim-arm)
76       (method 'name tim-name)
77       (method 'job  tim-job)
78       (method 'enli tim-enli)
79       (method 'lion tim-lion)
80       ))
81
82
83;;----------------------------------------------------------------------------
84;; First-time constructor
85;;----------------------------------------------------------------------------
86(define (mk-tim)
87  (bind
88   (kern-char-arm-self
89    (kern-mk-char
90     'ch_tim ;;..........tag
91     "Tim" ;;.......name
92     sp_human ;;.....species
93     oc_wizard ;;.. .occupation
94     s_wizard ;;..sprite
95     faction-men ;;..faction
96     +1 ;;...........custom strength modifier
97     0 ;;...........custom intelligence modifier
98     +1 ;;...........custom dexterity modifier
99     +1 ;;............custom base hp modifier
100     +1 ;;............custom hp multiplier (per-level)
101     0 ;;............custom base mp modifier
102     0 ;;............custom mp multiplier (per-level)
103     max-health ;;..current hit points
104     -1  ;;...........current experience points
105     max-health ;;..current magic points
106     0
107     tim-start-lvl  ;;..current level
108     #f ;;...........dead?
109     'tim-conv ;;...conversation (optional)
110     nil ;;sch_tim ;;.....schedule (optional)
111     nil ;;..........custom ai (optional)
112     nil ;;..............container (and contents)
113     nil ;;.........readied arms (in addition to the container contents)
114     nil ;;..........hooks in effect
115     ))
116   (tim-mk)))
117