on the swing."))
#:exclude player))
+(define-class <fairy-go-round> (<gameobj>)
+ (commands
+ #:allocation #:each-subclass
+ #:init-thunk (build-commands
+ (("ride" "sit") ((direct-command cmd-ride)))))
+ (actions #:allocation #:each-subclass
+ #:init-thunk
+ (build-actions
+ (cmd-ride cmd-ride-on-fairy-go-round))))
+
+(define* (cmd-ride-on-fairy-go-round actor message #:key direct-obj)
+ (define player (message-from message))
+ (define player-loc (mbody-val (<-wait player 'get-loc)))
+ (define player-name (mbody-val (<-wait player 'get-name)))
+ (<- (message-from message) 'tell
+ #:text '((p "You ride on the fairy go round. Your vision blurs
+and refocuses into places everywhere in this realm and every other.
+You feel a part of everywhere at once for a moment, and then, you
+step off.")))
+ (<- player-loc 'tell-room
+ #:text `((p ,player-name " rides on the fairy go round and seems
+to be everywhere and nowhere at once for a moment before stepping off."))
+ #:exclude player))
+
(define-actor <cake> (<semi-edible-chatty-npc>)
((cmd-take cake-cmd-take)))
a bit."))
#:exclude player))
+
+
(define wedding
(lol
;; Courtyard
"You could read it if you want to.")
#:read-text `(pre ,wedding-map-text)
#:goes-by '("map" "wedding map"))
+ ('wedding-entrance:frog
+ <chatty-npc> 'wedding-entrance
+ #:name "a frog"
+ #:desc "The frog is sitting on top of the hostess podium and doing
+her best to look dignified. Actually, to be honest, she's doing a pretty
+good job looking dignified. My gosh! What a dignified frog!"
+ #:goes-by '("frog")
+ #:catchphrases
+ '("Oh yes, oh yes! Welcome to the wedding! *Ribbit!*"
+ "Enjoy your stay!"
+ "Welcome, welcome! *Ribbit!*"
+ "*Ribbit!* We've been waiting for you, come in come in!"
+ "We're so happy you're here!"
+ "Hoo, this wedding took a lot of work to plan but it was WORTH IT!"))
+ ('wedding-entrance:podium
+ <gameobj> 'wedding-entrance
+ #:name "a hostess podium"
+ #:desc "It's very well constructed. A frog is sitting on it, so you
+guess that makes the frog the hostess."
+ #:goes-by '("podium" "hostess podium"))
+ ('wedding-entrance:lights
+ <gameobj> 'wedding-entrance
+ #:name "fairy lights and trees"
+ #:invisible? #t
+ #:desc '((p "The lights are intertwined in the tree boughs and beautiful.
+You look closely and realize that the only way they could work is if they
+were threaded into the tree boughs as the trees grew!")
+ (p "To the north, some of the tree boughs grow together into
+an entrance."))
+ #:goes-by '("lights" "fairy lights"
+ "trees" "tree" "light" "fairy light"
+ "bough" "boughs"))
('vaulted-tunnel
<room> #f
#:name "A Vaulted Tunnel of Trees"
all look the same."
#:goes-by
'("hanging portrait" "hanging portraits" "portrait" "portraits"))
+ ('vaulted-tunnel:trees
+ <gameobj> 'vaulted-tunnel
+ #:name "trees"
+ #:invisible? #t
+ #:desc
+ "The trees are arched above you, vaulted and beautiful. A gentle light
+streams through them and is accented by the fairy lights which are everywhere,
+lovely, and glowing themselves."
+ #:goes-by
+ '("trees" "fairy lights" "lights" "tree" "light" "vaulted trees"
+ "tunnel" "vaulted tunnel"))
('dance-floor
<room> #f
#:name "The Ballroom Dance Flooor"
('orchestra:orchestra
<chatty-npc> 'orchestra
#:name "the orchestra"
+ #:chat-format (lambda _
+ '((p "You're being very rude. They're trying to
+concentrate.")))
#:desc
'((p "The orchestra members are playing their songs. The music
and their instruments seem as much a part of them as their bodies."))
back and forth gently. You feel as if to sit on it would help you
feel younger again, to experience time itself..."
#:goes-by '("swing"))
+ ('playground:children
+ <chatty-npc> 'playground
+ #:name "children"
+ #:chat-format (lambda _
+ '((p "It's hard to have a conversation with the children,
+they're too busy running around! It's clear they're having a good time, though.")))
+ #:desc "The children are laughing and climbing and generally having a
+wonderful time."
+ #:goes-by '("young fairies" "children" "fairy children"))
+ ('playground:seeds
+ <gameobj> 'playground
+ #:name "helicopter seeds"
+ #:invisible? #t
+ #:desc "The helicopter seeds are falling from the sky!
+They're really lovely to look at though."
+ #:take-me?
+ (lambda _
+ (values #f
+ #:why-not
+ `((p "You feel like you'd develop an allergy to these things
+if you tried to hold onto them for too long, so you'd better not.")))
+ #:goes-by '("seeds" "helicopter seeds")))
('photo-booth-wing
<room> #f
#:name "The Photo Booth Wing"
and then the photographer takes a picture, a loud *kzzzt!* noise fills the room,
and a magical glow suffuses everything."
#:goes-by '("flash bulb" "flash" "bulb"))
+ ('photo-booth-wing:hoaxes
+ <gameobj> 'photo-booth-wing
+ #:name "hoaxes"
+ #:invisible? #t
+ #:desc "Some real good japes, these are."
+ #:goes-by '("hoaxes"))
+ ('photo-booth-wing:photographs
+ <gameobj> 'photo-booth-wing
+ #:name "photographs"
+ #:invisible? #t
+ #:desc "You know, you kind of feel like you recognize the fairy in
+that one from some old Fairy History class you took a long time ago!"
+ #:goes-by '("photograph" "photographs"))
('fairy-go-round
<room> #f
- #:name "Fairy Go Round"
+ #:name "Fairy-Go-Round"
#:desc
'((p "A large carousel fills the space. The seating arrangement alternates
between vine swings that move up and down and large mums that serve as
(make <exit>
#:name "south"
#:to 'photo-booth-wing)))
+ ('fairy-go-round:fairy-go-round
+ <fairy-go-round> 'fairy-go-round
+ #:name "the fairy-go-round"
+ #:desc '((p "The fairy-go-round is a wonderful work of art. There
+are many kinds of seats on it, and they move up and down as the fairy go round
+spins. You feel a part of it and yet disconnected at once, a yearning to
+ride and participate on this fantastic device. You feel an aura around it
+that makes it seem both present and distant, as it were everywhere and nowhere
+at once.")
+ (p "The vine swings are made of real vines, and the mums are
+made of real... well you aren't really sure what they're made of. Overgrown
+flowers, it seems like."))
+ #:goes-by '("fairy-go-round" "fairy go round"
+ "carousel" "swing" "swings" "stool" "stools"
+ "seat" "seats" "vine swing" "vine swings"
+ "mum" "mums" "flowers" "overgrown flowers"))
('the-stairs
<room> #f
#:name "Stairwell"