OSDN Git Service

158368fe79c17c7dd2453feece4d6b47d7a1744c
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / talking-ankh.scm
1 ;;----------------------------------------------------------------------------
2 ;; Constants
3 ;;----------------------------------------------------------------------------
4 (define ankh-lvl 9)
5 (define ankh-species sp_statue)
6 (define ankh-occ nil)
7
8 (kern-mk-map
9  'm_hidden_city 19 19 pal_expanded
10         (list
11         "rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn  "
12         "rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn  "
13         "rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn  "
14         "rn rn rn rn rn r8 r8 r8 r8 r8 r8 r8 r8 r8 rn rn rn rn rn  "
15         "rn rn rn rn rc *3 *1 *1 *1 *1 *1 *1 *1 *5 ra rn rn rn rn  "
16         "rn rn rn r4 *3 ** *. *8 *8 *8 *8 *8 ** *. *5 r2 rn rn rn  "
17         "rn rn rn r4 *2 ** xx xx xx xx xx xx xx ** *4 r2 rn rn rn  "
18         ".. xx xx xx xx xx xx pp ,, ,, ,, pp xx *2 *4 r2 rn rn rn  "
19         "tt ,, ,, ,, ,, ,, ,, ,, cc cc cc ,, xx *2 *4 r2 rn rn rn  "
20         ".. cc dd cc cc cc cc cc cc cc cc ,, xx *2 *4 r2 rn rn rn  "
21         ",, ,, .. ,, ,, ,, ,, ,, cc cc cc ,, xx *2 *4 r2 rn rn rn  "
22         "xx rn xx xx xx xx xx pp ,, cc ,, pp xx *2 *4 r2 rn rn rn  "
23         "rn rn rn r4 *2 *. xx xx ,, cc ,, xx xx *. *4 r2 rn rn rn  "
24         "rn rn rn r4 *a *. ** *5 ,, cc ,, *3 ** *. *c r2 rn rn rn  "
25         "rn rn rn rn r5 *a ** *4 ,, cc ,, *2 *. *c r3 rn rn rn rn  "
26         "rn rn rn rn rn r5 ** *4 ,, cc ,, *2 *. r3 rn rn rn rn rn  "
27         "rn rn rn rn rn r4 *2 *4 ,, cc ,, *2 *4 r2 rn rn rn rn rn  "
28         "rn rn rn rn rn r4 *2 *4 ,, cc ,, *2 *4 r2 rn rn rn rn rn  "
29         "rn rn rn rn rn r4 ** ** ,, cc ,, ** *. r2 rn rn rn rn rn  "
30         )
31 )
32
33 ;;----------------------------------------------------------------------------
34 ;; Schedule
35 ;;----------------------------------------------------------------------------
36
37 ;;----------------------------------------------------------------------------
38 ;; Gob
39 ;;----------------------------------------------------------------------------
40 (define (ankh-mk)
41   (list #f))
42 (define (ankh-done? gob) (car gob))
43 (define (ankh-done! gob) (set-car! gob #t))
44
45 ;;----------------------------------------------------------------------------
46 ;; Conv
47 ;;----------------------------------------------------------------------------
48
49 ;; Basics...
50 (define (ankh-hail knpc kpc)
51   (let ((gob (kobj-gob-data knpc)))
52     (if (not (ankh-done? gob))
53         (begin
54           (say knpc "[A vibrating voice fills your head] "
55                "At the dawn of the next age, how will the world be made?")
56           (let ((resp (kern-conv-get-reply kpc)))
57             (if (not (eq? resp 'anew))
58                 (say knpc "Then the new age has not yet come.")
59                 (begin
60                   (say knpc "THEN THE NEW AGE HAS BEGUN!")
61                   (shake-map 15)
62                   (kern-map-flash 500)
63                   (shake-map 15)
64                   (kern-map-flash 500)          
65                   (shake-map 15)
66                   (ankh-done! gob)
67                   (blit-map (loc-place (kern-obj-get-location knpc))
68                     0 0 31 31 m_hidden_city)
69                   ))
70             (kern-conv-end))))))
71         
72
73 (define ankh-conv
74   (ifc basic-conv
75        (method 'hail ankh-hail)
76        ))
77
78 (define (ankh-ai knpc)
79   #t)
80
81 (define (mk-talking-ankh)
82   (bind 
83    (kern-mk-char 
84     'ch_ankh           ; tag
85     "Ankh"             ; name
86     ankh-species         ; species
87     ankh-occ              ; occ
88     s_ankh     ; sprite
89     faction-men      ; starting alignment
90     0 0 0            ; str/int/dex
91     0 0              ; hp mod/mult
92     0 0              ; mp mod/mult
93     (max-hp ankh-species ankh-occ ankh-lvl 0 0) ; hp
94     0                   ; xp
95     (max-mp ankh-species ankh-occ ankh-lvl 0 0) ; mp
96                 0
97     ankh-lvl
98     #f               ; dead
99     'ankh-conv         ; conv
100     nil           ; sched
101     'ankh-ai              ; special ai
102     nil              ; container
103     nil              ; readied
104     )
105    (ankh-mk)))