OSDN Git Service

e4b34e5b8c9f7c104f7fb71aba44b03f44e52886
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / kalcifax.scm
1 ;;----------------------------------------------------------------------------
2 ;; Constants
3 ;;----------------------------------------------------------------------------
4 (define kalc-lvl 6)
5 (define kalc-species sp_human)
6 (define kalc-occ oc_wizard)
7
8 ;;----------------------------------------------------------------------------
9 ;; Schedule
10 ;; 
11 ;; ¥«¥ë¥·¥Õ¥¡¥¯¥¹¤Ï¿¤¯¤Î¾ì½ê¤ò(·î¤ÎÌç¤ò»È¤Ã¤Æ)ι¤·¡¢ÅÁ¸À¤Ê¤É¤ò±¿¤ó¤Ç¤¤¤ë¡£
12 ;;----------------------------------------------------------------------------
13 (define kalc-bed cheerful-bed-2)
14 (define kalc-mealplace )
15 (define kalc-workplace )
16 (define kalc-leisureplace )
17 (kern-mk-sched 'sch_kalc
18                (list 0  0 kalc-bed          "sleeping")
19                (list 7  0 bilge-water-seat-5 "eating")
20                (list 8  0 enchtwr-hall       "idle")
21                (list 11 0 g-fountain         "idle")
22                (list 12 0 ghg-s6             "eating")
23                (list 13 0 eng-workshop       "idle")
24                (list 16 0 trigrave-tavern-hall "idle")
25                (list 17 0 trigrave-tavern-table-3b "eating")
26                (list 19 0 gt-ws-hall           "idle")
27                (list 23 0 kalc-bed          "sleeping")
28                )
29
30 ;;----------------------------------------------------------------------------
31 ;; Gob
32 ;;----------------------------------------------------------------------------
33 (define (kalc-mk) nil)
34
35 ;;----------------------------------------------------------------------------
36 ;; Conv
37 ;; 
38 ;; ¥«¥ë¥·¥Õ¥¡¥¯¥¹¤Ï½÷À­¤ÎËâ½Ñ»Õ¤Ç¡¢Â¿¤¯¤Î·î¤ÎÌç¤ÎÃ챤¬¤¢¤ë¡£
39 ;; Èà½÷¤Ï¿¤¯¤Î¾ì½ê¤ò(·î¤ÎÌç¤ò»È¤Ã¤Æ)ι¤·¡¢ÅÁ¸À¤Ê¤É¤ò±¿¤ó¤Ç¤¤¤ë¡£
40 ;; ¥«¥ë¥·¥Õ¥¡¥¯¥¹¤ÏÃç´Ö¤Ë¤Ê¤ë¡£
41 ;;----------------------------------------------------------------------------
42
43 ;; Basics...
44 (define (kalc-hail knpc kpc)
45   (meet "¡Î¤¢¤Ê¤¿¤Ï¤«¤ï¤¤¤é¤·¤¤Ëâ½Ñ»Õ¤È²ñ¤Ã¤¿¡£¡Ï")
46   (say knpc "¤³¤ó¤Ë¤Á¤Ï¡¢Î¹¿Í¤µ¤ó¡£")
47   )
48
49 (define (kalc-name knpc kpc)
50   (say knpc "¥«¥ë¥·¥Õ¥¡¥¯¥¹¤Ç¤¹¤ï¡£¤¢¤Ê¤¿¤Ï¡Ä¡©")
51   (kern-conv-get-reply kpc)
52   (say knpc "²ñ¤¨¤Æ¤¦¤ì¤·¤¤¤Ç¤¹¤ï¡£")
53   )
54
55 (define (kalc-join knpc kpc)
56   (if (is-player-party-member? knpc)
57       (say knpc "¤â¤¦Ãç´Ö¤Ç¤¹¤ï¡ª")
58       (begin
59         (say knpc "¤¤¤¤¤Ç¤¹¤ï¡£³Ú¤·¤½¤¦¡ª")
60         (join-player knpc)
61         (kern-conv-end)
62         )
63   ))
64
65 (define (kalc-job knpc kpc)
66   (say knpc "Ìç¤Çι¤ò¤·¤Æ¡¢¿Í¡¹¤Î´Ö¤òÁö¤ê²ó¤ë¤³¤È¤Ç¤¹¤ï¡£")
67   )
68
69 (define (kalc-bye knpc kpc)
70   (say knpc "¤Þ¤¿²ñ¤¨¤ëµ¤¤¬¤·¤Þ¤¹¤ï¡ª")
71   )
72
73 (define (kalc-gate knpc kpc)
74   (say knpc "·î¤ÎÌç¤Ç¤¹¤ï¡£¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤«¤´Â¸ÃΤ«¤·¤é¡©")
75   (if (yes? kpc)
76       (say knpc "¤É¤¦¤·¤Æ³§ÍͤâƱ¤¸¤è¤¦¤Ë¤·¤Ê¤¤¤Î¤«¤·¤é¡£")
77       (say knpc "¥ë¥ß¥¹¤ÎÁ꤬Æþ¤ê¸ý¤ò·è¤á¤Æ¡¢¥ª¡¼¥É¤ÎÁ꤬½Ð¸ý¤Î·è¤á¤ë¤Î¤Ç¤¹¤Î¤è¡ª")))
78
79 (define (kalc-lumi knpc kpc)
80   (say knpc "¥ë¥ß¥¹¤Ï²«¿§¤¯¤æ¤Ã¤¯¤êÆ°¤¯Êý¤Î·î¤Î¤³¤È¤Ç¤¹¤ï¡£"))
81
82 (define (kalc-ord knpc kpc)
83   (say knpc "¥ª¡¼¥É¤ÏÀĤ¯Â®¤¯Æ°¤¯Êý¤Î·î¤Ç¤¹¤ï¡£"))
84
85 (define (kalc-engi knpc kpc)
86   (say knpc "»ä¤Ïµ»»Õ¤òˬÌ䤷¤¿¿ô¾¯¤Ê¤¤¼Ô¤Î°ì¿Í¤Ç¤¹¤ï¡ª"
87        "·î¤ÎÌç¤ò»È¤ï¤Ê¤±¤ì¤ÐÈà¤Î¾ì½ê¤Ë¤Ï¹Ô¤±¤Þ¤»¤ó¤Î¡£"
88        "¥ª¡¼¥É¤¬Ëþ·î¤Ë¶á¤¤¤È¤­¤ËÆþ¤ì¤Ð¤è¤¤¤Î¤Ç¤¹¤ï¡£"))
89
90 (define (kalc-peop knpc kpc)
91   (say knpc "ËâÆ»»Õ¤äµ»»Õ¡¢Ä®¤ÎÌò¿Í¤ÎÅÁ¸À¤òÅÁ¤¨¤Æ¤¤¤Þ¤¹¤Î¡£"
92        "°ÂÁ´¤ÇÁ᤯²¿¤«¤ò±¿¤ÖɬÍפ¬¤¢¤ë¡¢Âå¶â¤ò»Ùʧ¤Ã¤Æ¤¯¤ì¤ëÊý¤Ê¤éï¤Ç¤â¤Ç¤¹¤ï¡ª"))
93
94 (define (kalc-pay knpc kpc)
95   (say knpc "¤Ê¤«¤Ê¤«¤Î²Ô¤®¤Ë¤Ê¤ê¤Þ¤¹¤ï¡£"))
96
97 (define kalc-conv
98   (ifc basic-conv
99
100        ;; basics
101        (method 'default (lambda (knpc kpc) (say knpc "¤É¤¦¤«¤·¤é¡£")))
102        (method 'hail kalc-hail)
103        (method 'bye  kalc-bye)
104        (method 'job  kalc-job)
105        (method 'name kalc-name)
106        (method 'join kalc-join)
107        
108        (method 'gate kalc-gate)
109        (method 'lumi kalc-lumi)
110        (method 'ord  kalc-ord)
111        (method 'engi kalc-engi)
112        (method 'peop kalc-peop)
113        (method 'erra kalc-peop)
114        (method 'pay  kalc-pay)
115        ))
116
117 (define (mk-kalcifax)
118   (bind 
119    (kern-mk-char 
120     'ch_kalc           ; tag
121     "¥«¥ë¥·¥Õ¥¡¥¯¥¹"       ; name
122     kalc-species         ; species
123     kalc-occ              ; occ
124     s_blue_wizard
125     faction-men      ; starting alignment
126     0 7 0            ; str/int/dex
127     (/ pc-hp-off 2)  ; hp bonus
128     (/ pc-hp-gain 2) ; hp per-level bonus
129     pc-mp-off        ; mp bonus
130     pc-mp-gain       ; mp per-level bonus
131     max-health ; hp
132     -1  ; xp
133     max-health ; mp
134     0
135     kalc-lvl
136     #f               ; dead
137     'kalc-conv         ; conv
138     sch_kalc           ; sched
139     'townsman-ai              ; special ai
140     nil              ; container
141     (list            ;; readied
142      t_staff
143      )
144     )
145    (kalc-mk)))