leathergoddesses/cleveland.zap

652 lines
16 KiB
Plaintext

.FUNCT CLEVELAND-OBJECT-F
EQUAL? PRSA,V?BOARD,V?WALK-TO,V?ENTER \?ELS5
EQUAL? HERE,CLEVELAND \?ELS10
PRINT LOOK-AROUND
RTRUE
?ELS10: EQUAL? HERE,LAWN \FALSE
CALL DO-WALK,P?NORTH
RSTACK
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?LEAVE \?ELS14
EQUAL? HERE,CLEVELAND \?ELS19
CALL V-WALK-AROUND
RSTACK
?ELS19: PRINT LOOK-AROUND
RTRUE
?ELS14: EQUAL? PRSA,V?EXAMINE \FALSE
CALL V-LOOK
RSTACK
.FUNCT LAWN-F,RARG
EQUAL? RARG,M-LOOK \?ELS5
PRINTI "Yes, ""Lawn"" is the kindest word for this muddy patch of limp crabgrass. "
FSET? RAKE,TRYTAKEBIT \?CND6
FSET? SACK,TRYTAKEBIT \?CND6
PRINTI "Miraculously, someone actually seems to "
ZERO? NAUGHTY-LEVEL \?ELS13
PRINTI "care"
JUMP ?CND11
?ELS13: PRINTI "give a "
EQUAL? NAUGHTY-LEVEL,1 \?ELS18
PRINTI "damn"
JUMP ?CND11
?ELS18: PRINTI "shit"
?CND11: PRINTI " about this lawn, because there are signs of recent activity:"
CALL APRINT,RAKE
PRINTI " and a large "
PRINTD SACK
PRINTI ". "
?CND6: PRINTI "A fence rings the lawn; through an opening to the north you can see Cleveland."
RTRUE
?ELS5: EQUAL? RARG,M-END \FALSE
FCLEAR RAKE,TRYTAKEBIT
FCLEAR SACK,TRYTAKEBIT
FCLEAR RAKE,NDESCBIT
FCLEAR SACK,NDESCBIT
RTRUE
.FUNCT FENCE-F
EQUAL? PRSA,V?CLIMB-UP,V?CLIMB,V?LOOK-OVER /?THN6
EQUAL? PRSA,V?CLIMB-OVER \?ELS5
?THN6: PRINTR "It's too tall."
?ELS5: EQUAL? PRSA,V?PUT-AGAINST \FALSE
EQUAL? PRSO,TRELLIS \FALSE
CALL PERFORM-PRSA,TRELLIS,HOUSE
RTRUE
.FUNCT LAWN-OBJECT-F
EQUAL? PRSA,V?RAKE \?ELS5
PRINTR "It's already raked."
?ELS5: EQUAL? PRSA,V?CLIMB,V?CLIMB-ON,V?CLIMB-UP /?THN8
EQUAL? PRSA,V?LOOK-UNDER,V?BOARD \?ELS7
?THN8: CALL PERFORM-PRSA,GROUND,PRSI
RTRUE
?ELS7: EQUAL? PRSA,V?PUT-ON \?ELS11
EQUAL? PRSI,PSEUDO-OBJECT \?ELS11
CALL PERFORM,V?DROP,PRSO
RTRUE
?ELS11: EQUAL? PRSA,V?SEARCH \?ELS15
PRINT NOTHING-NEW
RTRUE
?ELS15: EQUAL? PRSA,V?EXAMINE \FALSE
CALL V-LOOK
RSTACK
.FUNCT LEAVES-F
EQUAL? PRSA,V?ENTER \?ELS5
CALL ULTIMATELY-IN?,LEAVES
ZERO? STACK /?ELS10
PRINT HOLDING-IT
RTRUE
?ELS10: CALL WEE
RSTACK
?ELS5: EQUAL? PRSA,V?TAKE \?ELS14
CALL PRE-TOUCH
ZERO? STACK \TRUE
PRINT YOU-CANT
PRINTR "hold so many leaves in your arms!"
?ELS14: EQUAL? PRSA,V?RAKE \?ELS19
PRINTI "They're already in a "
IN? LEAVES,SACK \?ELS22
PRINTD SACK
JUMP ?CND20
?ELS22: PRINTI "pile"
?CND20: PRINT PERIOD-CR
RTRUE
?ELS19: EQUAL? PRSA,V?COUNT \?ELS26
PRINTR "69,105."
?ELS26: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \?ELS28
PRINTR "You find ... more leaves!"
?ELS28: EQUAL? PRSA,V?POUR \?ELS30
EQUAL? PRSO,LEAVES \?ELS30
CALL ULTIMATELY-IN?,LEAVES
ZERO? STACK /?ELS37
EQUAL? PRSI,WINDOW \?ELS42
CALL PERFORM,V?PUT-THROUGH,LEAVES,WINDOW
RTRUE
?ELS42: CALL PERFORM,V?PUT,LEAVES,PRSI
RTRUE
?ELS37: PRINT YNH
CALL TRPRINT,LEAVES
RSTACK
?ELS30: EQUAL? PRSA,V?PUT,V?PUSH \?ELS52
EQUAL? PRSI,SACK /?THN49
?ELS52: EQUAL? PRSA,V?FILL \?ELS48
EQUAL? PRSO,SACK \?ELS48
?THN49: CALL UNTOUCHABLE?,LEAVES
ZERO? STACK /?ELS57
CALL CANT-REACH,LEAVES
RTRUE
?ELS57: IN? LEAVES,SACK /FALSE
?CND55: FCLEAR LEAVES,TRYTAKEBIT
SET 'LEAVES-PLACED,FALSE-VALUE
FSET TREE-HOLE,OPENBIT
FCLEAR LEAVES,NDESCBIT
MOVE LEAVES,SACK
PRINTR "Done."
?ELS48: EQUAL? PRSA,V?MOVE \?ELS61
ZERO? LEAVES-PLACED /?ELS61
FCLEAR LEAVES,TRYTAKEBIT
SET 'LEAVES-PLACED,FALSE-VALUE
FSET TREE-HOLE,OPENBIT
FCLEAR LEAVES,NDESCBIT
MOVE LEAVES,HERE
PRINTR "You uncover the trellis."
?ELS61: EQUAL? PRSA,V?LOOK-UNDER \?ELS65
ZERO? LEAVES-PLACED /?ELS65
CALL TRELLIS-VISIBLE
CRLF
RTRUE
?ELS65: EQUAL? PRSA,V?EMPTY \?ELS69
EQUAL? PRSO,LEAVES \?ELS69
IN? LEAVES,SACK \?ELS69
CALL PERFORM,V?DROP,LEAVES
RTRUE
?ELS69: EQUAL? PRSA,V?BOARD,V?CLIMB-ON,V?STAND-ON \FALSE
ZERO? LEAVES-PLACED /FALSE
CALL PERFORM,V?STAND-ON,TRELLIS
RTRUE
.FUNCT GARDEN-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "The house opens onto a fragrant garden! A piece of sod has been "
FSET? SOD,MUNGBIT \?ELS8
PRINTI "rolled aside, revealing"
CALL APRINT,HOLE
JUMP ?CND6
?ELS8: PRINTI "recently planted"
?CND6: PRINTI ", and a clump of yellow, bulbous flowers grows nearby."
FSET? TRELLIS,TRYTAKEBIT \?CND11
PRINTI " The flowers barely reach the trellis which rises behind them."
?CND11: PRINTI " You can re-enter the house to the west."
RTRUE
.FUNCT FLOWERS-F
EQUAL? PRSA,V?SMELL \?ELS5
CALL PERFORM-PRSA,ODOR
RTRUE
?ELS5: EQUAL? PRSA,V?MUNG,V?TAKE,V?PICK \FALSE
PRINTR "That would be the act of a philistine."
.FUNCT SOD-F
EQUAL? PRSA,V?TAKE \?ELS5
CALL EXAMINE-SOD,TRUE-VALUE
RSTACK
?ELS5: EQUAL? PRSA,V?PUSH,V?ROLL,V?MOVE \?ELS7
FSET? SOD,MUNGBIT \?ELS12
PRINT SENILITY-STRIKES
RTRUE
?ELS12: FSET SOD,MUNGBIT
CALL THIS-IS-IT,HOLE
PRINTI "Moving the sod reveals"
CALL ARPRINT,HOLE
RSTACK
?ELS7: EQUAL? PRSA,V?PUT-ON \?ELS20
EQUAL? PRSI,HOLE /?THN17
?ELS20: EQUAL? PRSA,V?UNROLL \?ELS16
?THN17: FSET? SOD,MUNGBIT \?ELS25
FCLEAR SOD,MUNGBIT
PRINTI "You re-cover"
CALL TRPRINT,HOLE
RSTACK
?ELS25: PRINT LOOK-AROUND
RTRUE
?ELS16: EQUAL? PRSA,V?LOOK-UNDER,V?RAISE \?ELS29
FSET? SOD,MUNGBIT /?ELS29
PRINTR "You lift a corner. Before the sod drops back to the ground, you notice something dark."
?ELS29: EQUAL? PRSA,V?EXAMINE \FALSE
CALL EXAMINE-SOD
RSTACK
.FUNCT EXAMINE-SOD,TAKING=0
PRINTI "Although the sod hasn't taken root yet, it"
ZERO? TAKING /?ELS3
PRINTI "'"
JUMP ?CND1
?ELS3: PRINTI " look"
?CND1: PRINTR "s too heavy to carry."
.FUNCT TRELLIS-F,OARG=0
ZERO? OARG /?ELS5
FSET? TRELLIS,MUNGBIT \FALSE
EQUAL? OARG,M-OBJDESC? /TRUE
PRINTI " "
CALL DESCRIBE-TRELLIS-ON-HOLE
RSTACK
?ELS5: FSET? TRELLIS,UNTEEDBIT /FALSE
EQUAL? PRSA,V?PUT,V?PUT-ON \?ELS20
EQUAL? PRSO,LEAVES \?ELS20
FSET? TRELLIS,MUNGBIT \?ELS20
IN? LEAVES,TREE-HOLE \?ELS27
CALL CANT-REACH,LEAVES
RSTACK
?ELS27: SET 'LEAVES-PLACED,TRUE-VALUE
FCLEAR TREE-HOLE,OPENBIT
FSET LEAVES,NDESCBIT
FSET LEAVES,TRYTAKEBIT
MOVE LEAVES,TRELLIS
PRINTR "The leaves cover the trellis."
?ELS20: EQUAL? PRSA,V?PUT-ON \?ELS31
EQUAL? PRSI,TREE-HOLE \?ELS31
FSET? TRELLIS,MUNGBIT \?ELS38
PRINT SENILITY-STRIKES
RTRUE
?ELS38: IN? LEAVES,TRELLIS \?CND41
SET 'LEAVES-PLACED,TRUE-VALUE
FCLEAR TREE-HOLE,OPENBIT
FSET LEAVES,NDESCBIT
FSET LEAVES,TRYTAKEBIT
?CND41: MOVE TRELLIS,HERE
FSET TRELLIS,TRYTAKEBIT
FSET TRELLIS,MUNGBIT
PRINTR "The trellis barely spans the hole."
?ELS31: EQUAL? PRSA,V?TAKE \?ELS45
FSET? TRELLIS,TRYTAKEBIT \?ELS45
CALL UNTOUCHABLE?,TRELLIS
ZERO? STACK \?ELS45
CALL UNDO-TRAP
RFALSE
?ELS45: EQUAL? PRSA,V?CLIMB-ON,V?CLIMB \?ELS49
EQUAL? HERE,GARDEN \?ELS49
FSET? TRELLIS,TRYTAKEBIT \?ELS49
CALL UNDO-TRAP
PRINTR "It falls over."
?ELS49: EQUAL? PRSA,V?REMOVE,V?MOVE \?ELS53
FSET? TRELLIS,MUNGBIT \?ELS53
CALL UNDO-TRAP
PRINTR "You uncover the hole."
?ELS53: EQUAL? PRSA,V?PUT-AGAINST \?ELS57
EQUAL? PRSI,HOUSE \?ELS57
PRINTR "The trellis is too flimsy to climb."
?ELS57: EQUAL? PRSA,V?LOOK-INSIDE \?ELS61
GET P-ITBL,P-PREP1
EQUAL? STACK,PR?THROUGH \?ELS61
CALL V-LOOK
RSTACK
?ELS61: EQUAL? PRSA,V?MEASURE \?ELS65
PRINTR "It's six or seven feet wide."
?ELS65: EQUAL? PRSA,V?EXAMINE \?ELS67
ZERO? LEAVES-PLACED /?ELS67
FCLEAR LEAVES,NDESCBIT
CALL V-EXAMINE
FSET LEAVES,NDESCBIT
RTRUE
?ELS67: EQUAL? PRSA,V?EXAMINE \?ELS71
FIRST? TRELLIS /?ELS71
PRINTR "The trellis is a tight lattice of white wood. Though slightly wider at the top, it is approximately square in shape."
?ELS71: EQUAL? PRSA,V?PUT \?ELS75
EQUAL? PRSI,TREE-HOLE \?ELS75
PRINT TRELLIS-TOO-WIDE
RTRUE
?ELS75: EQUAL? PRSA,V?BOARD,V?STAND-ON \FALSE
FSET? TRELLIS,MUNGBIT \FALSE
CALL ROB,TRELLIS,TREE-HOLE
REMOVE TRELLIS
MOVE PROTAGONIST,TREE-HOLE
PRINTI "Crash! You"
CALL AND-SIDEKICK,TREE-HOLE
CALL UNDO-TRAP
PRINTR " are now in the hole, along with some splinters."
.FUNCT TRELLIS-VISIBLE
PRINTI "The edge of a trellis is just visible under"
CALL APRINT,LEAVES
PRINTI "."
RTRUE
.FUNCT DESCRIBE-TRELLIS-ON-HOLE
ZERO? LEAVES-PLACED /?ELS5
CALL TRELLIS-VISIBLE
RSTACK
?ELS5: PRINTI "A trellis covers the hole."
RTRUE
.FUNCT UNDO-TRAP
ZERO? LEAVES-PLACED /?CND1
SET 'LEAVES-PLACED,FALSE-VALUE
FCLEAR LEAVES,TRYTAKEBIT
FCLEAR LEAVES,NDESCBIT
?CND1: FSET TREE-HOLE,OPENBIT
FCLEAR TRELLIS,TRYTAKEBIT
FCLEAR TRELLIS,MUNGBIT
FCLEAR TRELLIS,NDESCBIT
FSET TRELLIS,OPENBIT
FSET TRELLIS,CONTBIT
FSET TRELLIS,SURFACEBIT
RTRUE
.FUNCT FIRST-FLOOR-F
EQUAL? PRSA,V?BOARD,V?WALK-TO,V?ENTER \?ELS5
EQUAL? HERE,BEDROOM \?ELS10
CALL DO-WALK,P?DOWN
RSTACK
?ELS10: EQUAL? HERE,TEENSY-WEENSY-HOUSE \FALSE
PRINT LOOK-AROUND
RTRUE
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE,V?EXIT \?ELS14
EQUAL? HERE,BEDROOM \?ELS19
PRINT LOOK-AROUND
RTRUE
?ELS19: CALL DO-WALK,P?UP
RSTACK
?ELS14: EQUAL? HERE,TEENSY-WEENSY-HOUSE \FALSE
EQUAL? PRSO,PSEUDO-OBJECT \?ELS28
CALL PERFORM-PRSA,GLOBAL-ROOM,PRSI
RTRUE
?ELS28: CALL PERFORM-PRSA,PRSO,GLOBAL-ROOM
RSTACK
.FUNCT SECOND-FLOOR-F
EQUAL? PRSA,V?BOARD,V?WALK-TO,V?ENTER \?ELS5
EQUAL? HERE,TEENSY-WEENSY-HOUSE \?ELS10
CALL DO-WALK,P?UP
RSTACK
?ELS10: EQUAL? HERE,BEDROOM \FALSE
PRINT LOOK-AROUND
RTRUE
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE,V?EXIT \?ELS14
EQUAL? HERE,BEDROOM \?ELS19
CALL DO-WALK,P?DOWN
RSTACK
?ELS19: PRINT LOOK-AROUND
RTRUE
?ELS14: EQUAL? HERE,BEDROOM \FALSE
EQUAL? PRSO,PSEUDO-OBJECT \?ELS28
CALL PERFORM-PRSA,GLOBAL-ROOM,PRSI
RTRUE
?ELS28: CALL PERFORM-PRSA,PRSO,GLOBAL-ROOM
RSTACK
.FUNCT BEDROOM-EXIT-F,CALLED-BY-STAIRS-F=0
ZERO? SIDEKICK-TRIP-FLAG /?ELS5
CALL QUEUED?,I-SIDEKICK-OUT-WINDOW
ZERO? STACK /?ELS5
PRINTI "Just as you are about to..."
CRLF
RFALSE
?ELS5: ZERO? SHEET-HANGING /?ELS9
ZERO? CALLED-BY-STAIRS-F \?ELS9
PRINTI "Choice: You could climb down the stairs or the rope."
CRLF
RFALSE
?ELS9: RETURN TEENSY-WEENSY-HOUSE
.FUNCT BED-F
EQUAL? PRSA,V?MAKE \?ELS5
CALL V-CLEAN
RSTACK
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS7
ZERO? SHEET-TIED \?THN10
FSET? SHEET,TRYTAKEBIT \?ELS7
?THN10: CALL SHEET-F,M-OBJDESC
FIRST? BED \?ELS16
FIRST? BED /?KLU34
?KLU34: EQUAL? STACK,SHEET \?ELS21
NEXT? SHEET /?ELS21
CRLF
RTRUE
?ELS21: PRINTI " "
RFALSE
?ELS16: CRLF
RTRUE
?ELS7: EQUAL? PRSA,V?PUT-ON,V?PUT \?ELS29
EQUAL? PRSO,STOOL,RAFT \?ELS29
CALL WASTES
RSTACK
?ELS29: EQUAL? PRSA,V?PUSH,V?MOVE \FALSE
PRINTR "The bed is too heavy to move."
.FUNCT SHEET-F,OARG=0
ZERO? OARG /?ELS5
ZERO? SHEET-TIED \?THN12
FSET? SHEET,TRYTAKEBIT \FALSE
?THN12: EQUAL? OARG,M-OBJDESC? /TRUE
EQUAL? PRSA,V?EXAMINE /?CND17
PRINTI " "
?CND17: ZERO? SHEET-TIED /?ELS24
PRINTI "A "
CALL DPRINT,SHEET
PRINTI " is tied to the bed"
ZERO? SHEET-HANGING /?CND26
PRINTI ", its other end out the window"
?CND26: PRINTI "."
RTRUE
?ELS24: PRINTI "The bed is unmade, with the sheet lying half on the floor."
RTRUE
?ELS5: EQUAL? PRSA,V?MAKE \?ELS35
CALL NOUN-USED,W?ROPE,SHEET
ZERO? STACK /?ELS35
FSET? SHEET,MUNGBIT \?ELS42
CALL PERFORM,V?TIE-TOGETHER,SHEET
RTRUE
?ELS42: PRINTR "Be less general."
?ELS35: EQUAL? PRSA,V?MAKE-WITH,V?TIE \?ELS46
EQUAL? PRSO,PRSI \?ELS46
CALL PERFORM,V?TIE-TOGETHER,SHEET
RTRUE
?ELS46: EQUAL? PRSA,V?TIE-TOGETHER \?ELS50
FSET? SHEET,MUNGBIT \?ELS55
PRINT SENILITY-STRIKES
RTRUE
?ELS55: FSET? SHEET,NARTICLEBIT \?ELS57
FCLEAR SHEET,NARTICLEBIT
FCLEAR SHEET,PLURALBIT
FSET SHEET,MUNGBIT
PUTP SHEET,P?SDESC,STR?377
PUTP SHEET,P?NO-T-DESC,STR?378
PRINTR "With the expertise of one who has watched countless prison escape movies, you tie the strips into a rope."
?ELS57: PRINTI "Tying the ends of the sheet together"
CALL HO-HUM
RSTACK
?ELS50: CALL NOUN-USED,W?ROPE,SHEET
ZERO? STACK /?ELS61
FSET? SHEET,MUNGBIT /?ELS61
CALL CANT-SEE,SHEET
RSTACK
?ELS61: EQUAL? PRSA,V?TAKE,V?PUT \?ELS65
EQUAL? PRSO,SHEET \?ELS65
FSET? SHEET,TRYTAKEBIT \?ELS65
EQUAL? PRSI,WINDOW /?ELS65
ZERO? SHEET-TIED /?ELS72
CALL DO-FIRST,STR?379
RSTACK
?ELS72: FCLEAR SHEET,TRYTAKEBIT
FCLEAR BED,NDESCBIT
RFALSE
?ELS65: FSET? SHEET,UNTEEDBIT /FALSE
EQUAL? PRSA,V?RIP /?THN80
EQUAL? PRSA,V?CUT \?ELS79
EQUAL? PRSO,SHEET \?ELS79
?THN80: FSET? SHEET,NARTICLEBIT /?THN89
FSET? SHEET,MUNGBIT \?ELS88
?THN89: PRINT SENILITY-STRIKES
RTRUE
?ELS88: SET 'SHEET-TIED,FALSE-VALUE
FSET SHEET,NARTICLEBIT
FCLEAR SHEET,TRYTAKEBIT
FCLEAR BED,NDESCBIT
FSET SHEET,PLURALBIT
PUTP SHEET,P?SDESC,STR?380
PUTP SHEET,P?NO-T-DESC,STR?381
PRINTI "You rip the sheet into"
CALL TRPRINT,SHEET
RSTACK
?ELS79: EQUAL? PRSA,V?TIE \?ELS94
EQUAL? PRSO,SHEET \?ELS94
ZERO? SHEET-TIED /?ELS101
PRINTI "But"
CALL TPRINT,SHEET
PRINTR " is already tied to the bed."
?ELS101: FSET? SHEET,NARTICLEBIT \?ELS104
PRINTI "Unless you want to make a nice decorative fringe for"
CALL TPRINT-PRSI
PRINTI ", that"
CALL HO-HUM
RSTACK
?ELS104: EQUAL? PRSI,BED \?ELS106
SET 'SHEET-TIED,TRUE-VALUE
FSET BED,NDESCBIT
FSET SHEET,TRYTAKEBIT
MOVE SHEET,HERE
CALL NOW-TIED,BED
RSTACK
?ELS106: FSET? PRSI,ACTORBIT \?ELS108
ZERO? NAUGHTY-LEVEL \FALSE
?ELS108: EQUAL? PRSO,BLANKET /FALSE
CALL WASTES
RSTACK
?ELS94: EQUAL? PRSA,V?UNTIE \?ELS114
ZERO? SHEET-TIED /?ELS114
FCLEAR SHEET,TRYTAKEBIT
SET 'SHEET-TIED,FALSE-VALUE
LOC PROTAGONIST
MOVE SHEET,STACK
ZERO? SHEET-HANGING /?ELS121
FCLEAR BED,NDESCBIT
SET 'SHEET-HANGING,FALSE-VALUE
PRINTI "You pull in"
CALL TPRINT-PRSO
PRINTR " and untie it."
?ELS121: PRINTR "Untied."
?ELS114: EQUAL? PRSA,V?PUT,V?PUT-THROUGH \?ELS126
EQUAL? PRSI,WINDOW \?ELS126
ZERO? SHEET-HANGING /?ELS133
PRINT SENILITY-STRIKES
RTRUE
?ELS133: ZERO? SHEET-TIED /FALSE
FSET? SHEET,MUNGBIT /?CND138
PRINTR "The sheet would barely reach the window, let alone the ground below!"
?CND138: MOVE SHEET,HERE
SET 'SHEET-HANGING,TRUE-VALUE
PRINTI "The "
CALL DPRINT,SHEET
PRINTI " hangs almost to the ground."
IN? SIDEKICK,HERE \?THN144
ZERO? SIDEKICK-TRIP-FLAG /?CND141
?THN144: CRLF
RTRUE
?CND141: CALL QUEUE,I-SIDEKICK-OUT-WINDOW,2
PRINTI " "
CALL DPRINT-SIDEKICK
PRINTR " looks awed. ""Super idea! Doesn't look too strong, though. I'm lighter, so I'll go down."""
?ELS126: EQUAL? PRSA,V?MOVE \?ELS147
ZERO? SHEET-HANGING /?ELS152
SET 'SHEET-HANGING,FALSE-VALUE
PRINTI "You pull"
CALL TPRINT,SHEET
PRINTR " back into the room."
?ELS152: ZERO? SHEET-TIED /FALSE
CALL PERFORM-PRSA,BED
RTRUE
?ELS147: EQUAL? PRSA,V?CLIMB-DOWN \?ELS158
ZERO? SHEET-HANGING /?ELS158
PRINTI "The rope rips under your weight. "
CALL PLUMMET-TO-PAVEMENT
RSTACK
?ELS158: EQUAL? PRSA,V?MEASURE \?ELS162
FSET? SHEET,MUNGBIT \?ELS162
PRINTR "Long enough."
?ELS162: EQUAL? PRSA,V?EXAMINE \FALSE
ZERO? SHEET-TIED \?THN169
FSET? SHEET,TRYTAKEBIT \FALSE
?THN169: CALL SHEET-F,M-OBJDESC
CRLF
RTRUE
.FUNCT PLUMMET-TO-PAVEMENT
CALL JIGS-UP,STR?382
RSTACK
.FUNCT I-SIDEKICK-OUT-WINDOW
PRINTI " "
ZERO? SIDEKICK-TRIP-FLAG /?ELS5
FSET BEDROOM,MUNGBIT
MOVE SIDEKICK,HERE
MOVE HEADLIGHT,HERE
CALL INCREMENT-SCORE,14,33,TRUE-VALUE
PRINTI "The ceiling collapses into a cloud of old plaster and startled termites, and out of the middle of it steps "
CALL DPRINT-SIDEKICK
PRINTI ", looking dishevelled but, for the most part, alive!
""That truck explosion knocked me into the basement of some nutty professor, who strapped me into a faster-than-light missile he was about to test! Halfway to Pluto, I was intercepted by slavers looking for asteroid mining laborers. I beat off about thirty of 'em, but they just kept coming and coming. Just then I noticed"
CALL APRINT,HOLE
PRINTI " which led to a spot about four feet above the floor of the attic ... or what used to be the floor of the attic. Anyway, I got the "
PRINTD HEADLIGHT
PRINTI "!"" "
CALL HE-SHE,TRUE-VALUE
PRINTI " points to the battered but usable "
PRINTD HEADLIGHT
PRINTR " on the floor."
?ELS5: EQUAL? HERE,BEDROOM \?THN9
ZERO? SHEET-HANGING \?ELS8
?THN9: CALL DEQUEUE,I-SIDEKICK-OUT-WINDOW
PRINTI """Okay, forget the "
PRINTD HEADLIGHT
PRINTI ","" shrugs "
CALL DPRINT-SIDEKICK
PRINT PERIOD-CR
RTRUE
?ELS8: MOVE FORD,HERE
REMOVE SIDEKICK
REMOVE HEADLIGHT
SET 'FOLLOW-FLAG,1
CALL QUEUE,I-FOLLOW,2
FCLEAR HEADLIGHT,NDESCBIT
FCLEAR HEADLIGHT,TRYTAKEBIT
SET 'SIDEKICK-TRIP-FLAG,TRUE-VALUE
CALL QUEUE,I-SIDEKICK-OUT-WINDOW,1
CALL DPRINT-SIDEKICK
PRINTI " climbs down the rope and unscrews the "
PRINTD HEADLIGHT
PRINTI ". Suddenly, a truck barrels down the street and hits "
CALL DPRINT-SIDEKICK
PRINTI ", carrying "
CALL HIM-HER
PRINTI " out of sight. Moments later, you hear an explosion. As the smoke drifts past the window"
CALL MEMORIAM
RSTACK
.FUNCT HEADLIGHT-F
EQUAL? PRSA,V?EXAMINE \?ELS5
FSET? HEADLIGHT,TRYTAKEBIT \?ELS5
PRINTR "It looks loose."
?ELS5: CALL TOUCHING?,HEADLIGHT
ZERO? STACK /FALSE
FSET? HEADLIGHT,TRYTAKEBIT \FALSE
CALL CANT-REACH,HEADLIGHT
RSTACK
.FUNCT FORD-F
CALL ADJ-USED,A?NUMBER
ZERO? STACK /?ELS5
EQUAL? P-NUMBER,1933 /?ELS5
CALL CANT-SEE,FORD
RSTACK
?ELS5: CALL TOUCHING?,FORD
ZERO? STACK /FALSE
CALL CANT-REACH,FORD
RSTACK
.ENDI