Update to serial 210823
authorJason Self <j@jxself.org>
Tue, 24 Aug 2021 03:04:05 +0000 (20:04 -0700)
committerJason Self <j@jxself.org>
Tue, 24 Aug 2021 03:04:05 +0000 (20:04 -0700)
src/forest.inf [deleted file]
src/snowed-in.inf

diff --git a/src/forest.inf b/src/forest.inf
deleted file mode 100644 (file)
index f621e7f..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-! Copyright (C) 2021 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
-! as published by the Free Software Foundation, either version 3 of
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-Class Forest;
-
-Object  snow "snow" forest
-  with  name 'snow' 'flake' 'flakes',
-  found_in forest,
-  has   scenery;
index 6929991915271571ab3a8b2dd6f100656702551b..c0b9f000f845bd373a258c54eb01405cddf1ad9a 100644 (file)
@@ -15,6 +15,8 @@
 Global lantern_fuel_left = 20;
 Global body_temperature = 20;
 Global cabin_has_electricity = 1;
 Global lantern_fuel_left = 20;
 Global body_temperature = 20;
 Global cabin_has_electricity = 1;
+Global forest_location = 1;
+Constant NO_SCORE;
 Constant DEATH_MENTION_UNDO;
 Constant Story "Snowed In";
 Constant Headline 
 Constant DEATH_MENTION_UNDO;
 Constant Story "Snowed In";
 Constant Headline 
@@ -35,8 +37,7 @@ Constant Headline
 Include "parser";
 Include "verblib";
 Release 0;
 Include "parser";
 Include "verblib";
 Release 0;
-Serial "210617";
-Include "src/forest.inf";
+Serial "210823";
 
 Object  mainroom "Main Room"
   with  description 
 
 Object  mainroom "Main Room"
   with  description 
@@ -114,7 +115,8 @@ Object  coffeetable "coffee table" mainroom
 Object  lantern "copper lantern" coffeetable
   with  name 'lantern' 'copper' 'lamp',
         description 
 Object  lantern "copper lantern" coffeetable
   with  name 'lantern' 'copper' 'lamp',
         description 
-            "This is an exceptionally beautiful lantern. About eleven 
+            "This is an exceptionally beautiful lantern, made of 
+            fired copper, and polished until it shines. About eleven 
             inches high, with a base of about 5 inches or so in 
             diameter and a large, brass-closed hook at the top. A 
             rainbow of unique colors run through the copper. The 
             inches high, with a base of about 5 inches or so in 
             diameter and a large, brass-closed hook at the top. A 
             rainbow of unique colors run through the copper. The 
@@ -255,6 +257,15 @@ Object  office "Office"
             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.",
             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.",
+        before [;
+          Go:
+            if (noun == e_obj) {
+                if (snowshoes has worn)
+                    print_ret 
+                        "You can't fit through the window while wearing the snow 
+                        shoes.";
+            }
+        ],
         w_to mainroom,
         e_to window,
   has   light;
         w_to mainroom,
         e_to window,
   has   light;
@@ -439,7 +450,7 @@ Object  bed "bed" bedroom
   has   scenery supporter;
 
 Object  suitcase "suitcase" bedroom
   has   scenery supporter;
 
 Object  suitcase "suitcase" bedroom
-  with  name 'suitcase',
+  with  name 'suitcase' 'case',
   with  description 
             "The suitcase is made of a light metallic material that 
             you can't quite make out. The color of it is somewhere 
   with  description 
             "The suitcase is made of a light metallic material that 
             you can't quite make out. The color of it is somewhere 
@@ -544,33 +555,257 @@ Object  snowshoes "snowshoes" bedroom
         daemon [;
             if (location ~= mainroom && location ~= office && location ~=
             kitchenette && location ~= bedroom && location ~= thedark &&
         daemon [;
             if (location ~= mainroom && location ~= office && location ~=
             kitchenette && location ~= bedroom && location ~= thedark &&
-            snowshoes hasnt worn) {
+            location ~= eastofcabin && snowshoes hasnt worn) {
                 deadflag = 3;
             }
         ],
   has   pluralname clothing;
 
                 deadflag = 3;
             }
         ],
   has   pluralname clothing;
 
-Forest  southofcabin "South Of Cabin"
+Object  southofcabin "South Of Cabin"
   with  description [;
   with  description [;
-            print "The wind is howling, and there's snow flying everywhere.";
+            print 
+                "The wind is howling, and there's snow flying 
+                everywhere.^";
             if (snowsuit hasnt worn)
                 print 
             if (snowsuit hasnt worn)
                 print 
-                    " It's really cold and 
-                    you're not dressed for this weather.";
+                    "^It's really cold and you're not dressed for 
+                    this weather.^";
             if (frontdoor has open) {
                 check_for_cabin_lighting();
             }
         ],
         n_to frontdoor,
             if (frontdoor has open) {
                 check_for_cabin_lighting();
             }
         ],
         n_to frontdoor,
