.FUNCT TELL-NEVER-KNEW PRINTR """Never heard of him.""" .FUNCT MCGINTY-F,RARG=0,OBJ,PFLAG=0 EQUAL? RARG,M-OBJDESC \?ELS3 ZERO? MCGINTY-KNOWS /?ELS6 JUMP ?CND4 ?ELS6: IN? PASSBOOK,PLAYER \?ELS9 CALL QUEUED?,I-MCGINTY-FOLLOWS ZERO? STACK \?ELS9 SET 'PFLAG,1 CALL MCGINTY-WILL-FOLLOW JUMP ?CND4 ?ELS9: IN? PASSBOOK,HERE \?CND4 CALL MCGINTY-WILL-FOLLOW MOVE PASSBOOK,MCGINTY SET 'PFLAG,2 ?CND4: CALL IN-MOTION?,MCGINTY ZERO? STACK \TRUE CALL QUEUED?,I-MCGINTY-FOLLOWS ZERO? STACK /?ELS20 EQUAL? PRSA,V?FOLLOW,V?WALK \?ELS20 LOC PLAYER IN? MCGINTY,STACK \TRUE ?ELS20: CALL TRAITOR-TIME? ZERO? STACK \TRUE FSET? MCGINTY,TOUCHBIT \?ELS22 CALL DPRINT,MCGINTY PRINTI " is here, " EQUAL? HERE,OUTFITTERS-HQ \?ELS27 PRINTI "talking with the salesman" JUMP ?CND25 ?ELS27: PRINTI "smoking his cigar" ?CND25: PRINTI "." JUMP ?CND14 ?ELS22: CALL DPRINT,MCGINTY PRINTI ", a small, nervous man, is " IN? MCGINTY,MCGINTY-HQ \?ELS42 PRINTI "sitting behind a desk" JUMP ?CND40 ?ELS42: PRINTI "standing nearby" ?CND40: PRINTI ". His lips clamp around a cigar too large for his face." FSET MCGINTY,TOUCHBIT ?CND14: EQUAL? PFLAG,1 \?ELS53 CALL TELL-EYES-NARROW JUMP ?CND51 ?ELS53: EQUAL? PFLAG,2 \?CND51 CALL TELL-TAKE-PASS,STR?404 ?CND51: CRLF RTRUE ?ELS3: EQUAL? RARG,M-CONT \?CND1 EQUAL? PRSA,V?TAKE \FALSE FSET? PRSO,TAKEBIT \FALSE CALL DPRINT,MCGINTY PRINTR " pulls it back. ""I'm not gonna give that to you!""" ?CND1: EQUAL? WINNER,MCGINTY \?CND67 CALL META-LOC,PLAYER IN? MCGINTY,STACK /?ELS72 SET 'P-CONT,FALSE-VALUE CALL TELL-NOT-HERE-TALK RETURN 2 ?ELS72: CALL TRAITOR-TIME? ZERO? STACK /?CND67 CALL TELL-IN-MEETING RETURN 2 ?CND67: FSET MCGINTY,TOUCHBIT EQUAL? PRSA,V?FOLLOW \?ELS81 EQUAL? PRSO,MCGINTY /FALSE ?ELS81: EQUAL? PRSA,V?$CALL \?ELS85 CALL TRAITOR-TIME? ZERO? STACK /?ELS85 CALL TELL-IN-MEETING RTRUE ?ELS85: EQUAL? PRSA,V?HELLO \?ELS89 SET 'QCONTEXT,MCGINTY SET 'QCONTEXT-ROOM,HERE PRINTR """Howdy.""" ?ELS89: EQUAL? PRSA,V?GOODBYE \?ELS93 SET 'QCONTEXT,MCGINTY SET 'QCONTEXT-ROOM,HERE PRINTR """So long.""" ?ELS93: EQUAL? PRSA,V?TAKE \?ELS101 EQUAL? PRSI,MCGINTY /?THN98 ?ELS101: EQUAL? PRSA,V?ASK-FOR \?ELS97 EQUAL? PRSO,MCGINTY \?ELS97 ?THN98: EQUAL? PRSO,MCGINTY \?ELS106 SET 'OBJ,PRSI JUMP ?CND104 ?ELS106: SET 'OBJ,PRSO ?CND104: IN? OBJ,MCGINTY \?ELS111 PRINTR """I'm not gonna give that to you.""" ?ELS111: PRINTR """I don't have that.""" ?ELS97: EQUAL? PRSA,V?BUY \?CND79 EQUAL? PRSO,FERRY-TOKEN \?CND79 PRINTR """I don't have one. Try the bank.""" ?CND79: EQUAL? PRSA,V?$CALL \?ELS127 EQUAL? WINNER,PLAYER /FALSE ?ELS127: CALL GRAB-ATTENTION,MCGINTY ZERO? STACK /TRUE EQUAL? PRSA,V?TELL \?ELS134 EQUAL? PRSO,MCGINTY \?ELS134 EQUAL? PRSI,SAMPLE-TREASURE,GLOBAL-TREASURE \?CND132 CALL TRAITOR-TIME? ZERO? STACK /?ELS142 CALL JIGS-UP,STR?405 RTRUE ?ELS142: ZERO? MCGINTY-KNOWS /?ELS144 PRINTR """Thanks, but I already know about it.""" ?ELS144: IN? SPEAR-CARRIER,HERE /?THN153 IN? JOHNNY,HERE /?THN153 IN? PETE,HERE /?THN153 IN? WEASEL,HERE \?ELS152 ?THN153: SET 'MCGINTY-KNOWS,TRUE-VALUE CALL ZERO-ATTENTION,MCGINTY GET GOAL-TABLES,MCGINTY-C PUT STACK,GOAL-ENABLE,TRUE-VALUE CALL DPRINT,MCGINTY PRINTI " looks delighted with the information." IN? MCGINTY,OUTFITTERS-HQ \?ELS159 CALL ESTABLISH-GOAL,MCGINTY,MCGINTY-HQ IN? JOHNNY,OUTFITTERS-HQ \?ELS162 CALL SAY-MCGINTY-KNOWS RTRUE ?ELS162: PRINTI " He thanks you." CALL TELL-NEED-BOAT RTRUE ?ELS159: CALL ESTABLISH-GOAL,MCGINTY,OUTFITTERS-HQ CALL ALL-GO-HOME CALL I-PLOT-NEVER-STARTS CALL INT,I-SHOVE-OFF PUT STACK,0,0 PRINTR " ""Excuse me,"" he says. ""I have business to attend to.""" ?ELS152: CALL JIGS-UP,STR?406 RTRUE ?ELS134: EQUAL? PRSA,V?SHOW \?ELS174 EQUAL? PRSO,BOOK,NOTE \?ELS174 EQUAL? PRSI,MCGINTY \?ELS174 CALL PERFORM,V?TELL,MCGINTY,GLOBAL-TREASURE RTRUE ?ELS174: EQUAL? PRSA,V?ASK-ABOUT \?CND132 EQUAL? PRSO,MCGINTY \?CND132 CALL TRAITOR-TIME? ZERO? STACK /?ELS183 CALL TELL-IN-MEETING RETURN 2 ?ELS183: EQUAL? PRSI,GLOBAL-TREASURE \?ELS187 PRINTI """I'm always looking for " CALL DPRINT,GLOBAL-TREASURE PRINTR ","" he says, grinning." ?ELS187: EQUAL? PRSI,SPEAR-CARRIER \?ELS191 PRINTR """He does his job.""" ?ELS191: EQUAL? PRSI,PETES-PATCH \?ELS195 PRINTR """All I know is that Pete wears it.""" ?ELS195: EQUAL? PRSI,CIGAR \?ELS199 PRINTR """Yeah. That's my cigar.""" ?ELS199: EQUAL? PRSI,HEVLIN \?ELS203 CALL TELL-NEVER-KNEW RTRUE ?ELS203: EQUAL? PRSI,WEASEL,PETE,JOHNNY \?ELS205 PRINTR """He's worked for me. He's all right.""" ?ELS205: EQUAL? PRSI,ME \?ELS209 CALL TELL-YOURE-DIVER RTRUE ?ELS209: EQUAL? PRSI,MCGINTY \?ELS211 CALL TELL-KNOW-ME RTRUE ?ELS211: EQUAL? PRSI,PARROT \?ELS213 PRINTR """It's the queerest bird I've ever seen.""" ?ELS213: EQUAL? PRSI,SALVAGER,TRAWLER \FALSE PRINTR """She's a nice boat.""" ?CND132: EQUAL? WINNER,MCGINTY \FALSE EQUAL? PRSO,GLOBAL-SELF \?CND227 SET 'PRSO,MCGINTY ?CND227: EQUAL? PRSI,GLOBAL-SELF \?CND230 SET 'PRSI,MCGINTY ?CND230: EQUAL? PRSA,V?TELL \?ELS237 EQUAL? PRSO,ME /FALSE ?ELS237: EQUAL? PRSA,V?$CALL \?ELS241 CALL TELL-SO-WHAT RSTACK ?ELS241: EQUAL? PRSA,V?LEAVE,V?DISEMBARK,V?WALK \?ELS243 PRINTR """I'll leave when I'm ready.""" ?ELS243: EQUAL? PRSA,V?SHOW \?ELS247 IN? PRSO,MCGINTY \?ELS247 EQUAL? PRSI,ME \?ELS247 SET 'WINNER,PLAYER CALL PERFORM,V?EXAMINE,PRSO SET 'WINNER,MCGINTY RETURN WINNER ?ELS247: EQUAL? PRSA,V?MAYBE,V?NO,V?YES /FALSE EQUAL? PRSA,V?SSHOW,V?FIND,V?WHAT /FALSE EQUAL? PRSA,V?ALARM /FALSE PRINTI """I'd rather not.""" CRLF RETURN 2 .FUNCT ZERO-ATTENTION,PER GETP PER,P?CHARACTER GET GOAL-TABLES,STACK PUT STACK,ATTENTION,0 RTRUE .FUNCT TELL-SO-WHAT FSET? PRSO,VICBIT \?ELS5 PRINTR """What about him?""" ?ELS5: CALL V-CALL-LOSE RSTACK .FUNCT TELL-TAKE-PASS,STR PRINT STR PRINTI " sees the passbook, picks it up, looks at it and then at you." RTRUE .FUNCT TRAITOR-TIME? IN? ID-CARD,WEASEL \FALSE CALL QUEUED?,I-TRAITOR-MEETING ZERO? STACK \TRUE RFALSE .FUNCT TELL-IN-MEETING PRINTR "He's too engrossed in his meeting to hear you." .FUNCT MCGINTY-ERRAND MOVE PLAYER,WHARF-ROAD-2 MOVE MCGINTY,WHARF-ROAD-2 SET 'HERE,WHARF-ROAD-2 PRINTI """I'm closing to run an errand,"" " CALL DPRINT,MCGINTY PRINTI " says, ushering you out..." CRLF CRLF CALL V-FIRST-LOOK RSTACK .FUNCT I-MCGINTY,GARG=0,L,DEST,MMG,V=0 LOC MCGINTY >L ZERO? GARG \?ELS5 GET MOVEMENT-GOALS,MCGINTY-C >MMG IN? MCGINTY,MCGINTY-HQ \?CND6 IN? PLAYER,MCGINTY-HQ \?CND6 GET MMG,MG-ROOM EQUAL? STACK,MCGINTY-HQ /?CND6 CALL MCGINTY-ERRAND SET 'V,TRUE-VALUE ?CND6: EQUAL? L,FERRY-LANDING \?CND11 SET 'MCGINTY-MEETS-WEASEL,FALSE-VALUE ?CND11: CALL IMOVEMENT,MCGINTY,I-MCGINTY RETURN V ?ELS5: EQUAL? GARG,G-REACHED \?ELS15 EQUAL? L,MCGINTY-HQ \?ELS20 IN? PLAYER,L \?ELS23 CALL JIGS-UP,STR?407 JUMP ?CND21 ?ELS23: IN? PLAYER,WHARF-ROAD-2 \?ELS25 EQUAL? LAST-PLAYER-LOC,MCGINTY-HQ \?ELS25 CALL JIGS-UP,STR?408 JUMP ?CND21 ?ELS25: IN? ID-CARD,MCGINTY \?ELS29 MOVE ID-CARD,ENVELOPE FSET ID-CARD,TAKEBIT FCLEAR ENVELOPE,INVISIBLE JUMP ?CND21 ?ELS29: ZERO? MCGINTY-KNOWS \?CND21 ZERO? MCGINTY-MEETS-WEASEL /?CND21 GET MOVEMENT-GOALS,MCGINTY-C GET STACK,MG-ROOM EQUAL? STACK,SHANTY \?CND21 PUT MOVEMENT-GOALS,MCGINTY-C,MCGINTY-MEETS-WEASEL-TABLE CALL IMOVEMENT,MCGINTY,I-MCGINTY RFALSE ?CND21: IN? PLAYER,BACK-ALLEY-2 \FALSE FSET? WINDOW,OPENBIT \FALSE PRINTI "The window gets slammed shut." CRLF FCLEAR BACK-WINDOW,OPENBIT RTRUE ?ELS20: EQUAL? L,FERRY-LANDING \?ELS44 CALL QUEUE,I-TRAITOR-MEETING,-1 PUT STACK,0,1 IN? PLAYER,L \?CND45 CALL DPRINT,MCGINTY PRINTI " wanders in, looking preoccupied." CRLF SET 'V,TRUE-VALUE ?CND45: IN? WEASEL,L \?CND50 CALL I-TRAITOR-MEETING RETURN V ?CND50: RETURN V ?ELS44: EQUAL? L,HERE \?ELS54 CALL DPRINT,MCGINTY PRINTI " wanders in." IN? PASSBOOK,PLAYER \?ELS59 ZERO? MCGINTY-KNOWS \?ELS59 CALL QUEUED?,I-MCGINTY-FOLLOWS ZERO? STACK \?ELS59 CALL MCGINTY-WILL-FOLLOW CALL TELL-EYES-NARROW JUMP ?CND57 ?ELS59: IN? PASSBOOK,L \?CND57 SET 'MCGINTY-MEETS-WEASEL,TRUE-VALUE ?CND57: CRLF RETURN 2 ?ELS54: IN? PASSBOOK,L \FALSE MOVE PASSBOOK,MCGINTY SET 'MCGINTY-MEETS-WEASEL,TRUE-VALUE RFALSE ?ELS15: EQUAL? GARG,G-ENROUTE \FALSE IN? PLAYER,L \?ELS74 IN? PASSBOOK,PLAYER \?ELS74 ZERO? MCGINTY-KNOWS \?ELS74 CALL QUEUED?,I-MCGINTY-FOLLOWS ZERO? STACK \?ELS74 CALL MCGINTY-WILL-FOLLOW CALL TELL-EYES-NARROW,FALSE-VALUE CRLF RTRUE ?ELS74: IN? PASSBOOK,L \FALSE ZERO? MCGINTY-KNOWS \FALSE CALL META-LOC,PLAYER IN? MCGINTY,STACK \?ELS85 CALL MCGINTY-WILL-FOLLOW MOVE PASSBOOK,MCGINTY CALL TELL-TAKE-PASS,STR?409 CRLF RTRUE ?ELS85: SET 'MCGINTY-MEETS-WEASEL,TRUE-VALUE MOVE PASSBOOK,MCGINTY RFALSE .FUNCT TELL-EYES-NARROW,SPACE=1 ZERO? ALREADY-FOLLOWED \FALSE ZERO? SPACE /?CND6 PRINTI " " ?CND6: PRINTI "As he looks at you, he does a double take and stares intently at your possessions." RTRUE .FUNCT MCGINTY-WILL-FOLLOW,GT ZERO? MCGINTY-KNOWS \FALSE GET GOAL-TABLES,MCGINTY-C >GT PUT GT,GOAL-ENABLE,FALSE-VALUE PUT GT,GOAL-F,WRECK-13 PUT GT,ATTENTION,500 CALL INT,I-MCGINTY PUT STACK,0,0 CALL QUEUE,I-MCGINTY-FOLLOWS,-1 PUT STACK,0,1 RTRUE .FUNCT I-MCGINTY-FOLLOWS,GT,MCG-LOC LOC MCGINTY >MCG-LOC GRTR? PRESENT-TIME,810 \?CND1 ZERO? ALREADY-FOLLOWED \?CND1 CALL INT,I-MCGINTY-FOLLOWS PUT STACK,0,0 GET GOAL-TABLES,MCGINTY-C >GT PUT GT,ATTENTION,0 PUT GT,GOAL-ENABLE,TRUE-VALUE SET 'ALREADY-FOLLOWED,TRUE-VALUE CALL ESTABLISH-GOAL,MCGINTY,MCGINTY-HQ RFALSE ?CND1: GET GOAL-TABLES,MCGINTY-C PUT STACK,ATTENTION,5 EQUAL? HERE,OUTFITTERS-HQ \?ELS10 EQUAL? MCG-LOC,WHARF-ROAD-4 \?ELS10 CALL MOVE-PERSON,MCGINTY,OUTFITTERS-HQ RSTACK ?ELS10: EQUAL? HERE,MCG-LOC,LAST-PLAYER-LOC /FALSE EQUAL? MCG-LOC,LAST-PLAYER-LOC /FALSE CALL META-LOC,LAST-PLAYER-LOC EQUAL? LAST-PLAYER-LOC,STACK \FALSE CALL MOVE-PERSON,MCGINTY,LAST-PLAYER-LOC RSTACK .FUNCT CIGAR-F EQUAL? PRSA,V?TAKE \?ELS5 CALL DPRINT,MCGINTY PRINTR " yanks it back, then tenderly clamps it between his teeth." ?ELS5: EQUAL? PRSA,V?LAMP-ON \?ELS9 CALL TELL-ALREADY,STR?411 RSTACK ?ELS9: EQUAL? PRSA,V?SMELL \FALSE PRINTR "The cigar smells like a burning tire." .FUNCT JOHNNY-F,RARG=0,TREAS,?TMP1 EQUAL? RARG,M-OBJDESC \?ELS3 CALL QUEUED?,I-PENDULUM ZERO? STACK /?ELS6 CALL INT,I-PENDULUM GET STACK,C-TICK EQUAL? STACK,-1 /TRUE ?ELS6: CALL IN-MOTION?,JOHNNY ZERO? STACK \TRUE EQUAL? HERE,MM-AFT-DECK,NW-AFT-DECK \?ELS12 ZERO? WEASEL-APPREHENDED /?ELS12 CALL QUEUED?,I-PENDULUM ZERO? STACK \?ELS12 CALL I-JOHNNY,G-REACHED RTRUE ?ELS12: FSET? JOHNNY,TOUCHBIT \?ELS16 CALL DPRINT,JOHNNY PRINTI " is here" IN? SPEAR-CARRIER,HERE \?CND19 IN? MCGINTY,HERE \?ELS24 PRINTI ", glaring at " CALL DPRINT,MCGINTY JUMP ?CND19 ?ELS24: LESS? FM-CTR,2 /?THN31 GRTR? FM-CTR,4 \?CND19 ?THN31: EQUAL? PRESENT-TIME,704 /?CND19 PRINTI ", chatting with the " CALL DPRINT,SPEAR-CARRIER ?CND19: PRINTR "." ?ELS16: CALL DPRINT,JOHNNY PRINTI " is here. Red hair sprouts from his head and from beneath his flannel shirt." CRLF FSET JOHNNY,TOUCHBIT RTRUE ?ELS3: EQUAL? RARG,M-CONT \?CND1 EQUAL? PRSA,V?TAKE \?ELS45 FSET? PRSO,TAKEBIT \?ELS45 PRINTR "Johnny glares down at you. ""Get your hands off of that!""" ?ELS45: EQUAL? KNIFE,PRSO,PRSI \FALSE EQUAL? PRSA,V?ASK-ABOUT,V?FIND,V?EXAMINE /FALSE EQUAL? PRSA,V?ASK-CONTEXT-ABOUT /FALSE PRINTI "Johnny pulls it back. ""I'm not gonna let you give this to " CALL DPRINT,WEASEL PRINTR ".""" ?CND1: EQUAL? JOHNNY,WINNER \?CND60 CALL META-LOC,JOHNNY >?TMP1 CALL META-LOC,PLAYER EQUAL? ?TMP1,STACK /?CND60 SET 'P-CONT,FALSE-VALUE CALL TELL-NOT-HERE-TALK RETURN 2 ?CND60: FSET JOHNNY,TOUCHBIT EQUAL? PRSA,V?FOLLOW \?ELS69 EQUAL? PRSO,JOHNNY /FALSE ?ELS69: EQUAL? PRSA,V?TELL \?ELS73 ZERO? PRSI /FALSE ?ELS73: ZERO? MCGINTY-KNOWS \?THN78 ZERO? JOHNNY-SILENT /?ELS77 ?THN78: CALL DPRINT,JOHNNY PRINTI " looks right through you." CRLF RETURN 2 ?ELS77: EQUAL? PRSA,V?GOODBYE,V?HELLO \?ELS85 SET 'QCONTEXT,JOHNNY SET 'QCONTEXT-ROOM,HERE PRINTR """Ahoy, matey.""" ?ELS85: EQUAL? PRSA,V?BUY \?CND67 EQUAL? PRSO,FERRY-TOKEN \?CND67 PRINTI """Try " CALL DPRINT,BANK PRINTR ".""" ?CND67: EQUAL? PRSA,V?$CALL \?ELS97 EQUAL? WINNER,PLAYER /FALSE ?ELS97: CALL GRAB-ATTENTION,JOHNNY ZERO? STACK /TRUE EQUAL? PRSA,V?SHOW,V?GIVE \?ELS104 EQUAL? PRSO,CHARTS \?ELS104 PRINTR """No thanks. I have my own.""" ?ELS104: EQUAL? PRSA,V?SHOW \?ELS114 EQUAL? PRSO,NOTE /?THN111 ?ELS114: EQUAL? PRSA,V?ASK-ABOUT \?ELS110 EQUAL? PRSI,NOTE \?ELS110 ?THN111: PRINTR """Yeah. I wrote that.""" ?ELS110: EQUAL? PRSA,V?GIVE \?ELS120 EQUAL? PRSO,ENVELOPE /?THN123 EQUAL? PRSO,ID-CARD \?ELS120 ?THN123: IN? ID-CARD,ENVELOPE /?CND125 CALL TELL-RETURNS,JOHNNY ?CND125: CALL PERFORM,V?SHOW,PRSO,JOHNNY RTRUE ?ELS120: EQUAL? PRSA,V?SHOW \?ELS129 EQUAL? PRSI,JOHNNY \?ELS129 IN? ID-CARD,ENVELOPE \?ELS134 EQUAL? PRSO,ENVELOPE /?THN137 EQUAL? PRSO,ID-CARD \?ELS134 ?THN137: PRINTI "Johnny takes the card and " CALL DPRINT,ENVELOPE PRINTI " and studies them. " ZERO? WEASEL-APPREHENDED /?ELS143 CALL TELL-ALREADY-SHOWN PRINTI ","" he says, handing the " CALL DPRINT,ENVELOPE PRINTI " back." JUMP ?CND141 ?ELS143: ZERO? CLUMSILY-HANDLED /?ELS148 PRINTI """You trying to frame " CALL DPRINT,WEASEL PRINTI "?"" He returns the " CALL DPRINT,ENVELOPE PRINTI "." JUMP ?CND141 ?ELS148: MOVE ENVELOPE,JOHNNY PRINTI """So,"" he muses, """ CALL DPRINT,WEASEL PRINTI " is working with " CALL DPRINT,MCGINTY PRINTI ". I'll take care of him.""" SET 'WEASEL-BLOWN,TRUE-VALUE LOC JOHNNY IN? WEASEL,STACK \?ELS158 CALL ROUGH-JUSTICE JUMP ?CND141 ?ELS158: IN? WEASEL,FERRY /?THN161 IN? WEASEL,GLOBAL-FERRY \?ELS160 ?THN161: CALL ESTABLISH-GOAL,JOHNNY,FERRY-LANDING JUMP ?CND141 ?ELS160: CALL META-LOC,WEASEL CALL ESTABLISH-GOAL,JOHNNY,STACK ?CND141: CRLF RTRUE ?ELS134: EQUAL? PRSO,ENVELOPE \?ELS166 ZERO? WEASEL-BLOWN /?ELS169 CALL TELL-ALREADY-SHOWN JUMP ?CND167 ?ELS169: PRINTI """It's empty. It don't mean nothing" SET 'CLUMSILY-HANDLED,TRUE-VALUE ?CND167: PRINTR ".""" ?ELS166: EQUAL? PRSO,ID-CARD \?CND102 ZERO? WEASEL-BLOWN /?ELS181 CALL TELL-ALREADY-SHOWN JUMP ?CND179 ?ELS181: PRINTI """That's " CALL DPRINT,WEASEL PRINTI "'s. He'll be glad you found it" SET 'CLUMSILY-HANDLED,TRUE-VALUE ?CND179: PRINTR ".""" ?ELS129: EQUAL? PRSA,V?ASK-ABOUT \?CND102 EQUAL? PRSO,JOHNNY \?CND102 EQUAL? PRSI,SHARK,SAMPLE-TREASURE,GLOBAL-TREASURE \?ELS195 IN? MCGINTY,HERE \?ELS198 CALL MCGINTY-AND-TREASURE,GLOBAL-TREASURE RTRUE ?ELS198: CALL ENABLED?,I-JOHNNY ZERO? STACK /?THN201 ZERO? SAMPLE-TREASURE \?ELS200 ?THN201: PRINTI "Red scowls. ""What " CALL DPRINT,GLOBAL-TREASURE PRINTR "?""" ?ELS200: LESS? SM-CTR,2 \?ELS206 PRINTR """All in good time.""" ?ELS206: LESS? TM-CTR,7 /?THN211 IN? WEASEL,HERE /?THN211 IN? PETE,HERE /?THN211 IN? SPEAR-CARRIER,HERE \?ELS210 ?THN211: PRINTI """I told you. I found a " CALL DPRINT,SAMPLE-TREASURE PRINTR " while I was cleaning a shark.""" ?ELS210: EQUAL? PRSI,SHARK \?ELS216 PRINTR """I made that up.""" ?ELS216: PRINTR """Hevlin gave it to me.""" ?ELS195: EQUAL? PRSI,BOOK \?ELS224 LESS? TM-CTR,7 /FALSE IN? WEASEL,HERE /FALSE IN? PETE,HERE /FALSE IN? SPEAR-CARRIER,HERE /FALSE PRINTR """That's the one Hevlin gave you.""" ?ELS224: EQUAL? PRSI,PETES-PATCH \?ELS235 PRINTR """Pete's worn it a long time.""" ?ELS235: EQUAL? PRSI,HEVLIN \?ELS239 PRINTR """He was an old friend of mine.""" ?ELS239: EQUAL? PRSI,SPEAR-CARRIER \?ELS243 PRINTR """You know him as well as I do.""" ?ELS243: EQUAL? PRSI,ME \?ELS247 CALL TELL-YOURE-DIVER RTRUE ?ELS247: EQUAL? PRSI,WEASEL \?ELS249 PRINTI """The Weasel? " ZERO? WEASEL-BLOWN /?ELS254 PRINTI "Lower than a sea slug...""" JUMP ?CND252 ?ELS254: IN? WEASEL,HERE \?ELS259 PRINTI "He's my pal.""" CALL TELL-FERRY-KLUDGE,STR?413 JUMP ?CND252 ?ELS259: PRINTI "I wouldn't trust him farther than I could throw a whale! But he's a great one-man crew.""" ?CND252: CRLF RTRUE ?ELS249: EQUAL? PRSI,MCGINTY \?ELS267 IN? MCGINTY,HERE \?ELS270 PRINTC 34 CALL DPRINT,MCGINTY PRINTR "'s one of my favorite people to work for!""" ?ELS270: PRINTR """That man would sell his mother for a profit!""" ?ELS267: EQUAL? PRSI,PETE \?ELS278 IN? PETE,HERE \?CND279 PRINTI "Johnny leans over and mutters, " ?CND279: PRINTR """Pete's no genius, but he's dependable. He got a bad name 'cause of what happened, him serving his mates rats for mess. But he'll never make that mistake again!""" ?ELS278: EQUAL? PRSI,JOHNNY \?ELS287 CALL TELL-KNOW-ME RTRUE ?ELS287: EQUAL? PRSI,PARROT \?ELS289 PRINTI """It's what makes " CALL DPRINT,SHANTY PRINTR " what it is.""" ?ELS289: EQUAL? PRSI,SALVAGER,TRAWLER \?ELS293 PRINTR """It's one of Outfitters' boats.""" ?ELS293: EQUAL? PRSI,LINE-HACK \FALSE PRINT LINE-STR CRLF RTRUE ?CND102: EQUAL? WINNER,JOHNNY \FALSE EQUAL? PRSO,GLOBAL-SELF \?CND307 SET 'PRSO,JOHNNY ?CND307: EQUAL? PRSI,GLOBAL-SELF \?CND310 SET 'PRSI,JOHNNY ?CND310: IN? MCGINTY,HERE \?CND313 EQUAL? PRSO,SAMPLE-TREASURE,GLOBAL-TREASURE \?ELS318 SET 'TREAS,PRSO JUMP ?CND316 ?ELS318: EQUAL? PRSI,GLOBAL-TREASURE,SAMPLE-TREASURE \?CND316 SET 'TREAS,PRSI ?CND316: ZERO? TREAS /?CND313 CALL MCGINTY-AND-TREASURE,TREAS RTRUE ?CND313: EQUAL? PRSA,V?TELL \?ELS329 EQUAL? PRSO,ME /FALSE ?ELS329: EQUAL? PRSA,V?$CALL \?ELS333 CALL TELL-SO-WHAT RSTACK ?ELS333: EQUAL? PRSA,V?SHOW \?ELS335 IN? PRSO,JOHNNY \?ELS335 EQUAL? PRSI,ME \?ELS335 SET 'WINNER,PLAYER CALL PERFORM,V?EXAMINE,PRSO SET 'WINNER,JOHNNY RETURN WINNER ?ELS335: EQUAL? PRSA,V?MAYBE,V?NO,V?YES /FALSE EQUAL? PRSA,V?WHAT,V?LONGITUDE,V?LATITUDE /FALSE EQUAL? PRSA,V?ALARM,V?SSHOW,V?FIND /FALSE PRINTI """I'll do what I want.""" CRLF RETURN 2 .FUNCT MCGINTY-AND-TREASURE,TRE CALL MCGINTY-WILL-FOLLOW PRINTI "Johnny looks at " CALL DPRINT,MCGINTY PRINTI " and then at you. ""What " CALL DPRINT,TRE PRINTR "?""" .FUNCT TELL-RETURNS,PER CALL START-SENTENCE,PER PRINTI " looks at the " CALL DPRINT,PRSO PRINTI " and hands it back to you. " RTRUE .FUNCT TELL-ALREADY-SHOWN CALL TELL-YOU-ALREADY,STR?414,TRUE-VALUE,FALSE-VALUE RSTACK .FUNCT TELL-YOU-ALREADY,STR,QUOTE?=0,DONE=1 ZERO? QUOTE? /?CND1 PRINTI """" ?CND1: PRINTI "You already " PRINT STR ZERO? DONE /FALSE CRLF RTRUE .FUNCT I-JOHNNY,GARG=0,L,JMG,V,?TMP1 LOC JOHNNY >L ZERO? GARG \?ELS5 ZERO? WEASEL-BLOWN \FALSE GRTR? FM-CTR,1 \?ELS15 LESS? FM-CTR,5 /?THN12 ?ELS15: GRTR? TM-CTR,0 \?CND6 LESS? TM-CTR,8 \?CND6 ?THN12: CALL QUEUE,I-JOHNNY,1 PUT STACK,0,1 RFALSE ?CND6: GET MOVEMENT-GOALS,JOHNNY-C >JMG GET JMG,MG-ROOM EQUAL? STACK,MM-CAPT-CABIN \?CND18 EQUAL? SHIP-CHOSEN,TRAWLER \?CND18 PUT JMG,MG-ROOM,NW-CAPT-CABIN ?CND18: CALL IMOVEMENT,JOHNNY,I-JOHNNY RSTACK ?ELS5: EQUAL? GARG,G-REACHED \?ELS24 ZERO? WEASEL-APPREHENDED /?ELS27 EQUAL? L,MM-LOUNGE,NW-LOUNGE \?ELS31 LOC WEASEL IN? PLAYER,STACK \?CND32 CALL TELL-JOHNNY-DRAGS ?CND32: MOVE WEASEL,L EQUAL? SHIP-CHOSEN,TRAWLER \?ELS37 CALL ESTABLISH-GOAL,JOHNNY,NW-AFT-DECK JUMP ?CND35 ?ELS37: CALL ESTABLISH-GOAL,JOHNNY,MM-AFT-DECK ?CND35: IN? PLAYER,L \TRUE PRINTI "Johnny drags " CALL DPRINT,WEASEL PRINTR " in, ties him up, and throws him to the floor." ?ELS31: EQUAL? L,MM-AFT-DECK,NW-AFT-DECK \?CND25 CALL QUEUED?,I-PENDULUM ZERO? STACK \?CND25 IN? PLAYER,L \?CND25 CALL QUEUE,I-PENDULUM,-1 PUT STACK,0,1 FCLEAR LINE-HACK,INVISIBLE MOVE LINE-HACK,L PRINTI "Johnny approaches, throws a weighted " CALL DPRINT,SAFETY-LINE PRINTI " over the side, and says, " PRINT LINE-STR CRLF RTRUE ?ELS27: ZERO? WEASEL-BLOWN /?ELS55 CALL META-LOC,WEASEL EQUAL? L,STACK \?ELS59 CALL ROUGH-JUSTICE JUMP ?CND25 ?ELS59: IN? WEASEL,GLOBAL-FERRY /FALSE IN? WEASEL,FERRY /FALSE IN? WEASEL,LOCAL-GLOBALS /FALSE GET GOAL-TABLES,JOHNNY-C GET STACK,GOAL-F >?TMP1 CALL META-LOC,WEASEL EQUAL? ?TMP1,STACK /?CND25 CALL META-LOC,WEASEL CALL ESTABLISH-GOAL,JOHNNY,STACK RFALSE ?ELS55: EQUAL? L,OUTFITTERS-HQ \?CND25 EQUAL? MEETINGS-COMPLETED,3 \?CND25 CALL QUEUE,I-EQUIP,-1 PUT STACK,0,1 ?CND25: EQUAL? L,HERE \FALSE CALL DPRINT,JOHNNY PRINTI " appears, striding like a proud lion." CRLF CALL QUEUED?,I-THIRD-MEETING ZERO? STACK /?CND82 CALL I-THIRD-MEETING ?CND82: RETURN 2 ?ELS24: EQUAL? GARG,G-ENROUTE \FALSE ZERO? WEASEL-BLOWN /FALSE ZERO? WEASEL-APPREHENDED /?ELS99 LOC WEASEL EQUAL? STACK,MM-LOUNGE,NW-LOUNGE /FALSE IN? WEASEL,L \?CND106 SET 'V,TRUE-VALUE ?CND106: MOVE WEASEL,L ZERO? V \?THN114 IN? PLAYER,L \FALSE ?THN114: CALL TELL-JOHNNY-DRAGS RSTACK ?ELS99: CALL META-LOC,WEASEL EQUAL? L,STACK \?ELS122 CALL ROUGH-JUSTICE RSTACK ?ELS122: IN? WEASEL,GLOBAL-FERRY /FALSE IN? WEASEL,FERRY /FALSE IN? WEASEL,LOCAL-GLOBALS /FALSE GET GOAL-TABLES,JOHNNY-C GET STACK,GOAL-F >?TMP1 CALL META-LOC,WEASEL EQUAL? ?TMP1,STACK /FALSE CALL META-LOC,WEASEL CALL ESTABLISH-GOAL,JOHNNY,STACK RFALSE .FUNCT TELL-JOHNNY-DRAGS PRINTI "Johnny drags " CALL DPRINT,WEASEL PRINTR " along with him." .FUNCT ROUGH-JUSTICE,PRINT?=0 LOC JOHNNY IN? PLAYER,STACK \?CND1 SET 'PRINT?,TRUE-VALUE CRLF PRINTI "Johnny grabs " CALL DPRINT,WEASEL PRINTI " and his knife. ""All right, slime. Thought you and " CALL DPRINT,MCGINTY PRINTI " could rip us off, huh?"" Before he turns to lead " CALL DPRINT,WEASEL PRINTI " away, " ?CND1: ZERO? AT-SEA /?ELS10 SET 'WEASEL-APPREHENDED,TRUE-VALUE MOVE KNIFE,JOHNNY LOC LOUNGE-CHAIR CALL ESTABLISH-GOAL,JOHNNY,STACK RSTACK ?ELS10: ZERO? PRINT? /?ELS16 PRINTI "Johnny says, ""We'd have to find someone else to crew. I better call it off."" You head for " CALL DPRINT,SHANTY PRINTI ", wishing you had more to do today than drink." CRLF JUMP ?CND14 ?ELS16: CALL TELL-COMES-UP,JOHNNY PRINTI """I've taken care of " CALL DPRINT,WEASEL PRINTI ", but we can't go out without a crew. Maybe next time.""" CRLF ?CND14: CALL FINISH RSTACK .FUNCT TELL-COMES-UP,WHO CALL START-SENTENCE,WHO PRINTI " comes up to you and says, " RTRUE .FUNCT PETE-F,RARG=0,?TMP1 EQUAL? RARG,M-OBJDESC \?ELS3 CALL IN-MOTION?,PETE ZERO? STACK \TRUE LOC PETE EQUAL? STACK,MM-GALLEY,NW-GALLEY \?ELS8 CALL DPRINT,PETE PRINTR " is watching over his stew." ?ELS8: GRTR? FM-CTR,1 \?ELS16 LESS? FM-CTR,5 /?THN13 ?ELS16: EQUAL? PRESENT-TIME,704 \?ELS12 ?THN13: CALL DPRINT,PETE PRINTR " is sitting here, listening intently." ?ELS12: FSET? PETE,TOUCHBIT \?ELS20 CALL DPRINT,PETE PRINTR " fiddles with his eyepatch, shifting his weight from foot to foot." ?ELS20: PRINTI "A man wearing an eyepatch, black turtleneck, and jeans is standing about. He is known as " CALL DPRINT,PETE PRINTI "." CRLF FSET PETE,TOUCHBIT RTRUE ?ELS3: EQUAL? RARG,M-CONT \?CND1 EQUAL? PRSA,V?TAKE \FALSE FSET? PRSO,TAKEBIT \FALSE PRINTR "Pete pulls it back. ""That's mine!""" ?CND1: EQUAL? WINNER,PETE \?CND38 CALL META-LOC,PETE >?TMP1 CALL META-LOC,PLAYER EQUAL? ?TMP1,STACK /?CND38 SET 'P-CONT,FALSE-VALUE CALL TELL-NOT-HERE-TALK RETURN 2 ?CND38: FSET PETE,TOUCHBIT EQUAL? PRSA,V?FOLLOW \?ELS47 EQUAL? PRSO,PETE /FALSE ?ELS47: EQUAL? PRSA,V?HELLO \?ELS51 SET 'QCONTEXT,PETE SET 'QCONTEXT-ROOM,HERE PRINTR """Hi.""" ?ELS51: EQUAL? PRSA,V?GOODBYE \?ELS55 SET 'QCONTEXT,PETE SET 'QCONTEXT-ROOM,HERE PRINTR """Bye.""" ?ELS55: EQUAL? PRSA,V?SMELL \?ELS59 PRINTR "Phew! Better stay upwind of him." ?ELS59: EQUAL? PRSA,V?BUY \?CND45 EQUAL? PRSO,FERRY-TOKEN \?CND45 PRINTR "Pete checks his pockets, then holds out his empty hands." ?CND45: EQUAL? PRSA,V?$CALL \?ELS71 EQUAL? WINNER,PLAYER /FALSE ?ELS71: CALL GRAB-ATTENTION,PETE ZERO? STACK /TRUE EQUAL? PRSA,V?GIVE \?ELS78 EQUAL? PRSO,ENVELOPE /?THN81 EQUAL? PRSO,ID-CARD \?ELS78 ?THN81: IN? ID-CARD,ENVELOPE /?CND83 CALL TELL-RETURNS,PETE ?CND83: CALL PERFORM,V?SHOW,PRSO,PETE RTRUE ?ELS78: EQUAL? PRSA,V?SHOW \?ELS87 EQUAL? PRSI,PETE \?ELS87 IN? ID-CARD,ENVELOPE \?ELS92 EQUAL? PRSO,ENVELOPE /?THN95 EQUAL? PRSO,ID-CARD \?ELS92 ?THN95: PRINTI "Pete takes the " CALL DPRINT,ENVELOPE PRINTI ", studies it, then returns it. ""Looks like " CALL DPRINT,WEASEL PRINTR "'s card to me,"" he says." ?ELS92: EQUAL? PRSO,ENVELOPE \?ELS100 PRINTR """Looks like it's empty.""" ?ELS100: EQUAL? PRSO,ID-CARD \?CND76 PRINTI """Looks like " CALL DPRINT,WEASEL PRINTR "'s card. Better return it.""" ?ELS87: EQUAL? PRSA,V?ASK-ABOUT \?CND76 EQUAL? PRSO,PETE \?CND76 EQUAL? PRSI,GLOBAL-TREASURE \?ELS113 IN? MCGINTY,HERE \?CND114 CALL MCGINTY-WILL-FOLLOW ?CND114: LESS? FM-CTR,3 \?ELS119 PRINTR """I think that's what Johnny wants to talk about.""" ?ELS119: GETP HERE,P?LINE LESS? STACK,TRAWLER-LINE-C \?ELS123 PRINTR """Looks like Johnny found some.""" ?ELS123: PRINTR """That's what we're lookin' for.""" ?ELS113: EQUAL? PRSI,SAMPLE-TREASURE \?ELS131 IN? SAMPLE-TREASURE,JOHNNY \?ELS131 IN? MCGINTY,HERE \?CND134 CALL MCGINTY-WILL-FOLLOW ?CND134: PRINTR """You saw it. You should know more about it than me.""" ?ELS131: EQUAL? PRSI,PETES-PATCH \?ELS140 PRINTR """That's my eyepatch. It covers my bad eye.""" ?ELS140: EQUAL? PRSI,STOVE \?ELS144 PRINTI """There's nothing special about the " CALL DPRINT,STOVE PRINTR ".""" ?ELS144: EQUAL? PRSI,SPEAR-CARRIER \?ELS148 PRINTR """He's a good guy.""" ?ELS148: EQUAL? PRSI,JOHNNY \?ELS152 PRINTR "Pete thinks for a second. ""Yeah, Red's a friend of mine.""" ?ELS152: EQUAL? PRSI,MCGINTY \?ELS156 PRINTR """I done work for him, but I don't like him.""" ?ELS156: EQUAL? PRSI,HEVLIN \?ELS160 CALL TELL-NEVER-KNEW RTRUE ?ELS160: EQUAL? PRSI,WEASEL \?ELS162 PRINTI "Pete frowns for a moment, then " IN? WEASEL,HERE \?ELS167 PRINTI "leans over and whispers" JUMP ?CND165 ?ELS167: PRINTI "says" ?CND165: PRINTR ", ""The Weasel's a friend, but I don't trust him. He's awful quick with that knife.""" ?ELS162: EQUAL? PRSI,PETE \?ELS177 CALL TELL-KNOW-ME RTRUE ?ELS177: EQUAL? PRSI,ME \?ELS179 CALL TELL-YOURE-DIVER RTRUE ?ELS179: EQUAL? PRSI,PARROT \?ELS181 PRINTR """He's weird. He talks funny.""" ?ELS181: EQUAL? PRSI,FOOD \?ELS185 GETP HERE,P?LINE GRTR? STACK,BACK-ALLEY-LINE-C \?ELS185 PRINTR """It's a beef stew. There's nothing wrong with it.""" ?ELS185: EQUAL? PRSI,TRAWLER,SALVAGER \FALSE PRINTR """She's a boat.""" ?CND76: EQUAL? WINNER,PETE \FALSE EQUAL? PRSO,GLOBAL-SELF \?CND201 SET 'PRSO,PETE ?CND201: EQUAL? PRSI,GLOBAL-SELF \?CND204 SET 'PRSI,PETE ?CND204: EQUAL? PRSA,V?TELL \?ELS211 EQUAL? PRSO,ME /FALSE ?ELS211: EQUAL? PRSA,V?$CALL \?ELS215 CALL TELL-SO-WHAT RSTACK ?ELS215: EQUAL? PRSA,V?SHOW \?ELS217 IN? PRSO,PETE \?ELS217 EQUAL? PRSI,ME \?ELS217 SET 'WINNER,PLAYER CALL PERFORM,V?EXAMINE,PRSO SET 'WINNER,PETE RETURN WINNER ?ELS217: EQUAL? PRSA,V?MAYBE,V?NO,V?YES /FALSE EQUAL? PRSA,V?WHAT,V?LONGITUDE,V?LATITUDE /FALSE EQUAL? PRSA,V?ALARM,V?SSHOW,V?FIND /FALSE PRINTI """I don't think I can do that.""" CRLF RETURN 2 .FUNCT I-PETE,GARG=0,L,PMG,?TMP1 LOC PETE >L ZERO? GARG \?ELS5 GRTR? FM-CTR,1 \?CND6 LESS? FM-CTR,5 \?CND6 CALL QUEUE,I-PETE,1 PUT STACK,0,1 RFALSE ?CND6: GET MOVEMENT-GOALS,PETE-C >PMG GET PMG,MG-ROOM EQUAL? STACK,MM-GALLEY \?CND11 EQUAL? SHIP-CHOSEN,TRAWLER \?CND11 PUT PMG,MG-ROOM,NW-GALLEY ?CND11: CALL IMOVEMENT,PETE,I-PETE RSTACK ?ELS5: EQUAL? GARG,G-REACHED \FALSE EQUAL? L,MM-GALLEY,NW-GALLEY \?CND18 GETP L,P?LINE >?TMP1 CALL META-LOC,PLAYER GETP STACK,P?LINE EQUAL? ?TMP1,STACK \?CND18 FSET FOOD,NDESCBIT MOVE FOOD,STOVE ?CND18: EQUAL? HERE,L \FALSE CALL DPRINT,PETE PRINTI " arrives, quickly taking in the situation." CRLF RETURN 2 .FUNCT PETES-PATCH-F EQUAL? PRSA,V?DISEMBARK,V?ASK-FOR,V?LOOK-UNDER /?THN10 EQUAL? PRSA,V?MOVE /?THN10 EQUAL? PRSA,V?TAKE \?ELS5 ZERO? PRSI /?THN10 EQUAL? PRSI,PETE \?ELS5 ?THN10: PRINTR "Mind your manners." ?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It's a standard black eyepatch." .FUNCT WEASEL-F,RARG=0,?TMP1 EQUAL? RARG,M-OBJDESC \?ELS3 IN? ENVELOPE,PLAYER \?ELS6 CALL WEASEL-BEATS-YOU ZERO? STACK \TRUE ?ELS6: ZERO? WEASEL-APPREHENDED /?ELS10 EQUAL? HERE,MM-LOUNGE,NW-LOUNGE \?ELS14 CALL TELL-TIED JUMP ?CND12 ?ELS14: PRINTI "The Weasel is firmly in Johnny's grasp." ?CND12: CRLF RTRUE ?ELS10: CALL QUEUED?,I-PENDULUM ZERO? STACK /?ELS20 CALL INT,I-PENDULUM GET STACK,C-TICK EQUAL? STACK,-1 /TRUE ?ELS20: EQUAL? HERE,UPSTAIRS-HALLWAY \?ELS24 CALL QUEUED?,I-WEASEL-TO-BEDROOM ZERO? STACK /?ELS24 CALL INT,I-WEASEL-TO-BEDROOM PUT STACK,0,0 PRINTI "The Weasel sees you come up" CALL TELL-WEASEL-EXCUSE RTRUE ?ELS24: GRTR? FM-CTR,1 \?ELS34 LESS? FM-CTR,5 /?THN31 ?ELS34: EQUAL? PRESENT-TIME,704 \?ELS30 EQUAL? HERE,SHANTY \?ELS30 ?THN31: PRINTR "The Weasel is sitting here, eyes darting." ?ELS30: CALL IN-MOTION?,WEASEL ZERO? STACK \TRUE CALL TRAITOR-TIME? ZERO? STACK \TRUE FSET? WEASEL,TOUCHBIT \?ELS44 LOC WEASEL EQUAL? STACK,MM-AFT-DECK,NW-AFT-DECK \?ELS47 ZERO? AT-SEA /?ELS47 ZERO? WEASEL-APPREHENDED \?ELS47 CALL QUEUED?,I-PENDULUM ZERO? STACK \?ELS47 CALL QUEUE,I-PENDULUM,-1 PUT STACK,0,1 CALL TELL-WEASEL-TOSSES RTRUE ?ELS47: PRINTR "The Weasel is picking his teeth with a nasty knife, looking around furtively." ?ELS44: PRINTI "A short, wiry guy known only as """ CALL DPRINT,WEASEL PRINTI """ is over in a corner, picking his teeth with a knife." CRLF FSET WEASEL,TOUCHBIT RTRUE ?ELS3: EQUAL? RARG,M-CONT \?CND1 EQUAL? PRSA,V?TAKE \FALSE FSET? PRSO,TAKEBIT \FALSE PRINTR "The Weasel glares at you. ""I ain't gonna give that to ya!""" ?CND1: EQUAL? WINNER,WEASEL \?CND69 CALL META-LOC,WEASEL >?TMP1 CALL META-LOC,PLAYER EQUAL? ?TMP1,STACK /?ELS74 SET 'P-CONT,FALSE-VALUE CALL TELL-NOT-HERE-TALK RETURN 2 ?ELS74: CALL TRAITOR-TIME? ZERO? STACK /?CND69 CALL TELL-IN-MEETING RETURN 2 ?CND69: FSET WEASEL,TOUCHBIT EQUAL? PRSA,V?FOLLOW \?ELS83 EQUAL? PRSO,WEASEL /FALSE ?ELS83: EQUAL? PRSA,V?$CALL \?ELS87 CALL TRAITOR-TIME? ZERO? STACK /?ELS87 CALL TELL-IN-MEETING RTRUE ?ELS87: EQUAL? PRSA,V?UNTIE \?ELS91 ZERO? WEASEL-APPREHENDED /?ELS91 EQUAL? HERE,MM-LOUNGE,NW-LOUNGE \?ELS91 CALL JIGS-UP,STR?418 JUMP ?CND81 ?ELS91: EQUAL? PRSA,V?SEARCH \?ELS95 ZERO? WEASEL-APPREHENDED /?ELS98 IN? PASSBOOK,WEASEL \?ELS102 MOVE PASSBOOK,PLAYER PRINTR "You take back your passbook." ?ELS102: PRINTR "Despite his writhing, you search him fruitlessly." ?ELS98: ZERO? WEASEL-PISSED /?ELS110 CALL JIGS-UP,STR?419 RTRUE ?ELS110: SET 'WEASEL-PISSED,TRUE-VALUE PRINTR "The Weasel shrinks back and says, ""Hey, don't you trust me? I don't gotta take this from you!""" ?ELS95: ZERO? WEASEL-APPREHENDED /?ELS117 EQUAL? PRSA,V?EXAMINE \?ELS121 CALL TELL-TIED JUMP ?CND119 ?ELS121: EQUAL? PRSA,V?TELL,V?ASK-ABOUT \?ELS123 EQUAL? PRSI,WEASEL \?ELS123 EQUAL? PRSO,WEASEL \FALSE ?ELS123: IN? WEASEL,HERE \FALSE EQUAL? PRSA,V?FIND /FALSE PRINTI "The Weasel just glares at you." ?CND119: CRLF EQUAL? PRSA,V?ASK-ABOUT,V?TELL \?CND134 EQUAL? PRSO,WEASEL \?CND134 SET 'QCONTEXT,WEASEL SET 'QCONTEXT-ROOM,HERE ?CND134: RETURN 2 ?ELS117: EQUAL? PRSA,V?HELLO \?ELS142 SET 'QCONTEXT,WEASEL SET 'QCONTEXT-ROOM,HERE PRINTR """Yeah. Hi.""" ?ELS142: EQUAL? PRSA,V?GOODBYE \?ELS146 SET 'QCONTEXT,WEASEL SET 'QCONTEXT-ROOM,HERE PRINTR """Yeah. Bye.""" ?ELS146: EQUAL? PRSA,V?ASK-FOR \?ELS154 EQUAL? PRSO,WEASEL /?THN151 ?ELS154: EQUAL? PRSA,V?TAKE \?ELS150 EQUAL? PRSI,WEASEL \?ELS150 ?THN151: EQUAL? KNIFE,PRSI,PRSO /FALSE PRINTR """If I got it, I ain't gonna give it to ya.""" ?ELS150: EQUAL? PRSA,V?BUY \?CND81 EQUAL? PRSO,FERRY-TOKEN \?CND81 PRINTR """I might need it. Try the bank.""" ?CND81: EQUAL? PRSA,V?$CALL \?ELS173 EQUAL? WINNER,PLAYER /FALSE ?ELS173: CALL GRAB-ATTENTION,WEASEL ZERO? STACK /TRUE EQUAL? PRSA,V?GIVE \?ELS180 EQUAL? PRSO,ENVELOPE /?THN183 EQUAL? PRSO,ID-CARD \?ELS180 ?THN183: CALL PERFORM,V?SHOW,PRSO,WEASEL RTRUE ?ELS180: EQUAL? PRSA,V?SHOW \?ELS186 EQUAL? PRSI,WEASEL \?ELS186 IN? ID-CARD,ENVELOPE \?ELS191 EQUAL? PRSO,ENVELOPE /?THN194 EQUAL? PRSO,ID-CARD \?ELS191 ?THN194: MOVE ENVELOPE,WEASEL PRINTI "The Weasel takes the " CALL DPRINT,ENVELOPE PRINTR ". ""Thanks. I was wonderin' what happened to my card.""" ?ELS191: EQUAL? PRSO,ENVELOPE \?ELS199 PRINTR "The Weasel shoves it back at you. ""I dunno nothin' about this. Could be old.""" ?ELS199: EQUAL? PRSO,ID-CARD \?CND178 MOVE ID-CARD,WEASEL PRINTR "The Weasel takes the card. ""Thanks. I'd be in trouble without this.""" ?ELS186: EQUAL? PRSA,V?ASK-ABOUT \?CND178 EQUAL? PRSO,WEASEL \?CND178 CALL TRAITOR-TIME? ZERO? STACK /?ELS212 CALL TELL-IN-MEETING RETURN 2 ?ELS212: EQUAL? PRSI,GLOBAL-TREASURE \?ELS216 IN? MCGINTY,HERE \?ELS219 CALL MCGINTY-WILL-FOLLOW PRINTI "The Weasel glances at " CALL DPRINT,MCGINTY PRINTI " and says, ""What " CALL DPRINT,GLOBAL-TREASURE PRINTR "?""" ?ELS219: LESS? FM-CTR,3 \?ELS223 PRINTR """That could be what Johnny wants to talk about.""" ?ELS223: PRINTR """I guess that's what we're lookin' for.""" ?ELS216: EQUAL? PRSI,KNIFE \?ELS231 PRINTR """Yeah. That's my knife.""" ?ELS231: EQUAL? PRSI,HEVLIN \?ELS235 CALL TELL-NEVER-KNEW RTRUE ?ELS235: EQUAL? PRSI,PETES-PATCH \?ELS237 PRINTR """Pete's worn it as long as I've known him.""" ?ELS237: EQUAL? PRSI,TRAWLER,SALVAGER \?ELS241 PRINTR """It's a decent boat.""" ?ELS241: EQUAL? PRSI,SPEAR-CARRIER \?ELS245 PRINTR """I guess he's okay.""" ?ELS245: EQUAL? PRSI,JOHNNY \?ELS249 PRINTR """Yeah. Red's okay.""" ?ELS249: EQUAL? PRSI,ME \?ELS253 CALL TELL-YOURE-DIVER RTRUE ?ELS253: EQUAL? PRSI,PETE \?ELS255 PRINTR """Pete's a good guy. Just don't eat his chow.""" ?ELS255: EQUAL? PRSI,MCGINTY \?ELS259 CALL WEASEL-SHUFFLE PRINTR """He's all right. I work with him now and then.""" ?ELS259: EQUAL? PRSI,WEASEL \?ELS263 CALL TELL-KNOW-ME RTRUE ?ELS263: EQUAL? PRSI,PARROT \?ELS265 PRINTR """She is one strange bird.""" ?ELS265: EQUAL? PRSI,GLOBAL-FERRY,FERRY \?ELS269 CALL WEASEL-SHUFFLE PRINTR """I use it to go home on the mainland.""" ?ELS269: EQUAL? PRSI,LINE-HACK \FALSE PRINT LINE-STR CRLF RTRUE ?CND178: EQUAL? WINNER,WEASEL \FALSE EQUAL? PRSO,GLOBAL-SELF \?CND283 SET 'PRSO,WEASEL ?CND283: EQUAL? PRSI,GLOBAL-SELF \?CND286 SET 'PRSI,WEASEL ?CND286: EQUAL? PRSA,V?TELL \?ELS293 EQUAL? PRSO,ME /FALSE ?ELS293: EQUAL? PRSA,V?$CALL \?ELS297 CALL TELL-SO-WHAT RSTACK ?ELS297: EQUAL? PRSA,V?SHOW \?ELS299 IN? PRSO,WEASEL \?ELS299 EQUAL? PRSO,PASSBOOK,ENVELOPE /?ELS299 EQUAL? PRSI,ME \?ELS299 SET 'WINNER,PLAYER CALL PERFORM,V?EXAMINE,PRSO SET 'WINNER,WEASEL RETURN WINNER ?ELS299: EQUAL? FM-CTR,2 \?ELS303 EQUAL? PRSA,V?SIT-ON,V?SIT \?ELS303 PRINTR """Wait a second.""" ?ELS303: EQUAL? PRSA,V?MAYBE,V?NO,V?YES /FALSE EQUAL? PRSA,V?WHAT,V?LONGITUDE,V?LATITUDE /FALSE EQUAL? PRSA,V?ALARM,V?SSHOW,V?FIND /FALSE PRINTI """I don't wanna do that.""" CRLF RETURN 2 .FUNCT WEASEL-SHUFFLE GRTR? PRESENT-TIME,840 \FALSE IN? ENVELOPE,LOCAL-GLOBALS /FALSE PRINTI "The Weasel's eyes dart as he shuffles his feet. " RTRUE .FUNCT TELL-TIED PRINTI "The Weasel is tied up and squirming." RTRUE .FUNCT I-WEASEL,GARG=0,L,VAL=0,GT LOC WEASEL >L ZERO? GARG \?ELS5 GRTR? FM-CTR,1 \?CND6 LESS? FM-CTR,5 \?CND6 CALL QUEUE,I-JOHNNY,1 PUT STACK,0,1 RFALSE ?CND6: CALL IMOVEMENT,WEASEL,I-WEASEL RSTACK ?ELS5: EQUAL? GARG,G-REACHED \?ELS12 CALL META-LOC,PLAYER EQUAL? L,STACK \?ELS15 IN? ENVELOPE,PLAYER \?ELS15 CALL WEASEL-BEATS-YOU ZERO? STACK \TRUE ?ELS15: EQUAL? L,BANK \?ELS19 IN? PASSBOOK,WEASEL \?ELS19 SET 'PASSBOOK-BALANCE,0 SET 'STUPID-PROBLEM-STRING,STR?291 JUMP ?CND13 ?ELS19: EQUAL? L,UPSTAIRS-HALLWAY \?ELS23 IN? PASSBOOK,UPSTAIRS-HALLWAY \?ELS26 GRTR? PASSBOOK-BALANCE,99 \?ELS26 IN? PLAYER,UPSTAIRS-HALLWAY /?ELS26 MOVE PASSBOOK,WEASEL PUT MOVEMENT-GOALS,WEASEL-C,WEASEL-RETIRES-TABLE CALL IMOVEMENT,WEASEL,I-WEASEL JUMP ?CND13 ?ELS26: CALL META-LOC,PLAYER EQUAL? STACK,BEDROOM \?ELS30 FSET? BEDROOM-DOOR,OPENBIT \?ELS33 MOVE WEASEL,BEDROOM GRTR? PRESENT-TIME,540 \?ELS36 PRINTI "The Weasel comes in, and fear flashes across his face. ""Don't forget to meet Johnny later,"" he says." CRLF JUMP ?CND34 ?ELS36: PRINTI "You hear something at the door and " EQUAL? PRSA,V?OPEN \?THN46 EQUAL? PRSO,BEDROOM-DOOR /?CND43 ?THN46: PRINTI "turn to " ?CND43: PRINTI "see " CALL DPRINT,WEASEL PRINTI " walk in. Fear flashes across his face, but only for an instant. He says, ""Oh, hi. I was just wonderin' if you was comin' to the meeting. Looks like we found the real thing this time.""" CRLF ?CND34: CALL ESTABLISH-GOAL,WEASEL,SHANTY JUMP ?CND31 ?ELS33: CALL QUEUE,I-WEASEL-TO-BEDROOM,2 PUT STACK,0,1 PRINTI "You hear a knock at the door." CRLF SET 'P-IT-OBJECT,BEDROOM-DOOR ?CND31: SET 'VAL,M-FATAL JUMP ?CND13 ?ELS30: EQUAL? HERE,UPSTAIRS-HALLWAY \?ELS57 PRINTI "The Weasel gets to the top of the stairs, sees you," CALL TELL-WEASEL-EXCUSE SET 'VAL,M-FATAL JUMP ?CND13 ?ELS57: FSET? BEDROOM-DOOR,OPENBIT \?ELS64 CALL WEASEL-ALONE-IN-BEDROOM JUMP ?CND13 ?ELS64: CALL QUEUE,I-WEASEL-TO-BEDROOM,2 PUT STACK,0,1 JUMP ?CND13 ?ELS23: EQUAL? L,HERE \?CND13 PRINTI "The Weasel approaches, glancing around furtively." CRLF SET 'VAL,M-FATAL ?CND13: CALL WEASEL-CHECK,ENVELOPE,L CALL WEASEL-CHECK,ID-CARD,L RETURN VAL ?ELS12: EQUAL? GARG,G-ENROUTE \FALSE EQUAL? HERE,UPSTAIRS-HALLWAY \?CND76 ZERO? BEDROOM-MESSAGE /?CND76 SET 'BEDROOM-DOOR-LOCKED,FALSE-VALUE ?CND76: IN? PASSBOOK,L \?CND81 GRTR? PASSBOOK-BALANCE,99 \?CND81 CALL META-LOC,PLAYER IN? WEASEL,STACK /?CND81 MOVE PASSBOOK,WEASEL GET GOAL-TABLES,WEASEL-C >GT GET GT,GOAL-F EQUAL? STACK,FERRY-LANDING \?CND86 CALL ESTABLISH-GOAL,WEASEL,BACK-ALLEY-5 ?CND86: GETP L,P?LINE LESS? STACK,TRAWLER-LINE-C \?CND81 PUT MOVEMENT-GOALS,WEASEL-C,WEASEL-RETIRES-TABLE CALL IMOVEMENT,WEASEL,I-WEASEL ?CND81: IN? ENVELOPE,PLAYER \?ELS94 CALL META-LOC,PLAYER EQUAL? L,STACK \?ELS94 CALL WEASEL-BEATS-YOU ZERO? STACK \TRUE ?ELS94: CALL WEASEL-CHECK,ENVELOPE,L CALL WEASEL-CHECK,ID-CARD,L RSTACK .FUNCT TELL-WEASEL-PICKUP,STR PRINTI "The Weasel picks up " PRINT STR PRINTR "." .FUNCT TELL-WEASEL-EXCUSE CALL ESTABLISH-GOAL,WEASEL,SHANTY PRINTI " and says, " GRTR? PRESENT-TIME,540 \?ELS7 PRINTR """Umm, well, better not forget to meet with Johnny.""" ?ELS7: PRINTI """Oh. I was just checkin' to see if you're goin' to the meeting at " CALL DPRINT,SHANTY PRINTR "."" He looks slightly disappointed." .FUNCT WEASEL-CHECK,OBJ,L LOC OBJ EQUAL? STACK,ENVELOPE,UNDER-BUNK /?ELS9 CALL META-LOC,OBJ EQUAL? STACK,L \?ELS9 LOC OBJ FSET? STACK,PERSON \?THN6 ?ELS9: CALL REALLY-HERE?,OBJ,L ZERO? STACK /FALSE ?THN6: MOVE OBJ,WEASEL CALL META-LOC,PLAYER EQUAL? L,STACK \FALSE EQUAL? L,ID-CARD \?ELS19 CALL TELL-WEASEL-PICKUP,STR?420 RSTACK ?ELS19: CALL TELL-WEASEL-PICKUP,STR?421 RSTACK .FUNCT REALLY-HERE?,OBJ,L,CTR=0 ?PRG1: GRTR? CTR,44 /FALSE GET SHARED-OBJECT-TABLE,CTR EQUAL? STACK,OBJ \?CND3 ADD CTR,1 GET SHARED-OBJECT-TABLE,STACK EQUAL? STACK,L \?CND3 ADD CTR,2 GET SHARED-OBJECT-TABLE,STACK EQUAL? STACK,UNDER-BUNK /?CND3 PUT SHARED-OBJECT-TABLE,CTR,0 ADD CTR,1 PUT SHARED-OBJECT-TABLE,STACK,0 ADD CTR,2 PUT SHARED-OBJECT-TABLE,STACK,0 RTRUE ?CND3: ADD CTR,3 >CTR JUMP ?PRG1 .FUNCT I-WEASEL-TO-BEDROOM ZERO? BEDROOM-DOOR-LOCKED /?ELS5 CALL ESTABLISH-GOAL,WEASEL,SHANTY RFALSE ?ELS5: CALL META-LOC,PLAYER EQUAL? STACK,BEDROOM \?ELS13 MOVE WEASEL,BEDROOM PRINTI "The door opens and " CALL DPRINT,WEASEL PRINTI " walks in. He sees you and says, ""Oh. Hi. I just wanted to make sure you " GRTR? PRESENT-TIME,540 \?ELS18 PRINTI "remembered to meet Johnny later.""" JUMP ?CND16 ?ELS18: PRINTI "knew about the meetin' at " CALL DPRINT,SHANTY PRINTI "." FSET? NOTE,TOUCHBIT \?ELS27 PRINTI " You got Johnny's note, right?""" JUMP ?CND16 ?ELS27: PRINTI """ He points to the note on the floor. ""You better read this note.""" ?CND16: CRLF CALL ESTABLISH-GOAL,WEASEL,SHANTY RSTACK ?ELS13: CALL WEASEL-ALONE-IN-BEDROOM RFALSE .FUNCT WEASEL-ALONE-IN-BEDROOM,WGT GET GOAL-TABLES,WEASEL-C >WGT MOVE WEASEL,BEDROOM PUT WGT,ATTENTION,5 FSET BUREAU,OPENBIT CALL META-LOC,PASSBOOK EQUAL? STACK,BEDROOM \?ELS3 GRTR? PASSBOOK-BALANCE,99 \?ELS3 MOVE PASSBOOK,WEASEL PUT MOVEMENT-GOALS,WEASEL-C,WEASEL-RETIRES-TABLE CALL IMOVEMENT,WEASEL,I-WEASEL JUMP ?CND1 ?ELS3: CALL ESTABLISH-GOAL,WEASEL,SHANTY ?CND1: PUT WGT,GOAL-ENABLE,FALSE-VALUE SET 'BEDROOM-MESSAGE,STR?422 RETURN BEDROOM-MESSAGE .FUNCT WEASEL-BEATS-YOU ZERO? WEASEL-APPREHENDED \FALSE CALL TELL-COMES-UP,WEASEL CALL JIGS-UP,STR?423 RSTACK .FUNCT KNIFE-F EQUAL? PRSA,V?TAKE /?THN6 EQUAL? PRSA,V?ASK-FOR \?ELS5 EQUAL? PRSO,WEASEL \?ELS5 ?THN6: IN? KNIFE,WEASEL \FALSE PRINTR "The Weasel pulls it away. ""Don't mess with my knife,"" he warns, ""or I'll give it to ya in a way ya won't much like.""" ?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE PRINTI "This knife " IN? KNIFE,WEASEL \?ELS23 PRINTI "is" JUMP ?CND21 ?ELS23: PRINTI "was" ?CND21: PRINTI " " CALL DPRINT,WEASEL PRINTR "'s, and it's razor sharp." .FUNCT WATCH-F EQUAL? PRSA,V?EXAMINE,V?READ \?ELS5 PRINTI "Your trusty old wind-up diver's watch is waterproof to 350 fathoms. It currently shows " CALL WATCH-TIME PRINTI " a.m. (The AM/PM indicator never did work.)" ZERO? WATCH-WOUND \?CND10 PRINTI " The sweep hand isn't moving on it." ?CND10: CRLF RTRUE ?ELS5: EQUAL? PRSA,V?LISTEN \?ELS16 ZERO? WATCH-WOUND /?ELS21 PRINTR "It's ticking." ?ELS21: PRINTI "The " CALL DPRINT,WATCH PRINTR " makes no sound. And it's not battery-operated." ?ELS16: EQUAL? PRSA,V?WIND \?ELS30 EQUAL? PRSO,WATCH \?ELS30 SET 'WATCH-WOUND,TRUE-VALUE CALL QUEUE,I-UNWOUND,1500 PUT STACK,0,1 PRINTR "Okay. You've wound the watch." ?ELS30: EQUAL? PRSA,V?SHAKE \?ELS36 PRINTR "Shaken. It's not self-winding, but it is shock-proof." ?ELS36: EQUAL? PRSA,V?TURN \FALSE ZERO? PRSI \?ELS45 PRINTR "If you want to set the watch, specify the time to which you want it set." ?ELS45: EQUAL? PRSI,INTNUM \FALSE GRTR? SET-HR,23 /?THN53 GRTR? SET-MIN,59 \?ELS52 ?THN53: PRINTR "Try setting it to a more reasonable time." ?ELS52: GRTR? SET-HR,11 \?CND50 SUB SET-HR,12 >SET-HR ?CND50: SET 'WATCH-SCORE,SET-HR SET 'WATCH-MOVES,SET-MIN SET 'SET-MIN,60 CALL TELL-NOW,WATCH,STR?425,FALSE-VALUE CALL WATCH-TIME PRINTR "." .FUNCT WATCH-TIME,HR ZERO? WATCH-SCORE \?ELS3 SET 'HR,12 JUMP ?CND1 ?ELS3: SET 'HR,WATCH-SCORE ?CND1: PRINTN HR PRINTI ":" LESS? WATCH-MOVES,10 \?CND8 PRINTI "0" ?CND8: PRINTN WATCH-MOVES RTRUE .FUNCT DELIVERY-BOY-F,RARG=0 EQUAL? RARG,M-OBJDESC \?ELS5 CALL IN-MOTION?,DELIVERY-BOY ZERO? STACK \TRUE PRINTI "The " CALL DPRINT,DELIVERY-BOY PRINTR " is here." ?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS16 PRINTI "The " CALL DPRINT,DELIVERY-BOY PRINTI " is young. He's pushing a cart which is " ZERO? DELIVERY-MADE /?ELS21 PRINTI "currently empty" JUMP ?CND19 ?ELS21: PRINTI "loaded with stuff" ?CND19: PRINTR "." ?ELS16: EQUAL? DELIVERY-BOY,WINNER /?THN33 EQUAL? PRSA,V?GOODBYE,V?HELLO /?THN33 EQUAL? PRSA,V?TELL \FALSE EQUAL? PRSO,DELIVERY-BOY \FALSE ?THN33: SET 'QCONTEXT,DELIVERY-BOY SET 'QCONTEXT-ROOM,HERE PRINTI """I can't stop now. I'm working!""" CRLF SET 'P-CONT,FALSE-VALUE SET 'QUOTE-FLAG,FALSE-VALUE RTRUE .FUNCT I-DELIVERY-BOY,GARG=0,L,DMG,OBJ,DEST,?TMP1 LOC DELIVERY-BOY >L ZERO? GARG \?ELS5 GET MOVEMENT-GOALS,DELIVERY-BOY-C >DMG LESS? PRESENT-TIME,485 \?ELS8 JUMP ?CND6 ?ELS8: ZERO? AMT-OWED \FALSE ZERO? JOHNNY-MADE-DEAL /FALSE GET DMG,MG-ROOM EQUAL? STACK,MM-LOCKER \?CND6 MOVE DELIVERY-BOY,OUTFITTERS-HQ EQUAL? SHIP-CHOSEN,TRAWLER \?CND6 PUT DMG,MG-ROOM,NW-LOCKER ?CND6: CALL IMOVEMENT,DELIVERY-BOY,I-DELIVERY-BOY RSTACK ?ELS5: EQUAL? GARG,G-REACHED \?ELS19 EQUAL? L,OUTFITTERS-HQ \?CND20 MOVE DELIVERY-BOY,LOCAL-GLOBALS ?CND20: EQUAL? L,MM-LOCKER,NW-LOCKER \?ELS27 ?PRG28: SUB DT-PTR,2 >DT-PTR LESS? DT-PTR,0 \?CND30 JUMP ?REP29 ?CND30: GET DELIVERY-TABLE,DT-PTR >OBJ MOVE OBJ,L EQUAL? OBJ,COMPRESSOR /?CND33 FSET OBJ,TAKEBIT ?CND33: FCLEAR OBJ,TRYTAKEBIT FCLEAR OBJ,NDESCBIT JUMP ?PRG28 ?REP29: SET 'DELIVERY-MADE,TRUE-VALUE CALL ESTABLISH-GOAL,DELIVERY-BOY,OUTFITTERS-HQ EQUAL? L,HERE \FALSE PRINTI "The " CALL DPRINT,DELIVERY-BOY PRINTI " arrives with a cartful of stuff which he unloads." CRLF RETURN 2 ?ELS27: EQUAL? L,HERE \FALSE PRINTI "The " CALL DPRINT,DELIVERY-BOY PRINTI " walks in." CRLF RETURN 2 ?ELS19: EQUAL? GARG,G-ENROUTE \FALSE EQUAL? L,MM-GALLEY,NW-GALLEY \FALSE ZERO? WATER-DELIVERED \FALSE SET 'WATER-DELIVERED,TRUE-VALUE GET GOAL-TABLES,DELIVERY-BOY-C PUT STACK,ATTENTION,2 GETP L,P?LINE >?TMP1 CALL META-LOC,WINNER GETP STACK,P?LINE EQUAL? ?TMP1,STACK \?CND60 MOVE DRINKING-WATER,L FSET DRINKING-WATER,NDESCBIT ?CND60: IN? PLAYER,L \FALSE PRINTR "The delivery boy stops to drop off some stuff." .FUNCT SPEAR-CARRIER-F,CHANGE,COST EQUAL? PRSA,V?HELLO \?ELS3 SET 'QCONTEXT,SPEAR-CARRIER SET 'QCONTEXT-ROOM,HERE PRINTR """Hi there! What can I do for you?""" ?ELS3: EQUAL? PRSA,V?GOODBYE \?ELS7 SET 'QCONTEXT,SPEAR-CARRIER SET 'QCONTEXT-ROOM,HERE PRINTR """So long. See you around.""" ?ELS7: EQUAL? PRSA,V?ALARM /FALSE EQUAL? PRSA,V?TIME /?THN14 EQUAL? PRSA,V?WHAT \?ELS13 EQUAL? PRSO,GLOBAL-TIME \?ELS13 ?THN14: CALL PERFORM,V?ASK-ABOUT,SPEAR-CARRIER,GLOBAL-TIME RTRUE ?ELS13: EQUAL? WINNER,SPEAR-CARRIER \?ELS19 EQUAL? PRSO,GLOBAL-SELF \?CND20 SET 'PRSO,SPEAR-CARRIER ?CND20: EQUAL? PRSI,GLOBAL-SELF \?CND23 SET 'PRSI,SPEAR-CARRIER ?CND23: EQUAL? PRSA,V?FIND \?ELS28 EQUAL? PRSO,GLOBAL-BANK \?ELS28 EQUAL? HERE,BANK \?ELS33 PRINTR """This is the bank!""" ?ELS33: SET 'WINNER,PLAYER CALL PERFORM,V?ASK-ABOUT,SPEAR-CARRIER,GLOBAL-BANK SET 'WINNER,SPEAR-CARRIER RTRUE ?ELS28: EQUAL? PRSA,V?$CALL \?ELS39 CALL TELL-SO-WHAT RTRUE ?ELS39: EQUAL? PRSA,V?WHAT,V?SSHOW,V?SGIVE /FALSE EQUAL? PRSA,V?NO,V?YES,V?FIND /FALSE EQUAL? PRSA,V?MAYBE /FALSE EQUAL? PRSA,V?ASK-FOR,V?ASK-ABOUT \?ELS45 EQUAL? PRSI,GLOBAL-TIME /FALSE ?ELS45: EQUAL? PRSA,V?GIVE \?ELS49 EQUAL? PRSI,ME \?ELS49 SET 'WINNER,PLAYER CALL PERFORM,V?ASK-FOR,SPEAR-CARRIER,PRSO SET 'WINNER,SPEAR-CARRIER RTRUE ?ELS49: EQUAL? PRSA,V?TELL \?ELS53 EQUAL? PRSO,ME \?ELS53 ZERO? PRSI /FALSE SET 'WINNER,PLAYER CALL PERFORM,V?ASK-ABOUT,SPEAR-CARRIER,PRSI SET 'WINNER,SPEAR-CARRIER RTRUE ?ELS53: EQUAL? PRSA,V?HELLO \?ELS63 PRINTR """Hi there! What can I do for you?""" ?ELS63: EQUAL? PRSA,V?GOODBYE \?ELS67 PRINTR """So long. See you around.""" ?ELS67: EQUAL? PRSA,V?WITHDRAW \?ELS71 EQUAL? HERE,BANK /FALSE ?ELS71: EQUAL? PRSA,V?SHOW \?ELS75 EQUAL? PRSI,ME \?ELS75 PRINTI """Examine it " CALL DPRINT,GLOBAL-SELF PRINTR ".""" ?ELS75: PRINTR """I can't do that while I'm on the job.""" ?ELS19: EQUAL? PRSA,V?TELL \?ELS85 ZERO? PRSI /FALSE ?ELS85: EQUAL? PRSA,V?BUY \?ELS89 EQUAL? PRSO,FERRY-TOKEN \?ELS89 CALL NO-TOKENS,HERE RTRUE ?ELS89: EQUAL? PRSA,V?SEARCH \?ELS93 CALL TELL-YOU-CANT,STR?427,FALSE-VALUE IN? BAR,HERE \?ELS96 CALL DPRINT,BAR JUMP ?CND94 ?ELS96: IN? WINDOW,HERE \?ELS100 CALL DPRINT,WINDOW JUMP ?CND94 ?ELS100: CALL DPRINT,GLOBAL-SURFACE ?CND94: PRINTR "." ?ELS93: EQUAL? PRSA,V?ASK-ABOUT \?CND1 EQUAL? PRSO,SPEAR-CARRIER \?CND1 SET 'QCONTEXT,SPEAR-CARRIER SET 'QCONTEXT-ROOM,HERE EQUAL? PRSI,SPEAR-CARRIER \?ELS115 PRINTR """Just another of the people who keep this island running.""" ?ELS115: EQUAL? PRSI,ME \?ELS119 CALL TELL-YOURE-DIVER RTRUE ?ELS119: FSET? PRSI,PERSON \?ELS121 PRINTI """You know " CALL DPRINT,PRSI PRINTR ".""" ?ELS121: EQUAL? PRSI,GLOBAL-BANK \?ELS125 EQUAL? HERE,BANK \?ELS128 PRINTI """It's the " CALL DPRINT,BANK PRINTR ", a savings bank which has served Hardscrabble Island for over forty years.""" ?ELS128: PRINTI """It's at the eastern end of the " CALL DPRINT,SHORE-ROAD-1 PRINTR ".""" ?ELS125: EQUAL? PRSI,GLOBAL-MONEY \?ELS136 PRINTR """That's what makes the world go around. Right?""" ?ELS136: EQUAL? PRSI,RIDICULOUS-MONEY-KLUDGE \?ELS140 PRINTR "He smiles. ""Money is our most important product.""" ?ELS140: EQUAL? PRSI,PARROT \?ELS144 EQUAL? HERE,SHANTY \?ELS147 PRINTR """Isn't it great? I bought it from a passing sailor some years back. I never did figure out why it has a wooden leg and an eyepatch.""" ?ELS147: PRINTI """The one in " CALL DPRINT,SHANTY PRINTR "? I can't imagine the island without it!""" ?ELS144: EQUAL? HERE,RED-BOAR-INN \?ELS155 EQUAL? PRSI,HEVLIN \?CND113 PRINTR """He came in here last night looking for you.""" ?ELS155: EQUAL? HERE,OUTFITTERS-HQ \?CND1 EQUAL? PRSI,DELIVERY-BOY \?ELS165 PRINTI """" CALL IN-MOTION?,DELIVERY-BOY ZERO? STACK \?CND168 PRINTI "He's probably in the back room setting up the next delivery. " ?CND168: PRINTR "He's very conscientious, you know.""" ?ELS165: EQUAL? PRSI,PRICE-LIST \?ELS176 PRINTR """It's up to date.""" ?ELS176: EQUAL? PRSI,SALVAGER,TRAWLER \?ELS180 PRINTI """She's a great boat. You can read all about her in the " CALL DPRINT,PRICE-LIST PRINTR ".""" ?ELS180: GETP PRSI,P?NORTH ZERO? STACK /?CND113 IN? PRSI,ROOMS /?CND113 EQUAL? PRSI,DRINK-OBJECT,FOOD /?CND113 PRINTI """It's a great " CALL DPRINT,PRSI PRINTR ".""" ?CND113: ?CND1: EQUAL? PRSA,V?WALK \?ELS193 PRINTR "He indicates that he'd rather stay where he is." ?ELS193: EQUAL? HERE,BANK \?ELS197 EQUAL? PRSI,SPEAR-CARRIER \?ELS197 EQUAL? PRSA,V?GIVE \?ELS204 PRINTI "The teller examines the " EQUAL? PRSO,PASSBOOK \?ELS211 PRINTI "passbook, says" CALL TELL-OUR-PASSBOOK PRINTR " If you want to withdraw some money, say so,"" and hands it back to you." ?ELS211: CALL DPRINT,PRSO PRINTR ", thinks for a moment, and then hands it back to you, pointing out that you have no safe deposit box." ?ELS204: EQUAL? PRSA,V?SHOW \FALSE EQUAL? PRSO,PASSBOOK \FALSE PRINTI "The teller says," CALL TELL-OUR-PASSBOOK PRINTR """" ?ELS197: EQUAL? HERE,RED-BOAR-INN \?ELS229 EQUAL? PRSA,V?ASK-FOR \?ELS234 EQUAL? PRSI,GLOBAL-ROOM \?ELS239 PRINTR """We're full. Your current room will have to do.""" ?ELS239: EQUAL? PRSI,PSEUDO-OBJECT \FALSE PRINTR """Nope. No messages.""" ?ELS234: EQUAL? PRSA,V?GIVE \FALSE EQUAL? PRSO,KEY \FALSE PRINTR "The desk clerk hands you back the key. ""You've paid for another week.""" ?ELS229: EQUAL? HERE,BANK \?ELS253 EQUAL? PRSA,V?ASK-FOR \FALSE EQUAL? PRSI,INTNUM,RIDICULOUS-MONEY-KLUDGE \FALSE GRTR? PASSBOOK-BALANCE,0 \?ELS265 PRINTR """If you want to make a withdrawal, be specific.""" ?ELS265: PRINTR """I'm afraid that the loan officer is out today.""" ?ELS253: EQUAL? HERE,OUTFITTERS-HQ \?ELS273 EQUAL? PRSA,V?ASK-FOR \?ELS273 EQUAL? PRSO,SPEAR-CARRIER \?ELS273 GETP PRSO,P?NORTH >COST GRTR? COST,0 \?ELS280 PRINTR """You want it, you buy it.""" ?ELS280: LESS? COST,0 \FALSE CALL TELL-YOU-ALREADY,STR?428,TRUE-VALUE RTRUE ?ELS273: EQUAL? HERE,OUTFITTERS-HQ \?ELS286 EQUAL? PRSI,SPEAR-CARRIER \?ELS286 EQUAL? PRSA,V?GIVE \FALSE EQUAL? PRSO,INTNUM \?ELS296 ZERO? P-DOLLAR-FLAG /?ELS296 FSET? WET-SUIT,WORNBIT /?THN302 FSET? DEEP-SUIT,WORNBIT \?ELS301 ?THN302: CALL TELL-YOU-CANT,STR?78 RTRUE ?ELS301: GRTR? P-AMOUNT,POCKET-CHANGE \?ELS305 PRINTR "You haven't got that much." ?ELS305: ZERO? AMT-OWED /?ELS309 LESS? P-AMOUNT,AMT-OWED \?ELS313 SUB AMT-OWED,P-AMOUNT >AMT-OWED SUB POCKET-CHANGE,P-AMOUNT >POCKET-CHANGE PRINTI "The salesman takes the money and says, ""You still owe me $" PRINTN AMT-OWED PRINTR ".""" ?ELS313: GRTR? P-AMOUNT,AMT-OWED \?CND318 SUB P-AMOUNT,AMT-OWED >CHANGE PRINTI "The salesman takes the money, counts it, and hands you back $" PRINTN CHANGE PRINTI ". " ?CND318: SUB POCKET-CHANGE,AMT-OWED >POCKET-CHANGE SET 'AMT-OWED,0 PRINTR """Thank you very much. Let me know what else you want.""" ?ELS309: PRINTR "The salesman hands it back to you. ""If you want to buy anything, please be specific.""" ?ELS296: EQUAL? PRSO,GLOBAL-MONEY \?ELS330 SET 'P-AMOUNT,AMT-OWED SET 'P-DOLLAR-FLAG,TRUE-VALUE CALL PERFORM,V?GIVE,INTNUM,PRSI SET 'P-IT-OBJECT,GLOBAL-MONEY RTRUE ?ELS330: PRINTI "The salesman looks at " CALL THE?,PRSO CALL DPRINT,PRSO PRINTR ", then returns it." ?ELS286: EQUAL? SHANTY,HERE \FALSE EQUAL? PRSA,V?ASK-FOR \?ELS347 EQUAL? PRSI,DRINKING-WATER /?THN344 ?ELS347: EQUAL? PRSA,V?BUY \?ELS343 EQUAL? PRSO,DRINKING-WATER \?ELS343 ?THN344: IN? DRINKING-WATER,TABLE-OBJECT \?ELS354 PRINTR """One glass to a customer.""" ?ELS354: MOVE DRINKING-WATER,TABLE-OBJECT FCLEAR DRINKING-WATER,NDESCBIT PUTP DRINKING-WATER,P?SDESC,STR?429 PRINTR "The bartender puts a glass of water on the table." ?ELS343: EQUAL? PRSA,V?ASK-ABOUT,V?ASK-FOR \FALSE EQUAL? PRSI,FOOD \?ELS367 PRINTR """It's beef stew today. You can buy it for $5.""" ?ELS367: EQUAL? PRSI,DRINK-OBJECT \FALSE PRINTR """Grog is $2.""" .FUNCT TELL-OUR-PASSBOOK PRINTI " ""Yes. That's one of our passbooks." RTRUE .FUNCT TELL-NOT-HERE-TALK CALL TELL-YOU-CANT,STR?430 RSTACK .FUNCT TELL-YOURE-DIVER PRINTR """You're a diver!""" .FUNCT TELL-KNOW-ME PRINTR """You know me.""" .FUNCT HEVLIN-F,OWINNER EQUAL? PRSA,V?ASK-FOR,V?ASK-CONTEXT-ABOUT,V?ASK-ABOUT /FALSE EQUAL? PRSA,V?ASK-CONTEXT-FOR /FALSE EQUAL? PRSA,V?TELL \?ELS5 EQUAL? PRSO,HEVLIN,ME \FALSE ?ELS5: EQUAL? PRSA,V?WHAT \?ELS11 SET 'OWINNER,WINNER SET 'WINNER,PLAYER CALL PERFORM,V?ASK-ABOUT,OWINNER,HEVLIN SET 'WINNER,OWINNER RTRUE ?ELS11: EQUAL? PRSA,V?FIND \?ELS13 EQUAL? WINNER,JOHNNY /?THN19 EQUAL? WINNER,SPEAR-CARRIER \?ELS18 EQUAL? HERE,RED-BOAR-INN \?ELS18 ?THN19: PRINTR """He was killed last night.""" ?ELS18: EQUAL? WINNER,PLAYER \?ELS26 CALL TELL-HES-DEAD RSTACK ?ELS26: CALL TELL-NEVER-KNEW RSTACK ?ELS13: EQUAL? PRSA,V?PRAY,V?HELP,V?FIND \?ELS30 CALL TELL-HES-DEAD RETURN 2 ?ELS30: CALL GLOBAL-NOT-HERE-PRINT,HEVLIN RSTACK .FUNCT TELL-HES-DEAD PRINTR "Hevlin is dead." .ENDI