cf58fbf08b1d8bdb574b9b830614eef14868985d
[snowed-in.git] / src / snowed-in.inf
1 ! Copyright (C) 2021 Jason Self <j@jxself.org>
2 !
3 ! This file is free software: you may copy, redistribute and/or
4 ! modify it under the terms of the GNU Affero General Public License
5 ! as published by the Free Software Foundation, either version 3 of
6 ! the License, or (at your option) any later version.
7 !
8 ! This file is distributed in the hope that it will be useful, but
9 ! WITHOUT ANY WARRANTY; without even the implied warranty of
10 ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 ! Affero General Public License for more details.
12 !
13 ! You should have received a copy of the GNU Affero General Public
14 ! License along with this file. If not, see https://gnu.org/licenses/
15 Constant DEATH_MENTION_UNDO;
16 Constant Story "Snowed In";
17 Constant Headline 
18     "^A work of interactive fiction.
19     ^If you get stuck try typing HELP.
20     ^Ongoing development: https://jxself.org/git/?p=snowed-in.git
21     ^Send bugs and feedback by email to j@@64jxself.org.
22     ^IFID DE9FA2E5-4EC7-4166-9218-E56EFA1DF40F
23     ^Copyright (C) 2021 Jason Self
24     ^You can change and share this game under the terms of the GNU 
25     Affero General Public License as published by the Free Software 
26     Foundation (FSF), either version 3 of the License, or (at your 
27     option) any later version published by the FSF. See the GNU Affero 
28     General Public License for more details.^^You should have received 
29     a copy of this game's source code along with a copy of the GNU 
30     Affero General Public License so that you can know your rights. 
31     If not, contact the place you got it from.^^";
32 Include "parser";
33 Include "verblib";
34 Release 0;
35 Serial "210331";
36
37 Object  mainroom "Main Room"
38   with  description 
39             "This room is a total wreck - it looks like a major fight 
40             happened in here. There's a ripped up sofa and a broken 
41             old coffee table in the middle of the room. A flat-screen 
42             TV is mounted against the wall, with the screen dangling 
43             out. A bare light bulb hangs from the ceiling, but no other 
44             lights are on. There's a doorway in the south wall leading 
45             outside.",
46   has   light;
47
48 Object  sofa "sofa" mainroom
49   with  name 'sofa' 'couch',
50   with  description 
51             "The sofa is in poor shape. The upholstery is ripped and 
52             there are several holes in it.",
53         before [;
54           Take, Pull, Push, PushDir, Turn:
55             print_ret (The) self, " is too heavy for that.";
56         ],
57   has   scenery supporter enterable;
58
59 Object  coffeetable "coffee table" mainroom
60   with  name 'coffee' 'table',
61   with  description 
62             "The old coffee table looks as if it's had quite a bit 
63             of use. There are burn marks covering it and the paint is 
64             worn off in most places.",
65         before [;
66           Take, Pull, Push, PushDir, Turn:
67             print_ret (The) self, " is too heavy for that.";
68         ],
69   has   scenery supporter enterable;
70
71 Object  television "flat-screen TV" mainroom
72   with  name 'TV' 'television' 'flat' 'screen' 'flat-screen',
73   with  description 
74             "The flat-screen TV looks fairly modern but it's broken 
75             in a fight and the screen is dangling out.",
76         before [;
77           Take, Pull, Push, PushDir, Turn:
78             print_ret (The) self, " is firmly mounted to the wall.";
79           SwitchOn:
80             if (television hasnt visited) {
81                 print 
82                     "Despite the significant damage, the television 
83                     comes to life in one last valiant attempt to be 
84                     useful. Your favorite news program is on: U.S. 
85                     News And Grue Report. The news anchor is giving a 
86                     warning of Grue sightings in the area of the 
87                     forest before the television finally dies.^";
88                 give television visited;
89             }
90             else {
91                 print 
92                     "The television is broken and can't be turned 
93                     on.^";
94             }
95             return true;
96         ],
97   has   scenery switchable;
98
99 [ Initialise;
100     Location = mainroom;
101     print 
102         "You're trapped in a snowstorm while visiting the forest 
103         during your vacation to a small rural town. This is the worst 
104         snowstorm in more than 40 years. If only you has listened to 
105         the news. Well, it's too late for that. The snow has been 
106         falling for the past seven hours and shows no signs of 
107         stopping anytime soon. You need to get back to your hotel in 
108         the town. You finally manage to find an old cabin in the 
109         woods and get inside but have no idea where you are. You're 
110         not dressed for this weather.^";
111 ];
112
113 [ URL;
114     print 
115         "^If you need help try some of the commands from: 
116         ^http://pr-if.org/doc/play-if-card/^";
117 ];
118
119 [ XyzzySub;
120     print "Nothing obvious happens.^";
121     return true;
122 ];
123
124 [ HelpSub;
125     URL();
126     return true;
127 ];
128
129 Include "grammar";
130
131 Verb 'About'
132     * -> Version;
133
134 Verb 'Info'
135     * -> Version;
136
137 Verb 'Help'
138     * -> Help;
139
140 Verb 'Clue'
141     * -> Help;
142
143 Verb 'Hint'
144     * -> Help;
145
146 Verb 'xyzzy'
147     * -> Xyzzy;