A working toy chest :)
[mudsync.git] / worlds / bricabrac.scm
index 4a9240689cb7ab8f9159010f0dde37414a15732b..28ba3dbbf172cd70531c96f7ffcebde097927593 100644 (file)
@@ -276,14 +276,14 @@ Ooh, ~a!" (random-choice
 
    ('thing:lobby:porcelain-doll
     <gameobj> 'room:lobby
-    #:generally-visible #f
+    #:invisible? #t
     #:name "a creepy porcelain doll"
     #:desc "It strikes you that while the doll is technically well crafted,
 it's also the stuff of nightmares."
     #:goes-by '("porcelain doll" "doll"))
    ('thing:lobby:1950s-robots
     <gameobj> 'room:lobby
-    #:generally-visible #f
+    #:invisible? #t
     #:name "a set of 1950s robots"
     #:desc "There's a whole set of these 1950s style robots.
 They seem to be stamped out of tin, and have various decorations of levers
@@ -291,7 +291,7 @@ and buttons and springs.  Some of them have wind-up knobs on them."
     #:goes-by '("robot" "robots" "1950s robot" "1950s robots"))
    ('thing:lobby:tea-set
     <gameobj> 'room:lobby
-    #:generally-visible #f
+    #:invisible? #t
     #:name "a tea set"
     #:desc "A complete tea set.  Some of the cups are chipped.
 You can imagine yourself joining a tea party using this set, around a
@@ -299,7 +299,7 @@ nice table with some doilies, drinking some Earl Grey tea, hot.  Mmmm."
     #:goes-by '("tea set" "tea"))
    ('thing:lobby:mustard-pot
     <gameobj> 'room:lobby
-    #:generally-visible #f
+    #:invisible? #t
     #:name "a mustard pot"
     #:desc '((p "It's a mustard pot.  I mean, it's kind of cool, it has a
 nice design, and it's an antique, but you can't imagine putting something
@@ -308,7 +308,7 @@ like this in a museum.")
     #:goes-by '("mustard pot" "antique mustard pot" "mustard"))
    ('thing:lobby:head-of-elvis
     <gameobj> 'room:lobby
-    #:generally-visible #f
+    #:invisible? #t
     #:name "the pickled head of Elvis"
     #:desc '((p "It's a jar full of some briny-looking liquid and...
 a free floating head.  The head looks an awful lot like Elvis, and
@@ -322,7 +322,7 @@ everything you read."))
                 "elvis" "Elvis" "head" "pickled head"))
    ('thing:lobby:circuitboard-of-evlis
     <gameobj> 'room:lobby
-    #:generally-visible #f
+    #:invisible? #t
     #:name "the pickled circuitboard of Evlis"
     #:desc '((p "It's a circuitboard from a Lisp Machine called EVLIS.
 This is quite the find, and you bet just about anyone interested in
@@ -336,7 +336,7 @@ Too bad..."))
                 "evlis" "Evlis" "EVLIS" "circuitboard" "pickled circuitboard"))
    ('thing:lobby:teletype-scroll
     <gameobj> 'room:lobby
-    #:generally-visible #f
+    #:invisible? #t
     #:name "a scroll of teletype"
     #:desc '((p "This is a scroll of teletype paper.  It's a bit old
 and yellowed but the type is very legible.  It says:")
@@ -357,7 +357,7 @@ English language surrounding the word 'free' have lead to a lot of terminology d
                 "scroll of teletype paper holding the software four freedoms"))
    ('thing:lobby:orange-cat-phone
     <gameobj> 'room:lobby
-    #:generally-visible #f
+    #:invisible? #t
     #:name "a telephone shaped like an orange cartoon cat"
     #:desc "It's made out of a cheap plastic, and it's very orange.
 It resembles a striped tabby, and it's eyes hold the emotion of
@@ -435,8 +435,17 @@ if this room is intended for children or child-like adults."
     <gameobj> 'room:playroom
     #:name "a toy chest"
     #:goes-by '("toy chest" "chest")
-    #:desc "A brightly painted wooden chest.  The word \"TOYS\" is engraved
-on it.  What could be inside?"
+    #:desc (lambda (toy-chest whos-looking)
+             (let ((contents (gameobj-occupants toy-chest)))
+               `((p "A brightly painted wooden chest.  The word \"TOYS\" is "
+                    "engraved on it.")
+                 (p "Inside you see:"
+                    ,(if (eq? (pk 'contents contents) '())
+                         " nothing!  It's empty!"
+                         `(ul ,(map (lambda (occupant)
+                                      `(li ,(mbody-val
+                                             (<-wait occupant 'get-name))))
+                                    (gameobj-occupants toy-chest))))))))
     #:take-from-me? #t
     #:put-in-me? #t)
 
@@ -545,7 +554,7 @@ seat in the room, though."
 
    ('thing:smoking-parlor:no-smoking-sign
     <gameobj> 'room:smoking-parlor
-    #:generally-visible #f
+    #:invisible? #t
     #:name "No Smoking Sign"
     #:desc "This sign says \"No Smoking\" in big, red letters.
 It has some bits of bubble gum stuck to it... yuck."
@@ -801,13 +810,13 @@ hotel insignia.  She appears to be rather exhausted."
     #:goes-by '("hotel desk clerk" "clerk" "desk clerk"))
    ('thing:break-room:void
     <gameobj> 'room:break-room
-    #:generally-visible #f
+    #:invisible? #t
     #:name "The Void"
     #:desc "As you stare into the void, the void stares back into you."
     #:goes-by '("void" "abyss" "nothingness" "scenery"))
    ('thing:break-room:fence
     <gameobj> 'room:break-room
-    #:generally-visible #f
+    #:invisible? #t
     #:name "break room cage"
     #:desc "It's a mostly-cubical wire mesh surrounding the break area.
 You can see through the gaps, but they're too small to put more than a