commit af919a956f77f2a94c430a8a96184db98674f308 Author: historicalsource Date: Sun Apr 14 00:48:04 2019 -0400 Revision 50 (Original Source) diff --git a/README.md b/README.md new file mode 100644 index 0000000..360dd1e --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# beyondzork diff --git a/constants.zil b/constants.zil new file mode 100644 index 0000000..62c19eb --- /dev/null +++ b/constants.zil @@ -0,0 +1,1753 @@ +"CONSTANTS for BEYOND ZORK: + Copyright (C)1987 Infocom, Inc. All rights reserved." + + + + + + + + + + + + + + + + + + + + +> + + + + + + + + + + + + + + + + + + + + + + + + + + + +"Color constants" + + + + + + + + + + + + +> + +> +> +> +> + +> + + ; "Macintosh" + ; "Amiga" + ; "Atari ST" + + + BWCR DWWW WBBB> ; "IBM" + + DWWW WBBB BWWW> ; "C128" + 0 ; "C64" + 0 ; "Apple //c" + ; "Apple //gs" + >> + +"Apple //c MouseText characters." + + + + + +"IBM graphics chars." + + + + + + + + +> + + + + + + + + + + + + +> > + > > + > > + > > + > > >> + +> + +> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +> +> + +> + + + +> + > + > + > + > + > + > + > + >>> + + +>> + + "Length of an interrupt entry." + "Offset of routine name." + "Offset of count." + + + + + + + + + + + + + + + +> + +> + + + + +> + +> + +> + + + + + (BYTE) 0> + (BYTE) 0> + (BYTE) 0> + (BYTE) 0> + (BYTE) 0> + (BYTE) 0> + (BYTE) 0> + (BYTE) 0> + (BYTE) 0> + (BYTE) 0>>> + + + + + + + + + + + >> + + + + + + + + +> + +> + +> + +> + +> + +> + +> + + + + >> + +> + +"List of words to be capitalized." + +> > > + > > > + > > > + > > > + > > + > > + > > > + > > > + > > + > > > + > > > + > > > + > > > + > > + > + > > >> + +> + +"Game-specific constants." + + "Base (0) character of bargraph charset." + + + + + +> + + + +> + + + + 2>> +> + + + +> +> + +> +> + +> +> + + +> + + +> + + 256>> + + "Number of GAME-VERBS." + +> + +"These verbs reverse the order of PRSO and PRSI." + + +> + + "Number of HAVEVERBS." + +> + + "Number of TALKVERBS." + +> + + "Number of TOUCHVERBS" + +> + + "Number of HURTVERBS." + +> + + "# PUTVERBS." + +> + + "Number of MOVEVERBS." + +> + + "Number of SEEVERBS" +> + + + +> + + + +> + + + + + + + + + + +> + + + + + + + + + + +> + + + +> +> +> +> + +"Pure border data (copied into BORDERS)." + + + ,D-TOP ,D-TOP ,D-TOP ,D-TOP ,D-TOP + %<+ ,D-S ,D-SW ,D-W> + ,D-LEFT ,D-ALL ,D-ALL ,D-ALL ,D-ALL ,D-ALL ,D-RIGHT + ,D-LEFT ,D-ALL ,D-ALL ,D-ALL ,D-ALL ,D-ALL ,D-RIGHT + ,D-LEFT ,D-ALL ,D-ALL ,D-ALL ,D-ALL ,D-ALL ,D-RIGHT + ,D-LEFT ,D-ALL ,D-ALL ,D-ALL ,D-ALL ,D-ALL ,D-RIGHT + ,D-LEFT ,D-ALL ,D-ALL ,D-ALL ,D-ALL ,D-ALL ,D-RIGHT + %<+ ,D-N ,D-NE ,D-E> + ,D-BOTTOM ,D-BOTTOM ,D-BOTTOM ,D-BOTTOM ,D-BOTTOM + %<+ ,D-N ,D-W ,D-NW>>> + +> + + + +> +> + +> + +> +> + +> + +> + +"Character set data." + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +> +> +> + + + + + + + + + + + + + + + + + + + + + + + + + "Number of statistics." + + + + + + + + + + + "High as any statistic can go." + + + + +> + + + +> + + "Width of Apple stat box." + +> + + + + + + + + >> + +> +> +> + +> + +> + + + (BYTE) 0>> + +> + + + + +> + + +> + +> + +> +> + +> + +> + +> + +> + +> + +> + + + +> + +> + +> + +> + + + +> + +> + +> + +> + +> + +> + + + + + + + +> + > + > + > + >>> + +> + + + + + + + +> + > + > + > + >>> + +> + +> + + + + + + + + + "yard improvements" + 1 + 8> + + "weaponry" + 5 + 16> + + "armor" + 5 + 16> + + "humility and self-effacement" + 1 + 8> + + "transportation" + 5 + 24>>> + +> + +> + + + + + + + + + + + + + + + + + + + + OACCARDI OBRIDGE> + ; 2 + ORUINS OSHORE OFOREST> + ; 3 + OBRIDGE OACCARDI OCITY> + ; 4 + OSHORE OXROADS OFOREST ORUINS> + ; 5 + OFOREST OSHORE OPLAIN OXROADS> + ; 6 + OACCARDI OGRUBBO OPLAIN OCITY OBRIDGE> + ; 7 + OCITY OACCARDI OPLAIN OMIZNIA OCAVES> + ; 8 + OSHORE OGRUBBO OMOOR + OMIZNIA OXROADS OCITY> + ; 9 + OSHORE OMOOR OJUNGLE OPLAIN> + ; 10 + OXROADS OTHRIFF> + ; 11 + OGRUBBO OMIZNIA OPLAIN> + ; 12 + OGRUBBO OMIZNIA OTHRIFF> + ; 13 + OPLAIN OMOOR OJUNGLE OXROADS> + ; 14 + OJUNGLE OCAVES> + >> + +> + +> + +> + +> > + > > + > > + > > > + > >> + +> > > + > > > + > > > + > >>> + +> > > + > > + > > > + > > > + > > > + > > > + ; > > > >> + +> > > + > + > >> + + + +> + +> + +> + +> + +> + + + + + + + >> + +> + + + +; "Removed per TAA. No longer used for direction lookup with mouse." +;> + + +; > + +; > + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + + 0> + 0> +
0> +
0> +
0> +
0> +
0> +
0> +
0> +
0> +
0>>> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + + +> + + + + +> + +> + +> + +> + +> + +> + +> + +> + + + + + + +> + +> + + + + + >> + + + + + >> + + + + + >> + +> + + + + + >> + + + + + >> + +> + +> + +> + +> + +> + +> + + + + + >> + +> + + + + + + + >> + + + + + + >> + +> + +> + + + + + + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> + +> \ No newline at end of file diff --git a/events.zil b/events.zil new file mode 100644 index 0000000..9a8e254 --- /dev/null +++ b/events.zil @@ -0,0 +1,4481 @@ +"EVENTS for BEYOND ZORK: + Copyright (C)1987 Infocom, Inc. All rights reserved." + + + + +> + + + + + + + )> + + + + ) + ( + ) + ( + + + ) + ( + + + ) + (T + )>> + + "Strength required to break open a door." + +"Returns a direction for a monster to move, -1 if none." + +> + + 1> + + + + + ) + (T + )> + + + + + + ) + ( + + > + + + + )> + + >> + + + )> + + )>)> + + )> + > + + + + ) + (T + >)> + + ) + ( + + )> + ,PERIOD> + )> + + > + + + + + + )> + ) + (T + + ) + (T + )> + )> + + + )> + > + + + > + +> + + 1> + + + ) + (T + )> + + + ) + ( + + > + + + + )> + + )>)> + + )> + > + + + + ) + (T + >)> + + ) + ( + + )> + ,PERIOD> + )> + > + + + + ) + (T + + ) + (T + )> + )> + + + )> + > + +> + + 1> + + + + + ) + ( + + > + + + )>)> + + )> + > + + + > + + )> + ,PERIOD> + )> + > + + + + ) + (T + )> + + + + )> + > + +> + + 1> + + + + + + ) + ( + + + + ) + ( + )> + + + > + )> + > + + + C ,PER> + + + "!\"">)> + + > + )> + > + + + )> + "!\"" CR> + )> + > + + + + ) + (T + )> + + + + + )> + "!\"" CR> + + )> + > + +> + > + > + ) + ( + > + + + + + + ) + (T + )> + + + )> + )>) + ( + >> + + )>> + + + + + + > + > + + + + ) + (T + ", " THE ,VAPOR " snatches ">)> + + + )> + + + )>>)> + + + )> + > + ) + ( + )> + >> + + )>> + + ", " THE ,VAPOR + " grabs you by the ankles and lifts you high into the air!" CR> + + )> + + > + + ) + (T + >>)> + + + > + +> + + 1> + + + + + ) + ( + + > + + + )>)> + + )> + > + + + > + + )> + ,PERIOD> + )> + > + + + + ) + (T + + )> + + )> + > + +> + + 1> + + + + + ) + ( + + > + + + )>)> + + )> + > + + + > + + )> + ,PERIOD> + )> + > + + + + ) + (T + + )> + + + )> + > + +> + + 1> + + + ) + ( + + > + + + )>)> + + )> + + + + + )> + + )> + > + + > + + )> + ,PERIOD> + )> + > + + + + + + )> + > + + + 1> + + + + ) + ( + + > + + + )>)> + + )> + + + + + )> + > + + > + + )> + ,PERIOD> + )> + >> + +> + + + + ) + (T + + )> + + + ) + (T + )>> + + + )> + + > + + + 1> + + + ) + ( + + > + + + )>)> + + )> + + + + + )> + > + + > + + )> + ,PERIOD> + )> + >> + +> + + 1> + + + + + + ) + ( + + > + + + )>)> + + )> + + > + + > + ,PERIOD> + )> + > + > + + + )> + + + )> + > + + + + + )> + + + + + )> + > + + + 1> + + + ) + ( + + + ) + ( + )> + + > + + + > + + )> + ,PERIOD> + )> + > + + + + + + ) + (T + + )> + + + )> + > + + + 1> + + + + + + + + ) + ( + + > + + )>)> + + )> + > + + + > + + )> + ,PERIOD> + )> + > + + + + + + ) + (T + + )> + + + )> + > + +>> + +>> + +>> + +> + + + 1> + + + + )> + + ) + ( + + + + )> + + ) + ( + > + + + + )> + + + + )> + + )> + + > + + >) + ( + )> + + > + ,NO-MIRROR>> + + ,PTAB> + + ) + (T + + + )> + + + ,LUCK T>)> + ) + () + ( + > + ,PERIOD> + + ,LUCK T>)> + )> + + > + ,PERIOD> + )> + + " you in the darkness." CR> + )> + > + + + + + ) + ( + ) + (T + + )> + + )> + + ,P?MIRROR-OBJ>> + ,NO-MIRROR> + )> + + + + + > + +> + + )>> + + > + > + > + > + > + > + + + + + + )> + + + )>)> + > + +)) + + + )> + + > + +> + ) + ( + + ) + ( + )> + + ,PERIOD> + > + + + +> + ) + ( + + ) + ( + )> + + + + ,PERIOD> + )> + + + + ) + ( + + ) + ( + + )> + + > + +> + ) + ( + + ) + ( + )> + + + ,PERIOD> + > + +> + ) + ( + + )> + + + + + + )> + + > + + "Gondola timetable." + + + )> + + + + + + + ) + ( + ) + (T + )> + + + + + ) + + ( + > + )> + + + )> + + ) + + ( + > + )> + + + + + > + + + )> + + ) + + ( + + ) + (> + )> + + + ) + + ( + + + + > + > + ) + ( + ) + (T + )> + + + ) + + ( + + + + + + + + ) + ( + + ) + ( + )> + + + + ) + + ( + + + ) + ( + ) + (T + )> + + ) + + ( + + + ) + ( + ) + (T + )> + + + )> + + ) + + ( + + + + + + + + + + + ) + ( + + ) + ( + )> + + + + ) + + ( + + + ) + ( + ) + (T + )> + + ) + + ( + + + ) + ( + ) + (T + )> + + + )> + + ) + + ( + + + + + + + + + ) + ( + + ) + ( + )> + + + + ) + + ( + + + ) + ( + ) + (T + )> + + + + ) + + ( + + + ) + (> + )> + + + )> + + ) + + ( + + + + + + + + ) + ( + + + + ) + ( + )> + + + + + ) + (T + ; + )>> + + + + > + + + + > + + + + + + + )> + + > + + + + > + + + + + > + + + + + > + + ; "1-move delay." + + ) + (> + ) + ( + + + + > + + + ) + ( + + + ) + (T + )>) + ( + ) + ( + )> + + ) + (T + )>> + +> + ) + ( + + ) + ( + )> + + + THE ,MCASE ,PERIOD> + > + +> + > + + > + > + + > + + + + + + ) + ( + + + + )> + ) + (T + + + > + + + + + + + ) + ( + ) + (T + )>)>)>) + (T + )> + + )>> + + )> + > + + + + > + + ,NO-MIRROR> + )> + > + + + + + )> + .OBJ> + + )> + > + +"Returns direction mirror is facing (1/3/5/7)." + + + + + 1>> + + + > + )> + > + + + +> + ) + ( + > + )> + + + + + > + + + ) + (T + + + )> + + )> + + ",\" chuckles "> + + ) + (T + )> + + + )> + + )> + + + ) + ( + + ) + ( + + + )> + + ) + ( + + + + )> + + + > + + + + + + + + ) + ( + + + + ) + ( + + + > + > + + + + + + )> + + + + + + > + + + + + + + + + + ) + ( + + + ) + ( + > + > + + + + + + + + + + + )> + + > + + + )> + + > + +> + + + + + )> + + + ) + ( + ) + ( + )> + + + + )> + + > + +> + ) + (> + + + + + + + + ) + ( + + ) + ( + )> + + ,PERIOD> + > + + + +> + )> + + + + + + + + + + + + + + + + )> + ) + ( + + ) + ( + + + + + + + + + )> + + + + ) + (T + )> + + ) + ( + + ) + ( + + + + + + + + + + + + + + + + ) + (T + )>> + +> + + >> + + )> + > + + + )> + + + ) + ( + )> + + ,PERIOD> + ) + ( + + + + )> + + + + + )> + ,PERIOD> + ) + ( + + + + " in your arms." CR> + ) + ( + + ,PERIOD> + )> + + + + + + + + + ) + (T + )>) + (T + )>) + (T + + + + + + ) + (T + )>)> + + )>)> + + + )> + + + > + + + + ) + (> + > + )> + + + ,PERIOD> + ) + ( + > + + + + + )> + + )> + + ) + ( + )> + ,PERIOD> + ) + ( + + ) + () + ( + )> + ,PERIOD> + ) + ( + > + + + + ) + (T + + )> + + + + ) + ( + > + > + + + >>> + + + + > + ) + (T + )> + + > + + ) + (T + )> + + + ) + ( + )> + + + )> + ) + ( + + )> + + + ) + ( + + ) + (T + + )> + + + + + + + )> + + ; "Is player in a room adjacent to minx?" + + > + + > + + >> + + + ,OPENED>>> + > + ) + ( + + + + ) + (T + + )> + + + )> + + )>)>)> + + )>>> + + + + > + + + )> + > + .X 1>> + ) + ( + > + ) + ( + + > + ) + (T + )>> + +> + ) + (> + ) + (> + ) + (T + )> + + )> + + + + > + + + + + + + + + + + + + + > + + )> + + + + )> + > + +> + + + ) + ( + + )> + + > + +> + )> + + + + > + > + ,HERE> + + ,PLAYER ,HERE>>> + + >)> + > + + + ) + ( + ) + (T + + > + + > + + + + ) + (T + )>)>) + ( + + + ) + (T + )>) + (T + + + + ) + (T + )>)>)>)> + + > + + + + +> + + + + + + > + ,SEEN> + + )>> + + + > + + + + )> + > + ) + (> + ) + ( + )> + + + + > + +> + + + ) + ( + > + )> + + > + +> + > + + ) + ( + )>> + >> + +> + ) + ( + > + )>) + (T + )> + + + )> + + + + > + > + + + + + + > + + )> + ) + (T + + )> + + + + )> + + + + + + )> + + + ) + ( + + ) + ( + + )> + ) + + ( + + + + + + )> + + + + + > + )> + )> + + + + ) + ( + ) + ( + + ) + ( + + + ) + ( + + + )> + ) + + ( + + + + + + )> + + + ) + ( + + )> + ) + + ( + + + + + + )> + + + ) + ( + + + + ) + (T + )> + )> + ) + + ( + + + + + + )> + + + ) + ( + + )> + )> + + + + + + + + )> + + + ) + ( + + )> + > + + + + > + + + + > + )> + + > + + + + > + + + > + + ) + (T + )>> + + + > + + ) + (T + )>> + +> + ) + ( + > + )>) + (T + )> + + + )> + + + + + + )> + + + + + + + > + > + + ) + (T + )>) + (T + + ) + (T + )> + + + )> + > + + + > + )> + )> + + + + )> + ) + + ( + + + + + )> + + + ) + ( + + + )> + ) + + ( + + + + + + > + )> + )> + + + ) + ( + + + )> + ) + + ( + + + )> + + + ) + ( + + + )> + ) + + ( + + + )> + + + ) + ( + + + )> + )> + + + + + )> + + + ) + ( + + )> + > + + + + > + )> + + > + + + )> + + + + )> + + > + + + + )> + + > + +> + > + + + + )> + > + + + + + + + + + + + + + + ) + ( + + ) + ( + + ) + (T + )>> + + + + + + + + + )> + + + + + + + )> + + + + + + + + ,IN-FROON ,FARM-DOOR> + + ,IN-FROON ,FARM-DOOR> + + + )> + + > + ) + ( + + + )> + + + ) + (> + + + + + )> + + + + )> + ) + ( + + + + + + + + )> + + + + ) + ( + + + )> + + + )> + ) + (T + + )>> + + + + + + + + )> + + + )> + )> + + + + + ) + ( + + + + + + + + + + ) + ( + + + + ) + ( + + + + ) + ( + + ) + ( + + + + ) + ( + + + + ) + ( + + ) + ( + + + + + + + + + + + ) + ( + + + + + + + ) + ( + + ) + (T + )>> + + + + + )> + > + > + + + + + + ) + ( + + + + + + )> + ) + (> + ) + ( + + ) + ( + + + ) + (T + )>> + + + + + + + + > + + + +) X) + > + + + + ) + ( + )> + + + ) + ( + )> + + + + )> + + )> + + ) + ( + + ) + ( + )> + + + + ) + ( + )> + ,PERIOD> + > + + + + + + + + + + > + + + + + + + )> + + )>)> + > + + + +> + ) + ( + + + + + + + + > + )> + ) + ( + + ) + ( + + ) + (T + )>> + + + + + > + + > + +> + )> + + + 1> + + + )> + + + ) + ( + + + + + ) + ( + ) + ( + )> + + + ,PERIOD>)> + + + )> + >>> + > + +; + + ) + ( + 4 1>> + 4 1>> + 4 1>>> + + + ) + ( + )> + + + 5 1>> + CR> + )> + CR> + ) + (T + )>> + + + +> + + + + 1> + + ; + + ) + ( + + + + + + + ) + ( + + ) + ( + + )> + + ) + ( + + + )> + + > + + + +", and you feel strength drain from your body." CR> + + )> + ,PERIOD> + ) + ( + + + )> + ) + ( 5 1>>> + + + + + + + + )> + > + + + + + )> + + + + )> + + + )> + > + + + +> + + + + + )> + + )> + + ) + ( + )> + + + >> + + + + + )> + + + + ) + ( + + )> + + + + > + + + + + +> + + + + + + ) + ( + + + ) + ( + )> + + + + + )> + + ) + ( + + ) + ( + + + + ) + (T + )>> + +> + + + + + + + > + + + ) + (T + )> + + ) + (T + )>) + (T + )> + + + > + +> + ) + ( + + + + + )> + + + ) + ( + + ) + ( + )> + + + + > + +> + ) + ( + + ) + ( + )> + + + + + + + + )>)> + + > + +> + > + + > + + + ) + () + ( + )> + + + + + + + + + )>)> + + )> + + + 1> + + + )> + + )> + + + + + ,PERIOD> + )> + > + + + + ) + (T + )> + > + )> + + ) + ( + + + + )> + + )> + + > + )> + + > + + + + + > + + + )>)> + + ; "Is player in a room adjacent to mama?" + + > + > + + > + + > + ,CONNECT ,SCONNECT>> + > + ) + ( + + )>)> + + )>>)> + + + > + + + +> + ) + (> + )> + + + + + + + + + + + + + + + + ) + ( + + ) + ( + + + + + ) + ( + + + ) + (T + )> + + + + )> + + + ) + (T + )> + + ) + ( + + + + ) + (T + )>> + +> + ) + (> + )> + + + + + + + + ) + ( + + ,READING-IQ>> + ) + ( + ) + (T + > + + >)> + + ) + ( + + ) + (T + )>> + +> + ) + (> + ) + ( + + + + + + + + + + + ) + ( + + + + + ) + ( + + + + + ) + (T + )> + + + ) + (T + )>> + +> + ) + (> + )> + + + + + + + + + + )> + + + + + )> + + + + + ) + ( + + + + ) + ( + + + + + ) + (T + )>> + +> + )> + > + + > + ) + ( + >>) + ( + + + + >> + )>)> + + + ) + ( + + ) + ( + )> + + + ,PERIOD> + ) + ( + + + ) + ( + )> + + + + ) + ( + + + + + + )> + + > + + > + > + + + + )> + THE .L ,PERIOD> + )> + >) + ( + ,PERIOD> + )> + >)> + + ) + (> + + >)> + ) + ( + )> + >> + +> + )> + + + >> + + > + > + + + ,OPENED>> + + >> + > + ) + (>) + (> + >>) + ( + >>) + ( + >> + + + ) + (T + + )>)>)> + + )>> + + ) + ( + >) + (T + + + >)> + > ,XROOM>> + + + + ) + ( + + )> + > + + + + + >)> + + > + + + + + + + + + ) + (T + + )> + + + > + + >)> + >)> + + > + +> + + ) + (> + ) + ( + + + ) + ( + + + + ) + ( + )> + + + + >) + (T + > + + ) + (>) + ( + ) + (T + )> + )> + + ) + (> + ) + ( + + + ) + (T + )>> + + + + +> + ) + ( + + )> + + + + + > + + + + + )> + + + >)> + + + + )> + + )> + + ) + ( + C ,EXCLAM> + + + + ) + ( + + + + + ) + ( + + + + ) + ( + + + + + + )> + + + ) + (T + )> + + + )> + + + ) + (T + )>> + + + + + > + + ) + ( + ) + (T + )> + + + ) + (T + )>)>)> + + > + + + C ,EXCLAM> + + )> + > + + + > + + ) + ( + ) + (T + )> + + > + +> + ) + ( + + )> + + + + + + + ) + ( + + + + ) + ( + + ) + ( + + + + + + )> + + + + + > + + + + + + + + > + + + + +> + + + ) + ( + )> + > + + ) + ( + + + + + + )> + ) + ( + ) + ( + + + ) + ( + + ) + (T + )>> + + + +> + )> + + + ) + ( + + ) + ( + + ) + ( + + + ) + ( + + + + + >> + + )> + + + >> + + + > + > + + + + > + + + ) + (T + )> + )> + )> + )> + ) + ( + + + + + + ) + ( + + + + + >> + )> + ) + ( + + + + + + + + + ) + ( + + + ) + ( + + ) + ( + + + + ) + ( + + + + + + + + + + ) + (T + )>> + +> + ) + ( + + ) + (T + )> + + + + + + + + + + + )>) + ( + + + + ,PERIOD>)> + + > + + + ) + ( + ) + (T + + > + )> + + > + + + > + )> + + + > + + + > + )> + > + ) + (T + )> + + + ) + (T + )> + + + + + )> + + + + + + > + > + > + ) + ( + )> + + + )>>)> + > + + > + + + +> + + + > + 2> + )> + + > + )> + > + + + > + +> + > + + >> + > + + + + + + )> + + + + )> + + )> + + )>>> + + + + + ) + ( + ) + (> + )> + > + + 1> + + )> + + + ) + (T + )> + + ,EXPERIENCE T> + + > + )> + + + + ) + (T + )> + + > + + + ) + ( + ) + (T + )> + > + ) + ( + + )> + + + + )> + + + ) + (T + )> + + > + + + 1> + + > + )> + + + + + + + ) + ( + + > + + + )>)> + + )> + + > + + + + + )> + + > + )> + + ) + (T + )>> + + + + + + + )> + + + + + + + + + > + )> + + + ) + + ( + + + )> + + + + + + + )> + + > + )> + + + + )> + + ) + + ( + + + )> + + > + )> + + + + ) + ( + + )> + + ) + (T + )>> + + + ) + (T + )> + + ) + (T + > + )> + )> + + + )> + + > + +> + > + + )> + + + )>>)> + + + > + + + + + +> + + + + + + + + + + ) + (T + )> + )> + + + + + + + + + + + + + + + + )> + + + + )> + + + + + + + ) + (T + + )> + + )>)> + + + + + + + + >> + + )> + + )> + + ) + ( + + + + + + ) + (> + )> + + + + + + )> + ) + ( + + + + + ) + (> + )> + + + + + )> + ) + (T + )>> + + + + > + + + > + ) + ( + + ) + ( + )> + + + > + .X ,PERQ> + )> + ,PERIOD> + ) + ( + ) + ( + + + + >> + + + + ) + (T + )> + + + ) + (> + + + )> + + + + + + + + + + )> + ) + (> + + + )> + + + + + + + + )> + ) + (T + )>> + + + > + + )> + + + > + +> + )> + + + > + + + + + + + + + )> + + + + + + ) + ( + ) + ( + )> + + > + +> + ) + ( + + ) + ( + )> + + ,PERIOD> + > + +> + ) + ( + + )> + + + + )> + + + + > + > + + + + + + )> + + + + > + + + + + > + + + + + + + + ,FARM-ROOM ,FARM-DOOR> + + ,FARM-ROOM ,FARM-DOOR> + + ,IN-FARM ,FARM-DOOR> + + ,IN-FARM ,FARM-DOOR> + > + + + + + > + + + > + > + + .STAT>) + ( + )> + + )>> + + > + + + > + > + + ,STRENGTH>) + ( + )> + > + + + > + + >> + )>>)> + + > + > + > + > + + + + )> + + )>> + + > + + + + > + + + + + + + + + + )>)> + > + + + + + + + ) + ( + + ) + ( + + ) + ( + + ) + (T + + )>> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/macros.zil b/macros.zil new file mode 100644 index 0000000..1fda295 --- /dev/null +++ b/macros.zil @@ -0,0 +1,277 @@ +"MACROS for BEYOND ZORK: + Copyright (C)1987 Infocom, Inc. All rights reserved." + + + + + + + (N NUM) * + (D DESC) * + (A AN) * + (AO ANO) + (CA CAN) * + (CAO CANO) * + (CHAR CHR C) * + B * + THE * + CTHE * + THEO + CTHEO + THEI + CTHEI > + +> + +> + +> + +> + + + + ) + ( + ) + (ELSE + )>>)> + + )> + > + + + >>) + (T .ATM)> GVAL>) + (ELSE .ATM)>)>>> + > + 4> + )>> + !>)>>> + + >> + +; > + +; > + +; > + +; + + ) + (<==? .X FSET?> +
) + (ELSE + )>>)> + > + > + + .ATM) + (ELSE + )>> + !.O)>>> + + >> + +>>> + +> + +> + +> + +> + +> + + 2> 1>> + +> + +> + +> + +>> + + + ) + (T + .NUM)>> + +; + >> + )>> + +>> + +>>> + + + >> + + + >> + + + >> + + + >> + + + >> + + + >> + + + >> + + + >> + + + >> + + + >> + + + >> + + + >> + + + > + 3> + )> + + > NOUN>)> + + > ADJECTIVE>)> + <3 .OBJ>>> + >)> + + + +> + +> + + 100>> + + .Y>> + + .BITS>>> + +"*** NEW EXIT MACROS ***" + + "Exit type: MSB identifies type, LSB specifies length." + "Exit room/function/string (depending on XTYPE)." + "Auxiliary exit data (not used in all types of exits)." + + + + + + + + + + + +> + + .ROOM>> + + .ROOM>> + + .ROOM>> + + .ROOM .STR>> + + .ROOM .DOOR>> + + .FCN>> + +> + +)) + > + +; + .BIT>) + (T + )>> + + diff --git a/misc.zil b/misc.zil new file mode 100644 index 0000000..a09650d --- /dev/null +++ b/misc.zil @@ -0,0 +1,3269 @@ +"MISC for BEYOND ZORK: + Copyright (C)1987 Infocom, Inc. All Rights Reserved." + +"*** ZCODE STARTS HERE ***" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "Host machine ID." +> "Charsets available?" +> "Color available?" +> "Graphics available?" + "Pixel width of mono chars." + "Pixel height of mono chars." + "Character width of screen." + "Character height of screen." + "Width of status bars (in characters)." + "Width of a complete status bar." + "Width of status line and DBOX window." + "Justify and display width for DBOX." + "Left edge of mouse mindow." + "Number of pixels/character." + "Current height of DBOX." + "Maximum height of DBOX." +> "Vector to stat-printing routine." + + + + + + + + + + + + + 1>> + + + + + + > + +>>> + +> + +) + PTBL OBJ1 TMP X) + + > + + > + > + >)> + > + + > + > + + > + > + + ) + ( ,IT> + + + )>> + + + + ) + ( ,IT> + + )>>)> + )> + + + ) + ( + + > + + >)> + ) + ( + > + + > + )> + + > + >)> + + >) + ( + ,P-SONUMS>> + > + >) + ( + + ) + (T + + + > + > + ) + ( + > + >) + (T + > + .X>)> + + >)>) + ; ( + + > + >) + (T + + > + + )> + > + + + + > + )> + + > + )> + + > + ) + (T )> + ) + ( + )> + )> + + >) + (T + >)> + + 0> + ,W?ALL ,W?EVERYTHING>> + + + ) + ( + > + ) + (> + ) + ( + )> + + > + )> + ) + (T + > + )> + )> + )> + + + + + + )> + > + + )> + > + + )>>)> + + >)>) + (T + >)> + + > + >>> + >)> + > + > + > + > + +> + + > + ) + ( + + ) + ; ( + ) + ( + >> + ) + ( + ) + (> + >> + ) + ( + >> + ) + ( + > + ) + ( + )> + ) + (> + ) + (> + > + ) + (T + )>) + (> + + ) + ( + ) + ( + ) + (T + )>) + (T + )>> + + + +> + + )> + > + +> + .TBL> ,C-INTLEN>> + + ) + (> + > + )> + )> + > + +"This version of QUEUE automatically enables as well." + +)) + > + > + + + ) + (T + + ; + )> + > + >)> + + ) + ( .RTN> + + ) + (> + )> + >> + + >>)> + + > + +> +> + + + + > + )> + > + > + + + + )> + ) + ( + > + + 3>> + ) + ( + + > + )> + + )> + > + > + + + ; )> + > + + )> + + > + )>)>)>)> + > + + >)>> + > + + "Which stat NOT to refresh." + + + + + >> + )> + + > + > + + >) + ( + ) + (> + > + + )> + + > + + )>) + (T + > + + )>)> + + ) + ( + + >> + )> + + + + )>)> + + )>> + + + ) + ( + ) + ( + )> + + + ) + ( + )> + + > + )> + + + >> + + ) + ( + ) + (T + )>> + + + ) + (T + )> + + + + ) + ( ,ENDURANCE> + )> + > + +> ; "Establish host machine ID." + 1>> + 8>> + + + + ,MAC-DOWN-ARROW> + )> + + > ; "Pixel width of chars." + > ; "Pixel height of chars." + > ; "For IBM." + > + + + > ; "Get pixel width of screen." + > ; "Screen width in chars." + + )> + + > ; "Get pixel height of screen." + > ; "Screen width in chars." + + >> ; "Width of DBOX." + + + )> + 1>> + + 1>> + 5>> + + + + + + + + + + + >> + )> + > + +> + > + + > + + + > + + 2>> + > + + + + )> + > + .X> + > + +> + + > + + + + > + +> + + + + + > + +> + +> + > + > + > + + + + + + )> + + + + + + + <2C-BOX>) + ( + )> + )> + + + > + 1>> + + + + + + + )>> + + + + + + + + )>> + + + + + + + + + )>> + + + + + + ) + ( + )> + > + + + > + + 1>> + + + + + + + )>> + + + + + + + + )>> + + + + + + + + + )>> + + + > + + + > + + ; "Draw bottom edge." + + 2>> ; "Right edge." + + + + + )>> + + ; "Do sides." + + + + + + + + )>> + + > + +> + ) + () + ( .LEN 1>> + > + + >> + .DEST .X>)> + >)> + + + + + ,P?UP ,P?DOWN> + > + ) + (T + > + > + + >)> + >> + + + )> + 127>> + + > + + >)> + > + > + > + + >)> + > + > + + > + + >> + + )> + ; + + )> + + )>>)> + + + > + + )> + + > + + + + )> + + + + + > + + + + >)> + > + + + > + + + + + + > + ,SLINE .LEN> + + + + + + > + >> + .X .LEN> + + > + + + +> + + > + ) + ( + + + + )> + )>> + + + ) + (T + )> + > + > + + + %<- 0 <- ,SLINE-LENGTH 1>>> + + + > + + + > + 2>>> + .X .LEN> + > + + + + ) + ( + > + + >) + ( + > + + >) + (T + )> + + + + + ) + ( + > + + >) + ( + > + + >) + (T + )> + + > + +) + ( + + )> + + > + + + + > + + )> + )> + > + + + )> + >> + + + + +> + +> + + + >) + (T + + + > + + > + + )> + > + + )>)>)> + + > + + + + %<- 0 <- ,MAP-SIZE 1>>> + + > + +> + + .LEN 1>>>> + > + ; "> + )> + + )> + + + + > + + >) + (T + >)> + > .X .CHAR> + ; + )>)> + + + + + )> + + > ; "Very important!" + > + ; "Assume exit edges." + + ; "Get attributes of a direction." + + >> + + > + > + >)> + + + >> + ) + ( + + > + + )>) + (T + > + + >> + ; "> + ) + ( + + + ,OPENED>>>> + )>)> + > + > ; "Establish offsets." + > + > ; "Do room edge." + > + + > + + >> + )> + > + + > + + )>) + ( + >)> + > .NX .CHAR> + ; + )> + ; "If no exit ..." + + ; "Or no connection ..." + + > + + >> + )> + >> + > ; "Continue the path." + + + + + >)>) + (T + + + >)>)>) + ( ; "For closed doors." + + + )>) + ( + >)> + > + > + + > + + >> + )> + > .NX .CHAR> + ; + )> + + )>> + ; "If it's an FCONNECT ..." + ) + ( + ) + ( + 1>> + ) + (> + )> + >> + >> + + + + > + )> + >> + +> + + >) + (> + >)> + > + + + + )> + > + + + )>)> + > + + > + + + )>)> + > + + > + + ) + ( + ) + ( + )> + )> + > + +> + > + + > + + .EXIT-WORD> + .ROOM>> + )> + + )>> + + ; "Exit is unique, so see if it's open." + + > + > + + ) + (> + ) + ( + ) + ( + ,OPENED>> + ) + ( + > + ) + (T + )>> + +> + + .LEN 1>>>> + > + ; "> + )> + + )> + + + + > + + >) + (T + + + )>)> + > .X .CHAR>)> + + + + + )> + + > + > + >> + + )> + > + > + > + + ; "> + ) + ( + ) + (> + ) + ( + ) + (T + > + + >> + ; "> + )>)> + ; "No connection ..." + + > + + >> + )> + > + > ; "Establish offsets." + > + > ; "Continue the path." + + + + + >)>) + (T + + + >)>)>) + ( + + ,OPENED>>>> + + + )>) + ( + >)> + + + > + > + + > + + >> + )> + > .NX .CHAR> + + )>> + ; "If it's an FCONNECT ..." + ) + ( + ) + ( + 1>> + ) + (> + )> + > + > + + + + > + )> + >> + + + )> + + )> + + > + +> + )> + + + + + )> + + > + + + + + + )> + + )> + + 1> + + + )> + > + +"Mark each visible exit as TOUCHED by setting bit 7 of XTYPE word." + + + > + + > + > + > + ) ; "Already marked?" + ( + + > + + ,OPENED>>> + >)>)> + + )>>> + + + + + + + > + +) "AUX" (INDENT 0) X) + + > + )> + + + )> + + + + )> + + ) + ( + + + + )> + + + + + + ) + ( + + + + ,PERIOD> + )>)> + + > + > + + )> + + )> + + > + + + + + + >>> + + )> + )>)> + + + + + > + )> + > + + + + + + + + > + +> + > + > + + >)> + + + )>>> + + + > + ,SLINE .LEN> + + + > + + + > + >> + .X .LEN> + + + + + + > + + + + + + + + ) + (T + ; "List N-NW, remember in GOOD-DIRS." + + >> + + > + > + + + > + + ,OPENED>>> + > -4> + + >)>)> + + )>> + > ; "Point to XROOM entries." + >> + + > + > + + + > + + ,OPENED>>> + >> + + .PTR 8 132>>>> + + >)>)>)> + + )>> + + )>)> + + + > + + "Number of lines in current DBOX." + "Top line to be displayed." + + "Current contents of DBOX." + "DBOX to update if visible." + + + + %<- 0 <- ,DBOX-LENGTH 1>>> + + + > + +) + LINE BASE LEN PTR CHAR X SOURCE DEST END XLEN) + + > + + > ; "Skip over length word." + >> + > + + .LEN>> + )> + > + ; + > + + + > + + > + )>> + > + > + > + .X>>> + + + + )> + >)>) + (T + + + )> + > + + >> + > + + > + + )> + > + >> + + + )> + + > + )>>)> + > + > + )>> + + > + + + > + > + + >>)> + + + ) + ( ,DHEIGHT> + + )> + + + + ; "Nudge it over." + ) + ( + > + )>)> + + + )> + + >>)> + + > + +) "AUX" X) + + + + )> + + + > + + + ) + (T + )> + + > + + ) + (T + )> + >) + ( + > + > + + > + + + + )>) + ( + + + )>) + (T + + + )>)> + + >) + (T + > + + )> + + + ) + (T + )> + )> + + > + + + +> "Object currently being described." + + + + ) + (>> + )> ; "Nothing here, so scram." + + ; "Handle vehicles." + + > + > + + > + + + + + + )>)> + + ; "Hide invisible objects" + + > + > + + > + )> + + + )>>)> + + ; "Apply FDESCs." + + ; > + > + > + + >> + + + )> + + + )>>)> + + ; "Apply DESCFCNs." + + > + > + > + + + + + + + )> + + + )>>)> + + ; "Print whatever's left in a nice sentence" + + + > + + + ) ; "Nothin' left." + ( + > + )> + + + )> + > + + + + + ) + ( + ) + (T + )>) + (T + + ) + (T + )>)> + + + + + > + + + + )> + + > + )> + + > + ) + (T + + >)> + > + > + + + + ) + ( + ) + ( + ) + (T + )> + + + + >> + )>>)> + + )> + + )> + > + + + > + +> + ) + (> + )> + >> + )>>)> + > + + + ) + ; ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + (> + ) + ( + ) + ( + ) + (T + )>> + + ,NOT-HERE-OBJECT> + ) + ( + + )> + )> + > + + ) + (> + > + ) + (T + )>> + + + ) + ( + ) + ( + )> + >>> + + ,NOT-HERE-OBJECT> + ) + ( + + )> + ) + (> + )> + > + ,GLOBAL-OBJECTS> + ) + ( ,HERE> + ) + ( + > + ) + ( + > + ) + (T + )>> + +> + + + ) + ( + > + + + )>)> + + > + +> + )> + + > + +> + )> + + > + +; + > + )> + + > + +> + )> + + > + +> + )> + + > + +) + ( + + >> + ) + ( + ) + (T + )> + + > + +) + ( + + >> + ) + ( + ) + (T + )> + + > + + + + > + + + + > + +"Don't call this when you're in Screen 1!" + + + + + + > + + + ) + ( 8> ; "Italics?" + + > + > + + + >> + + + ) + (T + )> + + )> + > + + )> + > + + > + >)> + + + )> + > + > + +) (WORD3 <>) + "AUX" O I OOF IOF) + + ) + (> + > + > + > + >) + (T + > + > + > + >)> + + > + + + >> + ) + ( + ) + ( + > + + + >> + ) + ( + ) + ( + > + + + >> + ) + (T + )>> + +) (WORD3 <>) "AUX" O I) + + ) + (> + > + >) + (T + > + >)> + + > + + + >> + ) + ( + ) + ( + > + + + >> + ) + ( + ) + ( + > + + + >> + ) + (T + )>> + +> + + )> + 2>> + + ) + ( .OLD> + + )>>> + +> + + )> + 2>> + + ) + ( .OLD> + + )>>> + +> + + )> + 2>> + + ) + ( .OLD> + + )>>> + + "Y-pos of status bar display." + "X-pos of status bar display." + +> + + + + + + %<- 0 <- ,DBOX-LENGTH 1>>> + + > + > + + + 2> 1>>)> + > + )> + + + + + + > + > + + )>> + + > + + + > + + > + + + > + >> + + ) + ( + )> + + > + + ; "Clear bar." + > + .X> + + > ; "Solid char." + > ; "# solids to print." + > ; "Maximum." + + + )> + + + )>> + >> + + ; "Install caps at both ends." + ,RCAP> + + > + > + + + > + + > + + + > + > + + + )> + + > + + + ":"> + > + + )> + + + )> + + + )>> + + + > + +) + "AUX" (NEWRANK 0) + NSTAT OSTAT MAX OMAX NLVL OLVL X) + + )> + > + > + + ) + () + ( + )> + + )> + + + > + ) + () + (> + > + + ) + ( + )> + )> + + > + )> + + + > + > + + + >> + + )>)> + + + > + )> + > + + + ) + (T + + + + ) + (T + )>)> + + + + )> + + + + )> + + + ) + ( + ) + ( + + + + + > + + )>> + + ) + ( + )> + ) + () + ( + > + )> + + + > + + " gives out"> + )> + > + +> + ) + ( + )>>> + + + > + 10>> + + )> + > + + ) + ( + )> + + + )> + >> + +> + + )> + > + + )>>> + + + + + + > + + + + + > + +) + (> + )> + > + > + + > + )> + + )>> + > + + ,LIGHTED>>)> + > + + + +> + + + + )> + + > + + + )> + + > + )> + + + )> + + )> + > + + + ) + ( + > + ) + ( + + >> + )> + > + +> + + + ) + ( + + ) + ( + ) + (T + )>> + + + > + + .OBJ2> + ) + ( + ) + ( + > + + >>> + + + + ) + ( + ) + ( + ) + (T + )> + + ) + (T + )>> + + + > + +) + (>) + () + () + (> + >) + ( + >) + ( + ) + (> + )> + + + > + + + > + + + > + +> + ) + ( + ) + (T + )>> + +> + .X 1>> + ) + (T + )>> + + + )> + > + .X 1>> + ) + (T + )>> + + + + )> + + > + +"*** THE MONSTER MACHINE ***" + + + + + + ) + ( + > + + > + + )> + + + )> + > + + ) + ( + ) + (T + )> + + > + + " in the darkness"> + + )> + + > + +) + ( + >)> + + > + > + +> "Last monster that bothered you." + "Direction he came from." + + + + + + + + + + ) + (T + + + + )> + + + )> + + > + +> + + + )> + > + + > + + )> + > + + )> + )> + > + + + + > + + + ) + ( + > + > + > + > + + ) + ( + + ) + (T + )>> + + + + + + + + )> + + > + + + + > + + + > + + )> + + > + > + > + + >)> + >> + > + + )>)> + + + >> + 99> 100>> + + ) + (T + >)> + + )> + >) + (T + )>> + +"Returns ,W? of monster appearance, else false." + + + + + + )> + + + > + > + > + ; + "> + )> + > + > + + + > + ) + (> ,CONNECT ,SCONNECT ,X-EXIT> + > + > + > + >>> + ) + () + ( + >> + + + )> + > + + )>)>)> + + )>> + + + + > + ) + (> ,CONNECT ,SCONNECT> + > + > + ) + () + ( + + + )> + + )>)> + + )> + >)> + + ; "Can't move!" + ) + ( ; "Only one way out." + > + ,XROOM>>) + (T + > + + + > + ,XROOM>> + + )>>)> + + ; > + "> + )> + + ) + ( + )> + + + > + ) + ( + )> + > + > + + >)> + )> + + + + + + ) + ( + + )> + >>>> + +"Activates monster NXT." + + + )> + > + ; + + )> + > + + + > + ) + ( + >) + (> + + )> + + )>> + + >> + + ) + ( + > + )>>) + ( + >) + (T + + + >)> + + + + > + > + + + > + + + ) + ( + )> + + > + + + ) + ( + )> + >> + )>>)> + > + )> + > + + + + + > + + + )> + + > + + + )> + + > + + + + > + )> + + ) + (T + )>> + + + + + + )> + + )> + )> + >> + + + )> + > + > + > + + )> + + > + + >> + + )> + + > + +"Returns <> if battle should end, T otherwise." + + + + + 15> + ) + (T + )> + + > + + + ) + (> + + ,HANDS>> + )> + + ) + (> + + )> + + + + > + )> + > + > + + ) + ( + + ) + ( + + ) + ( + + ) + ( + + ) + ( + >> + + ) + ( + + ) + ( + + )> + > + > + + + + + > + > + + + )> + >> + > + >)>)>)> + + + ) + ( + ) + ( + )> + + + + )> + > + ; "Static killed it!" + )> + + + >)> + .DAM>> + + )> + > + + )> + + > + .DAM> 99> 100>> + + ) + (> + > + + )>)> + + ; "No important damage." + + + ; "Non-fatal damage inflicted." + > + > + + + + + + )> + + + + )> + + )> + + ; "Got the sucker!" + + + + + + )> + + ,HANDS>> + )> + + )> + + ; "Missed!" + + + + ) + ( + > + ) + (T + )> + + + )> + + ,HANDS ,FEET>> + )> + > + + + > + + + ) + ( + >> + )> + > + +> + + + + > + + + + + + + > + + + )> + > + + + )> + > + + + + + + + > + > + > + > + +> + > + + ) + (T + )> + + + + + ) + (T + )> + )> + + + + > + )> + + )> + > + + > + + + + ) + ( + + ) + ( + + ) + ( + + ) + (T + + )>> + + + > + ) + (T + )>> + +) "AUX" LEN OBJ X) + + > + + ) + ( + >> + + ) + ( + > + >> + + ) + ( + > + + ) + ( + > + + ) + ( + + > + )> + > + > + + > + 1>> + ) + ( + .OBJ>> + )>)> + + )>>> + +> + ) + ( + )> + + > + + + )> + > + > + ) + (> + )> + + )>>> + + + + + + ) + ( + >>) + (T + )>> + +> + + + ) + (>) + ( + > + ) + ( + > + )>> + > + + + )> + + + ) + ( + ) + ( + ) + (> + )> + ,PERIOD> + > + +> + + ) + (>> + )>>)> + > + + + + ) + ( + ) + ( + > + ) + (T + )> + + > + + + + )> + + > + + + + )> + + > + + + > + + + + + > + + + + ) + ( + + ) + ( + + ) + ( + + ) + (T + + )>> + + + + > + +> + )> + + > + + + > + + ) + ( ,HANDS ,ME> + + )> + > + )> + + > + + + + >)> + + + )>>> + + + + + > + + + > + +> ,MAC-UP-ARROW ,MAC-DOWN-ARROW> + ,UP-ARROW) + (T ,DOWN-ARROW)>) + (T .CHR)>> \ No newline at end of file diff --git a/monsters.zil b/monsters.zil new file mode 100644 index 0000000..2460230 --- /dev/null +++ b/monsters.zil @@ -0,0 +1,1558 @@ +"MONSTERS for BEYOND ZORK: + Copyright (C)1987 Infocom, Inc. All Rights Reserved." + +"*** DISCIPLINE CRAB ***" + + + +) "AUX" X) + + + > + + )>)> + ) + (> + >> + + ) + ( + + + ) + ( + + )> + ) + ( + + + ) + ( + + ) + (T + )>> + + + > + +"*** RATS ***" + + + +) "AUX" X) + + ) + ( + + + )> + ) + ( + + + ) + (T + )>> + +"*** SKELETON ***" + + + +"SEEN = not yet fought." + + + > + +)) + + + + ) + (T + + > + )> + + + + )> + )> + > + )> + ) + ( + ) + ( + ) + ( + + + )> + + + + + + + + + + + + + + )> + + ,EXPERIENCE> + ) + ( + + > + )> + + + + ) + ( + >> + + + ) + (T + )>> + +"*** GUTTER SNIPES ***" + + + +) "AUX" X) + + ) + ( + + + )> + ) + ( + + + ) + (T + )>> + +"*** ELDRITCH VAPORS ***" + + + +) "AUX" X) + + ) + ( + + + )> + ) + (> + + + ) + ( + + > + + + )> + ) + ( + + ) + (T + )>> + +"*** SPIDERS ***" + + + +) "AUX" X) + + ) + ( + + + )> + ) + ( + + + ) + (T + )>> + +"*** SLUGS ***" + + + +) "AUX" X) + + ) + ( + + + )> + ) + ( + + + ) + (T + )>> + + + + > + + + + )> + + + + + + > + +"*** DUST BUNNIES ***" + + + + + > + + + + + +) "AUX" X) + + + + + ) + (T + + ) + (T + )> + )> + + ) + ( + ) + ( + ) + ( + ) + ( + C ,COMMA + N >) + (T + )> + + ) + ( + ) + () + (> + )> + + + + + + )> + ) + ( + + ) + ( + + + + ) + ( + + )> + + + C ,COMMA + N >) + (T + )> + + ) + (T + )>> + + + + )> + + + + )> + > + > + + + + + > + +"*** DORNBEAST ***" + + + +)) + + + + + ) + ( + + )> + + ) + ( + + + ) + ( + ) + ( + + + )> + ) + ( + + + + ) + ( + + )> + + ) + ( + + )> + + > + + + )> + ) + ( + + ) + (T + )>> + +"*** BLOODWORMS ***" + + + + + > + +) "AUX" X) + + + > + + )> + + )> + ) + () + ( + >> + + )> + + + + )> + ) + ( + + + + + )> + + ) + (T + )>> + + + + )> + + > + + + + + + + + + + + + + + + + + + > + +"*** CROCS ***" + + + +) "AUX" X) + + ) + ( + + + )> + ) + ( + + + ) + (T + )>> + +"*** HOUNDS ***" + + + +) "AUX" X) + + ) + ( + + + )> + ) + ( + + + ) + (T + )>> + +"*** PUPPETS ***" + + + +) "AUX" X) + + ) + ( + + + )> + ) + ( + + + ) + ( + > + > + .X> + ) + ( + > + + )> + + + + ) + (T + )>> + +"*** UNDEAD ***" + + + +) "AUX" X) + + ) + ( + + + )> + ) + ( + + + ) + ( + + ) + (> + + ) + (T + )>> + +> + + )> + + + + + + > + +"*** GHOULS ***" + + + +) "AUX" X) + + + > + + )> + )> + ) + ( + + + )> + ) + ( + + + ) + (T + )>> + +"*** CORBIES ***" + + + + + ,PLAYER ,HERE>> + )> + + + + > + + )> + + + + )> + + + + >> + )> + + ) + (> + + )> + ) + (> + + ) + ( + + + ) + (T + )> + + > + + + )> + ) + ( + + ) + () + ( + + + )> + > + + ) + (T + )>> + + + + ,PLAYER ,HERE>> + + + )> + + + > + +"*** MONKEY GRINDER ***" + + + +) "AUX" X) + + + + + + )> + + ) + ( + > + + + )> + + )> + ) + ( + ) + ( + + + ) + ( + + )> + ) + ( + + + ) + ( + + ) + (> + + + + + >> + ) + (T + )> + + ) + ( + + > + + + )> + ) + ( + + ,HANDS ,FEET> + >> + )> + + > + ) + ( ,HANDS> + ) + (T + )> + + ) + ( + + ) + (T + )>> + + + + )> + + > + + + + ) + ( + + )> + + + + > + + + + + )> + + > + + + + + + + > + +) "AUX" L) + > + + + + ) + (T + )> + + + + + + > + +"*** UR-GRUE ***" + + + + + > + + )> + + > + +) "AUX" X) + + ) + ( + + + + ) + ( + > + + ) + ( + + )> + ) + (> + + ) + ( + + ) + ( + + ) + (T + )>> + + + > + + + + + > + + )> + + > + +"*** CHRISTMAS TREES ***" + + + +) "AUX" X) + + ) + ( + + + + > + + )> + ) + ( + + + )> + + ) + (> + + )> + ) + ( + >> + + + + ) + ( + + ) + ( + + ) + ( + + + + ) + ( + + ) + ( + + ) + ( + + ) + ( + + ) + (T + )>> + +> + >> + + + )> + + ) + (> + + + )> + + )> + + )> + + + + + )> + + ,PERQ> + > + +"*** GRUE ***" + + + +) "AUX" X) + + ) + ( + + + )> + ) + ( + + ) + ( + ) + ( + + + ) + ( + + + ) + (T + )>> + +"*** LUCKSUCKERS ***" + + + +)) + >> + + + +)) + >> + + + +)) + >> + + + +> + > + + + >> + + ) + ( + + + > + + + + )> + + ) + ( + + )> + ) + ( + + ) + ( + + ) + (> + + ) + ( + + ) + (T + )>> + +> + + + )> + + )> + + + + + > + + + + > + +"*** SNOW WIGHT ***" + + + + + + + > + + + + + + + + + + + + + + + + + + > + +) "AUX" X) + + + > + + )> + + )> + ) + () + (> + + )> + + + + )> + ) + ( + + + + + )> + + ) + (T + )>> + +"*** SHAPE ***" + + + +) "AUX" TBL X) + + + + > + ) + ( ,OPLAIN> + )> + + ; + )>> + >> +" plane."> + )> + ) + ( + + + ) + (> + + + )> + + ) + ( + + )> + ) + (> + + ) + ( + + ) + (> + + ) + ( + + ) + ( + + ) + (T + )>> + + + > + +> + + ) + (> + + )> + + + > + > + + + ,EXPERIENCE> + > + \ No newline at end of file diff --git a/parser.zil b/parser.zil new file mode 100644 index 0000000..f3a6f0a --- /dev/null +++ b/parser.zil @@ -0,0 +1,3397 @@ +"PARSER for BEYOND ZORK: + Copyright (C)1987 Infocom, Inc. All rights reserved." + + + +> + + +> + + + + + + + + + + +; + + + 2>> +> +> +> + +> + + +> +> "FIX #36" +> + + + + +> + + +> +> +> +> +> +> + "Which noun phrase is being parsed?" + +> + +> +> +> +> +> +> + + +> + + + + + + +> "Parse-continue flag." + +> +> +> +> + +> +> + +"Orphan flag" + +> + +> +> +> + +; > + +"Byte offset to # of entries in LEXV" + + + +"Word offset to start of LEXV entries" + + + +"Number of words per LEXV entry" + + + + +"Offset to parts of speech byte" + + + +"Offset to first part of speech" + + + +"First part of speech bit mask in PSOFF byte" + + + "In bytes (for COPYT)." + +> +> +> +> + + + + + + + + +; + + + + + + +> + +> + + + + + + + + + + + + + +> +> + + <> <> <>>> +> ; "FIX #44" + + + + + + +> +> + + + +" Grovel down the input finding the verb, prepositions, and noun clauses. + If the input is or , fall out immediately + setting PRSA to ,V?WALK and PRSO to . Otherwise, perform + all required orphaning, syntax checking, and noun clause lookup." + +) (OF-FLAG <>) + (LEN 0) (DIR <>) (NW 0) (LW 0) OWINNER OMERGED WRD X) + + )> + + > + > + > + > + > + > + > + + > + > + > + > + > + > + > + > + >)> + + > + > + + + + + + >> + + ,VEHICLE>> + >)> + >)> + + + + ; "FIX #36" + + > + )> + > + >) + ( + + > + + > + )>) + (T + + > + ,VEHICLE>> + >)> + > + + 4> + )> + ) + ( + + > + ) + (T + )> + ) + () + () + ( + > + + + + )>) + ( + > + + + + )>) + ( + > + + + + > + + )>> + )>)> + + + )> + "> + )> + > + ,W?QUOTE> ; "Quote first token?" + > ; "If so, ignore it." + >)> + ,W?THEN ,W?PLEASE ,W?SO> + > ; "Ignore boring 1st words." + >)> + + ,W?GO> ; "GO first word?" + >> + > ;" Followed by verb?" + > ; "If so, ignore it." + >)> + + + )> + > + + + )> + > + > + )> + + + + >> + )>> + + > + ,W?PERIOD ,W?COMMA> + > + >)> ; "FIX #38" + > + > + + ) + ( + ; "FIX #39" + > + ,W?QUOTE> + + )> + )> + + >> + ;"Fixes OOPS w/chars" + 6>> + 7>> + <+ <* ,P-LEXELEN> 3>> + + > + > + ) + (T + > + + )>) + (T + > + > + )> + >)> + ,W?AGAIN ,W?G> + + + >> ; "FIX #50" + > + + ) + ( + > + ,W?PERIOD ,W?COMMA ,W?THEN> + > + ,W?AND>> + >> + 2>>) + (T + + )>) + (T + > + 1>>)> + 0> + + ; + + ; ; "FIX #36" + ) + (T + >)> + ; > + + + + ; + + ; + ; "FIX #44" + + ; + ; + ) + (T + >)>>) + (T + ; "Fixed BM 2/28/86" + + ; + + ; + + > ; "FIX #37" + >>>> + > + >>> + > + + > + + + + + > + )> + > + + ) + ( + > + > + ; > > + + ) + (T + >>)> + + > + + ; + ) + ( + ; > + ; "FIX #40" + + > + + + ) + ( + > + > + + + )> ; "FIX #40" + + > + ) + ( + + + ,W?QUOTE> + > + >>> + + > + ) + (T + )>) + ( + >) + (T + )>)> + + >> + + ) + (> + ,ACT?WALK ,ACT?GO> + + + > + + > + ; + > + + + > + + >>> + + + + + ,W?THEN>)> + > + > + )>) + (> + > + ; "For RUN, etc." + + + + + 2>> + > + >>) + (> + + + + > + ; "Fix for new zilch, 3/12/87." + ; "1 IN RETROFIX #34" + + > + + > + >> + ; + )> + ; "Save OF-word" + ) + ( + + >> + + + + )>) + ( + + ) + (T + > + + > + + ) + ( + > + )>)>) + + ( ; "RETROFIX #34" + + > + + ) + (T + >)>) + () + ( + > + + ) + (T + + )>) + (T + + )> + + >>)> + > + + + + ; "FIX #44" + + > + )> + > + > ; "FIX #44" + + > + ) + ; (T + )> + ; > + )> ; "Why was this here?" + + + + ; + > + >> + )> + > + +> + > + > + + + >>> + > + >> + + + >> + >> + + )> + + + > + +"Check whether word pointed at by PTR is the correct part of speech. + The second argument is the part of speech (,PS?). The + 3rd argument (,P1?), if given, causes the value + for that part of speech to be returned." + + + > + > + ) + ( + )> + > + > + >)> + >> + +; + > + + + )> + > + > + )> + >) + (T + )>> + +"Scan through a noun phrase, leaving a pointer to its starting location:" + +) (LW 0) + OFF NUM NW) + 2>> + + > .VAL> + .WRD> + >) + (T + >)> + + > + )> + > >> + ,W?THE ,W?A ,W?AN> + ,W?$BUZZ>> + ; ,W?THE ,W?A ,W?AN> + 4>>)> + + >> + )> + > + + ) + ( + > + > + ; >> + + ) + (T + >> + ; "FIX" + >>)>)> + ; + + ,ACT?MAKE ,ACT?TAKE>> + + )> + + >> + + > + ) + (T + )>) + ( + > + ) + ( + ) + ( + ; + > + + > + >)>) + ( + + + >> + > + + >> + >) + ;"3/16/83: This clause used to be later." + ( + > + ;"10/26/84: next stmt changed" + >> + > + ,W?THEN> + >) + ( + + + >> + .WRD>) + ( + + >) + ( + > + >> + + 2>>> + ) + (T + >)>) + + ; "Next clause replaced by following one to enable OLD WOMAN, HELLO" + + ; ( + + >> + + >>) + () + () + ( + >> + > + ,W?THEN> + >) + () + (T + + )>) + (T + + )> + + > + >>> + +> + >> + + )> + > + +> + + >> + + > + >> + ) + (>> + )>>)> + > + + + ) + (T + )> + + > + > + + + + + > + )> + > + + + + > + ) + ( + + ) + ( + + ) + ( + + ) + (T + + )>> + +> + + > + + ) + (> + >) + (T + > + > + )> + + > + + > + +) (I <>) + "AUX" (V <>) (WHO <>) OA OO OI ONP X) + #DECL ((A) FIX (O) (I) ) + > + >> + + + + )> + + + + + > + + > + >> + + ) + ( + >> + + ) + (> + + + > + + ) + ( + + > + + + )> + + )> + + + + + ) + (T + + )>) + (T + + )> + + )> + + )>)> + + >> + + ) + (T + )> + )> + + + + )> + + )>) + (T + + ) + (T + )> + )>)> + + + + > + )> + + )> + + )>) + (T + + ) + (T + )> + )>)> + + + + > + )> + + )> + + )>) + (T + + ) + (T + )> + )>)> + + )> + + )>)> + + + + + > + > + > + > + + >)>)> + + > + + )> + + + + + + ,M-WINNER>>)> + + ,P?ACTION> ,M-BEG>>)> + + >>)> + + ) + (> + + ) + (> + > + ,P?CONTFCN>> + + >)>)> + > + ) + () + (> + > + ,P?CONTFCN>> + + >)>)> + + ) + ( + >>)>)> + > + ) + () + (> + >>)> + + + >>)> + + > + ,P?ACTION> ,M-END>)> + + + + + + > + +) "AUX" OBJ) + > + ) + ( + + + )>) + (> + )>)> + >> + )>>)> + + + + ) + (T + )>> + +> + .LEN>> + + )> + > + .LEN>> + + + + )> + > + .LEN>> + > + + + )> + + + )> + + > + > + .LEN>> + + )>)> + + > + > + > + >> + + )> + + )>> + + + > + + + + )> + + + > + + + )> + > + +> + > + + >> + ) + (T + )>> + + + +"For AGAIN purposes, put contents of one LEXV table into another." + +; > + > + > + 2>> + > + 3>> + > + > + + )>>> + +"Put contents of one INBUF into another." + +; 1>> + > + + )>>> + +"Put the word in the positions specified from P-INBUF to the end of +OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV." + +> + + ) + (T + >> + >>>)> + > + + >> + + + )>> + + .LEN> + > + +; > + +) (EXC <>) ; (DOLLAR 0) + CNT BPTR CHR CCTR TMP NW) + >> + > + > + + )> + + )> + > + > + + )> + + ) + (> + + )> + + ) + ( + ) + ; (> + ) + ( 1>> + 1>>> + <- .CHR %>>>) + (T + )> + > + + >> + ; + + > + >>> + + + )> + .TMP>> + > + + )> + > + >>> + 2> + > 2> 2>>> + 3> + > 2> 3>>> + > + 2>>>)>)> + ; + >) + ( + + >) + ( + )> + + ) + ( + ) + ( + + + ) + () + ( + ) + () + (T + >)> + >>) + (T + )> + ; + + ; + > + )> + ; > + > + +; > 2>> + > 3>> + + )> + > + + )> + + > + <- .CHR 48>>>) + (T + )> + > + + ) + ( + >)> + > + +"Old ORPHAN-MERGE." + +; ) WRD) + > + 0>> + ,PS?VERB ,P1?VERB> + > + > + ) ; "FIX #45" + ( 0>> + ,PS?ADJECTIVE ;,P1?ADJECTIVE> + ) + ( + > + + + > + > + )> + >> + + >>> + ) + ( + ) + ( 1> + > + > + > + + > + > ;"? DELETE?" + >)> + ;"? DELETE?" + )>) + (T + > + ;>)> + >) + (T + )>) + ( 1> + > + > + > + + > + > ;"? DELETE?" + >)>)> + > + > + ) + (T + )>) + ( + > > + > + ) + (T + > + + > + >)> + > + > + + + + ; + ) + (T + > + )>) + ( + + ,PS?ADJECTIVE> ;"same as WT?" + >> + ) + ; ( + + ; + ) + ( ,PS?OBJECT> + + + ; ) + (T + + ; )> + )> + > + + + + > + )>>)>)> + > + > + > + + + ; 0>> > + + + )> + >>> + +"New ORPHAN-MERGE." + +) TEMP VERB BEG END WRD X) + > + 0>> + > + .X> + > + ) + ( + > + + + > + > + )> + > + + + >>> + ) + ( + ) + ( 1> + > + + >> + + > + > + >)> + + )>) + (T + >)> + >) + (T + )>) + ( 1> + + > + + >> + + > + > + >)>)> + > + > + ) + (T + )>) + ( + > + > + > + ) + (T + > + )> + > + + > + >)> + > + > + + + + ) + (T + > + )>) + ( + + + ,PS?ADJECTIVE> ;"same as WT?" + + ; >> + ) + ( + + ) + ( ,PS?OBJECT> + .END>> + + ) + (T + )> + )> + > + + + + > + )>>)>)> + > + > + > + + + ; 0>> + > + + ; + ; + + )> + >> + + + + > + +"ACLAUSE- and NCLAUSE-WIN are replaced by CLAUSE-WIN." + +; > + > + + > > + > + > + +; > + > > + > + > + +) X) + + + >) + (T + )> + + + + )> + .X .ADJ> + + ; + ,P-OCL1) + (T ,P-OCL2)> .ADJ> + + 0>> + )> + > + > + +"Print undefined word in input. PTR points to the unknown word in P-LEXV" + + + + )> + > + >)> + > + + +> + + + > + > + >> + > ; "Length of word typed." + > ; "Starting offset into P-INBUF." + + + )> + > + + + > + + )>>)> + + > + > + "]" CR> + > + +" Perform syntax matching operations, using P-ITBL as the source of + the verb and adjectives for this input. Returns false if no + syntax matches, and does it's own orphaning. If return is true, + the syntax is saved in P-SYNTAX." + + + + + + + + + + + + +) (DRIVE2 <>) + SYN LEN NUM OBJ PREP VERB X Y) + > + + + )> + >> + > + > + ,P-SONUMS>> + > + > + ) ; "Added 4/27/83" + (> + + > + ) + (> + + > + ) + ( + > + + > + )>)> + + + > + )> + + )> + >> + + > + > + >> + + + + + > + )>)> + ; > + ; > + ; >> + ; + > + + + + > + )> + ; + + >> + + > + > + >> + + + + + > + )>) + ; ( + > + + + + > + ) + ( + + )> + + + ) + (T + )> + + ) + ( + ,PERSON>> + + ,PERSON>>> + ) + (T + )> + + ) + (T + )> + + + + )> + > + + ) + (T + )>> + + + ) + (T + > + )> + > + +> ;"? ,P-OTBL?" + + ) + (> + >) + (T + > + > + )>> + + + + )> + > + > + > + + ; + ; + )> + >> + + + + )> + > + )> + + > + ) + ( + > + )> + > + +> + .THE?> + > + +) WRD (FIRST?? T) (PN <>) LEN) + + )> + > + ) + ( + ) + ( + >) + (T + )> + + >> + + >> + + >>> + )> + > + + + > + > + >>> + ) + ( + + ) + ( .LEN>> + + ) + (T + > + + + > + )> + + > + ) + ( + > + ) + ( + > + ) + ( + > + ) + ( + > + ) + (T + .LEN>)> + >)> + >>> + +> + .X>> + + )> + > + + + > + >) + (T + > ,SP>> + 1> <+ 1>>)>> + + + > + + )> + > + + 0>> + > + )> + 0>> + > ; "Will it ever work? --SWG" + )> + )>> + +"Old CLAUSE-COPY." + +; > + +; ) "AUX" BEG END) + > + > + ,P-LEXELEN> 2>>> + + ,P-LEXELEN>>>> + ) + (T + + >> + )> + >)> + >>> + +"Pointers used by CLAUSE-COPY (source/destination beginning/end pointers)." + +; +; +; + +; > + +) + "AUX" ; (FLG <>) BEG END OBEG CNT B E ; X) + > + > + > + ; + >> + + )> + + )> + + >> + ; > + ; > + ; + + + > + + > + + )> + > + >>) + (T + )> + + > + .X>> + > + + .END>>> + > + + ,P-WORDLEN>>> + > + > + + )> + > + > + + )>>)> + >> + > + > + + > + > + + )> + > + + > + >>) + (T + + 0> + + )>)>> + ) + ( + + )> + .OCL> + >>) + (T + >> + )> + )> + + > + > + + )> + .OCL> + >>) + (T + >> + )> + )>) + ; ( + .OCL>) + (T + .OCL>)> + >> + .OBEG>> + + ; + + > + + > + .OCL> + > + + )> + >> + )> + 2>>> + ,P-LEXELEN> 2>>> + > + +; 2>> + .WRD> + + + > + +> + + + + + + > + + 2>> + + ) + ( .PREP> + >>)>>> + +)) + + ) + ( ,NOT-HERE-OBJECT>> + > + + >) + (T + )>) + ( ,NOT-HERE-OBJECT>> + > + ) + ( ,NOT-HERE-OBJECT>> + > + ) + ( ,NOT-HERE-OBJECT>> + > + )> + + + )> + + + + > + + 1> + > + + >> + + > + )> + )> + )> + ) + ( + + ) + (T + + )>> + +> + + + > + ,P-PRSO>> + )> + + >)>)> + > + + + > + ,P-PRSI>> + )> + + 1> + > + )> + >)>)> + > + +> + + + )> + > + > + >>> + ; .OBJ> + ; > + + )> + > + + + + > + +"Grabs the first adjective, unless it comes across a special-cased adjective." + +; )) + + ) + ( + )>> + +) LEN WV WRD NW (WAS-ALL? <>) + ONEOBJ) + ;"Next SETG 6/21/84 for WHICH retrofix" + > + + )> + + + + > + + >> + + )> + ) + (T + > + ) + (T + >)> + + + + >)>) + ( + >> + )> + + ) + ( + ) + ( + + + + >)>) + (T + + >> + )> + + )>)>) + ( + >> + ;"Next SETG 6/21/84 for WHICH retrofix" + + >> + )>) + () + () + ( + + )>) + ( + + >> ; "FIX #41" + ) + ( + + )>)> + > + > + )>>> + + + + + + + + + +) (OLEN 0) + BTS LEN XBITS TLEN OBJ ADJ X XTBL + TTBL TOBJ) + + > + + )> + + + > + + + >) + (> + > + + + + )>)> + + + > + > + + )> + )> + > + > + )> + + + ) + (T + + )> + .TLEN>> + ) + ( + > + + >> + "?]" CR>)> + ) + ( + + >>> + + + + .LEN>> + ) + (T + + + + )> + + >>> + >> + > + + .TTBL>> + + + + )> + > + .OBJ> + > + > + > + )>)> + + >> + + ) + ( + > + + + )> + + ) + ( 22> + + + + ) + (T + + + + )> + + <>> + )>) + ( + )> + > + > + )>) + ( + ) + ( + > + + + + ; "RETROFIX #33" + + + > + + > + + )> + )> + > + > + ) + ( + + )> + >> + + + > + )> + + + + > + > + >> + +> + +; > ; "Needed only for ZIL" + +"This MOBY-FIND works in ZIP only!" + + + + + + + + + + > + > + )> + + )>> + > + + >)> + + + > + +"This MOBY-FIND works in both ZIL and ZIP." + +; + + + +; + )> + + % ; "ZIP case" + '> + > + >> + >)> + + )>>>) + (T ;"ZIL case" + ' + > + + >> + )>>)> + + >)> + > 1> + >)> + + + > + +> + + + + + + > + + + )> + ) + ( + >) + (T + >)> + + + + > + + + > + )> + ) + ( + )> + + )>> + > + + > + +> + +> +> + +> "T if original PRSO was PSEUDO-OBJECT." + + + + + > + + )> + + > + +> + + > + + > + > + > + )> + + )> + + )>>)> + > + + > + + >> + + >>>> + + + ) + (T + >)> + + + >> + ; 5>> + ; > + ; > + + )> + > + > + )>>)> + .LEN> + + + + + ; > + + )>)>)>> + + + + + +> + ) + (T + + ) + ( + ) + (T + )>)>> + +> + > + > + )> + > + > + > + + ; > + + + )> + )> + >> + )>>)> + > + + + >> + 2>>> + >>>> + ) + ( + >> + 2>>> + >>>> + ) + ( + >> + ) + (T + )>> + +> + + + + > + +; > + >> + ) + (T + )>> + + + > + + ) + ( + > + > + + > + + )> + ) + ( + > + + )> + ) + ( + > + + )> + ) + ( + > + + )> + )> + > + > + > + > + > + ; >> + + > + + + ) + ( + >> + + > + )>) + ; (>) + ( + ; + + ; + > + >> + + ) + ( + > + )> + + > + + + > + ) + ( + + ) + (T + + + ) + (> + + ) + ( + ) + (T + )>)> + )> + + ) + ( + + ; + > + )>)> + + )>>)> + > + + + ) + () + (> + )> + > + ,ROOMS ,GLOBAL-OBJECTS> + ) + ( + )> + >> + +> + + <>>> + )> + + .OBJ> + > + +; > + + + >> + + )> + ; 0> + )> + >> + + > + + ) + (T + )>) + ( + > + + ) + (T + )>) + ( + > + + ) + (T + )>) + ( + > + + ) + (T + )>)> + > + >> + + > + + ) + ( + >> + ) + (> + >) + ( + + + >> + >) + ( + > + >) + (T + )> + + > + + > + ) + ( + ) + (T + + + ) + (> + )> + )> + + ) + ( + > + + + )> + + >)>)>>) + (T + )>> + +) TMP) + 1> + ,SMANY>>> + ) + ( 1> + ,SMANY>>> + )> + + > + + > + + ) + ( + > + >) + (T + >)> + + ) + (T + )>> + +> + + > + > + > + )> + > + + + + + ) + ( + + > + > + + + ) + (T + )>> + + + > + )> + + + + + > + ) + (T + + + + + + > + > + )>)> + + 0> + )>)> + + + > + +> + ) + ( + ) + ( + > + + + > + + + + > + + + )> + + + )> + + + + )> + ) + (T + )> + + > + + + + + > + + + + + + )> + + + ) + ( + ) + ( + ) + ( + ) + ( + ) + (T + )> + + > + + + + ) + ( + + ) + ( + ) + ( + ) + ( + ) + (T + )> + + > + + + + )> + + > + )> + + > + + + + + > + + ) + ( + ) + (T + + >)> + + + + > + + > + )>) + (T + )>)>) + (T + + > + + > + )>) + (T + )>)>)> + + + + ) + ( + ) + (T + )> + > + .LEN>>> + )> + + + + > + +> + + + + )> + + ) + ( + > + .TBL>>> + ,NOT-HERE-OBJECT> + ) + ( + + )> + + ) + ( + ) + ( + + + + ) + (T + )>> + +) "AUX" X) + + > + + )> + + )> + ) + ( + > + <>> + ) + (T + > + <>> + )>> + + + +) + "AUX" OBJ NXT (1ST? T) (IT? <>) (TWO? <>)) + > + > + + > + )> + + + )>>)> + > + + >) + (T + + > + + >) + (T + + ) + ( + ) + (T + )>)> + + + + + > + + )> + + > + )> + ; + )> + + > + ) + (T + + >)> + ) + (T + + > + )> + )>>)> + > + + > + +> + > + > + >> + )> + + + )>>)> + > + +"Note that the object to be searched is the FIRST parameter expected in this + version of GLOBAL-IN? ... allowing optional target objects." + +> + + )> + 2>> + > + ) + (> + ) + (> + ) + (> + ) + (> + ) + (T + )>> + +; > + + 2>> + ; >)>> + + +> + +> + > + + > + + + + + + > + + + )> + > + > + >> + + + >> + > + + + )>) + () + ( + > + > + + + > + )> + + + > + )> + > + ) + ( + )> + > + + + )>) + ( + + + )> + > + + )> + + ) + ( + > + + + >> + + )> + + > + + ) + ( + )> + + )> + > + >> + >>)> + + )> + > + + + ) + () + ( .ILEN>> + + ) + ( 0> ,SP>> + + + + > + )> + > + + > + + > + > + + %>> + + + .OFFSET>> + + + )> + + + )>> + + + + + .OFFSET>> + >> + + + + + > + + + + > + + %>> + + ) + ( 1>> + 1>>> + >)> + + + )>>> + +> + + + ; "Get direction of mouse relative to HERE." + + ; "Changed per TAA. Instead of using COMPASS, we do + computation. Cardinal directions happen if one coordinate + is L=? half of the other. Otherwise do nw, etc." + + > + ; "We're in the same room, so check for up/down" + > ,MAPX>> + + ) + ( + ) + (T + )>) + (T + > + ; "Get position relative to current" + ;) + ( + >) + ( + >)> + ;>> + + > + ;) + ( + >) + ( + >)> + ;>> + + ;>> .NX>> + ; "Get magnitude of X and Y difference" + + >) + (T + )> + + >) + (T + )> + <0? .MY>> + ) + ( .MY> + ; "X is small compared to Y, so this is N/S" + + ; "Mouse is below current loc" + ) + (T + )>) + ( .MX> + ; "Y is small compared to X, so this is E/W" + + ) + (T + )>) + ( + ; "Tending eastward" + + ) + (T + )>) + ( + ) + (T + )>)> + + + ; "DIR ambiguous." + )> + + > + > + + + + + )> + + + > + > + +>> + + > + ) + ( + )> + > + ) + ( + + ) + (T + )>)>)> + + > + +"PICK-ONE expects an LTABLE, with an initial element of 0." + +> + > + + > + >> + >> + > + > + + + + )> + + > + +"PICK-NEXT expects an LTABLE of strings, with an initial element of 2." + +> + > + > + )> + + > + +> +> + + + + + +) (NAMING <>) "AUX" (WRD 0)) + ) + ( + + > + + )> + + > + + ; "Neutralizes W?QUOTE." + > + > + >> + + + + )> + > + + + ) + ( + + ) + ( + + )>) + ( + >) + (T + + > + > + + )>) + (T + )> + > + >>> + + + + + + > + +> + > + + + + )>>)> + > + diff --git a/people.zil b/people.zil new file mode 100644 index 0000000..de6cb37 --- /dev/null +++ b/people.zil @@ -0,0 +1,2166 @@ +"PEOPLE for BEYOND ZORK: Copyright 1987 Infocom, Inc. + All rights reserved." + +"*** OLD SALT ***" + + + +) "AUX" X) + + + + + )> + + ) + ( + + > + + ) + ( + > + + ) + ( + + >> + + ) + ( + > + + ) + ( + > + + )> + + ) + ( + ) + ( + + + ) + ( + + ) + ( + + )> + ) + ( + ) + ( + + ) + ( + + ) + ( + + ) + ( + + ) + ( + + ) + ( + + ) + (> + + ) + (T + )>> + + + + > + + + > + + + ) + ( + + )> + + + + > + + + + )> + + > + + + + + )> + + + + )> + + + > + ) + (T + )> + + + + > + + + + + )> + > + + + + + + + ) + ( + + ) + ( + + ) + ( + + ) + ( + + )> + + > + + + + + ) + ( + + )> + + > + + + + + > + + + + )> + + > + + + > + + + + + ) + (T + )> + + > + +"*** INNCOOK ***" + + + +) "AUX" X) + + + ) + ( + + > + + ) + ( + + >> + + ) + ( + > + + ) + ( + > + + )> + + ) + ( + ) + ( + + + ) + ( + + ) + ( + + ) + ( + + )> + ) + ( + > + + + + )> + + ) + ( + + ) + ( + + ) + ( + + ) + (T + )>> + + + + + + + ) + ( + + + + )> + + ) + ( + + + + )> + + ) + + ( + + ) + ( + + ) + (> + + + + + ) + ( + + )> + + + + > + + + > + + >) + ( + + + ) + ( + + > + )> + + )> + + )> + + > + +> + + + + + )> + + > + + + + > + )> + + > + + + + + )> + + + + + + > + + + + + )> + + + )> + + > + + + + + + )> + + > + + + + + > + + )> + + + + )> + + + )> + + > + +"*** BAND ***" + + + +) "AUX" X) + + ) + ( + + + ) + ( + + ) + ( + + )> + ) + (> + + ) + ( + + ) + ( + + ) + (> + + ) + (T + )>> + + + + > + + + > + + + + > + + + +) "AUX" X) + + C ,PER> + ) + ( + + > + + ) + ( + + >> + + ) + ( + > + + ) + ( + > + + ) + ( + > + + ) + ( + > + + ) + ( + > + + )> + + ) + ( + ) + ( + > + + + + + )>)> + + + + ) + ( + + ) + ( + + ) + ( + + )> + ) + ( + > + ) + ( + + )> + + ) + ( + + ) + ( + + ) + ( + + + )> + + ) + ( + + ) + (> + + ) + (T + )>> + + + + > + + + + + + + + + + + + + + + + + + >> + + + + + ) + ( + ) + ( + + ) + ( + + + + ) + ( + > + + ) + ( + + + ) + ( + > + ) + ( + > + ) + ( + > + )> + + > + > + > + + > + > + ) + ( + )>> + + > + > + .X>>> + + )> + > + > + .X>>> + + )> + > + > + .X>>> + + )> + + + + + > + + + > + + + ) + + ( + ) + + ( + ) + + ( + ) + + ( + ) + + ( + ) + + ( + + ) + + (T + )> + + + > + + + ) + + ( + ) + + ( + ) + + ( + ) + + ( + ) + + ( + + ) + + (T + )> + + + > + + + > + > + + + ) + ( + + ) + ( + + ) + ( + + ) + ( + + ) + ( + + + ) + + ; "Potions." + + ( + + ) + ( + + ) + ( + + ) + ( + > + + + + )>) + ( + + ) + + ; "Scrolls." + + ( + + ) + ( + + ) + ( + + ) + ( + + ) + ( + + ) + ( + + ) + ( + + ) + + ( + ) + + ( + + ) + + ( + + + ) + + ( + + + ) + + ( + + )> + + > + + > + )> + ) + + ( + ) + + ( + > + )> + + > + ) + + ( + ) + + ( + + + + )> + ) + + ( + ) + + ( + ) + + ( + ) + + ( + ) + + ( + + ) + + ( + ) + + ( + ) + + ( + + + ) + (T + )>) + + ( + ) + + ( + ) + + ( + ) + + (T + )> + + + + + )> + + > + +> + + + + )> + + + > + )> + N .VAL " zorkmid"> + > + )> + + > + + + + + + + > + +> + +> + + )> + D ,IDING ". "> + > + + + > + > + + + + ) + (T + )> + + + + )> + + )> + + > + + + > + + + + )> + > + .X>> + > + + )> + + )> + > + .X>> + > + + )> + + )> + > + .X>> + > + + )> + + )> + + > + + + > + +"*** ORATOR ***" + + + +)) + + + ) + ( + ) + ( + ) + ( + ) + ( + + ) + (T + )>> + + + +"*** PRINCE ***" + + + + + )> + + > + +) "AUX" OBJ X) + + + + + )> + ) + (> + + )> + )> + ) + ( + + + )> + ) + (> + + ) + ( + + ) + (> + + ) + (T + )>> + + + + > + +) "AUX" X) + + ) + ( + > + + )> + + )> + > + + ) + ( + ) + (> + + + ) + ( + + ) + (T + )>> + + + > + ) + (> + ) + (T + )> + + + > + + + +) "AUX" X) + + ) + ( + + + )> + ) + (> + + ) + ( + + ) + (> + + ) + (T + )>> + +"*** HUNTERS ***" + + + +) "AUX" X) + + + ) + ( + ) + ( + + + )> + ) + ( + + ) + (> + + + ) + ( + + ) + ( + + ) + ( + >> + + ) + (T + )>> + + + > + +> + +"*** HUNTER ***" + + + +) "AUX" X) + + + + ) + ( + > + + )> + )> + ) + ( + + + ) + ( + + )> + ) + (> + + + + + )> + + ) + ( + + ) + ( + + ) + (T + )>> + + + )> + + > + + + + + + )> + + > + + + + + > + + + + )> + + > + +"*** MINX! ***" + + (BYTE) 0>) + (DESCFCN MINX-F) + (ACTION MINX-F)> + + + > + + )> + )> + + > + +) "AUX" X) + + + + + + + + )> + + ) + ( + ) + ( + + >> + + ) + ( + + + ) + ( + + ) + ( + + )> + ) + ( + + ) + ( + + + + ) + (T + )> + + ) + ( + + + + ) + (T + )> + + ) + (> + + ) + (T + )>> + + + + + )> + + > + + + > + + + + + )> + + > + + + + + + + + > + + )> + + > + + + + + + + + > + +) "AUX" X) + + + + )> + ) + ( + ) + (> + + + ) + ( + + ) + (> + + ) + (T + )>> + +"*** MAYOR ***" + + + +) "AUX" X) + + + > + + ) + (T + )> + + ) + ( + ) + ( + + > + + ) + ( + > + + ) + ( + > + + ) + ( + + >> + + ) + ( + > + + ) + ( + > + + )> + + ) + ( + + + ) + ( + + )> + ) + ( + + ) + ( + + ) + ( + + ) + ( + + ) + ( + + ) + (T + )>> + + + > + + + > + + + + + + >> + + + > + + + + + )> + > + > + > + .OBJ> + > + ,PERQ> + ) + ( + )>> + + + + + + > + + + + + > + +> + > + + + + ) + (T + )> + + + + )> + + + ) + ( + + )> + + + + + > + + + + + + )> + + > + + + )> + + > + + + + + )> + + > + + + > + + )> + + > + + + +)) + + + ) + ( + + ) + ( + ) + ( + + > + + )> + + ) + ( + + + )> + ) + ( + ) + ( + + ) + ( + + ) + ( + + ) + ( + + ) + (T + )>> + +> + + )> + + > + + + > + + + > + + + +)) + + + ) + ( + ) + ( + + > + + )> + + ) + ( + + + )> + ) + ( + ) + ( + + ) + ( + + ) + (T + )>> + + + > + + + > + + + > + + + + + + + ) + (T + )> + + )> + > + + + + ) + ( + + )> + + > + +)) + + )> + > + +"*** IMPLEMENTORS ***" + + + +) "AUX" X) + + + + + ) + ( + + + )> + + ) + ( + + ) + (> + + )> + ) + ( + ) + ( + ) + (> + + + ) + ( + + ) + (T + )>> + + + +)) + + ) + ( + ) + ( + + ) + (T + )>> + + + +) "AUX" X) + + + + + ) + ( + > + + )> + ) + ( + + > + + ) + ( + > + + ) + ( + + >> + + ) + ( + > + + ) + ( + > + + )> + + ) + ( + + + ) + ( + + ) + ( + + )> + ) + ( + + )> + + ) + ( + + + + + )> + + ) + ( + + ) + ( + + ) + ( + + ) + ( + + ) + (> + + ) + (T + )>> + + + > + + + + + >> + + + )> + > + > + > + .OBJ> + > + ,PERQ> + ) + ( + )>> + + + + > + + + + > + + )> + + > + + + + + + + > + + + + )> + + > + +"*** ORKAN ***" + + + + + + + ) + ( + )> + + + > + +"*** QUEEN ***" + + + + + > + +) "AUX" X) + + + + + + )> + + ) + ( + > + + )> + ) + ( + ) + ( + + >> + + )> + + + + )> + ) + ( + + ) + (> + + ) + ( + + + + + )> + + ) + (T + )>> + +)) + > + + + + )> + + > + +)) + + + ) + (T + )> + + + > + + + +) "AUX" X) + + ) + ( + + + ) + ( + + )> + ) + (> + + + ) + ( + + ) + (> + + ) + (T + )>> + + + + ) + (T + )> + + > + + + +) "AUX" X) + + ) + ( + + + ) + ( + + )> + ) + (> + + + ) + ( + + ) + (> + + ) + (T + )>> + + + + ) + (T + )> + + > + + + + + + + + \ No newline at end of file diff --git a/places.zil b/places.zil new file mode 100644 index 0000000..7a611dd --- /dev/null +++ b/places.zil @@ -0,0 +1,6152 @@ +"PLACES for BEYOND ZORK: + Copyright (C)1987 Infocom, Inc. All rights reserved." + + + > + )> + + > + )> + + + > + +> + > + > + + + + )> + > + +) + (NW ) + (DOWN ) + (UP ) + (OVERHEAD OAK2) + (EXIT-STR "The hillside is too steep that way.") + (GLOBAL GRUBBO) + (FNUM OGRUBBO) + (THINGS (<> HILL HERE-F) + (<> HILLTOP HERE-F) + (GREAT SEA USELESS) + (<> SHORE USELESS)) + (ACTION HILLTOP-F)> + +"SEEN = seen morning." + +)) + + + ) + ( + + ) + ( + + )> + ) + (T + )>> + +) + (EAST ) + (SOUTH ) + (WEST ) + (UP ) + (GLOBAL GRUBBO WHARF) + (FNUM OGRUBBO) + (THINGS (<> COVE HERE-F) + (<> GULLS USELESS) + (<> SHANTIES <>)) + (ACTION COVESIDE-F)> + +)) + + + ) + ( + + )> + ) + (T + )>> + +) + (SOUTH ) + (WEST ) + (IN ) + (GLOBAL PUB-DOOR PUB GRUBBO) + (FNUM OGRUBBO) + (HEAR PUB) + (ODOR PUB) + (ACTION OUTSIDE-PUB-F)> + +)) + + + + ) + (T + )> + + + ) + (T + )>> + + + > + + + ) + (T + )> + ) + (T + + )> + + > + +) + (SOUTH ) + (FNUM OGRUBBO) + (GLOBAL GRUBBO) + (ACTION N-MOOR-F)> + +)) + + + + ) + ( + + + )>)> + ) + (T + )>> + + + +)) + + + + ) + (T + )>> + +; + > + )> + + + > + ) + (> ,CONNECT> + + )> + + )>> + + >) + (T + + + > + + )>>)> + >> + + + + + )>)> + > + + + +)) + + + + ) + ( + + ) + (T + )>> + + + +)) + + + + ) + ( + + ) + (T + )>> + + + +)) + + + + ) + ( + + ) + (T + )>> + + + +)) + + + + ) + ( + + ) + (T + )>> + + + +)) + + + + ) + ( + + ) + (T + )>> + +> + + ,SW-MOOR>> + ) + (T + > + + ,N-MOOR>> + )>)> + + )> + + > + +) + (WEST ) + (FNUM OMIZNIA) + (ACTION SW-MOOR-F)> + +)) + + + ) + ( + + + )>)> + ) + (T + )>> + +) + (IN ) + (NE ) + (EAST ) + (SE ) + (SOUTH ) + (SW ) + (WEST ) + (NW ) + (FNUM OMIZNIA) + (GLOBAL BOUTIQUE-DOOR BOUTIQUE STABLE) + (ACTION IN-PORT-F)> + +)) + + + ) + (T + )>> + +) + (IN ) + (SW ) + (FNUM OMIZNIA) + (GLOBAL STABLE) + (ACTION IN-YARD-F)> + +)) + + + ) + (T + )>> + +) + (OUT ) + (IN ) + (FNUM OMIZNIA) + (GLOBAL STABLE) + (ACTION IN-STABLE-F)> + + + > + + + + )> + > + +) "AUX" (U 0) ANY X) + + )> + + + ) + (T + )> + + + + )> + > + + + + + + )> + + )> + + + + + + + )>) + (T + + + )>)> + + + + + )> + + ) + ( + + + + )> + ) + ( + + + + )> + ) + (T + )>> + + +) + (OUT ) + (EAST ) + (IN ) + (GLOBAL BOUTIQUE-DOOR BOUTIQUE) + (THIS-CASE BCASE) + (FNUM OMIZNIA) + (ACTION IN-BOUTIQUE-F)> + +)) + + + + + + ) + ( + + + ) + ( + + + + )> + ) + (T + )>> + +) + (WEST ) + (OUT ) + (IN ) + (HEAR PUB) + (ODOR PUB) + (FNUM OGRUBBO) + (GLOBAL PUB KITCHEN PUB-DOOR CELLAR GRUBBO) + (THINGS (<> FIREPLACE USELESS)) + (ACTION IN-PUB-F)> + +) "AUX" X) + + + > + + )> + ) + ( + + ) + + ( + + ) + + ( + ) + ( + + + + + + + + ) + (T + )> + + + + )> + + ) + (T + )>> + +) + (OUT ) + (EAST ) + (DOWN ) + (HEAR PUB) + (ODOR PUB) + (FNUM OGRUBBO) + (GLOBAL CELLAR-DOOR CELLAR-STAIR KITCHEN CELLAR PUB GRUBBO) + (ACTION IN-KITCHEN-F)> + +) "AUX" (D 0) L) + + )> + + + + ) + ( + ) + (T + )> + + + + )> + + ) + ( + > + )> + + + + + ) + ( + + ) + ( + + + )> + ) + ( + + + >> + + + + ) + ( + + + ) + (> + + > + )>)> + + + ) + ( + + )> + ) + (T + )>> + + + +) + (DOWN ) + (IN ) + (HEAR COVE) + (ODOR WHARF) + (SEE-ALL COVE) + (BELOW COVE) + (GLOBAL GRUBBO WHARF) + (FNUM OGRUBBO) + (ACTION ON-WHARF-F)> + + + + > + +)) + + + + + + + + )> + + ) + ( + > + + )> + + + + ) + ( + > + + )> + + + + )> + ) + (T + )>> + + + +) + (OUT ) + (OVERHEAD CELLAR-DOOR) + (NORTH 0) + (NE 0) + (EAST 0) + (SE 0) + (SOUTH 0) + (SW 0) + (WEST 0) + (NW 0) + (DNUM 0) + (FNUM OGRUBBO) + (GLOBAL NULL CELLAR-STAIR CELLAR-DOOR CELLAR) + (ACTION AT-BOTTOM-F)> + + + + + + > + +)) + + + + + + ) + (T + )> + + )> + + ) + ( + > + + )> + + ) + ( + + + + )> + + ) + ( + + + ) + ( + + + + + + + + + + )>)> + ) + (T + )>> + + + +)) + + + ) + (T + )>> + + + +) "AUX" X) + + + ) + ( + + ) + ( + + ) + ( + >> + )> + + + ) + (> + ) + (> + ) + ( + )> + + + ) + (T + )> + + ) + (T + )>> + + + +) "AUX" X) + + > + + ) + (T + )> + + ) + (T + )>> + +) + (DOWN ) + (GLOBAL NULL CELLAR CRATES) + (ACTION AT-STACK-F)> + + + + )> + + 15> + + ) + (T + )> + + + + > + + + )> + + )> + + + )> + > + +)) + + + ) + (T + )>> + + + +)) + + + + + )> + + ) + ( + > + + + )> + ) + (T + )>> + +) + (NE ) + (EAST ) + (SE ) + (SOUTH ) + (SW ) + (WEST ) + (NW ) + (DOWN ) + (UP ) + (FNUM OGRUBBO) + (GLOBAL CRATES CELLAR) + (ACTION BARRELTOP-F)> + +)) + + + ) + ( + + + )>)> + ) + (T + )>> + +) + (SOUTH ) + (UP ) + (NW ) + (WEST ) + (IN ) + (FNUM OTHRIFF) + (GLOBAL CHAPEL-DOOR THRIFF CHAPEL) + (ACTION IN-THRIFF-F)> + +)) + + + + )> + + + + )> + + + + + )> + + ) + ( + + ) + ( + + + + + )> + + ) + ( + + )>)> + ) + (T + )>> + +) + (OUT ) + (UP ) + (GLOBAL CHAPEL-DOOR CHAPEL) + (ACTION IN-CHAPEL-F)> + +> + +) "AUX" X) + + + + + ) + (T + + )>) + (T + + + + )>)> + + ) + ( + > + ) + ( + + ) + () + (> + + + + > + + ) + ( + ) + (T + )> + + )> + ) + ( + > + + + + + + )> + ) + ( + + )> + ) + ( + + + "!\" wails " THE ,CLERIC ,PERIOD> + )> + ) + (T + )>> + +) + (DOWN ) + (NE ) + (NW ) + (WEST ) + (UP ) + (EXIT-STR "Christmas trees block your path.") + (GLOBAL XTREES SNOW GLYPH TRAIL) + (FNUM OTHRIFF) + (ACTION FOREST-EDGE-F)> + + + > + +) "AUX" (BHERE 0)) + + + + + + ) + (T + )> + + + ) + (T + + + )> + + ) + ( + + )> + + )> + ) + ( + > + + )> + + )> + + )> + + + + )> + + + ) + (> + ) + ( + + )> + + + ) + ( + + > + ) + (T + + + )> + + + ) + (T + )>> + + + + > + + + )> + + > + + + + + + > + > + + + + + + + + "!\"" CR> + > + + + ) + (T + )> + > + + + + + ) + ( + ) + (T + + )> + )> + > + +) + (DOWN ) + (SOUTH ) + (IN ) + (WEST ) + (UP ) + (EXIT-STR "Steep rock walls block your path.") + (GLOBAL SNOW NULL TRAIL) + (FNUM OTHRIFF) + (ACTION ON-TRAIL-F)> + +) "AUX" (W 0) (LV 0)) + + > + )> + + > + + + + + )> + + + )>) + (T + + + ) + (T + )> + )> + + )> + + + + + )> + + + ) + (T + )> + )> + + ) + ( + + )> + + + + + )> + ) + ( + + ) + ( + ) + ( + )> + + + + ) + ( + > + + )> + + )> + ) + ( + > + ) + ( + >> + ) + (T + )> + + + + )> + + ) + (> + ) + ( + >> + ) + (T + )> + + + + + + )> + + ) + (T + )>> + + + > + +) + (OUT ) + (IN ) + (GLOBAL CABIN CABIN-DOOR) + (FNUM OTHRIFF) + (ACTION IN-CABIN-F)> + +)) + + + + + + + )> + + + ) + (T + )>> + +) + (DOWN ) + (UP ) + (EXIT-STR "You'd tumble off the peak if you went that way.") + (GLOBAL SNOW NULL TRAIL) + (FNUM OTHRIFF) + (ACTION ON-PEAK-F)> + +)) + + + + + )> + ) + (T + )> + + +
) + (EAST
) + (SE
) + (SOUTH
) + (SW
) + (WEST
) + (NW
) + (BELOW 0) + (ACTION APLANE-F)> + + + + >)> + > + +)) + + + + ) + (T + )> + + ) + ( + + ) + (T + )>> + +) + (NE
) + (EAST
) + (SE
) + (SOUTH
) + (SW
) + (WEST
) + (NW
) + (BELOW 0) + (FNUM 0) + (ACTION IN-SKY-F)> + +> + +> + > + +)) + + + ) + ( + + ) + (T + )>> + +) + (OUT ) + (UP ) + (FNUM OCAVES) + (GLOBAL GARDEN CASTLE) + (EXIT-STR "High castle walls block your path.") + (ACTION IN-GARDEN-F)> + +) "AUX" X) + + + + + + + )>)> + + ) + ( + + + )> + ) + ( + + + + + )>)> + + ) + ( + > + ) + (> + + )> + ) + (T + )>> + + + + + + + + + + + + + +) "AUX" TBL X) + > + ) + ( + ) + (> + > + + + + + + + ,ENTER-ARCH> + ,EXIT-ARCH> + ) + (T + > + > + > + + + )> + )>> + + + > + +)) + + + )> + >> + + + > + +)) + + + ) + (T + )>> + + + > + +) "AUX" TBL DIR) + + + >> + ) + (> ,CONNECT> + )> + + )>> + +" beneath the shadows of a crumbling aqueduct." CR> + ) + (T + )>> + + + > + +)) + + + ) + (T + )>> + + + > + +)) + + + ) + (T + )>> + + + > + +)) + + + ) + (T + )>> + +) + (NE ) + (EAST ) + (SE ) + (SOUTH ) + (SW ) + (WEST ) + (NW ) + (FNUM 0) + (ACTION IN-SPLENDOR-F)> + +) "AUX" X) + + + + )> + + ) + ( + + >> + + )> + ) + ( + ,P?IN ,P?OUT> + > + ) + ( + + )> + > + ) + (T + )>> + +"*** MAZE SETUP ***" + + + + + > + + + ,XROOM>>)> + > + + + ,XROOM>>)> + > + + + + ; "Connect N-MOOR to north edge of moor." + + > + ; + "> + )> + ,N-MOOR> + .RM> + + ; "Connect SW-MOOR to southwest corner of moor." + + > + ; + "> + )> + ,SW-MOOR> + .RM> + + > + >> + + + >> + + )>> + + + >> + + )>> + + + > + + + ,XROOM>>)> + > + + + ,XROOM>>)> + > + + + ,XROOM>>)> + > + + + ,XROOM>>)> + > + + + + ; "Connect NW-UNDER to northwest edge of jungle." + + > + ; + "> + )> + ,NW-UNDER> + .RM> + + ; "Connect SE-UNDER to southeast edge." + + > + ; + "> + )> + ,SE-UNDER> + .RM> + + ; "Connect SW-UNDER to southwest edge." + + > + ; + "> + )> + ,SW-UNDER> + .RM> + + ; "Connect AT-FALLS to southern edge." + + > + ; + "> + )> + ,AT-FALLS> + .RM> + + > + >> + + )>> + + + >> + + )>> + + + >> + + )>> + + + > + + + ,XROOM>>)> + > + + + ,XROOM>>)> + > + + + + + + ; "Connect XROADS to west edge of moor." + + > + ; + "> + )> + + ,XROADS> + .RM> + + ; "Connect ON-PIKE to east edge." + + > + ; + "> + )> + + ,ON-PIKE> + .RM> + + ; "Connect ROSE-ROOM to north edge." + + > + ; + "> + )> + ,ROSE-ROOM> + .RM> + + + > + + + ,XROOM>>)> + > + + + ,XROOM>>)> + > + + + ,XROOM>>)> + > + + + + ; "Connect NGURTH to south edge of forest." + + > + ; + "> + )> + ,NGURTH> + .RM> + + ; "Connect SFORD to northeast edge of forest." + + > + ; + "> + )> + ,SFORD> + .RM> + + ; "Connect AT-BROOK to east side of forest." + + > + ; + "> + )> + ,AT-BROOK> + .RM> + + > + >> + + + >> + + )>> + + + + > + + + ,XROOM>>)> + > + + + + > + ; + "> + )> + ,NFORD> + .RM> + + >>> + + + + > + + + + > + ,CAVE7> + .RM> + .RM> + + > + ,NE-CAVE> + .RM> + .RM> + + > + .RM> + ,IN-LAIR> + + + + + + + > + +"*** THE MAZE MACHINE ***" + +> + + + ; "Reset room borders." + + + .MASK>> + + )>> + )> + + > + > ; "HOME starts at 1st list element." + + ; "Make MAZE-ROOMS a PICK-ONE table, excluding HOME." + + + > + + )>> + + + + ; "Make AUX-TABLE a PICK-NEXT table." + + + + ; "Skip over HOME." + + > + + )>> + + ; "Reset." + + + ; "Always start @ center(?)" + + + ; + > + + )> + + + + + + > + + > + ; + + )> + ) + ( 2> ; "No more?" + + ) + ( + ) + ( + + )> + + >>> + +> + ,MAPPED> + + )>>> + + + + > + + + >)> + + )>> + ; "No exits left, so scram." + ) + ( ; "Save time if only 1 DIR found." + >)> + ; "Setup a PICK-ONE table." + + >> + + + +> ; "Get position in matrix." + + )> + > ; "Get cell borders." + + ; "Make a list of adjoining cells with accessible rooms." + + + > ; "Accessible?" + >> + ; "Is there a room?" + + )>)> + + )>> + ; "No adjoining rooms found." + + ; "Make a list of all accessible directions." + + + > ; "Access?" + >> + + )>)> + + )>> + ; "No exits left, so scram." + ) + ( ; "Save time if only 1 DIR found." + >) + (T + ; "Setup a PICK-ONE table." + + > + > + )>>)>) + ( ; "Save time if only 1 DIR found." + >) + (T + ; "Setup a PICK-ONE table." + + > + > + )>>)> + + + >> ; "Calc new room ID." + + ; "Handle diagonal paths." + + )> + + + > + + ) + ( + ) + ( + )> + + > + > + + > + + > ; "Pick next room in chain." + + )> + + ; "Install the exit." + + > + .LEN .NRM> + >> + + > + + >)> ; "Mirror the exit." + + .LEN .RM> + + > + >> + + > + +> + + >)> ; "Establish opposite DIR." + + ; "ALL directions must be available to win." + + ) + (>> + )> + + )>> + >>> + + ; "Forbid all future access." + > + > + + >)> + + ; "Close off all adjacent rooms." + + > + >> + > + >>)> + + )>>> + +> + > + .DIR>>>> + > .DIR>> + > + .XBITS>> + + )>>> + +"Find northernmost room in maze." + + + > + + )> + + >> + + )> + >> + + ) + ( + )>> + > + + )>> + ; + > + +"Find southernmost room in maze." + + + > + + )> + + >> + + )> + >> + + ) + ( + )>> + > + + )>> + ; + > + +"Find westernmost room in maze." + + + > + + )> + + >> + + )> + >> + + )> + > + + )>> + + )>> + ; + > + +"Find easternmost room in maze." + + + > + + )> + + >> + + )> + >> + + )> + > + + )>> + + )>> + ; + > + +"Find northwesternmost room in maze." + + + + + > + + ) + ( + )> + >> + + )>> + ; + > + +"Find northeasternmost room in maze." + + + + + + > + + ) + ( + )> + >> + + + )>> + ; + > + +"Find southwesternmost room in maze." + + + + > + > + + ) + ( + )> + >> + + )>> + ; + > + +"Find southeasternmost room in maze." + + + + > + + > + + ) + ( + )> + >> + + + )>> + ; + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rarities.zil b/rarities.zil new file mode 100644 index 0000000..a24a040 --- /dev/null +++ b/rarities.zil @@ -0,0 +1,2242 @@ + +"RARITIES for Beyond Zork + Copyright (C)1987 Infocom, Inc. All rights reserved." + + + + + > + + + + + > + + + > + +> + > + >> + + > + + > + + + > + + + > + + + +) + (> + + )> + + )> + + > + + + > + + )> + ) + (> + > + + + )> + + ) + (> + + ) + (> + >> + + + ) + (> + + + ) + (T + )>> + + + +> + + ) + ( + + ) + (T + )>> + + + + + + > + + ) + ( + + )> + ) + ( + + + )> + + + )> + + ) + ( + + + ) + (T + )> + + ) + ( + + ) + ( + + ) + ( + + ) + ( + + + )> + + ) + (> + + ) + (T + )>> + + + + + > + + )> + ) + ( + + ) + (> + + ) + (T + )>> + + + + + + + ) + ( + + )>) + ( + + ) + ( + + ) + ( + + ) + (> + + )> + + > + + + +"SEEN = given PRE-DUMB-EXAMINE admonishment." + +) + ( + + ) + ( + + >> + + ) + ( + + )> + + ) + (> + + )> + + > + + + + + > + + + )> + + ) + (> + + )> + + > + + + + + +) "AUX" (ANY <>) OBJ NXT X) + + + + ) + ( + + ) + ( + + + )> + + ) + ( + + )> + ) + ( + + > + + )> + > + + + )> + > + + + )> + + + + + ) + ( + + + + ) + ( + + ) + ( + + ) + ( + + ) + ( + + ) + (> + + + ) + ( + ) + ( + ) + (T + )> + + + ) + ( + ) + (T + )>> + + + + + + ) + ( + + ) + ( + >> + + ) + (T + )>> + + + > + + + > + + + + + > + + ) + ( + + ) + (> + > + + ) + ( + + ) + (T + )>> + +)) + + + + + + ) + ( + ) + (T + )> + + + ) + (T + + ) + (> + )> + )> + + > + + + > + + " that " THE .OBJ> + > + + + + ) + (T + )> + + > + + + + + + + + + + + + + >> + + ) + ( + + + ) + ( + > + + )> + + )> + ) + ( + > + > + + >> + )> + + + )>>)> + + + + + + + ) + ( + + ) + ( + + ) + ( + + + ) + (T + )>> + + + +> + + )> + > + .X 1>>) + () + ( + + )> + >> + + + > + + + + > + + + + > + + + + > + + + + > + + + > + + + > + + + + > + + + + > + +; + > + + + > + +)) + + + )> + ) + (T + )> + + > + + + + > + +> + )> + ,SADDLE ,PEW> + ) + (T + )> + + > + )> + > + +; + + + > + + + + + )> + + > + + + + ) + (T + )> + + > + +; + > + +)) + + + + ) + (T + + )> + "ly " + ,STO THE .TO ,PERIOD> + > + + + > + + )> + ) + ( + + ) + ( + + ) + ( + + ) + (> + >> + + ) + (T + )>> + + + + + + )> + + > + + + +> + + + + )> + + ) + (> + >> + + ) + (T + )>> + + + +> + + ) + ( + > + + )> + ) + ( + + ) + (> + + ) + (> + + ) + (T + )>> + + + + + + + ) + (> + >> + + ) + (T + )>> + + + + + + )> + + > + + +> + + +> + + + + + > + + > + + + )>>> + + + ) + ( + ) + ( + ) + (T + )>> + + + ) + ( + ) + ( + ) + (T + )>> + + + + "> + + > + )> + > + + ) + ( + ) + ( + )>>> + +"INITVARS must be called first!" + +> + + 2>> ; "Init VOCAB2." + + > + + > + > + > + > + >)> + + + + > + + )>)> + + + + + + + + + "> + + > + )> + > + + ) + ( + + + ) + ( + + ) + ( + + + )>>> + + 35> + + + + + >> + ) + (T + )>)> + > + > + + + %<- 0 <- ,DBOX-LENGTH 1>>> + + + + + )> + + +
+ + + + + )>> + + "> + + + + + > + + + + + + )> + )> + + )> + ) + ( + + + ) + ( + + ) + ( + + ) + ( + + + + )> + )> + + + + + + + "> + + )> + > + + + + )> + + + + > + )> + + + + + + + + + )>> + + > + + + + + + > + + ) + ( + ) + (T + + )>)>)> + + + + >> + + )>> + > + + )> + + "> + > + > + + ,STATS 12> + + + + + > + + + + + )> + + ) + (T + 2> 1> ,LUCK>)> + + > + +> + )> + + > + 2>>)> + + + > + + + + + > + + )>> + + > + + + + )> + + + )> + > 2>> + > + + + + + + + 8>)> + .NX> + > + + )>> + ,STATS 12> + 1>> + + ) + (T + )> + + + + + + > + > + + + + ) + ( + > + )> + + + ,STATS 12> + + + > + + )>> + + > + + + ) + ( + + + + + ) + (T + + + )>)> + + + > + + )> + )> + + )> + )> + >> + > + + + + + + ) + ( + > + ) + ( + ) + ( + > + ) + (T + )> + > + + + > + ) + ( + ) + ( + > + ) + (T + )> + > + + > + +"> + > + + + + + )>> + + + + > + + > + + + + + ) + (T + ,BARX> + + + + + )> + + + + ) + ( + > + ) + ( + ) + ( + > + ) + (T + )> + > + + + ) + ( + > + ) + ( + ) + ( + > + ) + (T + )> + > + + + + + + + >> + > + + ,BARX> + + + )> + + + + )> + > + + )> + + > + + )> + + + ,BARX> + + + )> + + + + + + + )> + )> + + )> + ) + ( %> + >> + > + + + > + + + )>) + () + ( %> + + > + > + + + )> + > + + + + > + + > + + )>> + + > + + ) + (T + + + + + )> + + + + > + + + + + )>> + + + "> + + + > + + + + + )>> + > ; "Set up random list here." + + + ; "Reset for PICK-ONE." + + > + + )>> + > + + > + + + >> + + >> + + )> + >)> + + + )>> + + + > + + )>> + + > + + ) + ( + )> + >>> + + + )> + + 1>> + + ) + ( + )>>> + +> + )> + + + > + + + "> + + > + + )> + > + + > + + )> + > + + + + + + > + 1>> + 1>>> + ) + () + (> + ) + (> + ) + (T + + )> + + )>> + + + + > + + ) + ( + + )> + > + + + + + + > + + + + + > + + )>) + (T + + + + %> + ) + ( + + >)> + + )> + + )>> + + + + + + )> + > + + + > + + + > + + + + + )> + "> + + > + )> + > + + ) + ( + + )> + >> + + + + + > + + + )> + + > + + + + + + + > + + + + + ) + ( + ) + (T + )> + + > + + + + > + + + + > + ) + (T + )> + + > + + + + + + + > + + + + + ) + (T + )> + + + + + > + + + > + +) X) + > + ) + (> + )> + > + )> + + )> + > + + >> + )>>> + + + + > + + + > + + + )> + + > + +"*** DEATH ***" + + + + + + )> + + > + + + + + + + + + + + + + > + ; + ; + + ,EXPERIENCE T> + )> + + + + > + + + + + + > + +) + ( + )> + + + )> + + + + )> + "> + > + > + > + ) + ( + > + ) + ( + ) + ( + + ) + ( + + )>> + > + + + ) + (T + )> + + > + +)) + + ) + (T + )> + + > + + + + + > + +; + +; + + )> + + + > + + > + + > + + + + + > + + > + )> + + > + >> + + )> + > + > + > + > + > + + + + )> + ) + ( + + + )> + + ) + ( + + )> + + ) + ( + + )> + + ) + ( + + )> + + ) + ( + + + + + )> + + )> + + > + +> + )> + + > + +; > + +; + +; + + + + + + ) + ( + + + + + + + + + + + + + + + + + + + + )> + + )>)> + + > + + + + + + + + > + + 2>> + 2>> + + + + + > + + + + > + + + > + > + + + + + + + + > + + + + > + > + + + ) + (> + )> + + > + + + + + + + > + + + + > + + + + + + +
+ +
+ +
+ + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + +
+ + +
+ + + +
+ +
+ + + + > + + > + + + + > + + + > + +; +; + +; + +; + + ) + (> + + ) + ( + + ) + ( + + )> + > + .X>> + + )> + ) + ( + )> + + %<- 0 <- ,DBOX-LENGTH 1>>> + 2> 1>> + + + ,SUSSX> + + + )> + + + + + + + )> + + + )>> + + "> + + + + + + + >> + > + > + > + + ,SUSSX> + + + + )> + )> + + + > + + )> + + + + ,SUSSX> + + )> + + + > + ) + ( + > + )> + ) + ( + > + > + + )> + + ) + ( + > + > + + )> + + )> + > + > + + + > + +; > + .X> + >> + + ) + ( + )> + + > + + +; + + > + +; + + > + +; + + > + +; > + + )> + > + + > + + + > + + > + >>> + + )> + + + + + + + )> + + + + > + + + + + %<- 0 <- ,DBOX-LENGTH 1>>> + + + ) + (T + 2> 1> ,LUCK>)> + + + + + + + + + > + + + > + + > + )> + )> + + ; + + > + +; + + + > + + )>> + > + > + > + > + + + .SEED>>> + > + + + )>> + > + + ) + ( + + + )>)> + > + + + + + + + + > \ No newline at end of file diff --git a/syntax.zil b/syntax.zil new file mode 100644 index 0000000..18d0836 --- /dev/null +++ b/syntax.zil @@ -0,0 +1,1428 @@ +"SYNTAX for BEYOND ZORK: + Copyright (C)1987 Infocom, Inc. All Rights Reserved." + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +; + + + + + + + +; +; +; +; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +" + + + + + + + + + + + + + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +; +; +; +; +; +; +; +; +; + +; +; +; + + +; + + + + +; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +; +; +; +; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +; +; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/things.zil b/things.zil new file mode 100644 index 0000000..43af785 --- /dev/null +++ b/things.zil @@ -0,0 +1,13540 @@ +"THINGS for BEYOND ZORK: Copyright (C)1987 Infocom, Inc. All rights + reserved." + +"*** PSEUDO OBJECTS ***" + +> + + ) + (T + )>> + + + + ) + ( + + + ) + ( + ) + (T + )>> + + + + > + )> + + + + + + > + +"*** STANDARD OBJECTS ***" + + + + + > + + ) + ( + + + + + ) + (T + )>)> + + ) + ( + + ) + (> + > + > + + ) + (T + )>> + + + + > + + + + + + ) + ( + + + )> + + ) + ( + + ) + ( + + ) + (> + > + + ) + (T + )>> + + + + + + > + + ) + (> + + ) + ( + + ) + (> + >> + + ) + (> + + ) + (T + )>> + + + + + + + + ) + ( + > + + )> + )> + ) + ( + + ) + ( + + ) + (T + )>> + + + + + ) + ( + > + + ) + ( + + + ) + (> + )> + + + + + )> + ) + ( + + + ) + ( + ) + ( + >> + + ) + ( + ) + ( + + )> + ) + (> + >> + + + )> + + ) + ( + + + ) + ( + + ) + ( + + + )> + + )> + + + )> + + ) + (T + )>> + + + > + + + + ,HANDS ,ME> + ) + ( + ) + (T + )> + + 50> + + )> + + + + + > + + + > + > + + > + > + + > + > + + + + + + + )> + + + > + + + > + + + + + +> + > + + ) + () + (> + + + )> + + + )> + >> + + + + + ) + (T + )> + + )> + > + +> + >)> + + + )> + ) + ( + + + ) + (T + )> + + ) + ( + + + )> + + ) + ( + + + )> + + ) + ( + + + )> + + ) + (> + + + )> + + ) + (> + + + )> + + ) + (T + )>> + + + + + > + ) + (> + + ) + ( + + + )> + + ) + ( + + ) + ( + + + + ) + (T + )>> + + + + + + + > + + ) + ( + > + + )> + + + + + )> + + ) + ( + )> + + ) + ( + + )> + ) + ( + + > + + )> + + ) + (> + + )>)> + + + ) + ( + + ) + (> + + ) + (T + )>> + + + + + ) + ( + ) + (> + )> + + > + + + > + + )> + ) + ( + > + > + > + + )>) + ( + > + + ) + ( + + + + )> + + )>)> + + + + + )> + + ; "Renewed?" + ) + (T + )> + + + + + ) + ( + + )> + )> + + ) + ( + + ) + ( + > + + ) + ( + )> + + + + + > + + )> + + + ) + (T + )> + + + ) + ( + ,HANDS> + + )> + + ) + ( + + + ) + ( + )> + + + + + + + )> + + ) + ( + + + )> + + + + > + ) + ( ,HANDS> + ) + (T + )> + + + ) + ( + >> + + + + ) + ( + > + + ) + (T + )>> + + + > + +> + > + ) + ( + )> + + > + +> + + )> + + + + > + +> + ) + ( + )> + + + + + + > + )> + + + )> + + ) + (T + )>> + + + + + + + > + + + + + + + )> + > + + + +> + >) + (> + + + ) + ( + )> + + ) + (> + + ) + (T + )>> + + (BYTE) 0>) + (DESCFCN DESCRIBE-WEAPONS) + (ACTION SHILL-F)> + + + > + + )> + )> + + + )> + + > + +"BUOYANT = queue flag, NODESC = appearance delay." + + + ) + ( + + ) + ( + + ) + ( + > + + ) + ( + >> + + + )> + ) + (T + )>> + + + + + + + + + )> + + > + + (BYTE) 0>) + (DESCFCN DESCRIBE-WEAPONS) + (ACTION SWORD-F)> + + + > + + )> + )> + + > + + + ) + ( + + ) + (T + )>> + + (BYTE) 0>) + (DESCFCN DESCRIBE-WEAPONS) + (ACTION AXE-F)> + + + > + + )> + )> + + > + + + ) + ( + + ) + (T + )>> + + (BYTE) 0>) + (DESCFCN DESCRIBE-WEAPONS) + (ACTION DAGGER-F)> + + + > + + )> + )> + + )> + + > + + + ) + ( + + + ) + (T + )> + + ) + (T + )>> + + + + + ) + ( + > + + )> + )> + >> + + + +"SEEN = tried opening box." + + + ) + () + ( + > + + + + + )> + + + + )> + + ) + ( + + + >> + + )>)> + + + + + )> + + + + )> + + + > + + )> + + + + )> + + )> + ) + ( + + + + + + + + + )> + )> + + + ) + (T + )> + + ) + ( + + + ) + (T + )> + + ) + ( + + ) + ( + + ) + ( + + + + ) + ( + > + + ) + (T + )>> + + + + + + ) + ( + + ) + ( + ) + (T + )>> + + + + + + > + )> + + > + + +> + +> + + > + > + 0 ,AMULET-WORD> + 0 ,AMULET-WORD> + + + + > + + + ) + ( + > + + + + ) + (T + )> + + + )> + + > + )> + + + + )> +