+        s_to forest,
         e_to eastofcabin,
         w_to westofcabin,
   has   light;
 
         e_to eastofcabin,
         w_to westofcabin,
   has   light;
 
+Object  truckspot "Forest"
+  with  description 
+            "The blizzard is still going on. You don't think it's 
+            letting up anytime soon. There is a blue and white 
+            pickup truck here. It looks like it got stuck in the snow 
+            and is slowly being covered by it. The windows are iced 
+            up and you can't see inside.",
+        before [;
+          Go:
+            PlayerTo(forest);
+        ];
+
+Object  truck "blue and white pickup truck" truckspot
+  with  name 'pickup' 'truck' 'door',
+  with  description 
+            "The blue and white pickup truck looks old and battered. 
+            The paint has chipped and faded. The windows are iced up 
+            and you can't see inside.",
+        before [;
+          Take, Pull, Push, PushDir, Turn:
+            print_ret (The) self, " is too heavy for that.";
+          Search:
+            print_ret 
+                "The windows are iced up and you can't see 
+                inside.";
+          Enter, Open, GoIn:
+            print_ret (The) self, " is frozen shut.";
+        ],
+  has   scenery supporter enterable openable;
+
+[ print_forest_description;
+    if (location ~= thedark) {
+        switch (forest_location) {
+          1:
+            print_ret 
+                "It's not getting any easier to move in this 
+                blizzard. You can barely see five feet ahead of you. 
+                The wind is really strong. You try to remember the 
+                survival tips you've read on the internet, but 
+                frankly, you don't remember most of them right now. 
+                You just want this awful nightmare to end.";
+          2:
+            print_ret 
+                "You can't see anything through the blizzard. The 
+                snow is drifting and piling up around you, making 
+                movement almost impossible. You can't see your hand 
+                in front of your face. The wind is bitterly cold. The 
+                situation is looking very grim. Your life feels as if 
+                it is slowly ebbing away in the relentless grip of 
+                the snowstorm.";
+          3:
+            print_ret 
+                "You plow through the heavy snowfall. You're cold, 
+                tired, miserable, and desperate to get out of this 
+                mess. The wind is howling like a banshee. You can 
+                barely keep moving. You wish you had the powers of a 
+                superhero right now. You try to persevere. 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 other way is 
+                continuing through the woods to the north.";
+          4:
+            print_ret 
+                "You trudge through the snow. The wind is howling 
+                louder than ever. It's almost as if you're lost in a 
+                white, endless void.";
+          5:
+            print_ret 
+                "You continue your way through the snowy white void, 
+                what with the snow piling up around you. This is 
+                getting really old, really fast. It's hard to tell 
+                which direction is which. You wonder if you might be 
+                going in circles and end up wandering around forever, 
+                never finding your way out of this white void.";
+          6:
+            print_ret 
+                "You wander around in the impenetrable white void. 
+                The snowfall is still as heavy as ever. You're unsure 
+                of which way to go. There's no left, right, backward 
+                or forward. There's nothing but endless, unchanging 
+                whiteness. You could be wandering aimlessly in any 
+                direction right now and you wouldn't know the 
+                difference.";
+          7:
+            PlayerTo(truckspot);
+          8:
+            print_ret 
+                "You keep wandering through endless whiteness. It 
+                feels like you've been wandering for hours, but 
+                that's probably just your perception of time slipping 
+                away. You keep trudging through the heavy snowfall, 
+                not knowing if you're even going in any particular 
+                direction anymore. You hope that, as long as you keep 
+                moving, you'll eventually find a way out of this 
+                frozen wasteland.";
+          9:
+            print_ret 
+                "You wander around through the white void. There's 
+                nothing here but you, the snowfall, and the fierce 
+                wind howling through this frozen landscape. You start 
+                to get disoriented. You don't know if you're going in 
+                circles or what, but you start to feel that this 
+                frozen, lifeless landscape is sucking away your very 
+                life force.";
+          10:
+            print_ret 
+                "This isn't just a place of cold and ice - it's 
+                other-worldly. You're in danger here. You have to 
+                keep moving. Sleep is not an option when you're in a 
+                place like this. You have to escape. Somehow, you 
+                know that staying here is a death sentence.";
+          11:
+            print_ret 
+                "The wind starts starts to pick up as it begins 
+                howling louder than ever. You look around the barren 
+                landscape, but there's nothing nearby except snow. 
+                You don't even see any trees to break the force of 
+                this terrible wind. The snowfall is still as heavy as 
+                ever. You can barely see where you are going.";
+          12:
+            print_ret 
+                "The snowfall is still as heavy as ever. The wind is 
+                howling louder than ever. You can barely see where 
+                you are going. This place is so desolate and barren. 
+                As you continue trudging through the snow, you wonder 
+                if you're actually moving in the right direction.";
+          13:
+            print_ret 
+                "The endless snowfall makes it difficult to see where 
+                you're going. It feels like you're lost in a maze of 
+                snow without a map. Out of the corner of your eye, 
+                you spot a tall, shadowy figure lingering at the edge 
+                of your vision. When you turn to look at it directly, 
+                however, it disappears. You think you're going mad.";
+          14:
+            print_ret 
+                "You continue walking. You're not sure that you're 
+                going in the right direction but you can't stop now. 
+                You must find a way out of this frozen wasteland. 
+                There has to be something here besides endless snow. 
+                You won't give up. You can't give up.";
+          15:
+            print_ret 
+                "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. You keep walking. The wind is really 
+                picking up now and the snowfall is getting heavier.";
+          16:
+            print_ret 
+                "The wind is now a shrieking banshee, freezing and 
+                relentless, as it throws the snow into your face, 
+                blinding you. Every step you take is hard-fought. The 
+                whole world is white. You can't see anything, but you 
+                must keep going. There is no choice. You have no idea 
+                where you are.";
+          17:
+            print_ret 
+                "The blizzard rages, but you continue to press on. 
+                It's hard to walk against the brutal winds. Every 
+                step is an effort. You can barely see anything, and 
+                you stumble forward. You're determined to live but 
+                the blizzard doesn't seem to care whether you live or 
+                die. It just keeps howling and shrieking.";
+          18:
+            print_ret 
+                "The wind screams in your ears and you can't see 
+                anything. It's as if you're in a sea of white. You 
+                trudge on and try to keep your spirits up and not let 
+                the snowstorm get to you. The wind knocks you down on 
+                your hands and knees. You get back up, but you're 
+                slipping and sliding all over the place.";
+          19:
+            print_ret 
+                "Can't go back. Can't go forward. You can't even see 
+                where you are. The snowstorm has made it impossible 
+                to see anything more than a few feet in front of you. 
+                Nothing makes any sense and you feel like you're 
+                starting to go in circles.";
+          20:
+            print_ret 
+                "You hope you're going the right way. You can't let 
+                the snowstorm get the best of you. You have to keep 
+                going. As you walk you try to keep your mind occupied 
+                with anything other than the storm. You really have 
+                no idea how far you've come or in what direction.";
+          21:
+            print_ret 
+                "You keep walking and walking. You can't tell where 
+                the white sky and white ground begin and end. You 
+                don't even know if you're walking in a circle or not. 
+                The snowfall is so thick that you can barely see your 
+                hand if you hold it right in front of your face.";
+          22:
+            deadflag = 2;
+            print_ret 
+                "You see something in the distance but can't make it 
+                out. You walk toward it to find out that it's the 
+                hotel. You collapse in the lobby as the hotel staff 
+                rush over to you.";
+        }
+    }
+];
+
+Object  forest "Forest"
+  with  description [;
+            print_forest_description();
+        ],
+        before [;
+          Go:
+            if (location == thedark) {
+                DarkToDark();
+            }
+            if (noun == d_obj || noun == u_obj) {
+                print_ret "You can't go that way.";
+            }
+            forest_location = forest_location++;
+        ],
+        cant_go print_forest_description;
+
 [ check_for_cabin_lighting;
     if (lightbulb has on) {
         print 
 [ check_for_cabin_lighting;
     if (lightbulb has on) {
         print 
-            "The light from inside the cabin only penetrates 
-            a few feet from the building. ";
+            "The light from inside the cabin only penetrates a few 
+            feet from the building. ";
     }
     else
         if (lantern in player && lantern has on) {
     }
     else
         if (lantern in player && lantern has on) {
@@ -589,7 +824,7 @@ Forest  southofcabin "South Of Cabin"
     }
 ];
 
     }
 ];
 
