X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=src%2Fsnowed-in.inf;h=2012cfe827b57505390ba8cea3c49567b1d74ce1;hb=7723a4bfc3287eb729e79ce225f39dd1db0b75e0;hp=30b804332afbb11607492f09a7e612c2ae4ac2dc;hpb=c6a10247806e5f57c32b85eed58fe80c0e0c4a1d;p=snowed-in.git diff --git a/src/snowed-in.inf b/src/snowed-in.inf index 30b8043..2012cfe 100644 --- a/src/snowed-in.inf +++ b/src/snowed-in.inf @@ -15,6 +15,8 @@ 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 @@ -23,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 + ^Copyright (C) 2021 Jason Self ^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 @@ -35,7 +37,7 @@ Constant Headline Include "parser"; Include "verblib"; Release 0; -Serial "210501"; +Serial "211120"; Object mainroom "Main Room" with description @@ -113,7 +115,8 @@ Object coffeetable "coffee table" mainroom 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 @@ -158,8 +161,8 @@ Object lantern "copper lantern" coffeetable Object television "flat-screen TV" mainroom with name 'TV' 'television' 'flat' 'screen' 'flat-screen', with description - "The flat-screen TV looks fairly modern but it's been - broken in a fight and the screen is dangling out.", + "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."; @@ -205,6 +208,7 @@ Object lightsocket "light socket" mainroom give kitchenette light; give bedroom light; give eastofcabin light; + give southofcabin light; } ], has scenery container transparent open; @@ -220,6 +224,7 @@ Object lightbulb "light bulb" lightsocket give kitchenette light; give bedroom light; give eastofcabin light; + give southofcabin light; } else { print_ret @@ -241,6 +246,7 @@ Object lightbulb "light bulb" lightsocket give kitchenette ~light; give bedroom ~light; give eastofcabin ~light; + give southofcabin ~light; ], has switchable on; @@ -251,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.", + 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; @@ -435,7 +450,7 @@ Object bed "bed" 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 @@ -446,8 +461,7 @@ Object snowsuit "snowsuit" suitcase with name 'snowsuit' 'snow' 'suit', with description "The snowsuit is blue, decorated with white and purple - designs. On the chest is a large emblem with the letters - ~CE~ in purple.", + designs. On the chest are the letters ~CE~ in purple.", before [; Wear: if (snowshoes in player && snowshoes has worn) { @@ -463,11 +477,10 @@ Object snowsuit "snowsuit" suitcase kitchenette && location ~= bedroom && location ~= thedark && snowsuit hasnt worn) { body_temperature = --body_temperature; - print body_temperature; } if (location == mainroom || location == office || location == - kitchenette || location == bedroom || location ~= thedark || - snowsuit has worn && body_temperature < 20) { + kitchenette || location == bedroom || snowsuit has worn && body_temperature + < 20) { body_temperature = ++body_temperature; } if (body_temperature == 0) { @@ -541,7 +554,7 @@ Object snowshoes "snowshoes" bedroom daemon [; if (location ~= mainroom && location ~= office && location ~= kitchenette && location ~= bedroom && location ~= thedark && - snowshoes hasnt worn) { + location ~= eastofcabin && snowshoes hasnt worn) { deadflag = 3; } ], @@ -549,43 +562,304 @@ Object snowshoes "snowshoes" bedroom Object southofcabin "South Of Cabin" 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 - " It's really cold and - you're not dressed for this weather."; - print - " The snow stings your face and you - can barely see three feet in front of you.^"; + "^It's really cold and you're not dressed for + this weather.^"; + if (frontdoor has open) { + check_for_cabin_lighting(); + } ], n_to frontdoor, + s_to forest, e_to eastofcabin, + w_to westofcabin, has light; -Object eastofcabin "East Of Cabin" +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: + forest_location = forest_location++; + PlayerTo(forest,1); + ]; + +Object truck "blue and white pickup truck" truckspot + with name 'pickup' 'truck' 'door' 'doors', + 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; + +Object backpacklocation "Forest" + 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 + direction. You can't see anything through the blizzard. + You wonder if you might be going in circles and end up + wandering around forever, never finding your way out of + this white void. You're unsure of which way to go. The + snowfall is so thick that you can barely see your hand if + you hold it right in front of your face. You have no idea + how far you've come or in what direction.", + before [; + Go: + forest_location = forest_location++; + 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.", + has clothing container openable; + +Object flashlight "flashlight" backpack + with name 'flash' 'light' 'torch', + description + "It looks like a cheap red plastic model, about eight + inches long.", + before [; + SwitchOn: + give flashlight light; + SwitchOff: + give lantern ~light; + ], + has switchable; + +[ print_forest_description; + if (location ~= thedark) { + switch (forest_location) { + 1: + 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 + other way is continuing through the woods to the + north."; + 2: + print_ret + "The wind is bitterly cold. You plow through the + snowfall, which is still as heavy as ever. You can + barely see where you are going, making it hard to + tell which direction is which. 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 continue + walking. The wind is howling louder than ever. The + endless snowfall makes it difficult to see where + you're going. You can't tell where the white sky and + white ground begin and end."; + 3: + PlayerTo(truckspot); + 4: + 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."; + 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."; + 6: + PlayerTo(backpacklocation); + 7: + 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 + direction anymore. The wind is really picking up now + and the snowfall is getting heavier. You have to keep + going. You can't let the snowstorm get the best of + you. You can't give up. You must find a way out of + this frozen wasteland. The snowstorm has made it + impossible to see anything more than a few feet in + front of you."; + 8: + print_ret + "The wind is now a shrieking banshee, freezing and + relentless, as it throws the snow into your face, + blinding you. It's hard to walk against the brutal + winds. You can't see anything, but you must keep + going. There is no choice. You continue your way + through the snowy white void, what with the snow + piling up around you. The wind screams in your ears + and you can't see anything. Can't go back. Can't go + forward. You can't even see where you are. You hope + that, as long as you keep moving, you'll eventually + find a way out of this frozen wasteland."; + 9: + print_ret + "The blizzard rages, but you continue to press on. + There's nothing here but you, the snowfall, and the + fierce wind howling through this frozen landscape. + This isn't just a place of cold and ice - it's + other-worldly. You trudge on and try to keep your + spirits up and not let the snowstorm get to you. Every + step is an effort. You wish you had the powers of a + superhero right now. You can barely see where you are + going. The wind knocks you down on your hands and + knees. You get back up, but you're slipping and + sliding all over the place."; + 10: + print_ret + "You wander around in the impenetrable white void. + The wind is howling louder than ever. You try to + persevere. 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. You can't see your hand in front of your face. + You can barely keep moving. Every step you take is + hard-fought. You just want this awful nightmare to + end. You begin to feel sleepy but you're in danger + here. You have to keep moving. Sleep is not an option + when you're in a place like this."; + 11: + print_ret + "You try to remember the survival tips you've read + on the internet, but frankly, you don't remember most + of them right now. As you walk you try to keep your + mind occupied with anything other than the storm. + Nothing makes any sense and you feel like you're + starting to go in circles. The wind starts starts to + pick up as it begins howling louder than ever. You're + determined to live but the blizzard doesn't seem to + care whether you live or die. It just keeps howling + and shrieking. It's not getting any easier to move in + this blizzard."; + 12: + print_ret + "You keep walking. The snow is drifting and piling + up around you, making movement almost impossible. You + look around the barren landscape, but there's nothing + nearby except snow. It's almost as if you're lost in + a white, endless void. You start to get disoriented. + You don't even know if you're walking in a circle or + not. The situation is looking very grim. Your life + feels as if it is slowly ebbing away in the + relentless grip of the snowstorm. It feels like + you've been wandering for hours, but that's probably + just your perception of time slipping away."; + 13: + print_ret + "You can barely see anything, and you stumble + forward. You could be wandering aimlessly in any + direction right now and you wouldn't know the + difference. It's as if you're in a sea of white. + You're not sure that you're going in the right + direction but you can't stop now. There has to be + something here besides endless snow. You know that + staying here is a death sentence. You have to escape. + You're cold, tired, miserable, and desperate to get + out of this mess. You have no idea where you are. You + keep wandering through endless whiteness. You won't + give up."; + 14: + 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 "It's dark outside. "; - if (lightbulb has on) { - print - "The light from inside the cabin only penetrates - a few feet from the building. "; + print_forest_description(); + ], + before [; + Go: + if (location == thedark) { + DarkToDark(); } - else - if (lantern in player && lantern has on) { - print - "The lantern provides the only source of - light. "; - } - if (snowshoes in player && snowshoes has worn) { - print - "The snowshoes are doing their job by making sure - you don't sink into the snow.^"; + 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 + "The light from inside the cabin only penetrates a few + feet from the building. "; + } + else + if (lantern in player && lantern has on) { + print + "The lantern provides the only source of + light. "; + } + if (location has light) + print + "The snow stings your face and you can barely see three feet in + front of you. "; + if (snowshoes in player && snowshoes has worn) { + print + "The snowshoes are doing their job by making sure + you don't sink into the snow.^"; + } +]; + +Object eastofcabin "East Of Cabin" + with description [; + print "It's dark outside. "; + check_for_cabin_lighting(); ], w_to window, s_to southofcabin, has light; +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 + direction.", + s_to southofcabin, + has light; + [ Initialise; Location = mainroom; thedark.description = @@ -668,9 +942,9 @@ Object grue "grue" thedark 4: "^You hear the sound of shuffling feet outside."; 5: - "^You hear a deep guttural sound from outside that sends a chill down your spine."; - 6: "^You hear something sniffing around the cabin."; + 6: + "^You hear a deep guttural sound from outside that sends a chill down your spine."; 7: "^You hear something scratching on the cabin walls from outside."; 8: @@ -690,7 +964,7 @@ Object grue "grue" thedark 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; @@ -698,6 +972,7 @@ Object grue "grue" thedark give kitchenette ~light; give bedroom ~light; give eastofcabin ~light; + give southofcabin ~light; } return true; ],