OSDN Git Service

8e27e490972c84b2feabc2e8bb8a3420e23458a6
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / anne.scm
1 ;;----------------------------------------------------------------------------
2 ;; Constants
3 ;;----------------------------------------------------------------------------
4 (define anne-lvl 4)
5 (define anne-species sp_human)
6 (define anne-occ oc_wizard)
7
8 ;;----------------------------------------------------------------------------
9 ;; Schedule
10 ;; 
11 ;; In Paladin's Hold, in the Keep guarding Kurpolis.
12 ;;----------------------------------------------------------------------------
13 (define anne-bed ph-bed2)
14 (define anne-mealplace ph-tbl2)
15 (define anne-workplace ph-medik)
16 (define anne-leisureplace ph-dine)
17 (kern-mk-sched 'sch_anne
18                (list 0  0 anne-bed          "sleeping")
19                (list 7  0 anne-mealplace    "eating")
20                (list 8  0 anne-workplace    "working")
21                (list 12 0 anne-mealplace    "eating")
22                (list 13 0 anne-workplace    "working")
23                (list 18 0 anne-mealplace    "eating")
24                (list 19 0 anne-leisureplace "idle")
25                (list 22 0 anne-bed          "sleeping")
26                )
27
28 ;;----------------------------------------------------------------------------
29 ;; Gob
30 ;;----------------------------------------------------------------------------
31 (define (anne-mk) nil)
32
33 ;;----------------------------------------------------------------------------
34 ;; Conv
35 ;; 
36 ;; Anne is a female White Magick mage serving as a medik 
37 ;; in the service of Glasdrin.  
38 ;; She currently serves in the Paladin's Hold of the Keep guarding Kurpolis.
39 ;;----------------------------------------------------------------------------
40
41 ;; Basics...
42 (define (anne-name knpc kpc)
43   (say knpc "I am called Anne."))
44
45 (define (anne-job knpc kpc)
46   (say knpc "I am a medik in the service of Glasdrin. Are you in need of healing?")
47   (if (yes? kpc)
48       (anne-trade knpc kpc)))
49
50 (define (anne-trade knpc kpc)
51   (if (trade-services knpc kpc
52                       (list
53                        (svc-mk "Heal" 30 heal-service)
54                        (svc-mk "Cure" 30 cure-service)
55                        (svc-mk "Resurrect" 100 resurrect-service)))
56       (begin
57         (say knpc "What else can I do for you?")
58         (anne-trade knpc kpc))
59       (begin
60         (say knpc "Will there be anything else?")
61         (if (kern-conv-get-yes-no? kpc)
62             (anne-trade knpc kpc)
63             (say knpc "Very well.")))))
64
65 (define (anne-medik knpc kpc)
66   (say knpc "I heal paladins who are wounded in combat. I will heal others, too, for a price."))
67
68 (define (anne-kurp knpc kpc)
69   (say knpc "This is a savage place, not for the inexperienced. It gets worse the deeper you go."))
70
71 (define anne-conv
72   (ifc kurpolis-conv
73
74        ;; basics
75        (method 'job anne-job)
76        (method 'name anne-name)
77        
78        ;; trade
79        (method 'trad anne-trade)
80        (method 'heal anne-trade)
81        (method 'pric anne-trade)
82
83        (method 'medik anne-medik)
84        (method 'kurp anne-kurp)
85        ))
86
87 (define (mk-anne)
88   (bind 
89    (kern-mk-char 
90     'ch_anne           ; tag
91     "Anne"             ; name
92     anne-species         ; species
93     anne-occ              ; occ
94     s_companion_wizard     ; sprite
95     faction-men      ; starting alignment
96     1 3 2            ; str/int/dex
97     0 0              ; hp mod/mult
98     0 0              ; mp mod/mult
99     max-health ; hp
100     -1                   ; xp
101     max-health ; mp
102     0
103     anne-lvl
104     #f               ; dead
105     'anne-conv         ; conv
106     sch_anne           ; sched
107     'townsman-ai              ; special ai
108     nil              ; container
109     (list t_sword
110                                                  t_armor_leather
111                                                  )               ; readied
112     )
113    (anne-mk)))