Fix up some line breaks
[snowed-in.git] / src / snowed-in.inf
index 2012cfe827b57505390ba8cea3c49567b1d74ce1..d8feda3e65c935275f36c70288a00a8b47897ab6 100644 (file)
@@ -1,4 +1,4 @@
-! Copyright (C) 2021 Jason Self <j@jxself.org>
+! Copyright (C) 2021, 2022 Jason Self <j@jxself.org>
 !
 ! This file is free software: you may copy, redistribute and/or
 ! modify it under the terms of the GNU Affero General Public License
@@ -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;
@@ -25,7 +25,7 @@ Constant Headline
     ^Ongoing development: https://jxself.org/git/?p=snowed-in.git
     ^Send bugs and feedback by email to j@@64jxself.org.
     ^IFID DE9FA2E5-4EC7-4166-9218-E56EFA1DF40F
-    ^Copyright (C) 2021 Jason Self <j@@64jxself.org>
+    ^Copyright (C) 2021, 2022 Jason Self <j@@64jxself.org>
     ^You can change and share this game under the terms of the GNU 
     Affero General Public License as published by the Free Software 
     Foundation (FSF), either version 3 of the License, or (at your 
@@ -36,8 +36,8 @@ Constant Headline
     If not, contact the place you got it from.^^";
 Include "parser";
 Include "verblib";
-Release 0;
-Serial "211120";
+Release 1;
+Serial "220529";
 
 Object  mainroom "Main Room"
   with  description 
@@ -173,7 +173,7 @@ Object  television "flat-screen TV" mainroom
                     comes to life in one last valiant attempt to be 
                     useful. Your favorite news program is on: U.S. 
                     News And Grue Report. The news anchor is giving a 
-                    warning of Grue sightings in the area of the 
+                    warning of grue sightings in the area of the 
                     forest before the television finally dies.^";
                 give television visited;
             }
@@ -202,7 +202,7 @@ Object  lightsocket "light socket" mainroom
                     with a warning label because you contain more than 
                     a trace amount of nut.";
             }
