commit ef6e803369c757908cc80420e4f5c87364a0fa9b Author: historicalsource Date: Sat Apr 13 21:59:32 2019 -0400 Revision 53 (Original Source) diff --git a/README.md b/README.md new file mode 100644 index 0000000..b17862a --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# infocom-sampler diff --git a/a.zil b/a.zil new file mode 100644 index 0000000..698dea9 --- /dev/null +++ b/a.zil @@ -0,0 +1,1768 @@ +"ACTIONS for + SAMPLER + (c) Copyright 1984 Infocom, Inc. All Rights Reserved." + + + + + ) + (T )> + )>> + + + + >) + (T + + )> + ) + ( + + + + T) + (T >)> + )>> + + + )>> + + + > + + ) + (T + )>)>> + +;> + + + ) + ( + ) + ( + ) + (T + )>> + + + + ) + ( + + T)>) + ( + >> + + + ) + (T + )>) + (T )>) + ( + ) + ( + + T) + ( + ) + ( + + + ) + (T + + )>) + (T + )>) + ( + )>> + + + ) + ( + ) + ( + ) + ( + )>> + + + )>> + + + + ) + ( + > + CR> + ) + ( + > + ) + ( + + ) + ( ;"fill bottle with water =>" + ;"put water in bottle" + + + + >) + ( + > + + >) + ( + )> + + + )>)> + ) + (T )> + > + > >)> + > + + + >>>> + + + ) + (>> + + ) + ( + > + + ) + (> + + ) + (T + + )>) + ( + + > + ) + (T + )>) + (.PI? ) + ( + + + ) + (T + + )>) + ( + + )>> + +> + + + + ) + ( + > + ) + ( + + ) + (T + )> + ) + ( + + + ) + (T + )>)>> + + + ) + ( + )>> + + + )>> + + + )>> + + + + + ) + (T + )>) + (<==? .RARG ,M-BEG> + > + ) + ( > + )>)>> + +\ + + > + )>> + +> + + + + + > + ) + (.RUG? + ) + ( + ) + (T + )> + + T) + ( + + + >> + + )> + >> + + )>)>> + +> + ) + (T + + )>)> + >>> + +> + )> + >> + )> + >>> + + + + ) + ( + > + ) + ( > + + ) + (T )>) + ( + + >> + ) + ( >> + + + ) + ( + CR>)>)>> + + + ) + ( + + >> + + + )>)>> + + + + + ) + (T )> + )>> + +>> + + ) + (>> + >> + > + > + )> + ) + (T + + )>> + + + ) + (T + + + )>) + (T + + )>> + + + ) + (T + )>) + ( + ) + (T + + + + )>) + ( + ) + ( + + >> + ) + ( + + >> + ) + (ELSE + )>)>> + +\ + +"SUBTITLE TROLL" + +) + (T )>> + +> ) + ( + + ) + (T + )> + T)>> + +)) + + + >) + ( + <>) + ( > + + + + + + > + T) + ( + + + T)>) + ( + + ) + ( + + + > + T)>) + ( + + CR>) + ( + ,PRSO + > + > + + + + > + + + + ) + ( + + )> + + ) + (T + )> + + > + + + + ,F-DEAD> + ) + ( + + + ) + (T + + )>) + ( + ) + ( + )>) + ( + ) + (> + )>)>> + +\ + +"SUBTITLE GRATING/MAZE" + +;> ;"not referenced, removed 2/27/85 by SEM" +;> ;"not referenced, removed 2/27/85 by SEM" +> + +> + > + + ) + (T )> + + )> + <>> + + + ) + ( + + + + ) + (T + )>) + ( + + + ) + ( + + )> + )> + + ) + (T )>) + ( + > + )>> + + + + )>) + ( + + + + ) + (,GRATE-REVEALED + + )> + )>> + + + + )>) + ( > + ) + ( + ) + ( + ) + ( > + 20> + ) + (T + + )>)>> + + + + )>> + + + +;> + +)) + + + + ) + ( + + + ) + ( + > + )>)> + > + + + T) + (.E? )>> + +;> ;"not referenced, removed 2/27/85 by SEM" + +; +> + )> + > + + + >)>> + + + ) + ( + ) + ( + CR>) + ( + )>> + +> + + + + + )>> + +> + + + + > + + ) + ( + + ) + (T + > + <>)>) + ( + + ) + (T + > + <>)>) + ( + + + ) + ( + ) + (T + )> + )>> + + + )>> + +)) + >>> + + > + >)>> + + + + )> + > + + ) + (T + CR>)>)>> + +; .N1) + (T .N2)>> + + > + > + <>) + ( + > 1> + ) + ( + )>)>> + + + + + )> + ) + ( + )>> + + + + + ) + ( + + ) + (T + + )>)>) + ( + )>> + +;> + + + + > + > + + + )>) + ( + > + ) + ( + > + ) + ( + > ) + ( > + + + ) + ( + + + + ) + (> + + ) + ( + )>)>) + ( >)>> + + > + + ) + ( + ) + ( + ) + ( + + > + + + ) + ( + ) + (T + + )>) + ( + + + ) + ( + )> + + + )>> + + + >) + (T )> + > + + > + +;> ;"not referenced, removed 2/27/85 by SEM" + + + )>> + + + >> + +> + > + ) + ( + )>> + + >) + ( + + > + )>)>> + + + + > + )>> + + + )>> + +;> + + + + >> + + ) + ( + )>> + + + + ) + (T + )>) + (T CR>)>> + + + >> + ) + ( + + + )>)>> + + + > + )>> + +"MORE RANDOMNESS" + + + ) + ( + )>> + + + )>> + +"SUBTITLE MELEE" + +"melee actions (object functions for villains called with these" + + ;"busy recovering weapon?" + ;"mistah kurtz, he dead." + ;"into dreamland" + ;"rise and shine" + ;"strike first?" + +\ + +"blow results" + + ;"attacker misses" + ;"defender unconscious" + ;"defender dead" + ;"defender lightly wounded" + ;"defender seriously wounded" + ;"defender staggered (miss turn)" + ;"defender loses weapon" + ;"hesitates (miss on free swing)" + ;"sitting duck (crunch!)" + +"tables of melee results" + +> + +> + +> + +> + +> + +> + + + 0 ;>> + + + 0; >> + + + DEF3B + 0 ; + DEF3C>> + +\ + +"useful constants" + + + + + +\ + +"I-FIGHT moved to DEMONS" + +)) + + > + + + )> + > + > + >) + ( + ,F-BUSY?>) + (>> + > + ) + ( + >>)>> + ) + (T + > + )>)>) + (T )>>> + +\ + +"takes a remark, defender, and good-guy's weapon" + +) (CNT 0) STR) + > .LEN> )> + > + ) + ( ) + (T )>> + > + +"Strength of the player is a basic value (S) adjusted by his P?STRENGTH +property, which is normally 0" + +>>>> + >)(T .S)>> + +) + OD TMP) + > + > + + ,PRSI>> + >> + )> + )>)> + .OD> + +"find a weapon (if any) in possession of argument" + +> + + )> + + ) + (>> )>>> + +\ + +) + (REMARKS ) + DWEAPON ATT DEF OA OD TBL RES NWEAPON) + + + + + )> + >> + > 0>> )> + >> + > + ) + (T + + )> + >>) + ( + )> + >>) + ( + > + ) + ( )> + >>)> + 1>>> + ) + (T )>)> + + .DWEAPON + >> + )> + >> + ,WINNER + .DWEAPON>)> + >) + () + ( + > + ) + ( + > + )> + + >)>) + ( + > + )> + + >)>) + ( ) + (T + .DWEAPON> + + > + )>)> + > + +) DWEAPON ATT DEF (CNT 0) + OA OD TBL RES NWEAPON (LEN )) + > + )> + > + ,PRSO> + )>> + + + + + )> + > + )> + + > + >>> + + >)> + + )> + > + > + + ) + (T )> + + ) + (T + + )> + >>) + ( + )> + >>) + ( + > + ) + ( )> + >>)> + 1>>> + ) + (T )>)> + .DWEAPON > + )> + >> + ,PRSO + ,PRSI>)> + >) + ( >) + ( > + ) + ( + > + )>) + ( + > + )>) + ( ) + (T + .DWEAPON> + + + + )> + > + +\ + + -10000)(T <- .DEF .OD>)>> + 0> + >)> + 0>> + >>>> + + <>) + (T .RES)>> + + + + + + + ,F-DEAD> + .RES) + ( + ,F-UNCONSCIOUS> + .RES) + (T .RES)>> + +\ + +;> + >> + ) + ( ) + (<0? .PS> ) + ( ) + (T )>> + +)) + ) + ( > )> + + + >)> + >) + (T + + >)>> + +"FIGHTS" + +"messages for winner" + + ;"means print weapon name" + ;"means print defender name (villain, e.g.)" + + + + + + + > + + + + + > + + + > + + + + > + + + + > + + + + + > + + >>> + +"messages for troll" + + + + + > + > + + + > + + + + > + + + > + + + + > + + + > + + > + >>> + +"each table entry is:" + + ;"villain" + ;"best weapon" + ;"advantage it confers" + ;"prob of waking if unconscious" + ;"messages for that villain" + +"This table must be after TROLL-MELEE, defined!" + +>> + +"DEMONS" + +"Fighting demon" + +) (LEN ) + CNT OO O P) + )> + + > + )> + > + > ,HERE> + >> + 0> + > + > > + + ) + (T + >)>) + ( + ,F-FIRST?>> + )>) + (T + + ,F-BUSY?>)> + + + + )>> + )> + > + +)) + + > + ,F-CONSCIOUS>)> + T> + +"SWORD demon" + +) (G ) + (NG 0) P T L) + + ) + (T + + >> + ) + (> + > + > + + > + + )>)>)>>)> + ) + ( + ) + (<1? .NG> + ) + (<0? .NG> + )> + + ) + (T + + )>> + +)) + ) + ( >> + ) + (>> )>>> + +>) + (WD ) (RS <+ .MS .WD>)) + #DECL ((MS WD RS) FIX) + + + + ) + (T + + + ) + ( + ) + ( + ) + (T + )> + )> + + ) + (T + + + ) + ( + ) + (T + )> + )> + + ) + (T + + + ) + ( + ) + (T + )> + )> + ) + ( + + )> + ,C-ENABLED?>> ) + (ELSE >)> + ) + (<1? .WD> ) + ( ) + ( ) + ( )> + > + + > + ,C-TICK>>> + )> + + ) + (<1? .RS> ) + ( ) + ( ) + ( + )> + + > + + ) + (T )> + )>> + + + +) + + + ) + ( + ) + ( + ) + ( + )> + + + + + ) + (T + )> + ) + (T + + + + ) + (T + )>)> + + ,SCORE> + +)) + + + )> + + + + ,VEHBIT> + )> + > + + ) + (T + > + + + + + > + + )>>) + ( + + + > + )> + + + ) + (T + )>>) + ( + + > + >> + + > + + > + )>)> + > + )> + )> + ;this will never work-DA + + ) + (T + )>)>> + +) F N L) + + )> + + > + > + + )> + > + 0> + >)> + + > + > + + ) + (ELSE >)>>) + (ELSE + >>)>>> + +> + > + > + > + +; + ) + ( + ) + ( > + )>> + +; + ) + ( + )>> + + + + )>> + + + > + )>> + + + >> + ) + ( + ) + ( > + + )>> \ No newline at end of file diff --git a/actions.zil b/actions.zil new file mode 100644 index 0000000..80c7128 --- /dev/null +++ b/actions.zil @@ -0,0 +1,1770 @@ +"ACTIONS for + SAMPLER + (c) Copyright 1984 Infocom, Inc. All Rights Reserved." + + + + + ) + (T )> + )>> + + + + >) + (T + + )> + ) + ( + + + + T) + (T >)> + )>> + + + )>> + + + > + + ) + (T + )>)>> + +;> + + + ) + ( + ) + ( + ) + (T + )>> + + + + ) + ( + + T)>) + ( + >> + + + ) + (T + )>) + (T )>) + ( + ) + ( + + T) + ( + ) + ( + + + ) + (T + + )>) + (T + )>) + ( + )>> + + + ) + ( + ) + ( + ) + ( + )>> + + + )>> + + + + ) + ( + > + CR> + ) + ( + > + ) + ( + + ) + ( ;"fill bottle with water =>" + ;"put water in bottle" + + + + >) + ( + > + + >) + ( + )> + + + )>)> + ) + (T )> + > + > >)> + > + + + >>>> + + + ) + (>> + + ) + ( + > + + ) + (> + + ) + (T + + )>) + ( + + > + ) + (T + )>) + (.PI? ) + ( + + + ) + (T + + )>) + ( + + )>> + +> + + + + ) + ( + > + ) + ( + + ) + (T + )> + ) + ( + + + ) + (T + )>)>> + + + ) + ( + )>> + + + )>> + + + )>> + + + + + ) + (T + )>) + (<==? .RARG ,M-BEG> + > + ) + ( > + )>)>> + +\ + + > + )>> + +> + + + + + > + ) + (.RUG? + ) + ( + ) + (T + )> + + T) + ( + + + >> + + )> + >> + + )>)>> + +> + ) + (T + + )>)> + >>> + +> + )> + >> + )> + >>> + + + + ) + ( + > + ) + ( > + + ) + (T )>) + ( + + >> + ) + ( >> + + + ) + ( + CR>)>)>> + + + ) + ( + + >> + + + )>)>> + + + + + ) + (T )> + )>> + +>> + + ) + (>> + >> + > + > + )> + ) + (T + + )>> + + + ) + (T + + + )>) + (T + + )>> + + + ) + (T + )>) + ( + ) + (T + + + + )>) + ( + ) + ( + + >> + ) + ( + + >> + ) + (ELSE + )>)>> + +\ + +"SUBTITLE TROLL" + +) + (T )>> + +> ) + ( + + ) + (T + )> + T)>> + +)) + + + >) + ( + <>) + ( > + + + + + + > + T) + ( + + + T)>) + ( + + ) + ( + + + > + T)>) + ( + + CR>) + ( + ,PRSO + > + > + + + + > + + + + ) + ( + + )> + + ) + (T + )> + + > + + + + ,F-DEAD> + ) + ( + + + ) + (T + + )>) + ( + ) + ( + )>) + ( + ) + (> + )>)>> + +\ + +"SUBTITLE GRATING/MAZE" + +;> ;"not referenced, removed 2/27/85 by SEM" +;> ;"not referenced, removed 2/27/85 by SEM" +> + +> + > + + ) + (T )> + + )> + <>> + + + ) + ( + + + + ) + (T + )>) + ( + + + ) + ( + + )> + )> + + ) + (T )>) + ( + > + )>> + + + + )>) + ( + + + + ) + (,GRATE-REVEALED + + )> + )>> + + + + )>) + ( > + ) + ( + ) + ( + ) + ( > + 20> + ) + (T + + )>)>> + + + + )>> + + + +;> + +)) + + + + ) + ( + + + ) + ( + > + )>)> + > + + + T) + (.E? )>> + +;> ;"not referenced, removed 2/27/85 by SEM" + +; +> + )> + > + + + >)>> + + + ) + ( + ) + ( + CR>) + ( + )>> + +> + + + + + )>> + +> + + + + > + + ) + ( + + ) + (T + > + <>)>) + ( + + ) + (T + > + <>)>) + ( + + + ) + ( + ) + (T + )> + )>> + + + )>> + +)) + >>> + + > + >)>> + + + + )> + > + + ) + (T + CR>)>)>> + +; .N1) + (T .N2)>> + + > + > + <>) + ( + > 1> + ) + ( + )>)>> + + + + + )> + ) + ( + )>> + + + + + ) + ( + + ) + (T + + )>)>) + ( + )>> + +;> + + + + > + > + + + )>) + ( + > + ) + ( + > + ) + ( + > ) + ( > + + + ) + ( + + + + ) + (> + + ) + ( + )>)>) + ( >)>> + + > + + ) + ( + ) + ( + ) + ( + + > + + + ) + ( + ) + (T + + )>) + ( + + + ) + ( + )> + + + )>> + + + >) + (T )> + > + + > + +;> ;"not referenced, removed 2/27/85 by SEM" + + + )>> + + + >> + +> + > + ) + ( + )>> + + >) + ( + + > + )>)>> + + + + > + )>> + + + )>> + +;> + + + + >> + + ) + ( + )>> + + + + ) + (T + )>) + (T CR>)>> + + + >> + ) + ( + + + )>)>> + + + > + )>> + +"MORE RANDOMNESS" + + + ) + ( + )>> + + + )>> + +"SUBTITLE MELEE" + +"melee actions (object functions for villains called with these" + + ;"busy recovering weapon?" + ;"mistah kurtz, he dead." + ;"into dreamland" + ;"rise and shine" + ;"strike first?" + +\ + +"blow results" + + ;"attacker misses" + ;"defender unconscious" + ;"defender dead" + ;"defender lightly wounded" + ;"defender seriously wounded" + ;"defender staggered (miss turn)" + ;"defender loses weapon" + ;"hesitates (miss on free swing)" + ;"sitting duck (crunch!)" + +"tables of melee results" + +> + +> + +> + +> + +> + +> + + + 0 ;>> + + + 0; >> + + + DEF3B + 0 ; + DEF3C>> + +\ + +"useful constants" + + + + + +\ + +"I-FIGHT moved to DEMONS" + +)) + + > + + + )> + > + > + >) + ( + ,F-BUSY?>) + (>> + > + ) + ( + >>)>> + ) + (T + > + )>)>) + (T )>>> + +\ + +"takes a remark, defender, and good-guy's weapon" + +) (CNT 0) STR) + > .LEN> )> + > + ) + ( ) + (T )>> + > + +"Strength of the player is a basic value (S) adjusted by his P?STRENGTH +property, which is normally 0" + +>>>> + >)(T .S)>> + +) + OD TMP) + > + > + + ,PRSI>> + >> + )> + )>)> + .OD> + +"find a weapon (if any) in possession of argument" + +> + + )> + + ) + (>> )>>> + +\ + +) + (REMARKS ) + DWEAPON ATT DEF OA OD TBL RES NWEAPON) + + + + + )> + >> + > 0>> )> + >> + > + ) + (T + + )> + >>) + ( + )> + >>) + ( + > + ) + ( )> + >>)> + 1>>> + ) + (T )>)> + + .DWEAPON + >> + )> + >> + ,WINNER + .DWEAPON>)> + >) + () + ( + > + ) + ( + > + )> + + >)>) + ( + > + )> + + >)>) + ( ) + (T + .DWEAPON> + + > + )>)> + > + +) DWEAPON ATT DEF (CNT 0) + OA OD TBL RES NWEAPON (LEN )) + > + )> + > + ,PRSO> + )>> + + + + + )> + > + )> + + > + >>> + + >)> + + )> + > + > + + ) + (T )> + + ) + (T + + )> + >>) + ( + )> + >>) + ( + > + ) + ( )> + >>)> + 1>>> + ) + (T )>)> + .DWEAPON > + )> + >> + ,PRSO + ,PRSI>)> + >) + ( >) + ( > + ) + ( + > + )>) + ( + > + )>) + ( ) + (T + .DWEAPON> + + + + )> + > + +\ + + -10000)(T <- .DEF .OD>)>> + 0> + >)> + 0>> + >>>> + + <>) + (T .RES)>> + + + + + + + ,F-DEAD> + .RES) + ( + ,F-UNCONSCIOUS> + .RES) + (T .RES)>> + +\ + +;> + >> + ) + ( ) + (<0? .PS> ) + ( ) + (T )>> + +)) + ) + ( > )> + + + >)> + >) + (T + + >)>> + +"FIGHTS" + +"messages for winner" + + ;"means print weapon name" + ;"means print defender name (villain, e.g.)" + + + + + + + > + + + + + > + + + > + + + + > + + + + > + + + + + > + + >>> + +"messages for troll" + + + + + > + > + + + > + + + + > + + + > + + + + > + + + > + + > + >>> + +"each table entry is:" + + ;"villain" + ;"best weapon" + ;"advantage it confers" + ;"prob of waking if unconscious" + ;"messages for that villain" + +"This table must be after TROLL-MELEE, defined!" + +>> + +"DEMONS" + +"Fighting demon" + +) (LEN ) + CNT OO O P) + )> + + > + )> + > + > ,HERE> + >> + 0> + > + > > + + ) + (T + >)>) + ( + ,F-FIRST?>> + )>) + (T + + ,F-BUSY?>)> + + + + )>> + )> + > + +)) + + > + ,F-CONSCIOUS>)> + T> + +"SWORD demon" + +) (G ) + (NG 0) P T L) + + ) + (T + + >> + ) + (> + > + > + + > + + )>)>)>>)> + ) + ( + ) + (<1? .NG> + ) + (<0? .NG> + )> + + ) + (T + + )>> + +)) + ) + ( >> + ) + (>> )>>> + +>) + (WD ) (RS <+ .MS .WD>)) + #DECL ((MS WD RS) FIX) + + + + ) + (T + + + ) + ( + ) + ( + ) + (T + )> + )> + + ) + (T + + + ) + ( + ) + (T + )> + )> + + ) + (T + + + ) + ( + ) + (T + )> + )> + ) + ( + + )> + ,C-ENABLED?>> ) + (ELSE >)> + ) + (<1? .WD> ) + ( ) + ( ) + ( )> + > + + > + ,C-TICK>>> + )> + + ) + (<1? .RS> ) + ( ) + ( ) + ( + )> + + > + + ) + (T )> + )>> + + + +) + + + ) + ( + ) + ( + ) + ( + )> + + + + + ) + (T + )> + ) + (T + + + + ) + (T + )>)> + + ,SCORE> + +)) + + + )> + + + + ,VEHBIT> + )> + > + + ) + (T + > + + + + + > + + )>>) + ( + + + > + )> + + ; + + ; + ) + (T + )>>) + ( + + > + >> + + > + + > + )>)> + > + )> + )> + + ; + ; + ) + (T + )>)>> + +) F N L) + + )> + + > + > + + )> + > + 0> + >)> + + > + > + + ) + (ELSE >)>>) + (ELSE + >>)>>> + +> + > + > + > + +; + ) + ( + ) + ( > + )>> + +; + ) + ( + )>> + + + + )>> + + + > + )>> + + + >> + ) + ( + ) + ( > + + )>> \ No newline at end of file diff --git a/csampler.zil b/csampler.zil new file mode 100644 index 0000000..7fd80ea --- /dev/null +++ b/csampler.zil @@ -0,0 +1,48 @@ +"DEMO for + SAMPLER + (c) Copyright 1984 Infocom, Inc. All Rights Reserved." + + + +; + + + >> + +) "AUX" (TIM