! Copyright (C) 2021 Jason Self ! ! 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/ Constant DEATH_MENTION_UNDO; Constant Story "Snowed In"; Constant Headline "^A work of interactive fiction. ^If you get stuck try typing HELP. ^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 ^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 option) any later version published by the FSF. See the GNU Affero General Public License for more details.^^You should have received a copy of this game's source code along with a copy of the GNU Affero General Public License so that you can know your rights. If not, contact the place you got it from.^^"; Include "parser"; Include "verblib"; Release 0; Serial "210331"; Object mainroom "Main Room" with description "This room is a total wreck - it looks like a major fight happened in here. There's a ripped up sofa and a broken old coffee table in the middle of the room. A flat-screen TV is mounted against the wall, with the screen dangling out. A bare light bulb hangs from the ceiling, but no other lights are on. There's a doorway in the south wall leading outside.", has light; Object sofa "sofa" mainroom with name 'sofa' 'couch', with description "The sofa is in poor shape. The upholstery is ripped and there are several holes in it.", before [; Take, Pull, Push, PushDir, Turn: print_ret (The) self, " is too heavy for that."; ], has scenery supporter enterable; Object coffeetable "coffee table" mainroom with name 'coffee' 'table', with description "The old coffee table looks as if it's had quite a bit of use. There are burn marks covering it and the paint is worn off in most places.", before [; Take, Pull, Push, PushDir, Turn: print_ret (The) self, " is too heavy for that."; ], has scenery supporter enterable; 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 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."; SwitchOn: if (television hasnt visited) { print "Despite the significant damage, the television 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 forest before the television finally dies.^"; give television visited; } else { print "The television is broken and can't be turned on.^"; } return true; ], has scenery switchable; [ Initialise; Location = mainroom; 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 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.^"; ]; [ URL; print "^If you need help try some of the commands from: ^http://pr-if.org/doc/play-if-card/^"; ]; [ XyzzySub; print "Nothing obvious happens.^"; return true; ]; [ HelpSub; URL(); return true; ]; Include "grammar"; Verb 'About' * -> Version; Verb 'Info' * -> Version; Verb 'Help' * -> Help; Verb 'Clue' * -> Help; Verb 'Hint' * -> Help; Verb 'xyzzy' * -> Xyzzy;