-Forest  eastofcabin "East Of Cabin"
+Object  eastofcabin "East Of Cabin"
   with  description [;
             print "It's dark outside. ";
             check_for_cabin_lighting();
   with  description [;
             print "It's dark outside. ";
             check_for_cabin_lighting();
@@ -598,7 +833,7 @@ Forest  eastofcabin "East Of Cabin"
         s_to southofcabin,
   has   light;
 
         s_to southofcabin,
   has   light;
 
-Forest  westofcabin "Westh Of Cabin"
+Object  westofcabin "West Of Cabin"
   with  description 
             "The snow is falling so fast that you can barely see 
             anything. You can't even be sure you're going in the right 
   with  description 
             "The snow is falling so fast that you can barely see 
             anything. You can't even be sure you're going in the right 
@@ -710,7 +945,7 @@ Object  grue "grue" thedark
             if (location == mainroom || location == office || location ==
             kitchenette || location == bedroom && self.grue_active_around_cabin
             == 15) {
             if (location == mainroom || location == office || location ==
             kitchenette || location == bedroom && self.grue_active_around_cabin
             == 15) {
-                print "^The lights flicker and suddenly go out.";
+                print "^The lights flicker and suddenly go out.^";
                 cabin_has_electricity = 0;
                 give lightbulb ~on;
                 give mainroom ~light;
                 cabin_has_electricity = 0;
                 give lightbulb ~on;
                 give mainroom ~light;