OSDN Git Service

日本語版
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / engineer.scm
1 ;;----------------------------------------------------------------------------
2 ;; Constants
3 ;;----------------------------------------------------------------------------
4 (define engineer-start-lvl 8)
5
6 (define voidship-parts
7   (list 
8         (list t_power_core 1)
9         (list sulphorous_ash 20)
10         (list t_gem 10)
11   ))
12
13 (define voidship-loc (mk-loc 'p_shard 50 3))
14
15 ;;----------------------------------------------------------------------------
16 ;; Schedule
17 ;;
18 ;; µ»»Õ¤Î¾®²°
19 ;;----------------------------------------------------------------------------
20 (kern-mk-sched 'sch_engineer
21                (list 0  0  eng-workshop   "working")
22                (list 1  0  eng-bed        "sleeping")
23                (list 10 0  eng-workshop   "working")
24                )
25
26 ;;----------------------------------------------------------------------------
27 ;; Gob
28 ;;
29 ;; Quest flags, etc, go here.
30 ;;----------------------------------------------------------------------------
31 (define (engineer-mk)
32   (list #f 
33         (mk-quest)))
34 (define (eng-met? gob) (car gob))
35 (define (eng-quest gob) (cadr gob))
36 (define (eng-met! gob val) (set-car! gob val))
37
38 ;; ----------------------------------------------------------------------------
39 ;; Voidship plans
40 ;; ----------------------------------------------------------------------------
41 (mk-reusable-item 
42  't_voidship_plans "µõ¶õÁ¥·×²è½ñ" s_lexicon norm
43  (lambda (klexicon kuser)
44    (kern-ui-page-text
45    "µõ¶õÁ¥·×²è½ñ"
46    "ÉôÉÊ°ìÍ÷:"
47    "¡¡Î²²«¤Î³¥ (20)"
48    "¡¡ÊõÀР(10)"
49    "¡¡Ï§¿´ (1)"
50    )))
51
52 ;;----------------------------------------------------------------------------
53 ;; Conv
54 ;;
55 ;; µ»»Õ¤ÏÃμ±¤Î¤¢¤ë°ÎÂç¤Ê¿¦¿Í¤Ç¡¢¸­¼Ô¤Î°ì¿Í¤Ç¤¢¤ë¡£
56 ;; Èà¤Ï¥·¥ã¥ë¥É¤Îü¤Î¤¿¤É¤êÃ夯¤Î¤¬º¤Æñ¤Êµõ¶õ¤Î¹â¸¶(µõ¶õ¤ÎÅç)¤¢¤ëºî¶È¾ì¤Ë½»¤ó
57 ;; ¤Ç¤¤¤ë¡£
58 ;;----------------------------------------------------------------------------
59 (define (eng-hail knpc kpc)
60   (say knpc "¡Î¤¢¤Ê¤¿¤Ï¤ä¤»¤¿¡¢Çò¤¯¥Ü¥µ¥Ü¥µ¤Îȱ¤ÎÃˤȲñ¤Ã¤¿¡£"
61        "Èà¤ÏºÇ½é¤Ï¤¢¤Ê¤¿¤Ëµ¤¤Å¤¤¤Æ¤¤¤Ê¤¤¤è¤¦¤À¤Ã¤¿¡£¡Ï¤ª¤Ã¤È¡¢¤³¤ó¤Ë¤Á¤Ï¡£"))
62
63 (define (eng-name knpc kpc)
64   (say knpc "¥ë¥É¥ë¥Õ¤À¡£µ»»Õ¤È¸À¤Ã¤¿Êý¤¬¤ï¤«¤ê¤ä¤¹¤¤¤À¤í¤¦¡£"))
65
66 (define (eng-job knpc kpc)
67   (say knpc "¤¢¤¢¡¢¤³¤ì¤È¤¢¤ì¤À¡£¤â¤Î¤òºî¤ë¤Î¤¬¹¥¤­¤Ê¤ó¤À¤è¡£"))
68
69 (define (eng-default knpc kpc)
70   (say knpc "¤ï¤«¤é¤Ê¤¤¤Ê¡£ËâÆ»»Õ¤Ëʹ¤¤¤Æ¤¯¤ì¡£"))
71
72 (define (eng-bye knpc kpc)
73   (say knpc "¡ÎÈà¤Ï¤¹¤Ç¤Ë¤¢¤Ê¤¿¤Î¤³¤È¤òµ¤¤Ë¤«¤±¤Æ¤¤¤Ê¤¤¤è¤¦¤À¡£¡Ï"))
74
75 (define (eng-join knpc kpc)
76   (say knpc "Ë»¤·¤¹¤®¤ë¤Ê¡£Æ®»Î¤ËÍê¤ó¤Ç¤ß¤Ê¤µ¤¤¡£Èà½÷¤ÏËÁ¸±¤¬¹¥¤­¤À¤«¤é¡£"))
77
78 (define (eng-warr knpc kpc)
79   (say knpc "Èà½÷¤Ï¤³¤ì¤Þ¤Ç¤ÇºÇ¤âÍ¥¤ì¤¿Àï»Î¤Î°ì¿Í¤À¤È¹Í¤¨¤Æ¤¤¤ë¡£"
80        "¤À¤¬¡¢ºÇ¤âµ¤¹â¤­¼Ô¤Î°ì¿Í¤À¤È¤¤¤¦¤³¤È¤âÃΤäƤ¤¤ë¡£"
81        "Èà½÷¤¬¿®¤¸¤é¤ì¤Ê¤¤¤è¤¦¤Êͦµ¤¤¢¤ë¡¢¤½¤·¤Æ¶ò¤«¤Ê¤³¤È¤ò¤·¤¿¤Î¤Ç¤Ê¤±¤ì¤Ð"
82        "¥°¥é¥¹¥É¥ê¥ó¤Ç²ñ¤¨¤ë¤À¤í¤¦¡£")
83     (quest-wise-subinit 'questentry-warritrix)
84         (quest-data-update 'questentry-warritrix 'general-loc 1)
85        )
86
87 (define (eng-make knpc kpc)
88   (say knpc "»ä¤Ï¤É¤ó¤Ê¼ïÎà¤Î¤â¤Î¤Ç¤âºî¤ë¡£ºÇ¶á¤Ïι¤¹¤ë¤â¤Î¤Ë¶½Ì£¤¬¤¢¤ë¤Ê¡£"
89        "Î㤨¤Ð¡¢Ìç¡¢µõ¶õÁ¥¤Ê¤É¤À¡£"
90        "¹½ÁÛ¤ÇƬ¤ÎÃ椬¤¤¤Ã¤Ñ¤¤¤À¤è¡£"))
91
92 (define (eng-wand knpc kpc)
93   (say knpc "·¯¤Ï̤¤¿Í¤«¡©¤º¤Ã¤È²ñ¤¤¤¿¤¤¤È»×¤Ã¤Æ¤¤¤¿¤ó¤À¡£"
94        "Ìç¤Ï¼«Ê¬¤Çºî¤Ã¤¿¤Î¤«¡©")
95   (kern-conv-get-yes-no? kpc)
96   (say knpc "¤º¤Ã¤È¤½¤ì¤¬¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤Î¤«¹Í¤¨¤Æ¤¤¤ë¡£"
97        "¤¤¤¯¤Ä¤«¤ÎÍýÏÀ¤ò¹Í¤¨¤¿¡£¤½¤·¤Æ¤½¤ì¤ò»î¤¹¤¿¤á¤Ëµõ¶õÁ¥¤òÀ߷פ·¤¿¤Î¤À¡£"
98        "¤À¤¬¤Þ¤À·ëÏÀ¤Ï½Ð¤Æ¤¤¤Ê¤¤¡£"))
99
100 (define (eng-void knpc kpc)
101   (let* ((eng (kobj-gob-data knpc))
102          (quest (eng-quest eng)))
103
104     (define (remove-stuff)
105       (map (lambda (ktype) 
106              (kern-obj-remove-from-inventory kpc (car ktype) (cadr ktype)))
107            voidship-parts))
108
109         ;;FIXME: the grammer here needs work
110         
111     (define (really-has-parts?)
112       (display "really-has-parts?")(newline)
113       (let ((missing (filter 
114                                 (lambda (ktype)
115                                         (let ((nrem (- (cadr ktype) (num-in-inventory kpc (car ktype)))))
116                                                 (cond 
117                                                         ((> nrem 1)
118                                                                 (begin
119                                                                         (say knpc "¤Þ¤À" nrem "¤Î" (kern-type-get-name (car ktype)) "¤¬É¬ÍפÀ¡£")
120                                                                         #t))
121                                                         ((> nrem 0)
122                                                                 (begin
123                                                                         (say knpc "¤Þ¤À" (kern-type-get-name (car ktype)) "¤¬É¬ÍפÀ¡£")
124                                                                         #t))
125                                                         (else #f))))
126                                         voidship-parts)))
127                 
128         (if (null? missing)
129                         #t
130             #f)))
131
132     (define (build-ship)
133       (say knpc "¤è¤·¡£Á´¤Æ¤½¤í¤Ã¤¿¤è¤¦¤À¤Ê¡£"
134            "¤Ç¤Ï¼è¤ê³Ý¤«¤ë¤È¤·¤è¤¦¡£")
135       (remove-stuff)
136       (kern-log-msg "¡Î¿ô¿¤¯¤ÎÅØÎÏ¡¢¶ìÏ«¡¢»î¹Ô¡¢¼ºÇԤθå¡Ä¡Ï")
137       (prompt-for-key)
138       (kern-log-msg "¡ÎºÆ»î¹Ô¡¢ºÆ¼ºÇÔ¡¢¿Ê¤ó¤ÇÌá¤Ã¤Æ¡¢È±¤¬È´¤±Íî¤Á¤ë¡Ä¡Ï")
139       (prompt-for-key)
140       (kern-log-msg "¡Î¤µ¤é¤Ë¶ìÏ«¡¢µÄÏÀ¡¢¤ä¤êľ¤·¡¢¤Þ¤¿¼ºÇÔ¡Ä¡Ï")
141       (prompt-for-key)
142       (kern-log-msg "¡ÎºÆ»î¹Ô¡¢ºÆ¼ºÇÔ¡¢ÎÞ¡¢»õ¤®¤·¤ê¡Ä¡Ï")
143       (prompt-for-key)
144       (kern-log-msg "¡ÎÅù¡¹¡¢Åù¡¹¡Ä¡Ï")
145       (prompt-for-key)
146       (kern-log-msg "¡Î¡Ä¤Ä¤¤¤Ë¡Ä¡Ï")
147       (prompt-for-key)
148       (kern-log-msg "¡Î¡Ä¤ª¤Ã¤È¡¢¤Á¤¯¤·¤ç¤¦¡¢º£Å٤ϲ¿¤À¡©¡Ä¡Ï")
149       (prompt-for-key)
150       (kern-log-msg "¡Î¡Ä¤À¤¬¡¢¤Þ¤â¤Ê¤¯¡Ä¡Ï")
151       (prompt-for-key)
152       (kern-obj-relocate (mk-voidship) (eval-loc voidship-loc) nil)
153       (kern-log-msg "¡ÎÆó¿Í¤È¤âÈè¤ì¤Æ¥Ü¥í¥Ü¥í¤À¡£¡Ï")
154       (say knpc
155            "¤¦¤à¡Ä¡£°­¤¯¤Ê¤¤½ÐÍè¤À¡£Èà½÷¤ÏÁ´¤Æ·¯¤Î¤â¤Î¤À¡£"
156            "³°¤ÎÁ¥Ãå¾ì¤ÇÂԤäƤ¤¤ë¤¾¡£¹¬±¿¤òµ§¤ë¡ª")
157       (kern-log-msg "¡ÎÈà¤Ï¤¤¤Ó¤­¤ò¤«¤­»Ï¤á¤¿¡£¡Ï")
158       (kern-obj-add-effect knpc ef_sleep nil)
159       (quest-done! quest #t)
160       (kern-conv-end))
161
162     (define (missing-power-core?)
163       (not (in-inventory? kpc t_power_core)))
164
165     (define (has-plans)
166       (say knpc "¤ª¤ª¡¢¤½¤ì¤¬»ä¤Îµõ¶õÁ¥¤Î·×²è½ñ¤À¡ª"
167            "ɬÍפÊÉôÉʤÏÁ´¤Æ¤¢¤ë¤«¤Í¡©")
168       (if (kern-conv-get-yes-no? kpc)
169           (if (really-has-parts?)
170               (build-ship))
171           (if (missing-power-core?)
172               (say knpc "Æî¤Î¿¼¤¤Îö¤±ÌܤòÅϤ俾ì½ê¤Î¤É¤³¤«¤Ë°ú¤­¾å¤²¤é¤ì¤¿µõ¶õÁ¥¤¬¤¢¤ë¡£"
173                    "Îö¤±ÌܤòÅϤëÊýË¡¤ò¸«¤Ä¤±¤ì¤Ð¡¢¤½¤³¤«¤éϧ¿´¤ò¼è¤ê½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¤À¤í¤¦¡£")
174               (say knpc "¤¦¤¦¤à¡¢²¿¤òÂԤäƤ¤¤ë¤Î¤«¤Ê¡©¤½¤ì¤é¤ò»ý¤Ã¤Æ¤­¤Ê¤µ¤¤¡£")
175               )))
176       
177     (define (no-plans)
178       (say knpc "¥·¥ã¥ë¥É¤Î¼þ¤ê¤Ë¤Ï¹­Âç¤Êµõ¶õ¤¬¹­¤¬¤Ã¤Æ¤¤¤ë¡£"
179            "»ä¤Ïµõ¶õ¤òÅϤëÁ¥¤ÎÀ߷פò¤·¤¿¡£¤À¤¬¤Þ¤À´°À®¤·¤Æ¤¤¤Ê¤¤¡£"
180            "¤É¤³¤«¤Ë·×²è½ñ¤¬¤¢¤ë¡£¸«¤Ä¤±¤Æ¤­¤¿¤é¶µ¤¨¤Æ¤ä¤í¤¦¡£")
181            (quest-data-update 'questentry-whereami 'shard 2)
182            )
183
184     (if (quest-done? quest)
185         (say knpc "Á´¤Æ´°À®¤·¤¿¡£")
186         (if (in-inventory? kpc t_voidship_plans)
187             (has-plans)
188             (no-plans)))))
189
190 (define (eng-gate knpc kpc)
191   (say knpc "·î¤ÎÌç¤Èº×ÃŤÎÌç¤ÏÆæ¤ËËþ¤Á¤Æ¤¤¤ë¡£"
192        "»ä¤Ï¤½¤ÎÆæ¤ò²ò¤­ÌÀ¤«¤·¤¿¤¤¡£"
193        "°­Ëâ¤ÎÌç¤ÏÃΤäƤ¤¤ë¤«¤Í¡©")
194   (if (kern-conv-get-yes-no? kpc)
195       (say knpc "¤½¤ì¤ÏËÜÅö¤Ë¤¢¤ë¤Î¤«¡¢¤½¤¦¤Ç¤Ï¤Ê¤¤¤Î¤«¡£»ä¤ÏÃΤꤿ¤¤¤Î¤À¡£")
196       (say knpc "¤³¤ó¤Ê¸À¤¤ÅÁ¤¨¤¬¤¢¤ë¡£"
197            "°­Ëâ¤ÎÌç¤Ï¡¢¤³¤ÎÀ¤³¦¤«¤éÊ̤ÎÀ¤³¦¤Ø¤È¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤ë¡£"
198            "¤½¤·¤ÆÌÑÁÛ¤ËÊá¤é¤ï¤ì¤¿¼Ô¤¬¡¢¤½¤ì¤òÊĤ¶¤·¡¢¸°¤ò¤É¤³¤«¤ØÅꤲ¼Î¤Æ¤¿¡£"
199            "¤â¤·¤½¤ì¤¬ËÜÅö¤Ê¤é»ÄÇ°¤Ê¤³¤È¤À¡£")))
200   
201 (define (eng-key knpc kpc)
202   (say knpc "¸°¤Ï¤¤¤¯¤Ä¤«¤ÎÀÐÈǤǡ¢¤½¤ì¤Ï¼º¤ï¤ì¤¿¤«¡¢¥Ð¥é¥Ð¥é¤Ë¤Ê¤Ã¤¿¤È¤µ¤ì¤Æ¤¤¤ë¡£"
203        "¤è¤¯¤¢¤ë¤Ä¤Þ¤é¤Ê¤¤¤ª¤È¤®ÏäÀ¡£¤À¤¬¡¢¤â¤·¤«¤¹¤ë¤È¤½¤³¤Ë¿¿¼Â¤Î³Ë¤¬¤¢¤ë¤Î¤«¤â¤·¤ì¤Ê¤¤¡£"))
204
205 (define (eng-wise knpc kpc)
206   (say knpc "¼«¤é¤ò¸­¼Ô¤È¸Æ¤ÖÐþËý¤Ê¼Ô¤Ï¡¢¤Û¤Ü´Ö°ã¤¤¤Ê¤¯¶ò¤«¤Ê¼Ô¤À¡£"
207        "Îã¤òµó¤²¤ì¤Ð¥°¥é¥¹¥É¥ê¥ó¤ÎÅý¼£¼Ô¤À¡£"))
208
209 (define (eng-stew knpc kpc)
210   (say knpc "Èà½÷¤ÏŤ¤´Ö¡¢¸­¼Ô¤Î°ì¿Í¤È¤·¤Æ¿ô¤¨¤é¤ì¤Æ¤¤¤¿¡£"
211        "¤½¤·¤Æ¡¢¤½¤Î¤³¤È¤Ç¤É¤ì¤À¤±¤Î·ì¤¬Î®¤µ¤ì¤¿¤Î¤«¤ï¤«¤é¤Ê¤¤¡£"
212        "¥¢¥Ö¥µ¥í¥Ã¥È¤Î¤³¤È¤Ïʹ¤¤¤¿¤Ê¡©")
213   (if (kern-conv-get-yes-no? kpc)
214       (say knpc "ÎϤΰ­ÍѤδ°àú¤ÊÎã¤À¡£²¿¤ÈÈᤷ¤¤¤³¤È¤«¡£")
215       (say knpc "Åý¼£¼Ô¤Ï¾¤ÎÄ®¤ÈËâÆ»»Õ¤òñÙ¤·¡¢¥¢¥Ö¥µ¥í¥Ã¥È¤ÎÄ®¤ÇÂçµÔ»¦¤ò¹Ô¤Ã¤¿¤Î¤À¡£"
216            "¥¢¥Ö¥µ¥í¥Ã¥È¤Ï¼ö¤ï¤ì¤¿¼Ô¤Î²¹¾²¤È¤µ¤ì¤Æ¤¤¤¿¡£"
217            "¤â¤·¼ö¤ï¤ì¤¿¼Ô¤¬¤¤¤ë¤ï¤º¤«¤Ê¾Úµò¤Ç¤â¤¢¤ì¤Ð¡¢»Ä¤ê¤ÎÄ®¤âƱ¤¸¤è¤¦¤Ë¾Æ¤­Ê§¤Ã¤¿¤À¤í¤¦¡£")))
218
219 (define (eng-accu knpc kpc)
220   (say knpc "Èà¤é¤Ï°­¤È·ÀÌó¤·¤¿¼Ô¤¿¤Á¤Î½¸ÃĤȤµ¤ì¤Æ¤¤¤ë¡£"
221        ";·×¤Ê¤³¤È¤Ð¤«¤êµ¤¤Ë¤·¤Æ¤¤¤ë¼Ô¤¿¤Á¤Ï¡¢Èà¤é¤ËÉ⤭­Ω¤Ã¤Æ¤¤¤ë¡£"
222        "»ä¤ÏÁ´¤¯µ¤¤Ë¤·¤Æ¤¤¤Ê¤¤¡£"))
223
224 (define (eng-shri knpc kpc)
225   (say knpc "¤â¤Á¤í¤óº×ÃŤÎÌç¤Îµ­Ï¿¤ä¤½¤Î¾ì½ê¤ò¤è¤¯Ä´¤Ù¤Æ¤ß¤¿¡£"
226        "¤À¤¬¡¢¤½¤ì¤¬¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤Î¤«¡¢¤É¤¦¤¹¤ì¤ÐÀ©¸æ¤Ç¤­¤ë¤Î¤«¡¢¤½¤ì¤ò¼¨¤¹¤â¤Î¤Ï²¿¤â¤Ê¤«¤Ã¤¿¡£"
227        "ºÇ¸å¤Ë¤½¤ì¤¬³«¤¤¤¿¤Î¤Ïɴǯ°Ê¾åÁ°¤Î¤³¤È¤À¤È»ä¤Ï¹Í¤¨¤Æ¤¤¤ë¡£"))
228
229 (define (eng-rune knpc kpc)
230   (say knpc "¸À¤¤ÅÁ¤¨¤Ç¤Ï°­Ëâ¤ÎÌç¤Ï¤¤¤¯¤Ä¤«¤ÎÀÐÈǤÇÉõ°õ¤µ¤ì¤¿¤È¸À¤ï¤ì¤Æ¤¤¤ë¡£"
231        "Ê̤ÎÏäǤÏÀÐÈǤÏÆóÅÙ¤ÈÌç¤ò³«¤±¤é¤ì¤Ê¤¤¤è¤¦¥Ð¥é¥Ð¥é¤Ë¤µ¤ì¤¿¤È¤â¡¢"
232        "¤¿¤Àñ¤Ë±¿°­¤¯¼º¤ï¤ì¤¿¤È¤â¸À¤ï¤ì¤Æ¤¤¤ë¡£"
233        "¤â¤Á¤í¤ó¤½¤ì¤Ï¤¿¤À¤Î¸À¤¤ÅÁ¤¨¤Ç¡¢¤½¤Î¤è¤¦¤ÊÀÐÈǤ䡢Ìç¤Î¸ºß¤¹¤é¤ï¤«¤é¤Ê¤¤¤Î¤À¡ª"))
234
235 (define (eng-wiza knpc kpc)
236   (say knpc "Ëâ½Ñ»Õ¤ÏÎϤ˿´¤òÃ¥¤ï¤ì¤¬¤Á¤À¡£"))
237
238 (define (eng-wrog knpc kpc)
239   (say knpc "¤Û¤È¤ó¤É¤Î¤Ê¤é¤º¼Ô¤Ï¤¿¤À¤ÎɤΤ褦¤Ê¤â¤Î¤À¡£Èà¤é¤Ï¤¢¤é¤æ¤ë½ê¤Ë¤¤¤ë¡£"))
240
241 (define (eng-wrig knpc kpc)
242   (say knpc "¿¦¿Í¤Ï»ä¤Î¤è¤¦¤Ê¼Ô¤¿¤Á¤À¡£"
243        "ʪ¤òºî¤ë¤³¤È¤ò¹¥¤ß¡¢Êª¤Î»ÅÁȤߤò¸«¤Ä¤±½Ð¤¹¡£"
244        "¤½¤·¤Æ¼«Í³¤Ë¶½Ì£¤Î¤¢¤ëʪ»ö¤òÄɤ¤µá¤á¤è¤¦¤È¤¹¤ë¡£"))
245
246 (define (eng-necr knpc kpc)
247   (say knpc "°­¤¤¼Ô¤Ç¤Ï¤Ê¤¤¡£°ìÅÙ¤«ÆóÅÙ¡¢Èà¤ÈµÄÏÀ¤·¤¿¤³¤È¤¬¤¢¤ë¡£")
248   (quest-data-update 'questentry-necromancer 'nonevil 1)
249   )
250
251 (define (eng-alch knpc kpc)
252   (say knpc "ÌýÃǤǤ­¤Ê¤¤¥í¥¯¥Ç¥Ê¥·¤À¡£¤À¤¬¡¢Âº·É¤¹¤Ù¤­¤È¤³¤í¤â¤¢¤ë¡£"))
253
254 (define (eng-man knpc kpc)
255   (say knpc "¤Ê¤é¤º¼Ô¡¢¤À¤¬½õ¤±¤Ë¤Ê¤ë¼Ô¤À¡£²¿¤È¤«¤¦¤Þ¤¯¤ä¤Ã¤Æ¤¤¤ë¤è¡£"))
256
257 (define (eng-ench knpc kpc)
258   (say knpc "»ä¤Ë¸À¤ï¤»¤ì¤Ð¾¯¤·¶¸¿®Åª¤Ê¤È¤³¤í¤¬¤¢¤ë¡£¿Í¤Ï³§¤½¤¦¤À¤¬¡£"))
259
260 (define eng-merch-msgs
261   (list "º£¤Ï¥À¥á¤À¡£"
262         "»ä¤¬³«È¯¤·¤¿Êª¤Î°ìÉô¤ò¸«¤»¤Æ¤ä¤í¤¦¡Ä"
263         nil
264         nil
265         "¤¤¤Ä¤âÃç´Ö¤Î½¤Íý²°¤Ë´¶¼Õ¤µ¤ì¤Æ¤¤¤ë¤è¡£"
266         "¤¤¤¤¤µ¡£"
267    ))
268
269 (define eng-catalog
270   (list
271    ;; Various tools and devices
272    (list t_picklock       10 "ÆÍÁ³¤¤¤¯¤Ä¤«¤ÎͽÈ÷¤Î¸°¤¬É¬Íפˤʤä¿¡£¤É¤ó¤Ê¾û¤Ë¤â¹ç¤¦ÊØÍø¤Ê¤â¤Î¤À¡£")  ;; high prices, not his specialty
273    (list t_shovel        100 "¤³¤Î¥·¥ã¥Ù¥ë¤Ï¼êÊü¤·¤¿¤¯¤Ê¤¤¤Ê¡£¤É¤ì¤À¤±Ìò¤ËΩ¤Ä¤«·¯¤Ë¤Ï¤ï¤«¤é¤Ê¤¤¤À¤í¤¦¡£")  ;; high prices, not his specialty
274    (list t_pick          100 "¤³¤Î¤Ä¤ë¤Ï¤·¤Ï»È¤Ã¤¿¤â¤Î¤À¡£°ìÅÙ¤À¤±¡£¤³¤ì¤Ï¼êÊü¤·¤Æ¤â¤¤¤¤¤À¤í¤¦¡£")  ;; high prices, not his specialty
275    (list t_sextant       200 "¤³¤ì¤Ï»ä¤ÎºÇ¹â·æºî¤Î°ì¤Ä¤À¡£¤³¤Îϻʬµ·¤¬¤¢¤ì¤Ð¡¢¥¤¥ó¡¦¥¦¥£¥¹<In Wis>¤Î¼öʸ¤Ê¤·¤ÇÃϾå¤Ç¤Î°ÌÃÖ¤¬¤ï¤«¤ë¡£")
276    (list t_chrono        200 "¤³¤ì¤Ï¾®¤µ¤Ê¡¢»ý¤Á±¿¤Ù¤ë»þ·×¤À¡ªÌÌÇò¤¤¤À¤í¤¦¡©¡ÎÈà¤Ï³Ú¤·¤µ¤Î¤¢¤Þ¤ê¾Ð¤Ã¤¿¡£¡Ï")
277    
278    ;; A bit of oil and grease, for a grease-monkey:
279    (list t_grease         20 "»é¤Ï¤¿¤¯¤µ¤ó¤¢¤ë¡£¿§¡¹¤Ê¤³¤È¤Ë»È¤Ã¤Æ¤¤¤ë¡£")
280    (list t_oil            10 "¤³¤ÎÌý¤ÎÇúȯÎϤλȤ¤Æ»¤Ï¤¤¤¯¤é¤Ç¤â¤¢¤ë¡£¤³¤ì¤Ï¶²¤é¤¯Æ°Îϸ»¤Ë¤â¤Ê¤ë¤À¤í¤¦¡£")  ;; high prices, not his specialty
281
282    ;; Crossbows and bolts, as he likes intricate devices
283    (list t_lt_crossbow    50 "¤«¤ï¤¤¤é¤·¤¤¾®¤µ¤Ê¥¯¥í¥¹¥Ü¥¦¤À¤í¤¦¡©¤³¤Î¾®¤µ¤Ê¥ì¥Ð¡¼¤Èµ¡³£¤ÏËÜÅö¤Ë¤è¤¯¤Ç¤­¤Æ¤¤¤ë¡£")
284    (list t_crossbow      100 "»ä¤Ï·â¤Ä¤Î¤Ï¶ì¼ê¤À¡£¤·¤«¤·¡¢µõ¶õ¤Ë¸þ¤«¤Ã¤Æ¼«Ê¬¤Ç°ÂÁ´¤Ê·â¤ÁÊý¤ò¶µ¤¨¤ë¤³¤È¤¬¤Ç¤­¤¿¤«¤È»×¤¦¤È¡¢ÂǤÁÊý¤ò³Ø¤ó¤Ç¤ª¤±¤Ð¤è¤«¤Ã¤¿¤È»×¤¦¤è¡£")
285    (list t_hvy_crossbow  300 "ɸ½àŪ¤Ê¥¯¥í¥¹¥Ü¥¦¤ò²þÎɤ»¤º¤Ë¤Ï¤¤¤é¤ì¤Ê¤«¤Ã¤¿¡£¼è¤êÉÕ¤±¤Æ¤ß¤ì¤Ð¤¹¤°¤Ë·æºî¤À¤È¤ï¤«¤ë¤À¤í¤¦¡£")
286    (list t_trpl_crossbow 500 "¤â¤·°ìÅ٤˰ìȯ¤è¤ê¿¤¯·â¤Æ¤ë¥¯¥í¥¹¥Ü¥¦¤¬¤¢¤Ã¤¿¤é¡©»ä¤ÏÄ©À路¤Æ¤ß¤¿¡£¤½¤·¤Æ¤³¤ì¤òºî¤Ã¤¿¡£") ;; a mechanism of his devising
287    (list t_bolt            2 "¥¯¥í¥¹¥Ü¥¦¤ò²þÎɤ·¤Æ¤¤¤ë¤È¤­¡¢Â¿¤¯¤ÎÌð¤¬É¬ÍפÀ¤Ã¤¿¡£º£¤Ç¤â²¿È¢¤«»Ä¤Ã¤Æ¤¤¤ë¡£")
288    ))
289
290 (define (eng-trade knpc kpc) (conv-trade knpc kpc "buy" eng-merch-msgs eng-catalog))
291
292 (define engineer-conv
293   (ifc nil
294        (method 'default eng-default)
295        (method 'hail eng-hail)
296        (method 'name eng-name)
297        (method 'bye eng-bye)
298        (method 'job eng-job)
299        (method 'engi eng-job)
300        (method 'join eng-join)
301
302        (method 'trad eng-trade)
303        (method 'buy  eng-trade)
304        (method 'inve eng-trade)
305
306        (method 'make eng-make)
307        (method 'thin eng-make)
308        (method 'wand eng-wand)
309        (method 'void eng-void)
310        (method 'gate eng-gate)
311        (method 'key eng-key)
312        (method 'wise eng-wise)
313        (method 'stew eng-stew)
314        (method 'accu eng-accu)
315        (method 'shri eng-shri)
316        (method 'rune eng-rune)
317        (method 'wiza eng-wiza)
318        (method 'wrog eng-wrog)
319        (method 'wrig eng-wrig)
320        (method 'necr eng-necr)
321        (method 'alch eng-alch)
322        (method 'man eng-man)
323        (method 'ench eng-ench)
324        (method 'warr eng-warr)
325        ))
326
327 (define (mk-engineer)
328   (bind 
329    (kern-char-arm-self
330     (kern-mk-char 
331      'ch_engineer ;;..........tag
332      "µ»»Õ" ;;.......name
333      sp_human ;;.....species
334      oc_wright ;;.. .occupation
335      s_companion_tinker ;;..sprite
336      faction-men ;;..faction
337      2 ;;...........custom strength modifier
338      10 ;;...........custom intelligence modifier
339      2 ;;...........custom dexterity modifier
340      10 ;;............custom base hp modifier
341      2 ;;............custom hp multiplier (per-level)
342      20 ;;............custom base mp modifier
343      5 ;;............custom mp multiplier (per-level)
344      max-health ;;..current hit points
345      -1  ;;...........current experience points
346      max-health ;;..current magic points
347      0
348      engineer-start-lvl  ;;..current level
349      #f ;;...........dead?
350      'engineer-conv ;;...conversation (optional)
351      sch_engineer ;;.....schedule (optional)
352      'townsman-ai ;;..........custom ai (optional)
353      ;;..............container (and contents)
354      (mk-inventory
355       (list
356        (list 1   t_dagger)
357        (list 1   t_doom_staff)
358        (list 1   t_trpl_crossbow)
359        (list 100 t_bolt)
360        (list 5   t_cure_potion)
361        (list 5   t_heal_potion)
362        ))
363      nil ;;.........readied arms (in addition to the container contents)
364      nil ;;..........hooks in effect
365      ))
366    (engineer-mk)))