!
! You should have received a copy of the GNU Affero General Public
! License along with this file. If not, see https://gnu.org/licenses/
+!
+! SPDX-License-Identifier: AGPL-3.0-or-later
+Array UUID_ARRAY string "UUID://DE9FA2E5-4EC7-4166-9218-E56EFA1DF40F//";
+#Ifdef UUID_ARRAY;
+#Endif;
Global lantern_fuel_left = 20;
Global body_temperature = 20;
Global cabin_has_electricity = 1;
If not, contact the place you got it from.^^";
Include "parser";
Include "verblib";
-Release 1;
-Serial "220531";
+Release 3;
+Serial "220611";
Object mainroom "Main Room"
with description
kitchenette can be found to the west. There's a doorway
in the south wall leading outside.",
n_to bedroom,
- s_to frontdoor,
+ s_to
+ "The weight of the snow against the door is such that it
+ won't budge.",
e_to office,
w_to kitchenette,
has light;
else
return mainroom;
],
+ before [;
+ Open:
+ print_ret
+ "The weight of the snow against the door is such that
+ it won't budge.";
+ ],
has scenery door openable;
Object bearclaw "bear claw" mainroom
with description
"The sofa is in poor shape. The upholstery is ripped and
there are several holes in it.",
+ before_implicit [;
+ Take:
+ if (action_to_be == ##Eat)
+ return 2;
+ ],
before [;
Take, Pull, Push, PushDir, Turn:
print_ret (The) self, " is too heavy for that.";
+ Open:
+ TearSub();
+ return true;
],
has scenery supporter enterable;
"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_implicit [;
+ Take:
+ if (action_to_be == ##Eat)
+ return 2;
+ ],
before [;
Take, Pull, Push, PushDir, Turn:
print_ret (The) self, " is too heavy for that.";
"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.";
+ Take, Pull, Push, PushDir, Turn, Remove:
+ print_ret
+ "The damaged electronics throw some sparks,
+ and you get a mild shock. Perhaps it's best left
+ where it is.";
SwitchOn:
if (television hasnt visited) {
score = score + 1;
is a wreck. Holes are in the walls and the window is
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.",
+ bullet hole through the middle. The main room is to the
+ west.",
before [;
Go:
if (noun == e_obj) {
hard to tell what's a pipe and what's a faucet. A
refrigerator, standing open and empty. The door has been
ripped off. There's no indication as to where it
- went. There's no food anywhere in here.",
+ went. There's no food anywhere in here. The main room is
+ to the east.",
e_to mainroom,
has light;
"This bedroom is small and cramped, and looks like a
major fight happened as the exterior wall has bullet
holes. The bed is lying on the floor, torn to shreds. It
- has no sheets, just a bare mattress.",
+ has no sheets, just a bare mattress. The main room is to
+ the south.",
s_to mainroom,
has light;
keep wandering through endless whiteness. You won't
give up.";
14:
+ print_ret
+ "You're so cold that you begin to hallucinate, first
+ seeing the words ~Ventilation Control Room~ and then
+ yourself at a console. The hallucination quickly
+ fades.";
+ 15:
deadflag = 2;
print_ret
"You see something in the distance but can't make it
if (noun == s_obj) {
if (roof hasnt visited) {
score = score + 1;
- give roof visited;
}
}
];
Object snowmobile "snowmobile" thedark
with name 'snowmobile',
daemon [;
- snowmobile_location = random(13);
+ snowmobile_location = random(14);
if (location == forest && forest_location == snowmobile_location)
{
deadflag = 2;
return true;
];
+[ TearSub;
+ print_ret "Doing that would achieve little.";
+];
+
Include "grammar";
Verb 'About'
Verb 'xyzzy'
* -> Xyzzy;
+Verb 'tear'
+ * noun -> Tear;
+
+Extend 'tear'
+ * 'up' / 'open' noun -> Tear;
+
+Verb 'rip'
+ * noun -> Tear;
+
+Extend 'rip'
+ * 'up' / 'open' noun -> Tear;
+
Verb 'crawl'
- * 'through' / 'out' / 'via' noun -> Go;
+ * 'through' / 'out' / 'via' noun -> Enter;
Verb 'escape'
- * 'through' / 'out' / 'via' noun -> Go;
+ * 'through' / 'out' / 'via' noun -> Enter;
Extend 'jump'
- * 'through' / 'out' / 'via' noun -> Go;
+ * 'through' / 'out' / 'via' noun -> Enter;
Extend 'climb'
- * 'through' / 'out' / 'via' noun -> Go;
+ * 'through' / 'out' / 'via' noun -> Climb;
Extend 'go'
- * 'through' / 'out' / 'via' noun -> Go;
\ No newline at end of file
+ * 'through' / 'out' / 'via' noun -> Enter;
\ No newline at end of file