X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=src%2Fsnowed-in.inf;h=012d7d6c5f8877752dd18292ca96d55081ce7b2a;hb=5073ff3412a0b8b20fbae75a0a1eccc44626d452;hp=30b804332afbb11607492f09a7e612c2ae4ac2dc;hpb=c6a10247806e5f57c32b85eed58fe80c0e0c4a1d;p=snowed-in.git diff --git a/src/snowed-in.inf b/src/snowed-in.inf index 30b8043..012d7d6 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 "210823"; 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 @@ -463,11 +478,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 +555,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 +563,285 @@ 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; + +[ 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 "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 +924,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 +946,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 +954,7 @@ Object grue "grue" thedark give kitchenette ~light; give bedroom ~light; give eastofcabin ~light; + give southofcabin ~light; } return true; ],