Update to serial 220611
authorJason Self <j@jxself.org>
Sun, 12 Jun 2022 03:53:09 +0000 (20:53 -0700)
committerJason Self <j@jxself.org>
Sun, 12 Jun 2022 03:53:09 +0000 (20:53 -0700)
src/snowed-in.inf

index 501fc75806baf40a0064e1aa7afa308e81b8e8d0..f793f2949a402db1b85f4f30eeb667362ae2ef7e 100644 (file)
@@ -43,7 +43,7 @@ Constant Headline
 Include "parser";
 Include "verblib";
 Release 3;
-Serial "220610";
+Serial "220611";
 
 Object  mainroom "Main Room"
   with  description 
@@ -56,7 +56,9 @@ Object  mainroom "Main Room"
             kitchenette can be found to the west. There's a doorway 
             in the south wall leading outside.",
         n_to bedroom,
-        s_to frontdoor,
+        s_to 
+            "The weight of the snow against the door is such that it 
+            won't budge.",
         e_to office,
         w_to kitchenette,
   has   light;
@@ -86,6 +88,12 @@ Object  frontdoor "front door" mainroom
             else
                 return mainroom;
         ],
+        before [;
+          Open:
+            print_ret 
+                "The weight of the snow against the door is such that 
+                it won't budge.";
+        ],
   has   scenery door openable;
 
 Object  bearclaw "bear claw" mainroom
@@ -100,9 +108,17 @@ Object  sofa "sofa" mainroom
   with  description 
             "The sofa is in poor shape. The upholstery is ripped and 
             there are several holes in it.",
+        before_implicit [;
+          Take:
+            if (action_to_be == ##Eat)
+                return 2;
+        ],
         before [;
           Take, Pull, Push, PushDir, Turn:
             print_ret (The) self, " is too heavy for that.";
+          Open:
+            TearSub();
+            return true;
         ],
   has   scenery supporter enterable;
 
@@ -112,6 +128,11 @@ Object  coffeetable "coffee table" mainroom
             "The old coffee table looks as if it's had quite a bit of 
             use. There are burn marks covering it and the paint is 
             worn off in most places.",
+        before_implicit [;
+          Take:
+            if (action_to_be == ##Eat)
+                return 2;
+        ],
         before [;
           Take, Pull, Push, PushDir, Turn:
             print_ret (The) self, " is too heavy for that.";
@@ -170,8 +191,11 @@ Object  television "flat-screen TV" mainroom
             "The flat-screen TV looks fairly modern but it's been 
             broken in a fight and the screen is dangling out.",
         before [;
-          Take, Pull, Push, PushDir, Turn:
-            print_ret (The) self, " is firmly mounted to the wall.";
+          Take, Pull, Push, PushDir, Turn, Remove:
+            print_ret 
+                "The damaged electronics throw some sparks, 
+                and you get a mild shock. Perhaps it's best left 
+                where it is.";
           SwitchOn:
             if (television hasnt visited) {
                 score = score + 1;
@@ -263,7 +287,8 @@ Object  office "Office"
             is a wreck. Holes are in the walls and the window is 
             broken, letting in the cold air from outside. Chunks of 
             drywall and insulation cover the floor. The desk has a 
-            bullet hole through the middle.",
+            bullet hole through the middle. The main room is to the 
+            west.",
         before [;
           Go:
             if (noun == e_obj) {
@@ -412,7 +437,8 @@ Object  kitchenette "Kitchenette"
             hard to tell what's a pipe and what's a faucet. A 
             refrigerator, standing open and empty. The door has been 
             ripped off. There's no indication as to where it 
-            went. There's no food anywhere in here.",
+            went. There's no food anywhere in here. The main room is 
+            to the east.",
         e_to mainroom,
   has   light;
 
@@ -448,7 +474,8 @@ Object  bedroom "Bedroom"
             "This bedroom is small and cramped, and looks like a 
             major fight happened as the exterior wall has bullet 
             holes. The bed is lying on the floor, torn to shreds. It 
-            has no sheets, just a bare mattress.",
+            has no sheets, just a bare mattress. The main room is to 
+            the south.",
         s_to mainroom,
   has   light;
 
@@ -1186,6 +1213,10 @@ Object  grue "grue" thedark
     return true;
 ];
 
+[ TearSub;
+    print_ret "Doing that would achieve little.";
+];
+
 Include "grammar";
 
 Verb 'About'
@@ -1206,17 +1237,29 @@ Verb 'Hint'
 Verb 'xyzzy'
     * -> Xyzzy;
 
+Verb 'tear'
+    * noun -> Tear;
+
+Extend 'tear'
+    * 'up' / 'open' noun -> Tear;
+
+Verb 'rip'
+    * noun -> Tear;
+
+Extend 'rip'
+    * 'up' / 'open' noun -> Tear;
+
 Verb 'crawl'
-    * 'through' / 'out' / 'via' noun -> Go;
+    * 'through' / 'out' / 'via' noun -> Enter;
 
 Verb 'escape'
-    * 'through' / 'out' / 'via' noun -> Go;
+    * 'through' / 'out' / 'via' noun -> Enter;
 
 Extend 'jump'
-    * 'through' / 'out' / 'via' noun -> Go;
+    * 'through' / 'out' / 'via' noun -> Enter;
 
 Extend 'climb'
-    * 'through' / 'out' / 'via' noun -> Go;
+    * 'through' / 'out' / 'via' noun -> Climb;
 
 Extend 'go'
-    * 'through' / 'out' / 'via' noun -> Go;
\ No newline at end of file
+    * 'through' / 'out' / 'via' noun -> Enter;
\ No newline at end of file