Fix the time on the candle
[mudsync.git] / worlds / bricabrac.scm
index 701da14fcc8919376b321d7dc415c188968f8a5b..3910990252302df07f04dbc617256cff7406dcb6 100644 (file)
@@ -1,5 +1,5 @@
 ;;; Mudsync --- Live hackable MUD
 ;;; Mudsync --- Live hackable MUD
-;;; Copyright © 2016, 2017 Christopher Allan Webber <cwebber@dustycloud.org>
+;;; Copyright © 2016, 2017 Christine Lemmer-Webber <cwebber@dustycloud.org>
 ;;;
 ;;; This file is part of Mudsync.
 ;;;
 ;;;
 ;;; This file is part of Mudsync.
 ;;;
@@ -256,18 +256,17 @@ character.\n")))
    ;; NPC: hotel owner
    ('lobby:hotel-owner
     <chatty-npc> 'lobby
    ;; NPC: hotel owner
    ('lobby:hotel-owner
     <chatty-npc> 'lobby
-    #:name "a frumpy fellow"
+    #:name "a languid lady"
     #:desc
     #:desc
-    '((p "  Whoever this is, they looks totally exhausted.  They're
+    '((p "  Whoever this is, she looks totally exhausted.  She's
 collapsed into the only comfortable looking chair in the room and you
 collapsed into the only comfortable looking chair in the room and you
-don't get the sense that they're likely to move any time soon.
-  You notice they're wearing a sticker badly adhesed to their clothing
-which says \"Hotel Proprietor\", but they look so disorganized that you
-think that can't possibly be true... can it?
-  Despite their exhaustion, you sense they'd be happy to chat with you,
+don't get the sense that she's likely to move any time soon.
+  Attached to her frumpy dress is a barely secured pin which says
+\"Hotel Proprietor\", but she looks so disorganized that you think
+that can't possibly be true... can it?
+  Despite her exhaustion, you sense she'd be happy to chat with you,
 though the conversation may be a bit one sided."))
 though the conversation may be a bit one sided."))
-    #:goes-by '("frumpy fellow" "fellow"
-                "Chris Webber"  ; heh, did you rtfc?  or was it so obvious?
+    #:goes-by '("languid lady" "lady"
                 "hotel proprietor" "proprietor")
     #:catchphrases hotel-owner-grumps)
    ;; Object: Sign
                 "hotel proprietor" "proprietor")
     #:catchphrases hotel-owner-grumps)
    ;; Object: Sign
