OSDN Git Service

日本語版
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / gwen.scm
1 ;;----------------------------------------------------------------------------
2 ;; Constants
3 ;;----------------------------------------------------------------------------
4
5 ;;----------------------------------------------------------------------------
6 ;; Schedule
7 ;;
8 ;; ¥È¥ê¥°¥ì¥¤¥Ö
9 ;;----------------------------------------------------------------------------
10 (kern-mk-sched 'sch_gwen
11                (list 0  0  trigrave-gwens-bed        "sleeping")
12                (list 8  0  trigrave-tavern-table-1a  "eating")
13                (list 9  0  trigrave-inn-counter      "working")
14                (list 13 0  trigrave-tavern-table-1d  "eating")
15                (list 14 0  trigrave-inn-counter      "working")
16                (list 20 0  trigrave-tavern-table-1a  "eating")
17                (list 21 0  trigrave-inn-counter      "working")
18                )
19
20 ;;----------------------------------------------------------------------------
21 ;; Gob
22 ;;
23 ;; Quest flags, etc, go here.
24 ;;----------------------------------------------------------------------------
25 (define (gwen-mk) nil)
26
27 ;;----------------------------------------------------------------------------
28 ;; Conv
29 ;;
30 ;; ¥°¥Ù¥ó¤Ï½É²°¤Î¼ç¿Í¤Ç¡¢Í¥²í¤ÇÆæ¤Î¿¤¤½÷À­¤Ç¤¢¤ë¡£
31 ;;----------------------------------------------------------------------------
32 (define (gwen-trade knpc kpc)
33   (if (not (string=? "working" (kern-obj-get-activity knpc)))
34       (say knpc "»ä¤ÎŹ¤¬³«¤¤¤Æ¤¤¤ë¤È¤­¤ËÍè¤Æ¤¯¤À¤µ¤¤¡£"
35            "½É²°¡Ö³¥¿§¤ÎÈ·¡×¤Ï¤³¤ÎÄ®¤ÎËÌÀ¾¤Ë¤¢¤ê¤Þ¤¹¡£"
36            "¸áÁ°9»þ¤Ë³«¤¤¤Æ¡¢¿¼Ìë¤ËÊÄŹ¤·¤Þ¤¹¡£")
37       (let ((door (eval 'trigrave-inn-room-1-door)))
38         ;; is the room still open?
39         (if (not (door-locked? (kobj-gob door)))
40             ;; yes - remind player
41             (say knpc "¤¢¤Ê¤¿¤Î¤ªÉô²°¤Ï¤â¤¦³«¤¤¤Æ¤¤¤Þ¤¹¡ª")
42             ;; no - ask if player needs a room
43             (begin
44               (say knpc "¤ªÉô²°¤¬¸æÆþ¤êÍѤǤ¹¤«¡©")
45               (if (kern-conv-get-yes-no? kpc)
46                   ;; yes - player wants a room
47                   (begin
48                     (say knpc 
49                          "ÎÁ¶â¤Ï¶â²ß" trigrave-inn-room-price "Ëç¡¢"
50                          "¤³¤ÎÄ®¤Ë¤¤¤ë´Ö¡¢²¿Å٤Ǥâ½ÐÆþ¤ê¤Ç¤­¤Þ¤¹¡£"
51                          "¤è¤í¤·¤¤¤Ç¤¹¤«¡©")
52                     (if (kern-conv-get-yes-no? kpc)
53                         ;; yes - player agrees to the price
54                         (let ((gold (kern-player-get-gold)))
55                           ;; does player have enough gold?
56                           (if (>= gold trigrave-inn-room-price)
57                               ;; yes - player has enough gold
58                               (begin
59                                 (kern-player-set-gold 
60                                  (- gold 
61                                     trigrave-inn-room-price))
62                                 (say knpc "1¹æ¼¼¤Ç¤¹¡£¤´¤æ¤Ã¤¯¤ê¤É¤¦¤¾¡ª")
63                                 (send-signal knpc door 'unlock)
64                                 (kern-conv-end)
65                                 )
66                               ;; no - player does not have enouvh gold)
67                               (say knpc "»ÄÇ°¤Ç¤¹¤¬¤ª¶â¤¬Â­¤ê¤Þ¤»¤ó¡ª")))
68                         ;; no - player does not agree to the price
69                         (say knpc 
70                              "¤³¤³¤è¤êÎɤ¤½É¤Ï¡¢¤³¤ÎȾÅç¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó¤è¡ª")))
71                   ;; no - player does not want a room
72                   (say knpc "¤Þ¤¿¤Îµ¡²ñ¤Ë¤É¤¦¤¾¡£")))))))
73
74 (define (gwen-thie knpc kpc)
75   (say knpc "ÎФÎÅ㤫¤éºÇ¶áÍ褿µÒ¤¬¡¢Åì¤Î»³Æ»¤Ç¤È¤Æ¤âµÞ¤¤¤Ç¤¤¤ë¿Í¤ò¸«¤¿¤½¤¦¤Ç¤¹¤è¡£ÎФÎÅã¤Î¤¢¤¿¤ê¤Çʹ¤¤¤Æ¤ß¤ì¤Ð¤è¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£")
76   (quest-data-update-with 'questentry-thiefrune 'tower 1 (quest-notify (grant-party-xp-fn 10)))
77   )
78
79 (define (gwen-news knpc kpc)
80   (say knpc "ËâÆ»»Õ¤¬²¿¤«½ÅÍפʤâ¤Î¤ò¤Ê¤¯¤·¤¿¤½¤¦¤Ç¤¹¤è¡£"))
81
82 (define gwen-conv
83   (ifc basic-conv
84        ;; default if the only "keyword" which may (indeed must!) be longer than
85        ;; 4 characters. The 4-char limit arises from the kernel's practice of
86        ;; truncating all player queries to the first four characters. Default,
87        ;; on the other hand, is a feature of the ifc mechanism (see ifc.scm).
88        (method 'default (lambda (knpc kpc) 
89                           (say knpc "»ÄÇ°¤Ê¤¬¤é¤ª¼êÅÁ¤¤¤Ç¤­¤Þ¤»¤ó¡£")))
90        (method 'hail
91                (lambda (knpc kpc)
92                  (kern-print "¡Î¤¢¤Ê¤¿¤Ï³¥¿§¤ÎÉþ¤òÃ夿̥ÎÏŪ¤Ê½÷À­¤È²ñ¤Ã¤¿¡£"
93                              "¹ø¤Î¥Ù¥ë¥È¤Ë¤ÏºÙ¤¯Ä¹¤¤^c+m·õ^c-¤¬¸«¤¨¤ë¡£¡Ï\n")
94                  (say knpc "¤è¤¦¤³¤½¡£Î¹¤ÎÊý¡£")))
95        (method 'bye (lambda (knpc kpc) (say knpc "¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£")))
96        (method 'job 
97                (lambda (knpc kpc) 
98                  (say knpc "¥È¥ê¥°¥ì¥¤¥Ö¤Î½É²°¤ò¤·¤Æ¤ª¤ê¤Þ¤¹¡£")
99                  (gwen-trade knpc kpc)))
100        (method 'name (lambda (knpc kpc) (say knpc "»ä¤Ï¥°¥Ù¥ó¤Ç¤¹¡£")))
101        (method 'trad gwen-trade)
102        (method 'join 
103                (lambda (knpc kpc) 
104                  (say knpc "»ä¤Îι¤Ï¤â¤¦½ª¤ï¤ê¤Þ¤·¤¿¡£"
105                       "¤Ç¤â¡¢¤ªÍ¶¤¤¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£")))
106        (method 'chan
107                (lambda (knpc kpc)
108                  (say knpc "¤¢¤Î¤ªÄ´»Ò¼Ô¤ÏÉáÃʤϼò¾ì¤Ë¤¤¤Þ¤¹¡£"
109                       "ÌëÃÙ¤¯¤Ê¤ë¤ÈÁ¥¾è¤ê¤ß¤¿¤¤¤Ë¿ì¤Ã¤ÆÉô²°¤ËÌá¤Ã¤Æ¤­¤Þ¤¹¡£")))
110        (method 'civi 
111                (lambda (knpc kpc) 
112                  (say knpc "¤³¤Î¤¢¤¿¤ê¤Î¤³¤È¤òÏä¹ÅԻԤοͤϤ¢¤Þ¤ê¤¤¤Þ¤»¤ó¡£")))
113        (method 'earl
114                (lambda (knpc kpc)
115                  (say knpc "ÁÇŨ¤Ê¡¢¤Ç¤âʪ˺¤ì¤Î·ã¤·¤¤¤´Ï·¿Í¤Ç¤¹¡£"
116                       "Èà¤Ï»ä¤Î½É¤ÎÆî¤ÇŹ¤òÀÚ¤êÀ¹¤ê¤·¤Æ¤Þ¤¹¡£")))
117        (method 'enem 
118                (lambda (knpc kpc) (say knpc "¤¢¤Ê¤¿¤Ë¤Ï´Ø·¸¤Î¤Ê¤¤¤³¤È¤Ç¤¹¡£")))
119        (method 'esca 
120                (lambda (knpc kpc)
121                  (say knpc "¤â¤·¡¢Å¨¤äÃѤ¸¤ë¤Ù¤­¹Ô¤¤¤«¤é¿È¤ò±£¤·¤¿¤¤¤Ê¤é¡¢"
122                       "¤³¤Î¥·¥ã¥ë¥É¤Î˺¤ì¤é¤ì¤¿ÃϤè¤êÎɤ¤¾ì½ê¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¡£")))
123        (method 'inn  
124                (lambda (knpc kpc)
125                  (say knpc "½É²°¤Ï³Ú¤·¤¤»Å»ö¤Ç¤¹¡£"
126                             "ι¿Í¤«¤é¿§¡¹¤ÊÏäòʹ¤±¤Þ¤¹¤«¤é¡£")))
127        (method 'jim
128                (lambda (knpc kpc)
129                  (say knpc "¥Ï¥ó¥µ¥à¤Ê¡¢¤Ç¤â¾¯¤·¹Ó¤Ã¤Ý¤¤¿Í¤Ç¤¹¡£"
130                       "Èà¤ÏÅì¤Îü¤ÇÃÃÌê²°¤ò±Ä¤ó¤Ç¤Þ¤¹¡£")))
131        (method 'news gwen-news)
132        (method 'stor gwen-news)
133        (method 'room gwen-trade)
134        (method 'sham 
135                (lambda (knpc kpc) (say knpc "¤¢¤Ê¤¿¤Ë¤Ï´Ø·¸¤Î¤Ê¤¤¤³¤È¤Ç¤¹¡£")))
136        (method 'swor
137                (lambda (knpc kpc) 
138                  (say knpc "ͧ¿Í¤«¤é¾ù¤ê¼õ¤±¤¿¤â¤Î¤Ç¤¹¡£")))
139        (method 'tave
140                (lambda (knpc kpc)
141                  (say knpc "¡ÖÍÛµ¤¤ÊÇաפϤ³¤ÎÄ®¤ÎÆˤ¢¤ê¤Þ¤¹¡£")))
142        (method 'thie gwen-thie)
143        (method 'trig 
144                (lambda (knpc kpc) 
145                  (say knpc "¤³¤³¤ÏÅÔ»Ô¤«¤éÎ¥¤ì¤¿¾®¤µ¤ÊÄ®¤Ç¤¹¡£"
146                       "¤¿¤¯¤µ¤ó¤Î¿Í¤¬Æ¨¤ì¤ë¤¿¤á¤Ë¤³¤³¤Ë¤¤¤Þ¤¹¡£")))
147
148        ))