-            if (noun == lightbulb && light has on) {
+            if (noun == lightbulb && lightbulb has on) {
                 give mainroom light;
                 give office light;
                 give kitchenette light;
@@ -564,14 +564,19 @@ Object  southofcabin "South Of Cabin"
   with  description [;
             print 
                 "The wind is howling, and there's snow flying 
-                everywhere.^";
+                everywhere. ";
             if (snowsuit hasnt worn)
                 print 
-                    "^It's really cold and you're not dressed for 
-                    this weather.^";
-            if (frontdoor has open) {
-                check_for_cabin_lighting();
+                    "It's really cold and you're not dressed for 
+                    this weather. ";
+            ! if (frontdoor has open) {
+            check_for_cabin_lighting();
+            ! }
+            if (snowshoes has worn && lantern in player && eastofcabin hasnt
+            visited && lantern_fuel_left > 0) {
+                throw_rock();
             }
+            print "^";
         ],
         n_to frontdoor,
         s_to forest,
@@ -589,7 +594,7 @@ Object  truckspot "Forest"
         before [;
           Go:
             forest_location = forest_location++;
-            PlayerTo(forest,1);
+            PlayerTo(forest, 1);
         ];
 
 Object  truck "blue and white pickup truck" truckspot
@@ -611,7 +616,7 @@ Object  truck "blue and white pickup truck" truckspot
   has   scenery supporter enterable openable;
 
 Object  backpacklocation "Forest"
-  with  description
+  with  description 
             "You keep walking and walking. The snowfall is still as 
             heavy as ever. As you continue trudging through the snow, 
             you wonder if you're actually moving in the right 
@@ -625,27 +630,28 @@ Object  backpacklocation "Forest"
         before [;
           Go:
             forest_location = forest_location++;
-            PlayerTo(forest,1);
+            PlayerTo(forest, 1);
         ];
 
-Object  backpack "back pack" backpacklocation
-  with  name 'back' 'pack',
-  with  description
-            "The backpack looks new, black, of medium size, with three 
-            white stripes running vertically on the back. The middle 
-            stripe is broken up by a red line running down the center 
-            of it toward the bottom of the backpack. On the side are 
-            the letters ~CE~ in purple.",
+Object  backpack "backpack" backpacklocation
+  with  name 'backpack' 'back' 'pack' 'blood',
+  with  description 
+            "The backpack is of medium size, black, with three white 
+            stripes running vertically on the back. The middle stripe 
+            is broken up by a red line running down the center of it 
+            toward the bottom of the backpack. On the side are the 
+            letters ~CE~ in purple. The backpack is covered in blood, 
+            as if the owner met with an untimely demise.",
   has   clothing container openable;
 
 Object  flashlight "flashlight" backpack
-  with  name 'flash' 'light' 'torch',
-        description
+  with  name 'flashlight' 'flash' 'light' 'torch',
+        description 
             "It looks like a cheap red plastic model, about eight 
             inches long.",
         before [;
           SwitchOn:
-                give flashlight light;
+            give flashlight light;
           SwitchOff:
             give lantern ~light;
         ],
@@ -658,7 +664,7 @@ Object  flashlight "flashlight" backpack
             print_ret 
                 "You push on despite the bitter cold and the heavy 
                 snowfall as you come to a fork. There are two ways to 
-                go here, one is going up a hill to the south. The 
+                go here, one involves a hill to the south. The 
                 other way is continuing through the woods to the 
                 north.";
           2:
@@ -689,21 +695,20 @@ Object  flashlight "flashlight" backpack
                 is so desolate and barren.";
           5:
             print_ret 
-                "You trudge through the snow. The wind is really 
-                strong and howling like a banshee. You hear a horrible 
-                howl in the distance or is it the wind? Looking 
-                around you see nothing in this barren landscape but 
-                snow. You're not sure what to make of it, but you 
-                don't want to stick around to find out. The whole 
-                world is white. You can barely see five feet ahead of 
-                you. You hope you're going the right way. This place 
-                is so desolate and barren. There's no left, right, 
-                backward or forward. There's nothing but endless, 
-                unchanging whiteness.";
+                "You think you might can see a large figure stepping 
+                out of the trees and moving in the distance but the 
+                wind is blowing hard and whipping up massive amounts 
+                of snow, making it hard to tell for sure. Your breath 
+                billows out in huge clouds. If it keeps blowing like 
+                this, you're not sure if you'll ever be able to get 
+                back. Snow whirls through the air as a gust of wind 
+                picks up speed. The howling gets louder and more 
+                intense. There's no left, right, backward or forward. 
+                There's nothing but endless, unchanging whiteness.";
           6:
             PlayerTo(backpacklocation);
           7:
-            print_ret
+            print_ret 
                 "It feels like you're lost in a maze of snow without 
                 a map. You keep trudging through the heavy snowfall, 
                 not knowing if you're even going in any particular 
@@ -820,6 +825,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 
@@ -839,14 +860,20 @@ Object  forest "Forest"
     if (snowshoes in player && snowshoes has worn) {
         print 
             "The snowshoes are doing their job by making sure 
-            you don't sink into the snow.^";
+            you don't sink into the snow. ";
     }
+    !    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 && lantern_fuel_left
+            > 0) {
+                throw_rock();
+            }
+            print "^";
         ],
         w_to window,
         s_to southofcabin,
@@ -868,13 +895,13 @@ Object  westofcabin "West Of Cabin"
     print 
         "You're trapped in a snowstorm while visiting the forest 
         during your vacation to a small rural town. This is the worst 
-        snowstorm in more than 40 years. If only you has listened to 
+        snowstorm in more than 40 years. If only you had listened to 
         the news. Well, it's too late for that. The snow has been 
         falling for the past seven hours and shows no signs of 
         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);