Adding directional information to the rooms we already have
[mudsync.git] / worlds / bricabrac.scm
index 1fdee9203a141a6bbc7f37eb041715e250583477..df16f2fa839a05f7d098b8ff8b7e105cb6a68fe1 100644 (file)
@@ -2291,6 +2291,9 @@ north seem to hint that this may be the exit to the outdoors.  There's
 also a large sign near the doors on a wooden easel."))
     #:exits
     (list (make <exit>
+           #:name "north"
+           #:to 'courtyard)
+         (make <exit>
            #:name "south"
            #:to 'grand-hallway)))
    ('north-hall:sign
@@ -2330,6 +2333,314 @@ Although towering, they seem passable."))
     #:goes-by '("door" "doors" "room doors" "large doors"))))
 
 
+;;; ============
+;;; WEDDING TIME
+;;; ============
+
+(define wedding-map-text
+  "\
+                   Banquet
+                   &Stairs
+                 (========)
+            .----.\\======/=.----.
+ Fairy     -     : \\====/ :     -
+  Go     ./      :  )==(  :      \\.  Orchestra
+ Round  / (&&&)  : (/==\\) : & & &  \\
+       /         :        :         \\
+       .--------..--------..--------.
+      |  _   _  .'        '.   ,,,   ;
+Photo | | | |_| :  Dance   :  .|_|.  | Cake
+      | '-'     :  Floor   :  |___|  |
+      ',-------.\\         ;.--------,'
+       ;   ..    '.......'         ;
+        \\  ||))    .-=-.     ^   */
+         \\.||(( ^ //   \\\\^ *  ^'./
+     Play '.  ^  ;;     ;;^  ^.,'
+    Ground  +----||-----||----+  Flowers
+            | .---.           |
+            | |_ _|       [F] |
+            |   |             |
+            |      Entrance   |
+            '-----------------'")
+
+(define wedding
+  (lol
+   ;; Courtyard
+   ;; ---------
+   ('courtyard
+    <room> #f
+    #:name "The Courtyard"
+    #:desc
+    '((p "Standing in the courtyard you feel... different.  As if the courtyard itself
+was the space between worlds, cobbled together hastily by some distant being.")
+      (p "To the south are some large doors which serve as the back entrance to
+the hotel.  To the north is a forest, from which festive noises emerge."))
+    #:exits
+    (list (make <exit>
+           #:name "south"
+           #:to 'north-hall)
+         (make <exit>
+           #:name "north"
+           #:to 'forest-clearing)))
+   ('forest-clearing
+    <room> #f
+    #:name "A Clearing in the Forest"
+    #:desc
+    '((p "During an aimless ramble through the forest you became
+disoriented and lost your way. It has been some time since you’ve seen
+any of the familiar landmarks that would help you orient yourself. As
+you continue on, the feel of the forest seems to shift. As the trees
+grow thicker the light dims.  Eerie laughter echoes through the boughs
+overhead and you shiver.")
+      (p "A warm light to the north beckons you towards it.
+South leads back to the Hotel's main grounds."))
+    #:exits
+    (list (make <exit>
+           #:name "north"
+           #:to 'wedding-entrance)
+         (make <exit>
+           #:name "south"
+           #:to 'courtyard)))
+   ('wedding-entrance
+    <room> #f
+    #:name "Entrance to the Wedding"
+    #:desc
+    '((p "As you approach you realize that the light is not an exit from the
+forest or a clearing, rather thousands of minuscule lights twined
+through the boughs of the trees. What you see before you is some sort
+of living structure composed of a thicket of trees intertwined with
+bramble. To the left of the entrance is a sign, to the right is a frog
+sitting atop a hostess podium.")
+      (p "To the north the limbs of two trees intertwine, making an entrance.
+To the south is the forest."))
+    #:exits
+    (list (make <exit>
+           #:name "south"
+           #:to 'forest-clearing)
+         (make <exit>
+           #:name "north"
+           #:to 'vaulted-tunnel)))
+   ;; map
+   ('wedding-entrance:map
+    <readable> 'wedding-entrance
+    #:name "wedding map"
+    #:desc '("This appears to be a map of the wedding grounds. "
+             "You could read it if you want to.")
+    #:read-text `(pre ,wedding-map-text)
+    #:goes-by '("map" "wedding map"))
+   ('vaulted-tunnel
+    <room> #f
+    #:name "A Vaulted Tunnel of Trees"
+    #:desc
+    '((p "You step into the entrance to see two rows of trees with intersecting
+branches, forming a vaulted tunnel. The fairy lights cast a soft glow on the space.
+On each tree trunk is a portrait and the eerie laughter you heard outside echoes
+louder as you pass each portrait.")
+      (p "The tunnel enters from the south and exits from the north, with light
+glowing each way."))
+    #:exits
+    (list (make <exit>
+           #:name "south"
+           #:to 'wedding-entrance)
+         (make <exit>
+           #:name "north"
+           #:to 'dance-floor)))
+   ('vaulted-tunnel:portrait
+    <gameobj> 'vaulted-tunnel
+    #:name "hanging portraits"
+    #:desc
+    "Each portrait shows a hazy image of a fairy in various modes of dress from
+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"))
+   ('dance-floor
+    <room> #f
+    #:name "The Ballroom Dance Flooor"
+    #:desc
+    '((p "You emerge into a clearing with six trees encircling a magical ballroom.
+At the center is a dance floor where fairies are dancing in rows of concentric
+circles. The lights that appear in unstructured smatterings throughout the mystical
+space have formed themselves into an elaborate chandelier above the dancers.")
+      (p "To the south the trees intertwine forming an entrance.
+The ballroom extends in every other cardinal direction."))
+    #:exits
+    (list (make <exit>
+           #:name "north"
+           #:to 'banquet)
+         (make <exit>
+           #:name "northeast"
+           #:to 'orchestra)
+         (make <exit>
+           #:name "east"
+           #:to 'cake-wing)
+         (make <exit>
+           #:name "southeast"
+           #:to 'flower-field)
+         (make <exit>
+           #:name "south"
+           #:to 'vaulted-tunnel)
+         (make <exit>
+           #:name "southwest"
+           #:to 'playground)
+         (make <exit>
+           #:name "west"
+           #:to 'photo-booth-wing)
+         (make <exit>
+           #:name "northwest"
+           #:to 'fairy-go-round)))
+   ('banquet
+    <room> #f
+    #:name "Banquet Hall"
+    #:desc
+    '((p ""))
+    #:exits
+    (list (make <exit>
+           #:name "south"
+           #:to 'dance-floor)
+         (make <exit>
+           #:name "west"
+           #:to 'fairy-go-round)
+         (make <exit>
+           #:name "east"
+           #:to 'orchestra)
+         (make <exit>
+           #:name "southeast"
+           #:to 'cake-wing)
+         (make <exit>
+           #:name "southwest"
+           #:to 'photo-booth-wing)
+         (make <exit>
+           #:name "up"
+           #:to 'the-stairs)))
+   ('orchestra
+    <room> #f
+    #:name "The Orchestra"
+    #:desc
+    '((p ""))
+    #:exits
+    (list (make <exit>
+           #:name "west"
+           #:to 'banquet)
+         (make <exit>
+           #:name "southwest"
+           #:to 'dance-floor)
+         (make <exit>
+           #:name "south"
+           #:to 'cake-wing)))
+   ('cake-wing
+    <room> #f
+    #:name "The Cake Wing"
+    #:desc
+    '((p ""))
+    #:exits
+    (list (make <exit>
+           #:name "north"
+           #:to 'orchestra)
+         (make <exit>
+           #:name "west"
+           #:to 'dance-floor)
+         (make <exit>
+           #:name "northwest"
+           #:to 'banquet)
+         (make <exit>
+           #:name "south"
+           #:to 'flower-field)))
+   ('flower-field
+    <room> #f
+    #:name "Field of Flowers"
+    #:desc
+    '((p ""))
+    #:exits
+    (list (make <exit>
+           #:name "north"
+           #:to 'cake-wing)
+         (make <exit>
+           #:name "northwest"
+           #:to 'dance-floor)))
+   ('playground
+    <room> #f
+    #:name "Playground"
+    #:desc
+    '((p ""))
+    #:exits
+    (list (make <exit>
+           #:name "north"
+           #:to 'photo-booth-wing)
+         (make <exit>
+           #:name "northeast"
+           #:to 'dance-floor)))
+   ('photo-booth-wing
+    <room> #f
+    #:name "The Photo Booth Wing"
+    #:desc
+    '((p ""))
+    #:exits
+    (list (make <exit>
+           #:name "north"
+           #:to 'fairy-go-round)
+         (make <exit>
+           #:name "northeast"
+           #:to 'banquet)
+         (make <exit>
+           #:name "east"
+           #:to 'dance-floor)
+         (make <exit>
+           #:name "south"
+           #:to 'playgroun)))
+   ('fairy-go-round
+    <room> #f
+    #:name "Fairy Go Round"
+    #:desc
+    '((p ""))
+    #:exits
+    (list (make <exit>
+           #:name "east"
+           #:to 'banquet)
+         (make <exit>
+           #:name "southeast"
+           #:to 'dance-floor)
+         (make <exit>
+           #:name "south"
+           #:to 'photo-booth-wing)))
+   ('the-stairs
+    <room> #f
+    #:name "The Stairs"
+    #:desc
+    '((p ""))
+    #:exits
+    (list (make <exit>
+           #:name "up"
+           #:to 'wedding-canopy)
+         (make <exit>
+           #:name "down"
+           #:to 'banquet)))
+   ('name
+    <room> #f
+    #:name "The Canopy"
+    #:desc
+    '((p ""))
+    #:exits
+    (list (make <exit>
+           #:name "down"
+           #:to 'the-stairs)))
+
+;;    ('ballroom
+;;     <room> #f
+;;     #:name "The Ballroom"
+;;     #:exits (list
+;;          (make <exit>
+;;            )
+;;          [north entrance]
+;;              [east entrance]
+            
+;;              [south vaulted-tunnel]
+;;              [west entrance])
+;;      #:desc ("You emerge into a clearing with six trees encircling a magical ballroom. At the center is a dance floor where " (cast dancers "fairies") " are dancing in rows of concentric circles. The lights that appear in unstructured smatterings throughout the mystical space have formed themselves into an elaborate chandelier above the dancers."))
+
+   ))
+
+
 \f
 ;;; Game
 ;;; ----
@@ -2339,7 +2650,7 @@ Although towering, they seem passable."))
           playroom break-room computer-room underground-lab
           async-museum gift-shop hive-entrance
           hive-inside federation-station
-         north-hall))
+         north-hall wedding))
 
 ;; TODO: Provide command line args
 (define (run-game . args)