OSDN Git Service

Nazghul-0.7.1
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / henry.scm
1 ;;----------------------------------------------------------------------------
2 ;; Constants
3 ;;----------------------------------------------------------------------------
4
5 ;;----------------------------------------------------------------------------
6 ;; Schedule
7 ;; 
8 ;; In Oparine.
9 ;;----------------------------------------------------------------------------
10 (kern-mk-sched 'sch_henry
11                (list 0  0  bilge-water-bed     "sleeping")
12                (list 8  0  bilge-water-counter "working")
13                (list 23 0  bilge-water-bed     "sleeping")
14                )
15
16 ;;----------------------------------------------------------------------------
17 ;; Gob
18 ;;----------------------------------------------------------------------------
19 (define (henry-mk) nil)
20
21 ;;----------------------------------------------------------------------------
22 ;; Conv
23 ;; 
24 ;; Henry is a one-handed tavern-keeper, doing trade in Oparine.
25 ;; He was once a mighty mariner.
26 ;;----------------------------------------------------------------------------
27
28 ;; Basics...
29 (define (henry-hail knpc kpc)
30   (say knpc "[You meet a cheery man with a hook for one hand] "
31        "Welcome, matey!"))
32
33 (define (henry-default knpc kpc)
34   (say knpc "Ye be askin' the wrong salt about that!"))
35
36 (define (henry-name knpc kpc)
37   (say knpc "I's Henry! Henry the barkeep."))
38
39 (define (henry-join knpc kpc)
40   (say knpc "I'd join ye in a 'eartbeat, lad, but oo's goin' to keep the "
41        "tankards full 'round here if I be goin'? 'Twouldn't be right!"))
42
43 (define (henry-job knpc kpc)
44   (say knpc "Why I's a minister! I fills the mugs 'ith 'oly sacraments!"))
45
46 (define (henry-bye knpc kpc)
47   (say knpc "Keep a weather eye!"))
48
49 (define henry-catalog
50   (list
51    (list t_food 5 "My famous clam chowder will warm you to your toes.")
52    (list t_beer 5 "Aye, drink and be merry, fer tomorro' mornin' you'll be wishin' you were dead!")
53    (list t_wine 7 "I keep some o' the fancy-shmancy stuff fer the occasional gen'leman.")
54    ))
55
56 (define henry-merch-msgs
57   (list "I'll serve ye when my hangover's gone."
58         "Let the good times roll!"
59         "I've no interest in used food or drink."
60         "Now we're talkin'!"
61         "Don't drink and sail!"
62         "If yer just lookin' for someplace to loiter, there's a dock outside."
63         "I suppose I can make stew from this."
64         "Good. Fine."
65         "Come back when you need a refill!"
66         "If yer just lookin' for someplace to loiter, there's a dock outside."
67         ))
68
69 ;; Trade...
70 (define (henry-buy knpc kpc) (conv-trade knpc kpc "buy" henry-merch-msgs henry-catalog))
71 (define (henry-sell knpc kpc) (say knpc "I've no use for solicitors."))
72
73 ;; Hook...
74 (define (henry-hook knpc kpc)
75   (say knpc "Oy, lost me arm, me did, fightin' fearsome monsters of "
76        "the deep."))
77
78 (define (henry-mons knpc kpc)
79   (say knpc "The kraken took me arm, snapped it right off 'ith 'is nasty "
80        "beak, 'e did! The kraken won't shoot from afar like the cowardly "
81        "sea serpent. No, 'e likes to munch right through the decks and get "
82        "in snugly!"))
83
84 (define (henry-serp knpc kpc)
85   (say knpc "The sea serpent can crush a ship 'ith its coils, "
86        "but it's a craven beast, and prefers to spit fireballs from afar."))
87
88 ;; Townspeople...
89 (define (henry-opar knpc kpc)
90   (say knpc "It's a fair enough place."))
91
92 (define (henry-gher knpc kpc)
93   (say knpc "So ye've 'eard the legend o' Ghastly Ghertie! "
94        "If ye don't mind a bit o' unsolicited advice from an old seabird, "
95        "steer clear o' ghosts! 'ungry they is!")
96         (quest-data-assign-once 'questentry-ghertie))
97
98 (define (henry-ghos knpc kpc)
99   (say knpc "The sea is full of the dead, and Ghertie did her share o' "
100        "puttin' 'em there. I've seen nights on full moons where they rise "
101        "up an' prowl the waves like cats! Dreadful is the dead, "
102        "an' Henry's in no 'urry to be joinin' 'em!")
103         (quest-data-assign-once 'questentry-ghertie))
104
105 (define (henry-alch knpc kpc)
106   (say knpc "Aye, 'e's a queer one."))
107
108 (define (henry-bart knpc kpc)
109   (say knpc "[loudly] Bart's the finest shipwright on the Peninsula! "
110        "[leaning in closer and more softly] And the only shipwright, too!"))
111
112 (define (henry-seaw knpc kpc)
113   (say knpc "A lovely lass, but strange as a fish on land!"))
114
115 (define (henry-osca knpc kpc)
116   (say knpc "A pathetic, misplaced soul, but 'e drinks 'is share."))
117
118 (define henry-conv
119   (ifc basic-conv
120
121        ;; basics
122        (method 'default henry-default)
123        (method 'hail henry-hail)
124        (method 'bye  henry-bye)
125        (method 'job  henry-job)
126        (method 'name henry-name)
127        (method 'join henry-join)
128        
129        ;; trade
130        (method 'trad henry-buy)
131        (method 'buy  henry-buy)
132        (method 'sell henry-sell)
133        (method 'sacr henry-buy)
134
135        ;; hand
136        (method 'hook henry-hook)
137        (method 'hand henry-hook)
138        (method 'mons henry-mons)
139        (method 'deep henry-mons)
140        (method 'sea  henry-serp)
141        (method 'serp henry-serp)
142
143        ;; town & people
144        (method 'opar henry-opar)
145        (method 'alch henry-alch)
146        (method 'gher henry-gher)
147        (method 'ghas henry-gher)
148        (method 'bart henry-bart)
149        (method 'witc henry-seaw)
150        (method 'osca henry-osca)
151
152        ))
153
154 (define (mk-henry)
155   (bind 
156    (kern-mk-char 'ch_henry           ; tag
157                  "Henry"             ; name
158                  sp_human            ; species
159                  nil                 ; occ
160                  s_townsman          ; sprite
161                  faction-men         ; starting alignment
162                  1 0 0               ; str/int/dex
163                  0 0                 ; hp mod/mult
164                  0 0                 ; mp mod/mult
165                  max-health -1 max-health 0 6  ; hp/xp/mp/AP_per_turn/lvl
166                  #f                  ; dead
167                  'henry-conv         ; conv
168                  sch_henry           ; sched
169                  'townsman-ai                 ; special ai
170                  (mk-inventory (list (list 1 t_dagger)))     ; container
171                  nil                 ; readied
172                  )
173    (henry-mk)))