And there we go, wedding in place!!
authorChristine Lemmer-Webber <cwebber@dustycloud.org>
Fri, 23 Sep 2022 22:44:39 +0000 (18:44 -0400)
committerChristine Lemmer-Webber <cwebber@dustycloud.org>
Fri, 23 Sep 2022 22:44:39 +0000 (18:44 -0400)
worlds/bricabrac.scm

index 1f8995b8153436058db00bb9f2b50cbd49ea616a..87cd1c683c89eaa897f4beb78466b0e5b6507d60 100644 (file)
@@ -2432,6 +2432,30 @@ traversal through the flow of time itself.  You feel happy.")))
 on the swing."))
       #:exclude player))
 
 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)))
 
 (define-actor <cake> (<semi-edible-chatty-npc>)
   ((cmd-take cake-cmd-take)))
 
@@ -2528,6 +2552,8 @@ re-orients itself.")))
 a bit."))
       #:exclude player))
 
 a bit."))
       #:exclude player))
 
+
+
 (define wedding
   (lol
    ;; Courtyard
 (define wedding
   (lol
    ;; Courtyard
@@ -2594,6 +2620,38 @@ To the south is the forest."))
              "You could read it if you want to.")
     #:read-text `(pre ,wedding-map-text)
     #:goes-by '("map" "wedding map"))
              "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"
    ('vaulted-tunnel
     <room> #f
     #:name "A Vaulted Tunnel of Trees"
@@ -2620,6 +2678,17 @@ Victorian to today's current fashions. The style and format of the photographs
 all look the same."
     #:goes-by
     '("hanging portrait" "hanging portraits" "portrait" "portraits"))
 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"
    ('dance-floor
     <room> #f
     #:name "The Ballroom Dance Flooor"
@@ -2795,6 +2864,9 @@ by various fiddles, a cello, a harp, and a flute.")
    ('orchestra:orchestra
     <chatty-npc> 'orchestra
     #:name "the orchestra"
    ('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."))
     #:desc
     '((p "The orchestra members are playing their songs.  The music
 and their instruments seem as much a part of them as their bodies."))
@@ -2924,6 +2996,28 @@ see-saw hovers a foot from the soft grass below.")
 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"))
 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"
    ('photo-booth-wing
     <room> #f
     #:name "The Photo Booth Wing"
@@ -2973,9 +3067,22 @@ kind of unusual.  It glows even when the camera isn't flashing.  Every now
 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"))
 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
    ('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
     #: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
@@ -2991,6 +3098,22 @@ stools.")
          (make <exit>
            #:name "south"
            #:to 'photo-booth-wing)))
          (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"
    ('the-stairs
     <room> #f
     #:name "Stairwell"