OSDN Git Service

ff4dbb859c1db63eb539924fdca49241a6833c33
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / patch.scm
1 ;;----------------------------------------------------------------------------
2 ;; Constants
3 ;;----------------------------------------------------------------------------
4
5 ;;----------------------------------------------------------------------------
6 ;; Schedule
7 ;; 
8 ;; ¥°¥é¥¹¥É¥ê¥ó
9 ;;----------------------------------------------------------------------------
10 (kern-mk-sched 'sch_patch
11                (list 0  0  gdp-bed "sleeping")
12                (list 7  0  ghg-s1  "eating")
13                (list 8  0  gh-ward "working")
14                (list 11 0  ghg-s1  "eating")
15                (list 12 0  gh-ward "working")
16                (list 17 0  ghg-s1  "eating")
17                (list 18 0  gc-hall "idle")
18                (list 21 0  gdp-hut "idle")
19                (list 22 0  gdp-bed "sleeping")
20                )
21
22 ;;----------------------------------------------------------------------------
23 ;; Gob
24 ;;----------------------------------------------------------------------------
25 (define (patch-mk) (list 'townsman))
26
27 ;;----------------------------------------------------------------------------
28 ;; Conv
29 ;; 
30 ;; ¥°¥é¥¹¥É¥ê¥ó¤Ë½»¤àÏ·¿Í¤ÎËâ½Ñ»Õ¤Ç¡¢°å»Õ¤È¤·¤ÆƯ¤¤¤Æ¤¤¤ë¡£
31 ;; Èà¤Ï´ãÂÓ¤ò¤·¤Æ¤¤¤Æ¡¢¡Ö´ãÂÓ¤ÎÀèÀ¸¡×¤È¤·¤ÆÃΤé¤ì¤Æ¤¤¤ë¡£
32 ;;----------------------------------------------------------------------------
33
34 ;; Basics...
35 (define (patch-hail knpc kpc)
36   (say knpc "¡Î¤¢¤Ê¤¿¤Ï´ãÂÓ¤ò¤·¤¿¸µµ¤¤ÊËâ½Ñ»Õ¤ÎÏ·¿Í¤È²ñ¤Ã¤¿¡£¡Ï"
37        "¤³¤ó¤Ë¤Á¤Ï¡¢Î¹¤ÎÊý¡£"))
38
39 (define (patch-default knpc kpc)
40   (say knpc "¤½¤ì¤Ï¼ê½õ¤±¤Ç¤­¤Ê¤¤¤Ê¡£"))
41
42 (define (patch-name knpc kpc)
43   (say knpc "¿Í¡¹¤Ï»ä¤ò´ãÂÓ¤ÎÀèÀ¸¤È¸Æ¤ó¤Ç¤¤¤ë¡£"))
44
45 (define (patch-join knpc kpc)
46   (say knpc "¤¤¤¤¤ä¡£¤³¤³¤Ë¤¤¤ë¤Î¤¬»ä¤Î̳¤á¤À¡¢Ì¤¤¿Í¤è¡£"))
47
48 (define (patch-job knpc kpc)
49   (say knpc "¤³¤Îɱ¡¤ÇƯ¤¤¤Æ¤¤¤ë¡£¼£ÎŤ¬É¬Íפ«¤Í¡©")
50   (if (kern-conv-get-yes-no? kpc)
51       (patch-trade knpc kpc)
52       (say knpc "ɬÍפʤȤ­¤Ë¼£ÎŤ·¤è¤¦¡£")))
53
54 (define (patch-bye knpc kpc)
55   (say knpc "¤ª¤À¤¤¤¸¤Ë¡ª"))
56
57 ;; Trade...
58 (define (patch-trade knpc kpc)
59   (if (trade-services knpc kpc
60                       (list
61                        (svc-mk "²óÉü" 30 heal-service)
62                        (svc-mk "¼£Ìþ" 30 cure-service)
63                        (svc-mk "ÁÉÀ¸" 100 resurrect-service)))
64       (begin
65         (say knpc "¾¤Ë²¿¤«¤¹¤ë¤³¤È¤¬¤¢¤ë¤«¤Í¡©")
66         (patch-trade knpc kpc))
67       (begin
68         (say knpc "¾¤Ë²¿¤«¤¢¤ë¤«¤Í¡©")
69         (if (kern-conv-get-yes-no? kpc)
70             (patch-trade knpc kpc)
71             (say knpc "¤è¤í¤·¤¤¡£")))))
72   
73 ;; Patch...
74 (define (patch-patc knpc kpc)
75   (say knpc "¥¯¥í¥Ý¥ê¥¹¤ÇÊÒÌܤò¼º¤Ã¤¿¡£¤½¤³¤Ï¤È¤Æ¤â°Å¤¤¤Î¤ÇËÜÅö¤ÏɬÍפʤ«¤Ã¤¿¤Î¤À¡£"
76        "¡ÎÈà¤Ï¸«¤¨¤ë¤Û¤¦¤ÎÌܤò¥¦¥£¥ó¥¯¤·¤¿¡£¡Ï"))
77
78 (define (patch-kurp knpc kpc)
79   (say knpc "À»µ³»Î¤Ï̵ܤÎÁ°Àþ¤ò¼é¤Ã¤Æ¤¤¤ë¡£"
80        "¤½¤·¤Æ¡¢¼ã¤¤¤³¤íʼÌò¤Ë½¢¤¤¤Æ¤¤¤¿¤È¤­¤Ï¡¢¤½¤³¤Ë¤¤¤¿¤Î¤À¡£"))
81
82 (define (patch-tour knpc kpc)
83   (say knpc "Á´¤Æ¤Î¥°¥é¥¹¥É¥ê¥ó¤Î»Ô̱¤ÏʼÌò¤ÎµÁ̳¤¬¤¢¤ë¡£"
84        "»ä¤Ï°å»Õ¤À¤Ã¤¿¡£"))
85
86 (define (patch-medi knpc kpc)
87   (say knpc "°å»Õ¤Ï¼£ÎŤε»½Ñ¤ËŤ±¤¿Ëâ½Ñ»Õ¤À¡£"
88        "Á´¤Æ¤ÎÀ»µ³»Î¤ÎÉôÂâ¤Ë¤ÏÀ襤¤ò»Ù±ç¤¹¤ë¤¿¤á°å»Õ¤¬²Ã¤ï¤Ã¤Æ¤¤¤ë¡£"
89        "ÀïÆ®¤Î´ðÁ÷±Îý¤â¼õ¤±¤ë¡£¤·¤«¤·»ä¤Ïû·õ¤ò°ìÅٻȤ俤À¤±¤À¡£"))
90
91 (define (patch-dagg knpc kpc)
92   (say knpc "¤½¤¦¤À¡£Ã»·õ¤òÏ»¥ö·î»ý¤ÁÊ⤭¡¢¤Ä¤¤¤Ë¤½¤ì¤ò»È¤Ã¤¿¡Ä¡£"
93        "¿æ»ö¤ÎÈ֤ǥ¤¥â¤ÎÈé¤òÇí¤¤¤¿¤Î¤À¡£"))
94
95 (define (patch-dung knpc kpc)
96   (say knpc "²øʪ¤¿¤Á¤Ï¿¼Ê¥¤ÇÀ¸¤Þ¤ì¤ë¡£Åۤ餬ÃϾå¤ËÍè¤ëÁ°¤Ë»ß¤á¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£"
97        "¤½¤¦»×¤¦¤À¤í¤¦¡©")
98   (if (kern-conv-get-yes-no? kpc)
99       (say knpc "¤½¤ÎÄ̤ꡪ¤À¤«¤éÀ»µ³»Î¤Ï¤½¤³¤ËÉôÂâ¤òÃÖ¤­¡¢Ãæ´Ö¤ò·ÙÈ÷¤·¤Æ¤¤¤ë¤Î¤À¡£"
100            "̵ܤǽõ¤±¤¬É¬ÍפʤéÈà¤é¤òõ¤·¤Ê¤µ¤¤¡£ÉôÂâ¤Ë¤Ï°å»Õ¤¬¤¤¤ë¡£")
101       (say knpc "¥´¥Û¥ó¡ªÈà¤é¤¬ÅܤêÅļˤ˵¢¤Ã¤Æ¤·¤Þ¤¦¤¾¡ª")))
102
103 (define (patch-doc knpc kpc)
104   (say knpc "»ä¤Ï°å»Õ¤À¡£¼£ÎŤ¬É¬Íפ«¤Í¡©")
105   (if (kern-conv-get-yes-no? kpc)
106       (patch-trade knpc kpc)
107       (say knpc "¤è¤í¤·¤¤¡£½õ¤±¤¬É¬Íפˤʤ俤餳¤Îɱ¡¤ËÍè¤Ê¤µ¤¤¡£"
108            "·¯¤Î¤è¤¦¤ÊËÁ¸±¼Ô¤ÏÀ襤¤Ç¤É¤ì¤À¤±¥Ü¥í¥Ü¥í¤Ë¤Ê¤ë¤«¡¢»ä¤ÏÃΤäƤ¤¤ë¡ª")))
109
110 (define (patch-hosp knpc kpc)
111   (say knpc "¤½¤¦¤À¡£¥°¥é¥¹¥É¥ê¥ó¤ÎÀ»µ³»Î¤Ï¾ï¤ËÀï¤Ã¤Æ¤¤¤ë¡£"
112        "ÆÍÁ³Íè¤ëËÁ¸±¼Ô¤ä¼¤Îɵ¤¤Î¼Ô¤â¿Ç¤ë¡£"))
113
114 ;; Townspeople...
115
116 (define patch-conv
117   (ifc glasdrin-conv
118
119        ;; basics
120        (method 'default patch-default)
121        (method 'hail patch-hail)
122        (method 'bye  patch-bye)
123        (method 'job  patch-job)
124        (method 'name patch-name)
125        (method 'join patch-join)
126        
127        ;; trade
128        (method 'trad patch-trade)
129        (method 'heal patch-trade)
130        (method 'cure patch-trade)
131        (method 'resu patch-trade)
132        (method 'help patch-trade)
133
134        ;; patch
135        (method 'patc patch-patc)
136        (method 'kurp patch-kurp)
137        (method 'tour patch-tour)
138        (method 'medi patch-medi)
139        (method 'dagg patch-dagg)
140        (method 'dung patch-dung)
141        (method 'doc  patch-doc)
142        (method 'hosp patch-hosp)
143        (method 'outp patch-dung)
144
145        ;; town & people
146
147        ))
148
149 (define (mk-patch)
150   (bind 
151    (kern-mk-char 'ch_patch           ; tag
152                  "´ãÂÓ"              ; name
153                  sp_human            ; species
154                  oc_wizard           ; occ
155                  s_companion_wizard  ; sprite
156                  faction-glasdrin         ; starting alignment
157                  1 3 0               ; str/int/dex
158                  0 0                 ; hp mod/mult
159                  0 0                 ; mp mod/mult
160                  max-health -1 max-health 0 6            ; hp/xp/mp/AP_per_turn/lvl
161                  #f                  ; dead
162                  'patch-conv         ; conv
163                  sch_patch           ; sched
164                  'townsman-ai                 ; special ai
165                  (mk-inventory (list (list 1 t_staff)))                 ; container
166                  (list t_dagger)                 ; readied
167                  )
168    (patch-mk)))