OSDN Git Service

日本語版
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / luximene.scm
1 ;;----------------------------------------------------------------------------
2 ;; Constants
3 ;;----------------------------------------------------------------------------
4 (define lux-lvl 7)
5 (define lux-species sp_ghast)
6 (define lux-occ oc_wizard)
7
8 ;;----------------------------------------------------------------------------
9 ;; Schedule
10 ;;
11 ;; ÎФÎÅã¤ÎÊè
12 ;;----------------------------------------------------------------------------
13
14 ;;----------------------------------------------------------------------------
15 ;; Gob
16 ;;----------------------------------------------------------------------------
17 (define (lux-mk) nil)
18
19 ;;----------------------------------------------------------------------------
20 ;; Conv
21 ;; 
22 ;; ¥é¥¯¥·¥Þ¥Ë¤Ï¥ê¥Ã¥Á(¸å¤ËÈà¤ÎƬ³¸¹ü¤«¤é±Æ¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë)¤Ç¡¢¥¯¥í¥Ý¥ê¥¹¤Î°äÀ×
23 ;; ¤Ë¤¢¤ëÊõʪ¸Ë¤ò»ÙÇÛ¤·¤Æ¤¤¤ë¡£Èà¤Ï¥·¥ã¥ë¥É¤òÀ¬Éþ¡¢Åý°ì¤·¤¿°ÎÂç¤Ê²¦¤À¤Ã¤¿¡£¤½
24 ;; ¤·¤ÆºÇ¸å¤Ë¤Ï¸­¼Ô¤È¤·¤ÆÃΤé¤ì¤ë¤è¤¦¤Ë¤Ê¤ë¼Ô¤¿¤Á¤Ë¤è¤Ã¤ÆÅݤµ¤ì¤¿¡£
25 ;;----------------------------------------------------------------------------
26
27 ;; Basics...
28 (define (lux-hail knpc kpc)
29   (say knpc "¡Î¤¢¤Ê¤¿¤Ï»¦°Õ¤Ëdz¤¨¤ë±Æ¤È²ñ¤Ã¤¿¡£¡Ï²¿¤¬Ë¾¤ß¤À¡©"
30        "»à¤¹¤Ù¤­¼Ô¤è¡£"))
31
32 (define (lux-default knpc kpc)
33   (say knpc "²æ¤Î»þ´Ö¤ò̵Â̤ˤ¹¤ë¤Ê¡£"))
34
35 (define (lux-name knpc kpc)
36   (say knpc "²æ¤Ï°ÎÂç¤Ê¥é¥¯¥·¥Þ¥Ë¡¢¤³¤ÎÃæ±û°è¤Î²¦¤Ç¤¢¤ë¡£"))
37
38 (define (lux-rune knpc kpc)
39   (say knpc "¡ÎÈà¤ÏÆÍÁ³¤«¤­Í𤵤줿¤è¤¦¤Ë¸«¤¨¤¿¡£¡Ï"
40        "¤½¤ì¤Ï°­Ëâ¤ÎÌç¤òÉõ°õ¤¹¤ë¤¿¤á¡¢¸­¼Ô¤Ë¤è¤Ã¤Æºî¤é¤ì¤¿È¬¤Ä¤Î¸°¤Î°ì¤Ä¤À¡£"))
41
42 (define (lux-gate knpc kpc)
43   (say knpc "¤½¤ì¤¾¤ì¤Î¸°¤Ë¤Ï¼é¸î¼Ô¤¬¤ª¤ê¡¢¸ß¤¤¤Ë²ñ¤¦¤³¤È¤ò¶Ø»ß¤µ¤ì¤Æ¤¤¤¿¡£"
44        "¤½¤·¤Æ¤½¤ÎÅÁÅý¤Ï°ú¤­·Ñ¤¬¤ì¤Æ¤­¤¿¡£Æò¤Ï¼é¸î¼Ô¤«¡©")
45   (if (yes? kpc)
46       (begin
47         (say knpc "¤Ê¤é¤Ð¤Ê¤¼Æò¤Ï¤³¤ÎÀÐÈǤΤ³¤È¤ò²æ¤Ëʹ¤¯¤Î¤À¡©Æò¤Î¼ç¤Ï²¿¤â¸À¤ï¤Ê¤«¤Ã¤¿¤Î¤«¡©")
48         (if (yes? kpc)
49             (say knpc "¡ÎÈà¤Ï°­°Õ¤ò¤³¤á¤Æ¾Ð¤Ã¤¿¡£¡ÏÆò¤Ï²æ¤ò¶ò¤«¤À¤È»×¤Ã¤Æ¤¤¤ë¤Î¤«¡£"
50                  "¤½¤¦»×¤Ã¤Æ¤¤¤ë¼Ô¤¬¶ò¤«¤Ê¤Î¤À¡£¤³¤ÎÀÐÈǤÏÆò¤ÎÇËÌǤθµ¡¢¤³¤Î»þÂå¤ÎÇËÌǤθµ¤Ç¤¢¤ë¡ª")
51             (say knpc "ÇËÌǤϿͤ¬¤½¤ÎÀÀ¤¤¤ò˺¤ì¤¿»þÂ夫¤é»Ï¤Þ¤ë¡£")))
52       (begin
53         (say knpc "Åð¿Í¤«¡©")
54         (if (yes? kpc)
55             (say knpc "¤³¤Î»à¤¹¤Ù¤­»þÂå¤Ç¤ÏÅð¿Í¤µ¤¨¤â¼«¤é¤¬Åð¤ó¤À¤â¤Î¤Î²ÁÃͤòÃΤé¤Ê¤¤¡£")
56             (say knpc "¤Ê¤é¤ÐÆò¤Ï¶öÁ³ÀÐÈǤò¼ê¤Ë¤·¤¿¤È¤¤¤¦¤Î¤«¡£"
57                  "Æò¤é¤Î»þÂå¤Î½ª¤ï¤ê¤Ï¶á¤¤¤À¤í¤¦¡£")))))
58
59 (define (lux-age knpc kpc)
60   (say knpc "°­Ëâ¤ÎÌ礬Éõ°õ¤µ¤ì¤¿¤È¤­¡¢Ëâ½Ñ»Õ¤¿¤Á¤Î»þÂå¤Ï½ª¤ï¤Ã¤¿¡£"
61        "¤½¤ì¤¬²æ¡¢¤³¤Î¥·¥ã¥ë¥É¤òÀ¬Éþ¤·Åý°ì¤·¤¿¼Ô¡¢¥é¥¯¥·¥Þ¥Ë¤Î»þÂå¤Î»Ï¤Þ¤ê¤À¤Ã¤¿¡£"
62        "²æ¤Î¸å¤Î»ÙÇÛ¼Ô¤ÏÀ¤Âå¤ò±Û¤¹¤´¤È¤Ë°­¤¯¤Ê¤ê¡¢¤Ä¤¤¤Ë²æ¤ÎÄë¹ñ¤ÏÇÑÔҤȤʤä¿¡£"
63        "¤½¤·¤Æ¼º¤ï¤ì¤¿»þÂå¡¢¤³¤Îº£¤¬»Ï¤Þ¤Ã¤¿¡£"
64        "Â礤¤Ê¤ëÈëÌ©¤òÃΤꤿ¤¤¤«¡©")
65   (if (yes? kpc)
66       (say knpc "¤Ê¤é¤ÐÅÁ¤¨¤è¤¦¡£ºÇ¸å¤Î¼é¸î¼Ô¤è¡£")
67       (say knpc "\n¡ÎÉô²°¤Ë¶²¤í¤·¤¤¾Ð¤¤À¼¤¬¶Á¤¤¤¿¡£¡Ï\n"
68            "¤À¤¬¡¢Æò¤ÏÃΤë¤Ç¤¢¤í¤¦¡£ºÇ¸å¤Î¼é¸î¼Ô¤è¡ª"))
69   (say knpc "°­Ëâ¤ÎÌ礬³«¤«¤ì¤¿¤È¤­¡¢¼º¤ï¤ì¤¿»þÂå¤Ï½ª¤ï¤ë¤Ç¤¢¤í¤¦¡£"))
70
71 (define (lux-keep knpc kpc)
72   (say knpc "Æò¤ÏºÇ¸å¤Î¼é¸î¼Ô¤À¡£ÀÐÈǤò¼ê¤Ë¤·¡¢¤½¤Î°ÕÌ£¤òÃΤ롣"
73        "¤µ¤¢Á´¤Æ¤ÎÀÐÈǤÏÆò¤¬¼é¸î¤¹¤Ù¤­¤â¤Î¤À¡£Á´¤Æ¤½¤Î¼ê¤ÎÃæ¤Ë¤¢¤ë¤«¡©")
74   (if (yes? kpc)
75       (say knpc "¤½¤¦¤Ê¤Î¤À¤Ê¡£Á´¤Æ·¤ï¤Ê¤±¤ì¤ÐÌç¤Ï³«¤«¤Ê¤¤¡£")
76       (say knpc "õ¤·½Ð¤»¡£°ì¿Í¤Î̾ÍÀ¤¢¤ë¼Ô¤¬ÃÑ¿«¤«¤é»þÂå¤òµß¤¦¡£"
77            "¤â¤Á¤í¤óÈ༫¿È¤ò¡¢¤Ç¤Ï¤Ê¤¤¡£")))
78
79 (define (lux-wise knpc kpc)
80   (say knpc "¸­¼Ô¡©¡ÎÈà¤Ï¾Ð¤Ã¤¿¡£¡Ï\n"
81        "»þÂå¤Î»ÙÇÛ¼Ô¤ËÈ¿µÕ¤¹¤ë¼Ô¤¿¤Á¤è¡ª\n"
82        "\n"
83        "Àï»Î¤Î¥¢¡¼¥¬¥¹¡¢\n"
84        "¡¡¤³¤Î¼Ô¤Ï²æ¤Î·³¤òÂǤÁÉ餫¤·\n"
85        "¡¡¤½¤·¤Æ¼«¤é¤Î·³¤òΨ¤¤¤¿\n"
86        "Ëâ½Ñ»Õ¤Î¥«¥¤¥ì¥Õ¡¢\n"
87        "¡¡¤³¤Î¼Ô¤ÏÈ¿µÕ¼Ô¤ò»Ø´ø¤·\n"
88        "¡¡¤½¤·¤Æ²æ¤ÎÍŽѻդ¿¤Á¤Ë»õ¸þ¤«¤Ã¤¿\n"
89        "¤Ê¤é¤º¼Ô¤Î¥Ê¡¼¥È¥Ï¥Ã¥¯¥¹¡¢\n"
90        "¡¡¤³¤Î¼Ô¤ÎÅð¿Í¤Ï¤ï¤¬Å¨¤ÈÄ̤¸\n"
91        "¡¡¤½¤·¤ÆÈëÌ©¤ÎÄÌÏ©¤ò¸«¤Ä¤±½Ð¤·¤¿\n"
92        "¿¦¿Í¤Î¥¦¥§¥¤¥ì¥ó¥É¡¢\n"
93        "¡¡¤³¤Î¼Ô¤Ï¤ï¤¬ºÖ¤òÁܺ÷¤¹¤ë¼Ô¤Î\n"
94        "¡¡ÁõÈ÷¤òÀ°¤¨¤¿\n"
95        "\n"
96        "²æ¤ÎÇÔË̤ˤâ´Ø¤ï¤é¤º¡¢Èà¤é¤Ï»à¤¹¤Ù¤­Äê¤á¤Ë¤¢¤Ã¤¿¡ª"
97        "\n")
98   (say knpc "\n¡ÎÈà¤Ï¤¢¤Ê¤¿¤ò´üÂÔ¤ÎÌܤǸ«¤¿¡£¡Ï\n"
99        "²¿¡©Èà¤é¤Î̾¤òÃΤé¤Ì¤«¡©")
100   (if (yes? kpc)
101       (say knpc "¤Ê¤é¤Ð¶Ãò¤»¤è¡£¤ï¤¬ÅÁÀâ¤ò¡ª")
102       (begin
103         (say knpc
104              "\n¡ÎÈà¤ÎÎ䤿¤¤ÌܤÏÅܤê¤Çµ±¤¤¤¿¡£¡Ï\n"
105              "¤¢¤¢¡¢¤³¤Î»þÂå¤Î¸­¼Ô¤È¸Æ¤Ð¤ì¤ë¼Ô¤¿¤Á¤ò»Ù»ý¤¹¤ëÊý¤ò¼è¤ë¤Î¤À¤Ê¡£\n"
106              "¤³¤Î¤è¤¦¤Ê¤Ä¤Þ¤é¤Ì¼Ô¤ÏÃΤé¤Ì¡£\n"
107              "µî¤ì¡¢»à¤¹¤Ù¤­¤â¤Î¤è¡ª")
108         (kern-conv-end)
109         ))
110   )
111
112 (define (lux-accu knpc kpc)
113   (say knpc "¼ö¤ï¤ì¤¿¼Ô¡©\n"
114        "¤½¤ì¤¾¤ì¤Î»þÂå¤Ë¤Ï¡¢¤½¤Î¤è¤¦¤ÊÎϤòµá¤á¤ë¼Ô¡¢"
115        "¤½¤Î¤è¤¦¤Ê·Ù¶ç¤äÆ»ÆÁ¤è¤Ã¤ÆÏǤ蘆¤ì¤Ê¤¤¼Ô¤¬¤¤¤ë¡£\n"
116        "\n"
117        "¤¢¤ë¼Ô¤ÏÌǤܤµ¤ì¡¢"
118        "¤Þ¤¿¤¢¤ë¼Ô¤Ï¿¿¤ÎÎϤòÆÀ¤Æ¾¤òÅÛÎì¤Ë¤¹¤ë¡£\n"
119        "\n"
120        "¤½¤ì¤Ï¤Þ¤µ¤Ë´óÀ¸Ãî¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ë¡£")
121   )
122
123
124 (define lux-conv
125   (ifc basic-conv
126
127        ;; basics
128        (method 'default lux-default)
129        (method 'hail lux-hail)
130        (method 'name lux-name)
131
132        (method 'rune lux-rune)
133        (method 'key  lux-rune) ;; A synonym
134
135        (method 'demo lux-gate) ;; A synonym
136        (method 'gate lux-gate)
137
138        (method 'wise lux-wise)
139        (method 'accu lux-accu)
140
141        (method 'age  lux-age)
142        (method 'keep lux-keep)
143
144        ))
145
146 (define (mk-luximene)
147   (bind 
148    (kern-mk-char 
149     'ch_lux           ; tag
150     "¥é¥¯¥·¥Þ¥Ë"          ; name
151     lux-species         ; species
152     lux-occ              ; occ
153     s_ghost     ; sprite
154     faction-men      ; starting alignment
155     0 0 0            ; str/int/dex
156     0 0              ; hp mod/mult
157     0 0              ; mp mod/mult
158     max-health ; hp
159     -1                   ; xp
160     max-health ; mp
161     0
162     lux-lvl
163     #f               ; dead
164     'lux-conv         ; conv
165     nil           ; sched
166     nil              ; special ai
167     nil              ; container
168     nil              ; readied
169     )
170    (lux-mk)))
171
172 (define (mk-lich-king)
173   (let ((kchar 
174          (bind 
175           (kern-char-force-drop
176            (kern-mk-char 
177             'ch_lich_king           ; tag
178             "¥ê¥Ã¥Á¤Î²¦" ; name
179             sp_lich         ; species
180             oc_wizard              ; occ
181             s_lich     ; sprite
182             faction-monster      ; starting alignment
183             10 10 10            ; str/int/dex
184             10 1              ; hp mod/mult
185             0  0              ; mp mod/mult
186             max-health ; hp
187             -1                   ; xp
188             max-health ; mp
189             0
190             8
191             #f               ; dead
192             nil              ; conv
193             nil             ; sched
194             'lich-ai        ; special ai
195             (mk-inventory
196              (list (list 1 t_morning_star)
197                    (list 1 t_armor_chain_4)
198                    (list 1 t_chain_coif_4)
199                    (list 100 t_gold_coins)
200                    (list 3 t_mana_potion)
201                    (list 3 t_heal_potion)
202                    (list 1 t_lich_skull)
203                    (list 1 t_lichs_blood)
204                    ))
205             nil              ; readied
206             )
207            #t)
208           (lux-mk))))
209     (map (lambda (eff) (kern-obj-add-effect kchar eff nil))
210          undead-effects)
211     kchar))
212