remove room: and npc: and thing: prefixes
authorChristopher Allan Webber <cwebber@dustycloud.org>
Sat, 28 Jan 2017 18:58:52 +0000 (12:58 -0600)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Sat, 28 Jan 2017 18:58:52 +0000 (12:58 -0600)
Instead, gameobjs are prefixed by a colon-separated "tree" of their initial location

worlds/bricabrac.scm

index 04d9240d0fe2433f6ad15d5bf26ef2a93dcdcb25..e690e59a71b62200fa1acea9150a1a435b5b9f77 100644 (file)
@@ -192,7 +192,7 @@ character.\n")))
 
 (define lobby
   (lol
-   ('room:lobby
+   ('lobby
     <room> #f
     #:name "Hotel Lobby"
     #:desc
@@ -208,10 +208,10 @@ character.\n")))
     #:exits
     (list (make <exit>
             #:name "north"
-            #:to 'room:grand-hallway)))
+            #:to 'grand-hallway)))
    ;; NPC: hotel owner
-   ('npc:lobby:hotel-owner
-    <chatty-npc> 'room:lobby
+   ('lobby:hotel-owner
+    <chatty-npc> 'lobby
     #:name "a frumpy fellow"
     #:desc
     '((p "  Whoever this is, they looks totally exhausted.  They're
@@ -227,8 +227,8 @@ though the conversation may be a bit one sided."))
                 "hotel proprietor" "proprietor")
     #:catchphrases hotel-owner-grumps)
    ;; Object: Sign
-   ('thing:lobby:sign
-    <readable> 'room:lobby
+   ('lobby:sign
+    <readable> 'lobby
     #:name "the Hotel Bricabrac sign"
     #:desc "  It strikes you that there's something funny going on with this sign.
 Sure enough, if you look at it hard enough, you can tell that someone
@@ -241,18 +241,18 @@ Classy!"
                 "hotel bricabrac sign"
                 "lobby sign"))
 
-   ('thing:lobby:bell
-    <summoning-bell> 'room:lobby
+   ('lobby:bell
+    <summoning-bell> 'lobby
     #:name "a shiny brass bell"
     #:goes-by '("shiny brass bell" "shiny bell" "brass bell" "bell")
     #:desc "  A shiny brass bell.  Inscribed on its wooden base is the text
 \"ring me for service\".  You probably could \"ring the bell\" if you 
 wanted to."
-    #:summons 'npc:break-room:desk-clerk)
+    #:summons 'break-desk-clerk)
 
    ;; Object: curio cabinets
-   ('thing:lobby:cabinet
-    <gameobj> 'room:lobby
+   ('lobby:cabinet
+    <gameobj> 'lobby
     #:name "a curio cabinet"
     #:goes-by '("curio cabinet" "cabinet" "bricabrac cabinet"
                 "cabinet of curiosities")
@@ -268,37 +268,37 @@ Ooh, ~a!" (random-choice
              "the pickled circuitboard of EVLIS"
              "a scroll of teletype paper holding the software Four Freedoms"
              "a telephone shaped like an orange cartoon cat")))))
-   ('thing:lobby:sign-in-form
-    <sign-in-form> 'room:lobby
+   ('lobby:sign-in-form
+    <sign-in-form> '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.")
 
-   ('thing:lobby:porcelain-doll
-    <gameobj> 'room:lobby
+   ('lobby:porcelain-doll
+    <gameobj> 'lobby
     #:invisible? #t
     #:name "a creepy porcelain doll"
     #:desc "It strikes you that while the doll is technically well crafted,
 it's also the stuff of nightmares."
     #:goes-by '("porcelain doll" "doll"))
-   ('thing:lobby:1950s-robots
-    <gameobj> 'room:lobby
+   ('lobby:1950s-robots
+    <gameobj> 'lobby
     #:invisible? #t
     #:name "a set of 1950s robots"
     #:desc "There's a whole set of these 1950s style robots.
 They seem to be stamped out of tin, and have various decorations of levers
 and buttons and springs.  Some of them have wind-up knobs on them."
     #:goes-by '("robot" "robots" "1950s robot" "1950s robots"))
-   ('thing:lobby:tea-set
-    <gameobj> 'room:lobby
+   ('lobby:tea-set
+    <gameobj> 'lobby
     #:invisible? #t
     #:name "a tea set"
     #:desc "A complete tea set.  Some of the cups are chipped.
 You can imagine yourself joining a tea party using this set, around a
 nice table with some doilies, drinking some Earl Grey tea, hot.  Mmmm."
     #:goes-by '("tea set" "tea"))
-   ('thing:lobby:mustard-pot
-    <gameobj> 'room:lobby
+   ('lobby:mustard-pot
+    <gameobj> 'lobby
     #:invisible? #t
     #:name "a mustard pot"
     #:desc '((p "It's a mustard pot.  I mean, it's kind of cool, it has a
@@ -306,8 +306,8 @@ nice design, and it's an antique, but you can't imagine putting something
 like this in a museum.")
              (p "Ha... imagine that... a mustard museum."))
     #:goes-by '("mustard pot" "antique mustard pot" "mustard"))
-   ('thing:lobby:head-of-elvis
-    <gameobj> 'room:lobby
+   ('lobby:head-of-elvis
+    <gameobj> 'lobby
     #:invisible? #t
     #:name "the pickled head of Elvis"
     #:desc '((p "It's a jar full of some briny-looking liquid and...
@@ -320,8 +320,8 @@ not Elvis.")
 everything you read."))
     #:goes-by '("pickled head of elvis" "pickled head of Elvis"
                 "elvis" "Elvis" "head" "pickled head"))
-   ('thing:lobby:circuitboard-of-evlis
-    <gameobj> 'room:lobby
+   ('lobby:circuitboard-of-evlis
+    <gameobj> 'lobby
     #:invisible? #t
     #:name "the pickled circuitboard of Evlis"
     #:desc '((p "It's a circuitboard from a Lisp Machine called EVLIS.
@@ -334,8 +334,8 @@ Too bad..."))
     #:goes-by '("pickled circuitboard of evlis" "pickled circuitboard of Evlis"
                 "pickled circuitboard of EVLIS"
                 "evlis" "Evlis" "EVLIS" "circuitboard" "pickled circuitboard"))
-   ('thing:lobby:teletype-scroll
-    <gameobj> 'room:lobby
+   ('lobby:teletype-scroll
+    <gameobj> 'lobby
     #:invisible? #t
     #:name "a scroll of teletype"
     #:desc '((p "This is a scroll of teletype paper.  It's a bit old
@@ -355,8 +355,8 @@ English language surrounding the word 'free' have lead to a lot of terminology d
                 "teletype paper" "scroll" "four freedoms"
                 "scroll of teletype paper holding the software Four Freedoms"
                 "scroll of teletype paper holding the software four freedoms"))
-   ('thing:lobby:orange-cat-phone
-    <gameobj> 'room:lobby
+   ('lobby:orange-cat-phone
+    <gameobj> 'lobby
     #:invisible? #t
     #:name "a telephone shaped like an orange cartoon cat"
     #:desc "It's made out of a cheap plastic, and it's very orange.
@@ -376,7 +376,7 @@ this general shape in the 1990s."
 
 (define grand-hallway
   (lol
-   ('room:grand-hallway
+   ('grand-hallway
     <room> #f
     #:name "Grand Hallway"
     #:desc '((p "  A majestic red carpet runs down the center of the room.
@@ -390,15 +390,15 @@ room\", while a door to the west is labeled \"playroom\"."))
     #:exits
     (list (make <exit>
             #:name "south"
-            #:to 'room:lobby)
+            #:to 'lobby)
           (make <exit>
             #:name "west"
-            #:to 'room:playroom)
+            #:to 'playroom)
           (make <exit>
             #:name "east"
-            #:to 'room:smoking-parlor)))
-   ('thing:hackthena-statue
-    <gameobj> 'room:grand-hallway
+            #:to 'smoking-parlor)))
+   ('grand-hallway:hackthena-statue
+    <gameobj> 'grand-hallway
     #:name "a statue"
     #:desc '((p "The base of the statue says \"Hackthena, guardian of the hacker
 spirit\".  You've heard of Hackthena... not a goddess, but spiritual protector of
@@ -409,7 +409,8 @@ 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.
 You'd better take a closer look to be sure."))
-    #:goes-by '("hackthena statue" "hackthena" "statue"))))
+    #:goes-by '("hackthena statue" "hackthena" "statue"))
+   ))
 
 \f
 ;;; Playroom
@@ -417,7 +418,7 @@ You'd better take a closer look to be sure."))
 
 (define playroom
   (lol
-   ('room:playroom
+   ('playroom
     <room> #f
     #:name "The Playroom"
     #:desc "  There are toys scattered everywhere here.  It's really unclear
@@ -425,21 +426,21 @@ if this room is intended for children or child-like adults."
     #:exits
     (list (make <exit>
             #:name "east"
-            #:to 'room:grand-hallway)))
-   ('thing:playroom:cubey
-    <gameobj> 'room:playroom
+            #:to 'grand-hallway)))
+   ('playroom:cubey
+    <gameobj> 'playroom
     #:name "cubey"
     #:take-me? #t
     #:desc "  It's a little foam cube with googly eyes on it.  So cute!")
-   ('thing:playroom:cuddles-plushie
-    <gameobj> 'room:playroom
+   ('playroom:cuddles-plushie
+    <gameobj> 'playroom
     #:name "a cuddles plushie"
     #:goes-by '("plushie" "cuddles plushie" "cuddles")
     #:take-me? #t
     #:desc "  A warm and fuzzy cuddles plushie!  It's a cuddlefish!")
 
-   ('thing:playroom:toy-chest
-    <gameobj> 'room:playroom
+   ('playroom:toy-chest
+    <gameobj> 'playroom
     #:name "a toy chest"
     #:goes-by '("toy chest" "chest")
     #:desc (lambda (toy-chest whos-looking)
@@ -457,8 +458,8 @@ if this room is intended for children or child-like adults."
     #:put-in-me? #t)
 
    ;; Things inside the toy chest
-   ('thing:playroom:toy-chest:rubber-duck
-    <gameobj> 'thing:playroom:toy-chest
+   ('playroom:toy-chest:rubber-duck
+    <gameobj> 'playroom:toy-chest
     #:name "a rubber duck"
     #:goes-by '("rubber duck" "duck")
     #:take-me? #t
@@ -509,7 +510,7 @@ if this room is intended for children or child-like adults."
 
 (define smoking-parlor
   (lol
-   ('room:smoking-parlor
+   ('smoking-parlor
     <room> #f
     #:name "Smoking Parlor"
     #:desc
@@ -521,20 +522,20 @@ a nondescript steel door to the south, leading apparently outside."))
     #:exits
     (list (make <exit>
             #:name "west"
-            #:to 'room:grand-hallway)
+            #:to 'grand-hallway)
           (make <exit>
             #:name "south"
-            #:to 'room:break-room)))
-   ('thing:smoking-parlor:chair
-    <furniture> 'room:smoking-parlor
+            #:to 'break-room)))
+   ('smoking-parlor:chair
+    <furniture> 'smoking-parlor
     #:name "a comfy leather chair"
     #:desc "  That leather chair looks really comfy!"
     #:goes-by '("leather chair" "comfy leather chair" "chair")
     #:sit-phrase "sink into"
     #:sit-phrase-third-person "sinks into"
     #:sit-name "the comfy leather chair")
-   ('thing:smoking-parlor:sofa
-    <furniture> 'room:smoking-parlor
+   ('smoking-parlor:sofa
+    <furniture> 'smoking-parlor
     #:name "a plush leather sofa"
     #:desc "  That leather chair looks really comfy!"
     #:goes-by '("leather sofa" "plush leather sofa" "sofa"
@@ -542,8 +543,8 @@ a nondescript steel door to the south, leading apparently outside."))
     #:sit-phrase "sprawl out on"
     #:sit-phrase-third-person "sprawls out on into"
     #:sit-name "the plush leather couch")
-   ('thing:smoking-parlor:bar-stool
-    <furniture> 'room:smoking-parlor
+   ('smoking-parlor:bar-stool
+    <furniture> 'smoking-parlor
     #:name "a bar stool"
     #:desc "  Conveniently located near the bar!  Not the most comfortable
 seat in the room, though."
@@ -551,16 +552,16 @@ seat in the room, though."
     #:sit-phrase "hop on"
     #:sit-phrase-third-person "hops onto"
     #:sit-name "the bar stool")
-   ('npc:ford-prefect
-    <chatty-npc> 'room:smoking-parlor
+   ('ford-prefect
+    <chatty-npc> 'smoking-parlor
     #:name "Ford Prefect"
     #:desc "Just some guy, you know?"
     #:goes-by '("Ford Prefect" "ford prefect"
                 "frood" "prefect" "ford")
     #:catchphrases prefect-quotes)
 
-   ('thing:smoking-parlor:no-smoking-sign
-    <gameobj> 'room:smoking-parlor
+   ('smoking-parlor:no-smoking-sign
+    <gameobj> 'smoking-parlor
     #:invisible? #t
     #:name "No Smoking Sign"
     #:desc "This sign says \"No Smoking\" in big, red letters.
@@ -692,7 +693,7 @@ so there's no need to ring the bell.\n"))
          #:text
          "The clerk's ears perk up, she stamps out a cigarette, and she
 runs out of the room!\n")
-     (gameobj-set-loc! clerk (dyn-ref clerk 'room:lobby))
+     (gameobj-set-loc! clerk (dyn-ref clerk 'lobby))
      (slot-set! clerk 'patience 8)
      (slot-set! clerk 'state 'on-duty)
      (<- (gameobj-loc clerk) 'tell-room
@@ -717,7 +718,7 @@ You can ask me about the following:
 The clerk leaves the room in a hurry.\n"
                  player-name)
          #:exclude (actor-id clerk))
-     (gameobj-set-loc! clerk (dyn-ref clerk 'room:break-room))
+     (gameobj-set-loc! clerk (dyn-ref clerk 'break-room))
      (slot-set! clerk 'state 'slacking)
      (<- (gameobj-loc clerk) 'tell-room
          #:text clerk-return-to-slacking-text
@@ -785,7 +786,7 @@ if you need further help.")
          (begin
            (tell-room clerk-slack-excuse-text)
            ;; back bto the break room
-           (gameobj-set-loc! clerk (pk 'break-room (dyn-ref clerk 'room:break-room)))
+           (gameobj-set-loc! clerk (pk 'break-room (dyn-ref clerk 'break-room)))
            (tell-room clerk-return-to-slacking-text)
            ;; annnnnd back to slacking
            (slot-set! clerk 'state 'slacking)
@@ -795,7 +796,7 @@ if you need further help.")
 
 (define break-room
   (lol
-   ('room:break-room
+   ('break-room
     <room> #f
     #:name "Employee Break Room"
     #:desc "  This is less a room and more of an outdoor wire cage.  You get
@@ -807,22 +808,21 @@ the scenery tapers off nothingness.  But that can't be right, can it?"
     #:exits
     (list (make <exit>
             #:name "north"
-            #:to 'room:smoking-parlor))
-    )
-   ('npc:break-room:desk-clerk
-    <desk-clerk> 'room:break-room
+            #:to 'smoking-parlor)))
+   ('break-room:desk-clerk
+    <desk-clerk> 'break-room
     #:name "the hotel desk clerk"
     #:desc "  The hotel clerk is wearing a neatly pressed uniform bearing the
 hotel insignia.  She appears to be rather exhausted."
     #:goes-by '("hotel desk clerk" "clerk" "desk clerk"))
-   ('thing:break-room:void
-    <gameobj> 'room:break-room
+   ('break-room:void
+    <gameobj> 'break-room
     #:invisible? #t
     #:name "The Void"
     #:desc "As you stare into the void, the void stares back into you."
     #:goes-by '("void" "abyss" "nothingness" "scenery"))
-   ('thing:break-room:fence
-    <gameobj> 'room:break-room
+   ('break-room:fence
+    <gameobj> 'break-room
     #:invisible? #t
     #:name "break room cage"
     #:desc "It's a mostly-cubical wire mesh surrounding the break area.
@@ -850,5 +850,5 @@ the paint, but the wires themselves seem to be unusually sturdy."
 
 ;; TODO: Provide command line args
 (define (run-game . args)
-  (run-demo (game-spec) 'room:lobby #:repl-server #t))
+  (run-demo (game-spec) 'lobby #:repl-server #t))