;;; Some simple object types.
;;; =========================
-(define-class <readable> (<thing>)
+(define-class <readable> (<gameobj>)
(read-text #:init-value "All it says is: \"Blah blah blah.\""
#:init-keyword #:read-text)
(commands
character.\n")))
-(define-class <summoning-bell> (<thing>)
+(define-class <summoning-bell> (<gameobj>)
(summons #:init-keyword #:summons)
(commands
#:desc "It looks like you could sign this form and set your name.")
('thing:lobby:porcelain-doll
- <thing> 'room:lobby
- #:generally-visible #f
+ <gameobj> 'room:lobby
+ #: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
- <thing> 'room:lobby
- #:generally-visible #f
+ <gameobj> 'room:lobby
+ #: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
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
- <thing> 'room:lobby
- #:generally-visible #f
+ <gameobj> 'room:lobby
+ #: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
nice table with some doilies, drinking some Earl Grey tea, hot. Mmmm."
#:goes-by '("tea set" "tea"))
('thing:lobby:mustard-pot
- <thing> 'room:lobby
- #:generally-visible #f
+ <gameobj> 'room:lobby
+ #: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
(p "Ha... imagine that... a mustard museum."))
#:goes-by '("mustard pot" "antique mustard pot" "mustard"))
('thing:lobby:head-of-elvis
- <thing> 'room:lobby
- #:generally-visible #f
+ <gameobj> 'room:lobby
+ #: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
#:goes-by '("pickled head of elvis" "pickled head of Elvis"
"elvis" "Elvis" "head" "pickled head"))
('thing:lobby:circuitboard-of-evlis
- <thing> 'room:lobby
- #:generally-visible #f
+ <gameobj> 'room:lobby
+ #: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
"pickled circuitboard of EVLIS"
"evlis" "Evlis" "EVLIS" "circuitboard" "pickled circuitboard"))
('thing:lobby:teletype-scroll
- <thing> 'room:lobby
- #:generally-visible #f
+ <gameobj> 'room:lobby
+ #: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:")
"scroll of teletype paper holding the software Four Freedoms"
"scroll of teletype paper holding the software four freedoms"))
('thing:lobby:orange-cat-phone
- <thing> 'room:lobby
- #:generally-visible #f
+ <gameobj> 'room:lobby
+ #: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
#:name "east"
#:to 'room:grand-hallway)))
('thing:playroom:cubey
- <thing> 'room:playroom
+ <gameobj> 'room:playroom
#:name "cubey"
- #:takeable #t
+ #:take-me? #t
#:desc " It's a little foam cube with googly eyes on it. So cute!")
- ('thing:cuddles-plushie
- <thing> 'room:playroom
+ ('thing:playroom:cuddles-plushie
+ <gameobj> 'room:playroom
#:name "a cuddles plushie"
#:goes-by '("plushie" "cuddles plushie" "cuddles")
- #:takeable #t
- #:desc " A warm and fuzzy cuddles plushie! It's a cuddlefish!")))
+ #:take-me? #t
+ #:desc " A warm and fuzzy cuddles plushie! It's a cuddlefish!")
+
+ ('thing:playroom:toy-chest
+ <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?"
+ #:take-from-me? #t
+ #:put-in-me? #t)
+
+ ;; Things inside the toy chest
+ ('thing:playroom:toy-chest:rubber-duck
+ <gameobj> 'thing:playroom:toy-chest
+ #:name "a rubber duck"
+ #:goes-by '("rubber duck" "duck")
+ #:take-me? #t
+ #:desc "It's a yellow rubber duck with a bright orange beak.")))
\f
#:catchphrases prefect-quotes)
('thing:smoking-parlor:no-smoking-sign
- <thing> 'room:smoking-parlor
- #:generally-visible #f
+ <gameobj> 'room:smoking-parlor
+ #: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."
;;; Breakroom
;;; ---------
-(define-class <desk-clerk> (<thing>)
+(define-class <desk-clerk> (<gameobj>)
;; The desk clerk has three states:
;; - on-duty: Arrived, and waiting for instructions (and losing patience
;; gradually)
hotel insignia. She appears to be rather exhausted."
#:goes-by '("hotel desk clerk" "clerk" "desk clerk"))
('thing:break-room:void
- <thing> 'room:break-room
- #:generally-visible #f
+ <gameobj> 'room:break-room
+ #:invisible? #t
#:name "The Void"
#:desc "As you stare into the void, the void stares back into you."
- #:goes-by '("void" "abyss" "nothingness"))))
+ #:goes-by '("void" "abyss" "nothingness" "scenery"))
+ ('thing:break-room:fence
+ <gameobj> 'room:break-room
+ #: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
+couple of fingers through. There appears to be some wear and tear to
+the paint, but the wires themselves seem to be unusually sturdy."
+ #:goes-by '("fence" "cage" "wire cage"))))
\f