@@ -488,6 +487,13 @@ labeled \"RL02.5\".")
 
 (define lobby-map-text
   "\
 
 (define lobby-map-text
   "\
+
+                        .----+++++----.
+                        |  :       :  |
+                        +  : north :  +
+                        |  :  hall :  |
+                        +  :       :  +
+                        |_ : _____ : _|
                         |  :       :  |
   .----------.----------.  :   &   :  .----------.----------.
   | computer |          |& :YOU ARE: &|  smoking | *UNDER*  |
                         |  :       :  |
   .----------.----------.  :   &   :  .----------.----------.
   | computer |          |& :YOU ARE: &|  smoking | *UNDER*  |
@@ -500,6 +506,7 @@ labeled \"RL02.5\".")
                           '---------'")
 
 (define grand-hallway
                           '---------'")
 
 (define grand-hallway
+
   (lol
    ('grand-hallway
     <room> #f
   (lol
    ('grand-hallway
     <room> #f
@@ -514,6 +521,9 @@ that's all about?")
 room\", while a door to the west is labeled \"playroom\"."))
     #:exits
     (list (make <exit>
 room\", while a door to the west is labeled \"playroom\"."))
     #:exits
     (list (make <exit>
+           #:name "north"
+           #:to 'north-hall)
+         (make <exit>
             #:name "south"
             #:to 'lobby)
           (make <exit>
             #:name "south"
             #:to 'lobby)
           (make <exit>
@@ -962,7 +972,7 @@ What could happen if you started it?")
     #:name "a candle"
     #:goes-by '("candle")
     #:steps `("The candle burns..."
     #:name "a candle"
     #:goes-by '("candle")
     #:steps `("The candle burns..."
-              (/ 2 3)  ; oops!
+              .3  ; oops!
               "The candle is burning away a rope!"
               2
               "The rope snaps!"
               "The candle is burning away a rope!"
               2
               "The rope snaps!"
@@ -1743,8 +1753,14 @@ is a map detailing the layout of the underground structure."))
               (values #f '("Ooh, if only you could go south and check this out! "
                            "Unfortunately this whole area is sealed off... the proprietor "
                            "probably never got around to fixing it. "
               (values #f '("Ooh, if only you could go south and check this out! "
                            "Unfortunately this whole area is sealed off... the proprietor "
                            "probably never got around to fixing it. "
-                           "Too bad, it would have had monsters to fight and everything!"))))))
-
+                           "Too bad, it would have had monsters to fight and everything!"))))
+          (make <exit>
+            #:name "southwest"
+            #:traverse-check
+            (lambda (exit room whos-exiting)
+              (values #f '("Hm, it's one of those revolving doors that only revolves in "
+                           "one direction, and it isn't this one.  You guess that while "
+                           "this doesn't appear to be an entrance, it probably is an exit."))))))
    ;; map
    ('underground-lab:map
     <readable> 'underground-lab
    ;; map
    ('underground-lab:map
     <readable> 'underground-lab
@@ -1832,8 +1848,8 @@ as well as an exit leading to the south."))
               "and early 2016 about the need for an "
               "\"asynchronous event loop for Guile\".  The diorama "
               "is a model of the Veggie Galaxy restaurant where after "
               "and early 2016 about the need for an "
               "\"asynchronous event loop for Guile\".  The diorama "
               "is a model of the Veggie Galaxy restaurant where after "
-              "the FSF 30th anniversary party; Mark Weaver, Christopher "
-              "Allan Webber, David Thompson, and Andrew Engelbrecht chat "
+              "the FSF 30th anniversary party; Mark Weaver, Christine "
+              "Lemmer-Webber, David Thompson, and Andrew Engelbrecht chat "
               "about the need for Guile to have an answer to asynchronous "
               "programming.  A mailing list post " ; TODO: link it?
               "summarizing the discussion is released along with various "
               "about the need for Guile to have an answer to asynchronous "
               "programming.  A mailing list post " ; TODO: link it?
               "summarizing the discussion is released along with various "
@@ -1937,11 +1953,18 @@ as well as an exit leading to the south."))
    ('gift-shop
     <room> #f
     #:name "Museum Gift Shop"
    ('gift-shop
     <room> #f
     #:name "Museum Gift Shop"
-    #:desc "foo"
+    #:desc '("There are all sorts of scrolls and knicknacks laying around here, "
+             "but they all seem glued in place and instead of a person manning the shop "
+             "there's merely a cardboard cutout of a person with a \"shopkeeper\" nametag. "
+             "You can pretty well bet that someone wanted to finish this room but ran out of "
+             "time.")
     #:exits (list
              (make <exit>
                #:name "northeast"
     #:exits (list
              (make <exit>
                #:name "northeast"
-               #:to 'underground-lab)
+               #:to 'underground-lab
+               #:traverse-check
+               (lambda (exit room whos-exiting)
+                 (values #t '("The revolving door spins as you walk through it.  Whee!"))))
              (make <exit>
                #:name "north"
                #:to 'async-museum)))))
              (make <exit>
                #:name "north"
                #:to 'async-museum)))))
@@ -2235,6 +2258,66 @@ comments, and so on flowing from node to node."
 
    ))
 
 
    ))
 
+
+\f
+;;; North hall
+;;; ==========
+(define north-hall
+  (lol
+   ('north-hall
+    <room> #f
+    #:name "North Hall"
+    #:desc
+    '((p "This hallway is lined by doors to the west and the east, presumably
+to various lodgings.  Something tells you you're not able to enter those right
+now, however.  Lining the walls are some large mirrors surrounded by bouquets
+of flowers.")
+      (p "The red carpet continues all the way from Grand Hallway in the south
+but stops short of some large wooden doors to the north.  The doors look
+formidable but unlocked.  Some natural light peeking through windows to the
+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 "south"
+           #:to 'grand-hallway)))
+   ('north-hall:sign
+    <readable> 'north-hall
+    #:name "an easel with a sign"
+    #:desc "  The easel is finely cut wood, well polished, but plain.  The sign
+is a strong contrast, with a cream colored backing and hand written letters, written
+with care and style.  You could probably read it."
+    #:read-text "The sign announces a wedding taking place... why, today!  And on
+the hotel grounds to the north!  It sounds very exciting."
+    #:goes-by '("sign"
+               "easel with a sign"
+               "easel"))
+   ('north-hall:mirrors
+    <gameobj> 'north-hall
+    #:name "a row of mirrors"
+    #:desc "You see yourself for who you really are."
+    #:invisible? #t
+    #:goes-by '("mirror" "mirrors" "row of mirrors"))
+   ('north-hall:windows
+    <gameobj> 'north-hall
+    #:name "windows"
+    #:desc "You peer out a window, but the light appears distorted, as if you were
+really peering between two worlds hastily joined together."
+    #:invisible? #t
+    #:goes-by '("window" "windows"))
+   ('north-hall:doors
+    <gameobj> 'north-hall
+    #:name "doors"
+    #:desc '((p "Along the east and west walls are doors, but they are all shut,
+and firmly so.
+Presumably people are staying in them, but it also feels as if how residence
+would work in a building as hastily put together as this was barely conceived.")
+            (p "To the north is a large set of wooden doors, oaken and beautiful.
+Although towering, they seem passable."))
+    #:invisible? #f
+    #:goes-by '("door" "doors" "room doors" "large doors"))))
+
+
 \f
 ;;; Game
 ;;; ----
 \f
 ;;; Game
 ;;; ----
@@ -2243,7 +2326,8 @@ comments, and so on flowing from node to node."
   (append lobby grand-hallway smoking-parlor
           playroom break-room computer-room underground-lab
           async-museum gift-shop hive-entrance
   (append lobby grand-hallway smoking-parlor
           playroom break-room computer-room underground-lab
           async-museum gift-shop hive-entrance
-          hive-inside federation-station))
+          hive-inside federation-station
+         north-hall))
 
 ;; TODO: Provide command line args
 (define (run-game . args)
 
 ;; TODO: Provide command line args
 (define (run-game . args)