From f9f770f8c72a10c2f2ac4317c5e0e01e779c2f5b Mon Sep 17 00:00:00 2001 From: historicalsource Date: Sat, 13 Apr 2019 22:26:27 -0400 Subject: [PATCH] Revision 15 (Original Source) --- README.md | 1 + actions.zil | 4266 +++++++++++++++++++++++++++++++++++++++++++++++++++ clock.zil | 60 + crufty.xzap | 22 + crufty.zil | 17 + dungeon.zil | 2409 +++++++++++++++++++++++++++++ emerg.zil | 279 ++++ load.zil | 54 + macros.zil | 86 ++ main.zil | 176 +++ parser.zil | 1178 ++++++++++++++ sf.zil | 54 + sffreq.xzap | 200 +++ syntax.zil | 517 +++++++ verbs.zil | 1380 +++++++++++++++++ 15 files changed, 10699 insertions(+) create mode 100644 README.md create mode 100644 actions.zil create mode 100644 clock.zil create mode 100644 crufty.xzap create mode 100644 crufty.zil create mode 100644 dungeon.zil create mode 100644 emerg.zil create mode 100644 load.zil create mode 100644 macros.zil create mode 100644 main.zil create mode 100644 parser.zil create mode 100644 sf.zil create mode 100644 sffreq.xzap create mode 100644 syntax.zil create mode 100644 verbs.zil diff --git a/README.md b/README.md new file mode 100644 index 0000000..2110963 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# starcross diff --git a/actions.zil b/actions.zil new file mode 100644 index 0000000..ed6a174 --- /dev/null +++ b/actions.zil @@ -0,0 +1,4266 @@ +"ACTIONS for + Interlogic SF Game + (c) Copyright 1981,1982 Infocom, Inc. All Rights Reserved +" + + + + + + "open.") + (T "closed.")>> + + + )>> + + + + + )>> + +> +> + +)) + + > + >)> + > + + ) + ( + > + )> + )> + + > + + )>) + (> + + )> + )>> + + + + )(T )> + ) + (> + ) + ( + + )(T )> + ) + ( + > + ) + (T + )>) + ( + )>> + + + ) + (ELSE + )>) + ( + + ) + (ELSE )>)>> + +)) + + + > + )>> + + + + ) + (T + + + )>)>> + + + + > + + ) + (T )> + + ) + (T )>) + (ELSE + )>> + + + + > + + ) + (T )> + + ) + (T )>) + (ELSE )>> + + + + > + + ) + (T )> + + ) + (T )>) + (ELSE )>> + + + )> + > + +> + +> + + ) + (ELSE + )>> + +> + + + )>> + +> +> +> + + + + + + > + > + + > + ) + (> + <==? ,DESTINATION ,MASS>> + ) + (ELSE + + )> + ) + (T )>> + +> +> +> +> +> + +)) + > + ,R-VALUE> + <==? ,THETA-VALUE> + <==? ,PHI-VALUE>> + >)> + >)> + >>> + + + > + > + .D> + > + > + > + ) + (ELSE )>)> + >)> + >>> + +;>>)) + ) + (ELSE )>> + + + ", theta is " N > + ", phi is " N > + ".\"" + CR>> + + + ) + (T )>) + ( + + > + )> + + ) + ( + > + ) + (,COMPUTER-ON + ) + (ELSE + )>) + (ELSE + + )>)>> + + ,SPACESHIP-QUARTERS) + (<==? ,PRSO ,P?EAST> ,SPACESHIP-STORES) + ( + ,SPACESHIP-AIRLOCK) + (T )>)>> + + + + >) + (ELSE + + )> + ) + ( + + + + T) + (ELSE CR>)> + )>> + +> + + + + )>> + + + + ) + (<==? ,HERE ,THRONE-ROOM> + )>)>> + +) "AUX" M) + #DECL ((OBJ) (M) ) + > + + ) + ( >> + ) + (.OBJ ) + ( + ) + (ELSE CR>)>> + +> + ) + (<==? .NOBJ ,WINNER> ) + (<==? .NOBJ ,ROOMS> )> + >> + + + ) + ( + ) + ( + )>> + + <==? ,PRSI ,GROUND>> + + ) + ( + )>> + +> + )>> + + + + + + >> + + >> + + >> + + >>> + ) + ( + + > + + + <>)>)>> + + + + ) + ( ) + ( + + ) + (ELSE )>) + ( + ) + ( + ) + ( + )>> + +> + )> + ) + (>> >)>>> + + ,HERE) + (ELSE + + >> + >) + (> + > + > + + + >> + + + ,OPENBIT>>> + > + + )>)>)>>)>> + + + + + + + )> + + <==? ,PRSO ,COURSE>>> + )> + + ) + (,ORBIT-MATCHED + + ) + (,COUNTDOWN + + ) + (,COURSE-SELECTED + + )> + + + ) + (ELSE + )>) + ( + + ) + ( + ) + (,DOCKED? + ) + (,COUNTDOWN + ) + (T <>)>) + ( + > + > + > + > + > + > + ) + ( + >> + ) + (,GOT-INSTRUCTIONS + > + + > + > " seconds +duration. I advise you to fasten your seat belt.\"" CR>) + (ELSE + )>) + ( + + + ) + (ELSE + + )>) + (,DOCKED? ) + ( + ) + (ELSE )>) + ( + + + ) + (ELSE )>) + ( ) + ( + + + ) + (>> + ) + (ELSE + )>) + ( + <==? ,PRSO ,MISSION-STATUS>> + + >> + ) + (,GIVE-UP + ) + (,DOCKED? + ) + ( + ) + ( + + + )> + ) + (,COUNTDOWN + ) + (,GOT-INSTRUCTIONS + ) + ( + <0? ,THETA-VALUE> + <0? ,PHI-VALUE>> + ) + (ELSE + + > + )> + > + )> + > + )> + )>) + ( <==? ,PRSO ,ALARM>> + + ) + (T + + > + )>) + ( + ) + ( <==? ,PRSO ,ME>> + ) + ( + ) + (ELSE + )>) + ( + ) + ( + ) + (ELSE + + )>) + ( + > + ) + (ELSE )>) + ( + ) + ( > + )>> + + + + + + + +> + +> + + + + + >) + (ELSE + + + + > + + )>> + +> + + + +> + + + > + + + )> + + >> + ) + (ELSE + CR>)>)> + + + ) + (<==? ,DESTINATION ,MASS> + + + > + ) + (ELSE + + )>) + (ELSE + + <==? ,DESTINATION ,MASS>> + + ) + (<==? ,TRIP-COUNT 4> + )>)> + >)>> + + +> + + + + 4>> CR>)> + > + ) + (ELSE >)>> + +> + +> + >>> + + + + ) + ( + ) + (ELSE + )> + +) + (ELSE + )>) + (ELSE + )> + > + +> + +> + + + + ) + (ELSE )>) + (> + ) + ( + ) + (ELSE + + )>) + ( + > + ) + (ELSE )>) + ( + + ) + (ELSE + + CR>)>) + ( + ) + (ELSE )>)>> + +> + +\ + + + + )>> + + + + + )> + > + +)) + + + ) + (,SEEN-MOUSE? + + ) + (ELSE + + )> + ) + ( + >> + + ) + (,MFOLLOW + ) + (ELSE + )>) + (ELSE )>) + ( + ) + ( > + > + + ) + ( + ) + ( + + )> + + + + ) + (ELSE )>) + ( + )>> + + + + + ) + (ELSE + + )> + > + + + +> +> +> +> + +) (HERE? ) + ROBBED?) + > + + > + ,MOUSE>> + >> + ) + (ELSE )>)> + + + + + )> + + )> + + )>)> + + + )> + + + + )>)> + .HERE?) + (> + ) + (ELSE )>) + ( > + > + + + + )>) + (.HERE? + + )>)>) + (ELSE + + ,MOUSE>> + > + + + )>) + ( ,LIT> + ) + (,LIT + + + )> + > + T) + (.ROBBED? + )>) + (.HERE? + )>)> + > + +) (P 0) T L (D <>)) + > ,LOW-DIRECTION> + + + )> + ) + ( + + )> + ) + (ELSE + )>)> + ) + (ELSE + > + > + + + >>> + > + + )> + >)>)>)>>> + +;> + + + )> + > + + + ) + ( )>> + + + ) + ( + )>> + + + + + + + + + )> + ) + ( + ) + ( + ) + ( + + ) + (<==? ,TRASH-COUNT 0> + + ) + ( + + + + ) + (ELSE + > + )>)>> + + + ) + ( <==? ,PRSI ,PSEUDO-OBJECT>> + + ) + ( + )>> + +\ + +"SUBTITLE SPIDER" + + + >)>> + + + >)>> + + + ) + ( + )>> + +> + >> + )> + > + + + ) + ( + + ) + (ELSE + )>) + (ELSE + + CR>)>) + (ELSE >)>> + +> + +> +> + + )>> + + + + + )> + + ) + ( + ) + ( <==? ,PRSO ,TAPE-PLAYER>> + + + ) + ( + ) + ( + ) + (ELSE + )>) + ( CR>) + ( + ) + ( + ) + ( + + + ) + (ELSE > )>) + ( + )>) + ( + + + + + + + + ) + (ELSE + )>)>> + + + + + > + +\ + +"SUBTITLE FORCE FIELD AND TRANSPORTER DISKS" + + + + + + )>) + (<==? .N 2> ) + (<==? .N 3> ) + (T + )> + > + +) "AUX" F) + + + + + 0>)> + ) + ( + ) + ( + ) + ( + ) + ( + > + >> + ) + (<==? ,FF-STRENGTH 4> + ) + (,UNDER-GLOBE + ) + ( + + ) + (ELSE )> + + + ) + (ELSE )>) + ( + > ) + (> + + ) + (ELSE + )>) + (ELSE + + )>) + ( + + > + )> + + >)> + + + + + ) + ( + >> + + ) + (ELSE + + )>)> + + + + + + ; + + + > + )> + )>)>> + + +> +> + FF-BOWL-2 FF-BOWL-3 FF-BOWL-4>> +> +> + + + + + + )> + ) + ( + + <==? ,PRSO ,UNDER-GLOBE>> + > + )>> + + + + >> + )>> + + + "." CR>) + ( <==? ,PRSI ,INTNUM>> + + ) + ( > + ) + (ELSE + + ) + (ELSE )> + + + + ,WAS-UNDER-GLOBE> + + + >) + ( ,UNDER-GLOBE> + + + >)> + + + >> + + + ) + (ELSE + )> + )>)>> + +> + +) "AUX" DEST RO RI) + >> + + + <==? ,WAS-UNDER-GLOBE ,RED-DISK>>> + )> + > .DEST>> + >> + >)> + + + + >> + + )> + )> + + )> + + > + ,ROOMS>> + + + >)> + ) + (ELSE + )>)> + > + + + +> ,FF-ROOM>> + )> + > ,FF-ROOM>> + + + + ;"Kludge: make DROP work" + ) + (ELSE + )> + )> + > + + > + + )> + > + ) + ( + + + > + + + ) + ( + > + > + ) + ( + ) + ( ) + (ELSE + + > + > + > + + + )> + + + + + )> + + + ) + (ELSE + + )>)>) + ( + > + > + + ) + ( + > )>)> + + + > + ) + ( + + + + > + + + + + )> + ) + (ELSE + )>) + (ELSE + + + + + + )> + + > + > + + >> + + <==? ,P-NUMBER 4>> + "."> + + )> + ) + (T + )>) + (ELSE + )>)>)>> + +"DISKS-OFF? returns true if disks can't work" + +> + > + >> + ) + ( > + ) + ( > + ) + ( ,RLANDBIT>> + >> + )>> + + ;"this can't happen, of course" + ) + ( )> + >>> + + + ) + (ELSE )>> + + ,BLUE-DISK) + (ELSE ,RED-DISK)>> + +> + + + ) + ( > + ) + ( + )>> + + + ) + ( > + ) + ( + )>> + +\ + +> + ) + (,DOCKED? + + + ,RED-DOCK) + (ELSE ,DEEP-SPACE)>> + + + ", and the outer door is " + ". Neither door has a viewport."> + + )> + ) + (<==? .RARG ,M-BEG> + <==? ,PRSO ,AIRLOCK>> + + ) + (<==? ,HERE ,DEEP-SPACE> + ) + (ELSE )> + ) + ( + <==? ,HERE ,SPACESHIP-BRIDGE>> + + )>)>> + + + + ) + (<==? .RARG ,M-LOOK> + )>> + + + )>> + + + )>> + + + + ) + (<==? .RARG ,M-LOOK> + + )> + )>> + + ", and the outer door is " + "." CR>> + + "open")(T "closed")>> + + + + + ) + (ELSE )>) + (<==? ,PRSO ,AIRLOCK-INNER> + ) + (ELSE )> + + ) + ( + > + + ) + (<==? ,PRSO ,AIRLOCK-INNER> + + + ) + ( + ) + ( + ) + (ELSE + )>) + ( + ) + (> + ) + (ELSE + )>) + ( ;"must be outer door, then" + + ) + ( + ) + (ELSE + + + + )> + + + )> + T)>) + (> + ) + (ELSE + + )>) + ( + > + ) + (<==? ,PRSO ,AIRLOCK-INNER> + ) + (,DOCKED? + ) + (ELSE )>)>> + + + > + + + > + +)) + + "open") + (T "closed")>> + ) + (ELSE + )> + + ) + (<==? .RARG ,M-END> + > + + + ) + (ELSE )> + )>) + (<==? .RARG ,M-BEG> + ) + ( + > + + + ) + (ELSE + )>)>)>> + +)) + + ) + (<==? .RARG ,M-BEG> + + ) + ( > + )>)>> + + + > + + + +) + ( + 4>> + CR>) + ( + >> + ) + (ELSE + CR>)>) + (ELSE )>> + + + + > + ) + (<==? ,HERE ,BLUE-DOCK ,BUBBLE-ROOM ,SPHERE-SHIP> + ) + (<==? ,HERE ,UMBILICAL> + ) + (ELSE + )>) + ( <==? ,HERE ,RED-DOCK>> + + )>> + + ) + ( )>> + +> + + > + + ) + ( + ) + (> ) + (ELSE + + + + )>) + ( + > + > + + + ) + (<==? ,POISON-COUNT 4> + ) + (ELSE + + + ) + (ELSE )>)>) + (ELSE )>) + ( + ) + (ELSE + > + )>) + ( > + )>> + + > + ) + ( + + ) + (ELSE + + + )>) + ( + + + ) + (ELSE )>) + ( > + )>> + +> ;"T if hooked to something" +> ;"T if hooked to suit" + +)) + + + >> + >)> + > + + ) + (,THIS-END + + )> + ) + (,THAT-END + )> + ) + ( + + )> + ) + (,THAT-END + ) + (ELSE + )>) + ( + > + ) + ( + + > + + ) + (,THIS-END + + ) + (ELSE + )>) + (<==? ,PRSI ,SAFETY-HOOK> + + ) + (ELSE + )>) + (,PRSI + + ) + (ELSE + + )> + ) + ( + + >) + (<==? ,PRSI ,THIS-END> + >) + (ELSE + + )> + ) + (,THAT-END + + >) + (,THIS-END + + >) + (ELSE + )>)> + ) + ( + + )>)>> + +> + + + + )>> + + ) + (<==? .RARG ,M-ENTER> + > + ) + (<==? .RARG ,M-LOOK> + + + ) + (T )>)>> + + + > + + + + + )>> + + + > + ) + (ELSE + + + )>)> + T)>> + + + + + )>)>> + + 1) + (<==? .WRD ,W?SECOND> 2) + (<==? .WRD ,W?THIRD> 3) + (<==? .WRD ,W?FOURTH> 4) + (<==? .WRD ,W?FIFTH> 5) + (<==? .WRD ,W?SIXTH> 6) + (<==? .WRD ,W?SEVENTH> 7) + (<==? .WRD ,W?EIGHTH> 8) + (<==? .WRD ,W?NINTH> 9) + ( 10) + (T 0)>> + + + > + + ,INTNUM>> + T) + ( + + ) + (> + ) + (T + + )>)> + + + >> + + + + + + ) + (<0? ,P-NUMBER> + ) + ( + >> + + ) + (ELSE + + + + + )>)>> + + + + + + + ) + (ELSE )>) + (<==? ,PRSO ,RED-INNER> + ) + (ELSE )> + + ) + (,DOOR-SOLVED? + + ) + ( + )>) + ( + )>> + + + + + ) + (ELSE )>) + (<==? ,PRSO ,BLUE-INNER> + ) + (ELSE )> + + ) + ( + ) + ( + )>> + +> + + ) + ( + + + ) + (ELSE )>) + (<==? ,PRSO ,YELLOW-INNER> + ) + (ELSE )> + + ) + ( + + + >> + + ) + ( + ) + ( + )>> + + + + + )> + ) + (<==? .RARG ,M-BEG> + ) + (<==? .RARG ,M-ENTER> + > + )>> + +> + + + + ) + (ELSE + > + + + )>) + (ELSE )>> + + + + + ,YELLOW-DOCK-EDGE) + (ELSE + + )>> + + + ) + (<==? .RARG ,M-END> + ) + (ELSE + > + + + )>)>> + + + )>> + + + )>> + + + + + ) + (ELSE )>) + (<==? ,PRSO ,GREEN-INNER> + ) + (ELSE )> + + ) + ( + ) + ( + )>> + + + + + ) + ( + ) + (ELSE + )>) + (> + ) + (ELSE + )>) + ( ;"must be outer door, then" + + ) + ( + ) + (ELSE + + + + + + + )>) + (T )> + T)>) + (> + ) + (ELSE + + )>> + + + >> + + + + + )> + > + + + + + )> + > + +> + ) + (<==? ,PRSO .INNER> + ) + (ELSE )>> + +)) + #DECL ((RM) OBJECT) + + + )> + + + > + + )> + + + T> + +)) + > + + ) + (T )>) + ( <==? .RARG ,M-BEG> <==? ,PRSO ,COUCH>> + + ) + (<==? .RARG ,M-BEG> + + ) + ( ,SEAT-BELT?> + ) + ( + + ) + ( <==? ,PRSO ,COUCH>> + + ) + ( + + )>) + (<==? .RARG ,M-ENTER> + )>> + + + ) + (ELSE )>> + +> + ) + ( + ) + (ELSE )>) + ( + + ) + (ELSE > )>) + ( + + ) + (ELSE )>)>> + + + )>> + +\ + +"SUBTITLE PRIMITIVE ALIENS" + + +> + + + + + + + >>>)> + + + )>) + (ELSE + + + )>)> + + ) + (<==? .RARG ,M-BEG> + <==? ,PRSI ,CHIEF>> + >> + )>)>> + + > + > + ) + ( + )>> + + + + + <==? ,PRSO ,P?EAST> + > + > + + )>) + (<==? .RARG ,M-ENTER> + + + )> + )>> + + + )>> + + + )> + + + + + > + > + > + + > + )> + ) + ( + ) + ( + ) + ( + ) + (ELSE + )>> + +> + + + + + + + ) + (ELSE + )> + + )> + + + ) + (,ALIENS-FRIENDLY? + )> + >) + (ELSE + + + + )>)> + >)>> + +> + +> + + >> + + + ) + (<==? ,PRSO ,CHIEF> + ) + (<==? ,PRSI ,CHIEF> + ) + (ELSE )> + ) + ( + ) + (T )>) + ( + > + ) + (<==? ,HERE ,GRASSLAND-2> + + > + + + + )> + )>) + (ELSE )>) + ( ) + ( ) + ( + > + )>> + +)) + > + + ) + ( + + ) + (ELSE + > + > + + > + ) + (ELSE )> + + + > ". Each time +many aliens are dispatched, but more appear." CR>) + (ELSE )> + + )>> + +> + +) "AUX" SUIT?) + + + > + ) + (> + )> + + ) + (.SUIT? )> + ) + ( + + ) + ( + + > + + > + + ) + (ELSE + + )>) + (<==? ,HERE ,VILLAGE> + + ) + (ELSE + )> + ) + (> + ) + ( + >> + > + ) + ( + + + ) + ( + )> + ) + ( + ) + (T )>) + ( ) + ( + > + ) + ( ) + ( )>> + +> + + + > + + ) + ( + ) + ( + + + + + + + ) + ( + ) + (ELSE + )>)>)>> + + > + > + ) + ( + > ) + ( + )>)>> + + > + > + ) + ( + > ) + ( + )>)>> + + + + + )> + + > + ) + ( + + + ) + (ELSE )>)>) + (<==? .RARG ,M-ENTER> + )>> + + ;"can't follow him initially" + ;"how long chief waiting for trade" + ;"how many moves left in maze" + +)) + + + >> + > + + + + > + ) + (ELSE + )> + )> + > + ) + ( + + > + )> + + > + ;"chief tired of waiting" + + )> + > + + ;"chomped. don't reenable")> + + + + >>)> + CR>) + ( + + + + ) + (ELSE >)>)> + 1)(ELSE 2)>>> + > + +> + + + + + + + ) + (ELSE + > + )>) + ( > + > + )>> + +> + + + + > + +> + ) + ( ,GREEN-THREE) + (,CAUGHT? + + ) + (ELSE + + )>> + + + > + + )>)>> + + + > + + + > + + + + + + + + + + + )>)>) + ( + + + + + )>)> + )> + )>> + +> + + + + > + ) + ( + ) + ( > + + ) + ( + + ) + ( <==? ,PRSI ,RAT-ANT>> + + ,NEST) + ( ,SMASHED-NEST) + (T + + )>> + )>> + +)) + + ) + ( + ) + ( + <==? ,PRSO ,NEST> + ,PRSI> + + <==? ,PRSI ,NEST> + ,PRSO>> + ) + (ELSE )> + + + ) + (> + + ) + ( 5> + + + + + + )> + + + + > + ) + (ELSE + + + )>) + ( + + > + )>> + + + + + + + )>> + + + )>> + + + + <>)>> + +> +> +> +> + + + >> + + + + ) + (ELSE + )>)>> + + + + + ) + (ELSE + + + + > + )> + + )>) + (ELSE + )>)>> + + + > + + )>> + +\ + +"SUBTITLE WEAPONS DECK AND ZAP GUN" + + +> + +"use CAN-ZAP? to do right thing in frobs that want to handle being zapped." + + > + ) + (ELSE + > + )>> + +> + + ) + ( ) + ( + + + + ) + (ELSE )>) + ( .I> + ) + ( <==? ,ZAP-GUN ,PRSI>> + ) + (> + )>) + ( + ) + ( + ) + ( + > + + ) + (<==? ,ZAP-CNT 0> + + )> + > + + > + + + )> + ) + ( ) + ( + ) + ( + + ) + (<==? ,PRSI ,ZAP-GUN> + ) + ( + + ) + ( + + + ) + ( > + + ) + (ELSE + )>) + ( + <==? ,ZAP-GUN ,PRSI>> + + )>> + +\ + +"SUBTITLE INSIDE THE CYLINDER" + + ) + ( ) + ( )>> + + + > + + ) + (ELSE ,UP-A-TREE)>> + + + + + ) + ( + ) + ( + )>)>> + + + + + ) + ( + ) + ( + + + )>)>> + + + + + ) + (ELSE )> + + + )> + ) + (<==? .RARG ,M-BEG> + ) + (ELSE + )>)>> + + + <==? ,PRSO .BUB>>> + )>> + + )>> + + )>> + +> + + + + + ) + (ELSE + )> + + + ) + (ELSE )> + ) + (<==? .RARG ,M-BEG> + )>> + + > + ) + ( + )>> + + > + + + + ) + ( + + <==? ,PRSO ,WHITE-KEY> + <==? ,PRSI ,WHITE-SLOT>> + + + + + )>> + + + )>> + +> + +> + + + > + + + + )>)>> + +> + +> + + + + > + + + + ) + (ELSE + )>) + ( + ) + (ELSE + )>)>> + + + > ) + (> + ) + (<==? ,PRSO ,WHITE-KEY> + ) + ( + ) + ( + )>)>> + + + > ) + (> + ) + (<==? ,PRSO ,BLACK-KEY> + + ) + ( + )>)>> + +\ + + + + + ) + (ELSE )> + + + )> + ) + (<==? .RARG ,M-BEG> + ) + (ELSE )>)>> + + +