OSDN Git Service

日本語版
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / jake.scm
1 ;;----------------------------------------------------------------------------
2 ;; Constants
3 ;;----------------------------------------------------------------------------
4 (define jake-lvl 2)
5 (define jake-species sp_gint)
6 (define jake-occ nil)
7
8 ;;----------------------------------------------------------------------------
9 ;; Schedule
10 ;; 
11 ;; ¥¯¡¼¥ó
12 ;;----------------------------------------------------------------------------
13 (define jake-bed )
14 (kern-mk-sched 'sch_jake
15                (list 0  0 cantina-counter-zzz "sleeping")
16                (list 9  0 cantina-counter "working")
17                )
18
19 ;;----------------------------------------------------------------------------
20 ;; Gob
21 ;;----------------------------------------------------------------------------
22 (define (jake-mk) (list #t))
23 (define (jake-left? gob) (car gob))
24 (define (jake-left! gob val) (set-car! gob val))
25
26 ;;----------------------------------------------------------------------------
27 ;; Conv
28 ;; 
29 ;; ¥¸¥§¥¤¥¯¤È¥Ñ¡¼¥·¡¼¤Ïµð¿Í(2¤Ä¤ÎƬ¤Î¤¢¤ëµð¿Í)¤Ç¡¢²øʪ¤Î¼¥¯¡¼¥ó¤Ë½»¤ó¤Ç¤¤¤ë¡£
30 ;; ¥¸¥§¥¤¥¯¤ÏÌîÈڤʺ¸¤ÎƬ¤Ç¡¢¼ò¾ì¤ÎÍÑ¿´ËÀ¤ò¤·¤Æ¤¤¤ë¡£
31 ;; ¥Ñ¡¼¥·¡¼¤Ï¾åÉʤʱ¦Â¦¤ÎƬ¤Ç¡¢¼ò¾ì¤Î¼ç¿Í¤È¤·¤Æ·Ð±Ä¤ò¤·¤Æ¤¤¤ë¡£
32 ;;----------------------------------------------------------------------------
33
34 (define (left-head? knpc)
35   (jake-left? (gob knpc)))
36 (define (left-head! knpc)
37   (jake-left! (gob knpc) #t)
38   (say knpc "¤³¤³¤À¡ª"))
39 (define (right-head! knpc)
40   (jake-left! (gob knpc) #f)
41   (say knpc "¤¤¤«¤¬¤Ê¤µ¤ê¤Þ¤·¤¿¤«¡©"))
42
43 ;; Basics...
44 (define (jake-hail knpc kpc)
45   (kern-log-msg "¤¢¤Ê¤¿¤Ï2¤Ä¤ÎƬ¤Î¤¢¤ëµð¿Í¤È²ñ¤Ã¤¿¡£°ìÊý¤Ï¹Ó¡¹¤·¤¯¸«¤¨¡¢¤â¤¦°ìÊý¤Ï¡¢²¿¤È¸À¤¦¤«¡Ä¡Ä¡¢"
46                 "¿À·Ð¼Á¤È¸À¤Ã¤Æ¤â¸À¤¤²á¤®¤Ç¤Ï¤Ê¤¤¤À¤í¤¦¡£")
47   (if (left-head? knpc)
48       (say knpc "¤è¤ª¡ªË·¤ä¡ª")
49       (say knpc "¤è¤¦¤³¤½¡¢¾®¤µ¤¤¤ªÊý¡£")
50       ))
51
52 (define (jake-default knpc kpc)
53   (if (left-head? knpc)
54       (say knpc "¥Õ¥ó¡¢ÃΤ뤫¤è¡ª¥Ñ¡¼¥·¡¼¤Ëʹ¤±¡ª")
55       (say knpc "Æñ¤·¤¤¤ªÏäǤ´¤¶¤¤¤Þ¤¹¡£")
56       ))
57
58 (define (jake-name knpc kpc)
59   (if (left-head? knpc)
60       (say knpc "¥¸¥§¥¤¥¯¤À¡ª¤½¤·¤Æ¤³¤Ã¤Á¤¬¥Ñ¡¼¥·¡¼¤À¡ª¡Îº¸¤ÎƬ¤Ï±¦¤ò¸þ¤¤¤¿¡£¡Ï")
61       (say knpc "¥Ñ¡¼¥·¥Ð¥ë¤Ç¤´¤¶¤¤¤Þ¤¹¡£¤½¤·¤Æ¤³¤Á¤é¤¬¤ï¤¿¤¯¤·¤Î±Ê±ó¤Îͧ¡¢¥¸¥§¥¤¥¯¤Ç¤´¤¶¤¤¤Þ¤¹¡£¡Îº¸¤ÎƬ¤¬±¦Â¦¤Ë¤¦¤Ê¤º¤¤¤¿¡£¡Ï")
62       ))
63
64 (define (jake-join knpc kpc)
65   (if (left-head? knpc)
66       (say knpc "¥Ï¥Ã¡ª¥Ï¥Ã¡ª¥Ï¥Ã¡ª")
67       (say knpc "¤¢¤¢¡¢¿½¤·Ìõ¤¢¤ê¤Þ¤»¤ó¡£¿È¤Ë;¤ë¤ªÍ¶¤¤¤Ç¤´¤¶¤¤¤Þ¤¹¡£")
68       ))
69
70 (define (jake-job knpc kpc)
71   (if (left-head? knpc)
72       (say knpc "¤â¤Á¤í¤óÍÑ¿´ËÀ¤À¡ª¤µ¤¢¡¢°û¤à¤«½Ð¤Æ¹Ô¤¯¤«¤À¡ª")
73       (begin
74         (say knpc "¤ï¤¿¤¯¤·¤ÏŹ¼ç·ó¥Ð¡¼¥Æ¥ó¥À¡¼¤Ç¤´¤¶¤¤¤Þ¤¹¡£²¿¤«¤ª°û¤ß¤Ë¤Ê¤ê¤Þ¤¹¤«¡©")
75         (if (yes? kpc)
76             (jake-trade knpc kpc)
77             (say knpc "¹Í¤¨Ä¾¤·¤Æ¤¯¤À¤µ¤¤¤Þ¤»¡£ºÇ¹âµé¤Î¤â¤Î¤ò¤ª½Ð¤·¤¤¤¿¤·¤Þ¤¹¡£")
78             ))))
79
80 (define (jake-bye knpc kpc)
81   (if (left-head? knpc)
82       (say knpc "¤¸¤ã¤¢¤Ê¡ª")
83       (say knpc "¤µ¤è¤¦¤Ê¤é¡£¤Þ¤¿²ñ¤¤¤Þ¤·¤ç¤¦¡£")
84       ))
85
86 (define (jake-jake knpc kpc)
87   (if (left-head? knpc)
88       (say knpc "¤¢¤¡¡©²¿¤ÎÍѤÀ¡©")
89       (begin
90         (say knpc "ËÜÅö¤Ë¥¸¥§¥¤¥¯¤ÈÏä·¤¿¤¤¤Î¤Ç¤¹¤«¡©")
91         (if (yes? kpc)
92             (left-head! knpc)))
93       ))
94
95 (define (jake-perc knpc kpc)
96   (if (left-head? knpc)
97       (begin
98         (say knpc "¤Ê¤Ë¡©¥Ñ¡¼¥·¡¼¤ÈÏä·¤¿¤¤¤Î¤«¡©")
99         (if (yes? kpc)
100             (right-head! knpc)
101             ))
102       (say knpc "¤Ï¤¤¡£¤½¤ì¤Ï¤ï¤¿¤¯¤·¤Ç¤¹¡£²¿¤Ê¤ê¤È¤ª¿½¤·ÉÕ¤±¤¯¤À¤µ¤¤¤Þ¤»¡£")
103       ))
104
105 (define (jake-drin knpc kpc)
106   (if (left-head? knpc)
107       (say knpc "¥Ñ¡¼¥·¡¼¤Ë¸À¤¨¡ª")
108       (jake-trade knpc kpc)))
109
110
111 ;; Trade...
112 (define jake-merch-msgs
113   (list nil ;; closed
114         "¥á¥Ë¥å¡¼¤Ç¤´¤¶¤¤¤Þ¤¹¡£" ;; buy
115         nil ;; sell
116         nil ;; trade
117         "¤ª¼êÅÁ¤¤¤Ç¤­¤¿¤³¤È¤ò´î¤Ð¤·¤¯»×¤¤¤Þ¤¹¡£" ;; bought-something
118         "¡Î¤¿¤á©¡Ï¤¢¤¢¡¢¤ï¤¿¤¯¤·¤ÏÍîÃÀ¤¤¤¿¤·¤Þ¤·¤¿¡£" ;; bought-nothing
119         nil
120         nil
121         nil
122         nil
123    ))
124
125 (define jake-catalog
126   (list
127    (list t_food 7 "¤¹¤Ð¤é¤·¤¤»ÒÍÓ¥í¡¼¥¹¥È¤Ç¤´¤¶¤¤¤Þ¤¹¡ª¶²¤ì¤Ê¤¬¤é¡¢¿Í´Ö¤Ë¤Ï¤â¤Ã¤¿¤¤¤Ê¤¤¤â¤Î¤Ë¤´¤¶¤¤¤Þ¤¹¡£")
128    (list t_beer 4 "¤Ï¤ë¤«±ó¤¯¤Îͭ̾¤Ê¥¸¥ã¥¤¥¢¥ó¥È¥¹¥Ñ¡¼¤Î¾ú¤¼Ô¤«¤é¼è¤ê´ó¤»¤¿¥é¥¬¡¼¥Ó¡¼¥ë¤Ç¤´¤¶¤¤¤Þ¤¹¡£")
129    (list t_wine 6 "¥ï¥¤¥óÀìÌç¤ÎÅ¥ËÀ¤«¤éÄ󶡤µ¤ì¤¿ºÇ¹â¤Î¥ï¥¤¥ó¤Ç¤´¤¶¤¤¤Þ¤¹¡£¥´¥Û¥ó¡Ä¸«³Ð¤¨¤Î¤Ê¤¤¥Ü¥È¥ë¤À¤È¤è¤¤¤Î¤Ç¤¹¤¬¡£")
130    ))
131
132 (define (jake-trade knpc kpc) (conv-trade knpc kpc "buy" jake-merch-msgs jake-catalog))
133
134 ;; Town & Townspeople
135
136 ;; Quest-related
137
138 (define jake-conv
139   (ifc basic-conv
140
141        ;; basics
142        (method 'default jake-default)
143        (method 'hail jake-hail)
144        (method 'bye  jake-bye)
145        (method 'job  jake-job)
146        (method 'name jake-name)
147        (method 'join jake-join)
148        
149        ;; trade
150        (method 'drin jake-drin)
151        (method 'trad jake-trade)
152        (method 'buy  jake-trade)
153
154        ;; town & people
155        (method 'jake jake-jake)
156        (method 'perc jake-perc)
157        ))
158
159 (define (mk-jake)
160   (bind 
161    (kern-mk-char 
162     'ch_jake           ; tag
163     "¥¸¥§¥¤¥¯¤È¥Ñ¡¼¥·¥Ð¥ë"             ; name
164     jake-species         ; species
165     jake-occ              ; occ
166     s_gint     ; sprite
167     faction-men      ; starting alignment
168     0 0 0            ; str/int/dex
169     0 0              ; hp mod/mult
170     0 0              ; mp mod/mult
171     max-health ; hp
172     -1                   ; xp
173     max-health ; mp
174     0
175     jake-lvl
176     #f               ; dead
177     'jake-conv         ; conv
178     sch_jake           ; sched
179     'townsman-ai              ; special ai
180     nil              ; container
181     nil              ; readied
182     )
183    (jake-mk)))