Update to serial 220529
authorJason Self <j@jxself.org>
Sun, 29 May 2022 18:36:11 +0000 (11:36 -0700)
committerJason Self <j@jxself.org>
Sun, 29 May 2022 18:36:11 +0000 (11:36 -0700)
src/snowed-in.inf

index d13860b8f497af5dae42a2993527355667cc404a..e37515b5ae323bc3ce83111d8dc6c2c97a49e7ce 100644 (file)
@@ -12,7 +12,7 @@
 !
 ! You should have received a copy of the GNU Affero General Public
 ! License along with this file. If not, see https://gnu.org/licenses/
-Global lantern_fuel_left = 20;
+Global lantern_fuel_left = 10;
 Global body_temperature = 20;
 Global cabin_has_electricity = 1;
 Global forest_location = 1;
@@ -37,7 +37,7 @@ Constant Headline
 Include "parser";
 Include "verblib";
 Release 1;
-Serial "220528";
+Serial "220529";
 
 Object  mainroom "Main Room"
   with  description 
@@ -572,16 +572,10 @@ Object  southofcabin "South Of Cabin"
             ! if (frontdoor has open) {
             check_for_cabin_lighting();
             ! }
-            if (cabin_has_electricity == 1) {
-                if (television has visited || computer has visited) {
-                    print "The grue set a trap for you to come outside. ";
-                }
-                print 
-                    "Your last memory is of a large log attached to ropes on 
-                    neighboring trees as it collides with your face.";
-                deadflag = 1;
+            if (snowshoes has worn && lantern in player && eastofcabin hasnt
+            visited) {
+                throw_rock();
             }
-            print "^";
         ],
         n_to frontdoor,
         s_to forest,
@@ -830,6 +824,22 @@ Object  forest "Forest"
         ],
         cant_go print_forest_description;
 
+[ throw_rock;
+    if (television has visited || computer has visited) {
+        print 
+            "The grue is waiting behind a snowbank in
+            the distance, away from the light. ";
+    }
+    print 
+        "From somewhere off in the dark distance, far away from the 
+        light, a rock is hurled in your direction. It hits the 
+        lantern, breaking it, and putting it out of commission. ";
+    give lantern ~on;
+    give lantern ~light;
+    lantern_fuel_left = 0;
+    StopDaemon(lantern);
+];
+
 [ check_for_cabin_lighting;
     if (lightbulb has on) {
         print 
@@ -851,15 +861,16 @@ Object  forest "Forest"
             "The snowshoes are doing their job by making sure 
             you don't sink into the snow. ";
     }
-    if (location == eastofcabin) {
-        print "^";
-    }
+    print "^";
 ];
 
 Object  eastofcabin "East Of Cabin"
   with  description [;
             print "It's dark outside. ";
             check_for_cabin_lighting();
+            if (cabin_has_electricity == 1 && lantern in player) {
+                throw_rock();
+            }
         ],
         w_to window,
         s_to southofcabin,
@@ -887,7 +898,7 @@ Object  westofcabin "West Of Cabin"
         stopping anytime soon. You need to get back to your hotel in 
         the town. You finally manage to find an old cabin in the 
         woods and get inside but have no idea where you are. You're 
-        not dressed for this weather.^";
+        not dressed for this weather, and it's getting dark outside.^";
     StartDaemon(lantern);
     StartDaemon(snowshoes);
     StartDaemon(snowsuit);