OSDN Git Service

e06331472f4824504ca56c78e8e3bb1e852b0dff
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / tim.scm
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)))