mirror of
https://github.com/historicalsource/borderzone
synced 2024-05-19 09:28:38 +03:00
5098 lines
167 KiB
Plaintext
5098 lines
167 KiB
Plaintext
"BORDER for
|
|
BORDER ZONE
|
|
(c) Copyright 1987 Infocom, Inc. All Rights Reserved."
|
|
|
|
<ROOM OUTF-1
|
|
(LOC ROOMS)
|
|
(DESC "Outside Fence")
|
|
(PATH 0)
|
|
(EAST TO OUTF-2 IF FALSE-FLAG ELSE
|
|
"You crawl along the ground until you reach a point directly south of the
|
|
next guard tower.")
|
|
(WEST SORRY
|
|
"That would put you directly in front of the border station, and that
|
|
would be suicidal.")
|
|
(SOUTH PER NOMANS-MOVE)
|
|
(SE SORRY
|
|
"Given the rate at which the searchlights are turning, it would be suicidal
|
|
to attempt anything other than a direct run at the forest to the south.")
|
|
|
|
(SW SORRY
|
|
"Given the rate at which the searchlights are turning, it would be suicidal
|
|
to attempt anything other than a direct run at the forest to the south.")
|
|
|
|
(NORTH PER FENCE-CROSS)
|
|
(NOMAN
|
|
<TABLE <TABLE 180 180 0 0> <TABLE 270 225 0 0> <TABLE 270 240 0 0> C2>)
|
|
|
|
(ACROSS INF-1)
|
|
(NS 1)
|
|
(EW 3)
|
|
(ACTION OUTF-F)
|
|
(GPOS 0)
|
|
(FLAGS GVIEWBIT SLVIEWBIT)
|
|
(GLOBAL SEARCHLIGHTS FENCE FENCE-HOLE FENCE-SIGN TOWER GUARDS BORDER-FENCE)>
|
|
|
|
<ROUTINE OUTF-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You are crouched at the base of the first fence. Behind you is the
|
|
hundred yards of no-man's-land you've crossed, searchlights dancing
|
|
across the snow-covered ground. Before you, not fifteen feet away, is
|
|
the base of the guard tower, and beyond that, another fence, the
|
|
last barrier to your freedom. Although you are relatively exposed,
|
|
the low snowdrifts provide reasonable cover from the guards." CR CR>
|
|
<SETG P-WALK-DIR <>>
|
|
<PERFORM ,V?EXAMINE ,FENCE>
|
|
<COND (<NOT ,G-WATCH>
|
|
<CRLF>
|
|
;<I-CLOCKER ,CLOCK-MOVE>
|
|
<PERFORM ,V?EXAMINE ,GUARDS>
|
|
;<SETG CLOCK-MOVE 0>)>
|
|
<RTRUE>)>>
|
|
|
|
<OBJECT CAR-GUARDS
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "men from the car")
|
|
(SYNONYM MEN GUARDS)
|
|
(FLAGS SEARCHBIT)
|
|
(SCENARIO 2)
|
|
(ACTION CAR-GUARDS-F)>
|
|
|
|
<ROUTINE CAR-GUARDS-F ()
|
|
<COND (<AND <IN? ,CAR ,ROAD-END>
|
|
<EQUAL? ,HERE ,NORTH-HUT ,SOUTH-HUT ,ROAD-END>>
|
|
<COND (<VERB? LISTEN EXAMINE WATCH>
|
|
<CAR-SEQ-TELL>
|
|
<RTRUE>)>)
|
|
(<AND <IN? ,CAR ,ROAD-END>
|
|
<EQUAL? ,HERE ,BEHIND-HUT ,HUT-LIVING>>
|
|
<COND (<VERB? LISTEN EXAMINE WATCH>
|
|
<TELL
|
|
"You can't see the guards here, but you can faintly hear them talking." CR>)>)
|
|
(T
|
|
<TELL
|
|
"There are no guards here, which is fortunate." CR>)>>
|
|
|
|
<OBJECT SCOUT
|
|
(DESC "guard")>
|
|
|
|
<OBJECT GLOBAL-SCOUT
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "guard")
|
|
(SYNONYM GUARD SCOUT)
|
|
(ADJECTIVE LONE SINGLE)
|
|
(SCENARIO 2)
|
|
(ACTION GLOBAL-SCOUT-F)>
|
|
|
|
<ROUTINE GLOBAL-SCOUT-F ()
|
|
<COND (<NOT <LOC ,SCOUT>>
|
|
<CANT-SEE ,GLOBAL-SCOUT>)
|
|
(<VERB? EXAMINE WATCH>
|
|
<SCOUT-TELL <>>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL ,TOO-FAR CR>)>>
|
|
|
|
<ROUTINE SCOUT-TELL ("OPTIONAL" (LOOK? T) "AUX" (SS <>))
|
|
<COND (<NOT .SS> <SET SS " A">)>
|
|
<COND (<NOT .LOOK?> <SET SS "The">)>
|
|
<COND (<AND <EQUAL? ,HERE ,NORTH-HUT ,SOUTH-HUT>
|
|
<IN? ,SCOUT ,OUTSIDE-HUT>>
|
|
<TELL .SS
|
|
" scout is in front of the hut, walking slowly toward the north side." CR>)
|
|
(<AND <EQUAL? ,HERE ,BEHIND-HUT ,HUT-LIVING>
|
|
<IN? ,SCOUT ,NORTH-HUT>>
|
|
<TELL .SS
|
|
" scout is slowly making his way toward the back side of the hut." CR>)
|
|
(<AND <EQUAL? ,HERE ,SOUTH-HUT>
|
|
<IN? ,SCOUT ,BEHIND-HUT>>
|
|
<TELL .SS
|
|
" scout is coming around the back side of the hut, and heading toward the
|
|
south side." CR>)
|
|
(<AND <EQUAL? ,HERE ,ROAD-END>
|
|
<IN? ,SCOUT ,SOUTH-HUT>>
|
|
<TELL .SS
|
|
" scout is rounding the south side of the hut and heading back toward
|
|
the group of guards at the front door." CR>)
|
|
(<NOT .LOOK?>
|
|
<CANT-SEE ,SCOUT>)
|
|
(T
|
|
<RFALSE>)>>
|
|
|
|
<OBJECT GUARDS
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "guard")
|
|
(SYNONYM GUARDS GUARD ;"Added 9/23" MEN)
|
|
(ACTION GUARDS-F)>
|
|
|
|
<ROUTINE GUARDS-F ("AUX" MT (POS <GETP ,HERE ,P?GPOS>) DIR FACE? TMP)
|
|
<COND (<AND <AT-NML?> <NOT <VERB? OFF-2>>>
|
|
<COND (<VERB? EXAMINE WATCH>
|
|
<TELL
|
|
"You can't make them out too well from here; they keep moving in and out
|
|
of the searchlight's glare." CR>)
|
|
(<VERB? WAVE CALL YELL>
|
|
<TELL
|
|
"A suicidal idea, and you're pretty far away as well." CR>)
|
|
(T <TELL
|
|
"The guards are too far away." CR>)>)
|
|
(<AND <VERB? OFF-2>
|
|
<EQUAL? ,PRSO ,TIMING-OBJECT ,WATCHING-OBJECT>>
|
|
<COND (<NOT ,G-WATCH>
|
|
<TELL "You weren't watching them." CR>
|
|
<RTRUE>)>
|
|
<SETG G-WATCH <>>
|
|
<SETG CLOCK-MOVE 4>
|
|
<FLUSH-WATCHER>
|
|
<COND (<NOT ,SAVE-FLAG>
|
|
<TELL
|
|
"You're no longer watching the guards." CR>)>
|
|
<RTRUE>)
|
|
(<VERB? WATCH>
|
|
<COND (,G-WATCH
|
|
<TELL "You're already watching them." CR>)
|
|
(T
|
|
<COND (,SL-WATCH
|
|
<PERFORM ,V?OFF-2
|
|
,TIMING-OBJECT
|
|
,SEARCHLIGHTS>
|
|
<CRLF>)>
|
|
<SETG G-WATCH T>
|
|
<SETG CHRONOGRAPH-ON T>
|
|
<SETG CLOCK-MOVE 4>
|
|
<GUARD-WATCHER T>
|
|
<TELL
|
|
"You start to watch the guards, and take a moment to check their position
|
|
after everything you do.|
|
|
|
|
|
[The asterisk is your position, the T's are the three guard towers, and the
|
|
< and > characters are the guards, indicating their direction of motion.]"
|
|
CR>)>)
|
|
(<VERB? EXAMINE>
|
|
<I-CLOCKER ,CLOCK-MOVE>
|
|
<SETG CLOCK-MOVE 0>
|
|
<COND (<ZERO? .POS> <SET DIR "right">)
|
|
(<EQUAL? .POS 180> <SET DIR "left">)>
|
|
<SET MT <MOD ,CLOCK-TIME 180>>
|
|
<COND (<NOT <L? .MT 90>> <SET MT <- 180 .MT>>)>
|
|
<SET FACE? <GUARDS-FACING-EACH-OTHER?>>
|
|
<TELL
|
|
"Two guards are now visible, patrolling the area between the fences; ">
|
|
<COND (<EQUAL? .POS 90>
|
|
<SET TMP <* </ <- 100 .MT> 10> 10>>
|
|
<COND (<ZERO? .TMP> <SET TMP 5>)>
|
|
<TELL "both are about " N .TMP
|
|
" yards away, ">
|
|
<COND (<NOT ,GUARD-CHASE>
|
|
<TELL "and they are walking ">
|
|
<FACE-TELL .FACE? <>>)
|
|
(T
|
|
<TELL "moving carefully in your
|
|
direction, weapons drawn.">)>)
|
|
(T
|
|
<SET TMP <* </ <+ .MT 5> 10> 10>>
|
|
<COND (<ZERO? .TMP> <SET TMP 5>)>
|
|
<TELL "both are off to your " .DIR ", though
|
|
one is about " N .TMP " yards away, and the other is much farther off.
|
|
The guards are moving ">
|
|
<FACE-TELL .FACE? <>>)>
|
|
<COND (<NOT ,G-WATCH>
|
|
<TELL
|
|
" Since they are moving all the time, you would do
|
|
well to WATCH them.">)>
|
|
<CRLF>)
|
|
(<VERB? CALL YELL WAVE>
|
|
<TELL "Not very smart." CR>)
|
|
(T
|
|
<TELL
|
|
"You can't get close enough to the guards, and it's just as well." CR>)>>
|
|
|
|
<ROUTINE FLUSH-WATCHER ()
|
|
<SCREEN 1>
|
|
<BUFOUT <>>
|
|
<CURSET 2 1>
|
|
<INVERSE-LINE>
|
|
<CURSET 3 1>
|
|
<INVERSE-LINE>
|
|
<BUFOUT T>
|
|
<SCREEN 0>>
|
|
|
|
<ROUTINE FACE-TELL (FACE? "OPTIONAL" (CR? T))
|
|
<COND (.FACE? <TELL "toward">)
|
|
(T <TELL "away from">)>
|
|
<TELL " each other.">
|
|
<COND (.CR? <CRLF>)>
|
|
<RTRUE>>
|
|
|
|
<ROOM INF-1
|
|
(LOC ROOMS)
|
|
(NS 1)
|
|
(EW 3)
|
|
(PATH 0)
|
|
(DESC "Inside Fence")
|
|
(EAST TO INF-2 IF FALSE-FLAG ELSE
|
|
"You crawl along the ground until you reach a point directly south of the
|
|
next guard tower.")
|
|
(WEST SORRY
|
|
"That would put you directly in front of the border station, and that
|
|
would be suicidal.")
|
|
(NW SORRY
|
|
"That would put you directly in front of the border station, and that
|
|
would be suicidal.")
|
|
(SOUTH PER FENCE-CROSS)
|
|
(NE PER GUARD-MOVE-TWR)
|
|
(NORTH PER GUARD-CATCH)
|
|
(ACROSS OUTF-1)
|
|
(ACTION INF-F)
|
|
(GPOS 0)
|
|
(FLAGS GVIEWBIT)
|
|
(GLOBAL SEARCHLIGHTS FENCE FENCE-HOLE FENCE-SIGN TOWER GUARDS BORDER-FENCE)>
|
|
|
|
<ROUTINE INF-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You're just inside the fence. Fifteen feet before you is the base of
|
|
the guard tower, and beyond that the fence at the border itself. Behind
|
|
you, to the south, is the hundred yards of no-man's-land you've been
|
|
across. It is peaceful here, but the searchlights passing harmlessly
|
|
overhead remind you that you are in great danger. Fortunately, some small
|
|
snowdrifts give some protection from the guards, although you're
|
|
easily spotted once their suspicions are aroused. You'd best be very
|
|
careful if you're to avoid detection." CR>
|
|
<COND (<NOT ,G-WATCH>
|
|
<CRLF>
|
|
;<I-CLOCKER ,CLOCK-MOVE>
|
|
<SETG P-WALK-DIR <>>
|
|
<PERFORM ,V?EXAMINE ,GUARDS>
|
|
;<SETG CLOCK-MOVE 0>)>
|
|
<RTRUE>)>>
|
|
|
|
<ROUTINE FENCE-CROSS ()
|
|
<SETG P-WALK-DIR <>>
|
|
<PERFORM ,V?ENTER ,FENCE>
|
|
<RFALSE>>
|
|
|
|
<ROOM OUTF-2
|
|
(LOC ROOMS)
|
|
(DESC "Outside Fence")
|
|
(NS 1)
|
|
(EW 4)
|
|
(PATH 0)
|
|
(NORTH PER FENCE-CROSS)
|
|
(EAST TO OUTF-3 IF FALSE-FLAG ELSE
|
|
"You crawl along the ground until you reach a point directly south of the
|
|
next guard tower.")
|
|
(WEST TO OUTF-1 IF FALSE-FLAG ELSE
|
|
"You crawl along the ground until you reach a point directly south of the
|
|
next guard tower.")
|
|
(SOUTH PER NOMANS-MOVE)
|
|
(SE SORRY
|
|
"Given the rate at which the searchlights are turning, it would be suicidal
|
|
to attempt anything other than a direct run at the forest to the south.")
|
|
|
|
(SW SORRY
|
|
"Given the rate at which the searchlights are turning, it would be suicidal
|
|
to attempt anything other than a direct run at the forest to the south.")
|
|
|
|
(NOMAN
|
|
<TABLE <TABLE 90 135 0 0> <TABLE 180 180 0 0> <TABLE 270 225 0 0> D2>)
|
|
(ACROSS INF-2)
|
|
(ACTION OUTF-F)
|
|
(GPOS 90)
|
|
(FLAGS GVIEWBIT SLVIEWBIT)
|
|
(GLOBAL SEARCHLIGHTS FENCE FENCE-HOLE FENCE-SIGN TOWER GUARDS BORDER-FENCE)>
|
|
|
|
<ROOM INF-2
|
|
(LOC ROOMS)
|
|
(NS 1)
|
|
(EW 4)
|
|
(PATH 0)
|
|
(DESC "Inside Fence")
|
|
(EAST TO INF-3 IF FALSE-FLAG ELSE
|
|
"You crawl along the ground until you reach a point directly south of the
|
|
next guard tower.")
|
|
(WEST TO INF-1 IF FALSE-FLAG ELSE
|
|
"You crawl along the ground until you reach a point directly south of the
|
|
next guard tower.")
|
|
(NE PER GUARD-CATCH)
|
|
(NW PER GUARD-CATCH)
|
|
(NORTH PER GUARD-MOVE-TWR)
|
|
(SOUTH PER FENCE-CROSS)
|
|
(ACROSS OUTF-2)
|
|
(ACTION INF-F)
|
|
(GPOS 90)
|
|
(FLAGS GVIEWBIT)
|
|
(GLOBAL SEARCHLIGHTS FENCE FENCE-HOLE FENCE-SIGN TOWER GUARDS BORDER-FENCE)>
|
|
|
|
<ROOM OUTF-3
|
|
(LOC ROOMS)
|
|
(DESC "Outside Fence")
|
|
(NS 1)
|
|
(EW 5)
|
|
(PATH 0)
|
|
(NORTH PER FENCE-CROSS)
|
|
(EAST SORRY "That would be suicidal.")
|
|
(WEST TO OUTF-2 IF FALSE-FLAG ELSE
|
|
"You crawl along the ground until you reach a point directly south of the
|
|
next guard tower.")
|
|
(SOUTH PER NOMANS-MOVE)
|
|
(SE SORRY
|
|
"Given the rate at which the searchlights are turning, it would be suicidal
|
|
to attempt anything other than a direct run at the forest to the south.")
|
|
|
|
(SW SORRY
|
|
"Given the rate at which the searchlights are turning, it would be suicidal
|
|
to attempt anything other than a direct run at the forest to the south.")
|
|
|
|
(NOMAN
|
|
<TABLE <TABLE 90 120 0 0> <TABLE 90 135 0 0> <TABLE 180 180 0 0> E2>)
|
|
(ACROSS INF-3)
|
|
(ACTION OUTF-F)
|
|
(GPOS 180)
|
|
(FLAGS GVIEWBIT SLVIEWBIT)
|
|
(GLOBAL SEARCHLIGHTS FENCE FENCE-HOLE FENCE-SIGN TOWER GUARDS BORDER-FENCE)>
|
|
|
|
<ROOM INF-3
|
|
(LOC ROOMS)
|
|
(NS 1)
|
|
(EW 5)
|
|
(PATH 0)
|
|
(DESC "Inside Fence")
|
|
(EAST SORRY "That would be suicidal.")
|
|
(WEST TO INF-2 IF FALSE-FLAG ELSE
|
|
"You crawl along the ground until you reach a point directly south of the
|
|
next guard tower.")
|
|
(NW PER GUARD-MOVE-TWR)
|
|
(NORTH PER GUARD-CATCH)
|
|
(NE SORRY "That would be suicidal.")
|
|
(SOUTH PER FENCE-CROSS)
|
|
(ACROSS OUTF-3)
|
|
(ACTION INF-F)
|
|
(GPOS 180)
|
|
(FLAGS GVIEWBIT)
|
|
(GLOBAL SEARCHLIGHTS FENCE FENCE-HOLE FENCE-SIGN TOWER GUARDS BORDER-FENCE)>
|
|
|
|
<OBJECT FENCE-HOLE
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "hole")
|
|
(SYNONYM HOLE SLIT CUT BREAK)
|
|
(ACTION FENCE-HOLE-F)>
|
|
|
|
<ROUTINE FENCE-HOLE-F ()
|
|
<COND (<VERB? OPEN>
|
|
<PERFORM ,V?OPEN ,FENCE>
|
|
<RTRUE>)
|
|
(<VERB? CUT>
|
|
<PERFORM ,V?CUT ,FENCE ,PRSI>
|
|
<RTRUE>)
|
|
(<AND <NOT <FSET? ,HERE ,FENCECUTBIT>>
|
|
<NOT <FSET? ,HERE ,FENCEBLOWNBIT>>>
|
|
<TELL
|
|
"There's no hole here." CR>)
|
|
(<VERB? ENTER BOARD>
|
|
<PERFORM ,PRSA ,FENCE>
|
|
<RTRUE>)
|
|
(<VERB? EXAMINE>
|
|
<COND (<OR <FSET? ,HERE ,FENCEBLOWNBIT>
|
|
<FSET? ,HERE ,FENCEBENTBIT>>
|
|
<TELL
|
|
"The hole in the fence is large enough to go through." CR>)
|
|
(T
|
|
<TELL
|
|
"The vertical slit is about three feet long, though you'd
|
|
have to get it out of the way if you wanted to go through." CR>)>)>>
|
|
|
|
<ROUTINE GUARD-CATCH ()
|
|
<JIGS-UP
|
|
"You start across to the guard tower, but you are spotted by one of the
|
|
guards, who was facing in your direction. He calls out, and you turn to
|
|
find a place to hide. A shot rings out, and you are hit! When you come
|
|
to, you are surrounded by guards.">
|
|
<RFALSE>>
|
|
|
|
<ROUTINE GUARD-MOVE-TWR ("OPTIONAL" (RM ,TWR-2))
|
|
<COND (<IN-GUARD-VIEW?>
|
|
<GUARD-CATCH>)
|
|
(T
|
|
<TELL
|
|
"You run across to the base of the ">
|
|
<COND (<EQUAL? .RM ,TWR-2> <TELL "guard tower">)
|
|
(<EQUAL? .RM ,BDR-2> <TELL "border fence">)
|
|
(T <TELL "first fence">)>
|
|
<TELL "; apparently, you weren't
|
|
seen by the guards." CR CR>
|
|
.RM)>>
|
|
|
|
<ROUTINE GUARD-MOVE-BDR () <GUARD-MOVE-TWR ,BDR-2>>
|
|
|
|
<ROUTINE GUARD-MOVE-INF () <GUARD-MOVE-TWR ,INF-2>>
|
|
|
|
<ROUTINE LADDER-CLIMB ()
|
|
<SETG CLOCK-MOVE 10>
|
|
<TELL
|
|
"You quietly ascend the ladder and arrive at the closed door." CR CR>
|
|
,LADDER-TOP>
|
|
|
|
<ROUTINE LADDER-DESCEND ()
|
|
<COND (,ON-BRACE?
|
|
<TELL
|
|
"You'd better get off the brace first." CR>
|
|
<RFALSE>)>
|
|
<SETG CLOCK-MOVE 10>
|
|
<TELL
|
|
"You clamber down the ladder to the base of the tower." CR CR>
|
|
,TWR-2>
|
|
|
|
<ROOM TOWER-SOUTH
|
|
(LOC ROOMS)
|
|
(NS 1)
|
|
(EW 4)
|
|
(GPOS 90)
|
|
(PATH 0)
|
|
(DESC "Tower, South Side")
|
|
(LDESC
|
|
"The guard post itself looks both north and south. To the south, one can
|
|
look out over the no-man's-land and toward the forest.
|
|
The machine gun bolted to the floor is a grim reminder of the obstacles you
|
|
have faced so far. To the north, only a few feet beyond reach and about
|
|
five feet below you, lies the border fence.")
|
|
(NORTH SORRY
|
|
"That would mean jumping off the tower to your death.")
|
|
(OUT-DIR P?WEST)
|
|
(WEST TO LADDER-TOP IF TOWER-DOOR IS OPEN)
|
|
(FLAGS GVIEWBIT)
|
|
(GLOBAL TOWER-DOOR BORDER-FENCE FENCE TOWER)>
|
|
|
|
<OBJECT GLOBAL-MACHINE-GUN
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "machine gun")
|
|
(SYNONYM GUN GUNS MACHINE-GUN)
|
|
(SCENARIO 2)
|
|
(ADJECTIVE MACHINE)
|
|
(ACTION GLOBAL-MACHINE-GUN-F)>
|
|
|
|
<ROUTINE GLOBAL-MACHINE-GUN-F ()
|
|
<COND (<EQUAL? ,HERE ,BDR-2>
|
|
<TELL
|
|
"The gun is on the other side of the tower." CR>)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
"It's hard to tell much, since all you can see is the business end, but
|
|
it's primary purpose would appear to be sniping at people crossing
|
|
the open field to the south. It doesn't appear that it can pivot
|
|
enough to hit anybody that has crossed the outer fence." CR>)
|
|
(T
|
|
<TELL ,TOO-FAR CR>)>>
|
|
|
|
<OBJECT MACHINE-GUN
|
|
(LOC TOWER-SOUTH)
|
|
(DESC "machine gun")
|
|
(SYNONYM GUN MACHINE-GUN)
|
|
(ADJECTIVE MACHINE)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION MACHINE-GUN-F)>
|
|
|
|
<ROUTINE MACHINE-GUN-F ()
|
|
<COND (<VERB? SHOOT KILL>
|
|
<TELL
|
|
"The machine gun is on a turret that swings in an arc of about 90 degrees,
|
|
taking in the entirety of no-man's-land. In retrospect, it must appear a
|
|
strange oversight that the gun cannot be used on the area between the fences.
|
|
In any event, there's nothing to be gained by firing the gun except to vent
|
|
some frustration." CR>)>>
|
|
|
|
<ROUTINE TOWER-ENTRY ()
|
|
<COND (,ON-BRACE?
|
|
<TELL "You'd better get off the brace first." CR>
|
|
<RFALSE>)
|
|
(<FSET? ,TOWER-DOOR ,OPENBIT>
|
|
,TOWER-SOUTH)
|
|
(T
|
|
<TELL "The tower door is closed." CR>
|
|
<RFALSE>)>>
|
|
|
|
<ROOM LADDER-TOP
|
|
(LOC ROOMS)
|
|
(NS 1)
|
|
(EW 4)
|
|
(GPOS 90)
|
|
(PATH 0)
|
|
(DESC "Tower Entrance")
|
|
(DOWN PER LADDER-DESCEND)
|
|
(IN-DIR P?EAST)
|
|
(EAST PER TOWER-ENTRY)
|
|
(FLAGS GVIEWBIT)
|
|
(GLOBAL LADDER GUARDS TOWER TOWER-DOOR)
|
|
(ACTION LADDER-TOP-F)>
|
|
|
|
<ROUTINE LADDER-TOP-F (RARG "AUX" GD)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<COND (<NOT ,ON-BRACE?>
|
|
<TELL
|
|
"You are standing at the top of the wooden ladder, at the entrance to
|
|
the tower. The ladder itself is bolted to the tower near the base of
|
|
the door; for additional support, a metal brace runs horizontally between
|
|
the ladder and the southwest post, just a few steps below the top
|
|
rung. With a little luck, it would be possible to climb onto the brace."
|
|
CR CR>)
|
|
(T
|
|
<TELL
|
|
"You are perched on the metal brace which runs horizontally between
|
|
the ladder and the southwest post. From here, you are about two feet
|
|
below the level of the tower entrance, and can easily watch the border
|
|
guards' movements with little chance of detection." CR CR>)>
|
|
<SETG P-WALK-DIR <>>
|
|
<PERFORM ,V?EXAMINE ,GUARDS>)
|
|
(<AND ,GUARD-WAIT
|
|
<EQUAL? .RARG ,M-ENTER>>
|
|
<JIGS-UP
|
|
"You walk out into the open, as five guards with weapons raised stand
|
|
ready. Slowly, you descend the stairs and are taken into custody.">)
|
|
(<AND <EQUAL? .RARG ,M-BEG>
|
|
<VERB? DROP>
|
|
,ON-BRACE?>
|
|
<COND (<G? <GETP ,PRSO ,P?SIZE>
|
|
</ <SET GD <GUARD-DISTANCE>> 3>>
|
|
<TELL
|
|
"The " D ,PRSO " drops to the ground, and the sound of its impact
|
|
is loud enough to alert the guards.">
|
|
<COND (<L? .GD 25>
|
|
<JIGS-UP "
|
|
One of the guards, close enough to take a good shot, fires, hitting you
|
|
in the leg. You drop to the ground, injured, but alive.">)
|
|
(T
|
|
<TELL
|
|
" They start to approach, weapons drawn." CR>)>
|
|
<START-GUARD-CHASE>)
|
|
(T
|
|
<TELL
|
|
"The " D ,PRSO " falls to the ground, where it becomes lost in a soft
|
|
pile of snow." CR>
|
|
<COND (<EQUAL? ,PRSO ,EXPLODING-PEN>
|
|
<DE-QUEUE ,I-FUSE-OFF>)>
|
|
<REMOVE ,PRSO>)>)
|
|
(<AND <EQUAL? .RARG ,M-BEG>
|
|
<VERB? WALK>
|
|
,ON-BRACE?>
|
|
<COND (<EQUAL? ,PRSO ,P?UP>
|
|
<PERFORM ,V?DISEMBARK ,BRACE>
|
|
<RTRUE>)>
|
|
<TELL
|
|
"You'd better get off the brace first." CR>
|
|
<RTRUE>)>>
|
|
|
|
<OBJECT BRACE-POST
|
|
(LOC LADDER-TOP)
|
|
(DESC "post")
|
|
(SYNONYM POST POSTS)
|
|
(ADJECTIVE SW SOUTHWEST)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION BRACE-POST-F)>
|
|
|
|
<ROUTINE BRACE-POST-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<PERFORM ,PRSA ,SW-POST>)
|
|
(<NOT ,ON-BRACE?>
|
|
<TELL
|
|
"You can't reach it from here; perhaps if you were on the brace, though,
|
|
it would be possible." CR>)
|
|
(<EQUAL? ,BRACE-POST ,PRSO>
|
|
<PERFORM ,PRSA ,SW-POST ,PRSI>
|
|
<RTRUE>)
|
|
(T
|
|
<PERFORM ,PRSA ,PRSO ,SW-POST>
|
|
<RTRUE>)>>
|
|
|
|
<OBJECT TOWER-DOOR
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "door")
|
|
(SYNONYM DOOR)
|
|
(ADJECTIVE TOWER METAL GUARD)
|
|
(FLAGS NDESCBIT DOORBIT)
|
|
(ACTION TOWER-DOOR-F)>
|
|
|
|
<ROUTINE TOWER-DOOR-F ()
|
|
<COND (<AND <VERB? CLOSE>
|
|
<FSET? ,PRSO ,OPENBIT>>
|
|
<COND (<EQUAL? ,HERE ,TOWER-SOUTH>
|
|
<TELL
|
|
"The door closes and locks." CR>
|
|
<FCLEAR ,PRSO ,OPENBIT>)>)
|
|
(<VERB? LOCK>
|
|
<TELL
|
|
"The door locks automatically when it closes." CR>)
|
|
(<AND <VERB? OPEN>
|
|
<NOT <FSET? ,PRSO ,OPENBIT>>>
|
|
<COND (<EQUAL? ,HERE ,LADDER-TOP>
|
|
<TELL
|
|
"It's locked; trying to open it would only get you caught." CR>)>)
|
|
(<VERB? KNOCK>
|
|
<COND (,GUARD-FOOLED
|
|
<JIGS-UP
|
|
"You rap on the door again. This time, the guard has figured out your
|
|
game and is prepared. He swings around, and smashes his automatic weapon into
|
|
your head, knocking you to the ground below. You aren't killed, but it sure
|
|
feels like it, and a moment later, you are surrounded by unsympathetic
|
|
guards.">)
|
|
(<IN? ,GUARD-LEG ,HERE>
|
|
<TELL
|
|
"Are you crazy? The guard is practically on top of you!" CR>)
|
|
(,ON-BRACE?
|
|
<TELL
|
|
"You reach up and rap on the door. A few moments later, you hear the
|
|
door open, and the guard calls out \"Who is there?\" He pauses for a moment,
|
|
then takes a step down the ladder, his left leg barely missing your cheek."
|
|
CR>
|
|
<MOVE ,GUARD-LEG ,HERE>
|
|
<FSET ,TOWER-DOOR ,OPENBIT>
|
|
<RT-QUEUE ,I-GUARD-BACK 40>)
|
|
(T
|
|
<JIGS-UP
|
|
"You knock on the door. A moment later, the door opens, and you are
|
|
facing a guard whose automatic weapon is aimed at your head.">)>)>>
|
|
|
|
<GLOBAL GUARD-FOOLED <>>
|
|
|
|
<ROUTINE I-GUARD-BACK ()
|
|
<COND (<ZERO? <LOC ,GUARD-LEG>>
|
|
<RTRUE>)>
|
|
<REMOVE ,GUARD-LEG>
|
|
<SETG GUARD-FOOLED T>
|
|
<FCLEAR ,TOWER-DOOR ,OPENBIT>
|
|
<BOLDTELL
|
|
"Having satisfied himself that he has been daydreaming, the guard
|
|
moves back into the tower, shutting the door behind him.">>
|
|
|
|
<OBJECT GUARD-LEG
|
|
(DESC "guard's leg")
|
|
(SYNONYM GUARD LEG)
|
|
(ADJECTIVE GUARDS GUARD\'S)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION GUARD-LEG-F)>
|
|
|
|
<ROUTINE GUARD-LEG-F ("AUX" GD)
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"There's not much to say, really. It's just a pair of legs in uniform,
|
|
presumably attached to a man whom you would prefer not to meet." CR>)
|
|
(<OR <VERB? TAKE MOVE PULL>
|
|
<HURT? ,PRSO>>
|
|
<TELL
|
|
"With a short yelp, the guard stumbles,
|
|
then falls head-first to the ground with a sickening thud. The guards
|
|
on their rounds take notice and start moving toward you. Not knowing
|
|
whether or not you are armed, they approach slowly and carefully." CR>
|
|
<REMOVE ,GUARD-LEG>
|
|
<MOVE ,INJURED-GUARD ,TWR-2>
|
|
<COND (<L? <SET GD <GUARD-DISTANCE>> 25>
|
|
<CRLF>
|
|
<JIGS-UP
|
|
"They are close enough to take a few quick shots, one of which hits you
|
|
in the leg, causing you to topple off the brace and onto the ground.
|
|
You survive, but it's little consolation.">
|
|
<RTRUE>)
|
|
(T
|
|
<START-GUARD-CHASE .GD>)>
|
|
<RTRUE>)>>
|
|
|
|
<ROUTINE START-GUARD-CHASE (GD)
|
|
<RT-QUEUE ,I-TOWER <- .GD 25>>
|
|
<SETG GUARD-CHASE .GD>
|
|
<SETG NODOGS-FLAG T>
|
|
<SETG GUARD-CHASE-TIME ,CLOCK-TIME>>
|
|
|
|
<GLOBAL GUARD-CHASE <>>
|
|
|
|
<GLOBAL GUARD-CHASE-TIME <>>
|
|
|
|
<OBJECT INJURED-GUARD
|
|
(DESC "crumpled body")
|
|
(FDESC
|
|
"The crumpled body of the fallen guard is lying on the ground. Beneath
|
|
him lies his machine gun.")
|
|
(SYNONYM BODY HEAP GUN MACHINE-GUN)
|
|
(ADJECTIVE INJURED MACHINE CRUMPLED CONTORTED)
|
|
(ACTION INJURED-GUARD-F)>
|
|
|
|
<ROUTINE INJURED-GUARD-F ()
|
|
<TELL
|
|
"The guards are drawing closer as you reach the sprawled body." CR CR>
|
|
<I-TOWER>
|
|
<RTRUE>>
|
|
|
|
<ROUTINE INT-TIME () <+ ,CLOCK-TIME ,CLOCK-TICKS>>
|
|
|
|
<ROUTINE I-TOWER ()
|
|
<COND (<EQUAL? ,HERE ,LADDER-TOP ,TWR-2 ,BDR-2>
|
|
<COND (,G-WATCH
|
|
<UPDATE-CHRONOGRAPH 0 T>)>
|
|
<HLIGHT ,H-BOLD>
|
|
<CRLF>
|
|
<TELL
|
|
"The guards reach a position within firing range, and fire at you, hitting
|
|
you in the back. You ">
|
|
<COND (<NOT <EQUAL? ,HERE ,LADDER-TOP>>
|
|
<TELL "s">)>
|
|
<TELL "tumble to the ground, unconscious, but alive.">
|
|
<COND (<EQUAL? ,HERE ,LADDER-TOP>
|
|
<SETG HERE ,TWR-2>
|
|
<MOVE ,WINNER ,TWR-2>
|
|
<STATUS-LINE>)>
|
|
<JIGS-UP " ">)
|
|
(<EQUAL? ,HERE ,TOWER-SOUTH>
|
|
<BOLDTELL
|
|
"The guards reach the base of the tower, and fire a few shots. After some
|
|
muffled discussion, they call out: \"It is of no use. Come out, or we shall
|
|
be forced to kill you! You have 15 seconds to decide!\"">
|
|
<RT-QUEUE ,I-CHARGE 15>
|
|
<SETG GUARD-WAIT T>)
|
|
(T
|
|
<HLIGHT ,H-BOLD>
|
|
<CRLF>
|
|
<JIGS-UP
|
|
"All at once, you feel lightheaded and stumble to the ground, overcome
|
|
by the cumulative effects of pain, blood loss, cold, and your strenuous
|
|
efforts. You are found not long afterwards, and placed under arrest.">)>>
|
|
|
|
<GLOBAL GUARD-WAIT <>>
|
|
|
|
<ROUTINE I-CHARGE ()
|
|
<HLIGHT ,H-BOLD>
|
|
<CRLF>
|
|
<TELL
|
|
"You can hear the guards charging up the ladder." CR CR>
|
|
<COND (<FSET? ,TOWER-DOOR ,OPENBIT>
|
|
<JIGS-UP
|
|
"A moment later, they burst through the door and take you into custody.">)
|
|
(T
|
|
<TELL
|
|
"They arrive at the door, and find it locked. Angrily, one guard calls
|
|
down for the key; a moment later, shots ring out as the frustrated guard
|
|
riddles the lock mechanism with holes. You've only got moments before
|
|
you are captured!">
|
|
<HLIGHT ,H-NORMAL>
|
|
<CRLF>
|
|
<RT-QUEUE ,I-CATCH 10>)>>
|
|
|
|
<ROUTINE I-CATCH ()
|
|
<HLIGHT ,H-BOLD>
|
|
<CRLF>
|
|
<JIGS-UP
|
|
"The guards burst through the door; a shot is fired - you are hit!">>
|
|
|
|
<OBJECT BRACE
|
|
(LOC LADDER-TOP)
|
|
(DESC "brace")
|
|
(SYNONYM BRACE)
|
|
(ADJECTIVE METAL)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION BRACE-F)>
|
|
|
|
<GLOBAL ON-BRACE? <>>
|
|
|
|
<ROUTINE BRACE-F ()
|
|
<COND (<VERB? BOARD CLIMB-ON CLIMB CLIMB-UP>
|
|
<COND (,ON-BRACE?
|
|
<TELL "You're already on it." CR>)
|
|
(T
|
|
;<FCLEAR ,HERE ,GVIEWBIT>
|
|
<SETG CLOCK-MOVE 8>
|
|
<TELL
|
|
"You're now standing on the brace, just a few feet below the top rung
|
|
of the ladder. The bottom corner of the door is just visible from your
|
|
position. A quick check below confirms that you are relatively well hidden
|
|
from the pacing guards." CR>)>
|
|
<SETG ON-BRACE? T>)
|
|
(<VERB? LEAP>
|
|
<COND (<NOT ,ON-BRACE?>
|
|
<TELL
|
|
"You're not on the brace." CR>
|
|
<RTRUE>)>
|
|
<TELL
|
|
"You'd break both of your legs." CR>)
|
|
(<VERB? DISEMBARK TAKE-OFF CLIMB-DOWN>
|
|
<COND (<NOT ,ON-BRACE?>
|
|
<TELL
|
|
"You're not on the brace." CR>
|
|
<RTRUE>)>
|
|
<COND (<IN? ,GUARD-LEG ,HERE>
|
|
<JIGS-UP
|
|
"As you start to reach the ladder, the guard glimpses you out of the
|
|
corner of his eye, and instinctively swings his weapon into your head,
|
|
knocking you onto the ground. You survive, fortunately, but you
|
|
have been captured.">
|
|
<RTRUE>)>
|
|
<SETG CLOCK-MOVE 5>
|
|
<TELL
|
|
"You're now back at the top of the ladder." CR>
|
|
<FSET ,HERE ,GVIEWBIT>
|
|
<SETG ON-BRACE? <>>
|
|
<RTRUE>)>>
|
|
|
|
<ROOM TWR-2
|
|
(LOC ROOMS)
|
|
(NS 1)
|
|
(EW 4)
|
|
(GPOS 90)
|
|
(PATH 0)
|
|
(DESC "Center Tower")
|
|
(UP PER LADDER-CLIMB)
|
|
(SE PER GUARD-CATCH)
|
|
(SW PER GUARD-CATCH)
|
|
(NORTH PER GUARD-MOVE-BDR)
|
|
(EAST PER GUARD-CATCH)
|
|
(WEST PER GUARD-CATCH)
|
|
(SOUTH PER GUARD-MOVE-INF)
|
|
(NE PER GUARD-CATCH)
|
|
(NW PER GUARD-CATCH)
|
|
(GLOBAL LADDER TOWER BORDER-FENCE GUARDS)
|
|
(FLAGS GVIEWBIT)
|
|
(ACTION TWR-F)>
|
|
|
|
<ROUTINE TWR-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You're underneath the middle guard tower. The tower itself is supported
|
|
by four metal posts which rise to a height of twenty feet or so. Entrance to
|
|
the tower itself is via a wooden ladder running up and to the east at
|
|
the southwest corner of the tower
|
|
and leading to a closed door. Just a few dozen feet beyond the northern posts,
|
|
beyond a seemingly impenetrable border fence, lies freedom." CR CR>
|
|
<SETG P-WALK-DIR <>>
|
|
<PERFORM ,V?EXAMINE ,GUARDS>)>>
|
|
|
|
<OBJECT BINOCULARS
|
|
(LOC INSIDE-SHED)
|
|
(DESC "pair of binoculars")
|
|
(SYNONYM PAIR BINOCULARS GLASSES BINOCS)
|
|
(FDESC
|
|
"Hanging from a hook near the door is a pair of binoculars.")
|
|
(ADJECTIVE FIELD)
|
|
(FLAGS TAKEBIT TRANSBIT)
|
|
(SCENARIO 2)
|
|
(ACTION BINOCULARS-F)>
|
|
|
|
<ROUTINE BINOCULARS-F ()
|
|
<COND (<VERB? WEAR>
|
|
<TELL
|
|
"The strap seems to be gone; you'll just have to carry them." CR>)
|
|
(<VERB? EXAMINE LOOK-INSIDE>
|
|
<TELL
|
|
"They are your typical pair of binoculars with a magnification of perhaps
|
|
eight times. If you want to look at something in particular through them,
|
|
try saying \"LOOK THROUGH BINOCULARS AT something.\"" CR>)
|
|
(<AND <VERB? EXAMINE-THROUGH>
|
|
<EQUAL? ,PRSI ,BINOCULARS>>
|
|
<COND (<AND <EQUAL? ,PRSO ,FENCE-SIGN>
|
|
<AT-NML?>>
|
|
<SIGN-READER>
|
|
<RTRUE>)
|
|
(<AND <EQUAL? ,PRSO ,FENCE>
|
|
<AT-NML?>>
|
|
<PERFORM ,V?EXAMINE ,FENCE>
|
|
<TELL CR
|
|
"Through the binoculars, you can make out what the signs say:" CR>
|
|
<SIGN-READER>)
|
|
(<AND <EQUAL? ,PRSO ,BORDER-FENCE>
|
|
<AT-NML?>>
|
|
<PERFORM ,V?EXAMINE ,PRSO>
|
|
<TELL CR
|
|
"It doesn't appear that any more detail has been found than you could
|
|
see with your naked eye." CR>)
|
|
(<AND <EQUAL? ,PRSO ,GUARDS>
|
|
<AT-NML?>>
|
|
<TELL
|
|
"It's a little easier to see the guards now, but the glare of the
|
|
searchlights is still annoying. There are clearly two guards; they
|
|
appear to march back and forth between the three towers, meeting in the
|
|
middle under the second tower. They are armed with automatic weapons,
|
|
and have that distinctive no-nonsense air about them which seems quite
|
|
appropriate for their job. A quick scan at the towers themselves reveal
|
|
that each has a guard poised ready at his machine gun." CR>)
|
|
(<AND <EQUAL? ,PRSO ,TOWER>
|
|
<AT-NML?>>
|
|
<TELL
|
|
"With the " D ,PRSI ", the towers are easily seen. The important detail
|
|
seems to be that each tower has a guard inside, with a machine gun trained
|
|
on the field that lies before you." CR>
|
|
<COND (,TOWER-DESTROYED
|
|
<TELL CR
|
|
"The bomb you left seems to have quite an impact, as the middle tower
|
|
is lying in ruins on the ground." CR>)>
|
|
<RTRUE>)
|
|
;(<AND <EQUAL? ,PRSO ,SHED>
|
|
<EQUAL? ,HERE ,OUTSIDE-SHED>>
|
|
<TELL
|
|
"It appears to be a small, wooden building; too small, in fact, for a home.
|
|
Perhaps it is a utility shed or an outhouse.">
|
|
<COND (<IN? ,HUT-MAN ,OUTSIDE-SHED>
|
|
<TELL
|
|
" There's somebody standing outside, but you don't recognize him.">)>
|
|
<CRLF>)
|
|
(<ULTIMATELY-IN? ,PRSO ,WINNER>
|
|
<TELL
|
|
"Perhaps you are becoming near-sighted, but this is surely extreme.
|
|
You remind yourself to get a \"company\" physical, if you survive." CR>)
|
|
(T
|
|
<TELL
|
|
"There's nothing more to be seen than with the naked eye." CR>)>)>>
|
|
|
|
<ROUTINE AT-NML? ()
|
|
<OR <EQUAL? ,HERE ,B2 ,C2 ,D2>
|
|
<EQUAL? ,HERE ,E2 ,A2>>>
|
|
|
|
<OBJECT EXPLODING-PEN
|
|
(DESC "pen")
|
|
(SYNONYM PEN EXPLOSIVE)
|
|
(ADJECTIVE EXPLODING)
|
|
(FLAGS TAKEBIT OPENBIT CONTBIT SURFACEBIT)
|
|
(SCENARIO 2)
|
|
(ACTION EXPLODING-PEN-F)>
|
|
|
|
<CONSTANT SANITY-2
|
|
"Your sanity is coming into question. Perhaps it is the blood loss.">
|
|
|
|
<ROUTINE EXPLODING-PEN-F ()
|
|
<COND (<AND <VERB? TIE PUT-ON>
|
|
<EQUAL? ,PRSO ,EXPLODING-PEN>>
|
|
<COND (<IN? ,PRSI ,GLOBAL-OBJECTS>
|
|
<TELL ,SANITY-2 CR>)
|
|
(T
|
|
<TELL
|
|
"The pen won't stick to the " D ,PRSI ,PERIOD-CR>)>)
|
|
(<VERB? EXAMINE>
|
|
<COND (,BOMB-DUD
|
|
<TELL
|
|
"It looks like the bomb is a dud." CR>)
|
|
(T
|
|
<TELL
|
|
"Although the pen looks quite ordinary, it's nothing of the sort. It is,
|
|
in fact, an explosive device that you've always thought well-suited for a
|
|
James Bond movie. When the cap is removed, a small button is revealed.
|
|
Each push of the button sets the internal timer for an additional minute
|
|
before detonation. When the cap is replaced, the explosive is armed and
|
|
nothing can stop it. It's not very powerful, but it can do the job. It
|
|
is also highly magnetic, making it easier to place, but more difficult
|
|
to handle in the vicinity of wire hangers and the like." CR>)>)
|
|
(<AND <VERB? PUT PUT-ON TIE>
|
|
<EQUAL? ,PRSI ,EXPLODING-PEN>
|
|
<NOT <EQUAL? ,PRSO ,PEN-CAP>>>
|
|
<TELL
|
|
"The only thing you can put on the pen is the pen cap." CR>)
|
|
(<AND <VERB? OPEN>
|
|
<IN? ,PEN-CAP ,EXPLODING-PEN>>
|
|
<PERFORM ,V?TAKE ,PEN-CAP>
|
|
<THIS-IS-IT ,EXPLODING-PEN>
|
|
<RTRUE>)
|
|
(<VERB? OPEN>
|
|
<TELL
|
|
"It's as open as it gets." CR>)
|
|
(<AND <VERB? CLOSE>
|
|
<IN? ,PEN-CAP ,WINNER>>
|
|
<PERFORM ,V?PUT-ON ,PEN-CAP ,EXPLODING-PEN>
|
|
<THIS-IS-IT ,EXPLODING-PEN>
|
|
<RTRUE>)
|
|
(<VERB? THROW>
|
|
<TELL
|
|
"No, it's not the sort of explosive that detonates on impact, though
|
|
come to think of it, that wouldn't be bad to have. Just place it where you
|
|
want it." CR>)>>
|
|
|
|
<GLOBAL BOMB-DUD <>>
|
|
|
|
<ROUTINE I-FUSE ("AUX" RM RMA L)
|
|
<SETG I-FATAL T>
|
|
<PUT ,CLOCK-TBL ,I-FUSE-OFF 32767>
|
|
<SETG CHRONOGRAPH-TIME ,FUSE-ARMED>
|
|
<UPDATE-CHRONOGRAPH 0>
|
|
<HLIGHT ,H-BOLD>
|
|
<CRLF>
|
|
<COND (<IN? ,EXPLODING-PEN ,KNAPSACK>
|
|
<MOVE ,EXPLODING-PEN <LOC ,KNAPSACK>>
|
|
<REMOVE ,KNAPSACK>)>
|
|
<SET L <LOC ,EXPLODING-PEN>>
|
|
<COND (<ULTIMATELY-IN? ,EXPLODING-PEN ,WINNER>
|
|
<TELL
|
|
"The exploding pen does its thing, and you have finished doing yours.">
|
|
<HLIGHT ,H-NORMAL>
|
|
<CRLF>
|
|
<FINISH>)
|
|
(<OR <ULTIMATELY-IN? ,EXPLODING-PEN ,HERE>
|
|
<AND <EQUAL? .L ,FENCE>
|
|
<GLOBAL-IN? ,FENCE ,HERE>
|
|
<FSET? ,HERE ,PENBIT>>>
|
|
<TELL
|
|
"The pen explodes nearby, and you are wounded by the flying debris. ">
|
|
<COND (,GUARD-CHASE
|
|
<JIGS-UP
|
|
"The pursuing guards are more fortunate.">)
|
|
(T
|
|
<JIGS-UP
|
|
"Naturally, the explosion attracts the attention of the border guards, who
|
|
are rapidly on the scene.">)>)
|
|
(<IN? ,EXPLODING-PEN ,FENCE>
|
|
<COND (<FSET? ,OUTF-1 ,PENBIT>
|
|
<SET RM ,OUTF-1>)
|
|
(<FSET? ,OUTF-2 ,PENBIT>
|
|
<SET RM ,OUTF-2>)
|
|
(T
|
|
<SET RM ,OUTF-3>)>
|
|
<SET RMA <GETP .RM ,P?ACROSS>>
|
|
<FSET .RM ,FENCEBLOWNBIT>
|
|
<FSET .RMA ,FENCEBLOWNBIT>
|
|
<FCLEAR .RM ,PENBIT>
|
|
<FCLEAR .RMA ,PENBIT>
|
|
<SETG VIGILANCE T>
|
|
<BOMB-TELL .RM>)
|
|
(<EQUAL? .L ,NW-POST ,NE-POST>
|
|
<COND (<EQUAL? ,HERE ,TOWER-SOUTH>
|
|
<TELL
|
|
"The pen explodes, and a long moment passes in silence. The tower
|
|
starts to tremble, and a moment later you're tumbling down toward
|
|
the ground. You don't arrive, however, as the rear of the tower
|
|
catches the top of the border fence. For a second, you are suspended
|
|
over the border, the sound of approaching guards and
|
|
scattered machine gun fire echoing in your ears. And then the tower itself
|
|
falls over, landing in a small heap just across the border. As if by instinct,
|
|
you lift yourself up and move into the darkness beyond. You don't quite
|
|
know where you are, but what the heck, you're safe now. Somebody will
|
|
find you sooner or later, but for now sleep doesn't sound so bad...|
|
|
|
|
|
|
|
|
Congratulations! You have survived the second chapter of Border Zone.
|
|
The story continues with Chapter 3: The Assassination. To start, type
|
|
CONTINUE at the next prompt.|
|
|
|
|
|
">
|
|
<FINISH 3>)
|
|
(<EQUAL? ,HERE ,LADDER-TOP>
|
|
<PEN-POOF>
|
|
<TELL
|
|
" The tower gives way, and you fall to the ground. This must be your
|
|
lucky day, because the falling tower misses you by a small margin. Before
|
|
you are captured, you notice that the rearmost section of the
|
|
tower has fallen on the other side of the border.">
|
|
<JIGS-UP " ">)
|
|
(<EQUAL? ,HERE ,TWR-2 ,BDR-2>
|
|
<PEN-POOF>
|
|
<TELL
|
|
" The tower is about to give way, but you quickly move
|
|
aside, as the tower falls backward into the border fence, the northmost
|
|
section of the tower landing across the border, and the
|
|
remaining portion landing in a heap alongside you. Guards are everywhere,
|
|
and it's not long before you are captured.">
|
|
<JIGS-UP " ">)
|
|
(<FSET? ,HERE ,GVIEWBIT>
|
|
<PEN-POOF>
|
|
<TELL
|
|
" The tower gives way, falling backward toward the border fence. The
|
|
rearmost portion hits the fence itself, projecting part of the tower across
|
|
the border. The remainder falls in a heap on the ground. Guards quickly
|
|
arrive on the scene; one of them spots you, and you are speedily
|
|
captured.">
|
|
<JIGS-UP " ">)
|
|
(T
|
|
<SETG TOWER-DESTROYED T>
|
|
<TELL ,EXPLOSION-HEARD CR>)>)
|
|
(<EQUAL? .L ,SE-POST ,SW-POST ,LADDER-TOP>
|
|
<COND (<EQUAL? ,HERE ,TOWER-SOUTH ,LADDER-TOP>
|
|
<PEN-POOF>
|
|
<TELL
|
|
" The tower gives way, falling southward and to the group. You are flung
|
|
to the ground, fortunately just a few feet away from the bulk of the
|
|
debris. Dazed, you slowly regain your feet as the guards arrive to place
|
|
you under arrest.">
|
|
<JIGS-UP " ">)
|
|
(<EQUAL? ,HERE ,TWR-2 ,BDR-2>
|
|
<PEN-POOF>
|
|
<TELL
|
|
" The tower is about to give way, but you quickly move
|
|
aside, as the tower falls forward, away from the border, landing in a
|
|
heap alongside you. Guards
|
|
are everywhere, and it's not long before you are captured.">
|
|
<JIGS-UP " ">)
|
|
(<FSET? ,HERE ,GVIEWBIT>
|
|
<PEN-POOF>
|
|
<TELL
|
|
" The tower gives way, falling forward, away from the border, in a heap.
|
|
Guards quickly
|
|
arrive on the scene; one of them spots you, and you are speedily
|
|
captured.">
|
|
<JIGS-UP " ">)
|
|
(T
|
|
<SETG TOWER-DESTROYED T>
|
|
<TELL ,EXPLOSION-HEARD CR>)>)
|
|
(<OR <FSET? .L ,HUTBIT>
|
|
<FSET? .L ,OUTHUTBIT>>
|
|
<SETG HUT-BURNING T>
|
|
<HUT-MUNGER>
|
|
<REMOVE ,SCOUT>
|
|
<COND (<FSET? ,HERE ,HUTBIT> ; "In another room"
|
|
<TELL
|
|
"The pen explodes nearby, and immediately the hut
|
|
catches fire. You stumble through the smoke-filled air, and end up
|
|
outside the rear of the hut, dazed but unhurt.">
|
|
<HLIGHT ,H-NORMAL>
|
|
<CRLF>
|
|
<CRLF>
|
|
<GOTO ,BEHIND-HUT>
|
|
<STATUS-LINE>)
|
|
(<FSET? ,HERE ,OUTHUTBIT>
|
|
<TELL "The pen explodes ">
|
|
<COND (<FSET? .L ,OUTHUTBIT>
|
|
<TELL "around the other side of">)
|
|
(T
|
|
<TELL "somewhere inside">)>
|
|
<TELL " the hut. Almost at once,
|
|
you can smell the burning wood as the hut starts to go up in flames.">)
|
|
(T
|
|
<BOMB-TELL .L>)>
|
|
<COND (,CAR-SEQUENCE
|
|
<RUN-CAR-SEQUENCE>)>
|
|
<COND (<IN? ,HUT-MAN ,OUTSIDE-HUT>
|
|
<SETG WOOD-COUNT -10000>
|
|
<REMOVE ,HUT-MAN>)>)
|
|
(<FSET? .L ,GVIEWBIT>
|
|
<SETG VIGILANCE T>
|
|
<COND (<OR <FSET? ,HERE ,GVIEWBIT>
|
|
<FSET? ,HERE ,SLVIEWBIT>>
|
|
<TELL
|
|
"The pen explodes, sending debris flying into the air. Naturally, the guards
|
|
have all taken notice, making your position quite precarious." CR>)
|
|
(T
|
|
<BOMB-TELL .L>)>)
|
|
(<EQUAL? .L ,OUTSIDE-SHED>
|
|
<COND (<EQUAL? ,HERE ,INSIDE-SHED>
|
|
<TELL
|
|
"The bomb explodes outside the shed; fortunately for you, the wet ground
|
|
prevents a fire from spreading." CR>)
|
|
(T
|
|
<BOMB-TELL .L>)>)
|
|
(<EQUAL? .L ,INSIDE-SHED>
|
|
;<TELL "Unimplemented explosion: Shed destroyed." CR>
|
|
<SETG I-FATAL <>>
|
|
<MOVE ,EXPLODING-PEN ,INSIDE-SHED>
|
|
<SETG BOMB-DUD T>)
|
|
(<AND <L? <HOW-FAR ,D5 .L> 3>
|
|
<NOT <IN? ,HUT-MAN ,OUTSIDE-HUT>>>
|
|
<MOVE ,HUT-MAN ,OUTSIDE-HUT>
|
|
<COND (<EQUAL? ,HERE ,NORTH-HUT ,SOUTH-HUT ,BEHIND-HUT>
|
|
<TELL
|
|
"The pen explodes nearby with a rather loud noise; loud enough, in fact,
|
|
to ">
|
|
<COND (<AND <G? ,CAR-SEQUENCE 0>
|
|
<L? ,CAR-SEQUENCE 6>>
|
|
<SETG CAR-SEQUENCE 6>
|
|
<TELL
|
|
"hurry the owner up in reaching the guards outside.">)
|
|
(T
|
|
<SETG HUT-MAN-DIVERSION T>
|
|
<RT-QUEUE ,I-MAN-BACK 150>
|
|
<TELL
|
|
"alert the man inside the hut, who stands up and walks out of the
|
|
door to look around.">)>)
|
|
(T
|
|
<BOMB-TELL .L>)>)
|
|
(<EQUAL? .L ,CAR>
|
|
<COND (<ZERO? <LOC ,CAR>> T)
|
|
(<IN? ,CAR ,ROAD-END>
|
|
<REMOVE ,SCOUT>
|
|
<COND (<EQUAL? ,HERE ,SOUTH-HUT ,NORTH-HUT>
|
|
<COND (<EQUAL? ,HERE ,SOUTH-HUT>
|
|
<TELL
|
|
"The car explodes in a ball of red-orange flame.">)
|
|
(T
|
|
<TELL
|
|
"You hear the sound of the car exploding to the south.">)>
|
|
<TELL " The guards quickly
|
|
regroup and march off to the northeast (presumably to the roadblock
|
|
there).">
|
|
<COND (<IN? ,HUT-MAN ,OUTSIDE-HUT>
|
|
<MOVE ,HUT-MAN ,HUT-LIVING>
|
|
<TELL
|
|
" The man from the hut returns to the safety of his home.">)>)
|
|
(T
|
|
<BOMB-TELL .L>)>
|
|
<DEMOLISH-CAR>
|
|
<HLIGHT ,H-NORMAL>
|
|
<RTRUE>)
|
|
(<CAR-IN-VIEW?>
|
|
<TELL "Off to your ">
|
|
<TELL-DIRECTION ,HERE <LOC ,CAR>>
|
|
<DEMOLISH-CAR>
|
|
<TELL ", you watch as the car explodes in a ball
|
|
of red-orange flame. It's hard to believe there are any survivors.">)
|
|
(T
|
|
<BOMB-TELL .L>
|
|
<DEMOLISH-CAR>)>)
|
|
(T
|
|
<BOMB-TELL .L>)>
|
|
<REMOVE ,EXPLODING-PEN>
|
|
<HLIGHT ,H-NORMAL>
|
|
<CRLF>>
|
|
|
|
<GLOBAL TOWER-DESTROYED <>>
|
|
|
|
<OBJECT FLAMING-CAR
|
|
(DESC "burning car")
|
|
(SYNONYM CAR AUTOMOBILE)
|
|
(ADJECTIVE BURNING FLAMING)
|
|
(ACTION FLAMING-CAR-F)>
|
|
|
|
<ROUTINE FLAMING-CAR-F ()
|
|
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
|
<TELL
|
|
"The car is entirely engulfed in flame, and it's hard to get very close. ">
|
|
<COND (,GUARDS-IN-CAR
|
|
<TELL
|
|
"Through the smoke and fire, you can see the burning bodies of the guards
|
|
inside; none, it seems, was lucky enough to get away">)
|
|
(T
|
|
<TELL
|
|
"You can't make out anything inside">)>
|
|
<TELL ,PERIOD-CR>)
|
|
(<OR <VERB? OPEN BOARD ENTER>
|
|
<TOUCHING? ,PRSO>>
|
|
<TELL
|
|
"You can't get close enough for that." CR>)>>
|
|
|
|
<GLOBAL GUARDS-IN-CAR <>>
|
|
|
|
<ROUTINE DEMOLISH-CAR ()
|
|
<COND (<NOT ,CAR-SEQUENCE>
|
|
<SETG GUARDS-IN-CAR T>)>
|
|
<SETG CAR-SEQUENCE <>>
|
|
<SETG CAR-ON-ROAD? <>>
|
|
<SETG SEQUENCE-RUN? T>
|
|
<MOVE ,FLAMING-CAR <LOC ,CAR>>
|
|
<REMOVE ,CAR>>
|
|
|
|
<ROUTINE CAR-IN-VIEW? ("AUX" (L <LOC ,CAR>))
|
|
<COND (<NOT <ZERO? <LOC ,FLAMING-CAR>>>
|
|
<SET L <LOC ,FLAMING-CAR>>)>
|
|
<COND (<AND <EQUAL? .L ,ROAD-END>
|
|
<EQUAL? ,HERE ,SOUTH-HUT ,NORTH-HUT>>
|
|
T)
|
|
(<AND <EQUAL? .L ,F4 ,F5>
|
|
<EQUAL? ,HERE ,F4 ,F5>>
|
|
T)
|
|
(<AND <EQUAL? .L ,D6 ,E6>
|
|
<EQUAL? ,HERE ,D6 ,E6>>
|
|
T)
|
|
(<AND <EQUAL? .L ,D6 ,D7 ,D8>
|
|
<EQUAL? ,HERE ,D6 ,D7 ,D8>>
|
|
T)>>
|
|
|
|
<GLOBAL HUT-MAN-DIVERSION <>>
|
|
|
|
<ROUTINE I-MAN-BACK ()
|
|
<SETG HUT-MAN-DIVERSION <>>
|
|
<MOVE ,HUT-MAN ,HUT-LIVING>
|
|
<COND (<OR <EQUAL? ,HERE ,NORTH-HUT ,SOUTH-HUT ,BEHIND-HUT>
|
|
<EQUAL? ,HERE ,HUT-STORAGE ,HUT-BEDROOM>>
|
|
<BOLDTELL
|
|
"The man, confused about the source of the recent explosion, returns to the
|
|
comfort of his living room.">)>>
|
|
|
|
<ROUTINE BOMB-TELL (RM "AUX" HF)
|
|
<COND (<NOT <IN? .RM ,ROOMS>>
|
|
<SET RM <LOC .RM>>)>
|
|
<HOW-FAR ,HERE .RM>
|
|
<TELL "You hear a">
|
|
<COND (<L? .HF 2>
|
|
<TELL " loud ">)
|
|
(<L? .HF 4>
|
|
<TELL "n ">)
|
|
(T
|
|
<TELL " muffled ">)>
|
|
<TELL "explosion ">
|
|
<COND (<EQUAL? .HF 0> <TELL "nearby">)
|
|
(T
|
|
<TELL "off to the ">
|
|
<TELL-DIRECTION ,HERE .RM>)>
|
|
<TELL ,PERIOD-CR>>
|
|
|
|
<ROUTINE PEN-POOF ()
|
|
<TELL "The exploding pen does its thing, taking the "
|
|
D <LOC ,EXPLODING-PEN> " with it.">>
|
|
|
|
<GLOBAL EXPLOSION-HEARD
|
|
"You can hear an explosion in the distance.">
|
|
|
|
<GLOBAL FUSE-TIME 0>
|
|
|
|
<OBJECT PEN-CAP
|
|
(LOC EXPLODING-PEN)
|
|
(DESC "cap")
|
|
(SYNONYM CAP COVER)
|
|
(FLAGS TAKEBIT)
|
|
(SCENARIO 2)
|
|
(ACTION PEN-CAP-F)>
|
|
|
|
<ROUTINE PEN-CAP-F ()
|
|
<COND (<AND <VERB? TAKE>
|
|
<IN? ,PEN-CAP ,EXPLODING-PEN>>
|
|
<TELL
|
|
"Taking the cap reveals the internal timer button." CR>
|
|
<MOVE ,PEN-CAP ,WINNER>
|
|
<MOVE ,TIMER-BUTTON ,EXPLODING-PEN>)
|
|
(<AND <VERB? PUT PUT-ON>
|
|
<NOT <IN? ,PRSO ,PRSI>>
|
|
<EQUAL? ,PRSI ,EXPLODING-PEN>>
|
|
<MOVE ,PRSO ,PRSI>
|
|
<REMOVE ,TIMER-BUTTON>
|
|
<COND (<AND <ZERO? ,FUSE-ARMED>
|
|
<G? ,FUSE-TIME 0>>
|
|
<SETG FUSE-ARMED <* ,FUSE-TIME 60>>
|
|
<TELL
|
|
"The explosive is now armed; it will explode in ">
|
|
<NSPRINT ,FUSE-TIME "minute">
|
|
<TELL ". You reset your chronometer's
|
|
timer to zero and start it up." CR>
|
|
<SETG CLOCK-MOVE 0>
|
|
<SETG CHRONOGRAPH-TIME 0>
|
|
<SETG CHRONOGRAPH-ON T>
|
|
<UPDATE-CHRONOGRAPH 0>
|
|
<PUT ,CLOCK-TBL
|
|
,I-FUSE-OFF
|
|
<+ ,CLOCK-TIME ,FUSE-ARMED>>
|
|
<RTRUE>)
|
|
(<ZERO? ,FUSE-TIME>
|
|
<TELL
|
|
"You replace the cap, but the timing button was never pushed, so the
|
|
explosive isn't armed." CR>)>)
|
|
(<VERB? OPEN>
|
|
<PERFORM ,PRSA ,EXPLODING-PEN>
|
|
<RTRUE>)>>
|
|
|
|
<GLOBAL FUSE-ARMED 0>
|
|
|
|
<OBJECT TIMER-BUTTON
|
|
(DESC "timer button")
|
|
(SYNONYM BUTTON)
|
|
(ADJECTIVE TIMER RED)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION TIMER-BUTTON-F)>
|
|
|
|
<ROUTINE TIMER-BUTTON-F ()
|
|
<COND (<VERB? PUSH>
|
|
<SETG CLOCK-MOVE 3>
|
|
<COND (<G? ,FUSE-ARMED 0>
|
|
<TELL
|
|
"It won't make any difference; the device is armed." CR>)
|
|
(<G? ,FUSE-TIME 59>
|
|
<TELL
|
|
"Nothing happens; perhaps you've worn the damned thing out." CR>)
|
|
(T
|
|
<TELL
|
|
"The button replies with an almost silent \"click\"; you've pushed
|
|
the timer button ">
|
|
<NSPRINT <SETG FUSE-TIME <+ ,FUSE-TIME 1>> "time">
|
|
<TELL ,PERIOD-CR>)>)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
"The button is small, red, and quite lethal." CR>)>>
|
|
|
|
<OBJECT LADDER
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "ladder")
|
|
(SYNONYM LADDER)
|
|
(ADJECTIVE METAL)
|
|
(ACTION LADDER-F)>
|
|
|
|
<ROUTINE LADDER-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"The ladder is made of wood and climbs steeply up and to the east
|
|
at the southwest side of the tower, ending at a narrow landing
|
|
at the entrance to the tower
|
|
itself. It is secured in place not only at the tower entrance, but,
|
|
additionally, by a brace running horizontally between the ladder and the
|
|
southwest post at a point a few feet lower. From the sturdiness of
|
|
construction, you could probably climb the ladder without drawing the
|
|
attention of the occupant." CR>)
|
|
(<VERB? CUT>
|
|
<TELL "That would make too much noise." CR>)
|
|
(<OR <VERB? CLIMB CLIMB-UP BOARD>
|
|
<AND <VERB? CLIMB-ON> ,ON-BRACE?>>
|
|
<COND (<EQUAL? ,HERE ,TWR-2>
|
|
<DO-WALK ,P?UP>
|
|
<RTRUE>)
|
|
(,ON-BRACE?
|
|
<PERFORM ,V?DISEMBARK ,BRACE>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL "You're at the top." CR>)>)
|
|
(<VERB? CLIMB-DOWN>
|
|
<COND (<EQUAL? ,HERE ,LADDER-TOP>
|
|
<DO-WALK ,P?DOWN>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL "You're at the bottom." CR>)>)
|
|
(<AND <VERB? BOARD CLIMB-ON>
|
|
,ON-BRACE?>
|
|
<PERFORM ,V?LEAVE ,BRACE>
|
|
<RTRUE>)>>
|
|
|
|
<OBJECT POSTS
|
|
(LOC TWR-2)
|
|
(DESC "posts")
|
|
(SYNONYM POSTS)
|
|
(ADJECTIVE METAL STEEL)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION POSTS-F)>
|
|
|
|
<ROUTINE POSTS-F ("AUX" (L <LOC ,EXPLODING-PEN>))
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"Each guard tower is supported by four posts of six-inch square steel.
|
|
They are situated on the northeast, northwest, southeast, and southwest
|
|
corners of the building. The posts rise to a height of twenty feet, where they
|
|
are welded to the underside of the tower proper." CR>
|
|
<COND (<OR <EQUAL? .L ,NE-POST ,NW-POST>
|
|
<EQUAL? .L ,SE-POST ,SW-POST>>
|
|
<TELL CR
|
|
"The pen is attached to the " D .L ,PERIOD-CR>)>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL
|
|
"It would be best to refer to each post individually, by its position
|
|
around the base of the tower (e.g. northeast, northwest, etc.)" CR>)>>
|
|
|
|
<OBJECT NW-POST
|
|
(LOC TWR-2)
|
|
(DESC "northwest post")
|
|
(SYNONYM POST)
|
|
(ADJECTIVE NORTHWEST NW)
|
|
(FLAGS NDESCBIT OPENBIT METALBIT)
|
|
(ACTION POST-F)>
|
|
|
|
<OBJECT NE-POST
|
|
(LOC TWR-2)
|
|
(DESC "northeast post")
|
|
(SYNONYM POST)
|
|
(ADJECTIVE NORTHEAST NE)
|
|
(FLAGS NDESCBIT OPENBIT METALBIT)
|
|
(ACTION POST-F)>
|
|
|
|
<OBJECT SW-POST
|
|
(LOC TWR-2)
|
|
(DESC "southwest post")
|
|
(SYNONYM POST)
|
|
(ADJECTIVE SOUTHWEST SW)
|
|
(FLAGS NDESCBIT OPENBIT METALBIT)
|
|
(ACTION POST-F)>
|
|
|
|
<OBJECT SE-POST
|
|
(LOC TWR-2)
|
|
(DESC "southeast post")
|
|
(SYNONYM POST)
|
|
(ADJECTIVE SOUTHEAST SE)
|
|
(FLAGS NDESCBIT OPENBIT METALBIT)
|
|
(ACTION POST-F)>
|
|
|
|
<ROUTINE POST-F ()
|
|
<COND (<AND <VERB? TIE PUT PUT-ON>
|
|
<OR <EQUAL? ,PRSI ,NW-POST ,NE-POST>
|
|
<EQUAL? ,PRSI ,SE-POST ,SW-POST>>>
|
|
<COND (<EQUAL? ,PRSO ,EXPLODING-PEN>
|
|
<MOVE ,PRSO ,PRSI>
|
|
<COND (<EQUAL? ,HERE ,LADDER-TOP>
|
|
<TELL
|
|
"The pen adheres to the post after sliding down it to a point
|
|
just a few feet from the ground. You can't reach it again from here,
|
|
but you could from down below." CR>)
|
|
(T
|
|
<TELL
|
|
"The pen adheres strongly to the metallic post, and you remember to
|
|
position it out of the line of sight of the passing guards.">)>)>)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
"Each post is six inches square, made of steel, and twenty-odd feet high.">
|
|
<COND (<EQUAL? ,PRSO ,SW-POST>
|
|
<TELL
|
|
" Near the top of this post, a horizontal brace can be seen connecting
|
|
the post to the ladder which leads to the tower's entrance.">)>
|
|
<COND (<IN? ,EXPLODING-PEN ,PRSO>
|
|
<TELL
|
|
" Positioned away from the guards' line of sight, the magnetic pen is
|
|
adhering to the post.">)>
|
|
<CRLF>)
|
|
(<VERB? MUNG KICK>
|
|
<CRLF>
|
|
<JIGS-UP
|
|
"You don't get anywhere so far as damaging the post is concerned; you
|
|
do, however, rattle it enough to alert the guard inside, who within
|
|
five seconds is upon you, gun drawn.">)>>
|
|
|
|
<OBJECT BORDER-FENCE
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "border fence")
|
|
(SYNONYM FENCE LINK LINKS)
|
|
(ADJECTIVE CHAIN-LINK CHAIN BORDER IMPENETRABLE TALL)
|
|
(GENERIC GENERIC-FENCE)
|
|
(FLAGS METALBIT)
|
|
(ACTION BORDER-FENCE-F)>
|
|
|
|
<ROUTINE BORDER-FENCE-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"The fence is quite formidable. It rises to a height of fifteen feet above
|
|
the ground, and is made of a much heavier chain-link construction than the
|
|
first. The overhang, six feet wide, is a solid
|
|
sheet of metal, providing no possibility for scaling." CR>)
|
|
(<AT-NML?>
|
|
<TELL
|
|
"You'll have to get there first." CR>)
|
|
(<VERB? LEAP>
|
|
<COND (<EQUAL? ,HERE ,TOWER-SOUTH>
|
|
<TELL
|
|
"You're high enough, all right, but you'd probably end up skewered
|
|
on the barbed wire." CR>)
|
|
(T
|
|
<TELL "You're not Superman." CR>)>)
|
|
(<VERB? CLIMB-UP CLIMB CLIMB-OVER>
|
|
<TELL "Utterly hopeless." CR>)
|
|
(<AND <VERB? PUT PUT-ON TIE>
|
|
<EQUAL? ,PRSO ,EXPLODING-PEN>>
|
|
<TELL
|
|
"The pen won't adhere to the fence; perhaps it is not steel." CR>)
|
|
(<VERB? CUT MUNG>
|
|
<TELL "You haven't a chance of breaking through." CR>)>>
|
|
|
|
<ROOM BDR-2
|
|
(LOC ROOMS)
|
|
(NS 1)
|
|
(EW 4)
|
|
(PATH 0)
|
|
(GPOS 90)
|
|
(DESC "Border")
|
|
(SOUTH PER GUARD-MOVE-TWR)
|
|
(EAST PER GUARD-CATCH)
|
|
(WEST PER GUARD-CATCH)
|
|
(NE PER GUARD-CATCH)
|
|
(NW PER GUARD-CATCH)
|
|
(SE PER GUARD-CATCH)
|
|
(SW PER GUARD-CATCH)
|
|
(NORTH SORRY "That appears to be the problem at hand.")
|
|
(FLAGS GVIEWBIT)
|
|
(GLOBAL BORDER-FENCE TOWER GUARDS)
|
|
(ACTION BDR-F)>
|
|
|
|
<ROUTINE BDR-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You are standing just a few feet away from the border. The fence here is
|
|
simply too much to hope
|
|
to overcome. Behind you, to the south, is the central guard tower,
|
|
the other two flanking the first a hundred yards on each side." CR>
|
|
<SETG P-WALK-DIR <>>
|
|
<PERFORM ,V?EXAMINE ,GUARDS>)>>
|
|
|
|
<OBJECT TOWER
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "tower")
|
|
(SYNONYM TOWER TOWERS)
|
|
(ADJECTIVE WATCH GUARD LEFT MIDDLE CENTER RIGHT)
|
|
(ACTION TOWER-F)>
|
|
|
|
<ROUTINE TOWER-F ()
|
|
<COND (<AND <VERB? ENTER BOARD>
|
|
<EQUAL? ,HERE ,LADDER-TOP>>
|
|
<COND (,ON-BRACE?
|
|
<TELL
|
|
"You'll have to get off the brace first." CR>)
|
|
(T
|
|
<DO-WALK ,P?IN>
|
|
<RTRUE>)>)
|
|
(<VERB? LEAP-OFF>
|
|
<COND (<EQUAL? ,HERE ,TOWER-SOUTH>
|
|
<PERFORM ,V?LEAP ,BORDER-FENCE>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL
|
|
"Tell me again when you've gotten there." CR>)>)
|
|
(<VERB? CRAWL-UNDER>
|
|
<COND (<EQUAL? ,HERE ,INF-2>
|
|
<DO-WALK ,P?NORTH>
|
|
<RTRUE>)
|
|
(<EQUAL? ,HERE ,TWR-2>
|
|
<TELL "You already are." CR>)
|
|
(<EQUAL? ,HERE ,BDR-2>
|
|
<DO-WALK ,P?SOUTH>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL
|
|
"You're not close enough for that yet." CR>)>)
|
|
(<VERB? WALK-TO>
|
|
<TELL
|
|
"Just say the direction you wish to cross in; given the lights and
|
|
the distances involved, however, it would only safe to cross directly
|
|
to the north." CR>)
|
|
(<VERB? EXAMINE FIND WATCH EXAMINE-THROUGH>
|
|
<COND (<AT-NML?>
|
|
<TELL
|
|
"It's hard to make out much detail at this distance, but each tower is
|
|
the same - fifteen, perhaps twenty feet high, supported by long posts.
|
|
It could be presumed that guards are inside, but you couldn't be
|
|
certain." CR>)
|
|
(<EQUAL? ,HERE ,TOWER-SOUTH>
|
|
<TELL "You're in it; there's no more to be seen." CR>)
|
|
(T
|
|
<TELL
|
|
"From this distance, you are more-or-less looking up at the tower,
|
|
which is supported by four metal posts. You can see the business end of
|
|
a machine gun poking out of the guard's platform, but otherwise can make
|
|
out no significant details.">)>)
|
|
(<AT-NML?>
|
|
<TELL
|
|
"It's awfully hard to do anything to the tower at this distance." CR>)>>
|
|
|
|
<OBJECT FENCE
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "first fence")
|
|
(SYNONYM CHAIN-LINK LINK LINKS FENCE)
|
|
(ADJECTIVE FIRST CHAIN ELECTRIFIED)
|
|
(GENERIC GENERIC-FENCE)
|
|
(FLAGS METALBIT OPENBIT)
|
|
(ACTION FENCE-F)>
|
|
|
|
<ROUTINE GENERIC-FENCE ()
|
|
<COND (<OR <EQUAL? ,HERE ,OUTF-1 ,OUTF-2 ,OUTF-3>
|
|
<EQUAL? ,HERE ,INF-1 ,INF-2 ,INF-3>>
|
|
,FENCE)
|
|
(<OR <EQUAL? ,HERE ,TOWER-SOUTH ,LADDER-TOP ,BDR-2>
|
|
<EQUAL? ,HERE ,TWR-2>>
|
|
,BORDER-FENCE)>>
|
|
|
|
<OBJECT FENCE-SIGN
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "warning sign")
|
|
(SYNONYM SIGN SIGNS NOTICE NOTICES)
|
|
(ADJECTIVE WARNING)
|
|
(FLAGS READBIT)
|
|
(ACTION FENCE-SIGN-F)>
|
|
|
|
<ROUTINE FENCE-SIGN-F ()
|
|
<COND (<VERB? TOUCH>
|
|
<PERFORM ,V?TOUCH ,FENCE>
|
|
<RTRUE>)
|
|
(<VERB? READ EXAMINE>
|
|
<COND (<AT-NML?>
|
|
<TELL
|
|
"At this distance, you can't read the sign." CR>
|
|
<RTRUE>)>
|
|
<SIGN-READER>)>>
|
|
|
|
<ROUTINE SIGN-READER ()
|
|
<BOLDTELL
|
|
"|
|
|
Enkipna!|
|
|
Nizemzi obstch im!|
|
|
Fingri en Morz!">
|
|
<TELL CR CR
|
|
"You smile, thinking of the literal translation: Have fear! The fence
|
|
will incinerate you! Touch it and die!" CR>>
|
|
|
|
<ROUTINE FENCE-F ("AUX" (ACROSS <GETP ,HERE ,P?ACROSS>))
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"The fence runs across the entire length of the border area. It is of
|
|
chain-link construction, and reaches a height of eight feet. At the top
|
|
the fence slopes back toward you, forming an overhang of about four
|
|
feet, which is completely covered with razor-sharp barbs.">
|
|
<COND (<FSET? ,HERE ,FENCEBLOWNBIT>
|
|
<TELL " The fence has been destroyed here
|
|
by the blast of the exploding pen. Enough has been blown away to allow
|
|
passage easily to the other side.">)
|
|
(<FSET? ,HERE ,FENCECUTBIT>
|
|
<TELL " The fence has been cut
|
|
here">
|
|
<COND (<FSET? ,HERE ,FENCEBENTBIT>
|
|
<TELL " and has been bent out of the way,
|
|
so that it's possible to safely go through it.">)
|
|
(T
|
|
<TELL ".">)>)>
|
|
<TELL " Every ten feet along the fence
|
|
is a warning sign.">
|
|
<COND (<FSET? ,HERE ,PENBIT>
|
|
<TELL
|
|
" The pen is adhering to the fence at this point.">)>
|
|
<CRLF>)
|
|
(<AT-NML?>
|
|
<TELL
|
|
"You'll have to get a lot closer for that." CR>)
|
|
(<VERB? DIG>
|
|
<PERFORM ,V?DIG ,GROUND>
|
|
<RTRUE>)
|
|
(<VERB? CRAWL-UNDER ENTER>
|
|
<COND (<OR <FSET? ,HERE ,FENCEBENTBIT>
|
|
<FSET? ,HERE ,FENCEBLOWNBIT>>
|
|
<TELL
|
|
"You carefully negotiate yourself through the ">
|
|
<COND (<FSET? ,HERE ,FENCEBENTBIT>
|
|
<TELL "bent">)
|
|
(T
|
|
<TELL "mangled">)>
|
|
<TELL " fence, making
|
|
sure no part of your body contacts the fence itself." CR CR>
|
|
<GOTO .ACROSS>
|
|
<RTRUE>)
|
|
(<FSET? ,HERE ,FENCECUTBIT>
|
|
<TELL "You start through the fence..." CR CR>
|
|
<REMOVE ,RUBBER-GLOVES>
|
|
<PERFORM ,V?TOUCH ,FENCE>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL
|
|
"Just how to achieve that goal is your predicament at the moment." CR>)>)
|
|
(<AND <TOUCHING? ,PRSO>
|
|
<OR <NOT <IN? ,RUBBER-GLOVES ,PROTAGONIST>>
|
|
<NOT <FSET? ,RUBBER-GLOVES ,WORNBIT>>>>
|
|
<JIGS-UP
|
|
"You are jolted by the 240 volts which courses through your body. Just
|
|
before passing out, you manage to pull yourself away from the
|
|
electrified fence, saving you from a certain death. You regain
|
|
consciousness some time later, but not before the border patrol
|
|
arrives.">)
|
|
(<AND <VERB? PUT PUT-ON TIE>
|
|
<EQUAL? ,PRSO ,EXPLODING-PEN>>
|
|
<MOVE ,PRSO ,PRSI>
|
|
<TELL
|
|
"The pen is now adhering to the fence at this point." CR>
|
|
<FSET ,HERE ,PENBIT>
|
|
<FSET <GETP ,HERE ,P?ACROSS> ,PENBIT>
|
|
<RTRUE>)
|
|
(<VERB? TOUCH>
|
|
<TELL
|
|
"You find you can safely touch the fence." CR>)
|
|
(<VERB? CLIMB CLIMB-UP CLIMB-OVER CLIMB-ON>
|
|
<TELL
|
|
"You clamber up the fence and reach the overhang. From here, the small
|
|
caliber of the wires and the bulky gloves on your hands, makes it clear
|
|
that the overhang is simply not negotiable. You drop back to the
|
|
ground." CR>)
|
|
(<VERB? CUT MUNG>
|
|
<COND (<FSET? ,HERE ,FENCEBLOWNBIT>
|
|
<TELL
|
|
"It's not necessary; there's little fence left here." CR>)
|
|
(<FSET? ,HERE ,FENCECUTBIT>
|
|
<TELL
|
|
"It won't help to break any more links on the fence; you'd just
|
|
risk setting off an alarm if the fence happens to be wired to detect
|
|
voltage drop." CR>)
|
|
(<EQUAL? ,PRSI ,BOLT-CUTTER>
|
|
<FSET ,HERE ,FENCECUTBIT>
|
|
<FSET .ACROSS ,FENCECUTBIT>
|
|
<SETG CUT-DETECTED <+ ,CLOCK-TIME 800>>
|
|
<TELL
|
|
"It's not easy, but you manage to cut a dozen or so of the chain links,
|
|
making a vertical slit about three feet long." CR>)
|
|
(<EQUAL? ,PRSI ,WOOD-SAW>
|
|
<TELL
|
|
"You try it for a while, and make little progress. Apparently, the wood saw
|
|
isn't very useful with metal." CR>)
|
|
(T
|
|
<TELL
|
|
"You won't make any progress with that!" CR>)>)
|
|
(<VERB? BEND PUSH MOVE OPEN>
|
|
<COND (<FSET? ,HERE ,FENCEBLOWNBIT>
|
|
<TELL
|
|
"It's not necessary any more." CR>)
|
|
(<FSET? ,HERE ,FENCECUTBIT>
|
|
<COND (<FSET? ,HERE ,FENCEBENTBIT>
|
|
<FCLEAR ,HERE ,FENCEBENTBIT>
|
|
<FCLEAR .ACROSS ,FENCEBENTBIT>
|
|
<TELL
|
|
"You bend the fence back to its original position." CR>)
|
|
(T
|
|
<FSET ,HERE ,FENCEBENTBIT>
|
|
<FSET .ACROSS ,FENCEBENTBIT>
|
|
<TELL
|
|
"You bend back the fence far enough to allow you to go through." CR>)>)
|
|
(T
|
|
<TELL
|
|
"You can't bend the fence while it's just sitting there in one
|
|
piece." CR>)>)>>
|
|
|
|
<GLOBAL CUT-DETECTED <>>
|
|
|
|
<OBJECT RUBBER-GLOVES
|
|
(DESC "pair of rubber gloves")
|
|
(SYNONYM PAIR GLOVES)
|
|
(ADJECTIVE RUBBER OLD)
|
|
(FLAGS TAKEBIT WEARBIT)
|
|
(SCENARIO 2)>
|
|
|
|
<ROOM B2
|
|
(EW 2)
|
|
(NS 2)
|
|
(LOC ROOMS)
|
|
(DESC "Border Zone, Station")
|
|
(PATH 0)
|
|
(WEST TO A2 IF HACK-FLAG ELSE
|
|
"You emerge from the forest into an open area through which runs
|
|
a railroad track oriented north and south. Beyond the tracks, the
|
|
ground rises steeply.")
|
|
(EAST TO C2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible.")
|
|
(SE TO C3 IF HACK-FLAG ELSE
|
|
"The blowing snow blinds you for a moment as you walk through the
|
|
forest.")
|
|
(SW TO A3 IF HACK-FLAG ELSE
|
|
"You emerge from the forest into an open area through which runs
|
|
a railroad track oriented north and south. Beyond the tracks, the
|
|
ground rises steeply.")
|
|
(SOUTH TO B3 IF HACK-FLAG ELSE
|
|
"A cold gust of wind swirls snow into your face, making it difficult
|
|
to see clearly, but you press on through the forest.")
|
|
(NORTH SORRY
|
|
"Attempting a run directly at the border station would be tantamount to
|
|
surrendering to the authorities and giving up on your mission.")
|
|
(NE SORRY
|
|
"Given the rate at which the searchlights are turning, it would be suicidal
|
|
to attempt anything other than a direct run at the tower to the north.")
|
|
|
|
(NW SORRY
|
|
"Given the rate at which the searchlights are turning, it would be suicidal
|
|
to attempt anything other than a direct run at the tower to the north.")
|
|
|
|
(FLAGS SLVIEWBIT)
|
|
(GLOBAL SEARCHLIGHTS GUARDS TOWER FENCE FENCE-SIGN BORDER-FENCE BORDER-FIELD)
|
|
(ACTION EDGE-ROOM-F)>
|
|
|
|
<ROUTINE EDGE-ROOM-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You are standing at the edge of the forest; before you, to the north,
|
|
is an open field perhaps 200 yards wide beyond which lies the border.
|
|
Three guard towers, ">
|
|
<COND (<EQUAL? ,HERE ,B2>
|
|
<TELL "all to your right">)
|
|
(T
|
|
<TELL "one before you and ">
|
|
<COND (<EQUAL? ,HERE ,C2>
|
|
<TELL "two to your right">)
|
|
(<EQUAL? ,HERE ,D2>
|
|
<TELL "one to either side">)
|
|
(T
|
|
<TELL "two to your left">)>)>
|
|
<TELL ",
|
|
and each with a rotating searchlight mounted on top, stand watch over this
|
|
no-man's-land. And assuming you could cross without being seen, two more
|
|
obstacles remain, in the form of imposing fences, one before and the
|
|
other beyond the tower. You can continue along the edge of the forest
|
|
to the ">
|
|
<COND (<NOT <EQUAL? ,HERE ,E2>>
|
|
<TELL "east and ">)>
|
|
<TELL "west or reenter the forest to the south.">
|
|
<COND (<EQUAL? ,HERE ,E2>
|
|
<TELL " To the east, the ground dips sharply;
|
|
you'd probably be hurt trying to go that way.">)>
|
|
<CRLF>)>>
|
|
|
|
<ROOM C2
|
|
(EW 3)
|
|
(NS 2)
|
|
(LOC ROOMS)
|
|
(DESC "Border Zone, Left")
|
|
(PATH 0)
|
|
(WEST TO B2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible. Directly across the border zone is
|
|
the border crossing station.")
|
|
(EAST TO D2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible.")
|
|
(SE TO D3 IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest.")
|
|
(SW TO B3 IF HACK-FLAG ELSE
|
|
"The blowing snow blinds you for a moment as you walk through the
|
|
forest.")
|
|
(SOUTH TO C3 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(NORTH PER NOMANS-MOVE)
|
|
(NE SORRY
|
|
"Given the rate at which the searchlights are turning, it would be suicidal
|
|
to attempt anything other than a direct run at the tower to the north.")
|
|
|
|
(NW SORRY
|
|
"Given the rate at which the searchlights are turning, it would be suicidal
|
|
to attempt anything other than a direct run at the tower to the north.")
|
|
|
|
(NOMAN
|
|
<TABLE <TABLE 180 180 0 0> <TABLE 225 270 0 0> <TABLE 240 270 0 0> OUTF-1>)
|
|
|
|
(FLAGS SLVIEWBIT)
|
|
(GLOBAL SEARCHLIGHTS GUARDS TOWER FENCE FENCE-SIGN BORDER-FENCE BORDER-FIELD)
|
|
(ACTION EDGE-ROOM-F)>
|
|
|
|
<ROOM D2
|
|
(EW 4)
|
|
(NS 2)
|
|
(LOC ROOMS)
|
|
(DESC "Border Zone, Center")
|
|
(PATH 0)
|
|
(WEST TO C2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible.")
|
|
(EAST TO E2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible.")
|
|
(SE TO E3 IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed through the forest.")
|
|
(SW TO C3 IF HACK-FLAG ELSE
|
|
"You continue through the forest for a hundred yards, and then
|
|
stop. Snowflakes fall softly around you - nearby, a small animal
|
|
scurries through the brush.")
|
|
(SOUTH TO D3 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(NORTH PER NOMANS-MOVE)
|
|
(NE SORRY
|
|
"Given the rate at which the searchlights are turning, it would be suicidal
|
|
to attempt anything other than a direct run at the tower to the north.")
|
|
|
|
(NW SORRY
|
|
"Given the rate at which the searchlights are turning, it would be suicidal
|
|
to attempt anything other than a direct run at the tower to the north.")
|
|
|
|
(NOMAN
|
|
<TABLE <TABLE 135 90 0 0> <TABLE 180 180 0 0> <TABLE 225 270 0 0> OUTF-2>)
|
|
|
|
(FLAGS SLVIEWBIT)
|
|
(GLOBAL SEARCHLIGHTS GUARDS TOWER FENCE FENCE-SIGN BORDER-FENCE BORDER-FIELD)
|
|
(ACTION EDGE-ROOM-F)>
|
|
|
|
<ROOM E2
|
|
(EW 5)
|
|
(NS 2)
|
|
(LOC ROOMS)
|
|
(DESC "Border Zone, Right")
|
|
(PATH 0)
|
|
(WEST TO D2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible.")
|
|
(EAST SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(SE TO F3 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(SW TO D3 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(SOUTH TO E3 IF HACK-FLAG ELSE
|
|
"A cold gust of wind swirls snow into your face, making it difficult
|
|
to see clearly, but you press on through the forest.")
|
|
(NORTH PER NOMANS-MOVE)
|
|
(NE SORRY
|
|
"Given the rate at which the searchlights are turning, it would be suicidal
|
|
to attempt anything other than a direct run at the tower to the north.")
|
|
|
|
(NW SORRY
|
|
"Given the rate at which the searchlights are turning, it would be suicidal
|
|
to attempt anything other than a direct run at the tower to the north.")
|
|
|
|
(NOMAN
|
|
<TABLE <TABLE 120 90 0 0> <TABLE 135 90 0 0> <TABLE 180 180 0 0> OUTF-3>)
|
|
|
|
(FLAGS SLVIEWBIT)
|
|
(GLOBAL SEARCHLIGHTS GUARDS TOWER FENCE FENCE-SIGN BORDER-FENCE BORDER-FIELD)
|
|
(ACTION EDGE-ROOM-F)>
|
|
|
|
<OBJECT BORDER-FIELD
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "open field")
|
|
(SYNONYM FIELD LAND)
|
|
(ADJECTIVE OPEN NOMANS NO-MANS)
|
|
(FLAGS VOWELBIT AN)
|
|
(ACTION BORDER-FIELD-F)>
|
|
|
|
<ROUTINE BORDER-FIELD-F ()
|
|
<COND (<VERB? CROSS ENTER CLIMB>
|
|
<DO-WALK ,P?NORTH>
|
|
<RTRUE>)>>
|
|
|
|
<ROOM A2
|
|
(EW 1)
|
|
(NS 2)
|
|
(LOC ROOMS)
|
|
(DESC "Border Zone, Tracks")
|
|
(PATH A3)
|
|
(WEST SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(EAST TO B2 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest,
|
|
until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible.")
|
|
(SE TO B3 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(SW SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(SOUTH TO A3 IF HACK-FLAG ELSE
|
|
"You continue along the tracks for about a hundred yards.")
|
|
(NORTH SORRY
|
|
"You'd do as well to surrender.")
|
|
(NE SORRY
|
|
"You'd do as well to surrender.")
|
|
(NW SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(GLOBAL SEARCHLIGHTS)
|
|
(FLAGS TRACKSBIT)
|
|
(ACTION TRACKS-ROOM-F)>
|
|
|
|
<OBJECT TRACKS
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "tracks")
|
|
(SCENARIO 2)
|
|
(SYNONYM TRACKS)
|
|
(ADJECTIVE RAILROAD)
|
|
(ACTION TRACKS-F)>
|
|
|
|
<ROUTINE TRACKS-F ("OPTIONAL" (FLG T))
|
|
<COND (<AND .FLG <NOT <FSET? ,HERE ,TRACKSBIT>>>
|
|
<TELL
|
|
"There are no tracks here." CR>)
|
|
(<VERB? FOLLOW>
|
|
<TELL
|
|
"You'll have to specify a direction." CR>)
|
|
(<VERB? LISTEN>
|
|
<TELL
|
|
"You listen for a while; there's no train coming." CR>)>>
|
|
|
|
<OBJECT ROAD
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "road")
|
|
(SYNONYM ROAD ROADWAY PAVEMENT)
|
|
(ACTION ROAD-F)>
|
|
|
|
<ROUTINE ROAD-F ()
|
|
<COND (<NOT <FSET? ,HERE ,ROADBIT>>
|
|
<TELL
|
|
"There is no road here." CR>)
|
|
(<TRACKS-F <>>
|
|
<RTRUE>)>>
|
|
|
|
<ROUTINE TRACKS-ROOM-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You are standing on tracks ">
|
|
<COND (<EQUAL? ,HERE ,A7>
|
|
<TELL
|
|
"which lead off far to the north, but at this point bend to the southeast.">)
|
|
(<EQUAL? ,HERE ,B8>
|
|
<TELL
|
|
"which run from northwest to southeast.">)
|
|
(T
|
|
<TELL
|
|
"which run directly north-south.">)>
|
|
<TELL
|
|
" The terrain rises sharply just to the west">
|
|
<COND (<EQUAL? ,HERE ,A7 ,B8>
|
|
<TELL " and south">)>
|
|
<TELL ", and it's unlikely
|
|
that you could scramble up very far. To the east lies a dense forest.">
|
|
<COND (<EQUAL? ,HERE ,A2>
|
|
<TELL
|
|
" Just north of here, the tracks enter a brightly lit clearing just
|
|
beyond which is the border station. It would be suicidal to continue
|
|
in that direction.">)
|
|
(<AND <EQUAL? ,HERE ,B8>
|
|
,FIRST-B8-FLAG>
|
|
<SETG FIRST-B8-FLAG <>>
|
|
<TELL
|
|
" Off to the northeast you can see smoke rising into the night sky.">)>
|
|
<CRLF>)>>
|
|
|
|
<GLOBAL FIRST-B8-FLAG T>
|
|
|
|
<ROOM A3
|
|
(EW 1)
|
|
(NS 3)
|
|
(LOC ROOMS)
|
|
(DESC "Railroad Tracks")
|
|
(PATH A4)
|
|
(WEST SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(EAST TO B3 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(SE TO B4 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(SW SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(SOUTH TO A4 IF HACK-FLAG ELSE
|
|
"You continue along the tracks for about a hundred yards.")
|
|
(NORTH TO A2 IF HACK-FLAG ELSE
|
|
"You continue along the tracks for about a hundred yards.")
|
|
(NE TO B2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible. Directly across the border zone is
|
|
the border crossing station.")
|
|
(NW SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(FLAGS TRACKSBIT)
|
|
(ACTION TRACKS-ROOM-F)>
|
|
|
|
<ROOM A4
|
|
(EW 1)
|
|
(NS 4)
|
|
(LOC ROOMS)
|
|
(DESC "Railroad Tracks")
|
|
(PATH A5)
|
|
(WEST SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(EAST TO B4 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(SE TO B5 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(SW SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(SOUTH TO A5 IF HACK-FLAG ELSE
|
|
"You continue along the tracks for about a hundred yards.")
|
|
(NORTH TO A3 IF HACK-FLAG ELSE
|
|
"You continue along the tracks for about a hundred yards.")
|
|
(NE TO B3 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(NW SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(FLAGS TRACKSBIT)
|
|
(ACTION TRACKS-ROOM-F)>
|
|
|
|
<ROOM A5
|
|
(EW 1)
|
|
(NS 5)
|
|
(LOC ROOMS)
|
|
(DESC "Railroad Tracks")
|
|
(PATH A6)
|
|
(WEST SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(EAST TO B5 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(SE TO B6 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(SW SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(SOUTH TO A6 IF HACK-FLAG ELSE
|
|
"You continue along the tracks for about a hundred yards.")
|
|
(NORTH TO A4 IF HACK-FLAG ELSE
|
|
"You continue along the tracks for about a hundred yards.")
|
|
(NE TO B4 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(NW SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(FLAGS TRACKSBIT)
|
|
(ACTION TRACKS-ROOM-F)>
|
|
|
|
<ROOM A6
|
|
(EW 1)
|
|
(NS 6)
|
|
(LOC ROOMS)
|
|
(DESC "Railroad Tracks")
|
|
(PATH A7)
|
|
(WEST SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(EAST TO B6 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(SE TO B7 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(SW SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(SOUTH TO A7 IF HACK-FLAG ELSE
|
|
"You continue along the tracks for about a hundred yards, reaching a spot
|
|
at which the tracks bend off to the southeast.")
|
|
(NORTH TO A5 IF HACK-FLAG ELSE
|
|
"You continue along the tracks for about a hundred yards.")
|
|
(NE TO B5 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(NW SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(FLAGS TRACKSBIT)
|
|
(ACTION TRACKS-ROOM-F)>
|
|
|
|
<ROOM A7
|
|
(EW 1)
|
|
(NS 7)
|
|
(LOC ROOMS)
|
|
(DESC "Railroad Tracks")
|
|
(PATH B8)
|
|
(WEST SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(EAST TO B7 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(SE TO B8 IF HACK-FLAG ELSE
|
|
"You continue along the tracks for about a hundred yards.")
|
|
(SW SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(SOUTH SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(NORTH TO A6 IF HACK-FLAG ELSE
|
|
"You continue along the tracks for about a hundred yards.")
|
|
(NE TO B6 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(NW SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(FLAGS TRACKSBIT)
|
|
(ACTION TRACKS-ROOM-F)>
|
|
|
|
<ROOM B3
|
|
(EW 2)
|
|
(NS 3)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO A3 IF HACK-FLAG ELSE
|
|
"You emerge from the forest into an open area through which runs
|
|
a railroad track oriented north and south. Beyond the tracks, the
|
|
ground rises steeply.")
|
|
(EAST TO C3 IF TRUE-FLAG ELSE
|
|
"You move deeper into the forest, until you reach...")
|
|
(SE TO OUTSIDE-SHED IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest, until you stop at
|
|
a small wooden shed.")
|
|
(SW TO A4 IF HACK-FLAG ELSE
|
|
"You leave the forest and come to some railroad tracks, running
|
|
more-or-less north and south. Behind the tracks, the ground rises
|
|
steeply.")
|
|
(SOUTH TO B4 IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed through the forest.")
|
|
(NORTH TO B2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible. Directly across the border zone is
|
|
the border crossing station.")
|
|
(NE TO C2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible.")
|
|
(NW TO A2 IF HACK-FLAG ELSE
|
|
"You leave the forest and come to some railroad tracks, running
|
|
more-or-less north and south. Behind the tracks, the ground rises
|
|
steeply.")
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROUTINE FOREST-ROOM-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You are standing in the middle of the forest, which surrounds you
|
|
on every side." CR>)>>
|
|
|
|
<ROOM B4
|
|
(EW 2)
|
|
(NS 4)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO A4 IF HACK-FLAG ELSE
|
|
"You emerge from the forest into an open area through which runs
|
|
a railroad track oriented north and south. Beyond the tracks, the
|
|
ground rises steeply.")
|
|
(EAST TO OUTSIDE-SHED IF HACK-FLAG ELSE
|
|
"A pile of snow falls on your head from a heavily laden branch
|
|
above. You shake it off, and continue through the forest, until
|
|
you reach a small wooden shed.")
|
|
(SE TO C5 IF HACK-FLAG ELSE
|
|
"You continue through the forest for a hundred yards, and then
|
|
stop. Snowflakes fall softly around you - nearby, a small animal
|
|
scurries through the brush.")
|
|
(SW TO A5 IF HACK-FLAG ELSE
|
|
"You leave the forest and come to some railroad tracks, running
|
|
more-or-less north and south. Behind the tracks, the ground rises
|
|
steeply.")
|
|
(SOUTH TO B5 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(NORTH TO B3 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(NE TO C3 IF HACK-FLAG ELSE
|
|
"You continue through the forest for a hundred yards, and then
|
|
stop. Snowflakes fall softly around you - nearby, a small animal
|
|
scurries through the brush.")
|
|
(NW TO A3 IF HACK-FLAG ELSE
|
|
"You leave the forest and come to some railroad tracks, running
|
|
more-or-less north and south. Behind the tracks, the ground rises
|
|
steeply.")
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROOM B5
|
|
(EW 2)
|
|
(NS 5)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO A5 IF HACK-FLAG ELSE
|
|
"You emerge from the forest into an open area through which runs
|
|
a railroad track oriented north and south. Beyond the tracks, the
|
|
ground rises steeply.")
|
|
(EAST TO C5 IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed through the forest.")
|
|
(SE TO C6 IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed through the forest.")
|
|
(SW TO A6 IF HACK-FLAG ELSE
|
|
"You leave the forest and come to some railroad tracks, running
|
|
more-or-less north and south. Behind the tracks, the ground rises
|
|
steeply.")
|
|
(SOUTH TO B6 IF HACK-FLAG ELSE
|
|
"You continue through the forest for a hundred yards, and then
|
|
stop. Snowflakes fall softly around you - nearby, a small animal
|
|
scurries through the brush.")
|
|
(NORTH TO B4 IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest.")
|
|
(NE TO OUTSIDE-SHED IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest, until you stop at
|
|
a small wooden shed.")
|
|
(NW TO A4 IF HACK-FLAG ELSE
|
|
"You leave the forest and come to some railroad tracks, running
|
|
more-or-less north and south. Behind the tracks, the ground rises
|
|
steeply.")
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROOM B6
|
|
(EW 2)
|
|
(NS 6)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO A6 IF HACK-FLAG ELSE
|
|
"You emerge from the forest into an open area through which runs
|
|
a railroad track oriented north and south. Beyond the tracks, the
|
|
ground rises steeply.")
|
|
(EAST TO C6 IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest.")
|
|
(SE TO C7 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(SW TO A7 IF HACK-FLAG ELSE
|
|
"You leave the forest and come to some railroad tracks, running
|
|
more-or-less north and south. Behind the tracks, the rises steeply.")
|
|
(SOUTH TO B7 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(NORTH TO B5 IF HACK-FLAG ELSE
|
|
"You continue through the forest for a hundred yards, and then
|
|
stop. Snowflakes fall softly around you - nearby, a small animal
|
|
scurries through the brush.")
|
|
(NE TO C5 IF HACK-FLAG ELSE
|
|
"A pile of snow falls on your head from a heavily laden branch
|
|
above. You shake it off, and continue through the forest.")
|
|
(NW TO A5 IF HACK-FLAG ELSE
|
|
"You leave the forest and come to some railroad tracks, running
|
|
more-or-less north and south. Behind the tracks, the ground rises
|
|
steeply.")
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROOM B7
|
|
(EW 2)
|
|
(NS 7)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO A7 IF HACK-FLAG ELSE
|
|
"You emerge from the forest into an open area through which runs
|
|
a railroad track oriented north and south. Beyond the tracks, the
|
|
ground rises steeply.")
|
|
(EAST TO C7 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(SE TO C8 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(SW SORRY
|
|
"You'd never make it up the cliff on the other side of the tracks.")
|
|
(SOUTH TO B8 IF HACK-FLAG ELSE
|
|
"You leave the forest and come to some railroad tracks, running
|
|
northwest to southeast. Behind the tracks, to the west and south, the
|
|
ground rises steeply.")
|
|
(NORTH TO B6 IF HACK-FLAG ELSE
|
|
"You continue through the forest for a hundred yards, and then
|
|
stop. Snowflakes fall softly around you - nearby, a small animal
|
|
scurries through the brush.")
|
|
(NE TO C6 IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest.")
|
|
(NW TO A6 IF HACK-FLAG ELSE
|
|
"You leave the forest and come to some railroad tracks, running
|
|
more-or-less north and south. Behind the tracks, the ground rises
|
|
steeply.")
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROOM B8
|
|
(EW 2)
|
|
(NS 8)
|
|
(LOC ROOMS)
|
|
(DESC "Railroad Tracks")
|
|
(PATH 0)
|
|
(WEST SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(EAST TO C8 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(SE TO C9 IF HACK-FLAG ELSE
|
|
"You continue along the tracks for about a hundred yards, and come to
|
|
a place where the tracks are met by a roadway, heading off to the northeast.
|
|
Both the tracks and the roadway enter a tunnel to the south.")
|
|
(SW SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(SOUTH SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(NORTH TO B7 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(NE TO C7 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(NW TO A7 IF HACK-FLAG ELSE
|
|
"You continue along the tracks for about a hundred yards.")
|
|
(FLAGS TRACKSBIT)
|
|
(ACTION TRACKS-ROOM-F)>
|
|
|
|
<ROOM C3
|
|
(EW 3)
|
|
(NS 3)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO B3 IF HACK-FLAG ELSE
|
|
"The blowing snow blinds you for a moment as you walk through the
|
|
forest.")
|
|
(EAST TO D3 IF HACK-FLAG ELSE
|
|
"You continue through the forest for a hundred yards, and then
|
|
stop. Snowflakes fall softly around you - nearby, a small animal
|
|
scurries through the brush.")
|
|
(SE TO D4 IF HACK-FLAG ELSE
|
|
"A cold gust of wind swirls snow into your face, making it difficult
|
|
to see clearly, but you press on through the forest.")
|
|
(SW TO B4 IF HACK-FLAG ELSE
|
|
"You continue through the forest for a hundred yards, and then
|
|
stop. Snowflakes fall softly around you - nearby, a small animal
|
|
scurries through the brush.")
|
|
(SOUTH TO OUTSIDE-SHED IF HACK-FLAG ELSE
|
|
"A pile of snow falls on your head from a heavily laden branch
|
|
above. You shake it off, and continue through the forest, until
|
|
you come to a small wooden shed.")
|
|
(NORTH TO C2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible.")
|
|
(NE TO D2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible.")
|
|
(NW TO B2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible. Directly across the border zone is
|
|
the border crossing station.")
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROUTINE SHED-MOVE ()
|
|
<COND (<NOT <FSET? ,SHED-DOOR ,OPENBIT>>
|
|
<TELL
|
|
"You open the door and enter the shed, closing the door behind you
|
|
to keep out the cold and wind." CR CR>)>
|
|
,INSIDE-SHED>
|
|
|
|
<ROOM OUTSIDE-SHED
|
|
(EW 3)
|
|
(NS 4)
|
|
(LOC ROOMS)
|
|
(DESC "Outside Shed")
|
|
(PATH 0)
|
|
(IN PER SHED-MOVE)
|
|
(SE TO D5 IF HACK-FLAG ELSE
|
|
"The blowing snow blinds you for a moment as you walk through the
|
|
forest and into a clearing. A small hut lies off the east, and
|
|
from the smoke from the chimney, it appears as though somebody's home.")
|
|
(NE TO D3 IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed through the forest.")
|
|
(NORTH TO C3 IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest.")
|
|
(NW TO B3 IF HACK-FLAG ELSE
|
|
"A pile of snow falls on your head from a heavily laden branch
|
|
above. You shake it off, and continue through the forest.")
|
|
(SOUTH TO C5 IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest.")
|
|
(SW TO B5 IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed through the forest.")
|
|
(EAST TO D4 IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed through the forest.")
|
|
(WEST TO B4 IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest.")
|
|
(GLOBAL SHED-DOOR SHED-WINDOW SHED)
|
|
(ACTION OUTSIDE-SHED-F)
|
|
(WOODFCN OUTSIDE-SHED-WF)>
|
|
|
|
<ROUTINE OUTSIDE-SHED-WF (FRM)
|
|
<COND (<EQUAL? ,HERE ,OUTSIDE-SHED>
|
|
<MAN-CATCHES>)
|
|
(<EQUAL? .FRM ,D5>
|
|
<COND (<EQUAL? ,HERE ,INSIDE-SHED>
|
|
<BOLDTELL
|
|
"You hear heavy footsteps headed your way; looking through the
|
|
window, a man comes into sight from the southeast.">)>)>>
|
|
|
|
<ROUTINE BOLDTELL (STR "OPTIONAL" (CR T))
|
|
<COND (.CR <CRLF>)>
|
|
<HLIGHT ,H-BOLD>
|
|
<TELL .STR>
|
|
<HLIGHT ,H-NORMAL>
|
|
<COND (.CR <CRLF>)>
|
|
<RTRUE>>
|
|
|
|
<ROUTINE OUTSIDE-SHED-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You are standing outside of a small shed. Through a small window
|
|
you can see many stacks of cut wood. The wooden door is ">
|
|
<DOOR-TELL ,SHED-DOOR>
|
|
<TELL ".
|
|
The forest surrounds you in all directions, though it appears that it
|
|
becomes less dense to the southeast." CR>
|
|
<HUT-MAN-DESC
|
|
"|
|
|
You can see the owner of the hut">
|
|
<RTRUE>)>>
|
|
|
|
<OBJECT SHED-DOOR
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "shed door")
|
|
(SYNONYM DOOR)
|
|
(ADJECTIVE SHED)
|
|
(FLAGS DOORBIT)>
|
|
|
|
<OBJECT WOOD-PILE
|
|
(LOC INSIDE-SHED)
|
|
(DESC "pile of wood")
|
|
(SYNONYM PILE WOOD LOGS LOG)
|
|
(ADJECTIVE WOOD)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION WOOD-PILE-F)>
|
|
|
|
<ROUTINE WOOD-PILE-F ()
|
|
<COND (<VERB? TAKE>
|
|
<TELL
|
|
"You don't need any wood at the moment." CR>)
|
|
(<VERB? MOVE>
|
|
<TELL
|
|
"You move a few pieces of wood around, but nothing interesting turns up,
|
|
unless you've got an interest in entomology." CR>)
|
|
(<VERB? SEARCH>
|
|
<PERFORM ,V?SEARCH ,ASSORTED-TOOLS>
|
|
<RTRUE>)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
"It's a large pile, from floor to ceiling; it's not very interesting
|
|
otherwise." CR>)
|
|
(<VERB? CUT>
|
|
<COND (<EQUAL? ,PRSI ,WOOD-SAW>
|
|
<TELL
|
|
"You could certainly cut some logs that way, but it would only waste
|
|
time." CR>)
|
|
(T
|
|
<TELL
|
|
"Not with that, you won't." CR>)>)>>
|
|
|
|
<OBJECT FAKE-GLOVES
|
|
(LOC INSIDE-SHED)
|
|
(DESC "gloves")
|
|
(SYNONYM GLOVES)
|
|
(ADJECTIVE RUBBER)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION FAKE-TOOLS-F)>
|
|
|
|
<OBJECT FAKE-HAMMER
|
|
(LOC INSIDE-SHED)
|
|
(DESC "hammer")
|
|
(SYNONYM HAMMER)
|
|
(ADJECTIVE WOOD)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION FAKE-TOOLS-F)>
|
|
|
|
<OBJECT FAKE-SAW
|
|
(LOC INSIDE-SHED)
|
|
(DESC "saw")
|
|
(SYNONYM WOOD-SAW SAW)
|
|
(ADJECTIVE WOOD)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION FAKE-TOOLS-F)>
|
|
|
|
<OBJECT FAKE-CUTTERS
|
|
(LOC INSIDE-SHED)
|
|
(DESC "bolt cutters")
|
|
(SYNONYM CUTTER BOLT-CUTTER CUTTERS)
|
|
(ADJECTIVE BOLT)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION FAKE-TOOLS-F)>
|
|
|
|
<ROUTINE FAKE-TOOLS-F ()
|
|
<TELL
|
|
"You can't see that out in the open, though it might be somewhere
|
|
among the wood and tools." CR>>
|
|
|
|
<OBJECT ASSORTED-TOOLS
|
|
(LOC INSIDE-SHED)
|
|
(DESC "assorted tools")
|
|
(SYNONYM TOOLS TOOL)
|
|
(ADJECTIVE ASSORTED)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION ASSORTED-TOOLS-F)>
|
|
|
|
<ROUTINE ASSORTED-TOOLS-F ()
|
|
<COND (<AND <VERB? EXAMINE SEARCH>
|
|
<NOT <FSET? ,PRSO ,PENBIT>>>
|
|
<FSET ,PRSO ,PENBIT>
|
|
<REMOVE ,FAKE-HAMMER>
|
|
<REMOVE ,FAKE-GLOVES>
|
|
<REMOVE ,FAKE-SAW>
|
|
<REMOVE ,FAKE-CUTTERS>
|
|
<REMOVE ,PRSO>
|
|
<MOVE ,HAMMER ,HERE>
|
|
<MOVE ,BOLT-CUTTER ,HERE>
|
|
<MOVE ,WOOD-SAW ,HERE>
|
|
<MOVE ,RUBBER-GLOVES ,HERE>
|
|
<TELL
|
|
"You look around and find a hammer, a bolt-cutter, and a wood saw.
|
|
You also come across an old pair of rubber gloves." CR>)
|
|
(T
|
|
<TELL
|
|
"You'll do better to look at the tools first, to see which one you
|
|
want." CR>)>>
|
|
|
|
<OBJECT HAMMER
|
|
(DESC "hammer")
|
|
(SYNONYM HAMMER TOOL TOOLS HANDLE)
|
|
(FLAGS TAKEBIT TOOLBIT)
|
|
(SIZE 10)
|
|
(SCENARIO 2)
|
|
(ACTION HAMMER-F)>
|
|
|
|
<ROUTINE HAMMER-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"It's an ordinary hammer." CR>)>>
|
|
|
|
<OBJECT WOOD-SAW
|
|
(DESC "wood saw")
|
|
(SYNONYM SAW TOOL TOOLS)
|
|
(ADJECTIVE WOOD)
|
|
(FLAGS TAKEBIT TOOLBIT)
|
|
(SCENARIO 2)
|
|
(SIZE 20)
|
|
(ACTION WOOD-SAW-F)>
|
|
|
|
<ROUTINE WOOD-SAW-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"It's your average size wood saw, and it's probably used here to cut
|
|
up the larger logs." CR>)>>
|
|
|
|
<OBJECT BOLT-CUTTER
|
|
(DESC "bolt-cutter")
|
|
(SYNONYM CUTTER BOLT-CUTTER CUTTERS TOOL TOOLS)
|
|
(ADJECTIVE BOLT)
|
|
(FLAGS TAKEBIT TOOLBIT)
|
|
(SIZE 20)
|
|
(SCENARIO 2)>
|
|
|
|
<OBJECT SHED-WINDOW
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "shed window")
|
|
(SYNONYM WINDOW)
|
|
(ADJECTIVE SHED)
|
|
(ACTION SHED-WINDOW-F)>
|
|
|
|
<ROUTINE SHED-WINDOW-F ()
|
|
<COND (<VERB? LOOK-INSIDE>
|
|
<COND (<EQUAL? ,HERE ,INSIDE-SHED>
|
|
<COND (<IN? ,HUT-MAN ,OUTSIDE-SHED>
|
|
<TELL
|
|
"You can't see much. Wait! There's a man, not far from the shed, heading ">
|
|
<COND (,WOOD-RETURNING
|
|
<TELL "southeast, toward the hut." CR>)
|
|
(T
|
|
<TELL "right toward you!" CR>)>)
|
|
(T
|
|
<TELL
|
|
"You can't see much outside, except for some ice which has formed on
|
|
the window pane." CR>)>)
|
|
(<IN? ,HUT-MAN ,INSIDE-SHED>
|
|
<TELL
|
|
"You can see piles of wood stacked inside;
|
|
disturbingly, you can see a man gathering a pile of wood for himself -
|
|
under his coat is a large revolver." CR>)
|
|
(T
|
|
<TELL
|
|
"You can see only piles of wood, though other things might be there." CR>)>)
|
|
(<VERB? OPEN>
|
|
<TELL
|
|
"It can't be opened; it just provides some light to the inside." CR>)
|
|
(<VERB? MUNG>
|
|
<TELL
|
|
"It would only make noise and call attention to yourself." CR>)>>
|
|
|
|
<ROOM INSIDE-SHED
|
|
(EW 3)
|
|
(NS 4)
|
|
(LOC ROOMS)
|
|
(DESC "Inside Shed")
|
|
(PATH 0)
|
|
(OUT PER LEAVE-SHED)
|
|
(GLOBAL SHED-DOOR SHED-WINDOW SHED)
|
|
(ACTION INSIDE-SHED-F)
|
|
(WOODFCN INSIDE-SHED-WF)>
|
|
|
|
<ROUTINE LEAVE-SHED ()
|
|
<SETG P-WALK-DIR <>>
|
|
<PERFORM ,V?EXIT ,SHED>
|
|
<RFALSE>>
|
|
|
|
<OBJECT SHED
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "shed")
|
|
(SYNONYM SHED WOODSHED BUILDING HUT)
|
|
(ADJECTIVE WOOD)
|
|
(ACTION SHED-F)>
|
|
|
|
<ROUTINE SHED-F ()
|
|
<COND (<VERB? OPEN CLOSE>
|
|
<PERFORM ,PRSA ,SHED-DOOR>
|
|
<RTRUE>)
|
|
(<VERB? LOOK-INSIDE>
|
|
<PERFORM ,V?LOOK-INSIDE ,SHED-WINDOW>
|
|
<RTRUE>)
|
|
(<VERB? ENTER>
|
|
<COND (<EQUAL? ,HERE ,OUTSIDE-SHED>
|
|
<GOTO <SHED-MOVE>>)
|
|
(T
|
|
<TELL "That doesn't make sense." CR>)>)
|
|
(<VERB? LEAVE EXIT>
|
|
<COND (<EQUAL? ,HERE ,INSIDE-SHED>
|
|
<GOTO ,OUTSIDE-SHED>)
|
|
(T
|
|
<TELL "You're not in the shed." CR>)>)>>
|
|
|
|
<GLOBAL WOOD-RETURNING <>>
|
|
|
|
<ROUTINE INSIDE-SHED-WF (FRM)
|
|
<SETG WOOD-RETURNING T>
|
|
>
|
|
|
|
<ROUTINE INSIDE-SHED-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"The shed appears to be entirely for the storage of wood, although
|
|
some scattered tools are lying about. Snow can be seen falling through
|
|
a small window. The door leading back into the forest is ">
|
|
<DOOR-TELL ,SHED-DOOR>
|
|
<TELL "." CR>)>>
|
|
|
|
<ROOM C5
|
|
(EW 3)
|
|
(NS 5)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO B5 IF HACK-FLAG ELSE
|
|
"The blowing snow blinds you for a moment as you walk through the
|
|
forest.")
|
|
(EAST TO D5 IF HACK-FLAG ELSE
|
|
"The blowing snow blinds you for a moment as you walk through the
|
|
forest and into a clearing. A small hut lies off the east, and
|
|
from the smoke from the chimney, it appears as though somebody's home.")
|
|
(SE TO D6 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
south to east, with a narrow spur leading north.")
|
|
(SW TO B6 IF HACK-FLAG ELSE
|
|
"The blowing snow blinds you for a moment as you walk through the
|
|
forest.")
|
|
(SOUTH TO C6 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(NORTH TO OUTSIDE-SHED IF HACK-FLAG ELSE
|
|
"A pile of snow falls on your head from a heavily laden branch
|
|
above. You shake it off, and continue through the forest, until
|
|
you come to a small wooden shed.")
|
|
(NE TO D4 IF HACK-FLAG ELSE
|
|
"The blowing snow blinds you for a moment as you walk through the
|
|
forest.")
|
|
(NW TO B4 IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed through the forest.")
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROOM C6
|
|
(EW 3)
|
|
(NS 6)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO B6 IF HACK-FLAG ELSE
|
|
"A cold gust of wind swirls snow into your face, making it difficult
|
|
to see clearly, but you press on through the forest.")
|
|
(EAST TO D6 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
south to east, with a narrow spur leading north.")
|
|
(SE TO D7 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
north to south.")
|
|
(SW TO B7 IF HACK-FLAG ELSE
|
|
"You continue through the forest for a hundred yards, and then
|
|
stop. Snowflakes fall softly around you - nearby, a small animal
|
|
scurries through the brush.")
|
|
(SOUTH TO C7 IF HACK-FLAG ELSE
|
|
"You continue through the forest for a hundred yards, and then
|
|
stop. Snowflakes fall softly around you - nearby, a small animal
|
|
scurries through the brush.")
|
|
(NORTH TO C5 IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed through the forest.")
|
|
(NE TO D5 IF HACK-FLAG ELSE
|
|
"The blowing snow blinds you for a moment as you walk through the
|
|
forest and into a clearing. A small hut lies off the east, and
|
|
from the smoke from the chimney, it appears as though somebody's home.")
|
|
(NW TO B5 IF HACK-FLAG ELSE
|
|
"A cold gust of wind swirls snow into your face, making it difficult
|
|
to see clearly, but you press on through the forest.")
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROOM C7
|
|
(EW 3)
|
|
(NS 7)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO B7 IF HACK-FLAG ELSE
|
|
"A cold gust of wind swirls snow into your face, making it difficult
|
|
to see clearly, but you press on through the forest.")
|
|
(EAST TO D7 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
north to south.")
|
|
(SE TO D8 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
north to southwest.")
|
|
(SW TO B8 IF HACK-FLAG ELSE
|
|
"You leave the forest and come to some railroad tracks, running
|
|
northwest to southeast. Behind the tracks, to the west and south, the
|
|
ground rises steeply.")
|
|
(SOUTH TO C8 IF HACK-FLAG ELSE
|
|
"A pile of snow falls on your head from a heavily laden branch
|
|
above. You shake it off, and continue through the forest.")
|
|
(NORTH TO C6 IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest.")
|
|
(NE TO D6 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
south to east, with a narrow spur leading north.")
|
|
(NW TO B6 IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed through the forest.")
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROOM C8
|
|
(EW 3)
|
|
(NS 8)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO B8 IF HACK-FLAG ELSE
|
|
"You leave the forest and come to some railroad tracks, running
|
|
northwest to southeast. Behind the tracks, to the west and south, the
|
|
ground rises steeply.")
|
|
(EAST TO D8 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
north to southwest.")
|
|
(SE TO D9 IF HACK-FLAG ELSE
|
|
"You cross a roadway and come to the edge of a putrid swamp, which
|
|
runs off to the northeast.")
|
|
(SW TO B8 IF HACK-FLAG ELSE
|
|
"You leave the forest and come to some railroad tracks, running
|
|
northwest to southeast. Behind the tracks, to the west and south, the
|
|
ground rises steeply.")
|
|
(SOUTH TO C9 IF HACK-FLAG ELSE
|
|
"You emerge from the forest into an open area through which runs
|
|
a railroad track running to the northwest and a roadway running to the
|
|
northeast. Both lead south into a tunnel.")
|
|
(NORTH TO C7 IF HACK-FLAG ELSE
|
|
"The blowing snow blinds you for a moment as you walk through the
|
|
forest.")
|
|
(NE TO D7 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
north to south.")
|
|
(NW TO B7 IF HACK-FLAG ELSE
|
|
"A cold gust of wind swirls snow into your face, making it difficult
|
|
to see clearly, but you press on through the forest.")
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROOM C9
|
|
(EW 3)
|
|
(NS 9)
|
|
(LOC ROOMS)
|
|
(DESC "Mouth of Tunnel")
|
|
(LDESC
|
|
"Both the road and the railroad tracks lead into a dark tunnel to the south.
|
|
If your memory from the train serves, this tunnel is miles long, and without
|
|
interruption. The tracks continue toward the border to the northwest, and
|
|
the road bends to the northeast. A dark forest stretches before you to the
|
|
north.")
|
|
(PATH 0)
|
|
(WEST SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(EAST TO D9 IF FALSE-FLAG ELSE
|
|
"You continue through the forest, coming finally to the edge of a putrid
|
|
swamp, which winds its way off to the northeast.")
|
|
(SE TO D9 IF FALSE-FLAG ELSE
|
|
"You continue through the forest, coming finally to the edge of a putrid
|
|
swamp, which winds its way off to the northeast.")
|
|
(SW SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(SOUTH SORRY
|
|
"It would take hours to get through the tunnel, and your mission would
|
|
undoubtably fail. You'd best find a way across the border.")
|
|
(NORTH TO C8 IF HACK-FLAG ELSE
|
|
"You leave the side of the railroad tracks and head into the forest.
|
|
The darkness is deeper here, as less moonlight reaches the forest floor.
|
|
The snow crunches under your feet, and you pause after moving a hundred or
|
|
so yards into the forest.")
|
|
(NE TO D8)
|
|
(NW TO B8 IF HACK-FLAG ELSE
|
|
"You continue along the tracks for about a hundred yards.")
|
|
(FLAGS TRACKSBIT ROADBIT)>
|
|
|
|
<ROOM D3
|
|
(EW 4)
|
|
(NS 3)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO C3 IF HACK-FLAG ELSE
|
|
"A pile of snow falls on your head from a heavily laden branch
|
|
above. You shake it off, and continue through the forest.")
|
|
(EAST TO E3 IF HACK-FLAG ELSE
|
|
"A cold gust of wind swirls snow into your face, making it difficult
|
|
to see clearly, but you press on through the forest.")
|
|
(SE TO E4 IF HACK-FLAG ELSE
|
|
"The blowing snow blinds you for a moment as you walk through the
|
|
forest.")
|
|
(SW TO OUTSIDE-SHED IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest, until you stop at
|
|
a small wooden shed.")
|
|
(SOUTH TO D4 IF HACK-FLAG ELSE
|
|
"A pile of snow falls on your head from a heavily laden branch
|
|
above. You shake it off, and continue through the forest.")
|
|
(NORTH TO D2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible.")
|
|
(NE TO E2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible.")
|
|
(NW TO C2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible.")
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROOM D4
|
|
(EW 4)
|
|
(NS 4)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO OUTSIDE-SHED IF HACK-FLAG ELSE
|
|
"A pile of snow falls on your head from a heavily laden branch
|
|
above. You shake it off, and continue through the forest, until
|
|
you come to a small wooden shed.")
|
|
(EAST TO E4 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(SE TO E5 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(SW TO C5 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(SOUTH TO NORTH-HUT IF HACK-FLAG ELSE
|
|
"You walk for a short while and come to a large clearing, to the east of
|
|
which lies a small hut. Concerned about the possibility of being seen,
|
|
you head toward a spot on the north side of the hut, where you can
|
|
check the situation out.")
|
|
(NORTH TO D3 IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest.")
|
|
(NE TO E3 IF HACK-FLAG ELSE
|
|
"You continue through the forest for a hundred yards, and then
|
|
stop. Snowflakes fall softly around you - nearby, a small animal
|
|
scurries through the brush.")
|
|
(NW TO C3 IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest.")
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROOM D5
|
|
(EW 4)
|
|
(NS 5)
|
|
(FLAGS VILLAGEBIT)
|
|
(LOC ROOMS)
|
|
(DESC "Clearing")
|
|
(PATH 0)
|
|
(WEST TO C5 IF HACK-FLAG ELSE
|
|
"You enter the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(EAST TO OUTSIDE-HUT IF HACK-FLAG ELSE
|
|
"A cold gust of wind swirls snow into your face, making it difficult
|
|
to see clearly, but you walk to the front door of the hut.")
|
|
(SE TO SOUTH-HUT IF HACK-FLAG ELSE
|
|
"You walk around to the south side of the hut.")
|
|
(SW TO C6 IF HACK-FLAG ELSE
|
|
"The blowing snow blinds you for a moment as you enter the
|
|
forest.")
|
|
(SOUTH TO ROAD-END IF HACK-FLAG ELSE
|
|
"You continue until you come to the start of a roadway leading south.")
|
|
(NORTH TO D4 IF HACK-FLAG ELSE
|
|
"You enter the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(NE TO NORTH-HUT IF HACK-FLAG ELSE
|
|
"A cold gust of wind swirls snow into your face, making it difficult
|
|
to see clearly, but you press on to the north side of the hut.")
|
|
(NW TO OUTSIDE-SHED IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed into the forest, stopping as you come upon a
|
|
small wooden shed.")
|
|
(ACTION D5-F)
|
|
(WOODFCN D5-WF)
|
|
(GLOBAL HUT CHIMNEY)
|
|
(FIRE
|
|
"You continue along until you enter a clearing; to the east, before you,
|
|
lies a burning hut, sending plumes of black smoke and orange flame into
|
|
the sky.")>
|
|
|
|
<GLOBAL HUT-BURNING <>>
|
|
|
|
<ROUTINE D5-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You are standing in a small clearing in the forest. To the east, there
|
|
is a small hut,">
|
|
<COND (<NOT ,HUT-BURNING>
|
|
<TELL
|
|
" and it would seem that somebody is inside,
|
|
judging by the swirls of smoke that pour through the chimney and into
|
|
the night sky.">)
|
|
(T
|
|
<TELL
|
|
" engulfed in flame. Large plumes of black smoke rise into the night
|
|
sky.">)>
|
|
<TELL
|
|
" To the south lies the start of a paved road which gently winds
|
|
its way through the trees and out of sight. The forest surrounds the
|
|
clearing in the other directions, though it appears that a poorly
|
|
defined path leads to the northwest." CR>
|
|
<HUT-MAN-DESC
|
|
"|
|
|
You can see the owner of the hut">
|
|
<RTRUE>)>>
|
|
|
|
<OBJECT HUT
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "hut")
|
|
(SYNONYM HUT HOUSE HOME BUILDING)
|
|
(ADJECTIVE WOODEN WOOD)
|
|
(ACTION HUT-F)>
|
|
|
|
<OBJECT CHIMNEY
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "chimney")
|
|
(SYNONYM CHIMNEY)
|
|
(ACTION CHIMNEY-F)>
|
|
|
|
<ROUTINE CHIMNEY-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"Besides the smoke coming out, there's not much to tell." CR>)
|
|
(<VERB? ENTER CLIMB-DOWN CLIMB-UP CLIMB>
|
|
<TELL
|
|
"You would be incinerated." CR>)>>
|
|
|
|
<ROUTINE HUT-F ("AUX" RM)
|
|
<COND (<VERB? EXAMINE>
|
|
<COND (,HUT-BURNING
|
|
<TELL
|
|
"There's not much to tell; the entire wooden structure is now engulfed
|
|
in flames, and the heat and smoke make it hard to get much closer." CR>)
|
|
(T
|
|
<TELL
|
|
"The hut is small, perhaps no more than a few rooms. The exterior is a
|
|
dark wooden clapboard, worn and weaterbeaten. Some black smoke rises out
|
|
of a small chimney, swirling around in the cold breeze, and vanishing
|
|
into the night sky." CR>)>)
|
|
(<VERB? CLIMB CLIMB-OVER CLIMB-UP>
|
|
<TELL
|
|
"There's nothing on top of the hut except for the chimney, so unless
|
|
you're Santa Claus it won't be of much use." CR>)
|
|
(<VERB? ENTER LEAVE>
|
|
<COND (,HUT-BURNING
|
|
<TELL
|
|
"It's too late for that." CR>)
|
|
(<AND <VERB? ENTER>
|
|
<EQUAL? ,HERE ,BEHIND-HUT>>
|
|
<DO-WALK ,P?IN>
|
|
<RTRUE>)
|
|
(<AND <VERB? LEAVE>
|
|
<EQUAL? ,HERE ,HUT-STORAGE>>
|
|
<DO-WALK ,P?OUT>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL
|
|
"You'll have to figure out how to do that." CR>)>)
|
|
(<AND <VERB? LOOK-INSIDE>
|
|
<GLOBAL-IN? ,HUT-WINDOW ,HERE>>
|
|
<PERFORM ,PRSA ,HUT-WINDOW>
|
|
<RTRUE>)
|
|
(<VERB? WALK-AROUND>
|
|
<COND (<SET RM <LKP ,HERE ,HUT-WALKS>>
|
|
<COND (,HUT-BURNING
|
|
<TELL
|
|
"You cough from the smoke you've inhaled, but continue around the remains
|
|
of the burning hut..." CR CR>)>
|
|
<GOTO .RM>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL
|
|
"You can only walk around the hut if you're standing just outside of it."
|
|
CR>)>)>>
|
|
|
|
<GLOBAL HUT-WALKS
|
|
<PLTABLE OUTSIDE-HUT NORTH-HUT BEHIND-HUT SOUTH-HUT OUTSIDE-HUT 0>>
|
|
|
|
<ROUTINE LKP (THING TBL "AUX" (SIZE <GET .TBL 0>) FROB)
|
|
<REPEAT ()
|
|
<COND (<EQUAL? <SET FROB <GET .TBL 1>> .THING>
|
|
<RETURN <GET .TBL 2>>)
|
|
(<ZERO? .FROB>
|
|
<RFALSE>)>
|
|
<SET TBL <REST .TBL 2>>>>
|
|
|
|
<ROUTINE D5-WF (FRM)
|
|
<COND (<EQUAL? ,HERE ,D5>
|
|
<MAN-CATCHES>)
|
|
(<OR <EQUAL? ,HERE ,NORTH-HUT ,SOUTH-HUT>
|
|
<EQUAL? ,HERE ,ROAD-END ,OUTSIDE-HUT>>
|
|
<COND (<EQUAL? .FRM ,OUTSIDE-SHED> ;"returning"
|
|
<COND (,HUT-BURNING
|
|
<REMOVE ,HUT-MAN>
|
|
<SETG WOOD-COUNT -10000>
|
|
;"Turn off this interrupt the hard way"
|
|
<BOLDTELL
|
|
"The man, carrying a pile of wood, walks into the clearing and seeing that
|
|
his hut is on fire, runs off into the forest to the northeast.">)
|
|
(T
|
|
<BOLDTELL
|
|
"The man, carrying a large pile of wood in his arms, walks out of
|
|
the forest and into the clearing.">)>)
|
|
(T
|
|
<BOLDTELL
|
|
"The man walks from the front of the hut and into the clearing,
|
|
continuing to the northwest and out of sight.">)>)
|
|
(<AND <EQUAL? .FRM ,OUTSIDE-SHED> ,HUT-BURNING>
|
|
<SETG WOOD-COUNT -10000>)>>
|
|
|
|
<ROOM OUTSIDE-HUT
|
|
(EW 4)
|
|
(NS 5)
|
|
(FLAGS VILLAGEBIT OUTHUTBIT)
|
|
(PATH 0)
|
|
(LOC ROOMS)
|
|
(DESC "Outside Hut")
|
|
(NORTH TO NORTH-HUT IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed to the north side of the house.")
|
|
(SOUTH TO ROAD-END IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed to a point at which a road leading south
|
|
through the forest begins.")
|
|
(NW TO D5 IF HACK-FLAG ELSE
|
|
"You enter the forest, breaking branches as you go, and
|
|
finally stop as you come into a clearing, to the east of which is a small
|
|
hut.")
|
|
(SW TO ROAD-END IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed to a point at which a road leading south
|
|
through the forest begins.")
|
|
(NE TO NORTH-HUT IF HACK-FLAG ELSE
|
|
"You walk around to the north side of the hut.")
|
|
(SE TO SOUTH-HUT IF HACK-FLAG ELSE
|
|
"A cold gust of wind swirls snow into your face, making it difficult
|
|
to see clearly, but you press on to the south side of the hut.")
|
|
(EAST TO HUT-LIVING IF HUT-FRONT-DOOR IS OPEN)
|
|
(WEST TO D5 IF HACK-FLAG ELSE
|
|
"The blowing snow blinds you for a moment as you walk into the clearing.")
|
|
(ACTION OUTSIDE-HUT-F)
|
|
(WOODFCN OUTSIDE-HUT-WF)
|
|
(GLOBAL HUT CHIMNEY HUT-FRONT-DOOR)
|
|
(FIRE
|
|
"You continue until reaching the front of the blazing hut. The heat is so
|
|
extreme that you can't get within twenty feet of it.")>
|
|
|
|
<ROUTINE OUTSIDE-HUT-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You are standing outside of the ">
|
|
<COND (,HUT-BURNING <TELL "blazing ">)>
|
|
<TELL "hut, just a few feet away from the
|
|
front door. You could walk around the house to either the northeast
|
|
or southeast, or you could return to the clearing just west of here or the
|
|
road that starts just to the south. All other directions lead back into
|
|
the forest." CR>
|
|
<HUT-MAN-DESC
|
|
"|
|
|
You can see the owner of the hut">
|
|
<RTRUE>)
|
|
(<AND <EQUAL? .RARG ,M-BEG>
|
|
<VERB? WALK>
|
|
<EQUAL? ,PRSO ,P?EAST ,P?IN>
|
|
,HUT-BURNING>
|
|
<SETG P-WALK-DIR <>>
|
|
<PERFORM ,V?ENTER ,HUT>
|
|
<RTRUE>)>>
|
|
|
|
<ROUTINE OUTSIDE-HUT-WF (FRM)
|
|
<COND (<EQUAL? ,HERE ,OUTSIDE-HUT>
|
|
<MAN-CATCHES>)
|
|
(<AND <EQUAL? .FRM ,D5>
|
|
<EQUAL? ,HERE ,NORTH-HUT ,SOUTH-HUT ,ROAD-END>>
|
|
<COND (,HUT-BURNING
|
|
<REMOVE ,HUT-MAN>
|
|
<SETG WOOD-COUNT -10000>
|
|
;"Turn off this interrupt the hard way"
|
|
<BOLDTELL
|
|
"The man, seeing that his hut is on fire, runs off into the forest to the
|
|
northeast.">)
|
|
(T
|
|
<BOLDTELL
|
|
"The man walks up to the front of the hut, and fumbles around with the
|
|
door, though his hands are full of logs.">)>)
|
|
(<OR <EQUAL? ,HERE ,NORTH-HUT ,SOUTH-HUT ,ROAD-END>
|
|
<EQUAL? ,HERE ,BEHIND-HUT>>
|
|
<BOLDTELL
|
|
"The man walks out of the hut and heads toward the clearing.">)>>
|
|
|
|
<ROOM NORTH-HUT
|
|
(EW 4)
|
|
(NS 5)
|
|
(FLAGS VILLAGEBIT OUTHUTBIT)
|
|
(PATH 0)
|
|
(LOC ROOMS)
|
|
(DESC "North Side of Hut")
|
|
(NE TO E4 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(SE TO BEHIND-HUT IF HACK-FLAG ELSE
|
|
"You walk around the house to the back; a door here leads into the hut.")
|
|
(EAST TO BEHIND-HUT IF HACK-FLAG ELSE
|
|
"You walk around the house to the back; a door here leads into the hut.")
|
|
(WEST TO D5 IF HACK-FLAG ELSE
|
|
"You walk around the house and into the clearing.")
|
|
(NW TO D4 IF HACK-FLAG ELSE
|
|
"A pile of snow falls on your head from a heavily laden branch
|
|
above. You shake it off, and continue through the forest.")
|
|
(SW TO OUTSIDE-HUT IF HACK-FLAG ELSE
|
|
"You walk around to the front of the house.")
|
|
(NORTH TO D4 IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest.")
|
|
(SOUTH SORRY
|
|
"There's no way into the hut from here.")
|
|
(ACROSS HUT-LIVING)
|
|
(ACTION NORTH-HUT-F)
|
|
(GLOBAL HUT-WINDOW HUT CHIMNEY)
|
|
(FIRE
|
|
"You continue until reaching the north side of a blazing
|
|
hut. With the extreme heat here, you can't get close at all.")>
|
|
|
|
<ROUTINE NORTH-HUT-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-ENTER-DESC>
|
|
<CAR-SEQ-TELL>
|
|
<HUT-MAN-DESC
|
|
"|
|
|
You can see the owner of the hut">
|
|
<RTRUE>)
|
|
(<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You are on the north side of the ">
|
|
<COND (,HUT-BURNING <TELL "burning ">)>
|
|
<TELL "hut, the front door and a small
|
|
clearing lying to your southwest and the rear of the hut to your southeast.">
|
|
<COND (<NOT ,HUT-BURNING>
|
|
<TELL
|
|
" A small window looks into what appears to be the living room." CR>)>
|
|
<CAR-SEQ-TELL>
|
|
<RTRUE>)>>
|
|
|
|
<ROUTINE CAR-SEQ-TELL ()
|
|
<COND (,HUT-MAN-DIVERSION
|
|
<TELL CR
|
|
"The man from the hut is standing out front, looking a bit confused. He
|
|
takes a few tentative steps in different directions, hoping perhaps to sense
|
|
better the source of the explosion.">)
|
|
(<G? ,CAR-SEQUENCE 0>
|
|
<CRLF>
|
|
<COND (<NOT <ZERO? <LOC ,SCOUT>>>
|
|
<TELL "Two">)
|
|
(T
|
|
<TELL "Three">)>
|
|
<TELL
|
|
" men, presumably from the automobile parked at the end of the roadway
|
|
south of the clearing, are ">
|
|
<COND (<L? ,CAR-SEQUENCE 4>
|
|
<TELL
|
|
"walking toward the front door of the hut">)
|
|
(<EQUAL? ,CAR-SEQUENCE 4>
|
|
<TELL
|
|
"standing at the front door of the hut, talking quietly among themselves,
|
|
as if waiting for someone to answer the door">)
|
|
(T
|
|
<TELL
|
|
"in quiet conversation with a man, presumably the owner of the hut,
|
|
who stands leaning against the closed front door. They seem to be lecturing
|
|
him about something, for he speaks little and nods often">)>
|
|
<TELL ".">
|
|
<COND (<NOT <SCOUT-TELL>>
|
|
<CRLF>)>
|
|
<RTRUE>)
|
|
(<IN? ,CAR ,ROAD-END>
|
|
<TELL CR
|
|
"Three men have just returned to their automobile which was parked at the
|
|
end of the roadway just south of the clearing. The car has been started and is
|
|
preparing to depart." CR>)>>
|
|
|
|
<OBJECT HUT-WINDOW
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "window")
|
|
(SYNONYM WINDOW)
|
|
(ACTION HUT-WINDOW-F)>
|
|
|
|
<ROUTINE HUT-WINDOW-F ("AUX" (H <>))
|
|
<COND (,HUT-BURNING
|
|
<TELL "It's engulfed in flame." CR>
|
|
<RTRUE>)
|
|
(<VERB? EXAMINE LOOK-INSIDE>
|
|
<COND (<AND <EQUAL? ,HERE ,HUT-STORAGE ,BEHIND-HUT>
|
|
<FSET? ,HUT-BACK-DOOR ,OPENBIT>>
|
|
<TELL
|
|
"The door's open, so the view isn't too interesting." CR>
|
|
<RTRUE>)>
|
|
<TELL "You look through the window and see ">
|
|
<COND (<EQUAL? ,HERE ,HUT-LIVING ,HUT-BEDROOM ,HUT-STORAGE>
|
|
<TELL "a wintry landscape.">
|
|
<COND (<AND <EQUAL? ,HERE ,HUT-STORAGE>
|
|
<IN? ,SCOUT ,BEHIND-HUT>>
|
|
<TELL
|
|
" A lone scout is walking toward the south side of the hut.">)>)
|
|
(<EQUAL? ,HERE ,NORTH-HUT>
|
|
<TELL "the living room, furnished sparsely.">
|
|
<SET H ,HUT-LIVING>)
|
|
(<EQUAL? ,HERE ,SOUTH-HUT>
|
|
<TELL "the bedroom, furnished sparsely.">
|
|
<SET H ,HUT-BEDROOM>)
|
|
(<EQUAL? ,HERE ,BEHIND-HUT>
|
|
<TELL "the storage room.">
|
|
<SET H ,HUT-STORAGE>)>
|
|
<COND (<AND .H <IN? ,HUT-MAN .H>>
|
|
<TELL " A man is there!">)>
|
|
<CRLF>)
|
|
(<VERB? OPEN CLOSE>
|
|
<TELL
|
|
"The windows here don't open and close - not surprising, for an
|
|
inexpensively built hut like this." CR>)
|
|
(<VERB? KNOCK>
|
|
<TELL
|
|
"Not smart; sombody might hear you." CR>)
|
|
(<VERB? MUNG KICK>
|
|
<TELL
|
|
"Not smart. If somebody's home, you're in big trouble, and if nobody's
|
|
home, the broken window will just alert the owner to trouble when he
|
|
returns." CR>)>>
|
|
|
|
<ROOM SOUTH-HUT
|
|
(EW 4)
|
|
(NS 5)
|
|
(FLAGS VILLAGEBIT OUTHUTBIT)
|
|
(PATH 0)
|
|
(LOC ROOMS)
|
|
(DESC "South Side of Hut")
|
|
(NE TO BEHIND-HUT IF HACK-FLAG ELSE
|
|
"You walk around the house to the back; the door is closed.")
|
|
(SE TO E6 IF HACK-FLAG ELSE
|
|
"You reenter the forest and soon come to a roadway running from
|
|
east to west.")
|
|
(EAST TO BEHIND-HUT IF HACK-FLAG ELSE
|
|
"You walk around the house to the back; the door is closed.")
|
|
(WEST TO D5 IF HACK-FLAG ELSE
|
|
"You walk around the house and into the clearing.")
|
|
(SW TO ROAD-END IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and move to a point in the forest at which a small
|
|
road leads south.")
|
|
(NW TO OUTSIDE-HUT IF HACK-FLAG ELSE
|
|
"You walk around to the front of the house.")
|
|
(NORTH SORRY
|
|
"There's no way into the hut from here.")
|
|
(SOUTH TO ROAD-END IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and move to a point in the forest at which a small
|
|
road leads south.")
|
|
(ACTION SOUTH-HUT-F)
|
|
(GLOBAL HUT-WINDOW HUT CHIMNEY)
|
|
(FIRE
|
|
"You reach the south side of a hut, now completely ablaze. The heat from
|
|
the flames makes it impossible to go any closer.")>
|
|
|
|
<ROUTINE SOUTH-HUT-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-ENTER-DESC>
|
|
<CAR-SEQ-TELL>
|
|
<HUT-MAN-DESC
|
|
"|
|
|
You can see the owner of the hut">
|
|
<RTRUE>)
|
|
(<EQUAL? .RARG ,M-LOOK>
|
|
<COND (<NOT ,HUT-BURNING>
|
|
<TELL
|
|
"You are on the south side of the hut. Northwest of here lies the front
|
|
of the hut, and beyond that a small clearing. To the northeast lies the
|
|
back side of the hut. Through a small window, you can see the bedroom." CR>)
|
|
(T
|
|
<TELL
|
|
"You are south of the burning hut. To the northwest is the front of the
|
|
hut, and beyond that a small clearing." CR>)>
|
|
<CAR-SEQ-TELL>
|
|
<RTRUE>)>>
|
|
|
|
<ROOM BEHIND-HUT
|
|
(EW 4)
|
|
(NS 5)
|
|
(FLAGS VILLAGEBIT OUTHUTBIT)
|
|
(PATH 0)
|
|
(LOC ROOMS)
|
|
(DESC "Behind Hut")
|
|
(NW TO NORTH-HUT IF HACK-FLAG ELSE
|
|
"You walk around to the north side of the house.")
|
|
(WEST TO HUT-STORAGE IF HUT-BACK-DOOR IS OPEN)
|
|
(IN-DIR P?WEST)
|
|
(SW TO SOUTH-HUT IF HACK-FLAG ELSE
|
|
"You walk around to the south side of the house.")
|
|
(SOUTH TO SOUTH-HUT IF HACK-FLAG ELSE
|
|
"You walk around to the south side of the house.")
|
|
(SE TO E6 IF HACK-FLAG ELSE
|
|
"You enter the forest, but soon emerge at a roadway running from
|
|
east to west.")
|
|
(EAST TO E5 IF HACK-FLAG ELSE
|
|
"A cold gust of wind swirls snow into your face, making it difficult
|
|
to see clearly, but you press on into the forest.")
|
|
(NE TO E4 IF HACK-FLAG ELSE
|
|
"A pile of snow falls on your head from a heavily laden branch
|
|
above. You shake it off, and continue into the forest.")
|
|
(NORTH TO NORTH-HUT IF HACK-FLAG ELSE
|
|
"You walk around to the north side of the hut.")
|
|
(GLOBAL HUT-BACK-DOOR HUT-WINDOW HUT CHIMNEY)
|
|
(ACTION BEHIND-HUT-F)
|
|
(FIRE
|
|
"You continue until you reach the back side of a blazing hut.
|
|
Engulfed as it is in flames, you cannot possibly get closer.")>
|
|
|
|
<ROUTINE BEHIND-HUT-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<COND (<NOT ,HUT-BURNING>
|
|
<TELL
|
|
"You are standing at the back door of the hut, which can be circled to
|
|
the northwest and the southwest. On all other sides lies the forest.">
|
|
<COND (<FSET? ,HUT-BACK-DOOR ,OPENBIT>
|
|
<TELL " The door stands open.">)
|
|
(T
|
|
<TELL " A small window in the door gives
|
|
a view into the house.">)>
|
|
<CRLF>)
|
|
(T
|
|
<TELL
|
|
"You are standing at the back of the blazing hut, which can be circled to
|
|
the northwest and southwest. The forest surrounds you on all other
|
|
sides." CR>)>)
|
|
(<AND <EQUAL? .RARG ,M-BEG>
|
|
<VERB? WALK>
|
|
<EQUAL? ,PRSO ,P?WEST ,P?IN>
|
|
,HUT-BURNING>
|
|
<SETG P-WALK-DIR <>>
|
|
<PERFORM ,V?ENTER ,HUT>
|
|
<RTRUE>)>>
|
|
|
|
|
|
<OBJECT HUT-BACK-DOOR
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "back door")
|
|
(SYNONYM DOOR HINGES HINGE)
|
|
(ADJECTIVE BACK)
|
|
(FLAGS DOORBIT)
|
|
(ACTION HUT-BACK-DOOR-F)>
|
|
|
|
<GLOBAL DOOR-OILED <>>
|
|
|
|
<ROUTINE HUT-BACK-DOOR-F ()
|
|
<COND (,HUT-BURNING
|
|
<TELL
|
|
"The door is completely in flames." CR>)
|
|
(<VERB? KNOCK>
|
|
<TELL
|
|
"What, are you crazy? What if someone's home?" CR>)
|
|
(<AND <VERB? OPEN>
|
|
<NOT <FSET? ,PRSO ,OPENBIT>>
|
|
<NOT ,DOOR-OILED>>
|
|
<TELL "The door squeaks loudly as you open it." CR>
|
|
<COND (<EQUAL? <LOC ,HUT-MAN> ,HUT-LIVING ,HUT-BEDROOM>
|
|
<CRLF>
|
|
<JIGS-UP
|
|
"Unfortunately, someone was indeed home, and carrying a weapon at that.
|
|
He motions you to the door, and you follow him as he telephones for
|
|
the border police.">)>
|
|
<FSET ,PRSO ,OPENBIT>)
|
|
(<OR <AND <VERB? OIL> <IN? ,OIL-CAN ,WINNER>>
|
|
<AND <VERB? PUT> <EQUAL? ,PRSO ,OIL-CAN>>>
|
|
<COND (<EQUAL? ,HERE ,BEHIND-HUT>
|
|
<TELL
|
|
"A good idea, but the hinges are on the inside, so you'll have to do it
|
|
from there." CR>)
|
|
(T
|
|
<TELL
|
|
"The squeaky door gets the grease, or words to that effect. The door seems
|
|
quieter already." CR>
|
|
<SETG DOOR-OILED T>)>)
|
|
(<VERB? OIL>
|
|
<TELL
|
|
"You aren't holding any oil." CR>)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
"The wooden door is chipped in places, but is otherwise
|
|
in pretty good shape. The hinges, though, are rusted badly">
|
|
<COND (<NOT ,DOOR-OILED>
|
|
<TELL " - it'll make
|
|
some noise when it's opened">)>
|
|
<TELL ,PERIOD-CR>)
|
|
(<AND <VERB? CLOSE>
|
|
<NOT ,DOOR-OILED>
|
|
<FSET? ,PRSO ,OPENBIT>>
|
|
<TELL
|
|
"The door squeaks loudly as you start to pull it closed." CR>
|
|
<FCLEAR ,PRSO ,OPENBIT>)>>
|
|
|
|
<OBJECT HUT-MAN
|
|
(LOC HUT-LIVING)
|
|
(DESC "man")
|
|
(SYNONYM MAN)>
|
|
|
|
<OBJECT HUT-FRONT-DOOR
|
|
(LOC LOCAL-GLOBALS)
|
|
(DESC "front door")
|
|
(SYNONYM DOOR)
|
|
(ADJECTIVE FRONT)
|
|
(FLAGS DOORBIT)
|
|
(ACTION HUT-FRONT-DOOR-F)>
|
|
|
|
<ROUTINE MAN-AT-HOME? ()
|
|
<COND (<EQUAL? <LOC ,HUT-MAN>
|
|
,HUT-STORAGE ,HUT-LIVING ,HUT-BEDROOM>)>>
|
|
|
|
<ROUTINE HUT-FRONT-DOOR-F ()
|
|
<COND (,HUT-BURNING
|
|
<TELL
|
|
"What's left of it is in flames." CR>)
|
|
(<AND <VERB? KNOCK>
|
|
<EQUAL? ,HERE ,HUT-LIVING>>
|
|
<TELL
|
|
"That would be dangerous, particularly if anyone's outside." CR>)
|
|
(<AND <VERB? OPEN KNOCK> <MAN-AT-HOME?>>
|
|
<JIGS-UP
|
|
"Unfortunately, somebody's home, though he isn't very hospitable looking with
|
|
his revolver in hand.">
|
|
<RTRUE>)
|
|
(<VERB? OPEN>
|
|
<COND (<IN? ,CAR ,ROAD-END>
|
|
<TELL
|
|
"That would be foolish, with guards standing just outside." CR>)
|
|
(T
|
|
<RFALSE>)>)>>
|
|
|
|
<ROUTINE HUT-STORAGE-EXIT ()
|
|
<COND (<FSET? ,HUT-BACK-DOOR ,OPENBIT>
|
|
<FCLEAR ,HUT-BACK-DOOR ,OPENBIT>
|
|
<TELL
|
|
"You walk out into the night air, closing the door behind you." CR CR>
|
|
,BEHIND-HUT)
|
|
(T
|
|
<TELL
|
|
"The door is closed." CR>
|
|
<RFALSE>)>>
|
|
|
|
<ROOM HUT-STORAGE
|
|
(EW 4)
|
|
(NS 5)
|
|
(FLAGS VILLAGEBIT HUTBIT)
|
|
(PATH 0)
|
|
(LOC ROOMS)
|
|
(DESC "Storage Area")
|
|
(EAST PER HUT-STORAGE-EXIT)
|
|
(WEST TO HUT-LIVING)
|
|
(OUT PER HUT-STORAGE-EXIT)
|
|
(ACTION HUT-STORAGE-F)
|
|
(WOODFCN HUT-STORAGE-WF)
|
|
(GLOBAL HUT-WINDOW HUT CHIMNEY HUT-BACK-DOOR)>
|
|
|
|
<GLOBAL HUT-STORE-FLAG T>
|
|
|
|
<ROUTINE HUT-STORAGE-WF (FRM)
|
|
<COND (<EQUAL? ,HERE ,HUT-STORAGE>
|
|
<MAN-CATCHES>)
|
|
(,HUT-STORE-FLAG
|
|
;"Coming to get it"
|
|
<SETG HUT-STORE-FLAG <>>
|
|
<COND (<EQUAL? ,HERE ,NORTH-HUT>
|
|
<COND (<IN? ,PARKA ,HUT-STORAGE>
|
|
<MOVE ,PARKA ,HUT-MAN>)>
|
|
<BOLDTELL
|
|
"You watch through the window as the man walks out of sight toward the
|
|
back of the hut.">)
|
|
(<EQUAL? ,HERE ,BEHIND-HUT>
|
|
<HLIGHT ,H-BOLD>
|
|
<CRLF>
|
|
<TELL
|
|
"You watch through the window as the man enters the storage area and ">
|
|
<COND (<IN? ,PARKA ,HUT-STORAGE>
|
|
<MOVE ,PARKA ,HUT-MAN>
|
|
<TELL "puts
|
|
on the white parka which is lying there, then ">)
|
|
(T
|
|
<TELL "seems
|
|
to search for something; after a moment, he ">)>
|
|
<TELL "heads back toward the front
|
|
of the hut.">
|
|
<HLIGHT ,H-NORMAL>
|
|
<CRLF>)>)
|
|
(T
|
|
<COND (<IN? ,PARKA ,HUT-MAN>
|
|
<MOVE ,PARKA ,HUT-STORAGE>)>
|
|
<COND (<EQUAL? ,HERE ,NORTH-HUT>
|
|
<BOLDTELL
|
|
"Through the window, you watch as the man walks
|
|
out of sight toward the rear of the hut.">)
|
|
(<EQUAL? ,HERE ,BEHIND-HUT>
|
|
<COND (<IN? ,PARKA ,HUT-STORAGE>
|
|
<BOLDTELL
|
|
"The man, coat in hand, enters the storage area and throws the coat
|
|
onto the floor. After looking around for a moment, he returns whence
|
|
he came.">)
|
|
(T
|
|
<BOLDTELL
|
|
"The man enters the storage area, looks around for a moment, scratches his
|
|
balding head, and returns whence he came.">)>)>)>>
|
|
|
|
<ROUTINE HUT-STORAGE-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"The storage area connects to the main living area of the hut through an
|
|
open doorway to the west. A door which is ">
|
|
<DOOR-TELL ,HUT-BACK-DOOR>
|
|
<TELL " leads back into the forest." CR>)>>
|
|
|
|
<ROUTINE DOOR-TELL (D)
|
|
<COND (<FSET? .D ,OPENBIT> <TELL "open">)
|
|
(T <TELL "closed">)>>
|
|
|
|
<OBJECT HUT-WOOD
|
|
(LOC HUT-LIVING)
|
|
(DESC "wood pile")
|
|
(SYNONYM PILE WOOD)
|
|
(ADJECTIVE WOOD)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION HUT-WOOD-F)>
|
|
|
|
<GLOBAL HUT-WOOD-ADDED <>>
|
|
|
|
<ROUTINE HUT-WOOD-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"The pile is sitting next to the wood stove, and has about ">
|
|
<COND (,HUT-WOOD-ADDED
|
|
<TELL "twenty">)
|
|
(T
|
|
<TELL "a dozen">)>
|
|
<TELL " pieces of wood on it." CR>)
|
|
(<VERB? TAKE>
|
|
<TELL "It can't help you. Leave it alone." CR>)
|
|
(<VERB? CUT>
|
|
<TOO-LATE>)>>
|
|
|
|
<ROOM HUT-LIVING
|
|
(EW 4)
|
|
(NS 5)
|
|
(FLAGS VILLAGEBIT HUTBIT)
|
|
(PATH 0)
|
|
(LOC ROOMS)
|
|
(DESC "Living Room")
|
|
(WEST TO OUTSIDE-HUT IF HUT-FRONT-DOOR IS OPEN)
|
|
(EAST TO HUT-STORAGE)
|
|
(SOUTH TO HUT-BEDROOM)
|
|
(OUT TO OUTSIDE-HUT IF HUT-FRONT-DOOR IS OPEN)
|
|
(ACTION HUT-LIVING-F)
|
|
(GLOBAL HUT-WINDOW HUT HUT-FRONT-DOOR)
|
|
(WOODFCN HUT-LIVING-WF)>
|
|
|
|
<ROUTINE TAKEABLE? (OBJ "AUX" F)
|
|
<SET F <FIRST? .OBJ>>
|
|
<REPEAT ()
|
|
<COND (<NOT .F> <RFALSE>)
|
|
(<FSET? .F ,TAKEBIT>
|
|
<RTRUE>)
|
|
(T
|
|
<SET F <NEXT? .F>>)>>>
|
|
|
|
<OBJECT GLOBAL-HUT-MAN
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "hut owner")
|
|
(SYNONYM OWNER MAN)
|
|
(ADJECTIVE HUT)
|
|
(SCENARIO 2)
|
|
(ACTION GLOBAL-HUT-MAN-F)>
|
|
|
|
<ROUTINE GLOBAL-HUT-MAN-F ()
|
|
<COND (<VERB? FOLLOW>
|
|
<TELL
|
|
"Unwise; if he saw you, the results could be disastrous." CR>)
|
|
(<VERB? EXAMINE>
|
|
<COND (<HUT-MAN-DESC> T)
|
|
(T
|
|
<TELL "You can't see him here." CR>)>)>>
|
|
|
|
<ROUTINE HUT-MAN-DESC ("OPTIONAL" (STR "He's"))
|
|
<COND (<AND <IN? ,HUT-MAN ,HUT-LIVING>
|
|
<NOT ,HUT-BURNING>
|
|
<EQUAL? ,HERE ,NORTH-HUT ,HUT-BEDROOM ,HUT-STORAGE>>
|
|
<TELL .STR " in the living room, ">
|
|
<COND (<OR ,WOOD-RETURNING <NOT <G? ,WOOD-COUNT 0>>>
|
|
<TELL "sitting in a chair">)
|
|
(<EQUAL? ,HUT-MAN-FROM ,OUTSIDE-HUT>
|
|
<TELL "heading toward the storage area">)
|
|
(T
|
|
<TELL "heading toward the front door">)>
|
|
<TELL ,PERIOD-CR>)
|
|
(<AND <IN? ,HUT-MAN ,D5>
|
|
<OR <EQUAL? ,HERE ,OUTSIDE-HUT ,SOUTH-HUT ,NORTH-HUT>
|
|
<EQUAL? ,HERE ,ROAD-END>>>
|
|
<TELL .STR " in the clearing, ">
|
|
<COND (<EQUAL? ,HUT-MAN-FROM ,OUTSIDE-HUT>
|
|
<TELL "heading into the forest to the northwest">)
|
|
(T
|
|
<TELL "heading back toward the hut with an armful
|
|
of logs">)>
|
|
<TELL ,PERIOD-CR>)
|
|
(<AND <IN? ,HUT-MAN ,INSIDE-SHED>
|
|
<EQUAL? ,HERE ,OUTSIDE-SHED>>
|
|
<TELL .STR " inside the shed, collecting logs." CR>)
|
|
(<AND <IN? ,HUT-MAN ,HUT-STORAGE>
|
|
<EQUAL? ,HERE ,BEHIND-HUT ,HUT-LIVING>>
|
|
<TELL .STR " in the storage area, ">
|
|
<COND (,WOOD-RETURNING
|
|
<TELL "preparing to return to the living room">)
|
|
(T
|
|
<TELL "looking for his parka">)>
|
|
<TELL ,PERIOD-CR>)
|
|
(<AND <IN? ,HUT-MAN ,OUTSIDE-HUT>
|
|
<OR <EQUAL? ,HERE ,ROAD-END ,D5 ,NORTH-HUT>
|
|
<EQUAL? ,HERE ,SOUTH-HUT>>
|
|
<G? ,WOOD-COUNT 0>>
|
|
<TELL .STR " outside the hut, ">
|
|
<COND (<EQUAL? ,HUT-MAN-FROM ,D5>
|
|
<TELL "heading inside with an armful of logs">)
|
|
(T
|
|
<TELL "heading off toward the clearing">)>
|
|
<TELL ,PERIOD-CR>)>>
|
|
|
|
<ROUTINE HUT-LIVING-WF (FRM)
|
|
<COND (<EQUAL? ,HERE ,HUT-LIVING ,HUT-BEDROOM>
|
|
<MAN-CATCHES T>)
|
|
(<EQUAL? .FRM ,OUTSIDE-HUT>
|
|
<COND (,HUT-BURNING
|
|
<REMOVE ,HUT-MAN>
|
|
<SETG WOOD-COUNT -10000>
|
|
;"Turn off this interrupt the hard way"
|
|
<BOLDTELL
|
|
"The man, seeing that his hut is on fire, runs off into the forest to the
|
|
northeast.">)
|
|
(<EQUAL? ,HERE ,SOUTH-HUT ,ROAD-END>
|
|
<BOLDTELL
|
|
"You watch the man, carrying a large pile of wood, reenter his hut.">)
|
|
(<EQUAL? ,HERE ,NORTH-HUT ,HUT-BEDROOM>
|
|
<SETG HUT-WOOD-ADDED T>
|
|
<BOLDTELL
|
|
"You watch as the man enters the hut, drops the pile of wood on the floor
|
|
near the wood stove, and heads toward the rear of the hut.">)
|
|
(<EQUAL? ,HERE ,HUT-STORAGE>
|
|
<BOLDTELL
|
|
"The owner of the hut returns with a pile of wood in his hands. Luckily,
|
|
he hasn't seen you yet.">)>)
|
|
(,WOOD-RETURNING
|
|
;"Coming back from returning parka"
|
|
<COND (<EQUAL? ,HERE ,NORTH-HUT>
|
|
<BOLDTELL
|
|
"Through the window, you watch the man return to the living room, throw
|
|
some logs into the wood stove, and return to his easy chair.">)
|
|
(<EQUAL? ,HERE ,HUT-BEDROOM>
|
|
<TELL
|
|
"You see the man return to the living room, then pass your line of sight.
|
|
Presumably, he has taken a seat there." CR>)
|
|
(<EQUAL? ,HERE ,BEHIND-HUT>
|
|
<MAN-TO-LIVING-ROOM>)>
|
|
<OWNER-NOTICES?>
|
|
<RTRUE>)
|
|
(<EQUAL? ,HERE ,NORTH-HUT>
|
|
<CRLF>
|
|
<HLIGHT ,H-BOLD>
|
|
<TELL
|
|
"Through the window, you see the man enter the living room">
|
|
<COND (<IN? ,PARKA ,HUT-MAN>
|
|
<TELL " wearing a white parka">)>
|
|
<TELL
|
|
", and proceed to the front door, stopping for a moment to count the
|
|
logs sitting by the wood stove.">
|
|
<HLIGHT ,H-NORMAL>
|
|
<CRLF>)
|
|
(<EQUAL? ,HERE ,BEHIND-HUT>
|
|
<MAN-TO-LIVING-ROOM>)>>
|
|
|
|
<ROUTINE OWNER-NOTICES? ()
|
|
<COND (<AND <TAKEABLE? ,HUT-LIVING>
|
|
<FSET? ,HERE ,HUTBIT>>
|
|
<CRLF>
|
|
<HLIGHT ,H-BOLD>
|
|
<MOVE ,HUT-MAN ,HERE>
|
|
<JIGS-UP
|
|
"The owner, presumably alerted by something amiss in the living
|
|
room, has no trouble locating you. In a short time, the border
|
|
patrol has arrived.">)>>
|
|
|
|
<ROUTINE MAN-TO-LIVING-ROOM ()
|
|
<BOLDTELL
|
|
"The man returns to the living room, leaving your line of sight.">>
|
|
|
|
<ROUTINE MAN-CATCHES ("OPTIONAL" (HME? <>))
|
|
<MOVE ,HUT-MAN ,HERE>
|
|
<HLIGHT ,H-BOLD>
|
|
<CRLF>
|
|
<COND (.HME?
|
|
<TELL
|
|
"The owner of the hut returns to the living room and spots you before
|
|
you can react. He">
|
|
<JIGS-UP ,HAVE-A-SEAT>)
|
|
(<FSET? ,HERE ,HUTBIT>
|
|
<TELL
|
|
"The owner of the hut spots you, and">
|
|
<JIGS-UP ,HAVE-A-SEAT>)
|
|
(T
|
|
<JIGS-UP ,HUT-MAN-HALT>)>
|
|
<RTRUE>>
|
|
|
|
<CONSTANT HAVE-A-SEAT
|
|
" reaches for a gun which he carries
|
|
under his belt. \"Have a seat,\" he advises, as he calls for the
|
|
authorities on his radio telephone. All you can do is wait until they
|
|
arrive.">
|
|
|
|
<ROUTINE HUT-LIVING-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"The main living area in the hut is extremely simple, consisting of
|
|
a couch, a table, a few chairs, and a small kitchen area. A woodstove
|
|
in the corner keeps the room warm, and a small lightbulb dangling from the end
|
|
of a cord keeps the room lit. On a wall hangs what appears to be a map of
|
|
the local area. To the south, a doorway leads to the bedroom, and to the
|
|
east, a smaller doorway leads to what appears from here to
|
|
be a storage area. The front door, to the west, leads outside. At the moment,
|
|
it is ">
|
|
<DOOR-TELL ,HUT-FRONT-DOOR>
|
|
<TELL ,PERIOD-CR>)>>
|
|
|
|
<OBJECT HUT-MAP
|
|
(LOC HUT-LIVING)
|
|
(SYNONYM MAP DIAGRAM)
|
|
(DESC "map")
|
|
(FLAGS READBIT NDESCBIT)
|
|
(ACTION HUT-MAP-F)>
|
|
|
|
<ROUTINE HUT-MAP-F ()
|
|
<COND (<VERB? OPEN>
|
|
<TELL
|
|
"It's framed on the wall, not folded up!" CR>)
|
|
(<VERB? READ EXAMINE>
|
|
<TELL
|
|
"This is the map included in your BORDER ZONE package." CR>)>>
|
|
|
|
<OBJECT MISC-LIVING
|
|
(LOC HUT-LIVING)
|
|
(DESC "living room item")
|
|
(SYNONYM COUCH TABLE CHAIR CHAIRS BULB LIGHTBULB STOVE WOODSTOVE)
|
|
(ADJECTIVE WOOD LIGHT)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION MISC-LIVING-F)>
|
|
|
|
<ROUTINE MISC-LIVING-F ()
|
|
<TELL
|
|
"There's nothing of interest here; you'd best get on with your more
|
|
pressing problems." CR>>
|
|
|
|
<OBJECT NORMAL-SHOES
|
|
(DESC "pair of everyday black shoes")
|
|
(SYNONYM PAIR SHOES)
|
|
(ADJECTIVE EVERYDAY BLACK)
|
|
(FLAGS WEARBIT TAKEBIT WORNBIT)
|
|
(SCENARIO 2)
|
|
(GENERIC GENERIC-SHOES)
|
|
(ACTION SHOES-F)
|
|
(SPEED 50)>
|
|
|
|
<GLOBAL SHOES-WORN 0>
|
|
|
|
<OBJECT PARKA
|
|
(LOC HUT-STORAGE)
|
|
(DESC "white down parka")
|
|
(SYNONYM PARKA COAT OVERCOAT)
|
|
(ADJECTIVE WHITE DOWN)
|
|
(FLAGS WEARBIT TAKEBIT)
|
|
(SCENARIO 2)>
|
|
|
|
<OBJECT OIL-CAN
|
|
(LOC HUT-STORAGE)
|
|
(DESC "can of household oil")
|
|
(SYNONYM CAN OIL)
|
|
(ADJECTIVE HOUSEHOLD OIL)
|
|
(FLAGS TAKEBIT)
|
|
(SCENARIO 2)
|
|
(ACTION OIL-CAN-F)>
|
|
|
|
<ROUTINE OIL-CAN-F ()
|
|
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
|
<TELL
|
|
"It's your everyday oil can, and it's pretty full of oil. Out here in the
|
|
middle of nowhere, it probably comes in quite handy." CR>)>>
|
|
|
|
<OBJECT WORK-SHOES
|
|
(LOC HUT-STORAGE)
|
|
(DESC "pair of work shoes")
|
|
(SYNONYM PAIR SHOES WORKSHOES)
|
|
(ADJECTIVE WORK HEAVY)
|
|
(FLAGS WEARBIT TAKEBIT)
|
|
(SCENARIO 2)
|
|
(ACTION SHOES-F)
|
|
(GENERIC GENERIC-SHOES)
|
|
(SPEED 30)
|
|
(SIZE 15)>
|
|
|
|
<ROUTINE GENERIC-SHOES ()
|
|
<COND (<AND <VERB? TAKE-OFF REMOVE>
|
|
<FSET? ,WORK-SHOES ,WORNBIT>>
|
|
,WORK-SHOES)
|
|
(<AND <VERB? TAKE-OFF REMOVE>
|
|
<FSET? ,NORMAL-SHOES ,WORNBIT>>
|
|
,NORMAL-SHOES)>>
|
|
|
|
<OBJECT BOOTS
|
|
(LOC HUT-STORAGE)
|
|
(DESC "pair of knee-boots")
|
|
(SYNONYM PAIR BOOTS KNEE-BOOTS)
|
|
(ADJECTIVE KNEE)
|
|
(FLAGS WEARBIT TAKEBIT)
|
|
(SCENARIO 2)
|
|
(ACTION SHOES-F)
|
|
(SPEED 40)
|
|
(SIZE 10)>
|
|
|
|
<OBJECT KNAPSACK
|
|
(LOC HUT-STORAGE)
|
|
(DESC "knapsack")
|
|
(SYNONYM KNAPSACK SACK PACK)
|
|
(ADJECTIVE LARGE)
|
|
(FLAGS TAKEBIT WEARBIT CONTBIT OPENBIT SEARCHBIT)
|
|
(SCENARIO 2)
|
|
(CAPACITY 60)
|
|
(ACTION KNAPSACK-F)>
|
|
|
|
<ROUTINE KNAPSACK-F ()
|
|
<COND (<VERB? OPEN CLOSE>
|
|
<TELL
|
|
"The knapsack has a cover which can't be fastened, which is just as
|
|
well, since you don't have to worry about opening or closing it." CR>)>>
|
|
|
|
<ROUTINE SHOES-F ()
|
|
<COND (<VERB? CLEAN>
|
|
<COND (<FSET? ,PRSO ,MUNGEDBIT>
|
|
<TELL
|
|
"It's a good idea, but facilities around here are scarce." CR>)
|
|
(T
|
|
<TELL "They'll do just fine as is." CR>)>)
|
|
(<VERB? EXAMINE>
|
|
<COND (<EQUAL? ,PRSO ,WORK-SHOES>
|
|
<TELL
|
|
"These shoes have rugged soles for traction; they're in good shape">)
|
|
(<EQUAL? ,PRSO ,BOOTS>
|
|
<TELL
|
|
"The boots are about knee high, with fairly slick soles. They've seen
|
|
better days, but at least they appear to be intact">)
|
|
(T
|
|
<TELL "They're just an ordinary " D ,PRSO>)>
|
|
<COND (<FSET? ,PRSO ,MUNGEDBIT>
|
|
<TELL ", though they're covered inside and out in swamp muck, which will slow you down a bit when you're wearing them">)>
|
|
<TELL ,PERIOD-CR>)
|
|
(<VERB? TAKE-OFF>
|
|
<COND (,IN-SWAMP?
|
|
<TELL
|
|
"Not in the swamp, you won't!" CR>)
|
|
(,SHOES-WORN
|
|
<COND (<NOT <EQUAL? ,SHOES-WORN ,PRSO>>
|
|
<TELL "You're not wearing those." CR>)
|
|
(T
|
|
<TELL "You take off the " D ,SHOES-WORN
|
|
" and put them on the ground." CR>
|
|
<SETG SHOES-WORN <>>
|
|
<MOVE ,PRSO ,HERE>
|
|
<FCLEAR ,PRSO ,WORNBIT>
|
|
<RTRUE>)>)
|
|
(T
|
|
<TELL "You're not wearing any shoes." CR>)>)
|
|
(<VERB? WEAR>
|
|
<COND (<EQUAL? ,SHOES-WORN ,PRSO>
|
|
<TOO-LATE>)
|
|
(,IN-SWAMP?
|
|
<TELL
|
|
"Not in the swamp, you won't!" CR>)
|
|
(,SHOES-WORN
|
|
<TELL "You take off the " D ,SHOES-WORN
|
|
", put them on the ground, and put on the "
|
|
D ,PRSO "." CR>
|
|
<MOVE ,SHOES-WORN ,HERE>
|
|
<FCLEAR ,SHOES-WORN ,WORNBIT>
|
|
<SETG SHOES-WORN ,PRSO>
|
|
<FSET ,SHOES-WORN ,WORNBIT>
|
|
<MOVE ,SHOES-WORN ,WINNER>)
|
|
(T
|
|
<TELL "You put on the " D ,PRSO "." CR>
|
|
<FSET ,PRSO ,WORNBIT>
|
|
<MOVE ,PRSO ,WINNER>
|
|
<SETG SHOES-WORN ,PRSO>)>)>>
|
|
|
|
<ROOM HUT-BEDROOM
|
|
(EW 4)
|
|
(NS 5)
|
|
(FLAGS VILLAGEBIT HUTBIT)
|
|
(PATH 0)
|
|
(LOC ROOMS)
|
|
(DESC "Bedroom")
|
|
(LDESC
|
|
"The bedroom is a shambles, consisting in all of a bed and a chair, over which
|
|
are draped assorted clothes too numerous and jumbled to mention. A small
|
|
window looks south to a snowy landscape.")
|
|
(NORTH TO HUT-LIVING)
|
|
(OUT TO HUT-LIVING)
|
|
(GLOBAL HUT-WINDOW HUT)>
|
|
|
|
<OBJECT MISC-CLOTHING
|
|
(LOC HUT-BEDROOM)
|
|
(DESC "jumbled clothing")
|
|
(SYNONYM CLOTHES CLOTHING)
|
|
(ADJECTIVE JUMBLED ASSORTED)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION MISC-CLOTHING-F)>
|
|
|
|
<ROUTINE MISC-CLOTHING-F ()
|
|
<COND (<VERB? SEARCH EXAMINE>
|
|
<TELL
|
|
"There's nothing interesting in the clothes." CR>)
|
|
(T
|
|
<TELL
|
|
"The clothing isn't of any interest." CR>)>>
|
|
|
|
|
|
<OBJECT MISC-FURNITURE
|
|
(LOC HUT-BEDROOM)
|
|
(DESC "furniture")
|
|
(SYNONYM BED CHAIR)
|
|
(FLAGS NDESCBIT)
|
|
(ACTION MISC-FURNITURE-F)>
|
|
|
|
<ROUTINE MISC-FURNITURE-F ()
|
|
<TELL
|
|
"Never mind about the furniture. It's not important now." CR>>
|
|
|
|
<ROOM ROAD-END
|
|
(EW 4)
|
|
(NS 5)
|
|
(FLAGS VILLAGEBIT)
|
|
(PATH 0)
|
|
(LOC ROOMS)
|
|
(DESC "End of the Road")
|
|
(NORTH TO SOUTH-HUT IF HACK-FLAG ELSE
|
|
"The clearing before you is large and open, and you are concerned about being
|
|
so exposed. Seeing the hut off to the east, you decide to play it safe by
|
|
taking a position just to its south, where you can better gauge the
|
|
situation.")
|
|
(SOUTH TO D6 IF HACK-FLAG ELSE
|
|
"You continue down the road and come to the junction of a larger road
|
|
running from south to east.")
|
|
(EAST TO E5 IF FALSE-FLAG ELSE
|
|
"You leave the side of the roadway, bear off slightly to the north to
|
|
avoid a thicket, and reenter the forest. A cold gust of wind chills you
|
|
to the bone.")
|
|
(WEST TO C5 IF FALSE-FLAG ELSE
|
|
"You leave the side of the roadway and reenter the forest. A cold gust
|
|
of wind chills you to the bone.")
|
|
(NE TO SOUTH-HUT IF FALSE-FLAG ELSE
|
|
"You walk around to the south side of the hut.")
|
|
(NW TO C5 IF FALSE-FLAG ELSE
|
|
"You leave the side of the roadway and reenter the forest.")
|
|
(SE TO E6 IF FALSE-FLAG ELSE
|
|
"You leave the roadway, and reenter the forest. After a few dozen yards,
|
|
you come to a roadway running east and west.")
|
|
(SW TO C6 IF FALSE-FLAG ELSE
|
|
"You leave the side of the roadway and reenter the forest.")
|
|
(GLOBAL HUT CHIMNEY)
|
|
(ACTION ROAD-END-F)>
|
|
|
|
<ROUTINE ROAD-END-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-ENTER-DESC>
|
|
<CAR-SEQ-TELL>)
|
|
(<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You're now at the end of a road (fortunately, not THE road) which starts
|
|
off to the south through the forest. Just north of here lies a small clearing
|
|
and east of that, a wooden hut">
|
|
<COND (,HUT-BURNING
|
|
<TELL ", which is engulfed in flame">)>
|
|
<TELL ,PERIOD-CR>
|
|
<CAR-SEQ-TELL>
|
|
<RTRUE>)>>
|
|
|
|
<ROOM D6
|
|
(EW 4)
|
|
(NS 6)
|
|
(LOC ROOMS)
|
|
(DESC "Road Spur")
|
|
(PATH 0)
|
|
(WEST TO C6 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(EAST TO E6 IF HACK-FLAG ELSE
|
|
"You continue along the roadway for about a hundred yards, to a point
|
|
where it bends to the northeast.")
|
|
(SE TO E7 IF HACK-FLAG ELSE
|
|
"You leave the roadway and come to the edge of a dank area at the edge
|
|
of a swamp which runs from northeast to south. Putrid sulphurous vapors
|
|
fill your lungs as you step to the edge of the noisome waters.")
|
|
(SW TO C7 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(SOUTH TO D7 IF HACK-FLAG ELSE
|
|
"You continue along the roadway for about a hundred yards.")
|
|
(NORTH TO ROAD-END IF HACK-FLAG ELSE
|
|
"You walk onto the spur leading north, and continue until the road ends
|
|
just south of a clearing.")
|
|
(NE TO E5 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(NW TO C5 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(FLAGS FORESTBIT ROADBIT)
|
|
(ACTION ROAD-ROOM-F)>
|
|
|
|
<ROUTINE ROAD-ROOM-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You are standing on a piece of roadway that winds its way through the
|
|
forest. At this point, the road ">
|
|
<COND (<EQUAL? ,HERE ,D6>
|
|
<TELL "bends, running to the south and east. In
|
|
addition, a narrow spur leads north and out of sight." CR>)
|
|
(<EQUAL? ,HERE ,D7>
|
|
<TELL "runs north and south." CR>)
|
|
(<EQUAL? ,HERE ,D8 ,F5>
|
|
<TELL "bends, running to the north and
|
|
southwest." CR>)
|
|
(<EQUAL? ,HERE ,E6>
|
|
<TELL "bends, running from west to
|
|
northeast." CR>)
|
|
(T
|
|
<TELL "bends, running from the south to
|
|
the northeast." CR>)>)>>
|
|
|
|
<ROOM D7
|
|
(EW 4)
|
|
(NS 7)
|
|
(LOC ROOMS)
|
|
(DESC "On the Roadway")
|
|
(PATH 0)
|
|
(WEST TO C7 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(EAST TO E7 IF HACK-FLAG ELSE
|
|
"You leave the roadway and come to the edge of a dank area at the edge
|
|
of a swamp which runs from northeast to south. Putrid sulphurous vapors
|
|
fill your lungs as you step to the edge of the noisome waters.")
|
|
(SE TO E8 IF HACK-FLAG ELSE
|
|
"You leave the roadway and come to the edge of a dank area at the edge
|
|
of a swamp. Putrid sulphurous vapors fill your lungs as you step to
|
|
the edge of the noisome waters. The swamp's edge continues to the
|
|
north and southwest.")
|
|
(SW TO C8 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(SOUTH TO D8 IF HACK-FLAG ELSE
|
|
"You continue along the roadway for about a hundred yards; the road
|
|
continues along here to the southwest.")
|
|
(NORTH TO D6 IF HACK-FLAG ELSE
|
|
"You walk along the road for a hundred or so yards, snow swirling in your
|
|
face. The road bends to the east here, but a narrow spur continues north.")
|
|
(NE TO E6 IF HACK-FLAG ELSE
|
|
"A brisk wind gives you a deep chill, but you reenter the forest. Soon,
|
|
you rejoint the road which now is running from east to west.")
|
|
|
|
(NW TO C6 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(FLAGS FORESTBIT ROADBIT)
|
|
(ACTION ROAD-ROOM-F)>
|
|
|
|
<ROOM D8
|
|
(EW 4)
|
|
(NS 8)
|
|
(LOC ROOMS)
|
|
(DESC "On the Roadway")
|
|
(PATH 0)
|
|
(WEST TO C8 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(EAST TO E8 IF HACK-FLAG ELSE
|
|
"You leave the roadway and come to the edge of a dank area at the edge
|
|
of a swamp. Putrid sulphurous vapors fill your lungs as you step to
|
|
the edge of the noisome waters. The swamp's edge continues to the
|
|
north and southwest.")
|
|
(SE TO E8 IF HACK-FLAG ELSE
|
|
"You leave the roadway and come to the edge of a dank area at the edge
|
|
of a swamp. Putrid sulphurous vapors fill your lungs as you step to
|
|
the edge of the noisome waters. The swamp's edge continues to the
|
|
north and southwest.")
|
|
(SW TO C9 IF HACK-FLAG ELSE
|
|
"You continue along the road as it heads south toward the mouth of a
|
|
tunnel. The road is joined here by railroad tracks which also lead into the
|
|
tunnel, but bend to the northwest alongside a steep ridge.")
|
|
(SOUTH TO D9 IF HACK-FLAG ELSE
|
|
"You leave the roadway and come to the edge of a dank area at the edge
|
|
of a swamp, which continues northeast. Putrid sulphurous vapors fill your
|
|
lungs as you step to the edge of the noisome waters.")
|
|
(NORTH TO D7 IF HACK-FLAG ELSE
|
|
"You continue along the roadway for about a hundred yards.")
|
|
(NE TO E7 IF HACK-FLAG ELSE
|
|
"You leave the roadway and come to the edge of a dank area at the edge
|
|
of a swamp which runs from northeast to south. Putrid sulphurous vapors
|
|
fill your lungs as you step to the edge of the noisome waters.")
|
|
(NW TO C7 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(FLAGS FORESTBIT ROADBIT)
|
|
(ACTION ROAD-ROOM-F)>
|
|
|
|
<ROOM D9
|
|
(EW 4)
|
|
(NS 9)
|
|
(LOC ROOMS)
|
|
(DESC "Edge of Swamp")
|
|
(PATH 0)
|
|
(WEST TO C9)
|
|
(EAST PER SWAMP-MOVE)
|
|
(SE PER SWAMP-MOVE)
|
|
(SW SORRY
|
|
"You can't move any farther in that direction.")
|
|
(SOUTH SORRY
|
|
"You can't move any farther in that direction.")
|
|
(NORTH TO D8 IF HACK-FLAG ELSE
|
|
"You leave the side of the swamp and walk onto the nearby roadway,
|
|
running from the north to the southwest.
|
|
The air is already fresher here, and you cannot help but cough a few
|
|
times, as if to purge the foul air all at once.")
|
|
(NE PER E8-SWAMP)
|
|
(NW TO C8 IF HACK-FLAG ELSE
|
|
"You leave the edge of the swamp and enter the forest; it is quite a
|
|
relief for your nose. You take some deep breaths, continue for a
|
|
hundred yards, and stop.")
|
|
(FLAGS SWAMPBIT)
|
|
(ACTION SWAMP-ROOM-F)>
|
|
|
|
<ROOM E3
|
|
(EW 5)
|
|
(NS 3)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO D3 IF HACK-FLAG ELSE
|
|
"The blowing snow blinds you for a moment as you walk through the
|
|
forest.")
|
|
(EAST TO F3 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(SE TO F4 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
northeast to south.")
|
|
(SW TO D4 IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest.")
|
|
(SOUTH TO E4 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(NORTH TO E2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible.")
|
|
(NE SORRY
|
|
"You can't move any farther in that direction.")
|
|
(NW TO D2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible.")
|
|
(FLAGS FORESTBIT)
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROOM E4
|
|
(EW 5)
|
|
(NS 4)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO D4 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(EAST TO F4 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
northeast to south.")
|
|
(SE TO F5 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
north to southwest.")
|
|
(SW TO NORTH-HUT IF HACK-FLAG ELSE
|
|
"You continue through the forest and come to the north side of
|
|
a small wooden hut. Smoke rises in black swirls from the chimney,
|
|
indicating that it's likely that somebody's home.")
|
|
(SOUTH TO E5 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(NORTH TO E3 IF HACK-FLAG ELSE
|
|
"The blowing snow blinds you for a moment as you walk through the
|
|
forest.")
|
|
(NE TO F3 IF HACK-FLAG ELSE
|
|
"A branch falls from a nearby tree, startling you briefly. You
|
|
turn back and press on through the forest.")
|
|
(NW TO D3 IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed through the forest.")
|
|
(FLAGS FORESTBIT)
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROOM E5
|
|
(EW 5)
|
|
(NS 5)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO BEHIND-HUT IF HACK-FLAG ELSE
|
|
"A cold gust of wind swirls snow into your face, making it difficult
|
|
to see clearly, but you press on through the forest, finally coming to
|
|
the back door of a small wooden hut. Smoke rises from the chimney above.")
|
|
(EAST TO F5 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
north to southwest.")
|
|
(SE TO F6 IF HACK-FLAG ELSE
|
|
"You cross a road, leave the forest, and come to the edge of a dank area at
|
|
the edge of a swamp running from northeast to southwest. Putrid sulphurous
|
|
vapors fill your lungs as you step to the edge of the noisome waters.")
|
|
(SW TO D6 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
south to east, with a narrow spur leading north.")
|
|
(SOUTH TO E6 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
east to west.")
|
|
(NORTH TO E4 IF HACK-FLAG ELSE
|
|
"A pile of snow falls on your head from a heavily laden branch
|
|
above. You shake it off, and continue through the forest.")
|
|
(NE TO F4 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
northeast to south.")
|
|
(NW TO D4 IF HACK-FLAG ELSE
|
|
"You continue through the forest for a hundred yards, and then
|
|
stop. Snowflakes fall softly around you - nearby, a small animal
|
|
scurries through the brush.")
|
|
(FLAGS FORESTBIT)
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROOM E6
|
|
(EW 5)
|
|
(NS 6)
|
|
(LOC ROOMS)
|
|
(DESC "On the Roadway")
|
|
(PATH 0)
|
|
(WEST TO D6 IF HACK-FLAG ELSE
|
|
"You continue along the roadway for about a hundred yards, to a point
|
|
where it curves to the left, heading south. A small spur of the road
|
|
leads north.")
|
|
(EAST TO F6 IF HACK-FLAG ELSE
|
|
"You leave the roadway and come to the edge of a dank area at the edge
|
|
of a swamp running from northeast to southwest. Putrid sulphurous vapors
|
|
fill your lungs as you step to the edge of the noisome waters.")
|
|
(SE TO F6 IF HACK-FLAG ELSE
|
|
"You leave the roadway and come to the edge of a dank area at the edge
|
|
of a swamp running from northeast to southwest. Putrid sulphurous vapors
|
|
fill your lungs as you step to the edge of the noisome waters.")
|
|
(SW TO D7 IF HACK-FLAG ELSE
|
|
"You leave the road, walk through the forest, and then come upon the same
|
|
road again, now heading north-south.")
|
|
(SOUTH TO E7 IF HACK-FLAG ELSE
|
|
"You leave the roadway and come to the edge of a dank area at the edge
|
|
of a swamp which runs from northeast to south. Putrid sulphurous vapors
|
|
fill your lungs as you step to the edge of the noisome waters.")
|
|
(NORTH TO E5 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(NE TO F5 IF HACK-FLAG ELSE
|
|
"A brisk wind gives you a deep chill, but you continue along the road
|
|
to the point at which it bends to the north.")
|
|
|
|
(NW TO SOUTH-HUT IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you come to the south side of a small hut. The
|
|
smoke from the chimney indicates that perhaps someone is home.")
|
|
(FLAGS FORESTBIT ROADBIT)
|
|
(ACTION ROAD-ROOM-F)>
|
|
|
|
<ROOM E7
|
|
(EW 5)
|
|
(NS 7)
|
|
(LOC ROOMS)
|
|
(DESC "Edge of Swamp")
|
|
(PATH 0)
|
|
(WEST TO D7 IF HACK-FLAG ELSE
|
|
"You leave the side of the swamp and walk onto the nearby roadway,
|
|
which runs from north to south.
|
|
The air is already fresher here, and you cannot help but cough a few
|
|
times, as if to purge the foul air all at once.")
|
|
(EAST PER SWAMP-MOVE)
|
|
(SE PER SWAMP-MOVE)
|
|
(SW TO D8 IF HACK-FLAG ELSE
|
|
"You leave the side of the swamp and walk onto the nearby roadway,
|
|
which runs from the north to the southwest.
|
|
The air is already fresher here, and you cannot help but cough a few
|
|
times, as if to purge the foul air all at once.")
|
|
(SOUTH PER E8-SWAMP)
|
|
(NORTH TO E6 IF HACK-FLAG ELSE
|
|
"You leave the side of the swamp and walk onto the nearby east-west roadway.
|
|
The air is already fresher here, and you cannot help but cough a few
|
|
times, as if to purge the foul air all at once.")
|
|
(NE PER F6-SWAMP)
|
|
(NW TO D6 IF HACK-FLAG ELSE
|
|
"You leave the side of the swamp and walk onto the nearby roadway.
|
|
The air is already fresher here, and you cannot help but cough a few
|
|
times, as if to purge the foul air all at once. The road leads east
|
|
and south, but a narrow spur heads to the north.")
|
|
(FLAGS SWAMPBIT)
|
|
(ACTION SWAMP-ROOM-F)>
|
|
|
|
<ROUTINE G4-SWAMP ()
|
|
<SWAMP-MOVE-TELL>
|
|
,G4>
|
|
|
|
<ROUTINE E7-SWAMP ()
|
|
<SWAMP-MOVE-TELL>
|
|
,E7>
|
|
|
|
<ROUTINE E8-SWAMP ()
|
|
<SWAMP-MOVE-TELL>
|
|
,E8>
|
|
|
|
<ROUTINE D9-SWAMP ()
|
|
<SWAMP-MOVE-TELL>
|
|
,D9>
|
|
|
|
<ROUTINE G5-SWAMP ()
|
|
<SWAMP-MOVE-TELL>
|
|
,G5>
|
|
|
|
<ROUTINE F6-SWAMP ()
|
|
<SWAMP-MOVE-TELL>
|
|
,F6>
|
|
|
|
<ROUTINE SWAMP-MOVE-TELL ()
|
|
<TELL
|
|
"You continue along the edge of the swamp, your feet ">
|
|
<COND (,IN-SWAMP?
|
|
<TELL "sinking a foot or so into the mud">)
|
|
(T
|
|
<TELL "leaving deep prints in the sticky mud">)>
|
|
<TELL ". The air remains stench-laden, and you're
|
|
eager to move quickly, but the ground is soft and progress slow." CR CR>>
|
|
|
|
<ROUTINE SWAMP-ROOM-F (RARG)
|
|
<COND (<EQUAL? .RARG ,M-LOOK>
|
|
<TELL
|
|
"You are standing ">
|
|
<COND (,IN-SWAMP?
|
|
<TELL "a few feet into the swamp, where the
|
|
muck rises a foot up your leg.">)
|
|
(T
|
|
<TELL "at the edge of a swamp.">)>
|
|
<TELL
|
|
" You could follow along the edge of the swamp to the ">
|
|
<COND (<EQUAL? ,HERE ,E7>
|
|
<TELL "south and northeast">)
|
|
(<EQUAL? ,HERE ,E8 ,G5>
|
|
<TELL "north and southwest">)
|
|
(<EQUAL? ,HERE ,D9>
|
|
<TELL "northeast">)
|
|
(<EQUAL? ,HERE ,F6>
|
|
<TELL "southwest and northeast">)
|
|
(T
|
|
<TELL "south">)>
|
|
<TELL ". On the other hand, you could leave the
|
|
swamp and walk onto the roadway by going ">
|
|
<COND (<EQUAL? ,HERE ,D9 ,E7 ,F6>
|
|
<TELL "west or north">)
|
|
(T ;<EQUAL? ,HERE ,E8 ,G5 ,G4>
|
|
<TELL "west">)>
|
|
<TELL ,PERIOD-CR>)>>
|
|
|
|
<ROOM E8
|
|
(EW 5)
|
|
(NS 8)
|
|
(LOC ROOMS)
|
|
(DESC "Edge of Swamp")
|
|
(PATH 0)
|
|
(WEST TO D8 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
north to southwest.")
|
|
(EAST PER SWAMP-MOVE)
|
|
(SE PER SWAMP-MOVE)
|
|
(SW PER D9-SWAMP)
|
|
(SOUTH PER SWAMP-MOVE)
|
|
(NORTH PER E7-SWAMP)
|
|
(NE PER SWAMP-MOVE)
|
|
(NW TO D7 IF HACK-FLAG ELSE
|
|
"You emerge from the swamp and come to a roadway running from
|
|
north to south.")
|
|
(FLAGS SWAMPBIT FORESTBIT)
|
|
(ACTION SWAMP-ROOM-F)>
|
|
|
|
<ROOM F3
|
|
(EW 6)
|
|
(NS 3)
|
|
(LOC ROOMS)
|
|
(DESC "Inside the Forest")
|
|
(PATH 0)
|
|
(WEST TO E3 IF HACK-FLAG ELSE
|
|
"You stumble through a three-foot snowdrift, but get back on your
|
|
feet quickly and proceed through the forest.")
|
|
(EAST SORRY
|
|
"You'd be caught in a moment.")
|
|
(SE TO G4 IF HACK-FLAG ELSE
|
|
"You leave the forest, crossing a roadway, and come to the edge of a dank
|
|
area at the edge of a swamp which continues to the south. Putrid sulphurous
|
|
vapors fill your lungs as you step to the edge of the noisome waters.")
|
|
(SW TO E4 IF HACK-FLAG ELSE
|
|
"You walk through the forest, breaking branches as you go, and
|
|
finally stop after walking about a hundred yards.")
|
|
(SOUTH TO F4 IF HACK-FLAG ELSE
|
|
"You emerge from the thick forest and come to a roadway running from
|
|
northeast to south.")
|
|
(NORTH SORRY
|
|
"You scramble up a bit, but slide back down. It's just too steep.")
|
|
(NE SORRY
|
|
"You can't move any farther in that direction.")
|
|
(NW TO E2 IF HACK-FLAG ELSE
|
|
"You continue through the forest, until you come to the edge of a wide
|
|
clearing to the north - this is the border zone. From atop three guard
|
|
towers standing in a line from east to west, searchlights play across
|
|
the zone, brightly illuminating everything in their path. On either side
|
|
of the towers are tall fences, running parallel to the border, making a
|
|
direct assault all but impossible.")
|
|
(FLAGS FORESTBIT)
|
|
(ACTION FOREST-ROOM-F)>
|
|
|
|
<ROOM F4
|
|
(EW 6)
|
|
(NS 4)
|
|
(LOC ROOMS)
|
|
(DESC "On the Roadway")
|
|
(PATH 0)
|
|
(WEST TO E4 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(EAST TO G4 IF HACK-FLAG ELSE
|
|
"You leave the roadway and come to the edge of a dank area at the edge
|
|
of a swamp which continues to the south. Putrid sulphurous vapors fill your
|
|
lungs as you step to the edge of the noisome waters.")
|
|
(SE TO G5 IF HACK-FLAG ELSE
|
|
"You leave the roadway and come to the edge of a dank area at the edge
|
|
of a swamp which runs from the north to the southwest. Putrid sulphurous
|
|
vapors fill your lungs as you step to the edge of the noisome waters.")
|
|
(SW TO E5 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(SOUTH TO F5 IF HACK-FLAG ELSE
|
|
"You continue along the roadway for about a hundred yards to a point
|
|
where it bends to the southwest.")
|
|
(NORTH TO F3 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(NE SORRY
|
|
"You start along the road, until you see a roadblock come into sight; you
|
|
duck back into the forest. It would never work to go that way.")
|
|
(NW TO E3 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(FLAGS FORESTBIT ROADBIT)
|
|
(ACTION ROAD-ROOM-F)>
|
|
|
|
<OBJECT ROADBLOCK
|
|
(DESC "roadblock")
|
|
(SYNONYM BLOCK ROADBLOCK)
|
|
(ADJECTIVE ROAD)
|
|
(LOC GLOBAL-OBJECTS)
|
|
(SCENARIO 2)
|
|
(ACTION ROADBLOCK-F)>
|
|
|
|
<ROUTINE ROADBLOCK-F ()
|
|
<COND (<EQUAL? ,HERE ,F4 ,G4>
|
|
<TELL
|
|
"There's no roadblock here, but there is surely one lurking
|
|
in the darkness nearby." CR>)
|
|
(T
|
|
<CANT-SEE ,ROADBLOCK>)>>
|
|
|
|
<ROOM F5
|
|
(EW 6)
|
|
(NS 5)
|
|
(LOC ROOMS)
|
|
(DESC "On the Roadway")
|
|
(PATH 0)
|
|
(WEST TO E5 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(EAST TO G5 IF HACK-FLAG ELSE
|
|
"You leave the roadway and come to the edge of a dank area at the edge
|
|
of a swamp which runs from the north to the southwest. Putrid sulphurous
|
|
vapors fill your lungs as you step to the edge of the noisome waters.")
|
|
(SE SORRY
|
|
"You can't move any farther in that direction.")
|
|
(SW TO E6 IF HACK-FLAG ELSE
|
|
"You walk along the road for a hundred or so yards, snow swirling in your
|
|
face. From here, the road continues to the west.")
|
|
(SOUTH TO F6 IF HACK-FLAG ELSE
|
|
"You leave the roadway and come to the edge of a dank area at the edge
|
|
of a swamp running from northeast to southwest. Putrid sulphurous vapors
|
|
fill your lungs as you step to the edge of the noisome waters.")
|
|
(NORTH TO F4 IF HACK-FLAG ELSE
|
|
"You walk along the road for a hundred or so yards, snow swirling in your
|
|
face, until you come to a point where the road bends to the northeast.")
|
|
(NE TO G4 IF HACK-FLAG ELSE
|
|
"You leave the roadway and come to the edge of a dank area at the edge
|
|
of a swamp which continues to the south. Putrid sulphurous vapors fill your
|
|
lungs as you step to the edge of the noisome waters.")
|
|
(NW TO E4 IF HACK-FLAG ELSE
|
|
"You leave the side of the roadway and enter the forest, proceeding a
|
|
hundred yards before you stop.")
|
|
(FLAGS FORESTBIT ROADBIT)
|
|
(ACTION ROAD-ROOM-F)>
|
|
|
|
<ROOM F6
|
|
(EW 6)
|
|
(NS 6)
|
|
(LOC ROOMS)
|
|
(DESC "Edge of Swamp")
|
|
(PATH 0)
|
|
(WEST TO E6 IF HACK-FLAG ELSE
|
|
"You leave the side of the swamp and walk onto the nearby east-west roadway.
|
|
The air is already fresher here, and you cannot help but cough a few
|
|
times, as if to purge the foul air all at once.")
|
|
(EAST PER SWAMP-MOVE)
|
|
(SE PER SWAMP-MOVE)
|
|
(SW PER E7-SWAMP)
|
|
(SOUTH PER SWAMP-MOVE)
|
|
(NORTH TO F5 IF HACK-FLAG ELSE
|
|
"You leave the side of the swamp and walk onto the nearby roadway,
|
|
which runs from north to southwest here.
|
|
The air is already fresher here, and you cannot help but cough a few
|
|
times, as if to purge the foul air all at once.")
|
|
(NE PER G5-SWAMP)
|
|
(NW TO E5 IF HACK-FLAG ELSE
|
|
"You leave the edge of the swamp and enter the forest; it is quite a
|
|
relief for your nose. You take some deep breaths, continue for a
|
|
hundred yards, and stop.")
|
|
(FLAGS SWAMPBIT)
|
|
(ACTION SWAMP-ROOM-F)>
|
|
|
|
<ROOM G4
|
|
(EW 7)
|
|
(NS 4)
|
|
(LOC ROOMS)
|
|
(DESC "Edge of Swamp")
|
|
(PATH 0)
|
|
(WEST TO F4 IF HACK-FLAG ELSE
|
|
"You leave the side of the swamp and walk onto the nearby roadway,
|
|
which runs from south to northeast.
|
|
The air is already fresher here, and you cannot help but cough a few
|
|
times, as if to purge the foul air all at once.")
|
|
(EAST PER SWAMP-MOVE)
|
|
(SE PER SWAMP-MOVE)
|
|
(SW TO F5 IF HACK-FLAG ELSE
|
|
"You leave the side of the swamp and walk onto the nearby roadway,
|
|
which runs from north to southwest here.
|
|
The air is already fresher here, and you cannot help but cough a few
|
|
times, as if to purge the foul air all at once.")
|
|
(SOUTH PER G5-SWAMP)
|
|
(NORTH SORRY
|
|
"You start onto the roadway, and find yourself facing a roadblock. Realizing
|
|
that you'd be caught in a moment continuing that way, you return to the edge
|
|
of the swamp.")
|
|
(NE PER SWAMP-MOVE)
|
|
(NW TO F3 IF HACK-FLAG ELSE
|
|
"You leave the edge of the swamp and enter the forest; it is quite a
|
|
relief for your nose. You take some deep breaths, continue for a
|
|
hundred yards, and stop.")
|
|
(FLAGS SWAMPBIT)
|
|
(ACTION SWAMP-ROOM-F)>
|
|
|
|
<ROOM G5
|
|
(EW 7)
|
|
(NS 5)
|
|
(LOC ROOMS)
|
|
(DESC "Edge of Swamp")
|
|
(PATH 0)
|
|
(WEST TO F5 IF HACK-FLAG ELSE
|
|
"You leave the side of the swamp and walk onto the nearby roadway,
|
|
which runs from north to southwest here.
|
|
The air is already fresher here, and you cannot help but cough a few
|
|
times, as if to purge the foul air all at once.")
|
|
(EAST PER SWAMP-MOVE)
|
|
(SE PER SWAMP-MOVE)
|
|
(SW PER F6-SWAMP)
|
|
(SOUTH PER SWAMP-MOVE)
|
|
(NORTH PER G4-SWAMP)
|
|
(NE PER SWAMP-MOVE)
|
|
(NW TO F4 IF HACK-FLAG ELSE
|
|
"You leave the side of the swamp and walk onto the nearby roadway,
|
|
which runs from south to northeast.
|
|
The air is already fresher here, and you cannot help but cough a few
|
|
times, as if to purge the foul air all at once.")
|
|
(FLAGS SWAMPBIT)
|
|
(ACTION SWAMP-ROOM-F)>
|
|
|
|
<ROUTINE SWAMP-MOVE ()
|
|
<COND (<NOT ,IN-SWAMP?>
|
|
<TELL
|
|
"You should simply enter the swamp, if that is indeed your intention." CR>
|
|
<RFALSE>)
|
|
(T
|
|
<TELL
|
|
"You're as far into the swamp as you can go." CR>
|
|
<RFALSE>)>>
|
|
|
|
<OBJECT TRAIN
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "train")
|
|
(SYNONYM TRAIN CHOO-CHOO)
|
|
(ACTION TRAIN-F)>
|
|
|
|
<ROUTINE TRAIN-F ()
|
|
<COND (<EQUAL? ,SCENARIO 2>
|
|
<TELL
|
|
"There's no train anywhere near here, as far as you can tell." CR>)
|
|
(<AND <EQUAL? ,SCENARIO 1>
|
|
<NOT <FSET? ,HERE ,PLATFORMBIT>>>
|
|
<COND (<VERB? DISEMBARK TAKE-OFF LEAVE>
|
|
<COND (<EQUAL? ,HERE ,PASS-6>
|
|
<DO-WALK ,P?SOUTH>
|
|
<RTRUE>)
|
|
(T
|
|
<TELL
|
|
"You'll have to get to the exit, which is near the lavatory." CR>)>)
|
|
(<VERB? OFF OFF-2>
|
|
<TELL
|
|
"You might try the cord, but that would be the only way." CR>)
|
|
(<VERB? LOOK-INSIDE>
|
|
<PERFORM ,V?LOOK-INSIDE ,PASS-WINDOW>
|
|
<RTRUE>)>)>>
|
|
|
|
<OBJECT FOREST
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "forest")
|
|
(SYNONYM FOREST)
|
|
(SCENARIO 2)
|
|
(ACTION FOREST-F)>
|
|
|
|
<ROUTINE FOREST-F ()
|
|
<COND (<VERB? FIND>
|
|
<TELL
|
|
"You cannot see the forest for the trees." CR>)
|
|
(<VERB? SEARCH>
|
|
<TELL
|
|
"That would take hours or days; you've got seconds or minutes." CR>)
|
|
(<VERB? ENTER LEAVE>
|
|
<TELL
|
|
"You should use compass directions to do that." CR>)>>
|
|
|
|
<OBJECT GLOBAL-HUT
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "hut")
|
|
(SYNONYM HUT)
|
|
(SCENARIO 2)
|
|
(ACTION GLOBAL-HUT-F)>
|
|
|
|
<ROUTINE GLOBAL-HUT-F ()
|
|
<COND (<NOT ,BEEN-AT-HUT?>
|
|
<TELL
|
|
"You haven't seen any hut, but it would be a sight for sore eyes." CR>)
|
|
(<VERB? WALK-AROUND>
|
|
<TELL
|
|
"You can't see the hut from here, but the smoke in the sky tells you that
|
|
it's off to the ">
|
|
<TELL-DIRECTION ,HERE ,D5>
|
|
<TELL ". As for walking around it, that's up to you." CR>)
|
|
(<VERB? WALK-TO FIND>
|
|
<COND (<EQUAL? ,HERE ,INSIDE-SHED>
|
|
<TELL "Not from inside the shed." CR>
|
|
<RTRUE>)>
|
|
<TELL
|
|
"You can't see the hut, but the smoke in the sky is coming from the ">
|
|
<TELL-DIRECTION ,HERE ,D5>
|
|
<TELL ", so you start to walk in that direction." CR CR>
|
|
<DO-WALK <RET-DIRECTION ,HERE ,D5>>)>>
|
|
|
|
<OBJECT T-STATION
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "border station")
|
|
(SYNONYM STATION)
|
|
(ADJECTIVE BORDER)
|
|
(TRANSIENT <PLTABLE A2 B2 C2 D2 E2>)
|
|
(ACTION T-STATION-F)>
|
|
|
|
<GLOBAL TOO-FAR "You're too far away to do that.">
|
|
|
|
<ROUTINE T-STATION-F ()
|
|
<COND (<VERB? EXAMINE>
|
|
<TELL
|
|
"The border station, to the left of the three towers, consists of a
|
|
guards' station and a train platform. The station itself is heavily
|
|
guarded, so movement in that direction would be suicidal." CR>)
|
|
(T
|
|
<TELL ,TOO-FAR CR>)>>
|
|
|
|
<OBJECT GLOBAL-TUNNEL
|
|
(LOC GLOBAL-OBJECTS)
|
|
(SYNONYM TUNNEL)
|
|
(DESC "tunnel")
|
|
(SCENARIO 2)
|
|
(ACTION GLOBAL-TUNNEL-F)>
|
|
|
|
<ROUTINE GLOBAL-TUNNEL-F ()
|
|
<COND (<VERB? EXAMINE WALK-TO WATCH>
|
|
<COND (<EQUAL? ,HERE ,C9>
|
|
<TELL
|
|
"It's the tunnel you came through just before you jumped. It's a few
|
|
miles long and very, very dark." CR>)
|
|
(T
|
|
<CANT-SEE ,PRSO>)>)
|
|
(<VERB? FIND>
|
|
<TELL
|
|
"If memory serves, it should be off to the ">
|
|
<TELL-DIRECTION ,HERE ,C9>
|
|
<TELL ,PERIOD-CR>)
|
|
(T
|
|
<TELL ,TOO-FAR CR>)>>
|
|
|
|
<OBJECT GLOBAL-SNOW
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "snow")
|
|
(SYNONYM SNOW ICE)
|
|
(SCENARIO 2)
|
|
(ACTION GLOBAL-SNOW-F)>
|
|
|
|
<ROUTINE GLOBAL-SNOW-F ()
|
|
<COND (<VERB? LEAP>
|
|
<TELL
|
|
"This is no time for acrobatics." CR>)
|
|
(<OR <FSET? ,HERE ,HUTBIT>
|
|
<EQUAL? ,HERE ,INSIDE-SHED>>
|
|
<CANT-SEE ,PRSO>)>>
|
|
|
|
<OBJECT GLOBAL-TREES
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "tree")
|
|
(SYNONYM TREE TREES)
|
|
(SCENARIO 2)
|
|
(ACTION GLOBAL-TREES-F)>
|
|
|
|
<ROUTINE GLOBAL-TREES-F ()
|
|
<COND (<OR <FSET? ,HERE ,HUTBIT>
|
|
<EQUAL? ,HERE ,INSIDE-SHED>>
|
|
<TELL
|
|
"There aren't any indoor trees here." CR>)
|
|
(<VERB? CUT>
|
|
<TELL
|
|
"Chopping wood is an exhausting activity and won't help you." CR>)>>
|
|
|
|
<OBJECT GLOBAL-BORDER
|
|
(LOC GLOBAL-OBJECTS)
|
|
(DESC "border")
|
|
(SYNONYM BORDER)
|
|
(SCENARIO 2)
|
|
(ACTION GLOBAL-BORDER-F)>
|
|
|
|
<ROUTINE GLOBAL-BORDER-F ()
|
|
<COND (<VERB? FIND WALK-TO>
|
|
<TELL
|
|
"If memory serves, the border should be to the north." CR>)
|
|
(<VERB? EXAMINE>
|
|
<TELL
|
|
"It's just like any other military fortress border." CR>)
|
|
(T
|
|
<CANT-SEE ,GLOBAL-BORDER>)>>
|
|
|
|
|
|
|