OSDN Git Service

b1c6227a7c2e27337f294ff3a736b18f56841f58
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / tooth.scm
1 ;;----------------------------------------------------------------------------
2 ;; Constants
3 ;;----------------------------------------------------------------------------
4 (define tooth-lvl 2)
5 (define tooth-species sp_rat)
6 (define tooth-occ oc_wrogue)
7
8 ;;----------------------------------------------------------------------------
9 ;; Schedule
10 ;; 
11 ;; In the monster village of Kun.
12 ;;----------------------------------------------------------------------------
13 (kern-mk-sched 'sch_tooth
14                (list 0 0 campfire-4 "sleeping")
15                (list 6 0 black-market-counter "working")
16                (list 19 0 cantina-12 "idle")
17                )
18
19 ;;----------------------------------------------------------------------------
20 ;; Gob
21 ;;----------------------------------------------------------------------------
22 (define (tooth-mk) nil)
23
24 ;;----------------------------------------------------------------------------
25 ;; Conv
26 ;; 
27 ;; Tooth is a nervous ratling, running a black market and pawn shop 
28 ;; in the monster village of Kun.  It appears that he is suffering from 
29 ;; the surplus (or lack) of some stimulant.
30 ;;----------------------------------------------------------------------------
31
32 ;; Basics...
33 (define (tooth-hail knpc kpc)
34   (kern-log-msg "You meet a shifty old rat with one enormous incisor. He shakes and shivers nervously. "
35                 "Too much caffeine? Black lotus withdrawal? You aren't sure.")
36   (say knpc "Psst. Looking for a deal? I got deals. All kinds of deals! Good deals! Bad deals! "
37        "You name it, you make it, it's your call! No questions asked. No answers given.")
38   )
39
40 (define (tooth-default knpc kpc)
41   (say knpc "Don't know. Don't know about that. Information? Not my game.")
42   )
43
44 (define (tooth-name knpc kpc)
45   (say knpc "Tooth. I'm well-known! Well-respected. My customers love me. "
46        "They always come back. Tell their friends about me? No way! "
47        "Deals are too good. They keep it to themselves. I'm a well-kept secret! A well-known secret!")
48   )
49
50 (define (tooth-join knpc kpc)
51   (say knpc "Can't, mate. Got my shop to run. Bills to pay. Guards to dodge. Too busy! Need the action!")
52   )
53
54 (define (tooth-job knpc kpc)
55   (say knpc "Deals! Deals! Deals! Deals! Deals! Let's make one. Right now. "
56        "Right here. Let's do it. Ready? Here we go.")
57   (tooth-trade knpc kpc)
58   )
59
60 (define (tooth-bye knpc kpc)
61   (say knpc "Going so soon? Leaving already? I've got more stuff! Lots more! "
62        "Good stuff! But it won't stay! No! It flies off the shelves! Leave at your own risk...!"
63        "[He goes on like this as you walk away]")
64   )
65
66 (define tooth-merch-msgs
67   (list nil ;; closed
68         "Look here, look at this marvelous stuff! All quality! Rare, valuable, hard-to-find!" ;; buy
69         "Got stuff? I'll take it. Where did you get it? I don't want to know." ;; sell
70         "Everything reasonably priced! How do I stay in business? I don't know! See for yourself!" ;; trade
71         "Is that all? I've got more!" ;; sold-something
72         "Wait! Where you going? Come back, have another look! Did you see my collection of scrolls?" ;; sold-nothing
73         "Come back when you have more! I'm always looking!" ;; bought-something
74         "I need the good stuff! Magical stuff, gems, artifacts!" ;; bought-nothing
75         "Don't forget the basics! Oil, gems, picklocks!" ;; traded-something
76         "Wait! Where you going? Come back, have another look! Did you see my collection of scrolls?" ;; traded-nothing
77         ))
78
79 (define tooth-catalog
80   (list
81    (list t_picklock            5 "Unlock doors! Takes a bit of skill!")
82    (list t_gem                20 "Find hidden rooms and passages! Thieves love 'em!")
83    (list t_grease             25 "In a tight squeeze? Grease is the word!")
84
85    (list t_oil                 5 "Perfect for fighting slimes!")
86    (list t_slime_vial         30 "Kal Xen Nox in a bottle! Great for escaping the guards!")
87    (list t_arrow               3 "Gotta have lots of arrows!")
88    (list t_bolt                3 "Can't have too many bolts!")
89    (list t_smoke_bomb          4 "Make a clean getaway under cover!")
90
91    (list t_spiked_helm       300 "Use your head in a fight!")
92    (list t_spiked_shield     300 "Rare item! For aggressive fighters!")
93
94    (list t_dagger_4           (* 4 65) "Very nice! Small, easy to conceal, but with a fierce bite!")
95    (list t_sword_2            (* 2 85) "Better than the average sword! Look at that keen edge!")
96    (list t_sword_4            (* 4 85) "The finest! The very best! A weapon for the true artist of death!")
97    (list t_morning_star_2     (* 2 105) "A truly awesome weapon! Lay waste to whole parties!")
98
99    (list t_leather_helm_2     (* 2 100) "For the wrogue who needs that little bit of extra protection!")
100    (list t_chain_coif_4       (* 4 100) "See that tight weave? The banded reinforcement? Turns any blade and softens the blow!")
101    (list t_iron_helm_4        (* 4 150) "Very rare! Blows to the head will feel like pillows!")
102
103    (list t_armor_leather_2    (* 2 150) "Want to pilfer a Gint armory? Steal gems from trolls? You'll need something light but effective like this!")
104    (list t_armor_leather_4    (* 4 150) "This once belonged to an old wrogue! He died of old age on a bed of gold coins! Now you can, too!")
105    (list t_armor_chain_4      (* 4 330) "This is perfect for the scrapper who likes to be in the thick without getting slowed down!")
106    (list t_armor_plate_4      (* 4 660) "Shrug off the blows of gints and trolls in this amazing plate armour! There's nothing like it anywhere else!")
107
108    (list t_xen_corp_scroll    (* 7 base-scroll-cost) "The assassin's favorite! Kills instantly!")
109    (list t_sanct_lor_scroll   (* 7 base-scroll-cost) "The wrogue's favorite! Perfect for sneaking in and out unseen!")
110    (list t_an_xen_ex_scroll   (* 6 base-scroll-cost) "If you can't beat them, have them join you with this charm spell!")
111    (list t_in_ex_por_scroll   (* 4 base-scroll-cost) "Magic doors won't stop you when you carry plenty of these!")
112    (list t_wis_quas_scroll    (* 4 base-scroll-cost) "Perfect for finding hidden doors (and invisible foes)!")
113    (list t_in_quas_xen_scroll (* 7 base-scroll-cost) "Ever wish there was two of you? With this scroll there can be!")
114    (list t_an_tym_scroll      (* 8 base-scroll-cost) "For when you really get into trouble this scroll will stop time and let you get out!")
115    ))
116
117 (define (tooth-trade knpc kpc) (conv-trade knpc kpc "trade" tooth-merch-msgs tooth-catalog))
118 (define (tooth-buy   knpc kpc) (conv-trade knpc kpc "buy"   tooth-merch-msgs tooth-catalog))
119 (define (tooth-sell  knpc kpc) (conv-trade knpc kpc "sell"  tooth-merch-msgs tooth-catalog))
120
121 (define tooth-conv
122   (ifc nil
123
124        ;; basics
125        (method 'default tooth-default)
126        (method 'hail tooth-hail)
127        (method 'bye  tooth-bye)
128        (method 'job  tooth-job)
129        (method 'name tooth-name)
130        (method 'join tooth-join)
131
132        (method 'trad tooth-trade)
133        (method 'buy  tooth-buy)
134        (method 'sell tooth-sell)
135        (method 'deal tooth-trade)
136        ))
137
138 (define (mk-tooth)
139   (bind 
140    (kern-mk-char 
141     'ch_tooth           ; tag
142     "Tooth"             ; name
143     tooth-species         ; species
144     tooth-occ              ; occ
145     s_rat     ; sprite
146     faction-men      ; starting alignment
147     0 4 1            ; str/int/dex
148     0  ; hp bonus
149     0 ; hp per-level bonus
150     0 ; mp off
151     1 ; mp gain
152     max-health ; hp
153     -1                  ; xp
154     max-health ; mp
155     0
156     tooth-lvl
157     #f               ; dead
158     'tooth-conv         ; conv
159     sch_tooth           ; sched
160     'townsman-ai              ; special ai
161     nil
162     nil              ; readied
163     )
164    (tooth-mk)))