OSDN Git Service

13700946823da3aa1514424c3fc3062418dc18a2
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / joel.scm
1 ;;----------------------------------------------------------------------------
2 ;; Constants
3 ;;----------------------------------------------------------------------------
4 (define joel-lvl 3)
5 (define joel-species sp_human)
6 (define joel-occ nil)
7
8 ;;----------------------------------------------------------------------------
9 ;; Schedule
10 ;; 
11 ;; In front of the Gate to Absalot.
12 ;;----------------------------------------------------------------------------
13 (define joel-bed (list 'p_gate_to_absalot 8 9 1 1))
14 (define joel-mealplace joel-bed)
15 (define joel-workplace (list 'p_gate_to_absalot 7 10 5 5))
16 (define joel-leisureplace joel-workplace)
17 (kern-mk-sched 'sch_joel
18                (list 0  0 joel-bed          "sleeping")
19                (list 5  0 joel-mealplace    "eating")
20                (list 6  0 joel-workplace    "working")
21                (list 12 0 joel-mealplace    "eating")
22                (list 13 0 joel-workplace    "working")
23                (list 18 0 joel-mealplace    "eating")
24                (list 19 0 joel-leisureplace "idle")
25                (list 21 0 joel-bed          "sleeping")
26                )
27
28 ;;----------------------------------------------------------------------------
29 ;; Gob
30 ;;----------------------------------------------------------------------------
31 (define (joel-mk) nil)
32
33 ;;----------------------------------------------------------------------------
34 ;; Conv
35 ;; 
36 ;; Joel is a simple cowherd, whose stock is grazing in front of
37 ;; the gates to the destroyed city of Absalot.
38 ;;----------------------------------------------------------------------------
39
40 ;; Basics...
41 (define (joel-hail knpc kpc)
42   (kern-log-msg "You meet a laconic herder.")
43   (say knpc "Hi")
44   )
45
46 (define (joel-default knpc kpc)
47   (say knpc "Don't know, pardner."))
48
49 (define (joel-name knpc kpc)
50   (say knpc "Joel."))
51
52 (define (joel-join knpc kpc)
53   (say knpc "Nope."))
54
55 (define (joel-job knpc kpc)
56   (say knpc "I herd my cows here. Nice and peaceful."))
57
58 (define (joel-peac knpc kpc)
59   (say knpc "Yep. This is the old gate to Absalot."))
60
61 (define (joel-absa knpc kpc)
62   (say knpc "You're not thinking of going in there, are you?")
63   (if (yes? kpc)
64       (say knpc "Crazy. Theres nasty stuff down there.")
65       (say knpc "Don't blame you.")))
66
67 (define (joel-nast knpc kpc)
68   (say knpc "Gazers? Undead? Who knows what else? The place was bad enough before "
69        "the paladins sealed it up and left it to fester."))
70
71 (define (joel-fest knpc kpc)
72   (say knpc "Paladins from Glasdrin destroyed Absalot. And when humans get out of the way, "
73         "monsters move in."))
74         
75 (define (joel-gaze knpc kpc)
76   (say knpc "Mind-slavers. And whatever they're controlling. "
77        "If you dont watch out you'll wind up their slaves too."))
78            
79 (define (joel-unde knpc kpc)
80   (say knpc "Ghosts, skeletons, and I'd rather not know what else."))
81
82 (define (joel-bye knpc kpc)
83   (say knpc "So long"))
84
85 (define joel-conv
86   (ifc basic-conv
87
88        ;; basics
89        (method 'default joel-default)
90        (method 'hail joel-hail)
91        (method 'bye joel-bye)
92        (method 'job joel-job)
93        (method 'name joel-name)
94        (method 'join joel-join)
95
96        (method 'peac joel-peac)
97        (method 'nice joel-peac)
98        (method 'absa joel-absa)
99        (method 'nast joel-nast)
100        (method 'stuf joel-nast)
101        (method 'mons joel-nast)
102        (method 'fest joel-fest)
103        (method 'pala joel-fest)
104        (method 'unde joel-unde)
105        (method 'gaze joel-gaze)    
106        ))
107
108 (define (mk-joel)
109   (bind 
110    (kern-mk-char 
111     'ch_joel           ; tag
112     "Joel"             ; name
113     joel-species         ; species
114     joel-occ              ; occ
115     s_companion_shepherd     ; sprite
116     faction-men      ; starting alignment
117     1 0 1            ; str/int/dex
118     0 0              ; hp mod/mult
119     0 0              ; mp mod/mult
120     max-health ; hp
121     -1                   ; xp
122     max-health ; mp
123     0
124     joel-lvl
125     #f               ; dead
126     'joel-conv         ; conv
127     sch_joel           ; sched
128     'townsman-ai              ; special ai
129     nil              ; container
130     (list t_staff
131                                                  )              ; readied
132     )
133    (joel-mk)))