OSDN Git Service

Nazghul-0.7.1
[nazghul-jp/nazghul-jp.git] / worlds / haxima-1.002 / eye-of-brune.scm
1 ;; The Eye of Brune is a special mechanism that shows a map of the entire Shard
2 ;; when handled successfully.
3
4 (define (eye-of-brune-handle keye khandler)
5   (kern-obj-set-sprite keye s_eye_open)
6   (kern-log-msg "*** STENTORIAN VOICE ***")
7   (kern-log-msg "WHAT WOULDST THOU BE?")
8   (let ((answer (kern-conv-get-reply khandler)))
9     (cond ((eq? answer 'vigi)
10            (kern-log-msg "THEN SEE!")
11            (let ((kimage (kern-image-load "map.png")))
12              (kern-map-set-image kimage)
13              (kern-print "Hit a key when done gazing...\n")
14              (ui-waitkey)
15              (kern-map-set-image nil)
16              (kern-image-free kimage)))
17           (else
18            (kern-log-msg "WOE TO THE CARELESS, THE FORGETFUL AND THE IMPIOUS!")
19            (apply-lightning khandler)
20            (kern-char-set-intelligence khandler
21                                        (- (kern-char-get-base-intelligence khandler) 
22                                           1))
23            (kern-log-msg (kern-obj-get-name khandler) " loses intelligence!")
24            )))
25   (kern-obj-set-sprite keye s_eye_closed)
26   )
27
28 (define eye-of-brune-ifc
29   (ifc nil
30        (method 'handle eye-of-brune-handle)
31        ))
32
33 (mk-obj-type 't_eye_of_brune "Eye of Brune" s_eye_closed layer-mechanism eye-of-brune-ifc)