1 ;;----------------------------------------------------------------------------
2 ;; hidden -- wrapper object; when s)earched it creates the revelaed object and
5 (define (hidden-mk objtype-tag quan) (list objtype-tag quan))
6 (define (hidden-objtype-tag hidden) (car hidden))
7 (define (hidden-quan hidden) (cadr hidden))
9 (define (hidden-search khidden ksearcher)
10 (println "hidden-search")
11 (let* ((hidden (kobj-gob-data khidden))
12 (kobj (kern-mk-obj (eval (hidden-objtype-tag hidden))
13 (hidden-quan hidden))))
15 (kern-obj-get-location khidden))
16 (kern-log-msg "You find something!")
17 (kern-obj-remove khidden)))
21 (method 'search hidden-search)))
23 (mk-obj-type 't_hidden nil nil layer-none hidden-ifc)
25 (define (mk-hidden objtype-tag quan)
26 (bind (kern-mk-obj t_hidden 1)
27 (hidden-mk objtype-tag quan)))
29 (define (is-hidden? kobj)
30 (eqv? (kern-obj-get-type kobj)