X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=worlds%2Fbricabrac.scm;h=226d3fc0b84ba32940ea3244691a5e2457280317;hb=ae6e690186b54d9227afbdaf0a3ebaf2eed7f642;hp=701da14fcc8919376b321d7dc415c188968f8a5b;hpb=82398f8a5151d3b33a8ad9c818c0dc9984ad7e53;p=mudsync.git diff --git a/worlds/bricabrac.scm b/worlds/bricabrac.scm index 701da14..226d3fc 100644 --- a/worlds/bricabrac.scm +++ b/worlds/bricabrac.scm @@ -1,5 +1,5 @@ ;;; Mudsync --- Live hackable MUD -;;; Copyright © 2016, 2017 Christopher Allan Webber +;;; Copyright © 2016, 2017 Christine Lemmer-Webber ;;; ;;; This file is part of Mudsync. ;;; @@ -256,18 +256,17 @@ character.\n"))) ;; NPC: hotel owner ('lobby:hotel-owner 'lobby - #:name "a frumpy fellow" + #:name "a languid lady" #: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 -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.")) - #: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 @@ -425,7 +424,17 @@ this general shape in the 1990s." #:goes-by '("orange cartoon cat phone" "orange cartoon cat telephone" "orange cat phone" "orange cat telephone" "cartoon cat phone" "cartoon cat" - "cat phone" "cat telephone" "phone" "telephone")))) + "cat phone" "cat telephone" "phone" "telephone")) + ('lobby:monster-stuffie + 'lobby + #:name "an off-brand monster stuffie" + #:desc "It's an off brand monster stuffed animal that looks, well kinda +like a popular character you've seen in a video game, but there's been a very +thin attempt to make it look like something different... mostly by changing +the shape of the ears. It's cute though!" + #:take-me? #t + #:goes-by '("monster stuffie" "monster" "stuffed animal" "stuffed monster" + "off-brand monster stuffie" "stuffie" "monster stuffie")))) @@ -488,6 +497,13 @@ labeled \"RL02.5\".") (define lobby-map-text "\ + + .----+++++----. + | : : | + + : north : + + | : hall : | + + : : + + |_ : _____ : _| | : : | .----------.----------. : & : .----------.----------. | computer | |& :YOU ARE: &| smoking | *UNDER* | @@ -500,6 +516,7 @@ labeled \"RL02.5\".") '---------'") (define grand-hallway + (lol ('grand-hallway #f @@ -514,6 +531,9 @@ that's all about?") room\", while a door to the west is labeled \"playroom\".")) #:exits (list (make + #:name "north" + #:to 'north-hall) + (make #:name "south" #:to 'lobby) (make @@ -551,7 +571,7 @@ but there's no indication of who they are." spirit\". You've heard of Hackthena... not a goddess, but spiritual protector of all good hacks, and legendary hacker herself.") (p "Hackthena holds the form of a human woman. She wears flowing -robes, has a pear of curly bovine-esque horns protruding from the sides of her +robes, has a pair of curly bovine-esque horns protruding from the sides of her head, wears a pair of horn-rimmed glasses, and appears posed as if for battle. But instead of a weapon, she seems to hold some sort of keyboard. And her shield... well it's round like a shield, but something seems off about it. @@ -962,7 +982,7 @@ What could happen if you started it?") #: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!" @@ -1083,7 +1103,7 @@ a nondescript steel door to the south, leading apparently outside.")) 'smoking-parlor #:name "a comfy leather chair" #:desc " That leather chair looks really comfy!" - #:goes-by '("leather chair" "comfy leather chair" "chair") + #:goes-by '("leather chair" "comfy leather chair" "chair" "comfy chair") #:sit-phrase "sink into" #:sit-phrase-third-person "sinks into" #:sit-name "the comfy leather chair") @@ -1743,8 +1763,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. " - "Too bad, it would have had monsters to fight and everything!")))))) - + "Too bad, it would have had monsters to fight and everything!")))) + (make + #: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 'underground-lab @@ -1832,8 +1858,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 " - "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 " @@ -1937,11 +1963,20 @@ as well as an exit leading to the south.")) ('gift-shop #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. " + "It looks like there's an exit to the northeast, should you choose that you " + "want to get out of here.") #:exits (list (make #: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 #:name "north" #:to 'async-museum))))) @@ -2162,7 +2197,7 @@ comments, and so on flowing from node to node." "ActivityPub") " is a federation standard being developed under the " (a "https://www.w3.org/wiki/Socialwg/" - "w3C Social Working Group") + "W3C Social Working Group") ", and doubles as a general client-to-server API. " "It follows a few simple core ideas:") (ul (li "Uses " @@ -2235,6 +2270,253 @@ comments, and so on flowing from node to node." )) + + +;;; North hall +;;; ========== +(define north-hall + (lol + ('north-hall + #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 + #:name "north" + #:to 'courtyard) + (make + #:name "south" + #:to 'grand-hallway))) + ('north-hall:sign + '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 + '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 + '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 + '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")))) + + +;;; ============ +;;; 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 + #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 + #:name "south" + #:to 'north-hall) + (make + #:name "north" + #:to 'forest-clearing))) + ('forest-clearing + #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. A warm light to the north beckons you towards +it.")) + #:exits + (list (make + #:name "north" + #:to 'wedding-entrance) + (make + #:name "south" + #:to 'courtyard))) + ('wedding-entrance + #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. Directly in front of you the limbs of two +trees intertwine over what appears to be an entrance north. +To the left of the entrance is a sign, to the right is a +frog sitting atop a hostess podium.")) + #:exits + (list (make + #:name "south" + #:to 'forest-clearing) + (make + #:name "north" + #:to 'vaulted-tunnel))) + ;; map + ('wedding-entrance:map + '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 + #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. ")) + #:exits + (list (make + #:name "south" + #:to 'wedding-entrance))) + ('vaulted-tunnel:portrait + '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")) + ;; ('ballroom +;; #f +;; #:name "The Ballroom" +;; #: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.")) +;; #:exits +;; (list (make +;; #:name "south" +;; #:to 'vaulted-tunnel) +;; (make +;; #:name "east" +;; #:to 'east-ballroom) +;; (make +;; #:name "west" +;; #:to 'west-ballroom) +;; (make +;; #:name "north" +;; #:to 'north-ballroom) +;; ;; and north of that, the stairwell +;; (make +;; #:name "northeast" +;; #:to 'orchestra) +;; (make +;; #:name "southeast" +;; #:to 'wildflowers) +;; (make +;; #:name "southwest" +;; #:to 'playground) +;; (make +;; #:name "west" +;; #:to 'photo-studio) +;; (make +;; #:name "northwest" +;; #:to 'fairy-go-round) ; fgr + +;; (make +;; #:name "") + +;; (make +;; #:name "south" +;; #:to 'vaulted-tunnel) +;; (make +;; #:name "south" +;; #:to 'vaulted-tunnel) +;; (make +;; #:name "south" +;; #:to 'vaulted-tunnel) +;; (make +;; #:name "south" +;; #:to 'vaulted-tunnel) +;; (make +;; #:name "south" +;; #:to 'vaulted-tunnel) +;; )) + +;; ('ballroom +;; #f +;; #:name "The Ballroom" +;; #:exits (list +;; (make +;; ) +;; [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.")) + + )) + + ;;; Game ;;; ---- @@ -2243,7 +2525,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 - hive-inside federation-station)) + hive-inside federation-station + north-hall wedding)) ;; TODO: Provide command line args (define (run-game . args)