|
@@ -256,17 +256,17 @@ character.\n")))
|
|
;; NPC: hotel owner
|
|
;; NPC: hotel owner
|
|
('lobby:hotel-owner
|
|
('lobby:hotel-owner
|
|
<chatty-npc> 'lobby
|
|
<chatty-npc> 'lobby
|
|
- #:name "a frumpy fellow"
|
|
|
|
|
|
+ #:name "a languid lady"
|
|
#:desc
|
|
#:desc
|
|
'((p " Whoever this is, she looks totally exhausted. She's
|
|
'((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 she's likely to move any time soon.
|
|
don't get the sense that she's likely to move any time soon.
|
|
- You notice they're wearing a sticker badly adhesed to their clothing
|
|
|
|
-which says \"Hotel Proprietor\", but she looks so disorganized that you
|
|
|
|
-think that can't possibly be true... can it?
|
|
|
|
|
|
+ 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,
|
|
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"
|
|
|
|
|
|
+ #:goes-by '("languid lady" "lady"
|
|
"hotel proprietor" "proprietor")
|
|
"hotel proprietor" "proprietor")
|
|
#:catchphrases hotel-owner-grumps)
|
|
#:catchphrases hotel-owner-grumps)
|
|
;; Object: Sign
|
|
;; Object: Sign
|
|
@@ -424,7 +424,17 @@ this general shape in the 1990s."
|
|
#:goes-by '("orange cartoon cat phone" "orange cartoon cat telephone"
|
|
#:goes-by '("orange cartoon cat phone" "orange cartoon cat telephone"
|
|
"orange cat phone" "orange cat telephone"
|
|
"orange cat phone" "orange cat telephone"
|
|
"cartoon cat phone" "cartoon cat"
|
|
"cartoon cat phone" "cartoon cat"
|
|
- "cat phone" "cat telephone" "phone" "telephone"))))
|
|
|
|
|
|
+ "cat phone" "cat telephone" "phone" "telephone"))
|
|
|
|
+ ('lobby:monster-stuffie
|
|
|
|
+ <gameobj> '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"))))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -487,6 +497,13 @@ labeled \"RL02.5\".")
|
|
|
|
|
|
(define lobby-map-text
|
|
(define lobby-map-text
|
|
"\
|
|
"\
|
|
|
|
+
|
|
|
|
+ .----+++++----.
|
|
|
|
+ | : : |
|
|
|
|
+ + : north : +
|
|
|
|
+ | : hall : |
|
|
|
|
+ + : : +
|
|
|
|
+ |_ : _____ : _|
|
|
| : : |
|
|
| : : |
|
|
.----------.----------. : & : .----------.----------.
|
|
.----------.----------. : & : .----------.----------.
|
|
| computer | |& :YOU ARE: &| smoking | *UNDER* |
|
|
| computer | |& :YOU ARE: &| smoking | *UNDER* |
|
|
@@ -499,6 +516,7 @@ labeled \"RL02.5\".")
|
|
'---------'")
|
|
'---------'")
|
|
|
|
|
|
(define grand-hallway
|
|
(define grand-hallway
|
|
|
|
+
|
|
(lol
|
|
(lol
|
|
('grand-hallway
|
|
('grand-hallway
|
|
<room> #f
|
|
<room> #f
|
|
@@ -513,6 +531,9 @@ that's all about?")
|
|
room\", while a door to the west is labeled \"playroom\"."))
|
|
room\", while a door to the west is labeled \"playroom\"."))
|
|
#:exits
|
|
#:exits
|
|
(list (make <exit>
|
|
(list (make <exit>
|
|
|
|
+ #:name "north"
|
|
|
|
+ #:to 'north-hall)
|
|
|
|
+ (make <exit>
|
|
#:name "south"
|
|
#:name "south"
|
|
#:to 'lobby)
|
|
#:to 'lobby)
|
|
(make <exit>
|
|
(make <exit>
|
|
@@ -550,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
|
|
spirit\". You've heard of Hackthena... not a goddess, but spiritual protector of
|
|
all good hacks, and legendary hacker herself.")
|
|
all good hacks, and legendary hacker herself.")
|
|
(p "Hackthena holds the form of a human woman. She wears flowing
|
|
(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.
|
|
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
|
|
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.
|
|
shield... well it's round like a shield, but something seems off about it.
|
|
@@ -961,7 +982,7 @@ What could happen if you started it?")
|
|
#:name "a candle"
|
|
#:name "a candle"
|
|
#:goes-by '("candle")
|
|
#:goes-by '("candle")
|
|
#:steps `("The candle burns..."
|
|
#:steps `("The candle burns..."
|
|
- (/ 2 3) ; oops!
|
|
|
|
|
|
+ .3 ; oops!
|
|
"The candle is burning away a rope!"
|
|
"The candle is burning away a rope!"
|
|
2
|
|
2
|
|
"The rope snaps!"
|
|
"The rope snaps!"
|
|
@@ -1082,7 +1103,7 @@ a nondescript steel door to the south, leading apparently outside."))
|
|
<furniture> 'smoking-parlor
|
|
<furniture> 'smoking-parlor
|
|
#:name "a comfy leather chair"
|
|
#:name "a comfy leather chair"
|
|
#:desc " That leather chair looks really comfy!"
|
|
#: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 "sink into"
|
|
#:sit-phrase-third-person "sinks into"
|
|
#:sit-phrase-third-person "sinks into"
|
|
#:sit-name "the comfy leather chair")
|
|
#:sit-name "the comfy leather chair")
|
|
@@ -1946,7 +1967,9 @@ as well as an exit leading to the south."))
|
|
"but they all seem glued in place and instead of a person manning the shop "
|
|
"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. "
|
|
"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 "
|
|
"You can pretty well bet that someone wanted to finish this room but ran out of "
|
|
- "time.")
|
|
|
|
|
|
+ "time. "
|
|
|
|
+ "It looks like there's an exit to the northeast, should you choose that you "
|
|
|
|
+ "want to get out of here.")
|
|
#:exits (list
|
|
#:exits (list
|
|
(make <exit>
|
|
(make <exit>
|
|
#:name "northeast"
|
|
#:name "northeast"
|
|
@@ -2174,7 +2197,7 @@ comments, and so on flowing from node to node."
|
|
"ActivityPub")
|
|
"ActivityPub")
|
|
" is a federation standard being developed under the "
|
|
" is a federation standard being developed under the "
|
|
(a "https://www.w3.org/wiki/Socialwg/"
|
|
(a "https://www.w3.org/wiki/Socialwg/"
|
|
- "w3C Social Working Group")
|
|
|
|
|
|
+ "W3C Social Working Group")
|
|
", and doubles as a general client-to-server API. "
|
|
", and doubles as a general client-to-server API. "
|
|
"It follows a few simple core ideas:")
|
|
"It follows a few simple core ideas:")
|
|
(ul (li "Uses "
|
|
(ul (li "Uses "
|
|
@@ -2247,6 +2270,140 @@ comments, and so on flowing from node to node."
|
|
|
|
|
|
))
|
|
))
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+;;; 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 "north"
|
|
|
|
+ #:to 'courtyard)
|
|
|
|
+ (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"))))
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+;;; ============
|
|
|
|
+;;; WEDDING TIME
|
|
|
|
+;;; ============
|
|
|
|
+
|
|
|
|
+(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. A warm light to the north beckons you towards
|
|
|
|
+it."))
|
|
|
|
+ #:exits
|
|
|
|
+ (list (make <exit>
|
|
|
|
+ #:name "north"
|
|
|
|
+ #:to 'vaulted-tunnel)
|
|
|
|
+ (make <exit>
|
|
|
|
+ #:name "south"
|
|
|
|
+ #:to 'courtyard)))
|
|
|
|
+ ('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. "))
|
|
|
|
+ #:exits
|
|
|
|
+ (list (make <exit>
|
|
|
|
+ #:name "north"
|
|
|
|
+ #:to 'wedding-entrance)
|
|
|
|
+ (make <exit>
|
|
|
|
+ #:name "south"
|
|
|
|
+ #:to 'forest-clearing)))
|
|
|
|
+ ('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. 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 <exit>
|
|
|
|
+ #:name "south"
|
|
|
|
+ #:to 'vaulted-tunnel)))))
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
;;; Game
|
|
;;; Game
|
|
;;; ----
|
|
;;; ----
|
|
@@ -2255,7 +2412,8 @@ comments, and so on flowing from node to node."
|
|
(append lobby grand-hallway smoking-parlor
|
|
(append lobby grand-hallway smoking-parlor
|
|
playroom break-room computer-room underground-lab
|
|
playroom break-room computer-room underground-lab
|
|
async-museum gift-shop hive-entrance
|
|
async-museum gift-shop hive-entrance
|
|
- hive-inside federation-station))
|
|
|
|
|
|
+ hive-inside federation-station
|
|
|
|
+ north-hall wedding))
|
|
|
|
|
|
;; TODO: Provide command line args
|
|
;; TODO: Provide command line args
|
|
(define (run-game . args)
|
|
(define (run-game . args)
|