stationfall/ship.zap

1065 lines
32 KiB
Plaintext
Raw Permalink Normal View History

2019-04-14 23:09:16 +03:00
2019-04-14 23:09:56 +03:00
.FUNCT FAKE-DOOR-ENTER-F
PRINTI "The door is closed."
CRLF
RFALSE
.FUNCT FAKE-DOOR-F
EQUAL? PRSA,V?OPEN \?CCL3
2019-04-14 23:11:30 +03:00
CALL RECORDING,STR?170
2019-04-14 23:09:56 +03:00
RSTACK
2019-04-14 23:11:30 +03:00
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5
PRINTR "There's a slot next to the closed door."
?CCL5: EQUAL? PRSA,V?ENTER \FALSE
2019-04-14 23:09:56 +03:00
CALL DO-WALK,P?WEST
RSTACK
2019-04-14 23:09:16 +03:00
.FUNCT FORM-F
2019-04-14 23:09:56 +03:00
EQUAL? PRSA,V?EXAMINE,V?READ \?CCL3
2019-04-14 23:09:16 +03:00
PRINTI "[This form can be found in your STATIONFALL package.]"
2019-04-14 23:09:56 +03:00
EQUAL? PRSO,ASSIGNMENT-COMPLETION-FORM \?CND4
2019-04-14 23:09:16 +03:00
PRINTI " You notice that it has "
2019-04-14 23:09:56 +03:00
ZERO? ASSIGNMENT-FORM-VALIDATED \?CND6
2019-04-14 23:09:16 +03:00
PRINTI "not "
2019-04-14 23:09:56 +03:00
?CND6: PRINTR "been validated."
?CND4: CRLF
2019-04-14 23:09:16 +03:00
RTRUE
2019-04-14 23:09:56 +03:00
?CCL3: EQUAL? PRSA,V?VALIDATE \?CCL9
ZERO? ASSIGNMENT-FORM-VALIDATED /?CCL12
2019-04-14 23:09:16 +03:00
PRINT SENILITY-STRIKES
RTRUE
2019-04-14 23:09:56 +03:00
?CCL12: SET 'ASSIGNMENT-FORM-VALIDATED,TRUE-VALUE
2019-04-14 23:09:16 +03:00
PRINTR "Done."
2019-04-14 23:09:56 +03:00
?CCL9: EQUAL? PRSA,V?MUNG,V?CRUMPLE \FALSE
PRINT VIOLATION-OF-ACT
RTRUE
2019-04-14 23:09:16 +03:00
.FUNCT CHRONOMETER-F
EQUAL? PRSA,V?READ,V?EXAMINE \FALSE
2019-04-14 23:09:56 +03:00
GRTR? DAY,2 \?CCL6
PRINTI "You glance at your "
PRINTD CHRONOMETER
PRINTR ", and realize with annoyance that it has stopped. You can't recall doing anything that might have broken it."
?CCL6: PRINTI "It is a standard wrist "
PRINTD CHRONOMETER
PRINTI " with a digital display. "
2019-04-14 23:09:16 +03:00
CALL V-TIME,TRUE-VALUE
PRINTR " The back is engraved with the message ""Good luck in the Patrol! Love, Mom and Dad."""
.FUNCT PATROL-UNIFORM-F
2019-04-14 23:09:56 +03:00
EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTI "It is a standard-issue one-pocket Stellar "
PRINTD PATROL-UNIFORM
PRINTI ", a miracle of modern technology. It will keep its owner warm in cold climates and cool in warm locales. It provides protection against mild radiation, repels all insects, absorbs sweat, promotes healthy skin tone, and on top of everything else, it is super-comfy"
ZERO? SUIT-PRESSED /?CND4
2019-04-14 23:09:16 +03:00
PRINTI ". The uniform has been recently pressed"
2019-04-14 23:09:56 +03:00
?CND4: PRINT PERIOD-CR
2019-04-14 23:09:16 +03:00
RTRUE
2019-04-14 23:09:56 +03:00
?CCL3: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
2019-04-14 23:09:16 +03:00
PRINTI "There's no way to open or close the pocket of the "
PRINTD PRSO
PRINT PERIOD-CR
RTRUE
2019-04-14 23:09:56 +03:00
.FUNCT I-BLATHER
EQUAL? HERE,SPACETRUCK \?CCL3
CALL DEQUEUE,I-BLATHER
RSTACK
?CCL3: RANDOM 100
LESS? BLATHER-PROB,STACK /?CCL5
CALL DEQUEUE,I-BLATHER
2019-04-14 23:11:30 +03:00
PRINTR " Ensign Twelfth Class Blather walks by, lugging his toilet scrubbing supplies. He spots you, whimpers, and slouches away (Footnote 2)."
2019-04-14 23:09:56 +03:00
?CCL5: ADD BLATHER-PROB,10 >BLATHER-PROB
RETURN BLATHER-PROB
2019-04-14 23:09:16 +03:00
.FUNCT BOXED-FORMS-F
2019-04-14 23:09:56 +03:00
EQUAL? PRSA,V?EXAMINE /?CTR2
2019-04-14 23:09:16 +03:00
CALL TOUCHING?,PSEUDO-OBJECT
2019-04-14 23:09:56 +03:00
ZERO? STACK /?CCL3
?CTR2: PRINTR "The forms are sealed inside the boxes."
?CCL3: EQUAL? PRSA,V?MUNG,V?CRUMPLE \FALSE
PRINT VIOLATION-OF-ACT
RTRUE
2019-04-14 23:09:16 +03:00
.FUNCT PALLETS-F,CNT
2019-04-14 23:09:56 +03:00
EQUAL? PRSA,V?READ \?CCL3
EQUAL? HERE,FORM-STORAGE-ROOM \?CCL6
2019-04-14 23:09:16 +03:00
PRINTR "There are numerous boxes; some of the nearer ones read: ""Form Pallet Disbursal Form,"" ""Loss of Form Pallet Label Report Form,"" and ""Loss of Form Pallet Label Report Form Release Form."""
2019-04-14 23:09:56 +03:00
?CCL6: PRINTC 34
2019-04-14 23:09:16 +03:00
PRINT FORM-NAME
PRINTR "."""
2019-04-14 23:09:56 +03:00
?CCL3: EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE,V?OPEN \?CCL8
2019-04-14 23:09:16 +03:00
PRINTI "Forms"
SET 'CNT,0
2019-04-14 23:09:56 +03:00
?PRG9: EQUAL? CNT,50 /?REP10
2019-04-14 23:09:16 +03:00
PRINTI " and forms"
INC 'CNT
2019-04-14 23:09:56 +03:00
JUMP ?PRG9
?REP10: PRINTR ". Horrified, you reseal the box."
?CCL8: EQUAL? PRSA,V?CLOSE \?CCL14
PRINTR "They already are."
?CCL14: EQUAL? PRSA,V?TAKE \?CCL16
2019-04-14 23:09:16 +03:00
PRINTR "You'll need a forklift."
2019-04-14 23:09:56 +03:00
?CCL16: EQUAL? PRSA,V?MUNG,V?STAND-ON,V?CLIMB-ON /?CTR17
EQUAL? PRSA,V?SHOOT \?CCL18
?CTR17: PRINT VIOLATION-OF-ACT
RTRUE
?CCL18: EQUAL? PRSA,V?COUNT \FALSE
EQUAL? HERE,FORM-STORAGE-ROOM \?CCL25
2019-04-14 23:09:16 +03:00
PRINTR "Countless."
2019-04-14 23:09:56 +03:00
?CCL25: CALL NOUN-USED,W?PALLET,PALLETS
ZERO? STACK /?CCL27
2019-04-14 23:09:16 +03:00
PRINTR "24."
2019-04-14 23:09:56 +03:00
?CCL27: CALL NOUN-USED,W?BOXES,PALLETS
2019-04-14 23:09:16 +03:00
ZERO? STACK /FALSE
SET 'C-ELAPSED,30
PRINTR "1920."
.FUNCT ROBOT-POOL-F,RARG
2019-04-14 23:09:56 +03:00
EQUAL? RARG,M-ENTER \?CCL3
2019-04-14 23:09:16 +03:00
ADD C-ELAPSED,2
CALL QUEUE,I-FLOYD,STACK
RSTACK
2019-04-14 23:09:56 +03:00
?CCL3: EQUAL? RARG,M-LOOK \?CCL5
2019-04-14 23:09:16 +03:00
PRINTI "This is where a "
PRINT LFC
2019-04-14 23:11:30 +03:00
PRINTI " would come to obtain a robot for use on an important assignment. Also for a trivial assignment like yours. "
2019-04-14 23:09:16 +03:00
PRINT ROBOT-POOL-EQUIPMENT-DESC
PRINTI " You can exit aft."
RTRUE
2019-04-14 23:09:56 +03:00
?CCL5: EQUAL? RARG,M-EXIT \FALSE
2019-04-14 23:09:16 +03:00
EQUAL? ROBOT-PICKED,FLOYD /FALSE
CALL DEQUEUE,I-FLOYD
RSTACK
.FUNCT BIN-F
GET P-ADJW,0
2019-04-14 23:09:56 +03:00
EQUAL? STACK,FALSE-VALUE \?PRD5
EQUAL? PRSO,PSEUDO-OBJECT /?CTR2
?PRD5: GET P-ADJW,1
EQUAL? STACK,FALSE-VALUE \?CCL3
EQUAL? PRSI,PSEUDO-OBJECT \?CCL3
2019-04-14 23:11:30 +03:00
?CTR2: PRINT REFER-TO-BIN
RTRUE
2019-04-14 23:09:56 +03:00
?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \?CCL11
2019-04-14 23:09:16 +03:00
CALL ADJ-USED,A?FIRST,PSEUDO-OBJECT
2019-04-14 23:09:56 +03:00
ZERO? STACK /?CCL14
EQUAL? ROBOT-PICKED,REX /?CCL14
2019-04-14 23:09:16 +03:00
GETP REX,P?FDESC
PRINT STACK
CRLF
RTRUE
2019-04-14 23:09:56 +03:00
?CCL14: CALL ADJ-USED,A?SECOND,PSEUDO-OBJECT
ZERO? STACK /?CCL18
EQUAL? ROBOT-PICKED,HELEN /?CCL18
2019-04-14 23:09:16 +03:00
GETP HELEN,P?FDESC
PRINT STACK
CRLF
RTRUE
2019-04-14 23:09:56 +03:00
?CCL18: CALL ADJ-USED,A?THIRD,PSEUDO-OBJECT
ZERO? STACK /?CCL22
EQUAL? ROBOT-PICKED,FLOYD /?CCL22
2019-04-14 23:09:16 +03:00
CALL PERFORM,V?EXAMINE,FLOYD
RTRUE
2019-04-14 23:09:56 +03:00
?CCL22: PRINTR "The bin is empty."
?CCL11: EQUAL? PRSA,V?PUT,V?WALK-TO,V?ENTER \FALSE
2019-04-14 23:09:16 +03:00
PRINTR "The bin is only for robots."
.FUNCT FLOYD-F,OARG=0,X,N,TXT,?TMP1
2019-04-14 23:09:56 +03:00
ZERO? OARG /?CCL3
2019-04-14 23:09:16 +03:00
EQUAL? OARG,M-OBJDESC? /TRUE
PRINTI " "
CALL DESCRIBE-FLOYD
RSTACK
2019-04-14 23:09:56 +03:00
?CCL3: EQUAL? FLOYD,WINNER \?CCL7
2019-04-14 23:09:16 +03:00
SET 'FLOYD-SPOKE,TRUE-VALUE
2019-04-14 23:09:56 +03:00
ZERO? ROBOT-PICKED /?CCL10
EQUAL? ROBOT-PICKED,FLOYD /?CCL10
SET 'WINNER,PROTAGONIST
CALL PERFORM,V?COMFORT,FLOYD
2019-04-14 23:09:16 +03:00
CALL STOP
RSTACK
2019-04-14 23:09:56 +03:00
?CCL10: ZERO? FLOYD-ANGUISHED /?CCL14
2019-04-14 23:11:30 +03:00
PRINT FLOYD-SNIFFS
2019-04-14 23:09:16 +03:00
CALL STOP
RSTACK
2019-04-14 23:09:56 +03:00
?CCL14: EQUAL? PRSA,V?TELL-ABOUT \?CCL16
EQUAL? PRSO,ME \?CCL16
2019-04-14 23:11:30 +03:00
GETP PRSI,P?FLOYD-ASK-ABOUT >TXT
2019-04-14 23:09:56 +03:00
GRTR? ROBOT-EVILNESS,12 \?CCL21
2019-04-14 23:09:16 +03:00
PRINTR """Oh, quit jabbering already."""
2019-04-14 23:11:30 +03:00
?CCL21: ZERO? TXT /?CTR22
EQUAL? PRSI,OLIVER \?CCL23
FSET? OLIVER,TOUCHBIT /?CCL23
?CTR22: PRINTI "Floyd shrugs. ""Beats me."
IN? PLATO,HERE \?CND28
PRINTI " Ask Plato. He knows everything!"
?CND28: PRINTR """"
?CCL23: PRINTC 34
2019-04-14 23:09:16 +03:00
PRINT TXT
PRINTR """"
2019-04-14 23:11:30 +03:00
?CCL16: ZERO? STUNNED /?CCL31
EQUAL? PRSA,V?HELP /?CTR33
EQUAL? PRSA,V?SAVE-SOMETHING \?PRD37
EQUAL? PRSO,ME /?CTR33
?PRD37: EQUAL? PRSA,V?KILL,V?OFF \?PRD40
EQUAL? PRSO,PLATO /?CTR33
?PRD40: EQUAL? PRSA,V?TAKE \?CCL34
EQUAL? PRSO,STUN-GUN \?CCL34
?CTR33: SET 'FLOYD-TOLD,TRUE-VALUE
PRINTR "Floyd waves his hands helplessly. ""Yes... I mean no... I mean oh no oh help me please. Floyd in quandry..."""
?CCL34: PRINTI "Floyd just looks at you with confusion and panic in his eyes."
2019-04-14 23:09:16 +03:00
CRLF
CALL STOP
RSTACK
2019-04-14 23:11:30 +03:00
?CCL31: EQUAL? HERE,FACTORY \?CCL46
ZERO? FLOYD-SHOT /?CCL49
2019-04-14 23:09:16 +03:00
PRINTR "Floyd is hurt and doesn't respond."
2019-04-14 23:11:30 +03:00
?CCL49: PRINTR """Shut up!"" orders Floyd."
?CCL46: EQUAL? PRSA,V?LAUNCH \?CCL51
EQUAL? PRSO,SPACETRUCK-OBJECT \?CCL51
2019-04-14 23:09:16 +03:00
SET 'AWAITING-REPLY,2
CALL V-YES
SET 'AWAITING-REPLY,FALSE-VALUE
RTRUE
2019-04-14 23:11:30 +03:00
?CCL51: EQUAL? PRSA,V?TAKE \?CCL55
EQUAL? PRSO,LEASH \?CCL55
FSET? HERE,WEIGHTLESSBIT /?CCL55
2019-04-14 23:09:16 +03:00
CALL FLOYD-TAKE-LEASH
RSTACK
2019-04-14 23:11:30 +03:00
?CCL55: EQUAL? PRSA,V?TAKE \?CCL60
EQUAL? PRSO,STAR \?CCL60
FSET? STAR,TRYTAKEBIT \?CCL60
2019-04-14 23:09:16 +03:00
PRINTR """Huh? Floyd shorter even than you!"""
2019-04-14 23:11:30 +03:00
?CCL60: EQUAL? PRSA,V?YES \?CCL65
ZERO? AWAITING-REPLY /?CCL65
2019-04-14 23:09:16 +03:00
CALL V-YES
RSTACK
2019-04-14 23:11:30 +03:00
?CCL65: EQUAL? PRSA,V?NO \?CCL69
ZERO? AWAITING-REPLY /?CCL69
2019-04-14 23:09:16 +03:00
CALL V-NO
RSTACK
2019-04-14 23:11:30 +03:00
?CCL69: EQUAL? PRSA,V?CLIMB-ON,V?ENTER \?CCL73
EQUAL? PRSO,COPILOT-SEAT,PILOT-SEAT \?CCL73
IN? FLOYD,PRSO \?CCL78
2019-04-14 23:09:16 +03:00
PRINTR """Where is Floyd now, huh?"""
2019-04-14 23:11:30 +03:00
?CCL78: PRINTR "Floyd looks suspicious. ""You first."""
?CCL73: EQUAL? PRSA,V?TAKE \?CCL80
IN? PRSO,HEATING-CHAMBER \?CCL80
2019-04-14 23:09:16 +03:00
MOVE PRSO,HERE
PRINTI """Okay!"" Floyd reaches into the "
PRINTD HEATING-CHAMBER
PRINTI " and grabs"
CALL TPRINT-PRSO
PRINTR ". ""Yikes, it's hot!"" He drops it to the deck, where it quickly cools."
2019-04-14 23:11:30 +03:00
?CCL80: EQUAL? PRSA,V?MUNG,V?UNLOCK,V?OPEN \?CCL84
EQUAL? PRSO,STRONG-BOX,SAFE \?CCL84
2019-04-14 23:09:16 +03:00
PRINTR """Floyd's a robot, not a locksmith!"""
2019-04-14 23:11:30 +03:00
?CCL84: EQUAL? PRSA,V?UNLOCK,V?OPEN \?CCL88
EQUAL? PRSO,SECURITY-DOOR \?CCL88
2019-04-14 23:09:16 +03:00
PRINTR """Put your ID in the ID reader, dumbo!"""
2019-04-14 23:11:30 +03:00
?CCL88: EQUAL? PRSA,V?MUNG,V?KILL,V?OFF \?CCL92
EQUAL? PRSO,WELDER \?CCL92
2019-04-14 23:09:16 +03:00
PRINTR """Sure! Floyd not scared!"" He walks bravely up to the welder, which spits some electric fire in his direction. From his new position (quivering behind your legs) Floyd says, ""Floyd changed his mind, okay?"""
2019-04-14 23:11:30 +03:00
?CCL92: EQUAL? PRSA,V?ENTER \?CCL96
EQUAL? PRSO,EXERCISE-MACHINE \?CCL96
2019-04-14 23:09:56 +03:00
PRINTR """Floyd doesn't need exercise! Not a gram of flab on Floyd!"" He pokes you in the stomach and grins. ""Can't say the same about you, though!"""
2019-04-14 23:11:30 +03:00
?CCL96: EQUAL? PRSA,V?REACH-IN \?CCL100
EQUAL? PRSO,PSEUDO-OBJECT,DISPENSER \?CCL100
EQUAL? HERE,PX \?CCL100
2019-04-14 23:09:16 +03:00
PRINTR "Floyd happily reaches into the dispenser hole, and then withdraws his hand, looking glum. ""Nope, not even a ball."""
2019-04-14 23:11:30 +03:00
?CCL100: EQUAL? PRSA,V?WEAR \?CCL105
FSET? PRSO,WEARBIT \?CCL105
2019-04-14 23:09:56 +03:00
PRINTR """Too big for Floyd! Also, it would clash with Floyd's boron-titanium alloy finish!"""
2019-04-14 23:11:30 +03:00
?CCL105: EQUAL? PRSA,V?GIVE \?CCL109
EQUAL? PRSI,ME \?CCL109
IN? PRSO,FLOYD \?CCL114
2019-04-14 23:09:16 +03:00
MOVE PRSO,PROTAGONIST
PRINTI """Okay,"" says Floyd, handing you the "
PRINTD PRSO
PRINTR ", ""but only because you're Floyd's best friend."""
2019-04-14 23:11:30 +03:00
?CCL114: PRINT FLOYD-NOT-HAVE
2019-04-14 23:09:16 +03:00
RTRUE
2019-04-14 23:11:30 +03:00
?CCL109: EQUAL? PRSA,V?SGIVE \?CCL116
EQUAL? PRSO,ME \?CCL116
2019-04-14 23:09:16 +03:00
CALL PERFORM,V?GIVE,PRSI,ME
RTRUE
2019-04-14 23:11:30 +03:00
?CCL116: EQUAL? PRSA,V?WALK \?CCL120
2019-04-14 23:09:56 +03:00
PRINTR "Floyd looks slightly embarrassed. ""You know Floyd and his sense of direction."" Then he looks up at you with wide, trusting eyes. ""Tell Floyd a story?"""
2019-04-14 23:11:30 +03:00
?CCL120: EQUAL? PRSA,V?FOLLOW \?CCL122
EQUAL? PRSO,ME \?CCL122
2019-04-14 23:09:16 +03:00
PRINTR """Okay!"""
2019-04-14 23:11:30 +03:00
?CCL122: EQUAL? PRSA,V?HELLO \?CCL126
GRTR? ROBOT-EVILNESS,13 \?CCL129
2019-04-14 23:09:56 +03:00
PRINTR """Enough with the stupid 'FLOYD, HELLO' all the time, okay?"""
2019-04-14 23:11:30 +03:00
?CCL129: PRINTR """Hi!"" Floyd grins and bounces up and down."
?CCL126: EQUAL? PRSA,V?DROP \?CCL131
IN? PRSO,FLOYD \?CCL134
2019-04-14 23:09:16 +03:00
RANDOM 100
2019-04-14 23:11:30 +03:00
LESS? 50,STACK /?CCL137
2019-04-14 23:09:16 +03:00
MOVE PRSO,HERE
PRINTI "Floyd shrugs and drops the "
PRINTD PRSO
PRINT PERIOD-CR
RTRUE
2019-04-14 23:11:30 +03:00
?CCL137: PRINTI "Floyd clutches the "
2019-04-14 23:09:16 +03:00
PRINTD PRSO
PRINTR " even more tightly. ""Floyd won't,"" he says defiantly."
2019-04-14 23:11:30 +03:00
?CCL134: PRINT FLOYD-NOT-HAVE
2019-04-14 23:09:16 +03:00
RTRUE
2019-04-14 23:11:30 +03:00
?CCL131: PRINTI "Floyd whines, ""Enough talking! Let's play Hider-and-Seeker."""
2019-04-14 23:09:16 +03:00
CRLF
CALL STOP
RSTACK
2019-04-14 23:11:30 +03:00
?CCL7: FSET? FLOYD,TOUCHBIT /?CCL139
2019-04-14 23:09:16 +03:00
CALL NOUN-USED,W?FLOYD,FLOYD
2019-04-14 23:11:30 +03:00
ZERO? STACK /?CCL139
2019-04-14 23:09:16 +03:00
PRINTI "You don't see anyone by that name here."
CRLF
2019-04-14 23:11:30 +03:00
RETURN 8
?CCL139: EQUAL? ROBOT-PICKED,FLOYD /?CCL145
2019-04-14 23:09:56 +03:00
CALL TOUCHING?,FLOYD
2019-04-14 23:11:30 +03:00
ZERO? STACK /?CCL145
2019-04-14 23:09:56 +03:00
CALL CANT-REACH,FLOYD
RSTACK
2019-04-14 23:11:30 +03:00
?CCL145: EQUAL? PRSA,V?COMFORT \?CCL149
ZERO? ROBOT-PICKED /?CCL149
EQUAL? ROBOT-PICKED,FLOYD /?CCL149
2019-04-14 23:09:56 +03:00
PRINTR "Floyd gives you a hurt look and turns away."
2019-04-14 23:11:30 +03:00
?CCL149: ZERO? FLOYD-ANGUISHED /?CCL154
2019-04-14 23:09:16 +03:00
CALL TOUCHING?,FLOYD
2019-04-14 23:11:30 +03:00
ZERO? STACK \?CTR153
EQUAL? PRSA,V?COMFORT \?CCL154
?CTR153: PRINT FLOYD-SNIFFS
RTRUE
?CCL154: MUL ROBOT-EVILNESS,10
2019-04-14 23:09:56 +03:00
SUB STACK,70 >?TMP1
2019-04-14 23:09:16 +03:00
RANDOM 100
2019-04-14 23:11:30 +03:00
LESS? ?TMP1,STACK /?CCL160
2019-04-14 23:09:16 +03:00
CALL TOUCHING?,FLOYD
2019-04-14 23:11:30 +03:00
ZERO? STACK /?CCL160
EQUAL? PRSA,V?SHAKE,V?KICK,V?OFF /?CCL160
FSET? FLOYD,ACTIVEBIT \?CCL160
EQUAL? HERE,FACTORY /?CCL167
2019-04-14 23:09:16 +03:00
PRINTR """Hey, will you just leave Floyd alone!"" He shoves you away."
2019-04-14 23:11:30 +03:00
?CCL167: ZERO? FLOYD-SHOT /?CCL169
2019-04-14 23:09:16 +03:00
PRINTI "Before you can..."
CRLF
CALL I-LAUNCH
RSTACK
2019-04-14 23:11:30 +03:00
?CCL169: CALL BACK-OFF,STR?177
2019-04-14 23:09:16 +03:00
RSTACK
2019-04-14 23:11:30 +03:00
?CCL160: EQUAL? PRSA,V?EXAMINE \?CCL171
2019-04-14 23:09:16 +03:00
CALL DESCRIBE-FLOYD,TRUE-VALUE
2019-04-14 23:11:30 +03:00
FIRST? FLOYD \?CCL174
2019-04-14 23:09:16 +03:00
PRINTC 32
CALL V-LOOK-INSIDE
RSTACK
2019-04-14 23:11:30 +03:00
?CCL174: CRLF
2019-04-14 23:09:16 +03:00
RTRUE
2019-04-14 23:11:30 +03:00
?CCL171: EQUAL? PRSA,V?PUT \?CCL176
EQUAL? PRSI,FLOYD \?CCL176
FSET? FLOYD,ACTIVEBIT \?CCL181
2019-04-14 23:09:56 +03:00
PRINTR """Hey, Floyd's a robot, not a garbage pail!"" Floyd giggles uncontrollably at his own joke."
2019-04-14 23:11:30 +03:00
?CCL181: CALL NOUN-USED,W?COMPAR,FLOYD
ZERO? STACK /?CCL183
2019-04-14 23:09:56 +03:00
PRINTR "There's no room."
2019-04-14 23:11:30 +03:00
?CCL183: PRINT HUH
2019-04-14 23:09:56 +03:00
RTRUE
2019-04-14 23:11:30 +03:00
?CCL176: EQUAL? PRSA,V?KILL \?CCL185
EQUAL? PRSO,FLOYD \?CCL185
ZERO? FLOYD-SHOT /?CCL185
2019-04-14 23:09:56 +03:00
CALL PERFORM,V?SHOOT,FLOYD,ZAPGUN
RTRUE
2019-04-14 23:11:30 +03:00
?CCL185: EQUAL? PRSA,V?SHOOT \?CCL190
ZERO? FLOYD-SHOT /?CCL193
2019-04-14 23:09:56 +03:00
INC 'ZAPGUN-SHOTS
PRINTR "Floyd is already fatally wounded, so that would accomplish nothing, except perhaps fulfilling some sadistic impulse on your part."
2019-04-14 23:11:30 +03:00
?CCL193: EQUAL? HERE,FACTORY \?CCL195
2019-04-14 23:09:56 +03:00
CALL ROB,FLOYD,HERE
2019-04-14 23:09:16 +03:00
CALL DEQUEUE,I-FACTORY
FSET STUN-GUN,TAKEBIT
FCLEAR FLOYD,ACTIVEBIT
SET 'FLOYD-SHOT,TRUE-VALUE
PRINTR "The bolt hits Floyd squarely in the chest. He is blown backwards, against the pedestal, and slumps to the deck."
2019-04-14 23:11:30 +03:00
?CCL195: INC 'ZAPGUN-SHOTS
2019-04-14 23:09:56 +03:00
PRINTR "[The author of this story is totally shocked, and won't even dignify such an input with a response.]"
2019-04-14 23:11:30 +03:00
?CCL190: EQUAL? PRSA,V?PICK \?CCL197
2019-04-14 23:09:16 +03:00
CALL PICK-ROBOT
RSTACK
2019-04-14 23:11:30 +03:00
?CCL197: EQUAL? PRSA,V?CLOSE \?CCL199
2019-04-14 23:09:16 +03:00
PRINT HUH
RTRUE
2019-04-14 23:11:30 +03:00
?CCL199: EQUAL? PRSA,V?REACH-IN,V?LOOK-INSIDE \?CCL201
2019-04-14 23:09:16 +03:00
CALL PERFORM,V?OPEN,FLOYD
RTRUE
2019-04-14 23:11:30 +03:00
?CCL201: FSET? FLOYD,ACTIVEBIT \?CCL203
2019-04-14 23:09:16 +03:00
SET 'FLOYD-SPOKE,TRUE-VALUE
2019-04-14 23:11:30 +03:00
EQUAL? PRSA,V?ON \?CCL206
2019-04-14 23:09:16 +03:00
PRINTR "He's already been activated."
2019-04-14 23:11:30 +03:00
?CCL206: EQUAL? PRSA,V?OFF \?CCL208
GRTR? PLATO-ATTACK-COUNTER,0 \?CCL211
2019-04-14 23:09:56 +03:00
PRINTR "Floyd jerks away as you touch his on-off switch. ""Hey, you know how much Floyd hates that! And after Floyd just saved your life, you kripping ingrate."""
2019-04-14 23:11:30 +03:00
?CCL211: FCLEAR FLOYD,ACTIVEBIT
2019-04-14 23:09:16 +03:00
FCLEAR FLOYD,ACTORBIT
2019-04-14 23:11:30 +03:00
ZERO? SPACETRUCK-COUNTER \?CND212
2019-04-14 23:09:16 +03:00
CALL DEQUEUE,I-FLOYD
2019-04-14 23:11:30 +03:00
?CND212: PRINTI "Floyd, shocked by this betrayal from his old friend, whimpers and keels over"
FIRST? FLOYD \?CND214
2019-04-14 23:09:16 +03:00
CALL ROB,FLOYD,HERE
PRINTI ", dropping what he was carrying"
2019-04-14 23:11:30 +03:00
?CND214: PRINT PERIOD-CR
2019-04-14 23:09:16 +03:00
RTRUE
2019-04-14 23:11:30 +03:00
?CCL208: EQUAL? HERE,FACTORY /FALSE
EQUAL? PRSA,V?KISS \?CCL219
2019-04-14 23:09:16 +03:00
PRINTR "You receive a painful electric shock."
2019-04-14 23:11:30 +03:00
?CCL219: EQUAL? PRSA,V?SCOLD \?CCL221
2019-04-14 23:09:16 +03:00
PRINTR "Floyd looks defensive. ""What did Floyd do wrong?"""
2019-04-14 23:11:30 +03:00
?CCL221: EQUAL? PRSA,V?PLAY-WITH \?CCL223
ZERO? FLOYD-ANGUISHED /?CCL226
2019-04-14 23:09:16 +03:00
CALL PERFORM,V?TOUCH,FLOYD
RTRUE
2019-04-14 23:11:30 +03:00
?CCL226: CALL UNTOUCHABLE?,FLOYD
ZERO? STACK /?CND224
2019-04-14 23:09:56 +03:00
CALL CANT-REACH,FLOYD
RTRUE
2019-04-14 23:11:30 +03:00
?CND224: SET 'C-ELAPSED,30
2019-04-14 23:09:16 +03:00
CALL QUEUE,I-FLOYD,1
2019-04-14 23:09:56 +03:00
PRINTI "You play with Floyd for several centichrons until you"
MUL ROBOT-EVILNESS,15
SUB STACK,135 >?TMP1
RANDOM 100
2019-04-14 23:11:30 +03:00
LESS? ?TMP1,STACK /?CCL230
2019-04-14 23:09:56 +03:00
PRINTR " win a game. Floyd gets angry, accuses you of cheating, and kicks you painfully in the shin."
2019-04-14 23:11:30 +03:00
?CCL230: PRINTR "'re completely winded. Floyd pokes at you gleefully. ""C'mon! Let's play some more!"""
?CCL223: EQUAL? PRSA,V?LISTEN \?CCL232
2019-04-14 23:09:16 +03:00
PRINTR "Floyd is babbling about this and that."
2019-04-14 23:11:30 +03:00
?CCL232: EQUAL? PRSA,V?TAKE \?CCL234
EQUAL? PRSO,FLOYD \?CCL234
FSET? HERE,WEIGHTLESSBIT \?CCL239
2019-04-14 23:09:16 +03:00
PRINTR "Sans gravity, you easily pick up Floyd. ""Oh, boy! Zero-Gee Polo,"" he yells, wriggling away and bounding off several walls."
2019-04-14 23:11:30 +03:00
?CCL239: FSET? FLOYD,TOUCHBIT \FALSE
2019-04-14 23:09:56 +03:00
SET 'FLOYD-TRYTAKEN,TRUE-VALUE
2019-04-14 23:09:16 +03:00
PRINTR "You manage to lift Floyd a few centimeters, but he's too heavy and you drop him suddenly. Floyd gives a surprised squeal and moves a respectable distance away."
2019-04-14 23:11:30 +03:00
?CCL234: EQUAL? PRSA,V?MUNG,V?KILL \?CCL243
2019-04-14 23:09:16 +03:00
PRINTR "Floyd starts dashing around the room. ""Oh boy oh boy oh boy! I haven't played Chase and Tag for years! You be It! Nah, nah!"""
2019-04-14 23:11:30 +03:00
?CCL243: EQUAL? PRSA,V?SHAKE,V?KICK \?CCL245
GRTR? ROBOT-EVILNESS,13 \?CCL248
2019-04-14 23:09:56 +03:00
PRINTR """What the krip do you think you're doing? How you'd like it if Floyd treated you that way, you stupid trot-brain."""
2019-04-14 23:11:30 +03:00
?CCL248: PRINTR """Why you do that?"" Floyd whines. ""I think a wire now shaken loose."" He goes off into a corner and sulks."
?CCL245: EQUAL? PRSA,V?OPEN,V?CLEAN,V?SEARCH /?CTR249
EQUAL? PRSA,V?TICKLE \?CCL250
?CTR249: PRINTR "Floyd giggles and pushes you away. ""You're tickling Floyd!"" He clutches at his side panels, laughing hysterically. Oil drops stream from his eyes."
?CCL250: EQUAL? PRSA,V?PUT,V?GIVE \?CCL254
EQUAL? PRSI,FLOYD \?CCL254
EQUAL? PRSO,TAFFY,GRAY-GOO,ORANGE-GOO /?CTR258
EQUAL? PRSO,NECTAR,SOUP \?CCL259
?CTR258: PRINTR "Floyd looks at the goo. ""Yech! Got any Number Seven Heavy Grease?"""
?CCL259: EQUAL? PRSO,LEASH \?CCL263
2019-04-14 23:09:16 +03:00
CALL FLOYD-TAKE-LEASH
RSTACK
2019-04-14 23:11:30 +03:00
?CCL263: EQUAL? PRSO,OSTRICH-NIP \?CCL265
2019-04-14 23:09:16 +03:00
PRINTR """Phew!"" says Floyd, holding his nose and handing it back."
2019-04-14 23:11:30 +03:00
?CCL265: CALL CCOUNT,FLOYD
GRTR? STACK,3 /?CTR266
EQUAL? PRSO,SPACESUIT,OSTRICH-NIP /?CTR266
EQUAL? PRSO,EXPLOSIVE,TIMER,DETONATOR /?CTR266
FSET? PRSO,CONTBIT /?CTR266
2019-04-14 23:09:16 +03:00
RANDOM 100
2019-04-14 23:11:30 +03:00
LESS? 35,STACK /?CCL267
?CTR266: MOVE PRSO,HERE
2019-04-14 23:09:16 +03:00
PRINTI "Floyd examines the "
PRINTD PRSO
PRINTR ", shrugs, and drops it."
2019-04-14 23:11:30 +03:00
?CCL267: MOVE PRSO,FLOYD
2019-04-14 23:09:16 +03:00
PRINTR """Neat!"" exclaims Floyd. He thanks you profusely."
2019-04-14 23:11:30 +03:00
?CCL254: EQUAL? PRSA,V?SHOW \?CCL274
EQUAL? FLOYD,PRSI \?CCL274
2019-04-14 23:09:16 +03:00
SET 'AWAITING-REPLY,3
ADD C-ELAPSED,2
CALL QUEUE,I-REPLY,STACK
2019-04-14 23:09:56 +03:00
PRINTI "Floyd looks over"
CALL TPRINT-PRSO
2019-04-14 23:09:16 +03:00
PRINTR ". ""Can you play any games with it?"" he asks."
2019-04-14 23:11:30 +03:00
?CCL274: EQUAL? PRSA,V?HUG,V?TOUCH \?CCL278
2019-04-14 23:09:16 +03:00
PRINTR "Floyd gives a contented sigh."
2019-04-14 23:11:30 +03:00
?CCL278: EQUAL? PRSA,V?SMELL \FALSE
2019-04-14 23:09:16 +03:00
PRINTR "Floyd smells faintly of ozone and light machine oil."
2019-04-14 23:11:30 +03:00
?CCL203: EQUAL? PRSA,V?OFF,V?ON \?CCL282
ZERO? FLOYD-SHOT /?CCL282
PRINTR "The switch crumbles in your hand; it looks like Floyd's headed for that big Robot Pool in the sky..."
?CCL282: EQUAL? PRSA,V?ON \?CCL286
CALL QUEUE,I-FLOYD,-1
2019-04-14 23:09:16 +03:00
SET 'FLOYD-SPOKE,TRUE-VALUE
FSET FLOYD,ACTORBIT
FSET FLOYD,ACTIVEBIT
FSET FLOYD,TOUCHBIT
PRINTI "Floyd jumps to his feet"
PRINT HOPPING-MAD
CRLF
RTRUE
2019-04-14 23:11:30 +03:00
?CCL286: EQUAL? PRSA,V?OFF \?CCL288
2019-04-14 23:09:16 +03:00
PRINTR "Floyd isn't on."
2019-04-14 23:11:30 +03:00
?CCL288: EQUAL? PRSA,V?TELL \?CCL290
ZERO? FLOYD-SHOT \?CCL290
2019-04-14 23:09:16 +03:00
PRINTI "Floyd isn't that great a listener even when he's on..."
CRLF
CALL STOP
RSTACK
2019-04-14 23:11:30 +03:00
?CCL290: EQUAL? PRSA,V?OPEN,V?SEARCH \FALSE
2019-04-14 23:09:16 +03:00
PRINTR "You search the robot's compartments and discover a crayon, a paddle ball set, and finally, a photo of yourself. On the back, in crayon, in Floyd's childish scrawl, is the inscription, ""Floyds frend."" Touched, you return everything to the compartments where you found them."
.FUNCT DESCRIBE-FLOYD,EXAMINING=0
2019-04-14 23:09:56 +03:00
FSET? FLOYD,TOUCHBIT /?CCL3
2019-04-14 23:09:16 +03:00
PRINT YOU-CANT
PRINTI "see the robot in the third bin very well, because he's crouched in the corner. He's a short robot, and he seems to be playing marbles."
RTRUE
2019-04-14 23:09:56 +03:00
?CCL3: EQUAL? HERE,ROBOT-POOL \?CCL5
ZERO? ROBOT-PICKED \?CCL5
2019-04-14 23:09:16 +03:00
PRINTI "With unconcealed excitement, Floyd is hopping around in bin number three."
RTRUE
2019-04-14 23:09:56 +03:00
?CCL5: EQUAL? HERE,ROBOT-POOL \?CCL9
EQUAL? ROBOT-PICKED,FLOYD /?CCL9
2019-04-14 23:09:16 +03:00
PRINTI "Floyd sits dejectedly in bin three."
RTRUE
2019-04-14 23:09:56 +03:00
?CCL9: IN? PLATO,HERE \?CCL13
ZERO? EXAMINING \?CCL13
2019-04-14 23:09:16 +03:00
PRINTI "Plato and Floyd are both here."
FSET? FLOYD,ACTIVEBIT /TRUE
PRINTC 32
PRINT FLOYD-OFF-DESC
RTRUE
2019-04-14 23:09:56 +03:00
?CCL13: EQUAL? HERE,FACTORY \?CCL19
2019-04-14 23:09:16 +03:00
PRINTI "Floyd is "
2019-04-14 23:09:56 +03:00
ZERO? FLOYD-SHOT /?CCL22
2019-04-14 23:09:16 +03:00
PRINTI "ly"
2019-04-14 23:09:56 +03:00
JUMP ?CND20
?CCL22: PRINTI "stand"
?CND20: PRINTI "ing between you and the pyramid, "
ZERO? FLOYD-SHOT /?CCL25
2019-04-14 23:09:16 +03:00
PRINTI "seriously damaged by zapgun fire."
RTRUE
2019-04-14 23:09:56 +03:00
?CCL25: PRINTI "his face so contorted by hate as to be almost unrecognizable. You also wonder where he picked up that black eye patch."
2019-04-14 23:09:16 +03:00
RTRUE
2019-04-14 23:09:56 +03:00
?CCL19: FSET? FLOYD,ACTIVEBIT /?CCL27
2019-04-14 23:09:16 +03:00
PRINT FLOYD-OFF-DESC
RTRUE
2019-04-14 23:09:56 +03:00
?CCL27: ZERO? FLOYD-ANGUISHED /?CCL29
2019-04-14 23:09:16 +03:00
PRINTI "Floyd is lying on the floor, sobbing."
RTRUE
2019-04-14 23:09:56 +03:00
?CCL29: ZERO? EXAMINING /?CCL31
2019-04-14 23:09:16 +03:00
PRINTI "Floyd is a multi-purpose robot with slightly-crossed eyes and a lopsided grin."
RTRUE
2019-04-14 23:09:56 +03:00
?CCL31: PRINTI "Floyd is here, also looking around the room."
2019-04-14 23:09:16 +03:00
RTRUE
.FUNCT FLOYD-TAKE-LEASH
2019-04-14 23:09:56 +03:00
ZERO? HANGING-IN-AIR /?CCL3
2019-04-14 23:09:16 +03:00
PRINTR """Floyd can't until you let go!"""
2019-04-14 23:09:56 +03:00
?CCL3: PRINTR "Floyd grabs the leash and gets pulled up into the air. ""Wheee!"" Then his grip slips and he clatters to the deck. ""Oops! More dents!"""
2019-04-14 23:09:16 +03:00
2019-04-14 23:11:30 +03:00
.FUNCT MOVE-FLOYD-TO-FACTORY
MOVE FLOYD,FACTORY
EQUAL? HERE,EAST-JUNCTION,LEVEL-FIVE \?CCL3
2019-04-14 23:09:16 +03:00
PUSH SOUTH-CONNECTION
2019-04-14 23:11:30 +03:00
JUMP ?CND1
?CCL3: EQUAL? HERE,SOUTH-JUNCTION,NORTH-JUNCTION \?CCL5
2019-04-14 23:09:16 +03:00
PUSH EAST-CONNECTION
2019-04-14 23:11:30 +03:00
JUMP ?CND1
?CCL5: RANDOM 100
LESS? 25,STACK /?CCL7
2019-04-14 23:09:16 +03:00
PUSH SOUTH-JUNCTION
2019-04-14 23:11:30 +03:00
JUMP ?CND1
?CCL7: RANDOM 100
LESS? 33,STACK /?CCL9
2019-04-14 23:09:16 +03:00
PUSH EAST-JUNCTION
2019-04-14 23:11:30 +03:00
JUMP ?CND1
?CCL9: RANDOM 100
LESS? 50,STACK /?CCL11
2019-04-14 23:09:16 +03:00
PUSH NORTH-JUNCTION
2019-04-14 23:11:30 +03:00
JUMP ?CND1
?CCL11: PUSH LEVEL-FIVE
?CND1: CALL ROB,FLOYD,STACK
2019-04-14 23:09:16 +03:00
MOVE STUN-GUN,FLOYD
CALL DEQUEUE,I-FLOYD
CALL DEQUEUE,I-ROBOT-EVILNESS
2019-04-14 23:11:30 +03:00
RSTACK
2019-04-14 23:09:16 +03:00
.FUNCT HELEN-F
2019-04-14 23:09:56 +03:00
EQUAL? HELEN,WINNER \?CCL3
EQUAL? PRSA,V?HELLO \?CCL6
2019-04-14 23:09:16 +03:00
PRINTR """Mutual, I'm sure."""
2019-04-14 23:09:56 +03:00
?CCL6: EQUAL? PRSA,V?FOLLOW,V?WALK \?CCL8
2019-04-14 23:09:16 +03:00
PRINTR """I'm supposta stay with any human I'm assigned to."""
2019-04-14 23:09:56 +03:00
?CCL8: PRINTI "You've strayed too far from simple form-sorting to interest Helen."
2019-04-14 23:09:16 +03:00
CRLF
CALL STOP
RSTACK
2019-04-14 23:09:56 +03:00
?CCL3: EQUAL? ROBOT-PICKED,HELEN /?CCL10
CALL TOUCHING?,HELEN
ZERO? STACK /?CCL10
CALL CANT-REACH,HELEN
RSTACK
?CCL10: EQUAL? PRSA,V?GIVE \?CCL14
EQUAL? PRSO,CLASS-THREE-SPACECRAFT-ACTIVATION-FORM,ROBOT-USE-AUTHORIZATION-FORM,ASSIGNMENT-COMPLETION-FORM \?CCL14
2019-04-14 23:09:16 +03:00
CALL CONFETTI,PRSO
RSTACK
2019-04-14 23:09:56 +03:00
?CCL14: EQUAL? PRSA,V?OPEN,V?ON,V?OFF \?CCL18
2019-04-14 23:11:30 +03:00
CALL PERFORM,PRSA,PLATO
RTRUE
2019-04-14 23:09:56 +03:00
?CCL18: EQUAL? PRSA,V?PICK \FALSE
2019-04-14 23:09:16 +03:00
CALL PICK-ROBOT
RSTACK
.FUNCT REX-F
2019-04-14 23:09:56 +03:00
EQUAL? REX,WINNER \?CCL3
EQUAL? PRSA,V?HELLO \?CCL6
2019-04-14 23:09:16 +03:00
PRINTR """Yo."""
2019-04-14 23:09:56 +03:00
?CCL6: EQUAL? PRSA,V?FOLLOW,V?WALK \?CCL8
PRINTI """I'll follow youse "
EQUAL? REX,ROBOT-PICKED \?CCL11
PRINTI "since I been"
JUMP ?CND9
?CCL11: PRINTI "if I gets"
?CND9: PRINTR " assigned ta youse."""
?CCL8: PRINTI "Rex merely looks confused."
2019-04-14 23:09:16 +03:00
CRLF
CALL STOP
RSTACK
2019-04-14 23:09:56 +03:00
?CCL3: EQUAL? ROBOT-PICKED,REX /?CCL13
CALL TOUCHING?,REX
ZERO? STACK /?CCL13
CALL CANT-REACH,REX
RSTACK
?CCL13: EQUAL? PRSA,V?OPEN,V?ON,V?OFF \?CCL17
2019-04-14 23:11:30 +03:00
CALL PERFORM,PRSA,PLATO
RTRUE
2019-04-14 23:09:56 +03:00
?CCL17: EQUAL? PRSA,V?PICK \FALSE
2019-04-14 23:09:16 +03:00
CALL PICK-ROBOT
RSTACK
.FUNCT I-OTHER-ROBOT
IN? ROBOT-PICKED,HERE /FALSE
MOVE ROBOT-PICKED,HERE
2019-04-14 23:09:56 +03:00
EQUAL? HERE,CARGO-BAY-ENTRANCE \?CCL6
EQUAL? ROBOT-PICKED,REX \?CCL6
2019-04-14 23:11:30 +03:00
CALL JIGS-UP,STR?214
2019-04-14 23:09:16 +03:00
RSTACK
2019-04-14 23:09:56 +03:00
?CCL6: PRINTR " Helen obediently follows you."
2019-04-14 23:09:16 +03:00
.FUNCT CONFETTI,FORM-NAME
REMOVE FORM-NAME
PRINTI "In a spasm of vocational enthusiasm, Helen tries to burst and decollate your "
PRINTD FORM-NAME
PRINTR ", leaving nothing but some useless confetti."
.FUNCT PICK-ROBOT
2019-04-14 23:09:56 +03:00
EQUAL? PRSO,ROBOT-PICKED \?CCL3
2019-04-14 23:09:16 +03:00
PRINT SENILITY-STRIKES
RTRUE
2019-04-14 23:09:56 +03:00
?CCL3: ZERO? ROBOT-PICKED /?CCL5
2019-04-14 23:09:16 +03:00
PRINTI "You already picked "
PRINTD ROBOT-PICKED
PRINT PERIOD-CR
RTRUE
2019-04-14 23:09:56 +03:00
?CCL5: PRINTR "Use the automated robot selection equipment."
2019-04-14 23:09:16 +03:00
.FUNCT CARGO-BAY-F,RARG
EQUAL? RARG,M-LOOK \FALSE
2019-04-14 23:09:56 +03:00
PRINTI "This huge airlock is essentially a giant loading dock, where truckloads of forms arrive from various printing planets throughout the sector and are immediately distributed throughout the administrative deck. The only exit on foot is back the way you came. A "
PRINTD SPACETRUCK-OBJECT
PRINTI ", its hatch "
2019-04-14 23:09:16 +03:00
CALL OPEN-CLOSED,SPACETRUCK-HATCH
PRINTI ", waits in the cargo bay."
RTRUE
.FUNCT SPACETRUCK-OBJECT-F
2019-04-14 23:09:56 +03:00
EQUAL? PRSA,V?WALK-TO,V?ENTER \?CCL3
EQUAL? HERE,SPACETRUCK \?CCL6
2019-04-14 23:09:16 +03:00
PRINT LOOK-AROUND
RTRUE
2019-04-14 23:09:56 +03:00
?CCL6: CALL DO-WALK,P?IN
2019-04-14 23:09:16 +03:00
RSTACK
2019-04-14 23:09:56 +03:00
?CCL3: EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?LEAVE \?CCL8
EQUAL? HERE,SPACETRUCK \?CCL11
2019-04-14 23:09:16 +03:00
CALL DO-WALK,P?OUT
RSTACK
2019-04-14 23:09:56 +03:00
?CCL11: PRINT LOOK-AROUND
2019-04-14 23:09:16 +03:00
RTRUE
2019-04-14 23:09:56 +03:00
?CCL8: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL13
2019-04-14 23:11:30 +03:00
CALL PERFORM,PRSA,SPACETRUCK-HATCH
RTRUE
2019-04-14 23:09:56 +03:00
?CCL13: EQUAL? PRSA,V?EXAMINE \?CCL15
EQUAL? HERE,SPACETRUCK \?CCL18
2019-04-14 23:09:16 +03:00
CALL V-LOOK
RSTACK
2019-04-14 23:09:56 +03:00
?CCL18: CALL PERFORM,V?EXAMINE,SPACETRUCK-HATCH
2019-04-14 23:09:16 +03:00
RTRUE
2019-04-14 23:09:56 +03:00
?CCL15: EQUAL? PRSA,V?LOOK-INSIDE \?CCL20
EQUAL? HERE,CARGO-BAY,DOCKING-BAY-2 \?CCL20
CALL PERFORM,V?LOOK-INSIDE,WINDOW
RTRUE
?CCL20: EQUAL? PRSA,V?ON,V?LAUNCH \?CCL24
EQUAL? HERE,SPACETRUCK /?CCL27
2019-04-14 23:09:16 +03:00
PRINTR "You're not even in it!"
2019-04-14 23:09:56 +03:00
?CCL27: GRTR? SPACETRUCK-COUNTER,0 \?CCL29
2019-04-14 23:09:16 +03:00
PRINT SENILITY-STRIKES
RTRUE
2019-04-14 23:09:56 +03:00
?CCL29: PRINTR "That's what the slot and keypad are for!"
?CCL24: EQUAL? PRSA,V?SEARCH \FALSE
2019-04-14 23:09:16 +03:00
CALL PERFORM,V?SEARCH,GLOBAL-ROOM
RTRUE
.FUNCT SPACETRUCK-F,RARG
2019-04-14 23:09:56 +03:00
EQUAL? RARG,M-ENTER \?CCL3
FSET? SPACETRUCK,TOUCHBIT /?CCL3
CALL QUEUE,I-THERMOS,100
RSTACK
?CCL3: EQUAL? RARG,M-LOOK \?CCL7
PRINTI "This is a twelve-meter rig, the largest Class Three spacecraft made, with seats for a pilot and copilot. Below the viewport is a space band radio, a red button for activating the emergency beacon, plus a slot and keypad for controlling the autopilot. The hatch is "
2019-04-14 23:09:16 +03:00
CALL OPEN-CLOSED,SPACETRUCK-HATCH
PRINTI " and the rear of the truck is empty of cargo."
RTRUE
2019-04-14 23:09:56 +03:00
?CCL7: EQUAL? RARG,M-END \FALSE
2019-04-14 23:09:16 +03:00
IN? HELEN,HERE \FALSE
CALL VISIBLE?,CLASS-THREE-SPACECRAFT-ACTIVATION-FORM
ZERO? STACK /FALSE
PRINTI " "
CALL CONFETTI,CLASS-THREE-SPACECRAFT-ACTIVATION-FORM
RSTACK
.FUNCT SPACETRUCK-EXIT-F
2019-04-14 23:09:56 +03:00
FSET? SPACETRUCK-HATCH,OPENBIT /?CCL3
2019-04-14 23:09:16 +03:00
CALL THIS-IS-IT,SPACETRUCK-HATCH
2019-04-14 23:11:30 +03:00
CALL DO-FIRST,STR?215
2019-04-14 23:09:16 +03:00
RFALSE
2019-04-14 23:09:56 +03:00
?CCL3: EQUAL? SPACETRUCK-COUNTER,-1 \?CCL5
2019-04-14 23:09:16 +03:00
RETURN CARGO-BAY
2019-04-14 23:09:56 +03:00
?CCL5: EQUAL? SPACETRUCK-COUNTER,5 \FALSE
2019-04-14 23:09:16 +03:00
EQUAL? COURSE-PICKED,RIGHT-COURSE \FALSE
RETURN DOCKING-BAY-2
.FUNCT SPACETRUCK-HATCH-F
EQUAL? PRSA,V?OPEN \FALSE
GRTR? SPACETRUCK-COUNTER,-1 \FALSE
2019-04-14 23:09:56 +03:00
EQUAL? SPACETRUCK-COUNTER,5 \?CND6
2019-04-14 23:09:16 +03:00
EQUAL? COURSE-PICKED,RIGHT-COURSE /FALSE
2019-04-14 23:09:56 +03:00
?CND6: PRINT YOU-CANT
2019-04-14 23:09:16 +03:00
PRINTR "open the hatch in deep space!"
.FUNCT PILOT-SEAT-F,VARG=0
EQUAL? VARG,M-ENTER \FALSE
IN? FLOYD,HERE \FALSE
FSET? FLOYD,ACTIVEBIT \FALSE
PRINTI " Floyd clambers into the "
2019-04-14 23:09:56 +03:00
IN? PROTAGONIST,PILOT-SEAT \?CCL9
2019-04-14 23:09:16 +03:00
MOVE FLOYD,COPILOT-SEAT
PRINTI "co"
2019-04-14 23:09:56 +03:00
JUMP ?CND7
?CCL9: MOVE FLOYD,PILOT-SEAT
?CND7: PRINTD PILOT-SEAT
2019-04-14 23:11:30 +03:00
LOC FLOYD
EQUAL? STACK,PILOT-SEAT,COPILOT-SEAT \?CND10
PRINTI ", his feet dangling a few centimeters short of the floor"
?CND10: PRINTC 46
2019-04-14 23:09:16 +03:00
EQUAL? SPACETRUCK-COUNTER,-1 \TRUE
SET 'FLOYD-SPOKE,TRUE-VALUE
SET 'AWAITING-REPLY,2
ADD C-ELAPSED,2
CALL QUEUE,I-REPLY,STACK
2019-04-14 23:09:56 +03:00
PRINTI " ""Let Floyd launch the "
PRINTD SPACETRUCK-OBJECT
PRINTI "? Please? Floyd has not crashed a truck in over two weeks!"""
2019-04-14 23:09:16 +03:00
RTRUE
.FUNCT GENERIC-SEAT-F
EQUAL? PRSA,V?DISEMBARK,V?EXIT,V?LEAVE \FALSE
LOC PROTAGONIST
EQUAL? STACK,PILOT-SEAT,COPILOT-SEAT \FALSE
LOC PROTAGONIST
RSTACK
.FUNCT RADIO-F
2019-04-14 23:09:56 +03:00
EQUAL? PRSA,V?LISTEN \?CCL3
FSET? RADIO,ACTIVEBIT \?CCL6
2019-04-14 23:09:16 +03:00
PRINTR """Hiss. Crackle."""
2019-04-14 23:09:56 +03:00
?CCL6: PRINTR "The radio isn't on!"
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL8
2019-04-14 23:09:16 +03:00
PRINTI "The radio seems to be damaged, because the microphone is missing. "
RFALSE
2019-04-14 23:09:56 +03:00
?CCL8: EQUAL? PRSA,V?ON \?CCL10
2019-04-14 23:09:16 +03:00
CALL QUEUE,I-RADIO,-1
RFALSE
2019-04-14 23:09:56 +03:00
?CCL10: EQUAL? PRSA,V?OFF \FALSE
2019-04-14 23:09:16 +03:00
CALL DEQUEUE,I-RADIO
RFALSE
.FUNCT RED-BUTTON-F
EQUAL? PRSA,V?PUSH \FALSE
2019-04-14 23:09:56 +03:00
EQUAL? SPACETRUCK-COUNTER,5 \?CCL6
2019-04-14 23:11:30 +03:00
CALL RECORDING,STR?219
2019-04-14 23:09:16 +03:00
RSTACK
2019-04-14 23:09:56 +03:00
?CCL6: PRINTR "You're not in trouble! Misuse of the emergency message beacon is a court-martial offense!"
2019-04-14 23:09:16 +03:00
.FUNCT I-SPACETRUCK
CALL QUEUE,I-SPACETRUCK,-1
INC 'SPACETRUCK-COUNTER
PRINTI " "
2019-04-14 23:09:56 +03:00
ZERO? SPACETRUCK-COUNTER \?CCL3
2019-04-14 23:09:16 +03:00
PRINTI "The truck roars out of the cargo bay"
2019-04-14 23:09:56 +03:00
EQUAL? HERE,CARGO-BAY \?CCL6
2019-04-14 23:11:30 +03:00
CALL JIGS-UP,STR?220
2019-04-14 23:09:16 +03:00
RSTACK
2019-04-14 23:09:56 +03:00
?CCL6: FSET? SPACETRUCK-HATCH,OPENBIT \?CCL8
2019-04-14 23:11:30 +03:00
CALL JIGS-UP,STR?221
2019-04-14 23:09:16 +03:00
RSTACK
2019-04-14 23:09:56 +03:00
?CCL8: LOC PROTAGONIST
EQUAL? STACK,PILOT-SEAT,COPILOT-SEAT \?CCL10
FSET SPACETRUCK,WEIGHTLESSBIT
2019-04-14 23:09:16 +03:00
PRINTR ", slowly picking up speed. You settle back for the long trip."
2019-04-14 23:11:30 +03:00
?CCL10: CALL JIGS-UP,STR?222
2019-04-14 23:09:16 +03:00
RSTACK
2019-04-14 23:09:56 +03:00
?CCL3: EQUAL? SPACETRUCK-COUNTER,1 \?CCL12
2019-04-14 23:11:30 +03:00
CALL RECORDING,STR?223
2019-04-14 23:09:16 +03:00
RSTACK
2019-04-14 23:09:56 +03:00
?CCL12: EQUAL? SPACETRUCK-COUNTER,2 \?CCL14
2019-04-14 23:09:16 +03:00
PRINTR "There is a moment of stillness as the rear engines cut out. The moment ends as the braking rockets in front roar to life."
2019-04-14 23:09:56 +03:00
?CCL14: EQUAL? SPACETRUCK-COUNTER,3 \?CCL16
2019-04-14 23:11:30 +03:00
CALL RECORDING,STR?224
2019-04-14 23:09:16 +03:00
RSTACK
2019-04-14 23:09:56 +03:00
?CCL16: EQUAL? SPACETRUCK-COUNTER,4 \?CCL18
EQUAL? COURSE-PICKED,RIGHT-COURSE \?CCL21
2019-04-14 23:09:16 +03:00
PRINTI "A tiny star directly ahead grows brighter and resolves itself into a distant space station. The station grows rapidly larger as you hurtle towards it."
CRLF
CALL PERFORM,V?LOOK-INSIDE,WINDOW
PRINTR " With a final burst, the braking rockets bring you to a halt a few thousand meters from the station."
2019-04-14 23:09:56 +03:00
?CCL21: PRINTI "The forward braking rockets sputter off as the "
PRINTD SPACETRUCK-OBJECT
PRINTR " comes to a dead stop in space. There is no space station, or any other sign of human civilization, in sight."
?CCL18: EQUAL? SPACETRUCK-COUNTER,5 \FALSE
EQUAL? COURSE-PICKED,RIGHT-COURSE \?CCL26
FCLEAR SPACETRUCK,WEIGHTLESSBIT
2019-04-14 23:09:16 +03:00
CALL QUEUE,I-WELDER,-1
CALL QUEUE,I-FLOYD,-1
CALL QUEUE,I-PLATO,750
CALL QUEUE,I-ROBOT-EVILNESS,1000
MOVE PALLETS,SHIPPING-ROOM
ADD SCORE,5 >SCORE
PRINTI "The maneuvering thrusters kick on, nudging you toward the station. "
2019-04-14 23:11:30 +03:00
CALL RECORDING,STR?225
2019-04-14 23:09:16 +03:00
PRINTI " The truck glides into the docking bay, and your stomach flips as the bay's arti-grav field comes on. The truck settles the last few centimeters to the floor, the bay floods with air, and a voice whispers, ""Stationfall."" Through the viewport, you see no one to meet you. Odd."
CRLF
2019-04-14 23:09:56 +03:00
JUMP ?CND24
2019-04-14 23:11:30 +03:00
?CCL26: CALL RECORDING,STR?226
2019-04-14 23:09:16 +03:00
CALL QUEUE,I-SUFFOCATE,1970
2019-04-14 23:09:56 +03:00
?CND24: CALL DEQUEUE,I-SPACETRUCK
2019-04-14 23:09:16 +03:00
RSTACK
.FUNCT I-SUFFOCATE
2019-04-14 23:11:30 +03:00
CALL JIGS-UP,STR?227
2019-04-14 23:09:16 +03:00
RSTACK
2019-04-14 23:09:56 +03:00
.FUNCT FOOD-KIT-F,?TMP1
EQUAL? PRSA,V?EMPTY \?CCL3
FSET? FOOD-KIT,OPENBIT \?CCL3
LOC GRAY-GOO >?TMP1
LOC ORANGE-GOO
EQUAL? FOOD-KIT,?TMP1,STACK \?CCL3
CALL PERFORM,V?REMOVE,GRAY-GOO
RTRUE
?CCL3: EQUAL? PRSA,V?OPEN \FALSE
2019-04-14 23:09:16 +03:00
CALL IN-VACUUM?
ZERO? STACK /FALSE
2019-04-14 23:09:56 +03:00
LOC GRAY-GOO >?TMP1
LOC ORANGE-GOO
EQUAL? FOOD-KIT,?TMP1,STACK \FALSE
FSET FOOD-KIT,OPENBIT
CALL SPACE-FOOD
2019-04-14 23:09:16 +03:00
RSTACK
.FUNCT IN-VACUUM?
EQUAL? HERE,VACUUM-STORAGE /TRUE
EQUAL? HERE,AIRLOCK \FALSE
2019-04-14 23:09:56 +03:00
FSET? OUTER-AIRLOCK-DOOR,OPENBIT /TRUE
RFALSE
.FUNCT SPACE-LIQUID,OBJ
CALL VISIBLE?,OBJ
ZERO? STACK /FALSE
PRINTI " The "
EQUAL? OBJ,SOUP \?CCL6
PRINTI "soup"
JUMP ?CND4
?CCL6: EQUAL? OBJ,COFFEE \?CCL8
PRINTI "coffee"
JUMP ?CND4
?CCL8: PRINTI "nectar"
?CND4: PRINTI " boils away into the vacuum"
EQUAL? OBJ,SOUP \?CCL11
REMOVE SOUP
PRINT PERIOD-CR
2019-04-14 23:09:16 +03:00
RTRUE
2019-04-14 23:09:56 +03:00
?CCL11: CALL ANTI-LITTER,OBJ
RSTACK
2019-04-14 23:09:16 +03:00
.FUNCT SPACE-FOOD
REMOVE ORANGE-GOO
REMOVE GRAY-GOO
2019-04-14 23:09:56 +03:00
PRINTI "The food in the "
PRINTD FOOD-KIT
PRINTR " instantly crystallizes and drifts away."
.FUNCT THERMOS-F
EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTI "It's your basic insulated bottle, which hasn't changed much over the centuries. This one is plaid, with pictures of little robots all over it. "
RFALSE
2019-04-14 23:11:30 +03:00
?CCL3: EQUAL? PRSA,V?EMPTY,V?POUR \?CCL5
EQUAL? PRSO,THERMOS \?CCL5
IN? SOUP,THERMOS \?CCL5
CALL PERFORM,PRSA,SOUP,PRSI
RTRUE
?CCL5: EQUAL? PRSA,V?PUT \?CCL10
EQUAL? PRSI,THERMOS \?CCL10
EQUAL? PRSO,LARGE-BIT,SMALL-BIT,EXPLOSIVE /?CCL10
EQUAL? PRSO,MEDIUM-BIT /?CCL10
2019-04-14 23:09:56 +03:00
PRINTI "The neck of the Thermos is too narrow for"
CALL TRPRINT,PRSO
RSTACK
2019-04-14 23:11:30 +03:00
?CCL10: EQUAL? PRSA,V?OPEN \?CCL17
2019-04-14 23:09:56 +03:00
CALL IN-VACUUM?
2019-04-14 23:11:30 +03:00
ZERO? STACK /?CCL20
IN? SOUP,THERMOS \?CCL20
2019-04-14 23:09:56 +03:00
FSET THERMOS,OPENBIT
CALL SPACE-LIQUID,SOUP
RSTACK
2019-04-14 23:11:30 +03:00
?CCL20: ZERO? THERMOS-FILLED-WITH-GAS /FALSE
2019-04-14 23:09:56 +03:00
FSET THERMOS,OPENBIT
PRINTR "You open the thermos, releasing a puff of FREZONE (tm) gas."
2019-04-14 23:11:30 +03:00
?CCL17: EQUAL? PRSA,V?REACH-IN \FALSE
IN? SOUP,THERMOS \FALSE
CALL PERFORM,V?EXAMINE,SOUP
RTRUE
2019-04-14 23:09:56 +03:00
.FUNCT I-THERMOS
IN? SOUP,THERMOS /?CCL3
SET 'SOUP-WARMTH,0
RETURN SOUP-WARMTH
?CCL3: LESS? SOUP-WARMTH,0 \?CCL5
SET 'SOUP-WARMTH,0
RETURN SOUP-WARMTH
?CCL5: FSET? THERMOS,OPENBIT \?CCL8
PUSH 4
JUMP ?CND6
?CCL8: PUSH 1
?CND6: SUB SOUP-WARMTH,STACK >SOUP-WARMTH
CALL QUEUE,I-THERMOS,100
RSTACK
.FUNCT SOUP-F
EQUAL? PRSA,V?FIND \?CCL3
GET P-NAMW,0
EQUAL? STACK,W?FOOD \?CCL3
CALL PERFORM,V?SEARCH,GLOBAL-ROOM
RTRUE
?CCL3: EQUAL? PRSA,V?EAT \?CCL7
CALL ULTIMATELY-IN?,THERMOS
ZERO? STACK \?CCL7
CALL THIS-IS-IT,THERMOS
PRINT YNH
CALL TRPRINT,THERMOS
RSTACK
2019-04-14 23:11:30 +03:00
?CCL7: EQUAL? PRSA,V?EMPTY,V?POUR \?CCL11
REMOVE SOUP
CALL MESS,STR?229
PRINT PERIOD-CR
RTRUE
?CCL11: EQUAL? PRSA,V?TASTE,V?TOUCH,V?EXAMINE /?CCL13
EQUAL? PRSA,V?REACH-IN \FALSE
?CCL13: PRINTI "The soup seems to be "
2019-04-14 23:09:56 +03:00
CALL DESCRIBE-SOUP-TEMPERATURE
RSTACK
.FUNCT DESCRIBE-SOUP-TEMPERATURE
GRTR? SOUP-WARMTH,80 \?CCL3
PRINTI "steaming hot"
JUMP ?CND1
?CCL3: GRTR? SOUP-WARMTH,60 \?CCL5
PRINTI "quite hot"
JUMP ?CND1
?CCL5: GRTR? SOUP-WARMTH,40 \?CCL7
PRINTI "fairly hot"
JUMP ?CND1
?CCL7: GRTR? SOUP-WARMTH,20 \?CCL9
PRINTI "lukewarm"
JUMP ?CND1
?CCL9: GRTR? SOUP-WARMTH,0 \?CCL11
PRINTI "tepid"
JUMP ?CND1
?CCL11: PRINTI "on the cool side"
?CND1: PRINT PERIOD-CR
RTRUE
2019-04-14 23:09:16 +03:00
.FUNCT GOO-F
2019-04-14 23:09:56 +03:00
EQUAL? PRSA,V?EAT \?CCL3
2019-04-14 23:09:16 +03:00
CALL ULTIMATELY-IN?,FOOD-KIT,PROTAGONIST
2019-04-14 23:09:56 +03:00
ZERO? STACK \?CCL3
2019-04-14 23:09:16 +03:00
CALL THIS-IS-IT,FOOD-KIT
PRINT YNH
CALL TRPRINT,FOOD-KIT
RSTACK
2019-04-14 23:09:56 +03:00
?CCL3: EQUAL? PRSA,V?DROP,V?REMOVE,V?TAKE \?CCL7
EQUAL? PRSA,V?DROP \?CCL10
2019-04-14 23:09:16 +03:00
PRINTI "The goo, being gooey, sticks where it is"
2019-04-14 23:09:56 +03:00
JUMP ?CND8
?CCL10: EQUAL? PRSA,V?TAKE \?CND8
2019-04-14 23:09:16 +03:00
PRINTI "It would ooze through your fingers"
2019-04-14 23:09:56 +03:00
?CND8: PRINTI ". You'll have to eat it right from"
2019-04-14 23:09:16 +03:00
CALL TRPRINT,FOOD-KIT
RSTACK
2019-04-14 23:09:56 +03:00
?CCL7: EQUAL? PRSA,V?FIND \FALSE
2019-04-14 23:09:16 +03:00
GET P-NAMW,0
EQUAL? STACK,W?FOOD \FALSE
CALL PERFORM,V?SEARCH,GLOBAL-ROOM
RTRUE
.ENDI