hollywoodhijinx/outside.zap

776 lines
21 KiB
Plaintext

.FUNCT HOUSE-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "It's dark, but you can make out a stately two-story home with chimneys near the east and west ends of the house. Hardly anything has changed since you were last here several years ago, though you always remember the house as full of life, and now it is deserted and silent."
?ELS5: EQUAL? PRSA,V?ENTER \FALSE
CALL DO-WALK,P?IN
RSTACK
.FUNCT SOUTH-JUNCTION-F,RARG
EQUAL? RARG,M-ENTER \FALSE
INC 'SOUTH-JUNCTION-VISITS
RETURN SOUTH-JUNCTION-VISITS
.FUNCT TO-FRONT-PORCH
FSET? SOUTH-JUNCTION,BLACK-CAT-BIT \?ELS5
PRINTI "As you walk toward the house, a large black cat scurries across the path, heading toward Johnny Carson's house."
CRLF
CRLF
FCLEAR SOUTH-JUNCTION,BLACK-CAT-BIT
RETURN FRONT-PORCH
?ELS5: RETURN FRONT-PORCH
.FUNCT COMPASS-ROSE-PSEUDO
EQUAL? PRSA,V?EXAMINE \FALSE
PRINTR "The compass rose encircles the base of the statue."
.FUNCT BAZOOKA-F
EQUAL? PRSA,V?TURN,V?MOVE,V?PUSH \?ELS5
CALL PERFORM,PRSA,BUCK,PRSI
RTRUE
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS7
PRINTI "The bazooka is pointing to the "
CALL SAY-BUCK-DIR
PRINTR "."
?ELS7: EQUAL? PRSA,V?SHOOT \FALSE
PRINTR "It's a stone gun, you geek."
.FUNCT TO-&-FROM-SOUTH-JUNCTION,NEW-ROOM
PRINTI "You follow the stone walkway as it turns "
EQUAL? HERE,SOUTHEAST-JUNCTION \?ELS3
SET 'NEW-ROOM,SOUTH-JUNCTION
PRINTI "west"
JUMP ?CND1
?ELS3: EQUAL? HERE,SOUTHWEST-JUNCTION \?ELS5
SET 'NEW-ROOM,SOUTH-JUNCTION
PRINTI "east"
JUMP ?CND1
?ELS5: PRINTI "north"
EQUAL? PRSO,P?WEST \?ELS10
SET 'NEW-ROOM,SOUTHWEST-JUNCTION
JUMP ?CND1
?ELS10: SET 'NEW-ROOM,SOUTHEAST-JUNCTION
?CND1: PRINTI " around the corner of the house, arriving at..."
CRLF
CRLF
RETURN NEW-ROOM
.FUNCT TO-&-FROM-TOP-LANDING
FSET? NORTHEAST-JUNCTION,EVERYBIT \?ELS3
FCLEAR NORTHEAST-JUNCTION,EVERYBIT
PRINTI "As you walk along the path you hear footsteps running south along the stone walkway."
CRLF
CRLF
JUMP ?CND1
?ELS3: PRINTI "You walk a short distance along the grass path, arriving at..."
CRLF
CRLF
?CND1: EQUAL? HERE,NORTHEAST-JUNCTION \?ELS10
RETURN TOP-LANDING
?ELS10: EQUAL? HERE,TOP-LANDING \FALSE
RETURN NORTHEAST-JUNCTION
.FUNCT PATIO-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a large fieldstone patio spanning the entire width of the back of the house. In the daytime you can look out onto Aunt Hildegarde's beautiful garden, said to be the envy of the Malibu colony. This is where Uncle Buddy and Aunt Hildegarde would often entertain.
Standing here you remember the time at one of their parties when you swiped one of Uncle Buddy's big Hollywood cigars and smoked it, then got sick on a rose bush in the garden. You snicker a little bit thinking about that poor rose bush now and the goofy things you did as a child. To the north a stone pathway leads to the garden. Steps lead down off to the east and west, and there is a"
FSET? PATIO-DOOR,OPENBIT \?ELS8
PRINTI "n open"
JUMP ?CND6
?ELS8: PRINTI " closed"
?CND6: PRINTI " door to the south."
RTRUE
.FUNCT GARDEN-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTI "This garden was Aunt Hildegarde's pride and joy. "
GRTR? MOVES,535 /?ELS8
PRINTI "By the moonlight you can see the outline of"
JUMP ?CND6
?ELS8: PRINTI "You can see"
?CND6: PRINTR " dozens of fancy varieties of flowers and shrubs. Several small trees dot the garden, giving shade during the day to the more delicate blossoms. Stone walkways lead through the garden. A stone wall surrounds the garden with entrances north and south."
?ELS5: EQUAL? PRSA,V?ENTER \FALSE
PRINTR "You can only enter the garden from the north or south of the garden."
.FUNCT GARDEN-WALLS-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "The stone wall surrounds the entire garden, with entrances to the north and south of the garden."
?ELS5: EQUAL? PRSA,V?CLIMB-UP,V?CLIMB-ON,V?CLIMB /?THN8
EQUAL? PRSA,V?CLIMB-OVER \FALSE
?THN8: PRINTR "Aunt Hildegarde would paddle your fanny if she saw you do that."
.FUNCT ROSE-BUSH-PSEUDO
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "You remember this rose bush from many summers ago. It's the one you got sick on after smoking one of Uncle Buddy's cigars."
?ELS5: EQUAL? PRSA,V?SMELL \?ELS7
PRINTR "No doubt the fragrance would be sweeter had you not thrown-up on it many years ago."
?ELS7: EQUAL? PRSA,V?WATER \FALSE
PRINTR "Driven by guilt, you splash some water on the bush. It looks better already."
.FUNCT FLORAL-PSEUDO
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "It's the lovely flora you would expect in Aunt Hildegarde's reknowned garden."
?ELS5: EQUAL? PRSA,V?SMELL \FALSE
PRINTR "Hmmm. What a lovely scent."
.FUNCT POND-F
EQUAL? PRSA,V?PUT \?ELS5
EQUAL? PRSI,POND \?ELS5
PRINTI "You drop"
CALL TPRINT,PRSO
PRINTI " in"
CALL TPRINT,POND
GETP PRSO,P?SIZE
GRTR? STACK,5 \?CND8
PRINTI " with a splash"
?CND8: PRINTC 46
MOVE PRSO,POND
CALL ALL-WET,PRSO
CALL BLOW-OUT-ALL-IN,PRSO,STR?189
EQUAL? PRSO,BUCKET \?CND11
FIRST? PRSO \?CND11
CALL ROB,BUCKET,POND
PRINTI " The contents of the bucket sink to the bottom of the shallow pond."
?CND11: EQUAL? PRSO,FLASHLIGHT \?CND16
FSET? FLASHLIGHT,ONBIT \?CND16
FCLEAR FLASHLIGHT,ONBIT
FSET FLASHLIGHT,WETBIT
PRINTI " The flashlight goes out."
?CND16: CRLF
RTRUE
?ELS5: EQUAL? PRSA,V?ENTER \?ELS22
PRINTR "How soon they forget. Don't you remember the summer Aunt Hildegarde caught you wading in the pond and paddled your behind?"
?ELS22: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
CALL CANT-OPEN-CLOSE
RSTACK
.FUNCT BLOW-OUT-ALL-IN,OBJ,STR=0
ZERO? STR \?CND1
SET 'STR,STR?190
?CND1:
?PRG4: ZERO? OBJ /TRUE
FSET? OBJ,FLAMEBIT \?CND11
FCLEAR OBJ,FLAMEBIT
FCLEAR OBJ,ONBIT
PRINTI " The "
CALL DPRINT,OBJ
PRINTI " goes out"
PRINT STR
PRINTC 46
EQUAL? OBJ,RED-CANDLE \?ELS16
CALL STOP-RED-BURNING
JUMP ?CND11
?ELS16: EQUAL? OBJ,WHITE-CANDLE \?ELS18
CALL STOP-WHITE-BURNING
JUMP ?CND11
?ELS18: EQUAL? OBJ,BLUE-CANDLE \?ELS20
CALL STOP-BLUE-BURNING
JUMP ?CND11
?ELS20: EQUAL? OBJ,GREEN-MATCH,RED-MATCH \?CND11
CALL DEQUEUE,I-MATCH-BURN
?CND11: FIRST? OBJ \?CND23
FIRST? OBJ /?KLU26
?KLU26: CALL BLOW-OUT-ALL-IN,STACK,STR
?CND23: NEXT? OBJ >OBJ /?PRG4
JUMP ?PRG4
.FUNCT TO-&-FROM-CANNON,NEW-ROOM
PRINTI "You follow the walkway as it turns "
EQUAL? HERE,NORTHWEST-JUNCTION \?ELS3
SET 'NEW-ROOM,CANNON-EMPLACEMENT
PRINTI "east"
JUMP ?CND1
?ELS3: EQUAL? HERE,NORTHEAST-JUNCTION \?ELS5
SET 'NEW-ROOM,CANNON-EMPLACEMENT
PRINTI "west"
JUMP ?CND1
?ELS5: PRINTI "south"
EQUAL? PRSO,P?WEST \?ELS10
SET 'NEW-ROOM,NORTHWEST-JUNCTION
JUMP ?CND1
?ELS10: SET 'NEW-ROOM,NORTHEAST-JUNCTION
?CND1: PRINTI " around the hedge leading to..."
CRLF
CRLF
RETURN NEW-ROOM
.FUNCT CANNON-EMPLACEMENT-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a cannon emplacement complete with a Civil War-style cannon and a neatly stacked pyramid of cannon balls. During the day this area affords a spectacular view of the coastline. Stone walkways lead east and west, and a steep path leads down."
RTRUE
.FUNCT TO-CLIFF
FSET? SKIS,WORNBIT \?ELS5
CALL JIGS-UP,STR?192
RSTACK
?ELS5: PRINTI "You attempt to walk down, but end up sliding most of the way to a cliff below."
CRLF
CRLF
RETURN CLIFF
.FUNCT CLIFF-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This cliff affords the same spectacular view as from the cannon emplacement above. Far below you and stretching east, are the white sands of a beach"
GRTR? MOVES,535 /?CND6
PRINTI ", illuminated by the moon's glow"
?CND6: PRINTI ". You can hear the faint sound of waves lapping at the shore. Nearby in the ground is a"
FSET? HATCH,OPENBIT \?ELS13
PRINTI "n open hatch, forming a hole which leads down."
RTRUE
?ELS13: PRINTI " closed hatch."
RTRUE
.FUNCT CLIFF-PSEUDO
EQUAL? PRSA,V?LEAP \FALSE
CALL JIGS-UP,STR?193
RSTACK
.FUNCT TO-CANNON-EMPLACEMENT
PRINTI "You slip and slide in the loose rock, "
CALL ULTIMATELY-IN?,LADDER
ZERO? STACK /?ELS5
PRINTI "unable to climb up the cliff because of the weight of the ladder."
CRLF
RFALSE
?ELS5: PRINTI "but manage to make your way up to the cannon emplacement."
CRLF
CRLF
RETURN CANNON-EMPLACEMENT
.FUNCT TO-&-FROM-BOMB-SHELTER
FSET? HATCH,OPENBIT /?ELS5
PRINT YOU-CANT
PRINTI "go through the closed hatch."
CRLF
RFALSE
?ELS5: FSET? HATCH,OPENBIT \?ELS7
FSET? SKIS,WORNBIT \?ELS7
PRINTI "You can't fit through the opening wearing the skis."
CRLF
RFALSE
?ELS7: FSET? LADDER,HUNG-BIT \?ELS11
EQUAL? HERE,BOMB-SHELTER \?ELS16
PRINTI "You climb up the ladder to the cliff."
CRLF
CRLF
MOVE LADDER,CLIFF
RETURN CLIFF
?ELS16: PRINTI "You climb down the ladder to the bomb shelter."
CRLF
CRLF
MOVE LADDER,BOMB-SHELTER
RETURN BOMB-SHELTER
?ELS11: EQUAL? HERE,BOMB-SHELTER \?ELS25
PRINTI "You'll have to figure that out for yourself."
CRLF
RFALSE
?ELS25: PRINTI "You drop into the hole, managing to land on your feet."
CRLF
CRLF
RETURN BOMB-SHELTER
.FUNCT LADDER-F
EQUAL? HERE,CLIFF \?ELS5
FSET? LADDER,HUNG-BIT \?ELS5
FSET? HATCH,OPENBIT /?ELS5
CALL CANT-SEE-ANY,LADDER
RTRUE
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS9
PRINTR "This straight ladder is made of heavy-duty steel bars. It resembles a ladder you might find on a fire escape."
?ELS9: EQUAL? PRSA,V?UNTIE,V?TAKE \?ELS11
FSET? LADDER,HUNG-BIT \?ELS11
EQUAL? HERE,CLIFF \?ELS18
PRINTR "It's too heavy to lift out of the hole."
?ELS18: CALL ITAKE
ZERO? STACK /TRUE
FCLEAR LADDER,HUNG-BIT
PRINTR "Taken."
?ELS11: EQUAL? PRSA,V?HANG-UP \?ELS29
EQUAL? HERE,BOMB-SHELTER \?ELS29
ZERO? PRSI \?ELS29
CALL PERFORM,V?HANG-UP,LADDER,HOOKS
RTRUE
?ELS29: EQUAL? PRSA,V?CLIMB-DOWN,V?CLIMB,V?CLIMB-UP \FALSE
FSET? LADDER,HUNG-BIT \?ELS38
EQUAL? HERE,CLIFF \?ELS43
EQUAL? PRSA,V?CLIMB-UP \?ELS48
PRINTR "The ladder only leads down, through the open hatch."
?ELS48: CALL DO-WALK,P?DOWN
RSTACK
?ELS43: EQUAL? PRSA,V?CLIMB-DOWN \?ELS57
PRINTR "The ladder only leads up, through the open hatch."
?ELS57: CALL DO-WALK,P?UP
RSTACK
?ELS38: CALL ULTIMATELY-IN?,LADDER
ZERO? STACK /?ELS61
PRINTR "You're holding the ladder!"
?ELS61: PRINTR "You can't climb a ladder that's lying down."
.FUNCT HOOKS-F
EQUAL? PRSA,V?TIE,V?PUT-ON,V?HANG-UP \FALSE
EQUAL? PRSO,LADDER \?ELS10
PRINTI "You hang the ladder from"
CALL TRPRINT,HOOKS
MOVE LADDER,HERE
FSET LADDER,NDESCBIT
FSET LADDER,HUNG-BIT
RTRUE
?ELS10: PRINTR "You can't reach the hooks."
.FUNCT HATCH-HOLE-F
EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?ELS5
PRINTI "The hole is about the size of a manhole"
EQUAL? HERE,CLIFF \?CND6
PRINTI ". The "
CALL DPRINT,HATCH-HOLE
PRINTI " descends down into "
CALL LIT?,BOMB-SHELTER
ZERO? STACK /?ELS11
PRINTI "the bomb shelter"
JUMP ?CND9
?ELS11: PRINTI "darkness"
?CND9: FSET? LADDER,HUNG-BIT \?CND6
PRINTI ". A "
CALL DPRINT,LADDER
PRINTI " in the hole leads down"
?CND6: PRINTR "."
?ELS5: EQUAL? PRSA,V?ENTER \?ELS18
EQUAL? HERE,CLIFF \?ELS23
CALL DO-WALK,P?DOWN
RSTACK
?ELS23: PRINTR "You can't reach it."
?ELS18: EQUAL? PRSA,V?PUT \FALSE
EQUAL? HERE,CLIFF \FALSE
EQUAL? PRSI,HATCH-HOLE \FALSE
PRINTI "You drop"
CALL TPRINT,PRSO
PRINTI " in"
CALL TPRINT,HATCH-HOLE
PRINTI " and a second later hear it hit the ground."
CRLF
EQUAL? PRSO,BLUE-CANDLE,WHITE-CANDLE,RED-CANDLE \?CND30
FSET? PRSO,FLAMEBIT \?CND30
CALL BLOW-OUT-CANDLE,PRSO
?CND30: EQUAL? PRSO,FINCH \?ELS41
FSET? FINCH,BROKEN-BIT \?THN38
?ELS41: CALL ULTIMATELY-IN?,FINCH,PRSO
ZERO? STACK /?CND35
FSET? FINCH,BROKEN-BIT /?CND35
?THN38: CALL BREAK-FINCH,TRUE-VALUE
?CND35: MOVE PRSO,BOMB-SHELTER
RTRUE
.FUNCT PILE-OF-BALLS-F
EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS5
CALL CANT-OPEN-CLOSE
RSTACK
?ELS5: EQUAL? PRSA,V?TAKE,V?EXAMINE \?ELS7
IN? CANNON-BALL,PILE-OF-BALLS /?THN13
FIRST? PILE-OF-BALLS /FALSE
?THN13: PRINTI "The pile of cannon balls appears to be strictly ornamental. All of the balls are welded together"
IN? CANNON-BALL,PILE-OF-BALLS \?CND15
PRINTI ", except for the ball on the top of the pile"
?CND15: PRINTR "."
?ELS7: EQUAL? PRSA,V?LOOK-UNDER \FALSE
PRINT YOU-CANT
PRINTI "look under"
CALL TRPRINT,PILE-OF-BALLS
RSTACK
.FUNCT GENERIC-BALL-F
RETURN CANNON-BALL
.FUNCT FUSE-F,OBJ,FLAME
EQUAL? PRSA,V?LAMP-ON,V?BURN \?ELS5
CALL SET-FLAME-SOURCE
ZERO? STACK \TRUE
FSET? PRSI,FLAMEBIT /?ELS12
FSET? PRSI,BURNBIT \?ELS17
PRINTI "You'll have to light"
CALL TPRINT,PRSI
PRINTR " first."
?ELS17: PRINTI "You can't light"
CALL TPRINT,PRSO
PRINTI " with"
CALL ARPRINT,PRSI
RSTACK
?ELS12: REMOVE FUSE
FIRST? CANNON >OBJ /?KLU59
?KLU59: PRINTI "You touch the flame to"
CALL TPRINT,FUSE
PRINTI " and it sizzles. A second later"
CALL TPRINT,CANNON
PRINTI " fires"
ZERO? OBJ \?ELS26
PRINTR " with a bang."
?ELS26: IN? CANNON-BALL,CANNON \?CND29
FSET CANNON,CANNON-MOVED-BIT
REMOVE CANNON-BALL
PRINTI ", pushing it back a couple of feet. "
?CND29: IN? FLASHLIGHT,CANNON \?CND32
FCLEAR FLASHLIGHT,ONBIT
?CND32: IN? RED-CANDLE,CANNON \?CND35
FCLEAR RED-CANDLE,FLAMEBIT
FCLEAR RED-CANDLE,ONBIT
CALL STOP-RED-BURNING
?CND35: IN? WHITE-CANDLE,CANNON \?CND38
FCLEAR WHITE-CANDLE,FLAMEBIT
FCLEAR WHITE-CANDLE,ONBIT
CALL STOP-WHITE-BURNING
?CND38: IN? BLUE-CANDLE,CANNON \?CND41
FCLEAR BLUE-CANDLE,FLAMEBIT
FCLEAR BLUE-CANDLE,ONBIT
CALL STOP-BLUE-BURNING
?CND41: FSET? CANNON,CANNON-MOVED-BIT \?ELS46
PRINTI "The "
CALL DPRINT,CANNON-BALL
FIRST? CANNON \?CND44
PRINTI " and pieces of"
CALL CLOSE-ALL-IN,CANNON
CALL DESCRIBE-CONTENTS,CANNON,-1
JUMP ?CND44
?ELS46: FIRST? CANNON \?CND44
PRINTI " and pieces of"
CALL CLOSE-ALL-IN,CANNON
CALL DESCRIBE-CONTENTS,CANNON,-1
?CND44: PRINTI " fl"
FIRST? CANNON \?ELS54
PRINTC 121
JUMP ?CND52
?ELS54: PRINTI "ies"
?CND52: PRINTI " from"
CALL TPRINT,CANNON
PRINTI "'s barrel out to sea."
CRLF
CALL MOVE-ALL,CANNON
RSTACK
?ELS5: EQUAL? PRSA,V?TAKE \FALSE
PRINTR "It's stuck."
.FUNCT CLOSE-ALL-IN,CONT,OBJ
FIRST? CONT >OBJ /?KLU6
?KLU6:
?PRG1: FCLEAR OBJ,OPENBIT
NEXT? OBJ >OBJ /?KLU7
?KLU7: ZERO? OBJ \?PRG1
RTRUE
.FUNCT SET-FLAME-SOURCE,FLAME
ZERO? PRSI \FALSE
CALL FIND-IN,PLAYER,FLAMEBIT >FLAME
ZERO? FLAME /?ELS8
SET 'PRSI,FLAME
PRINTI "[with"
CALL TPRINT,FLAME
PRINTC 93
CRLF
RFALSE
?ELS8: EQUAL? HERE,BEACH \?ELS10
SET 'PRSI,FIRE
PRINTI "[with the fire]"
CRLF
RFALSE
?ELS10: PRINTI "You have nothing to light"
CALL TPRINT,PRSO
PRINTR " with."
.FUNCT CANNON-F
EQUAL? PRSA,V?PUSH-TO,V?PUSH,V?TAKE /?THN8
EQUAL? PRSA,V?TURN,V?MOVE,V?PULL /?THN8
EQUAL? PRSA,V?EMPTY,V?LOWER,V?RAISE \?ELS5
?THN8: EQUAL? PRSO,CANNON \?ELS5
PRINTR "The cannon is too heavy for you to move."
?ELS5: EQUAL? PRSA,V?SHOOT \?ELS11
PRINTR "Try lighting the fuse!"
?ELS11: EQUAL? PRSA,V?EXAMINE \?ELS13
PRINTI "It's a replica Civil War "
CALL DPRINT,CANNON
PRINTI " pointing out to sea. "
IN? FUSE,CANNON-EMPLACEMENT \?CND14
PRINTI "There is"
CALL APRINT,FUSE
PRINTI " sticking up from the cannon. "
?CND14: FSET? CANNON,CANNON-MOVED-BIT /?ELS19
PRINTI "One of"
CALL TPRINT,CANNON
PRINTI "'s wheels is on top of a small compartment."
JUMP ?CND17
?ELS19: PRINTI "Right next to"
CALL TPRINT,CANNON
PRINTI " is"
CALL APRINT,COMPARTMENT
PRINTC 46
?CND17: PRINTI " The "
CALL DPRINT,CANNON
PRINTR " was used in Uncle Buddy's production of ""Dracula Meets the Confederacy."" Uncle Buddy said he always kept it loaded in case those big Hollywood studio types came around."
?ELS13: EQUAL? PRSA,V?LAMP-ON,V?BURN \?ELS23
CALL PERFORM,V?BURN,FUSE
RTRUE
?ELS23: EQUAL? PRSA,V?PUT \?ELS25
EQUAL? PRSO,BUCKET \?ELS25
PRINTR "It won't fit in the cannon."
?ELS25: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
CALL CANT-OPEN-CLOSE
RSTACK
.FUNCT COMPARTMENT-F
EQUAL? PRSA,V?OPEN \?ELS5
FSET? CANNON,CANNON-MOVED-BIT /?ELS5
CALL PERFORM,V?EXAMINE,COMPARTMENT
RTRUE
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
FSET? CANNON,CANNON-MOVED-BIT /FALSE
PRINTI "One of"
CALL TPRINT,CANNON
PRINTI "'s wheels is on"
CALL TRPRINT,COMPARTMENT
RSTACK
.FUNCT MOVE-OBJ-DOWN
FSET? PRSO,TAKEBIT \FALSE
PRINTI "You "
PRINTB P-PRSA-WORD
PRINTI " the "
CALL DPRINT,PRSO
PRINTI " and it tumbles down the stairs."
EQUAL? UPSTAIRS-HALL-MIDDLE,HERE \?ELS10
MOVE PRSO,FOYER
RTRUE
?ELS10: EQUAL? FRONT-PORCH,HERE \?ELS12
MOVE PRSO,SOUTH-JUNCTION
RTRUE
?ELS12: MOVE PRSO,CELLAR
RTRUE
.FUNCT DOOR-BELL-F
EQUAL? PRSA,V?PUSH \FALSE
PRINTI "The "
CALL DPRINT,DOOR-BELL
PRINTI " plays a tune from one of Uncle Buddy's films. You recognize the "
CALL PICK-ONE,DOOR-BELL-TUNES
PRINT STACK
PRINTR "."""
.FUNCT SKIS-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "They're a large pair of downhill snow skis."
?ELS5: EQUAL? PRSA,V?WEAR \FALSE
EQUAL? HERE,UPPER-BEACH-STAIRS /?THN13
EQUAL? HERE,LOWER-BEACH-STAIRS \?ELS12
?THN13: PRINTR "You can't put them on while standing on the stairs."
?ELS12: EQUAL? HERE,ROOF-1,ROOF-2 \?ELS16
CALL JIGS-UP,STR?200
RSTACK
?ELS16: EQUAL? HERE,INLET,ON-POOL-1,IN-POOL-1 /?THN19
EQUAL? HERE,UNDERPASS-1,UNDERPASS-2,IN-POOL-2 /?THN19
EQUAL? HERE,ON-POOL-2 \?ELS18
?THN19: PRINT DOG-PADDLE
CRLF
RTRUE
?ELS18: EQUAL? HERE,CLOSET,SHAFT-BOTTOM,CLOSET-TOP /?THN23
EQUAL? HERE,CHIMNEY-1,CHIMNEY-2,CHIMNEY-3 \?ELS22
?THN23: PRINTI "The "
EQUAL? HERE,CLOSET \?ELS27
PRINTI "closet"
JUMP ?CND25
?ELS27: EQUAL? HERE,CLOSET-TOP,SHAFT-BOTTOM \?ELS29
PRINTI "shaft"
JUMP ?CND25
?ELS29: PRINTI "chimney"
?CND25: PRINTR " is too small for you to put on the skis."
?ELS22: EQUAL? HERE,CRAWL-SPACE-NORTH,CRAWL-SPACE-SOUTH,FIRST-SECRET-ROOM \?ELS33
PRINT YOU-CANT
PRINTR "quite slip into them in this cramped space."
?ELS33: LOC PLAYER
EQUAL? STACK,RIGHT-END,LEFT-END \FALSE
PRINT YOU-CANT
PRINTI "seem to get them on while standing on"
CALL TRPRINT,PLANK
RSTACK
.FUNCT TOP-LANDING-F,ARG
EQUAL? ARG,M-BEG \FALSE
EQUAL? PRSA,V?WALK \FALSE
EQUAL? PRSO,P?NORTH \FALSE
SET 'PRSO,P?DOWN
RFALSE
.FUNCT TO-BEACH
FSET? SKIS,WORNBIT \?ELS5
CALL SKI-DOWN-STAIRS
RETURN BEACH
?ELS5: EQUAL? HERE,UPPER-BEACH-STAIRS \?ELS12
CALL JIGS-UP,STR?203
RSTACK
?ELS12: PRINTI "You walk down the old, creaking stairs. You stop as you come to a wide gap of missing steps."
CRLF
CRLF
RETURN UPPER-BEACH-STAIRS
.FUNCT GAP-F
EQUAL? PRSA,V?CROSS,V?LEAP \?ELS5
PRINTI "You leap across the gap "
RANDOM 100
LESS? 50,STACK /?ELS8
PRINTI "and just miss the first step on the other side. For a split second you admire a view of the coastline that few if any have seen before. You then"
JUMP ?CND6
?ELS8: PRINTI "and land on the first step. Unfortunately your weight was a bit too much for the step. It squeals with pain then breaks in half, and you"
?CND6: CALL JIGS-UP,STR?204
RSTACK
?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \?ELS12
PRINTR "Far below are sharp rocks."
?ELS12: EQUAL? PRSA,V?PUT-ON,V?PUT \?ELS14
EQUAL? PRSI,GAP \?ELS14
REMOVE PRSO
PRINTI "The "
CALL DPRINT,PRSO
PRINTR " drops to the rocks below."
?ELS14: EQUAL? PRSA,V?ENTER \FALSE
CALL FROM-LOWER-STAIRS
RSTACK
.FUNCT SKI-DOWN-STAIRS,CANDLE=0,MATCH=0
EQUAL? HERE,TOP-LANDING \FALSE
FSET? TOP-LANDING,EVERYBIT \?CND6
FCLEAR TOP-LANDING,EVERYBIT
ADD SCORE,10 >SCORE
?CND6: PRINTI "You shuffle over the edge of the landing, and quickly gain momentum as you sail down the stairs."
CALL FIND-IN,PLAYER,FLAMEBIT
ZERO? STACK /?CND9
IN? RED-CANDLE,PLAYER \?CND12
FSET? RED-CANDLE,FLAMEBIT \?CND12
INC 'CANDLE
CALL BLOW-OUT-CANDLE,RED-CANDLE,TRUE-VALUE
?CND12: IN? WHITE-CANDLE,PLAYER \?CND17
FSET? WHITE-CANDLE,FLAMEBIT \?CND17
INC 'CANDLE
CALL BLOW-OUT-CANDLE,WHITE-CANDLE,TRUE-VALUE
?CND17: IN? BLUE-CANDLE,PLAYER \?CND22
FSET? BLUE-CANDLE,FLAMEBIT \?CND22
INC 'CANDLE
CALL BLOW-OUT-CANDLE,BLUE-CANDLE,TRUE-VALUE
?CND22: EQUAL? CANDLE,1,2,3 \?CND27
PRINTI " The candle"
EQUAL? CANDLE,2,3 \?CND30
PRINTC 115
?CND30: PRINTI " in your hand blow"
EQUAL? CANDLE,1 \?CND33
PRINTC 115
?CND33: PRINTI " out."
?CND27: IN? RED-MATCH,PLAYER \?CND36
FSET? RED-MATCH,FLAMEBIT \?CND36
INC 'MATCH
FCLEAR RED-MATCH,ONBIT
FCLEAR RED-MATCH,FLAMEBIT
REMOVE RED-MATCH
CALL DEQUEUE,I-MATCH-BURN
?CND36: IN? GREEN-MATCH,PLAYER \?CND41
FSET? GREEN-MATCH,FLAMEBIT \?CND41
INC 'MATCH
FCLEAR GREEN-MATCH,ONBIT
FCLEAR GREEN-MATCH,FLAMEBIT
REMOVE GREEN-MATCH
CALL DEQUEUE,I-MATCH-BURN
?CND41: EQUAL? MATCH,1,2 \?CND9
PRINTI " The match"
EQUAL? MATCH,2 \?CND49
PRINTC 115
?CND49: PRINTI " in your hand blow"
EQUAL? MATCH,1 \?CND52
PRINTC 115
?CND52: PRINTI " out and you drop "
EQUAL? MATCH,1 \?ELS57
PRINTI "it."
JUMP ?CND9
?ELS57: PRINTI "them."
?CND9: PRINTI " Ahead of you is the gap in the stairs. Racing into the gap, your skis bow slightly, but your forward momentum pulls you across the gap. You hit the landing at the bottom of the stairs but don't stop. You continue down a short flight of stairs then sail onto the sandy beach. You quickly stop with the drag of the sand and a feeble attempt to snow plow."
CRLF
CRLF
RTRUE
.FUNCT FROM-LOWER-STAIRS
CALL JIGS-UP,STR?206
RFALSE
.FUNCT WALKWAY-TO-BOAT-DOCK
PRINTI "You follow the wooden planking as it turns "
EQUAL? HERE,BOTTOM-LANDING \?ELS5
PRINTI "left and enters a cave arriving at..."
CRLF
CRLF
RETURN BOAT-DOCK
?ELS5: PRINTI "right and exits the cave arriving at..."
CRLF
CRLF
RETURN BOTTOM-LANDING
.FUNCT FIRE-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTI "It's"
CALL APRINT,FIRE
PRINTR " in a shallow pit in the sand, probably left here by Morgan Fairchild and a friend earlier in the evening."
?ELS5: EQUAL? PRSA,V?RUB,V?MOVE,V?TAKE /?THN8
EQUAL? PRSA,V?LAMP-OFF \?ELS7
?THN8: PRINTR "You'd burn your hands, and besides, it might upset Morgan."
?ELS7: EQUAL? PRSA,V?POUR \?ELS11
REMOVE FIRE
PRINTR "With the skill of a seasoned firefighter, you extinguish the fire."
?ELS11: EQUAL? PRSA,V?PUT-ON,V?PUT \?ELS13
CALL PERFORM,V?BURN,PRSO,FIRE
RTRUE
?ELS13: EQUAL? PRSA,V?ENTER \?ELS15
PRINT PYRO
RTRUE
?ELS15: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
CALL CANT-OPEN-CLOSE
RSTACK
.FUNCT SAND-F
EQUAL? PRSA,V?TAKE \FALSE
PRINTR "It slips through your hands."
.ENDI