X-Git-Url: https://jxself.org/git/?p=mudsync.git;a=blobdiff_plain;f=worlds%2Fbricabrac.scm;h=55e9cc2654f476355f2019e379a4a4b9d73cbd2b;hp=8d3e03a9f8018d67843f7dcb7bd9036cd6b38981;hb=e16f5c202440d4091b54b1b45d7e023b4fcd4a6d;hpb=f3e31bf75eb6da69f50a2824050c240ae2a9cc9f diff --git a/worlds/bricabrac.scm b/worlds/bricabrac.scm index 8d3e03a..55e9cc2 100644 --- a/worlds/bricabrac.scm +++ b/worlds/bricabrac.scm @@ -56,9 +56,9 @@ #:init-thunk (build-actions (cmd-read readable-cmd-read)))) -(define (readable-cmd-read actor message) +(define (readable-cmd-read actor message . _) (<- (message-from message) 'tell - #:text (string-append (slot-ref actor 'read-text) "\n"))) + #:text (slot-ref actor 'read-text))) ;; This one allows you to take from items that are proxied by it @@ -286,7 +286,8 @@ wanted to." 'lobby #:name "sign-in form" #:goes-by '("sign-in form" "form" "signin form") - #:desc "It looks like you could sign this form and set your name.") + #:desc '("It looks like you could sign this form and set your name like so: " + (i "sign form as "))) ;; Object: curio cabinets ;; TODO: respond to attempts to open the curio cabinet @@ -464,6 +465,22 @@ labeled \"RL02.5\".") #:exclude player) (gameobj-self-destruct gameobj)) + +;;; Grand hallway + +(define lobby-map-text + "\ + | : : | + .----------.----------. : & : .----------.----------. + | computer | |& :YOU ARE: &| smoking | *UNDER* | + | room + playroom + : HERE : + parlor | *CONS- | + | > | |& : : &| | TRUCTION*| + '----------'----------'-++-------++-'-------+--'----------' + | '-----' | | | + : LOBBY : '---' + '. .' + '---------'") + (define grand-hallway (lol ('grand-hallway @@ -487,6 +504,15 @@ room\", while a door to the west is labeled \"playroom\".")) (make #:name "east" #:to 'smoking-parlor))) + ('grand-hallway:map + 'grand-hallway + #:name "the hotel map" + #:desc '("This appears to be a map of the hotel. " + "Like the hotel itself, it seems to be " + "incomplete." + "You could read it if you want to.") + #:read-text `(pre ,lobby-map-text) + #:goes-by '("map" "hotel map")) ('grand-hallway:carpet 'grand-hallway #:name "the Grand Hallway carpet" @@ -1172,11 +1198,19 @@ the paint, but the wires themselves seem to be unusually sturdy." ('computer-room #f #:name "Computer Room" - #:desc '((p "A sizable computer cabinet covers a good portion of the left -wall. It emits a pleasant hum which covers the room like a warm blanket. -Connected to a computer is a large hard drive.") - (p "On the floor is a large steel panel. It is closed, but it has -hinges which suggest it could be opened.")) + #:desc (lambda (gameobj whos-looking) + (define panel-open + (mbody-val (<-wait (dyn-ref gameobj 'computer-room:floor-panel) + 'open?))) + `((p "A sizable computer cabinet covers a good portion of the left + wall. It emits a pleasant hum which covers the room like a warm blanket. + Connected to a computer is a large hard drive.") + (p "On the floor is a large steel panel. " + ,(if panel-open + '("It is wide open, exposing a spiral staircase " + "which descends into darkness.") + '("It is closed, but it has hinges which " + "suggest it could be opened."))))) #:exits (list (make #:name "east" @@ -1213,6 +1247,40 @@ hinges which suggest it could be opened.")) #:invisible? #t #:goes-by '("floor panel" "panel")))) + +;;; * UNDERGROUND SECTION OF THE GAME! * + + +;;; The lab + +(define underground-map-text + "\ + _______ | + .-' @ '-. \\ ????? + .' '. .\\ + | [8sync Hive] |======' '-_____ + ', M ,' + '. @ .' + \\ @ / + '-__+__-' + '. @ .' + .--------------. \\ / + | [Guile Async | .-------+------. + | Museum] | | [Lab] #!#| .-------------. + | @| | MM | |[Federation | + | & ^ +##+@ || < +##| Station]| + | | | @ | | | + | & # | |*You-Are-Here*| '-------------' + | # ^ | #+-------+------' + '-------+------' # # + # # # + # # .-----------. + .-+----. # |# F | + |@?+%? +#### | ^ f## | + '------' | f f %| + |F [Mudsync | + | $ Swamp] | + '-----------'") (define underground-lab (lol @@ -1224,7 +1292,23 @@ hinges which suggest it could be opened.")) #:exits (list (make #:name "up" - #:to 'computer-room))))) + #:to 'computer-room + #:traverse-check + (lambda (exit room whos-exiting) + (values #t "You climb the spiral staircase."))))) + + ;; Test tubes + ;; map + ('underground-lab:map + 'underground-lab + #:name "the underground map" + #:desc '("This appears to be a map of the surrounding area. " + "You could read it if you want to.") + #:read-text `(pre ,underground-map-text) + #:goes-by '("map" "underground map" "lab map")))) + + +