From af919a956f77f2a94c430a8a96184db98674f308 Mon Sep 17 00:00:00 2001 From: historicalsource Date: Sun, 14 Apr 2019 00:48:04 -0400 Subject: [PATCH] Revision 50 (Original Source) --- README.md | 1 + constants.zil | 1753 +++++++ events.zil | 4481 ++++++++++++++++ macros.zil | 277 + misc.zil | 3269 ++++++++++++ monsters.zil | 1558 ++++++ parser.zil | 3397 ++++++++++++ people.zil | 2166 ++++++++ places.zil | 6152 ++++++++++++++++++++++ rarities.zil | 2242 ++++++++ syntax.zil | 1428 +++++ things.zil | 13540 ++++++++++++++++++++++++++++++++++++++++++++++++ verbs.zil | 5344 +++++++++++++++++++ z.zil | 43 + 14 files changed, 45651 insertions(+) create mode 100644 README.md create mode 100644 constants.zil create mode 100644 events.zil create mode 100644 macros.zil create mode 100644 misc.zil create mode 100644 monsters.zil create mode 100644 parser.zil create mode 100644 people.zil create mode 100644 places.zil create mode 100644 rarities.zil create mode 100644 syntax.zil create mode 100644 things.zil create mode 100644 verbs.zil create mode 100644 z.zil 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 + )> + + + )> + + > + )> + + + + )> +