Add Receive to microwave
[the-server-room.git] / the-server-room.inf
index f2855612b3834d96b309f8595a32e3d957b2baaa..595fd2dcc1f6b5a46c3ad39a525ebaa12bdf83f7 100644 (file)
@@ -42,18 +42,22 @@ Serial "190908";
 Constant MAX_SCORE = 6;
 Include "parser";
 Include "verblib";
-Global openedbackpack = 1;
-Global openedtray = 1;
-Global takencd = 1;
 Global beeping = 1;
 !=========================================================================
 ! The Game Objects
 
 Object  break_room "Break Room"
   with  description
-            "Your standard break room. A fridge, and a long counter
-            take up one wall. East is the outside world and west is
-            the hallway to the server room.",
+            "This break room is a calm, quiet and peaceful for people
+            to unwind and eat. Well kept and organized, the area is
+            clean and inviting. A large television is mounted to one
+            of the walls, next to a refrigerator. Even though no
+            one's around the smell of a pleasant coffee blend still
+            hangs in the air. A cool-looking counter and white couch
+            take up another wall. The remaining walls have posters of
+            various sports teams of the previous four years. East is
+            the outside world and west is the hallway to the server
+            room.",
         w_to hallway,
         e_to
             "You take one look outside and think better of it. The
@@ -61,6 +65,39 @@ Object  break_room "Break Room"
             you have work to do.",
   has   light;
 
+Object  tv "television" break_room
+  with  description
+            "It looks like a cheap, generic flat screen television
+            with an edge-to-edge matte screen. You see no buttons on
+            it. There should be a remote control somewhere.",
+        name 'tv' 'television' 'telly',
+        before [;
+          SwitchOn:
+            print_ret
+                "The television can only be turned on using the
+                remote.";
+        ],
+  has   container openable scenery switchable;
+
+Object  whitecouch "white couch" break_room
+  with  description
+            "With a smooth and modern design, this looks to be a luxurious couch.
+            It is extremely durable and easy to clean and maintain. Offering
+            enough room to sit or lay, it looks very soft and comfortable.",
+        name 'white' 'couch' 'sofa',
+        before [;
+          Take, Pull, Push, PushDir:
+            print_ret (The) self, " is too heavy for that.";
+        ],
+  has   scenery static supporter enterable;
+
+Object  posters "posters" break_room
+  with  description
+            "Fold outs from a japanese sport fanzine, the posters
+            really show off the players and game.",
+        name 'sport' 'sports' 'poster' 'posters',
+  has   scenery;
+
 Object  fridge "refrigerator" break_room
   with  description
             "This refrigerator makes a statement with a sleek, modern
@@ -72,9 +109,12 @@ Object  fridge "refrigerator" break_room
 
 Object  counter "long counter" break_room
   with  description
-            "A long counter. You can't quite determine the color,
-            it's somewhere between green and brown. On the counter is
-            a microwave.",
+            "It's a beautiful, stylish, and high-quality solid wood
+            counter that runs the length of the wall. You can't quite
+            determine the color of the sleek countertop, it's
+            somewhere between green and brown. The design on the
+            countertop consists of geometric patterns. It seems a
+            sturdy, durable, and solid counter.",
         name 'counter',
   has   static supporter scenery;
 
@@ -84,7 +124,16 @@ Object  microwave "microwave" counter
             like a real workhorse. It's compact, quiet, and works
             great.",
         name 'microwave' 'micro',
-  has   container openable scenery;
+        before [;
+          Receive:
+            print "Put ";
+            print (a) noun;
+            print_ret
+                " into the microwave? Maybe you should come with a
+                warning label because you contain more than a trace
+                amount of nut.";
+        ],
+  has   container openable;
 
 Object  table "table" break_room
   with  description "It's a table. Were you expecting something else?",
@@ -107,9 +156,9 @@ Object  backpack "backpack" table
         article "your",
         before [;
           Open:
-            if (openedbackpack == 1) {
+            if (backpack hasnt visited) {
                 score = score + 2;
-                openedbackpack = 2;
+                give backpack visited;
             }
         ],
   has   clothing container openable;
@@ -122,10 +171,9 @@ Object  disc "Trisquel CD" backpack
         name 'disk' 'disc' 'Trisquel' 'cd',
         after [;
           Take:
-            if (takencd == 1) {
+            if (disc hasnt visited) {
                 score = score + 2;
-                takencd = 2;
-                print_ret "You pick up the Trisquel CD.^";
+                give disc visited;
             }
         ],
   has   ;
@@ -144,9 +192,18 @@ Object  hallway "Hallway"
             Through the window in the door you can see someone moving
             around inside but there shouldn't be anyone else here
             today.",
-        w_to
-            "When nature calls, you'll know about it, but right now,
-            it isn't calling.",
+        w_to restroom,
+  has   light;
+
+Object  restroom "Restroom"
+  with  description
+            "This average-sized, square restroom has a sink set into a
+            resin counter. The floor is tiled, the ceiling has
+            removable tiles, and the walls are painted with a
+            wallpapered dado. Light is provided by ceiling lights. The
+            room is done in colors that remind you of the sky and
+            overall looks very eclectic.",
+        e_to hallway,
   has   light;
 
 Object  server_room "Server Room"
@@ -198,9 +255,9 @@ Object  tray "tray" server_room
             if (noun ~= disc)
                 print_ret (The) noun, " is too big to fit.";
           Open:
-            if (openedtray == 1) {
+            if (tray hasnt visited) {
                 score = score + 2;
-                openedtray = 2;
+                give tray visited;
             }
         ],
         after [;
@@ -239,4 +296,4 @@ Object  tray "tray" server_room
 !=========================================================================
 ! Standard and Extended Grammar
 Include "grammar";
-!=========================================================================
\ No newline at end of file
+!=========================================================================