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;
 Include "parser";
 Include "verblib";
 Release 3;
-Serial "220610";
+Serial "220611";
 
 Object  mainroom "Main Room"
   with  description 
 
 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,
             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;
         e_to office,
         w_to kitchenette,
   has   light;
@@ -86,6 +88,12 @@ Object  frontdoor "front door" mainroom
             else
                 return 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
   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.",
   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.";
         before [;
           Take, Pull, Push, PushDir, Turn:
             print_ret (The) self, " is too heavy for that.";
+          Open:
+            TearSub();
+            return true;
         ],
   has   scenery supporter enterable;
 
         ],
   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.",
             "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.";
         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 [;
             "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;
           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 
             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) {
         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 
             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;
 
         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 
             "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;
 
         s_to mainroom,
   has   light;
 
@@ -1186,6 +1213,10 @@ Object  grue "grue" thedark
     return true;
 ];
 
     return true;
 ];
 
+[ TearSub;
+    print_ret "Doing that would achieve little.";
+];
+
 Include "grammar";
 
 Verb 'About'
 Include "grammar";
 
 Verb 'About'
@@ -1206,17 +1237,29 @@ Verb 'Hint'
 Verb 'xyzzy'
     * -> Xyzzy;
 
 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'
 Verb 'crawl'
-    * 'through' / 'out' / 'via' noun -> Go;
+    * 'through' / 'out' / 'via' noun -> Enter;
 
 Verb 'escape'
 
 Verb 'escape'
-    * 'through' / 'out' / 'via' noun -> Go;
+    * 'through' / 'out' / 'via' noun -> Enter;
 
 Extend 'jump'
 
 Extend 'jump'
-    * 'through' / 'out' / 'via' noun -> Go;
+    * 'through' / 'out' / 'via' noun -> Enter;
 
 Extend 'climb'
 
 Extend 'climb'
-    * 'through' / 'out' / 'via' noun -> Go;
+    * 'through' / 'out' / 'via' noun -> Climb;
 
 Extend 'go'
 
 Extend 'go'
-    * 'through' / 'out' / 'via' noun -> Go;
\ No newline at end of file
+    * 'through' / 'out' / 'via' noun -> Enter;
\ No newline at end of file