OSDN Git Service

9eaab7d840a9613400cf97eac5bd95af42131d2c
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / jones.scm
1 ;;----------------------------------------------------------------------------
2 ;; Constants
3 ;;----------------------------------------------------------------------------
4 (define jones-lvl 6)
5 (define jones-species sp_human)
6 (define jones-occ nil)
7
8 ;;----------------------------------------------------------------------------
9 ;; Schedule
10 ;; 
11 ;; In the Keep guarding Kurpolis.
12 ;;----------------------------------------------------------------------------
13 (define jones-bed ph-bed1)
14 (define jones-mealplace ph-tbl1)
15 (define jones-workplace ph-arms)
16 (define jones-leisureplace ph-hall)
17 (kern-mk-sched 'sch_jones
18                (list 0  0 jones-bed          "sleeping")
19                (list 7  0 jones-mealplace    "eating")
20                (list 8  0 jones-workplace    "working")
21                (list 12 0 jones-mealplace    "eating")
22                (list 13 0 jones-workplace    "working")
23                (list 18 0 jones-mealplace    "eating")
24                (list 19 0 jones-leisureplace "idle")
25                (list 22 0 jones-bed          "sleeping")
26                )
27
28 ;;----------------------------------------------------------------------------
29 ;; Gob
30 ;;----------------------------------------------------------------------------
31 (define (jones-mk) nil)
32
33 ;;----------------------------------------------------------------------------
34 ;; Conv
35 ;; 
36 ;; Jones runs the supply depot for the Glasdrin militia.
37 ;; He is stationed in the Keep guarding Kurpolis.
38 ;;----------------------------------------------------------------------------
39
40 ;; Basics...
41 (define (jones-name knpc kpc)
42   (say knpc "Jonesy at yer service."))
43
44 (define (jones-job knpc kpc)
45   (say knpc "I run the Supply Depot for the Glasdrin militia. Would you like to buy some supplies?")
46   (if (yes? kpc)
47       (jones-trade knpc kpc)
48       (say knpc "If you ever need any I'll be right here.")))
49
50 ;; Trade...
51 (define jones-merch-msgs
52   (list "Come by the Supply Depot between 9:00AM and 6:00PM."
53         "I keep the basics in stock."
54         nil
55         nil
56         "Are you sure you have enough? You better get some more."
57         "I hope you've got enough, for your sake."
58    ))
59
60 (define jones-catalog
61   (list
62    (list t_arrow        1 "Down here you'll go through arrows like a troll goes through grog!")
63    (list t_bolt         1 "You can run out of bolts in the blink of a gazer's eye!")
64    (list t_oil          6 "Yes, stock up on plenty of that flaming oil. It gets worse deeper down.")
65    (list t_torch        6 "You don't want to run out of torches down here!")
66    (list t_heal_potion 23 "Yes, they are spendy, but healing potions are hard to get and critical to have.")
67    (list t_mana_potion 23 "You better buy extra mana potions. Your mages will be working overtime.")
68    (list t_food        10 "There's nothing worse than runnning out of food when you're lost in the lower levels.")
69    ))
70
71 (define (jones-trade knpc kpc) (conv-trade knpc kpc "buy" jones-merch-msgs jones-catalog))
72
73 ;; Quest-related
74
75 (define jones-conv
76   (ifc kurpolis-conv
77
78        ;; basics
79        (method 'job jones-job)
80        (method 'name jones-name)
81        
82        ;; trade
83        (method 'trad jones-trade)
84        (method 'buy jones-trade)
85
86        ))
87
88 (define (mk-jones)
89   (bind 
90    (kern-mk-char 
91     'ch_jones        ; tag
92     "Jones"             ; name
93     jones-species         ; species
94     jones-occ              ; occ
95     s_townsman     ; sprite
96     faction-men      ; starting alignment
97     2 0 0            ; str/int/dex
98     0 0              ; hp mod/mult
99     0 0              ; mp mod/mult
100     max-health ; hp
101     -1                   ; xp
102     max-health ; mp
103     0
104     jones-lvl
105     #f               ; dead
106     'jones-conv         ; conv
107     sch_jones           ; sched
108     'townsman-ai              ; special ai
109     nil              ; container
110     (list t_axe
111                 t_armor_chain)              ; readied
112     )
113    (jones-mk)))