Final Revision

This commit is contained in:
historicalsource 2019-04-14 16:35:30 -04:00
commit 689e06b55f
130 changed files with 71008 additions and 0 deletions

1
README.md Normal file
View file

@ -0,0 +1 @@
# journey

70
astrix.zabstr Normal file
View file

@ -0,0 +1,70 @@
<BEGIN-SEGMENT RIVER>
<GLOBAL ASTRIX-TRAP <>>
<COMMAND GIVE-UP>
<ROOM ASTRIX-MAZE (TRAVEL-COMMANDS LEFT-COMMAND RIGHT-COMMAND NUL-COMMAND) (
ENTER <EXECUTE () <FCLEAR ,WEBBA-MAP ,DONT-EXAMINE>>) (GRAPHIC G-MOUNTAIN) (
CAST-LIMIT INF) (ACTION <ACOND () (<EQUAL? ,ACTION ,SCOUT-COMMAND> <UPDATE-FSET
,HERE ,DONT-SCOUT> <FSET ,HERE ,SCOUTED> <COND (<EQUAL? ,ACTOR ,ESHER> <WPRINTD
,ACTOR> <PRINTI " was sent to scout out the various paths, and returned a short while
later. \"They all seem to lead up the mountain,\" he said. \"Perhaps
it does not matter which one we take.\"">) (T <WPRINTD ,ACTOR> <PRINTI
" went ahead to scout the various paths, and returned a short while
later. \"I have not been this far east in my travels,\" he said, \"I
sense great danger here; I wish we did not have to guess which path
to take up the mountain.\"">)> <CRLF> <CRLF> <PRINTI
"\"I fear that such a powerful Wizard as Astrix would try to defend
himself against unwanted visitors,\" Praxix "> <COND (<EQUAL? ,ACTOR ,ESHER> <
PRINTI "countered">) (T <PRINTI "said, echoing Minar's concerns">)> <PRINTI "."
>) (<EQUAL? ,ACTION ,LEFT-COMMAND> <AM-MOVE 0>) (<EQUAL? ,ACTION ,RIGHT-COMMAND
> <AM-MOVE 1>) (<EQUAL? ,ACTION ,BACK-COMMAND> <AM-MOVE -1>) (<AND <EQUAL? ,
ACTION ,CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,FAR-VISION-SPELL> <NOT <QSET? ,
FAR-VISION-SPELL ,INCAPACITATED>>> <ASTRIX-RESPONDS-TO-FLARE>) (<EQUAL? ,ACTION
,GIVE-UP-COMMAND> <HINT ,HINT-WEBBA-MAP> <REMOVE ,HINT-AVALANCHE> <REMOVE ,
HINT-MTN-LION> <GIVE-UP-ENDING>)>)>
<DEFINE-ROUTINE ANONF-215>
<DEFINE-ROUTINE ANONF-216>
<DEFINE-ROUTINE GIVE-UP-ENDING>
<GLOBAL ASTRIX-MAZE-PATH 0>
<GLOBAL ASTRIX-MAZE-ROUTE 1>
<GLOBAL ASTRIX-FORK 1>
<DEFINE-ROUTINE AM-MOVE>
<CONSTANT ASTRIX-MAZE-STR-1 <LTABLE "We decided to start by taking the "
"Both paths looked much the same, but nevertheless we chose the "
"At this fork, we took the " "After some discussion, we decided upon the "
"We nearly came to blows over the next decision, but it was finally
agreed to pursue the "
"\"This had better be the path,\" Praxix said, as we started out
upon the " "\"A bug,\" said Praxix, who turned into a newt and raced down the "
>>
<CONSTANT ASTRIX-MAZE-STR-2 <LTABLE
"Judging by the speed at which the path ascended, we felt certain that we were on the
right path, or, at any rate, a path good enough to take us to Astrix' tower atop the
mountain. But the path soon forked, and gave no hint as to which would lead us further."
"The climb became steeper, and our movement slower, yet the fortress of Astrix loomed
ever closer. And then, the path split again, with larger path heading left and the
narrower one right."
"Although the path climbed for a short while, it soon began to descend down a steep
gully, lowering our hopes that we had chosen well. When we again reached a fork, we
were relieved, figuring that one would return us to our ascent of the mountain. Yet
both appeared to descend even further."
"Down and down we went, and we had soon lost Astrix' tower from our view. \"Guess
what,\" Praxix said, pointing out the spot ahead at which the path forked for yet
another time. It wasn't necessary, as the appearance of forks in the path was starting
to wear on our nerves."
"Sure enough, we hadn't gone more than one hundred paces, when we came to another fork.
\"At least we didn't have to march for hours this time,\" Praxix said, testily."
"And it well might have been, for we started climbing swiftly, and were soon scrambling
over rocks as we attempted to follow the feeble path that lay before us. \"If this isn't
the path,\" he said, \"then I'm one unhappy Wizard.\" And that is precisely what Praxix
became when we came at last to another fork in the path."
"\"And a lousy, rotten one at that!\"">>
<DEFINE-ROUTINE AM-LION>
<DEFINE-ROUTINE AM-AVALANCHE>
<DEFINE-ROUTINE SPARE-VICTIM>
<DEFINE-ROUTINE HAPPENED-QUICKLY>
<DEFINE-ROUTINE ARRIVE-AT-ASTRIX-TOWER>
<DEFINE-ROUTINE STONE-COUNT>
<DEFINE-ROUTINE STONE-NAME>
<DEFINE-ROUTINE FIRST-STONE>
<GLOBAL PASS-1-STONES 0>

281
astrix.zap Normal file
View file

@ -0,0 +1,281 @@
.SEGMENT "RIVER"
.FUNCT ANONF-215:ANY:0:0
FCLEAR WEBBA-MAP,DONT-EXAMINE
RTRUE
.FUNCT ANONF-216:ANY:0:0
EQUAL? ACTION,SCOUT-COMMAND \?CCL3
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
EQUAL? ACTOR,ESHER \?CCL6
ICALL2 WPRINTD,ACTOR
PRINTI " was sent to scout out the various paths, and returned a short while later. ""They all seem to lead up the mountain,"" he said. ""Perhaps it does not matter which one we take."""
JUMP ?CND4
?CCL6: ICALL2 WPRINTD,ACTOR
PRINTI " went ahead to scout the various paths, and returned a short while later. ""I have not been this far east in my travels,"" he said, ""I sense great danger here; I wish we did not have to guess which path to take up the mountain."""
?CND4: CRLF
CRLF
PRINTI """I fear that such a powerful Wizard as Astrix would try to defend himself against unwanted visitors,"" Praxix "
EQUAL? ACTOR,ESHER \?CCL9
PRINTI "countered"
JUMP ?CND7
?CCL9: PRINTI "said, echoing Minar's concerns"
?CND7: PRINTC 46
RTRUE
?CCL3: EQUAL? ACTION,LEFT-COMMAND \?CCL11
CALL2 AM-MOVE,0
RSTACK
?CCL11: EQUAL? ACTION,RIGHT-COMMAND \?CCL13
CALL2 AM-MOVE,1
RSTACK
?CCL13: EQUAL? ACTION,BACK-COMMAND \?CCL15
CALL2 AM-MOVE,-1
RSTACK
?CCL15: EQUAL? ACTION,CAST-COMMAND \?CCL17
EQUAL? ACTION-OBJECT,FAR-VISION-SPELL \?CCL17
CALL QSET?,FAR-VISION-SPELL,INCAPACITATED
ZERO? STACK \?CCL17
CALL1 ASTRIX-RESPONDS-TO-FLARE
RSTACK
?CCL17: EQUAL? ACTION,GIVE-UP-COMMAND \FALSE
ICALL2 HINT,HINT-WEBBA-MAP
REMOVE HINT-AVALANCHE
REMOVE HINT-MTN-LION
CALL1 GIVE-UP-ENDING
RSTACK
.FUNCT GIVE-UP-ENDING:ANY:0:0
PRINTI "I am sad to report that we never did reach Astrix, though we had travelled so far and accomplished so much. It was a sad retreat back to Lavos, and word of our failure spread throughout the land like a winter's gale. The end had come for our journey, and there would be no others."
CALL1 BAD-ENDING
RSTACK
.FUNCT AM-MOVE:ANY:1:1,LR
ICALL FORCE-TRAVEL-COMMAND,HERE,BACK-COMMAND
LESS? LR,0 \?CCL3
PRINTI "Unsure of whether our last decision was correct, we backtracked to "
SHIFT ASTRIX-MAZE-ROUTE,-1 >ASTRIX-MAZE-ROUTE
DEC 'ASTRIX-FORK
EQUAL? ASTRIX-MAZE-ROUTE,1 \?CCL6
ICALL CHANGE-TRAVEL-COMMAND,HERE,BACK-COMMAND,GIVE-UP-COMMAND
PRINTI "where all paths began, at the edge of the Great River."
RTRUE
?CCL6: PRINTI "the previous fork along the path."
RTRUE
?CCL3: SHIFT ASTRIX-MAZE-ROUTE,1
ADD STACK,LR >ASTRIX-MAZE-ROUTE
INC 'ASTRIX-FORK
EQUAL? ASTRIX-MAZE-ROUTE,ASTRIX-MAZE-PATH \?CCL9
FSET WEBBA-MAP,DONT-EXAMINE
CALL1 ARRIVE-AT-ASTRIX-TOWER
RSTACK
?CCL9: GRTR? ASTRIX-MAZE-ROUTE,63 \?CCL11
SET 'ASTRIX-MAZE-ROUTE,1
SET 'ASTRIX-FORK,1
ICALL CHANGE-TRAVEL-COMMAND,HERE,BACK-COMMAND,GIVE-UP-COMMAND
RANDOM 100
LESS? 50,STACK /?CCL14
CALL1 AM-LION
RSTACK
?CCL14: CALL1 AM-AVALANCHE
RSTACK
?CCL11: GET ASTRIX-MAZE-STR-1,ASTRIX-FORK
PRINT STACK
ZERO? LR \?CCL17
PRINTI "left"
JUMP ?CND15
?CCL17: PRINTI "right"
?CND15: PRINTI "hand path. "
GET ASTRIX-MAZE-STR-2,ASTRIX-FORK
PRINT STACK
RTRUE
.FUNCT AM-LION:ANY:0:0,FIP
CALL1 SPARE-VICTIM >FIP
PRINTI "Our path rose steeply for a short while, but the path ended abruptly. "
ZERO? FIP /?CCL3
ZERO? ASTRIX-TRAP \?CCL3
SET 'ASTRIX-TRAP,TRUE-VALUE
ICALL2 PARTY-REMOVE,FIP
ICALL2 HINT,HINT-MTN-LION
PRINTI "As "
ICALL2 WPRINTD,FIP
PRINTI " began clambering up the rock face, he was struck by a mountain lion, killing him instantly. The lion stood there before us, protecting his kill."
CALL2 CHECK-ESSENCES,FIRE-SPELL
ZERO? STACK /?CCL8
PRINTI " Praxix, quickly taking some fire essence from his pouch, cast it upon the lion, engulfing him in flame."
ICALL2 USE-ESSENCES,FIRE-SPELL
PRINTI " We buried poor "
ICALL2 WPRINTD,FIP
PRINTI " there, with Praxix performing the burial ritual. And then,"
JUMP ?CND1
?CCL8: PRINTI "With no magic that might help us retrieve "
ICALL2 WPRINTD,FIP
PRINTI "'s body,"
JUMP ?CND1
?CCL3: PRINTI """We shall be spending the next week climbing rock,"" Praxix said, ""I suggest trying another path."" I agreed, and"
?CND1: PRINTI " we slowly backtracked down the paths we had chosen, thereby reaching our starting point at the base of the mountain."
RTRUE
.FUNCT AM-AVALANCHE:ANY:0:0,FIP
PRINTI "Our chosen path wound its way steeply up the side of the mountain."
CALL1 SPARE-VICTIM >FIP
ZERO? FIP /?CCL3
ZERO? ASTRIX-TRAP \?CCL3
SET 'ASTRIX-TRAP,TRUE-VALUE
ICALL2 PARTY-REMOVE,FIP
ICALL2 HINT,HINT-AVALANCHE
PRINTI " With no warning, Praxix shouted, ""Down! Rocks!"" but "
ICALL2 WPRINTD,FIP
PRINTI " did not move quickly enough. A large rock struck him on the head, splitting his skull and knocking him off the path, and down into a deep gully."
CRLF
CRLF
ICALL UPDATE-FSET,HERE,DONT-SCOUT
CALL2 HAPPENED-QUICKLY,FIP
RSTACK
?CCL3: PRINTI " I was about to continue when Praxix grabbed me, pulling me out of the path of some large falling rocks. ""Let us try another path,"" he said. And so we made the long descent back to the river to attempt again to find the path to Astrix."
RTRUE
.FUNCT SPARE-VICTIM:ANY:0:0
FSET? MINAR,IN-PARTY \?CCL3
FSET? DWARF-MEETING,SEEN \?CCL3
RETURN MINAR
?CCL3: FSET? ESHER,IN-PARTY \?CCL7
RETURN ESHER
?CCL7: FSET? BERGON,IN-PARTY \FALSE
FSET? DWARF-MEETING,SEEN \FALSE
FSET? HIGH-PLAIN,SEEN \FALSE
RETURN BERGON
.FUNCT HAPPENED-QUICKLY:ANY:1:1,FIP
PRINTI "It had happened so quickly, we stood in stunned silence, staring at the place where "
ICALL2 WPRINTD,FIP
PRINTI " had met his end. ""We have come so far; this is a tragic blow!"" Praxix said, then performed a brief burial ritual. We descended all of the way back to our starting point at the river, but no words were spoken."
RTRUE
.FUNCT ARRIVE-AT-ASTRIX-TOWER:ANY:0:0,CNT,STN
CALL1 STONE-COUNT >CNT
SET '2ND-PASS,TRUE-VALUE
IN? HERMIT-POWDER,INVENTORY \?CND1
FSET HERMIT-POWDER,INCAPACITATED
?CND1: ICALL2 GRAPHIC,G-ASTRIX
PRINTI "For six long hours, we continued to climb steeply up the side of the Sunrise Mountain, and thus we came to the high tower of Astrix, the Wizard. No sooner had we arrived, than the tower's massive oak door opened."
CRLF
CRLF
PRINTI """I have been following your progress with great interest,"" the Wizard said, stroking his stringy gray beard. ""You are a very resourceful group, that is certain!"""
CRLF
CRLF
PRINTI "His voice then became dark. ""The question is: Have you mettle enough to make siege on the "
PRINT BAD-GUY
PRINTI " himself?"" And then, smiling, the darkness fell from his voice, and he answered his own question, ""We shall see, I suppose; we shall see."""
CRLF
CRLF
PRINTI "Leading us to his hearth, he sat us in a semi-circle around the blazing fire and spoke. ""There is a story I must tell, a story of Seven Stones. Created in a time lost to living memory, these Stones contained the very strength and essence of our world. Of the Seven, Four were entrusted to the races of men who could use them best: Elves, Dwarves, Nymphs, and Wizards."""
CRLF
CRLF
PRINTI """These are the Four: the Elf Stone, green as the forests of old, and the Dwarf Stone, brown as the caverns of Forn a-klamen; the Nymph Stone, blue as the deep waters of M'nera, and the Wizard Stone, red as the dark fire of Serdi."""
CRLF
CRLF
PRINTI """The four races are now sundered, and the Four have long been kept apart, but now, with the "
PRINT BAD-GUY
PRINTI " rearing his misshapen head in our lands, we must bring them together again. For with them, we can hope to find the Two, and then, finally, the One with whose help we can destroy all Evil."""
CRLF
CRLF
PRINTI """For it is told that having the Four, it is possible to find the Two; so, also, do the Two give witness to their master, the One that in elder days was called the Anvil!"""
CRLF
CRLF
GRTR? CNT,0 \?CND3
PRINTI """Do they look anything like this?"" I asked, sheepishly, holding up the "
CALL1 FIRST-STONE >STN
ICALL2 WPRINTD,STN
PRINTI " to Astrix' view."
CRLF
CRLF
PRINTI """You are too modest,"" he said, grinning widely, ""Yes, this is the "
CALL2 STONE-NAME,STN
PRINT STACK
PRINTI "."""
CRLF
CRLF
?CND3: GRTR? CNT,1 \?CND5
PRINTI """Oh,"" I said. ""And th"
EQUAL? CNT,2 \?CCL9
PRINTI "is"
JUMP ?CND7
?CCL9: PRINTI "ese"
?CND7: PRINTI "...?"""
CRLF
CRLF
PRINTI """Indeed, you have been busy,"" Astrix said, taking the stones, and slapping me heartily on the back."
CRLF
CRLF
?CND5: SET 'PASS-1-STONES,CNT
EQUAL? CNT,3 \?CND10
ICALL1 ASTRIX-SHOWS-STONE
RTRUE
?CND10: IN? NYMPH-STONE,INVENTORY \?CND12
REMOVE NYMPH-STONE
?CND12: IN? DWARF-STONE,INVENTORY \?CND14
REMOVE DWARF-STONE
?CND14: IN? ELF-STONE,INVENTORY \?CND16
REMOVE ELF-STONE
?CND16: FSET? DWARF-MEETING,SEEN /?CCL20
PRINTI "Astrix sat in deep thought, then spoke again. ""I am certain the Dwarves who still walk the dark caverns can be of help to us. I know of a gate...,"" Astrix said, and he proceeded to tell us where we might find entrance to the Dwarves' kingdom."
CRLF
CRLF
PRINTI "We trekked for five days until we reached the spot Astrix had sent us to; ironically, we were not far from the fork at Lavos where we had started our journey."
ICALL2 NEXT-DAY,5
FSET? CANYON-GATE,SCOUTED \?CCL23
ICALL TRAVEL-COMMANDS,CANYON-GATE,ENTER-COMMAND
JUMP ?CND21
?CCL23: ICALL2 TRAVEL-COMMANDS,CANYON-GATE
?CND21: CALL2 MOVE-TO,CANYON-GATE
RSTACK
?CCL20: FSET? HIGH-PLAIN,SEEN /?CCL25
PRINTI """There is a place,"" Astrix began, ""a place high in the mountains where we may find help in our cause."" He gave us directions, and sent us on our way."
CRLF
CRLF
PRINTI "We trekked for three days until we reached the high plain to which Astrix had sent us. Below, a large, clear lake sat in a bowl in the mountains."
ICALL2 NEXT-DAY,3
CALL2 MOVE-TO,HIGH-PLAIN
RSTACK
?CCL25: CALL2 RETURN-TO-ASTRIX-TOWER,TRUE-VALUE
RSTACK
.FUNCT STONE-COUNT:ANY:0:0,OBJ,CNT
FIRST? INVENTORY >OBJ /?PRG2
?PRG2: ZERO? OBJ \?CCL6
RETURN CNT
?CCL6: EQUAL? OBJ,DWARF-STONE,ELF-STONE,NYMPH-STONE \?CND4
INC 'CNT
?CND4: NEXT? OBJ >OBJ /?PRG2
JUMP ?PRG2
.FUNCT STONE-NAME:ANY:1:1,STN
GETP STN,P?STONE-NAME
RSTACK
.FUNCT FIRST-STONE:ANY:0:0,OBJ
FIRST? INVENTORY >OBJ /?PRG2
?PRG2: ZERO? OBJ /FALSE
EQUAL? OBJ,DWARF-STONE,ELF-STONE,NYMPH-STONE \?CND4
RETURN OBJ
?CND4: NEXT? OBJ >OBJ /?PRG2
JUMP ?PRG2
.ENDSEG
.ENDI

326
astrix.zil Normal file
View file

@ -0,0 +1,326 @@
"ASTRIX for
JOURNEY
(c) Copyright 1988, 1989 Infocom, Inc. All Rights Reserved."
<BEGIN-SEGMENT RIVER>
<GLOBAL ASTRIX-TRAP <>>
<COMMAND GIVE-UP>
<ROOM ASTRIX-MAZE
(TRAVEL-COMMANDS LEFT-COMMAND RIGHT-COMMAND NUL-COMMAND)
(ENTER
<EXECUTE ()
<FCLEAR ,WEBBA-MAP ,DONT-EXAMINE>>)
(GRAPHIC G-MOUNTAIN)
(CAST-LIMIT INF)
(ACTION
<ACOND ()
(SCOUT:REMOVE
<COND (<EQUAL? ,ACTOR ,ESHER>
<TELL ACT
" was sent to scout out the various paths, and returned a short while
later. \"They all seem to lead up the mountain,\" he said. \"Perhaps
it does not matter which one we take.\"">)
(T
<TELL ACT
" went ahead to scout the various paths, and returned a short while
later. \"I have not been this far east in my travels,\" he said, \"I
sense great danger here; I wish we did not have to guess which path
to take up the mountain.\"">)>
<TELL CR CR
"\"I fear that such a powerful Wizard as Astrix would try to defend
himself against unwanted visitors,\" Praxix ">
<COND (<EQUAL? ,ACTOR ,ESHER>
<TELL "countered">)
(T
<TELL "said, echoing Minar's concerns">)>
<TELL ".">)
(LEFT
<AM-MOVE 0>)
(RIGHT
<AM-MOVE 1>)
(BACK
<AM-MOVE -1>)
(<AND <ACTION? CAST>
<OBJECT? FAR-VISION-SPELL>
<NOT <QSET? ,FAR-VISION-SPELL ,INCAPACITATED>>>
<ASTRIX-RESPONDS-TO-FLARE>)
(GIVE-UP
<HINT ,HINT-WEBBA-MAP>
<REMOVE ,HINT-AVALANCHE>
<REMOVE ,HINT-MTN-LION>
<GIVE-UP-ENDING>)>)>
<ROUTINE GIVE-UP-ENDING ()
<TELL
"I am sad to report that we never did reach Astrix, though we had travelled so far
and accomplished so much. It was a sad retreat back to Lavos, and word of our failure
spread throughout the land like a winter's gale. The end had come for our journey,
and there would be no others.">
<BAD-ENDING>>
<GLOBAL ASTRIX-MAZE-PATH 0>
<GLOBAL ASTRIX-MAZE-ROUTE 1>
<GLOBAL ASTRIX-FORK 1>
<ROUTINE AM-MOVE (LR)
<FORCE-TRAVEL-COMMAND ,HERE ,BACK-COMMAND>
<COND (<L? .LR 0>
<TELL
"Unsure of whether our last decision was correct, we backtracked to ">
<SETG ASTRIX-MAZE-ROUTE <SHIFT ,ASTRIX-MAZE-ROUTE -1>>
<SETG ASTRIX-FORK <- ,ASTRIX-FORK 1>>
<COND (<EQUAL? ,ASTRIX-MAZE-ROUTE 1>
<CHANGE-TRAVEL-COMMAND ,HERE ,BACK-COMMAND ,GIVE-UP-COMMAND>
<TELL "where all paths began, at the edge of the Great
River.">)
(T
<TELL "the previous fork along the path.">)>
<RTRUE>)
(T
<SETG ASTRIX-MAZE-ROUTE <+ <SHIFT ,ASTRIX-MAZE-ROUTE 1> .LR>>
<SETG ASTRIX-FORK <+ ,ASTRIX-FORK 1>>)>
<COND (<EQUAL? ,ASTRIX-MAZE-ROUTE ,ASTRIX-MAZE-PATH>
<FSET ,WEBBA-MAP ,DONT-EXAMINE>
<ARRIVE-AT-ASTRIX-TOWER>)
(<G? ,ASTRIX-MAZE-ROUTE 63>
;"We've gone six turns and are all messed up now..."
<SETG ASTRIX-MAZE-ROUTE 1>
<SETG ASTRIX-FORK 1>
<CHANGE-TRAVEL-COMMAND ,HERE ,BACK-COMMAND ,GIVE-UP-COMMAND>
<COND (<PROB 50>
<AM-LION>)
(T
<AM-AVALANCHE>)>)
(T
;"Text depending on how far we are (check high bit of ROUTE)"
<TELL <GET ,ASTRIX-MAZE-STR-1 ,ASTRIX-FORK>>
<COND (<ZERO? .LR> <TELL "left">)
(T <TELL "right">)>
<TELL "hand path. ">
<TELL <GET ,ASTRIX-MAZE-STR-2 ,ASTRIX-FORK>>)>>
<CONSTANT ASTRIX-MAZE-STR-1
<LTABLE "We decided to start by taking the "
"Both paths looked much the same, but nevertheless we chose the "
"At this fork, we took the "
"After some discussion, we decided upon the "
"We nearly came to blows over the next decision, but it was finally
agreed to pursue the "
"\"This had better be the path,\" Praxix said, as we started out
upon the "
"\"A bug,\" said Praxix, who turned into a newt and raced down the ">>
<CONSTANT ASTRIX-MAZE-STR-2
<LTABLE
"Judging by the speed at which the path ascended, we felt certain that we were on the
right path, or, at any rate, a path good enough to take us to Astrix' tower atop the
mountain. But the path soon forked, and gave no hint as to which would lead us further."
"The climb became steeper, and our movement slower, yet the fortress of Astrix loomed
ever closer. And then, the path split again, with larger path heading left and the
narrower one right."
"Although the path climbed for a short while, it soon began to descend down a steep
gully, lowering our hopes that we had chosen well. When we again reached a fork, we
were relieved, figuring that one would return us to our ascent of the mountain. Yet
both appeared to descend even further."
"Down and down we went, and we had soon lost Astrix' tower from our view. \"Guess
what,\" Praxix said, pointing out the spot ahead at which the path forked for yet
another time. It wasn't necessary, as the appearance of forks in the path was starting
to wear on our nerves."
"Sure enough, we hadn't gone more than one hundred paces, when we came to another fork.
\"At least we didn't have to march for hours this time,\" Praxix said, testily."
"And it well might have been, for we started climbing swiftly, and were soon scrambling
over rocks as we attempted to follow the feeble path that lay before us. \"If this isn't
the path,\" he said, \"then I'm one unhappy Wizard.\" And that is precisely what Praxix
became when we came at last to another fork in the path."
"\"And a lousy, rotten one at that!\"">>
<ROUTINE AM-LION ("AUX" FIP)
<SET FIP <SPARE-VICTIM>>
<TELL
"Our path rose steeply for a short while, but the path ended abruptly. ">
<COND (<AND .FIP <NOT ,ASTRIX-TRAP>>
<SETG ASTRIX-TRAP T>
<PARTY-REMOVE .FIP>
<HINT ,HINT-MTN-LION>
<TELL "As " D .FIP " began clambering up the
rock face, he was struck by a mountain lion, killing him instantly.
The lion stood there before us, protecting his kill.">
<COND (<CHECK-ESSENCES ,FIRE-SPELL>
<TELL " Praxix, quickly taking
some fire essence from his pouch, cast it upon the lion, engulfing him in
flame.">
<USE-ESSENCES ,FIRE-SPELL>
<TELL
" We buried poor " D .FIP " there, with Praxix performing the burial
ritual. And then,">)
(T
<TELL
"With no magic that might help us retrieve " D .FIP "'s body,">)>)
(T
<TELL "\"We shall be spending the next week
climbing rock,\" Praxix said, \"I suggest trying another path.\"
I agreed, and">)>
<TELL " we slowly backtracked down the paths we had chosen, thereby
reaching our starting point at the base of the mountain.">>
<ROUTINE AM-AVALANCHE ("AUX" FIP)
<TELL
"Our chosen path wound its way steeply up the side of the mountain.">
<SET FIP <SPARE-VICTIM>>
<COND (<AND .FIP <NOT ,ASTRIX-TRAP>>
<SETG ASTRIX-TRAP T>
<PARTY-REMOVE .FIP>
<HINT ,HINT-AVALANCHE>
<TELL
" With no warning, Praxix shouted, \"Down! Rocks!\" but " D .FIP " did not
move quickly enough. A large rock struck him on the head, splitting his skull
and knocking him off the path, and down into a deep gully." CR CR>
<UPDATE-FSET ,HERE ,DONT-SCOUT>
<HAPPENED-QUICKLY .FIP>)
(T
<TELL
" I was about to continue when Praxix grabbed me, pulling me out of the
path of some large falling rocks. \"Let us try another path,\" he said.
And so we made the long descent back to the river to attempt again to find
the path to Astrix.">)>>
<ROUTINE SPARE-VICTIM ()
<COND (<AND <IN-PARTY? ,MINAR>
<FSET? ,DWARF-MEETING ,SEEN>>
,MINAR)
(<IN-PARTY? ,ESHER> ,ESHER)
(<AND <IN-PARTY? ,BERGON>
<FSET? ,DWARF-MEETING ,SEEN>
<FSET? ,HIGH-PLAIN ,SEEN>> ,BERGON)>>
<ROUTINE HAPPENED-QUICKLY (FIP)
<TELL
"It had happened so quickly, we stood in stunned silence, staring at
the place where " D .FIP " had met his end. \"We have come so far;
this is a tragic blow!\" Praxix said, then performed a brief burial
ritual. We descended all of the way back to our starting point at the river, but
no words were spoken.">>
<ROUTINE ARRIVE-AT-ASTRIX-TOWER ("AUX" (CNT <STONE-COUNT>) STN)
<SETG 2ND-PASS T>
<COND (<IN? ,HERMIT-POWDER ,INVENTORY>
<FSET ,HERMIT-POWDER ,INCAPACITATED>)>
<GRAPHIC ,G-ASTRIX>
<TELL
"For six long hours, we continued to climb steeply up the side of the
Sunrise Mountain, and thus we came to the high tower of Astrix, the
Wizard. No sooner had we arrived, than the tower's massive oak door
opened." CR CR>
<TELL
"\"I have been following your progress with great interest,\"
the Wizard said, stroking his stringy gray beard. \"You are
a very resourceful group, that is certain!\"" CR CR>
<TELL
"His voice then became dark. \"The question is: Have you mettle enough to make
siege on the " ,BAD-GUY " himself?\" And then, smiling, the darkness fell from
his voice, and he answered his own question, \"We shall see, I suppose; we shall
see.\"" CR CR>
<TELL
"Leading us to his hearth, he sat us in a semi-circle around the
blazing fire and spoke. \"There is a story I must tell, a story of
Seven Stones. Created in a time lost to living memory, these Stones
contained the very strength and essence of our world. Of the Seven,
Four were entrusted to the races of men who could use them best:
Elves, Dwarves, Nymphs, and Wizards.\"" CR CR>
<TELL
"\"These are the Four: the Elf Stone, green as the forests of old, and the
Dwarf Stone, brown as the caverns of Forn a-klamen; the Nymph Stone,
blue as the deep waters of M'nera, and the Wizard Stone, red as the
dark fire of Serdi.\"" CR CR>
<TELL
"\"The four races are now sundered, and the Four have long
been kept apart, but now, with the " ,BAD-GUY " rearing his misshapen head
in our lands, we must bring them together again. For with them, we can
hope to find the Two, and then, finally, the One with whose help we can destroy
all Evil.\"" CR CR>
<TELL
"\"For it is told that having the Four, it is possible to find the Two;
so, also, do the Two give witness to their master, the One that in elder
days was called the Anvil!\"" CR CR>
<COND (<G? .CNT 0>
<TELL
"\"Do they look anything like this?\" I asked, sheepishly, holding
up the " D <SET STN <FIRST-STONE>> " to Astrix' view." CR CR>
<TELL
"\"You are too modest,\" he said, grinning widely, \"Yes, this is the ">
<TELL <STONE-NAME .STN>>
<TELL ".\"" CR CR>)>
<COND (<G? .CNT 1>
<TELL
"\"Oh,\" I said. \"And th">
<COND (<EQUAL? .CNT 2>
<TELL "is">)
(T
<TELL "ese">)>
<TELL "...?\"" CR CR>
<TELL
"\"Indeed, you have been busy,\" Astrix said, taking the stones, and slapping
me heartily on the back." CR CR>)>
<SETG PASS-1-STONES .CNT>
<COND (<EQUAL? .CNT 3>
<ASTRIX-SHOWS-STONE>
<RTRUE>)>
;"Don't need these - they just clutter up the inventory..."
<COND (<IN? ,NYMPH-STONE ,INVENTORY>
<REMOVE ,NYMPH-STONE>)>
<COND (<IN? ,DWARF-STONE ,INVENTORY>
<REMOVE ,DWARF-STONE>)>
<COND (<IN? ,ELF-STONE ,INVENTORY>
<REMOVE ,ELF-STONE>)>
<COND (<NOT <FSET? ,DWARF-MEETING ,SEEN>>
<TELL
"Astrix sat in deep thought, then spoke again. \"I am certain the
Dwarves who still walk the dark caverns can be of help to us. I know
of a gate...,\" Astrix said, and he proceeded to tell us where
we might find entrance to the Dwarves' kingdom." CR CR>
<TELL
"We trekked for five days until we reached the spot Astrix
had sent us to; ironically, we were not far from the fork at
Lavos where we had started our journey.">
<NEXT-DAY 5>
<COND (<FSET? ,CANYON-GATE ,SCOUTED>
<TRAVEL-COMMANDS ,CANYON-GATE ,ENTER-COMMAND>)
(T
<TRAVEL-COMMANDS ,CANYON-GATE>)>
<MOVE-TO ,CANYON-GATE>)
(<NOT <FSET? ,HIGH-PLAIN ,SEEN>>
<TELL
"\"There is a place,\" Astrix began, \"a place high in the
mountains where we may find help in our cause.\" He gave
us directions, and sent us on our way." CR CR>
<TELL
"We trekked for three days until we reached the high plain to which
Astrix had sent us. Below, a large, clear lake sat in a bowl in
the mountains.">
<NEXT-DAY 3>
<MOVE-TO ,HIGH-PLAIN>)
(T
<RETURN-TO-ASTRIX-TOWER T>)>>
<ROUTINE STONE-COUNT ("AUX" (OBJ <FIRST? ,INVENTORY>) (CNT 0))
<REPEAT ()
<COND (<NOT .OBJ> <RETURN .CNT>)
(<EQUAL? .OBJ ,DWARF-STONE ,ELF-STONE ,NYMPH-STONE>
<SET CNT <+ .CNT 1>>)>
<SET OBJ <NEXT? .OBJ>>>>
<ROUTINE STONE-NAME (STN)
<GETP .STN ,P?STONE-NAME>>
<ROUTINE FIRST-STONE ("AUX" (OBJ <FIRST? ,INVENTORY>))
<REPEAT ()
<COND (<NOT .OBJ> <RFALSE>)
(<EQUAL? .OBJ ,DWARF-STONE ,ELF-STONE ,NYMPH-STONE>
<RETURN .OBJ>)>
<SET OBJ <NEXT? .OBJ>>>>
<GLOBAL PASS-1-STONES 0>

105
characters.zabstr Normal file
View file

@ -0,0 +1,105 @@
<BEGIN-SEGMENT 0>
<CONSTANT PRAXIXBIT 1>
<CONSTANT BERGONBIT 2>
<CONSTANT ESHERBIT 4>
<CONSTANT HURTHBIT 8>
<CONSTANT TAGBIT 16>
<CONSTANT MINARBIT 32>
<CONSTANT UMBERBIT 64>
<CONSTANT ALLBITS 255>
<OBJECT PRAXIX (DESC "Praxix ") (SDESC "Praxix") (KBD 80) (CBIT
PRAXIXBIT) (ROBJ HIMSELF-OBJECT) (FLAGS IN-PARTY) (TRAVEL-COMMANDS CAST-COMMAND
EXAMINE-COMMAND NUL-COMMAND) (PROVISION-COMMANDS EXAMINE-COMMAND NUL-COMMAND
NUL-COMMAND) (FIGHT-COMMANDS CAST-COMMAND NUL-COMMAND NUL-COMMAND) (
OPTION-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND) (SAVED-COMMANDS
NUL-COMMAND NUL-COMMAND NUL-COMMAND) (ATTACK 10 10) (DEFEND 0 30) (STATUS 100)>
<OBJECT BERGON (DESC "Bergon ") (SDESC "Bergon") (KBD 66) (CBIT
BERGONBIT) (FLAGS IN-PARTY) (TRAVEL-COMMANDS GET-ADVICE-COMMAND NUL-COMMAND
NUL-COMMAND) (PROVISION-COMMANDS GET-ADVICE-COMMAND NUL-COMMAND NUL-COMMAND) (
FIGHT-COMMANDS FLANK-COMMAND NUL-COMMAND NUL-COMMAND) (OPTION-COMMANDS
NUL-COMMAND NUL-COMMAND NUL-COMMAND) (SAVED-COMMANDS NUL-COMMAND NUL-COMMAND
NUL-COMMAND) (ROBJ BERGON-OBJECT) (REMOVE <EXECUTE () <SETG LEADER <
FIRST-IN-PARTY ,ESHER ,HURTH ,MINAR ,PRAXIX>> <ADD-TRAVEL-COMMAND ,LEADER ,
GET-ADVICE-COMMAND>>) (ADD <EXECUTE () <REMOVE-TRAVEL-COMMAND ,LEADER ,
GET-ADVICE-COMMAND> <SET LEADER ,BERGON>>) (ATTACK 40 30) (DEFEND 20 50) (
STATUS 100)>
<DEFINE-ROUTINE ANONF-6>
<DEFINE-ROUTINE ANONF-7>
<OBJECT BERGON-OBJECT (SDESC "Bergon") (LOC RANDOM-OBJECTS) (KBD 66) (FLAGS
DONT-TAKE)>
<OBJECT ESHER-OBJECT (SDESC "Esher") (LOC RANDOM-OBJECTS) (KBD 69) (FLAGS
DONT-TAKE)>
<OBJECT MINAR-OBJECT (SDESC "Minar") (KBD 77) (LOC RANDOM-OBJECTS) (FLAGS
DONT-TAKE)>
<OBJECT HURTH-OBJECT (SDESC "Hurth") (KBD 72) (LOC RANDOM-OBJECTS) (FLAGS
DONT-TAKE)>
<OBJECT TAG-OBJECT (SDESC "Tag") (KBD 84) (LOC RANDOM-OBJECTS) (FLAGS DONT-TAKE
)>
<OBJECT HIMSELF-OBJECT (SDESC "himself") (KBD 72) (LOC RANDOM-OBJECTS) (FLAGS
DONT-TAKE)>
<OBJECT ESHER (DESC "Esher ") (SDESC "Esher") (KBD 69) (CBIT ESHERBIT)
(FLAGS IN-PARTY) (ROBJ ESHER-OBJECT) (TRAVEL-COMMANDS EXAMINE-COMMAND
SCOUT-COMMAND NUL-COMMAND) (PROVISION-COMMANDS LOOK-AROUND-COMMAND NUL-COMMAND
NUL-COMMAND) (FIGHT-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND) (
OPTION-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND) (SAVED-COMMANDS
NUL-COMMAND NUL-COMMAND NUL-COMMAND) (ADD <EXECUTE () <COND (<NOT <
FIRST-IN-PARTY ,HURTH ,MINAR>> <ADD-TRAVEL-COMMAND ,ESHER ,SCOUT-COMMAND> <
ADD-PROVISION-COMMAND ,ESHER ,LOOK-AROUND-COMMAND>)>>) (REMOVE <EXECUTE () <
COND (<EQUAL? ,ESHER ,LEADER> <SETG LEADER <FIRST-IN-PARTY ,BERGON ,HURTH ,
MINAR ,PRAXIX>>)>>) (ATTACK 20 10) (DEFEND 10 35) (STATUS 100)>
<DEFINE-ROUTINE ANONF-8>
<DEFINE-ROUTINE ANONF-9>
<OBJECT MINAR (DESC "Minar ") (SDESC "Minar") (KBD 77) (CBIT MINARBIT)
(ROBJ MINAR-OBJECT) (TRAVEL-COMMANDS SCOUT-COMMAND NUL-COMMAND NUL-COMMAND) (
PROVISION-COMMANDS LOOK-AROUND-COMMAND NUL-COMMAND NUL-COMMAND) (FIGHT-COMMANDS
FLANK-COMMAND NUL-COMMAND NUL-COMMAND) (OPTION-COMMANDS NUL-COMMAND NUL-COMMAND
NUL-COMMAND) (SAVED-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND) (ADD <EXECUTE
() <FSET ,MINAR ,DONT-DROP> <COND (<AND <NOT <FSET? ,HURTH ,IN-PARTY>> <FSET? ,
ESHER ,IN-PARTY>> <REMOVE-TRAVEL-COMMAND ,ESHER ,SCOUT-COMMAND> <
REMOVE-PROVISION-COMMAND ,ESHER ,LOOK-AROUND-COMMAND>)>>) (REMOVE <EXECUTE () <
COND (<AND <NOT <FSET? ,HURTH ,IN-PARTY>> <FSET? ,ESHER ,IN-PARTY>> <
ADD-TRAVEL-COMMAND ,ESHER ,SCOUT-COMMAND> <ADD-PROVISION-COMMAND ,ESHER ,
LOOK-AROUND-COMMAND>)>>) (ATTACK 30 20) (DEFEND 10 40) (STATUS 100)>
<DEFINE-ROUTINE ANONF-10>
<DEFINE-ROUTINE ANONF-11>
<OBJECT HURTH (DESC "Hurth ") (SDESC "Hurth") (KBD 72) (CBIT HURTHBIT)
(ROBJ HURTH-OBJECT) (TRAVEL-COMMANDS SCOUT-COMMAND TELL-STORY-COMMAND
EXAMINE-COMMAND) (PROVISION-COMMANDS LOOK-AROUND-COMMAND NUL-COMMAND
NUL-COMMAND) (FIGHT-COMMANDS FLANK-COMMAND NUL-COMMAND NUL-COMMAND) (
OPTION-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND) (SAVED-COMMANDS
NUL-COMMAND NUL-COMMAND NUL-COMMAND) (REMOVE <EXECUTE ("AUX" F) <COND (<EQUAL?
,HURTH ,LEADER> <SETG LEADER <FIRST-IN-PARTY ,BERGON ,ESHER ,MINAR ,PRAXIX>>)>
<COND (<SET F <FIRST-IN-PARTY ,MINAR ,ESHER>> <ADD-TRAVEL-COMMAND .F ,
SCOUT-COMMAND> <ADD-PROVISION-COMMAND .F ,LOOK-AROUND-COMMAND>)>>) (ADD <
EXECUTE ("AUX" F) <COND (<SET F <FIRST-IN-PARTY ,MINAR ,ESHER>> <
REMOVE-TRAVEL-COMMAND .F ,SCOUT-COMMAND> <REMOVE-PROVISION-COMMAND .F ,
LOOK-AROUND-COMMAND>)>>) (ATTACK 30 20) (DEFEND 10 40) (STATUS 100)>
<DEFINE-ROUTINE ANONF-12>
<DEFINE-ROUTINE ANONF-13>
<OBJECT UMBER (DESC "Umber ") (SDESC "Umber") (KBD 85) (CBIT UMBERBIT)
(TRAVEL-COMMANDS TELL-STORY-COMMAND NUL-COMMAND NUL-COMMAND) (
PROVISION-COMMANDS LOOK-AROUND-COMMAND NUL-COMMAND NUL-COMMAND) (FIGHT-COMMANDS
NUL-COMMAND NUL-COMMAND NUL-COMMAND) (OPTION-COMMANDS NUL-COMMAND NUL-COMMAND
NUL-COMMAND) (SAVED-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND) (ATTACK 30 20
) (DEFEND 10 40) (STATUS 100)>
<OBJECT TAG (DESC "Tag ") (SDESC "Tag") (KBD 84) (CBIT TAGBIT) (FLAGS
IN-PARTY) (TRAVEL-COMMANDS PICK-UP-COMMAND DROP-COMMAND INVENTORY-COMMAND) (
PROVISION-COMMANDS BUY-COMMAND SELL-COMMAND INVENTORY-COMMAND) (FIGHT-COMMANDS
NUL-COMMAND NUL-COMMAND NUL-COMMAND) (OPTION-COMMANDS NUL-COMMAND NUL-COMMAND
NUL-COMMAND) (SAVED-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND) (ATTACK 25 10
) (DEFEND 10 35) (STATUS 100)>
<GLOBAL PARTY <TABLE 5 BERGON PRAXIX ESHER TAG 0>>
<GLOBAL LEADER 0>
<DEFINE-ROUTINE CLEAR-PARTY-BIT>
<DEFINE-ROUTINE MAKE-UNBUSY>
<DEFINE-ROUTINE MAKE-BUSY>
<DEFINE-ROUTINE CLEAR-BUSY>
<DEFINE-ROUTINE NEW-CHARACTER>
<DEFINE-ROUTINE PURIFY-CHARACTER>
<DEFINE-ROUTINE PARTY-ADD>
<DEFINE-ROUTINE PARTY-CHANGE>
<DEFINE-ROUTINE PARTY-REMOVE>
<GLOBAL PARTY-SORT-TBL <LTABLE 0 0 0 0 0>>
<DEFINE-ROUTINE SORT-PARTY>

209
characters.zap Normal file
View file

@ -0,0 +1,209 @@
.SEGMENT "0"
.FUNCT ANONF-6:ANY:0:0
CALL FIRST-IN-PARTY,ESHER,HURTH,MINAR,PRAXIX >LEADER
CALL ADD-TRAVEL-COMMAND,LEADER,GET-ADVICE-COMMAND
RSTACK
.FUNCT ANONF-7:ANY:0:0
ICALL REMOVE-TRAVEL-COMMAND,LEADER,GET-ADVICE-COMMAND
SET 'LEADER,BERGON
RETURN LEADER
.FUNCT ANONF-8:ANY:0:0
CALL FIRST-IN-PARTY,HURTH,MINAR
ZERO? STACK \FALSE
ICALL ADD-TRAVEL-COMMAND,ESHER,SCOUT-COMMAND
CALL ADD-PROVISION-COMMAND,ESHER,LOOK-AROUND-COMMAND
RSTACK
.FUNCT ANONF-9:ANY:0:0
EQUAL? ESHER,LEADER \FALSE
CALL FIRST-IN-PARTY,BERGON,HURTH,MINAR,PRAXIX >LEADER
RETURN LEADER
.FUNCT ANONF-10:ANY:0:0
FSET MINAR,DONT-DROP
FSET? HURTH,IN-PARTY /FALSE
FSET? ESHER,IN-PARTY \FALSE
ICALL REMOVE-TRAVEL-COMMAND,ESHER,SCOUT-COMMAND
CALL REMOVE-PROVISION-COMMAND,ESHER,LOOK-AROUND-COMMAND
RSTACK
.FUNCT ANONF-11:ANY:0:0
FSET? HURTH,IN-PARTY /FALSE
FSET? ESHER,IN-PARTY \FALSE
ICALL ADD-TRAVEL-COMMAND,ESHER,SCOUT-COMMAND
CALL ADD-PROVISION-COMMAND,ESHER,LOOK-AROUND-COMMAND
RSTACK
.FUNCT ANONF-12:ANY:0:0,F
EQUAL? HURTH,LEADER \?CND1
CALL FIRST-IN-PARTY,BERGON,ESHER,MINAR,PRAXIX >LEADER
?CND1: CALL FIRST-IN-PARTY,MINAR,ESHER >F
ZERO? F /FALSE
ICALL ADD-TRAVEL-COMMAND,F,SCOUT-COMMAND
CALL ADD-PROVISION-COMMAND,F,LOOK-AROUND-COMMAND
RSTACK
.FUNCT ANONF-13:ANY:0:0,F
CALL FIRST-IN-PARTY,MINAR,ESHER >F
ZERO? F /FALSE
ICALL REMOVE-TRAVEL-COMMAND,F,SCOUT-COMMAND
CALL REMOVE-PROVISION-COMMAND,F,LOOK-AROUND-COMMAND
RSTACK
.FUNCT CLEAR-PARTY-BIT:ANY:1:1,BIT,OFF
?PRG1: IGRTR? 'OFF,PARTY-MAX /TRUE
GET PARTY,OFF
FCLEAR STACK,BIT
JUMP ?PRG1
.FUNCT MAKE-UNBUSY:ANY:1:1,ACT
FCLEAR ACT,BUSY
SET 'UPDATE-FLAG,TRUE-VALUE
RETURN UPDATE-FLAG
.FUNCT MAKE-BUSY:ANY:1:2,ACT,CMD,OFF,TBL
ASSIGNED? 'CMD /?CND1
SET 'CMD,BUSY-COMMAND
?CND1: CALL2 PARTY-PCM,ACT >OFF
ZERO? OFF /FALSE
FSET ACT,BUSY
GET CHARACTER-INPUT-TBL,OFF >TBL
PUT TBL,0,CMD
PUT TBL,1,NUL-COMMAND
PUT TBL,2,NUL-COMMAND
CALL2 NORMAL-ALL,OFF
RSTACK
.FUNCT CLEAR-BUSY:ANY:0:0
CALL2 CLEAR-PARTY-BIT,BUSY
RSTACK
.FUNCT NEW-CHARACTER:ANY:1:1,CHR,ACT
SET 'ACT,ACTOR
ICALL2 PURIFY-CHARACTER,CHR
SET 'UPDATE-FLAG,TRUE-VALUE
ICALL1 PRINT-CHARACTER-COMMANDS
SET 'ACTOR,ACT
RETURN ACTOR
.FUNCT PURIFY-CHARACTER:ANY:1:1,CHR
FCLEAR CHR,BUSY
FCLEAR CHR,SUBGROUP
PUTP CHR,P?STATUS,100
RTRUE
.FUNCT PARTY-ADD:ANY:1:1,CHR,NC
ADD PARTY-MAX,1 >NC
GRTR? NC,5 \?CND1
PRINTI "[Error: Attempt to add 6th party member]"
ICALL2 WPRINTD,CHR
RTRUE
?CND1: PUT PARTY,PARTY-MAX,CHR
PUT PARTY,NC,TAG
SET 'PARTY-MAX,NC
FSET CHR,IN-PARTY
ICALL1 SORT-PARTY
ICALL2 NEW-CHARACTER,CHR
GETP CHR,P?ADD
CALL STACK >NC
SET 'UPDATE-FLAG,TRUE-VALUE
RTRUE
.FUNCT PARTY-CHANGE:ANY:2:2,CHR1,CHR2,CNT,TMP
GET PARTY,0 >CNT
?PRG1: LESS? CNT,1 /FALSE
GET PARTY,CNT
EQUAL? STACK,CHR1 \?CND3
PUT PARTY,CNT,CHR2
FSET CHR2,IN-PARTY
FCLEAR CHR1,IN-PARTY
ICALL1 SORT-PARTY
ICALL2 NEW-CHARACTER,CHR2
GETP CHR1,P?REMOVE
CALL STACK >TMP
GETP CHR2,P?ADD
CALL STACK >TMP
SET 'UPDATE-FLAG,TRUE-VALUE
RTRUE
?CND3: DEC 'CNT
JUMP ?PRG1
.FUNCT PARTY-REMOVE:ANY:1:1,CHR,CNT,C,ACT,?TMP1,?TMP2
SET 'ACT,ACTOR
?PRG1: IGRTR? 'CNT,PARTY-MAX /FALSE
GET PARTY,CNT
EQUAL? STACK,CHR \?PRG1
ADD CNT,1
MUL STACK,2
ADD PARTY,STACK >?TMP2
MUL CNT,2
ADD PARTY,STACK >?TMP1
SUB PARTY-MAX,CNT
MUL STACK,2
COPYT ?TMP2,?TMP1,STACK
MUL PARTY-MAX,2
ADD PARTY,STACK
COPYT STACK,0,2
DEC 'PARTY-MAX
FCLEAR CHR,IN-PARTY
ICALL1 SORT-PARTY
SET 'UPDATE-FLAG,TRUE-VALUE
ICALL1 PRINT-CHARACTER-COMMANDS
SET 'ACTOR,ACT
GETP CHR,P?REMOVE
CALL STACK >C
RTRUE
.FUNCT SORT-PARTY:ANY:0:0,CNT
SET 'CNT,1
FSET? BERGON,IN-PARTY \?CND1
PUT PARTY-SORT-TBL,CNT,BERGON
INC 'CNT
?CND1: FSET? PRAXIX,IN-PARTY \?CND3
PUT PARTY-SORT-TBL,CNT,PRAXIX
INC 'CNT
?CND3: FSET? ESHER,IN-PARTY \?CND5
PUT PARTY-SORT-TBL,CNT,ESHER
INC 'CNT
?CND5: FSET? MINAR,IN-PARTY \?CND7
PUT PARTY-SORT-TBL,CNT,MINAR
INC 'CNT
?CND7: FSET? HURTH,IN-PARTY \?CND9
PUT PARTY-SORT-TBL,CNT,HURTH
INC 'CNT
?CND9: FSET? UMBER,IN-PARTY \?CND11
PUT PARTY-SORT-TBL,CNT,UMBER
INC 'CNT
?CND11: FSET? TAG,IN-PARTY \?CND13
PUT PARTY-SORT-TBL,CNT,TAG
INC 'CNT
?CND13: MUL PARTY-MAX,2
ADD STACK,2
COPYT PARTY-SORT-TBL,PARTY,STACK
RTRUE
.ENDSEG
.ENDI

319
characters.zil Normal file
View file

@ -0,0 +1,319 @@
"CHARACTERS for
JOURNEY
(c) Copyright 1988, 1989 Infocom, Inc. All Rights Reserved."
<BEGIN-SEGMENT 0>
<CONSTANT PRAXIXBIT 1>
<CONSTANT BERGONBIT 2>
<CONSTANT ESHERBIT 4>
<CONSTANT HURTHBIT 8>
<CONSTANT TAGBIT 16>
<CONSTANT MINARBIT 32>
<CONSTANT UMBERBIT 64>
<CONSTANT ALLBITS 255>
<OBJECT PRAXIX
(DESC %<COMPAD "Praxix" ,NAMPADSTR>)
(SDESC "Praxix")
(KBD %<ASCII !\P>)
(CBIT PRAXIXBIT)
(ROBJ HIMSELF-OBJECT)
(FLAGS IN-PARTY)
(TRAVEL-COMMANDS CAST-COMMAND EXAMINE-COMMAND NUL-COMMAND)
(PROVISION-COMMANDS EXAMINE-COMMAND NUL-COMMAND NUL-COMMAND)
(FIGHT-COMMANDS CAST-COMMAND NUL-COMMAND NUL-COMMAND)
(OPTION-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(SAVED-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(ATTACK 10 10)
(DEFEND 0 30)
(STATUS 100)>
<OBJECT BERGON
(DESC %<COMPAD "Bergon" ,NAMPADSTR>)
(SDESC "Bergon")
(KBD %<ASCII !\B>)
(CBIT BERGONBIT)
(FLAGS IN-PARTY)
(TRAVEL-COMMANDS GET-ADVICE-COMMAND NUL-COMMAND NUL-COMMAND)
(PROVISION-COMMANDS GET-ADVICE-COMMAND NUL-COMMAND NUL-COMMAND)
(FIGHT-COMMANDS FLANK-COMMAND NUL-COMMAND NUL-COMMAND)
(OPTION-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(SAVED-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(ROBJ BERGON-OBJECT)
(REMOVE
<EXECUTE ()
<SETG LEADER <FIRST-IN-PARTY ,ESHER ,HURTH ,MINAR ,PRAXIX>>
<ADD-TRAVEL-COMMAND ,LEADER ,GET-ADVICE-COMMAND>>)
(ADD
<EXECUTE ()
<REMOVE-TRAVEL-COMMAND ,LEADER ,GET-ADVICE-COMMAND>
<SETG LEADER ,BERGON>>)
(ATTACK 40 30)
(DEFEND 20 50)
(STATUS 100)>
<OBJECT BERGON-OBJECT
(SDESC "Bergon")
(LOC RANDOM-OBJECTS)
(KBD %<ASCII !\B>)
(FLAGS DONT-TAKE)>
<OBJECT ESHER-OBJECT
(SDESC "Esher")
(LOC RANDOM-OBJECTS)
(KBD %<ASCII !\E>)
(FLAGS DONT-TAKE)>
<OBJECT MINAR-OBJECT
(SDESC "Minar")
(KBD %<ASCII !\M>)
(LOC RANDOM-OBJECTS)
(FLAGS DONT-TAKE)>
<OBJECT HURTH-OBJECT
(SDESC "Hurth")
(KBD %<ASCII !\H>)
(LOC RANDOM-OBJECTS)
(FLAGS DONT-TAKE)>
<OBJECT TAG-OBJECT
(SDESC "Tag")
(KBD %<ASCII !\T>)
(LOC RANDOM-OBJECTS)
(FLAGS DONT-TAKE)>
<OBJECT HIMSELF-OBJECT
(SDESC "himself")
(KBD %<ASCII !\H>)
(LOC RANDOM-OBJECTS)
(FLAGS DONT-TAKE)>
<OBJECT ESHER
(DESC %<COMPAD "Esher" ,NAMPADSTR>)
(SDESC "Esher")
(KBD %<ASCII !\E>)
(CBIT ESHERBIT)
(FLAGS IN-PARTY)
(ROBJ ESHER-OBJECT)
(TRAVEL-COMMANDS EXAMINE-COMMAND SCOUT-COMMAND NUL-COMMAND)
(PROVISION-COMMANDS LOOK-AROUND-COMMAND NUL-COMMAND NUL-COMMAND)
(FIGHT-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(OPTION-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(SAVED-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(ADD
<EXECUTE ()
<COND (<NOT <FIRST-IN-PARTY ,HURTH ,MINAR>>
<ADD-TRAVEL-COMMAND ,ESHER ,SCOUT-COMMAND>
<ADD-PROVISION-COMMAND ,ESHER ,LOOK-AROUND-COMMAND>)>>)
(REMOVE
<EXECUTE ()
<COND (<EQUAL? ,ESHER ,LEADER>
<SETG LEADER
<FIRST-IN-PARTY ,BERGON
,HURTH
,MINAR
,PRAXIX>>)>>)
(ATTACK 20 10)
(DEFEND 10 35)
(STATUS 100)>
<OBJECT MINAR
(DESC %<COMPAD "Minar" ,NAMPADSTR>)
(SDESC "Minar")
(KBD %<ASCII !\M>)
(CBIT MINARBIT)
(ROBJ MINAR-OBJECT)
(TRAVEL-COMMANDS SCOUT-COMMAND NUL-COMMAND NUL-COMMAND)
(PROVISION-COMMANDS LOOK-AROUND-COMMAND NUL-COMMAND NUL-COMMAND)
(FIGHT-COMMANDS FLANK-COMMAND NUL-COMMAND NUL-COMMAND)
(OPTION-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(SAVED-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(ADD
<EXECUTE ()
<FSET ,MINAR ,DONT-DROP>
<COND (<AND <NOT <IN-PARTY? ,HURTH>>
<IN-PARTY? ,ESHER>>
<REMOVE-TRAVEL-COMMAND ,ESHER ,SCOUT-COMMAND>
<REMOVE-PROVISION-COMMAND ,ESHER ,LOOK-AROUND-COMMAND>)>>)
(REMOVE
<EXECUTE ()
<COND (<AND <NOT <IN-PARTY? ,HURTH>>
<IN-PARTY? ,ESHER>>
<ADD-TRAVEL-COMMAND ,ESHER ,SCOUT-COMMAND>
<ADD-PROVISION-COMMAND ,ESHER ,LOOK-AROUND-COMMAND>)>>)
(ATTACK 30 20)
(DEFEND 10 40)
(STATUS 100)>
<OBJECT HURTH
(DESC %<COMPAD "Hurth" ,NAMPADSTR>)
(SDESC "Hurth")
(KBD %<ASCII !\H>)
(CBIT HURTHBIT)
(ROBJ HURTH-OBJECT)
(TRAVEL-COMMANDS SCOUT-COMMAND TELL-STORY-COMMAND EXAMINE-COMMAND)
(PROVISION-COMMANDS LOOK-AROUND-COMMAND NUL-COMMAND NUL-COMMAND)
(FIGHT-COMMANDS FLANK-COMMAND NUL-COMMAND NUL-COMMAND)
(OPTION-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(SAVED-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(REMOVE
<EXECUTE ("AUX" F)
<COND (<EQUAL? ,HURTH ,LEADER>
<SETG LEADER
<FIRST-IN-PARTY ,BERGON
,ESHER
,MINAR
,PRAXIX>>)>
<COND (<SET F <FIRST-IN-PARTY ,MINAR ,ESHER>>
<ADD-TRAVEL-COMMAND .F ,SCOUT-COMMAND>
<ADD-PROVISION-COMMAND .F ,LOOK-AROUND-COMMAND>)>>)
(ADD
<EXECUTE ("AUX" F)
<COND (<SET F <FIRST-IN-PARTY ,MINAR ,ESHER>>
<REMOVE-TRAVEL-COMMAND .F ,SCOUT-COMMAND>
<REMOVE-PROVISION-COMMAND .F ,LOOK-AROUND-COMMAND>)>>)
(ATTACK 30 20)
(DEFEND 10 40)
(STATUS 100)>
<OBJECT UMBER
(DESC %<COMPAD "Umber" ,NAMPADSTR>)
(SDESC "Umber")
(KBD %<ASCII !\U>)
(CBIT UMBERBIT)
(TRAVEL-COMMANDS TELL-STORY-COMMAND NUL-COMMAND NUL-COMMAND)
(PROVISION-COMMANDS LOOK-AROUND-COMMAND NUL-COMMAND NUL-COMMAND)
(FIGHT-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(OPTION-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(SAVED-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(ATTACK 30 20)
(DEFEND 10 40)
(STATUS 100)>
<OBJECT TAG
(DESC %<COMPAD "Tag" ,NAMPADSTR>)
(SDESC "Tag")
(KBD %<ASCII !\T>)
(CBIT TAGBIT)
(FLAGS IN-PARTY)
(TRAVEL-COMMANDS PICK-UP-COMMAND DROP-COMMAND INVENTORY-COMMAND)
(PROVISION-COMMANDS BUY-COMMAND SELL-COMMAND INVENTORY-COMMAND)
(FIGHT-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(OPTION-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(SAVED-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND)
(ATTACK 25 10)
(DEFEND 10 35)
(STATUS 100)>
<GLOBAL PARTY <TABLE 5 BERGON PRAXIX ESHER TAG 0>>
<GLOBAL LEADER 0>
<ROUTINE CLEAR-PARTY-BIT (BIT "AUX" (OFF 0))
<REPEAT ()
<COND (<G? <SET OFF <+ .OFF 1>> ,PARTY-MAX>
<RETURN>)
(T
<FCLEAR <GET ,PARTY .OFF> .BIT>)>>>
<ROUTINE MAKE-UNBUSY (ACT)
<FCLEAR .ACT ,BUSY>
<SETG UPDATE-FLAG T>>
<ROUTINE MAKE-BUSY (ACT "OPTIONAL" (CMD ,BUSY-COMMAND) "AUX" OFF TBL)
<COND (<SET OFF <PARTY-PCM .ACT>>
<FSET .ACT ,BUSY>
<SET TBL <GET ,CHARACTER-INPUT-TBL .OFF>>
<PUT .TBL 0 .CMD>
<PUT .TBL 1 ,NUL-COMMAND>
<PUT .TBL 2 ,NUL-COMMAND>
<NORMAL-ALL .OFF>)>>
<ROUTINE CLEAR-BUSY () <CLEAR-PARTY-BIT ,BUSY>>
<ROUTINE NEW-CHARACTER (CHR "AUX" (ACT ,ACTOR))
<PURIFY-CHARACTER .CHR>
<SETG UPDATE-FLAG T>
<PRINT-CHARACTER-COMMANDS>
<SETG ACTOR .ACT>>
<ROUTINE PURIFY-CHARACTER (CHR)
<FCLEAR .CHR ,BUSY>
<FCLEAR .CHR ,SUBGROUP>
<PUTP .CHR ,P?STATUS 100>>
<ROUTINE PARTY-ADD (CHR "AUX" NC)
<SET NC <+ ,PARTY-MAX 1>>
<COND (<G? .NC 5>
<TELL "[Error: Attempt to add 6th party member]" D .CHR>
<RTRUE>)>
<PUT ,PARTY ,PARTY-MAX .CHR>
<PUT ,PARTY .NC ,TAG>
<SETG PARTY-MAX .NC>
<FSET .CHR ,IN-PARTY>
<SORT-PARTY>
<NEW-CHARACTER .CHR>
<SET NC <APPLY <GETP .CHR ,P?ADD>>>
<SETG UPDATE-FLAG T>
<RTRUE>>
<ROUTINE PARTY-CHANGE (CHR1 CHR2 "AUX" (CNT <GET ,PARTY 0>) TMP)
<REPEAT ()
<COND (<L? .CNT 1> <RFALSE>)
(<EQUAL? <GET ,PARTY .CNT> .CHR1>
<PUT ,PARTY .CNT .CHR2>
<FSET .CHR2 ,IN-PARTY>
<FCLEAR .CHR1 ,IN-PARTY>
<SORT-PARTY>
<NEW-CHARACTER .CHR2>
<SET TMP <APPLY <GETP .CHR1 ,P?REMOVE>>>
<SET TMP <APPLY <GETP .CHR2 ,P?ADD>>>
<SETG UPDATE-FLAG T>
<RTRUE>)>
<SET CNT <- .CNT 1>>>>
<ROUTINE PARTY-REMOVE (CHR "AUX" (CNT 0) C ACT)
<SET ACT ,ACTOR>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> ,PARTY-MAX>
<RFALSE>)
(<EQUAL? <GET ,PARTY .CNT> .CHR>
<COPYT <REST ,PARTY <* <+ .CNT 1> 2>>
<REST ,PARTY <* .CNT 2>>
<* <- ,PARTY-MAX .CNT> 2>>
<COPYT <REST ,PARTY <* ,PARTY-MAX 2>> 0 2>
<SETG PARTY-MAX <- ,PARTY-MAX 1>>
<FCLEAR .CHR ,IN-PARTY>
<SORT-PARTY>
<SETG UPDATE-FLAG T>
<PRINT-CHARACTER-COMMANDS>
<SETG ACTOR .ACT>
<SET C <APPLY <GETP .CHR ,P?REMOVE>>>
<RTRUE>)>>>
<GLOBAL PARTY-SORT-TBL <LTABLE 0 0 0 0 0>>
<ROUTINE SORT-PARTY ("AUX" (CNT 1))
<COND (<IN-PARTY? ,BERGON>
<PUT ,PARTY-SORT-TBL .CNT ,BERGON>
<SET CNT <+ .CNT 1>>)>
<COND (<IN-PARTY? ,PRAXIX>
<PUT ,PARTY-SORT-TBL .CNT ,PRAXIX>
<SET CNT <+ .CNT 1>>)>
<COND (<IN-PARTY? ,ESHER>
<PUT ,PARTY-SORT-TBL .CNT ,ESHER>
<SET CNT <+ .CNT 1>>)>
<COND (<IN-PARTY? ,MINAR>
<PUT ,PARTY-SORT-TBL .CNT ,MINAR>
<SET CNT <+ .CNT 1>>)>
<COND (<IN-PARTY? ,HURTH>
<PUT ,PARTY-SORT-TBL .CNT ,HURTH>
<SET CNT <+ .CNT 1>>)>
<COND (<IN-PARTY? ,UMBER>
<PUT ,PARTY-SORT-TBL .CNT ,UMBER>
<SET CNT <+ .CNT 1>>)>
<COND (<IN-PARTY? ,TAG>
<PUT ,PARTY-SORT-TBL .CNT ,TAG>
<SET CNT <+ .CNT 1>>)>
<COPYT ,PARTY-SORT-TBL ,PARTY <+ <* ,PARTY-MAX 2> 2>>>

64
combat.zabstr Normal file
View file

@ -0,0 +1,64 @@
<BEGIN-SEGMENT 0>
<OBJECT DWARVES (SDESC "Dwarves") (KBD 68) (ATTACK 200 200) (STATUS 100) (
RETREAT 0)>
<GLOBAL OPPONENT BANDITS>
<CONSTANT COMBAT-COS 0>
<CONSTANT COMBAT-CDS 1>
<GLOBAL COMBAT-DAMAGE <LTABLE 0 0 0 0 0 0 0 0 0 0 0>>
<GLOBAL COMBAT-ROUND -1>
<DEFINE-ROUTINE STRENGTH>
<DEFINE-ROUTINE END-COMBAT>
<COMMAND STRENGTH>
<COMMAND CLIMB>
<COMMAND DOWN>
<COMMAND UP>
<DEFINE-ROUTINE SURPRISE-COMBAT>
<COMMAND COMBAT <> ("AUX" (OFF 0) CMD CHR (TOS 0) (TDS 0) OOS ODS TBL) <SETG
COMBAT-ROUND <ADD ,COMBAT-ROUND 1>> <SET TBL <GETPT ,OPPONENT ,P?ATTACK>> <SET
OOS <STRENGTH ,OPPONENT .TBL ,COMBAT-COS>> <SET ODS <STRENGTH ,OPPONENT .TBL ,
COMBAT-CDS>> <SET OFF 0> <REPEAT () <COND (<GRTR? <SET OFF <ADD .OFF 1>> ,
PARTY-MAX> <RETURN>) (T <SET CHR <GET ,PARTY .OFF>> <SET TBL <GETPT .CHR ,
P?ATTACK>> <SET TOS <ADD .TOS #ZLOCAL!-IZILCH STACK>> <SET TDS <ADD .TDS #
ZLOCAL!-IZILCH STACK>>)>> <PUT ,COMBAT-STRENGTHS ,CS-PARTY-OFFENSE .TOS> <PUT ,
COMBAT-STRENGTHS ,CS-PARTY-DEFENSE .TDS> <PUT ,COMBAT-STRENGTHS ,
CS-OPPONENT-OFFENSE .OOS> <PUT ,COMBAT-STRENGTHS ,CS-OPPONENT-DEFENSE .ODS> <
SCENE-ACTION ,STRENGTH-COMMAND> <DESCRIBE-COMBAT> <RTRUE>>
<DEFINE-ROUTINE V-COMBAT>
<COMMAND COMBAT-RESULT>
<DEFINE-ROUTINE SCENE-ACTION>
<GLOBAL COMBAT-STRENGTHS <TABLE 0 0 0 0>>
<CONSTANT CS-PARTY-OFFENSE 0>
<CONSTANT CS-PARTY-DEFENSE 1>
<CONSTANT CS-OPPONENT-OFFENSE 2>
<CONSTANT CS-OPPONENT-DEFENSE 3>
<DEFINE-ROUTINE ADD-PARTY-DEFENSE>
<DEFINE-ROUTINE ADD-PARTY-OFFENSE>
<CONSTANT COMBAT-RESULT-TBL <TABLE "no" "trivial" "minor" "significant" "major"
"grave">>
<DEFINE-ROUTINE COMBAT-RESULT>
<DEFINE-ROUTINE MIN>
<DEFINE-ROUTINE DESCRIBE-COMBAT>
<CONSTANT D-MAJOR 60>
<CONSTANT D-MODERATE 80>
<CONSTANT D-MINOR 90>
<GLOBAL OFFENSIVE-RESULT 0>
<GLOBAL DEFENSIVE-RESULT 0>
<CONSTANT DAMAGE-TBL <LTABLE <LTABLE D-MINOR> <LTABLE D-MINOR D-MINOR> <LTABLE
D-MODERATE D-MINOR D-MINOR> <LTABLE D-MODERATE D-MODERATE D-MINOR D-MINOR> <
LTABLE D-MAJOR D-MODERATE D-MODERATE D-MINOR>>>
<CONSTANT OPPONENT-DAMAGE-TBL <LTABLE 95 90 80 75 70>>
<DEFINE-ROUTINE DAMAGE-OPPONENT>
<DEFINE-ROUTINE DAMAGE-PARTY>
<DEFINE-ROUTINE DAMAGE-STATUS>
<CONSTANT DAMAGE-STATUS-TBL <TABLE "critically wounded" "severely wounded"
"badly wounded" "wounded, but strong" "slightly wounded" "unscathed">>
<DEFINE-ROUTINE DAMAGE-REPORT>
<DEFINE-ROUTINE DAMAGE-CHARACTER>
<DEFINE-ROUTINE PARTY-STATUS>
<DEFINE-ROUTINE DAMAGE-ORDER>
<DEFINE-ROUTINE PAIR-SORT>
<CONSTANT AGGRESSION-TBL <TABLE "a decidedly defensive" "a defensive"
"a somewhat defensive" "a balanced" "an aggressive" "an agressive"
"a boldly aggressive" "an all-out aggressive" "an almost suicidally aggressive"
>>

310
combat.zap Normal file
View file

@ -0,0 +1,310 @@
.SEGMENT "0"
.FUNCT STRENGTH:ANY:3:3,CHR,TBL,OFF,?TMP1
GETB TBL,OFF >?TMP1
GETP CHR,P?STATUS
MUL ?TMP1,STACK
DIV STACK,100
RSTACK
.FUNCT END-COMBAT:ANY:0:1,DAMAGE
ASSIGNED? 'DAMAGE /?CND1
SET 'DAMAGE,TRUE-VALUE
?CND1: ZERO? DAMAGE /?CND3
CRLF
CRLF
ICALL1 DAMAGE-REPORT
?CND3: ICALL2 SCENE,FALSE-VALUE
ICALL2 MODE,TRAVEL-MODE
SET 'UPDATE-FLAG,TRUE-VALUE
RETURN UPDATE-FLAG
.FUNCT SURPRISE-COMBAT:ANY:0:0
CALL1 V-COMBAT
RSTACK
.FUNCT V-COMBAT:ANY:0:0,OFF,CMD,CHR,TOS,TDS,OOS,ODS,TBL
INC 'COMBAT-ROUND
GETPT OPPONENT,P?ATTACK >TBL
CALL STRENGTH,OPPONENT,TBL,COMBAT-COS >OOS
CALL STRENGTH,OPPONENT,TBL,COMBAT-CDS >ODS
SET 'OFF,0
?PRG1: IGRTR? 'OFF,PARTY-MAX /?REP2
GET PARTY,OFF >CHR
GETPT CHR,P?ATTACK >TBL
CALL STRENGTH,CHR,TBL,COMBAT-COS
ADD TOS,STACK >TOS
CALL STRENGTH,CHR,TBL,COMBAT-CDS
ADD TDS,STACK >TDS
JUMP ?PRG1
?REP2: PUT COMBAT-STRENGTHS,CS-PARTY-OFFENSE,TOS
PUT COMBAT-STRENGTHS,CS-PARTY-DEFENSE,TDS
PUT COMBAT-STRENGTHS,CS-OPPONENT-OFFENSE,OOS
PUT COMBAT-STRENGTHS,CS-OPPONENT-DEFENSE,ODS
ICALL2 SCENE-ACTION,STRENGTH-COMMAND
ICALL1 DESCRIBE-COMBAT
RTRUE
.FUNCT SCENE-ACTION:ANY:1:1,CMD
SET 'ACTION,CMD
GETP SCENE-OBJECT,P?ACTION
CALL STACK
RSTACK
.FUNCT ADD-PARTY-DEFENSE:ANY:1:1,NUM
GET COMBAT-STRENGTHS,CS-PARTY-DEFENSE
ADD STACK,NUM
PUT COMBAT-STRENGTHS,CS-PARTY-DEFENSE,STACK
RTRUE
.FUNCT ADD-PARTY-OFFENSE:ANY:1:1,NUM
GET COMBAT-STRENGTHS,CS-PARTY-OFFENSE
ADD STACK,NUM
PUT COMBAT-STRENGTHS,CS-PARTY-OFFENSE,STACK
RTRUE
.FUNCT COMBAT-RESULT:ANY:2:2,OS,DS
MUL OS,10
DIV STACK,DS
DIV STACK,4
CALL MIN,STACK,5
RSTACK
.FUNCT MIN:ANY:2:2,M,N
GRTR? N,M \?CCL3
RETURN M
?CCL3: RETURN N
.FUNCT DESCRIBE-COMBAT:ANY:0:0,NOTELL?,TOS,TDS,OOS,ODS,ORES,DRES,TMP
GET COMBAT-STRENGTHS,CS-PARTY-OFFENSE >TOS
GET COMBAT-STRENGTHS,CS-PARTY-DEFENSE >TDS
GET COMBAT-STRENGTHS,CS-OPPONENT-OFFENSE >OOS
GET COMBAT-STRENGTHS,CS-OPPONENT-DEFENSE >ODS
ZERO? DEBUG /?CND1
PRINTI "Off: "
PRINTN TOS
PRINTC 47
PRINTN ODS
PRINTI " Def: "
PRINTN TDS
PRINTC 47
PRINTN OOS
?CND1: CALL COMBAT-RESULT,TOS,ODS >OFFENSIVE-RESULT
CALL COMBAT-RESULT,OOS,TDS >DEFENSIVE-RESULT
CALL2 SCENE-ACTION,COMBAT-RESULT-COMMAND >NOTELL?
ZERO? NOTELL? \?CND3
ZERO? COMBAT-ROUND \?CCL7
PRINTI "Our party initially took an aggressive"
PRINTI " stance against the "
ICALL2 WPRINTD,OPPONENT
PRINTI ", who themselves were in "
MUL OOS,10
DIV STACK,ODS
DIV STACK,4
CALL MIN,STACK,8
GET AGGRESSION-TBL,STACK
PRINT STACK
PRINTI " posture."
JUMP ?CND5
?CCL7: PRINTI "We maintained our stance, as did the "
ICALL2 WPRINTD,OPPONENT
PRINTC 46
?CND5: PRINTI " The fighting was fierce, with "
ADD OFFENSIVE-RESULT,DEFENSIVE-RESULT
ZERO? STACK \?CCL10
PRINTI "neither side hurt in the slightest"
JUMP ?CND8
?CCL10: EQUAL? OFFENSIVE-RESULT,DEFENSIVE-RESULT \?CCL12
PRINTI "both sides suffering "
GET COMBAT-RESULT-TBL,OFFENSIVE-RESULT
PRINT STACK
PRINTI " injuries in what was, at best, a stand-off"
JUMP ?CND8
?CCL12: GRTR? OFFENSIVE-RESULT,DEFENSIVE-RESULT \?CCL14
PRINTI "the "
ICALL2 WPRINTD,OPPONENT
PRINTC 32
GRTR? DEFENSIVE-RESULT,3 \?CCL17
PRINTI "getting the worse beating, though we ourselves were bloodied considerably"
JUMP ?CND8
?CCL17: GRTR? OFFENSIVE-RESULT,3 \?CCL19
PRINTI "taking a beating at our hands, while we escaped with minor injury"
JUMP ?CND8
?CCL19: PRINTI "and ourselves each scoring a few hits, though we clearly had the upper hand"
JUMP ?CND8
?CCL14: PRINTI "our party "
GRTR? OFFENSIVE-RESULT,3 \?CCL22
PRINTI "suffering major injury; I suppose it was some consolation that we did a good deal of damage ourselves"
JUMP ?CND8
?CCL22: GRTR? DEFENSIVE-RESULT,3 \?CCL24
PRINTI "taking some major hits, and giving not as many back"
JUMP ?CND8
?CCL24: PRINTI "faring a bit worse than our opponent, though neither side had clearly gained the upper hand"
?CND8: PRINTC 46
?CND3: GRTR? DEFENSIVE-RESULT,0 \?CND25
ICALL DAMAGE-PARTY,DEFENSIVE-RESULT,NOTELL?
?CND25: GRTR? OFFENSIVE-RESULT,0 \TRUE
ICALL DAMAGE-OPPONENT,OFFENSIVE-RESULT,NOTELL?
RTRUE
.FUNCT DAMAGE-OPPONENT:ANY:2:2,ORES,NOTELL?,NST,TT,?TMP1
GETP OPPONENT,P?STATUS >?TMP1
GET OPPONENT-DAMAGE-TBL,ORES
MUL ?TMP1,STACK
DIV STACK,100 >NST
PUTP OPPONENT,P?STATUS,NST
GETP OPPONENT,P?RETREAT
LESS? NST,STACK \FALSE
CRLF
GETP OPPONENT,P?SPECIAL-ACTION
CALL STACK >?TMP1
ZERO? ?TMP1 /?CCL5
RETURN ?TMP1
?CCL5: CRLF
PRINTI "The "
ICALL2 WPRINTD,OPPONENT
PRINTI ", badly hurt, retreated out of sight. We had won the battle!"
CALL1 END-COMBAT
RSTACK
.FUNCT DAMAGE-PARTY:ANY:2:2,DRES,NOTELL?,OFF,DOFF,DTBL,DMAX,?TMP2
SET 'DOFF,1
ICALL1 DAMAGE-ORDER
GET DAMAGE-TBL,DRES >DTBL
GET DTBL,0 >DMAX
?PRG1: GRTR? DOFF,DMAX /?REP2
GRTR? DOFF,PARTY-MAX /?REP2
GET COMBAT-DAMAGE,OFF >?TMP2
GET DTBL,DOFF
ICALL DAMAGE-CHARACTER,?TMP2,STACK
ADD OFF,2 >OFF
INC 'DOFF
JUMP ?PRG1
?REP2: SET 'DOFF,0
SET 'OFF,100
SET 'DMAX,0
?PRG8: IGRTR? 'DOFF,PARTY-MAX /?REP9
GET PARTY,DOFF
GETP STACK,P?STATUS >DTBL
LESS? DTBL,OFF \?PRG8
SET 'DMAX,DOFF
SET 'OFF,DTBL
JUMP ?PRG8
?REP9: ZERO? NOTELL? \TRUE
CALL1 PARTY-STATUS >DOFF
LESS? DOFF,60 \FALSE
CRLF
CRLF
PRINTI "Our party was badly wounded, though still able to fight. ""Let's get out of here,"" I cried, ""before we're killed!"""
RTRUE
.FUNCT DAMAGE-STATUS:ANY:1:1,CHR
GETP CHR,P?STATUS
DIV STACK,20
GET DAMAGE-STATUS-TBL,STACK
RSTACK
.FUNCT DAMAGE-REPORT:ANY:0:0,OFF,CHR
PRINTI "The battle concluded, we took a moment to check on our condition. It appeared that "
?PRG1: IGRTR? 'OFF,PARTY-MAX \?CCL5
PRINTC 46
RTRUE
?CCL5: GET PARTY,OFF >CHR
EQUAL? CHR,TAG \?CCL8
PRINTC 73
JUMP ?CND6
?CCL8: ICALL2 WPRINTD,CHR
?CND6: PRINTI " was "
CALL2 DAMAGE-STATUS,CHR
PRINT STACK
SUB PARTY-MAX,1
EQUAL? OFF,STACK \?CCL11
PRINTI ", and "
JUMP ?PRG1
?CCL11: EQUAL? OFF,PARTY-MAX /?PRG1
PRINTI ", "
JUMP ?PRG1
.FUNCT DAMAGE-CHARACTER:ANY:2:2,CHR,TYP,NST
GETP CHR,P?STATUS
MUL TYP,STACK
DIV STACK,100 >NST
PUTP CHR,P?STATUS,NST
ZERO? DEBUG /FALSE
CRLF
PRINTI "Damage to "
ICALL2 WPRINTD,CHR
PRINTI ", status:"
PRINTN NST
RTRUE
.FUNCT PARTY-STATUS:ANY:0:0,CNT,SUM
?PRG1: IGRTR? 'CNT,PARTY-MAX /?REP2
GET PARTY,CNT
GETP STACK,P?STATUS
ADD SUM,STACK >SUM
JUMP ?PRG1
?REP2: DIV SUM,PARTY-MAX
RSTACK
.FUNCT DAMAGE-ORDER:ANY:0:0,POFF,DOFF,CHR,TBL,TMP,?TMP2
?PRG1: IGRTR? 'POFF,PARTY-MAX /?REP2
GET PARTY,POFF >CHR
PUT COMBAT-DAMAGE,DOFF,CHR
GETPT CHR,P?ATTACK >TBL
ADD DOFF,1 >?TMP2
CALL STRENGTH,CHR,TBL,COMBAT-CDS
PUT COMBAT-DAMAGE,?TMP2,STACK
ADD DOFF,2 >DOFF
JUMP ?PRG1
?REP2: MUL PARTY-MAX,2
CALL PAIR-SORT,COMBAT-DAMAGE,STACK
RSTACK
.FUNCT PAIR-SORT:ANY:2:2,TBL,MAX,OFF,T1,T2,TT,FLG,?TMP2
?PRG1: ADD OFF,3
GRTR? STACK,MAX \?CND3
ZERO? FLG /TRUE
SET 'OFF,0
SET 'FLG,FALSE-VALUE
?CND3: ADD OFF,1
GET TBL,STACK >?TMP2
ADD OFF,3
GET TBL,STACK
GRTR? ?TMP2,STACK \?CND8
SET 'FLG,TRUE-VALUE
MUL OFF,2
ADD TBL,STACK >TT
GET TT,0 >T1
GET TT,1 >T2
GET TT,2
PUT TT,0,STACK
GET TT,3
PUT TT,1,STACK
PUT TT,2,T1
PUT TT,3,T2
?CND8: ADD OFF,2 >OFF
JUMP ?PRG1
.ENDSEG
.ENDI

336
combat.zil Normal file
View file

@ -0,0 +1,336 @@
"COMBAT for
JOURNEY
(c) Copyright 1988, 1989 Infocom, Inc. All Rights Reserved."
<BEGIN-SEGMENT 0>
;"Attack: offensive/defensive strength
Status: relative strength
Threshold: when retreat will occur"
<OBJECT DWARVES
(SDESC "Dwarves")
(KBD %<ASCII !\D>)
(ATTACK 200 200)
(STATUS 100)
(RETREAT 0)>
<GLOBAL OPPONENT BANDITS>
<CONSTANT COMBAT-COS 0>
<CONSTANT COMBAT-CDS 1>
;<CONSTANT NUL-COMBAT-TBL <TABLE 100>>
<GLOBAL COMBAT-DAMAGE <LTABLE 0 0 0 0 0 0 0 0 0 0 0>>
<GLOBAL COMBAT-ROUND -1>
<ROUTINE STRENGTH (CHR TBL OFF)
</ <* <GETB .TBL .OFF> <GETP .CHR ,P?STATUS>> 100>>
<ROUTINE END-COMBAT ("OPTIONAL" (DAMAGE T))
<COND (.DAMAGE
<TELL CR CR>
<DAMAGE-REPORT>)>
<SCENE <>>
<MODE ,TRAVEL-MODE>
<SETG UPDATE-FLAG T>>
<COMMAND STRENGTH>
<COMMAND CLIMB>
<COMMAND DOWN>
<COMMAND UP>
<ROUTINE SURPRISE-COMBAT ()
<V-COMBAT>>
<COMMAND COMBAT <> ("AUX" (OFF 0) CMD CHR (TOS 0) (TDS 0) OOS ODS TBL)
<SETG COMBAT-ROUND <+ ,COMBAT-ROUND 1>>
<SET TBL <GETPT ,OPPONENT ,P?ATTACK>>
<SET OOS <STRENGTH ,OPPONENT .TBL ,COMBAT-COS>>
<SET ODS <STRENGTH ,OPPONENT .TBL ,COMBAT-CDS>>
;"Calculate total offensive/defensive strength"
<SET OFF 0>
<REPEAT ()
<COND (<G? <SET OFF <+ .OFF 1>> ,PARTY-MAX>
<RETURN>)
(T
<SET CHR <GET ,PARTY .OFF>>
<SET TBL <GETPT .CHR ,P?ATTACK>>
<SET TOS <+ .TOS <STRENGTH .CHR .TBL ,COMBAT-COS>>>
<SET TDS <+ .TDS <STRENGTH .CHR .TBL ,COMBAT-CDS>>>)>>
<PUT ,COMBAT-STRENGTHS ,CS-PARTY-OFFENSE .TOS>
<PUT ,COMBAT-STRENGTHS ,CS-PARTY-DEFENSE .TDS>
<PUT ,COMBAT-STRENGTHS ,CS-OPPONENT-OFFENSE .OOS>
<PUT ,COMBAT-STRENGTHS ,CS-OPPONENT-DEFENSE .ODS>
<SCENE-ACTION ,STRENGTH-COMMAND>
<DESCRIBE-COMBAT>
<RTRUE>>
<COMMAND COMBAT-RESULT>
<ROUTINE SCENE-ACTION (CMD)
<SETG ACTION .CMD>
<APPLY <GETP ,SCENE-OBJECT ,P?ACTION>>>
<GLOBAL COMBAT-STRENGTHS <TABLE 0 0 0 0>>
<CONSTANT CS-PARTY-OFFENSE 0>
<CONSTANT CS-PARTY-DEFENSE 1>
<CONSTANT CS-OPPONENT-OFFENSE 2>
<CONSTANT CS-OPPONENT-DEFENSE 3>
<ROUTINE ADD-PARTY-DEFENSE (NUM)
<PUT ,COMBAT-STRENGTHS
,CS-PARTY-DEFENSE
<+ <GET ,COMBAT-STRENGTHS ,CS-PARTY-DEFENSE> .NUM>>>
<ROUTINE ADD-PARTY-OFFENSE (NUM)
<PUT ,COMBAT-STRENGTHS
,CS-PARTY-OFFENSE
<+ <GET ,COMBAT-STRENGTHS ,CS-PARTY-OFFENSE> .NUM>>>
<CONSTANT COMBAT-RESULT-TBL
<TABLE "no" "trivial" "minor" "significant" "major" "grave">>
<ROUTINE COMBAT-RESULT (OS DS)
<MIN </ </ <* .OS 10> .DS> 4> 5>>
<ROUTINE MIN (M N)
<COND (<G? .N .M> .M) (T .N)>>
<ROUTINE DESCRIBE-COMBAT ("AUX" NOTELL? TOS TDS OOS ODS ORES DRES TMP)
<SET TOS <GET ,COMBAT-STRENGTHS ,CS-PARTY-OFFENSE>>
<SET TDS <GET ,COMBAT-STRENGTHS ,CS-PARTY-DEFENSE>>
<SET OOS <GET ,COMBAT-STRENGTHS ,CS-OPPONENT-OFFENSE>>
<SET ODS <GET ,COMBAT-STRENGTHS ,CS-OPPONENT-DEFENSE>>
<COND (,DEBUG
<TELL "Off: " N .TOS "/" N .ODS>
<TELL " Def: " N .TDS "/" N .OOS>)>
<SETG OFFENSIVE-RESULT <COMBAT-RESULT .TOS .ODS>>
<SETG DEFENSIVE-RESULT <COMBAT-RESULT .OOS .TDS>>
<SET NOTELL? <SCENE-ACTION ,COMBAT-RESULT-COMMAND>>
<COND (<NOT .NOTELL?>
<COND (<ZERO? ,COMBAT-ROUND>
<TELL "Our party initially took an aggressive"
" stance against the " D ,OPPONENT
", who themselves were in "
<GET ,AGGRESSION-TBL <MIN </ </ <* .OOS 10>
.ODS> 4> 8>>
" posture.">)
(T
<TELL "We maintained our stance, as did the "
D ,OPPONENT ".">)>
<TELL " The fighting was fierce, with ">
<COND (<ZERO? <+ ,OFFENSIVE-RESULT ,DEFENSIVE-RESULT>>
<TELL "neither side hurt in the slightest">)
(<EQUAL? ,OFFENSIVE-RESULT ,DEFENSIVE-RESULT>
<TELL "both sides suffering "
<GET ,COMBAT-RESULT-TBL ,OFFENSIVE-RESULT>
" injuries in what was, at best, a stand-off">)
(<G? ,OFFENSIVE-RESULT ,DEFENSIVE-RESULT>
<TELL "the " D ,OPPONENT " ">
<COND (<G? ,DEFENSIVE-RESULT 3>
<TELL
"getting the worse beating, though we ourselves were bloodied considerably">)
(<G? ,OFFENSIVE-RESULT 3>
<TELL
"taking a beating at our hands, while we escaped with minor injury">)
(T
<TELL
"and ourselves each scoring a few hits, though we clearly had
the upper hand">)>)
(T
<TELL "our party ">
<COND (<G? ,OFFENSIVE-RESULT 3>
<TELL
"suffering major injury; I suppose it was some consolation that we did a
good deal of damage ourselves">)
(<G? ,DEFENSIVE-RESULT 3>
<TELL
"taking some major hits, and giving not as many back">)
(T
<TELL
"faring a bit worse than our opponent, though neither side had clearly
gained the upper hand">)>)>
<TELL ".">)>
<COND (<G? ,DEFENSIVE-RESULT 0>
<DAMAGE-PARTY ,DEFENSIVE-RESULT .NOTELL?>)>
<COND (<G? ,OFFENSIVE-RESULT 0>
<DAMAGE-OPPONENT ,OFFENSIVE-RESULT .NOTELL?>)>
<RTRUE>>
<CONSTANT D-MAJOR 60>
<CONSTANT D-MODERATE 80>
<CONSTANT D-MINOR 90>
<GLOBAL OFFENSIVE-RESULT 0>
<GLOBAL DEFENSIVE-RESULT 0>
<CONSTANT DAMAGE-TBL
<LTABLE <LTABLE D-MINOR>
<LTABLE D-MINOR D-MINOR>
<LTABLE D-MODERATE D-MINOR D-MINOR>
<LTABLE D-MODERATE D-MODERATE D-MINOR D-MINOR>
<LTABLE D-MAJOR D-MODERATE D-MODERATE D-MINOR>>>
<CONSTANT OPPONENT-DAMAGE-TBL
<LTABLE 95 90 80 75 70>>
<ROUTINE DAMAGE-OPPONENT (ORES NOTELL? "AUX" NST TT)
<PUTP ,OPPONENT
,P?STATUS
<SET NST </ <* <GETP ,OPPONENT ,P?STATUS>
<GET ,OPPONENT-DAMAGE-TBL .ORES>>
100>>>
<COND (<L? .NST <GETP ,OPPONENT ,P?RETREAT>>
<TELL CR>
<COND (<APPLY <GETP ,OPPONENT ,P?SPECIAL-ACTION>>)
(T
<TELL CR
"The " D ,OPPONENT ", badly hurt, retreated out of sight. We had
won the battle!">
<END-COMBAT>)>)>>
<ROUTINE DAMAGE-PARTY (DRES NOTELL? "AUX" (OFF 0) (DOFF 1) DTBL DMAX)
;"Get your sitting ducks in a row"
<DAMAGE-ORDER>
;"Go through table, assigning damage."
<SET DTBL <GET ,DAMAGE-TBL .DRES>>
<SET DMAX <GET .DTBL 0>>
<REPEAT ()
<COND (<OR <G? .DOFF .DMAX>
<G? .DOFF ,PARTY-MAX>> <RETURN>)
(T
<DAMAGE-CHARACTER <GET ,COMBAT-DAMAGE .OFF>
<GET .DTBL .DOFF>>
<SET OFF <+ .OFF 2>>
<SET DOFF <+ .DOFF 1>>)>>
<SET DOFF 0>
<SET OFF 100>
<SET DMAX 0>
<REPEAT ()
<COND (<G? <SET DOFF <+ .DOFF 1>> ,PARTY-MAX>
<RETURN>)
(<L? <SET DTBL <GETP <GET ,PARTY .DOFF> ,P?STATUS>>
.OFF>
<SET DMAX .DOFF>
<SET OFF .DTBL>)>>
<COND (.NOTELL? T)
(<L? <SET DOFF <PARTY-STATUS>> 60>
<TELL CR CR
"Our party was badly wounded, though still able to fight. \"Let's
get out of here,\" I cried, \"before we're killed!\"">)
;(<L? .OFF 50>
<TELL CR CR D <GET ,PARTY .DMAX>>
<TELL " was faring the least well of our party,
being ">
<TELL <DAMAGE-STATUS <GET ,PARTY .DMAX>>>
<TELL ".">)>>
<ROUTINE DAMAGE-STATUS (CHR)
<GET ,DAMAGE-STATUS-TBL </ <GETP .CHR ,P?STATUS> 20>>>
<CONSTANT DAMAGE-STATUS-TBL
<TABLE "critically wounded" "severely wounded" "badly wounded"
"wounded, but strong" "slightly wounded" "unscathed">>
<ROUTINE DAMAGE-REPORT ("AUX" (OFF 0) CHR)
<TELL
"The battle concluded, we took a moment to check on our condition. It
appeared that ">
<REPEAT ()
<COND (<G? <SET OFF <+ .OFF 1>> ,PARTY-MAX>
<TELL ".">
<RETURN>)
(T
<SET CHR <GET ,PARTY .OFF>>
<COND (<EQUAL? .CHR ,TAG>
<TELL "I">)
(T
<TELL D .CHR>)>
<TELL " was ">
<TELL <DAMAGE-STATUS .CHR>>
<COND (<EQUAL? .OFF <- ,PARTY-MAX 1>>
<TELL ", and ">)
(<NOT <EQUAL? .OFF ,PARTY-MAX>>
<TELL ", ">)>)>>>
<ROUTINE DAMAGE-CHARACTER (CHR TYP "AUX" NST)
<PUTP .CHR
,P?STATUS
<SET NST </ <* .TYP <GETP .CHR ,P?STATUS>> 100>>>
<COND (,DEBUG
<TELL CR "Damage to " D .CHR ", status:" N .NST>)>>
<ROUTINE PARTY-STATUS ("AUX" (CNT 0) (SUM 0))
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> ,PARTY-MAX>
<RETURN>)
(T
<SET SUM
<+ .SUM <GETP <GET ,PARTY .CNT> ,P?STATUS>>>)>>
</ .SUM ,PARTY-MAX>>
<ROUTINE DAMAGE-ORDER ("AUX" (POFF 0) (DOFF 0) CHR TBL TMP)
;"Set up table initially"
<REPEAT ()
<COND (<G? <SET POFF <+ .POFF 1>> ,PARTY-MAX>
<RETURN>)
(T
<PUT ,COMBAT-DAMAGE
.DOFF
<SET CHR <GET ,PARTY .POFF>>>
<SET TBL <GETPT .CHR ,P?ATTACK>>
<PUT ,COMBAT-DAMAGE
<+ .DOFF 1>
<STRENGTH .CHR .TBL ,COMBAT-CDS>>
<SET DOFF <+ .DOFF 2>>)>>
;"Sort so that weakest character comes first"
<PAIR-SORT ,COMBAT-DAMAGE <* ,PARTY-MAX 2>>>
<ROUTINE PAIR-SORT (TBL MAX "AUX" (OFF 0) T1 T2 TT (FLG <>))
;"Simple bubble sort"
<REPEAT ()
<COND (<G? <+ .OFF 3> .MAX>
<COND (<NOT .FLG> <RTRUE>)
(T
<SET OFF 0>
<SET FLG <>>)>)>
<COND (<G? <GET .TBL <+ .OFF 1>>
<GET .TBL <+ .OFF 3>>>
<SET FLG T>
<SET TT <REST .TBL <* .OFF 2>>>
<SET T1 <GET .TT 0>>
<SET T2 <GET .TT 1>>
<PUT .TT 0 <GET .TT 2>>
<PUT .TT 1 <GET .TT 3>>
<PUT .TT 2 .T1>
<PUT .TT 3 .T2>)>
<SET OFF <+ .OFF 2>>>>
<CONSTANT AGGRESSION-TBL
<TABLE "a decidedly defensive" "a defensive" "a somewhat defensive"
"a balanced" "an aggressive" "an agressive"
"a boldly aggressive" "an all-out aggressive"
"an almost suicidally aggressive">>
;<CONSTANT CARNAGE-TBL
<TABLE "extremely subdued" "extremely subdued"
"very subdued" "very subdued"
"quite even" "quite even"
"quite fierce" "fierce"
"fierce" "extremely fierce and damaging"
"debilitating to both sides">>
;"To Do:
*1) Damage to parties
*2) Description of damage
*3) How quickly opponent will retreat/scatter (i.e. at what strength)
4) Retreating; what happens?
5) Parlay, etc.
6) # of opponents (multiply, etc.)
"

305
commands.zabstr Normal file
View file

@ -0,0 +1,305 @@
<BEGIN-SEGMENT 0>
<DEFINE JSTR (CNM) <MAPR ,STRING <FUNCTION (STR "AUX" (CHR <1 .STR>)) <COND (<
=? .STR "NUL"> <MAPLEAVE " ">) (<=? .STR "CANCEL"> <MAPLEAVE "[cancel]">) (<=?
.STR "GONE"> <MAPLEAVE "[gone]">) (<=? .STR "BUSY"> <MAPLEAVE "[busy]">) (<=? .
STR "ILL"> <MAPLEAVE "[wounded]">) (<OR .SPF <==? .STR .CNM>> <SET SPF <>> .CHR
) (<==? .CHR !\-> <SET SPF T> <ASCII 32>) (<==? .CHR !\'> .CHR) (<==? .CHR !\+>
<SET SPF T> <MAPRET>) (T <ASCII <+ <ASCII .CHR> 32>>)>> .CNM>>
<DEFINE COMMAND (NAM "ARGS" LST "AUX" OBJ ACT CSPN SPN (SPF <>) (ANM <>)) <COND
(<TYPE? .NAM LIST> <SET CSPN <SPNAME <1 .NAM>>> <SET ANM <2 .NAM>> <SET NAM <1
.NAM>>) (T <SET CSPN <SPNAME .NAM>>)> <SET SPN <SPNAME .NAM>> <COND (<EMPTY? .
LST> <SET OBJ 0> <SET ACT V-NUL>) (T <SET OBJ <EVAL <1 .LST>>> <COND (<EMPTY? <
SET LST <REST .LST>>> <SET ACT V-NUL>) (<TYPE? <1 .LST> ATOM> <SET ACT <1 .LST>
>) (T <EVAL <FORM ROUTINE <SET ACT <PARSE <STRING "V-" .CSPN>>> !.LST>>)>)> <
EVAL <FORM CONSTANT <PARSE <STRING .CSPN "-COMMAND">> <PTABLE <JSTR .SPN> <MAPR
,STRING <FUNCTION (STR "AUX" (CHR <1 .STR>)) <COND (<=? .STR "NUL"> <MAPLEAVE
" ">) (<==? .CHR !\-> <ASCII 32>) (<==? .CHR !\'> .CHR) (<==? .CHR !\+> <MAPRET
>) (T <ASCII <+ <ASCII .CHR> 32>>)>> .SPN> .ACT .OBJ <COND (<=? .SPN "CANCEL">
8) (<MEMBER .SPN ["NUL" "GONE" "BUSY" "ILL"]> 2) (T <1 .SPN>)> <COND (<=? .SPN
"ILL"> "[hurt]") (.ANM <JSTR <SPNAME .ANM>>) (T <>)>>>>>
<SETG TEMP-COMMAND ,COMMAND>
<CONSTANT COMMAND-FULL 0>
<CONSTANT COMMAND-STR 1>
<CONSTANT COMMAND-ACTION 2>
<CONSTANT COMMAND-OBJECT 3>
<CONSTANT COMMAND-CHR 4>
<CONSTANT COMMAND-ASTR 5>
<COMMAND (BERGON-ROUTE BERGON-RT)>
<COMMAND (PRAXIX-ROUTE PRAXIX-RT)>
<COMMAND TAG-ROUTE>
<COMMAND ELF-HOME>
<COMMAND FIGHT>
<COMMAND ACCEPT>
<COMMAND DECLINE>
<COMMAND (GET-ADVICE GET+ADVICE) <> () <TELL D ,LEADER
" asked the group for advice, but none was offered.">>
<DEFINE-ROUTINE V-GET-ADVICE>
<COMMAND LEFT>
<COMMAND RIGHT>
<COMMAND BACK>
<COMMAND DIVE>
<COMMAND SURFACE>
<COMMAND HIDE>
<COMMAND HELP <> () <TELL
"Journey is an interactive story in which you guide a party of
characters through a dangerous quest. To learn about the background of
your quest, select BACKGROUND after reading this material." CR CR> <TELL
"There are two types of commands that you can give; those which are
performed for the entire party (e.g. moving from place to place, retreating
after a losing battle) and those which are performed by an individual
character (e.g. examining an object, casting a spell, mingling in a
tavern.) Party Commands are the leftmost column of commands on
the screen; the next column lists the characters in your party;
and the three following columns are for the Individual Commands." CR CR> <TELL
"To select a command of either type, simply use the arrow-keys on your
keyboard to reposition the highlighted command on the screen (the \"cursor\")
until that cursor rests on the command you desire; then hit RETURN. Alternatively,
if you are using a mouse, move it such that the "> <COND (<APPLE2?> <PRINTI
"dot">) (T <PRINTI "arrow">)> <TELL
" on the screen is pointing to
that command; then click your mouse button." CR CR> <TELL
"If you are using the keyboard, use the spacebar as a shortcut
to move between the Party Commands and the Individual Commands. Also,
typing the first letter of a command or object name will select that
command or object." CR CR> <TELL "Have fun!"> <NEW-DEFAULT 2 -1>>
<DEFINE-ROUTINE V-HELP>
<COMMAND (BACKGROUND BCKGRND)>
<COMMAND BUSY>
<COMMAND ILL>
<COMMAND GONE>
<COMMAND BUY O-TAKE () <TELL "We bought the " AO " and packed it away."> <FSET
,ACTION-OBJECT ,DONT-EXAMINE> <UPDATE-MOVE ,ACTION-OBJECT ,INVENTORY> <RTRUE>>
<DEFINE-ROUTINE V-BUY>
<COMMAND CAST O-CAST () <RFALSE>>
<DEFINE-ROUTINE V-CAST>
<DEFINE-ROUTINE O-CAST>
<DEFINE-ROUTINE FIND-SPELL-OBJECTS>
<COMMAND (FEEL-AROUND FEEL-OUT)>
<COMMAND DROP O-DROP () <COND (<FSET? ,ACTION-OBJECT ,DONT-DROP> <REMOVE ,
HYE-DROP> <FOOL-DROP>) (T <UPDATE-MOVE ,ACTION-OBJECT ,HERE> <PRINTI
"Having no more need for the "> <WPRINTD ,ACTION-OBJECT> <PRINTI
", we discarded it.">)> <UPDATE-FSET ,HERE ,DONT-DROP>>
<DEFINE-ROUTINE V-DROP>
<DEFINE-ROUTINE O-DROP>
<DEFINE-ROUTINE FOOL-DROP>
<GLOBAL PRAXIX-FOOL-TBL <LTABLE 0 "turn you into a toad" "fry you"
"cast you into the sky and make you dinner for vultures">>
<COMMAND ENTER>
<COMMAND EXAMINE O-EXAMINE () <COND (<GETPT ,ACTION-OBJECT ,P?EXBITS> <
CLEAR-EXBIT ,ACTION-OBJECT ,ACTOR>) (T <FSET ,ACTION-OBJECT ,DONT-EXAMINE>)> <
TELL ACT " examined the " AO ", but found nothing of interest.">>
<DEFINE-ROUTINE V-EXAMINE>
<DEFINE-ROUTINE CLEAR-EXBIT>
<DEFINE-ROUTINE FIND-EXAMINE>
<DEFINE-ROUTINE O-EXAMINE>
<COMMAND EXIT>
<COMMAND (TELL-STORY TELL-TALE) O-TELL-LEGEND () <TELL-TALE ,ACTION-OBJECT> <
RTRUE>>
<DEFINE-ROUTINE V-TELL-STORY>
<COMMAND (TELL-LEGEND TELL-TALE) O-TELL-LEGEND () <TELL-TALE ,ACTION-OBJECT> <
RTRUE>>
<DEFINE-ROUTINE V-TELL-LEGEND>
<DEFINE-ROUTINE O-TELL-LEGEND>
<COMMAND TELL-TRUTH>
<COMMAND LIE>
<COMMAND (STREAM-PATH STREAM)>
<COMMAND APPROACH>
<COMMAND (STAY-HIDDEN STAY)>
<COMMAND FOLLOW>
<COMMAND SCENE-START>
<COMMAND SCENE-END>
<COMMAND (LOOK-AROUND LOOK-AR 'D)>
<COMMAND GET-HELP>
<COMMAND RETURN>
<COMMAND IGNORE>
<COMMAND (INVENTORY INVENT) <> ("OPTIONAL" (UPD? T) "AUX" F) <COND (<EQUAL? ,
HERE ,ASTRIX-MAZE> <UPDATE-FCLEAR ,WEBBA-MAP ,DONT-EXAMINE>)> <TELL
"I checked our provisions at that point and found,
in addition to the basic necessities of food and shelter, "> <COND (<NOT <
LIST-CONTENTS ,INVENTORY>> <PRINTI "nothing whatever">)> <COND (.UPD? <
UPDATE-FSET ,HERE ,INVENTORIED>)> <TELL ".">>
<DEFINE-ROUTINE V-INVENTORY>
<DEFINE-ROUTINE LIST-CONTENTS>
<COMMAND NUL <> () <RFALSE>>
<DEFINE-ROUTINE V-NUL>
<COMMAND PARLEY>
<COMMAND PROCEED>
<COMMAND REPLY>
<COMMAND RETREAT <> () <END-COMBAT> <TELL
"We retreated out of range of attack.">>
<DEFINE-ROUTINE V-RETREAT>
<COMMAND SCOUT <> () <UPDATE-FSET ,HERE ,DONT-SCOUT> <TELL ACT
" scouted out the area, but found nothing new of interest.">>
<DEFINE-ROUTINE V-SCOUT>
<COMMAND FLANK>
<COMMAND SELL O-SELL () <TELL "[Not implemented.]">>
<DEFINE-ROUTINE V-SELL>
<DEFINE-ROUTINE O-SELL>
<COMMAND PICK-UP O-TAKE () <FSET ,ACTION-OBJECT ,DONT-EXAMINE> <UPDATE-MOVE ,
ACTION-OBJECT ,INVENTORY> <COND (<FSET? ,TAG ,SUBGROUP> <PRINTI
"I decided to take the "> <WPRINTD ,ACTION-OBJECT> <PRINTI ", and">) (T <PRINTI
"We decided to take the "> <WPRINTD ,ACTION-OBJECT> <PRINTI ", so">)> <TELL
" I put it in my pack for safekeeping.">>
<DEFINE-ROUTINE V-PICK-UP>
<DEFINE-ROUTINE O-TAKE>
<COMMAND SPLIT-UP>
<COMMAND (COMB-AREA COMB+AREA)>
<COMMAND START>
<COMMAND STAND>
<COMMAND UPSTREAM>
<COMMAND (DOWNSTREAM DOWN)>
<COMMAND SWIM>
<COMMAND BUILD-RAFT <> () <FSET ,RAFT ,SEEN> <ICALL!-IZILCH #ZLOCAL!-IZILCH
STACK> <TELL "There was "> <COND (<FSET? ,RAFT ,TRAPPED> <PRINTI "still ">)> <
TELL "no suitable way of crossing the river on foot, so we determined to
build a raft. After gathering some large branches, it was then a simple
matter to lash them together with some of the rope we had been carrying. We
then carved ourselves oars, and were soon ready to give the river crossing a">
<COND (<QSET? ,RAFT ,TRAPPED> <PRINTI "nother">)> <TELL " try.">>
<DEFINE-ROUTINE V-BUILD-RAFT>
<COMMAND (LAUNCH-RAFT LAUNCH) <> () <TELL
"\"This would seem as good a spot as any,\" "> <COND (<FSET? ,BERGON ,IN-PARTY>
<PRINTI "Bergon">) (T <PRINTI "Praxix">)> <TELL
" said, indicating the spot where we would launch the raft." CR CR> <TELL
"This "> <COND (<EQUAL? ,PARTY-MAX 2> <PRINTI "sounded good to me">) (T <PRINTI
"met with general approval">)> <TELL
", and, having boarded the raft, we used our
crude oars to push ourselves out into the current."> <PUTP ,IN-RIVER ,P?TEMP #
ZLOCAL!-IZILCH STACK> <MOVE-TO ,IN-RIVER>>
<DEFINE-ROUTINE V-LAUNCH-RAFT>
<COMMAND CROSS>
<COMMAND CENTER>
<COMMAND SAVE <> ("OPTIONAL" (CAN? T) "AUX" SV) <TURN-ON-CURSOR> <COND (<EQUAL?
,INTERPRETER ,INT-PC> <CRLF>)> <SET SV <SAVE>> <TURN-OFF-CURSOR> <COND (<EQUAL?
.SV 1> <TURN-OFF-CURSOR> <PRINTI "[Saved.]"> <REFRESH-CHECK>) (<EQUAL? .SV 2 3>
<TURN-OFF-CURSOR> <COND (<SCREEN-NEEDS-INIT> <CRLF> <PRINTI "[Restored.]">) (T
<CLEAR ,TEXT-WINDOW> <PRINTI "[Restored.]">)> <REMOVE ,
I-CLEAR-SINGLE-MOVE-GRAPHIC> <COND (<EQUAL? ,HERE ,END-SESSION-ROOM> <V-CANCEL>
)> <COND (<BTST #ZLOCAL!-IZILCH STACK 1> <SET SCRIPTING-FLAG #ZLOCAL!-IZILCH
TRUE-VALUE> <COND (<BTST #ZLOCAL!-IZILCH STACK 512> <SET DONT-SCRIPT-INPUT #
ZLOCAL!-IZILCH TRUE-VALUE>) (T <SET DONT-SCRIPT-INPUT #ZLOCAL!-IZILCH
FALSE-VALUE>)>) (T <SET SCRIPTING-FLAG #ZLOCAL!-IZILCH FALSE-VALUE>)> <
REFRESH-CHECK #ZLOCAL!-IZILCH TRUE-VALUE>) (T <TURN-OFF-CURSOR> <PRINTI
"[Failed.]">)> <CRLF> <COND (.CAN? <V-CANCEL #ZLOCAL!-IZILCH TRUE-VALUE>)> <
RTRUE>>
<DEFINE-ROUTINE V-SAVE>
<COMMAND RESTORE <> ("OPTIONAL" (CAN? T) "AUX" (FLG <GET!-IZILCH 0 8>)) <COND (
,DONT-SCRIPT-INPUT <PUT 0 8 #ZLOCAL!-IZILCH STACK>) (T <PUT 0 8 #ZLOCAL!-IZILCH
STACK>)> <TURN-ON-CURSOR> <COND (<RESTORE> <PRINTI "[Ok.]">) (T <
TURN-OFF-CURSOR> <PRINTI "[Failed.]">)> <REFRESH-CHECK> <COND (.CAN? <V-CANCEL
#ZLOCAL!-IZILCH TRUE-VALUE>)> <RTRUE>>
<DEFINE-ROUTINE V-RESTORE>
<GLOBAL SAVED-GAME-ROOM <>>
<GLOBAL GAME-MODE <>>
<GLOBAL SAVED-GAME-MODE <>>
<GLOBAL SAVED-PARTY-COMMANDS <LTABLE 0 0 0 0 0 0>>
<DEFINE-ROUTINE SAVE-PARTY-COMMANDS>
<DEFINE-ROUTINE RESTORE-PARTY-COMMANDS>
<GLOBAL PUPDATE-FLAG <>>
<GLOBAL SMART-DEFAULT-FLAG <>>
<COMMAND GAME <> ("OPTIONAL" (RM ,GAME-ROOM) "AUX" T) <GO-TO-GAME-MODE> <
MOVE-TO .RM #ZLOCAL!-IZILCH FALSE-VALUE #ZLOCAL!-IZILCH TRUE-VALUE #
ZLOCAL!-IZILCH FALSE-VALUE> <CLEAR-FIELDS> <SET UPDATE-FLAG #ZLOCAL!-IZILCH
FALSE-VALUE> <RNUL>>
<DEFINE-ROUTINE V-GAME>
<ROOM GAME-ROOM (TRAVEL-COMMANDS SAVE-COMMAND RESTORE-COMMAND
END-SESSION-COMMAND CONTROLS-COMMAND)>
<COMMAND RESTART <> () <RESTART>>
<DEFINE-ROUTINE V-RESTART>
<COMMAND QUIT <> () <CLEAR -1> <QUIT>>
<DEFINE-ROUTINE V-QUIT>
<COMMAND (END-SESSION END-PLAY) <> () <MOVE-TO ,END-SESSION-ROOM #
ZLOCAL!-IZILCH FALSE-VALUE #ZLOCAL!-IZILCH TRUE-VALUE #ZLOCAL!-IZILCH
FALSE-VALUE> <RNUL>>
<DEFINE-ROUTINE V-END-SESSION>
<ROOM END-SESSION-ROOM (TRAVEL-COMMANDS SAVE-COMMAND QUIT-COMMAND
RESTART-COMMAND NUL-COMMAND) (ACTION <ACOND () (<EQUAL? ,ACTION ,SAVE-COMMAND>
<REMOVE-PARTY-COMMAND ,SAVE-COMMAND> <V-SAVE #ZLOCAL!-IZILCH FALSE-VALUE>)>)>
<DEFINE-ROUTINE ANONF-3>
<COMMAND CONTROLS <> () <COND (<AND ,SCRIPTING-FLAG <BTST #ZLOCAL!-IZILCH STACK
1>> <CHANGE-TRAVEL-COMMAND ,CONTROLS-ROOM ,SCRIPT-ON-COMMAND ,
SCRIPT-OFF-COMMAND>) (T <SET SCRIPTING-FLAG #ZLOCAL!-IZILCH FALSE-VALUE> <
CHANGE-TRAVEL-COMMAND ,CONTROLS-ROOM ,SCRIPT-OFF-COMMAND ,SCRIPT-ON-COMMAND>)>
<MOVE-TO ,CONTROLS-ROOM #ZLOCAL!-IZILCH FALSE-VALUE #ZLOCAL!-IZILCH TRUE-VALUE
#ZLOCAL!-IZILCH FALSE-VALUE> <RNUL>>
<DEFINE-ROUTINE V-CONTROLS>
<COMMAND VERSION <> () <TELL CR "JOURNEY: Part I of the Golden Age Trilogy." CR
> <TELL "Created by Marc Blank" CR> <TELL "Illustrations by Donald Langosy" CR>
<TELL "(c) Copyright 1988, 1989 by Infocom, Inc." CR> <TELL
"All rights reserved." CR> <TELL "JOURNEY is a trademark of Infocom, Inc." CR>
<TELL-GAME-ID> <V-CANCEL #ZLOCAL!-IZILCH TRUE-VALUE>>
<DEFINE-ROUTINE V-VERSION>
<COMMAND (CHECK-DISK CH\'K-DISK) <> () <TELL-GAME-ID> <TELL CR "[Verifying.]"
CR> <COND (<VERIFY> <PRINTI "Ok.">) (T <PRINTI "** Bad **">)> <V-CANCEL #
ZLOCAL!-IZILCH TRUE-VALUE>>
<DEFINE-ROUTINE V-CHECK-DISK>
<COMMAND (SCRIPT-OFF SCR\'T-OFF) <> () <SET SCRIPTING-FLAG #ZLOCAL!-IZILCH
FALSE-VALUE> <DIROUT -2> <V-CANCEL>>
<DEFINE-ROUTINE V-SCRIPT-OFF>
<COMMAND (SCRIPT-ON SCR\'T-ON) <> () <MOVE-TO ,SCRIPT-ON-ROOM #ZLOCAL!-IZILCH
FALSE-VALUE #ZLOCAL!-IZILCH TRUE-VALUE #ZLOCAL!-IZILCH FALSE-VALUE> <RNUL>>
<DEFINE-ROUTINE V-SCRIPT-ON>
<COMMAND COMMANDS <> () <SET SCRIPTING-FLAG #ZLOCAL!-IZILCH TRUE-VALUE> <SET
DONT-SCRIPT-INPUT #ZLOCAL!-IZILCH FALSE-VALUE> <DIROUT 2> <REFRESH-CHECK> <
V-CANCEL>>
<DEFINE-ROUTINE V-COMMANDS>
<COMMAND (NO-COMMANDS NO-CMDS) <> () <SET SCRIPTING-FLAG #ZLOCAL!-IZILCH
TRUE-VALUE> <SET DONT-SCRIPT-INPUT #ZLOCAL!-IZILCH TRUE-VALUE> <DIROUT 2> <
REFRESH-CHECK> <V-CANCEL>>
<DEFINE-ROUTINE V-NO-COMMANDS>
<ROOM SCRIPT-ON-ROOM (TRAVEL-COMMANDS COMMANDS-COMMAND NO-COMMANDS-COMMAND
NUL-COMMAND)>
<COMMAND REFRESH <> () <REFRESH-SCREEN #ZLOCAL!-IZILCH TRUE-VALUE> <V-CANCEL>>
<DEFINE-ROUTINE V-REFRESH>
<ROOM CONTROLS-ROOM (TRAVEL-COMMANDS SCRIPT-ON-COMMAND REFRESH-COMMAND
VERSION-COMMAND CHECK-DISK-COMMAND)>
<COMMAND CANCEL <> ("OPTIONAL" (RT? <>)) <MOVE-TO ,SAVED-GAME-ROOM #
ZLOCAL!-IZILCH FALSE-VALUE #ZLOCAL!-IZILCH FALSE-VALUE #ZLOCAL!-IZILCH
FALSE-VALUE> <MODE ,SAVED-GAME-MODE #ZLOCAL!-IZILCH FALSE-VALUE #ZLOCAL!-IZILCH
TRUE-VALUE> <RESTORE-PARTY-COMMANDS> <SET SMART-DEFAULT-FLAG #ZLOCAL!-IZILCH
TRUE-VALUE> <SET GAME-MODE #ZLOCAL!-IZILCH FALSE-VALUE> <SET UPDATE-FLAG #
ZLOCAL!-IZILCH FALSE-VALUE> <PRINT-CHARACTER-COMMANDS> <PRINT-COLUMNS #
ZLOCAL!-IZILCH TRUE-VALUE> <COND (.RT? <RTRUE>) (T <RNUL>)>>
<DEFINE-ROUTINE V-CANCEL>
<DEFINE-ROUTINE RNUL>
<GLOBAL PARTY-COMMANDS <LTABLE START-COMMAND BACKGROUND-COMMAND HELP-COMMAND
NUL-COMMAND GAME-COMMAND>>
<GLOBAL NAME-TBL <TABLE 0 0 0 0 0 0>>
<GLOBAL TAG-NAME <TABLE 0 0 0 0>>
<GLOBAL TAG-NAME-LENGTH 0>
<CONSTANT ILLEGAL-NAMES <LTABLE <TABLE (STRING LENGTH) "Bergon"> <TABLE (STRING
LENGTH) "Praxix"> <TABLE (STRING LENGTH) "Esher"> <TABLE (STRING LENGTH)
"Minar"> <TABLE (STRING LENGTH) "Hurth"> <TABLE (STRING LENGTH) "Umber"> <TABLE
(STRING LENGTH) "Agrith"> <TABLE (STRING LENGTH) "Astrix">>>
<DEFINE-ROUTINE ILLEGAL-NAME?>
<COMMAND (CHANGE-NAME CHG-NAME) <> ("AUX" (OFF 0) CHR LN (COL ,NAME-COLUMN) TBL
(CNT 0) MAX KBD FG BG) <TURN-ON-CURSOR> <COND (<LESS? ,SCREEN-WIDTH ,8-WIDTH> <
SET MAX 5>) (T <SET MAX 8>)> <SELECT-SCREEN ,COMMAND-WINDOW> <COND (<NOT ,
FWC-FLAG> <SET FG <WINGET -3 11>> <SET BG <SHIFT!-IZILCH .FG -8>> <SET FG <BAND
.FG 255>>)> <GCURSET #ZLOCAL!-IZILCH LN .COL> <COND (<NOT ,FWC-FLAG> <COLOR .BG
.FG> <ERASE ,NAME-WIDTH-PIX>) (T <COND (<NOT ,FONT3-FLAG> <HLIGHT ,H-INVERSE>)>
<REPEAT () <COND (<GRTR? <SET CNT <ADD .CNT 1>> .MAX> <RETURN>) (T <PRINTC !\_>
)>>)> <GCURSET .LN .COL> <SET TBL <ADD ,NAME-TBL 2>> <REPEAT () <COND (<EQUAL?
#ZLOCAL!-IZILCH CHR 13> <TURN-OFF-CURSOR> <COND (<ZERO? .OFF> <COND (<NOT ,
FWC-FLAG> <COLOR .FG .BG>)> <SET UPDATE-FLAG #ZLOCAL!-IZILCH TRUE-VALUE> <
RETURN>) (T <COND (<ILLEGAL-NAME? .OFF> <END-CHANGE-NAME> <PRINTI
"[The name you have chosen is reserved. Please try again.]"> <CRLF> <RTRUE>)> <
REMOVE-TRAVEL-COMMAND> <ZWSTR ,NAME-TBL .OFF 2 ,TAG-NAME> <PUTP ,TAG-OBJECT ,
P?KBD .KBD> <SET TAG-NAME-LENGTH .OFF> <SET UPDATE-FLAG #ZLOCAL!-IZILCH
TRUE-VALUE> <COND (<NOT ,FWC-FLAG> <COLOR .FG .BG>)> <END-CHANGE-NAME> <RTRUE>)
>) (<EQUAL? .CHR ,DELETE-KEY ,BACK-SPACE ,LEFT-ARROW> <COND (<ZERO? .OFF> <
SOUND 1> <AGAIN>) (<NOT ,FWC-FLAG> <SET OFF <SUB .OFF 1>> <COND (<ZERO? .OFF> <
GCURSET .LN .COL> <ERASE ,NAME-WIDTH-PIX>) (T <DIROUT 3 ,CENTER-TABLE> <PRINTT
.TBL .OFF> <DIROUT -3> <CURSET #ZLOCAL!-IZILCH ?TMP1!-IZILCH #ZLOCAL!-IZILCH
STACK> <ERASE #ZLOCAL!-IZILCH STACK>)>) (T <GCURSET .LN .COL> <PRINTC !\-> <SET
COL <SUB .COL 1>> <GCURSET .LN .COL> <PRINTC !\-> <SET OFF <SUB .OFF 1>> <
GCURSET .LN .COL>)>) (<OR <AND <NOT <LESS? .CHR !\A>> <NOT <GRTR? .CHR !\Z>>> <
AND <NOT <LESS? .CHR !\a>> <NOT <GRTR? .CHR !\z>>>> <COND (<EQUAL? .OFF .MAX> <
SOUND 1> <AGAIN>) (<ZERO? .OFF> <COND (<AND <NOT <LESS? .CHR !\a>> <NOT <GRTR?
.CHR !\z>>> <SET CHR <SUB .CHR 32>>)> <SET KBD .CHR>) (<AND <GRTR? .OFF 0> <NOT
<LESS? .CHR !\A>> <NOT <GRTR? .CHR !\Z>>> <SET CHR <ADD .CHR 32>>)> <PUTB .TBL
.OFF .CHR> <SET OFF <ADD .OFF 1>> <PRINTC .CHR> <COND (,FWC-FLAG <SET COL <ADD
.COL 1>> <GCURSET .LN .COL>)>) (T <SOUND 1>)>> <END-CHANGE-NAME> <RNUL>>
<DEFINE-ROUTINE V-CHANGE-NAME>
<DEFINE-ROUTINE END-CHANGE-NAME>

663
commands.zap Normal file
View file

@ -0,0 +1,663 @@
.SEGMENT "0"
.FUNCT V-GET-ADVICE:ANY:0:0
ICALL2 WPRINTD,LEADER
PRINTI " asked the group for advice, but none was offered."
RTRUE
.FUNCT V-HELP:ANY:0:0
PRINTI "Journey is an interactive story in which you guide a party of characters through a dangerous quest. To learn about the background of your quest, select BACKGROUND after reading this material."
CRLF
CRLF
PRINTI "There are two types of commands that you can give; those which are performed for the entire party (e.g. moving from place to place, retreating after a losing battle) and those which are performed by an individual character (e.g. examining an object, casting a spell, mingling in a tavern.) Party Commands are the leftmost column of commands on the screen; the next column lists the characters in your party; and the three following columns are for the Individual Commands."
CRLF
CRLF
PRINTI "To select a command of either type, simply use the arrow-keys on your keyboard to reposition the highlighted command on the screen (the ""cursor"") until that cursor rests on the command you desire; then hit RETURN. Alternatively, if you are using a mouse, move it such that the "
CALL1 APPLE2?
ZERO? STACK /?CCL3
PRINTI "dot"
JUMP ?CND1
?CCL3: PRINTI "arrow"
?CND1: PRINTI " on the screen is pointing to that command; then click your mouse button."
CRLF
CRLF
PRINTI "If you are using the keyboard, use the spacebar as a shortcut to move between the Party Commands and the Individual Commands. Also, typing the first letter of a command or object name will select that command or object."
CRLF
CRLF
PRINTI "Have fun!"
CALL NEW-DEFAULT,2,-1
RSTACK
.FUNCT V-BUY:ANY:0:0
PRINTI "We bought the "
ICALL2 WPRINTD,ACTION-OBJECT
PRINTI " and packed it away."
FSET ACTION-OBJECT,DONT-EXAMINE
ICALL UPDATE-MOVE,ACTION-OBJECT,INVENTORY
RTRUE
.FUNCT V-CAST:ANY:0:0
RFALSE
.FUNCT O-CAST:ANY:0:0
EQUAL? ACTOR,TAG \?CND1
ICALL2 FIND-OBJECT,TAG-POWDERS
RTRUE
?CND1: CALL2 FIND-SPELL-OBJECTS,ALWAYS-SPELLS
RSTACK
.FUNCT FIND-SPELL-OBJECTS:ANY:1:2,OBJ,BIT,F,CNT
FIRST? OBJ >F /?PRG2
?PRG2: ZERO? F /TRUE
EQUAL? CNT,9 /TRUE
CALL2 CHECK-ESSENCES,F
ZERO? STACK /?CND4
CALL2 FIND-OBJECT,F >CNT
?CND4: NEXT? F >F /?PRG2
JUMP ?PRG2
.FUNCT V-DROP:ANY:0:0
FSET? ACTION-OBJECT,DONT-DROP \?CCL3
REMOVE HYE-DROP
ICALL1 FOOL-DROP
JUMP ?CND1
?CCL3: ICALL UPDATE-MOVE,ACTION-OBJECT,HERE
PRINTI "Having no more need for the "
ICALL2 WPRINTD,ACTION-OBJECT
PRINTI ", we discarded it."
?CND1: CALL UPDATE-FSET,HERE,DONT-DROP
RSTACK
.FUNCT O-DROP:ANY:0:0
CALL FIND-OBJECTS,INVENTORY,NEVER-DROP
RSTACK
.FUNCT FOOL-DROP:ANY:0:0
CALL2 CHARACTER-HERE?,PRAXIX
ZERO? STACK /?CCL3
PRINTI "Trying to lighten my load, I started to drop the "
ICALL2 WPRINTD,ACTION-OBJECT
PRINTI " on the ground. """
ICALL1 WPRINTTAG
PRINTI "!"" Praxix called out loudly, startling me. ""What on earth are you doing with that "
ICALL2 WPRINTD,ACTION-OBJECT
PRINTI "? Dropping it here, of all places! How do you know we won't be needing such things? Now make yourself useful before I "
CALL2 PICK-ONE,PRAXIX-FOOL-TBL
PRINT STACK
PRINTI "!"" I hardly think Praxix was being serious, or even that such a thing was possible, but he was almost certainly right about the "
ICALL2 WPRINTD,ACTION-OBJECT
PRINTC 46
RTRUE
?CCL3: PRINTI "I thought to lighten my load by dropping the "
ICALL2 WPRINTD,ACTION-OBJECT
PRINTI ", but felt that it would serve no purpose save giving Praxix an excuse to fry me in boiling oil when he found out."
RTRUE
.FUNCT V-EXAMINE:ANY:0:0
GETPT ACTION-OBJECT,P?EXBITS
ZERO? STACK /?CCL3
ICALL CLEAR-EXBIT,ACTION-OBJECT,ACTOR
JUMP ?CND1
?CCL3: FSET ACTION-OBJECT,DONT-EXAMINE
?CND1: ICALL2 WPRINTD,ACTOR
PRINTI " examined the "
ICALL2 WPRINTD,ACTION-OBJECT
PRINTI ", but found nothing of interest."
RTRUE
.FUNCT CLEAR-EXBIT:ANY:0:2,OBJ,CHR,?TMP1
ASSIGNED? 'OBJ /?CND1
SET 'OBJ,ACTION-OBJECT
?CND1: ASSIGNED? 'CHR /?CND3
SET 'CHR,ACTOR
?CND3: SET 'UPDATE-FLAG,TRUE-VALUE
GETP OBJ,P?EXBITS >?TMP1
GETP CHR,P?CBIT
BCOM STACK
BAND ?TMP1,STACK
PUTP OBJ,P?EXBITS,STACK
RTRUE
.FUNCT FIND-EXAMINE:ANY:1:1,OBJ,F,CNT,?TMP1
FIRST? OBJ >F /?PRG2
?PRG2: ZERO? F /TRUE
EQUAL? CNT,9 /TRUE
FSET? F,DONT-EXAMINE /?CND4
GETPT F,P?EXBITS
ZERO? STACK /?CCL9
GETP F,P?EXBITS >?TMP1
GETP ACTOR,P?CBIT
BTST ?TMP1,STACK \?CND4
?CCL9: CALL2 FIND-OBJECT,F >CNT
?CND4: NEXT? F >F /?PRG2
JUMP ?PRG2
.FUNCT O-EXAMINE:ANY:0:0
ICALL2 FIND-EXAMINE,HERE
ZERO? SUBGROUP-MODE /?CTR2
FSET? TAG,SUBGROUP \?CCL3
?CTR2: ICALL2 FIND-EXAMINE,INVENTORY
RTRUE
?CCL3: EQUAL? ACTOR,PRAXIX \TRUE
ICALL2 FIND-OBJECT,POUCH
RTRUE
.FUNCT V-TELL-STORY:ANY:0:0
ICALL2 TELL-TALE,ACTION-OBJECT
RTRUE
.FUNCT V-TELL-LEGEND:ANY:0:0
ICALL2 TELL-TALE,ACTION-OBJECT
RTRUE
.FUNCT O-TELL-LEGEND:ANY:0:0
FSET? HERE,DANGEROUS /TRUE
FSET? SCENE-OBJECT,DANGEROUS /TRUE
EQUAL? ACTOR,PRAXIX \?CCL7
CALL2 FIND-OBJECTS,PRAXIX-TALES
RSTACK
?CCL7: EQUAL? ACTOR,HURTH \?CCL9
CALL2 FIND-OBJECTS,HURTH-STORIES
RSTACK
?CCL9: EQUAL? ACTOR,UMBER \FALSE
CALL2 FIND-OBJECTS,UMBER-STORIES
RSTACK
.FUNCT V-INVENTORY:ANY:0:1,UPD?,F
ASSIGNED? 'UPD? /?CND1
SET 'UPD?,TRUE-VALUE
?CND1: EQUAL? HERE,ASTRIX-MAZE \?CND3
ICALL UPDATE-FCLEAR,WEBBA-MAP,DONT-EXAMINE
?CND3: PRINTI "I checked our provisions at that point and found, in addition to the basic necessities of food and shelter, "
CALL2 LIST-CONTENTS,INVENTORY
ZERO? STACK \?CND5
PRINTI "nothing whatever"
?CND5: ZERO? UPD? /?CND7
ICALL UPDATE-FSET,HERE,INVENTORIED
?CND7: PRINTC 46
RTRUE
.FUNCT LIST-CONTENTS:ANY:1:2,OBJ,AF,F,N
ASSIGNED? 'AF /?CND1
SET 'AF,TRUE-VALUE
?CND1: EQUAL? OBJ,INVENTORY \?CND3
REMOVE POUCH
?CND3: FIRST? OBJ >F /?PRG9
EQUAL? OBJ,INVENTORY \FALSE
MOVE POUCH,INVENTORY
RFALSE
?PRG9: ZERO? F \?CCL13
EQUAL? OBJ,INVENTORY \TRUE
MOVE POUCH,INVENTORY
RTRUE
?CCL13: EQUAL? F,POUCH \?CCL17
NEXT? F >F /?PRG9
JUMP ?PRG9
?CCL17: ZERO? AF /?CCL21
PRINTI "a "
JUMP ?CND19
?CCL21: PRINTI "the "
?CND19: ICALL2 WPRINTD,F
NEXT? F >F \?PRG9
PRINTI ", "
NEXT? F /?PRG9
PRINTI "and "
JUMP ?PRG9
.FUNCT V-NUL:ANY:0:0
RFALSE
.FUNCT V-RETREAT:ANY:0:0
ICALL1 END-COMBAT
PRINTI "We retreated out of range of attack."
RTRUE
.FUNCT V-SCOUT:ANY:0:0
ICALL UPDATE-FSET,HERE,DONT-SCOUT
ICALL2 WPRINTD,ACTOR
PRINTI " scouted out the area, but found nothing new of interest."
RTRUE
.FUNCT V-SELL:ANY:0:0
PRINTI "[Not implemented.]"
RTRUE
.FUNCT O-SELL:ANY:0:0
EQUAL? HERE,LANDS-END-TAVERN /TRUE
CALL1 O-DROP
RSTACK
.FUNCT V-PICK-UP:ANY:0:0
FSET ACTION-OBJECT,DONT-EXAMINE
ICALL UPDATE-MOVE,ACTION-OBJECT,INVENTORY
FSET? TAG,SUBGROUP \?CCL3
PRINTI "I decided to take the "
ICALL2 WPRINTD,ACTION-OBJECT
PRINTI ", and"
JUMP ?CND1
?CCL3: PRINTI "We decided to take the "
ICALL2 WPRINTD,ACTION-OBJECT
PRINTI ", so"
?CND1: PRINTI " I put it in my pack for safekeeping."
RTRUE
.FUNCT O-TAKE:ANY:0:0
CALL FIND-OBJECTS,HERE,DONT-TAKE
RSTACK
.FUNCT V-BUILD-RAFT:ANY:0:0
FSET RAFT,SEEN
GETP HERE,P?ENTER
ICALL STACK
PRINTI "There was "
FSET? RAFT,TRAPPED \?CND1
PRINTI "still "
?CND1: PRINTI "no suitable way of crossing the river on foot, so we determined to build a raft. After gathering some large branches, it was then a simple matter to lash them together with some of the rope we had been carrying. We then carved ourselves oars, and were soon ready to give the river crossing a"
CALL QSET?,RAFT,TRAPPED
ZERO? STACK /?CND3
PRINTI "nother"
?CND3: PRINTI " try."
RTRUE
.FUNCT V-LAUNCH-RAFT:ANY:0:0
PRINTI """This would seem as good a spot as any,"" "
FSET? BERGON,IN-PARTY \?CCL3
PRINTI "Bergon"
JUMP ?CND1
?CCL3: PRINTI "Praxix"
?CND1: PRINTI " said, indicating the spot where we would launch the raft."
CRLF
CRLF
PRINTI "This "
EQUAL? PARTY-MAX,2 \?CCL6
PRINTI "sounded good to me"
JUMP ?CND4
?CCL6: PRINTI "met with general approval"
?CND4: PRINTI ", and, having boarded the raft, we used our crude oars to push ourselves out into the current."
GETP HERE,P?TEMP
PUTP IN-RIVER,P?TEMP,STACK
CALL2 MOVE-TO,IN-RIVER
RSTACK
.FUNCT V-SAVE:ANY:0:1,CAN?,SV
ASSIGNED? 'CAN? /?CND1
SET 'CAN?,TRUE-VALUE
?CND1: ICALL1 TURN-ON-CURSOR
EQUAL? INTERPRETER,INT-PC \?CND3
CRLF
?CND3: SAVE >SV
ICALL1 TURN-OFF-CURSOR
EQUAL? SV,1 \?CCL7
ICALL1 TURN-OFF-CURSOR
PRINTI "[Saved.]"
ICALL1 REFRESH-CHECK
JUMP ?CND5
?CCL7: EQUAL? SV,2,3 \?CCL9
ICALL1 TURN-OFF-CURSOR
CALL1 SCREEN-NEEDS-INIT
ZERO? STACK /?CCL12
CRLF
PRINTI "[Restored.]"
JUMP ?CND10
?CCL12: CLEAR TEXT-WINDOW
PRINTI "[Restored.]"
?CND10: REMOVE I-CLEAR-SINGLE-MOVE-GRAPHIC
EQUAL? HERE,END-SESSION-ROOM \?CND13
ICALL1 V-CANCEL
?CND13: GET 0,8
BTST STACK,1 \?CCL17
SET 'SCRIPTING-FLAG,TRUE-VALUE
GET 0,8
BTST STACK,512 \?CCL20
SET 'DONT-SCRIPT-INPUT,TRUE-VALUE
JUMP ?CND15
?CCL20: SET 'DONT-SCRIPT-INPUT,FALSE-VALUE
JUMP ?CND15
?CCL17: SET 'SCRIPTING-FLAG,FALSE-VALUE
?CND15: ICALL2 REFRESH-CHECK,TRUE-VALUE
JUMP ?CND5
?CCL9: ICALL1 TURN-OFF-CURSOR
PRINTI "[Failed.]"
?CND5: CRLF
ZERO? CAN? /TRUE
ICALL2 V-CANCEL,TRUE-VALUE
RTRUE
.FUNCT V-RESTORE:ANY:0:1,CAN?,FLG
ASSIGNED? 'CAN? /?CND1
SET 'CAN?,TRUE-VALUE
?CND1: GET 0,8 >FLG
ZERO? DONT-SCRIPT-INPUT /?CCL5
BOR FLG,512
PUT 0,8,STACK
JUMP ?CND3
?CCL5: BAND FLG,511
PUT 0,8,STACK
?CND3: ICALL1 TURN-ON-CURSOR
RESTORE
ZERO? STACK /?CCL8
PRINTI "[Ok.]"
JUMP ?CND6
?CCL8: ICALL1 TURN-OFF-CURSOR
PRINTI "[Failed.]"
?CND6: ICALL1 REFRESH-CHECK
ZERO? CAN? /TRUE
ICALL2 V-CANCEL,TRUE-VALUE
RTRUE
.FUNCT SAVE-PARTY-COMMANDS:ANY:0:0
COPYT PARTY-COMMANDS,SAVED-PARTY-COMMANDS,12
RTRUE
.FUNCT RESTORE-PARTY-COMMANDS:ANY:0:0
COPYT SAVED-PARTY-COMMANDS,PARTY-COMMANDS,12
ICALL2 PRINT-COLUMNS,TRUE-VALUE
SET 'PUPDATE-FLAG,FALSE-VALUE
RETURN PUPDATE-FLAG
.FUNCT V-GAME:ANY:0:1,RM,T
ASSIGNED? 'RM /?CND1
SET 'RM,GAME-ROOM
?CND1: ICALL1 GO-TO-GAME-MODE
ICALL MOVE-TO,RM,FALSE-VALUE,TRUE-VALUE,FALSE-VALUE
ICALL1 CLEAR-FIELDS
SET 'UPDATE-FLAG,FALSE-VALUE
CALL1 RNUL
RSTACK
.FUNCT V-RESTART:ANY:0:0
RESTART
RTRUE
.FUNCT V-QUIT:ANY:0:0
CLEAR -1
QUIT
RTRUE
.FUNCT V-END-SESSION:ANY:0:0
ICALL MOVE-TO,END-SESSION-ROOM,FALSE-VALUE,TRUE-VALUE,FALSE-VALUE
CALL1 RNUL
RSTACK
.FUNCT ANONF-3:ANY:0:0
EQUAL? ACTION,SAVE-COMMAND \FALSE
ICALL2 REMOVE-PARTY-COMMAND,SAVE-COMMAND
CALL2 V-SAVE,FALSE-VALUE
RSTACK
.FUNCT V-CONTROLS:ANY:0:0
ZERO? SCRIPTING-FLAG /?CCL3
GET 0,8
BTST STACK,1 \?CCL3
ICALL CHANGE-TRAVEL-COMMAND,CONTROLS-ROOM,SCRIPT-ON-COMMAND,SCRIPT-OFF-COMMAND
JUMP ?CND1
?CCL3: SET 'SCRIPTING-FLAG,FALSE-VALUE
ICALL CHANGE-TRAVEL-COMMAND,CONTROLS-ROOM,SCRIPT-OFF-COMMAND,SCRIPT-ON-COMMAND
?CND1: ICALL MOVE-TO,CONTROLS-ROOM,FALSE-VALUE,TRUE-VALUE,FALSE-VALUE
CALL1 RNUL
RSTACK
.FUNCT V-VERSION:ANY:0:0
CRLF
PRINTI "JOURNEY: Part I of the Golden Age Trilogy."
CRLF
PRINTI "Created by Marc Blank"
CRLF
PRINTI "Illustrations by Donald Langosy"
CRLF
PRINTI "(c) Copyright 1988, 1989 by Infocom, Inc."
CRLF
PRINTI "All rights reserved."
CRLF
PRINTI "JOURNEY is a trademark of Infocom, Inc."
CRLF
ICALL1 TELL-GAME-ID
CALL2 V-CANCEL,TRUE-VALUE
RSTACK
.FUNCT V-CHECK-DISK:ANY:0:0
ICALL1 TELL-GAME-ID
CRLF
PRINTI "[Verifying.]"
CRLF
VERIFY \?CCL3
PRINTI "Ok."
JUMP ?CND1
?CCL3: PRINTI "** Bad **"
?CND1: CALL2 V-CANCEL,TRUE-VALUE
RSTACK
.FUNCT V-SCRIPT-OFF:ANY:0:0
SET 'SCRIPTING-FLAG,FALSE-VALUE
DIROUT -2
CALL1 V-CANCEL
RSTACK
.FUNCT V-SCRIPT-ON:ANY:0:0
ICALL MOVE-TO,SCRIPT-ON-ROOM,FALSE-VALUE,TRUE-VALUE,FALSE-VALUE
CALL1 RNUL
RSTACK
.FUNCT V-COMMANDS:ANY:0:0
SET 'SCRIPTING-FLAG,TRUE-VALUE
SET 'DONT-SCRIPT-INPUT,FALSE-VALUE
DIROUT 2
ICALL1 REFRESH-CHECK
CALL1 V-CANCEL
RSTACK
.FUNCT V-NO-COMMANDS:ANY:0:0
SET 'SCRIPTING-FLAG,TRUE-VALUE
SET 'DONT-SCRIPT-INPUT,TRUE-VALUE
DIROUT 2
ICALL1 REFRESH-CHECK
CALL1 V-CANCEL
RSTACK
.FUNCT V-REFRESH:ANY:0:0
ICALL2 REFRESH-SCREEN,TRUE-VALUE
CALL1 V-CANCEL
RSTACK
.FUNCT V-CANCEL:ANY:0:1,RT?
ICALL MOVE-TO,SAVED-GAME-ROOM,FALSE-VALUE,FALSE-VALUE,FALSE-VALUE
ICALL MODE,SAVED-GAME-MODE,FALSE-VALUE,TRUE-VALUE
ICALL1 RESTORE-PARTY-COMMANDS
SET 'SMART-DEFAULT-FLAG,TRUE-VALUE
SET 'GAME-MODE,FALSE-VALUE
SET 'UPDATE-FLAG,FALSE-VALUE
ICALL1 PRINT-CHARACTER-COMMANDS
ICALL2 PRINT-COLUMNS,TRUE-VALUE
ZERO? RT? \TRUE
CALL1 RNUL
RSTACK
.FUNCT RNUL:ANY:0:0
SET 'ACTION,NUL-COMMAND
RTRUE
.FUNCT ILLEGAL-NAME?:ANY:1:1,LEN,MAX,CNT,CNT2,TBL,TBL2,?TMP1
GET ILLEGAL-NAMES,0 >MAX
ADD NAME-TBL,2 >TBL
?PRG1: IGRTR? 'CNT,MAX /FALSE
GET ILLEGAL-NAMES,CNT >TBL2
GETB TBL2,0
EQUAL? STACK,LEN \?PRG1
INC 'TBL2
SET 'CNT2,-1
?PRG8: INC 'CNT2
EQUAL? CNT2,LEN /TRUE
GETB TBL2,CNT2 >?TMP1
GETB TBL,CNT2
EQUAL? ?TMP1,STACK /?PRG8
JUMP ?PRG1
.FUNCT V-CHANGE-NAME:ANY:0:0,OFF,CHR,LN,COL,TBL,CNT,MAX,KBD,FG,BG,?TMP2,?TMP1
SET 'COL,NAME-COLUMN
ICALL1 TURN-ON-CURSOR
LESS? SCREEN-WIDTH,8-WIDTH \?CCL3
SET 'MAX,5
JUMP ?CND1
?CCL3: SET 'MAX,8
?CND1: ICALL2 SELECT-SCREEN,COMMAND-WINDOW
ZERO? FWC-FLAG \?CND4
WINGET -3,11 >FG
SHIFT FG,-8 >BG
BAND FG,255 >FG
?CND4: CALL2 PARTY-PCM,TAG
ADD COMMAND-START-LINE,STACK
SUB STACK,1 >LN
ICALL GCURSET,LN,COL
ZERO? FWC-FLAG \?CCL8
COLOR BG,FG
ERASE NAME-WIDTH-PIX
?CND6: ICALL GCURSET,LN,COL
ADD NAME-TBL,2 >TBL
?PRG16: INPUT 1 >CHR
EQUAL? CHR,13 \?CCL20
ICALL1 TURN-OFF-CURSOR
ZERO? OFF \?CCL23
ZERO? FWC-FLAG \?CND24
COLOR FG,BG
?CND24: SET 'UPDATE-FLAG,TRUE-VALUE
ICALL1 END-CHANGE-NAME
CALL1 RNUL
RSTACK
?CCL8: ZERO? FONT3-FLAG \?PRG11
HLIGHT H-INVERSE
?PRG11: IGRTR? 'CNT,MAX /?CND6
PRINTC 95
JUMP ?PRG11
?CCL23: CALL2 ILLEGAL-NAME?,OFF
ZERO? STACK /?CND26
ICALL1 END-CHANGE-NAME
PRINTR "[The name you have chosen is reserved. Please try again.]"
?CND26: ICALL1 REMOVE-TRAVEL-COMMAND
ZWSTR NAME-TBL,OFF,2,TAG-NAME
PUTP TAG-OBJECT,P?KBD,KBD
SET 'TAG-NAME-LENGTH,OFF
SET 'UPDATE-FLAG,TRUE-VALUE
ZERO? FWC-FLAG \?CND28
COLOR FG,BG
?CND28: ICALL1 END-CHANGE-NAME
RTRUE
?CCL20: EQUAL? CHR,DELETE-KEY,BACK-SPACE,LEFT-ARROW \?CCL31
ZERO? OFF \?CCL34
SOUND 1
JUMP ?PRG16
?CCL34: ZERO? FWC-FLAG \?CCL36
DEC 'OFF
ZERO? OFF \?CCL39
ICALL GCURSET,LN,COL
ERASE NAME-WIDTH-PIX
JUMP ?PRG16
?CCL39: DIROUT 3,CENTER-TABLE
PRINTT TBL,OFF
DIROUT -3
CALL GPOS,LN,CHRV >?TMP1
CALL GPOS,COL,CHRH >?TMP2
GET 0,24
ADD ?TMP2,STACK
CURSET ?TMP1,STACK
GET 0,24
SUB NAME-WIDTH-PIX,STACK
ERASE STACK
JUMP ?PRG16
?CCL36: ICALL GCURSET,LN,COL
PRINTC 45
DEC 'COL
ICALL GCURSET,LN,COL
PRINTC 45
DEC 'OFF
ICALL GCURSET,LN,COL
JUMP ?PRG16
?CCL31: LESS? CHR,65 /?PRD43
GRTR? CHR,90 \?CTR40
?PRD43: LESS? CHR,97 /?CCL41
GRTR? CHR,122 /?CCL41
?CTR40: EQUAL? OFF,MAX \?CCL50
SOUND 1
JUMP ?PRG16
?CCL50: ZERO? OFF \?CCL52
LESS? CHR,97 /?CND53
GRTR? CHR,122 /?CND53
SUB CHR,32 >CHR
?CND53: SET 'KBD,CHR
JUMP ?CND48
?CCL52: GRTR? OFF,0 \?CND48
LESS? CHR,65 /?CND48
GRTR? CHR,90 /?CND48
ADD CHR,32 >CHR
?CND48: PUTB TBL,OFF,CHR
INC 'OFF
PRINTC CHR
ZERO? FWC-FLAG /?PRG16
INC 'COL
ICALL GCURSET,LN,COL
JUMP ?PRG16
?CCL41: SOUND 1
JUMP ?PRG16
.FUNCT END-CHANGE-NAME:ANY:0:0,FOO
CALL1 APPLE2?
ZERO? STACK \?CND1
ZERO? FONT3-FLAG \?CND3
HLIGHT H-NORMAL
?CND3: ZERO? FWC-FLAG \?CND1
FONT 1 >FOO
?CND1: CALL2 SELECT-SCREEN,TEXT-WINDOW
RSTACK
.ENDSEG
.ENDI

775
commands.zil Normal file
View file

@ -0,0 +1,775 @@
"COMMANDS for
JOURNEY
(c) Copyright 1988, 1989 Infocom, Inc. All Rights Reserved."
<BEGIN-SEGMENT 0>
;"In command names, - (dash) becomes space with capitalized next word,
' (quote) is kept as is, and + (plus) means capitalize next word
withOUT a space (only used in stupid, fucking AppleII abbreviations...)"
<DEFINE JSTR (CNM)
<MAPR ,STRING
<FUNCTION (STR "AUX" (CHR <1 .STR>))
<COND (<=? .STR "NUL">
<MAPLEAVE " ">)
(<=? .STR "CANCEL">
<MAPLEAVE "[cancel]">)
(<=? .STR "GONE">
<MAPLEAVE "[gone]">)
(<=? .STR "BUSY">
<MAPLEAVE "[busy]">)
(<=? .STR "ILL">
<MAPLEAVE "[wounded]">)
(<OR .SPF <==? .STR .CNM>>
<SET SPF <>>
.CHR)
(<==? .CHR !\->
<SET SPF T>
<ASCII 32>)
(<==? .CHR !\'>
.CHR)
(<==? .CHR !\+>
<SET SPF T>
<MAPRET>)
(T
<ASCII <+ <ASCII .CHR>
32>>)>>
.CNM>>
<DEFINE COMMAND (NAM "ARGS" LST "AUX" OBJ ACT CSPN SPN (SPF <>) (ANM <>))
<COND (<TYPE? .NAM LIST>
<SET CSPN <SPNAME <1 .NAM>>>
<SET ANM <2 .NAM>>
<SET NAM <1 .NAM>>)
(T
<SET CSPN <SPNAME .NAM>>)>
<SET SPN <SPNAME .NAM>>
<COND (<EMPTY? .LST>
<SET OBJ 0>
<SET ACT V-NUL>)
(T
<SET OBJ <EVAL <1 .LST>>>
<COND (<EMPTY? <SET LST <REST .LST>>>
<SET ACT V-NUL>)
(<TYPE? <1 .LST> ATOM>
<SET ACT <1 .LST>>)
(T
<EVAL <FORM ROUTINE
<SET ACT <PARSE <STRING "V-" .CSPN>>>
!.LST>>)>)>
<EVAL <FORM CONSTANT
<PARSE <STRING .CSPN "-COMMAND">>
<PTABLE <JSTR .SPN>
<MAPR ,STRING
<FUNCTION (STR "AUX" (CHR <1 .STR>))
<COND (<=? .STR "NUL">
<MAPLEAVE " ">)
(<==? .CHR !\->
<ASCII 32>)
(<==? .CHR !\'>
.CHR)
(<==? .CHR !\+>
<MAPRET>)
(T
<ASCII <+ <ASCII .CHR> 32>>)>>
.SPN>
.ACT
.OBJ
<COND (<=? .SPN "CANCEL">
8)
(<MEMBER .SPN ["NUL" "GONE" "BUSY" "ILL"]>
;"Added 3/15"
2)
(T
<1 .SPN> ;"For KBD input")>
<COND (<=? .SPN "ILL">
;"Damned special case for abbreviation..."
"[hurt]")
(.ANM
<JSTR <SPNAME .ANM>>)
(T <>)>
>>>>
<SETG TEMP-COMMAND ,COMMAND>
<CONSTANT COMMAND-FULL 0>
<CONSTANT COMMAND-STR 1>
<CONSTANT COMMAND-ACTION 2>
<CONSTANT COMMAND-OBJECT 3>
<CONSTANT COMMAND-CHR 4>
<CONSTANT COMMAND-ASTR 5>
<COMMAND (BERGON-ROUTE BERGON-RT)>
<COMMAND (PRAXIX-ROUTE PRAXIX-RT)>
<COMMAND TAG-ROUTE>
<COMMAND ELF-HOME>
<COMMAND FIGHT>
<COMMAND ACCEPT>
<COMMAND DECLINE>
<COMMAND (GET-ADVICE GET+ADVICE) <> ()
<TELL D ,LEADER
" asked the group for advice, but none was offered.">>
<COMMAND LEFT>
<COMMAND RIGHT>
<COMMAND BACK>
<COMMAND DIVE>
<COMMAND SURFACE>
<COMMAND HIDE>
<COMMAND HELP <> ()
<TELL
"Journey is an interactive story in which you guide a party of
characters through a dangerous quest. To learn about the background of
your quest, select BACKGROUND after reading this material." CR CR>
<TELL
"There are two types of commands that you can give; those which are
performed for the entire party (e.g. moving from place to place, retreating
after a losing battle) and those which are performed by an individual
character (e.g. examining an object, casting a spell, mingling in a
tavern.) Party Commands are the leftmost column of commands on
the screen; the next column lists the characters in your party;
and the three following columns are for the Individual Commands." CR CR>
<TELL
"To select a command of either type, simply use the arrow-keys on your
keyboard to reposition the highlighted command on the screen (the \"cursor\")
until that cursor rests on the command you desire; then hit RETURN. Alternatively,
if you are using a mouse, move it such that the ">
<COND (<APPLE2?> <TELL "dot">)
(T <TELL "arrow">)>
<TELL " on the screen is pointing to
that command; then click your mouse button." CR CR>
<TELL
"If you are using the keyboard, use the spacebar as a shortcut
to move between the Party Commands and the Individual Commands. Also,
typing the first letter of a command or object name will select that
command or object." CR CR>
<TELL "Have fun!">
<NEW-DEFAULT 2 -1>>
<COMMAND (BACKGROUND BCKGRND)>
<COMMAND BUSY>
<COMMAND ILL>
<COMMAND GONE>
<COMMAND BUY O-TAKE ()
<TELL "We bought the " AO " and packed it away.">
<FSET ,ACTION-OBJECT ,DONT-EXAMINE>
<UPDATE-MOVE ,ACTION-OBJECT ,INVENTORY>
<RTRUE>>
<COMMAND CAST O-CAST () <RFALSE>>
<ROUTINE O-CAST ()
<COND (<EQUAL? ,ACTOR ,TAG>
<FIND-OBJECT ,TAG-POWDERS>
<RTRUE>)>
<FIND-SPELL-OBJECTS ,ALWAYS-SPELLS>>
<ROUTINE FIND-SPELL-OBJECTS (OBJ "OPTIONAL" (BIT <>) "AUX" F CNT)
<SET F <FIRST? .OBJ>>
<REPEAT ()
<COND (<OR <NOT .F>
<EQUAL? .CNT 9>>
<RETURN>)
(<CHECK-ESSENCES .F>
<SET CNT <FIND-OBJECT .F>>)>
<SET F <NEXT? .F>>>>
<COMMAND (FEEL-AROUND FEEL-OUT)>
<COMMAND DROP O-DROP ()
<COND (<FSET? ,ACTION-OBJECT ,DONT-DROP>
<REMOVE ,HYE-DROP>
<FOOL-DROP>)
(T
<UPDATE-MOVE ,ACTION-OBJECT ,HERE>
<TELL
"Having no more need for the " AO ", we discarded it.">)>
<UPDATE-FSET ,HERE ,DONT-DROP>>
<ROUTINE O-DROP ()
<FIND-OBJECTS ,INVENTORY ,NEVER-DROP>>
<ROUTINE FOOL-DROP ()
<COND (<CHARACTER-HERE? ,PRAXIX>
<TELL
"Trying to lighten my load, I started to drop the " AO " on the ground.
\"" TAG "!\" Praxix called out loudly, startling me. \"What on earth are you
doing with that " AO "? Dropping it here, of all places! How do you know we
won't be needing such things? Now make yourself useful before I ">
<TELL <PICK-ONE ,PRAXIX-FOOL-TBL>>
<TELL "!\" I hardly think Praxix was being serious, or even
that such a thing was possible, but he was almost certainly right about the " AO ".">)
(T
<TELL
"I thought to lighten my load by dropping the " AO ", but felt that
it would serve no purpose save giving Praxix an excuse to fry me in
boiling oil when he found out.">)>>
<GLOBAL PRAXIX-FOOL-TBL
<LTABLE 0
"turn you into a toad"
"fry you"
"cast you into the sky and make you dinner for vultures">>
<COMMAND ENTER>
<COMMAND EXAMINE O-EXAMINE ()
<COND (<GETPT ,ACTION-OBJECT ,P?EXBITS>
<CLEAR-EXBIT ,ACTION-OBJECT ,ACTOR>)
(T
<FSET ,ACTION-OBJECT ,DONT-EXAMINE>)>
<TELL ACT " examined the " AO ", but found nothing of interest.">>
<ROUTINE CLEAR-EXBIT ("OPTIONAL" (OBJ ,ACTION-OBJECT) (CHR ,ACTOR))
<SETG UPDATE-FLAG T>
<PUTP .OBJ
,P?EXBITS
<BAND <GETP .OBJ ,P?EXBITS>
<BCOM <GETP .CHR ,P?CBIT>>>>>
<ROUTINE FIND-EXAMINE (OBJ "AUX" F CNT)
<SET F <FIRST? .OBJ>>
<REPEAT ()
<COND (<OR <NOT .F>
<EQUAL? .CNT 9>>
<RETURN>)
(<AND <NOT <FSET? .F ,DONT-EXAMINE>>
<OR <NOT <GETPT .F ,P?EXBITS>>
<BTST <GETP .F ,P?EXBITS>
<GETP ,ACTOR ,P?CBIT>>>>
<SET CNT <FIND-OBJECT .F>>)>
<SET F <NEXT? .F>>>>
<ROUTINE O-EXAMINE ()
<FIND-EXAMINE ,HERE>
<COND (<OR <NOT ,SUBGROUP-MODE>
<FSET? ,TAG ,SUBGROUP>>
<FIND-EXAMINE ,INVENTORY>)
(<EQUAL? ,ACTOR ,PRAXIX>
<FIND-OBJECT ,POUCH>)>
<RTRUE>>
<COMMAND EXIT>
<COMMAND (TELL-STORY TELL-TALE) O-TELL-LEGEND ()
<TELL-TALE ,ACTION-OBJECT>
<RTRUE>>
<COMMAND (TELL-LEGEND TELL-TALE) O-TELL-LEGEND ()
<TELL-TALE ,ACTION-OBJECT>
<RTRUE>>
<ROUTINE O-TELL-LEGEND ()
<COND (<OR <FSET? ,HERE ,DANGEROUS>
<FSET? ,SCENE-OBJECT ,DANGEROUS>>
<RTRUE>)
(<EQUAL? ,ACTOR ,PRAXIX>
<FIND-OBJECTS ,PRAXIX-TALES>)
(<EQUAL? ,ACTOR ,HURTH>
<FIND-OBJECTS ,HURTH-STORIES>)
(<EQUAL? ,ACTOR ,UMBER>
<FIND-OBJECTS ,UMBER-STORIES>)>>
<COMMAND TELL-TRUTH>
<COMMAND LIE>
<COMMAND (STREAM-PATH STREAM)>
<COMMAND APPROACH>
<COMMAND (STAY-HIDDEN STAY)>
<COMMAND FOLLOW>
<COMMAND SCENE-START>
<COMMAND SCENE-END>
<COMMAND (LOOK-AROUND LOOK-AR'D)>
<COMMAND GET-HELP>
<COMMAND RETURN>
<COMMAND IGNORE>
<COMMAND (INVENTORY INVENT) <> ("OPTIONAL" (UPD? T) "AUX" F)
<COND (<EQUAL? ,HERE ,ASTRIX-MAZE>
<UPDATE-FCLEAR ,WEBBA-MAP ,DONT-EXAMINE>)>
<TELL "I checked our provisions at that point and found,
in addition to the basic necessities of food and shelter, ">
<COND (<NOT <LIST-CONTENTS ,INVENTORY>>
<TELL "nothing whatever">)>
<COND (.UPD? <UPDATE-FSET ,HERE ,INVENTORIED>)>
<TELL ".">>
<ROUTINE LIST-CONTENTS (OBJ "OPTIONAL" (AF T) "AUX" F N)
<COND (<EQUAL? .OBJ ,INVENTORY>
<REMOVE ,POUCH>)>
<COND (<NOT <SET F <FIRST? .OBJ>>>
<COND (<EQUAL? .OBJ ,INVENTORY>
<MOVE ,POUCH ,INVENTORY>)>
<RFALSE>)>
<REPEAT ()
<COND (<NOT .F>
<COND (<EQUAL? .OBJ ,INVENTORY>
<MOVE ,POUCH ,INVENTORY>)>
<RETURN>)
(<EQUAL? .F ,POUCH>
<SET F <NEXT? .F>>)
(T
<COND (.AF <TELL "a ">)
(T <TELL "the ">)>
<TELL D .F>
<COND (<SET F <NEXT? .F>>
<TELL ", ">
<COND (<NOT <NEXT? .F>> <TELL "and ">)>)>)>>>
<COMMAND NUL <> () <RFALSE>>
<COMMAND PARLEY>
<COMMAND PROCEED>
<COMMAND REPLY>
<COMMAND RETREAT <> ()
<END-COMBAT>
<TELL "We retreated out of range of attack.">>
<COMMAND SCOUT <> ()
<UPDATE-FSET ,HERE ,DONT-SCOUT>
<TELL ACT
" scouted out the area, but found nothing new of interest.">>
<COMMAND FLANK>
<COMMAND SELL O-SELL ()
<TELL
"[Not implemented.]">>
<ROUTINE O-SELL ()
<COND (<EQUAL? ,HERE ,LANDS-END-TAVERN> <RTRUE>)
(T
<O-DROP>)>>
<COMMAND PICK-UP O-TAKE ()
<FSET ,ACTION-OBJECT ,DONT-EXAMINE>
<UPDATE-MOVE ,ACTION-OBJECT ,INVENTORY>
<COND (<FSET? ,TAG ,SUBGROUP>
<TELL
"I decided to take the " AO ", and">)
(T
<TELL
"We decided to take the " AO ", so">)>
<TELL " I put it in my pack for safekeeping.">>
<ROUTINE O-TAKE ()
<FIND-OBJECTS ,HERE ,DONT-TAKE>>
<COMMAND SPLIT-UP>
<COMMAND (COMB-AREA COMB+AREA)>
<COMMAND START>
<COMMAND STAND>
<COMMAND UPSTREAM>
<COMMAND (DOWNSTREAM DOWN)>
<COMMAND SWIM>
<COMMAND BUILD-RAFT <> ()
<FSET ,RAFT ,SEEN>
<APPLY <GETP ,HERE ,P?ENTER>>
<TELL "There was ">
<COND (<FSET? ,RAFT ,TRAPPED>
<TELL "still ">)>
<TELL
"no suitable way of crossing the river on foot, so we determined to
build a raft. After gathering some large branches, it was then a simple
matter to lash them together with some of the rope we had been carrying. We
then carved ourselves oars, and were soon ready to give the river crossing a">
<COND (<QSET? ,RAFT ,TRAPPED> <TELL "nother">)>
<TELL " try.">>
<COMMAND (LAUNCH-RAFT LAUNCH) <> ()
<TELL
"\"This would seem as good a spot as any,\" ">
<COND (<IN-PARTY? ,BERGON> <TELL "Bergon">)
(T
<TELL "Praxix">)>
<TELL " said, indicating the spot where we would launch the raft." CR CR>
<TELL "This ">
<COND (<EQUAL? ,PARTY-MAX 2>
<TELL "sounded good to me">)
(T
<TELL "met with general approval">)>
<TELL ", and, having boarded the raft, we used our
crude oars to push ourselves out into the current.">
<PUTP ,IN-RIVER ,P?TEMP <GET-TEMP>>
<MOVE-TO ,IN-RIVER>>
<COMMAND CROSS>
<COMMAND CENTER>
;<ROUTINE APPLE-SCREEN-0-SHIT ("AUX" SV)
;<CLEAR 0>
<SET SV ,CURRENT-SCREEN>
<SCREEN 0>
<GCURSET <- ,COMMAND-START-LINE 2> 1>
<SCREEN .SV>
<TURN-ON-CURSOR>>
<COMMAND SAVE <> ("OPTIONAL" (CAN? T) "AUX" SV)
;"Added 5/12 to fix apple save/restore screen fuckup"
;<COND (<APPLE2?>
<APPLE-SCREEN-0-SHIT>)>
<TURN-ON-CURSOR>
<COND (<==? ,INTERPRETER ,INT-PC>
; "Otherwise interpreter asking for save file will end up
stuck to text."
<TELL CR>)>
<SET SV <SAVE>>
<TURN-OFF-CURSOR>
<COND (<EQUAL? .SV 1>
<TURN-OFF-CURSOR>
<TELL "[Saved.]">
<REFRESH-CHECK>)
(<EQUAL? .SV 2 3>
<TURN-OFF-CURSOR>
<COND (<SCREEN-NEEDS-INIT>
<TELL CR "[Restored.]">)
(T
<TELL CLEAR "[Restored.]">)>
<REMOVE ,I-CLEAR-SINGLE-MOVE-GRAPHIC>
<COND (<EQUAL? ,HERE ,END-SESSION-ROOM>
<V-CANCEL>)>
<COND (<BTST <LOWCORE FLAGS> 1>
;"Interpreter was scripting..."
<SETG SCRIPTING-FLAG T>
<COND (<BTST <LOWCORE FLAGS> 512>
<SETG DONT-SCRIPT-INPUT T>)
(T
<SETG DONT-SCRIPT-INPUT <>>)>)
(T
<SETG SCRIPTING-FLAG <>>)>
<REFRESH-CHECK T>)
(T
<TURN-OFF-CURSOR>
<TELL "[Failed.]">)>
<CRLF>
<COND (.CAN? <V-CANCEL T>)>
<RTRUE>>
<COMMAND RESTORE <> ("OPTIONAL" (CAN? T) "AUX" (FLG <LOWCORE FLAGS>))
;"Added 5/12 to fix apple save/restore screen fuckup; changed 5/24"
;<COND (<APPLE2?>
<APPLE-SCREEN-0-SHIT>)>
;"Before RESTOREing, save state of D-S-I in bit 9 of FLAGS word..."
<COND (,DONT-SCRIPT-INPUT
<LOWCORE FLAGS <BOR .FLG 512>>)
(T
;"Should be changed"
<LOWCORE FLAGS <BAND .FLG 511>>)>
<TURN-ON-CURSOR>
<COND (<RESTORE>
<TELL "[Ok.]">)
(T
<TURN-OFF-CURSOR>
<TELL "[Failed.]">)>
<REFRESH-CHECK>
<COND (.CAN? <V-CANCEL T>)>
<RTRUE>>
<GLOBAL SAVED-GAME-ROOM <>>
<GLOBAL GAME-MODE <>>
<GLOBAL SAVED-GAME-MODE <>>
<GLOBAL SAVED-PARTY-COMMANDS <LTABLE 0 0 0 0 0 0>>
<ROUTINE SAVE-PARTY-COMMANDS ()
<COPYT ,PARTY-COMMANDS ,SAVED-PARTY-COMMANDS 12>>
<ROUTINE RESTORE-PARTY-COMMANDS ()
<COPYT ,SAVED-PARTY-COMMANDS ,PARTY-COMMANDS 12>
<PRINT-COLUMNS T>
<SETG PUPDATE-FLAG <>>>
<GLOBAL PUPDATE-FLAG <>>
<GLOBAL SMART-DEFAULT-FLAG <>>
<COMMAND GAME <> ("OPTIONAL" (RM ,GAME-ROOM) "AUX" T)
<GO-TO-GAME-MODE>
<MOVE-TO .RM <> T <>>
<CLEAR-FIELDS>
<SETG UPDATE-FLAG <>>
<RNUL>>
<ROOM GAME-ROOM
(TRAVEL-COMMANDS SAVE-COMMAND RESTORE-COMMAND
END-SESSION-COMMAND CONTROLS-COMMAND)>
<COMMAND RESTART <> ()
<RESTART>>
<COMMAND QUIT <> ()
<CLEAR -1>
<QUIT>>
<COMMAND (END-SESSION END-PLAY) <> ()
<MOVE-TO ,END-SESSION-ROOM <> T <>>
<RNUL>>
<ROOM END-SESSION-ROOM
(TRAVEL-COMMANDS SAVE-COMMAND QUIT-COMMAND RESTART-COMMAND NUL-COMMAND)
(ACTION
<ACOND ()
(SAVE
<REMOVE-PARTY-COMMAND ,SAVE-COMMAND>
<V-SAVE <>>)>)>
<COMMAND CONTROLS <> ()
<COND (<AND ,SCRIPTING-FLAG <BTST <LOWCORE FLAGS> 1>>
<CHANGE-TRAVEL-COMMAND ,CONTROLS-ROOM
,SCRIPT-ON-COMMAND
,SCRIPT-OFF-COMMAND>)
(T
<SETG SCRIPTING-FLAG <>>
<CHANGE-TRAVEL-COMMAND ,CONTROLS-ROOM
,SCRIPT-OFF-COMMAND
,SCRIPT-ON-COMMAND>)>
<MOVE-TO ,CONTROLS-ROOM <> T <>>
<RNUL>>
<COMMAND VERSION <> ()
<TELL CR
"JOURNEY: Part I of the Golden Age Trilogy." CR>
<TELL
"Created by Marc Blank" CR>
<TELL
"Illustrations by Donald Langosy" CR>
<TELL
"(c) Copyright 1988, 1989 by Infocom, Inc." CR>
<TELL
"All rights reserved." CR>
<TELL
"JOURNEY is a trademark of Infocom, Inc." CR>
<TELL-GAME-ID>
<V-CANCEL T>>
<COMMAND (CHECK-DISK CH\'K-DISK) <> ()
<TELL-GAME-ID>
<TELL CR "[Verifying.]" CR>
<COND (<VERIFY>
<TELL "Ok.">)
(T
<TELL "** Bad **">)>
<V-CANCEL T>>
<COMMAND (SCRIPT-OFF SCR\'T-OFF) <> ()
<SETG SCRIPTING-FLAG <>>
<DIROUT -2>
<V-CANCEL>>
<COMMAND (SCRIPT-ON SCR\'T-ON) <> ()
<MOVE-TO ,SCRIPT-ON-ROOM <> T <>>
<RNUL>>
<COMMAND COMMANDS <> ()
<SETG SCRIPTING-FLAG T>
<SETG DONT-SCRIPT-INPUT <>>
<DIROUT 2>
<REFRESH-CHECK>
<V-CANCEL>>
<COMMAND (NO-COMMANDS NO-CMDS) <> ()
<SETG SCRIPTING-FLAG T>
<SETG DONT-SCRIPT-INPUT T>
<DIROUT 2>
<REFRESH-CHECK>
<V-CANCEL>>
<ROOM SCRIPT-ON-ROOM
(TRAVEL-COMMANDS COMMANDS-COMMAND NO-COMMANDS-COMMAND NUL-COMMAND)>
<COMMAND REFRESH <> ()
<REFRESH-SCREEN T>
<V-CANCEL>>
<ROOM CONTROLS-ROOM
(TRAVEL-COMMANDS SCRIPT-ON-COMMAND REFRESH-COMMAND
VERSION-COMMAND CHECK-DISK-COMMAND)>
<COMMAND CANCEL <> ("OPTIONAL" (RT? <>))
<MOVE-TO ,SAVED-GAME-ROOM <> <> <>>
<MODE ,SAVED-GAME-MODE <> T>
<RESTORE-PARTY-COMMANDS>
<SETG SMART-DEFAULT-FLAG T>
<SETG GAME-MODE <>>
<SETG UPDATE-FLAG <>>
<PRINT-CHARACTER-COMMANDS>
<PRINT-COLUMNS T>
<COND (.RT? <RTRUE>)
(T <RNUL>)>>
<ROUTINE RNUL ()
<SETG ACTION ,NUL-COMMAND>
<RTRUE>>
<GLOBAL PARTY-COMMANDS
<LTABLE
START-COMMAND BACKGROUND-COMMAND HELP-COMMAND NUL-COMMAND GAME-COMMAND>>
<GLOBAL NAME-TBL <TABLE 0 0 0 0 0 0>>
<GLOBAL TAG-NAME <TABLE 0 0 0 0>>
<GLOBAL TAG-NAME-LENGTH 0>
<CONSTANT ILLEGAL-NAMES
<LTABLE <TABLE (STRING LENGTH) "Bergon">
<TABLE (STRING LENGTH) "Praxix">
<TABLE (STRING LENGTH) "Esher">
<TABLE (STRING LENGTH) "Minar">
<TABLE (STRING LENGTH) "Hurth">
<TABLE (STRING LENGTH) "Umber">
<TABLE (STRING LENGTH) "Agrith">
<TABLE (STRING LENGTH) "Astrix">>>
<ROUTINE ILLEGAL-NAME? (LEN "AUX" MAX (CNT 0) CNT2 TBL TBL2)
<SET MAX <GET ,ILLEGAL-NAMES 0>>
<SET TBL <REST ,NAME-TBL 2>>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .MAX>
;"None matched..."
<RFALSE>)
(T
<SET TBL2 <GET ,ILLEGAL-NAMES .CNT>>
<COND (<EQUAL? <GETB .TBL2 0> .LEN>
;"Only check if same length..."
<SET TBL2 <REST .TBL2>>
<SET CNT2 -1>
<REPEAT ()
<SET CNT2 <+ .CNT2 1>>
<COND (<EQUAL? .CNT2 .LEN>
;"It is illegal..."
<RTRUE>)
(<NOT <EQUAL? <GETB .TBL2 .CNT2>
<GETB .TBL .CNT2>>>
;"Unmatched..."
<RETURN>)>>)>)>>>
<COMMAND (CHANGE-NAME CHG-NAME) <>
("AUX" (OFF 0) CHR LN (COL ,NAME-COLUMN) TBL (CNT 0) MAX KBD
FG BG)
<TURN-ON-CURSOR>
<COND (<L? ,SCREEN-WIDTH ,8-WIDTH>
<SET MAX 5>)
(T
<SET MAX 8>)>
<SELECT-SCREEN ,COMMAND-WINDOW>
<COND (<NOT ,FWC-FLAG>
<SET FG <WINGET -3 11>>
<SET BG <LSH .FG -8>>
<SET FG <ANDB .FG *377*>>)
;(<NOT ,FWC-FLAG>
<SET KBD <FONT 4>>)>
<GCURSET <SET LN <- <+ ,COMMAND-START-LINE <PARTY-PCM ,TAG>> 1>>
.COL>
<COND (<NOT ,FWC-FLAG>
<COLOR .BG .FG>
<ERASE ,NAME-WIDTH-PIX>)
(T
<COND (<NOT ,FONT3-FLAG> <HLIGHT ,H-INVERSE>)>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .MAX>
<RETURN>)
(T
<PRINTC !\_>)>>)>
<GCURSET .LN .COL>
<SET TBL <REST ,NAME-TBL 2>>
<REPEAT ()
<COND (<EQUAL? <SET CHR <INPUT 1>> 13>
<TURN-OFF-CURSOR>
<COND (<ZERO? .OFF>
<COND (<NOT ,FWC-FLAG>
<COLOR .FG .BG>)>
<SETG UPDATE-FLAG T>
<RETURN>)
(T
<COND (<ILLEGAL-NAME? .OFF>
<END-CHANGE-NAME>
<TELL
"[The name you have chosen is reserved. Please try again.]" CR>
<RTRUE>)>
;"Do the change"
<REMOVE-TRAVEL-COMMAND>
<ZWSTR ,NAME-TBL .OFF 2 ,TAG-NAME>
<PUTP ,TAG-OBJECT ,P?KBD .KBD>
<SETG TAG-NAME-LENGTH .OFF>
<SETG UPDATE-FLAG T>
<COND (<NOT ,FWC-FLAG>
<COLOR .FG .BG>)>
<END-CHANGE-NAME>
<RTRUE>)>)
(<EQUAL? .CHR ,DELETE-KEY ,BACK-SPACE ,LEFT-ARROW>
<COND (<ZERO? .OFF>
<SOUND 1>
<AGAIN>)
(<NOT ,FWC-FLAG>
<SET OFF <- .OFF 1>>
<COND (<0? .OFF>
<GCURSET .LN .COL>
<ERASE ,NAME-WIDTH-PIX>)
(T
<DIROUT 3 ,CENTER-TABLE>
<PRINTT .TBL .OFF>
<DIROUT -3>
<CURSET <GPOS .LN ,CHRV>
<+ <GPOS .COL ,CHRH> <LOWCORE TWID>>>
<ERASE <- ,NAME-WIDTH-PIX
<LOWCORE TWID>>>)>)
(T
<GCURSET .LN .COL>
<PRINTC !\->
<SET COL <- .COL 1>>
<GCURSET .LN .COL>
<PRINTC !\->
<SET OFF <- .OFF 1>>
<GCURSET .LN .COL>)>)
(<OR <AND <NOT <L? .CHR !\A>> <NOT <G? .CHR !\Z>>>
<AND <NOT <L? .CHR !\a>> <NOT <G? .CHR !\z>>>>
<COND (<EQUAL? .OFF .MAX>
<SOUND 1>
<AGAIN>)
(<ZERO? .OFF>
<COND (<AND <NOT <L? .CHR !\a>>
<NOT <G? .CHR !\z>>>
<SET CHR <- .CHR 32>>)>
<SET KBD .CHR>)
(<AND <G? .OFF 0>
<AND <NOT <L? .CHR !\A>>
<NOT <G? .CHR !\Z>>>>
<SET CHR <+ .CHR 32>>)>
<PUTB .TBL .OFF .CHR>
<SET OFF <+ .OFF 1>>
<PRINTC .CHR>
<COND (,FWC-FLAG
<SET COL <+ .COL 1>>
<GCURSET .LN .COL>)>)
(T <SOUND 1>)>>
<END-CHANGE-NAME>
<RNUL>>
<ROUTINE END-CHANGE-NAME ("AUX" FOO)
<COND (<NOT <APPLE2?>>
<COND (<NOT ,FONT3-FLAG> <HLIGHT ,H-NORMAL>)>
<COND (<NOT ,FWC-FLAG>
<SET FOO <FONT 1>>)>)>
<SELECT-SCREEN ,TEXT-WINDOW>>

43
common.zabstr Normal file
View file

@ -0,0 +1,43 @@
<BEGIN-SEGMENT 0>
<DEFINE-ROUTINE SKIP-BITE-FOREST>
<GLOBAL E-INBUF <ITABLE LEN 50>>
<GLOBAL E-LEXV <ITABLE LEN 100>>
<GLOBAL E-TEMP <ITABLE 50 0>>
<GLOBAL E-TEMP-LEN 0>
<DEFINE-ROUTINE MASSAGE-ELVISH>
<DEFINE-ROUTINE READ-ELVISH>
<DEFINE-ROUTINE BAD-ELVISH-CHARACTER?>
<GLOBAL SPOKE-ELVISH <>>
<DEFINE-ROUTINE MAKE-TAG-SUBGROUP>
<DEFINE-ROUTINE RESTORE-TAG-OBJECTS>
<DEFINE-ROUTINE SAVE-TAG-OBJECTS>
<OBJECT SAVED-TAG-OBJECTS>
<DEFINE-ROUTINE RESTORE-TAG-COMMANDS>
<DEFINE-ROUTINE N-DAY-TREK>
<CONSTANT INT-STR <LTABLE "one" "two" "three" "four" "five" "six" "seven"
"eight" "nine">>
<DEFINE-ROUTINE RETURN-TO-ASTRIX-TOWER>
<DEFINE-ROUTINE PART-ONE-BAD-ENDING>
<CONSTANT I-SIT-ALONE
"I often sit alone and think of those days; and I long to know what has
become of my many friends who have long since fled across the southern
seas. I do not know for whom I write this chronicle, yet it seems
best that it be told, for soon there will be none who can remember,
none who can dream of what was, and someday yet will be.">
<DEFINE-ROUTINE ENDING>
<ROOM ENDING-ROOM (TRAVEL-COMMANDS QUIT-COMMAND RESTORE-COMMAND RESTART-COMMAND
MUSINGS-COMMAND) (ENTER <EXECUTE () <COND (<NOT ,GAME-WON?> <
REMOVE-TRAVEL-COMMAND ,HERE ,GAME-COMMAND>)> <COND (<AND <NOT ,GAME-WON?> <NOT
<FIRST? ,HINTS>>> <REMOVE-TRAVEL-COMMAND ,HERE ,MUSINGS-COMMAND>)>>) (ACTION <
ACOND () (<EQUAL? ,ACTION ,RESTORE-COMMAND> <V-RESTORE #ZLOCAL!-IZILCH
FALSE-VALUE>)>)>
<DEFINE-ROUTINE ANONF-4>
<DEFINE-ROUTINE ANONF-5>
<GLOBAL KILLED-TBL <TABLE 0 0 0 0 0>>
<DEFINE-ROUTINE KILLED-OFF>
<DEFINE-ROUTINE ASTRIX-SHOWS-STONE>
<DEFINE-ROUTINE BAD-ENDING>
<DEFINE-ROUTINE PART-TWO-TOO-FEW>
<DEFINE-ROUTINE PART-TWO-ENDING>
<DEFINE-ROUTINE TELL-WITH-COMMAS>

391
common.zap Normal file
View file

@ -0,0 +1,391 @@
.SEGMENT "0"
.FUNCT SKIP-BITE-FOREST:ANY:0:0
CRLF
CRLF
PRINTI "The warm afternoon air lifted our hearts, and we were soon marching eastward again through the towering forest. Before long, we came upon the shore of a great river."
CRLF
CRLF
PRINTI """We are nearly there,"" Praxix said, gazing ahead at the Sunset Mountain and the mysterious tower that stood precariously atop it."
CALL2 MOVE-TO,RIVER-2
RSTACK
.FUNCT MASSAGE-ELVISH:ANY:1:1,MAX,TOFF,IOFF,CHR
SET 'IOFF,2
?PRG1: DLESS? 'MAX,0 \?CCL5
SUB IOFF,2
PUTB E-INBUF,1,STACK
RTRUE
?CCL5: GETB E-TEMP,TOFF >CHR
EQUAL? CHR,39 /?CND6
LESS? CHR,65 /?CCL11
GRTR? CHR,90 /?CCL11
ADD CHR,32 >CHR
JUMP ?CND9
?CCL11: EQUAL? CHR,45,44 \?CND9
SET 'CHR,32
?CND9: PUTB E-INBUF,IOFF,CHR
ZERO? TOFF \?CND15
LESS? CHR,97 /?CND15
GRTR? CHR,122 /?CND15
SUB CHR,32 >CHR
?CND15: PUTB E-TEMP,TOFF,CHR
INC 'IOFF
?CND6: INC 'TOFF
JUMP ?PRG1
.FUNCT READ-ELVISH:ANY:0:1,ACT,OFF,CHR,LN,COL,TBL,CNT,MAX,FG,BG,POS,OLD-X,MAX-X,CUR-X,?TMP1
ASSIGNED? 'ACT /?CND1
SET 'ACT,TAG
?CND1: SET 'COL,COMMAND-OBJECT-COLUMN
SET 'MAX-X,1000
ICALL1 TURN-ON-CURSOR
ICALL1 CLEAR-FIELDS
PUTB E-LEXV,0,20
PUTB E-INBUF,0,50
ZERO? FWC-FLAG \?CND3
GET 0,17 >?TMP1
CALL2 TEXT-WIDTH,STR?210
SUB ?TMP1,STACK >MAX-X
?CND3: SUB SCREEN-WIDTH,COMMAND-OBJECT-COLUMN
SUB STACK,2 >MAX
ICALL2 SELECT-SCREEN,COMMAND-WINDOW
CALL2 PARTY-PCM,ACT
ADD COMMAND-START-LINE,STACK
SUB STACK,1 >LN
ICALL GCURSET,LN,CHR-COMMAND-COLUMN
PRINTI "says..."
ZERO? FWC-FLAG \?CND5
WINGET -3,11 >FG
SHIFT FG,-8 >BG
BAND FG,255 >FG
?CND5: ICALL GCURSET,LN,COL
ZERO? FWC-FLAG \?PRG10
CURGET CURGET-TABLE
GET CURGET-TABLE,1 >POS
SET 'CUR-X,POS
COLOR BG,FG
ERASE COMMAND-WIDTH-PIX
JUMP ?CND7
?PRG10: IGRTR? 'CNT,MAX /?REP11
PRINTC 95
JUMP ?PRG10
?REP11: ICALL GCURSET,LN,COL
?CND7: SET 'TBL,E-TEMP
?PRG15: INPUT 1 >CHR
EQUAL? CHR,13 \?CCL19
ZERO? FWC-FLAG \?CND20
COLOR FG,BG
CALL GPOS,LN,CHRV
CURSET STACK,RIGHT-COLUMN-LEFT-EDGE
ERASE RIGHT-COLUMN-WIDTH
?CND20: SUB COMMAND-START-LINE,1
ICALL2 REFRESH-CHARACTER-COMMAND-AREA,STACK
ICALL1 TURN-OFF-CURSOR
SET 'UPDATE-FLAG,TRUE-VALUE
ICALL2 SELECT-SCREEN,TEXT-WINDOW
ZERO? OFF /FALSE
ICALL2 MASSAGE-ELVISH,OFF
SET 'E-TEMP-LEN,OFF
LEX E-INBUF,E-LEXV
GETB E-LEXV,1
ZERO? STACK /FALSE
EQUAL? ACT,PRAXIX,BERGON /TRUE
ICALL1 PARSE-ELVISH
RTRUE
?CCL19: EQUAL? CHR,DELETE-KEY,BACK-SPACE,LEFT-ARROW \?CCL31
ZERO? OFF \?CCL34
SOUND 1
JUMP ?PRG15
?CCL34: ZERO? FWC-FLAG \?CCL36
DEC 'OFF
ZERO? OFF \?CCL39
CALL GPOS,LN,CHRV
CURSET STACK,POS
SET 'CUR-X,POS
ERASE COMMAND-WIDTH-PIX
JUMP ?PRG15
?CCL39: DIROUT 3,CENTER-TABLE
PRINTT TBL,OFF
DIROUT -3
GET 0,24
ADD POS,STACK >OLD-X
CALL GPOS,LN,CHRV
CURSET STACK,OLD-X
SUB CUR-X,OLD-X
GRTR? STACK,1 /?CCL42
ERASE 2
JUMP ?CND40
?CCL42: SUB CUR-X,OLD-X
ERASE STACK
?CND40: SET 'CUR-X,OLD-X
JUMP ?PRG15
?CCL36: ICALL GCURSET,LN,COL
PRINTC 95
DEC 'COL
ICALL GCURSET,LN,COL
PRINTC 95
DEC 'OFF
ICALL GCURSET,LN,COL
JUMP ?PRG15
?CCL31: EQUAL? OFF,MAX /?CCL44
CALL2 BAD-ELVISH-CHARACTER?,CHR
ZERO? STACK \?CCL44
ZERO? FWC-FLAG \?CND43
LESS? CUR-X,MAX-X /?CND43
?CCL44: SOUND 1
JUMP ?PRG15
?CND43: PRINTC CHR
PUTB TBL,OFF,CHR
INC 'OFF
ZERO? FWC-FLAG /?CCL52
INC 'COL
ICALL GCURSET,LN,COL
JUMP ?PRG15
?CCL52: CURGET CURGET-TABLE
GET CURGET-TABLE,1 >CUR-X
JUMP ?PRG15
.FUNCT BAD-ELVISH-CHARACTER?:ANY:1:1,CHR
LESS? CHR,65 /?CCL3
GRTR? CHR,90 \FALSE
?CCL3: LESS? CHR,97 /?CCL7
GRTR? CHR,122 \FALSE
?CCL7: EQUAL? CHR,32,39,45 /FALSE
EQUAL? CHR,46,44,63 /FALSE
RTRUE
.FUNCT MAKE-TAG-SUBGROUP:ANY:0:1,STO
ICALL2 MAKE-SUBGROUP,TAG
ZERO? STO /?CND1
ICALL1 SAVE-TAG-OBJECTS
?CND1: CALL TRAVEL-COMMANDS,TAG,EXAMINE-COMMAND
RSTACK
.FUNCT RESTORE-TAG-OBJECTS:ANY:0:0
ICALL REMOVE-ALL,SAVED-TAG-OBJECTS,INVENTORY
LOC TORCH
ZERO? STACK /TRUE
ICALL2 UPDATE-REMOVE,TORCH
RTRUE
.FUNCT SAVE-TAG-OBJECTS:ANY:0:0
CALL REMOVE-ALL,INVENTORY,SAVED-TAG-OBJECTS
RSTACK
.FUNCT RESTORE-TAG-COMMANDS:ANY:0:0
CALL TRAVEL-COMMANDS,TAG,PICK-UP-COMMAND,DROP-COMMAND,INVENTORY-COMMAND
RSTACK
.FUNCT N-DAY-TREK:ANY:1:1,NUM
ICALL2 NEXT-DAY,NUM
PRINTI "The next morning, we started the long trek back to Astrix' Tower, and I'm happy to report that we arrived there "
EQUAL? NUM,1 \?CCL3
PRINTI "the next day"
JUMP ?CND1
?CCL3: GET INT-STR,NUM
PRINT STACK
PRINTI " days later"
?CND1: PRINTI " without serious incident."
CRLF
CRLF
CALL1 RETURN-TO-ASTRIX-TOWER
RSTACK
.FUNCT RETURN-TO-ASTRIX-TOWER:ANY:0:1,FAIL,CNT
CALL1 STONE-COUNT
ADD PASS-1-STONES,STACK >CNT
ICALL2 GRAPHIC,G-ASTRIX
ZERO? FAIL /?CCL3
PRINTI "Astrix now looked grave."
JUMP ?CND1
?CCL3: FSET? STAIR-BOTTOM,SEEN \?CND1
PRINTI "Astrix greeted us heartily when we returned. ""How has your journey gone? What news have you found?"" he asked."
GRTR? CNT,PASS-1-STONES \?CCL7
CRLF
CRLF
PRINTI "We told him of our doings, and showed him the stone"
SUB CNT,PASS-1-STONES
GRTR? STACK,1 \?CND8
PRINTC 115
?CND8: PRINTI " we had obtained."
CRLF
CRLF
EQUAL? CNT,3 \?CCL12
ICALL1 ASTRIX-SHOWS-STONE
RTRUE
?CCL12: PRINTI " ""This is good,"" he said, but he looked disappointed."
JUMP ?CND1
?CCL7: CRLF
CRLF
PRINTI "We told Astrix of our adventures, but he was evidently disappointed."
?CND1: PRINTI " ""I am afraid we will need the three Stones,"" he said, ""if we are to defeat the Enemy."""
CRLF
CRLF
PRINTI """Three stones?"" I said, quizzically, ""You said there were four Sisters?"""
CRLF
CRLF
PRINTI """And so there are,"" Astrix said, holding out a fiery red stone. ""This is the Wizard Stone! I had hoped it would be of use in our war against the "
PRINT BAD-GUY
PRINTI "."""
CRLF
CRLF
CALL1 PART-ONE-BAD-ENDING
RSTACK
.FUNCT PART-ONE-BAD-ENDING:ANY:0:1,ONE?
PRINTI """I fear we are now without hope."
ZERO? ONE? /?CND1
PRINTI " The Anvil is beyond our grasp!"
?CND1: PRINTI " Get back to your lands that you may join your families before the Storm arrives!"""
CRLF
CRLF
PRINTI "And then, from the north, came a mocking laugh carried on an icy wind. We covered our ears, but Astrix ran to his high balcony and cursed the "
PRINT BAD-GUY
PRINTI " in the languages of old. But the laugh was not stilled; and Astrix, overcome by a great madness, leapt from his great tower and plunged to his death...."
ICALL2 GRAPHIC,G-ASTRIX-LEAPS
CALL1 BAD-ENDING
RSTACK
.FUNCT ENDING:ANY:0:0
PRINTI "[The End]"
CRLF
ICALL1 CLEAR-SUBGROUP
ICALL UPDATE-FCLEAR,TAG,SHADOW
SET 'SUBGROUP-MODE,TRUE-VALUE
CALL2 MOVE-TO,ENDING-ROOM
RSTACK
.FUNCT ANONF-4:ANY:0:0
ZERO? GAME-WON? \?CND1
ICALL REMOVE-TRAVEL-COMMAND,HERE,GAME-COMMAND
?CND1: ZERO? GAME-WON? \FALSE
FIRST? HINTS /FALSE
CALL REMOVE-TRAVEL-COMMAND,HERE,MUSINGS-COMMAND
RSTACK
.FUNCT ANONF-5:ANY:0:0
EQUAL? ACTION,RESTORE-COMMAND \FALSE
CALL2 V-RESTORE,FALSE-VALUE
RSTACK
.FUNCT KILLED-OFF:ANY:1:1,CHR,TMP
ICALL2 PARTY-REMOVE,CHR
CALL ADD-TO-LTABLE,KILLED-TBL,CHR
RSTACK
.FUNCT ASTRIX-SHOWS-STONE:ANY:0:0
ICALL GRAPHIC,FALSE-VALUE,G-FOUR-STONES,BOTTOM-LEFT
ICALL UPDATE-FCLEAR,WEBBA-MAP,DONT-DROP
PRINTI "As Astrix took the three stones, it seemed they were bathed in a warm red light, as if from a glowing ember. ""I have some surprises of my own,"" he said, and revealed to us the glowing Wizard Stone, which he had long possessed. ""It is beautiful, is it not, "
ICALL1 WPRINTTAG
PRINTI "? Not since the day it was cut from the living earth has such a sight been witnessed!"""
CRLF
CRLF
GRTR? PARTY-MAX,3 \?CCL3
FSET? BERGON,IN-PARTY \?CCL3
PRINTI "Astrix turned silent and stared into the glowing Stones. When, at last, the trance was broken, he spoke again. ""The Two are revealed to me; one lies deep within the earth, the other in an Elvish place - very old, and long forgotten. More than that, I cannot say."""
CRLF
CRLF
EQUAL? PARTY-MAX,5 \?CND6
ICALL2 PARTY-REMOVE,MINAR
PRINTI "Minar now spoke. ""I am grateful that you have allowed me to journey with you to this place,"" he began, ""but I must return now to the plains, for there is much to be done. At the least, I shall report to the people on your safe arrival at the Sunrise Tower! Good luck to you all; perhaps our paths shall cross again."" And, though we tried to persuade him otherwise, Minar turned and left Astrix' high tower and started on the lonely road toward home."
CRLF
CRLF
?CND6: CALL1 START-PART-TWO
RSTACK
?CCL3: PRINTI """Yes, you have all done well, but perhaps not well enough, for you have lost enough of your party that the search for the remaining Stones is pointless. For it is told in Legend that Five shall unite the Six Stones which shall lead them to the Anvil."""
CRLF
CRLF
CALL1 PART-ONE-BAD-ENDING
RSTACK
.FUNCT BAD-ENDING:ANY:0:0
ICALL1 DIVIDER
PRINT I-SIT-ALONE
CRLF
CRLF
CALL1 ENDING
RSTACK
.FUNCT PART-TWO-TOO-FEW:ANY:0:0
PRINTI "Only Praxix and I were left, and our only consolation was that the terrain was familiar; we were only a few miles below the falls we had seen earlier on our journey, not far from the Sunrise Mountain. And so we returned to Astrix; his face was grim."
IN? SPIRIT-STONE,INVENTORY \?CND1
CRLF
CRLF
PRINTI """It is good that you have found the fifth Stone, but your party has been devastated,"" he said. "
?CND1: CALL1 PART-ONE-BAD-ENDING
RSTACK
.FUNCT PART-TWO-ENDING:ANY:0:0
ICALL2 GRAPHIC,G-ASTRIX
CRLF
CRLF
PRINTI "Astrix, pleased at our return, sat impassively as we gave a detailed account of our adventures. When we finished, he expressed his "
IN? SPIRIT-STONE,INVENTORY \?CCL3
IN? SIXTH-STONE,INVENTORY \?CCL3
PRINTI "delight that we had found the Two stones."
CRLF
CRLF
LESS? PARTY-MAX,5 \?CCL8
PRINTI """But this is not enough,"" Astrix said. ""The last stone, the Anvil, will be the most difficult to obtain, and the Legend says that the Five shall, having united the Six Stones, be led to the Anvil. Alas that you have come so far only to be defeated at the end!"""
CRLF
CRLF
CALL2 PART-ONE-BAD-ENDING,TRUE-VALUE
RSTACK
?CCL8: PRINTI """I believe, for the first time, that we may be able to end the Darkness that comes from the north,"" Astrix said. ""The Sisters we have, and the Two; one last task awaits you!"""
CRLF
CRLF
CALL2 MOVE-TO,THREE-CONNECTOR
RSTACK
?CCL3: PRINTI "disappointment that we had not fared better."
CRLF
CRLF
IN? SPIRIT-STONE,INVENTORY /?CTR10
IN? SIXTH-STONE,INVENTORY \?CCL11
?CTR10: PRINTI """You have done well to find even one of the Two, but I fear it is not"
JUMP ?CND9
?CCL11: PRINTI """You have failed in bringing back the Two; even had you brought one of them, I fear it would not be"
?CND9: PRINTI " enough,"" Astrix said. "
CALL1 PART-ONE-BAD-ENDING
RSTACK
.FUNCT TELL-WITH-COMMAS:ANY:1:1,TBL,CNT,OFF,OBJ
GET TBL,0 >CNT
SET 'OFF,1
?PRG1: PRINTC 32
GET TBL,OFF >OBJ
ICALL2 WPRINTD,OBJ
EQUAL? CNT,1 /TRUE
EQUAL? CNT,2 \?CCL7
PRINTI " and"
JUMP ?CND3
?CCL7: PRINTC 44
?CND3: DEC 'CNT
INC 'OFF
JUMP ?PRG1
.ENDSEG
.ENDI

403
common.zil Normal file
View file

@ -0,0 +1,403 @@
"COMMON for
JOURNEY
(c) Copyright 1988, 1989 Infocom, Inc. All Rights Reserved."
<BEGIN-SEGMENT 0>
<ROUTINE SKIP-BITE-FOREST ()
<TELL CR CR
"The warm afternoon air lifted our hearts, and we were soon marching
eastward again through the towering forest. Before long, we came upon
the shore of a great river." CR CR>
<TELL
"\"We are nearly there,\" Praxix said, gazing ahead at the Sunset
Mountain and the mysterious tower that stood precariously atop it.">
<MOVE-TO ,RIVER-2>>
<GLOBAL E-INBUF <ITABLE LEN 50>>
<GLOBAL E-LEXV <ITABLE LEN 100>>
<GLOBAL E-TEMP <ITABLE 50 0>>
<GLOBAL E-TEMP-LEN 0>
<ROUTINE MASSAGE-ELVISH (MAX "AUX" (TOFF 0) (IOFF 2) CHR)
<REPEAT ()
<COND (<L? <SET MAX <- .MAX 1>> 0>
<PUTB ,E-INBUF 1 <- .IOFF 2>>
<RTRUE>)
(T
<SET CHR <GETB ,E-TEMP .TOFF>>
<COND (<EQUAL? .CHR !\'> T)
(T
<COND (<AND <NOT <L? .CHR !\A>>
<NOT <G? .CHR !\Z>>>
<SET CHR <+ .CHR 32>>)
(<EQUAL? .CHR !\- !\,>
<SET CHR 32>)>
; "Lowercase for LEX"
<PUTB ,E-INBUF .IOFF .CHR>
<COND (<0? .TOFF>
; "But uppercase first letter ONLY in E-TEMP,
for later display."
<COND (<AND <G=? .CHR !\a>
<L=? .CHR !\z>>
<SET CHR <- .CHR 32>>)>)>
<PUTB ,E-TEMP .TOFF .CHR>
<SET IOFF <+ .IOFF 1>>)>
<SET TOFF <+ .TOFF 1>>)>>>
<ROUTINE READ-ELVISH ("OPTIONAL" (ACT ,TAG)
"AUX" (OFF 0) CHR LN (COL ,COMMAND-OBJECT-COLUMN)
TBL (CNT 0) MAX FG BG POS OLD-X (MAX-X 1000)
CUR-X)
<TURN-ON-CURSOR>
<CLEAR-FIELDS>
<PUTB ,E-LEXV 0 20>
<PUTB ,E-INBUF 0 50>
<COND (<NOT ,FWC-FLAG>
; "Don't let the loser type off the screen"
<SET MAX-X <- <LOWCORE HWRD> <TEXT-WIDTH "W">>>)>
<SET MAX <- <- ,SCREEN-WIDTH ,COMMAND-OBJECT-COLUMN> 2>>
<SELECT-SCREEN ,COMMAND-WINDOW>
<SET LN <- <+ ,COMMAND-START-LINE <PARTY-PCM .ACT>> 1>>
<GCURSET .LN ,CHR-COMMAND-COLUMN>
<PRINTI "says...">
<COND (<NOT ,FWC-FLAG>
<SET FG <WINGET -3 11>>
<SET BG <LSH .FG -8>>
<SET FG <ANDB .FG *377*>>)
;(<NOT ,FWC-FLAG>
<SET CHR <FONT 4>>)>
<GCURSET .LN .COL>
<COND (<NOT ,FWC-FLAG>
<CURGET ,CURGET-TABLE>
<SET POS <ZGET ,CURGET-TABLE 1>>
<SET CUR-X .POS>
<COLOR .BG .FG>
<ERASE ,COMMAND-WIDTH-PIX>)
(T
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .MAX>
<RETURN>)
(T
<PRINTC !\_>)>>
<GCURSET .LN .COL>)>
<SET TBL ,E-TEMP>
<REPEAT ()
<COND (<EQUAL? <SET CHR <INPUT 1>> 13>
<COND (<NOT ,FWC-FLAG>
<COLOR .FG .BG>
; "Make sure we don't leave any crap in the
right-hand column"
<CURSET <GPOS .LN ,CHRV> ,RIGHT-COLUMN-LEFT-EDGE>
<ERASE ,RIGHT-COLUMN-WIDTH>)
;(<NOT ,FWC-FLAG>
<SET CHR <FONT 1>>)>
<REFRESH-CHARACTER-COMMAND-AREA <- ,COMMAND-START-LINE 1>>
<TURN-OFF-CURSOR>
<SETG UPDATE-FLAG T>
<SELECT-SCREEN ,TEXT-WINDOW>
<COND (<ZERO? .OFF>
<RFALSE>)
(T
;"Do the change"
<MASSAGE-ELVISH .OFF>
<SETG E-TEMP-LEN .OFF>
<LEX ,E-INBUF ,E-LEXV>
<COND (<ZERO? <GETB ,E-LEXV 1>>
<RFALSE>)
(<EQUAL? .ACT ,PRAXIX ,BERGON>
<RTRUE>)
(T
<PARSE-ELVISH>
<RTRUE>)>)>)
(<EQUAL? .CHR ,DELETE-KEY ,BACK-SPACE ,LEFT-ARROW>
<COND (<ZERO? .OFF>
<SOUND 1>
<AGAIN>)
(<NOT ,FWC-FLAG>
<SET OFF <- .OFF 1>>
<COND (<0? .OFF>
<CURSET <GPOS .LN ,CHRV> .POS>
<SET CUR-X .POS>
<ERASE ,COMMAND-WIDTH-PIX>)
(T
<DIROUT 3 ,CENTER-TABLE>
<PRINTT .TBL .OFF>
<DIROUT -3>
;"Get width of what's now in buffer"
<SET OLD-X <+ .POS <LOWCORE TWID>>>
;"Hence OLD-X is new X position"
<CURSET <GPOS .LN ,CHRV> .OLD-X>
<COND (<L=? <- .CUR-X .OLD-X> 1>
<ERASE 2>)
(T
<ERASE <- .CUR-X .OLD-X>>)>
;"Hence erase a few pixels"
<SET CUR-X .OLD-X>)>)
(T
<GCURSET .LN .COL>
<PRINTC !\_>
<SET COL <- .COL 1>>
<GCURSET .LN .COL>
<PRINTC !\_>
<SET OFF <- .OFF 1>>
<GCURSET .LN .COL>)>)
(T
<COND (<OR <EQUAL? .OFF .MAX>
<BAD-ELVISH-CHARACTER? .CHR>
<AND <NOT ,FWC-FLAG>
<G=? .CUR-X .MAX-X>>>
<SOUND 1>
<AGAIN>)>
<PRINTC .CHR>
<PUTB .TBL .OFF .CHR>
<SET OFF <+ .OFF 1>>
<COND (,FWC-FLAG
<SET COL <+ .COL 1>>
<GCURSET .LN .COL>)
(T
<CURGET ,CURGET-TABLE>
<SET CUR-X <ZGET ,CURGET-TABLE 1>>)>)>>
;<COND (<NOT ,FWC-FLAG>
<SET CHR <FONT 1>>)>
<SELECT-SCREEN ,TEXT-WINDOW>
<RNUL>>
<ROUTINE BAD-ELVISH-CHARACTER? (CHR)
<COND (<AND <NOT <L? .CHR !\A>>
<NOT <G? .CHR !\Z>>>
<RFALSE>)
(<AND <NOT <L? .CHR !\a>>
<NOT <G? .CHR !\z>>>
<RFALSE>)
(<OR <EQUAL? .CHR 32 !\' !\->
<EQUAL? .CHR !\. !\, !\?>>
<RFALSE>)
(T
<RTRUE>)>>
<GLOBAL SPOKE-ELVISH <>>
<ROUTINE MAKE-TAG-SUBGROUP ("OPTIONAL" (STO <>))
<MAKE-SUBGROUP ,TAG>
<COND (.STO <SAVE-TAG-OBJECTS>)>
<TRAVEL-COMMANDS ,TAG ,EXAMINE-COMMAND>>
<ROUTINE RESTORE-TAG-OBJECTS ()
<REMOVE-ALL ,SAVED-TAG-OBJECTS ,INVENTORY>
<COND (<LOC ,TORCH> <UPDATE-REMOVE ,TORCH>)>
<RTRUE>>
<ROUTINE SAVE-TAG-OBJECTS ()
<REMOVE-ALL ,INVENTORY ,SAVED-TAG-OBJECTS>>
<OBJECT SAVED-TAG-OBJECTS>
<ROUTINE RESTORE-TAG-COMMANDS ()
<TRAVEL-COMMANDS ,TAG
,PICK-UP-COMMAND
,DROP-COMMAND
,INVENTORY-COMMAND>>
<ROUTINE N-DAY-TREK (NUM)
<NEXT-DAY .NUM>
<TELL
"The next morning, we started the long trek back to Astrix' Tower,
and I'm happy to report that we arrived there ">
<COND (<EQUAL? .NUM 1> <TELL "the next day">)
(T
<TELL <GET ,INT-STR .NUM>>
<TELL " days later">)>
<TELL " without serious incident." CR CR>
<RETURN-TO-ASTRIX-TOWER>>
<CONSTANT INT-STR
<LTABLE "one" "two" "three" "four" "five" "six" "seven" "eight" "nine">>
<ROUTINE RETURN-TO-ASTRIX-TOWER ("OPTIONAL" (FAIL <>)
"AUX" (CNT <+ ,PASS-1-STONES <STONE-COUNT>>))
<GRAPHIC ,G-ASTRIX>
<COND (.FAIL
<TELL "Astrix now looked grave.">)
(<FSET? ,STAIR-BOTTOM ,SEEN>
<TELL
"Astrix greeted us heartily when we returned. \"How has your journey
gone? What news have you found?\" he asked.">
<COND (<G? .CNT ,PASS-1-STONES>
<TELL CR CR
"We told him of our doings, and showed him the stone">
<COND (<G? <- .CNT ,PASS-1-STONES> 1>
<TELL "s">)>
<TELL " we had obtained." CR CR>
<COND (<EQUAL? .CNT 3>
<ASTRIX-SHOWS-STONE>
<RTRUE>)
(T
<TELL
" \"This is good,\" he said, but he looked disappointed.">)>)
(T
<TELL CR CR
"We told Astrix of our adventures, but he was evidently disappointed.">)>)>
<TELL
" \"I am afraid we will need the three Stones,\" he said, \"if we are to
defeat the Enemy.\"" CR CR>
<TELL
"\"Three stones?\" I said, quizzically, \"You said there were four
Sisters?\"">
<TELL CR CR
"\"And so there are,\" Astrix said, holding out a fiery red stone. \"This is
the Wizard Stone! I had hoped it would be of use in our war against the "
,BAD-GUY ".\"" CR CR>
<PART-ONE-BAD-ENDING>>
<ROUTINE PART-ONE-BAD-ENDING ("OPTIONAL" (ONE? <>))
<TELL
"\"I fear we are now without hope.">
<COND (.ONE? <TELL " The Anvil is beyond our grasp!">)>
<TELL
" Get back to your lands that you may join your families before the Storm
arrives!\"" CR CR>
<TELL
"And then, from the north, came a mocking laugh carried on an icy wind.
We covered our ears, but Astrix ran to his high balcony and cursed the "
,BAD-GUY " in the languages of old. But the laugh was not stilled;
and Astrix, overcome by a great madness, leapt from his great tower and
plunged to his death....">
<GRAPHIC ,G-ASTRIX-LEAPS>
<BAD-ENDING>>
<CONSTANT I-SIT-ALONE
"I often sit alone and think of those days; and I long to know what has
become of my many friends who have long since fled across the southern
seas. I do not know for whom I write this chronicle, yet it seems
best that it be told, for soon there will be none who can remember,
none who can dream of what was, and someday yet will be.">
<ROUTINE ENDING ()
<TELL "[The End]" CR>
<CLEAR-SUBGROUP>
<UPDATE-FCLEAR ,TAG ,SHADOW>
<SETG SUBGROUP-MODE T>
<MOVE-TO ,ENDING-ROOM>>
<ROOM ENDING-ROOM
(TRAVEL-COMMANDS QUIT-COMMAND RESTORE-COMMAND RESTART-COMMAND MUSINGS-COMMAND)
(ENTER
<EXECUTE ()
<COND (<NOT ,GAME-WON?>
<REMOVE-TRAVEL-COMMAND ,HERE ,GAME-COMMAND>)>
<COND (<AND <NOT ,GAME-WON?> <NOT <FIRST? ,HINTS>>>
<REMOVE-TRAVEL-COMMAND ,HERE ,MUSINGS-COMMAND>)>>)
(ACTION
<ACOND ()
(RESTORE
;"Don't go through V-CANCEL if fails..."
<V-RESTORE <>>)>)>
<GLOBAL KILLED-TBL <TABLE 0 0 0 0 0>>
<ROUTINE KILLED-OFF (CHR "AUX" TMP)
<PARTY-REMOVE .CHR>
<ADD-TO-LTABLE ,KILLED-TBL .CHR>>
<ROUTINE ASTRIX-SHOWS-STONE ()
<GRAPHIC <> ,G-FOUR-STONES ,BOTTOM-LEFT>
<UPDATE-FCLEAR ,WEBBA-MAP ,DONT-DROP>
<TELL
"As Astrix took the three stones, it seemed they were bathed in a warm red
light, as if from a glowing ember. \"I have some surprises of my own,\"
he said, and revealed to us the glowing Wizard Stone, which he had
long possessed. \"It is beautiful, is it not, " TAG "? Not since the day
it was cut from the living earth has such a sight been witnessed!\"" CR CR>
<COND (<AND <G? ,PARTY-MAX 3>
<IN-PARTY? ,BERGON>>
<TELL
"Astrix turned silent and stared into the glowing Stones. When, at last,
the trance was broken, he spoke again. \"The Two are revealed to me; one
lies deep within the earth, the other in an Elvish place - very old, and
long forgotten. More than that, I cannot say.\"" CR CR>
<COND (<EQUAL? ,PARTY-MAX 5>
<PARTY-REMOVE ,MINAR>
<TELL
"Minar now spoke. \"I am grateful that you have allowed me to journey with
you to this place,\" he began, \"but I must return now to the plains, for
there is much to be done. At the least, I shall report to the people on your
safe arrival at the Sunrise Tower! Good luck to you all; perhaps our paths
shall cross again.\" And, though we tried to persuade him otherwise, Minar
turned and left Astrix' high tower and started on the lonely road toward
home." CR CR>)>
<START-PART-TWO>)
(T
<TELL
"\"Yes, you have all done well, but perhaps not well enough, for you have lost
enough of your party that the search for the remaining Stones is pointless. For
it is told in Legend that Five shall unite the Six Stones which shall lead them
to the Anvil.\"" CR CR>
<PART-ONE-BAD-ENDING>)>>
<ROUTINE BAD-ENDING ()
<DIVIDER>
<TELL ,I-SIT-ALONE CR CR>
<ENDING>>
<ROUTINE PART-TWO-TOO-FEW ()
<TELL
"Only Praxix and I were left, and our only consolation was that the terrain
was familiar; we were only a few miles below the falls we had seen earlier on
our journey, not far from the Sunrise Mountain. And so we returned to Astrix;
his face was grim.">
<COND (<IN? ,SPIRIT-STONE ,INVENTORY>
;"??"
<TELL CR CR
"\"It is good that you have found the fifth Stone, but your party has been
devastated,\" he said. ">)>
<PART-ONE-BAD-ENDING>>
<ROUTINE PART-TWO-ENDING ()
<GRAPHIC ,G-ASTRIX>
<TELL CR CR
"Astrix, pleased at our return, sat impassively as we gave a detailed account
of our adventures. When we finished, he expressed his ">
<COND (<AND <IN? ,SPIRIT-STONE ,INVENTORY>
<IN? ,SIXTH-STONE ,INVENTORY>>
<TELL
"delight that we had found the Two stones." CR CR>
<COND (<L? ,PARTY-MAX 5>
<TELL
"\"But this is not enough,\" Astrix said. \"The last stone, the Anvil,
will be the most difficult to obtain, and the Legend says that the Five shall,
having united the Six Stones, be led to the Anvil. Alas that you have come so far
only to be defeated at the end!\"" CR CR>
<PART-ONE-BAD-ENDING T>)
(T
<TELL
"\"I believe, for the first time, that we may be able to end the Darkness
that comes from the north,\" Astrix said. \"The Sisters we have, and the
Two; one last task awaits you!\"" CR CR>
<MOVE-TO ,THREE-CONNECTOR>)>)
(T
<TELL "disappointment that we had not fared better." CR CR>
<COND (<OR <IN? ,SPIRIT-STONE ,INVENTORY>
<IN? ,SIXTH-STONE ,INVENTORY>>
<TELL
"\"You have done well to find even one of the Two, but I fear it is
not">)
(T
<TELL
"\"You have failed in bringing back the Two; even had you brought one of them,
I fear it would not be">)>
<TELL " enough,\" Astrix said. ">
<PART-ONE-BAD-ENDING>)>>
<ROUTINE TELL-WITH-COMMAS (TBL "AUX" (CNT <GET .TBL 0>) (OFF 1) OBJ)
<REPEAT ()
<TELL " ">
<SET OBJ <GET .TBL .OFF>>
<TELL D .OBJ>
<COND (<EQUAL? .CNT 1> <RETURN>)
(<EQUAL? .CNT 2>
<TELL " and">)
(T
<TELL ",">)>
<SET CNT <- .CNT 1>>
<SET OFF <+ .OFF 1>>>>

17
controls.zabstr Normal file
View file

@ -0,0 +1,17 @@
<BEGIN-SEGMENT 0>
<CONSTANT SERIAL 0>
<DEFINE-ROUTINE TELL-GAME-ID>
<CONSTANT INT-2E 2>
<CONSTANT INT-MAC 3>
<CONSTANT INT-AMIGA 4>
<CONSTANT INT-PC 6>
<CONSTANT INT-2C 9>
<CONSTANT INT-2GS 10>
<DEFINE-ROUTINE APPLE2?>
<CONSTANT MACHINES <LTABLE "Debugging" "Apple IIe" "Macintosh" "Amiga"
"Atari ST" "IBM" "Commodore 128" "Commodore 64" "Apple IIc" "Apple IIgs">>
<GLOBAL DONT-SCRIPT-INPUT <>>
<GLOBAL GRAPHICS-FLAG T>
<GLOBAL SCRIPTING-FLAG <>>
<GLOBAL DEBUG <>>

39
controls.zap Normal file
View file

@ -0,0 +1,39 @@
.SEGMENT "0"
.FUNCT TELL-GAME-ID:ANY:0:0,CNT
SET 'CNT,17
PICINF 0,PICINF-TBL /?BOGUS1
?BOGUS1: PRINTI "Release "
GET 0,1
BAND STACK,2047
PRINTN STACK
PRINTI " / Graphics "
GET PICINF-TBL,1
PRINTN STACK
PRINTI " / Serial number "
?PRG2: IGRTR? 'CNT,23 /?REP3
GETB 0,CNT
PRINTC STACK
JUMP ?PRG2
?REP3: PRINTI " / "
GETB 0,30
GET MACHINES,STACK
PRINT STACK
PRINTI " Interpreter version "
GETB 0,0
PRINTN STACK
PRINTC 46
GETB 0,31
PRINTN STACK
RTRUE
.FUNCT APPLE2?:ANY:0:0
EQUAL? INTERPRETER,INT-2E,INT-2C,INT-2GS /TRUE
RFALSE
.ENDSEG
.ENDI

53
controls.zil Normal file
View file

@ -0,0 +1,53 @@
"CONTROLS for
JOURNEY
(c) Copyright 1988 Infocom, Inc. All Rights Reserved."
<BEGIN-SEGMENT 0>
<CONSTANT SERIAL 0>
<ROUTINE TELL-GAME-ID ("AUX" (CNT 17))
<PICINF 0 ,PICINF-TBL>
<TELL "Release " N <BAND <GET 0 1> *3777*>
" / Graphics " N <ZGET ,PICINF-TBL 1>
" / Serial number ">
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> 23>
<RETURN>)
(T
<TELL C <GETB 0 .CNT>>)>>
<TELL " / ">
<TELL <GET ,MACHINES <LOWCORE INTID>> " Interpreter version "
N <LOWCORE (ZVERSION 0)> "." N <LOWCORE INTVR>>>
<CONSTANT INT-2E 2>
<CONSTANT INT-MAC 3>
<CONSTANT INT-AMIGA 4>
<CONSTANT INT-PC 6>
<CONSTANT INT-2C 9>
<CONSTANT INT-2GS 10>
<ROUTINE APPLE2? ()
<EQUAL? ,INTERPRETER ,INT-2E ,INT-2C ,INT-2GS>>
<CONSTANT MACHINES
<LTABLE "Debugging"
"Apple IIe"
"Macintosh"
"Amiga"
"Atari ST"
"IBM"
"Commodore 128"
"Commodore 64"
"Apple IIc"
"Apple IIgs">>
<GLOBAL DONT-SCRIPT-INPUT <>>
<GLOBAL GRAPHICS-FLAG T>
<GLOBAL SCRIPTING-FLAG <>>
<GLOBAL DEBUG <>>

370
dwarves.zabstr Normal file
View file

@ -0,0 +1,370 @@
<BEGIN-SEGMENT DWARVES>
<GLOBAL DWM-HERE 4>
<GLOBAL DWM-LOC1 6>
<GLOBAL DWM-LOC2 1>
<GLOBAL DWM-FACING 1>
<ROOM DWARF-MEETING-LOC (TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND
STAND-COMMAND) (FLAGS UNDERGROUND DANGEROUS DONT-SCOUT) (ENTER <EXECUTE () <
TELL CR CR> <SCENE ,DWARF-MEETING>>) (TEMP 0)>
<DEFINE-ROUTINE ANONF-86>
<ROOM CAVERN-1 (TRAVEL-COMMANDS PROCEED-COMMAND NUL-COMMAND NUL-COMMAND) (FLAGS
UNDERGROUND DONT-SCOUT) (ACTION <ACOND () (<EQUAL? ,ACTION ,PROCEED-COMMAND> <
UPDATE-MOVE ,STORY-TOWERS ,HURTH-STORIES> <MOVE-TO ,STAIR-BOTTOM #
ZLOCAL!-IZILCH STR?410>)>)>
<DEFINE-ROUTINE ANONF-87>
<OBJECT DWARF-MEETING (ACTION <EXECUTE ("AUX" DF (BK <>)) <COND (<EQUAL? ,
ACTION ,BACK-COMMAND> <SET BK #ZLOCAL!-IZILCH TRUE-VALUE> <SETG DWM-FACING <NOT
,DWM-FACING>> <SET ACTION ,PROCEED-COMMAND> <PRINTI
"We turned around and started slowly back in the opposite direction."> <CRLF> <
CRLF>)> <COND (<EQUAL? ,ACTION ,SCENE-START-COMMAND> <PRINTI
"As we slowly made our way down the forbidding passageway, Bergon signalled
us to stop."> <CRLF> <CRLF> <PRINTI
"\"Do you hear that?\" he asked, indicating some faint sound
from the gloom that lay before us."> <COND (<AND <EQUAL? ,KIDNAPPED ,MINAR> <
FSET? ,ESHER ,IN-PARTY> <NOT ,2ND-PASS>> <CRLF> <CRLF> <PRINTI
"\"Yes, and it's a trap, no doubt set for us by our friend Minar!\" scowled
Esher.">)> <RTRUE>) (<EQUAL? ,ACTION ,STAND-COMMAND> <SETG DWM-LOC1 <SUB ,
DWM-LOC1 1>> <SETG DWM-LOC2 <ADD ,DWM-LOC2 1>> <COND (<NOT <EQUAL? ,DWM-HERE ,
DWM-LOC1 ,DWM-LOC2>> <COND (<NOT <GETP ,HERE ,P?TEMP>> <PRINTI
"As we stood our ground, it seemed that sounds could be heard behind
us as well as in front of us."> <DWM-TRAPPED>) (T <SET DWM-LOC1 ,DWM-HERE> <
DWM-HEAR>)>) (T <DWM-HEAR>)>) (<EQUAL? ,ACTION ,PROCEED-COMMAND> <COND (<NOT .
BK> <COND (<NOT <QSET? ,HERE ,TRAPPED>> <PRINTI
"Increasingly apprehensive, we made our way slowly down the passage."> <CRLF> <
CRLF>) (T <PRINTI
"Reaching toward our weapons, we moved forward at a snail's pace; the
sounds grew louder and seemed to come from all around us!"> <CRLF> <CRLF>)>)> <
COND (,DWM-FACING <SETG DWM-HERE <ADD ,DWM-HERE 1>> <SETG DWM-LOC2 <ADD ,
DWM-LOC2 1>>) (T <SETG DWM-HERE <SUB ,DWM-HERE 1>> <SETG DWM-LOC1 <SUB ,
DWM-LOC1 1>>)> <DWM-HEAR>) (<AND <EQUAL? ,ACTION ,CAST-COMMAND> <EQUAL? ,
ACTION-OBJECT ,FAR-VISION-SPELL>> <COND (<ZERO? ,DWM-FACING> <SET DF <DIFF ,
DWM-LOC2 ,DWM-HERE>>) (T <SET DF <DIFF ,DWM-LOC1 ,DWM-HERE>>)> <CAST-FAR-VISION
#ZLOCAL!-IZILCH FALSE-VALUE> <CRLF> <CRLF> <PRINTI
"\"There!\" said Bergon, as the fireball cast its eerie light on
a group of shadowy figures not "> <COND (<EQUAL? .DF 2> <PRINTI "fifty">) (<
EQUAL? .DF 1> <PRINTI "twenty">)> <PRINTI " paces away.">) (<EQUAL? ,ACTION ,
COMBAT-COMMAND> <COND (,2ND-PASS <PRINTI
"Bergon, surprised by the aggressiveness of the Dwarves, drew
his sword, but we stayed his hand. \"Astrix said the Dwarves
were our allies,\" Praxix reminded him."> <REMOVE-PARTY-COMMAND ,COMBAT-COMMAND
> <REMOVE-PARTY-COMMAND ,RETREAT-COMMAND> <RTRUE>)> <PRINTI
"At Bergon's signal, we started to fight, but we were surrounded and
hopelessly outnumbered. We were at the Dwarves mercy, but their leader
spared our lives. Instead, he ordered us bound and blindfolded, and had
us marched us back to the gate at which we entered the cavern. The
heavy stone door closed behind us with a crash."> <HINT ,HINT-DWARVES> <FSET ,
DWARF-MEETING ,TRIED> <TRAVEL-COMMANDS ,CANYON-GATE ,PROCEED-COMMAND> <DWM-END
,CANYON-GATE>) (<EQUAL? ,ACTION ,RETREAT-COMMAND> <REMOVE-PARTY-COMMAND ,
RETREAT-COMMAND> <PRINTI
"We thought of trying to escape, but were completely surrounded. We
would either have to fight these Dwarves or parley with them.">) (<EQUAL? ,
ACTION ,PARLEY-COMMAND> <PRINTI
"Bergon sheathed his sword, and took a few small steps toward the Dwarf
leader."> <OPTION ,BERGON ,TELL-TRUTH-COMMAND ,LIE-COMMAND>) (<EQUAL? ,ACTION ,
TELL-TRUTH-COMMAND> <COND (,2ND-PASS <PRINTI
"\"We have journeyed here from the Sunrise Tower of Astrix, the Wizard.
He believes we may benefit in our struggle with the "> <PRINT ,BAD-GUY> <PRINTI
" by exploring
these caverns."> <COND (,KIDNAPPED <PRINTI
" We have faced many dangers on our journey, and just now one
of our party has disappeared near the gate at Bern i-Lav.">)> <PRINTI "\""> <
CRLF> <CRLF>) (T <PRINTI
"\"We journey eastward to the Tower of the Sunrise, in search of the Wizard
Astrix.\""> <CRLF> <CRLF> <PRINTI "\"You choose a most unusual route....\""> <
CRLF> <CRLF> <PRINTI
"\"We chose not this path. One of our party disappeared near the gate by
which we entered these caverns, and we have followed his trail to this
spot.\""> <CRLF> <CRLF>)> <COND (,KIDNAPPED <PRINTI
"There was a murmur in the ranks of the Dwarves, and their leader at
last held out a bloodied garment that belonged to "> <WPRINTD ,KIDNAPPED> <
PRINTI ". \"We found this a short while ago. If your friend has been taken by Orcs, your
best hope is that he is dead!\" He paused for a long moment."> <CRLF> <CRLF>)>
<DWM-ESCORT-OPTION>) (<EQUAL? ,ACTION ,LIE-COMMAND> <PRINTI
"\"We travel east to meet our friends at the port of Zan.\""> <CRLF> <CRLF> <
PRINTI "\"If you have friends in Zan, the worse for you!\" the Dwarves' leader
spat. \"It is an evil place, a den of thieves and assassins.\" His voice
had taken on an alarmingly belligerent tone, but he quickly regained his
composure and now spoke in a quieter, more thoughtful voice. \"Yet,\"
he said, \"you are not of Orcish blood, and it is possible that you are
not enemies of the Dwarves."> <CRLF> <CRLF> <PRINTI
"\"We do not kill in haste, as is now the fashion, but we cannot allow
you and your party to walk the halls of Reth a-Zar unescorted.\" His eyes
slowly passed over each of us, then he spoke as a judge passing sentence."> <
CRLF> <CRLF> <FSET ,DWARF-MEETING ,TRAPPED> <DWM-ESCORT-OPTION #ZLOCAL!-IZILCH
TRUE-VALUE>) (<EQUAL? ,ACTION ,GET-ADVICE-COMMAND> <FCLEAR ,HERE ,ADVISE> <COND
(<FSET? ,DWARF-MEETING ,SEEN> <PRINTI
"We conferred briefly to consider Agrith's offer. "> <COND (<AND <FSET? ,ESHER
,IN-PARTY> <EQUAL? ,MINAR ,KIDNAPPED> <NOT ,2ND-PASS>> <PRINTI
"With the exception of
Esher, who remained convinced that this was all a part of some sinister plan
concocted by Minar,">) (T <PRINTI "There was no dissention:">)> <PRINTI
" the group was united
in favoring acceptance.">) (<FSET? ,ESHER ,IN-PARTY> <PRINTI
"Bergon asked the group for advice, but only Esher answered.
\"If anyone cared about my advice, we wouldn't be on this 'adventure' in
this first place.\" He was in fine form, clearly demonstrating why nobody
cared about his advice.">)> <OPTION ,BERGON ,ACCEPT-COMMAND ,DECLINE-COMMAND>)
(<OR <AND <EQUAL? ,ACTION ,DECLINE-COMMAND> ,2ND-PASS> <EQUAL? ,ACTION ,
ACCEPT-COMMAND>> <COND (<EQUAL? ,ACTION ,DECLINE-COMMAND> <PRINTI
"Bergon thought to decline, feeling some distrust toward this unknown
people. Yet, Astrix felt certain that we should come here, and Bergon
was loath to disappoint him."> <CRLF> <CRLF>)> <PRINTI
"Bergon replied, \"You are most gracious, Agrith, and we would
be foolish indeed to decline your offer.\" Agrith bowed slightly, then
motioned to one of his men, who stepped forward. \"This is Hurth, one
of my sons. He shall be your guide through Reth a-Zar!\""> <CRLF> <CRLF> <
PRINTI "Agrith handed Hurth a flaming torch to help guide our way, and then the
two Dwarves embraced in their fashion. With a motion of his arm, Agrith
signalled the others to follow, and quietly he led them away into the
gloom of the cavern's depths."> <DWM-END ,CAVERN-1> <PARTY-ADD ,HURTH> <REMOVE
,TALE-DWARVES> <RTRUE>) (<EQUAL? ,ACTION ,DECLINE-COMMAND> <PRINTI
"Bergon declined Agrith's offer, saying \"Our concerns and yours are not
yet joined. We shall make our way alone.\""> <CRLF> <CRLF> <PRINTI
"And with that, Agrith's men escorted us out of the caverns; we never saw
the Dwarves again."> <TRAVEL-COMMANDS ,CANYON-GATE ,PROCEED-COMMAND> <DWM-END ,
CANYON-GATE>)>>)>
<DEFINE-ROUTINE ANONF-88>
<DEFINE-ROUTINE DWM-ESCORT-OPTION>
<DEFINE-ROUTINE DWM-END>
<DEFINE-ROUTINE DIFF>
<DEFINE-ROUTINE DWM-HEAR>
<DEFINE-ROUTINE DWM-TRAPPED>
<ROOM STAIR-BOTTOM (TRAVEL-COMMANDS PROCEED-COMMAND UP-COMMAND NUL-COMMAND) (
GRAPHIC G-D-STAIR-BOTTOM) (ENTER FSET-SEEN) (FLAGS UNDERGROUND DONT-SCOUT) (
ACTION <ACOND () (<EQUAL? ,ACTION ,UP-COMMAND> <PRINTI
"We climbed for hours as we made our way up the gently winding stair, then
paused for refreshment. It seemed the stairs would go on forever"> <COND (<
FSET? ,HURTH ,IN-PARTY> <PRINTI
", but
Hurth reassured us, saying, \"We are now at the half-way point to the
High Gate and the Tower of the Sunset!\"">) (T <PRINTI ".">)> <CRLF> <CRLF> <
COND (<FSET? ,HERE ,TRAPPED> <REMOVE-TRAVEL-COMMAND ,STAIR-JUNCTION ,
DOWN-COMMAND>)> <COND (<FSET? ,HURTH ,IN-PARTY> <PRINTI
"Hurth was right: a few hours later, we arrived at a junction of two
stairways. \"The stair to the left leads to the Tower of the Sunset;
the stair to the right leads to the High Gate,\" Hurth said. \"If
we intend to reach the Tower, we should start now. It is a much
longer climb.\"">) (T <PRINTI
"After climbing for a few hours more, we arrived at the junction
of two stairways; neither was marked.">)> <MOVE-TO ,STAIR-JUNCTION>) (<EQUAL? ,
ACTION ,PROCEED-COMMAND> <COND (<FSET? ,HURTH ,IN-PARTY> <PRINTI "With Hurth">)
(T <PRINTI "With "> <WPRINTD ,LEADER>)> <COND (<NOT ,STAIR-TO-PRISON?> <SET
STAIR-TO-PRISON? #ZLOCAL!-IZILCH TRUE-VALUE>) (T <FSET ,HERE ,TRAPPED> <
REMOVE-TRAVEL-COMMAND>)> <COND (<NOT <FSET? ,OUTSIDE-PRISON ,SEEN>> <PRINTI
" in the lead, we continued into the dark caverns. After
an hour's march, we came to a place in which a single word, in runes, was
carved into the stone.">) (T <PRINTI
" leading the way, we again marched to the spot at which runes were
carved into the stone.">)> <MOVE-TO ,OUTSIDE-PRISON>)>)>
<DEFINE-ROUTINE ANONF-89>
<BEGIN-SEGMENT ORC-FIGHT>
<ROOM ORC-FORK (TRAVEL-COMMANDS LEFT-COMMAND RIGHT-COMMAND NUL-COMMAND) (
GRAPHIC G-ORC-FORK) (FLAGS UNDERGROUND DANGEROUS) (ACTION <ACOND () (<EQUAL? ,
ACTION ,LEFT-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI
"As we moved down the left passage, we could hear sounds ahead. Hurth
waved for us to stop; then, he continued alone and reported that he
was certain that a gang of orcs were just beyond our sight."> <CRLF> <CRLF> <
UPDATE-FSET ,HERE ,DONT-SCOUT> <PRINTI
"\"The passage narrows ahead,\" he whispered. \"Perhaps one of us
could get through without being seen, but not more. Perhaps we should
explore the right-hand passage.\" We agreed, and silently returned to the fork."
>) (<EQUAL? ,ACTION ,SCOUT-COMMAND> <UPDATE-FSET ,HERE ,DONT-SCOUT> <FSET ,HERE
,SCOUTED> <REMOVE-TRAVEL-COMMAND ,HERE ,LEFT-COMMAND> <WPRINTD ,ACTOR> <PRINTI
" made his way down both corridors, then
returned. \"Both passages lead to the same place and the same group of
orcs,\" he said, \"but the right path is wider and will protect our
movements longer.\"">) (<EQUAL? ,ACTION ,RIGHT-COMMAND> <COND (<NOT <QSET? ,
HERE ,BLACK-MIX>> <PRINTI
"We moved silently down the passage, and found the meaning of the glowing
cavern wall. Not ten paces away, the cavern opened into a vestibule, in the
middle of which stood nine grotesque figures huddling around an open fire.
Bound and gagged on the floor nearby, unmoving, was "> <COND (,KIDNAPPED <
WPRINTD ,KIDNAPPED> <PRINTI "!"> <CRLF> <CRLF>) (T <PRINTI
"a badly beaten Dwarf!"> <CRLF> <CRLF>)> <PRINTI
"\"Cursed orcs!\" Hurth spat. \"Kirth en-Gilan!\"">) (T <PRINTI
"Again, we made our way to the edge of the orcs' cavern. This time, we
knew we had no alternative but to fight!"> <REMOVE-TRAVEL-COMMAND ,ORC-ANTE ,
BACK-COMMAND>)> <MOVE-TO ,ORC-ANTE>)>)>
<DEFINE-ROUTINE ANONF-90>
<GLOBAL KIDNAPPED <>>
<ROOM ORC-VESTIBULE (TRAVEL-COMMANDS RETURN-COMMAND NUL-COMMAND NUL-COMMAND) (
FLAGS ENCLOSED) (ACTION <ACOND () (<EQUAL? ,ACTION ,RETURN-COMMAND> <
REMOVE-TRAVEL-COMMAND ,OUTSIDE-PRISON ,ENTER-COMMAND> <COND (,KIDNAPPED <
WPRINTD ,KIDNAPPED> <PRINTI " was safe">) (T <PRINTI "We had saved the Dwarf">)
> <PRINTI ", but at what cost? I shuddered at our bad fortune and
dreaded the trials that were yet to come."> <CRLF> <CRLF> <PRINTI
"Bergon approached, and laid his hand on my shoulder. \"We must
put this behind us, "> <WPRINTTAG> <PRINTI
". Agrith grieves for Hurth and also for
his besieged people; we must not let either down.\" And taking
me by the arm, we left the field of battle."> <CRLF> <CRLF> <PRINTI
"As we passed the fork, Bergon noticed a device of some kind mounted on
the wall. \"Let's hope this opens the prison door,\" he said, and pressed it.
Moving quickly, we lowered ourselves back down into the prison, where, indeed,
the door stood open. And as we left, the door closed silently behind us."> <
MOVE-TO ,OUTSIDE-PRISON>)>)>
<DEFINE-ROUTINE ANONF-91>
<ROOM ORC-ANTE (TRAVEL-COMMANDS FIGHT-COMMAND BACK-COMMAND NUL-COMMAND) (
GRAPHIC G-ORC-ANTE) (FLAGS UNDERGROUND DANGEROUS ADVISE DONT-SCOUT) (ACTION <
ACOND () (<EQUAL? ,ACTION ,CAST-COMMAND> <UPDATE-FSET ,HERE ,DONT-CAST> <
UNUSE-ESSENCES> <PRINTI
"Praxix then got the screwy notion of casting some sort of spell, but Bergon
held him back."> <CRLF> <CRLF> <PRINTI
"\"Wait just a moment, Praxix,\" he said. \"We may yet have need for magic
here, but we have not yet determined how best to handle these orcs. Any premature
magical display would only serve to lessen our chances of surprising them
later.\"">) (<EQUAL? ,ACTION ,GET-ADVICE-COMMAND> <UPDATE-FCLEAR ,HERE ,ADVISE>
<PRINTI "There was little discussion; we would have to fight these orcs if
we were to save their captive. Hurth felt the most strongly, and I
suppose this was only natural."> <CRLF> <CRLF> <PRINTI
"\"We must fight, but we must be careful; the orcs are fierce fighters
and we are outnumbered,\" he said.">) (<EQUAL? ,ACTION ,FIGHT-COMMAND> <SET
OPPONENT ,ORCS> <SCENE ,ORC-FIGHT ,FIGHT-MODE> <NUL-PARTY-COMMAND ,
PARLEY-COMMAND> <PRINTI "Determined to rescue "> <COND (,KIDNAPPED <WPRINTD ,
KIDNAPPED>) (T <PRINTI "the Dwarf">)> <PRINTI
", we huddled to formulate a strategy.">) (<EQUAL? ,ACTION ,BACK-COMMAND> <
REMOVE-TRAVEL-COMMAND> <COND (<NOT <FSET? ,ORC-FORK ,DONT-SCOUT>> <PRINTI
"Uncertain of whether to risk attacking the orcs just then, we retreated
back to the fork."> <MOVE-TO ,ORC-FORK>) (T <PRINTI
"I suggested trying to save the orcs' captive by other means, but the others
resisted. \"I fear we must fight these orcs,\" Bergon said, reluctantly. \"There
is no other way.\"">)>)>)>
<DEFINE-ROUTINE ANONF-92>
<GLOBAL ORC-FIGHT-SPELL <>>
<OBJECT ORCS (LOC ORC-ANTE) (FLAGS DONT-TAKE) (SDESC "orcs") (KBD 79) (ATTACK
170 80) (STATUS 100) (RETREAT 40) (SPECIAL-ACTION <EXECUTE () <TELL CR
"The orcs, overwhelmed, now tried to withdraw, but we killed them all save
two who ran from the area, with Hurth in hot pursuit. We freed "> <COND (,
KIDNAPPED <WPRINTD ,KIDNAPPED> <PARTY-CHANGE ,HURTH ,KIDNAPPED>) (T <
PARTY-REMOVE ,HURTH> <PRINTI "the Dwarf">)> <TELL
" from
his bonds, and he told us how he was caught at unawares by the orcs who,
having easily subdued him, brought him here." CR CR> <TELL
"As we stood, tending to our wounds, a low, rumbling scream issued forth
from the passage used by the surviving orcs. We rushed down the passage
and found Hurth, slumped against the cold stone, bleeding from his
chest and head, surrounded by the bodies of the orcs who had waited
in ambush." CR CR> <COND (<FSET? ,ESHER ,IN-PARTY> <PRINTI
"Esher rushed to help, but finding Hurth's wounds beyond his talents,
he turned away dejectedly. ">)> <TELL
"From down the cavern, we heard the sounds of running feet; we had barely reached
for our weapons when Agrith and his party arrived." CR CR> <GRAPHIC ,
G-HURTH-DIES> <TELL
"\"The story here speaks for itself,\" he said gravely, and knelt
beside the broken body of Hurth, raising that proud head into his
arms. And then, as impossible as it sounds, the two Dwarves seemed to
speak. For a long moment, Agrith was silent, then he rose from the ground
and motioned to his men, who carried the lifeless body away." CR CR> <COND (<
FSET? ,DWARF-MEETING ,TRAPPED> <HINT ,HINT-DWARF-LIE> <PRINTI
"\"I believe you may be trusted,\" he said, \"but only so far. You are free to
walk these halls, but I must return to my people and prepare for the onslaught
that is to come.\"">) (T <UPDATE-MOVE ,DWARF-STONE ,INVENTORY> <PRINTI
"\"We have suffered enough in Azhur na-Brem. Tell Astrix this when
you see him, and show him this token. He will know what to do.\"
Agrith took a brown stone amulet from around his neck, and gave it
to Praxix. \"I must leave you now. May the earth give you speed.\"">)> <TELL
" He strode away, and we never saw him again."> <REMOVE-TRAVEL-COMMAND ,
OUTSIDE-PRISON ,ENTER-COMMAND> <REMOVE ,PRISON-RUNES> <MOVE-TO ,ORC-VESTIBULE>
<SCENE #ZLOCAL!-IZILCH FALSE-VALUE> <RTRUE>>) (ACTION <ACOND () (<EQUAL? ,
ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <WPRINTD ,ACTOR> <PRINTI
" counted nine orcs, each carrying brutal weapons. We were clearly
outnumbered, though we had the element of surprise.">)>)>
<DEFINE-ROUTINE ANONF-93>
<DEFINE-ROUTINE ANONF-94>
<OBJECT ORC-FIGHT (ACTION <ACOND ("AUX" ACT) (<EQUAL? ,ACTION ,
SCENE-START-COMMAND> <SET COMBAT-ROUND -1> <REMOVE-PARTY-COMMAND ,
RETREAT-COMMAND>) (<EQUAL? ,ACTION ,SCENE-END-COMMAND> <CLEAR-BUSY> <COND (<NOT
<FSET? ,HURTH ,IN-PARTY>> <FSET ,OUTSIDE-PRISON ,TRAPPED>)>) (<EQUAL? ,ACTION ,
COMBAT-RESULT-COMMAND> <COND (<ZERO? ,COMBAT-ROUND> <COND (<FSET? ,ORC-FIGHT ,
SEEN> <FSET ,HERE ,BLUE-MIX>)> <COND (<WINNING-OF?> <PRINTI
"The orcs, badly confused, started to fight in both directions. One
fell to the ground, head severed by a fierce blow from Bergon's
sword.">) (T <ADD-PARTY-COMMAND ,RETREAT-COMMAND> <CHANGE-CIT ,BERGON 1 ,
NUL-COMMAND> <CHECK-ORC-FIGHT-SPELL> <COND (<FSET? ,ORC-FIGHT ,DEAD> <CRLF> <
CRLF>)> <PRINTI "It was clear from the outset that our chances were not good; the orcs
were powerful fighters, and utterly fearless. Bergon was hit almost
at once by the side of a battle axe, but continued to fight in
spite of his wounds."> <MAKE-BUSY ,BERGON ,ILL-COMMAND> <COND (<OR <FSET? ,
ORC-FIGHT ,DEAD> <FSET? ,HERE ,BLUE-MIX>> <CRLF> <CRLF> <PRINTI "No doubt, "> <
COND (<FSET? ,ORC-FIGHT ,DEAD> <PRINTI "the mud had slowed down">) (T <PRINTI
"our two-pronged attack confused">)> <PRINTI
" the orcs somewhat, or the result
would have been even worse than appeared likely."> <COND (<FSET? ,HERE ,
BLUE-MIX> <PRINTI
" But the orcs, whose movements were quicker and more agile than we had expected,
recovered swiftly, and several of them now moved toward our flanking comrade.">
)>)> <RTRUE>)>) (<EQUAL? ,COMBAT-ROUND 1> <COND (<WINNING-OF?> <PRINTI
"Try as they might, the orcs could not recover from our two-pronged
attack, especially considering the sloppy impediment that Praxix had thrown in
their way. Another two were down, and except for a few scratches, our party
was unscathed and greatly emboldened by our success.">) (<AND <FSET? ,ORC-FIGHT
,SEEN> <NOT <FSET? ,HERE ,BLUE-MIX>>> <MAKE-BUSY ,PRAXIX ,ILL-COMMAND> <PRINTI
"Our change in tactics turned out only partially successful, for Praxix was
now slightly wounded, and it became more difficult to take proper advantage of
the confusion we had caused. One orc was down, slashed in the throat by
a deadly thrust from Hurth's sword, but the others fought with
undiminished zeal.">) (T <MAKE-BUSY ,PRAXIX ,ILL-COMMAND> <PRINTI
"Our attempts to parry the orcs' blows were failing, and soon each
of us was at least slightly wounded, making the orcs' weapons ever more
punishing. In our exasperation, we were barely able to do any damage ourselves;
the fight would soon be lost!">)>) (T <PUTP ,ORCS ,P?RETREAT 100> <PRINTI
"The victory would soon be ours; the remaining orcs were badly hurt and,
slowed down by the muck beneath their feet, their confidence was wavering.
Hurth struck down yet another with a mighty blow of his sword as those remaining
began to retreat toward the far side of the chamber.">)> <RTRUE>) (<EQUAL? ,
ACTION ,CAST-COMMAND> <MAKE-BUSY ,PRAXIX> <COND (<GRTR? ,COMBAT-ROUND -1> <
PRINTI "Praxix, between blows, hoped to prepare a \""> <WPRINTD ,ACTION-OBJECT>
<PRINTI "\" spell, but it didn't
appear he would get the chance to complete it.">) (T <SET ORC-FIGHT-SPELL ,
ACTION-OBJECT> <COND (<FSET? ,ORC-FIGHT ,SEEN> <PRINTI
"Now that the fight had begun, Praxix hastily grabbed for his pouch and
started to prepare some sort of spell. As he fumbled with his powders for an
excruciatingly long moment, I felt sure he would never complete it in time to
be of any usefulness."> <CHECK-ORC-FIGHT-SPELL #ZLOCAL!-IZILCH TRUE-VALUE> <
RTRUE>) (T <PRINTI
"With the thought of using magic in our fight with the orcs, Praxix started
removing some of his magical powders in the preparation of some sort of spell."
>)>)>) (<OR <EQUAL? ,ACTION ,RETREAT-COMMAND> <AND <EQUAL? ,ACTION ,
COMBAT-COMMAND> <EQUAL? ,COMBAT-ROUND 1> <NOT <WINNING-OF?>>>> <COND (,
KIDNAPPED <HINT ,HINT-ORC-FIGHT>)> <END-COMBAT #ZLOCAL!-IZILCH FALSE-VALUE> <
PRINTI "We tried to continue the fight, but we were losing badly. Bergon,
fearing our complete destruction at the hands of the orcs, led us
into a retreat."> <CRLF> <CRLF> <PRINTI
"As we passed the fork, Hurth noticed a device of some kind mounted on
the wall with some runes above it. \"Opens the prison door, but only
for a brief time,\" he said, and pressed it. Using
the rope to lower ourselves back down into the prison, we hurried
through the closing door."> <CRLF> <CRLF> <PRINTI
"And as the door of cold stone slammed shut behind us, a terrifying scream
could be heard from inside the prison."> <COND (,KIDNAPPED <PRINTI
" I turned to Bergon and mouthed
the name \""> <WPRINTD ,KIDNAPPED> <PRINTI
"\"; we stood there in silence, but heard no more.">) (T <CRLF> <CRLF> <PRINTI
"\"The orcs do not keep prisoners,\" Hurth said, \"Let us hurry.\"">)> <FSET ,
OUTSIDE-PRISON ,TRAPPED> <MOVE-TO ,OUTSIDE-PRISON>) (<AND <EQUAL? ,ACTION ,
FLANK-COMMAND> <NOT <FSET? ,ORC-FIGHT ,SEEN>>> <COND (<EQUAL? ,ACTOR ,BERGON> <
SET FLANK-ACTOR ,BERGON> <CHANGE-CIT ,HURTH 1 ,NUL-COMMAND>) (T <SET
FLANK-ACTOR ,HURTH> <COND (<NOT <FSET? ,BERGON ,BUSY>> <CHANGE-CIT ,BERGON 1 ,
NUL-COMMAND>)>)> <SET SMART-DEFAULT-FLAG #ZLOCAL!-IZILCH TRUE-VALUE> <MAKE-BUSY
,FLANK-ACTOR ,GONE-COMMAND> <FSET ,ORC-FIGHT ,SEEN> <COND (<EQUAL? ,
COMBAT-ROUND -1> <PRINTI "Our best chance was to surprise the orcs, so "> <
WPRINTD ,FLANK-ACTOR> <PRINTI
" slipped away
to find a spot behind their lines. We waited a seeming eternity, and then,
with a heart-stopping scream, "> <WPRINTD ,FLANK-ACTOR> <PRINTI
" charged at them; we held back
long enough to take the orcs entirely by surprise."> <CHECK-ORC-FIGHT-SPELL #
ZLOCAL!-IZILCH TRUE-VALUE>) (<NOT <QSET? ,ORC-FIGHT ,BUSY>> <PRINTI
"The fight was not going well, and "> <WPRINTD ,FLANK-ACTOR> <PRINTI
" decided to try to flank
the orcs. But in the meantime, we were now fighting outnumbered, outclassed,
and badly hurt!">)>) (<AND <EQUAL? ,ACTION ,COMBAT-COMMAND> <FSET? ,ORC-FIGHT ,
BUSY>> <FSET ,ORC-FIGHT ,BLUE-MIX> <FCLEAR ,ORC-FIGHT ,BUSY> <PRINTI
"With a heart-stopping scream, "> <WPRINTD ,FLANK-ACTOR> <PRINTI
" charged the orcs from behind,
momentarily taking them by surprise.">)>)>
<DEFINE-ROUTINE ANONF-95>
<DEFINE-ROUTINE WINNING-OF?>
<DEFINE-ROUTINE CHECK-ORC-FIGHT-SPELL>
<GLOBAL FLANK-ACTOR <>>

626
dwarves.zap Normal file
View file

@ -0,0 +1,626 @@
.SEGMENT "DWARVES"
.FUNCT ANONF-86:ANY:0:0
CRLF
CRLF
CALL2 SCENE,DWARF-MEETING
RSTACK
.FUNCT ANONF-87:ANY:0:0
EQUAL? ACTION,PROCEED-COMMAND \FALSE
ICALL UPDATE-MOVE,STORY-TOWERS,HURTH-STORIES
CALL MOVE-TO,STAIR-BOTTOM,STR?410
RSTACK
.FUNCT ANONF-88:ANY:0:0,DF,BK
EQUAL? ACTION,BACK-COMMAND \?CND1
SET 'BK,TRUE-VALUE
ZERO? DWM-FACING /?PRT3
SET 'DWM-FACING,0
JUMP ?PRE5
?PRT3: SET 'DWM-FACING,1
?PRE5: SET 'ACTION,PROCEED-COMMAND
PRINTI "We turned around and started slowly back in the opposite direction."
CRLF
CRLF
?CND1: EQUAL? ACTION,SCENE-START-COMMAND \?CCL8
PRINTI "As we slowly made our way down the forbidding passageway, Bergon signalled us to stop."
CRLF
CRLF
PRINTI """Do you hear that?"" he asked, indicating some faint sound from the gloom that lay before us."
EQUAL? KIDNAPPED,MINAR \TRUE
FSET? ESHER,IN-PARTY \TRUE
ZERO? 2ND-PASS \TRUE
CRLF
CRLF
PRINTI """Yes, and it's a trap, no doubt set for us by our friend Minar!"" scowled Esher."
RTRUE
?CCL8: EQUAL? ACTION,STAND-COMMAND \?CCL15
DEC 'DWM-LOC1
INC 'DWM-LOC2
EQUAL? DWM-HERE,DWM-LOC1,DWM-LOC2 /?CCL18
GETP HERE,P?TEMP
ZERO? STACK \?CCL21
PRINTI "As we stood our ground, it seemed that sounds could be heard behind us as well as in front of us."
CALL1 DWM-TRAPPED
RSTACK
?CCL21: SET 'DWM-LOC1,DWM-HERE
CALL1 DWM-HEAR
RSTACK
?CCL18: CALL1 DWM-HEAR
RSTACK
?CCL15: EQUAL? ACTION,PROCEED-COMMAND \?CCL23
ZERO? BK \?CND24
CALL QSET?,HERE,TRAPPED
ZERO? STACK \?CCL28
PRINTI "Increasingly apprehensive, we made our way slowly down the passage."
CRLF
CRLF
JUMP ?CND24
?CCL28: PRINTI "Reaching toward our weapons, we moved forward at a snail's pace; the sounds grew louder and seemed to come from all around us!"
CRLF
CRLF
?CND24: ZERO? DWM-FACING /?CCL31
INC 'DWM-HERE
INC 'DWM-LOC2
JUMP ?CND29
?CCL31: DEC 'DWM-HERE
DEC 'DWM-LOC1
?CND29: CALL1 DWM-HEAR
RSTACK
?CCL23: EQUAL? ACTION,CAST-COMMAND \?CCL33
EQUAL? ACTION-OBJECT,FAR-VISION-SPELL \?CCL33
ZERO? DWM-FACING \?CCL38
CALL DIFF,DWM-LOC2,DWM-HERE >DF
JUMP ?CND36
?CCL38: CALL DIFF,DWM-LOC1,DWM-HERE >DF
?CND36: ICALL2 CAST-FAR-VISION,FALSE-VALUE
CRLF
CRLF
PRINTI """There!"" said Bergon, as the fireball cast its eerie light on a group of shadowy figures not "
EQUAL? DF,2 \?CCL41
PRINTI "fifty"
JUMP ?CND39
?CCL41: EQUAL? DF,1 \?CND39
PRINTI "twenty"
?CND39: PRINTI " paces away."
RTRUE
?CCL33: EQUAL? ACTION,COMBAT-COMMAND \?CCL44
ZERO? 2ND-PASS /?CND45
PRINTI "Bergon, surprised by the aggressiveness of the Dwarves, drew his sword, but we stayed his hand. ""Astrix said the Dwarves were our allies,"" Praxix reminded him."
ICALL2 REMOVE-PARTY-COMMAND,COMBAT-COMMAND
ICALL2 REMOVE-PARTY-COMMAND,RETREAT-COMMAND
RTRUE
?CND45: PRINTI "At Bergon's signal, we started to fight, but we were surrounded and hopelessly outnumbered. We were at the Dwarves mercy, but their leader spared our lives. Instead, he ordered us bound and blindfolded, and had us marched us back to the gate at which we entered the cavern. The heavy stone door closed behind us with a crash."
ICALL2 HINT,HINT-DWARVES
FSET DWARF-MEETING,TRIED
ICALL TRAVEL-COMMANDS,CANYON-GATE,PROCEED-COMMAND
CALL2 DWM-END,CANYON-GATE
RSTACK
?CCL44: EQUAL? ACTION,RETREAT-COMMAND \?CCL48
ICALL2 REMOVE-PARTY-COMMAND,RETREAT-COMMAND
PRINTI "We thought of trying to escape, but were completely surrounded. We would either have to fight these Dwarves or parley with them."
RTRUE
?CCL48: EQUAL? ACTION,PARLEY-COMMAND \?CCL50
PRINTI "Bergon sheathed his sword, and took a few small steps toward the Dwarf leader."
CALL OPTION,BERGON,TELL-TRUTH-COMMAND,LIE-COMMAND
RSTACK
?CCL50: EQUAL? ACTION,TELL-TRUTH-COMMAND \?CCL52
ZERO? 2ND-PASS /?CCL55
PRINTI """We have journeyed here from the Sunrise Tower of Astrix, the Wizard. He believes we may benefit in our struggle with the "
PRINT BAD-GUY
PRINTI " by exploring these caverns."
ZERO? KIDNAPPED /?CND56
PRINTI " We have faced many dangers on our journey, and just now one of our party has disappeared near the gate at Bern i-Lav."
?CND56: PRINTC 34
CRLF
CRLF
JUMP ?CND53
?CCL55: PRINTI """We journey eastward to the Tower of the Sunrise, in search of the Wizard Astrix."""
CRLF
CRLF
PRINTI """You choose a most unusual route...."""
CRLF
CRLF
PRINTI """We chose not this path. One of our party disappeared near the gate by which we entered these caverns, and we have followed his trail to this spot."""
CRLF
CRLF
?CND53: ZERO? KIDNAPPED /?CND58
PRINTI "There was a murmur in the ranks of the Dwarves, and their leader at last held out a bloodied garment that belonged to "
ICALL2 WPRINTD,KIDNAPPED
PRINTI ". ""We found this a short while ago. If your friend has been taken by Orcs, your best hope is that he is dead!"" He paused for a long moment."
CRLF
CRLF
?CND58: CALL1 DWM-ESCORT-OPTION
RSTACK
?CCL52: EQUAL? ACTION,LIE-COMMAND \?CCL61
PRINTI """We travel east to meet our friends at the port of Zan."""
CRLF
CRLF
PRINTI """If you have friends in Zan, the worse for you!"" the Dwarves' leader spat. ""It is an evil place, a den of thieves and assassins."" His voice had taken on an alarmingly belligerent tone, but he quickly regained his composure and now spoke in a quieter, more thoughtful voice. ""Yet,"" he said, ""you are not of Orcish blood, and it is possible that you are not enemies of the Dwarves."
CRLF
CRLF
PRINTI """We do not kill in haste, as is now the fashion, but we cannot allow you and your party to walk the halls of Reth a-Zar unescorted."" His eyes slowly passed over each of us, then he spoke as a judge passing sentence."
CRLF
CRLF
FSET DWARF-MEETING,TRAPPED
CALL2 DWM-ESCORT-OPTION,TRUE-VALUE
RSTACK
?CCL61: EQUAL? ACTION,GET-ADVICE-COMMAND \?CCL63
FCLEAR HERE,ADVISE
FSET? DWARF-MEETING,SEEN \?CCL66
PRINTI "We conferred briefly to consider Agrith's offer. "
FSET? ESHER,IN-PARTY \?CCL69
EQUAL? MINAR,KIDNAPPED \?CCL69
ZERO? 2ND-PASS \?CCL69
PRINTI "With the exception of Esher, who remained convinced that this was all a part of some sinister plan concocted by Minar,"
JUMP ?CND67
?CCL69: PRINTI "There was no dissention:"
?CND67: PRINTI " the group was united in favoring acceptance."
JUMP ?CND64
?CCL66: FSET? ESHER,IN-PARTY \?CND64
PRINTI "Bergon asked the group for advice, but only Esher answered. ""If anyone cared about my advice, we wouldn't be on this 'adventure' in this first place."" He was in fine form, clearly demonstrating why nobody cared about his advice."
?CND64: CALL OPTION,BERGON,ACCEPT-COMMAND,DECLINE-COMMAND
RSTACK
?CCL63: EQUAL? ACTION,DECLINE-COMMAND \?PRD77
ZERO? 2ND-PASS \?CTR74
?PRD77: EQUAL? ACTION,ACCEPT-COMMAND \?CCL75
?CTR74: EQUAL? ACTION,DECLINE-COMMAND \?CND80
PRINTI "Bergon thought to decline, feeling some distrust toward this unknown people. Yet, Astrix felt certain that we should come here, and Bergon was loath to disappoint him."
CRLF
CRLF
?CND80: PRINTI "Bergon replied, ""You are most gracious, Agrith, and we would be foolish indeed to decline your offer."" Agrith bowed slightly, then motioned to one of his men, who stepped forward. ""This is Hurth, one of my sons. He shall be your guide through Reth a-Zar!"""
CRLF
CRLF
PRINTI "Agrith handed Hurth a flaming torch to help guide our way, and then the two Dwarves embraced in their fashion. With a motion of his arm, Agrith signalled the others to follow, and quietly he led them away into the gloom of the cavern's depths."
ICALL2 DWM-END,CAVERN-1
ICALL2 PARTY-ADD,HURTH
REMOVE TALE-DWARVES
RTRUE
?CCL75: EQUAL? ACTION,DECLINE-COMMAND \FALSE
PRINTI "Bergon declined Agrith's offer, saying ""Our concerns and yours are not yet joined. We shall make our way alone."""
CRLF
CRLF
PRINTI "And with that, Agrith's men escorted us out of the caverns; we never saw the Dwarves again."
ICALL TRAVEL-COMMANDS,CANYON-GATE,PROCEED-COMMAND
CALL2 DWM-END,CANYON-GATE
RSTACK
.FUNCT DWM-ESCORT-OPTION:ANY:0:1,FOO
ZERO? 2ND-PASS /?CCL3
ZERO? FOO \?CCL3
PRINTI """I do not know what purpose Astrix has in mind, but I grant you this option,"" Agrith said. ""Continue freely through these halls with our chosen escort, or leave at once! Choose now!"""
JUMP ?CND1
?CCL3: PRINTI """I, Agrith, speaking for the Dwarves, grant you this option: to continue on your way with our chosen escort, or to leave these halls at once. Choose now!"""
?CND1: ICALL OPTION,BERGON,ACCEPT-COMMAND,DECLINE-COMMAND,GET-ADVICE-COMMAND
RTRUE
.FUNCT DWM-END:ANY:1:1,RM
ICALL1 END-OPTION
ICALL2 SCENE,FALSE-VALUE
CALL2 MOVE-TO,RM
RSTACK
.FUNCT DIFF:ANY:2:2,N1,N2
GRTR? N1,N2 \?CCL3
SUB N1,N2
RSTACK
?CCL3: SUB N2,N1
RSTACK
.FUNCT DWM-HEAR:ANY:0:0,DL,DIF,DF1,DF2,SURR
CALL DIFF,DWM-LOC1,DWM-HERE >DF1
CALL DIFF,DWM-LOC2,DWM-HERE >DF2
GRTR? DF2,DF1 \?CCL3
SET 'DL,DWM-LOC1
SET 'DIF,DF1
JUMP ?CND1
?CCL3: SET 'DL,DWM-LOC2
SET 'DIF,DF2
SET 'SURR,TRUE-VALUE
?CND1: ZERO? DIF \?CND4
ICALL2 GRAPHIC,G-DWARVES
FSET DWARF-MEETING,SEEN
ICALL UPDATE-FSET,DWARF-MEETING,DONT-CAST
PRINTI "Our assailants had finally arrived; Dwarves they were, and heavily armed. We joined in a tight circle, weapons drawn, and waited for the onslaught. But they did not attack; rather, their leader, somewhat taller and having about him an air of superiority, strode forward."
CRLF
CRLF
PRINTI """What business have you here in Reth a-Zar?"" he demanded. ""Come, speak quickly, for we have no patience with strangers!"""
FSET? TALE-RETH-A-ZAR,EXAMINED /?CND6
PRINTI " Under his breath, Praxix repeated the strange words - 'Reth a-Zar'; they held some great meaning for our Wizard-friend, but for us they spoke only of hopelessness and despair."
?CND6: FSET? TALE-RETH-A-ZAR,EXAMINED /?CND8
ICALL UPDATE-MOVE,TALE-RETH-A-ZAR,PRAXIX-TALES
?CND8: ICALL2 MODE,FIGHT-MODE
ICALL1 PRINT-CHARACTER-COMMANDS
ICALL CHANGE-CIT,BERGON,1,NUL-COMMAND
SET 'OPPONENT,DWARVES
SET 'COMBAT-ROUND,-1
RTRUE
?CND4: GRTR? DL,DWM-HERE \?PRD14
ZERO? DWM-FACING \?CTR11
?PRD14: LESS? DL,DWM-HERE \?CCL12
ZERO? DWM-FACING \?CCL12
?CTR11: PRINTI "Ahead of"
JUMP ?CND10
?CCL12: PRINTI "From somewhere behind"
?CND10: PRINTI " us, we could "
EQUAL? DIF,2 \?CND19
PRINTI "barely "
?CND19: PRINTI "make out muffled noises which were coming nearer with each passing moment."
ZERO? SURR /TRUE
GETP HERE,P?TEMP
ZERO? STACK \TRUE
ICALL1 DWM-TRAPPED
RTRUE
.FUNCT DWM-TRAPPED:ANY:0:0
PUTP HERE,P?TEMP,TRUE-VALUE
CRLF
CRLF
PRINTI """They come from both sides. We are trapped!"" said Bergon, verbalizing that which we had long since feared. Each of us reached for his weapon, knowing battle to be near at hand."
RTRUE
.FUNCT ANONF-89:ANY:0:0
EQUAL? ACTION,UP-COMMAND \?CCL3
PRINTI "We climbed for hours as we made our way up the gently winding stair, then paused for refreshment. It seemed the stairs would go on forever"
FSET? HURTH,IN-PARTY \?CCL6
PRINTI ", but Hurth reassured us, saying, ""We are now at the half-way point to the High Gate and the Tower of the Sunset!"""
JUMP ?CND4
?CCL6: PRINTC 46
?CND4: CRLF
CRLF
FSET? HERE,TRAPPED \?CND7
ICALL REMOVE-TRAVEL-COMMAND,STAIR-JUNCTION,DOWN-COMMAND
?CND7: FSET? HURTH,IN-PARTY \?CCL11
PRINTI "Hurth was right: a few hours later, we arrived at a junction of two stairways. ""The stair to the left leads to the Tower of the Sunset; the stair to the right leads to the High Gate,"" Hurth said. ""If we intend to reach the Tower, we should start now. It is a much longer climb."""
JUMP ?CND9
?CCL11: PRINTI "After climbing for a few hours more, we arrived at the junction of two stairways; neither was marked."
?CND9: CALL2 MOVE-TO,STAIR-JUNCTION
RSTACK
?CCL3: EQUAL? ACTION,PROCEED-COMMAND \FALSE
FSET? HURTH,IN-PARTY \?CCL16
PRINTI "With Hurth"
JUMP ?CND14
?CCL16: PRINTI "With "
ICALL2 WPRINTD,LEADER
?CND14: ZERO? STAIR-TO-PRISON? \?CCL19
SET 'STAIR-TO-PRISON?,TRUE-VALUE
JUMP ?CND17
?CCL19: FSET HERE,TRAPPED
ICALL1 REMOVE-TRAVEL-COMMAND
?CND17: FSET? OUTSIDE-PRISON,SEEN /?CCL22
PRINTI " in the lead, we continued into the dark caverns. After an hour's march, we came to a place in which a single word, in runes, was carved into the stone."
JUMP ?CND20
?CCL22: PRINTI " leading the way, we again marched to the spot at which runes were carved into the stone."
?CND20: CALL2 MOVE-TO,OUTSIDE-PRISON
RSTACK
.SEGMENT "ORC-FIGHT"
.FUNCT ANONF-90:ANY:0:0
EQUAL? ACTION,LEFT-COMMAND \?CCL3
ICALL1 REMOVE-TRAVEL-COMMAND
PRINTI "As we moved down the left passage, we could hear sounds ahead. Hurth waved for us to stop; then, he continued alone and reported that he was certain that a gang of orcs were just beyond our sight."
CRLF
CRLF
ICALL UPDATE-FSET,HERE,DONT-SCOUT
PRINTI """The passage narrows ahead,"" he whispered. ""Perhaps one of us could get through without being seen, but not more. Perhaps we should explore the right-hand passage."" We agreed, and silently returned to the fork."
RTRUE
?CCL3: EQUAL? ACTION,SCOUT-COMMAND \?CCL5
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
ICALL REMOVE-TRAVEL-COMMAND,HERE,LEFT-COMMAND
ICALL2 WPRINTD,ACTOR
PRINTI " made his way down both corridors, then returned. ""Both passages lead to the same place and the same group of orcs,"" he said, ""but the right path is wider and will protect our movements longer."""
RTRUE
?CCL5: EQUAL? ACTION,RIGHT-COMMAND \FALSE
CALL QSET?,HERE,BLACK-MIX
ZERO? STACK \?CCL10
PRINTI "We moved silently down the passage, and found the meaning of the glowing cavern wall. Not ten paces away, the cavern opened into a vestibule, in the middle of which stood nine grotesque figures huddling around an open fire. Bound and gagged on the floor nearby, unmoving, was "
ZERO? KIDNAPPED /?CCL13
ICALL2 WPRINTD,KIDNAPPED
PRINTC 33
CRLF
CRLF
JUMP ?CND11
?CCL13: PRINTI "a badly beaten Dwarf!"
CRLF
CRLF
?CND11: PRINTI """Cursed orcs!"" Hurth spat. ""Kirth en-Gilan!"""
JUMP ?CND8
?CCL10: PRINTI "Again, we made our way to the edge of the orcs' cavern. This time, we knew we had no alternative but to fight!"
ICALL REMOVE-TRAVEL-COMMAND,ORC-ANTE,BACK-COMMAND
?CND8: CALL2 MOVE-TO,ORC-ANTE
RSTACK
.FUNCT ANONF-91:ANY:0:0
EQUAL? ACTION,RETURN-COMMAND \FALSE
ICALL REMOVE-TRAVEL-COMMAND,OUTSIDE-PRISON,ENTER-COMMAND
ZERO? KIDNAPPED /?CCL6
ICALL2 WPRINTD,KIDNAPPED
PRINTI " was safe"
JUMP ?CND4
?CCL6: PRINTI "We had saved the Dwarf"
?CND4: PRINTI ", but at what cost? I shuddered at our bad fortune and dreaded the trials that were yet to come."
CRLF
CRLF
PRINTI "Bergon approached, and laid his hand on my shoulder. ""We must put this behind us, "
ICALL1 WPRINTTAG
PRINTI ". Agrith grieves for Hurth and also for his besieged people; we must not let either down."" And taking me by the arm, we left the field of battle."
CRLF
CRLF
PRINTI "As we passed the fork, Bergon noticed a device of some kind mounted on the wall. ""Let's hope this opens the prison door,"" he said, and pressed it. Moving quickly, we lowered ourselves back down into the prison, where, indeed, the door stood open. And as we left, the door closed silently behind us."
CALL2 MOVE-TO,OUTSIDE-PRISON
RSTACK
.FUNCT ANONF-92:ANY:0:0
EQUAL? ACTION,CAST-COMMAND \?CCL3
ICALL UPDATE-FSET,HERE,DONT-CAST
ICALL1 UNUSE-ESSENCES
PRINTI "Praxix then got the screwy notion of casting some sort of spell, but Bergon held him back."
CRLF
CRLF
PRINTI """Wait just a moment, Praxix,"" he said. ""We may yet have need for magic here, but we have not yet determined how best to handle these orcs. Any premature magical display would only serve to lessen our chances of surprising them later."""
RTRUE
?CCL3: EQUAL? ACTION,GET-ADVICE-COMMAND \?CCL5
ICALL UPDATE-FCLEAR,HERE,ADVISE
PRINTI "There was little discussion; we would have to fight these orcs if we were to save their captive. Hurth felt the most strongly, and I suppose this was only natural."
CRLF
CRLF
PRINTI """We must fight, but we must be careful; the orcs are fierce fighters and we are outnumbered,"" he said."
RTRUE
?CCL5: EQUAL? ACTION,FIGHT-COMMAND \?CCL7
SET 'OPPONENT,ORCS
ICALL SCENE,ORC-FIGHT,FIGHT-MODE
ICALL2 NUL-PARTY-COMMAND,PARLEY-COMMAND
PRINTI "Determined to rescue "
ZERO? KIDNAPPED /?CCL10
ICALL2 WPRINTD,KIDNAPPED
JUMP ?CND8
?CCL10: PRINTI "the Dwarf"
?CND8: PRINTI ", we huddled to formulate a strategy."
RTRUE
?CCL7: EQUAL? ACTION,BACK-COMMAND \FALSE
ICALL1 REMOVE-TRAVEL-COMMAND
FSET? ORC-FORK,DONT-SCOUT /?CCL15
PRINTI "Uncertain of whether to risk attacking the orcs just then, we retreated back to the fork."
CALL2 MOVE-TO,ORC-FORK
RSTACK
?CCL15: PRINTI "I suggested trying to save the orcs' captive by other means, but the others resisted. ""I fear we must fight these orcs,"" Bergon said, reluctantly. ""There is no other way."""
RTRUE
.FUNCT ANONF-93:ANY:0:0
CRLF
PRINTI "The orcs, overwhelmed, now tried to withdraw, but we killed them all save two who ran from the area, with Hurth in hot pursuit. We freed "
ZERO? KIDNAPPED /?CCL3
ICALL2 WPRINTD,KIDNAPPED
ICALL PARTY-CHANGE,HURTH,KIDNAPPED
JUMP ?CND1
?CCL3: ICALL2 PARTY-REMOVE,HURTH
PRINTI "the Dwarf"
?CND1: PRINTI " from his bonds, and he told us how he was caught at unawares by the orcs who, having easily subdued him, brought him here."
CRLF
CRLF
PRINTI "As we stood, tending to our wounds, a low, rumbling scream issued forth from the passage used by the surviving orcs. We rushed down the passage and found Hurth, slumped against the cold stone, bleeding from his chest and head, surrounded by the bodies of the orcs who had waited in ambush."
CRLF
CRLF
FSET? ESHER,IN-PARTY \?CND4
PRINTI "Esher rushed to help, but finding Hurth's wounds beyond his talents, he turned away dejectedly. "
?CND4: PRINTI "From down the cavern, we heard the sounds of running feet; we had barely reached for our weapons when Agrith and his party arrived."
CRLF
CRLF
ICALL2 GRAPHIC,G-HURTH-DIES
PRINTI """The story here speaks for itself,"" he said gravely, and knelt beside the broken body of Hurth, raising that proud head into his arms. And then, as impossible as it sounds, the two Dwarves seemed to speak. For a long moment, Agrith was silent, then he rose from the ground and motioned to his men, who carried the lifeless body away."
CRLF
CRLF
FSET? DWARF-MEETING,TRAPPED \?CCL8
ICALL2 HINT,HINT-DWARF-LIE
PRINTI """I believe you may be trusted,"" he said, ""but only so far. You are free to walk these halls, but I must return to my people and prepare for the onslaught that is to come."""
JUMP ?CND6
?CCL8: ICALL UPDATE-MOVE,DWARF-STONE,INVENTORY
PRINTI """We have suffered enough in Azhur na-Brem. Tell Astrix this when you see him, and show him this token. He will know what to do."" Agrith took a brown stone amulet from around his neck, and gave it to Praxix. ""I must leave you now. May the earth give you speed."""
?CND6: PRINTI " He strode away, and we never saw him again."
ICALL REMOVE-TRAVEL-COMMAND,OUTSIDE-PRISON,ENTER-COMMAND
REMOVE PRISON-RUNES
ICALL2 MOVE-TO,ORC-VESTIBULE
ICALL2 SCENE,FALSE-VALUE
RTRUE
.FUNCT ANONF-94:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL1 UPDATE-MOVE
ICALL2 WPRINTD,ACTOR
PRINTI " counted nine orcs, each carrying brutal weapons. We were clearly outnumbered, though we had the element of surprise."
RTRUE
.FUNCT ANONF-95:ANY:0:0,ACT
EQUAL? ACTION,SCENE-START-COMMAND \?CCL3
SET 'COMBAT-ROUND,-1
CALL2 REMOVE-PARTY-COMMAND,RETREAT-COMMAND
RSTACK
?CCL3: EQUAL? ACTION,SCENE-END-COMMAND \?CCL5
ICALL1 CLEAR-BUSY
FSET? HURTH,IN-PARTY /FALSE
FSET OUTSIDE-PRISON,TRAPPED
RTRUE
?CCL5: EQUAL? ACTION,COMBAT-RESULT-COMMAND \?CCL10
ZERO? COMBAT-ROUND \?CCL13
FSET? ORC-FIGHT,SEEN \?CND14
FSET HERE,BLUE-MIX
?CND14: CALL1 WINNING-OF?
ZERO? STACK /?CCL18
PRINTI "The orcs, badly confused, started to fight in both directions. One fell to the ground, head severed by a fierce blow from Bergon's sword."
RTRUE
?CCL18: ICALL2 ADD-PARTY-COMMAND,RETREAT-COMMAND
ICALL CHANGE-CIT,BERGON,1,NUL-COMMAND
ICALL1 CHECK-ORC-FIGHT-SPELL
FSET? ORC-FIGHT,DEAD \?CND19
CRLF
CRLF
?CND19: PRINTI "It was clear from the outset that our chances were not good; the orcs were powerful fighters, and utterly fearless. Bergon was hit almost at once by the side of a battle axe, but continued to fight in spite of his wounds."
ICALL MAKE-BUSY,BERGON,ILL-COMMAND
FSET? ORC-FIGHT,DEAD /?CCL22
FSET? HERE,BLUE-MIX \TRUE
?CCL22: CRLF
CRLF
PRINTI "No doubt, "
FSET? ORC-FIGHT,DEAD \?CCL27
PRINTI "the mud had slowed down"
JUMP ?CND25
?CCL27: PRINTI "our two-pronged attack confused"
?CND25: PRINTI " the orcs somewhat, or the result would have been even worse than appeared likely."
FSET? HERE,BLUE-MIX \TRUE
PRINTI " But the orcs, whose movements were quicker and more agile than we had expected, recovered swiftly, and several of them now moved toward our flanking comrade."
RTRUE
?CCL13: EQUAL? COMBAT-ROUND,1 \?CCL31
CALL1 WINNING-OF?
ZERO? STACK /?CCL34
PRINTI "Try as they might, the orcs could not recover from our two-pronged attack, especially considering the sloppy impediment that Praxix had thrown in their way. Another two were down, and except for a few scratches, our party was unscathed and greatly emboldened by our success."
RTRUE
?CCL34: FSET? ORC-FIGHT,SEEN \?CCL36
FSET? HERE,BLUE-MIX /?CCL36
ICALL MAKE-BUSY,PRAXIX,ILL-COMMAND
PRINTI "Our change in tactics turned out only partially successful, for Praxix was now slightly wounded, and it became more difficult to take proper advantage of the confusion we had caused. One orc was down, slashed in the throat by a deadly thrust from Hurth's sword, but the others fought with undiminished zeal."
RTRUE
?CCL36: ICALL MAKE-BUSY,PRAXIX,ILL-COMMAND
PRINTI "Our attempts to parry the orcs' blows were failing, and soon each of us was at least slightly wounded, making the orcs' weapons ever more punishing. In our exasperation, we were barely able to do any damage ourselves; the fight would soon be lost!"
RTRUE
?CCL31: PUTP ORCS,P?RETREAT,100
PRINTI "The victory would soon be ours; the remaining orcs were badly hurt and, slowed down by the muck beneath their feet, their confidence was wavering. Hurth struck down yet another with a mighty blow of his sword as those remaining began to retreat toward the far side of the chamber."
RTRUE
?CCL10: EQUAL? ACTION,CAST-COMMAND \?CCL40
ICALL2 MAKE-BUSY,PRAXIX
GRTR? COMBAT-ROUND,-1 \?CCL43
PRINTI "Praxix, between blows, hoped to prepare a """
ICALL2 WPRINTD,ACTION-OBJECT
PRINTI """ spell, but it didn't appear he would get the chance to complete it."
RTRUE
?CCL43: SET 'ORC-FIGHT-SPELL,ACTION-OBJECT
FSET? ORC-FIGHT,SEEN \?CCL46
PRINTI "Now that the fight had begun, Praxix hastily grabbed for his pouch and started to prepare some sort of spell. As he fumbled with his powders for an excruciatingly long moment, I felt sure he would never complete it in time to be of any usefulness."
ICALL2 CHECK-ORC-FIGHT-SPELL,TRUE-VALUE
RTRUE
?CCL46: PRINTI "With the thought of using magic in our fight with the orcs, Praxix started removing some of his magical powders in the preparation of some sort of spell."
RTRUE
?CCL40: EQUAL? ACTION,RETREAT-COMMAND /?CTR47
EQUAL? ACTION,COMBAT-COMMAND \?CCL48
EQUAL? COMBAT-ROUND,1 \?CCL48
CALL1 WINNING-OF?
ZERO? STACK \?CCL48
?CTR47: ZERO? KIDNAPPED /?CND54
ICALL2 HINT,HINT-ORC-FIGHT
?CND54: ICALL2 END-COMBAT,FALSE-VALUE
PRINTI "We tried to continue the fight, but we were losing badly. Bergon, fearing our complete destruction at the hands of the orcs, led us into a retreat."
CRLF
CRLF
PRINTI "As we passed the fork, Hurth noticed a device of some kind mounted on the wall with some runes above it. ""Opens the prison door, but only for a brief time,"" he said, and pressed it. Using the rope to lower ourselves back down into the prison, we hurried through the closing door."
CRLF
CRLF
PRINTI "And as the door of cold stone slammed shut behind us, a terrifying scream could be heard from inside the prison."
ZERO? KIDNAPPED /?CCL58
PRINTI " I turned to Bergon and mouthed the name """
ICALL2 WPRINTD,KIDNAPPED
PRINTI """; we stood there in silence, but heard no more."
JUMP ?CND56
?CCL58: CRLF
CRLF
PRINTI """The orcs do not keep prisoners,"" Hurth said, ""Let us hurry."""
?CND56: FSET OUTSIDE-PRISON,TRAPPED
CALL2 MOVE-TO,OUTSIDE-PRISON
RSTACK
?CCL48: EQUAL? ACTION,FLANK-COMMAND \?CCL60
FSET? ORC-FIGHT,SEEN /?CCL60
EQUAL? ACTOR,BERGON \?CCL65
SET 'FLANK-ACTOR,BERGON
ICALL CHANGE-CIT,HURTH,1,NUL-COMMAND
JUMP ?CND63
?CCL65: SET 'FLANK-ACTOR,HURTH
FSET? BERGON,BUSY /?CND63
ICALL CHANGE-CIT,BERGON,1,NUL-COMMAND
?CND63: SET 'SMART-DEFAULT-FLAG,TRUE-VALUE
ICALL MAKE-BUSY,FLANK-ACTOR,GONE-COMMAND
FSET ORC-FIGHT,SEEN
EQUAL? COMBAT-ROUND,-1 \?CCL70
PRINTI "Our best chance was to surprise the orcs, so "
ICALL2 WPRINTD,FLANK-ACTOR
PRINTI " slipped away to find a spot behind their lines. We waited a seeming eternity, and then, with a heart-stopping scream, "
ICALL2 WPRINTD,FLANK-ACTOR
PRINTI " charged at them; we held back long enough to take the orcs entirely by surprise."
CALL2 CHECK-ORC-FIGHT-SPELL,TRUE-VALUE
RSTACK
?CCL70: CALL QSET?,ORC-FIGHT,BUSY
ZERO? STACK \FALSE
PRINTI "The fight was not going well, and "
ICALL2 WPRINTD,FLANK-ACTOR
PRINTI " decided to try to flank the orcs. But in the meantime, we were now fighting outnumbered, outclassed, and badly hurt!"
RTRUE
?CCL60: EQUAL? ACTION,COMBAT-COMMAND \FALSE
FSET? ORC-FIGHT,BUSY \FALSE
FSET ORC-FIGHT,BLUE-MIX
FCLEAR ORC-FIGHT,BUSY
PRINTI "With a heart-stopping scream, "
ICALL2 WPRINTD,FLANK-ACTOR
PRINTI " charged the orcs from behind, momentarily taking them by surprise."
RTRUE
.FUNCT WINNING-OF?:ANY:0:0
FSET? HERE,BLUE-MIX \FALSE
FSET? ORC-FIGHT,DEAD /TRUE
RFALSE
.FUNCT CHECK-ORC-FIGHT-SPELL:ANY:0:1,CRF
FSET? HERE,NEVER-DROP /FALSE
EQUAL? ORC-FIGHT-SPELL,MUD-SPELL \?CCL5
ICALL CHANGE-CIT,PRAXIX,1,CAST-COMMAND
FSET ORC-FIGHT,DEAD
ZERO? CRF /?CND6
CRLF
CRLF
?CND6: PRINTI "Just then, Praxix finished preparing his mud spell, and cast it at the feet of our enemy, leaving his hands covered with a "
ICALL TELL-COLOR,ESSENCE-WATER,ESSENCE-EARTH
PRINTI " residue. As he did, pools of water rose from the rock-hard earth, mixing with the overlying dirt and creating a large pool of soft and sticky mud. Within moments, the orcs were stomping and trudging where just seconds before they had been stomping and charging."
FSET? ORC-FIGHT,SEEN \FALSE
PRINTI " The net effect was that the orcs were only slowly able to recover from the shock of "
ICALL2 WPRINTD,FLANK-ACTOR
PRINTI "'s surprise attack."
RTRUE
?CCL5: ZERO? ORC-FIGHT-SPELL /FALSE
ICALL CHANGE-CIT,PRAXIX,1,NUL-COMMAND
ICALL UPDATE-FSET,HERE,NEVER-DROP
ZERO? CRF /?CND13
CRLF
CRLF
?CND13: PRINTI "Just then, Praxix finished preparing his spell"
EQUAL? ORC-FIGHT-SPELL,WIND-SPELL \?CCL17
PRINTI " and a fierce wind blew through the caverns. But in these cramped caverns, the wind's effect was decidedly mixed, wreaking havoc not only with the orcs' fighting, but with our own as well. When the wind finally died down, it can honestly be said that we had gained no advantage."
RTRUE
?CCL17: EQUAL? ORC-FIGHT-SPELL,FAR-VISION-SPELL \?CCL19
PRINTI ", and the ball of flame raced toward the astonished orcs. But the fireball faded quickly and the element of surprise was too short-lived to give us any lasting advantage in our fight."
RTRUE
?CCL19: EQUAL? ORC-FIGHT-SPELL,LIGHTNING-SPELL,RAIN-SPELL \?CCL21
PRINTI ", but realized that this spell was entirely useless underground, having its effect only in the open air."
RTRUE
?CCL21: PRINTI ". And then, he appeared to waver in his resolve. Afterward, he admitted that the spell would have been entirely useless in fighting the orcs anyway."
RTRUE
.ENDSEG
.ENDI

767
dwarves.zil Normal file
View file

@ -0,0 +1,767 @@
"DWARVES for
JOURNEY
(c) Copyright 1988, 1989 Infocom, Inc. All Rights Reserved."
<BEGIN-SEGMENT DWARVES>
<GLOBAL DWM-HERE 4>
<GLOBAL DWM-LOC1 6>
<GLOBAL DWM-LOC2 1>
<GLOBAL DWM-FACING 1>
<ROOM DWARF-MEETING-LOC
(TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND STAND-COMMAND)
(FLAGS UNDERGROUND DANGEROUS DONT-SCOUT)
(ENTER
<EXECUTE ()
<TELL CR CR>
<SCENE ,DWARF-MEETING>>)
(TEMP 0)>
<ROOM CAVERN-1
(TRAVEL-COMMANDS PROCEED-COMMAND NUL-COMMAND NUL-COMMAND)
(FLAGS UNDERGROUND DONT-SCOUT)
(ACTION
<ACOND ()
(PROCEED
<UPDATE-MOVE ,STORY-TOWERS ,HURTH-STORIES>
<MOVE-TO ,STAIR-BOTTOM
"Hurth led us down the passage, and we soon came to a wide arch leading to an
impressive stone staircase. \"These stairs lead up to the High Gate and the
Tower of the Sunset,\" he said.">)>)>
<OBJECT DWARF-MEETING
(ACTION
<EXECUTE ("AUX" DF (BK <>))
<COND (<ACTION? BACK>
<SET BK T>
<SETG DWM-FACING <NOT ,DWM-FACING>>
<SETG ACTION ,PROCEED-COMMAND>
;<NEW-DEFAULT>
<TELL
"We turned around and started slowly back in the opposite direction."
CR CR>)>
<COND (<ACTION? SCENE-START>
<TELL
"As we slowly made our way down the forbidding passageway, Bergon signalled
us to stop." CR CR>
<TELL
"\"Do you hear that?\" he asked, indicating some faint sound
from the gloom that lay before us.">
<COND (<AND <EQUAL? ,KIDNAPPED ,MINAR>
<IN-PARTY? ,ESHER>
<NOT ,2ND-PASS>>
<TELL CR CR
"\"Yes, and it's a trap, no doubt set for us by our friend Minar!\" scowled
Esher.">)>
<RTRUE>)
(<ACTION? STAND>
<SETG DWM-LOC1 <- ,DWM-LOC1 1>>
<SETG DWM-LOC2 <+ ,DWM-LOC2 1>>
<COND (<NOT <EQUAL? ,DWM-HERE ,DWM-LOC1 ,DWM-LOC2>>
<COND (<NOT <GET-TEMP>>
<TELL
"As we stood our ground, it seemed that sounds could be heard behind
us as well as in front of us.">
<DWM-TRAPPED>)
(T
<SETG DWM-LOC1 ,DWM-HERE>
<DWM-HEAR>
;<TELL
"We braced ourselves for attack as the sounds, now clearly footsteps,
became ever louder.">)>)
(T
<DWM-HEAR>)>)
(<ACTION? PROCEED>
<COND (<NOT .BK>
<COND (<NOT <QSET? ,HERE ,TRAPPED>>
<TELL
"Increasingly apprehensive, we made our way slowly down the passage." CR CR>)
(T
<TELL
"Reaching toward our weapons, we moved forward at a snail's pace; the
sounds grew louder and seemed to come from all around us!" CR CR>)>)>
<COND (,DWM-FACING
<SETG DWM-HERE <+ ,DWM-HERE 1>>
<SETG DWM-LOC2 <+ ,DWM-LOC2 1>>)
(T
<SETG DWM-HERE <- ,DWM-HERE 1>>
<SETG DWM-LOC1 <- ,DWM-LOC1 1>>)>
<DWM-HEAR>)
(<AND <ACTION? CAST>
<OBJECT? FAR-VISION-SPELL>>
<COND (<ZERO? ,DWM-FACING>
<SET DF <DIFF ,DWM-LOC2 ,DWM-HERE>>)
(T
<SET DF <DIFF ,DWM-LOC1 ,DWM-HERE>>)>
<CAST-FAR-VISION <>>
;<SINGLE-MOVE-GRAPHIC ,G-DWARVES-FV>
<TELL CR CR
"\"There!\" said Bergon, as the fireball cast its eerie light on
a group of shadowy figures not ">
<COND (<EQUAL? .DF 2>
<TELL "fifty">)
(<EQUAL? .DF 1>
<TELL "twenty">)>
<TELL " paces away.">)
(<ACTION? COMBAT>
<COND (,2ND-PASS
<TELL
"Bergon, surprised by the aggressiveness of the Dwarves, drew
his sword, but we stayed his hand. \"Astrix said the Dwarves
were our allies,\" Praxix reminded him.">
<REMOVE-PARTY-COMMAND ,COMBAT-COMMAND>
<REMOVE-PARTY-COMMAND ,RETREAT-COMMAND>
<RTRUE>)>
<TELL
"At Bergon's signal, we started to fight, but we were surrounded and
hopelessly outnumbered. We were at the Dwarves mercy, but their leader
spared our lives. Instead, he ordered us bound and blindfolded, and had
us marched us back to the gate at which we entered the cavern. The
heavy stone door closed behind us with a crash.">
<HINT ,HINT-DWARVES>
<FSET ,DWARF-MEETING ,TRIED>
<TRAVEL-COMMANDS ,CANYON-GATE ,PROCEED-COMMAND>
<DWM-END ,CANYON-GATE>)
(<ACTION? RETREAT>
<REMOVE-PARTY-COMMAND ,RETREAT-COMMAND>
<TELL
"We thought of trying to escape, but were completely surrounded. We
would either have to fight these Dwarves or parley with them.">)
(<ACTION? PARLEY>
<TELL
"Bergon sheathed his sword, and took a few small steps toward the Dwarf
leader.">
<OPTION ,BERGON ,TELL-TRUTH-COMMAND ,LIE-COMMAND>)
(<ACTION? TELL-TRUTH>
<COND (,2ND-PASS
<TELL
"\"We have journeyed here from the Sunrise Tower of Astrix, the Wizard.
He believes we may benefit in our struggle with the " ,BAD-GUY " by exploring
these caverns.">
<COND (,KIDNAPPED
<TELL
" We have faced many dangers on our journey, and just now one
of our party has disappeared near the gate at Bern i-Lav.">)>
<TELL "\"" CR CR>)
(T
<TELL
"\"We journey eastward to the Tower of the Sunrise, in search of the Wizard
Astrix.\"" CR CR>
<TELL
"\"You choose a most unusual route....\"" CR CR>
<TELL
"\"We chose not this path. One of our party disappeared near the gate by
which we entered these caverns, and we have followed his trail to this
spot.\"" CR CR>)>
<COND (,KIDNAPPED
<TELL
"There was a murmur in the ranks of the Dwarves, and their leader at
last held out a bloodied garment that belonged to ">
<TELL D ,KIDNAPPED>
<TELL
". \"We found this a short while ago. If your friend has been taken by Orcs, your
best hope is that he is dead!\" He paused for a long moment." CR CR>)>
<DWM-ESCORT-OPTION>)
(<ACTION? LIE>
<TELL
"\"We travel east to meet our friends at the port of Zan.\"" CR CR>
<TELL
"\"If you have friends in Zan, the worse for you!\" the Dwarves' leader
spat. \"It is an evil place, a den of thieves and assassins.\" His voice
had taken on an alarmingly belligerent tone, but he quickly regained his
composure and now spoke in a quieter, more thoughtful voice. \"Yet,\"
he said, \"you are not of Orcish blood, and it is possible that you are
not enemies of the Dwarves." CR CR>
<TELL
"\"We do not kill in haste, as is now the fashion, but we cannot allow
you and your party to walk the halls of Reth a-Zar unescorted.\" His eyes
slowly passed over each of us, then he spoke as a judge passing sentence." CR CR>
<FSET ,DWARF-MEETING ,TRAPPED>
<DWM-ESCORT-OPTION T>)
(<ACTION? GET-ADVICE>
<FCLEAR ,HERE ,ADVISE>
<COND (<FSET? ,DWARF-MEETING ,SEEN>
<TELL
"We conferred briefly to consider Agrith's offer. ">
<COND (<AND <IN-PARTY? ,ESHER>
<EQUAL? ,MINAR ,KIDNAPPED>
<NOT ,2ND-PASS>>
<TELL "With the exception of
Esher, who remained convinced that this was all a part of some sinister plan
concocted by Minar,">)
(T
<TELL "There was no dissention:">)>
<TELL " the group was united
in favoring acceptance.">)
(<IN-PARTY? ,ESHER>
<TELL
"Bergon asked the group for advice, but only Esher answered.
\"If anyone cared about my advice, we wouldn't be on this 'adventure' in
this first place.\" He was in fine form, clearly demonstrating why nobody
cared about his advice.">)>
<OPTION ,BERGON ,ACCEPT-COMMAND ,DECLINE-COMMAND>)
(<OR <AND <ACTION? DECLINE> ,2ND-PASS>
<ACTION? ACCEPT>>
<COND (<ACTION? DECLINE>
<TELL
"Bergon thought to decline, feeling some distrust toward this unknown
people. Yet, Astrix felt certain that we should come here, and Bergon
was loath to disappoint him." CR CR>)>
<TELL
"Bergon replied, \"You are most gracious, Agrith, and we would
be foolish indeed to decline your offer.\" Agrith bowed slightly, then
motioned to one of his men, who stepped forward. \"This is Hurth, one
of my sons. He shall be your guide through Reth a-Zar!\"" CR CR>
<TELL
"Agrith handed Hurth a flaming torch to help guide our way, and then the
two Dwarves embraced in their fashion. With a motion of his arm, Agrith
signalled the others to follow, and quietly he led them away into the
gloom of the cavern's depths.">
<DWM-END ,CAVERN-1>
<PARTY-ADD ,HURTH>
<REMOVE ,TALE-DWARVES>
<RTRUE>)
(<ACTION? DECLINE>
<TELL
"Bergon declined Agrith's offer, saying \"Our concerns and yours are not
yet joined. We shall make our way alone.\"" CR CR>
<TELL
"And with that, Agrith's men escorted us out of the caverns; we never saw
the Dwarves again.">
<TRAVEL-COMMANDS ,CANYON-GATE ,PROCEED-COMMAND>
<DWM-END ,CANYON-GATE>)>>)>
<ROUTINE DWM-ESCORT-OPTION ("OPT" (FOO <>))
<COND (<AND ,2ND-PASS <NOT .FOO>>
<TELL
"\"I do not know what purpose Astrix has in mind, but I grant you
this option,\" Agrith said. \"Continue freely through these halls
with our chosen escort, or leave at once! Choose now!\"">)
(T
<TELL
"\"I, Agrith, speaking for the Dwarves, grant you this option: to continue
on your way with our chosen escort, or to leave these halls at once.
Choose now!\"">)>
<OPTION ,BERGON ,ACCEPT-COMMAND ,DECLINE-COMMAND ,GET-ADVICE-COMMAND>
<RTRUE>>
<ROUTINE DWM-END (RM)
<END-OPTION>
<SCENE <>>
<MOVE-TO .RM>>
<ROUTINE DIFF (N1 N2)
<COND (<G? .N1 .N2> <- .N1 .N2>)
(T <- .N2 .N1>)>>
<ROUTINE DWM-HEAR ("AUX" DL DIF DF1 DF2 (SURR <>))
<SET DF1 <DIFF ,DWM-LOC1 ,DWM-HERE>>
<SET DF2 <DIFF ,DWM-LOC2 ,DWM-HERE>>
<COND (<G? .DF2 .DF1>
<SET DL ,DWM-LOC1>
<SET DIF .DF1>)
(T
<SET DL ,DWM-LOC2>
<SET DIF .DF2>
<SET SURR T>)>
<COND (<ZERO? .DIF>
;"We've arrived at their location."
<GRAPHIC ,G-DWARVES>
<FSET ,DWARF-MEETING ,SEEN>
<UPDATE-FSET ,DWARF-MEETING ,DONT-CAST>
<TELL
"Our assailants had finally arrived; Dwarves they were, and heavily
armed. We joined in a tight circle, weapons drawn, and waited for the
onslaught. But they did not attack; rather, their leader, somewhat taller
and having about him an air of superiority, strode forward." CR CR>
<TELL
"\"What business have you here in Reth a-Zar?\" he demanded. \"Come,
speak quickly, for we have no patience with strangers!\"">
<COND (<NOT <FSET? ,TALE-RETH-A-ZAR ,EXAMINED>>
<TELL
" Under his breath, Praxix repeated the strange words - 'Reth a-Zar';
they held some great meaning for our Wizard-friend, but for us they spoke
only of hopelessness and despair.">)>
<COND (<NOT <FSET? ,TALE-RETH-A-ZAR ,EXAMINED>>
<UPDATE-MOVE ,TALE-RETH-A-ZAR ,PRAXIX-TALES>)>
<MODE ,FIGHT-MODE>
<PRINT-CHARACTER-COMMANDS>
;"Force update-flag to false..."
<CHANGE-CIT ,BERGON 1 ,NUL-COMMAND>
<SETG OPPONENT ,DWARVES>
<SETG COMBAT-ROUND -1>
<RTRUE>)>
<COND (<OR <AND <G? .DL ,DWM-HERE> ,DWM-FACING>
<AND <L? .DL ,DWM-HERE> <NOT ,DWM-FACING>>>
<TELL "Ahead of">)
(T
<TELL "From somewhere behind">)>
<TELL " us, we could ">
<COND (<EQUAL? .DIF 2> <TELL "barely ">)>
<TELL "make out muffled noises which were coming nearer with each
passing moment.">
<COND (<AND .SURR <NOT <GET-TEMP>>>
<DWM-TRAPPED>)>
<RTRUE>>
<ROUTINE DWM-TRAPPED ()
<SET-TEMP T>
<TELL CR CR
"\"They come from both sides. We are trapped!\" said Bergon, verbalizing
that which we had long since feared. Each of us reached for his weapon,
knowing battle to be near at hand.">>
<ROOM STAIR-BOTTOM
(TRAVEL-COMMANDS PROCEED-COMMAND UP-COMMAND NUL-COMMAND)
(GRAPHIC G-D-STAIR-BOTTOM)
(ENTER FSET-SEEN)
(FLAGS UNDERGROUND DONT-SCOUT)
(ACTION
<ACOND ()
(UP
<TELL
"We climbed for hours as we made our way up the gently winding stair, then
paused for refreshment. It seemed the stairs would go on forever">
<COND (<IN-PARTY? ,HURTH>
<TELL ", but
Hurth reassured us, saying, \"We are now at the half-way point to the
High Gate and the Tower of the Sunset!\"">)
(T
<TELL ".">)>
<TELL CR CR>
<COND (<FSET? ,HERE ,TRAPPED>
<REMOVE-TRAVEL-COMMAND ,STAIR-JUNCTION ,DOWN-COMMAND>)>
<COND (<IN-PARTY? ,HURTH>
<TELL
"Hurth was right: a few hours later, we arrived at a junction of two
stairways. \"The stair to the left leads to the Tower of the Sunset;
the stair to the right leads to the High Gate,\" Hurth said. \"If
we intend to reach the Tower, we should start now. It is a much
longer climb.\"">)
(T
<TELL
"After climbing for a few hours more, we arrived at the junction
of two stairways; neither was marked.">)>
<MOVE-TO ,STAIR-JUNCTION>)
(PROCEED
<COND (<IN-PARTY? ,HURTH>
<TELL "With Hurth">)
(T
<TELL "With " D ,LEADER>)>
<COND (<NOT ,STAIR-TO-PRISON?>
<SETG STAIR-TO-PRISON? T>)
(T
<FSET ,HERE ,TRAPPED>
<REMOVE-TRAVEL-COMMAND>)>
<COND (<NOT <FSET? ,OUTSIDE-PRISON ,SEEN>>
<TELL
" in the lead, we continued into the dark caverns. After
an hour's march, we came to a place in which a single word, in runes, was
carved into the stone.">)
(T
<TELL
" leading the way, we again marched to the spot at which runes were
carved into the stone.">)>
<MOVE-TO ,OUTSIDE-PRISON>)>)>
<BEGIN-SEGMENT ORC-FIGHT>
<ROOM ORC-FORK
(TRAVEL-COMMANDS LEFT-COMMAND RIGHT-COMMAND NUL-COMMAND)
(GRAPHIC G-ORC-FORK)
(FLAGS UNDERGROUND DANGEROUS)
(ACTION
<ACOND ()
(LEFT:REMOVE
<TELL
"As we moved down the left passage, we could hear sounds ahead. Hurth
waved for us to stop; then, he continued alone and reported that he
was certain that a gang of orcs were just beyond our sight." CR CR>
<UPDATE-FSET ,HERE ,DONT-SCOUT>
<TELL
"\"The passage narrows ahead,\" he whispered. \"Perhaps one of us
could get through without being seen, but not more. Perhaps we should
explore the right-hand passage.\" We agreed, and silently returned to the fork.">)
(SCOUT:REMOVE
<REMOVE-TRAVEL-COMMAND ,HERE ,LEFT-COMMAND>
<TELL ACT " made his way down both corridors, then
returned. \"Both passages lead to the same place and the same group of
orcs,\" he said, \"but the right path is wider and will protect our
movements longer.\"">)
(RIGHT
<COND (<NOT <QSET? ,HERE ,BLACK-MIX>>
<TELL
"We moved silently down the passage, and found the meaning of the glowing
cavern wall. Not ten paces away, the cavern opened into a vestibule, in the
middle of which stood nine grotesque figures huddling around an open fire.
Bound and gagged on the floor nearby, unmoving, was ">
<COND (,KIDNAPPED <TELL D ,KIDNAPPED "!" CR CR>)
(T <TELL "a badly beaten Dwarf!" CR CR>)>
<TELL
"\"Cursed orcs!\" Hurth spat. \"Kirth en-Gilan!\"">)
(T
<TELL
"Again, we made our way to the edge of the orcs' cavern. This time, we
knew we had no alternative but to fight!">
<REMOVE-TRAVEL-COMMAND ,ORC-ANTE ,BACK-COMMAND>)>
<MOVE-TO ,ORC-ANTE>)>)>
<GLOBAL KIDNAPPED <>>
<ROOM ORC-VESTIBULE
(TRAVEL-COMMANDS RETURN-COMMAND NUL-COMMAND NUL-COMMAND)
(FLAGS ENCLOSED)
(ACTION
<ACOND ()
(RETURN
<REMOVE-TRAVEL-COMMAND ,OUTSIDE-PRISON ,ENTER-COMMAND>
<COND (,KIDNAPPED
<TELL D ,KIDNAPPED " was safe">)
(T
<TELL "We had saved the Dwarf">)>
<TELL
", but at what cost? I shuddered at our bad fortune and
dreaded the trials that were yet to come." CR CR>
<TELL
"Bergon approached, and laid his hand on my shoulder. \"We must
put this behind us, " TAG ". Agrith grieves for Hurth and also for
his besieged people; we must not let either down.\" And taking
me by the arm, we left the field of battle." CR CR>
<TELL
"As we passed the fork, Bergon noticed a device of some kind mounted on
the wall. \"Let's hope this opens the prison door,\" he said, and pressed it.
Moving quickly, we lowered ourselves back down into the prison, where, indeed,
the door stood open. And as we left, the door closed silently behind us.">
<MOVE-TO ,OUTSIDE-PRISON>)>)>
<ROOM ORC-ANTE
(TRAVEL-COMMANDS FIGHT-COMMAND BACK-COMMAND NUL-COMMAND)
(GRAPHIC G-ORC-ANTE)
(FLAGS UNDERGROUND DANGEROUS ADVISE DONT-SCOUT)
(ACTION
<ACOND ()
(CAST
<UPDATE-FSET ,HERE ,DONT-CAST>
<UNUSE-ESSENCES>
<TELL
"Praxix then got the screwy notion of casting some sort of spell, but Bergon
held him back." CR CR>
<TELL
"\"Wait just a moment, Praxix,\" he said. \"We may yet have need for magic
here, but we have not yet determined how best to handle these orcs. Any premature
magical display would only serve to lessen our chances of surprising them
later.\"">)
(GET-ADVICE:REMOVE
<TELL
"There was little discussion; we would have to fight these orcs if
we were to save their captive. Hurth felt the most strongly, and I
suppose this was only natural." CR CR>
<TELL
"\"We must fight, but we must be careful; the orcs are fierce fighters
and we are outnumbered,\" he said.">)
(FIGHT
<SETG OPPONENT ,ORCS>
<SCENE ,ORC-FIGHT ,FIGHT-MODE>
<NUL-PARTY-COMMAND ,PARLEY-COMMAND>
<TELL
"Determined to rescue ">
<COND (,KIDNAPPED <TELL D ,KIDNAPPED>)
(T <TELL "the Dwarf">)>
<TELL ", we huddled to formulate a strategy.">)
(BACK:REMOVE
<COND (<NOT <FSET? ,ORC-FORK ,DONT-SCOUT>>
<TELL
"Uncertain of whether to risk attacking the orcs just then, we retreated
back to the fork.">
<MOVE-TO ,ORC-FORK>)
(T
<TELL
"I suggested trying to save the orcs' captive by other means, but the others
resisted. \"I fear we must fight these orcs,\" Bergon said, reluctantly. \"There
is no other way.\"">)>)>)>
<GLOBAL ORC-FIGHT-SPELL <>>
<OBJECT ORCS
(LOC ORC-ANTE)
(FLAGS DONT-TAKE)
(SDESC "orcs")
(KBD %<ASCII !\O>)
(ATTACK 170 80)
(STATUS 100)
(RETREAT 40)
(SPECIAL-ACTION
<EXECUTE ()
<TELL CR
"The orcs, overwhelmed, now tried to withdraw, but we killed them all save
two who ran from the area, with Hurth in hot pursuit. We freed ">
<COND (,KIDNAPPED
<TELL D ,KIDNAPPED>
<PARTY-CHANGE ,HURTH ,KIDNAPPED>)
(T
<PARTY-REMOVE ,HURTH>
<TELL "the Dwarf">)>
<TELL " from
his bonds, and he told us how he was caught at unawares by the orcs who,
having easily subdued him, brought him here." CR CR>
<TELL
"As we stood, tending to our wounds, a low, rumbling scream issued forth
from the passage used by the surviving orcs. We rushed down the passage
and found Hurth, slumped against the cold stone, bleeding from his
chest and head, surrounded by the bodies of the orcs who had waited
in ambush." CR CR>
<COND (<IN-PARTY? ,ESHER>
<TELL
"Esher rushed to help, but finding Hurth's wounds beyond his talents,
he turned away dejectedly. ">)>
<TELL
"From down the cavern, we heard the sounds of running feet; we had barely reached
for our weapons when Agrith and his party arrived." CR CR>
<GRAPHIC ,G-HURTH-DIES>
<TELL
"\"The story here speaks for itself,\" he said gravely, and knelt
beside the broken body of Hurth, raising that proud head into his
arms. And then, as impossible as it sounds, the two Dwarves seemed to
speak. For a long moment, Agrith was silent, then he rose from the ground
and motioned to his men, who carried the lifeless body away." CR CR>
<COND (<FSET? ,DWARF-MEETING ,TRAPPED>
;"Lied..."
<HINT ,HINT-DWARF-LIE>
<TELL
"\"I believe you may be trusted,\" he said, \"but only so far. You are free to
walk these halls, but I must return to my people and prepare for the onslaught
that is to come.\"">)
(T
<UPDATE-MOVE ,DWARF-STONE ,INVENTORY>
<TELL
"\"We have suffered enough in Azhur na-Brem. Tell Astrix this when
you see him, and show him this token. He will know what to do.\"
Agrith took a brown stone amulet from around his neck, and gave it
to Praxix. \"I must leave you now. May the earth give you speed.\"">)>
<TELL " He strode away, and we never saw him again.">
<REMOVE-TRAVEL-COMMAND ,OUTSIDE-PRISON ,ENTER-COMMAND>
<REMOVE ,PRISON-RUNES>
<MOVE-TO ,ORC-VESTIBULE>
<SCENE <>>
<RTRUE>>)
(ACTION
<ACOND ()
(EXAMINE:REMOVE
<TELL ACT
" counted nine orcs, each carrying brutal weapons. We were clearly
outnumbered, though we had the element of surprise.">)>)>
<OBJECT ORC-FIGHT
(ACTION
<ACOND ("AUX" ACT)
(SCENE-START
<SETG COMBAT-ROUND -1>
<REMOVE-PARTY-COMMAND ,RETREAT-COMMAND>)
(SCENE-END
<CLEAR-BUSY>
<COND (<NOT <IN-PARTY? ,HURTH>>
<FSET ,OUTSIDE-PRISON ,TRAPPED>)>)
(COMBAT-RESULT
<COND (<ZERO? ,COMBAT-ROUND>
;<GRAPHIC ,G-ORC-FIGHT>
<COND (<FSET? ,ORC-FIGHT ,SEEN>
<FSET ,HERE ,BLUE-MIX>)>
<COND (<WINNING-OF?>
;"Flank + casting of mud -> best case"
<TELL
"The orcs, badly confused, started to fight in both directions. One
fell to the ground, head severed by a fierce blow from Bergon's
sword.">)
(T
<ADD-PARTY-COMMAND ,RETREAT-COMMAND>
<CHANGE-CIT ,BERGON 1 ,NUL-COMMAND>
<CHECK-ORC-FIGHT-SPELL>
<COND (<FSET? ,ORC-FIGHT ,DEAD> <TELL CR CR>)>
<TELL
"It was clear from the outset that our chances were not good; the orcs
were powerful fighters, and utterly fearless. Bergon was hit almost
at once by the side of a battle axe, but continued to fight in
spite of his wounds.">
<MAKE-BUSY ,BERGON ,ILL-COMMAND>
<COND (<OR <FSET? ,ORC-FIGHT ,DEAD>
<FSET? ,HERE ,BLUE-MIX>>
<TELL CR CR "No doubt, ">
<COND (<FSET? ,ORC-FIGHT ,DEAD>
;"Praxix cast mud, though..."
<TELL "the mud had slowed down">)
(T
<TELL "our two-pronged attack confused">)>
<TELL " the orcs somewhat, or the result
would have been even worse than appeared likely.">
<COND (<FSET? ,HERE ,BLUE-MIX>
<TELL
" But the orcs, whose movements were quicker and more agile than we had expected,
recovered swiftly, and several of them now moved toward our flanking comrade.">)>)>
<RTRUE>)>)
(<EQUAL? ,COMBAT-ROUND 1>
<COND (<WINNING-OF?>
<TELL
"Try as they might, the orcs could not recover from our two-pronged
attack, especially considering the sloppy impediment that Praxix had thrown in
their way. Another two were down, and except for a few scratches, our party
was unscathed and greatly emboldened by our success.">)
(<AND <FSET? ,ORC-FIGHT ,SEEN>
<NOT <FSET? ,HERE ,BLUE-MIX>>>
;"Now flanking, but didn't do it first..."
<MAKE-BUSY ,PRAXIX ,ILL-COMMAND>
<TELL
"Our change in tactics turned out only partially successful, for Praxix was
now slightly wounded, and it became more difficult to take proper advantage of
the confusion we had caused. One orc was down, slashed in the throat by
a deadly thrust from Hurth's sword, but the others fought with
undiminished zeal.">)
(T
<MAKE-BUSY ,PRAXIX ,ILL-COMMAND>
<TELL
"Our attempts to parry the orcs' blows were failing, and soon each
of us was at least slightly wounded, making the orcs' weapons ever more
punishing. In our exasperation, we were barely able to do any damage ourselves;
the fight would soon be lost!">)>)
(T
<PUTP ,ORCS ,P?RETREAT 100>
;"Force an end to the fight now."
<TELL
"The victory would soon be ours; the remaining orcs were badly hurt and,
slowed down by the muck beneath their feet, their confidence was wavering.
Hurth struck down yet another with a mighty blow of his sword as those remaining
began to retreat toward the far side of the chamber.">)>
<RTRUE>)
(CAST
<MAKE-BUSY ,PRAXIX>
<COND (<G? ,COMBAT-ROUND -1>
;"We've started fighting..."
<TELL
"Praxix, between blows, hoped to prepare a \"" AO "\" spell, but it didn't
appear he would get the chance to complete it.">)
(T
<SETG ORC-FIGHT-SPELL ,ACTION-OBJECT>
<COND (<FSET? ,ORC-FIGHT ,SEEN>
<TELL
"Now that the fight had begun, Praxix hastily grabbed for his pouch and
started to prepare some sort of spell. As he fumbled with his powders for an
excruciatingly long moment, I felt sure he would never complete it in time to
be of any usefulness.">
<CHECK-ORC-FIGHT-SPELL T>
<RTRUE>)
(T
<TELL
"With the thought of using magic in our fight with the orcs, Praxix started
removing some of his magical powders in the preparation of some sort of spell.">)>)>)
(<OR <ACTION? RETREAT>
<AND <ACTION? COMBAT>
<EQUAL? ,COMBAT-ROUND 1>
<NOT <WINNING-OF?>>>>
<COND (,KIDNAPPED
<HINT ,HINT-ORC-FIGHT>)>
<END-COMBAT <>>
<TELL
"We tried to continue the fight, but we were losing badly. Bergon,
fearing our complete destruction at the hands of the orcs, led us
into a retreat." CR CR>
<TELL
"As we passed the fork, Hurth noticed a device of some kind mounted on
the wall with some runes above it. \"Opens the prison door, but only
for a brief time,\" he said, and pressed it. Using
the rope to lower ourselves back down into the prison, we hurried
through the closing door." CR CR>
<TELL
"And as the door of cold stone slammed shut behind us, a terrifying scream
could be heard from inside the prison.">
<COND (,KIDNAPPED
<TELL " I turned to Bergon and mouthed
the name \"" D ,KIDNAPPED "\"; we stood there in silence, but heard no more.">)
(T
<TELL CR CR
"\"The orcs do not keep prisoners,\" Hurth said, \"Let us hurry.\"">)>
<FSET ,OUTSIDE-PRISON ,TRAPPED>
<MOVE-TO ,OUTSIDE-PRISON>)
(<AND <ACTION? FLANK>
<NOT <FSET? ,ORC-FIGHT ,SEEN>>>
<COND (<EQUAL? ,ACTOR ,BERGON>
<SETG FLANK-ACTOR ,BERGON>
<CHANGE-CIT ,HURTH 1 ,NUL-COMMAND>)
(T
<SETG FLANK-ACTOR ,HURTH>
<COND (<NOT <FSET? ,BERGON ,BUSY>>
<CHANGE-CIT ,BERGON 1 ,NUL-COMMAND>)>)>
<SETG SMART-DEFAULT-FLAG T>
<MAKE-BUSY ,FLANK-ACTOR ,GONE-COMMAND>
<FSET ,ORC-FIGHT ,SEEN>
;"He's flanked the orcs..."
<COND (<EQUAL? ,COMBAT-ROUND -1>
<TELL
"Our best chance was to surprise the orcs, so " D ,FLANK-ACTOR " slipped away
to find a spot behind their lines. We waited a seeming eternity, and then,
with a heart-stopping scream, " D ,FLANK-ACTOR " charged at them; we held back
long enough to take the orcs entirely by surprise.">
<CHECK-ORC-FIGHT-SPELL T>)
(<NOT <QSET? ,ORC-FIGHT ,BUSY>>
<TELL
"The fight was not going well, and " D ,FLANK-ACTOR " decided to try to flank
the orcs. But in the meantime, we were now fighting outnumbered, outclassed,
and badly hurt!">)>)
(<AND <ACTION? COMBAT>
<FSET? ,ORC-FIGHT ,BUSY>>
<FSET ,ORC-FIGHT ,BLUE-MIX>
<FCLEAR ,ORC-FIGHT ,BUSY>
<TELL
"With a heart-stopping scream, " D ,FLANK-ACTOR " charged the orcs from behind,
momentarily taking them by surprise.">)>)>
<ROUTINE WINNING-OF? ()
<COND (<AND <FSET? ,HERE ,BLUE-MIX>
<FSET? ,ORC-FIGHT ,DEAD>>
<RTRUE>)>>
<ROUTINE CHECK-ORC-FIGHT-SPELL ("OPTIONAL" (CRF <>))
<COND (<FSET? ,HERE ,NEVER-DROP> <RFALSE>)
(<EQUAL? ,ORC-FIGHT-SPELL ,MUD-SPELL>
<CHANGE-CIT ,PRAXIX 1 ,CAST-COMMAND>
<FSET ,ORC-FIGHT ,DEAD>
<COND (.CRF <TELL CR CR>)>
<TELL
"Just then, Praxix finished preparing his mud spell, and cast it at the feet
of our enemy, leaving his hands covered with a ">
<TELL-COLOR ,ESSENCE-WATER ,ESSENCE-EARTH>
<TELL
" residue. As he did, pools of water rose from the rock-hard earth, mixing
with the overlying dirt and creating a large pool of soft and sticky mud.
Within moments, the orcs were stomping and trudging where just seconds before
they had been stomping and charging.">
<COND (<FSET? ,ORC-FIGHT ,SEEN>
<TELL " The net effect was that the orcs were
only slowly able to recover from the shock of " D ,FLANK-ACTOR "'s surprise
attack.">)>)
(,ORC-FIGHT-SPELL
<CHANGE-CIT ,PRAXIX 1 ,NUL-COMMAND>
<UPDATE-FSET ,HERE ,NEVER-DROP>
<COND (.CRF <TELL CR CR>)>
<TELL "Just then, Praxix finished preparing his spell">
<COND (<EQUAL? ,ORC-FIGHT-SPELL ,WIND-SPELL>
<TELL
" and a fierce wind blew through the caverns. But in these cramped caverns,
the wind's effect was decidedly mixed, wreaking havoc not only with the
orcs' fighting, but with our own as well. When the wind finally died down, it
can honestly be said that we had gained no advantage.">)
(<EQUAL? ,ORC-FIGHT-SPELL ,FAR-VISION-SPELL>
<TELL
", and the ball of flame raced toward the astonished orcs. But the fireball
faded quickly and the element of surprise was too short-lived to give us any
lasting advantage in our fight.">)
(<EQUAL? ,ORC-FIGHT-SPELL ,LIGHTNING-SPELL ,RAIN-SPELL>
<TELL
", but realized that this spell was entirely useless underground, having its
effect only in the open air.">)
(T
<TELL
". And then, he appeared to waver in his resolve. Afterward, he admitted that the
spell would have been entirely useless in fighting the orcs anyway.">)>)>>
<GLOBAL FLANK-ACTOR <>>

470
flume.zabstr Normal file
View file

@ -0,0 +1,470 @@
<BEGIN-SEGMENT CAVERNS>
<OBJECT MINE-ORC-BODIES (FLAGS DONT-TAKE) (SDESC "dead orcs") (KBD 68) (EXBITS
<+ ,ESHERBIT ,PRAXIXBIT>) (ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND>
<UPDATE-MOVE> <WPRINTD ,ACTOR> <PRINTI
" took a moment to look over the carnage; over two dozen orcs were
piled on the ground, most of them dispatched single-handedly by Hurth."> <COND
(<OR <AND <FSET? ,ESHER ,IN-PARTY> <FSET? ,ESHER ,BUSY>> <FSET? ,BERGON ,BUSY>>
<PRINTI " But there was no joy in our victory - we had paid a heavy price!">)>
<RTRUE>)>)>
<DEFINE-ROUTINE ANONF-242>
<OBJECT MINE-ORCS (FLAGS DONT-TAKE DONT-EXAMINE) (SDESC "orcs") (KBD 79) (
ATTACK 250 250) (STATUS 100) (RETREAT 0)>
<OBJECT MINE-FIGHT (TEMP 0) (ACTION <ACOND ("AUX" TMP) (<EQUAL? ,ACTION ,
SCENE-START-COMMAND> <MOVE ,MINE-ORCS ,HERE> <SET OPPONENT ,MINE-ORCS> <
PRINT-CHARACTER-COMMANDS> <SET UPDATE-FLAG #ZLOCAL!-IZILCH FALSE-VALUE> <
CHANGE-CIT ,BERGON 1 ,NUL-COMMAND #ZLOCAL!-IZILCH FALSE-VALUE> <CHANGE-CIT ,
HURTH 1 ,NUL-COMMAND> <COND (,MIX-DONE <CHANGE-CIT ,PRAXIX 2 ,USE-MIX-COMMAND>)
> <NUL-PARTY-COMMAND ,RETREAT-COMMAND> <NUL-PARTY-COMMAND ,PARLEY-COMMAND> <SET
COMBAT-ROUND -1>) (<EQUAL? ,ACTION ,SCENE-END-COMMAND> <COND (<NOT <FSET? ,HERE
,SOLVED>> <UPDATE-MOVE ,MINE-ORC-BODIES ,HERE> <UPDATE-REMOVE ,MINE-ORCS> <
UPDATE-FCLEAR ,PRAXIX ,BUSY> <CRLF> <CRLF> <PRINTI
"The fight was over; Bergon was slumped on the ground, rapidly losing his
battle for life."> <COND (<FSET? ,ESHER ,IN-PARTY> <PRINTI
" Esher fared worse still, and died in Praxix' arms before
the Wizard could begin to help."> <KILLED-OFF ,ESHER>)> <COND (,COMBAT-SPELL <
PRINTI " Praxix, no longer concerned with the spell he was preparing, tossed the
mixed powders to the ground and rushed to Bergon's side.">)> <UPDATE-MOVE ,
BERGON-OBJECT ,HERE> <FCLEAR ,BERGON-OBJECT ,DONT-EXAMINE> <PUTP ,HERE ,P?TEMP
,MOVE-NUMBER>)>) (<EQUAL? ,ACTION ,COMBAT-RESULT-COMMAND> <COND (<ZERO? ,
COMBAT-ROUND> <PRINTI
"The first orcs started to come through the hole, and we had an easy
time dispatching them as they came. After four were killed, they stopped
coming for a time. All was quiet, and yet we felt certain that we had
not seen the last of these orcs."> <CRLF> <CRLF> <PRINTI
"At once, the quiet was broken as the orcs started a guttural chant,
and their harsh footsteps could again be heard just outside of the
chamber!"> <CRLF> <CRLF> <PRINTI
"\"It seems we are trapped,\" Bergon said, gloomily, \"and the orcs
come yet again.\""> <COND (<EQUAL? ,COMBAT-SPELL ,TREMOR-SPELL> <CRLF> <CRLF> <
PRINTI "\"It seems we are trapped, yes,\" Praxix repeated, \"but things are not
always what they seem!\"">)> <RTRUE>) (<EQUAL? ,COMBAT-ROUND 1> <PRINTI
"The orcs, sensing the folly in entering our midst singly, now changed their
strategy, and pushed over themselves into the chamber. They paid dearly
for the effort, and their bodies soon piled up near the entry. But
they were successful, and a few orcs now arrived among us. Hurth
was exceedingly strong, and killed a few more orcs with his broadsword.
Bergon, too, fought well, but he was soon hit by the side of an orc's axe,
and stumbled backward on the ground."> <UPDATE-MOVE ,BERGON-OBJECT ,HERE> <
MAKE-BUSY ,BERGON ,ILL-COMMAND>) (<EQUAL? ,COMBAT-ROUND 2> <PRINTI
"On and on they came, slowed somewhat by the carnage at the chamber's
entrance. I killed two orcs that were threatening Bergon, but he was hit
yet again, and soon lay unconscious on the ground. Hurth again bore the
brunt of our offense, and soon claimed a dozen orcs with only a few minor
wounds."> <COND (<EQUAL? ,COMBAT-SPELL ,TREMOR-SPELL> <CRLF> <CRLF> <PRINTI
"\"If we are not trapped,\" I said, remarking on Praxix' obtuse
comment of a few moments ago, \"this would be a good time to show us.\"">)> <
MAKE-BUSY ,BERGON ,ILL-COMMAND>) (T <PRINTI
"The last few orcs in the raiding party were now here, but we were strong
enough to defeat them."> <COND (<FSET? ,ESHER ,IN-PARTY> <MAKE-BUSY ,ESHER ,
ILL-COMMAND> <PRINTI
" As the last of them went down, he slashed Esher in the chest. Bleeding
badly, Esher slumped to the floor, as Hurth killed the last of the living
attackers.">)> <HINT ,HINT-TREMOR> <TRAVEL-COMMANDS ,HERE ,BACK-COMMAND> <
END-COMBAT #ZLOCAL!-IZILCH FALSE-VALUE> <MAKE-BUSY ,BERGON ,ILL-COMMAND> <RTRUE
>)> <COND (<AND ,COMBAT-SPELL <GRTR? #ZLOCAL!-IZILCH STACK 1>> <COND (<EQUAL? ,
COMBAT-SPELL ,TREMOR-SPELL> <CRLF> <CRLF> <PRINTI
"At last, Praxix was ready to cast his spell. \"Back! This way!\" he
shouted, leading us to the farthest spot from the entrance. But I would
not leave Bergon behind, and I managed to avoid injury as I dragged him out
of harm's way. And then, with our party a safe distance from the orcs,
the spell was cast, and the ground shook mightily."> <CRLF> <CRLF> <FSET ,HERE
,SOLVED> <SCENE #ZLOCAL!-IZILCH FALSE-VALUE ,TRAVEL-MODE> <FLUME-TREMOR #
ZLOCAL!-IZILCH TRUE-VALUE>) (T <CHANGE-CIT ,PRAXIX 1 ,NUL-COMMAND> <SET
COMBAT-SPELL #ZLOCAL!-IZILCH FALSE-VALUE> <CRLF> <CRLF> <PRINTI
"Praxix' spell was now prepared, but he reluctantly concluded that it would
do no good in the midst of this pandemonium.">)>)> <RTRUE>) (<AND <EQUAL? ,
ACTION ,USE-MIX-COMMAND> <EQUAL? ,MIXTURE ,ANIMATE-SPELL> <EQUAL? ,
ACTION-OBJECT ,BERGON-OBJECT>> <PRINTI
"Praxix tried to reach Bergon with his mixture, but there were orcs between
their positions, and would have faced certain death in the attempt."> <
CHANGE-CIT ,PRAXIX 2 ,NUL-COMMAND> <SET MIX-DONE #ZLOCAL!-IZILCH FALSE-VALUE> <
RTRUE>) (<AND <EQUAL? ,ACTION ,USE-MIX-COMMAND> <EQUAL? ,MIXTURE ,ANIMATE-SPELL
> <EQUAL? ,ACTION-OBJECT ,MINE-ORCS>> <PRINTI
"Praxix cast his mixture on the orcs, but the only effect was that of making
the orcs somewhat stronger than they had been previously."> <CHANGE-CIT ,PRAXIX
2 ,NUL-COMMAND> <SET MIX-DONE #ZLOCAL!-IZILCH FALSE-VALUE> <RTRUE>) (<AND <
EQUAL? ,ACTION ,CAST-COMMAND> <NOT ,COMBAT-SPELL>> <SET COMBAT-SPELL ,
ACTION-OBJECT> <SET COMBAT-SPELL-ROUND ,COMBAT-ROUND> <MAKE-BUSY ,PRAXIX> <
PRINTI "Praxix, meanwhile, was attempting to cast his "> <WPRINTD ,COMBAT-SPELL
> <PRINTI " spell.
But these things take time, and we weren't counting on any quick
results.">)>)>
<DEFINE-ROUTINE ANONF-243>
<GLOBAL COMBAT-SPELL <>>
<GLOBAL COMBAT-SPELL-ROUND <>>
<ROOM ABOVE-FLUME (TRAVEL-COMMANDS FIGHT-COMMAND NUL-COMMAND NUL-COMMAND) (
GRAPHIC G-DEAD-END) (FLAGS UNDERGROUND DANGEROUS DONT-SCOUT) (CAST-LIMIT INF) (
TEMP 0) (ENTER <EXECUTE () <COND (<NOT <QSET? ,MINE-FIGHT ,SEEN>> <PUT #
ZLOCAL!-IZILCH STACK 0 ,NUL-COMMAND> <PUT #ZLOCAL!-IZILCH STACK 0 ,NUL-COMMAND>
<CRLF> <CRLF> <PRINTI
"Drawing our weapons, we prepared for battle. It was clear that we had
one obvious advantage and one obvious disadvantage. What's more, they were
one and the same - the narrow entry into our chamber."> <CRLF> <CRLF> <PRINTI
"On the one hand, it would be a simple matter to dispatch the orcs one at
a time as they stumbled into our midst. On the other hand, they might not
oblige us, in which case we were trapped."> <SCENE ,MINE-FIGHT ,FIGHT-MODE>)>>)
(ACTION <ACOND () (<AND <FSET? ,BERGON ,BUSY> <EQUAL? ,PARTY-MODE ,TRAVEL-MODE>
<GRTR? ,MOVE-NUMBER #ZLOCAL!-IZILCH STACK>> <PRINTI
"It mattered little what we chose to do next. Bergon was dead, and our mission a
failure! We retreated as we had come, fortunate indeed to have escaped another group
of orcs that had been approaching, and appeared finally before Astrix. His face was
grim and determined."> <CRLF> <CRLF> <HINT ,HINT-WOUNDS> <PART-ONE-BAD-ENDING>)
(<AND <EQUAL? ,ACTION ,EXAMINE-COMMAND> <EQUAL? ,ACTION-OBJECT ,BERGON-OBJECT>>
<UPDATE-FSET ,BERGON-OBJECT ,DONT-EXAMINE> <WPRINTD ,ACTION-OBJECT> <PRINTI
" was badly hurt, as "> <WPRINTD ,ACTOR> <PRINTI
" was quick to recognize. He
would die soon unless we acted; but what could we do?">) (<AND <FSET? ,BERGON ,
BUSY> <EQUAL? ,ACTION ,USE-MIX-COMMAND> <EQUAL? ,MIXTURE ,ANIMATE-SPELL> <
EQUAL? ,ACTION-OBJECT ,BERGON-OBJECT>> <UPDATE-MOVE ,BERGON-OBJECT ,
RANDOM-OBJECTS> <PRINTI
"Praxix cast his mixture at Bergon; for a moment, it
appeared that nothing would happen. But then, as we watched, his
wounds began to heal and in a matter of minutes he was as strong
as on the day we had embarked on our journey."> <CRLF> <CRLF> <PRINTI
"\"A powerful enchantment!\" said Praxix"> <COND (<FSET? ,HERMIT-POWDER ,SEEN>
<PRINTI ", \"I wonder if old Garlimon
knew the power his gift possessed!\"">) (T <PRINTI ".">)> <MIXTURE-CAST> <SET
UPDATE-FLAG #ZLOCAL!-IZILCH TRUE-VALUE> <TRAVEL-COMMANDS ,HERE ,BACK-COMMAND> <
FSET ,HERE ,BLUE-MIX> <CLEAR-BUSY>) (<EQUAL? ,ACTION ,BACK-COMMAND> <
REMOVE-TRAVEL-COMMAND> <COND (<FSET? ,BERGON ,BUSY> <REMOVE-PARTY-COMMAND ,
BACK-COMMAND> <PRINTI
"Nearly panicked, I started to run from the chamber, but was held back by
Praxix. \"We must not leave our friend while he lays alive,\" he said.">) (<
FSET? ,HERE ,BLUE-MIX> <PRINTI
"We were trapped now, or nearly so; more orcs were nearby, perhaps alerted
by the ones we had just narrowly defeated. We retreated as we
had come, fortunate indeed to have escaped another group of orcs that
had been approaching, and appeared finally before Astrix. His face was grim
and determined."> <CRLF> <CRLF> <PART-ONE-BAD-ENDING>) (T <PRINTI
"We started back toward the junction, but more orcs could be heard
there as well. It appeared we were trapped!">)>) (<AND <NOT <EQUAL? ,
SCENE-OBJECT ,MINE-FIGHT>> <EQUAL? ,ACTION ,CAST-COMMAND> <EQUAL? ,
ACTION-OBJECT ,TREMOR-SPELL>> <FLUME-TREMOR>)>)>
<DEFINE-ROUTINE ANONF-244>
<DEFINE-ROUTINE ANONF-245>
<DEFINE-ROUTINE FLUME-TREMOR>
<END-SEGMENT>
<BEGIN-SEGMENT MINES>
<ROOM FLUME-POOL (TRAVEL-COMMANDS PROCEED-COMMAND NUL-COMMAND NUL-COMMAND) (
CAST-LIMIT 2) (FLAGS UNDERGROUND DONT-SCOUT) (GRAPHIC G-FLUME-POOL) (ENTER <
EXECUTE () <COND (<NOT <QSET? ,HERE ,SEEN>> T) (T <FSET ,HERE ,TRAPPED> <
PARTY-ADD ,BERGON> <MAKE-BUSY ,BERGON ,ILL-COMMAND> <CRLF> <CRLF> <PRINTI
"Bergon was here, slumped against a wall; he was dying, that was
certain.">)>>) (ACTION <ACOND () (<AND <EQUAL? ,ACTION ,EXAMINE-COMMAND> <
EQUAL? ,ACTION-OBJECT ,BERGON-OBJECT>> <UPDATE-FSET ,BERGON-OBJECT ,
DONT-EXAMINE> <COND (<FSET? ,HERE ,TRAPPED> <WPRINTD ,ACTOR> <PRINTI
" went over to look at Bergon; his pulse was slow, his breathing
irregular. Shaking his head sadly, he returned to the group.">) (T <WPRINTD ,
ACTOR> <PRINTI " examined Bergon briefly. \"He's got a punctured lung, and a good deal of
other internal damage from his wounds,\" he reported. \"He's also lost a
great deal of blood. Unless we do something quickly, I'm afraid he's
going to die.\" He then did what he could to stop Bergon's bleeding,
but his actions were merely palliative.">)>) (<AND <EQUAL? ,ACTION ,
USE-MIX-COMMAND> <EQUAL? ,ACTION-OBJECT ,BERGON-OBJECT> <EQUAL? ,MIXTURE ,
ANIMATE-SPELL> <FSET? ,BERGON ,BUSY>> <MIXTURE-CAST> <TRAVEL-COMMANDS ,HERE ,
PROCEED-COMMAND> <PRINTI "Praxix cast this strange enchantment at "> <WPRINTD ,
ACTION-OBJECT> <PRINTI
"; for a moment, it
appeared that nothing would happen. But then, as we watched, his
wounds began to heal and in a matter of minutes he was as strong as
on the day we had embarked on our journey."> <CRLF> <CRLF> <PRINTI
"\"A powerful enchantment!\" said Praxix"> <COND (<FSET? ,HERMIT-POWDER ,SEEN>
<PRINTI ", \"I wonder if old Garlimon
knew the power his gift possessed!\"">) (T <PRINTI ".">)> <SET LEADER ,BERGON>
<SET UPDATE-FLAG #ZLOCAL!-IZILCH TRUE-VALUE> <UPDATE-MOVE ,BERGON-OBJECT ,
RANDOM-OBJECTS> <CLEAR-BUSY> <COND (<FSET? ,MINE-LOWER-STAIR ,SEEN> <CRLF> <
CRLF> <END-PART-TWO-A>)> <RTRUE>) (<AND <EQUAL? ,ACTION ,PROCEED-COMMAND> <NOT
<FSET? ,HERE ,TRAPPED>>> <COND (<FSET? ,BERGON ,BUSY> <PARTY-REMOVE ,BERGON> <
PRINTI "It was undesirable to leave Bergon here, unattended, but we agreed
there was no alternative. And so, making him as comfortable as we
could, we left his side."> <CRLF> <CRLF>)> <PRINTI
"A wide path followed the raging river upstream, and we followed it
until we came to a tunnel leading back into what we supposed were the
main chambers at this level."> <MOVE-TO ,ALONG-FLUME>) (<AND <FSET? ,HERE ,
TRAPPED> <NOT <EQUAL? ,ACTION ,USE-MIX-COMMAND>> <NOT <EQUAL? ,ACTION ,
MIX-COMMAND>> <NOT <GAME-COMMAND?>>> <PRINTI
"Just then, Bergon's body heaved and his eyes opened. Praxix and I
moved closer to him, and "> <COND (<IN? ,SPIRIT-STONE ,INVENTORY> <PRINTI
"Praxix held up the white stone to his view."> <CRLF> <CRLF> <PRINTI
"Bergon smiled faintly. \"It is very beautiful,">) (T <PRINTI
"tried our best to comfort him."> <CRLF> <CRLF> <PRINTI
"Bergon winced in pain. \"The Stone... You
have found it?">)> <PRINTI
"\" he whispered, and taking one last raspy breath,
he expired in our arms."> <CRLF> <CRLF> <PRINTI
"We were silent a long while. What could we say about this brave man who
had led us through so many dangers? We knew it would be impossible to bury
him here and so, after a short ritual, we wrapped him in his cloak and cast
him into the waters, watching him as he was carried out of sight into the
very depths of the earth."> <CRLF> <CRLF> <HINT ,HINT-WOUNDS> <FCLEAR ,BERGON ,
BUSY> <KILLED-OFF ,BERGON> <END-PART-TWO-A> <RTRUE>)>)>
<DEFINE-ROUTINE ANONF-246>
<DEFINE-ROUTINE ANONF-247>
<DEFINE-ROUTINE END-PART-TWO-A>
<COMMAND (ENTER-TUNNEL ENTER)>
<COMMAND (FOLLOW-RIVER FOL\'W-RIV\'R)>
<ROOM ALONG-FLUME (TRAVEL-COMMANDS ENTER-TUNNEL-COMMAND FOLLOW-RIVER-COMMAND
NUL-COMMAND) (GRAPHIC G-ALONG-FLUME) (FLAGS UNDERGROUND) (ACTION <ACOND () (<
EQUAL? ,ACTION ,SCOUT-COMMAND> <UPDATE-FSET ,HERE ,DONT-SCOUT> <FSET ,HERE ,
SCOUTED> <WPRINTD ,ACTOR> <PRINTI
", moving out ahead of us, brought back the report that the path
ahead climbed as it followed the underground river."> <COND (<EQUAL? ,ACTOR ,
HURTH> <CRLF> <CRLF> <PRINTI
"\"If these caverns are laid out as I surmise, we can follow it to reach
the forest above,\" he remarked.">)> <RTRUE>) (<EQUAL? ,ACTION ,
FOLLOW-RIVER-COMMAND> <REMOVE-TRAVEL-COMMAND> <UPDATE-FSET ,HERE ,DONT-SCOUT> <
PRINTI "We started ahead, climbing along the side of the raging river; a dim
light from up ahead grew brighter as we continued; this path would
surely lead out of the caverns. Not wishing to forego the exploration
of the lower regions, we retraced our steps, returning to the entrance
to the tunnel.">) (<EQUAL? ,ACTION ,ENTER-TUNNEL-COMMAND> <PRINTI
"The tunnel ran straight for a few hundred paces, ending finally
at the bottom of a wide stair. To our right, another path led
through a tall archway and to our left, a crudely made hole
entered the rock."> <CRLF> <CRLF> <PRINTI
"\"Praxix, you have done well,\" said Hurth, smiling broadly. \"This
would be the bottom of the stairs that start up high at the Bern i-Fen.
I had nearly lost hope of arriving here.\""> <COND (<OR <NOT <FSET? ,ESHER ,
IN-PARTY>> <NOT <FSET? ,BERGON ,IN-PARTY>>> <CRLF> <CRLF> <PRINTI
"\"Indeed, though I regret we are not all here to see it,\"
Praxix replied quietly. \"There is great evil within the earth; let
us hope there is great good also.\"">)> <CRLF> <CRLF> <PRINTI
"\"Am I the only one that hears something peculiar?\" I asked."> <CRLF> <CRLF>
<PRINTI "\"I was about to say the same thing,\" answered Hurth. \"It sounds
to me like someone chipping away at rock somewhere down the passage
to the left.\""> <MOVE-TO ,MINE-LOWER-STAIR>)>)>
<DEFINE-ROUTINE ANONF-248>
<COMMAND MINES>
<ROOM MINE-LOWER-STAIR (TRAVEL-COMMANDS UP-COMMAND LEFT-COMMAND RIGHT-COMMAND
BACK-COMMAND) (GRAPHIC G-D-STAIR-BOTTOM) (FLAGS UNDERGROUND) (ENTER FSET-SEEN)
(ACTION <ACOND () (<AND <EQUAL? ,ACTION ,SCOUT-COMMAND> <NOT <QSET? ,HERE ,
SCOUTED>> <NOT <FSET? ,MINER-PASSAGE ,SEEN>>> <UPDATE-FSET ,HERE ,DONT-SCOUT> <
PRINTI "We sent "> <WPRINTD ,ACTOR> <PRINTI
" off to find the source of the tapping sound. Indeed,
it was coming from the path on the left, inside some sort of mine.">) (<EQUAL?
,ACTION ,UP-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI
"It took only a short walk up the stairs to "> <COND (<FSET? ,MINE-2-W ,TRAPPED
> <PRINTI "confirm what we already knew:">) (T <PRINTI "discover that">)> <
PRINTI " the stairs were almost utterly destroyed, by what tremendous
force, we would never know."> <COND (<NOT <IN? ,SPIRIT-STONE ,INVENTORY>> <CRLF
> <CRLF> <PRINTI
"\"Someone, or something, preferred that this region be sealed off,
and did quite a fine job of it,\" Praxix commented. \"It would seem
likely, then, that the Stone which we seek lies close at hand. But in
which direction?\"">)> <RTRUE>) (<EQUAL? ,ACTION ,BACK-COMMAND> <COND (<FSET? ,
BERGON ,BUSY> <PRINTI
"In a short time, we were back at the side of the underground river,
and we rushed back to the shore of the pool hoping that Bergon was
still alive."> <MOVE-TO ,FLUME-POOL>) (T <END-PART-TWO-A> <RTRUE>)>) (<EQUAL? ,
ACTION ,RIGHT-COMMAND> <COND (<FSET? ,GATE-JUNCTION ,SEEN> <
REMOVE-TRAVEL-COMMAND ,HERE ,RIGHT-COMMAND> <PRINTI
"Again, we tried the right-hand path, finding ourselves back in the
vestibule that we had explored earlier.">) (T <PRINTI
"The right-hand path led to a wide vestibule with paths leading both left
and right, but while the right path was wide and ornate, the one to the
left was crudely constructed.">)> <MOVE-TO ,GATE-JUNCTION>) (<EQUAL? ,ACTION ,
LEFT-COMMAND> <CHANGE-TRAVEL-COMMAND ,HERE ,LEFT-COMMAND ,MINES-COMMAND> <
PRINTI "The passage twisted and wound its way through the rock until we
came to a small, open chamber from which two passages led.
One, supported by old wooden beams, appeared to be an abandoned mine
of some sort. The other appeared to be a more recent excavation, and
the tapping sound was coming from that direction."> <CRLF> <CRLF> <PRINTI
"\"It would appear we have company,\" Praxix said, motioning to the
newer mine."> <MOVE-TO ,MINE-JUNCTION>) (<EQUAL? ,ACTION ,MINES-COMMAND> <COND
(<QSET? ,HERE ,BLACK-MIX> <REMOVE-TRAVEL-COMMAND>)> <PRINTI
"Once again, our party followed the twisting passage that led to the
entrance of the two mines. As it had before, a tapping sound issued from the
newer of them"> <COND (<FSET? ,ACTIVE-MINE ,SOLVED> <PRINTI
"; the miner was a tireless worker indeed">)> <PRINTI "."> <MOVE-TO ,
MINE-JUNCTION>)>)>
<DEFINE-ROUTINE ANONF-249>
<COMMAND OLD-MINE>
<COMMAND NEW-MINE>
<ROOM MINE-JUNCTION (TRAVEL-COMMANDS OLD-MINE-COMMAND NEW-MINE-COMMAND
NUL-COMMAND) (FLAGS UNDERGROUND) (ENTER <EXECUTE () <GRAPHIC ,G-MINE-JUNCTION>
<COND (<AND <NOT <FSET? ,OLD-MINE ,SEEN>> <NOT <FSET? ,MINER-PASSAGE ,SEEN>> <
NOT <QSET? ,HERE ,BLACK-MIX>>> <ADD-TRAVEL-COMMAND ,HERE ,BACK-COMMAND>)> <COND
(<FSET? ,OLD-MINE ,GRAY-MIX> <GRAPHIC #ZLOCAL!-IZILCH FALSE-VALUE ,
G-MINE-JUNCTION-2 ,BOTTOM-LEFT>)> <FSET ,HERE ,SEEN> <COND (<OR <FSET? ,
OLD-MINE ,SEEN> <FSET? ,MINER-PASSAGE ,SEEN>> <UPDATE-FSET ,HERE ,DONT-SCOUT>)>
>) (ACTION <ACOND () (<EQUAL? ,ACTION ,SCOUT-COMMAND> <UPDATE-FSET ,HERE ,
DONT-SCOUT> <FSET ,HERE ,SCOUTED> <WPRINTD ,ACTOR> <PRINTI
" went off into both mines to check them out. \"The older mine is in
bad shape,\" he reported, \"I fear it is nearly ready to collapse.\"">) (<
EQUAL? ,ACTION ,BACK-COMMAND> <PRINTI
"Having done all the exploring we could in the mines, we returned to the
bottom of the stairs."> <REMOVE-TRAVEL-COMMAND ,MINE-LOWER-STAIR ,LEFT-COMMAND>
<MOVE-TO ,MINE-LOWER-STAIR>) (<EQUAL? ,ACTION ,NEW-MINE-COMMAND> <PRINTI
"We made our way through the passage until we came to a small round
chamber. At the far end, a cleft in the rock opened up a narrow
passage"> <COND (<NOT <QSET? ,MINER-PASSAGE ,SEEN>> <PRINTI
" through which a loud, tapping noise could be heard."> <CRLF> <CRLF> <PRINTI
"Praxix motioned toward the cleft. \"Shall we see who it is?\" he asked">)> <
MOVE-TO ,MINER-PASSAGE #ZLOCAL!-IZILCH STR?606>) (<EQUAL? ,ACTION ,
OLD-MINE-COMMAND> <COND (<FSET? ,OLD-MINE ,SEEN> <REMOVE-TRAVEL-COMMAND ,HERE ,
OLD-MINE-COMMAND> <PRINTI
"Again, I expressed my reservations about entering the old mine, but I
was assured by "> <WPRINTD #ZLOCAL!-IZILCH STACK> <PRINTI
" that we would not enter the mine again after having
one last look. Reluctantly, I agreed. The wall boards groaned and creaked
with our every step, and it appeared that a loud sneeze could bring the whole
mine down on top of us.">) (T <PRINTI
"I was not very comfortable about the decision to enter this old mine. The
ancient wooden beams which were intended to hold up the walls and roof
appeared barely able to help even themselves. As we moved, small pieces
of rock fell from above, and a disturbing sound, like a sick groan, came
from all around us.">)> <MOVE-TO ,OLD-MINE>)>)>
<DEFINE-ROUTINE ANONF-250>
<DEFINE-ROUTINE ANONF-251>
<OBJECT OLD-MINE-WALLS (SDESC "walls") (LOC OLD-MINE) (KBD 87) (FLAGS DONT-TAKE
) (EXBITS <+ ,HURTHBIT ,PRAXIXBIT>) (ACTION <ACOND () (<EQUAL? ,ACTION ,
EXAMINE-COMMAND> <CLEAR-EXBIT> <COND (<EQUAL? ,ACTOR ,HURTH> <PRINTI
"Hurth surveyed the walls of the old mine, and reported only that the
excavations here were not of recent origin. He also expressed doubts as
to our safety.">) (T <UPDATE-REMOVE ,OLD-MINE-WALLS> <COND (<NOT <GETP ,
OLD-MINE-WALLS ,P?EXBITS>> <PRINTI "Unlike Hurth, Praxix">) (T <PRINTI
"Praxix, carefully examining the excavations,">)> <PRINTI
" found something quite remarkable in the walls: a vein of blue-green rock
coursing through the granite and marble. Excited by his discovery, he chipped
away a small piece with his staff. The rock crumbled easily in his fingers, and
its taste was indeed bitter. "> <COND (<FSET? ,REAGENT ,SOLVED> <PRINTI
"\"This is the same reagent we were given by Garlimon,\" he said. \"I
would suggest taking some more, as we may need it later.\"">) (T <PRINTI
"\"This is the reagent Astrix told us about,\" he said. \"Let us
take some while we have the chance!\"">)> <COND (<AND <FSET? ,REAGENT ,SOLVED>
<FSET? ,HURTH ,IN-PARTY>> <CRLF> <CRLF> <PRINTI
"Hurth, who had been carefully surveying the mine structure, was
concerned. \"We already have some of this magical rock, or whatever you call
it. The roof seems near to collapse, and I fear to disturb the mine
even a little,\" he said urgently. \"Let us leave while it is still
possible!\"">)> <FSET ,HERE ,ADVISE> <TRAVEL-COMMANDS ,HERE ,MINE-ROCK-COMMAND
,BACK-COMMAND>)>)>)>
<DEFINE-ROUTINE ANONF-252>
<ROOM OLD-MINE (TRAVEL-COMMANDS BACK-COMMAND NUL-COMMAND NUL-COMMAND) (FLAGS
UNDERGROUND DONT-SCOUT DANGEROUS) (ENTER <EXECUTE () <FSET ,HERE ,SEEN> <
GRAPHIC ,G-ACTIVE-MINE ,G-OLD-MINE ,TOP-LEFT>>) (ACTION <ACOND () (<EQUAL? ,
ACTION ,GET-ADVICE-COMMAND> <UPDATE-FCLEAR ,HERE ,ADVISE> <PRINTI
"\"Well, what do you think?\" "> <WPRINTD ,ACTOR> <PRINTI
" asked the assembled group."> <CRLF> <CRLF> <COND (<IN? ,REAGENT ,INVENTORY> <
PRINTI "\"I am certain this is a magical reagent,\" Praxix replied, \"It may
be powerful and an aid in time of crisis. I vote for mining the rock.\"">) (T <
PRINTI "The consensus was that it would be too dangerous to do so, yet Praxix,
understanding the value of things magical, appeared to favor gaining
some more.">)>) (<EQUAL? ,ACTION ,MINE-ROCK-COMMAND> <REMOVE-TRAVEL-COMMAND> <
FSET ,HERE ,DANGEROUS> <PRINTI
"Using our primitive tools, we hammered at the rock until we
had taken enough of the magical reagent. And although we
were pleased at our discovery, we were also aware that the groaning
noises we had heard earlier were now louder and more ominous."> <CRLF> <CRLF> <
FSET ,HERE ,SOLVED> <UPDATE-FCLEAR ,HERE ,ADVISE> <COND (<NOT <QSET? ,REAGENT ,
SOLVED>> <FIXUP-PRAXIX-COMMANDS>)> <COND (<NOT <IN? ,REAGENT ,REAGENTS>> <MOVE
,REAGENT ,REAGENTS>) (T <PUT ,ESSENCE-TBL ,BLUEOFF #ZLOCAL!-IZILCH STACK>)> <
PRINTI "\"Let's get out of here!\" I shouted. \"The mine's about to collapse!\""
>) (<EQUAL? ,ACTION ,BACK-COMMAND> <COND (<FSET? ,HERE ,SOLVED> <
REMOVE-TRAVEL-COMMAND ,MINE-JUNCTION ,OLD-MINE-COMMAND> <FSET ,OLD-MINE ,
GRAY-MIX> <COND (<FSET? ,HURTH ,IN-PARTY> <KILLED-OFF ,HURTH> <HINT ,
HINT-OLD-MINE> <PRINTI
"The mine trembled violently as we made our way out, and large
pieces of roofing were starting to come down upon us. One hit
poor Hurth in the head, knocking him unconscious. We tried to
go back, but more of the mine collapsed. Incredibly, the rest
of us made it to safety, but Hurth was lost to us!">) (T <PRINTI
"The mine trembled violently as we made our escape, as walls and
roofing collapsed at our heels. We were all safe, but this had
been a narrow escape, and the old mine was now completely inaccessible.">)>) (T
<PRINTI "We returned to the junction of the two mines. The tapping noise
was again coming from the newer mine."> <COND (<FSET? ,ACTIVE-MINE ,SOLVED> <
CRLF> <CRLF> <PRINTI
"\"Hard at work again,\" said Praxix, nodding toward the newer mine.
\"Quite a character!\"">)>)> <MOVE-TO ,MINE-JUNCTION>)>)>
<DEFINE-ROUTINE ANONF-253>
<DEFINE-ROUTINE ANONF-254>
<COMMAND (ORNATE-PATH ORNATE)>
<COMMAND (CRUDE-PATH CRUDE)>
<ROOM GATE-JUNCTION (TRAVEL-COMMANDS ORNATE-PATH-COMMAND CRUDE-PATH-COMMAND
BACK-COMMAND) (GRAPHIC G-GATE-JUNCTION) (FLAGS UNDERGROUND) (ENTER FSET-SEEN) (
ACTION <ACOND () (<EQUAL? ,ACTION ,SCOUT-COMMAND> <UPDATE-FSET ,HERE ,
DONT-SCOUT> <FSET ,HERE ,SCOUTED> <UPDATE-FSET ,HERE ,DONT-SCOUT> <COND (<AND <
NOT <FSET? ,TOMB-ANTE ,SEEN>> <NOT <FSET? ,MINE-HOLE ,SEEN>>> <COND (<EQUAL? ,
ACTOR ,HURTH> <PRINTI
"\"Both paths are fascinating,\" Hurth said, having quickly explored our two
alternatives. \"Come, have a look.\"">) (T <WPRINTD ,ACTOR> <PRINTI
" checked out both paths. \"You'll have to see this for yourself,\" he
said, bewildered. \"Each path is more bizarre than the other!\"">)>) (<EQUAL? ,
ACTOR ,HURTH> <WPRINTD ,ACTOR> <PRINTI
" was excited by what he discovered upon scouting out the path we had not
yet taken. \"Let me show you,\" he said.">) (T <WPRINTD ,ACTOR> <PRINTI
" took the path we had not yet taken, and reported that we had better take a
look for ourselves.">)>) (<EQUAL? ,ACTION ,BACK-COMMAND> <PRINTI
"Retracing our steps, we returned to the bottom of the stairs."> <MOVE-TO ,
MINE-LOWER-STAIR>) (<EQUAL? ,ACTION ,CRUDE-PATH-COMMAND> <COND (<FSET? ,
TOMB-ANTE ,SEEN> <FSET ,HERE ,DONT-SCOUT>)> <COND (<FSET? ,MINE-HOLE ,SEEN> <
REMOVE-TRAVEL-COMMAND ,HERE ,CRUDE-PATH-COMMAND> <FSET ,HERE ,TRAPPED> <PRINTI
"For the second and last time, we entered the crudely formed chamber
with the crack in the center."> <COND (,HOLE-VICTIM <CRLF> <CRLF> <PRINTI
"We had left our friend "> <WPRINTD ,HOLE-VICTIM> <PRINTI
" for dead not long before, and
still there was no response when we called down to him.">)>) (T <PRINTI
"We followed the winding path to a dead-end chamber, in the middle of which
a crack in the earth led into darkness.">)> <MOVE-TO ,MINE-HOLE>) (<EQUAL? ,
ACTION ,ORNATE-PATH-COMMAND> <COND (<FSET? ,MINE-HOLE ,SEEN> <FSET ,HERE ,
DONT-SCOUT>)> <PRINTI
"Our chosen path led through a richly carved vestibule, at the end of
which sat a formidable wooden door. "> <COND (<FSET? ,BERGON ,IN-PARTY> <PRINTI
"\"I hope it is open,\" Bergon
said wistfully, \"for I fear even an army would be hard put to break
through this!\"">) (T <PRINTI
"\"It had better be open,\" Praxix offered,
\"for I have not the magic to open this formidable a door.\"">)> <MOVE-TO ,
TOMB-ANTE>)>)>
<DEFINE-ROUTINE ANONF-255>
<GLOBAL HOLE-VICTIM <>>
<OBJECT TOMB-ANTE-DOOR (SDESC "door") (KBD 68) (LOC TOMB-ANTE) (FLAGS DONT-TAKE
) (ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <PRINTI
"It was "> <WPRINTD ,ACTOR> <PRINTI
" who finally approached the door, and attempted to open
it. \"I am sorry, "> <COND (<FSET? ,BERGON ,IN-PARTY> <PRINTI
"Bergon,\" he started, \"but we shall be needing your army after all!">) (<
EQUAL? ,ACTOR ,PRAXIX> <PRINTI
"but we shall need a miracle to get through this door.">) (T <PRINTI
"Praxix,\" he started, \"but it is magic that we need!\"">)> <PRINTI "\""> <
CRLF> <CRLF> <PRINTI
"\"Or the key,\" I added, pointing to the keyhole that lay in the
door's center."> <COND (<IN? ,IRON-KEY ,INVENTORY> <PRINTI
" Fumbling through my pack, I pulled out the key we had found at
the bottom of the nearby hole and held it out to "> <WPRINTD ,ACTOR> <PRINTI
". \"The key,\"
I said, and bowed as gracefully as I could.">)> <RTRUE>)>)>
<DEFINE-ROUTINE ANONF-256>
<COMMAND OPEN-DOOR>
<ROOM TOMB-ANTE (TRAVEL-COMMANDS OPEN-DOOR-COMMAND BACK-COMMAND NUL-COMMAND) (
CAST-LIMIT 2) (GRAPHIC G-MASSIVE-DOOR) (FLAGS UNDERGROUND) (ENTER <EXECUTE () <
FSET ,HERE ,SEEN> <COND (<IN? ,IRON-KEY ,INVENTORY> <FORCE-TRAVEL-COMMAND ,HERE
,OPEN-DOOR-COMMAND>)>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,GET-ADVICE-COMMAND>
<UPDATE-FCLEAR ,HERE ,ADVISE> <COND (<NOT <FSET? ,MINE-HOLE ,SEEN>> <PRINTI
"\"Why don't we see what's down the crude path?\" I suggested,
and this was met with a murmur of agreement.">) (T <PRINTI
"\"There's no use standing here by the door,\" Praxix said. \"I
don't believe it will open merely from force of will. Let us look
elsewhere for the solution.\"">)>) (<EQUAL? ,ACTION ,OPEN-DOOR-COMMAND> <COND (
<IN? ,IRON-KEY ,INVENTORY> <FCLEAR ,HERE ,ADVISE> <UPDATE-FSET ,IRON-KEY ,
DONT-EXAMINE> <PRINTI
"The iron key was a perfect fit for the lock. We were soon
inside a tall, rounded chamber. A beam of light from high
above illuminated a metallic vault inset into the floor of the
chamber. Inscribed in the stone around the vault were runes which
looked to be Dwarvish."> <UPDATE-FCLEAR ,IRON-KEY ,DONT-DROP> <MOVE-TO ,TOMB>)
(T <REMOVE-TRAVEL-COMMAND> <PRINTI
"Trying to force the door open would be fruitless; another way would
have to be found if we were to get inside."> <REMOVE-PARTY-COMMAND ,
ENTER-COMMAND> <UPDATE-FSET ,HERE ,ADVISE>)>) (<EQUAL? ,ACTION ,BACK-COMMAND> <
COND (<FSET? ,GATE-JUNCTION ,TRAPPED> <PRINTI
"We had failed in our attempts to pass through the door, and decided
to return to the bottom of the stairs and consider whether there were
any other options left open to us in these caverns."> <REMOVE-TRAVEL-COMMAND ,
MINE-LOWER-STAIR ,RIGHT-COMMAND> <MOVE-TO ,MINE-LOWER-STAIR>) (T <MOVE-TO ,
GATE-JUNCTION #ZLOCAL!-IZILCH STR?616>)>)>)>
<DEFINE-ROUTINE ANONF-257>
<DEFINE-ROUTINE ANONF-258>

728
flume.zap Normal file
View file

@ -0,0 +1,728 @@
.SEGMENT "CAVERNS"
.FUNCT ANONF-242:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL1 UPDATE-MOVE
ICALL2 WPRINTD,ACTOR
PRINTI " took a moment to look over the carnage; over two dozen orcs were piled on the ground, most of them dispatched single-handedly by Hurth."
FSET? ESHER,IN-PARTY \?PRD7
FSET? ESHER,BUSY /?CCL5
?PRD7: FSET? BERGON,BUSY \TRUE
?CCL5: PRINTI " But there was no joy in our victory - we had paid a heavy price!"
RTRUE
.FUNCT ANONF-243:ANY:0:0,TMP
EQUAL? ACTION,SCENE-START-COMMAND \?CCL3
MOVE MINE-ORCS,HERE
SET 'OPPONENT,MINE-ORCS
ICALL1 PRINT-CHARACTER-COMMANDS
SET 'UPDATE-FLAG,FALSE-VALUE
ICALL CHANGE-CIT,BERGON,1,NUL-COMMAND,FALSE-VALUE
ICALL CHANGE-CIT,HURTH,1,NUL-COMMAND
ZERO? MIX-DONE /?CND4
ICALL CHANGE-CIT,PRAXIX,2,USE-MIX-COMMAND
?CND4: ICALL2 NUL-PARTY-COMMAND,RETREAT-COMMAND
ICALL2 NUL-PARTY-COMMAND,PARLEY-COMMAND
SET 'COMBAT-ROUND,-1
RETURN COMBAT-ROUND
?CCL3: EQUAL? ACTION,SCENE-END-COMMAND \?CCL7
FSET? HERE,SOLVED /FALSE
ICALL UPDATE-MOVE,MINE-ORC-BODIES,HERE
ICALL2 UPDATE-REMOVE,MINE-ORCS
ICALL UPDATE-FCLEAR,PRAXIX,BUSY
CRLF
CRLF
PRINTI "The fight was over; Bergon was slumped on the ground, rapidly losing his battle for life."
FSET? ESHER,IN-PARTY \?CND11
PRINTI " Esher fared worse still, and died in Praxix' arms before the Wizard could begin to help."
ICALL2 KILLED-OFF,ESHER
?CND11: ZERO? COMBAT-SPELL /?CND13
PRINTI " Praxix, no longer concerned with the spell he was preparing, tossed the mixed powders to the ground and rushed to Bergon's side."
?CND13: ICALL UPDATE-MOVE,BERGON-OBJECT,HERE
FCLEAR BERGON-OBJECT,DONT-EXAMINE
PUTP HERE,P?TEMP,MOVE-NUMBER
RTRUE
?CCL7: EQUAL? ACTION,COMBAT-RESULT-COMMAND \?CCL16
ZERO? COMBAT-ROUND \?CCL19
PRINTI "The first orcs started to come through the hole, and we had an easy time dispatching them as they came. After four were killed, they stopped coming for a time. All was quiet, and yet we felt certain that we had not seen the last of these orcs."
CRLF
CRLF
PRINTI "At once, the quiet was broken as the orcs started a guttural chant, and their harsh footsteps could again be heard just outside of the chamber!"
CRLF
CRLF
PRINTI """It seems we are trapped,"" Bergon said, gloomily, ""and the orcs come yet again."""
EQUAL? COMBAT-SPELL,TREMOR-SPELL \TRUE
CRLF
CRLF
PRINTI """It seems we are trapped, yes,"" Praxix repeated, ""but things are not always what they seem!"""
RTRUE
?CCL19: EQUAL? COMBAT-ROUND,1 \?CCL23
PRINTI "The orcs, sensing the folly in entering our midst singly, now changed their strategy, and pushed over themselves into the chamber. They paid dearly for the effort, and their bodies soon piled up near the entry. But they were successful, and a few orcs now arrived among us. Hurth was exceedingly strong, and killed a few more orcs with his broadsword. Bergon, too, fought well, but he was soon hit by the side of an orc's axe, and stumbled backward on the ground."
ICALL UPDATE-MOVE,BERGON-OBJECT,HERE
ICALL MAKE-BUSY,BERGON,ILL-COMMAND
JUMP ?CND17
?CCL23: EQUAL? COMBAT-ROUND,2 \?CCL25
PRINTI "On and on they came, slowed somewhat by the carnage at the chamber's entrance. I killed two orcs that were threatening Bergon, but he was hit yet again, and soon lay unconscious on the ground. Hurth again bore the brunt of our offense, and soon claimed a dozen orcs with only a few minor wounds."
EQUAL? COMBAT-SPELL,TREMOR-SPELL \?CND26
CRLF
CRLF
PRINTI """If we are not trapped,"" I said, remarking on Praxix' obtuse comment of a few moments ago, ""this would be a good time to show us."""
?CND26: ICALL MAKE-BUSY,BERGON,ILL-COMMAND
?CND17: ZERO? COMBAT-SPELL /TRUE
SUB COMBAT-ROUND,COMBAT-SPELL-ROUND
GRTR? STACK,1 \TRUE
EQUAL? COMBAT-SPELL,TREMOR-SPELL \?CCL36
CRLF
CRLF
PRINTI "At last, Praxix was ready to cast his spell. ""Back! This way!"" he shouted, leading us to the farthest spot from the entrance. But I would not leave Bergon behind, and I managed to avoid injury as I dragged him out of harm's way. And then, with our party a safe distance from the orcs, the spell was cast, and the ground shook mightily."
CRLF
CRLF
FSET HERE,SOLVED
ICALL SCENE,FALSE-VALUE,TRAVEL-MODE
ICALL2 FLUME-TREMOR,TRUE-VALUE
RTRUE
?CCL25: PRINTI "The last few orcs in the raiding party were now here, but we were strong enough to defeat them."
FSET? ESHER,IN-PARTY \?CND28
ICALL MAKE-BUSY,ESHER,ILL-COMMAND
PRINTI " As the last of them went down, he slashed Esher in the chest. Bleeding badly, Esher slumped to the floor, as Hurth killed the last of the living attackers."
?CND28: ICALL2 HINT,HINT-TREMOR
ICALL TRAVEL-COMMANDS,HERE,BACK-COMMAND
ICALL2 END-COMBAT,FALSE-VALUE
ICALL MAKE-BUSY,BERGON,ILL-COMMAND
RTRUE
?CCL36: ICALL CHANGE-CIT,PRAXIX,1,NUL-COMMAND
SET 'COMBAT-SPELL,FALSE-VALUE
CRLF
CRLF
PRINTI "Praxix' spell was now prepared, but he reluctantly concluded that it would do no good in the midst of this pandemonium."
RTRUE
?CCL16: EQUAL? ACTION,USE-MIX-COMMAND \?CCL38
EQUAL? MIXTURE,ANIMATE-SPELL \?CCL38
EQUAL? ACTION-OBJECT,BERGON-OBJECT \?CCL38
PRINTI "Praxix tried to reach Bergon with his mixture, but there were orcs between their positions, and would have faced certain death in the attempt."
ICALL CHANGE-CIT,PRAXIX,2,NUL-COMMAND
SET 'MIX-DONE,FALSE-VALUE
RTRUE
?CCL38: EQUAL? ACTION,USE-MIX-COMMAND \?CCL43
EQUAL? MIXTURE,ANIMATE-SPELL \?CCL43
EQUAL? ACTION-OBJECT,MINE-ORCS \?CCL43
PRINTI "Praxix cast his mixture on the orcs, but the only effect was that of making the orcs somewhat stronger than they had been previously."
ICALL CHANGE-CIT,PRAXIX,2,NUL-COMMAND
SET 'MIX-DONE,FALSE-VALUE
RTRUE
?CCL43: EQUAL? ACTION,CAST-COMMAND \FALSE
ZERO? COMBAT-SPELL \FALSE
SET 'COMBAT-SPELL,ACTION-OBJECT
SET 'COMBAT-SPELL-ROUND,COMBAT-ROUND
ICALL2 MAKE-BUSY,PRAXIX
PRINTI "Praxix, meanwhile, was attempting to cast his "
ICALL2 WPRINTD,COMBAT-SPELL
PRINTI " spell. But these things take time, and we weren't counting on any quick results."
RTRUE
.FUNCT ANONF-244:ANY:0:0
CALL QSET?,MINE-FIGHT,SEEN
ZERO? STACK \FALSE
GETPT BERGON,P?FIGHT-COMMANDS
PUT STACK,0,NUL-COMMAND
GETPT HURTH,P?FIGHT-COMMANDS
PUT STACK,0,NUL-COMMAND
CRLF
CRLF
PRINTI "Drawing our weapons, we prepared for battle. It was clear that we had one obvious advantage and one obvious disadvantage. What's more, they were one and the same - the narrow entry into our chamber."
CRLF
CRLF
PRINTI "On the one hand, it would be a simple matter to dispatch the orcs one at a time as they stumbled into our midst. On the other hand, they might not oblige us, in which case we were trapped."
CALL SCENE,MINE-FIGHT,FIGHT-MODE
RSTACK
.FUNCT ANONF-245:ANY:0:0
FSET? BERGON,BUSY \?CCL3
EQUAL? PARTY-MODE,TRAVEL-MODE \?CCL3
GETP HERE,P?TEMP
ADD STACK,2
GRTR? MOVE-NUMBER,STACK \?CCL3
PRINTI "It mattered little what we chose to do next. Bergon was dead, and our mission a failure! We retreated as we had come, fortunate indeed to have escaped another group of orcs that had been approaching, and appeared finally before Astrix. His face was grim and determined."
CRLF
CRLF
ICALL2 HINT,HINT-WOUNDS
CALL1 PART-ONE-BAD-ENDING
RSTACK
?CCL3: EQUAL? ACTION,EXAMINE-COMMAND \?CCL8
EQUAL? ACTION-OBJECT,BERGON-OBJECT \?CCL8
ICALL UPDATE-FSET,BERGON-OBJECT,DONT-EXAMINE
ICALL2 WPRINTD,ACTION-OBJECT
PRINTI " was badly hurt, as "
ICALL2 WPRINTD,ACTOR
PRINTI " was quick to recognize. He would die soon unless we acted; but what could we do?"
RTRUE
?CCL8: FSET? BERGON,BUSY \?CCL12
EQUAL? ACTION,USE-MIX-COMMAND \?CCL12
EQUAL? MIXTURE,ANIMATE-SPELL \?CCL12
EQUAL? ACTION-OBJECT,BERGON-OBJECT \?CCL12
ICALL UPDATE-MOVE,BERGON-OBJECT,RANDOM-OBJECTS
PRINTI "Praxix cast his mixture at Bergon; for a moment, it appeared that nothing would happen. But then, as we watched, his wounds began to heal and in a matter of minutes he was as strong as on the day we had embarked on our journey."
CRLF
CRLF
PRINTI """A powerful enchantment!"" said Praxix"
FSET? HERMIT-POWDER,SEEN \?CCL19
PRINTI ", ""I wonder if old Garlimon knew the power his gift possessed!"""
JUMP ?CND17
?CCL19: PRINTC 46
?CND17: ICALL1 MIXTURE-CAST
SET 'UPDATE-FLAG,TRUE-VALUE
ICALL TRAVEL-COMMANDS,HERE,BACK-COMMAND
FSET HERE,BLUE-MIX
CALL1 CLEAR-BUSY
RSTACK
?CCL12: EQUAL? ACTION,BACK-COMMAND \?CCL21
ICALL1 REMOVE-TRAVEL-COMMAND
FSET? BERGON,BUSY \?CCL24
ICALL2 REMOVE-PARTY-COMMAND,BACK-COMMAND
PRINTI "Nearly panicked, I started to run from the chamber, but was held back by Praxix. ""We must not leave our friend while he lays alive,"" he said."
RTRUE
?CCL24: FSET? HERE,BLUE-MIX \?CCL26
PRINTI "We were trapped now, or nearly so; more orcs were nearby, perhaps alerted by the ones we had just narrowly defeated. We retreated as we had come, fortunate indeed to have escaped another group of orcs that had been approaching, and appeared finally before Astrix. His face was grim and determined."
CRLF
CRLF
CALL1 PART-ONE-BAD-ENDING
RSTACK
?CCL26: PRINTI "We started back toward the junction, but more orcs could be heard there as well. It appeared we were trapped!"
RTRUE
?CCL21: EQUAL? SCENE-OBJECT,MINE-FIGHT /FALSE
EQUAL? ACTION,CAST-COMMAND \FALSE
EQUAL? ACTION-OBJECT,TREMOR-SPELL \FALSE
CALL1 FLUME-TREMOR
RSTACK
.FUNCT FLUME-TREMOR:ANY:0:1,FIGHT?,BI
FSET? BERGON,BUSY \?CND1
SET 'BI,TRUE-VALUE
?CND1: ZERO? FIGHT? \?CND3
PRINTI "Praxix now began to concentrate on the fact that we were trapped. On a hunch, he took some earth essence from his pouch and cast it upon the ground beneath our feet."
CRLF
CRLF
?CND3: PRINTI """What do you think...,"" was as far as "
ZERO? BI /?CCL7
PRINTI "Hurth"
JUMP ?CND5
?CCL7: PRINTI "Bergon"
?CND5: PRINTI " got before the rock beneath our feet gave way, sending us plunging into a frigid river some dozen feet below."
CRLF
CRLF
PRINTI "The water ran swiftly through this underground flume, and we were tossed and buffeted mercilessly as we tumbled our way down the tortuous gorge. Finally, we were thrown over a ten-foot waterfall and landed in a deep, wide pool, from which it was a short swim to the water's edge."
CRLF
CRLF
PRINTI """What do you think you're doing?"" yelled "
ZERO? BI /?CCL10
PRINTI "Hurth"
JUMP ?CND8
?CCL10: PRINTI "Bergon"
?CND8: PRINTI ", finally finishing his previous thought."
CRLF
CRLF
PRINTI """As I recall, we were all curious about the source of the water sounds. Also, it seems we were in need of some means of escape. I believe I have found both,"" Praxix said proudly."
ZERO? BI /?CND11
PRINTI " ""Now help me here with Bergon."" And Bergon was clearly in need of help; bleeding profusely, he would not survive long!"
?CND11: ZERO? FIGHT? /?CND13
CRLF
CRLF
PRINTI """At least we seem to be rid of those orcs,"" I offered, ""I suppose they are afraid of water."""
CRLF
CRLF
PRINTI """More likely they suppose us to have died in the fall,"" Praxix replied."
?CND13: ZERO? BI /?CND15
ICALL UPDATE-MOVE,BERGON-OBJECT,FLUME-POOL
FCLEAR BERGON-OBJECT,DONT-EXAMINE
?CND15: ICALL2 MOVE-TO,FLUME-POOL
ZERO? BI /TRUE
ICALL MAKE-BUSY,BERGON,ILL-COMMAND
RTRUE
.ENDSEG
.SEGMENT "MINES"
.FUNCT ANONF-246:ANY:0:0
CALL QSET?,HERE,SEEN
ZERO? STACK /TRUE
FSET HERE,TRAPPED
ICALL2 PARTY-ADD,BERGON
ICALL MAKE-BUSY,BERGON,ILL-COMMAND
CRLF
CRLF
PRINTI "Bergon was here, slumped against a wall; he was dying, that was certain."
RTRUE
.FUNCT ANONF-247:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \?CCL3
EQUAL? ACTION-OBJECT,BERGON-OBJECT \?CCL3
ICALL UPDATE-FSET,BERGON-OBJECT,DONT-EXAMINE
FSET? HERE,TRAPPED \?CCL8
ICALL2 WPRINTD,ACTOR
PRINTI " went over to look at Bergon; his pulse was slow, his breathing irregular. Shaking his head sadly, he returned to the group."
RTRUE
?CCL8: ICALL2 WPRINTD,ACTOR
PRINTI " examined Bergon briefly. ""He's got a punctured lung, and a good deal of other internal damage from his wounds,"" he reported. ""He's also lost a great deal of blood. Unless we do something quickly, I'm afraid he's going to die."" He then did what he could to stop Bergon's bleeding, but his actions were merely palliative."
RTRUE
?CCL3: EQUAL? ACTION,USE-MIX-COMMAND \?CCL10
EQUAL? ACTION-OBJECT,BERGON-OBJECT \?CCL10
EQUAL? MIXTURE,ANIMATE-SPELL \?CCL10
FSET? BERGON,BUSY \?CCL10
ICALL1 MIXTURE-CAST
ICALL TRAVEL-COMMANDS,HERE,PROCEED-COMMAND
PRINTI "Praxix cast this strange enchantment at "
ICALL2 WPRINTD,ACTION-OBJECT
PRINTI "; for a moment, it appeared that nothing would happen. But then, as we watched, his wounds began to heal and in a matter of minutes he was as strong as on the day we had embarked on our journey."
CRLF
CRLF
PRINTI """A powerful enchantment!"" said Praxix"
FSET? HERMIT-POWDER,SEEN \?CCL17
PRINTI ", ""I wonder if old Garlimon knew the power his gift possessed!"""
JUMP ?CND15
?CCL17: PRINTC 46
?CND15: SET 'LEADER,BERGON
SET 'UPDATE-FLAG,TRUE-VALUE
ICALL UPDATE-MOVE,BERGON-OBJECT,RANDOM-OBJECTS
ICALL1 CLEAR-BUSY
FSET? MINE-LOWER-STAIR,SEEN \TRUE
CRLF
CRLF
ICALL1 END-PART-TWO-A
RTRUE
?CCL10: EQUAL? ACTION,PROCEED-COMMAND \?CCL21
FSET? HERE,TRAPPED /?CCL21
FSET? BERGON,BUSY \?CND24
ICALL2 PARTY-REMOVE,BERGON
PRINTI "It was undesirable to leave Bergon here, unattended, but we agreed there was no alternative. And so, making him as comfortable as we could, we left his side."
CRLF
CRLF
?CND24: PRINTI "A wide path followed the raging river upstream, and we followed it until we came to a tunnel leading back into what we supposed were the main chambers at this level."
CALL2 MOVE-TO,ALONG-FLUME
RSTACK
?CCL21: FSET? HERE,TRAPPED \FALSE
EQUAL? ACTION,USE-MIX-COMMAND /FALSE
EQUAL? ACTION,MIX-COMMAND /FALSE
CALL1 GAME-COMMAND?
ZERO? STACK \FALSE
PRINTI "Just then, Bergon's body heaved and his eyes opened. Praxix and I moved closer to him, and "
IN? SPIRIT-STONE,INVENTORY \?CCL34
PRINTI "Praxix held up the white stone to his view."
CRLF
CRLF
PRINTI "Bergon smiled faintly. ""It is very beautiful,"
JUMP ?CND32
?CCL34: PRINTI "tried our best to comfort him."
CRLF
CRLF
PRINTI "Bergon winced in pain. ""The Stone... You have found it?"
?CND32: PRINTI """ he whispered, and taking one last raspy breath, he expired in our arms."
CRLF
CRLF
PRINTI "We were silent a long while. What could we say about this brave man who had led us through so many dangers? We knew it would be impossible to bury him here and so, after a short ritual, we wrapped him in his cloak and cast him into the waters, watching him as he was carried out of sight into the very depths of the earth."
CRLF
CRLF
ICALL2 HINT,HINT-WOUNDS
FCLEAR BERGON,BUSY
ICALL2 KILLED-OFF,BERGON
ICALL1 END-PART-TWO-A
RTRUE
.FUNCT END-PART-TWO-A:ANY:0:0,TMP
PRINTI "We returned to the side of the river"
FSET? GATE-JUNCTION,SEEN /?CCL3
PRINTI ", and decided to continue our explorations in these lower regions of the caverns. This time, we took the right-hand path from the bottom of the stairs, and soon came to a wide vestibule with paths leading both left and right; but while the right path was wide and ornate, the one to the left was crudely constructed."
ICALL2 MOVE-TO,GATE-JUNCTION
RTRUE
?CCL3: FSET? TOMB,SEEN /?CCL5
FSET? TOMB-ANTE,SEEN \?CCL5
ICALL2 HINT,HINT-DOOR
JUMP ?CND1
?CCL5: FSET? TOMB,SEEN \?CND1
IN? TOMB-COFFIN,TOMB /?CND1
ICALL2 HINT,HINT-VAULT
?CND1: IN? SPIRIT-STONE,INVENTORY \?CCL13
PRINTI " with our goal accomplished"
JUMP ?CND11
?CCL13: PRINTI " in low spirits. We had explored these regions as best we could, but had not found the Stone that Astrix had said could be found here"
?CND11: GET KILLED-TBL,0 >TMP
GRTR? TMP,0 \?CND14
PRINTI ". Sadly, we had lost our friend"
GRTR? TMP,1 \?CND16
PRINTC 115
?CND16: ICALL2 TELL-WITH-COMMAS,KILLED-TBL
?CND14: PRINTI ". The path here continued to run along the river's edge, and we followed it for many hours, as it wound its way upward, finally rising out of the caverns and into the open air."
CRLF
CRLF
ZERO? A-B-FLAG \?CCL20
PRINTI """We are not far below the falls,"" I said, ""It should be a simple matter to find Astrix again from here."""
CRLF
CRLF
PRINTI "It was, in fact, only a few miles to the falls, and by the end of the day we had reached Astrix' tower on the Sunrise Mountain."
CALL1 PART-TWO-ENDING
RSTACK
?CCL20: LESS? PARTY-MAX,3 \?CCL22
CALL1 PART-TWO-TOO-FEW
RSTACK
?CCL22: PRINTI "We had emerged from the caverns only a few miles south of the falls we had just barely escaped earlier in our journey. Before us lay a forest that was quite a bit older and darker than the one in which the Elves lived."
ICALL2 SCENE,TANGLESCENE
CALL2 MOVE-TO,TANGLEWOOD-1
RSTACK
.FUNCT ANONF-248:ANY:0:0
EQUAL? ACTION,SCOUT-COMMAND \?CCL3
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
ICALL2 WPRINTD,ACTOR
PRINTI ", moving out ahead of us, brought back the report that the path ahead climbed as it followed the underground river."
EQUAL? ACTOR,HURTH \TRUE
CRLF
CRLF
PRINTI """If these caverns are laid out as I surmise, we can follow it to reach the forest above,"" he remarked."
RTRUE
?CCL3: EQUAL? ACTION,FOLLOW-RIVER-COMMAND \?CCL7
ICALL1 REMOVE-TRAVEL-COMMAND
ICALL UPDATE-FSET,HERE,DONT-SCOUT
PRINTI "We started ahead, climbing along the side of the raging river; a dim light from up ahead grew brighter as we continued; this path would surely lead out of the caverns. Not wishing to forego the exploration of the lower regions, we retraced our steps, returning to the entrance to the tunnel."
RTRUE
?CCL7: EQUAL? ACTION,ENTER-TUNNEL-COMMAND \FALSE
PRINTI "The tunnel ran straight for a few hundred paces, ending finally at the bottom of a wide stair. To our right, another path led through a tall archway and to our left, a crudely made hole entered the rock."
CRLF
CRLF
PRINTI """Praxix, you have done well,"" said Hurth, smiling broadly. ""This would be the bottom of the stairs that start up high at the Bern i-Fen. I had nearly lost hope of arriving here."""
FSET? ESHER,IN-PARTY \?CCL11
FSET? BERGON,IN-PARTY /?CND10
?CCL11: CRLF
CRLF
PRINTI """Indeed, though I regret we are not all here to see it,"" Praxix replied quietly. ""There is great evil within the earth; let us hope there is great good also."""
?CND10: CRLF
CRLF
PRINTI """Am I the only one that hears something peculiar?"" I asked."
CRLF
CRLF
PRINTI """I was about to say the same thing,"" answered Hurth. ""It sounds to me like someone chipping away at rock somewhere down the passage to the left."""
CALL2 MOVE-TO,MINE-LOWER-STAIR
RSTACK
.FUNCT ANONF-249:ANY:0:0
EQUAL? ACTION,SCOUT-COMMAND \?CCL3
CALL QSET?,HERE,SCOUTED
ZERO? STACK \?CCL3
FSET? MINER-PASSAGE,SEEN /?CCL3
ICALL UPDATE-FSET,HERE,DONT-SCOUT
PRINTI "We sent "
ICALL2 WPRINTD,ACTOR
PRINTI " off to find the source of the tapping sound. Indeed, it was coming from the path on the left, inside some sort of mine."
RTRUE
?CCL3: EQUAL? ACTION,UP-COMMAND \?CCL8
ICALL1 REMOVE-TRAVEL-COMMAND
PRINTI "It took only a short walk up the stairs to "
FSET? MINE-2-W,TRAPPED \?CCL11
PRINTI "confirm what we already knew:"
JUMP ?CND9
?CCL11: PRINTI "discover that"
?CND9: PRINTI " the stairs were almost utterly destroyed, by what tremendous force, we would never know."
IN? SPIRIT-STONE,INVENTORY /TRUE
CRLF
CRLF
PRINTI """Someone, or something, preferred that this region be sealed off, and did quite a fine job of it,"" Praxix commented. ""It would seem likely, then, that the Stone which we seek lies close at hand. But in which direction?"""
RTRUE
?CCL8: EQUAL? ACTION,BACK-COMMAND \?CCL15
FSET? BERGON,BUSY \?CCL18
PRINTI "In a short time, we were back at the side of the underground river, and we rushed back to the shore of the pool hoping that Bergon was still alive."
CALL2 MOVE-TO,FLUME-POOL
RSTACK
?CCL18: ICALL1 END-PART-TWO-A
RTRUE
?CCL15: EQUAL? ACTION,RIGHT-COMMAND \?CCL20
FSET? GATE-JUNCTION,SEEN \?CCL23
ICALL REMOVE-TRAVEL-COMMAND,HERE,RIGHT-COMMAND
PRINTI "Again, we tried the right-hand path, finding ourselves back in the vestibule that we had explored earlier."
JUMP ?CND21
?CCL23: PRINTI "The right-hand path led to a wide vestibule with paths leading both left and right, but while the right path was wide and ornate, the one to the left was crudely constructed."
?CND21: CALL2 MOVE-TO,GATE-JUNCTION
RSTACK
?CCL20: EQUAL? ACTION,LEFT-COMMAND \?CCL25
ICALL CHANGE-TRAVEL-COMMAND,HERE,LEFT-COMMAND,MINES-COMMAND
PRINTI "The passage twisted and wound its way through the rock until we came to a small, open chamber from which two passages led. One, supported by old wooden beams, appeared to be an abandoned mine of some sort. The other appeared to be a more recent excavation, and the tapping sound was coming from that direction."
CRLF
CRLF
PRINTI """It would appear we have company,"" Praxix said, motioning to the newer mine."
CALL2 MOVE-TO,MINE-JUNCTION
RSTACK
?CCL25: EQUAL? ACTION,MINES-COMMAND \FALSE
CALL QSET?,HERE,BLACK-MIX
ZERO? STACK /?CND28
ICALL1 REMOVE-TRAVEL-COMMAND
?CND28: PRINTI "Once again, our party followed the twisting passage that led to the entrance of the two mines. As it had before, a tapping sound issued from the newer of them"
FSET? ACTIVE-MINE,SOLVED \?CND30
PRINTI "; the miner was a tireless worker indeed"
?CND30: PRINTC 46
CALL2 MOVE-TO,MINE-JUNCTION
RSTACK
.FUNCT ANONF-250:ANY:0:0
ICALL2 GRAPHIC,G-MINE-JUNCTION
FSET? OLD-MINE,SEEN /?CND1
FSET? MINER-PASSAGE,SEEN /?CND1
CALL QSET?,HERE,BLACK-MIX
ZERO? STACK \?CND1
ICALL ADD-TRAVEL-COMMAND,HERE,BACK-COMMAND
?CND1: FSET? OLD-MINE,GRAY-MIX \?CND6
ICALL GRAPHIC,FALSE-VALUE,G-MINE-JUNCTION-2,BOTTOM-LEFT
?CND6: FSET HERE,SEEN
FSET? OLD-MINE,SEEN /?CCL10
FSET? MINER-PASSAGE,SEEN \FALSE
?CCL10: CALL UPDATE-FSET,HERE,DONT-SCOUT
RSTACK
.FUNCT ANONF-251:ANY:0:0
EQUAL? ACTION,SCOUT-COMMAND \?CCL3
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
ICALL2 WPRINTD,ACTOR
PRINTI " went off into both mines to check them out. ""The older mine is in bad shape,"" he reported, ""I fear it is nearly ready to collapse."""
RTRUE
?CCL3: EQUAL? ACTION,BACK-COMMAND \?CCL5
PRINTI "Having done all the exploring we could in the mines, we returned to the bottom of the stairs."
ICALL REMOVE-TRAVEL-COMMAND,MINE-LOWER-STAIR,LEFT-COMMAND
CALL2 MOVE-TO,MINE-LOWER-STAIR
RSTACK
?CCL5: EQUAL? ACTION,NEW-MINE-COMMAND \?CCL7
PRINTI "We made our way through the passage until we came to a small round chamber. At the far end, a cleft in the rock opened up a narrow passage"
CALL QSET?,MINER-PASSAGE,SEEN
ZERO? STACK \?CND8
PRINTI " through which a loud, tapping noise could be heard."
CRLF
CRLF
PRINTI "Praxix motioned toward the cleft. ""Shall we see who it is?"" he asked"
?CND8: CALL MOVE-TO,MINER-PASSAGE,STR?606
RSTACK
?CCL7: EQUAL? ACTION,OLD-MINE-COMMAND \FALSE
FSET? OLD-MINE,SEEN \?CCL14
ICALL REMOVE-TRAVEL-COMMAND,HERE,OLD-MINE-COMMAND
PRINTI "Again, I expressed my reservations about entering the old mine, but I was assured by "
CALL FIRST-IN-PARTY,BERGON,PRAXIX
ICALL2 WPRINTD,STACK
PRINTI " that we would not enter the mine again after having one last look. Reluctantly, I agreed. The wall boards groaned and creaked with our every step, and it appeared that a loud sneeze could bring the whole mine down on top of us."
JUMP ?CND12
?CCL14: PRINTI "I was not very comfortable about the decision to enter this old mine. The ancient wooden beams which were intended to hold up the walls and roof appeared barely able to help even themselves. As we moved, small pieces of rock fell from above, and a disturbing sound, like a sick groan, came from all around us."
?CND12: CALL2 MOVE-TO,OLD-MINE
RSTACK
.FUNCT ANONF-252:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL1 CLEAR-EXBIT
EQUAL? ACTOR,HURTH \?CCL6
PRINTI "Hurth surveyed the walls of the old mine, and reported only that the excavations here were not of recent origin. He also expressed doubts as to our safety."
RTRUE
?CCL6: ICALL2 UPDATE-REMOVE,OLD-MINE-WALLS
GETP OLD-MINE-WALLS,P?EXBITS
ZERO? STACK \?CCL9
PRINTI "Unlike Hurth, Praxix"
JUMP ?CND7
?CCL9: PRINTI "Praxix, carefully examining the excavations,"
?CND7: PRINTI " found something quite remarkable in the walls: a vein of blue-green rock coursing through the granite and marble. Excited by his discovery, he chipped away a small piece with his staff. The rock crumbled easily in his fingers, and its taste was indeed bitter. "
FSET? REAGENT,SOLVED \?CCL12
PRINTI """This is the same reagent we were given by Garlimon,"" he said. ""I would suggest taking some more, as we may need it later."""
JUMP ?CND10
?CCL12: PRINTI """This is the reagent Astrix told us about,"" he said. ""Let us take some while we have the chance!"""
?CND10: FSET? REAGENT,SOLVED \?CND13
FSET? HURTH,IN-PARTY \?CND13
CRLF
CRLF
PRINTI "Hurth, who had been carefully surveying the mine structure, was concerned. ""We already have some of this magical rock, or whatever you call it. The roof seems near to collapse, and I fear to disturb the mine even a little,"" he said urgently. ""Let us leave while it is still possible!"""
?CND13: FSET HERE,ADVISE
CALL TRAVEL-COMMANDS,HERE,MINE-ROCK-COMMAND,BACK-COMMAND
RSTACK
.FUNCT ANONF-253:ANY:0:0
FSET HERE,SEEN
CALL GRAPHIC,G-ACTIVE-MINE,G-OLD-MINE,TOP-LEFT
RSTACK
.FUNCT ANONF-254:ANY:0:0
EQUAL? ACTION,GET-ADVICE-COMMAND \?CCL3
ICALL UPDATE-FCLEAR,HERE,ADVISE
PRINTI """Well, what do you think?"" "
ICALL2 WPRINTD,ACTOR
PRINTI " asked the assembled group."
CRLF
CRLF
IN? REAGENT,INVENTORY \?CCL6
PRINTI """I am certain this is a magical reagent,"" Praxix replied, ""It may be powerful and an aid in time of crisis. I vote for mining the rock."""
RTRUE
?CCL6: PRINTI "The consensus was that it would be too dangerous to do so, yet Praxix, understanding the value of things magical, appeared to favor gaining some more."
RTRUE
?CCL3: EQUAL? ACTION,MINE-ROCK-COMMAND \?CCL8
ICALL1 REMOVE-TRAVEL-COMMAND
FSET HERE,DANGEROUS
PRINTI "Using our primitive tools, we hammered at the rock until we had taken enough of the magical reagent. And although we were pleased at our discovery, we were also aware that the groaning noises we had heard earlier were now louder and more ominous."
CRLF
CRLF
FSET HERE,SOLVED
ICALL UPDATE-FCLEAR,HERE,ADVISE
CALL QSET?,REAGENT,SOLVED
ZERO? STACK \?CND9
ICALL1 FIXUP-PRAXIX-COMMANDS
?CND9: IN? REAGENT,REAGENTS /?CCL13
MOVE REAGENT,REAGENTS
JUMP ?CND11
?CCL13: GET ESSENCE-TBL,BLUEOFF
ADD STACK,5
PUT ESSENCE-TBL,BLUEOFF,STACK
?CND11: PRINTI """Let's get out of here!"" I shouted. ""The mine's about to collapse!"""
RTRUE
?CCL8: EQUAL? ACTION,BACK-COMMAND \FALSE
FSET? HERE,SOLVED \?CCL18
ICALL REMOVE-TRAVEL-COMMAND,MINE-JUNCTION,OLD-MINE-COMMAND
FSET OLD-MINE,GRAY-MIX
FSET? HURTH,IN-PARTY \?CCL21
ICALL2 KILLED-OFF,HURTH
ICALL2 HINT,HINT-OLD-MINE
PRINTI "The mine trembled violently as we made our way out, and large pieces of roofing were starting to come down upon us. One hit poor Hurth in the head, knocking him unconscious. We tried to go back, but more of the mine collapsed. Incredibly, the rest of us made it to safety, but Hurth was lost to us!"
JUMP ?CND16
?CCL21: PRINTI "The mine trembled violently as we made our escape, as walls and roofing collapsed at our heels. We were all safe, but this had been a narrow escape, and the old mine was now completely inaccessible."
JUMP ?CND16
?CCL18: PRINTI "We returned to the junction of the two mines. The tapping noise was again coming from the newer mine."
FSET? ACTIVE-MINE,SOLVED \?CND16
CRLF
CRLF
PRINTI """Hard at work again,"" said Praxix, nodding toward the newer mine. ""Quite a character!"""
?CND16: CALL2 MOVE-TO,MINE-JUNCTION
RSTACK
.FUNCT ANONF-255:ANY:0:0
EQUAL? ACTION,SCOUT-COMMAND \?CCL3
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET? TOMB-ANTE,SEEN /?CCL6
FSET? MINE-HOLE,SEEN /?CCL6
EQUAL? ACTOR,HURTH \?CCL11
PRINTI """Both paths are fascinating,"" Hurth said, having quickly explored our two alternatives. ""Come, have a look."""
RTRUE
?CCL11: ICALL2 WPRINTD,ACTOR
PRINTI " checked out both paths. ""You'll have to see this for yourself,"" he said, bewildered. ""Each path is more bizarre than the other!"""
RTRUE
?CCL6: EQUAL? ACTOR,HURTH \?CCL13
ICALL2 WPRINTD,ACTOR
PRINTI " was excited by what he discovered upon scouting out the path we had not yet taken. ""Let me show you,"" he said."
RTRUE
?CCL13: ICALL2 WPRINTD,ACTOR
PRINTI " took the path we had not yet taken, and reported that we had better take a look for ourselves."
RTRUE
?CCL3: EQUAL? ACTION,BACK-COMMAND \?CCL15
PRINTI "Retracing our steps, we returned to the bottom of the stairs."
CALL2 MOVE-TO,MINE-LOWER-STAIR
RSTACK
?CCL15: EQUAL? ACTION,CRUDE-PATH-COMMAND \?CCL17
FSET? TOMB-ANTE,SEEN \?CND18
FSET HERE,DONT-SCOUT
?CND18: FSET? MINE-HOLE,SEEN \?CCL22
ICALL REMOVE-TRAVEL-COMMAND,HERE,CRUDE-PATH-COMMAND
FSET HERE,TRAPPED
PRINTI "For the second and last time, we entered the crudely formed chamber with the crack in the center."
ZERO? HOLE-VICTIM /?CND20
CRLF
CRLF
PRINTI "We had left our friend "
ICALL2 WPRINTD,HOLE-VICTIM
PRINTI " for dead not long before, and still there was no response when we called down to him."
JUMP ?CND20
?CCL22: PRINTI "We followed the winding path to a dead-end chamber, in the middle of which a crack in the earth led into darkness."
?CND20: CALL2 MOVE-TO,MINE-HOLE
RSTACK
?CCL17: EQUAL? ACTION,ORNATE-PATH-COMMAND \FALSE
FSET? MINE-HOLE,SEEN \?CND27
FSET HERE,DONT-SCOUT
?CND27: PRINTI "Our chosen path led through a richly carved vestibule, at the end of which sat a formidable wooden door. "
FSET? BERGON,IN-PARTY \?CCL31
PRINTI """I hope it is open,"" Bergon said wistfully, ""for I fear even an army would be hard put to break through this!"""
JUMP ?CND29
?CCL31: PRINTI """It had better be open,"" Praxix offered, ""for I have not the magic to open this formidable a door."""
?CND29: CALL2 MOVE-TO,TOMB-ANTE
RSTACK
.FUNCT ANONF-256:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL1 UPDATE-MOVE
PRINTI "It was "
ICALL2 WPRINTD,ACTOR
PRINTI " who finally approached the door, and attempted to open it. ""I am sorry, "
FSET? BERGON,IN-PARTY \?CCL6
PRINTI "Bergon,"" he started, ""but we shall be needing your army after all!"
JUMP ?CND4
?CCL6: EQUAL? ACTOR,PRAXIX \?CCL8
PRINTI "but we shall need a miracle to get through this door."
JUMP ?CND4
?CCL8: PRINTI "Praxix,"" he started, ""but it is magic that we need!"""
?CND4: PRINTC 34
CRLF
CRLF
PRINTI """Or the key,"" I added, pointing to the keyhole that lay in the door's center."
IN? IRON-KEY,INVENTORY \TRUE
PRINTI " Fumbling through my pack, I pulled out the key we had found at the bottom of the nearby hole and held it out to "
ICALL2 WPRINTD,ACTOR
PRINTI ". ""The key,"" I said, and bowed as gracefully as I could."
RTRUE
.FUNCT ANONF-257:ANY:0:0
FSET HERE,SEEN
IN? IRON-KEY,INVENTORY \FALSE
CALL FORCE-TRAVEL-COMMAND,HERE,OPEN-DOOR-COMMAND
RSTACK
.FUNCT ANONF-258:ANY:0:0
EQUAL? ACTION,GET-ADVICE-COMMAND \?CCL3
ICALL UPDATE-FCLEAR,HERE,ADVISE
FSET? MINE-HOLE,SEEN /?CCL6
PRINTI """Why don't we see what's down the crude path?"" I suggested, and this was met with a murmur of agreement."
RTRUE
?CCL6: PRINTI """There's no use standing here by the door,"" Praxix said. ""I don't believe it will open merely from force of will. Let us look elsewhere for the solution."""
RTRUE
?CCL3: EQUAL? ACTION,OPEN-DOOR-COMMAND \?CCL8
IN? IRON-KEY,INVENTORY \?CCL11
FCLEAR HERE,ADVISE
ICALL UPDATE-FSET,IRON-KEY,DONT-EXAMINE
PRINTI "The iron key was a perfect fit for the lock. We were soon inside a tall, rounded chamber. A beam of light from high above illuminated a metallic vault inset into the floor of the chamber. Inscribed in the stone around the vault were runes which looked to be Dwarvish."
ICALL UPDATE-FCLEAR,IRON-KEY,DONT-DROP
CALL2 MOVE-TO,TOMB
RSTACK
?CCL11: ICALL1 REMOVE-TRAVEL-COMMAND
PRINTI "Trying to force the door open would be fruitless; another way would have to be found if we were to get inside."
ICALL2 REMOVE-PARTY-COMMAND,ENTER-COMMAND
CALL UPDATE-FSET,HERE,ADVISE
RSTACK
?CCL8: EQUAL? ACTION,BACK-COMMAND \FALSE
FSET? GATE-JUNCTION,TRAPPED \?CCL16
PRINTI "We had failed in our attempts to pass through the door, and decided to return to the bottom of the stairs and consider whether there were any other options left open to us in these caverns."
ICALL REMOVE-TRAVEL-COMMAND,MINE-LOWER-STAIR,RIGHT-COMMAND
CALL2 MOVE-TO,MINE-LOWER-STAIR
RSTACK
?CCL16: CALL MOVE-TO,GATE-JUNCTION,STR?616
RSTACK
.ENDSEG
.ENDI

924
flume.zil Normal file
View file

@ -0,0 +1,924 @@
"FLUME for
JOURNEY
(c) Copyright 1988, 1989 Infocom, Inc. All Rights Reserved."
<BEGIN-SEGMENT CAVERNS>
<OBJECT MINE-ORC-BODIES
(FLAGS DONT-TAKE)
(SDESC "dead orcs")
(KBD %<ASCII !\D>)
(EXBITS <+ ,ESHERBIT ,PRAXIXBIT>)
(ACTION
<ACOND ()
(EXAMINE:REMOVE
<TELL ACT
" took a moment to look over the carnage; over two dozen orcs were
piled on the ground, most of them dispatched single-handedly by Hurth.">
<COND (<OR <AND <IN-PARTY? ,ESHER>
<FSET? ,ESHER ,BUSY>>
<FSET? ,BERGON ,BUSY>>
<TELL
" But there was no joy in our victory - we had paid a heavy price!">)>
<RTRUE>)>)>
<OBJECT MINE-ORCS
(FLAGS DONT-TAKE DONT-EXAMINE)
(SDESC "orcs")
(KBD %<ASCII !\O>)
(ATTACK 250 250)
(STATUS 100)
(RETREAT 0)>
<OBJECT MINE-FIGHT
(TEMP 0)
(ACTION
<ACOND ("AUX" TMP)
(SCENE-START
<MOVE ,MINE-ORCS ,HERE>
<SETG OPPONENT ,MINE-ORCS>
<PRINT-CHARACTER-COMMANDS>
<SETG UPDATE-FLAG <>>
<CHANGE-CIT ,BERGON 1 ,NUL-COMMAND <>>
<CHANGE-CIT ,HURTH 1 ,NUL-COMMAND>
<COND (,MIX-DONE
<CHANGE-CIT ,PRAXIX 2 ,USE-MIX-COMMAND>)>
<NUL-PARTY-COMMAND ,RETREAT-COMMAND>
<NUL-PARTY-COMMAND ,PARLEY-COMMAND>
<SETG COMBAT-ROUND -1>)
(SCENE-END
<COND (<NOT <FSET? ,HERE ,SOLVED>>
<UPDATE-MOVE ,MINE-ORC-BODIES ,HERE>
<UPDATE-REMOVE ,MINE-ORCS>
<UPDATE-FCLEAR ,PRAXIX ,BUSY>
<TELL CR CR
"The fight was over; Bergon was slumped on the ground, rapidly losing his
battle for life.">
<COND (<IN-PARTY? ,ESHER>
<TELL
" Esher fared worse still, and died in Praxix' arms before
the Wizard could begin to help.">
<KILLED-OFF ,ESHER>)>
<COND (,COMBAT-SPELL
<TELL
" Praxix, no longer concerned with the spell he was preparing, tossed the
mixed powders to the ground and rushed to Bergon's side.">)>
<UPDATE-MOVE ,BERGON-OBJECT ,HERE>
<FCLEAR ,BERGON-OBJECT ,DONT-EXAMINE>
<SET-TEMP ,MOVE-NUMBER>)>)
(COMBAT-RESULT
<COND (<ZERO? ,COMBAT-ROUND>
;<GRAPHIC <> ,G-DEAD-END-ORCS ,BOTTOM-LEFT>
<TELL
"The first orcs started to come through the hole, and we had an easy
time dispatching them as they came. After four were killed, they stopped
coming for a time. All was quiet, and yet we felt certain that we had
not seen the last of these orcs." CR CR>
<TELL
"At once, the quiet was broken as the orcs started a guttural chant,
and their harsh footsteps could again be heard just outside of the
chamber!" CR CR>
<TELL
"\"It seems we are trapped,\" Bergon said, gloomily, \"and the orcs
come yet again.\"">
<COND (<EQUAL? ,COMBAT-SPELL ,TREMOR-SPELL>
<TELL CR CR
"\"It seems we are trapped, yes,\" Praxix repeated, \"but things are not
always what they seem!\"">)>
<RTRUE>)
(<EQUAL? ,COMBAT-ROUND 1>
<TELL
"The orcs, sensing the folly in entering our midst singly, now changed their
strategy, and pushed over themselves into the chamber. They paid dearly
for the effort, and their bodies soon piled up near the entry. But
they were successful, and a few orcs now arrived among us. Hurth
was exceedingly strong, and killed a few more orcs with his broadsword.
Bergon, too, fought well, but he was soon hit by the side of an orc's axe,
and stumbled backward on the ground.">
<UPDATE-MOVE ,BERGON-OBJECT ,HERE>
<MAKE-BUSY ,BERGON ,ILL-COMMAND>)
(<EQUAL? ,COMBAT-ROUND 2>
<TELL
"On and on they came, slowed somewhat by the carnage at the chamber's
entrance. I killed two orcs that were threatening Bergon, but he was hit
yet again, and soon lay unconscious on the ground. Hurth again bore the
brunt of our offense, and soon claimed a dozen orcs with only a few minor
wounds.">
<COND (<EQUAL? ,COMBAT-SPELL ,TREMOR-SPELL>
<TELL CR CR
"\"If we are not trapped,\" I said, remarking on Praxix' obtuse
comment of a few moments ago, \"this would be a good time to show us.\"">)>
<MAKE-BUSY ,BERGON ,ILL-COMMAND>)
(T
<TELL
"The last few orcs in the raiding party were now here, but we were strong
enough to defeat them.">
<COND (<IN-PARTY? ,ESHER>
<MAKE-BUSY ,ESHER ,ILL-COMMAND>
<TELL
" As the last of them went down, he slashed Esher in the chest. Bleeding
badly, Esher slumped to the floor, as Hurth killed the last of the living
attackers.">)>
<HINT ,HINT-TREMOR>
<TRAVEL-COMMANDS ,HERE ,BACK-COMMAND>
<END-COMBAT <>>
<MAKE-BUSY ,BERGON ,ILL-COMMAND>
<RTRUE>)>
<COND (<AND ,COMBAT-SPELL
<G? <- ,COMBAT-ROUND ,COMBAT-SPELL-ROUND> 1>>
<COND (<EQUAL? ,COMBAT-SPELL ,TREMOR-SPELL>
<TELL CR CR
"At last, Praxix was ready to cast his spell. \"Back! This way!\" he
shouted, leading us to the farthest spot from the entrance. But I would
not leave Bergon behind, and I managed to avoid injury as I dragged him out
of harm's way. And then, with our party a safe distance from the orcs,
the spell was cast, and the ground shook mightily." CR CR>
<FSET ,HERE ,SOLVED>
<SCENE <> ,TRAVEL-MODE>
<FLUME-TREMOR T>)
(T
<CHANGE-CIT ,PRAXIX 1 ,NUL-COMMAND>
<SETG COMBAT-SPELL <>>
<TELL CR CR
"Praxix' spell was now prepared, but he reluctantly concluded that it would
do no good in the midst of this pandemonium.">)>)>
<RTRUE>)
(<AND <ACTION? USE-MIX>
<EQUAL? ,MIXTURE ,ANIMATE-SPELL>
<OBJECT? BERGON-OBJECT>>
<TELL
"Praxix tried to reach Bergon with his mixture, but there were orcs between
their positions, and would have faced certain death in the attempt.">
<CHANGE-CIT ,PRAXIX 2 ,NUL-COMMAND>
<SETG MIX-DONE <>>
<RTRUE>)
(<AND <ACTION? USE-MIX>
<EQUAL? ,MIXTURE ,ANIMATE-SPELL>
<OBJECT? MINE-ORCS>>
<TELL
"Praxix cast his mixture on the orcs, but the only effect was that of making
the orcs somewhat stronger than they had been previously.">
<CHANGE-CIT ,PRAXIX 2 ,NUL-COMMAND>
<SETG MIX-DONE <>>
<RTRUE>)
(<AND <ACTION? CAST>
<NOT ,COMBAT-SPELL>>
<SETG COMBAT-SPELL ,ACTION-OBJECT>
<SETG COMBAT-SPELL-ROUND ,COMBAT-ROUND>
<MAKE-BUSY ,PRAXIX>
<TELL
"Praxix, meanwhile, was attempting to cast his " D ,COMBAT-SPELL " spell.
But these things take time, and we weren't counting on any quick
results.">)>)>
<GLOBAL COMBAT-SPELL <>>
<GLOBAL COMBAT-SPELL-ROUND <>>
<ROOM ABOVE-FLUME
(TRAVEL-COMMANDS FIGHT-COMMAND NUL-COMMAND NUL-COMMAND)
(GRAPHIC G-DEAD-END)
(FLAGS UNDERGROUND DANGEROUS DONT-SCOUT)
(CAST-LIMIT INF)
(TEMP 0)
(ENTER
<EXECUTE ()
<COND (<NOT <QSET? ,MINE-FIGHT ,SEEN>>
;"No flanking from here on!"
<PUT <GETPT ,BERGON ,P?FIGHT-COMMANDS> 0 ,NUL-COMMAND>
<PUT <GETPT ,HURTH ,P?FIGHT-COMMANDS> 0 ,NUL-COMMAND>
<TELL CR CR
"Drawing our weapons, we prepared for battle. It was clear that we had
one obvious advantage and one obvious disadvantage. What's more, they were
one and the same - the narrow entry into our chamber." CR CR>
<TELL
"On the one hand, it would be a simple matter to dispatch the orcs one at
a time as they stumbled into our midst. On the other hand, they might not
oblige us, in which case we were trapped.">
<SCENE ,MINE-FIGHT ,FIGHT-MODE>)>>)
(ACTION
<ACOND ()
(<AND <FSET? ,BERGON ,BUSY>
<EQUAL? ,PARTY-MODE ,TRAVEL-MODE>
<G? ,MOVE-NUMBER <+ <GET-TEMP> 2>>>
<TELL
"It mattered little what we chose to do next. Bergon was dead, and our mission a
failure! We retreated as we had come, fortunate indeed to have escaped another group
of orcs that had been approaching, and appeared finally before Astrix. His face was
grim and determined." CR CR>
<HINT ,HINT-WOUNDS>
<PART-ONE-BAD-ENDING>)
(<AND <ACTION? EXAMINE>
<OBJECT? BERGON-OBJECT>>
<UPDATE-FSET ,BERGON-OBJECT ,DONT-EXAMINE>
<TELL AO " was badly hurt, as " ACT " was quick to recognize. He
would die soon unless we acted; but what could we do?">)
(<AND <FSET? ,BERGON ,BUSY>
<ACTION? USE-MIX>
<EQUAL? ,MIXTURE ,ANIMATE-SPELL>
<OBJECT? BERGON-OBJECT>>
<UPDATE-MOVE ,BERGON-OBJECT ,RANDOM-OBJECTS>
<TELL
"Praxix cast his mixture at Bergon; for a moment, it
appeared that nothing would happen. But then, as we watched, his
wounds began to heal and in a matter of minutes he was as strong
as on the day we had embarked on our journey.">
<TELL CR CR
"\"A powerful enchantment!\" said Praxix">
<COND (<FSET? ,HERMIT-POWDER ,SEEN>
<TELL ", \"I wonder if old Garlimon
knew the power his gift possessed!\"">)
(T
<TELL ".">)>
<MIXTURE-CAST>
<SETG UPDATE-FLAG T>
<TRAVEL-COMMANDS ,HERE ,BACK-COMMAND>
<FSET ,HERE ,BLUE-MIX>
<CLEAR-BUSY>)
(BACK:REMOVE
;"This means that the battle is over..."
<COND (<FSET? ,BERGON ,BUSY>
<REMOVE-PARTY-COMMAND ,BACK-COMMAND>
<TELL
"Nearly panicked, I started to run from the chamber, but was held back by
Praxix. \"We must not leave our friend while he lays alive,\" he said.">)
(<FSET? ,HERE ,BLUE-MIX>
<TELL
"We were trapped now, or nearly so; more orcs were nearby, perhaps alerted
by the ones we had just narrowly defeated. We retreated as we
had come, fortunate indeed to have escaped another group of orcs that
had been approaching, and appeared finally before Astrix. His face was grim
and determined." CR CR>
<PART-ONE-BAD-ENDING>)
(T
<TELL
"We started back toward the junction, but more orcs could be heard
there as well. It appeared we were trapped!">)>)
(<AND <NOT <EQUAL? ,SCENE-OBJECT ,MINE-FIGHT>>
<ACTION? CAST>
<OBJECT? TREMOR-SPELL>>
<FLUME-TREMOR>)>)>
<ROUTINE FLUME-TREMOR ("OPTIONAL" (FIGHT? <>) "AUX" (BI <>))
;<GRAPHIC ,G-FLUME>
<COND (<FSET? ,BERGON ,BUSY>
<SET BI T>)>
<COND (<NOT .FIGHT?>
<TELL
"Praxix now began to concentrate on the fact that we were trapped. On a hunch,
he took some earth essence from his pouch and cast it upon the ground beneath
our feet." CR CR>)>
<TELL
"\"What do you think...,\" was as far as ">
<COND (.BI <TELL "Hurth">)
(T <TELL "Bergon">)>
<TELL " got before the rock beneath our feet gave way, sending us plunging
into a frigid river some dozen feet below." CR CR>
<TELL
"The water ran swiftly through this underground flume, and we were
tossed and buffeted mercilessly as we tumbled our way down the tortuous
gorge. Finally, we were thrown over a ten-foot waterfall and landed in
a deep, wide pool, from which it was a short swim to the water's
edge." CR CR>
<TELL
"\"What do you think you're doing?\" yelled ">
<COND (.BI <TELL "Hurth">)
(T <TELL "Bergon">)>
<TELL ", finally finishing his previous thought." CR CR>
<TELL
"\"As I recall, we were all curious about the source of the water sounds.
Also, it seems we were in need of some means of escape. I believe
I have found both,\" Praxix said proudly.">
<COND (.BI
<TELL " \"Now help me here with Bergon.\" And Bergon
was clearly in need of help; bleeding profusely, he would not survive
long!">)>
<COND (.FIGHT?
<TELL CR CR
"\"At least we seem to be rid of those orcs,\" I offered, \"I suppose
they are afraid of water.\"" CR CR>
<TELL
"\"More likely they suppose us to have died in the fall,\" Praxix replied.">)>
<COND (.BI
<UPDATE-MOVE ,BERGON-OBJECT ,FLUME-POOL>
<FCLEAR ,BERGON-OBJECT ,DONT-EXAMINE>)>
<MOVE-TO ,FLUME-POOL>
<COND (.BI
<MAKE-BUSY ,BERGON ,ILL-COMMAND>)>
<RTRUE>>
<END-SEGMENT>
<BEGIN-SEGMENT MINES>
<ROOM FLUME-POOL
(TRAVEL-COMMANDS PROCEED-COMMAND NUL-COMMAND NUL-COMMAND)
(CAST-LIMIT 2)
(FLAGS UNDERGROUND DONT-SCOUT)
(GRAPHIC G-FLUME-POOL)
(ENTER
<EXECUTE ()
<COND (<NOT <QSET? ,HERE ,SEEN>> T)
(T
;"Second time; Bergon's hurt"
<FSET ,HERE ,TRAPPED>
<PARTY-ADD ,BERGON>
<MAKE-BUSY ,BERGON ,ILL-COMMAND>
<TELL CR CR
"Bergon was here, slumped against a wall; he was dying, that was
certain.">)>>)
(ACTION
<ACOND ()
(<AND <ACTION? EXAMINE>
<OBJECT? BERGON-OBJECT>>
<UPDATE-FSET ,BERGON-OBJECT ,DONT-EXAMINE>
<COND (<FSET? ,HERE ,TRAPPED>
<TELL ACT
" went over to look at Bergon; his pulse was slow, his breathing
irregular. Shaking his head sadly, he returned to the group.">)
(T
<TELL ACT
" examined Bergon briefly. \"He's got a punctured lung, and a good deal of
other internal damage from his wounds,\" he reported. \"He's also lost a
great deal of blood. Unless we do something quickly, I'm afraid he's
going to die.\" He then did what he could to stop Bergon's bleeding,
but his actions were merely palliative.">)>)
(<AND <ACTION? USE-MIX>
<OBJECT? BERGON-OBJECT>
<EQUAL? ,MIXTURE ,ANIMATE-SPELL>
<FSET? ,BERGON ,BUSY>>
<MIXTURE-CAST>
<TRAVEL-COMMANDS ,HERE ,PROCEED-COMMAND>
<TELL
"Praxix cast this strange enchantment at " AO "; for a moment, it
appeared that nothing would happen. But then, as we watched, his
wounds began to heal and in a matter of minutes he was as strong as
on the day we had embarked on our journey." CR CR>
<TELL
"\"A powerful enchantment!\" said Praxix">
<COND (<FSET? ,HERMIT-POWDER ,SEEN>
<TELL ", \"I wonder if old Garlimon
knew the power his gift possessed!\"">)
(T
<TELL ".">)>
<SETG LEADER ,BERGON>
<SETG UPDATE-FLAG T>
<UPDATE-MOVE ,BERGON-OBJECT ,RANDOM-OBJECTS>
<CLEAR-BUSY>
<COND (<FSET? ,MINE-LOWER-STAIR ,SEEN>
<TELL CR CR>
<END-PART-TWO-A>)>
<RTRUE>)
(<AND <ACTION? PROCEED>
<NOT <FSET? ,HERE ,TRAPPED>>>
<COND (<FSET? ,BERGON ,BUSY>
<PARTY-REMOVE ,BERGON>
<TELL
"It was undesirable to leave Bergon here, unattended, but we agreed
there was no alternative. And so, making him as comfortable as we
could, we left his side." CR CR>)>
<TELL
"A wide path followed the raging river upstream, and we followed it
until we came to a tunnel leading back into what we supposed were the
main chambers at this level.">
<MOVE-TO ,ALONG-FLUME>)
(<AND <FSET? ,HERE ,TRAPPED>
<NOT <ACTION? USE-MIX>>
<NOT <ACTION? MIX>>
<NOT <GAME-COMMAND?>>>
<TELL
"Just then, Bergon's body heaved and his eyes opened. Praxix and I
moved closer to him, and ">
<COND (<IN? ,SPIRIT-STONE ,INVENTORY>
<TELL
"Praxix held up the white stone to his view." CR CR>
<TELL "Bergon smiled faintly. \"It is very beautiful,">)
(T
<TELL
"tried our best to comfort him." CR CR>
<TELL "Bergon winced in pain. \"The Stone... You
have found it?">)>
<TELL "\" he whispered, and taking one last raspy breath,
he expired in our arms." CR CR>
<TELL
"We were silent a long while. What could we say about this brave man who
had led us through so many dangers? We knew it would be impossible to bury
him here and so, after a short ritual, we wrapped him in his cloak and cast
him into the waters, watching him as he was carried out of sight into the
very depths of the earth." CR CR>
<HINT ,HINT-WOUNDS>
<FCLEAR ,BERGON ,BUSY>
<KILLED-OFF ,BERGON>
<END-PART-TWO-A>
<RTRUE>)>)>
<ROUTINE END-PART-TWO-A ("AUX" TMP)
<TELL
"We returned to the side of the river">
<COND (<NOT <FSET? ,GATE-JUNCTION ,SEEN>>
<TELL ", and decided to continue our explorations in these
lower regions of the caverns. This time, we took the right-hand path from the
bottom of the stairs, and soon came to a wide vestibule with paths leading
both left and right; but while the right path was wide and ornate, the one
to the left was crudely constructed.">
<MOVE-TO ,GATE-JUNCTION>
<RTRUE>)
(<AND <NOT <FSET? ,TOMB ,SEEN>>
<FSET? ,TOMB-ANTE ,SEEN>>
<HINT ,HINT-DOOR>)
(<AND <FSET? ,TOMB ,SEEN>
<NOT <IN? ,TOMB-COFFIN ,TOMB>>>
<HINT ,HINT-VAULT>)>
<COND (<IN? ,SPIRIT-STONE ,INVENTORY>
<TELL " with our goal accomplished">)
(T
<TELL " in low spirits. We had explored
these regions as best we could, but had not found the Stone that
Astrix had said could be found here">)>
<COND (<G? <SET TMP <GET ,KILLED-TBL 0>> 0>
<TELL ". Sadly, we had lost our friend">
<COND (<G? .TMP 1> <TELL "s">)>
<TELL-WITH-COMMAS ,KILLED-TBL>)>
<TELL
". The path here continued to run along the river's edge, and we followed it
for many hours, as it wound its way upward, finally rising out of the caverns
and into the open air." CR CR>
<COND (<NOT ,A-B-FLAG>
;"Already seen IIb"
<TELL
"\"We are not far below the falls,\" I said, \"It should be a simple
matter to find Astrix again from here.\"" CR CR>
<TELL
"It was, in fact, only a few miles to the falls, and by the end of the day
we had reached Astrix' tower on the Sunrise Mountain.">
<PART-TWO-ENDING>)
(<L? ,PARTY-MAX 3>
<PART-TWO-TOO-FEW>)
(T
<TELL
"We had emerged from the caverns only a few miles south of the falls we had
just barely escaped earlier in our journey. Before us lay a forest that
was quite a bit older and darker than the one in which the Elves lived.">
<SCENE ,TANGLESCENE>
<MOVE-TO ,TANGLEWOOD-1>)>>
<COMMAND (ENTER-TUNNEL ENTER)>
<COMMAND (FOLLOW-RIVER FOL\'W-RIV\'R)>
<ROOM ALONG-FLUME
(TRAVEL-COMMANDS ENTER-TUNNEL-COMMAND FOLLOW-RIVER-COMMAND NUL-COMMAND)
(GRAPHIC G-ALONG-FLUME)
(FLAGS UNDERGROUND)
(ACTION
<ACOND ()
(SCOUT:REMOVE
<TELL ACT
", moving out ahead of us, brought back the report that the path
ahead climbed as it followed the underground river.">
<COND (<EQUAL? ,ACTOR ,HURTH>
<TELL CR CR
"\"If these caverns are laid out as I surmise, we can follow it to reach
the forest above,\" he remarked.">)>
<RTRUE>)
(FOLLOW-RIVER:REMOVE
<UPDATE-FSET ,HERE ,DONT-SCOUT>
<TELL
"We started ahead, climbing along the side of the raging river; a dim
light from up ahead grew brighter as we continued; this path would
surely lead out of the caverns. Not wishing to forego the exploration
of the lower regions, we retraced our steps, returning to the entrance
to the tunnel.">)
(ENTER-TUNNEL
<TELL
"The tunnel ran straight for a few hundred paces, ending finally
at the bottom of a wide stair. To our right, another path led
through a tall archway and to our left, a crudely made hole
entered the rock." CR CR>
<TELL
"\"Praxix, you have done well,\" said Hurth, smiling broadly. \"This
would be the bottom of the stairs that start up high at the Bern i-Fen.
I had nearly lost hope of arriving here.\"">
<COND (<OR <NOT <IN-PARTY? ,ESHER>>
<NOT <IN-PARTY? ,BERGON>>>
<TELL CR CR
"\"Indeed, though I regret we are not all here to see it,\"
Praxix replied quietly. \"There is great evil within the earth; let
us hope there is great good also.\"">)>
<TELL CR CR
"\"Am I the only one that hears something peculiar?\" I asked." CR CR>
<TELL
"\"I was about to say the same thing,\" answered Hurth. \"It sounds
to me like someone chipping away at rock somewhere down the passage
to the left.\"">
<MOVE-TO ,MINE-LOWER-STAIR>)>)>
<COMMAND MINES>
<ROOM MINE-LOWER-STAIR
(TRAVEL-COMMANDS UP-COMMAND LEFT-COMMAND RIGHT-COMMAND BACK-COMMAND)
(GRAPHIC G-D-STAIR-BOTTOM)
(FLAGS UNDERGROUND)
(ENTER FSET-SEEN)
(ACTION
<ACOND ()
(<AND <ACTION? SCOUT>
<NOT <QSET? ,HERE ,SCOUTED>>
<NOT <FSET? ,MINER-PASSAGE ,SEEN>>>
<UPDATE-FSET ,HERE ,DONT-SCOUT>
<TELL
"We sent " ACT " off to find the source of the tapping sound. Indeed,
it was coming from the path on the left, inside some sort of mine.">)
(UP:REMOVE
<TELL
"It took only a short walk up the stairs to ">
<COND (<FSET? ,MINE-2-W ,TRAPPED>
<TELL "confirm what we already knew:">)
(T
<TELL "discover that">)>
<TELL
" the stairs were almost utterly destroyed, by what tremendous
force, we would never know.">
<COND (<NOT <IN? ,SPIRIT-STONE ,INVENTORY>>
<TELL CR CR
"\"Someone, or something, preferred that this region be sealed off,
and did quite a fine job of it,\" Praxix commented. \"It would seem
likely, then, that the Stone which we seek lies close at hand. But in
which direction?\"">)>
<RTRUE>)
(BACK
<COND (<FSET? ,BERGON ,BUSY>
<TELL
"In a short time, we were back at the side of the underground river,
and we rushed back to the shore of the pool hoping that Bergon was
still alive.">
<MOVE-TO ,FLUME-POOL>)
(T
<END-PART-TWO-A>
<RTRUE>)>)
(RIGHT
<COND (<FSET? ,GATE-JUNCTION ,SEEN>
<REMOVE-TRAVEL-COMMAND ,HERE ,RIGHT-COMMAND>
<TELL
"Again, we tried the right-hand path, finding ourselves back in the
vestibule that we had explored earlier.">)
(T
<TELL
"The right-hand path led to a wide vestibule with paths leading both left
and right, but while the right path was wide and ornate, the one to the
left was crudely constructed.">)>
<MOVE-TO ,GATE-JUNCTION>)
(LEFT
<CHANGE-TRAVEL-COMMAND ,HERE ,LEFT-COMMAND ,MINES-COMMAND>
<TELL
"The passage twisted and wound its way through the rock until we
came to a small, open chamber from which two passages led.
One, supported by old wooden beams, appeared to be an abandoned mine
of some sort. The other appeared to be a more recent excavation, and
the tapping sound was coming from that direction." CR CR>
<TELL
"\"It would appear we have company,\" Praxix said, motioning to the
newer mine.">
<MOVE-TO ,MINE-JUNCTION>)
(MINES
<COND (<QSET? ,HERE ,BLACK-MIX>
<REMOVE-TRAVEL-COMMAND>)>
<TELL
"Once again, our party followed the twisting passage that led to the
entrance of the two mines. As it had before, a tapping sound issued from the
newer of them">
<COND (<FSET? ,ACTIVE-MINE ,SOLVED>
<TELL "; the miner was a tireless worker indeed">)>
<TELL ".">
<MOVE-TO ,MINE-JUNCTION>)>)>
<COMMAND OLD-MINE>
<COMMAND NEW-MINE>
<ROOM MINE-JUNCTION
(TRAVEL-COMMANDS OLD-MINE-COMMAND NEW-MINE-COMMAND NUL-COMMAND)
(FLAGS UNDERGROUND)
(ENTER
<EXECUTE ()
<GRAPHIC ,G-MINE-JUNCTION>
<COND (<AND <NOT <FSET? ,OLD-MINE ,SEEN>>
<NOT <FSET? ,MINER-PASSAGE ,SEEN>>
<NOT <QSET? ,HERE ,BLACK-MIX>>>
<ADD-TRAVEL-COMMAND ,HERE ,BACK-COMMAND>)>
<COND (<FSET? ,OLD-MINE ,GRAY-MIX>
<GRAPHIC <> ,G-MINE-JUNCTION-2 ,BOTTOM-LEFT>)>
<FSET ,HERE ,SEEN>
<COND (<OR <FSET? ,OLD-MINE ,SEEN>
<FSET? ,MINER-PASSAGE ,SEEN>>
<UPDATE-FSET ,HERE ,DONT-SCOUT>)>>)
(ACTION
<ACOND ()
(SCOUT:REMOVE
<TELL ACT
" went off into both mines to check them out. \"The older mine is in
bad shape,\" he reported, \"I fear it is nearly ready to collapse.\"">)
(BACK
<TELL
"Having done all the exploring we could in the mines, we returned to the
bottom of the stairs.">
<REMOVE-TRAVEL-COMMAND ,MINE-LOWER-STAIR ,LEFT-COMMAND>
<MOVE-TO ,MINE-LOWER-STAIR>)
(NEW-MINE
<TELL
"We made our way through the passage until we came to a small round
chamber. At the far end, a cleft in the rock opened up a narrow
passage">
<COND (<NOT <QSET? ,MINER-PASSAGE ,SEEN>>
<TELL
" through which a loud, tapping noise could be heard." CR CR>
<TELL
"Praxix motioned toward the cleft. \"Shall we see who it is?\" he asked">)>
<MOVE-TO ,MINER-PASSAGE ".">)
(OLD-MINE
<COND (<FSET? ,OLD-MINE ,SEEN>
<REMOVE-TRAVEL-COMMAND ,HERE ,OLD-MINE-COMMAND>
<TELL
"Again, I expressed my reservations about entering the old mine, but I
was assured by ">
<TELL D <FIRST-IN-PARTY ,BERGON ,PRAXIX>>
<TELL
" that we would not enter the mine again after having
one last look. Reluctantly, I agreed. The wall boards groaned and creaked
with our every step, and it appeared that a loud sneeze could bring the whole
mine down on top of us.">)
(T
<TELL
"I was not very comfortable about the decision to enter this old mine. The
ancient wooden beams which were intended to hold up the walls and roof
appeared barely able to help even themselves. As we moved, small pieces
of rock fell from above, and a disturbing sound, like a sick groan, came
from all around us.">)>
<MOVE-TO ,OLD-MINE>)>)>
<OBJECT OLD-MINE-WALLS
(SDESC "walls")
(LOC OLD-MINE)
(KBD %<ASCII !\W>)
(FLAGS DONT-TAKE)
(EXBITS <+ ,HURTHBIT ,PRAXIXBIT>)
(ACTION
<ACOND ()
(EXAMINE
<CLEAR-EXBIT>
<COND (<EQUAL? ,ACTOR ,HURTH>
<TELL
"Hurth surveyed the walls of the old mine, and reported only that the
excavations here were not of recent origin. He also expressed doubts as
to our safety.">)
(T
<UPDATE-REMOVE ,OLD-MINE-WALLS>
<COND (<NOT <GETP ,OLD-MINE-WALLS ,P?EXBITS>>
<TELL "Unlike Hurth, Praxix">)
(T
<TELL "Praxix, carefully examining the excavations,">)>
<TELL
" found something quite remarkable in the walls: a vein of blue-green rock
coursing through the granite and marble. Excited by his discovery, he chipped
away a small piece with his staff. The rock crumbled easily in his fingers, and
its taste was indeed bitter. ">
<COND (<FSET? ,REAGENT ,SOLVED>
<TELL
"\"This is the same reagent we were given by Garlimon,\" he said. \"I
would suggest taking some more, as we may need it later.\"">)
(T
<TELL
"\"This is the reagent Astrix told us about,\" he said. \"Let us
take some while we have the chance!\"">)>
<COND (<AND <FSET? ,REAGENT ,SOLVED>
<IN-PARTY? ,HURTH>>
<TELL CR CR
"Hurth, who had been carefully surveying the mine structure, was
concerned. \"We already have some of this magical rock, or whatever you call
it. The roof seems near to collapse, and I fear to disturb the mine
even a little,\" he said urgently. \"Let us leave while it is still
possible!\"">)>
<FSET ,HERE ,ADVISE>
<TRAVEL-COMMANDS ,HERE ,MINE-ROCK-COMMAND ,BACK-COMMAND>)>)>)>
<ROOM OLD-MINE
(TRAVEL-COMMANDS BACK-COMMAND NUL-COMMAND NUL-COMMAND)
(FLAGS UNDERGROUND DONT-SCOUT DANGEROUS)
(ENTER
<EXECUTE ()
<FSET ,HERE ,SEEN>
<GRAPHIC ,G-ACTIVE-MINE ,G-OLD-MINE ,TOP-LEFT>>)
(ACTION
<ACOND ()
(GET-ADVICE:REMOVE
<TELL
"\"Well, what do you think?\" " ACT " asked the assembled group." CR CR>
<COND (<IN? ,REAGENT ,INVENTORY> ;"?? Is this right?"
<TELL
"\"I am certain this is a magical reagent,\" Praxix replied, \"It may
be powerful and an aid in time of crisis. I vote for mining the rock.\"">)
(T
<TELL
"The consensus was that it would be too dangerous to do so, yet Praxix,
understanding the value of things magical, appeared to favor gaining
some more.">)>)
(MINE-ROCK:REMOVE
<FSET ,HERE ,DANGEROUS>
<TELL
"Using our primitive tools, we hammered at the rock until we
had taken enough of the magical reagent. And although we
were pleased at our discovery, we were also aware that the groaning
noises we had heard earlier were now louder and more ominous." CR CR>
<FSET ,HERE ,SOLVED>
<UPDATE-FCLEAR ,HERE ,ADVISE>
<COND (<NOT <QSET? ,REAGENT ,SOLVED>>
<FIXUP-PRAXIX-COMMANDS>)>
<COND (<NOT <IN? ,REAGENT ,REAGENTS>>
<MOVE ,REAGENT ,REAGENTS>)
(T
<PUT ,ESSENCE-TBL
,BLUEOFF
<+ <GET ,ESSENCE-TBL ,BLUEOFF> 5>>)>
<TELL
"\"Let's get out of here!\" I shouted. \"The mine's about to collapse!\"">)
(BACK
<COND (<FSET? ,HERE ,SOLVED>
<REMOVE-TRAVEL-COMMAND ,MINE-JUNCTION ,OLD-MINE-COMMAND>
<FSET ,OLD-MINE ,GRAY-MIX>
<COND (<IN-PARTY? ,HURTH>
<KILLED-OFF ,HURTH>
<HINT ,HINT-OLD-MINE>
<TELL
"The mine trembled violently as we made our way out, and large
pieces of roofing were starting to come down upon us. One hit
poor Hurth in the head, knocking him unconscious. We tried to
go back, but more of the mine collapsed. Incredibly, the rest
of us made it to safety, but Hurth was lost to us!">)
(T
<TELL
"The mine trembled violently as we made our escape, as walls and
roofing collapsed at our heels. We were all safe, but this had
been a narrow escape, and the old mine was now completely inaccessible.">)>
)
(T
<TELL
"We returned to the junction of the two mines. The tapping noise
was again coming from the newer mine.">
<COND (<FSET? ,ACTIVE-MINE ,SOLVED>
<TELL CR CR
"\"Hard at work again,\" said Praxix, nodding toward the newer mine.
\"Quite a character!\"">)>)>
<MOVE-TO ,MINE-JUNCTION>)>)>
<COMMAND (ORNATE-PATH ORNATE)>
<COMMAND (CRUDE-PATH CRUDE)>
<ROOM GATE-JUNCTION
(TRAVEL-COMMANDS ORNATE-PATH-COMMAND CRUDE-PATH-COMMAND BACK-COMMAND)
(GRAPHIC G-GATE-JUNCTION)
(FLAGS UNDERGROUND)
(ENTER FSET-SEEN)
(ACTION
<ACOND ()
(SCOUT:REMOVE
<UPDATE-FSET ,HERE ,DONT-SCOUT>
<COND (<AND <NOT <FSET? ,TOMB-ANTE ,SEEN>>
<NOT <FSET? ,MINE-HOLE ,SEEN>>>
<COND (<EQUAL? ,ACTOR ,HURTH>
<TELL
"\"Both paths are fascinating,\" Hurth said, having quickly explored our two
alternatives. \"Come, have a look.\"">)
(T
<TELL ACT
" checked out both paths. \"You'll have to see this for yourself,\" he
said, bewildered. \"Each path is more bizarre than the other!\"">)>)
(<EQUAL? ,ACTOR ,HURTH>
<TELL ACT
" was excited by what he discovered upon scouting out the path we had not
yet taken. \"Let me show you,\" he said.">)
(T
<TELL ACT
" took the path we had not yet taken, and reported that we had better take a
look for ourselves.">)>)
(BACK
<TELL
"Retracing our steps, we returned to the bottom of the stairs.">
<MOVE-TO ,MINE-LOWER-STAIR>)
(CRUDE-PATH
<COND (<FSET? ,TOMB-ANTE ,SEEN>
<FSET ,HERE ,DONT-SCOUT>)>
<COND (<FSET? ,MINE-HOLE ,SEEN>
<REMOVE-TRAVEL-COMMAND ,HERE ,CRUDE-PATH-COMMAND>
<FSET ,HERE ,TRAPPED>
<TELL
"For the second and last time, we entered the crudely formed chamber
with the crack in the center.">
<COND (,HOLE-VICTIM
<TELL CR CR
"We had left our friend " D ,HOLE-VICTIM " for dead not long before, and
still there was no response when we called down to him.">)>)
(T
<TELL
"We followed the winding path to a dead-end chamber, in the middle of which
a crack in the earth led into darkness.">)>
<MOVE-TO ,MINE-HOLE>)
(ORNATE-PATH
<COND (<FSET? ,MINE-HOLE ,SEEN>
<FSET ,HERE ,DONT-SCOUT>)>
<TELL
"Our chosen path led through a richly carved vestibule, at the end of
which sat a formidable wooden door. ">
<COND (<IN-PARTY? ,BERGON>
<TELL "\"I hope it is open,\" Bergon
said wistfully, \"for I fear even an army would be hard put to break
through this!\"">)
(T
<TELL "\"It had better be open,\" Praxix offered,
\"for I have not the magic to open this formidable a door.\"">)>
<MOVE-TO ,TOMB-ANTE>)>)>
<GLOBAL HOLE-VICTIM <>>
<OBJECT TOMB-ANTE-DOOR
(SDESC "door")
(KBD %<ASCII !\D>)
(LOC TOMB-ANTE)
(FLAGS DONT-TAKE)
(ACTION
<ACOND ()
(EXAMINE:REMOVE
<TELL
"It was " ACT " who finally approached the door, and attempted to open
it. \"I am sorry, ">
<COND (<IN-PARTY? ,BERGON>
<TELL
"Bergon,\" he started, \"but we shall be needing your army after all!">)
(<EQUAL? ,ACTOR ,PRAXIX>
<TELL
"but we shall need a miracle to get through this door.">)
(T
<TELL
"Praxix,\" he started, \"but it is magic that we need!\"">)>
<TELL "\"" CR CR
"\"Or the key,\" I added, pointing to the keyhole that lay in the
door's center.">
<COND (<IN? ,IRON-KEY ,INVENTORY>
<TELL
" Fumbling through my pack, I pulled out the key we had found at
the bottom of the nearby hole and held it out to " ACT ". \"The key,\"
I said, and bowed as gracefully as I could.">)>
<RTRUE>)>)>
<COMMAND OPEN-DOOR>
<ROOM TOMB-ANTE
(TRAVEL-COMMANDS OPEN-DOOR-COMMAND BACK-COMMAND NUL-COMMAND)
(CAST-LIMIT 2)
(GRAPHIC G-MASSIVE-DOOR)
(FLAGS UNDERGROUND)
(ENTER
<EXECUTE ()
<FSET ,HERE ,SEEN>
<COND (<IN? ,IRON-KEY ,INVENTORY>
<FORCE-TRAVEL-COMMAND ,HERE ,OPEN-DOOR-COMMAND>)>>)
(ACTION
<ACOND ()
(GET-ADVICE:REMOVE
<COND (<NOT <FSET? ,MINE-HOLE ,SEEN>>
<TELL
"\"Why don't we see what's down the crude path?\" I suggested,
and this was met with a murmur of agreement.">)
(T
<TELL
"\"There's no use standing here by the door,\" Praxix said. \"I
don't believe it will open merely from force of will. Let us look
elsewhere for the solution.\"">)>)
(OPEN-DOOR
<COND (<IN? ,IRON-KEY ,INVENTORY>
<FCLEAR ,HERE ,ADVISE>
<UPDATE-FSET ,IRON-KEY ,DONT-EXAMINE>
<TELL
"The iron key was a perfect fit for the lock. We were soon
inside a tall, rounded chamber. A beam of light from high
above illuminated a metallic vault inset into the floor of the
chamber. Inscribed in the stone around the vault were runes which
looked to be Dwarvish.">
<UPDATE-FCLEAR ,IRON-KEY ,DONT-DROP>
<MOVE-TO ,TOMB>)
(T
<REMOVE-TRAVEL-COMMAND>
<TELL
"Trying to force the door open would be fruitless; another way would
have to be found if we were to get inside.">
<REMOVE-PARTY-COMMAND ,ENTER-COMMAND>
<UPDATE-FSET ,HERE ,ADVISE>)>)
(BACK
;<COND (<IN? ,IRON-KEY ,INVENTORY>)>
<COND (<FSET? ,GATE-JUNCTION ,TRAPPED>
<TELL
"We had failed in our attempts to pass through the door, and decided
to return to the bottom of the stairs and consider whether there were
any other options left open to us in these caverns.">
<REMOVE-TRAVEL-COMMAND ,MINE-LOWER-STAIR ,RIGHT-COMMAND>
<MOVE-TO ,MINE-LOWER-STAIR>)
(T
<MOVE-TO ,GATE-JUNCTION
"Unable to enter the door, we returned to the junction.">)>)>)>

710
fog.zabstr Normal file
View file

@ -0,0 +1,710 @@
<BEGIN-SEGMENT CASTLE>
<ROOM FOG-CAMP (TRAVEL-COMMANDS PROCEED-COMMAND NUL-COMMAND NUL-COMMAND) (ENTER
<EXECUTE () <FCLEAR ,PRAXIX ,LIT>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,
SCOUT-COMMAND> <UPDATE-FSET ,HERE ,DONT-SCOUT> <FSET ,HERE ,SCOUTED> <WPRINTD ,
ACTOR> <PRINTI " tried to scout out the area, but the heavy mist made his task all
but impossible."> <CRLF> <CRLF> <COND (<EQUAL? ,ACTOR ,HURTH> <PRINTI
"\"I cannot say what lies ahead,\" he announced, \"though I have found
some heavy tracks in the mud which I fear to be orc footprints. We must be
careful, and move quietly!\"">) (T <PRINTI
"\"It's not good,\" he said, \"There are footprints in the mud just ahead,
and I doubt their owners are friendly.\"">)>) (<EQUAL? ,ACTION ,PROCEED-COMMAND
> <PRINTI "Early the next morning, we started again. The air was heavy with mist,
and it was difficult to see just a few paces before us. We had been moving
silently for an hour when "> <WPRINTD ,LEADER> <PRINTI " became alarmed."> <
CRLF> <CRLF> <PRINTI
"Gathering together, we soon learned that Praxix was missing from our
ranks. \"Praxix! Praxix!\" we called, but there was no reply, only the
sounds of the forest."> <CRLF> <CRLF> <PRINTI
"\"Praxix! Praxix!\" The words fell only upon the deaf ears of the forest."> <
DIVIDER> <MAKE-SUBGROUP ,PRAXIX> <MOVE-TO ,TREE-FORK>)>)>
<DEFINE-ROUTINE ANONF-265>
<DEFINE-ROUTINE ANONF-266>
<COMMAND ASK-TREE O-ASK-TREE () <TELL-TALE ,ACTION-OBJECT> <RTRUE>>
<DEFINE-ROUTINE V-ASK-TREE>
<DEFINE-ROUTINE O-ASK-TREE>
<OBJECT ASK-TREE-OBJECTS>
<OBJECT ASK-TREE-LOCATION (LOC ASK-TREE-OBJECTS) (SDESC "location") (KBD 76) (
TEXT <EXECUTE () <TELL
"\"Where am I?\" Praxix asked, thinking it might help. It didn't." CR CR> <TELL
"\"You're here with me,\" the tree replied." CR CR> <TELL
"\"And where would that be?\" Praxix tried." CR CR> <TELL
"\"In the forest?\" the tree replied uncertainly, trying his best to be
helpful." CR CR> <TELL
"Praxix slumped to the ground, rubbing his head. This was shaping up to
be a miserable day, he thought. Best to leave this leaf-laden philosopher
and try to find the others.">>)>
<DEFINE-ROUTINE ANONF-267>
<OBJECT ASK-TREE-PATHS (LOC ASK-TREE-OBJECTS) (SDESC "paths") (KBD 80) (TEXT <
EXECUTE () <FSET ,ASK-TREE-PATHS ,SEEN> <TRAVEL-COMMANDS ,HERE ,
MILKY-WAY-COMMAND ,ROAD-TO-RUIN-COMMAND ,GARDEN-PATH-COMMAND> <UPDATE-REMOVE ,
ACTION-OBJECT> <TELL
"Hoping at least to get some useful information from this root-bound
nuisance, Praxix asked, \"Do you know where these paths lead?\"" CR CR> <TELL
"\"Why, of course; on the left is the Milky Way, right in front of you is
the road to ruin, and here on the right is the garden path,\" the tree replied
matter-of-factly." CR CR> <TELL
"\"I don't suppose you have a preference,\" Praxix asked with little
hope." CR CR> <TELL
"\"No, I've never felt the need for one,\" the tree responded, \"I'm not
going much of anywhere.\" And with that, he shook a few branches to indicate
the limits of his movement.">>)>
<DEFINE-ROUTINE ANONF-268>
<COMMAND (ROAD-TO-RUIN RUIN)>
<COMMAND MILKY-WAY>
<COMMAND (GARDEN-PATH GARDEN)>
<ROOM TREE-FORK (TRAVEL-COMMANDS LEFT-COMMAND CENTER-COMMAND RIGHT-COMMAND) (
ENTER <EXECUTE () <COND (<NOT <QSET? ,HERE ,SEEN>> <PRINTI
"\"Praxix! Praxix!\" the voice cried out. \"Wake up!\""> <CRLF> <CRLF> <GRAPHIC
,G-TALKING-TREE> <PRINTI
"Praxix rose slowly and took stock of his situation. After separating
from the group, he had wandered aimlessly through the dense fog for the
better part of the morning before stopping to indulge in the tasty, red
berries that blanketed the ground beneath him. And then, he fell into
a deep, yet restless, sleep."> <CRLF> <CRLF> <PRINTI
"Now, someone was calling him, but who? He swung around, but found himself
alone. His head ached, and he wished for nothing more than to be left in
peace until the pain subsided."> <CRLF> <CRLF> <PRINTI
"\"Praxix! Don't you have anything better to do,\" the voice continued,
\"than to sleep the day away?\""> <CRLF> <CRLF> <PRINTI
"Praxix swung around again and faced a modest-sized oak tree as it was just
finishing the preceding question. \"You know my name?\" he asked, startled
more by the personal reference than the fact that he was being addressed in
whatever fashion by the local flora."> <CRLF> <CRLF> <PRINTI
"\"Why, of course!\" the tree replied enthusiastically. \"All trees sing your
praises.\""> <CRLF> <CRLF> <PRINTI
"\"They do?\" Praxix responded coyly, for he was not above flattery."> <CRLF> <
CRLF> <PRINTI "\"Oh, my, yes! We know how you helped old Tully when his house caught fire.
And then there was the poor Helspar widow, how you helped her...\""> <CRLF> <
CRLF> <PRINTI "\"Yes, yes, I see,\" Praxix interrupted, not wishing to pursue the matter
further. But he did not see, at least very clearly, and his head throbbed
in much the same way that he expected the Tremor spell would cause if cast
upon his cranium."> <TRAVEL-COMMANDS ,PRAXIX ,CAST-COMMAND ,ASK-TREE-COMMAND ,
EXAMINE-COMMAND>)>>) (EXIT FIXUP-PRAXIX-COMMANDS) (ACTION <ACOND () (<OR <
EQUAL? ,ACTION ,LEFT-COMMAND> <EQUAL? ,ACTION ,MILKY-WAY-COMMAND>> <COND (<IN?
,TALKING-TREE ,HERE> <LEAVE-TREE #ZLOCAL!-IZILCH STR?55>) (T <PRINTI
"This time he took the leftmost path. ">)> <PRINT ,PATH-TO-MILL> <MOVE-TO ,MILL
>) (<OR <EQUAL? ,ACTION ,CENTER-COMMAND> <EQUAL? ,ACTION ,ROAD-TO-RUIN-COMMAND>
> <COND (<IN? ,TALKING-TREE ,HERE> <LEAVE-TREE #ZLOCAL!-IZILCH STR?172>) (T <
PRINTI "This time he took the center path. ">)> <PRINTI
"Although the path twisted its way through the forest, it had been a more
important thoroughfare long ago, as evidenced by the crumbling stonework lying
by the wayside. "> <PRINT ,MOAT-DESC> <MOVE-TO ,OUTSIDE-MOAT>) (<EQUAL? ,ACTION
,RIGHT-COMMAND> <REMOVE-TRAVEL-COMMAND> <GUARDED-PATH>) (<EQUAL? ,ACTION ,
GARDEN-PATH-COMMAND> <REMOVE-TRAVEL-COMMAND> <GUARDED-PATH>)>)>
<DEFINE-ROUTINE ANONF-269>
<DEFINE-ROUTINE ANONF-270>
<CONSTANT PATH-TO-MILL
"The path snaked and wound its way toward the west, ending at the
side of a river, which Praxix assumed to be the very same that
we had followed from the underground caverns. The remains of an
old building stood here, crumbling; inside, a badly rusted
mechanism sat. Praxix imagined it would be used for the grinding
of grain.">
<CONSTANT MOAT-DESC
"Soon the forest
gave way to a clearing, in the middle of which stood the ruins of a moated
castle. What little remained of the bridge hung tentatively over the
water, making any crossing a speculative affair.">
<OBJECT MILL-MACHINERY (SDESC "mechanism") (8DESC "machine") (KBD 77) (LOC MILL
) (EXBITS PRAXIXBIT) (FLAGS DONT-TAKE) (ACTION <ACOND () (<EQUAL? ,ACTION ,
EXAMINE-COMMAND> <UPDATE-MOVE> <FSET ,MILL-MACHINERY ,EXAMINED> <FSET ,HERE ,
NEAR-DARK> <PRINTI
"Badly rusted from many years of disuse, the mill machinery stood as it
had for countless years. Praxix attempted to turn the great water wheel,
but it had rusted to the point of inoperability. He did, however, notice
a small passageway leading down from the machinery into a darker area below.">
<ADD-TRAVEL-COMMAND ,HERE ,DOWN-COMMAND>)>)>
<DEFINE-ROUTINE ANONF-271>
<DEFINE-ROUTINE MILL-TO-ASTRIX>
<ROOM MILL (TRAVEL-COMMANDS PROCEED-COMMAND NUL-COMMAND NUL-COMMAND) (GRAPHIC
G-MILL) (ENTER FSET-SEEN) (CLOCK <EXECUTE () <COND (<AND <FSET? ,PRAXIX ,LIT> <
FSET? ,MILL-MACHINERY ,EXAMINED>> <FORCE-TRAVEL-COMMAND ,HERE ,DOWN-COMMAND>)>>
) (ACTION <ACOND ("AUX" TMP) (<EQUAL? ,ACTION ,DOWN-COMMAND> <COND (<NOT <FSET?
,PRAXIX ,LIT>> <REMOVE-TRAVEL-COMMAND> <PRINTI
"It took only a few steps for Praxix to realize that the path leading inside
the mill mechanism was dark and potentially dangerous. Rather than risk injury,
he returned to the open air.">) (T <COND (<NOT ,SUBGROUP-MODE> <PRINTI
"Praxix insisted in exploring the mechanism himself, and we soon wished that
he hadn't."> <CRLF> <CRLF> <MAKE-SUBGROUP ,PRAXIX>)> <PRINTI
"At first, it appeared that the passage was merely some maintenance path with
access to the internal working parts of the mill mechanism. However, the path
soon reached a set of stone steps that led down beneath ground level, ending
at the junction of two paths."> <CRLF> <CRLF> <PRINTI
"But no sooner had Praxix started to think about where to proceed next, the
ground collapsed beneath the steps, and the resulting avalanche of stone
completely buried his only known route to the outside."> <MOVE-TO ,XFER-JCN> <
SET TMP <ADD #ZLOCAL!-IZILCH STACK 1>> <SETG TAG-SWAP-CHR <GET ,PARTY .TMP>> <
PUT ,PARTY #ZLOCAL!-IZILCH STACK ,TAG-SWAP-CHR> <PUT ,PARTY .TMP ,TAG> <FSET ,
TAG ,SHADOW> <SCENE ,MILL-SCENE>)>) (<EQUAL? ,ACTION ,PROCEED-COMMAND> <
LEAVE-MILL-AREA>)>)>
<DEFINE-ROUTINE ANONF-272>
<DEFINE-ROUTINE ANONF-273>
<OBJECT MILL-SCENE (ACTION <ACOND () (<EQUAL? ,ACTION ,INVENTORY-COMMAND> <
PRINTI "Praxix took stock of his possessions finding "> <COND (<NOT <
LIST-CONTENTS ,INVENTORY>> <PRINTI "only">) (T <PRINTI " and">)> <PRINTI
" his magical paraphenalia - his staff and pouch of powders."> <UPDATE-FSET ,
HERE ,INVENTORIED>) (<EQUAL? ,ACTION ,DROP-COMMAND> <COND (<EQUAL? ,HERE ,
XFER-1-ANTE ,XFER-2-ANTE ,XFER-3-ANTE> <UPDATE-MOVE ,ACTION-OBJECT #
ZLOCAL!-IZILCH STACK> <PRINTI
"Thinking it might be helpful, Praxix dropped the "> <WPRINTD ,ACTION-OBJECT> <
PRINTI " over the railing and
down to the bottom of the pit, where it landed "> <COND (<EQUAL? ,HERE ,
XFER-1-ANTE> <PRINTI "almost immediately.">) (T <PRINTI
"more than a couple of seconds later."> <CRLF> <CRLF> <PRINTI
"\"An awfully long way down,\" he said, gazing absently into the abyss.">)>) (T
<PRINTI "Praxix thought to drop the "> <WPRINTD ,ACTION-OBJECT> <PRINTI
", but felt it imprudent to do so.">)>)>)>
<DEFINE-ROUTINE ANONF-274>
<GLOBAL TAG-SWAP-CHR <>>
<DEFINE-ROUTINE LEAVE-MILL-AREA>
<DEFINE-ROUTINE LEAVE-TREE>
<DEFINE-ROUTINE GUARDED-PATH>
<OBJECT MOAT-BRIDGE (SDESC "bridge") (FLAGS DONT-TAKE) (ACTION <ACOND () (<
EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <PRINTI
"Praxix' eye passed along the course of the bridge. Once supported by
huge stone pillars which rose high into the air, the roadway was now
barely suspended above the water, its wooden planking rotted nearly to
non-existence.">)>)>
<DEFINE-ROUTINE ANONF-275>
<OBJECT MOAT-WATER (SDESC "water") (FLAGS DONT-TAKE) (ACTION <ACOND () (<EQUAL?
,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <PRINTI
"Looking down at the moat itself was none too pleasant; the water had a
dark greenish cast, and strange red weeds covered much of the surface.
Every so often, large bubbles of air surfaced, from what source Praxix
could only imagine.">)>)>
<DEFINE-ROUTINE ANONF-276>
<ROOM OUTSIDE-MOAT (TRAVEL-COMMANDS CROSS-COMMAND NUL-COMMAND NUL-COMMAND) (
GRAPHIC G-MOAT) (ENTER <EXECUTE () <UPDATE-MOVE ,MOAT-BRIDGE ,HERE> <
UPDATE-MOVE ,MOAT-WATER ,HERE>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,
CROSS-COMMAND> <PRINTI
"Praxix decided to explore the castle; gingerly, he made his way
across the bridge, the boards creaking and groaning with each step he
took. Halfway across, the board beneath his feet gave way, and he
was nearly over the side when his arm caught hold of a supporting brace.
Pulling himself to his feet, he realized that getting to the castle and
back again would be chancy at best."> <MOVE-TO ,CASTLE-BRIDGE>)>)>
<DEFINE-ROUTINE ANONF-277>
<DEFINE-ROUTINE ANONF-278>
<ROOM CASTLE-BRIDGE (TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND NUL-COMMAND)
(FLAGS DONT-CAST) (ENTER FSET-SEEN) (ACTION <ACOND () (<EQUAL? ,ACTION ,
PROCEED-COMMAND> <PRINTI
"Resolved to go on, Praxix took greater care in crossing the final
half of the bridge, arriving with no further incident to himself.
The bridge was another matter; having had just about enough from
the long ages, it crumbled and sank into the moat, leaving behind a
single large pier standing (or, rather, leaning) near the moat's midpoint."> <
CRLF> <CRLF> <PRINTI
"What remained of an ancient castle lay before him and he walked eagerly
into what would have been the courtyard. Of the four towers which had guarded
this fortress, only one stood, and that only barely; the others lay
in piles of broken stone and mortar."> <MOVE-TO ,CASTLE-COURTYARD>) (<EQUAL? ,
ACTION ,BACK-COMMAND> <PRINTI
"Not wishing to chance being trapped on the castle grounds, Praxix returned
to the safety of the near shore. "> <COND (<FSET? ,MILL ,SEEN> <MILL-TO-ASTRIX>
) (T <PRINTI "Following the only path nearby, he re-entered the forest and was soon
at the edge of the river he presumed to be the same we had followed in
leaving the lower levels of the caverns. At the river's edge stood the
crumbling remains of an old mill building."> <MOVE-TO ,MILL>)>)>)>
<DEFINE-ROUTINE ANONF-279>
<COMMAND TOWER>
<OBJECT CASTLE-COURTYARD-RUINS (SDESC "ruins") (LOC CASTLE-COURTYARD) (ACTION <
ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <PRINTI
"Praxix made a complete circle gazing at the remains of this castle.
Besides the fragments of three towers and the ghostly spectre of the
fourth, little remained to tell the tale of the castle's past.">)>)>
<DEFINE-ROUTINE ANONF-280>
<ROOM CASTLE-COURTYARD (TRAVEL-COMMANDS TOWER-COMMAND MOAT-COMMAND NUL-COMMAND)
(CAST-LIMIT 3) (GRAPHIC G-COURTYARD) (ENTER <EXECUTE () <FSET ,HERE ,SEEN> <
COND (<AND <OR <FSET? ,CASTLE-TOWER ,SEEN> ,PRAXIX-SIGNAL> <OR <FSET? ,
CASTLE-TROVE ,SEEN> <AND <NOT <FSET? ,UMBER ,IN-PARTY>> <FSET? ,CASTLE-DUNGEON
,SEEN>>>> <COND (,PRAXIX-SIGNAL <CRLF> <CRLF> <PRAXIX-WAITS-FOR-PARTY>) (T <
REMOVE-TRAVEL-COMMAND ,HERE ,TOWER-COMMAND> <COND (<EQUAL? #ZLOCAL!-IZILCH
STACK ,NUL-COMMAND> <CRLF> <CRLF> <PRINTI
"And so it was that Praxix became stranded on this man-made island,
with no means of escape and no help in sight."> <COND (<AND <NOT <
CHECK-ESSENCES ,FAR-VISION-SPELL>> <NOT <CHECK-ESSENCES ,LIGHTNING-SPELL>> <NOT
<CHECK-ESSENCES ,RAIN-SPELL>>> <HINT ,HINT-SIGNAL> <DIVIDER> <PRINTI
"The rest of us, having lost hope of reuniting with Praxix, slowly made
our way back to Astrix. Sadly, we never saw Praxix again."> <PART-TWO-ENDING>)>
)>)>)>>) (ACTION <ACOND () (<SENDING-SIGNAL?> <PRAXIX-SENDS-SIGNAL>) (<EQUAL? ,
ACTION ,TOWER-COMMAND> <PRINTI
"Walking into the base of the tower, he saw two staircases, one rising
to the battlements above, the other descending beneath the ground into
darkness."> <MOVE-TO ,CASTLE-BASE>) (<EQUAL? ,ACTION ,MOAT-COMMAND> <PRINTI
"Heading back toward the moat, Praxix surveyed the damage. Hardly a piece
of the collapsed bridge remained above the surface; there would be no
crossing here. And as for the water, it looked no more appetizing than when
he first cast his eyes upon it."> <TRAVEL-COMMANDS ,HERE ,TOWER-COMMAND> <
UPDATE-MOVE ,MOAT-WATER ,INSIDE-MOAT> <MOVE-TO ,INSIDE-MOAT>)>)>
<DEFINE-ROUTINE ANONF-281>
<DEFINE-ROUTINE ANONF-282>
<DEFINE-ROUTINE SENDING-SIGNAL?>
<COMMAND MOAT>
<ROOM INSIDE-MOAT (TRAVEL-COMMANDS COURTYARD-COMMAND SWIM-COMMAND NUL-COMMAND)
(CAST-LIMIT 3) (GRAPHIC G-COURTYARD) (ACTION <ACOND () (<AND <EQUAL? ,ACTION ,
CAST-COMMAND> <OR <EQUAL? ,ACTION-OBJECT ,WIND-SPELL> <EQUAL? ,ACTION-OBJECT ,
LEVITATE-SPELL>> <NOT <QSET? ,HERE ,ENCHANTED>>> <UNUSE-ESSENCES> <PRINTI
"Praxix considered using some combination of elevation and wind to get him
across the moat, but first he did some figuring. And the figuring told him
that he was an odds-on favorite to land inside of the moat rather than beyond
it. Praxix was not by nature a betting man, and it occurred to him that
this would be a poor time to start."> <CRLF> <CRLF> <PRINTI
"\"I could use a good length of rope,\" he said to a bird which had
just perched nearby. \"If the others were here, I wouldn't have this
problem, would I?\"">) (<SENDING-SIGNAL?> <PRAXIX-SENDS-SIGNAL>) (<EQUAL? ,
ACTION ,COURTYARD-COMMAND> <PRINTI
"There was little for Praxix to do here than wonder how he had gotten
himself into this predicament, so he returned to the courtyard."> <MOVE-TO ,
CASTLE-COURTYARD>) (<EQUAL? ,ACTION ,SWIM-COMMAND> <REMOVE-TRAVEL-COMMAND> <
PRINTI "It occurred to Praxix to swim across the moat, but he decided to test the
waters first. So, removing his shoe, he dipped an unwilling toe into the
moat. The first sensation he felt was warmth; then, an odd tingling
feeling gripped him. The water's surface rippled disturbingly, and Praxix
swore he felt something pincer-like grab at his toe just as he pulled
it from the water. Needless to say, Praxix gave up any thought of
subjecting other body parts to the moat.">)>)>
<DEFINE-ROUTINE ANONF-283>
<COMMAND COURTYARD>
<ROOM CASTLE-BASE (TRAVEL-COMMANDS UP-COMMAND DOWN-COMMAND COURTYARD-COMMAND) (
ENTER <EXECUTE () <COND (<OR <NOT <FSET? ,CASTLE-TOWER ,SEEN>> <NOT <FSET? ,
CASTLE-DUNGEON ,SEEN>>> <REMOVE-PARTY-COMMAND ,COURTYARD-COMMAND>)>>) (GRAPHIC
G-COURTYARD) (ACTION <ACOND () (<EQUAL? ,ACTION ,UP-COMMAND> <COND (<FSET? ,
CASTLE-TOWER ,SEEN> <REMOVE-TRAVEL-COMMAND>)> <PRINTI "Praxix"> <COND (<FSET? ,
UMBER ,IN-PARTY> <PRINTI ", with Umber in tow,">)> <PRINTI
" climbed the crumbling stairs and was soon atop the tower."> <MOVE-TO ,
CASTLE-TOWER>) (<EQUAL? ,ACTION ,DOWN-COMMAND> <CASTLE-DUNGEON-MOVE>) (<EQUAL?
,ACTION ,COURTYARD-COMMAND> <PRINTI
"From there, it was a short walk back to the courtyard."> <MOVE-TO ,
CASTLE-COURTYARD>)>)>
<DEFINE-ROUTINE ANONF-284>
<DEFINE-ROUTINE ANONF-285>
<DEFINE-ROUTINE CASTLE-DUNGEON-MOVE>
<ROOM CASTLE-TOWER (TRAVEL-COMMANDS DOWN-COMMAND NUL-COMMAND NUL-COMMAND) (
CAST-LIMIT 3) (ENTER <EXECUTE () <COND (<NOT <QSET? ,HERE ,SEEN>> <GRAPHIC ,
G-UMBER> <PRINTI
" Much to his surprise, he was not alone, for a man was already there,
leaning over a battlement and staring toward the distant horizon. As
Praxix approached, the man turned and greeted him with unrestrained
enthusiasm, as though he were a dear friend long absent and presumed
dead."> <CRLF> <CRLF> <PRINTI
"\"Ah, Praxix, my friend! We meet again!\" he said."> <CRLF> <CRLF> <PRINTI
"Praxix approached this too cheerful young man of whom he had no particular
recollection. \"Does this mean we have met before?\" he asked."> <CRLF> <CRLF>
<PRINTI "\"Yes we have, though you were somewhat - what's the word -
confused?\" he replied, and leaned forward towards Praxix' mouth,
sniffing."> <CRLF> <CRLF> <PRINTI "\"Indeed?\" said Praxix, eyebrows raised.">
<CRLF> <CRLF> <PRINTI "\"No. I think I meant to say 'incoherent.' "> <COND (,
ASK-TREE-PATHS <PRINTI
"First, you told all sorts of odd stories about yourself, and then you asked
some questions. Told you about these ruins, as a matter of fact.">) (T <PRINTI
"You told me all sorts of stories about yourself, then ran off.">)> <PRINTI
" I don't mean to be getting personal, seeing as how we've
just barely met, but I'd be staying away from those berries if I were
you. At least early in the day.\""> <CRLF> <CRLF> <PRINTI
"\"Ah, yes. I do remember,\" Praxix admitted, turning the faintest shade
of red. There was no talking tree, he realized; only a vivid
hallucination brought upon, apparently, by the berries he had indulged
in earlier in the day."> <CRLF> <CRLF> <PRINTI
"\"I don't know about you, but I could use a little company. May I join
you?\" the man asked."> <OPTION ,PRAXIX ,ACCEPT-COMMAND ,DECLINE-COMMAND>) (T <
GRAPHIC ,G-UMBER>)>>) (ACTION <ACOND ("AUX" (CNT 0) CHR) (<EQUAL? ,ACTION ,
DOWN-COMMAND> <COND (<OR <FSET? ,CASTLE-TROVE ,SEEN> <AND <FSET? ,
CASTLE-DUNGEON ,SEEN> <NOT <FSET? ,UMBER ,IN-PARTY>>>> <MOVE-TO ,CASTLE-BASE #
ZLOCAL!-IZILCH STR?651>) (T <CASTLE-DUNGEON-MOVE>)>) (<EQUAL? ,ACTION ,
ACCEPT-COMMAND> <PRINTI
"There was no apparent harm in this, so Praxix assented."> <CRLF> <CRLF> <
PARTY-CHANGE ,TAG ,UMBER> <FSET ,UMBER ,SUBGROUP> <SET UPDATE-FLAG #
ZLOCAL!-IZILCH TRUE-VALUE> <PRINTI
"\"Name's Umber,\" the man said by way of belated introduction, \"and
I'm pleased to meet you.\" He put out his hand, and smiled broadly, reminding
Praxix of the used merchandise sellers whom he despised so deeply."> <CRLF> <
CRLF> <PRINTI "\"What have I done?\" Praxix asked the heavens with upraised hands.
\"Trapped up here with... with...\" He paused, choosing his words with care.
\"With my party out there,\" he said, moving his hands across the broad
expanse of forest that lay before him."> <CRLF> <CRLF> <PRINTI
"\"Don't they know you're here?\" Umber asked, once again smiling."> <CRLF> <
CRLF> <PRINTI "A brilliant thought crossed Praxix' mind, then left as quickly as it had
entered. \"No, we were separated in the fog this morning.\""> <CRLF> <CRLF> <
PRINTI "\"Ah. Did I hear you say 'trapped'?\" Umber asked, smile waning."> <
CRLF> <CRLF> <PRINTI
"\"Yes, trapped. The bridge collapsed as I crossed it. So unless you're
up for a swim in the moat...,\" was Praxix' reply, and it left Umber at
a loss for words and smiles."> <END-OPTION>) (<EQUAL? ,ACTION ,DECLINE-COMMAND>
<HINT ,HINT-UMBER> <PRINTI
"\"I'm sorry, but I think not,\" Praxix replied as graciously as
possible."> <CRLF> <CRLF> <PRINTI
"\"Well, then. Perhaps we shall meet again!\" the young man replied,
and walked out of sight."> <CRLF> <CRLF> <PRINTI
"\"And perhaps not,\" Praxix said, with a wave of his hand. He heaved
a sigh of relief, and pondered what he should do next."> <END-OPTION>) (<
SENDING-SIGNAL?> <PRAXIX-SENDS-SIGNAL>)>)>
<DEFINE-ROUTINE ANONF-286>
<DEFINE-ROUTINE ANONF-287>
<DEFINE-ROUTINE PRAXIX-SENDS-SIGNAL>
<GLOBAL PRAXIX-SIGNAL <>>
<GLOBAL PRAXIX-SIGNAL-ROOM <>>
<ROOM CASTLE-TROVE (TRAVEL-COMMANDS BACK-COMMAND NUL-COMMAND NUL-COMMAND) (
GRAPHIC G-TROVE) (ENTER FSET-SEEN) (CAST-LIMIT 2) (ACTION <ACOND () (<EQUAL? ,
ACTION ,BACK-COMMAND> <TRAVEL-COMMANDS ,CASTLE-BASE ,UP-COMMAND ,
COURTYARD-COMMAND> <COND (<NOT <IN? ,SIXTH-STONE ,PRAXIX>> <PRINTI
"Declining the offer to take some of the stones, ">)> <PRINTI
"Praxix suggested he had
seen enough; the two then ascended the stairs, arriving back at the
base of the turret."> <COND (,PRAXIX-SIGNAL <PRINTI
" They then took the few short steps back to the courtyard."> <MOVE-TO ,
CASTLE-COURTYARD>) (T <MOVE-TO ,CASTLE-BASE>)>) (<AND <EQUAL? ,ACTION ,
USE-MIX-COMMAND> <EQUAL? ,MIXTURE ,SPECIAL-VISION-SPELL> <EQUAL? ,ACTION-OBJECT
,STONE-PILE>> <MOVE ,SIXTH-STONE ,PRAXIX> <UPDATE-REMOVE ,STONE-PILE> <GRAPHIC
#ZLOCAL!-IZILCH FALSE-VALUE ,G-TROVE-STONE ,TOP-RIGHT> <PRINTI
"Praxix cast his mixture at the pile of stones, and for
an instant, it appeared that nothing would happen. And then, slowly, from
the middle of the pile, a dim glow appeared, strengthening with each
passing moment. Praxix scrambled onto the pile, shovelling stones away with
his bare hands until the source of light was revealed. It was a small black
stone, perfectly round, and glowing with a powerful dark light."> <CRLF> <CRLF>
<PRINTI "\"The Earth Stone,\" he said, under his breath, taking the black stone
and placing it inside his cloak."> <CRLF> <CRLF> <PRINTI
"\"Pardon me,\" Umber said, \"but did you just say 'Erstin'? I once knew
a man with that name, but I wouldn't think he'd be an acquaintance of
yours.\""> <CRLF> <CRLF> <PRINTI
"\"Yes, of course,\" Praxix mumbled, without knowing why. But it had the desirable
effect of ending the conversation, as Umber could find nothing beyond a befuddled
\"Ah\" to reply."> <MIXTURE-CAST>)>)>
<DEFINE-ROUTINE ANONF-288>
<OBJECT STONE-PILE (LOC CASTLE-TROVE) (SDESC "stones") (FLAGS DONT-TAKE) (
ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-FSET ,ACTION-OBJECT
,DONT-EXAMINE> <PRINTI
"There were thousands upon thousands of stones in the chest, of all
colors, shapes, and sizes. A profitable business for Umber, to be
sure."> <CRLF> <CRLF> <PRINTI
"\"Not too valuable, I would say,\" Umber said, picking up a few more
of the stones. \"But don't let the townsfolk know it!\"">)>)>
<DEFINE-ROUTINE ANONF-289>
<OBJECT CASTLE-DUNGEON-CELLS (LOC CASTLE-DUNGEON) (FLAGS DONT-TAKE) (SDESC
"cells") (ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <
PRINTI "Praxix went through each of the cells in the dungeon, finding only rusted
chains and manacles. Perhaps there had been prisoners here in days long past,
but their remains would long since have turned to dust.">)>)>
<DEFINE-ROUTINE ANONF-290>
<ROOM CASTLE-DUNGEON (TRAVEL-COMMANDS UP-COMMAND NUL-COMMAND NUL-COMMAND) (
GRAPHIC G-DUNGEON) (ENTER <EXECUTE () <FSET ,HERE ,SEEN> <COND (<AND <FSET? ,
UMBER ,IN-PARTY> <NOT <QSET? ,HERE ,SCOUTED>>> <CRLF> <CRLF> <PRINTI
"The dungeons were dark and damp, but Umber was as cheerful as ever.
\"There are many secrets in these dungeons,\" he said. \"If you
give me your word you will tell no one, I will show you my favorite.\""> <CRLF>
<CRLF> <PRINTI "Praxix agreed, and Umber led him to the farthest of the dungeon cells.
Then, he removed one of the blocks in the cell wall, and reached for an
unseen lever that was hidden behind. As he did so, the entire wall slid
aside, revealing a large chamber."> <CRLF> <CRLF> <PRINTI
"The chamber was bare, save the rusted manacles hanging from the walls,
but in the center sat a large chest, brimming with precious stones."> <CRLF> <
CRLF> <PRINTI "\"I see you have been here before,\" Praxix said, with the slightest
hint of sarcasm."> <CRLF> <CRLF> <PRINTI
"\"Many times,\" Umber responded, \"I make my living selling
these stones. I figure it's safer to leave the bulk of them here so
that folks back in town don't get too suspicious. Every week or so, I
come here and pick up a few dozen.\""> <MOVE-TO ,CASTLE-TROVE>)>>) (ACTION <
ACOND () (<EQUAL? ,ACTION ,UP-COMMAND> <PRINTI
"Disappointed at having found nothing of interest, Praxix climbed the
crumbling stairs and was soon "> <COND (<NOT <FSET? ,CASTLE-TOWER ,SEEN>> <
PRINTI "atop the tower."> <MOVE-TO ,CASTLE-TOWER>) (T <PRINTI
"back at ground level."> <MOVE-TO ,CASTLE-BASE>)>)>)>
<DEFINE-ROUTINE ANONF-291>
<DEFINE-ROUTINE ANONF-292>
<OBJECT TALKING-TREE (LOC TREE-FORK) (SDESC "talking tree") (8DESC "tree") (KBD
84) (FLAGS DONT-TAKE) (ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <
UPDATE-MOVE> <WPRINTD ,ACTOR> <PRINTI
" examined the talking tree skeptically, walking around it as an art expert
would a hideous piece of sculpture, but finally arrived at the
inescapable conclusion that this was indeed a talking tree, about seven
feet in height, neatly trimmed, and covered in wide, oddly shaped leaves.">)>)>
<DEFINE-ROUTINE ANONF-293>
<END-SEGMENT>
<BEGIN-SEGMENT MILL>
<COMMAND (CONTROL-ROOM CONTROLS)>
<ROOM XFER-JCN (TRAVEL-COMMANDS LEFT-COMMAND RIGHT-COMMAND BACK-COMMAND) (FLAGS
UNDERGROUND) (GRAPHIC G-XFER-JCN) (ENTER FSET-SEEN) (ACTION <ACOND () (<EQUAL?
,ACTION ,BACK-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI
"It was no use; no matter how Praxix tried, he could not move enough debris to
make his escape possible.">) (<EQUAL? ,ACTION ,LEFT-COMMAND> <FIRST-XFER-ANTE>
<MOVE-TO ,XFER-1-ANTE>) (<OR <EQUAL? ,ACTION ,RIGHT-COMMAND> <EQUAL? ,ACTION ,
CONTROL-ROOM-COMMAND>> <PRINTI
"A narrow doorway led Praxix into a small, closetlike chamber. On one wall, a
large glass window overlooked a shallow pit. Otherwise, the room was bare
except for a strange device mounted against another of the walls."> <MOVE-TO ,
XFER-MASTER> <CHANGE-TRAVEL-COMMAND ,XFER-JCN ,RIGHT-COMMAND ,
CONTROL-ROOM-COMMAND> <RTRUE>)>)>
<DEFINE-ROUTINE ANONF-294>
<DEFINE-ROUTINE FIRST-XFER-ANTE>
<COMMAND (BACK-TO-PITS BACK-PITS)>
<ROOM XFER-MASTER (TRAVEL-COMMANDS BACK-COMMAND NUL-COMMAND NUL-COMMAND
NUL-COMMAND) (FLAGS UNDERGROUND) (REFRESH COMPLETE-DIAL-GRAPHICS) (ENTER <
EXECUTE () <FSET ,HERE ,SEEN> <COND (<NOT <FSET? ,XFER-CONTROLS ,SEEN>> <
GRAPHIC ,G-XFER-MASTER>) (T <COMPLETE-DIAL-GRAPHICS>)>>) (ACTION <ACOND () (<OR
<EQUAL? ,ACTION ,BACK-COMMAND> <EQUAL? ,ACTION ,BACK-TO-PITS-COMMAND>> <COND (<
NOT <QSET? ,HERE ,BLACK-MIX>> <PRINTI
"Praxix then left this control room, or whatever it was, and reached the base
of the crumbled stairs. Seeing no way of getting through in that direction, he
started down the other path."> <CRLF> <CRLF> <CHANGE-TRAVEL-COMMAND ,HERE ,
BACK-COMMAND ,BACK-TO-PITS-COMMAND #ZLOCAL!-IZILCH TRUE-VALUE> <FIRST-XFER-ANTE
>) (T <PRINTI "It took only a few moments for Praxix to pass the rubble of the stairs and continue
onward to the railing above the shallow pit.">)> <MOVE-TO ,XFER-1-ANTE>)>)>
<DEFINE-ROUTINE ANONF-295>
<DEFINE-ROUTINE ANONF-296>
<DEFINE-ROUTINE COMPLETE-DIAL-GRAPHICS>
<DEFINE-ROUTINE DIAL-GRAPHICS>
<GLOBAL LEFT-DIAL 4>
<GLOBAL RIGHT-DIAL 5>
<GLOBAL BUTTON-PUSHED <>>
<GLOBAL XFER-TBL <LTABLE XFER-1 XFER-2 XFER-3 NXFER-1 NXFER-2 NXFER-3>>
<CONSTANT PRAXIX-NO-DIAL
"Slowly, Praxix twisted the dial on the right, but ended up leaving it
pointing to the ">
<COMMAND RIGHT-DIAL O-DIAL () <COND (<EQUAL? ,RIGHT-DIAL #ZLOCAL!-IZILCH STACK>
<PRINT ,PRAXIX-NO-DIAL> <WPRINTD ,ACTION-OBJECT> <PRINTI " rune.">) (T <SETG
RIGHT-DIAL <GETP ,ACTION-OBJECT ,P?TEMP>> <TELL-DIAL #ZLOCAL!-IZILCH STR?57>)>>
<DEFINE-ROUTINE V-RIGHT-DIAL>
<COMMAND LEFT-DIAL O-DIAL () <COND (<EQUAL? ,LEFT-DIAL #ZLOCAL!-IZILCH STACK> <
PRINT ,PRAXIX-NO-DIAL> <WPRINTD ,ACTION-OBJECT> <PRINTI " rune.">) (T <SETG
LEFT-DIAL <GETP ,ACTION-OBJECT ,P?TEMP>> <TELL-DIAL #ZLOCAL!-IZILCH STR?55>)>>
<DEFINE-ROUTINE V-LEFT-DIAL>
<DEFINE-ROUTINE TELL-DIAL>
<COMMAND WAIT <> () <TELL
"As Praxix waited, the droning noise grew ever louder."> <SET
I-BUTTON-PUSH-FLAG 100> <RTRUE>>
<DEFINE-ROUTINE V-WAIT>
<GLOBAL FIDDLED-WITH-DEVICE <>>
<COMMAND (PUSH-BUTTON PUSH-BUT 'N) <> () <CHANGE-TRAVEL-COMMAND ,HERE ,
PUSH-BUTTON-COMMAND ,WAIT-COMMAND> <SET BUTTON-PUSHED #ZLOCAL!-IZILCH
TRUE-VALUE> <SET FIDDLED-WITH-DEVICE #ZLOCAL!-IZILCH TRUE-VALUE> <QUEUE
I-BUTTON-PUSH -1> <TELL
"Praxix pushed the button, and it appeared that nothing was happening. A dull
droning noise, however, could soon be discerned, and it grew stronger as the
moments passed."> <RTRUE>>
<DEFINE-ROUTINE V-PUSH-BUTTON>
<GLOBAL I-BUTTON-PUSH-FLAG -1>
<OBJECT I-BUTTON-PUSH (TIME 0) (ACTION <EXECUTE ("AUX" FROM TO) <SETG
I-BUTTON-PUSH-FLAG <ADD ,I-BUTTON-PUSH-FLAG 1>> <COND (<EQUAL? ,
I-BUTTON-PUSH-FLAG 1> <CRLF> <CRLF> <PRINTI
"The droning was now quite loud and echoed throughout the chamber.">) (<GRTR? ,
I-BUTTON-PUSH-FLAG 1> <SET BUTTON-PUSHED #ZLOCAL!-IZILCH FALSE-VALUE> <SET
I-BUTTON-PUSH-FLAG -1> <REMOVE ,I-BUTTON-PUSH> <CHANGE-TRAVEL-COMMAND ,
XFER-MASTER ,WAIT-COMMAND ,PUSH-BUTTON-COMMAND> <CRLF> <CRLF> <PRINTI
"The droning noise had grown to an overwhelming intensity when it suddenly
stopped. The silence in these dark halls was now nearly as deafening."> <SET
FROM <GET ,XFER-TBL ,LEFT-DIAL>> <SET TO <GET ,XFER-TBL ,RIGHT-DIAL>> <COND (<
EQUAL? .TO .FROM> T) (<AND <EQUAL? ,HERE ,XFER-MASTER> <FIRST? .FROM> <EQUAL? .
TO ,XFER-1>> <CRLF> <CRLF> <PRINTI
"But something peculiar caught Praxix' eye as he looked through the glass and
down into the pit below. Something was down there, but he couldn't tell what.">
) (<EQUAL? ,HERE .FROM> <MOVE-TO .TO> <CRLF> <CRLF> <COND (<NOT <QSET? ,
XFER-MASTER ,TRAPPED>> <PRINTI "You can well imagine Praxix' surprise when he">
) (T <PRINTI "Suddenly, though unsurprisingly, Praxix">)> <PRINTI
" found himself standing at the bottom of a "> <COND (<EQUAL? .TO ,XFER-1> <
PRINTI "shallow">) (T <PRINTI "seemingly bottomless">)> <PRINTI " pit."> <
XFER-OBJECTS-CHECK .TO> <COND (<FIRST? .FROM> <PRINTI
" Not only that, but everything
that had been on the ground before was now here as well.">)> <COND (<EQUAL? .TO
,XFER-3> <PRINTI
" Fortunately, a shaft of light piercing the darkness indicated an exit
nearby.">) (T <SET XFER-TRAP #ZLOCAL!-IZILCH TRUE-VALUE>)>) (<AND <EQUAL? ,HERE
.TO> <FIRST? .FROM>> <CRLF> <CRLF> <COND (<NOT <QSET? ,XFER-MASTER ,DEAD>> <
PRINTI "You can well imagine Praxix' surprise when ">) (T <PRINTI
"Praxix was merely startled this time, as ">)> <LIST-CONTENTS .FROM> <PRINTI
" suddenly appeared on the ground beside him.">)> <SET UPDATE-FLAG #
ZLOCAL!-IZILCH TRUE-VALUE> <MOVE-ALL .FROM .TO>)>>)>
<DEFINE-ROUTINE ANONF-297>
<GLOBAL XFER-TRAP <>>
<CONSTANT DIAL-O-TABLE <LTABLE TOP-RUNE UPPER-LEFT-RUNE LOWER-LEFT-RUNE
UPPER-RIGHT-RUNE LOWER-RIGHT-RUNE BOTTOM-RUNE>>
<DEFINE-ROUTINE O-DIAL>
<GLOBAL INITIAL-RUNE-TBL <LTABLE 0 TOP-RUNE UPPER-LEFT-RUNE LOWER-LEFT-RUNE
UPPER-RIGHT-RUNE LOWER-RIGHT-RUNE BOTTOM-RUNE>>
<GLOBAL RUNES-SET <>>
<DEFINE-ROUTINE INIT-RUNES>
<GLOBAL RUNE-TBL <LTABLE 0 0 0 0 0 0>>
<OBJECT TOP-RUNE (SDESC "top") (KBD 84) (TEMP 0) (GRAPHIC G-RUNE-TOP)>
<OBJECT UPPER-LEFT-RUNE (SDESC "upper left") (8DESC "up left") (KBD 85) (TEMP 0
) (GRAPHIC G-RUNE-UL)>
<OBJECT LOWER-LEFT-RUNE (SDESC "lower left") (8DESC "low left") (KBD 76) (TEMP
0) (GRAPHIC G-RUNE-LL)>
<OBJECT UPPER-RIGHT-RUNE (SDESC "upper right") (8DESC "up right") (KBD 85) (
TEMP 0) (GRAPHIC G-RUNE-UR)>
<OBJECT LOWER-RIGHT-RUNE (SDESC "lower right") (8DESC "low right") (KBD 76) (
TEMP 0) (GRAPHIC G-RUNE-LR)>
<OBJECT BOTTOM-RUNE (SDESC "bottom") (KBD 66) (TEMP 0) (GRAPHIC G-RUNE-BOT)>
<OBJECT XFER-CONTROLS (LOC XFER-MASTER) (SDESC "device") (KBD 68) (FLAGS
DONT-TAKE DONT-CAST) (ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <
UPDATE-MOVE> <COND (<NOT <QSET? ,XFER-CONTROLS ,EXAMINED>> <FSET ,XFER-CONTROLS
,SEEN> <COMPLETE-DIAL-GRAPHICS> <PRINTI
"Two devices that resembled dials of some sort were imbedded in the wall of the
chamber. Around each of the dials were the same six peculiar runes, in a language
that he could not recognize. Below and between the two dials sat a short, stubby,
black button."> <PUTP ,ACTION-OBJECT ,P?SDESC #ZLOCAL!-IZILCH STR?682> <SET
UPDATE-FLAG #ZLOCAL!-IZILCH TRUE-VALUE> <TRAVEL-COMMANDS ,HERE ,BACK-COMMAND ,
LEFT-DIAL-COMMAND ,RIGHT-DIAL-COMMAND ,PUSH-BUTTON-COMMAND>)>)>)>
<DEFINE-ROUTINE ANONF-298>
<ROOM NXFER-1 (TRAVEL-COMMANDS UP-COMMAND NUL-COMMAND NUL-COMMAND) (FLAGS
UNDERGROUND) (GRAPHIC G-DARK-CAVERN) (ACTION NXFER)>
<ROOM NXFER-2 (TRAVEL-COMMANDS UP-COMMAND NUL-COMMAND NUL-COMMAND) (FLAGS
UNDERGROUND) (GRAPHIC G-DARK-CAVERN) (ACTION NXFER)>
<ROOM NXFER-3 (TRAVEL-COMMANDS UP-COMMAND NUL-COMMAND NUL-COMMAND) (FLAGS
UNDERGROUND) (GRAPHIC G-DARK-CAVERN) (ACTION NXFER)>
<DEFINE-ROUTINE NXFER>
<DEFINE-ROUTINE TELL-ANTE-RUNE>
<ROOM XFER-1-ANTE (TRAVEL-COMMANDS PROCEED-COMMAND DOWN-COMMAND BACK-COMMAND) (
FLAGS UNDERGROUND) (ENTER <EXECUTE () <SET CURRENT-GRAPHIC #ZLOCAL!-IZILCH
FALSE-VALUE> <GRAPHIC ,G-XFER-ANTE> <COND (<FSET? ,XFER-MASTER ,SEEN> <
REMOVE-TRAVEL-COMMAND ,HERE ,BACK-COMMAND> <FORCE-TRAVEL-COMMAND ,HERE ,
CONTROL-ROOM-COMMAND>)> <COND (<FSET? ,XFER-MASTER ,SOLVED> <TELL-ANTE-RUNE 1>)
>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,PROCEED-COMMAND> <PRINTI
"Continuing down the passageway, Praxix came to another railing separating him
from a rather more precipitous drop than at the previous pit. In fact, he could
not discern a bottom anywhere."> <MOVE-TO ,XFER-2-ANTE>) (<EQUAL? ,ACTION ,
DOWN-COMMAND> <COND (<NOT <FSET? ,XFER-1 ,SOLVED>> <PRINTI
"With an agility that belied his advancing years, Praxix flung himself over
the railing and down into the pit below. To his amazement, long strips of
fire and earth essences coursed through the rock. It would be quite a haul,
indeed, if he could mine any of the precious material.">) (T <PRINTI
"Praxix again flung himself over the railing and down into the pit below.">)> <
XFER-OBJECTS-CHECK ,XFER-1> <MOVE-TO ,XFER-1>) (<OR <EQUAL? ,ACTION ,
BACK-COMMAND> <EQUAL? ,ACTION ,CONTROL-ROOM-COMMAND>> <COND (<NOT <FSET? ,
XFER-MASTER ,SEEN>> <PRINTI
"Praxix now retraced his steps to the base of the fallen stairs. Having little
choice, he entered the narrow doorway into a small, closetlike chamber. On one wall, a
large glass window overlooked a shallow pit. Otherwise, the room was bare
except for a strange device mounted against another of the walls.">) (T <PRINTI
"Then, Praxix quickly retraced his steps back to the control room.">)> <MOVE-TO
,XFER-MASTER>) (<AND <EQUAL? ,ACTION ,CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,
WIND-SPELL> <NOT <FSET? ,XFER-MASTER ,ENCHANTED>>> <DO-XFER-WIND>)>)>
<DEFINE-ROUTINE ANONF-299>
<DEFINE-ROUTINE ANONF-300>
<DEFINE-ROUTINE XFER-OBJECTS-CHECK>
<DEFINE-ROUTINE DO-XFER-WIND>
<COMMAND MINE-ROCK>
<DEFINE-ROUTINE FORCE-MINE-ROCK>
<ROOM XFER-1 (TRAVEL-COMMANDS MINE-ROCK-COMMAND UP-COMMAND NUL-COMMAND) (FLAGS
UNDERGROUND) (GRAPHIC G-DARK-CAVERN) (ENTER <EXECUTE () <FSET ,HERE ,SEEN> <
FORCE-MINE-ROCK>>) (CLOCK FORCE-MINE-ROCK) (ACTION <ACOND () (<EQUAL? ,ACTION ,
MINE-ROCK-COMMAND> <REMOVE-TRAVEL-COMMAND> <COND (<EQUAL? #ZLOCAL!-IZILCH STACK
,HERE ,INVENTORY> <FIND-ESSENCE ,ESSENCE-FIRE 5> <FIND-ESSENCE ,ESSENCE-EARTH 5
> <FSET ,XFER-1 ,SOLVED> <PRINTI
"Having the perfect tool at hand, Praxix gathered as much of the rock
containing the earth and fire essences as was practical, considering the great
deal of time necessary to crush the rocks down into powder. Rather than spend
the rest of the day at it, he settled for taking a moderate amount of each."> <
CRLF> <CRLF> <PRINTI
"\"Not bad for a day's work,\" he said aloud, as he climbed out of the pit
and stood again alongside the railing. \"Now, my only problem is getting
out of this place alive.\""> <MOVE-TO ,XFER-1-ANTE>) (T <PRINTI
"The only problem for Praxix was that the rock in which the essences were
embedded was harder than any other he had come across. There was no chance
he would be able to mine the rocks without the proper tools.">)>) (<AND <EQUAL?
,ACTION ,CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,TREMOR-SPELL>> <PRINTI
"Thinking that his tremor spell might shake some of the rocks loose, Praxix
carefully measured out a small amount of earth essence and cast it at the
ground. The ensuing tremor nearly caused an avalanche of its own, without
so much as budging the rocks in which he had such a keen interest.">) (<EQUAL?
,ACTION ,UP-COMMAND> <PRINTI
"Finished with his examination of the pit, Praxix clambered up the side walls and
was soon back on the other side of the railing."> <MOVE-TO ,XFER-1-ANTE>)>)>
<DEFINE-ROUTINE ANONF-301>
<DEFINE-ROUTINE ANONF-302>
<ROOM XFER-2-ANTE (TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND DOWN-COMMAND
NUL-COMMAND) (FLAGS UNDERGROUND) (ENTER <EXECUTE () <SET CURRENT-GRAPHIC #
ZLOCAL!-IZILCH FALSE-VALUE> <GRAPHIC ,G-XFER-ANTE> <COND (<FSET? ,XFER-MASTER ,
SEEN> <FORCE-TRAVEL-COMMAND ,HERE ,CONTROL-ROOM-COMMAND>)> <COND (<FSET? ,
XFER-MASTER ,SOLVED> <TELL-ANTE-RUNE 2>)>>) (ACTION <ACOND () (<EQUAL? ,ACTION
,PROCEED-COMMAND> <PRINTI
"The passageway ended abruptly before him at the site of yet another railing
and associated pit. From the looks of things, an avalanche had permanently
sealed the way to what could only be presumed to be another set of pits. As
he leaned on the railing, "> <COND (<NOT <FSET? ,XFER-MASTER ,SOLVED>> <PRINTI
"resting his elbows into an inch or so of accumulated dust, ">)> <PRINTI
"he peered down into the depths of the pit and discerned a narrow shaft
of sunlight piercing the darkness."> <MOVE-TO ,XFER-3-ANTE>) (<EQUAL? ,ACTION ,
CONTROL-ROOM-COMMAND> <PRINTI
"In a matter of moments, Praxix had retraced his steps back to the control room."
> <MOVE-TO ,XFER-MASTER>) (<EQUAL? ,ACTION ,BACK-COMMAND> <PRINTI
"In just a few moments, Praxix was back at the first of the pits."> <MOVE-TO ,
XFER-1-ANTE>) (<EQUAL? ,ACTION ,DOWN-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI
"Getting down into the pit would pose something of a dilemma for Praxix. It was
painfully obvious that falling or jumping into the pit would mean certain
death.">) (<AND <EQUAL? ,ACTION ,CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,
LEVITATE-SPELL>> <XFER-DESCEND ,XFER-2>) (<AND <EQUAL? ,ACTION ,CAST-COMMAND> <
EQUAL? ,ACTION-OBJECT ,WIND-SPELL> <NOT <FSET? ,XFER-MASTER ,ENCHANTED>>> <
DO-XFER-WIND>) (<AND <EQUAL? ,ACTION ,CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,
FAR-VISION-SPELL>> <DO-XFER-FLARE ,XFER-2>)>)>
<DEFINE-ROUTINE ANONF-303>
<DEFINE-ROUTINE ANONF-304>
<DEFINE-ROUTINE XFER-DESCEND>
<DEFINE-ROUTINE DO-XFER-FLARE>
<ROOM XFER-2 (TRAVEL-COMMANDS UP-COMMAND NUL-COMMAND NUL-COMMAND) (FLAGS
UNDERGROUND) (GRAPHIC G-DARK-CAVERN) (ACTION NXFER)>
<OBJECT PICK-AXE (LOC XFER-2) (SDESC "pick-axe") (KBD 80) (ACTION <ACOND () (<
EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> <
PRINTI "At this point, Praxix examined the axe more carefully. It was nearly new, though,
like everything else, it was covered in dust.">) (<EQUAL? ,ACTION ,
PICK-UP-COMMAND> <COND (<NOT <QSET? ,PICK-AXE ,USED-UP>> <PRINTI
"\"This should come in rather useful,\" Praxix said, as he picked up the pick
axe and slung it over his shoulder.">) (T <PRINTI
"Praxix then picked up the pick-axe and slung it over his shoulder, as he had
done before.">)> <UPDATE-MOVE ,PICK-AXE ,INVENTORY>) (<EQUAL? ,ACTION ,
DROP-COMMAND> <UPDATE-REMOVE ,PICK-AXE> <PRINTI
"Rather than carry the pick-axe any longer, Praxix rested it against a nearby
wall.">)>)>
<DEFINE-ROUTINE ANONF-305>
<ROOM XFER-3-ANTE (TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND DOWN-COMMAND
NUL-COMMAND) (FLAGS UNDERGROUND) (ENTER <EXECUTE () <FSET ,HERE ,SEEN> <SET
CURRENT-GRAPHIC #ZLOCAL!-IZILCH FALSE-VALUE> <GRAPHIC ,G-XFER-ANTE ,
G-XFER-ANTE-LIGHT ,BOTTOM-RIGHT> <COND (<FSET? ,XFER-MASTER ,SEEN> <
FORCE-TRAVEL-COMMAND ,HERE ,CONTROL-ROOM-COMMAND>)> <COND (<FSET? ,XFER-MASTER
,SOLVED> <PRINTI
" Alongside the opening to the chamber below was a rune that had been obliterated by
the passage of the long years.">)>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,
PROCEED-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI
"It didn't take more than two looks at the debris before him for Praxix to realize
that he wasn't going any further in this direction.">) (<EQUAL? ,ACTION ,
BACK-COMMAND> <PRINTI
"Quickly, Praxix retreated to the middle of the three pits."> <MOVE-TO ,
XFER-2-ANTE>) (<EQUAL? ,ACTION ,CONTROL-ROOM-COMMAND> <PRINTI
"Quickly, Praxix passed by the two other pits as he made his way back to the
control room."> <MOVE-TO ,XFER-MASTER>) (<EQUAL? ,ACTION ,DOWN-COMMAND> <
REMOVE-TRAVEL-COMMAND> <PRINTI
"Getting down into the pit would pose something of a dilemma for Praxix. It was
painfully obvious that falling or jumping into the pit would mean certain
death.">) (<AND <EQUAL? ,ACTION ,CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,
LEVITATE-SPELL>> <XFER-DESCEND ,XFER-3>) (<AND <EQUAL? ,ACTION ,CAST-COMMAND> <
EQUAL? ,ACTION-OBJECT ,WIND-SPELL> <NOT <FSET? ,XFER-MASTER ,ENCHANTED>>> <
DO-XFER-WIND>) (<AND <EQUAL? ,ACTION ,CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,
FAR-VISION-SPELL>> <DO-XFER-FLARE ,XFER-3>)>)>
<DEFINE-ROUTINE ANONF-306>
<DEFINE-ROUTINE ANONF-307>
<COMMAND (FOLLOW-LIGHT FIND-LIGHT)>
<ROOM XFER-3 (TRAVEL-COMMANDS FOLLOW-LIGHT-COMMAND NUL-COMMAND NUL-COMMAND) (
FLAGS UNDERGROUND DONT-CAST) (GRAPHIC G-MINER-PASSAGE) (ACTION <EXECUTE ("AUX"
TMP) <COND (<EQUAL? ,ACTION ,FOLLOW-LIGHT-COMMAND> <COND (<IN? ,PICK-AXE ,
INVENTORY> <REMOVE ,PICK-AXE> <PRINTI
"Having no further need for the pick-axe, Praxix dropped it on the ground. He
then started following the stream of light, following a dirt path. ">)> <PRINTI
"The path wound its way up a crumbling set of stairs, but these soon were nearly
unrecognizable. Clambering the rest of the way back to ground level, he finally
extricated himself from the ground about one hundred paces away from the mill
itself. And as he looked back toward the large grinding wheel, he realized that
he had been dead wrong from the outset."> <CRLF> <CRLF> <PRINTI
"\"The mill is not for grains at all,\" he said aloud, \"but for milling
the stones of magical essences! To think I've been exploring a magic mine!\"">
<CRLF> <CRLF> <COND (,REJOINED <PRINTI
"You can imagine our relief at seeing our Wizard friend again, for it had been
quite some time since he had disappeared into the mill's mechanism, triggering the
avalanche that prevented us from following him."> <CRLF> <CRLF> <PRINTI
"\"Come, come, don't stand there gawking,\" he said, wagging his finger at us.
\"We still have much to do.\""> <CRLF> <CRLF>)> <FCLEAR ,TAG ,SHADOW> <SET TMP
<ADD #ZLOCAL!-IZILCH STACK 1>> <PUT ,PARTY #ZLOCAL!-IZILCH STACK ,TAG> <PUT ,
PARTY .TMP ,TAG-SWAP-CHR> <SCENE #ZLOCAL!-IZILCH FALSE-VALUE> <LEAVE-MILL-AREA>
) (T <NXFER>)>>)>
<DEFINE-ROUTINE ANONF-308>

1231
fog.zap Normal file

File diff suppressed because it is too large Load diff

1569
fog.zil Normal file

File diff suppressed because it is too large Load diff

974
forest.zabstr Normal file
View file

@ -0,0 +1,974 @@
<BEGIN-SEGMENT FOREST>
<GLOBAL BITE-VICTIM <>>
<GLOBAL BITE-VICTIM-OBJECT <>>
<DEFINE-ROUTINE MOVE-TO-FOREST-RIDGE>
<ROOM BITE-FOREST (TRAVEL-COMMANDS COMB-AREA-COMMAND SPLIT-UP-COMMAND
NUL-COMMAND) (FLAGS ADVISE DONT-SCOUT DANGEROUS) (ENTER <EXECUTE () <COND (<NOT
<QSET? ,HERE ,SEEN>> <COND (<FSET? ,MINAR ,IN-PARTY> <SET BITE-VICTIM ,MINAR> <
SET BITE-VICTIM-OBJECT ,MINAR-OBJECT>) (<FSET? ,ESHER ,IN-PARTY> <SET
BITE-VICTIM ,ESHER> <SET BITE-VICTIM-OBJECT ,ESHER-OBJECT>) (T <
SKIP-BITE-FOREST> <RTRUE>)> <GRAPHIC ,G-NIGHTFANG> <CRLF> <CRLF> <PRINTI
"And then, without warning, a large snake lunged at "> <WPRINTD ,BITE-VICTIM> <
PRINTI ", grabbing him by the
leg. "> <COND (<FSET? ,BERGON ,IN-PARTY> <PRINTI "Bergon">) (T <WPRINTD ,
BITE-VICTIM>)> <PRINTI
", reacting instinctively, killed the snake with a single blow
of his sword"> <COND (<FSET? ,BERGON ,IN-PARTY> <PRINTI "; "> <WPRINTD ,
BITE-VICTIM>) (T <PRINTI " and">)> <PRINTI " collapsed against a tree."> <CRLF>
<CRLF> <PRINTI "\"The snake,\" he started, grimacing with pain. \"Nightfang....\" His
voice trailed off, and his eyes took on a glazed, vacant look."> <CRLF> <CRLF>
<PRINTI "\"But that cannot be! I thought Nightfang were nocturnal, like the
Starstalker!\" I said, hopefully."> <CRLF> <CRLF> <PRINTI
"\"And you were right,\" replied Praxix. \"They were nocturnal. "> <COND (<
FSET? ,BERGON ,IN-PARTY> <PRINTI "Bergon, t">) (T <PRINTI "T">)> <PRINTI
"his man
will die unless we can find some westflake root. There is little time!\""> <
UPDATE-MOVE ,BITE-VICTIM-OBJECT ,HERE> <FSET ,BITE-VICTIM ,INCAPACITATED> <
MAKE-BUSY ,BITE-VICTIM ,ILL-COMMAND>) (T <COND (<IN? ,WOOD-ELF ,HERE> <
CHANGE-TRAVEL-COMMAND ,HERE ,TAG-ROUTE-COMMAND ,ELF-HOME-COMMAND>)> <COND (<NOT
<FSET? ,BERGON ,TRAPPED>> <REMOVE-TRAVEL-COMMAND ,HERE ,BERGON-ROUTE-COMMAND>)>
<COND (<AND <FSET? ,BITE-VICTIM ,INCAPACITATED> <NOT <FSET? ,BITE-VICTIM ,DEAD>
>> <COND (<AND <NOT <IN? ,WOOD-ELF ,HERE>> <NOT <IN? ,WESTFLAKE-ROOT ,PRAXIX>>>
<GRAPHIC ,G-NIGHTFANG>)> <COND (<AND <NOT ,SUBGROUP-MODE> <NOT <FSET? ,
BITE-VICTIM ,IN-PARTY>>> <PARTY-ADD ,BITE-VICTIM>)> <UPDATE-MOVE ,
BITE-VICTIM-OBJECT ,HERE> <MAKE-BUSY ,BITE-VICTIM ,ILL-COMMAND>) (<OR <FSET? ,
WOOD-ELF ,TRAPPED> <FSET? ,BITE-VICTIM ,DEAD>> <GRAPHIC ,G-FOREST>)>)>>) (EXIT
<EXECUTE () <COND (<AND <NOT ,SUBGROUP-MODE> ,BITE-VICTIM <OR <FSET? ,
BITE-VICTIM ,INCAPACITATED> <FSET? ,BITE-VICTIM ,DEAD>>> <PARTY-REMOVE ,
BITE-VICTIM>)>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,ENTER-TUNNEL-COMMAND> <
PRINTI "We chose next to explore the tunnel that we had discovered underneath the stump,
and, descending from our camp, quickly retraced our steps to the point at which
we had entered it earlier. "> <MOVE-TO ,WARREN #ZLOCAL!-IZILCH STR?412>) (<
EQUAL? ,ACTION ,ELF-HOME-COMMAND> <COND (<FSET? ,BERGON ,TRAPPED> <FSET ,BERGON
,DEAD>)> <COND (<FSET? ,WOOD-ELF ,TRAPPED> <PRINTI
"Doing as V'ren had told us, I retraced my steps to the pool. V'ren
was waiting there for us, and led us">) (T <PRINTI
"V'ren led us to the pool at which we had met, then">)> <PRINTI
" through twisty
forest paths until we reached a small clearing. \"This is the Elf
Home,\" she said, without words. \"Home of our Mothers since the
beginning of all things.\""> <CRLF> <CRLF> <MOVE-TO ,ELF-HOME #ZLOCAL!-IZILCH
STR?413>) (<EQUAL? ,ACTION ,TAG-ROUTE-COMMAND> <COND (<FSET? ,BERGON ,TRAPPED>
<FSET ,BERGON ,DEAD>)> <PRINTI "I retraced my earlier steps, "> <COND (<NOT <
FSET? ,ELFSTREAM-1 ,SEEN>> <PRINTI
"but this time we decided to follow the stream."> <MOVE-TO ,ELFSTREAM #
ZLOCAL!-IZILCH STR?414>) (T <MOVE-TO ,ELFSTREAM #ZLOCAL!-IZILCH STR?415>)>) (<
EQUAL? ,ACTION ,BERGON-ROUTE-COMMAND> <COND (<IN? ,WOOD-ELF ,HERE> <FSET ,
WOOD-ELF ,TRAPPED> <PRINTI
"We decided to follow Bergon's route in hopes of discovering his
fate. V'ren said she could not come with us, but that we were
welcome at the Elf Home. \"Come to the pool where we met,\" she
said to me, \"and we shall meet again!\" And with that, she sped into the
forest."> <CRLF> <CRLF>)> <MOVE-TO ,TANGLEWOOD #ZLOCAL!-IZILCH STR?416>) (<
EQUAL? ,ACTION ,PRAXIX-ROUTE-COMMAND> <COND (<FSET? ,BERGON ,TRAPPED> <FSET ,
BERGON ,DEAD>)> <COND (<AND <IN? ,WOOD-ELF ,HERE> <NOT <FSET? ,WOOD-ELF ,
TRAPPED>>> <PRINTI
"As we prepared to leave, V'ren explained that
she must return to the Elf Home, but that we could find her
anytime by returning to the pool at which we had first met.
\"Good luck in your travels,\" she said without speech, and
swiftly disappeared into the forest."> <CRLF> <CRLF>)> <PRINTI
"Praxix led the way, and we soon arrived at the glade he had found
nearby."> <COND (<NOT <QSET? ,FOREST-GLADE ,SEEN>> <PRINTI
" But, just as he was explaining his decision to go no farther, he stumbled
over a tree stump that had been hidden in the knee-high grass!">) (<NOT <QSET?
,GLADE-STUMP ,SEEN>> <COND (<FSET? ,FOREST-GLADE ,SEEN> <CRLF> <CRLF> <PRINTI
"\"Here's the stump that I walked into before,\" he said, giving
it a"> <COND (<FSET? ,GLADE-STUMP ,EXAMINED> <PRINTI
"nother rap with his staff.">) (T <PRINTI " rap with his staff.">)>)> <COND (<
IN? ,WESTFLAKE-ROOT ,PRAXIX> <PRINTI
" \"Taught it a lesson!\" he added,
pointing to its broken remains and the passage leading downward.">) (T <PRINTI
" This, oddly, produced a hollow tone.">)>)> <MOVE-TO ,FOREST-GLADE>) (<AND <
EQUAL? ,ACTION ,EXAMINE-COMMAND> <EQUAL? ,ACTION-OBJECT ,BITE-VICTIM-OBJECT>> <
UPDATE-FSET ,BITE-VICTIM-OBJECT ,DONT-EXAMINE> <WPRINTD ,ACTOR> <PRINTI
" examined "> <WPRINTD ,BITE-VICTIM> <PRINTI
". \"Unless we find the antidote, he will be
dead before the sun sets.\""> <COND (<FSET? ,BERGON ,IN-PARTY> <PRINTI
" Bergon gazed up at the sky and frowned.">)> <RTRUE>) (<AND <EQUAL? ,ACTION ,
GET-ADVICE-COMMAND> <FSET? ,BITE-VICTIM ,INCAPACITATED>> <UPDATE-FCLEAR ,HERE ,
ADVISE> <PRINTI "Unsure of how to save "> <WPRINTD ,BITE-VICTIM> <PRINTI
", Bergon asked for our advice. Praxix
felt we had no alternative but to split up in search of the lifesaving
root. I agreed, though I was fearful at the prospect of exploring this
forest on my own.">) (<EQUAL? ,ACTION ,SPLIT-UP-COMMAND> <PRINTI
"It was agreed that we split up the group in search of the elusive
westflake root, and "> <UPDATE-FCLEAR ,HERE ,ADVISE> <COND (<FSET? ,BERGON ,
IN-PARTY> <PRINTI "Bergon indicated">) (T <PRINTI "we decided on">)> <PRINTI
" the paths we should follow."> <CRLF> <CRLF> <COND (<AND <FSET? ,BERGON ,
IN-PARTY> <NOT <FSET? ,DWARF-MEETING ,SEEN>>> <PRINTI
"\"I shall remain here to tend to "> <WPRINTD ,BITE-VICTIM> <PRINTI
". Now go,
and return before sunset! Do not wander far!\" he commanded."> <COND (<AND <
FSET? ,ESHER ,IN-PARTY> <NOT <EQUAL? ,BITE-VICTIM ,ESHER>>> <PRINTI
" But Esher would not leave, preferring to do what he could to
keep Minar comfortable. And thus it was that Praxix and I went our
separate ways into the forest.">)>) (<FSET? ,BERGON ,IN-PARTY> <PRINTI
"\"We will meet back here before sunset! Don't wander too far!\" he
said.">) (T <PRINTI
"\"We must meet back before sunset. Go quickly!\" Praxix said.">)> <COND (<AND
<FSET? ,BERGON ,IN-PARTY> <FSET? ,DWARF-MEETING ,SEEN>> <DIVIDER> <PRINTI
"Choosing for himself the most difficult path, Bergon strode off into
the thickening forest to our west."> <FSET ,BERGON-SEARCH ,SEEN> <SCENE ,
BERGON-SEARCH>) (T <SCENE ,PRAXIX-SEARCH>)>) (<EQUAL? ,ACTION ,
COMB-AREA-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI
"We spent many frantic minutes searching the area for some westflake
root, but to no avail. "> <WPRINTD ,BITE-VICTIM> <PRINTI
" was now seemingly paralyzed; only the
infrequent blinking of his eyes gave any clue that he remained alive.">)>)>
<DEFINE-ROUTINE ANONF-96>
<DEFINE-ROUTINE ANONF-97>
<DEFINE-ROUTINE ANONF-98>
<DEFINE-ROUTINE MOVE-TO-ELF-HOME>
<OBJECT PRAXIX-SEARCH (ACTION <ACOND () (<EQUAL? ,ACTION ,SCENE-START-COMMAND>
<DIVIDER> <COND (<FSET? ,BERGON ,TRAPPED> <PRINTI
"Praxix fared much better; leaving camp, he entered">) (<NOT <FSET? ,BERGON ,
IN-PARTY>> <PRINTI "Praxix chose to explore">) (T <PRINTI
"Bergon sent Praxix off to explore">)> <PRINTI
" the forest that lay to the east, and
it was not long before he came to the edge of a grassy glade."> <
CHANGE-TRAVEL-COMMAND ,BERGON ,EXAMINE-COMMAND ,GET-ADVICE-COMMAND> <
MAKE-SUBGROUP ,PRAXIX> <REMOVE-TRAVEL-COMMAND ,PRAXIX ,TELL-LEGEND-COMMAND> <
MOVE-TO ,FOREST-GLADE-EDGE>)>)>
<DEFINE-ROUTINE ANONF-99>
<ROOM FOREST-GLADE-EDGE (TRAVEL-COMMANDS PROCEED-COMMAND RETURN-COMMAND
NUL-COMMAND) (GRAPHIC G-FOREST) (ACTION <ACOND () (<EQUAL? ,ACTION ,
PROCEED-COMMAND> <PRINTI
"He had entered the glade and was moving swiftly through the knee-high
grasses and wildflowers, when he walked straight into a tree stump that
had been hidden in the undergrowth. Stifling a scream, Praxix rubbed his
injured leg."> <CRLF> <CRLF> <PRINTI
"\"What an absurd place to leave a stump,\" he said, petulantly."> <MOVE-TO ,
FOREST-GLADE>) (<EQUAL? ,ACTION ,RETURN-COMMAND> <PRINTI
"Praxix, unconvinced that westflake would be found here, returned
to camp."> <SCENE ,TAG-SEARCH>)>)>
<DEFINE-ROUTINE ANONF-100>
<OBJECT GLADE-STUMP (SDESC "stump") (KBD 83) (LOC FOREST-GLADE) (FLAGS
DONT-TAKE) (EXBITS PRAXIXBIT) (ACTION <ACOND () (<EQUAL? ,ACTION ,
EXAMINE-COMMAND> <UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> <PRINTI
"Praxix inspected this misplaced piece of tree; then, as if to vent his anger,
he rapped it with his staff, producing a hollow tone. \"Now, that is odd!\" he
said, rubbing his still sore foot. Looking more closely now, he was unable to
find any sign of how it might open.">)>)>
<DEFINE-ROUTINE ANONF-101>
<ROOM FOREST-GLADE (TRAVEL-COMMANDS PROCEED-COMMAND RETURN-COMMAND NUL-COMMAND)
(CAST-LIMIT 2) (GRAPHIC G-GLADE) (ENTER <EXECUTE () <HINT ,HINT-STUMP> <PUTP ,
HERE ,P?CAST-LIMIT 2> <COND (<AND <FSET? ,GLADE-STUMP ,ENCHANTED> <NOT <FSET? ,
UNDERFOREST-2 ,TRIED>>> <ADD-TRAVEL-COMMAND ,HERE ,DOWN-COMMAND>)> <FSET ,
FOREST-GLADE ,SEEN>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,PROCEED-COMMAND> <
REMOVE-TRAVEL-COMMAND> <COND (,SUBGROUP-MODE <PRINTI
"Limping slightly, Praxix continued on his way; before long, the terrain
fell into a deep glen. \"Never get back in time!\" he said to
himself, and returned to the glade."> <FSET ,HERE ,DONT-SCOUT>) (<FSET? ,
BITE-VICTIM ,INCAPACITATED> <PRINTI
"We walked to the far end of the glade; the terrain sloped
down sharply. \"No time to go farther!\" Praxix said, and he
was right. It was nearly sunset, and "> <WPRINTD ,BITE-VICTIM> <PRINTI
" was close to death.">) (T <UPDATE-FSET ,HERE ,DONT-SCOUT> <PRINTI
"The terrain ahead of us appeared unpromising, so we decided
to take a different route.">)>) (<EQUAL? ,ACTION ,SCOUT-COMMAND> <UPDATE-FSET ,
HERE ,DONT-SCOUT> <FSET ,HERE ,SCOUTED> <REMOVE-TRAVEL-COMMAND ,HERE ,
PROCEED-COMMAND> <COND (<FSET? ,BITE-VICTIM ,INCAPACITATED> <WPRINTD ,ACTOR> <
PRINTI " went ahead to the far end of the glade, where the terrain sloped
down sharply. \"No time to go farther!\" he said, and he
was right. It was nearly sunset, and "> <WPRINTD ,BITE-VICTIM> <PRINTI
" was close to death.">) (T <WPRINTD ,ACTOR> <PRINTI
" checked out the far end of the glade, but returned with the report that the
terrain appeared unpromising.">)>) (<EQUAL? ,ACTION ,RETURN-COMMAND> <COND (,
SUBGROUP-MODE <PRINTI
"Finding no sign of westflake, Praxix returned to our camp."> <SCENE ,
TAG-SEARCH>) (T <PRINTI "We returned to our camp, having found nothing "> <COND
(<FSET? ,BITE-VICTIM ,INCAPACITATED> <PRINTI
"which could help our ailing friend">) (T <PRINTI
"useful along the route that Praxix had taken">)> <PRINTI "."> <
REMOVE-TRAVEL-COMMAND ,BITE-FOREST ,PRAXIX-ROUTE-COMMAND> <MOVE-TO ,BITE-FOREST
>)>) (<EQUAL? ,ACTION ,DOWN-COMMAND> <COND (<NOT ,SUBGROUP-MODE> <COND (<QSET?
,HERE ,TRIED> <REMOVE-TRAVEL-COMMAND>)> <MOVE-TO ,UNDERFOREST-2 #ZLOCAL!-IZILCH
STR?419>) (T <MOVE-TO ,UNDERFOREST-2 #ZLOCAL!-IZILCH STR?420>)>) (<AND <EQUAL?
,ACTION ,CAST-COMMAND> <OR <AND <EQUAL? ,ACTION-OBJECT ,LIGHTNING-SPELL> <
EQUAL? ,ACTION-PRSI ,GLADE-STUMP>> <AND <EQUAL? ,ACTION-OBJECT ,FIRE-SPELL> <
EQUAL? ,ACTION-PRSI ,GLADE-STUMP>> <EQUAL? ,ACTION-OBJECT ,TREMOR-SPELL>> <NOT
<QSET? ,GLADE-STUMP ,ENCHANTED>>> <UPDATE-FSET ,GLADE-STUMP ,DONT-EXAMINE> <
ADD-TRAVEL-COMMAND ,HERE ,DOWN-COMMAND> <GRAPHIC ,G-STUMP> <COND (<EQUAL? ,
ACTION-OBJECT ,LIGHTNING-SPELL> <FSET ,LIGHTNING-SPELL ,SEEN> <PRINTI
"Praxix carefully prepared a mixture of water and fire essences; then, he
added just the slightest pinch of earth essence. He cast the mixture
into the air and lifted his staff; from nowhere, clouds gathered and soon the
sky was twilight-dark. Then, a single bolt of lightning fell from the
sky, splitting the stump in two, and">) (<EQUAL? ,ACTION-OBJECT ,TREMOR-SPELL>
<PRINTI "Praxix removed some earth essence from his pouch and cast it at the
stump; the earth trembled briefly and the stump split in two">) (T <PRINTI
"Praxix removed a small handful of fire essence from his cloak and
spread it over the stump. Within moments, the stump was afire;
it burned itself out a few moments later,">)> <PRINTI
" revealing a passage below. \"Not bad! Not bad!\" he said, and he peered
into the darkness below."> <COND (<AND <NOT ,SUBGROUP-MODE> <EQUAL? ,
ACTION-OBJECT ,LIGHTNING-SPELL> <NOT <QSET? ,LIGHTNING-SPELL ,INCAPACITATED>>>
<CRLF> <CRLF> <PRINTI
"Praxix, proud of his accomplishment, turned to me and whispered that it
was the pinch of earth essence that really gives the lightning spell its
added punch. But however the magic had been prepared, its effect was
profound.">)> <PUTP ,HERE ,P?GRAPHIC ,G-STUMP>)>)>
<DEFINE-ROUTINE ANONF-102>
<DEFINE-ROUTINE ANONF-103>
<COMMAND AWAY>
<ROOM UNDERFOREST-2 (TRAVEL-COMMANDS UP-COMMAND FEEL-AROUND-COMMAND NUL-COMMAND
) (FLAGS UNDERGROUND) (CAST-LIMIT INF) (CLOCK <EXECUTE () <COND (<AND <NOT <
FSET? ,PRAXIX ,LIT>> <NOT <CHECK-ESSENCES ,LIGHT-SPELL>> <NOT <CHECK-ESSENCES ,
LEVITATE-SPELL>>> <FSET ,HERE ,TRAPPED>)>>) (ENTER <EXECUTE () <COND (<LOC ,
HINT-STUMP> <UPDATE-REMOVE ,HINT-STUMP>)> <COND (<FSET? ,PRAXIX ,LIT> <GRAPHIC
,G-WARREN> <CRLF> <CRLF> <PRINTI "With the aid of "> <COND (,SUBGROUP-MODE <
PRINTI "his enchanted staff, Praxix">) (T <PRINTI "Praxix' enchanted staff, we"
>)> <PRINTI " could see that the passage led both back toward our camp and away."
> <ADD-PARTY-COMMAND ,AWAY-COMMAND> <CHANGE-PARTY-COMMAND ,FEEL-AROUND-COMMAND
,BACK-COMMAND>) (T <UPDATE-FSET ,HERE ,DONT-SCOUT> <CAVERN-GRAPHIC>)> <COND (<
AND <FSET? ,PRAXIX ,LIT> <NOT ,SUBGROUP-MODE> <NOT <FSET? ,BITE-VICTIM ,
INCAPACITATED>>> <CHANGE-PARTY-COMMAND ,AWAY-COMMAND ,PROCEED-COMMAND>)>>) (
ACTION <ACOND () (<EQUAL? ,ACTION ,AWAY-COMMAND> <REMOVE-PARTY-COMMAND ,
AWAY-COMMAND> <PRINTI
"Praxix absentmindedly started to head away from our camp, when he
remembered how little time there was to save "> <WPRINTD ,BITE-VICTIM> <PRINTI
"."> <CRLF> <CRLF> <PRINTI
"\"There will be time for this later,\" he said, scolding himself, and
quickly retraced his steps to his starting point.">) (<EQUAL? ,ACTION ,
UP-COMMAND> <COND (,SUBGROUP-MODE <REMOVE-PARTY-COMMAND ,UP-COMMAND> <PRINTI
"Try as he might, Praxix couldn't climb out of this hole
he had dug for himself.">) (T <FCLEAR ,HERE ,DEAD> <MOVE-TO ,FOREST-GLADE #
ZLOCAL!-IZILCH STR?423>)>) (<EQUAL? ,ACTION ,PROCEED-COMMAND> <COND (<FSET? ,
HERE ,TRAPPED> <PRINTI
"The remainder of the day was spent tediously feeling our way through scores of
dark, underground chambers until we finally reached an exit. We clambered out "
> <MOVE-TO-ELFSTREAM>) (<NOT <FSET? ,PRAXIX ,LIT>> <PRINTI
"We decided to explore this underground tunnel, but without light, the
prospects were dim.">) (T <MOVE-TO ,WARREN #ZLOCAL!-IZILCH STR?424>)>) (<AND <
EQUAL? ,ACTION ,CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,LEVITATE-SPELL>> <COND (,
SUBGROUP-MODE <PRINTI
"Then, taking out his air and earth essences, Praxix created an elevation spell
and used it to raise himself back into the glade.">) (T <PRINTI
"Praxix then used his elevation spell to lift "> <WPRINTD ,ACTION-PRSI> <PRINTI
" out of the hole;
it was then a simple matter for the rest of us to make our way out.">)> <FSET ,
HERE ,TRIED> <MOVE-TO ,FOREST-GLADE>) (<AND <EQUAL? ,ACTION ,CAST-COMMAND> <
EQUAL? ,ACTION-OBJECT ,LIGHT-SPELL> <EQUAL? ,ACTION-PRSI ,STAFF> <NOT <QSET? ,
PRAXIX ,LIT>>> <COND (<LOC ,HINT-STUMP> <UPDATE-REMOVE ,HINT-STUMP>)> <GRAPHIC
,G-WARREN> <UPDATE-FCLEAR ,HERE ,DONT-SCOUT> <COND (<AND <NOT ,SUBGROUP-MODE> <
NOT <FSET? ,BITE-VICTIM ,INCAPACITATED>>> <COND (<FSET? ,HERE ,DEAD> <
ADD-PARTY-COMMAND ,PROCEED-COMMAND>) (T <CHANGE-PARTY-COMMAND ,
FEEL-AROUND-COMMAND ,PROCEED-COMMAND>)>) (T <COND (<FSET? ,HERE ,DEAD> <
ADD-PARTY-COMMAND ,BACK-COMMAND>) (T <CHANGE-PARTY-COMMAND ,FEEL-AROUND-COMMAND
,BACK-COMMAND>)> <ADD-PARTY-COMMAND ,AWAY-COMMAND>)> <PRINTI
"It took some doing, but Praxix managed to fumble through his pouch and
remove some fire and earth essence. He applied it to his staff, causing it
to glow a dull red. "> <COND (,SUBGROUP-MODE <PRINTI "H">) (T <PRINTI "W">)> <
PRINTI "e could now see
that he was in a tunnel, with passages leading in two directions, though
only one of these would head in the direction of camp.">) (<AND <EQUAL? ,ACTION
,CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,FAR-VISION-SPELL>> <PRINTI
"Praxix, with his flare spell, lit the walls of the tunnel,
revealing that it was covered with a mossy, plantlike material, and that it
spread out far in both directions.">) (<EQUAL? ,ACTION ,BACK-COMMAND> <PRINTI
"Using his staff for light, "> <COND (,SUBGROUP-MODE <WPRINTD ,PRAXIX>) (T <
PRINTI "we">)> <PRINTI " continued down the tunnel in the direction of camp.">
<COND (<FSET? ,BITE-VICTIM ,INCAPACITATED> <PRINTI
" Casually scanning the walls, "> <COND (,SUBGROUP-MODE <PRINTI "he">) (T <
PRINTI "we">)> <PRINTI
" recognized the plant that almost completely surrounded "> <COND (,
SUBGROUP-MODE <PRINTI "him">) (T <PRINTI "us">)> <PRINTI ": westflake! "> <COND
(<NOT ,SUBGROUP-MODE> <WPRINTD ,PRAXIX>) (T <PRINTI "He">)> <PRINTI
" gathered some of the root for "> <WPRINTD ,BITE-VICTIM> <PRINTI
", placing it in his
cloak.">)> <COND (<NOT ,SUBGROUP-MODE> <PRINTI " We">) (T <PRINTI " He">)> <
PRINTI " continued down the tunnel, coming eventually to a ladder carved into the
earth and rising into a hollowed-out tree stump!"> <COND (,SUBGROUP-MODE <
PRINTI " The sound of a
voice (or was it voices) could be heard just above, and Praxix
eagerly pulled himself up the ladder."> <MOVE ,WESTFLAKE-ROOT ,PRAXIX> <SCENE ,
TAG-SEARCH>) (T <PRINTI
" We raised ourselves out of the stump; we were back at our camp."> <COND (<
FSET? ,BITE-VICTIM ,INCAPACITATED> <MOVE-TO ,BITE-FOREST> <CRLF> <CRLF> <PRINTI
"Praxix rushed over to "> <WPRINTD ,BITE-VICTIM> <PRINTI
" and made a terrible discovery. "> <BITE-VICTIM-DIES> <CHANGE-TRAVEL-COMMAND ,
BITE-FOREST ,PRAXIX-ROUTE-COMMAND ,ENTER-TUNNEL-COMMAND> <MOVE-TO ,BITE-FOREST>
) (T <CRLF> <CRLF> <PRINTI
"\"As I suspected, this route leads only back to our camp,\" Praxix said.
\"Come, let us see what lies at the other end of the tunnel.\""> <CRLF> <CRLF>
<PRINTI "In a matter of moments, we had climbed back down into the tunnel,
retracing our steps to our point of entry in the glade. "> <MOVE-TO ,WARREN #
ZLOCAL!-IZILCH STR?424>)> <RTRUE>)>) (<EQUAL? ,ACTION ,FEEL-AROUND-COMMAND> <
REMOVE-PARTY-COMMAND ,FEEL-AROUND-COMMAND> <FSET ,HERE ,DEAD> <PRINTI "Though "
> <COND (,SUBGROUP-MODE <PRINTI "h">) (T <PRINTI "w">)> <PRINTI
"e could not see, it was clear by feeling around that "> <COND (,SUBGROUP-MODE
<PRINTI "he was">) (T <PRINTI "we were">)> <PRINTI
" in some sort of tunnel. Without any light, movement
would be painfully slow and uncomfortable.">)>)>
<DEFINE-ROUTINE ANONF-104>
<DEFINE-ROUTINE ANONF-105>
<DEFINE-ROUTINE ANONF-106>
<OBJECT WESTFLAKE-ROOT (SDESC "westflake") (KBD 87)>
<OBJECT TAG-SEARCH (ACTION <ACOND () (<EQUAL? ,ACTION ,SCENE-START-COMMAND> <
DIVIDER> <GRAPHIC ,G-FOREST> <COND (<AND <FSET? ,BERGON ,IN-PARTY> <NOT <FSET?
,BERGON ,TRAPPED>>> <PRINTI "\""> <WPRINTTAG> <PRINTI
", you search the forest to the north,\" Bergon said, and
that was what I did">) (T <PRINTI
"I headed out into the forest that lay to the north">)> <PRINTI
", though I was filled with apprehension at the
thought of exploring on my own."> <CRLF> <CRLF> <PRINTI
"But the forest was beautiful, and the air cool and fresh. Up ahead,
the sound of flowing water could be heard ever more clearly, and I
followed that sound until I came upon a small stream, which took off at
an angle to my path."> <ADD-TRAVEL-COMMAND ,PRAXIX ,TELL-LEGEND-COMMAND> <
MAKE-TAG-SUBGROUP> <MOVE-TO ,ELFWOOD-2>) (<EQUAL? ,ACTION ,SCENE-END-COMMAND> <
COND (<AND <FSET? ,WOOD-ELF ,SEEN> <NOT <FSET? ,ELFSTREAM-1 ,SOLVED>>> <HINT ,
HINT-ELF-SPEAK>) (<AND <NOT <FSET? ,ELFSTREAM-1 ,SEEN>> <IN? ,WESTFLAKE-ROOT ,
PRAXIX>> <HINT ,HINT-BITE-FOREST>) (<AND <NOT <FSET? ,WOOD-ELF ,SEEN>> <IN? ,
WESTFLAKE-ROOT ,PRAXIX>> <HINT ,HINT-WOOD-ELF>)>)>)>
<DEFINE-ROUTINE ANONF-107>
<DEFINE-ROUTINE SEARCH-END>
<DEFINE-ROUTINE BITE-VICTIM-BITE-HEALED>
<DEFINE-ROUTINE PRAXIX-STUMP-APPEARANCE>
<ROOM ELFWOOD-2 (TRAVEL-COMMANDS PROCEED-COMMAND STREAM-PATH-COMMAND
RETURN-COMMAND) (ENTER FSET-SEEN) (GRAPHIC G-FOREST) (ACTION <ACOND () (<EQUAL?
,ACTION ,PROCEED-COMMAND> <REMOVE-TRAVEL-COMMAND> <FSET ,HERE ,EXAMINED> <
PRINTI "The path descended into a deep ravine, and I was loath to follow it this
near to twilight. Across the ravine, the forest was unnaturally dark, as though
a black curtain had been drawn over it.">) (<EQUAL? ,ACTION ,
STREAM-PATH-COMMAND> <COND (<FSET? ,HERE ,EXAMINED> <PRINTI
"Rather than giving up, I chose to follow the stream in search for
the needed root.">) (T <PRINTI
"Moving quickly and scanning the ground for any sign of westflake, I
chose to follow the stream.">)> <MOVE-TO ,ELFSTREAM-1 #ZLOCAL!-IZILCH STR?426>)
(<EQUAL? ,ACTION ,RETURN-COMMAND> <PRINTI
"Unable to find any westflake root, I returned to camp."> <SEARCH-END>)>)>
<DEFINE-ROUTINE ANONF-108>
<DEFINE-ROUTINE MOVE-TO-NO-GFX>
<OBJECT WOOD-ELF (SDESC "woman") (KBD 87) (FLAGS DONT-TAKE) (LOC ELFSTREAM-1) (
ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-FSET ,ACTION-OBJECT
,DONT-EXAMINE> <FSET ,WOOD-ELF ,EXAMINED> <COND (<FSET? ,WOOD-ELF ,SEEN> <
PRINTI "Having recovered from the shock of that first look, I looked at
this creature again and I began to feel her age and wisdom, and even
sense a beauty that lay beneath her tree-like exterior.">) (T <PRINTI
"The woman was slender, with long flowing hair. I could not see
her face, yet some warm inner feeling was touched by her gentle
grace.">)>)>)>
<DEFINE-ROUTINE ANONF-109>
<COMMAND (TALK-TO-ELF TALK)>
<COMMAND (SPEAK-ELVISH SPEAK)>
<ROOM ELFSTREAM-1 (TRAVEL-COMMANDS STAY-HIDDEN-COMMAND APPROACH-COMMAND
RETURN-COMMAND) (ENTER <EXECUTE () <FSET ,HERE ,SEEN> <GRAPHIC ,
G-WATERFALL-NO-ELF ,G-WATERFALL ,BOTTOM-RIGHT>>) (ACTION <ACOND () (<EQUAL? ,
ACTION ,TALK-TO-ELF-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI
"\"I am pleased to meet you,\" I began, stumbling over the words. \"My friend is
badly hurt...\""> <CRLF> <CRLF> <PRINTI
"But this creature that I assumed to be a Wood Elf appeared confused by my speech.
I tried other, non-verbal means of communication, and was soon quite frustrated at
my inability to communicate the desire that she come to the aid of "> <WPRINTD
,BITE-VICTIM> <PRINTI
", if indeed that was within her power. And then, just as I was about to return to
our camp, she spoke in soft, lilting tones in a language that I presumed to be
Elvish."> <ADD-TRAVEL-COMMAND ,HERE ,SPEAK-ELVISH-COMMAND> <FSET ,HERE ,
BLUE-MIX>) (<EQUAL? ,ACTION ,SPEAK-ELVISH-COMMAND> <PRINTI
"Well, what did I know of Elvish? But there was little else to do, so I gave it my
best try...."> <CRLF> <CRLF> <COND (<READ-ELVISH ,TAG> T) (T <PRINTI
"At least, I thought I would, but no sound came through my lips and at last, dejected,
I raced back to camp, eager to tell the others of my discovery."> <SEARCH-END>)
>) (<EQUAL? ,ACTION ,APPROACH-COMMAND> <COND (<NOT <QSET? ,WOOD-ELF ,SEEN>> <
PRINTI "I approached cautiously, hoping not to startle her. But as I neared,
she sensed my presence, stood, and turned toward me...."> <CRLF> <CRLF> <PRINTI
"I gasped, stumbling backward onto the ground, and twisted my ankle.
She was grotesque, her face leathery and brown, more like a gnarled tree
than a person. She stretched her spindled arms toward me, and opened her eyes
for the first time: clear, large, and fathomless."> <GRAPHIC ,G-ELF> <
REMOVE-TRAVEL-COMMAND ,HERE ,STAY-HIDDEN-COMMAND> <UPDATE-FCLEAR ,WOOD-ELF ,
DONT-EXAMINE>) (T <PRINTI
"As if under some hypnotic spell, I rose and hobbled toward this creature of
the forest. Her eyes were kind and gentle, yet she backed off as I approached."
> <CHANGE-TRAVEL-COMMAND ,HERE ,APPROACH-COMMAND ,TALK-TO-ELF-COMMAND>)>) (<
EQUAL? ,ACTION ,STAY-HIDDEN-COMMAND> <COND (<NOT <QSET? ,WOOD-ELF ,SCOUTED>> <
PRINTI "I waited there, mesmerized by the beauty of this forest dweller.
After a few moments, two people came into view from further downstream
but it was late in the afternoon, and
the rays of the setting sun made it impossible to see them clearly.
The woman motioned to the newcomers, who then returned to the forest.">) (T <
PRINTI "Then the woman rose and followed the stream out of sight into the
forest."> <REMOVE-TRAVEL-COMMAND ,HERE ,APPROACH-COMMAND> <
CHANGE-TRAVEL-COMMAND ,HERE ,STAY-HIDDEN-COMMAND ,FOLLOW-COMMAND>)>) (<EQUAL? ,
ACTION ,FOLLOW-COMMAND> <PRINTI
"I decided to follow the mysterious woman, but soon lost track of her
as she sped along the course of the stream. It was now late, and
I had no choice but to return to camp."> <SEARCH-END>) (<EQUAL? ,ACTION ,
RETURN-COMMAND> <COND (<FSET? ,WOOD-ELF ,SEEN> <PRINTI
"Though my ankle was hurt, I stumbled and crawled my way back to camp.">) (T <
PRINTI "It was getting late, so I returned to camp with the intention of telling
the others about these forest people.">)> <SEARCH-END>)>)>
<DEFINE-ROUTINE ANONF-110>
<DEFINE-ROUTINE ANONF-111>
<ROOM ELFSTREAM (TRAVEL-COMMANDS PROCEED-COMMAND RETURN-COMMAND NUL-COMMAND) (
GRAPHIC G-WATERFALL-NO-ELF) (ENTER <EXECUTE () <COND (<IN? ,WOOD-ELF ,
BITE-FOREST> <TRAVEL-COMMANDS ,HERE ,ELF-HOME-COMMAND>) (<OR <NOT <FSET? ,
BITE-VICTIM ,INCAPACITATED>> <FSET? ,BITE-VICTIM ,DEAD>> <TRAVEL-COMMANDS ,HERE
,PROCEED-COMMAND>) (T <TRAVEL-COMMANDS ,HERE ,RETURN-COMMAND>)>>) (ACTION <
ACOND () (<EQUAL? ,ACTION ,ELF-HOME-COMMAND> <PRINTI
"We called out for V'ren, who quickly arrived at the side of the pool. "> <
MOVE-TO-ELF-HOME>) (<EQUAL? ,ACTION ,PROCEED-COMMAND> <PRINTI
"The pool was refreshingly cool, and we drank from it contentedly."> <COND (<
FSET? ,ELFSTREAM-1 ,SEEN> <PRINTI
" But none of the creatures I had seen before were here, and it soon became
apparent that we had missed our opportunity of meeting them.">)> <COND (<NOT ,
2ND-PASS> <SKIP-BITE-FOREST>) (T <CRLF> <CRLF> <N-DAY-TREK 1>)>) (<EQUAL? ,
ACTION ,RETURN-COMMAND> <PRINTI
"We returned to our camp at nightfall, full of despair and hopelessness.
Praxix went over to where "> <WPRINTD ,BITE-VICTIM> <PRINTI " lay."> <
BITE-VICTIM-DIES> <MOVE-TO ,BITE-FOREST>)>)>
<DEFINE-ROUTINE ANONF-112>
<DEFINE-ROUTINE ANONF-113>
<DEFINE-ROUTINE BITE-VICTIM-DIES>
<OBJECT ELF-HOME-ELVES (LOC ELF-HOME) (SDESC "Elves") (KBD 69) (FLAGS DONT-TAKE
) (ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <PRINTI
"\"Look,\" "> <WPRINTD ,ACTOR> <PRINTI
" said, pointing out the Elves that were everywhere -
climbing down trees, grabbing axes and crude buckets; soon, all would be
heading north to fight the advancing blaze.">)>)>
<DEFINE-ROUTINE ANONF-114>
<OBJECT ELF-HOME-FIRE (LOC ELF-HOME) (FLAGS DONT-TAKE) (SDESC "fire") (KBD 70)
(ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <WPRINTD ,
ACTOR> <PRINTI " pointed toward the north, where the sky was filled with a dark, billowing
smoke. Every
few moments, a flash of red flame could be seen lapping at the tree tops
in the distance.">)>)>
<DEFINE-ROUTINE ANONF-115>
<ROOM ELF-HOME (TRAVEL-COMMANDS FOLLOW-ELVES-COMMAND PROCEED-COMMAND
NUL-COMMAND) (FLAGS ADVISE DANGEROUS) (ENTER <EXECUTE () <GRAPHIC ,G-ELF-HOME>
<COND (<NOT <FSET? ,FOREST-FIRE ,SEEN>> <CRLF> <CRLF> <PRINTI
"We talked among ourselves, marvelling at this ancient place, when
three Elves rushed into the clearing, and their cries filled our ears.
\"Fire!\" they said. \"The great flame approaches!\""> <CRLF> <CRLF> <PRINTI
"Across the way, an older Elf clambered down from his tree-hammock.
\"Awake! Awake!\" he cried, and dozens of Elves were soon marching
to the north, where smoke could be seen in the treetops."> <COND (<FSET? ,
ELFWOOD-2 ,EXAMINED> <CRLF> <CRLF> <PRINTI
"\"That would explain the black forest I observed while searching for the
westflake root!\" I exclaimed."> <CRLF> <CRLF> <PRINTI
"\"The fire moves quickly, then,\" Praxix said. \"We are all in danger
here!\"">)> <RTRUE>) (T <REMOVE-TRAVEL-COMMAND ,HERE ,FOLLOW-ELVES-COMMAND> <
UPDATE-FCLEAR ,HERE ,ADVISE>)>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,
GET-ADVICE-COMMAND> <UPDATE-FCLEAR ,HERE ,ADVISE> <PRINTI
"We talked among ourselves, but could reach no consensus."> <COND (<FSET? ,
BITE-VICTIM ,IN-PARTY> <PRINTI " "> <WPRINTD ,BITE-VICTIM> <PRINTI
" felt
strongly that we must help the Elves, if it were at all possible.
Praxix was unsure; he could sense how near we were to the eastern
mountains and Astrix, and was wary of the delay.">)> <RTRUE>) (<EQUAL? ,ACTION
,FOLLOW-ELVES-COMMAND> <COND (<FSET? ,BITE-VICTIM ,IN-PARTY> <WPRINTD ,
BITE-VICTIM> <PRINTI
" reacted quickly. \"We must help these Elves, if it is at all within our
power to do so.\""> <CRLF> <CRLF>)> <MOVE-TO ,FOREST-FIRE #ZLOCAL!-IZILCH
STR?434>) (<EQUAL? ,ACTION ,PROCEED-COMMAND> <COND (<FSET? ,BERGON ,DEAD> <HINT
,HINT-TANGLETREES> <PRINTI
"We prepared to leave the forest, but were soon accosted by V'ren and two
other Elves. \"I have tragic news for you. One of our scouts has located
your friend; he had been strangled by the Tangle Trees into whose forest he
had wandered. We have buried him here, among our bravest brethren. I am
sorry.\""> <CRLF> <CRLF> <PRINTI
"This was tragic news indeed, and we were greatly saddened by the loss
of our leader. \"I feared this when he did not return last evening,\" Praxix
said, \"He shall be sorely missed.\""> <CRLF> <CRLF>) (T <PRINTI
"Unsure of how to help, we decided to continue with our quest. ">)> <PRINTI
"With V'ren guiding us, we soon came to the eastern edge of the forest, at
the shore of a great river. \"Be well,\" V'ren said. \"I must return
to help my people.\" And with that, she turned and ran back into
the forest."> <COND (<NOT <IN? ,ELF-STONE ,INVENTORY>> <HINT ,HINT-ELVES>)> <
COND (,2ND-PASS <CRLF> <CRLF> <N-DAY-TREK 1> <RTRUE>) (T <MOVE-TO ,RIVER-2>)>)
(<EQUAL? ,ACTION ,SCOUT-COMMAND> <UPDATE-FSET ,HERE ,DONT-SCOUT> <FSET ,HERE ,
SCOUTED> <WPRINTD ,ACTOR> <PRINTI
" rushed ahead with the Elves, and soon returned. \"It is a great fire,
borne by the north wind,\" he reported. \"It won't be long until we
are in danger here!\"">)>)>
<DEFINE-ROUTINE ANONF-116>
<DEFINE-ROUTINE ANONF-117>
<OBJECT FOREST-FIRE-FIRE (LOC FOREST-FIRE) (SDESC "fire") (KBD 70) (FLAGS
DONT-TAKE) (ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <
PRINTI "A wall of flame stood before us, consuming everything in its path. As
if part of a conspiracy, the wind blew harder now, pushing the blaze
toward the Elves' home a few mere miles downwind."> <COND (<EQUAL? ,ACTOR ,
PRAXIX> <CRLF> <CRLF> <PRINTI
"\"These Elves are in great danger,\" Praxix said. \"We must do something
now or leave, lest we be destroyed with them.\"">) (T <CRLF> <CRLF> <PRINTI
"\"We must retreat from here,\" "> <WPRINTD ,ACTOR> <PRINTI
" said. \"It is not safe!\"">)>)>)>
<DEFINE-ROUTINE ANONF-118>
<OBJECT FOREST-FIRE-ELVES (LOC FOREST-FIRE) (SDESC "Elves") (KBD 69) (FLAGS
DONT-TAKE) (EXBITS <+ ,ESHERBIT ,PRAXIXBIT>) (ACTION <ACOND () (<EQUAL? ,ACTION
,EXAMINE-COMMAND> <UPDATE-MOVE> <PRINTI
"Hundreds of Elves were here, trying desperately to fight the onrushing
fire with buckets of water. Others were clearing brush and opening a wide
trench, hoping to stop the flames at the trench line."> <CRLF> <CRLF> <COND (<
FSET? ,ESHER ,IN-PARTY> <PRINTI
"\"They'll never hold back the fire,\" Esher said, and it was hard to
disagree. Praxix stood there in silent thought, eyes fixed on the
approaching flames.">)> <RTRUE>)>)>
<DEFINE-ROUTINE ANONF-119>
<CONSTANT FIRE-RAIN-REQUIRED 5>
<ROOM FOREST-FIRE (TRAVEL-COMMANDS RETURN-COMMAND NUL-COMMAND NUL-COMMAND) (
FLAGS DANGEROUS DONT-SCOUT) (CAST-LIMIT 2) (GRAPHIC G-FOREST-FIRE) (ENTER
FSET-SEEN) (ACTION <ACOND ("AUX" TMP) (<EQUAL? ,ACTION ,RETURN-COMMAND> <
MOVE-TO ,ELF-HOME #ZLOCAL!-IZILCH STR?435>) (<EQUAL? ,ACTION ,CAST-COMMAND> <
COND (<EQUAL? ,ACTION-OBJECT ,RAIN-SPELL> <COND (<LESS? #ZLOCAL!-IZILCH TMP ,
FIRE-RAIN-REQUIRED> <PRINTI
"\"I don't believe I have enough,\" Praxix said, as he took all of his
remaining water essence and cast it into the sky. Clouds gathered and a "> <
COND (<EQUAL? .TMP 3 4> <PRINTI "good soaking rain">) (<EQUAL? .TMP 2> <PRINTI
"few showers soon">) (T <PRINTI "sprinkle of rain">)> <FSET ,FOREST-FIRE ,TRIED
> <PRINTI " fell, but it was quickly evident that Praxix' assessment was accurate.
The rains were too little, too late. The fires had been slowed, but not nearly
enough."> <CRLF> <CRLF> <UPDATE-REMOVE ,ESSENCE-WATER> <PUT ,ESSENCE-TBL ,
WATEROFF 0> <SET ACTION ,RETURN-COMMAND> <AGAIN>) (T <GRAPHIC ,G-FIRE-RAINS> <
PUT ,ESSENCE-TBL ,WATEROFF #ZLOCAL!-IZILCH STACK> <COND (<EQUAL? .TMP ,
FIRE-RAIN-REQUIRED> <UPDATE-REMOVE ,ESSENCE-WATER>)> <PRINTI
"Seeing little choice, Praxix removed "> <COND (<NOT <EQUAL? .TMP ,
FIRE-RAIN-REQUIRED>> <PRINTI "almost ">)> <PRINTI
"all of his stock of water essence
and cast it into the sky. The sky was obscured in smoke, yet the
approaching storm could be felt in the air. Lightning danced through
the clouds, and the roar of thunder soon filled the sky. All at once,
the clouds burst, dropping a drenching rain on us. So violent was it,
that many Elves were carried off by the rushing water. It was as though
the rains would never end, and Praxix appeared somewhat embarrassed."> <CRLF> <
CRLF> <PRINTI "\"Perhaps I did not need so much,\" he said, \"but these things are
quite unpredictable; one must take into account such variables as the
winds, the temperature, the time of year, the altitude...\""> <CRLF> <CRLF> <
COND (<FSET? ,ESHER ,IN-PARTY> <PRINTI
"\"The expertise of the Wizard who cast it?\" Esher added."> <CRLF> <CRLF> <
PRINTI "\"Harumph!\" was Praxix' reply, and as if to second his rejoinder, ">)
(T <PRINTI "But happily ">)> <PRINTI
"the
rains suddenly stopped, and the sky partially cleared. The fire had
been extinguished!"> <CRLF> <CRLF> <PRINTI
"There was much cleaning up to do, and we each did what we could to
help. And then, tired and dirty, we returned to the Elf Home where
we bathed, and went off to sleep."> <CRLF> <CRLF> <NEXT-DAY> <REMOVE ,HYE-RIVER
> <MOVE-TO ,ELF-HOME-2>)> <RTRUE>) (<AND <OR <EQUAL? ,ACTION-OBJECT ,
LIGHTNING-SPELL> <EQUAL? ,ACTION-OBJECT ,FIRE-SPELL>> <EQUAL? ,ACTION-PRSI ,
FOREST-FIRE-FIRE>> <REMOVE ,HYE-FIRE> <COND (<EQUAL? ,ACTION-OBJECT ,
LIGHTNING-SPELL> <FSET ,LIGHTNING-SPELL ,SEEN>)> <PRINTI
"In the spirit of fairness, I will call it absentmindedness, but Praxix now
attempted to fight fire with fire as he cast his \""> <WPRINTD ,ACTION-OBJECT>
<PRINTI "\" spell at the onrushing
flames. Fortunately, he was unobserved by the others and his spell did little damage,
but I began to have my doubts as to the stability of our wizardly friend.">) (<
EQUAL? ,ACTION-OBJECT ,TREMOR-SPELL> <PRINTI
"Praxix took some earth essence and flung it at the earth before him.
The earth shook, and the ground opened up before us. But this small
rift would hold the fire only a short time."> <CRLF> <CRLF> <PRINT ,
PRAXIX-HASNT-GOT-ENOUGH>) (<EQUAL? ,ACTION-OBJECT ,WIND-SPELL> <PRINTI
"Praxix took some air essence from his pouch and flung it at the
approaching flames. A new, southern wind fought with the cold
north wind, and the Elves were cheered by the slowing progress
of the fire. But Praxix' magical wind departed within the hour,
and the fire continued its relentless approach."> <CRLF> <CRLF> <PRINT ,
PRAXIX-HASNT-GOT-ENOUGH>) (T <UNUSE-ESSENCES> <PRINTI
"Praxix now thought to cast his \""> <WPRINTD ,ACTION-OBJECT> <PRINTI
"\" spell, but it didn't occur to
him how it could possibly help.">)> <COND (<AND <NOT <CHECK-ESSENCES ,
RAIN-SPELL>> <NOT <QSET? ,HERE ,DEAD>>> <CRLF> <CRLF> <PRINTI
"\"What I need is water essence,\" the Wizard said mournfully, \"Without it,
I fear we are of no use to the Elves.\"">)> <RTRUE>)>)>
<DEFINE-ROUTINE ANONF-120>
<CONSTANT PRAXIX-HASNT-GOT-ENOUGH
"Reaching back into his pouch, Praxix said, mournfully, \"I haven't enough
magical essence to last us the afternoon.\"">
<ROOM ELF-HOME-2 (TRAVEL-COMMANDS NUL-COMMAND NUL-COMMAND NUL-COMMAND) (ENTER <
EXECUTE () <TELL
"When we awoke the next morning, a great feast had been prepared for
us - breads, berries, fruits, and many foods we had never seen
before. After eating heartily, the food was taken away, and we were
led to the Elf leader, who sat upon a tall wooden throne." CR CR> <TELL
"\"I am N'dar,\" he began, \"and I thank you on behalf of the Elves.
We have not seen the last of these scourges from the north, and I
am keenly aware that your quest is our quest also.\"" CR CR> <MOVE ,ELF-STONE ,
INVENTORY> <COND (<FSET? ,BERGON ,DEAD> <HINT ,HINT-TANGLETREES> <PRINTI
"\"This is a day for rejoicing, but I am afraid that I have tragic news for
you. One of our scouts has located your friend; he had been strangled by the
Snaketrees into whose forest he had wandered. We have buried him here,
among our bravest brethren. I am indeed sorry.\""> <CRLF> <CRLF>)> <TELL
"Then, he stood and took a green amulet from around his neck. \"This
is our most precious possession. It is said that it held great power once;
perhaps, it shall again.\" And, so saying, he called Praxix forward and
placed it around the Wizard's neck." CR CR> <TELL
"Thanking N'dar, we prepared to leave. V'ren was saddened, but
said nothing as she led us east through the forest and to the edge of a
great river."> <COND (<NOT <IN? ,ELF-STONE ,INVENTORY>> <HINT ,HINT-ELVES>)> <
COND (,2ND-PASS <PRINTI " "> <N-DAY-TREK 1> <RTRUE>)> <TELL CR CR
"\"I must leave now,\" she said, and turning her back, she ran into
the forest."> <MOVE-TO ,RIVER-2>>)>
<DEFINE-ROUTINE ANONF-121>
<COMMAND (FOLLOW-ELVES FOLLOW)>
<COMMAND STAY>
<OBJECT WARREN-WALLS (LOC WARREN) (SDESC "walls") (KBD 87) (FLAGS DONT-TAKE) (
EXBITS <+ ,ESHERBIT ,PRAXIXBIT>) (ACTION <ACOND () (<EQUAL? ,ACTION ,
EXAMINE-COMMAND> <CLEAR-EXBIT> <COND (<NOT <QSET? ,WARREN-WALLS ,EXAMINED>> <
PRINTI "The walls here were slimy to the touch, and covered in green
mosses and lichens. Life flourished here, though it was not the
sort of life that was happily endured: spiders, slugs,
toads, worms, lizards, and maggots. But not all of us were
disheartened."> <CRLF> <CRLF>)> <COND (<EQUAL? ,ACTOR ,PRAXIX> <PRINTI
"\"If I were a maker of magic potions,\" Praxix said, wistfully, \"I
should have a field day here!\""> <COND (<FSET? ,ESHER ,IN-PARTY> <CRLF> <CRLF>
<PRINTI "Esher shook his head in disbelief. \"Yes,\" he said with indelicate
sarcasm, \"A lovely spot for a party. Now, why don't you make yourself
useful and get us out of here? Damned Wizard...\" His voice trailed off to
a whining whisper.">)>) (T <FSET ,WARREN-WALLS ,SOLVED> <PRINTI
"\"Hawkbane,\" Esher said, holding up a phosphorescent root that he had
discovered growing in the walls of this warren, or whatever it was."> <CRLF> <
CRLF> <PRINTI "\"Hawkbane?\" Praxix echoed, unaware of any such thing."> <CRLF>
<CRLF> <PRINTI "\"Yes, a remarkable find,\" he replied. \"A very rare medicinal herb, not
seen much where we come from. It's the most potent inhibitor of allergic
reactions that exists, but its rarity makes it virtually unknown outside of
professional circles.\" Getting down on his knees, he pulled a few more of
the faintly glowing roots and placed them inside his cloak.">)> <RTRUE>)>)>
<DEFINE-ROUTINE ANONF-122>
<ROOM WARREN (TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND UP-COMMAND
NUL-COMMAND) (FLAGS UNDERGROUND DANGEROUS ADVISE) (CAST-LIMIT INF) (GRAPHIC
G-WARREN) (TEMP 0) (ENTER FSET-SEEN) (ACTION <ACOND ("AUX" TMP) (<EQUAL? ,
ACTION ,DROP-COMMAND> <UPDATE-FSET ,HERE ,DONT-DROP> <PRINTI
"I thought to drop something as an aid in mapping this labyrinth,
but realized we had too few items to spare in case we got lost.">) (<EQUAL? ,
ACTION ,CAST-COMMAND> <COND (<AND <EQUAL? ,ACTION-OBJECT ,LIGHT-SPELL> <EQUAL?
,ACTION-PRSI ,STAFF> <NOT <FSET? ,HERE ,BLUE-MIX>>> <SET TMP <GETP ,HERE ,
P?TEMP>> <COND (<OR <ZERO? #ZLOCAL!-IZILCH STACK> <ZERO? #ZLOCAL!-IZILCH STACK>
> <PRINTI "Preferring to see where we were going, Praxix pulled more fire
and earth essences from his pouch and applied them to his staff, causing it to
glow more brightly. \"We had best leave this water-logged prison soon, for I shan't
be able to do this often!\" he said.">) (<ZERO? #ZLOCAL!-IZILCH STACK> <FSET ,
HERE ,BLUE-MIX> <PRINTI
"Praxix fumbled for some fire and earth essence, which he applied to the
end of his staff. Soon it was glowing again with a pale red glow.">) (<GRTR? ,
WARREN-COUNT 12> <PRINTI
"\"This,\" Praxix said petulantly, \"is ridiculous. I refuse to
use more precious essences on this festering sore of a tunnel!\" He
put his pouch away, and stood there, fuming."> <RTRUE>) (T <PRINTI
"Fearing that his staff's light was fading in the dampness, Praxix
applied some additional fire and earth essence, making it brighten
somewhat.">)> <PUTP ,HERE ,P?TEMP 0>) (<EQUAL? ,ACTION-OBJECT ,FAR-VISION-SPELL
> <CAST-FAR-VISION #ZLOCAL!-IZILCH FALSE-VALUE> <PRINTI
" But little was illuminated. "> <COND (<OR <NOT <FSET? ,HERE ,EXAMINED>> <NOT
<FSET? ,ESHER ,IN-PARTY>>> <PRINTI
"\"I fear
we shall have little help in getting ourselves out of this maze!\"
he said.">) (T <PRINTI
"\"I think that should put
your fears to rest, Esher,\" he said."> <CRLF> <CRLF> <PRINTI
"\"Not really. It gives rise to new ones,\" he replied, leading me to
wonder whether Esher in fact had a sense of humor after all.">)>) (<EQUAL? ,
ACTION-OBJECT ,TREMOR-SPELL> <COND (<NOT <QSET? ,HERE ,ENCHANTED>> <PRINTI
"Thinking perhaps that a good jolt would lead us back into the
forest, Praxix cast his tremor spell. The results were not spectacular;
I was covered in a mossy slime, and Bergon's head received a visit from
a pile of hard-packed mud."> <CRLF> <CRLF> <PRINTI
"\"Well, well, yes,\" he said proudly. \"Just a little more tremor and I'm
quite certain we'll be back above ground.\""> <CRLF> <CRLF> <PRINTI
"\"Or buried alive,\" I replied, thinking not only for my safety but for that
of our belongings.">) (T <PRINTI
"\"Well, here goes,\" Praxix said as he cast yet another tremor spell. The effect
was certainly more pronounced than the last time, and, indeed, the tunnel split
apart with such force that we were thrown from our feet and nearly buried in the
mud, moss, and slime. But we had survived, and our possessions all appeared to be
in place. Sunlight streamed in from above, and we were quickly back on our feet and
ready to clamber up and out of this underground maze of tunnels."> <COND (<IN?
,WEBBA-MAP ,INVENTORY> <FSET ,WEBBA-MAP ,INCAPACITATED>)> <FSET ,HERE ,USED-UP>
<SET ACTION ,UP-COMMAND> <AGAIN>)>)>) (<EQUAL? ,ACTION ,GET-ADVICE-COMMAND> <
UPDATE-FCLEAR ,HERE ,ADVISE> <WPRINTD ,ACTOR> <PRINTI
" looked to each of us, but none had any good ideas on how to escape
this soggy underground nest of twisting passages."> <CRLF> <CRLF> <PRINTI
"\"Then we had best continue,\" Bergon said, \"There must be an exit
somewhere!\" We were beginning to have our doubts.">) (<OR <EQUAL? ,ACTION ,
PROCEED-COMMAND> <EQUAL? ,ACTION ,BACK-COMMAND> <EQUAL? ,ACTION ,LEFT-COMMAND>
<EQUAL? ,ACTION ,RIGHT-COMMAND>> <PUTP ,HERE ,P?TEMP #ZLOCAL!-IZILCH TMP> <COND
(<AND <EQUAL? .TMP 1> <EQUAL? ,ACTION ,BACK-COMMAND>> <PRINTI
"Hoping to avoid getting lost in what appeared to be an underground
labyrinth, we turned back and were surprised to find two
passages behind us, one leading left and the other right."> <CRLF> <CRLF> <COND
(<NOT <QSET? ,HERE ,DEAD>> <PRINT ,OH-DEAR-MAZE>) (T <PRINT ,OH-DEAR-MAZE-2>)>
<TRAVEL-COMMANDS ,HERE ,LEFT-COMMAND ,RIGHT-COMMAND ,UP-COMMAND>) (T <
COBBLE-WARREN-DESC> <COND (<EQUAL? .TMP 1> <COND (<NOT <QSET? ,HERE ,DEAD>> <
CRLF> <CRLF> <PRINT ,OH-DEAR-MAZE>) (T <CRLF> <CRLF> <PRINT ,OH-DEAR-MAZE-2>)>)
(<ZERO? #ZLOCAL!-IZILCH STACK> <COND (<LESS? ,WARREN-COUNT 5> <CRLF> <CRLF> <
PRINTI "\"Blast the dampness,\" growled Praxix, as his staff started
growing dim. \"Never in my long years have I seen this!
Soon we shall be growing moss!\""> <CRLF> <CRLF> <PRINTI
"But then, his anger turned to some measure of excitement as he discovered some
small stones containing fire essence. \"Just a moment, if you will,\" he implored,
as he crushed the stones and placed the resulting small pile of essence into his
pouch. \"Given what the humidity here is doing to my glow spell, we shall be glad
to have found this!\""> <FIND-ESSENCE ,ESSENCE-FIRE 2>) (T <CRLF> <CRLF> <
PRINTI "\"Not again!\" Praxix said, wearily, as his staff again started
to grow dim from the extreme humidity. \"Toads will be soon be leaping
from our clothes if we don't find our way out of here.\"">)>) (<ZERO? #
ZLOCAL!-IZILCH STACK> <CRLF> <CRLF> <PRINTI
"Praxix' staff glowed with an ever fainter light; soon, it would
be impossible to see the way before us.">) (<ZERO? #ZLOCAL!-IZILCH STACK> <
GRAPHIC ,G-WARREN-LIGHT> <FCLEAR ,PRAXIX ,LIT> <CRLF> <CRLF> <PRINTI
"Just then, Praxix' staff went out, and the tunnel went dark.
Dark, that is, except for the pale light of day faintly peeking
its way through the cracks in a hole just above us."> <CRLF> <CRLF> <PRINTI
"\"Well, I'll be!\" said Praxix, with a smile. \"It seems that
sometimes, darkness is the best light to see by!\""> <UPDATE-FSET ,HERE ,
DONT-SCOUT> <UPDATE-FCLEAR ,HERE ,ADVISE> <TRAVEL-COMMANDS ,HERE ,UP-COMMAND> <
RTRUE>)> <TRAVEL-COMMANDS ,HERE ,LEFT-COMMAND ,RIGHT-COMMAND ,BACK-COMMAND ,
UP-COMMAND>)>) (<EQUAL? ,ACTION ,SCOUT-COMMAND> <UPDATE-FSET ,HERE ,DONT-SCOUT>
<FSET ,HERE ,SCOUTED> <PRINTI "We thought to send "> <WPRINTD ,ACTOR> <PRINTI
" ahead, but were fearful of getting lost,
so we decided to stay together until we could find a way out.">) (<EQUAL? ,
ACTION ,UP-COMMAND> <COND (<OR <FSET? ,HERE ,USED-UP> <AND <NOT <FSET? ,PRAXIX
,LIT>> <ZERO? #ZLOCAL!-IZILCH STACK>>> <COND (<IN? ,WOOD-ELF ,BITE-FOREST> <
TRAVEL-COMMANDS ,ELFSTREAM ,ELF-HOME-COMMAND>)> <PRINTI
"With an exit in sight, we happily climbed out of the warren "> <
MOVE-TO-ELFSTREAM>) (T <REMOVE-PARTY-COMMAND ,UP-COMMAND> <PRINTI
"Hoping to find some way out, we tried feeling our way around the top of
the tunnel, but the thick growth above us made this all but impossible.
There might be a way out up there, but it was unlikely we were going
to find it.">)>)>)>
<DEFINE-ROUTINE ANONF-123>
<DEFINE-ROUTINE MOVE-TO-ELFSTREAM>
<CONSTANT OH-DEAR-MAZE
"\"Oh, dear,\" said Praxix. \"I hope this isn't one of those underground
mazes.\"">
<CONSTANT OH-DEAR-MAZE-2
"\"Oh, dear,\" said Praxix. \"This is becoming rather tiresome.\"">
<CONSTANT WARREN-TBL-1 <LTABLE 0 "Selecting" "Opting for" "Choosing this time">
>
<CONSTANT WARREN-TBL-2 <LTABLE 0 "the results were discouragingly the same."
"this brought us to another similar spot."
"it was no good; it appeared that we were lost in
an endless maze of mossy sameness.">>
<DEFINE-ROUTINE TELL-WARREN-DIR>
<GLOBAL WARREN-COUNT 0>
<DEFINE-ROUTINE COBBLE-WARREN-DESC>
<DEFINE-ROUTINE DIVIDER>
<BUZZ TAG BERGON ASTRIX MINAR ESHER HURTH LA BRAN AGRITH VALEN GRAN LOREM STEGG
CALFON ANDRIL ELEVAR CRIBALD BENDOR SISKA IBARA KELNOR ULMAN ANSAX GILFAN
VENDOR MEREZI>
<DEFINE-ROUTINE PARSE-ELVISH>
<GLOBAL VALEN-BRAN-FLAG <>>
<GLOBAL FOO-LA-FLAG <>>
<GLOBAL BRAN-FOO-FLAG <>>
<END-SEGMENT>
<BEGIN-SEGMENT TANGLEWOOD>
<OBJECT BERGON-SEARCH (GRAPHIC G-TANGLEWOOD) (ACTION <ACOND () (<EQUAL? ,ACTION
,SCENE-START-COMMAND> <MAKE-SUBGROUP ,BERGON> <CHANGE-TRAVEL-COMMAND ,BERGON ,
GET-ADVICE-COMMAND ,EXAMINE-COMMAND> <MOVE-TO ,TANGLEWOOD-1>)>)>
<DEFINE-ROUTINE ANONF-124>
<OBJECT TANGLE-TREES-1 (SDESC "trees") (KBD 84) (LOC TANGLEWOOD-1) (FLAGS
DONT-TAKE) (EXBITS <+ ,PRAXIXBIT ,ESHERBIT ,BERGONBIT>) (ACTION <ACOND () (<
EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <WPRINTD ,ACTOR> <PRINTI
" stopped to admire the surrounding pine and alder. But up ahead, the forest
appeared darker and more forebidding.">)>)>
<DEFINE-ROUTINE ANONF-125>
<OBJECT TANGLETREE (LOC TANGLEWOOD) (SDESC "snake tree") (8DESC "snaketree") (
KBD 83) (FLAGS DONT-TAKE DONT-EXAMINE)>
<ROOM TANGLEWOOD (TRAVEL-COMMANDS RETURN-COMMAND NUL-COMMAND NUL-COMMAND) (
CAST-LIMIT 2) (GRAPHIC G-TANGLEWOOD) (FLAGS DONT-SCOUT) (ENTER <EXECUTE () <
MOVE ,HYE-TANGLE ,HAVE-YOU-EVER>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,
RETURN-COMMAND> <REMOVE-TRAVEL-COMMAND ,BITE-FOREST ,BERGON-ROUTE-COMMAND> <
MOVE-TO ,BITE-FOREST> <COND (<FSET? ,BERGON ,DEAD> <PRINTI
"Carrying Bergon's body on our shoulders,">) (<FSET? ,BERGON ,TRAPPED> <PRINTI
"Unable to help Bergon, and with the snake-trees moving ever closer,">) (T <
PRINTI "Carrying Bergon on our shoulders,">)> <PRINTI
" we retreated to the safety of our camp."> <COND (<FSET? ,BERGON ,DEAD> <HINT
,HINT-TANGLETREES> <CRLF> <CRLF> <PRINTI
"We buried Bergon there, after a short ritual performed by Praxix.">) (<NOT <
FSET? ,BERGON ,TRAPPED>> <COND (<FSET? ,BITE-VICTIM ,INCAPACITATED> <CRLF> <
CRLF> <PRINTI "Bergon regained his strength quickly; he looked at "> <WPRINTD ,
BITE-VICTIM> <PRINTI
" and
frowned. \"We must do something quickly, or he will die!\"">) (T <CRLF> <CRLF>
<PRINTI "It had been a long and frightening day; the sun had set, and we fell into
a deep and dreamless sleep."> <NEXT-DAY>)>) (T <FSET ,BERGON ,DEAD>)>) (<AND <
EQUAL? ,ACTION ,CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,LEVITATE-SPELL> <EQUAL? ,
ACTION-PRSI ,BERGON-OBJECT>> <PRINTI
"Praxix tried using his spell of elevation, but the trees' grip was
too strong.">) (<AND <EQUAL? ,ACTION ,CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,
FIRE-SPELL>> <UNUSE-ESSENCES> <PRINTI
"Praxix started to reach for his fire and earth essence, but he stopped
himself. \"Not the best place for a bonfire,\" he said softly.">) (<AND <EQUAL?
,ACTION ,CAST-COMMAND> <OR <AND <EQUAL? ,ACTION-OBJECT ,LIGHTNING-SPELL> <
EQUAL? ,ACTION-PRSI ,TANGLETREE>> <EQUAL? ,ACTION-OBJECT ,FAR-VISION-SPELL>>> <
COND (<EQUAL? ,ACTION-OBJECT ,FAR-VISION-SPELL> <GRAPHIC ,G-TANGLEWOOD-BURNS>)>
<COND (<IN? ,WESTFLAKE-ROOT ,PRAXIX> <PRINTI "For the second time that day, ">)
> <PRINTI "Praxix put his magic to good use! "> <COND (<EQUAL? ,ACTION-OBJECT ,
LIGHTNING-SPELL> <FSET ,LIGHTNING-SPELL ,SEEN> <PRINTI
"He mixed together the essences of fire and water, then added just a pinch
of earth essence. Just moments after casting the mixture, clouds gathered
around him, and the sky turned black. He motioned with his
staff at the deadly tree and a bolt of white lightning struck it, splitting it
down the middle. A few branches caught fire, and instinctively withdrew,
as if in pain."> <COND (<NOT <QSET? ,LIGHTNING-SPELL ,INCAPACITATED>> <CRLF> <
CRLF> <PRINTI "Praxix, proud of his accomplishment, turned to me and whispered that it
was the pinch of earth essence that really gives the lightning spell its
added punch. But however the magic had been prepared, its effect was
profound.">)>) (T <PRINTI
"Praxix prepared his flare enchantment, and cast it at the tree before
us. The ball of flame sped through the forest before us, and the tentacles
withdrew, as if in pain, clearing a path in its wake.">)> <PRINTI
" The tentacles loosened, we retrieved Bergon from their deadly
embrace."> <FCLEAR ,BERGON ,TRAPPED> <COND (<FSET? ,BERGON ,DEAD> <PRINTI
" But it was too late; Bergon was dead!">) (T <PARTY-ADD ,BERGON> <MAKE-BUSY ,
BERGON ,ILL-COMMAND> <CRLF> <CRLF> <PRINTI
"\"They don't much care for fire,\" Praxix mused, \"Let's get away before
they recover!\"">)> <RTRUE>) (<AND <EQUAL? ,ACTION ,EXAMINE-COMMAND> <EQUAL? ,
ACTION-OBJECT ,BERGON-OBJECT>> <WPRINTD ,ACTOR> <PRINTI
" looked Bergon over; he was unconscious. The tentacles were
slowly, inexorably, squeezing the life out of him!">)>)>
<DEFINE-ROUTINE ANONF-126>
<DEFINE-ROUTINE ANONF-127>
<ROOM TANGLEWOOD-1 (TRAVEL-COMMANDS PROCEED-COMMAND RETURN-COMMAND NUL-COMMAND)
(FLAGS DANGEROUS DONT-SCOUT DONT-CAST) (GRAPHIC G-TANGLEWOOD) (ACTION <ACOND ()
(<EQUAL? ,ACTION ,PROCEED-COMMAND> <PRINTI "As "> <COND (<NOT ,SUBGROUP-MODE> <
PRINTI "w">) (T <PRINTI "h">)> <PRINTI
"e continued, the forest grew increasingly dark and foreboding.
The stately stands of pine and alder were gone, replaced by shorter,
more twisted trees that seemed to choke the very life out of the
forest. A rustling noise filled "> <COND (<NOT ,SUBGROUP-MODE> <PRINTI "our">)
(T <PRINTI "his">)> <PRINTI
" ears, and the trees writhed with a hypnotic motion, though
the air was still, with no hint of a breeze."> <MOVE-TO ,TANGLEWOOD-2>) (<
EQUAL? ,ACTION ,RETURN-COMMAND> <COND (<NOT ,SUBGROUP-MODE> <TANGLE-NO-RETURN>)
(T <START-PRAXIX-SEARCH #ZLOCAL!-IZILCH STR?453>)>)>)>
<DEFINE-ROUTINE ANONF-128>
<DEFINE-ROUTINE TANGLE-NO-RETURN>
<GLOBAL TANGLE-TWO-B <>>
<DEFINE-ROUTINE START-PRAXIX-SEARCH>
<OBJECT TANGLE-TREES-2 (SDESC "trees") (KBD 84) (LOC TANGLEWOOD-2) (EXBITS <+ ,
PRAXIXBIT ,ESHERBIT ,BERGONBIT>) (FLAGS DONT-TAKE) (ACTION <ACOND () (<EQUAL? ,
ACTION ,EXAMINE-COMMAND> <UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> <COND (<NOT
,SUBGROUP-MODE> <PRINTI "W">) (T <PRINTI "H">)> <PRINTI
"e looked around, but could find no source of the rustling noises,
except for the trees themselves."> <COND (<FSET? ,BERGON ,IN-PARTY> <CRLF> <
CRLF> <PRINTI "\"Argh!\" Bergon cried, seeing a fox twisted until nearly unrecognizable
by the strangling branches.">)> <RTRUE>)>)>
<DEFINE-ROUTINE ANONF-129>
<ROOM TANGLEWOOD-2 (TRAVEL-COMMANDS PROCEED-COMMAND RETURN-COMMAND NUL-COMMAND)
(FLAGS DANGEROUS DONT-SCOUT) (GRAPHIC G-TANGLEWOOD) (ENTER <EXECUTE () <COND (<
AND <FSET? ,HERE ,BLACK-MIX> <NOT <QSET? ,HERE ,BLUE-MIX>>> <CRLF> <CRLF> <
PRINTI "\"These are the same trees that trapped me in the forest where "> <
WPRINTD ,BITE-VICTIM> <PRINTI " was stricken by the Nightfang,\" Bergon said.">
<CRLF> <CRLF> <PRINTI
"\"Yes,\" replied Praxix. \"Let us hope that my magic will work now as it did
before!\"">) (<AND <FSET? ,HERE ,TRIED> <NOT <QSET? ,HERE ,BLUE-MIX>>> <CRLF> <
CRLF> <PRINTI "\"I have seen these trees before,\" Bergon said darkly, \"in the forest,
where "> <WPRINTD ,BITE-VICTIM> <PRINTI
" was stricken by the Nightfang. We must find some
other way, for there is no escape for us if we are caught in their grasp!\"">)>
<COND (,SUBGROUP-MODE <FSET ,HERE ,TRIED>) (<AND ,PART-TWO ,TANGLE-TWO-B> <
TRAVEL-COMMANDS ,HERE ,PROCEED-COMMAND>)>>) (ACTION <ACOND () (<EQUAL? ,ACTION
,PROCEED-COMMAND> <PRINTI
"The gnarled trees were soon too thick to penetrate, and "> <COND (<FSET? ,
BERGON ,IN-PARTY> <PRINTI "Bergon">) (T <WPRINTD #ZLOCAL!-IZILCH STACK>)> <
PRINTI " finally
unsheathed his sword, hacking at the undulating branches. But the branches
did not break; they sloughed off, falling to the ground in a pool
of steamy green slime. The air was now steamy, and the wavy branches
taunted "> <COND (<NOT ,SUBGROUP-MODE> <PRINTI "us">) (T <PRINTI "him">)> <
PRINTI ", goading "> <COND (<NOT ,SUBGROUP-MODE> <PRINTI "us">) (T <PRINTI
"him">)> <PRINTI " onward into their unrelenting grasp."> <MOVE-TO ,
TANGLEWOOD-3>) (<EQUAL? ,ACTION ,RETURN-COMMAND> <COND (<NOT ,SUBGROUP-MODE> <
REMOVE-TRAVEL-COMMAND ,HERE ,RETURN-COMMAND> <TANGLE-NO-RETURN>) (T <
START-PRAXIX-SEARCH #ZLOCAL!-IZILCH STR?454>)>)>)>
<DEFINE-ROUTINE ANONF-130>
<DEFINE-ROUTINE ANONF-131>
<OBJECT TANGLE-TREES-3 (SDESC "trees") (KBD 84) (LOC TANGLEWOOD-3) (FLAGS
DONT-TAKE) (EXBITS <+ ,PRAXIXBIT ,ESHERBIT ,BERGONBIT>) (ACTION <ACOND () (<
EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> <
WPRINTD ,ACTOR> <PRINTI
" turned, but the choking trees were everywhere. Escape would be difficult,
if not impossible!">)>)>
<DEFINE-ROUTINE ANONF-132>
<ROOM TANGLEWOOD-3 (TRAVEL-COMMANDS PROCEED-COMMAND RETURN-COMMAND NUL-COMMAND)
(CAST-LIMIT INF) (FLAGS DANGEROUS DONT-SCOUT) (GRAPHIC G-TANGLEWOOD) (ENTER <
EXECUTE () <COND (,SUBGROUP-MODE <FSET ,TANGLEWOOD-2 ,BLACK-MIX>)> <COND (<AND
,PART-TWO ,TANGLE-TWO-B> <TRAVEL-COMMANDS ,HERE ,PROCEED-COMMAND>)>>) (ACTION <
ACOND () (<EQUAL? ,ACTION ,PROCEED-COMMAND> <REMOVE-TRAVEL-COMMAND> <COND (<NOT
,SUBGROUP-MODE> <PRINTI "We">) (T <PRINTI "Bergon">)> <PRINTI
" tried to move forward, but it was no use. The growth was too thick!">) (<
EQUAL? ,ACTION ,RETURN-COMMAND> <COND (<NOT ,SUBGROUP-MODE> <PRINTI
"Sensing our peril, we tried to retreat, but the trees had closed in
behind us. A branch rested on Bergon's">) (T <PRINTI
"Bergon, sensing his peril, tried to move back, but the trees had closed in
behind him. A branch rested on his">)> <PRINTI
" shoulder, writhing and undulating as it spread itself
around his arms and chest. The trees were closing in, and "> <COND (<NOT ,
SUBGROUP-MODE> <PRINTI "we were trapped!"> <REMOVE-TRAVEL-COMMAND ,HERE ,
RETURN-COMMAND>) (T <PRINTI "Bergon was trapped!"> <FSET ,BERGON ,TRAPPED> <
PARTY-REMOVE ,BERGON> <SCENE ,PRAXIX-SEARCH>)>)>)>
<DEFINE-ROUTINE ANONF-133>
<DEFINE-ROUTINE ANONF-134>
<OBJECT TANGLESCENE (TIME 0) (CLOCK <EXECUTE () <COND (<AND <EQUAL? ,HERE ,
TANGLEWOOD-3> <NOT <CHECK-ESSENCES ,FAR-VISION-SPELL>>> <FORCE-TRAVEL-COMMAND ,
HERE ,PROCEED-COMMAND>)>>) (ACTION <ACOND ("AUX" TMP) (<AND <EQUAL? ,ACTION ,
PROCEED-COMMAND> <EQUAL? ,HERE ,TANGLEWOOD-3> <NOT <CHECK-ESSENCES ,
FAR-VISION-SPELL>>> <HINT ,HINT-TANGLESCENE> <SET TMP <FIRST-IN-PARTY ,BERGON ,
HURTH ,ESHER ,MINAR>> <PARTY-REMOVE .TMP> <SCENE #ZLOCAL!-IZILCH FALSE-VALUE> <
PRINTI "There appeared to be no alternative to hacking and slashing our way through these
infernal trees, and for a while no harm came to us. But I am appalled to
report that one of the trees grabbed "> <WPRINTD .TMP> <PRINTI
" and crushed him to death before
our very eyes. And, most eerily, the trees then bothered us no longer, as if
satisfied at our sacrifice. You can imagine our desolation as, safe at last from
the accursed forest, we made our camp for the night."> <COND (<LESS? ,PARTY-MAX
3> <CRLF> <CRLF> <PART-TWO-TOO-FEW> <RTRUE>)> <MOVE-TO ,FOG-CAMP>) (<EQUAL? ,
ACTION ,CAST-COMMAND> <COND (<AND <EQUAL? ,ACTION-OBJECT ,FIRE-SPELL> <EQUAL? ,
ACTION-PRSI ,TANGLE-TREES-1 ,TANGLE-TREES-2 ,TANGLE-TREES-3>> <PRINTI
"\"Perhaps they do not like fire,\" Praxix said, but fearing an uncontrollable
blaze, he cast only a small amount of magical powders at a nearby tree.
Sure enough, the tree recoiled as if in pain."> <CRLF> <CRLF> <PRINTI
"\"The problem is,\" Praxix said, \"that I haven't enough magical powders to
burn every tree we need to pass through. And if I use too much at one time, I
may cause a great forest fire, with even less chance of escape than we now
have! No,\" he said, \"there must be a better way.\"">) (<EQUAL? ,ACTION-OBJECT
,LIGHTNING-SPELL> <FSET ,LIGHTNING-SPELL ,SEEN> <PRINTI
"Clouds gathered as Praxix cast his lightning spell, and as he pointed
his staff at the tree before us, a bolt of white lightning split it in
two. A few branches caught fire and instinctively withdrew, as if in
pain."> <CRLF> <CRLF> <COND (<NOT <QSET? ,LIGHTNING-SPELL ,INCAPACITATED>> <
PRINTI "Praxix, proud of his accomplishment, turned to me and said, \"It's
that tiny bit of earth essence that gives the lightning spell its
extra punch!\" Then, he turned to the others and spoke. ">)> <PRINTI
"\"Effective, but inefficient,\" Praxix declared. \"I don't have nearly
enough fire essence to strike every tree that lies before us!\"">) (<EQUAL? ,
ACTION-OBJECT ,RAIN-SPELL> <REMOVE ,HYE-TANGLE> <PRINTI
"Praxix cast his rain spell, and soon a heavy rain fell over the forest.
But rather than helping our condition, rather the trees appeared to strengthen
from the moisture, so much so that we were now more endangered than we
had been before.">) (<EQUAL? ,ACTION-OBJECT ,FAR-VISION-SPELL> <GRAPHIC
G-TANGLEWOOD-BURNS> <PRINTI
"And then Praxix found the solution. Taking out his air and
fire essences, he cast the flare enchantment in our direction of travel.
A ball of white-hot flame flew from his fingertips, and the tentacles withdrew
from the approaching fire, leaving a narrow, but clear, path in its
wake."> <CRLF> <CRLF> <PRINTI "He wiped the "> <TELL-COLOR ,ESSENCE-FIRE ,
ESSENCE-AIR> <PRINTI
" residue from his fingertips and implored us onward.
\"Come quickly,\" Praxix cried, \"Even hurt, these trees are disquieting,
and I wish to be long gone when they make their recovery.\""> <CRLF> <CRLF> <
SCENE #ZLOCAL!-IZILCH FALSE-VALUE> <PRINTI
"It was a long march through these tangled trees, and it was a few hours
before we reached their farthest limits. That night, we made our camp in
a clearing nearby. To celebrate our escape, "> <WPRINTD #ZLOCAL!-IZILCH STACK>
<PRINTI " rounded up a few large rabbits, from which we made
a hearty stew."> <CRLF> <CRLF> <PRINTI
"Sitting around the campfire, we began to eat our meal. Praxix, though, had
removed his pouch of magical essences and brought forth a fine, white powder
which he cast ever so carefully at his portion of supper. We gazed
intently as Praxix fretted and stared at his food, then cast more of the powder
and fretted and stared some more. Finally, Praxix returned his pouch to his cloak
and ate his dinner with relish. Looking up from his fast-emptying bowl, he saw us
staring at him with a mixture of curiosity and bewilderment. Finally, I asked him
what magic he had so delicately performed on his dinner."> <CRLF> <CRLF> <
PRINTI "\"Not magic,\" he said. \"Salt. Can't digest a rabbit stew properly without
it.\""> <CRLF> <CRLF> <PRINTI
"After dinner, we slept, but the night was cold and damp, and we rested fitfully,
awakening to a dark and foggy morning."> <GRAPHIC ,G-FOREST> <MOVE-TO ,FOG-CAMP
>)>)>)>
<DEFINE-ROUTINE ANONF-135>
<DEFINE-ROUTINE ANONF-136>
<END-SEGMENT>

1787
forest.zap Normal file

File diff suppressed because it is too large Load diff

2196
forest.zil Normal file

File diff suppressed because it is too large Load diff

206
graphics.zil Normal file
View file

@ -0,0 +1,206 @@
"GRAPHICS for
JOURNEY
(c) Copyright 1988, 1989 Infocom, Inc. All Rights Reserved."
<CONSTANT STAMP-RIGHT 1>
<CONSTANT STAMP-BOTTOM 2>
<CONSTANT STAMP-BASE <XORB 7 -1>>
<CONSTANT TOP-LEFT 0>
<CONSTANT TOP-RIGHT <ORB ,STAMP-BASE ,STAMP-RIGHT>>
<CONSTANT BOTTOM-RIGHT <ORB ,STAMP-BASE <+ ,STAMP-RIGHT ,STAMP-BOTTOM>>>
<CONSTANT BOTTOM-LEFT <ORB ,STAMP-BASE ,STAMP-BOTTOM>>
;"Segment 0"
<GDEF G-ASTRIX 20>
<GDEF G-FOUR-STONES 21>
<GDEF G-MAP 43>
<GDEF G-DARK-CAVERN 52>
<GDEF G-BLACK 59>
<GDEF G-NARROW-SLIT 73>
<GDEF G-FOREST 94>
<GDEF G-DEMON 111>
<GDEF G-ZAN-TAVERN 116>
<GDEF G-ASTRIX-LEAPS 166>
;"Segment LAVOS"
<GDEF G-LAVOS 1>
<GDEF G-FORK 2>
<GDEF G-BANDITS 3>
<GDEF G-GATE-RUNES 5>
<GDEF G-GATE-OPENS 6>
<GDEF G-WEBBA 42>
;<GDEF G-TAVERN 44>
<GDEF G-CANYON 45>
<GDEF G-BOOT-SCREEN 160>
<GDEF G-MINAR 161>
<GDEF G-BEHIND-MOUNTAINS 165>
;"Segment FOREST"
<GDEF G-NIGHTFANG 7>
<GDEF G-ELF-HEALS-BITE 8>
<GDEF G-WATERFALL-NO-ELF 11>
<GDEF G-WATERFALL 12>
<GDEF G-ELF 13>
<GDEF G-GLADE 14>
<GDEF G-STUMP 15>
<GDEF G-WARREN 16>
<GDEF G-WARREN-LIGHT 17>
<GDEF G-PRAXIX-HEALS-BITE 46>
<GDEF G-ELF-HOME 47>
<GDEF G-FOREST-FIRE 48>
<GDEF G-FIRE-RAINS 49>
;"Segment TANGLEWOOD"
<GDEF G-TANGLEWOOD 9>
<GDEF G-TANGLEWOOD-BURNS 10>
;"Segment RIVER"
<GDEF G-FALLS 18>
<GDEF G-MOUNTAIN 19>
;"Segment DWARVES"
<GDEF G-DWARVES 22>
<GDEF G-PRISON-FV 23>
<GDEF G-D-STAIR-BOTTOM 24>
<GDEF G-PRISON 53>
<GDEF G-PRISON-RUNES 61>
;"Segment STAIR"
<GDEF G-STAIR-JUNCTION 25>
<GDEF G-STAIR-CHASM 26>
;<GDEF G-CROSS-STAIR-CHASM 27>
<GDEF G-STAIR-GATE 28>
;<GDEF G-HIGH-GATE 29>
<GDEF G-SUNSET-TOWER 62>
;"Segment ORC-FIGHT"
<GDEF G-ORC-ANTE 30>
;<GDEF G-ORC-FIGHT 31>
<GDEF G-HURTH-DIES 32>
<GDEF G-ORC-FORK 63>
;"Segment LAKE"
<GDEF G-HERMIT-HILL 33>
<GDEF G-HERMIT 34>
<GDEF G-UNDERPOOL-TUBE 36>
<GDEF G-HIGH-PLAIN 50>
<GDEF G-GOLD-STREAM 51>
<GDEF G-LAKE-SHORE 56>
<GDEF G-LAKE-SHORE-CAVE 58>
<GDEF G-LAKE-POOL 64>
<GDEF G-LAKE-SHORE-3 162>
;"Segment NYMPHS"
<GDEF G-NYMPH-CHAMBER 38>
<GDEF G-LIURA 39>
<GDEF G-RIVER 40>
<GDEF G-UNDERLAND-GRATE 140>
<GDEF G-UNDERLAND-PIT 141>
<GDEF G-UNDERLAND-JCN 143>
<GDEF G-UNDERLAND-TREASURY-NO-STONE 144>
<GDEF G-UNDERLAND-TREASURY 145>
<GDEF G-UNDERLAND-PIT-BOTTOM 146>
<GDEF G-UNDERLAND-PIT-BOTTOM-STONE 147>
;"Segment CAVERNS"
<GDEF G-HURTH-SHADOW 67>
<GDEF G-MID-STAIR 68>
<GDEF G-ORC-VIEW 69>
<GDEF G-PRAXIX-DIVERSION 70>
;<GDEF G-CHARGING-ORCS 71>
<GDEF G-CHARGING-ORCS-FROM-ABOVE 72>
<GDEF G-DEAD-END 74>
;<GDEF G-DEAD-END-ORCS 75>
;<GDEF G-FLUME 76>
<GDEF G-STRANGE-GATE 159>
;"Segment MINES"
<GDEF G-FLUME-POOL 77>
<GDEF G-ALONG-FLUME 78>
<GDEF G-MINE-JUNCTION 80>
<GDEF G-MINE-JUNCTION-2 81>
<GDEF G-OLD-MINE 82>
<GDEF G-MINER-PASSAGE 83>
<GDEF G-ACTIVE-MINE 84>
<GDEF G-MINER 85>
<GDEF G-GATE-JUNCTION 86>
<GDEF G-MINE-HOLE 87>
<GDEF G-MINE-FIND 88>
<GDEF G-MASSIVE-DOOR 89>
<GDEF G-VAULT 90>
<GDEF G-COFFIN 91>
<GDEF G-CEDRITH 92>
;"Segment CASTLE"
<GDEF G-TALKING-TREE 93>
<GDEF G-MILL 95>
<GDEF G-MOAT 96>
<GDEF G-COURTYARD 97>
<GDEF G-UMBER 98>
<GDEF G-DUNGEON 99>
<GDEF G-TROVE 100>
<GDEF G-TROVE-STONE 101>
<GDEF G-ORC-TRAP 102>
<GDEF G-OUTSIDE-ORC-CAMP 103>
<GDEF G-ORC-TENT 104>
<GDEF G-PARTY-RESCUES-PRAXIX 163>
;"Segment MILL"
<GDEF G-XFER-JCN 148>
<GDEF G-XFER-MASTER 149>
<GDEF G-XFER-CONTROLS 150>
<GDEF G-RUNE-TOP 151>
<GDEF G-RUNE-UR 152>
<GDEF G-RUNE-LR 153>
<GDEF G-RUNE-UL 154>
<GDEF G-RUNE-LL 155>
<GDEF G-RUNE-BOT 156>
<GDEF G-XFER-ANTE 157>
<GDEF G-XFER-ANTE-LIGHT 158>
;"Segment ZAN"
<GDEF G-ZAN-DEMON 109>
<GDEF G-FOG-CLEARS 110>
;<GDEF G-DEMON-KILLS-SOMEONE 112>
<GDEF G-ZAN 113>
<GDEF G-CURIO-SHOP 114>
<GDEF G-GRAY-STONE 115>
<GDEF G-OTHER-TABLE 117>
;<GDEF G-EAVESDROPPING 118>
<GDEF G-INNKEEPER 119>
<GDEF G-WHARF 121>
<GDEF G-ELFENTIDE 122>
<GDEF G-ZEPHYR 123>
<GDEF G-SOUTH-SEAS 124>
;<GDEF G-ZAN-FIRE 125>
<GDEF G-ASSASSINS 126>
<GDEF G-JAIL 128>
<GDEF G-SHERIFF 129>
;<GDEF G-SHERIFF-OPENS-CELL 130>
<GDEF G-ZAN-CAVE 164>
;"Segment BOAT"
<GDEF G-BOAT 131>
<GDEF G-TREACHERY 132>
<GDEF G-MAST-FALLS 133>
<GDEF G-EVIL-ONE 135>
<GDEF G-BOAT-FOG 136>
;<GDEF G-ABOVE-FOG 137>
<GDEF G-ALMOST 138>
<GDEF G-WIZARDS 139>

148
hermit.zabstr Normal file
View file

@ -0,0 +1,148 @@
<BEGIN-SEGMENT LAKE>
<DEFINE-ROUTINE FSET-SEEN>
<OBJECT HIGH-PLAIN-LAKE (LOC HIGH-PLAIN) (FLAGS DONT-TAKE) (SDESC "lake") (KBD
76) (ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <PRINTI
"Sunlight danced on the surface of the lake that lay before us. It
was large, perhaps three miles across, and its waters were a brilliant
blue. Much of the shoreline was rocky, but below us lay a sandy beach.
The lake sat in a bowl in the mountains, fed by alpine streams, most
of which had run dry in the summer's heat. But "> <WPRINTD ,ACTOR> <PRINTI
" pointed out
one, directly between ourselves and the lake, that still flowed.">)>)>
<DEFINE-ROUTINE ANONF-209>
<ROOM HIGH-PLAIN (GRAPHIC G-HIGH-PLAIN) (TRAVEL-COMMANDS PROCEED-COMMAND
NUL-COMMAND NUL-COMMAND) (TEMP 0) (ENTER FSET-SEEN) (ACTION <ACOND () (<EQUAL?
,ACTION ,PROCEED-COMMAND> <PRINTI
"Descending from the high plain, we headed toward the near shore of
the lake. Nearing the halfway point, we stopped at a wide stream whose
waters careened down the slope and into the lake below. The sky
was dark, and a storm threatened."> <CRLF> <CRLF> <PRINTI
"\"Look!\" Praxix cried, pointing toward the lowering clouds.
For a long time we saw nothing, but soon a great, white bird
emerged from the cloud base and soared overhead in graceful spirals."> <CRLF> <
CRLF> <PRINTI "\"I have seen nothing like it,\" Bergon said, as the bird disappeared
into the eastern sky."> <MOVE-TO ,GOLD-STREAM>) (<EQUAL? ,ACTION ,
FOLLOW-SMOKE-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI "We followed "> <WPRINTD
#ZLOCAL!-IZILCH STACK> <PRINTI
" to the crest of the rise, where we could
see smoke rising from behind a smaller hill that lay in front of us."> <CRLF> <
CRLF> <PRINTI "It was a short walk to the next hill; before us sat a ramshackle hut,
its battered door flapping slowly in the breeze. It was hard to
believe that one could live in such a place, but the column of smoke
rising from the chimney convinced us otherwise."> <COND (<FSET? ,MINAR ,
IN-PARTY> <PRINTI
"\"The hut was not here last year,\" he said, \"I am at a loss to
understand it.\""> <CRLF> <CRLF>)> <PRINTI
"\"Most peculiar!\" said Praxix. \"Whom do you suppose would choose to
live here?\""> <MOVE-TO ,HERMIT-HILL>) (<EQUAL? ,ACTION ,SCOUT-COMMAND> <
UPDATE-FSET ,HERE ,DONT-SCOUT> <FSET ,HERE ,SCOUTED> <PUTP ,HERE ,P?TEMP ,ACTOR
> <WPRINTD ,ACTOR> <PRINTI
" went on ahead, climbing a nearby ridge in hopes of getting a better
view. "> <COND (<EQUAL? ,ACTOR ,ESHER> <PRINTI
"He came back slowly; evidently, scouting ahead was not one of Esher's favorite
assignments. \"There's some forest burning behind the ridge, if any of you find
that interesting,\" he said. \"Otherwise, there's nothing much there. Let's stop
wasting time, and head down toward the lake.\"">) (T <PRINTI
"He returned, bringing strange news. \"There is smoke rising up
from behind the ridge. I thought perhaps it was a fire, but the plume
of smoke is small and localized, as if it were coming from a hearth
or campfire. And that in itself is odd, for nobody lives up here,
at least not that I have ever come across.\""> <ADD-TRAVEL-COMMAND ,HERE ,
FOLLOW-SMOKE-COMMAND>)>)>)>
<DEFINE-ROUTINE ANONF-210>
<COMMAND (FOLLOW-SMOKE FIND-FIRE)>
<COMMAND KNOCK>
<OBJECT HERMIT-HILL-HUT (LOC HERMIT-HILL) (FLAGS DONT-TAKE) (SDESC "hut") (KBD
72) (ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <PRINTI
"The hut was small, made of rough-hewn logs. The thatched roof was so
haphazardly constructed that it would hardly keep out the wind, no less
the rain. It was difficult to believe that someone would choose to live
here, but the evidence clearly pointed in that direction."> <CRLF> <CRLF> <COND
(<EQUAL? ,ACTOR ,PRAXIX> <PRINTI
"\"It would take a good deal of magic to fix this place up,\" Praxix said.
\"Shall we take a closer look?\"">) (<EQUAL? ,ACTOR ,ESHER> <PRINTI
"Esher was not impressed. \"I don't see how someone living here could
be of help to anyone,\" he said.">)>)>)>
<DEFINE-ROUTINE ANONF-211>
<ROOM HERMIT-HILL (TRAVEL-COMMANDS KNOCK-COMMAND BACK-COMMAND NUL-COMMAND) (
GRAPHIC G-HERMIT-HILL) (FLAGS DONT-SCOUT) (ACTION <ACOND () (<EQUAL? ,ACTION ,
KNOCK-COMMAND> <PRINTI
"With Bergon in the lead, we approached the hut. But even as his raised
hand came down upon that rickety door, it appeared to open of its own
volition. We entered slowly; the hut was dark and smelled of incense. In
the far corner, one eye gone, the other opaque with cataracts, an old
man stared at us."> <CRLF> <CRLF> <PRINTI
"I say old, though the many lines on his face were more like the scars
earned in battle than the wrinkles gathered over the long years.
We stood motionless, as though afraid to speak or perhaps unsure of what
to say. The silence was broken as the old man stood, toppling his stool,
and took a few hobbling steps toward Bergon."> <CRLF> <CRLF> <PRINTI
"Then, staring straight into Bergon's eyes, he said, \"You come from the
far plains of Lavos, and you seek a great Wizard.\" Raising a deformed
finger, he hissed accusingly, \"It is in your eyes!\""> <MOVE-TO ,HERMIT-HUT> <
OPTION ,BERGON ,TELL-TRUTH-COMMAND ,LIE-COMMAND>) (<EQUAL? ,ACTION ,
BACK-COMMAND> <MOVE-TO ,HIGH-PLAIN #ZLOCAL!-IZILCH STR?538>)>)>
<DEFINE-ROUTINE ANONF-212>
<DEFINE-ROUTINE END-HERMIT-OPTION>
<OBJECT HERMIT-HUT-HERMIT (LOC HERMIT-HUT) (FLAGS DONT-TAKE) (SDESC "hermit") (
KBD 72) (ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <
PRINTI "Old and stooped, the hermit looked at us through his single weary eye.
He wore a tattered tunic, whose style was not unlike that used by our people
in the plains."> <CRLF> <CRLF> <PRINTI "\"Your accent sounds familiar,\" "> <
WPRINTD ,ACTOR> <PRINTI
" said. \"Have you travelled in
our lands?\" The hermit was taken aback by "> <WPRINTD ,ACTOR> <PRINTI
"'s offhand comment,
though he did not respond.">)>)>
<DEFINE-ROUTINE ANONF-213>
<ROOM HERMIT-HUT (TRAVEL-COMMANDS EXIT-COMMAND NUL-COMMAND NUL-COMMAND) (FLAGS
DONT-CAST DANGEROUS PROVISIONER DONT-DROP) (GRAPHIC G-HERMIT) (ACTION <ACOND ()
(<EQUAL? ,ACTION ,EXIT-COMMAND> <COND (<FSET? ,HERE ,SCOUTED> <PRINTI
"We shuffled out of the hut, and Garlimon hobbled to the door as
we made our way back to our path. \"Begone!\" he cried"> <COND (<FSET? ,HERE ,
TRIED> <PRINTI ", and threw
a small leather bag at our feet. \"Perhaps this will help
you where you are going!\"">) (T <PRINTI ".">)> <PRINTI
" He started to cackle madly, and began to
chant in a sing-song fashion. \"The water that heals, the fire reveals,
the earth...\" He was babbling incoherently now, and soon slammed the door
behind us."> <COND (<FSET? ,HERE ,TRIED> <UPDATE-MOVE ,HERMIT-POWDER ,INVENTORY
> <PRINTI " Curious as to what we had been given,
I bent down and picked up the bag.">)> <CRLF> <CRLF> <MOVE-TO ,HIGH-PLAIN #
ZLOCAL!-IZILCH STR?540>) (T <PRINTI
"We left the hut in silence and returned to the high plain."> <CRLF> <CRLF> <
MOVE-TO ,HIGH-PLAIN #ZLOCAL!-IZILCH STR?541>)>) (<EQUAL? ,ACTION ,CAST-COMMAND>
<UNUSE-ESSENCES> <PRINTI
"Praxix reached toward his cloak, but Bergon stayed his hand. \"Not now!\"
he said.">) (<EQUAL? ,ACTION ,TELL-TRUTH-COMMAND> <PRINTI
"\"We have journeyed from Lavos, as you say; we "> <COND (,2ND-PASS <PRINTI
"have enlisted the aid of the great Wizard Astrix, and our efforts are
now joined with his own.\""> <CRLF> <CRLF>) (T <PRINTI
"seek the Wizard Astrix, to seek his aid.\""> <CRLF> <CRLF> <PRINTI "\"">)> <
FSET ,HERE ,TRIED> <END-HERMIT-OPTION>) (<EQUAL? ,ACTION ,LIE-COMMAND> <PRINTI
"\"We seek no Wizard; we are...\""> <CRLF> <CRLF> <PRINTI
"\"You are liars!\" he roared. \"I know who you are; I know what you
are. "> <END-HERMIT-OPTION>) (<EQUAL? ,ACTION ,LOOK-AROUND-COMMAND> <
UPDATE-FSET ,HERE ,DONT-SCOUT> <FSET ,HERE ,SCOUTED> <UPDATE-FSET ,
HERMIT-HUT-HERMIT ,DONT-EXAMINE> <FSET ,HERE ,SCOUTED> <FSET ,HERE ,DONT-SCOUT>
<WPRINTD ,ACTOR> <PRINTI
", meanwhile, had been discreetly eyeing the hut when he caught a glimpse
of a broadsword lying behind the door. He picked it up, and, still unseen,
showed it to Bergon, who turned his back to examine it."> <CRLF> <CRLF> <PRINTI
"\"A fine weapon!\" Bergon said, unsheathing the sword and
holding it out toward the hermit. \"The finest
of its kind; forged at Hervish, judging by its style, and fashioned by a
great craftsman.\" We thought it odd for Bergon to be ranting on about this
undistinguished looking weapon, but we were wholly unprepared for
what followed."> <CRLF> <CRLF> <PRINTI
"\"Garlimon,\" Bergon said warmly, and reached out for the hermit."> <CRLF> <
CRLF> <PRINTI "But the hermit spurned Bergon's hand. \"Yes. Garlimon. What of it?\" he
scowled, \"You seek Astrix; I sought him also. And I see you've gotten
further than I - so far!\" He lifted his cane, and waved it at us
menacingly. \"You are in great danger - all of you! You will die at
His hand! You will all die!\""> <CRLF> <CRLF> <PRINTI
"Garlimon was mad! He stumbled backward, clutching a rotting table,
and stared wildly at us. \"Leave me!\" he demanded. \"Leave this place
at once!\"">)>)>
<DEFINE-ROUTINE ANONF-214>

187
hermit.zap Normal file
View file

@ -0,0 +1,187 @@
.SEGMENT "LAKE"
.FUNCT FSET-SEEN:ANY:0:0
FSET HERE,SEEN
RTRUE
.FUNCT ANONF-209:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL1 UPDATE-MOVE
PRINTI "Sunlight danced on the surface of the lake that lay before us. It was large, perhaps three miles across, and its waters were a brilliant blue. Much of the shoreline was rocky, but below us lay a sandy beach. The lake sat in a bowl in the mountains, fed by alpine streams, most of which had run dry in the summer's heat. But "
ICALL2 WPRINTD,ACTOR
PRINTI " pointed out one, directly between ourselves and the lake, that still flowed."
RTRUE
.FUNCT ANONF-210:ANY:0:0
EQUAL? ACTION,PROCEED-COMMAND \?CCL3
PRINTI "Descending from the high plain, we headed toward the near shore of the lake. Nearing the halfway point, we stopped at a wide stream whose waters careened down the slope and into the lake below. The sky was dark, and a storm threatened."
CRLF
CRLF
PRINTI """Look!"" Praxix cried, pointing toward the lowering clouds. For a long time we saw nothing, but soon a great, white bird emerged from the cloud base and soared overhead in graceful spirals."
CRLF
CRLF
PRINTI """I have seen nothing like it,"" Bergon said, as the bird disappeared into the eastern sky."
CALL2 MOVE-TO,GOLD-STREAM
RSTACK
?CCL3: EQUAL? ACTION,FOLLOW-SMOKE-COMMAND \?CCL5
ICALL1 REMOVE-TRAVEL-COMMAND
PRINTI "We followed "
GETP HERE,P?TEMP
ICALL2 WPRINTD,STACK
PRINTI " to the crest of the rise, where we could see smoke rising from behind a smaller hill that lay in front of us."
CRLF
CRLF
PRINTI "It was a short walk to the next hill; before us sat a ramshackle hut, its battered door flapping slowly in the breeze. It was hard to believe that one could live in such a place, but the column of smoke rising from the chimney convinced us otherwise."
FSET? MINAR,IN-PARTY \?CND6
PRINTI """The hut was not here last year,"" he said, ""I am at a loss to understand it."""
CRLF
CRLF
?CND6: PRINTI """Most peculiar!"" said Praxix. ""Whom do you suppose would choose to live here?"""
CALL2 MOVE-TO,HERMIT-HILL
RSTACK
?CCL5: EQUAL? ACTION,SCOUT-COMMAND \FALSE
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
PUTP HERE,P?TEMP,ACTOR
ICALL2 WPRINTD,ACTOR
PRINTI " went on ahead, climbing a nearby ridge in hopes of getting a better view. "
EQUAL? ACTOR,ESHER \?CCL12
PRINTI "He came back slowly; evidently, scouting ahead was not one of Esher's favorite assignments. ""There's some forest burning behind the ridge, if any of you find that interesting,"" he said. ""Otherwise, there's nothing much there. Let's stop wasting time, and head down toward the lake."""
RTRUE
?CCL12: PRINTI "He returned, bringing strange news. ""There is smoke rising up from behind the ridge. I thought perhaps it was a fire, but the plume of smoke is small and localized, as if it were coming from a hearth or campfire. And that in itself is odd, for nobody lives up here, at least not that I have ever come across."""
CALL ADD-TRAVEL-COMMAND,HERE,FOLLOW-SMOKE-COMMAND
RSTACK
.FUNCT ANONF-211:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL1 UPDATE-MOVE
PRINTI "The hut was small, made of rough-hewn logs. The thatched roof was so haphazardly constructed that it would hardly keep out the wind, no less the rain. It was difficult to believe that someone would choose to live here, but the evidence clearly pointed in that direction."
CRLF
CRLF
EQUAL? ACTOR,PRAXIX \?CCL6
PRINTI """It would take a good deal of magic to fix this place up,"" Praxix said. ""Shall we take a closer look?"""
RTRUE
?CCL6: EQUAL? ACTOR,ESHER \FALSE
PRINTI "Esher was not impressed. ""I don't see how someone living here could be of help to anyone,"" he said."
RTRUE
.FUNCT ANONF-212:ANY:0:0
EQUAL? ACTION,KNOCK-COMMAND \?CCL3
PRINTI "With Bergon in the lead, we approached the hut. But even as his raised hand came down upon that rickety door, it appeared to open of its own volition. We entered slowly; the hut was dark and smelled of incense. In the far corner, one eye gone, the other opaque with cataracts, an old man stared at us."
CRLF
CRLF
PRINTI "I say old, though the many lines on his face were more like the scars earned in battle than the wrinkles gathered over the long years. We stood motionless, as though afraid to speak or perhaps unsure of what to say. The silence was broken as the old man stood, toppling his stool, and took a few hobbling steps toward Bergon."
CRLF
CRLF
PRINTI "Then, staring straight into Bergon's eyes, he said, ""You come from the far plains of Lavos, and you seek a great Wizard."" Raising a deformed finger, he hissed accusingly, ""It is in your eyes!"""
ICALL2 MOVE-TO,HERMIT-HUT
CALL OPTION,BERGON,TELL-TRUTH-COMMAND,LIE-COMMAND
RSTACK
?CCL3: EQUAL? ACTION,BACK-COMMAND \FALSE
CALL MOVE-TO,HIGH-PLAIN,STR?538
RSTACK
.FUNCT END-HERMIT-OPTION:ANY:0:0
PRINTI "Fools! There is no Wizard, there is only the Enemy - and he is strong - too strong for the likes of you!"""
CRLF
CRLF
PRINTI """And how do you know this?"" Bergon demanded."
CRLF
CRLF
PRINTI "The hermit retreated to his stool, and sat again in the corner. ""I know nothing!"" he said, and sighed deeply."
CALL1 END-OPTION
RSTACK
.FUNCT ANONF-213:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL1 UPDATE-MOVE
PRINTI "Old and stooped, the hermit looked at us through his single weary eye. He wore a tattered tunic, whose style was not unlike that used by our people in the plains."
CRLF
CRLF
PRINTI """Your accent sounds familiar,"" "
ICALL2 WPRINTD,ACTOR
PRINTI " said. ""Have you travelled in our lands?"" The hermit was taken aback by "
ICALL2 WPRINTD,ACTOR
PRINTI "'s offhand comment, though he did not respond."
RTRUE
.FUNCT ANONF-214:ANY:0:0
EQUAL? ACTION,EXIT-COMMAND \?CCL3
FSET? HERE,SCOUTED \?CCL6
PRINTI "We shuffled out of the hut, and Garlimon hobbled to the door as we made our way back to our path. ""Begone!"" he cried"
FSET? HERE,TRIED \?CCL9
PRINTI ", and threw a small leather bag at our feet. ""Perhaps this will help you where you are going!"""
JUMP ?CND7
?CCL9: PRINTC 46
?CND7: PRINTI " He started to cackle madly, and began to chant in a sing-song fashion. ""The water that heals, the fire reveals, the earth..."" He was babbling incoherently now, and soon slammed the door behind us."
FSET? HERE,TRIED \?CND10
ICALL UPDATE-MOVE,HERMIT-POWDER,INVENTORY
PRINTI " Curious as to what we had been given, I bent down and picked up the bag."
?CND10: CRLF
CRLF
CALL MOVE-TO,HIGH-PLAIN,STR?540
RSTACK
?CCL6: PRINTI "We left the hut in silence and returned to the high plain."
CRLF
CRLF
CALL MOVE-TO,HIGH-PLAIN,STR?541
RSTACK
?CCL3: EQUAL? ACTION,CAST-COMMAND \?CCL13
ICALL1 UNUSE-ESSENCES
PRINTI "Praxix reached toward his cloak, but Bergon stayed his hand. ""Not now!"" he said."
RTRUE
?CCL13: EQUAL? ACTION,TELL-TRUTH-COMMAND \?CCL15
PRINTI """We have journeyed from Lavos, as you say; we "
ZERO? 2ND-PASS /?CCL18
PRINTI "have enlisted the aid of the great Wizard Astrix, and our efforts are now joined with his own."""
CRLF
CRLF
JUMP ?CND16
?CCL18: PRINTI "seek the Wizard Astrix, to seek his aid."""
CRLF
CRLF
PRINTC 34
?CND16: FSET HERE,TRIED
CALL1 END-HERMIT-OPTION
RSTACK
?CCL15: EQUAL? ACTION,LIE-COMMAND \?CCL20
PRINTI """We seek no Wizard; we are..."""
CRLF
CRLF
PRINTI """You are liars!"" he roared. ""I know who you are; I know what you are. "
CALL1 END-HERMIT-OPTION
RSTACK
?CCL20: EQUAL? ACTION,LOOK-AROUND-COMMAND \FALSE
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
ICALL UPDATE-FSET,HERMIT-HUT-HERMIT,DONT-EXAMINE
FSET HERE,SCOUTED
FSET HERE,DONT-SCOUT
ICALL2 WPRINTD,ACTOR
PRINTI ", meanwhile, had been discreetly eyeing the hut when he caught a glimpse of a broadsword lying behind the door. He picked it up, and, still unseen, showed it to Bergon, who turned his back to examine it."
CRLF
CRLF
PRINTI """A fine weapon!"" Bergon said, unsheathing the sword and holding it out toward the hermit. ""The finest of its kind; forged at Hervish, judging by its style, and fashioned by a great craftsman."" We thought it odd for Bergon to be ranting on about this undistinguished looking weapon, but we were wholly unprepared for what followed."
CRLF
CRLF
PRINTI """Garlimon,"" Bergon said warmly, and reached out for the hermit."
CRLF
CRLF
PRINTI "But the hermit spurned Bergon's hand. ""Yes. Garlimon. What of it?"" he scowled, ""You seek Astrix; I sought him also. And I see you've gotten further than I - so far!"" He lifted his cane, and waved it at us menacingly. ""You are in great danger - all of you! You will die at His hand! You will all die!"""
CRLF
CRLF
PRINTI "Garlimon was mad! He stumbled backward, clutching a rotting table, and stared wildly at us. ""Leave me!"" he demanded. ""Leave this place at once!"""
RTRUE
.ENDSEG
.ENDI

257
hermit.zil Normal file
View file

@ -0,0 +1,257 @@
"HERMIT for
JOURNEY
(c) Copyright 1988, 1989 Infocom, Inc. All Rights Reserved."
<BEGIN-SEGMENT LAKE>
<ROUTINE FSET-SEEN ()
<FSET ,HERE ,SEEN>>
<OBJECT HIGH-PLAIN-LAKE
(LOC HIGH-PLAIN)
(FLAGS DONT-TAKE)
(SDESC "lake")
(KBD %<ASCII !\L>)
(ACTION
<ACOND ()
(EXAMINE:REMOVE
<TELL
"Sunlight danced on the surface of the lake that lay before us. It
was large, perhaps three miles across, and its waters were a brilliant
blue. Much of the shoreline was rocky, but below us lay a sandy beach.
The lake sat in a bowl in the mountains, fed by alpine streams, most
of which had run dry in the summer's heat. But " ACT " pointed out
one, directly between ourselves and the lake, that still flowed.">)>)>
<ROOM HIGH-PLAIN
(GRAPHIC G-HIGH-PLAIN)
(TRAVEL-COMMANDS PROCEED-COMMAND NUL-COMMAND NUL-COMMAND)
(TEMP 0)
(ENTER FSET-SEEN)
(ACTION
<ACOND ()
(PROCEED
<TELL
"Descending from the high plain, we headed toward the near shore of
the lake. Nearing the halfway point, we stopped at a wide stream whose
waters careened down the slope and into the lake below. The sky
was dark, and a storm threatened." CR CR>
<TELL
"\"Look!\" Praxix cried, pointing toward the lowering clouds.
For a long time we saw nothing, but soon a great, white bird
emerged from the cloud base and soared overhead in graceful spirals." CR CR>
<TELL
"\"I have seen nothing like it,\" Bergon said, as the bird disappeared
into the eastern sky.">
<MOVE-TO ,GOLD-STREAM>)
(FOLLOW-SMOKE:REMOVE
<TELL
"We followed " D <GET-TEMP> " to the crest of the rise, where we could
see smoke rising from behind a smaller hill that lay in front of us." CR CR>
<TELL
"It was a short walk to the next hill; before us sat a ramshackle hut,
its battered door flapping slowly in the breeze. It was hard to
believe that one could live in such a place, but the column of smoke
rising from the chimney convinced us otherwise.">
<COND (<IN-PARTY? ,MINAR>
<TELL
"\"The hut was not here last year,\" he said, \"I am at a loss to
understand it.\"" CR CR>)>
<TELL
"\"Most peculiar!\" said Praxix. \"Whom do you suppose would choose to
live here?\"">
<MOVE-TO ,HERMIT-HILL>)
(SCOUT:REMOVE
<SET-TEMP ,ACTOR>
<TELL ACT
" went on ahead, climbing a nearby ridge in hopes of getting a better
view. ">
<COND (<EQUAL? ,ACTOR ,ESHER>
<TELL
"He came back slowly; evidently, scouting ahead was not one of Esher's favorite
assignments. \"There's some forest burning behind the ridge, if any of you find
that interesting,\" he said. \"Otherwise, there's nothing much there. Let's stop
wasting time, and head down toward the lake.\"">)
(T
<TELL
"He returned, bringing strange news. \"There is smoke rising up
from behind the ridge. I thought perhaps it was a fire, but the plume
of smoke is small and localized, as if it were coming from a hearth
or campfire. And that in itself is odd, for nobody lives up here,
at least not that I have ever come across.\"">
<ADD-TRAVEL-COMMAND ,HERE ,FOLLOW-SMOKE-COMMAND>)>)>)>
<COMMAND (FOLLOW-SMOKE FIND-FIRE)>
<COMMAND KNOCK>
<OBJECT HERMIT-HILL-HUT
(LOC HERMIT-HILL)
(FLAGS DONT-TAKE)
(SDESC "hut")
(KBD %<ASCII !\H>)
(ACTION
<ACOND ()
(EXAMINE:REMOVE
<TELL
"The hut was small, made of rough-hewn logs. The thatched roof was so
haphazardly constructed that it would hardly keep out the wind, no less
the rain. It was difficult to believe that someone would choose to live
here, but the evidence clearly pointed in that direction." CR CR>
<COND (<EQUAL? ,ACTOR ,PRAXIX>
<TELL
"\"It would take a good deal of magic to fix this place up,\" Praxix said.
\"Shall we take a closer look?\"">)
(<EQUAL? ,ACTOR ,ESHER>
<TELL
"Esher was not impressed. \"I don't see how someone living here could
be of help to anyone,\" he said.">)>)>)>
<ROOM HERMIT-HILL
(TRAVEL-COMMANDS KNOCK-COMMAND BACK-COMMAND NUL-COMMAND)
(GRAPHIC G-HERMIT-HILL)
(FLAGS DONT-SCOUT)
(ACTION
<ACOND ()
(KNOCK
<TELL
"With Bergon in the lead, we approached the hut. But even as his raised
hand came down upon that rickety door, it appeared to open of its own
volition. We entered slowly; the hut was dark and smelled of incense. In
the far corner, one eye gone, the other opaque with cataracts, an old
man stared at us." CR CR>
<TELL
"I say old, though the many lines on his face were more like the scars
earned in battle than the wrinkles gathered over the long years.
We stood motionless, as though afraid to speak or perhaps unsure of what
to say. The silence was broken as the old man stood, toppling his stool,
and took a few hobbling steps toward Bergon." CR CR>
<TELL
"Then, staring straight into Bergon's eyes, he said, \"You come from the
far plains of Lavos, and you seek a great Wizard.\" Raising a deformed
finger, he hissed accusingly, \"It is in your eyes!\"">
<MOVE-TO ,HERMIT-HUT>
<OPTION ,BERGON ,TELL-TRUTH-COMMAND ,LIE-COMMAND>)
(BACK
<MOVE-TO ,HIGH-PLAIN
"We stood there, watching the hut, for a long while. Finally, Bergon
spoke. \"Our business is not here, but with Astrix on the Sunrise
Mountain. Let us leave this place, and continue on our chosen path.\"">)>)>
<ROUTINE END-HERMIT-OPTION ()
<TELL
"Fools! There is no Wizard, there is only the Enemy - and he is
strong - too strong for the likes of you!\"" CR CR>
<TELL
"\"And how do you know this?\" Bergon demanded." CR CR>
<TELL
"The hermit retreated to his stool, and sat again in the corner.
\"I know nothing!\" he said, and sighed deeply.">
<END-OPTION>>
<OBJECT HERMIT-HUT-HERMIT
(LOC HERMIT-HUT)
(FLAGS DONT-TAKE)
(SDESC "hermit")
(KBD %<ASCII !\H>)
(ACTION
<ACOND ()
(EXAMINE:REMOVE
<TELL
"Old and stooped, the hermit looked at us through his single weary eye.
He wore a tattered tunic, whose style was not unlike that used by our people
in the plains." CR CR>
<TELL
"\"Your accent sounds familiar,\" " ACT " said. \"Have you travelled in
our lands?\" The hermit was taken aback by " ACT "'s offhand comment,
though he did not respond.">)>)>
<ROOM HERMIT-HUT
(TRAVEL-COMMANDS EXIT-COMMAND NUL-COMMAND NUL-COMMAND)
(FLAGS DONT-CAST DANGEROUS PROVISIONER DONT-DROP)
(GRAPHIC G-HERMIT)
(ACTION
<ACOND ()
(EXIT
<COND (<FSET? ,HERE ,SCOUTED>
<TELL
"We shuffled out of the hut, and Garlimon hobbled to the door as
we made our way back to our path. \"Begone!\" he cried">
<COND (<FSET? ,HERE ,TRIED>
<TELL ", and threw
a small leather bag at our feet. \"Perhaps this will help
you where you are going!\"">)
(T
<TELL ".">)>
<TELL " He started to cackle madly, and began to
chant in a sing-song fashion. \"The water that heals, the fire reveals,
the earth...\" He was babbling incoherently now, and soon slammed the door
behind us.">
<COND (<FSET? ,HERE ,TRIED>
<UPDATE-MOVE ,HERMIT-POWDER ,INVENTORY>
<TELL " Curious as to what we had been given,
I bent down and picked up the bag.">)>
<TELL CR CR>
<MOVE-TO ,HIGH-PLAIN
"\"He was a great man; the misfortunes of his party are a heavy load
to bear,\" Bergon said, and we made our way in silence to the high
plain.">)
(T
<TELL
"We left the hut in silence and returned to the high plain." CR CR>
<MOVE-TO ,HIGH-PLAIN
"\"He is a strange man,\" Bergon said. \"I have the peculiar feeling
that we have met before.\" He laughed, saying, \"Perhaps at the old
Ale House, at the bar!\"">)>)
(CAST
<UNUSE-ESSENCES>
<TELL
"Praxix reached toward his cloak, but Bergon stayed his hand. \"Not now!\"
he said.">)
(TELL-TRUTH
<TELL
"\"We have journeyed from Lavos, as you say; we ">
<COND (,2ND-PASS
<TELL
"have enlisted the aid of the great Wizard Astrix, and our efforts are
now joined with his own.\"" CR CR>)
(T
<TELL
"seek the Wizard Astrix, to seek his aid.\"" CR CR "\"">)>
<FSET ,HERE ,TRIED>
<END-HERMIT-OPTION>)
(LIE
<TELL
"\"We seek no Wizard; we are...\"" CR CR>
<TELL
"\"You are liars!\" he roared. \"I know who you are; I know what you
are. ">
<END-HERMIT-OPTION>)
(LOOK-AROUND:REMOVE
<UPDATE-FSET ,HERMIT-HUT-HERMIT ,DONT-EXAMINE>
<FSET ,HERE ,SCOUTED>
<FSET ,HERE ,DONT-SCOUT>
<TELL ACT
", meanwhile, had been discreetly eyeing the hut when he caught a glimpse
of a broadsword lying behind the door. He picked it up, and, still unseen,
showed it to Bergon, who turned his back to examine it." CR CR>
<TELL
"\"A fine weapon!\" Bergon said, unsheathing the sword and
holding it out toward the hermit. \"The finest
of its kind; forged at Hervish, judging by its style, and fashioned by a
great craftsman.\" We thought it odd for Bergon to be ranting on about this
undistinguished looking weapon, but we were wholly unprepared for
what followed." CR CR>
<TELL
"\"Garlimon,\" Bergon said warmly, and reached out for the hermit." CR CR>
<TELL
"But the hermit spurned Bergon's hand. \"Yes. Garlimon. What of it?\" he
scowled, \"You seek Astrix; I sought him also. And I see you've gotten
further than I - so far!\" He lifted his cane, and waved it at us
menacingly. \"You are in great danger - all of you! You will die at
His hand! You will all die!\"" CR CR>
<TELL
"Garlimon was mad! He stumbled backward, clutching a rotting table,
and stared wildly at us. \"Leave me!\" he demanded. \"Leave this place
at once!\"">)>)>

510
hints.zabstr Normal file
View file

@ -0,0 +1,510 @@
<BEGIN-SEGMENT 0>
<DEFINE-ROUTINE HINT>
<GLOBAL GAME-WON? <>>
<COMMAND MUSINGS <> ("AUX" STR) <CLEAR ,TEXT-WINDOW> <COND (,GAME-WON? <
HAVE-YOU-EVER-TRIED?> <RTRUE>)> <TELL
"The following marginal notes appeared in " TAG "'s account of the
Journey:" CR CR> <TELL "[Warning: " TAG
" gave great thought to the events he witnessed during his
Journey and was able to deduce the solutions to many of the mysteries and
puzzles that faced his party during those dark days. You are encouraged to solve
these puzzles without reference to the musings, as they may tend to reduce your
enjoyment of the game.]" CR> <REPEAT () <PUT ,O-TABLE 0 0> <FIND-OBJECTS ,HINTS
> <COND (<ZERO? #ZLOCAL!-IZILCH STACK> <REMOVE-TRAVEL-COMMAND ,HERE ,
MUSINGS-COMMAND> <CLEAR-FIELDS> <NEW-DEFAULT> <RTRUE>)> <FIND-OBJECT ,
CANCEL-OBJECT> <CLEAR-FIELDS> <BOLD-CURSOR 1 1 #ZLOCAL!-IZILCH STACK> <
PRINT-COLUMNS> <COMMAND-OBJECT-INPUT> <CRLF> <COND (<EQUAL? ,ACTION-OBJECT ,
CANCEL-OBJECT> <CLEAR-FIELDS> <NEW-DEFAULT> <RTRUE>) (<CALL #ZLOCAL!-IZILCH
STACK> T) (<SET STR <GETP ,ACTION-OBJECT ,P?NUDGE>> <PUTP ,ACTION-OBJECT ,
P?NUDGE #ZLOCAL!-IZILCH FALSE-VALUE> <PRINT .STR>) (T <PRINT #ZLOCAL!-IZILCH
STACK> <UPDATE-REMOVE ,ACTION-OBJECT>)> <CRLF>>>
<DEFINE-ROUTINE V-MUSINGS>
<OBJECT HINTS>
<OBJECT HINT-STUMP (SDESC "Stump") (KBD 83) (SOLUTION
"I have always wondered about the stump Praxix found in the middle of a field of
flowers. Did it have some other meaning or purpose?")>
<OBJECT HINT-NIGHTFANG (SDESC "Nightfang") (KBD 78) (ACTION <EXECUTE () <
UPDATE-REMOVE ,HINT-NIGHTFANG> <TELL
"I have always wondered whether we could have saved " D ,BITE-VICTIM
" from
the deadly bite of the Nightfang."> <COND (<FSET? ,ELFSTREAM-1 ,SEEN> <PRINTI
" Could the woman at the stream have helped if I had approached her?">) (T <
PRINTI " Would it have helped if I had followed the stream?">)> <TELL
" Was there someplace else Praxix could have explored?">>)>
<DEFINE-ROUTINE ANONF-371>
<OBJECT HINT-BITE-FOREST (SDESC "Forest") (KBD 70) (SOLUTION
"I wonder what I would have found had I explored the path following the stream.
Perhaps it didn't matter, since Praxix found the westflake root and saved our
friend from the Nightfang.")>
<OBJECT HINT-WOOD-ELF (SDESC "Forest") (KBD 70) (SOLUTION
"Perhaps I was too hasty in running away from the creature by the waterfall.")>
<OBJECT HINT-ELF-SPEAK (SDESC "Elves") (KBD 69) (ACTION <EXECUTE () <COND (<NOT
<FSET? ,ELFSTREAM-1 ,BLUE-MIX>> <PRINTI
"Perhaps I should have tried talking to the Elf, even though there was little
chance of being understood.">) (<NOT ,SPOKE-ELVISH> <PRINTI
"I might have tried speaking Elvish, though I don't know whether I
could have said anything meaningful.">) (<AND <FSET? ,STORY-ELVES ,SEEN> <NOT <
QSET? ,STORY-ELVES ,USED-UP>>> <PRINTI
"Thinking back, I'm certain I heard one of our party saying some Elvish words;
clearly, I should have paid closer attention."> <RTRUE>) (<FSET? ,STORY-ELVES ,
SEEN> <PRINTI "I believe Hurth said something about his meeting the Elves. What strikes
me is that his father, Agrith, was their friend. Was there any way I could tell
them that I was a friend of Agrith?">) (<NOT <QSET? ,STORY-ELVES ,USED-UP>> <
PRINTI "I don't believe I heard any of our party speaking Elvish, so I can't see
how I could have communicated with the Elf. It's possible, of course, that
either Praxix or Hurth might have known the language, but nothing they said
indicated it."> <RTRUE>) (T <PRINTI
"I wonder if Hurth knew any stories about the Elves that would have helped
me communicate with them.">)> <UPDATE-REMOVE ,HINT-ELF-SPEAK>>)>
<DEFINE-ROUTINE ANONF-372>
<OBJECT HINT-RIVER (SDESC "River") (KBD 82) (NUDGE
"We should have been more cautious crossing such a swiftly flowing river.") (
SOLUTION "In order to cross, it is now clear that we had to start as far upstream as
possible, and then paddle across the river with all our strength.")>
<OBJECT HINT-LAKE (SDESC "Lake") (KBD 76) (ACTION <EXECUTE () <COND (<NOT <
FSET? ,LAKE-POOL ,SEEN>> <PRINTI
"I do not know why we failed to explore the area around the lake
for clues to "> <WPRINTD ,LAKE-VICTIM> <PRINTI "'s disappearance.">) (<NOT <
FSET? ,UL-2 ,SEEN>> <PRINTI
"I do not understand our hesitation to more fully explore the
cave and the pool we had found within it.">) (<AND ,NYMPHS-COMING? <NOT <FSET?
,UL-2 ,TRIED>>> <PRINTI
"If only I could have avoided the strange creatures that had captured "> <
WPRINTD ,LAKE-VICTIM> <PRINTI
". I may have inadvertantly worsened my chances by allowing
myself to have been seen by one of them earlier.">) (,NYMPHS-COMING? <PRINTI
"If I had explored more quickly, I might have averted discovery by the creatures
that had captured "> <WPRINTD ,LAKE-VICTIM> <PRINTI ".">) (T <PRINTI
"Perhaps if I had allowed more time for "> <WPRINTD ,LAKE-VICTIM> <PRINTI
" to have regained
consciousness, I could have rescued him.">)> <UPDATE-MOVE ,HINT-LAKE>>)>
<DEFINE-ROUTINE ANONF-373>
<OBJECT HINT-NYMPH-STONE (SDESC "Nymphs") (KBD 78) (ACTION <EXECUTE () <COND (<
NOT <FSET? ,UL-TREASURY ,SEEN>> <PRINTI
"Perhaps I should have spend more time exploring the Nymphs' world.">) (<NOT <
FSET? ,NYMPH-STONE ,TRIED>> <PRINTI
"Knowing that we needed the Nymph Stone, why did I not try to take it when
I had the chance?">) (<AND <FSET? ,UL-TREASURY ,SCOUTED> <NOT <QSET? ,
HINT-NYMPH-STONE ,BLUE-MIX>>> <PRINTI
"I could not remove the Nymph Stone by normal means; was there another way?"> <
RTRUE>) (<FSET? ,UL-PIT ,TORCHBIT> <PRINTI
"Exploration of the Nymphs' world would have been easier with a
portable light source. But I didn't try taking all of the torches!">) (<AND <
NOT <FSET? ,UL-2-PIT ,SCOUTED>> <NOT <FSET? ,UL-TREASURY-PIT ,SCOUTED>>> <
PRINTI "I wonder at the significance of the circular stone pieces. Could they
have been moved?">) (<ZERO? ,UL-DROPPED> <PRINTI
"What was the meaning of the pits? I couldn't find out where they led, or
could I?">) (T <PRINTI
"I think I was on the right track when I tried dropping things into the pools.
Where did they lead?">)> <UPDATE-REMOVE ,HINT-NYMPH-STONE>>)>
<DEFINE-ROUTINE ANONF-374>
<OBJECT HINT-ELVES (SDESC "Elf Home") (KBD 69) (ACTION <EXECUTE () <
UPDATE-REMOVE ,HINT-ELVES> <COND (<FSET? ,FOREST-FIRE ,TRIED> <PRINTI
"It is unfortunate that Praxix hadn't enough water essence to put out the
Elves' fire. Perhaps there was more water essence to be found, or less that
could have been used earlier?">) (<FSET? ,FOREST-FIRE ,SEEN> <PRINTI
"I regret that, in our haste to find Astrix, we did not try to help the
Elves try to contain the great fire that burned to the north.">) (<NOT <FSET? ,
ESSENCE-WATER ,SCOUTED>> <PRINTI
"We would have helped the Elves if it were possible, but it seemed we had no
means to accomplish the task.">) (T <PRINTI
"I suppose we could have helped the Elves with their fire; perhaps Praxix had some
reason for standing by and doing nothing.">)>>)>
<DEFINE-ROUTINE ANONF-375>
<OBJECT HINT-DWARVES (SDESC "Dwarves") (KBD 68) (SOLUTION
"I don't know why Bergon decided to fight the Dwarves; though they
surprised us and were formidably armed, they did not attack.")>
<OBJECT HINT-DWARF-LIE (SDESC "Dwarves") (KBD 68) (SOLUTION
"I wish we had been able to enlist the aid of the Dwarves in our quest.
Perhaps we got off on the wrong foot with them.")>
<OBJECT HINT-RUNES (SDESC "Runes") (KBD 82) (SOLUTION
"I feel certain that we did not pay close enough attention to the runes that were
inscribed on the walls of the Dwarvish cavern.")>
<OBJECT HINT-ORC-FIGHT (SDESC "Orc Fight") (KBD 79) (ACTION <EXECUTE () <COND (
<NOT <QSET? ,HINT-ORC-FIGHT ,BLUE-MIX>> <PRINTI
"Did we fight to our best advantage? I think not."> <RTRUE>) (<NOT <FSET? ,
ORC-FIGHT ,SEEN>> <PRINTI
"Perhaps things would have gone differently if we had gained the element
of surprise by sending one of our party to flank the orcs.">) (<FSET? ,
ORC-FIGHT ,BLUE-MIX> <PRINTI
"Sending one of our party to flank the orcs was a good move, but its effect
would have been greater if we had thought of it earlier.">) (<NOT ,
ORC-FIGHT-SPELL> <PRINTI
"Even with the element of surprise, we were not strong enough for the orcs.
Maybe Praxix' magic could have helped things along.">) (T <PRINTI
"The right spell might have made all the difference in our fight with the
orcs - something to slow them down perhaps. But what?">)> <UPDATE-REMOVE ,
HINT-ORC-FIGHT>>)>
<DEFINE-ROUTINE ANONF-376>
<OBJECT HINT-AVALANCHE (SDESC "Avalanche") (KBD 65) (ACTION HINT-MAP)>
<OBJECT HINT-MTN-LION (SDESC "Mtn. Lion") (KBD 77) (ACTION HINT-MAP)>
<OBJECT HINT-WEBBA-MAP (SDESC "Astrix") (KBD 65) (ACTION HINT-MAP)>
<DEFINE-ROUTINE HINT-MAP>
<OBJECT HINT-ALLERGY (SDESC "Hurth") (KBD 72) (ACTION <EXECUTE () <COND (<FSET?
,HINT-ALLERGY ,BLUE-MIX> <PRINTI
"I don't believe we could have saved Hurth from the illness that caused his
death. If only Esher or Praxix had been there, I feel there would have been
a chance of saving him.">) (<NOT <FSET? ,HURTH-OBJECT ,BLACK-MIX>> <PRINTI
"Why didn't Esher examine Hurth? After all, he was a physician, even if
he wasn't knowledgable about Dwarvish illnesses.">) (<NOT <QSET? ,HINT-ALLERGY
,BLACK-MIX>> <PRINTI
"Esher had no potion, herb, or root that could help him, but perhaps one
could have been found earlier in our travels."> <RTRUE>) (T <PRINTI
"It occurs to me that the underground tunnel in the forest, with all of its
mysterious growths, might have been worth examining more closely.">)> <
UPDATE-REMOVE ,HINT-ALLERGY>>)>
<DEFINE-ROUTINE ANONF-377>
<OBJECT HINT-TANGLETREES (SDESC "Snaketrees") (8DESC "Snaketree") (KBD 83) (
SOLUTION "It has always struck me as odd that Bergon would continue onward into
the grips of those deadly trees. But then, Bergon was a headstrong man.")>
<OBJECT HINT-TANGLESCENE (SDESC "Snaketrees") (8DESC "Snaketree") (KBD 83) (
SOLUTION "It seems we had no alternative to slugging our way through the grove of
snaketrees, since Praxix was short on magical essences.")>
<OBJECT HINT-MINAR (SDESC "Minar") (KBD 77) (SOLUTION
"I did not like his looks, yet in hindsight it seems that we would may have been
hasty in turning away the stranger.")>
<OBJECT HINT-BANDITS (SDESC "Bandits") (KBD 66) (SOLUTION
"We should never have allowed ourselves to be caught off guard. Were it not
for the element of surprise, Esher may never have been killed.")>
<OBJECT HINT-BANDITS-FLANK (SDESC "Bandits") (KBD 66) (SOLUTION
"We knew the bandits were lying in wait for us, yet we did virtually nothing to
take advantage of this.")>
<OBJECT HINT-NO-FIRE (SDESC "Bandits") (KBD 66) (SOLUTION
"We had defeated the bandits, though we were no closer to revealing the mystery
of the bloodstained clothing that Minar had found.")>
<OBJECT HINT-GOLD (SDESC "Storm") (KBD 83) (NUDGE
"Why would we spend time looking for gold? All the gold in the world would not
save our lands from the destruction that was sure to come if we failed. But the
essences that Praxix found would have been reason enough. If only the storm had
not come!") (SOLUTION
"The storm only did damage to my possessions; fortunately, nobody was hurt.
If the items in my pack had been protected from the oncoming water, we
might would have looked upon the storm not so much as a catastrophe, but as
an opportunity.")>
<OBJECT HINT-PRISON (SDESC "Caverns") (KBD 67) (SOLUTION
"Did we explore the Dwarvish caverns fully? After all, the passage at the
bottom of the stairs continued onward.")>
<OBJECT HINT-CHASM (SDESC "Chasm") (KBD 67) (NUDGE
"We failed to get across the chasm, but perhaps we did not do enough. Praxix'
magic might have worked. But how?") (SOLUTION
"Even with the spells that Praxix had at his disposal, there must have been some
progression of magical incantations that would have gotten us across the dark
abyss.")>
<OBJECT HINT-EVIL-CAVERN (SDESC "Caverns") (KBD 67) (ACTION <EXECUTE () <
UPDATE-REMOVE ,HINT-EVIL-CAVERN> <COND (<NOT <FSET? ,DARK-EVIL-CAVERN ,SEEN>> <
PRINTI "Exploration was always vital in our quest; why, then, did we never finish exploring
the Dwarven caverns past the stairs?">) (T <PRINTI
"It was a relief to get away from the dark, evil presence we felt in the Dwarven
caverns. Yet we turned back with great haste, not fully exploring what lay ahead.
Perhaps there was nothing but evil to be found, but, then again, who can
say?">)>>)>
<DEFINE-ROUTINE ANONF-378>
<OBJECT HINT-DARK-PRESENCE (SDESC "Dark Evil") (KBD 68) (SOLUTION
"Praxix failed to hold back the dark presence we felt in the caverns. I cannot
help wondering whether he could have done more to protect the Dwarves whose
caverns the evil being now roams.")>
<OBJECT HINT-ORC-TRAP (SDESC "Orc Trap") (KBD 79) (ACTION <EXECUTE () <COND (<
NOT ,A-B-FLAG> <PRINTI
"Perhaps taking the northern path in the forest would have prevented
us from walking into the orcs' trap."> <UPDATE-REMOVE ,HINT-ORC-TRAP>) (<NOT <
FSET? ,MINE-JUNCTION ,SEEN>> <PRINTI
"Why we did not fully explore the lower chambers remains a mystery."> <
UPDATE-REMOVE ,HINT-ORC-TRAP>) (<NOT <QSET? ,ACTIVE-MINE ,SOLVED>> <PRINTI
"We never did discover the meaning of the tapping sounds in the mine.
It may have been worthwhile to check them out again.">) (<FSET? ,RED-ROCK ,
SOLVED> <PRINTI "I'm certain the red rock I recovered from the mine was the key to the
miner's disappearances! Could we have used it to save "> <WPRINTD ,TRAP-VICTIM>
<PRINTI " from the orcs?"> <COND (<NOT <FSET? ,RED-ROCK ,DEAD>> <PRINTI
" I think I had the rocks with me, though I would have had to check
my inventory to be sure.">)> <UPDATE-REMOVE ,HINT-ORC-TRAP>) (<NOT <IN? ,
RED-ROCK ,ACTIVE-MINE>> <PRINTI
"Did we fail to pay close enough attention to the mine itself;
did we examine everything?"> <UPDATE-REMOVE ,HINT-ORC-TRAP>) (T <PRINTI
"The miner surely knew many things. Did we ask him enough questions?"> <
UPDATE-REMOVE ,HINT-ORC-TRAP>)>>)>
<DEFINE-ROUTINE ANONF-379>
<OBJECT HINT-SIGNAL (SDESC "Stranded") (KBD 83) (SOLUTION
"It's very sad that Praxix hadn't enough essences to send us some sort of
signal from the castle. It only shows how vital those essences were, and how
important to use them wisely.")>
<OBJECT HINT-CASTLE (SDESC "Castle") (KBD 67) (SOLUTION
"It was quite unlike Praxix to fail to explore the castle because the bridge
appeared too flimsy; but we were all frightened then, mostly of the unknown.
I must not judge him too harshly.")>
<OBJECT HINT-UMBER (SDESC "Umber") (KBD 85) (SOLUTION
"Why did Praxix refuse Umber's offer to join him? Pride? Stubborness? I
suppose we shall never know.")>
<OBJECT HINT-DUNGEON (SDESC "Castle") (KBD 67) (SOLUTION
"I have never understood why Praxix failed to explore the entire grounds of
the castle. I suppose I never shall.")>
<OBJECT HINT-VAULT (SDESC "Vault") (KBD 86) (ACTION <EXECUTE () <COND (<FSET? ,
REAGENT ,SOLVED> <PRINT ,MIXTURE-HELPFUL?> <UPDATE-REMOVE ,HINT-VAULT>) (<NOT <
QSET? ,HINT-VAULT ,EXAMINED>> <PRINT ,BGR-NOT-FOUND>) (T <HINT-REAGENT ,
HINT-VAULT>)>>)>
<DEFINE-ROUTINE ANONF-380>
<CONSTANT MIXTURE-HELPFUL?
"Astrix said that mixing reagents with magical essences would provide greater
magical powers. Could a mixture have helped us here?">
<OBJECT HINT-WOUNDS (SDESC "Wounds") (KBD 87) (ACTION <EXECUTE () <COND (<FSET?
,REAGENT ,SOLVED> <PRINT ,MIXTURE-HELPFUL?> <UPDATE-REMOVE ,HINT-WOUNDS>) (<NOT
<QSET? ,HINT-WOUNDS ,EXAMINED>> <PRINT ,BGR-NOT-FOUND>) (T <HINT-REAGENT ,
HINT-WOUNDS>)>>)>
<DEFINE-ROUTINE ANONF-381>
<CONSTANT BGR-NOT-FOUND
"I feel the key to many things lies in the blue-green reagent that
Astrix told us about. We never found it, and this, perhaps, was
our greatest problem.">
<OBJECT HINT-STONES (SDESC "Stone Pile") (8DESC "Stones") (KBD 83) (ACTION <
EXECUTE () <COND (<AND <FSET? ,REAGENT ,SOLVED> <NOT <QSET? ,HINT-STONES ,SEEN>
>> <PRINTI "I don't know for certain, but I suspect that one of the Stones was
hidden in the pile Praxix found in the castle dungeon. It would take forever,
I suppose, to have looked at every one, and even then, how would it be
distinguished? Was there some magic in Praxix' possession that might have
revealed it to him?">) (<FSET? ,REAGENT ,SOLVED> <PRINT ,MIXTURE-HELPFUL?> <
UPDATE-REMOVE ,HINT-STONES>) (<NOT <QSET? ,HINT-STONES ,EXAMINED>> <PRINT ,
BGR-NOT-FOUND>) (T <HINT-REAGENT ,HINT-STONES>)>>)>
<DEFINE-ROUTINE ANONF-382>
<DEFINE-ROUTINE HINT-REAGENT>
<DEFINE-ROUTINE REMOVE-HINT-REAGENT>
<OBJECT HINT-DIVERSION (SDESC "Diversion") (KBD 68) (SOLUTION
"I regret deeply the loss of our friend while saving Praxix. It would
seem that Praxix' idea was better than its execution. His magic got
the attention of the orcs, to be sure; but he did nothing to place him
out of harm's way.")>
<OBJECT HINT-TREMOR (SDESC "Orc Fight") (KBD 79) (NUDGE
"We were trapped there, and it seems there was no alternative to
fighting the orcs to the bitter end. Or were we? And what of the water
sounds nearby?") (SOLUTION
"I wonder what would have happened if Praxix had cast his tremor spell
at that point. Surely it could not have hurt!")>
<OBJECT HINT-STRANGE-GATE (SDESC "Caverns") (KBD 67) (SOLUTION
"I wonder what we might have found if we had attempted going around the orcs
to the north, rather than being forced to fight them.")>
<OBJECT HINT-GATE-RUNES (SDESC "Runes") (KBD 82) (ACTION <EXECUTE () <COND (<
NOT <QSET? ,HINT-GATE-RUNES ,BLUE-MIX>> <PRINTI
"Perhaps Praxix should have paid more attention to the runes above the gate.">
<COND (<NOT <FSET? ,GATE-RUNES ,SEEN>> <UPDATE-REMOVE ,HINT-GATE-RUNES>)> <
RTRUE>) (T <PRINTI
"On the other hand, it is possible that Praxix didn't know as much about the
Wizards' language as he said he did, having studied only a dictionary."> <
UPDATE-REMOVE ,HINT-GATE-RUNES>)>>)>
<DEFINE-ROUTINE ANONF-383>
<OBJECT HINT-MILL (SDESC "Mill") (KBD 77) (ACTION <EXECUTE () <COND (<NOT <
FSET? ,MILL-MACHINERY ,EXAMINED>> <PRINTI
"Why wasn't the mill examined more closely? Perhaps something would have
been revealed.">) (<NOT <FSET? ,XFER-JCN ,SEEN>> <PRINTI
"It is unfortunate that Praxix did not explore the area within
the mill mechanism, for he might have found something useful there.">) (<OR <
NOT <FSET? ,XFER-MASTER ,SEEN>> <NOT <FSET? ,XFER-1 ,SEEN>>> <PRINTI
"From what he told us, there was more within the mill's mechanism for Praxix
to have explored.">) (<NOT <FSET? ,XFER-CONTROLS ,EXAMINED>> <PRINTI
"Praxix may indeed have explored the mill, but I suspect there is more he could
have done while inside its mechanism - something, perhaps, that might have
helped him get the essences he had seen in the walls of the first pit.">) (<NOT
,FIDDLED-WITH-DEVICE> <PRINTI
"The device Praxix described was certainly complicated, yet he did not describe
any attempt to use or manipulate it.">) (<AND <NOT <FSET? ,XFER-MASTER ,SOLVED>
> <NOT <QSET? ,HINT-MILL ,BLUE-MIX>>> <PRINTI
"Praxix found six runes on each of the dials, yet there was no clue as to
what, if anything, those runes represented. There were only three pits, of
course, yet the passage beside the third was blocked. Might have there been
more pits behind the rockslide?"> <RTRUE>) (<AND <NOT <FSET? ,XFER-MASTER ,
SOLVED>> <NOT <QSET? ,HINT-MILL ,GRAY-MIX>>> <PRINTI
"This is all idle speculation. Even if there were six pits altogether, how
could it be possible to identify a particular rune with a particular pit?"> <
RTRUE>) (<AND <NOT <FSET? ,XFER-MASTER ,SOLVED>> <NOT <QSET? ,HINT-MILL ,
BLACK-MIX>>> <PRINTI "The pits were not marked in any manner, or were they?"> <
RTRUE>) (<NOT <FSET? ,XFER-MASTER ,SOLVED>> <PRINTI
"Praxix noted that the entire area around the pits was covered with a thick
layer of grime or dust of some sort. Perhaps there were markings underneath
the dirt!">) (<AND <FSET? ,XFER-3 ,SCOUTED> <NOT <QSET? ,HINT-MILL ,SCOUTED>>>
<PRINTI "Praxix certainly found an expensive way to escape from the mill's mechanism,
and the loss of magical essences was difficult to compensate for. If Praxix
had understood the device in the control room better, perhaps he might have
reached us without using his magic."> <RTRUE>) (<FSET? ,XFER-3 ,TRAPPED> <
PRINTI "Somehow, Praxix would have needed to know which symbol corresponded to that
third pit without using himself as the guinea pig. But how?">) (T <PRINTI
"Praxix determined that two of the pits corresponded with two of the runes
on the dials in the control room. Perhaps setting the dials to these two
runes and pushing the button would have revealed the nature of the device
itself.">)> <UPDATE-REMOVE ,HINT-MILL>>)>
<DEFINE-ROUTINE ANONF-384>
<OBJECT HINT-MILL-TRAPPED (SDESC "Mill") (KBD 77) (ACTION <EXECUTE () <COND (<
AND ,XFER-TRAP <NOT <QSET? ,HINT-MILL-TRAPPED ,BLUE-MIX>>> <PRINTI
"Perhaps Praxix should have learned more about the workings of the device
before using it himself."> <RTRUE>) (,XFER-TRAP <ICALL!-IZILCH #ZLOCAL!-IZILCH
STACK>) (<AND <FSET? ,XFER-3-ANTE ,SEEN> <NOT <QSET? ,HINT-MILL-TRAPPED ,
GRAY-MIX>>> <PRINTI
"It was clear to Praxix that there was light pouring into the bottom of
the third pit. Perhaps that was an exit to the mill's inner mechanism."> <RTRUE
>) (<FSET? ,XFER-3-ANTE ,SEEN> <PRINTI
"Since jumping was out of the question, Praxix had few choices. One spell,
though, comes to mind, although its use would be somewhat ironic under the
circumstances. Otherwise, Praxix had little choice unless he could somehow
make the mechanism work to his advantage.">) (T <PRINTI
"If Praxix had looked some more before he leaped, perhaps he would not have
become trapped beneath the mill.">)> <UPDATE-REMOVE ,HINT-MILL-TRAPPED>>)>
<DEFINE-ROUTINE ANONF-385>
<OBJECT HINT-DOOR (SDESC "Door") (KBD 68) (SOLUTION
"We never got through the door; neither did we finish exploring all
of the passageways nearby. This could well have been a mistake.")>
<OBJECT HINT-HOLE (SDESC "Hole") (KBD 72) (SOLUTION
"It seems obvious now that Hurth would have fared best in that dark hole. How did
we expect anyone else to get back out?")>
<OBJECT HINT-OLD-MINE (SDESC "Old Mine") (KBD 79) (ACTION <EXECUTE () <COND (<
FSET? ,REAGENT ,SOLVED> <PRINTI
"It is a great tragedy that Hurth died in the old mine. Was it worth it? Did
we really need more of that magical reagent?"> <UPDATE-REMOVE ,HINT-OLD-MINE>)
(<NOT <QSET? ,HINT-OLD-MINE ,SEEN>> <PRINTI
"I do not see how this tragedy could have been avoided. If we were to
get the reagent we needed, what alternative did we have?"> <UPDATE-REMOVE ,
HINT-OLD-MINE>) (T <HINT-REAGENT ,HINT-OLD-MINE>)>>)>
<DEFINE-ROUTINE ANONF-386>
<OBJECT HINT-TAVERN (SDESC "Tavern") (KBD 84) (ACTION <EXECUTE () <
UPDATE-REMOVE ,HINT-TAVERN> <COND (<FSET? ,TAVERN-OTHER-TABLE ,DEAD> <PRINTI
"It is a shame that we ran out of the red rocks that I had found in the mines.
Perhaps we used them carelessly.">) (<NOT <FSET? ,TAVERN-OTHER-TABLE ,EXAMINED>
> <PRINTI "There was not much going on in the tavern, to be sure. Yet we did not check
out the other customers in any way.">) (<NOT <FSET? ,ZAN-TAVERN ,SOLVED>> <
PRINTI "If only we knew what the people at the other table were saying - for surely,
they were talking about us! It would have been far too dangerous to simply
walk up to them, but I wonder....">) (T <PRINTI
"I know it is impolite, yet I wished I had spent more time eavesdropping on
the other table in the tavern.">)>>)>
<DEFINE-ROUTINE ANONF-387>
<OBJECT HINT-INN (SDESC "Inn") (KBD 73) (ACTION HINT-MURDER)>
<OBJECT HINT-CAMPGROUND (SDESC "Campground") (8DESC "Camp Out") (KBD 67) (
ACTION HINT-MURDER)>
<DEFINE-ROUTINE HINT-MURDER>
<OBJECT HINT-SOUTH-SEAS (SDESC "Boat") (KBD 66) (NUDGE
"As I look back, there were quite a few hints that this was the wrong boat to
choose. But, there must have been some sign, some help, to have guided us to
a better decision.") (SOLUTION
"Perhaps we should have picked a different boat, but then again, we had only
the two choices suggested by the harbormaster. Or might we have heard of
another captain somewhere else in town?")>
<OBJECT HINT-REEF-STUCK (SDESC "Reef") (KBD 82) (SOLUTION
"It is tragic that Praxix ran out of air essence when he did. Perhaps he
could have been more sparing of its use earlier in our journey, or perhaps
there was more to be found? We shall never know.")>
<OBJECT HINT-REEF (SDESC "Reef") (KBD 82) (NUDGE
"The mast would surely have broken if I had tried to get above the mist.
Was there another way of rising above it?") (SOLUTION
"Could Praxix have helped? Could he have elevated me? We shall never know.")>
<OBJECT HINT-JAIL (SDESC "Jail") (KBD 74) (ACTION <EXECUTE () <COND (<NOT <
QSET? ,HINT-JAIL ,SEEN>> <PRINTI
"We were trapped in the jail with no escape possible. There is no one to
blame, nothing we could have done."> <RTRUE>) (<FSET? ,GRAY-STONE ,SOLVED> <
PRINTI "I wonder about the gray reagent we had bought. Could some mixture
have helped us? If so, we would have done better to experiment before
getting caught!">) (<NOT <FSET? ,CURIO-SHOP ,SCOUTED>> <PRINTI
"And yet, we did not explore everywhere in town. Not the curio shop,
at any rate.">) (<FSET? ,GRAY-STONE ,TRAPPED> <PRINTI
"But why was Praxix so ornery; why didn't he ask to see some of the things
that were for sale in the curio shop? There might have been something
useful there.">) (<NOT <FSET? ,GRAY-STONE ,EXAMINED>> <PRINTI
"Alas that we did not try to buy the gray stone. Later, Praxix confided
that it was a magical reagent, and its magic could have helped us.">) (<NOT <
QSET? ,HINT-JAIL ,SOLVED>> <PRINTI
"Alas that we had nothing to trade for the gray stone. It was certainly
a magical reagent, and might have helped us escape from jail."> <RTRUE>) (<NOT
<FSET? ,STAIR-CHASM ,SEEN>> <PRINTI
"I think back to all we had accomplished, everything we had seen: was there
any place we did not explore? Yes! The left stair in the caverns; but now
I will never know what lay along that path.">) (<NOT <FSET? ,FAR-CHASM ,SEEN>>
<PRINTI "The chasm between the broken stairs! I don't know why, but it occurs to me
that we never found a way across. Could that have helped?">) (<NOT <FSET? ,
SUNSET-TOWER ,SOLVED>> <PRINTI
"The Sunset Tower: why do I feel that we have missed simething there? Was
there something hidden there?">) (T <PRINTI
"The spyglass! Of course! Praxix said it was a priceless treasure!">)> <
UPDATE-REMOVE ,HINT-JAIL>>)>
<DEFINE-ROUTINE ANONF-388>
<OBJECT HINT-FOG (SDESC "Demon") (KBD 68) (NUDGE
"Praxix was surprisingly absentminded in not figuring out the proper
mixture to create fog; I can think of at least two ways he might not
have resorted to guessing.") (SOLUTION
"First, he might have guessed at which two elements would most likely yield
fog; second, he might have realized that there was only one combination whose
effect he did not already know.")>
<OBJECT HINT-DKAO (SDESC "Demon") (KBD 68) (SOLUTION
"What fools we were to assume the shadow to have been benign. If we had
taken a better look while we had the chance, the tragedy outside of Zan
might have been averted.")>
<OBJECT HINT-POUCH (SDESC "Demon") (KBD 68) (SOLUTION
"Perhaps I should have taken Praxix' pouch and used some of his magic
to defeat the evil demon; it could not have hurt.")>
<OBJECT HINT-MAGIC (SDESC "Demon") (KBD 68) (ACTION <EXECUTE () <COND (<NOT <
QSET? ,HINT-MAGIC ,BLUE-MIX>> <PRINTI
"The fearsome demon was our final undoing. If I had only come up with
the proper mixture! And yet I am certain that I had seen or heard things
that could have helped me discover the relationship between the spells
and their colors. But what?">) (<NOT <FSET? ,TALE-MAGIC ,EXAMINED>> <PRINTI
"First of all, I never had Praxix tell me about magic - that certainly
would have been useful!"> <UPDATE-REMOVE ,HINT-MAGIC>) (<NOT <QSET? ,HINT-MAGIC
,GRAY-MIX>> <PRINTI
"Yes, I recall having noted the color on Praxix' hands after casting
'Flare' to get us through the snaketrees. And now that I think of it,
there were other times as well.">) (T <PRINTI
"The solution should be obvious; between what Praxix said to me about magic
and the colors I had seen on his fingers, all I needed was a little common sense."
> <UPDATE-REMOVE ,HINT-MAGIC>)>>)>
<DEFINE-ROUTINE ANONF-389>
<OBJECT HINT-MUDWARGS (SDESC "Mudwargs") (KBD 77) (ACTION <EXECUTE () <COND (<
NOT <FSET? ,BLACK-REAGENT ,SEEN>> <PRINTI
"It was foolish to attempt to get past the mudwargs. Why didn't we stay
with Umber and seek his advice?">) (,BLACK-COUNT <PRINTI
"The black reagent frightened Praxix, I am sure. Nevertheless, he might
have experimented more with the various combinations of mixtures.">) (T <PRINTI
"I will never understand why Praxix never experimented with the black
reagent. Perhaps he had his reasons, but I have never understood what
they could be.">)> <UPDATE-REMOVE ,HINT-MUDWARGS>>)>
<DEFINE-ROUTINE ANONF-390>
<DEFINE-ROUTINE HAVE-YOU-EVER-TRIED?>
<COMMAND MORE <> ("AUX" F) <SET F <FIRST? ,HAVE-YOU-EVER>> <TELL "... " <GETP .
F ,P?SOLUTION>> <REMOVE .F> <COND (<NOT <FIRST? ,HAVE-YOU-EVER>> <
REMOVE-TRAVEL-COMMAND>)> <RTRUE>>
<DEFINE-ROUTINE V-MORE>
<OBJECT HAVE-YOU-EVER>
<OBJECT HYE-DRINKS (LOC HAVE-YOU-EVER) (SOLUTION
"I had ordered one too many drinks at the tavern in Lavos.")>
<OBJECT HYE-DROP (LOC HAVE-YOU-EVER) (SOLUTION
"I had tried dropping the rope, or something else of importance.")>
<OBJECT HYE-SPELLS (LOC HAVE-YOU-EVER) (SOLUTION
"Praxix had used his magic when no magic was needed.")>
<OBJECT HYE-FIRE (LOC HAVE-YOU-EVER) (SOLUTION
"Praxix had cast Blaze or Lightning at the Elves' fire.")>
<OBJECT HYE-RIVER (LOC HAVE-YOU-EVER) (SOLUTION
"Praxix had cast Rain when we were on the raft in the river. It occurs to
me that he might not have had enough left after putting out the Elves'
fire, though.")>
<OBJECT HYE-GLOW (LOC HAVE-YOU-EVER) (SOLUTION
"Praxix cast Glow on his already glowing staff.")>
<OBJECT HYE-TOWER (LOC HAVE-YOU-EVER) (SOLUTION
"Praxix had cast Flare at the top of the Sunset Tower.")>
<OBJECT HYE-DIVERSION (LOC HAVE-YOU-EVER) (SOLUTION
"Praxix had experimented with his Elevation spell before diverting the
orcs.")>
<OBJECT HYE-TANGLE (LOC HAVE-YOU-EVER) (SOLUTION
"Praxix had cast Rain in the grove of snaketrees.")>
<OBJECT HYE-INNKEEPER (LOC HAVE-YOU-EVER) (SOLUTION
"Praxix had used the mind bending mixture on the innkeeper.")>
<OBJECT HYE-VOYAGE (LOC HAVE-YOU-EVER) (SOLUTION
"Praxix had cast Rain or Lightning during our ocean voyage.")>
<OBJECT HYE-FOREBODING (LOC HAVE-YOU-EVER) (SOLUTION
"we had figured out the meaning of the mixture of gray reagent and
air essence.")>
<OBJECT HYE-JAIL (LOC HAVE-YOU-EVER) (SOLUTION
"Praxix had made me invisible in the jail cell and then gotten the
sheriff's attention.")>
<OBJECT HYE-MIST (LOC HAVE-YOU-EVER) (SOLUTION
"Praxix had used his Wind spell when we were afloat in the mist
before knowing in which direction the Misty Isle lay.")>
<OBJECT HYE-BOAT (LOC HAVE-YOU-EVER) (SOLUTION
"Praxix had used his Wind or Elevation spells on the boat before
the storm.")>
<OBJECT HYE-STEAL (LOC HAVE-YOU-EVER) (SOLUTION
"Praxix had tried to steal the gray stone, rather than trading the
spyglass for it.")>

548
hints.zap Normal file
View file

@ -0,0 +1,548 @@
.SEGMENT "0"
.FUNCT HINT:ANY:1:1,H
MOVE H,HINTS
RTRUE
.FUNCT V-MUSINGS:ANY:0:0,STR
CLEAR TEXT-WINDOW
ZERO? GAME-WON? /?CND1
ICALL1 HAVE-YOU-EVER-TRIED?
RTRUE
?CND1: PRINTI "The following marginal notes appeared in "
ICALL1 WPRINTTAG
PRINTI "'s account of the Journey:"
CRLF
CRLF
PRINTI "[Warning: "
ICALL1 WPRINTTAG
PRINTI " gave great thought to the events he witnessed during his Journey and was able to deduce the solutions to many of the mysteries and puzzles that faced his party during those dark days. You are encouraged to solve these puzzles without reference to the musings, as they may tend to reduce your enjoyment of the game.]"
CRLF
?PRG3: PUT O-TABLE,0,0
ICALL2 FIND-OBJECTS,HINTS
GET O-TABLE,0
ZERO? STACK \?CND5
ICALL REMOVE-TRAVEL-COMMAND,HERE,MUSINGS-COMMAND
ICALL1 CLEAR-FIELDS
ICALL1 NEW-DEFAULT
RTRUE
?CND5: ICALL2 FIND-OBJECT,CANCEL-OBJECT
ICALL1 CLEAR-FIELDS
CALL2 GET-COMMAND,MUSINGS-COMMAND
ICALL BOLD-CURSOR,1,1,STACK
ICALL1 PRINT-COLUMNS
ICALL1 COMMAND-OBJECT-INPUT
CRLF
EQUAL? ACTION-OBJECT,CANCEL-OBJECT \?CCL9
ICALL1 CLEAR-FIELDS
ICALL1 NEW-DEFAULT
RTRUE
?CCL9: GETP ACTION-OBJECT,P?ACTION
CALL STACK
ZERO? STACK \?CND7
GETP ACTION-OBJECT,P?NUDGE >STR
ZERO? STR /?CCL13
PUTP ACTION-OBJECT,P?NUDGE,FALSE-VALUE
PRINT STR
JUMP ?CND7
?CCL13: GETP ACTION-OBJECT,P?SOLUTION
PRINT STACK
ICALL2 UPDATE-REMOVE,ACTION-OBJECT
?CND7: CRLF
JUMP ?PRG3
.FUNCT ANONF-371:ANY:0:0
ICALL2 UPDATE-REMOVE,HINT-NIGHTFANG
PRINTI "I have always wondered whether we could have saved "
ICALL2 WPRINTD,BITE-VICTIM
PRINTI " from the deadly bite of the Nightfang."
FSET? ELFSTREAM-1,SEEN \?CCL3
PRINTI " Could the woman at the stream have helped if I had approached her?"
JUMP ?CND1
?CCL3: PRINTI " Would it have helped if I had followed the stream?"
?CND1: PRINTI " Was there someplace else Praxix could have explored?"
RTRUE
.FUNCT ANONF-372:ANY:0:0
FSET? ELFSTREAM-1,BLUE-MIX /?CCL3
PRINTI "Perhaps I should have tried talking to the Elf, even though there was little chance of being understood."
JUMP ?CND1
?CCL3: ZERO? SPOKE-ELVISH \?CCL5
PRINTI "I might have tried speaking Elvish, though I don't know whether I could have said anything meaningful."
JUMP ?CND1
?CCL5: FSET? STORY-ELVES,SEEN \?CCL7
CALL QSET?,STORY-ELVES,USED-UP
ZERO? STACK \?CCL7
PRINTI "Thinking back, I'm certain I heard one of our party saying some Elvish words; clearly, I should have paid closer attention."
RTRUE
?CCL7: FSET? STORY-ELVES,SEEN \?CCL11
PRINTI "I believe Hurth said something about his meeting the Elves. What strikes me is that his father, Agrith, was their friend. Was there any way I could tell them that I was a friend of Agrith?"
JUMP ?CND1
?CCL11: CALL QSET?,STORY-ELVES,USED-UP
ZERO? STACK \?CCL13
PRINTI "I don't believe I heard any of our party speaking Elvish, so I can't see how I could have communicated with the Elf. It's possible, of course, that either Praxix or Hurth might have known the language, but nothing they said indicated it."
RTRUE
?CCL13: PRINTI "I wonder if Hurth knew any stories about the Elves that would have helped me communicate with them."
?CND1: CALL2 UPDATE-REMOVE,HINT-ELF-SPEAK
RSTACK
.FUNCT ANONF-373:ANY:0:0
FSET? LAKE-POOL,SEEN /?CCL3
PRINTI "I do not know why we failed to explore the area around the lake for clues to "
ICALL2 WPRINTD,LAKE-VICTIM
PRINTI "'s disappearance."
JUMP ?CND1
?CCL3: FSET? UL-2,SEEN /?CCL5
PRINTI "I do not understand our hesitation to more fully explore the cave and the pool we had found within it."
JUMP ?CND1
?CCL5: ZERO? NYMPHS-COMING? /?CCL7
FSET? UL-2,TRIED /?CCL7
PRINTI "If only I could have avoided the strange creatures that had captured "
ICALL2 WPRINTD,LAKE-VICTIM
PRINTI ". I may have inadvertantly worsened my chances by allowing myself to have been seen by one of them earlier."
JUMP ?CND1
?CCL7: ZERO? NYMPHS-COMING? /?CCL11
PRINTI "If I had explored more quickly, I might have averted discovery by the creatures that had captured "
ICALL2 WPRINTD,LAKE-VICTIM
PRINTC 46
JUMP ?CND1
?CCL11: PRINTI "Perhaps if I had allowed more time for "
ICALL2 WPRINTD,LAKE-VICTIM
PRINTI " to have regained consciousness, I could have rescued him."
?CND1: CALL2 UPDATE-MOVE,HINT-LAKE
RSTACK
.FUNCT ANONF-374:ANY:0:0
FSET? UL-TREASURY,SEEN /?CCL3
PRINTI "Perhaps I should have spend more time exploring the Nymphs' world."
JUMP ?CND1
?CCL3: FSET? NYMPH-STONE,TRIED /?CCL5
PRINTI "Knowing that we needed the Nymph Stone, why did I not try to take it when I had the chance?"
JUMP ?CND1
?CCL5: FSET? UL-TREASURY,SCOUTED \?CCL7
CALL QSET?,HINT-NYMPH-STONE,BLUE-MIX
ZERO? STACK \?CCL7
PRINTI "I could not remove the Nymph Stone by normal means; was there another way?"
RTRUE
?CCL7: FSET? UL-PIT,TORCHBIT \?CCL11
PRINTI "Exploration of the Nymphs' world would have been easier with a portable light source. But I didn't try taking all of the torches!"
JUMP ?CND1
?CCL11: FSET? UL-2-PIT,SCOUTED /?CCL13
FSET? UL-TREASURY-PIT,SCOUTED /?CCL13
PRINTI "I wonder at the significance of the circular stone pieces. Could they have been moved?"
JUMP ?CND1
?CCL13: ZERO? UL-DROPPED \?CCL17
PRINTI "What was the meaning of the pits? I couldn't find out where they led, or could I?"
JUMP ?CND1
?CCL17: PRINTI "I think I was on the right track when I tried dropping things into the pools. Where did they lead?"
?CND1: CALL2 UPDATE-REMOVE,HINT-NYMPH-STONE
RSTACK
.FUNCT ANONF-375:ANY:0:0
ICALL2 UPDATE-REMOVE,HINT-ELVES
FSET? FOREST-FIRE,TRIED \?CCL3
PRINTI "It is unfortunate that Praxix hadn't enough water essence to put out the Elves' fire. Perhaps there was more water essence to be found, or less that could have been used earlier?"
RTRUE
?CCL3: FSET? FOREST-FIRE,SEEN \?CCL5
PRINTI "I regret that, in our haste to find Astrix, we did not try to help the Elves try to contain the great fire that burned to the north."
RTRUE
?CCL5: FSET? ESSENCE-WATER,SCOUTED /?CCL7
PRINTI "We would have helped the Elves if it were possible, but it seemed we had no means to accomplish the task."
RTRUE
?CCL7: PRINTI "I suppose we could have helped the Elves with their fire; perhaps Praxix had some reason for standing by and doing nothing."
RTRUE
.FUNCT ANONF-376:ANY:0:0
CALL QSET?,HINT-ORC-FIGHT,BLUE-MIX
ZERO? STACK \?CCL3
PRINTI "Did we fight to our best advantage? I think not."
RTRUE
?CCL3: FSET? ORC-FIGHT,SEEN /?CCL5
PRINTI "Perhaps things would have gone differently if we had gained the element of surprise by sending one of our party to flank the orcs."
JUMP ?CND1
?CCL5: FSET? ORC-FIGHT,BLUE-MIX \?CCL7
PRINTI "Sending one of our party to flank the orcs was a good move, but its effect would have been greater if we had thought of it earlier."
JUMP ?CND1
?CCL7: ZERO? ORC-FIGHT-SPELL \?CCL9
PRINTI "Even with the element of surprise, we were not strong enough for the orcs. Maybe Praxix' magic could have helped things along."
JUMP ?CND1
?CCL9: PRINTI "The right spell might have made all the difference in our fight with the orcs - something to slow them down perhaps. But what?"
?CND1: CALL2 UPDATE-REMOVE,HINT-ORC-FIGHT
RSTACK
.FUNCT HINT-MAP:ANY:0:0
FSET? WEBBA-MAP,INCAPACITATED \?CCL3
PRINTI "The map had been rendered useless; if only we had found a better way out of the underground tunnel!"
JUMP ?CND1
?CCL3: FSET? WEBBA-MAP,SOLVED \?CCL5
IN? WEBBA-MAP,INVENTORY \?CCL5
PRINTI "I don't understand why we didn't examine Webba's map more often. Perhaps it would have helped show the way to Astrix."
JUMP ?CND1
?CCL5: FSET? WEBBA-MAP,USED-UP \?CCL9
IN? WEBBA-MAP,INVENTORY \?CCL9
PRINTI "I fear there is something we missed in Webba's explanation of the circumstances surrounding his acquisition of the mysterious map we purchased."
JUMP ?CND1
?CCL9: IN? WEBBA-MAP,INVENTORY \?CCL13
PRINTI "We never did find out what the strange runes on the map we bought at Webba's meant. Perhaps if we had spoken to him, he would have explained."
JUMP ?CND1
?CCL13: PRINTI "I don't know how we might have avoided the grizzly scene at the Sunrise Mountain. We had no map, and all paths looked similar. Perhaps it was unavoidable."
?CND1: CALL2 UPDATE-REMOVE,ACTION-OBJECT
RSTACK
.FUNCT ANONF-377:ANY:0:0
FSET? HINT-ALLERGY,BLUE-MIX \?CCL3
PRINTI "I don't believe we could have saved Hurth from the illness that caused his death. If only Esher or Praxix had been there, I feel there would have been a chance of saving him."
JUMP ?CND1
?CCL3: FSET? HURTH-OBJECT,BLACK-MIX /?CCL5
PRINTI "Why didn't Esher examine Hurth? After all, he was a physician, even if he wasn't knowledgable about Dwarvish illnesses."
JUMP ?CND1
?CCL5: CALL QSET?,HINT-ALLERGY,BLACK-MIX
ZERO? STACK \?CCL7
PRINTI "Esher had no potion, herb, or root that could help him, but perhaps one could have been found earlier in our travels."
RTRUE
?CCL7: PRINTI "It occurs to me that the underground tunnel in the forest, with all of its mysterious growths, might have been worth examining more closely."
?CND1: CALL2 UPDATE-REMOVE,HINT-ALLERGY
RSTACK
.FUNCT ANONF-378:ANY:0:0
ICALL2 UPDATE-REMOVE,HINT-EVIL-CAVERN
FSET? DARK-EVIL-CAVERN,SEEN /?CCL3
PRINTI "Exploration was always vital in our quest; why, then, did we never finish exploring the Dwarven caverns past the stairs?"
RTRUE
?CCL3: PRINTI "It was a relief to get away from the dark, evil presence we felt in the Dwarven caverns. Yet we turned back with great haste, not fully exploring what lay ahead. Perhaps there was nothing but evil to be found, but, then again, who can say?"
RTRUE
.FUNCT ANONF-379:ANY:0:0
ZERO? A-B-FLAG \?CCL3
PRINTI "Perhaps taking the northern path in the forest would have prevented us from walking into the orcs' trap."
CALL2 UPDATE-REMOVE,HINT-ORC-TRAP
RSTACK
?CCL3: FSET? MINE-JUNCTION,SEEN /?CCL5
PRINTI "Why we did not fully explore the lower chambers remains a mystery."
CALL2 UPDATE-REMOVE,HINT-ORC-TRAP
RSTACK
?CCL5: CALL QSET?,ACTIVE-MINE,SOLVED
ZERO? STACK \?CCL7
PRINTI "We never did discover the meaning of the tapping sounds in the mine. It may have been worthwhile to check them out again."
RTRUE
?CCL7: FSET? RED-ROCK,SOLVED \?CCL9
PRINTI "I'm certain the red rock I recovered from the mine was the key to the miner's disappearances! Could we have used it to save "
ICALL2 WPRINTD,TRAP-VICTIM
PRINTI " from the orcs?"
FSET? RED-ROCK,DEAD /?CND10
PRINTI " I think I had the rocks with me, though I would have had to check my inventory to be sure."
?CND10: CALL2 UPDATE-REMOVE,HINT-ORC-TRAP
RSTACK
?CCL9: IN? RED-ROCK,ACTIVE-MINE /?CCL13
PRINTI "Did we fail to pay close enough attention to the mine itself; did we examine everything?"
CALL2 UPDATE-REMOVE,HINT-ORC-TRAP
RSTACK
?CCL13: PRINTI "The miner surely knew many things. Did we ask him enough questions?"
CALL2 UPDATE-REMOVE,HINT-ORC-TRAP
RSTACK
.FUNCT ANONF-380:ANY:0:0
FSET? REAGENT,SOLVED \?CCL3
PRINT MIXTURE-HELPFUL?
CALL2 UPDATE-REMOVE,HINT-VAULT
RSTACK
?CCL3: CALL QSET?,HINT-VAULT,EXAMINED
ZERO? STACK \?CCL5
PRINT BGR-NOT-FOUND
RTRUE
?CCL5: CALL2 HINT-REAGENT,HINT-VAULT
RSTACK
.FUNCT ANONF-381:ANY:0:0
FSET? REAGENT,SOLVED \?CCL3
PRINT MIXTURE-HELPFUL?
CALL2 UPDATE-REMOVE,HINT-WOUNDS
RSTACK
?CCL3: CALL QSET?,HINT-WOUNDS,EXAMINED
ZERO? STACK \?CCL5
PRINT BGR-NOT-FOUND
RTRUE
?CCL5: CALL2 HINT-REAGENT,HINT-WOUNDS
RSTACK
.FUNCT ANONF-382:ANY:0:0
FSET? REAGENT,SOLVED \?CCL3
CALL QSET?,HINT-STONES,SEEN
ZERO? STACK \?CCL3
PRINTI "I don't know for certain, but I suspect that one of the Stones was hidden in the pile Praxix found in the castle dungeon. It would take forever, I suppose, to have looked at every one, and even then, how would it be distinguished? Was there some magic in Praxix' possession that might have revealed it to him?"
RTRUE
?CCL3: FSET? REAGENT,SOLVED \?CCL7
PRINT MIXTURE-HELPFUL?
CALL2 UPDATE-REMOVE,HINT-STONES
RSTACK
?CCL7: CALL QSET?,HINT-STONES,EXAMINED
ZERO? STACK \?CCL9
PRINT BGR-NOT-FOUND
RTRUE
?CCL9: CALL2 HINT-REAGENT,HINT-STONES
RSTACK
.FUNCT HINT-REAGENT:ANY:1:1,H
FSET? HIGH-PLAIN,SCOUTED /?CCL3
PRINTI "I think back, trying to piece together what we never explored, what things we might have done. And then I think of that high ridge in the mountains, high above the lake. We left there abruptly; was there more to be seen there?"
CALL2 REMOVE-HINT-REAGENT,H
RSTACK
?CCL3: CALL QSET?,HERMIT-HUT,SCOUTED
ZERO? STACK \FALSE
PRINTI "And what of the hut and the hermit that lived inside? Did we explore it? Did we learn what secrets may lie inside?"
CALL2 REMOVE-HINT-REAGENT,H
RSTACK
.FUNCT REMOVE-HINT-REAGENT:ANY:1:1,H
CALL2 UPDATE-REMOVE,H
RSTACK
.FUNCT ANONF-383:ANY:0:0
CALL QSET?,HINT-GATE-RUNES,BLUE-MIX
ZERO? STACK \?CCL3
PRINTI "Perhaps Praxix should have paid more attention to the runes above the gate."
FSET? GATE-RUNES,SEEN /TRUE
ICALL2 UPDATE-REMOVE,HINT-GATE-RUNES
RTRUE
?CCL3: PRINTI "On the other hand, it is possible that Praxix didn't know as much about the Wizards' language as he said he did, having studied only a dictionary."
CALL2 UPDATE-REMOVE,HINT-GATE-RUNES
RSTACK
.FUNCT ANONF-384:ANY:0:0
FSET? MILL-MACHINERY,EXAMINED /?CCL3
PRINTI "Why wasn't the mill examined more closely? Perhaps something would have been revealed."
JUMP ?CND1
?CCL3: FSET? XFER-JCN,SEEN /?CCL5
PRINTI "It is unfortunate that Praxix did not explore the area within the mill mechanism, for he might have found something useful there."
JUMP ?CND1
?CCL5: FSET? XFER-MASTER,SEEN \?CTR6
FSET? XFER-1,SEEN /?CCL7
?CTR6: PRINTI "From what he told us, there was more within the mill's mechanism for Praxix to have explored."
JUMP ?CND1
?CCL7: FSET? XFER-CONTROLS,EXAMINED /?CCL11
PRINTI "Praxix may indeed have explored the mill, but I suspect there is more he could have done while inside its mechanism - something, perhaps, that might have helped him get the essences he had seen in the walls of the first pit."
JUMP ?CND1
?CCL11: ZERO? FIDDLED-WITH-DEVICE \?CCL13
PRINTI "The device Praxix described was certainly complicated, yet he did not describe any attempt to use or manipulate it."
JUMP ?CND1
?CCL13: FSET? XFER-MASTER,SOLVED /?CCL15
CALL QSET?,HINT-MILL,BLUE-MIX
ZERO? STACK \?CCL15
PRINTI "Praxix found six runes on each of the dials, yet there was no clue as to what, if anything, those runes represented. There were only three pits, of course, yet the passage beside the third was blocked. Might have there been more pits behind the rockslide?"
RTRUE
?CCL15: FSET? XFER-MASTER,SOLVED /?CCL19
CALL QSET?,HINT-MILL,GRAY-MIX
ZERO? STACK \?CCL19
PRINTI "This is all idle speculation. Even if there were six pits altogether, how could it be possible to identify a particular rune with a particular pit?"
RTRUE
?CCL19: FSET? XFER-MASTER,SOLVED /?CCL23
CALL QSET?,HINT-MILL,BLACK-MIX
ZERO? STACK \?CCL23
PRINTI "The pits were not marked in any manner, or were they?"
RTRUE
?CCL23: FSET? XFER-MASTER,SOLVED /?CCL27
PRINTI "Praxix noted that the entire area around the pits was covered with a thick layer of grime or dust of some sort. Perhaps there were markings underneath the dirt!"
JUMP ?CND1
?CCL27: FSET? XFER-3,SCOUTED \?CCL29
CALL QSET?,HINT-MILL,SCOUTED
ZERO? STACK \?CCL29
PRINTI "Praxix certainly found an expensive way to escape from the mill's mechanism, and the loss of magical essences was difficult to compensate for. If Praxix had understood the device in the control room better, perhaps he might have reached us without using his magic."
RTRUE
?CCL29: FSET? XFER-3,TRAPPED \?CCL33
PRINTI "Somehow, Praxix would have needed to know which symbol corresponded to that third pit without using himself as the guinea pig. But how?"
JUMP ?CND1
?CCL33: PRINTI "Praxix determined that two of the pits corresponded with two of the runes on the dials in the control room. Perhaps setting the dials to these two runes and pushing the button would have revealed the nature of the device itself."
?CND1: CALL2 UPDATE-REMOVE,HINT-MILL
RSTACK
.FUNCT ANONF-385:ANY:0:0
ZERO? XFER-TRAP /?CCL3
CALL QSET?,HINT-MILL-TRAPPED,BLUE-MIX
ZERO? STACK \?CCL3
PRINTI "Perhaps Praxix should have learned more about the workings of the device before using it himself."
RTRUE
?CCL3: ZERO? XFER-TRAP /?CCL7
GETP HINT-MILL,P?ACTION
ICALL STACK
JUMP ?CND1
?CCL7: FSET? XFER-3-ANTE,SEEN \?CCL9
CALL QSET?,HINT-MILL-TRAPPED,GRAY-MIX
ZERO? STACK \?CCL9
PRINTI "It was clear to Praxix that there was light pouring into the bottom of the third pit. Perhaps that was an exit to the mill's inner mechanism."
RTRUE
?CCL9: FSET? XFER-3-ANTE,SEEN \?CCL13
PRINTI "Since jumping was out of the question, Praxix had few choices. One spell, though, comes to mind, although its use would be somewhat ironic under the circumstances. Otherwise, Praxix had little choice unless he could somehow make the mechanism work to his advantage."
JUMP ?CND1
?CCL13: PRINTI "If Praxix had looked some more before he leaped, perhaps he would not have become trapped beneath the mill."
?CND1: CALL2 UPDATE-REMOVE,HINT-MILL-TRAPPED
RSTACK
.FUNCT ANONF-386:ANY:0:0
FSET? REAGENT,SOLVED \?CCL3
PRINTI "It is a great tragedy that Hurth died in the old mine. Was it worth it? Did we really need more of that magical reagent?"
CALL2 UPDATE-REMOVE,HINT-OLD-MINE
RSTACK
?CCL3: CALL QSET?,HINT-OLD-MINE,SEEN
ZERO? STACK \?CCL5
PRINTI "I do not see how this tragedy could have been avoided. If we were to get the reagent we needed, what alternative did we have?"
CALL2 UPDATE-REMOVE,HINT-OLD-MINE
RSTACK
?CCL5: CALL2 HINT-REAGENT,HINT-OLD-MINE
RSTACK
.FUNCT ANONF-387:ANY:0:0
ICALL2 UPDATE-REMOVE,HINT-TAVERN
FSET? TAVERN-OTHER-TABLE,DEAD \?CCL3
PRINTI "It is a shame that we ran out of the red rocks that I had found in the mines. Perhaps we used them carelessly."
RTRUE
?CCL3: FSET? TAVERN-OTHER-TABLE,EXAMINED /?CCL5
PRINTI "There was not much going on in the tavern, to be sure. Yet we did not check out the other customers in any way."
RTRUE
?CCL5: FSET? ZAN-TAVERN,SOLVED /?CCL7
PRINTI "If only we knew what the people at the other table were saying - for surely, they were talking about us! It would have been far too dangerous to simply walk up to them, but I wonder...."
RTRUE
?CCL7: PRINTI "I know it is impolite, yet I wished I had spent more time eavesdropping on the other table in the tavern."
RTRUE
.FUNCT HINT-MURDER:ANY:0:0
CALL QSET?,ACTION-OBJECT,SEEN
ZERO? STACK \?CCL3
PRINTI "We were warned by Astrix to be careful in Zan; clearly, someone knew we were coming and knew how to find us."
RTRUE
?CCL3: PRINTI "How did they know we'd be staying at the "
EQUAL? ACTION-OBJECT,HINT-INN \?CCL6
PRINTI "inn"
JUMP ?CND4
?CCL6: PRINTI "campground"
?CND4: PRINTI "? "
FSET? INN,SEEN \?CCL9
PRINTI "They asked at the inn, of course. We should have known not to trust the innkeeper; knowing now what I did not know then, I'm sure we could have fooled them."
JUMP ?CND7
?CCL9: PRINTI "They may have checked at the inn and found out we were not staying there. I suppose it would not have been hard to figure out that we had camped outside of town."
?CND7: CALL2 UPDATE-REMOVE,ACTION-OBJECT
RSTACK
.FUNCT ANONF-388:ANY:0:0
CALL QSET?,HINT-JAIL,SEEN
ZERO? STACK \?CCL3
PRINTI "We were trapped in the jail with no escape possible. There is no one to blame, nothing we could have done."
RTRUE
?CCL3: FSET? GRAY-STONE,SOLVED \?CCL5
PRINTI "I wonder about the gray reagent we had bought. Could some mixture have helped us? If so, we would have done better to experiment before getting caught!"
JUMP ?CND1
?CCL5: FSET? CURIO-SHOP,SCOUTED /?CCL7
PRINTI "And yet, we did not explore everywhere in town. Not the curio shop, at any rate."
JUMP ?CND1
?CCL7: FSET? GRAY-STONE,TRAPPED \?CCL9
PRINTI "But why was Praxix so ornery; why didn't he ask to see some of the things that were for sale in the curio shop? There might have been something useful there."
JUMP ?CND1
?CCL9: FSET? GRAY-STONE,EXAMINED /?CCL11
PRINTI "Alas that we did not try to buy the gray stone. Later, Praxix confided that it was a magical reagent, and its magic could have helped us."
JUMP ?CND1
?CCL11: CALL QSET?,HINT-JAIL,SOLVED
ZERO? STACK \?CCL13
PRINTI "Alas that we had nothing to trade for the gray stone. It was certainly a magical reagent, and might have helped us escape from jail."
RTRUE
?CCL13: FSET? STAIR-CHASM,SEEN /?CCL15
PRINTI "I think back to all we had accomplished, everything we had seen: was there any place we did not explore? Yes! The left stair in the caverns; but now I will never know what lay along that path."
JUMP ?CND1
?CCL15: FSET? FAR-CHASM,SEEN /?CCL17
PRINTI "The chasm between the broken stairs! I don't know why, but it occurs to me that we never found a way across. Could that have helped?"
JUMP ?CND1
?CCL17: FSET? SUNSET-TOWER,SOLVED /?CCL19
PRINTI "The Sunset Tower: why do I feel that we have missed simething there? Was there something hidden there?"
JUMP ?CND1
?CCL19: PRINTI "The spyglass! Of course! Praxix said it was a priceless treasure!"
?CND1: CALL2 UPDATE-REMOVE,HINT-JAIL
RSTACK
.FUNCT ANONF-389:ANY:0:0
CALL QSET?,HINT-MAGIC,BLUE-MIX
ZERO? STACK \?CCL3
PRINTI "The fearsome demon was our final undoing. If I had only come up with the proper mixture! And yet I am certain that I had seen or heard things that could have helped me discover the relationship between the spells and their colors. But what?"
RTRUE
?CCL3: FSET? TALE-MAGIC,EXAMINED /?CCL5
PRINTI "First of all, I never had Praxix tell me about magic - that certainly would have been useful!"
CALL2 UPDATE-REMOVE,HINT-MAGIC
RSTACK
?CCL5: CALL QSET?,HINT-MAGIC,GRAY-MIX
ZERO? STACK \?CCL7
PRINTI "Yes, I recall having noted the color on Praxix' hands after casting 'Flare' to get us through the snaketrees. And now that I think of it, there were other times as well."
RTRUE
?CCL7: PRINTI "The solution should be obvious; between what Praxix said to me about magic and the colors I had seen on his fingers, all I needed was a little common sense."
CALL2 UPDATE-REMOVE,HINT-MAGIC
RSTACK
.FUNCT ANONF-390:ANY:0:0
FSET? BLACK-REAGENT,SEEN /?CCL3
PRINTI "It was foolish to attempt to get past the mudwargs. Why didn't we stay with Umber and seek his advice?"
JUMP ?CND1
?CCL3: ZERO? BLACK-COUNT /?CCL5
PRINTI "The black reagent frightened Praxix, I am sure. Nevertheless, he might have experimented more with the various combinations of mixtures."
JUMP ?CND1
?CCL5: PRINTI "I will never understand why Praxix never experimented with the black reagent. Perhaps he had his reasons, but I have never understood what they could be."
?CND1: CALL2 UPDATE-REMOVE,HINT-MUDWARGS
RSTACK
.FUNCT HAVE-YOU-EVER-TRIED?:ANY:0:0,F
PRINTI "At the end of the account of the Journey, the following was written in "
ICALL1 WPRINTTAG
PRINTI "'s hand."
CRLF
CRLF
PRINTI "I wonder what would have happened if..."
CRLF
FIRST? HAVE-YOU-EVER >F /?BOGUS1
?BOGUS1: CRLF
PRINTI "... "
GETP F,P?SOLUTION
PRINT STACK
REMOVE F
FIRST? HAVE-YOU-EVER \?CCL4
CALL CHANGE-TRAVEL-COMMAND,HERE,MUSINGS-COMMAND,MORE-COMMAND
RSTACK
?CCL4: CALL REMOVE-TRAVEL-COMMAND,HERE,MUSINGS-COMMAND
RSTACK
.FUNCT V-MORE:ANY:0:0,F
FIRST? HAVE-YOU-EVER >F /?BOGUS1
?BOGUS1: PRINTI "... "
GETP F,P?SOLUTION
PRINT STACK
REMOVE F
FIRST? HAVE-YOU-EVER /TRUE
ICALL1 REMOVE-TRAVEL-COMMAND
RTRUE
.ENDSEG
.ENDI

1104
hints.zil Normal file

File diff suppressed because it is too large Load diff

192
input.zabstr Normal file
View file

@ -0,0 +1,192 @@
<FLAGS-AND-DEFAULTS (("DEBUGGING" %<>)) ()>
<BEGIN-SEGMENT 0>
<CONSTANT THICK-V-LINE 57>
<CONSTANT THIN-V-LINE 41>
<CONSTANT H-LINE 39>
<CONSTANT D-RECORD-ON 4>
<CONSTANT D-RECORD-OFF -4>
<CONSTANT D-COMMAND-FILE 1>
<CONSTANT DELETE-KEY 127>
<CONSTANT BACK-SPACE 8>
<CONSTANT SPACE-BAR 32>
<CONSTANT UP-ARROW 129>
<CONSTANT DOWN-ARROW 130>
<CONSTANT LEFT-ARROW 131>
<CONSTANT RIGHT-ARROW 132>
<CONSTANT SINGLE-CLICK 254>
<CONSTANT DOUBLE-CLICK 253>
<GLOBAL COMMAND-WIDTH-PIX 0>
<GLOBAL NAME-WIDTH-PIX 0>
<GLOBAL NAME-RIGHT 0>
<GLOBAL LONG-ARROW-WIDTH 0>
<GLOBAL SHORT-ARROW-WIDTH 0>
<GLOBAL NO-ARROW-WIDTH 0>
<SETG COMPADSTR <ISTRING <- ,COMMAND-WIDTH 1> !\ >>
<SETG NAMPADSTR <ISTRING <- ,NAME-WIDTH 1> !\ >>
<DEFINE COMPAD (STR "OPTIONAL" (PSTR ,COMPADSTR) "AUX" (LEN <LENGTH .STR>) (
CLEN <LENGTH .PSTR>)) <COND (<G? .LEN .CLEN> <SET STR <SUBSTRUC .STR 0 .CLEN>>
<SET LEN .CLEN>)> <STRING .STR <REST .PSTR .LEN>>>
<ZSTART GO>
<CONSTANT MINUS-ONE -1>
<GLOBAL DAY 0>
<DEFINE-ROUTINE NEXT-DAY>
<OBJECT TRAVEL-MODE (ACTION P?TRAVEL-COMMANDS)>
<OBJECT PROVISION-MODE (ACTION P?PROVISION-COMMANDS)>
<OBJECT FIGHT-MODE (ACTION P?FIGHT-COMMANDS) (MODE-COMMANDS COMBAT-COMMAND
RETREAT-COMMAND PARLEY-COMMAND NUL-COMMAND)>
<OBJECT OPTION-MODE (ACTION P?OPTION-COMMANDS) (MODE-COMMANDS NUL-COMMAND
NUL-COMMAND NUL-COMMAND NUL-COMMAND)>
<GLOBAL PARTY-MODE 0>
<GLOBAL PARTY-MODE-PROPERTY 0>
<GLOBAL NUL-CHARACTER-INPUT <TABLE NUL-COMMAND NUL-COMMAND NUL-COMMAND>>
<GLOBAL CHARACTER-INPUT-TBL <LTABLE <TABLE 0 0 0> <TABLE 0 0 0> <TABLE 0 0 0> <
TABLE 0 0 0> <TABLE 0 0 0>>>
<GLOBAL SUBGROUP-MODE <>>
<GLOBAL MODE-ENTRANCE-FLAG <>>
<DEFINE-ROUTINE FILL-CHARACTER-TBL>
<DEFINE-ROUTINE VALID-OPTION>
<DEFINE-ROUTINE MODE>
<DEFINE-ROUTINE INIT-SCREEN>
<DEFINE-ROUTINE TEXT-WIDTH>
<DEFINE-ROUTINE BLANK-LINE>
<DEFINE-ROUTINE FONT3-LINE>
<CONSTANT CURGET-TABLE <TABLE 0 0>>
<DEFINE-ROUTINE REFRESH-CHARACTER-COMMAND-AREA>
<DEFINE-ROUTINE FIXED-SPACE>
<GLOBAL MAC-SPECIAL-MENU <LTABLE <TABLE (STRING LENGTH) "Journey"> <TABLE (
STRING LENGTH) "Essences"> <TABLE (STRING LENGTH) "No Defaults">>>
<CONSTANT MSM-NO-DEFAULTS <TABLE (STRING LENGTH) "No Defaults">>
<CONSTANT MSM-DEFAULTS <TABLE (STRING LENGTH) "Defaults">>
<DEFINE-ROUTINE GET-CURSOR>
<DEFINE-ROUTINE ERASE-COMMAND>
<DEFINE-ROUTINE BOLD-CURSOR>
<DEFINE-ROUTINE NORMAL-ALL>
<DEFINE-ROUTINE NORMAL-CURSOR>
<GLOBAL MOUSETBL <TABLE 0 0>>
<DEFINE-ROUTINE GMSLOCX>
<LOWCORE MSLOCX %<> T>
<LOWCORE MSLOCX %<> T>
<DEFINE-ROUTINE GMSLOCY>
<LOWCORE MSLOCY %<> T>
<LOWCORE MSLOCY %<> T>
<DEFINE-ROUTINE LOCATE-MOUSE>
<DEFINE-ROUTINE PARTY-INPUT>
<DEFINE-ROUTINE F-P-C>
<DEFINE-ROUTINE FIRST-PARTY>
<DEFINE-ROUTINE FIRST-SUBGROUP>
<DEFINE-ROUTINE PARTY-KBD-COMMAND?>
<DEFINE-ROUTINE CHARACTER-KBD-COMMAND?>
<DEFINE-ROUTINE OBJECT-KBD-COMMAND?>
<GLOBAL SAVED-PCM 0>
<GLOBAL SAVED-PCF 0>
<GLOBAL SAVED-CLICK 0>
<CONSTANT DEFAULT-CHR 2>
<GLOBAL NEW-DEFAULT-FLAG <>>
<GLOBAL F-KEY-TBL <LTABLE V-SAVE V-RESTORE V-SAFE-START-OVER V-SAFE-QUIT
V-SCRIPT V-REFRESH V-VERSION>>
<GLOBAL MOUSE-MENU-TBL <LTABLE MOUSE-SAVE MOUSE-RESTORE V-NUL V-SCRIPT V-NUL
V-RESTART V-QUIT V-NUL>>
<GLOBAL MOUSE-JOURNEY-MENU-TBL <LTABLE MENU-ESSENCES MENU-NO-DEFAULTS>>
<GLOBAL NO-DEFAULTS <>>
<DEFINE-ROUTINE MENU-NO-DEFAULTS>
<DEFINE-ROUTINE MENU-DEFAULTS>
<DEFINE-ROUTINE MENU-ESSENCES>
<DEFINE-ROUTINE MOUSE-SAVE>
<DEFINE-ROUTINE MOUSE-RESTORE>
<DEFINE-ROUTINE V-SCRIPT>
<CONSTANT F-KEY-START 132>
<CONSTANT F1 133>
<CONSTANT F2 134>
<CONSTANT F3 135>
<CONSTANT F4 136>
<CONSTANT F5 137>
<CONSTANT F6 138>
<CONSTANT F7 139>
<CONSTANT F-KEY-END 140>
<CONSTANT CONFIRM-STR "? Hit same key again to confirm]">
<DEFINE-ROUTINE V-SAFE-START-OVER>
<DEFINE-ROUTINE V-SAFE-QUIT>
<GLOBAL MOUSE-INFO-TBL <TABLE 0 0 0 0>>
<DEFINE-ROUTINE GETCHR>
<DEFINE-ROUTINE GO-TO-GAME-MODE>
<DEFINE-ROUTINE SCREEN-NEEDS-INIT>
<DEFINE-ROUTINE REFRESH-CHECK>
<DEFINE-ROUTINE REFRESH-SCREEN>
<DEFINE-ROUTINE CHARACTER-INPUT>
<DEFINE-ROUTINE C-N-D>
<DEFINE-ROUTINE CLEAR-FIELDS>
<DEFINE-ROUTINE PRINT-CHARACTER-COMMANDS>
<GLOBAL ACTOR <>>
<GLOBAL ACTION <>>
<DEFINE-ROUTINE SCENE>
<OBJECT DEFAULT-SCENE (ACTION V-NUL)>
<GLOBAL SCENE-OBJECT 0>
<DEFINE-ROUTINE PERFORM>
<GLOBAL MOVE-NUMBER 0>
<DEFINE-ROUTINE FAKE-COMMAND?>
<DEFINE-ROUTINE GAME-COMMAND?>
<DEFINE-ROUTINE PROCESS-COMMAND>
<DEFINE-ROUTINE PREP-CHECK>
<OBJECT CANCEL-OBJECT (SDESC "[cancel]") (KBD BACK-SPACE)>
<GLOBAL UPDATE-FLAG <>>
<DEFINE-ROUTINE FIND-OBJECTS>
<DEFINE-ROUTINE FIND-OBJECT>
<DEFINE-ROUTINE PRINT-COLUMNS>
<CONSTANT 12-WIDTH 71>
<CONSTANT 8-WIDTH 50>
<DEFINE-ROUTINE TAG-ROUTE-PRINT>
<DEFINE-ROUTINE ILLEGAL-COMMAND-OBJECT?>
<GLOBAL INHIBIT-MOUSE-COMMANDS <>>
<DEFINE-ROUTINE COMMAND-OBJECT-INPUT>
<GLOBAL ACTION-OBJECT <>>
<DEFINE-ROUTINE PROCESS-COMMAND-OBJECT>
<DEFINE-ROUTINE BOLD-OBJECT-CURSOR>
<DEFINE-ROUTINE NORMAL-OBJECT-CURSOR>
<DEFINE-ROUTINE BOLD-PARTY-CURSOR>
<DEFINE-ROUTINE NORMAL-PARTY-CURSOR>
<GLOBAL OPTION-ACTOR 0>
<GLOBAL OPTION-OLD-MODE 0>
<DEFINE-ROUTINE CIT>
<DEFINE-ROUTINE CHANGE-CIT>
<DEFINE-ROUTINE PARTY-PCM>
<DEFINE-ROUTINE OPTION>
<DEFINE-ROUTINE END-OPTION>
<GLOBAL O-TABLE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>>
<DEFINE-ROUTINE CHARACTER-HERE?>
<OBJECT INVENTORY>
<GLOBAL HERE <>>
<DEFINE-ROUTINE MAKE-SUBGROUP>
<DEFINE-ROUTINE CLEAR-SUBGROUP>
<DEFINE-ROUTINE MOVE-TO>
<DEFINE-ROUTINE SMART-DEFAULT>
<DEFINE-ROUTINE FILL-PARTY-COMMANDS>
<DEFINE-ROUTINE ADD-PARTY-COMMAND>
<DEFINE-ROUTINE NUL-PARTY-COMMAND>
<DEFINE-ROUTINE CHANGE-PARTY-COMMAND>
<DEFINE-ROUTINE REMOVE-PARTY-COMMAND>
<DEFINE-ROUTINE NEW-DEFAULT>
<DEFINE-ROUTINE TRAVEL-COMMANDS>
<DEFINE-ROUTINE PROVISION-COMMANDS>
<DEFINE-ROUTINE UPDATE-CHECK>
<DEFINE-ROUTINE SAVE-PROVISION-COMMANDS>
<DEFINE-ROUTINE SAVE-TRAVEL-COMMANDS>
<DEFINE-ROUTINE RESTORE-PROVISION-COMMANDS>
<DEFINE-ROUTINE RESTORE-TRAVEL-COMMANDS>
<DEFINE-ROUTINE CHANGE-TRAVEL-COMMAND>
<DEFINE-ROUTINE CHANGE-PROVISION-COMMAND>
<DEFINE-ROUTINE ADD-PROVISION-COMMAND>
<DEFINE-ROUTINE ADD-TRAVEL-COMMAND>
<DEFINE-ROUTINE FORCE-TRAVEL-COMMAND>
<DEFINE-ROUTINE TRAVEL-COMMAND?>
<DEFINE-ROUTINE REMOVE-PROVISION-COMMAND>
<DEFINE-ROUTINE REMOVE-TRAVEL-COMMAND>
<GLOBAL ACTION-PRSI <>>
<GLOBAL PRSI-PREP <>>
<DEFINE-ROUTINE PRSI-INPUT>
<OBJECT CLOCK-QUEUE>
<DEFINE-ROUTINE RUN-CLOCK>
<DEFINE-ROUTINE QUEUE>
<DEFINE-ROUTINE ADD-TO-LTABLE>
<DEFINE-ROUTINE TURN-ON-CURSOR>
<DEFINE-ROUTINE TURN-OFF-CURSOR>

2139
input.zap Normal file

File diff suppressed because it is too large Load diff

1980
input.zil Normal file

File diff suppressed because it is too large Load diff

15
intro.zabstr Normal file
View file

@ -0,0 +1,15 @@
<BEGIN-SEGMENT LAVOS>
<GLOBAL XVWRD 0>
<GLOBAL XHWRD 0>
<GLOBAL XFWRD 0>
<DEFINE-ROUTINE CHECK-RESTORE>
<DEFINE-ROUTINE GO>
<OBJECT I-INIT-RANDOM-STUFF (TIME 0) (ACTION <EXECUTE () <COND (<NOT <QSET? ,
ESSENCES ,TRIED>> <INIT-SPELLS> <INIT-RUNES>)>>)>
<DEFINE-ROUTINE ANONF-2>
<DEFINE-ROUTINE INIT-SPELLS>
<GLOBAL INTRO-PICS <LTABLE 0 G-FORK G-CANYON>>
<DEFINE-ROUTINE I-RTRUE>
<DEFINE-ROUTINE INTRO>
<CONSTANT BAD-GUY "Dread Lord">

151
intro.zap Normal file
View file

@ -0,0 +1,151 @@
.SEGMENT "LAVOS"
.FUNCT CHECK-RESTORE:ANY:0:0
?PRG1: PRINTI "Do you want to restore a saved game? "
INPUT 1
EQUAL? STACK,89,121 \TRUE
CRLF
WINATTR TEXT-WINDOW,11
RESTORE
CRLF
PRINTI "Restore failed."
CRLF
JUMP ?PRG1
.FUNCT GO:ANY:0:0
?FCN: ICALL1 CHECK-RESTORE
GET 0,19 >XFWRD
GET 0,18 >XVWRD
GET 0,17 >XHWRD
GETB 0,30 >INTERPRETER
GET 0,0
BTST STACK,4 /?CND1
SET 'H-BOLD,H-INVERSE
?CND1: SET 'HERE,START-LOC
GET PARTY,1 >LEADER
SET 'SUBGROUP-MODE,TRUE-VALUE
ICALL1 TURN-OFF-CURSOR
ICALL1 INIT-SCREEN
ICALL1 NEXT-DAY
ICALL1 INTRO
SET 'SCENE-OBJECT,DEFAULT-SCENE
ICALL2 SCENE,DEFAULT-SCENE
ICALL MODE,TRAVEL-MODE,TRUE-VALUE
ICALL1 PRINT-CHARACTER-COMMANDS
ICALL NEW-DEFAULT,1,-1
SET 'ACTION,BUSY-COMMAND
GET 0,8
BTST STACK,1 \?CND3
SET 'SCRIPTING-FLAG,TRUE-VALUE
?CND3: ICALL QUEUE,I-INIT-RANDOM-STUFF,0
ICALL1 PARTY-INPUT
JUMP ?FCN
.FUNCT ANONF-2:ANY:0:0
CALL QSET?,ESSENCES,TRIED
ZERO? STACK \FALSE
ICALL1 INIT-SPELLS
CALL1 INIT-RUNES
RSTACK
.FUNCT INIT-SPELLS:ANY:0:0,TPC,FP,F,NUM,OFF
SET 'TPC,7
PUTP SALT,P?COLOR,TAG-WHITE-POWDER
PUTP TAG-WHITE-POWDER,P?ESSENCE,SALT
FIRST? TAG-POWDERS >FP /?PRG2
?PRG2: ZERO? FP /?REP3
RANDOM TPC >NUM
FIRST? ESSENCES >F /?BOGUS7
?BOGUS7: SET 'OFF,1
?PRG8: EQUAL? OFF,NUM \?CCL12
PUTP FP,P?ESSENCE,F
PUTP F,P?COLOR,FP
REMOVE F
DEC 'TPC
NEXT? FP >FP /?PRG2
JUMP ?PRG2
?CCL12: INC 'OFF
NEXT? F >F /?PRG8
JUMP ?PRG8
?REP3: MOVE ESSENCE-EARTH,ESSENCES
MOVE ESSENCE-AIR,ESSENCES
MOVE TAG-WHITE-POWDER,TAG-POWDERS
RTRUE
.FUNCT I-RTRUE:ANY:0:0
RTRUE
.FUNCT INTRO:ANY:0:0,CHR,F
INPUT 1,1,I-RTRUE >CHR
CALL2 PICK-ONE,INTRO-PICS
ICALL2 GRAPHIC,STACK
ZERO? FONT3-FLAG /?CND1
CALL2 CHANGE-FONT,4 >F
?CND1: CRLF
EQUAL? H-BOLD,H-INVERSE /?CND3
HLIGHT H-BOLD
?CND3: ICALL2 WCENTER,STR?22
HLIGHT H-NORMAL
CRLF
ICALL2 WCENTER,STR?23
CRLF
ICALL2 WCENTER,STR?24
CRLF
CRLF
ICALL2 WCENTER,STR?25
CALL1 APPLE2?
ZERO? STACK /?CCL7
CRLF
JUMP ?CND5
?CCL7: CRLF
CRLF
?CND5: CALL1 APPLE2?
ZERO? STACK /?CCL10
ICALL2 WCENTER,STR?26
CRLF
ICALL2 WCENTER,STR?27
CRLF
CRLF
ICALL2 WCENTER,STR?28
CRLF
ICALL2 WCENTER,STR?29
JUMP ?CND8
?CCL10: ICALL2 WCENTER,STR?30
CRLF
CRLF
ICALL2 WCENTER,STR?31
?CND8: CRLF
ICALL2 WCENTER,STR?32
CRLF
CRLF
ICALL2 WCENTER,STR?33
INPUT 1
ZERO? FONT3-FLAG /?CND11
ICALL2 CHANGE-FONT,F
?CND11: CLEAR TEXT-WINDOW
EQUAL? CHR,48 /TRUE
PRINTI "It was a Golden Age, or so it now seems; and there are but a few who can recall those years, and fewer still who would not tremble to speak of what followed."
CRLF
CRLF
PRINTI "But we were younger then, and less wise. It seems strange now to think that we had never set foot outside our village when we were called upon to take part in a great adventure - that fateful Journey which changed our world forever...."
CRLF
CRLF
ZERO? FONT3-FLAG /?CND15
CALL2 CHANGE-FONT,4 >F
?CND15: ICALL2 WCENTER,STR?33
INPUT 1
ZERO? FONT3-FLAG /?CND17
ICALL2 CHANGE-FONT,F
?CND17: CLEAR TEXT-WINDOW
RTRUE
.ENDSEG
.ENDI

163
intro.zil Normal file
View file

@ -0,0 +1,163 @@
"INTRO for
JOURNEY
(c) Copyright 1988, 1989 by Infocom, Inc. All Rights Reserved."
<BEGIN-SEGMENT LAVOS>
<GLOBAL XVWRD 0>
<GLOBAL XHWRD 0>
<GLOBAL XFWRD 0>
<ROUTINE CHECK-RESTORE ()
<REPEAT ()
<TELL "Do you want to restore a saved game? ">
<COND (<EQUAL? <INPUT 1> !\Y !\y>
<CRLF>
<WINATTR ,TEXT-WINDOW *13*>
;"Disable scripting in 0 for a moment, to fool
SCREEN-NEEDS-INIT"
<RESTORE>
<TELL CR "Restore failed." CR>)
(T <RETURN>)>>>
<ROUTINE GO () ;"NOTE: this routine CANNOT have any local variables"
<CHECK-RESTORE>
<SETG XFWRD <LOWCORE FWRD>>
<SETG XVWRD <LOWCORE VWRD>>
<SETG XHWRD <LOWCORE HWRD>>
<SETG INTERPRETER <LOWCORE INTID>>
<COND (<NOT <BTST <LOWCORE ZVERSION> 4>>
;"For now..."
<SETG H-BOLD ,H-INVERSE>)>
<SETG HERE ,START-LOC>
<SETG LEADER <GET ,PARTY 1>>
<SETG SUBGROUP-MODE T> ;"No character commands initially"
<TURN-OFF-CURSOR>
<INIT-SCREEN>
<NEXT-DAY>
<INTRO>
<SETG SCENE-OBJECT ,DEFAULT-SCENE>
<SCENE ,DEFAULT-SCENE>
<MODE ,TRAVEL-MODE T>
<PRINT-CHARACTER-COMMANDS>
<NEW-DEFAULT 1 -1>
<SETG ACTION ,BUSY-COMMAND>
<COND (<BAND <LOWCORE FLAGS> 1>
<SETG SCRIPTING-FLAG T>)>
<QUEUE ,I-INIT-RANDOM-STUFF 0>
<PARTY-INPUT>
<AGAIN>>
<OBJECT I-INIT-RANDOM-STUFF
(TIME 0)
(ACTION
<EXECUTE ()
<COND (<NOT <QSET? ,ESSENCES ,TRIED>>
<INIT-SPELLS>
<INIT-RUNES>)>>)>
<ROUTINE INIT-SPELLS ("AUX" (TPC 7) FP F NUM OFF)
<PUTP ,SALT ,P?COLOR ,TAG-WHITE-POWDER>
<PUTP ,TAG-WHITE-POWDER ,P?ESSENCE ,SALT>
<SET FP <FIRST? ,TAG-POWDERS>>
<REPEAT ()
<COND (<NOT .FP> <RETURN>)
(T
<SET NUM <RANDOM .TPC>>
<SET F <FIRST? ,ESSENCES>>
<SET OFF 1>
<REPEAT ()
<COND (<EQUAL? .OFF .NUM>
<PUTP .FP ,P?ESSENCE .F>
<PUTP .F ,P?COLOR .FP>
<REMOVE .F>
<RETURN>)
(T
<SET OFF <+ .OFF 1>>
<SET F <NEXT? .F>>)>>
<SET TPC <- .TPC 1>>
<SET FP <NEXT? .FP>>)>>
<MOVE ,ESSENCE-EARTH ,ESSENCES>
<MOVE ,ESSENCE-AIR ,ESSENCES>
<MOVE ,TAG-WHITE-POWDER ,TAG-POWDERS>>
<GLOBAL INTRO-PICS <LTABLE 0 G-FORK G-CANYON>>
<ROUTINE I-RTRUE () <RTRUE>>
<ROUTINE INTRO ("AUX" CHR F)
;"Get randomness going..."
<SET CHR <INPUT 1 1 ,I-RTRUE>>
<GRAPHIC <PICK-ONE ,INTRO-PICS>>
;<TELL "Font width: " N ,CHRH CR
"Command width: " N ,COMMAND-WIDTH CR
" in pix: " N ,COMMAND-WIDTH-PIX CR
"Name width: " N ,NAME-WIDTH CR
" in pix: " N ,NAME-WIDTH-PIX CR
"Party commands: " N , PARTY-COMMAND-COLUMN CR
"Name column: " N ,NAME-COLUMN CR
"Chr commands: " N ,CHR-COMMAND-COLUMN CR
"Command objects: " N ,COMMAND-OBJECT-COLUMN CR>
;<DIROUT 3 ,CENTER-TABLE>
;<TELL "Chg Name">
;<DIROUT -3>
;<TELL "Chg Name: " N <LOWCORE TWID>>
;<INPUT 1>
;<COND (<EQUAL? ,INTERPRETER ,INT-2C ,INT-2E>
<GRAPHIC ,G-FOREST>
;"Something in segment 0")
(T
<GRAPHIC <PICK-ONE ,INTRO-PICS>>)>
<COND (,FONT3-FLAG <SET F <CHANGE-FONT 4>>)>
<TELL CR ;CR>
<COND (<NOT <EQUAL? ,H-BOLD ,H-INVERSE>>
<HLIGHT ,H-BOLD>)>
<WCENTER "JOURNEY">
<HLIGHT ,H-NORMAL>
<TELL CR>
<WCENTER "Part One of">
<TELL CR>
<WCENTER "The Golden Age Trilogy">
<TELL CR CR>
<WCENTER "Created by Marc Blank">
<COND (<APPLE2?>
;"Added 5/24 for fencepost on initial screen..."
<TELL CR>)
(T
<TELL CR CR>)>
<COND (<APPLE2?>
<WCENTER "Illustrations by">
<TELL CR>
<WCENTER "Donald Langosy">
<TELL CR CR>
<WCENTER "Copyright (c) 1988, 1989">
<TELL CR>
<WCENTER "Infocom, Inc.">)
(T
<WCENTER "Illustrations by Donald Langosy">
<TELL CR CR>
<WCENTER "Copyright (c) 1988, 1989 Infocom, Inc.">)>
<TELL CR>
<WCENTER "All rights reserved.">
<TELL CR CR>
<WCENTER "[Press any key to begin]">
<TELL MORE>
<COND (,FONT3-FLAG <CHANGE-FONT .F>)>
<TELL CLEAR>
<COND (<EQUAL? .CHR !\0>
<RTRUE>)>
<TELL
"It was a Golden Age, or so it now seems; and there are but a few who can
recall those years, and fewer still who would not tremble to speak of what
followed." CR CR>
<TELL
"But we were younger then, and less wise. It seems strange now to think
that we had never set foot outside our village when we were called upon to
take part in a great adventure - that fateful Journey which changed our
world forever...." CR CR>
<COND (,FONT3-FLAG <SET F <CHANGE-FONT 4>>)>
<WCENTER "[Press any key to begin]">
<TELL MORE>
<COND (,FONT3-FLAG <CHANGE-FONT .F>)>
<TELL CLEAR>>
<CONSTANT BAD-GUY "Dread Lord">

5
island.zabstr Normal file
View file

@ -0,0 +1,5 @@
<BEGIN-SEGMENT BOAT>
<DEFINE-ROUTINE ISLAND-ENDING>
<CONSTANT IT-IS-I-ASTRIX
"\"Yes,\" the familiar voice said warmly, \"It is I, Astrix.\"">

96
island.zap Normal file
View file

@ -0,0 +1,96 @@
.SEGMENT "BOAT"
.FUNCT ISLAND-ENDING:ANY:0:0
PRINTI "We stepped off the boat, and onto the shore. The sky was a brilliant blue, and not a cloud could be seen. Before us, high upon a hill, stood a grand castle, whose turrets and spires rose hundreds of feet into the air. Our steps were quick and light as we climbed the winding path that led to the castle door."
CRLF
CRLF
EQUAL? PARTY-MAX,5 \?CCL3
ICALL2 GRAPHIC,G-ALMOST
PRINTI "Even as we arrived at the threshold, the door opened, and we were greeted by a hooded man in a blue and silver robe. He stood a while in silence then removed his cloak, revealing a familiar face."
CRLF
CRLF
PRINT IT-IS-I-ASTRIX
CRLF
CRLF
PRINTI "And then Astrix led us into a large and elegant chamber, in the center of which stood a table. Around the table sat six figures; each, like Astrix, in robes of blue and silver. But there was something unearthly about them, and their very forms seemed to shimmer and dance in the reflected sunlight."
CRLF
CRLF
PRINTI """These are the last of my race,"" Astrix said, ""Many ages ago, we Wizards led a great and successful struggle against the "
PRINT BAD-GUY
PRINTI "s. And then, our work done, we left the world you know, creating this island apart from it. Venturing forth little into your world, we have been sundered from it, and are now unable to return. Except that I, of all the Wizards, remained in your world, and, over time, befriended the races that now walk in freedom upon it."""
CRLF
CRLF
PRINTI """Yet not all of the "
PRINT BAD-GUY
PRINTI "s were destroyed, and one remained deep within the earth, patiently awaiting the day he might again rule. That day has come, and though the Wizards care greatly for the world, and would give their lives to save it, yet they cannot."""
CRLF
CRLF
PRINTI """Our hope lay in finding those who might, through their strength of intellect, courage, and character, bring together the Six Stones and, with them, seek out the Anvil, whose power was wielded by the hand of Evil. There have been others before you; one group that you know, four still before them. All have failed, and, yet, beyond hope, you have come!"""
CRLF
CRLF
PRINTI """But we, too, have failed,"" I said, ""for we have not found the Anvil."""
CRLF
CRLF
ICALL GRAPHIC,FALSE-VALUE,G-WIZARDS,TOP-LEFT
PRINTI """Ah, but you have,"" Astrix replied, as he took the silver locket from around my neck and opened it, revealing a crystal stone on a slender golden chain. ""Behold!"" said Astrix, raising it up before the eyes of our party and the assembled Wizards. ""The Anvil!"""
CRLF
CRLF
PRINTI """Then the Dread Lord..."" I began."
CRLF
CRLF
PRINTI "...had the Anvil all along,"" Astrix said, finishing my thought. ""Yes, we knew he had the Anvil, yet we also knew he lusted for the other six, both in fear of the Legend and for the powers they were said to command. Alas, that those powers faded long ago. But the power of the Anvil is real, and with it, much Evil that has been done may be undone."
CRLF
CRLF
PRINTI """We shall keep the Anvil here, and it shall pass from the world with us,"" he said, placing the Anvil around my neck. ""But for now, I believe it is yours!"""
CRLF
CRLF
PRINTI "Praxix now turned to the elder Wizard and related our experience with Umber. Who was he, Praxix asked, and what was the magic that he possessed? There was a faint murmur from the other Wizards, followed by a tense silence."
CRLF
CRLF
PRINTI """We know him not,"" Astrix replied firmly. ""Now, come! There is much to do!"""
ICALL1 DIVIDER
PRINTI "We stayed a long while at the castle, for the wisdom of the Wizards was great, and there was much to learn. And though his name was never spoken, the dark memory of Umber rested deeply, uneasily in our minds, where it lay forever bathed in the black glow of an unearthly light."
CRLF
CRLF
PRINTI "When we did finally return to our homes, the winter's chill had passed, and the meadows and pastures were a brilliant green - it was springtime in the dawn of a Golden Age."
CRLF
CRLF
SET 'GAME-WON?,TRUE-VALUE
CALL1 ENDING
RSTACK
?CCL3: ICALL2 GRAPHIC,G-ALMOST
PRINTI "The massive door opened as if by magic. Before us, the entrance hall led down a long, oak-panelled corridor to a large and elegant chamber. Inside, a solitary man sat, head down, at huge banquet table."
CRLF
CRLF
PRINTI "He turned to us slowly, and cast his hood from his face. We stood awestruck by the sight."
CRLF
CRLF
PRINT IT-IS-I-ASTRIX
CRLF
CRLF
PRINTI """We had hoped you were the ones,"" he said with a sigh."
CRLF
CRLF
PRINTI """We?"" I said, again gazing around the empty chamber."
CRLF
CRLF
PRINTI """It does not matter anymore,"" he said, ignoring the question. ""You have found the Six Stones, and are by any accounting brave, resourceful, and wise. But the Anvil remains hidden from us, and without it we cannot hope to destroy the "
PRINT BAD-GUY
PRINTI ". I am sorry indeed - not only for yourselves, but for your fallen friends and for all that must abide the Darkness that is to come."
CRLF
CRLF
PRINTI """Go, now, return to your families and friends. For the storm will come, swift and terrible, and all will be changed."""
CRLF
CRLF
PRINTI "And though we had a thousand questions, Astrix was too distracted to answer. He led us from the castle, and "
GET INT-STR,PARTY-MAX
PRINT STACK
PRINTI " eagles came at his command, swiftly bearing us back to our lands, far to the north."
CALL1 BAD-ENDING
RSTACK
.ENDSEG
.ENDI

120
island.zil Normal file
View file

@ -0,0 +1,120 @@
"ISLAND for
JOURNEY
(c) Copyright 1988, 1989 Infocom, Inc. All Rights Reserved."
<BEGIN-SEGMENT BOAT>
<ROUTINE ISLAND-ENDING ()
<TELL
"We stepped off the boat, and onto the shore. The sky was a brilliant
blue, and not a cloud could be seen. Before us, high upon a hill,
stood a grand castle, whose turrets and spires rose hundreds of feet
into the air. Our steps were quick and light as we climbed the winding path
that led to the castle door." CR CR>
<COND (<EQUAL? ,PARTY-MAX 5>
<GRAPHIC ,G-ALMOST>
<TELL
"Even as we arrived at the threshold, the door opened, and we were greeted
by a hooded man in a blue and silver robe. He stood a while in silence then
removed his cloak, revealing a familiar face." CR CR>
<TELL ,IT-IS-I-ASTRIX CR CR>
<TELL
"And then Astrix led us into a large and elegant chamber, in the center
of which stood a table. Around the table sat six figures; each, like Astrix, in
robes of blue and silver. But there was something unearthly about them,
and their very forms seemed to shimmer and dance in the reflected sunlight." CR CR>
<TELL
"\"These are the last of my race,\" Astrix said, \"Many ages ago, we Wizards
led a great and successful struggle against the " ,BAD-GUY "s.
And then, our work done, we left the world you know, creating this island apart
from it. Venturing forth little into your world, we have been sundered from it,
and are now unable to return. Except that I, of all the Wizards, remained in
your world, and, over time, befriended the races that now walk in freedom upon
it.\"" CR CR>
<TELL
"\"Yet not all of the " ,BAD-GUY "s were destroyed, and one remained deep
within the earth, patiently awaiting the day he might again rule. That day has
come, and though the Wizards care greatly for the world, and would give their
lives to save it, yet they cannot.\"" CR CR>
<TELL
"\"Our hope lay in finding those who might, through their strength of
intellect, courage, and character, bring together the Six Stones and,
with them, seek out the Anvil, whose power was wielded by the hand of Evil. There
have been others before you; one group that you know, four still before them. All
have failed, and, yet, beyond hope, you have come!\"" CR CR>
<TELL
"\"But we, too, have failed,\" I said, \"for we have not found the Anvil.\"" CR CR>
<GRAPHIC <> ,G-WIZARDS ,TOP-LEFT>
<TELL
"\"Ah, but you have,\" Astrix replied, as he took the silver locket from around my
neck and opened it, revealing a crystal stone on a slender golden chain.
\"Behold!\" said Astrix, raising it up before the eyes of our party and the assembled
Wizards. \"The Anvil!\"" CR CR>
<TELL
"\"Then the Dread Lord...\" I began." CR CR>
<TELL
"\...had the Anvil all along,\" Astrix said, finishing my thought. \"Yes, we
knew he had the Anvil, yet we also knew he lusted for the other six, both in fear
of the Legend and for the powers they were said to command. Alas, that those powers
faded long ago. But the power of the Anvil is real, and with it, much Evil that
has been done may be undone." CR CR>
<TELL
"\"We shall keep the Anvil here, and it shall pass from the world with us,\" he
said, placing the Anvil around my neck. \"But for now, I believe it is yours!\"" CR CR>
<TELL
"Praxix now turned to the elder Wizard and related our experience with Umber. Who was
he, Praxix asked, and what was the magic that he possessed? There was a faint murmur
from the other Wizards, followed by a tense silence." CR CR>
<TELL
"\"We know him not,\" Astrix replied firmly. \"Now, come! There is much to do!\"">
<DIVIDER>
<TELL
"We stayed a long while at the castle, for the wisdom of the Wizards was
great, and there was much to learn. And though his name was never spoken,
the dark memory of Umber rested deeply, uneasily in our minds, where it lay
forever bathed in the black glow of an unearthly light." CR CR>
<TELL
"When we did finally return to our homes, the winter's chill had passed, and the
meadows and pastures were a brilliant green - it was springtime in the dawn of a
Golden Age." CR CR>
<SETG GAME-WON? T>
<ENDING>)
(T
<GRAPHIC ,G-ALMOST>
<TELL
"The massive door opened as if by magic. Before us, the entrance
hall led down a long, oak-panelled corridor to a large and elegant
chamber. Inside, a solitary man sat, head down, at huge banquet
table." CR CR>
<TELL
"He turned to us slowly, and cast his hood from his face. We stood
awestruck by the sight." CR CR>
<TELL ,IT-IS-I-ASTRIX CR CR>
<TELL
"\"We had hoped you were the ones,\" he said with a sigh." CR CR>
<TELL
"\"We?\" I said, again gazing around the empty chamber." CR CR>
<TELL
"\"It does not matter anymore,\" he said, ignoring the question.
\"You have found the Six Stones, and are by any accounting brave,
resourceful, and wise. But the Anvil remains hidden from us, and without it
we cannot hope to destroy the " ,BAD-GUY ". I am sorry indeed - not only for
yourselves, but for your fallen friends and for all that must abide the Darkness
that is to come." CR CR>
<TELL
"\"Go, now, return to your families and friends. For the storm will come, swift
and terrible, and all will be changed.\"" CR CR>
<TELL
"And though we had a thousand questions, Astrix was too distracted to answer.
He led us from the castle, and ">
<TELL <GET ,INT-STR ,PARTY-MAX>>
<TELL
" eagles came at his command, swiftly bearing us back to our lands, far to
the north.">
<BAD-ENDING>)>>
<CONSTANT IT-IS-I-ASTRIX
"\"Yes,\" the familiar voice said warmly, \"It is I, Astrix.\"">

2
journey-glue Normal file
View file

@ -0,0 +1,2 @@
#
zglue -m apple -g journey -p ~curpix

2
journey-nsplit Normal file
View file

@ -0,0 +1,2 @@
#
zsplit -a 2 -d 5 -v ~curpix/journeyapple.d ~curpix/journey.apple.1 -p 107 -e 23 -0 journey 270

272
journey-split Normal file
View file

@ -0,0 +1,272 @@
Fri Jun 9 14:06:04 EDT 1989
zsplit of 5/1/89 10:27.
2 disks active
5 disks allowed
Picture information from /home/development/curpix/journeyapple.d; pictures from /home/development/curpix/journey.apple.1.
Preload size 107
Extra preload 23
Segment 0 pictures go with segment 0.
Splitting journey.seg...
Segments: 17
Pages: 551
Generated global picture directory: 1 pages.
Segment 0: 0
Pages 0-111 499-529
143 pages, 23058 picture bytes
Segment 1: LAVOS
Pages 112-141 530-533
34 pages, 29663 picture bytes
Segment 2: ZAN
Pages 221 415-479 534-537
70 pages, 27908 picture bytes
Segment 3: CASTLE
Pages 201 221 364-385 399-415 537-539
44 pages, 30476 picture bytes
Segment 4: MILL
Pages 369 371 385-399 537
18 pages, 10995 picture bytes
Segment 5: TANGLEWOOD
Pages 203-213 539
12 pages, 7196 picture bytes
Segment 6: CAVERNS
Pages 221 302-323 329-337 539-540
34 pages, 18359 picture bytes
Segment 7: MINES
Pages 221 323-329 337-364 536-537 539-540
40 pages, 33113 picture bytes
Segment 8: PART2
Pages 298-302 540-541
7 pages, 0 picture bytes
Segment 9: DWARVES
Pages 141-162 224-239 539-540 549-550
42 pages, 12674 picture bytes
Segment 10: STAIR
Pages 239-252 549
15 pages, 9476 picture bytes
Segment 11: ORC-FIGHT
Pages 150-162 540
14 pages, 8132 picture bytes
Segment 12: BOAT
Pages 201 221 456-457 479-498 533-534
26 pages, 13953 picture bytes
Segment 13: FOREST
Pages 140 162-203 539-540 543-546
49 pages, 29244 picture bytes
Segment 14: NYMPHS
Pages 269-284 546-547
18 pages, 17637 picture bytes
Segment 15: LAKE
Pages 162-163 221 252-269 284-291 547-549
32 pages, 19135 picture bytes
Segment 16: RIVER
Pages 201 213-224 252 291-298 541-543
25 pages, 5181 picture bytes
Object bytes read in: 282112
Putting pages 0 - 31 and 35 - 109 in preload.
Putting pages 110 - 132 in extra preload.
Adding segment 0 to disk 2; total size now 57.
Adding segment 0 pictures to 2; total size now 103.
Adding global picture directory to 2; total size now 104.
Adding unused segment LAVOS to disk 3; total size now 71.
Adding unused segment LAKE (adjacent to LAVOS) to disk 3; total size now 141.
Adding unused segment DWARVES (adjacent to LAVOS) to disk 3; total size now 205.
Adding unused segment RIVER (adjacent to LAVOS) to disk 3; total size now 236.
Adding unused segment STAIR (adjacent to DWARVES) to disk 3; total size now 266.
Adding unused segment PART2 (adjacent to RIVER) to disk 3; total size now 270.
Adding unused segment ZAN to disk 4; total size now 125.
Adding unused segment CASTLE (adjacent to ZAN) to disk 4; total size now 226.
Adding unused segment MILL (adjacent to ZAN) to disk 4; total size now 260.
Moving 3 pages to 2.
3 (118) left on 3.
13 (121) left on 4.
270 (0) left on 5.
163 left on 2.
Adding unused segment FOREST to disk 5; total size now 105.
Adding unused segment NYMPHS (adjacent to FOREST) to disk 5; total size now 156.
Adding unused segment TANGLEWOOD (adjacent to FOREST) to disk 5; total size now 180.
Adding unused segment CAVERNS to disk 5; total size now 247.
Moving 10 pages to 2.
13 (108) left on 3.
13 (121) left on 4.
33 (95) left on 5.
153 left on 2.
Adding unused segment ORC-FIGHT to disk 5; total size now 265.
Moving 12 pages to 2.
25 (96) left on 3.
13 (121) left on 4.
17 (95) left on 5.
141 left on 2.
Moving page 364 from 4 (14 (120) left) to 2 (140 left).
Moving page 365 from 4 (15 (119) left) to 2 (139 left).
Moving page 366 from 4 (16 (118) left) to 2 (138 left).
Moving page 367 from 4 (17 (117) left) to 2 (137 left).
Moving page 368 from 4 (18 (116) left) to 2 (136 left).
Moving page 369 from 4 (19 (115) left) to 2 (135 left).
Moving page 370 from 4 (20 (114) left) to 2 (134 left).
Moving page 371 from 4 (21 (113) left) to 2 (133 left).
Moving page 372 from 4 (22 (112) left) to 2 (132 left).
Moving page 373 from 4 (23 (111) left) to 2 (131 left).
Moving page 374 from 4 (24 (110) left) to 2 (130 left).
Moving page 375 from 4 (25 (109) left) to 2 (129 left).
Moving page 376 from 4 (26 (108) left) to 2 (128 left).
Moving page 377 from 4 (27 (107) left) to 2 (127 left).
Moving page 378 from 4 (28 (106) left) to 2 (126 left).
Moving page 379 from 4 (29 (105) left) to 2 (125 left).
Moving page 380 from 4 (30 (104) left) to 2 (124 left).
Moving page 381 from 4 (31 (103) left) to 2 (123 left).
Moving page 382 from 4 (32 (102) left) to 2 (122 left).
Moving page 383 from 4 (33 (101) left) to 2 (121 left).
Moving page 384 from 4 (34 (100) left) to 2 (120 left).
Moving page 385 from 4 (35 (99) left) to 2 (119 left).
Moving page 386 from 4 (36 (98) left) to 2 (118 left).
Moving page 387 from 4 (37 (97) left) to 2 (117 left).
Moving page 388 from 4 (38 (96) left) to 2 (116 left).
Moving page 389 from 4 (39 (95) left) to 2 (115 left).
Moving page 390 from 4 (40 (94) left) to 2 (114 left).
Moving page 391 from 4 (41 (93) left) to 2 (113 left).
Moving page 392 from 4 (42 (92) left) to 2 (112 left).
Moving page 393 from 4 (43 (91) left) to 2 (111 left).
Moving page 394 from 4 (44 (90) left) to 2 (110 left).
Moving page 395 from 4 (45 (89) left) to 2 (109 left).
Moving page 396 from 4 (46 (88) left) to 2 (108 left).
Moving page 397 from 4 (47 (87) left) to 2 (107 left).
Adding unused segment BOAT to disk 4; total size now 270.
Moving 1 pages to 2.
26 (95) left on 3.
1 (106) left on 4.
17 (95) left on 5.
106 left on 2.
Moving page 133 from 3 (27 (94) left) to 2 (105 left).
Moving page 134 from 3 (28 (93) left) to 2 (104 left).
Moving page 135 from 3 (29 (92) left) to 2 (103 left).
Moving page 136 from 3 (30 (91) left) to 2 (102 left).
Moving page 137 from 3 (31 (90) left) to 2 (101 left).
Moving page 138 from 3 (32 (89) left) to 2 (100 left).
Moving page 139 from 3 (33 (88) left) to 2 (99 left).
Moving page 141 from 3 (34 (87) left) to 2 (98 left).
Moving page 142 from 3 (35 (86) left) to 2 (97 left).
Moving page 143 from 3 (36 (85) left) to 2 (96 left).
Moving page 144 from 3 (37 (84) left) to 2 (95 left).
Moving page 145 from 3 (38 (83) left) to 2 (94 left).
Moving page 146 from 3 (39 (82) left) to 2 (93 left).
Moving page 147 from 3 (40 (81) left) to 2 (92 left).
Moving page 148 from 3 (41 (80) left) to 2 (91 left).
Moving page 149 from 3 (42 (79) left) to 2 (90 left).
Moving page 214 from 3 (43 (78) left) to 2 (89 left).
Moving page 215 from 3 (44 (77) left) to 2 (88 left).
Moving page 216 from 3 (45 (76) left) to 2 (87 left).
Moving page 217 from 3 (46 (75) left) to 2 (86 left).
Moving page 218 from 3 (47 (74) left) to 2 (85 left).
Moving page 219 from 3 (48 (73) left) to 2 (84 left).
Moving page 220 from 3 (49 (72) left) to 2 (83 left).
Moving page 222 from 3 (50 (71) left) to 2 (82 left).
Moving page 223 from 3 (51 (70) left) to 2 (81 left).
Moving page 224 from 3 (52 (69) left) to 2 (80 left).
Moving page 225 from 3 (53 (68) left) to 2 (79 left).
Moving page 226 from 3 (54 (67) left) to 2 (78 left).
Moving page 227 from 3 (55 (66) left) to 2 (77 left).
Moving page 228 from 3 (56 (65) left) to 2 (76 left).
Moving page 229 from 3 (57 (64) left) to 2 (75 left).
Moving page 230 from 3 (58 (63) left) to 2 (74 left).
Moving page 231 from 3 (59 (62) left) to 2 (73 left).
Moving page 232 from 3 (60 (61) left) to 2 (72 left).
Moving page 233 from 3 (61 (60) left) to 2 (71 left).
Moving page 234 from 3 (62 (59) left) to 2 (70 left).
Moving page 235 from 3 (63 (58) left) to 2 (69 left).
Moving page 236 from 3 (64 (57) left) to 2 (68 left).
Moving page 237 from 3 (65 (56) left) to 2 (67 left).
Moving page 238 from 3 (66 (55) left) to 2 (66 left).
Moving page 239 from 3 (67 (54) left) to 2 (65 left).
Moving page 240 from 3 (68 (53) left) to 2 (64 left).
Moving page 241 from 3 (69 (52) left) to 2 (63 left).
Moving page 242 from 3 (70 (51) left) to 2 (62 left).
Moving page 243 from 3 (71 (50) left) to 2 (61 left).
Moving page 244 from 3 (72 (49) left) to 2 (60 left).
Moving page 245 from 3 (73 (48) left) to 2 (59 left).
Moving page 246 from 3 (74 (47) left) to 2 (58 left).
Moving page 247 from 3 (75 (46) left) to 2 (57 left).
Moving page 248 from 3 (76 (45) left) to 2 (56 left).
Moving page 249 from 3 (77 (44) left) to 2 (55 left).
Moving page 250 from 3 (78 (43) left) to 2 (54 left).
Moving page 251 from 3 (79 (42) left) to 2 (53 left).
Moving page 252 from 3 (80 (41) left) to 2 (52 left).
Moving page 253 from 3 (81 (40) left) to 2 (51 left).
Moving page 254 from 3 (82 (39) left) to 2 (50 left).
Moving page 255 from 3 (83 (38) left) to 2 (49 left).
Moving page 256 from 3 (84 (37) left) to 2 (48 left).
Moving page 257 from 3 (85 (36) left) to 2 (47 left).
Moving page 258 from 3 (86 (35) left) to 2 (46 left).
Moving page 259 from 3 (87 (34) left) to 2 (45 left).
Moving page 260 from 3 (88 (33) left) to 2 (44 left).
Moving page 261 from 3 (89 (32) left) to 2 (43 left).
Moving page 262 from 3 (90 (31) left) to 2 (42 left).
Moving page 263 from 3 (91 (30) left) to 2 (41 left).
Moving page 264 from 3 (92 (29) left) to 2 (40 left).
Moving page 265 from 3 (93 (28) left) to 2 (39 left).
Moving page 266 from 3 (94 (27) left) to 2 (38 left).
Moving page 267 from 3 (95 (26) left) to 2 (37 left).
Moving page 268 from 3 (96 (25) left) to 2 (36 left).
Moving page 285 from 3 (97 (24) left) to 2 (35 left).
Moving page 286 from 3 (98 (23) left) to 2 (34 left).
Moving page 287 from 3 (99 (22) left) to 2 (33 left).
Moving page 288 from 3 (100 (21) left) to 2 (32 left).
Moving page 289 from 3 (101 (20) left) to 2 (31 left).
Moving page 290 from 3 (102 (19) left) to 2 (30 left).
Adding unused segment MINES to disk 3; total size now 270.
Moving 2 pages to 2.
2 (54) left on 3.
3 (104) left on 4.
17 (95) left on 5.
28 left on 2.
Moving 3 pages to 2.
5 (51) left on 3.
3 (104) left on 4.
20 (92) left on 5.
25 left on 2.
Split successful.
Map size: 1 page; 132 words.
Making disk map...
Disk 1: Pages 0 to 31 starting on disk page 1.
Disk 1: Pages 35 to 109 starting on disk page 33.
Disk 2: Pages 110 to 132 starting on disk page 0.
Disk 2: Pages 32 to 34 starting on disk page 23.
Disk 2: Pages 133 to 163 starting on disk page 26.
Disk 2: Pages 201 to 201 starting on disk page 57.
Disk 2: Pages 213 to 269 starting on disk page 58.
Disk 2: Pages 284 to 290 starting on disk page 115.
Disk 2: Pages 302 to 302 starting on disk page 122.
Disk 2: Pages 323 to 323 starting on disk page 123.
Disk 2: Pages 329 to 329 starting on disk page 124.
Disk 2: Pages 337 to 337 starting on disk page 125.
Disk 2: Pages 364 to 397 starting on disk page 126.
Disk 2: Pages 499 to 529 starting on disk page 160.
Disk 2: Pages 533 to 533 starting on disk page 191.
Disk 2: Pages 536 to 537 starting on disk page 192.
Disk 2: Pages 539 to 540 starting on disk page 194.
Disk 2: Pages 543 to 543 starting on disk page 196.
Disk 2: Pages 547 to 547 starting on disk page 197.
Disk 3: Pages 291 to 301 starting on disk page 0.
Disk 3: Pages 324 to 328 starting on disk page 11.
Disk 3: Pages 338 to 364 starting on disk page 16.
Disk 3: Pages 530 to 532 starting on disk page 43.
Disk 3: Pages 541 to 542 starting on disk page 46.
Disk 3: Pages 548 to 550 starting on disk page 48.
Disk 4: Pages 398 to 498 starting on disk page 0.
Disk 4: Pages 534 to 535 starting on disk page 101.
Disk 4: Pages 538 to 538 starting on disk page 103.
Disk 5: Pages 164 to 200 starting on disk page 0.
Disk 5: Pages 202 to 212 starting on disk page 37.
Disk 5: Pages 270 to 283 starting on disk page 48.
Disk 5: Pages 303 to 322 starting on disk page 62.
Disk 5: Pages 330 to 336 starting on disk page 82.
Disk 5: Pages 544 to 546 starting on disk page 89.
34 blocks (204 bytes).
Writing disk 1.
Writing disk 2.
Added 46 pages of pictures to file. Total size 245.
Writing disk 3.
Added 214 pages of pictures to file. Total size 265.
Writing disk 4.
Added 163 pages of pictures to file. Total size 267.
Writing disk 5.
Added 158 pages of pictures to file. Total size 250.

2
journey-taa Normal file
View file

@ -0,0 +1,2 @@
#
/sys/interlogic/zap/zsplit -a 2 -d 5 -v ~curpix/journeyapple.d ~curpix/journey.apple.1 -p 107 -e 23 -0 journey 270

263
journey.aplit Normal file
View file

@ -0,0 +1,263 @@
Tue May 23 17:57:08 EDT 1989
zsplit of 5/1/89 10:27.
2 disks active
5 disks allowed
Picture information from /home/development/curpix/journeyapple.d; pictures from /home/development/curpix/journey.apple.1.
Preload size 107
Extra preload 23
Segment 0 pictures go with segment 0.
Splitting journey.seg...
Segments: 17
Pages: 550
Generated global picture directory: 1 pages.
Segment 0: 0
Pages 0-51 53-110 498-528
141 pages, 23058 picture bytes
Segment 1: LAVOS
Pages 52 111-140 529-532
35 pages, 29663 picture bytes
Segment 2: ZAN
Pages 220 414-478 533-536
70 pages, 27908 picture bytes
Segment 3: CASTLE
Pages 200-201 220 364-384 398-414 536-538
44 pages, 30476 picture bytes
Segment 4: MILL
Pages 368-371 384-398 536
20 pages, 10995 picture bytes
Segment 5: TANGLEWOOD
Pages 202-212 538
12 pages, 7196 picture bytes
Segment 6: CAVERNS
Pages 220 302-322 329-336 539
31 pages, 18359 picture bytes
Segment 7: MINES
Pages 220 322-329 336-364 536 538-539
41 pages, 33113 picture bytes
Segment 8: PART2
Pages 298-302 539-540
7 pages, 0 picture bytes
Segment 9: DWARVES
Pages 140-161 224-238 539 548-549
40 pages, 12674 picture bytes
Segment 10: STAIR
Pages 238-251 548
15 pages, 9486 picture bytes
Segment 11: ORC-FIGHT
Pages 149-161 539
14 pages, 8132 picture bytes
Segment 12: BOAT
Pages 200-201 220 455-456 478-497 532-533
27 pages, 13953 picture bytes
Segment 13: FOREST
Pages 139 161-202 539 542-545
48 pages, 29244 picture bytes
Segment 14: NYMPHS
Pages 268-283 545-546
18 pages, 17375 picture bytes
Segment 15: LAKE
Pages 161-162 220 251-268 283-290 546-548
32 pages, 19135 picture bytes
Segment 16: RIVER
Pages 200-201 212-224 251 290-297 540-542
27 pages, 5181 picture bytes
Object bytes read in: 281600
Putting pages 0 - 31 and 35 - 109 in preload.
Putting pages 110 - 132 in extra preload.
Adding segment 0 to disk 2; total size now 57.
Adding segment 0 pictures to 2; total size now 103.
Adding global picture directory to 2; total size now 104.
Adding unused segment LAVOS to disk 3; total size now 70.
Adding unused segment LAKE (adjacent to LAVOS) to disk 3; total size now 140.
Adding unused segment DWARVES (adjacent to LAVOS) to disk 3; total size now 202.
Adding unused segment RIVER (adjacent to LAVOS) to disk 3; total size now 235.
Adding unused segment STAIR (adjacent to DWARVES) to disk 3; total size now 265.
Adding unused segment PART2 (adjacent to RIVER) to disk 3; total size now 270.
Adding unused segment ZAN to disk 4; total size now 125.
Adding unused segment CASTLE (adjacent to ZAN) to disk 4; total size now 226.
Adding unused segment MILL (adjacent to ZAN) to disk 4; total size now 260.
Moving 3 pages to 2.
3 (118) left on 3.
13 (121) left on 4.
270 (0) left on 5.
163 left on 2.
Adding unused segment MINES to disk 5; total size now 105.
Adding unused segment CAVERNS (adjacent to MINES) to disk 5; total size now 167.
Adding unused segment TANGLEWOOD (adjacent to MINES) to disk 5; total size now 192.
Adding unused segment NYMPHS to disk 5; total size now 244.
Moving 6 pages to 2.
9 (112) left on 3.
13 (121) left on 4.
32 (89) left on 5.
157 left on 2.
Moving 3 pages to 2.
9 (112) left on 3.
16 (118) left on 4.
35 (86) left on 5.
154 left on 2.
Adding unused segment ORC-FIGHT to disk 5; total size now 264.
Moving 13 pages to 2.
22 (99) left on 3.
16 (118) left on 4.
19 (86) left on 5.
141 left on 2.
Moving page 365 from 4 (17 (117) left) to 2 (140 left).
Moving page 366 from 4 (18 (116) left) to 2 (139 left).
Moving page 367 from 4 (19 (115) left) to 2 (138 left).
Moving page 368 from 4 (20 (114) left) to 2 (137 left).
Moving page 369 from 4 (21 (113) left) to 2 (136 left).
Moving page 370 from 4 (22 (112) left) to 2 (135 left).
Moving page 371 from 4 (23 (111) left) to 2 (134 left).
Moving page 372 from 4 (24 (110) left) to 2 (133 left).
Moving page 373 from 4 (25 (109) left) to 2 (132 left).
Moving page 374 from 4 (26 (108) left) to 2 (131 left).
Moving page 375 from 4 (27 (107) left) to 2 (130 left).
Moving page 376 from 4 (28 (106) left) to 2 (129 left).
Moving page 377 from 4 (29 (105) left) to 2 (128 left).
Moving page 378 from 4 (30 (104) left) to 2 (127 left).
Moving page 379 from 4 (31 (103) left) to 2 (126 left).
Moving page 380 from 4 (32 (102) left) to 2 (125 left).
Moving page 381 from 4 (33 (101) left) to 2 (124 left).
Moving page 382 from 4 (34 (100) left) to 2 (123 left).
Moving page 383 from 4 (35 (99) left) to 2 (122 left).
Moving page 384 from 4 (36 (98) left) to 2 (121 left).
Moving page 385 from 4 (37 (97) left) to 2 (120 left).
Moving page 386 from 4 (38 (96) left) to 2 (119 left).
Moving page 387 from 4 (39 (95) left) to 2 (118 left).
Moving page 388 from 4 (40 (94) left) to 2 (117 left).
Moving page 389 from 4 (41 (93) left) to 2 (116 left).
Moving page 390 from 4 (42 (92) left) to 2 (115 left).
Moving page 391 from 4 (43 (91) left) to 2 (114 left).
Moving page 392 from 4 (44 (90) left) to 2 (113 left).
Moving page 393 from 4 (45 (89) left) to 2 (112 left).
Moving page 394 from 4 (46 (88) left) to 2 (111 left).
Moving page 395 from 4 (47 (87) left) to 2 (110 left).
Adding unused segment BOAT to disk 4; total size now 270.
Moving 1 pages to 2.
23 (98) left on 3.
1 (106) left on 4.
19 (86) left on 5.
109 left on 2.
Moving page 133 from 3 (24 (97) left) to 2 (108 left).
Moving page 134 from 3 (25 (96) left) to 2 (107 left).
Moving page 135 from 3 (26 (95) left) to 2 (106 left).
Moving page 136 from 3 (27 (94) left) to 2 (105 left).
Moving page 137 from 3 (28 (93) left) to 2 (104 left).
Moving page 138 from 3 (29 (92) left) to 2 (103 left).
Moving page 139 from 3 (30 (91) left) to 2 (102 left).
Moving page 140 from 3 (31 (90) left) to 2 (101 left).
Moving page 141 from 3 (32 (89) left) to 2 (100 left).
Moving page 142 from 3 (33 (88) left) to 2 (99 left).
Moving page 143 from 3 (34 (87) left) to 2 (98 left).
Moving page 144 from 3 (35 (86) left) to 2 (97 left).
Moving page 145 from 3 (36 (85) left) to 2 (96 left).
Moving page 146 from 3 (37 (84) left) to 2 (95 left).
Moving page 147 from 3 (38 (83) left) to 2 (94 left).
Moving page 148 from 3 (39 (82) left) to 2 (93 left).
Moving page 162 from 3 (40 (81) left) to 2 (92 left).
Moving page 213 from 3 (41 (80) left) to 2 (91 left).
Moving page 214 from 3 (42 (79) left) to 2 (90 left).
Moving page 215 from 3 (43 (78) left) to 2 (89 left).
Moving page 216 from 3 (44 (77) left) to 2 (88 left).
Moving page 217 from 3 (45 (76) left) to 2 (87 left).
Moving page 218 from 3 (46 (75) left) to 2 (86 left).
Moving page 219 from 3 (47 (74) left) to 2 (85 left).
Moving page 221 from 3 (48 (73) left) to 2 (84 left).
Moving page 222 from 3 (49 (72) left) to 2 (83 left).
Moving page 223 from 3 (50 (71) left) to 2 (82 left).
Moving page 224 from 3 (51 (70) left) to 2 (81 left).
Moving page 225 from 3 (52 (69) left) to 2 (80 left).
Moving page 226 from 3 (53 (68) left) to 2 (79 left).
Moving page 227 from 3 (54 (67) left) to 2 (78 left).
Moving page 228 from 3 (55 (66) left) to 2 (77 left).
Moving page 229 from 3 (56 (65) left) to 2 (76 left).
Moving page 230 from 3 (57 (64) left) to 2 (75 left).
Moving page 231 from 3 (58 (63) left) to 2 (74 left).
Moving page 232 from 3 (59 (62) left) to 2 (73 left).
Moving page 233 from 3 (60 (61) left) to 2 (72 left).
Moving page 234 from 3 (61 (60) left) to 2 (71 left).
Moving page 235 from 3 (62 (59) left) to 2 (70 left).
Moving page 236 from 3 (63 (58) left) to 2 (69 left).
Moving page 237 from 3 (64 (57) left) to 2 (68 left).
Moving page 238 from 3 (65 (56) left) to 2 (67 left).
Moving page 239 from 3 (66 (55) left) to 2 (66 left).
Moving page 240 from 3 (67 (54) left) to 2 (65 left).
Moving page 241 from 3 (68 (53) left) to 2 (64 left).
Moving page 242 from 3 (69 (52) left) to 2 (63 left).
Moving page 243 from 3 (70 (51) left) to 2 (62 left).
Moving page 244 from 3 (71 (50) left) to 2 (61 left).
Moving page 245 from 3 (72 (49) left) to 2 (60 left).
Moving page 246 from 3 (73 (48) left) to 2 (59 left).
Moving page 247 from 3 (74 (47) left) to 2 (58 left).
Moving page 248 from 3 (75 (46) left) to 2 (57 left).
Moving page 249 from 3 (76 (45) left) to 2 (56 left).
Moving page 250 from 3 (77 (44) left) to 2 (55 left).
Moving page 251 from 3 (78 (43) left) to 2 (54 left).
Moving page 252 from 3 (79 (42) left) to 2 (53 left).
Moving page 253 from 3 (80 (41) left) to 2 (52 left).
Moving page 254 from 3 (81 (40) left) to 2 (51 left).
Moving page 255 from 3 (82 (39) left) to 2 (50 left).
Moving page 256 from 3 (83 (38) left) to 2 (49 left).
Moving page 257 from 3 (84 (37) left) to 2 (48 left).
Moving page 258 from 3 (85 (36) left) to 2 (47 left).
Moving page 259 from 3 (86 (35) left) to 2 (46 left).
Moving page 260 from 3 (87 (34) left) to 2 (45 left).
Moving page 261 from 3 (88 (33) left) to 2 (44 left).
Moving page 262 from 3 (89 (32) left) to 2 (43 left).
Moving page 263 from 3 (90 (31) left) to 2 (42 left).
Moving page 264 from 3 (91 (30) left) to 2 (41 left).
Moving page 265 from 3 (92 (29) left) to 2 (40 left).
Moving page 266 from 3 (93 (28) left) to 2 (39 left).
Moving page 267 from 3 (94 (27) left) to 2 (38 left).
Moving page 284 from 3 (95 (26) left) to 2 (37 left).
Moving page 285 from 3 (96 (25) left) to 2 (36 left).
Moving page 286 from 3 (97 (24) left) to 2 (35 left).
Moving page 287 from 3 (98 (23) left) to 2 (34 left).
Moving page 288 from 3 (99 (22) left) to 2 (33 left).
Moving page 289 from 3 (100 (21) left) to 2 (32 left).
Adding unused segment FOREST to disk 3; total size now 270.
Moving 2 pages to 2.
2 (62) left on 3.
1 (106) left on 4.
21 (84) left on 5.
30 left on 2.
Split successful.
Map size: 1 page; 111 words.
Making disk map...
Disk 1: Pages 0 to 31 starting on disk page 1.
Disk 1: Pages 35 to 109 starting on disk page 33.
Disk 2: Pages 110 to 132 starting on disk page 0.
Disk 2: Pages 32 to 34 starting on disk page 23.
Disk 2: Pages 133 to 162 starting on disk page 26.
Disk 2: Pages 200 to 202 starting on disk page 56.
Disk 2: Pages 212 to 268 starting on disk page 59.
Disk 2: Pages 283 to 289 starting on disk page 116.
Disk 2: Pages 302 to 302 starting on disk page 123.
Disk 2: Pages 364 to 395 starting on disk page 124.
Disk 2: Pages 498 to 528 starting on disk page 156.
Disk 2: Pages 532 to 532 starting on disk page 187.
Disk 2: Pages 536 to 536 starting on disk page 188.
Disk 2: Pages 538 to 539 starting on disk page 189.
Disk 2: Pages 545 to 546 starting on disk page 191.
Disk 3: Pages 139 to 139 starting on disk page 0.
Disk 3: Pages 162 to 199 starting on disk page 1.
Disk 3: Pages 290 to 301 starting on disk page 39.
Disk 3: Pages 529 to 531 starting on disk page 51.
Disk 3: Pages 540 to 544 starting on disk page 54.
Disk 3: Pages 547 to 549 starting on disk page 59.
Disk 4: Pages 396 to 497 starting on disk page 0.
Disk 4: Pages 533 to 535 starting on disk page 102.
Disk 4: Pages 537 to 537 starting on disk page 105.
Disk 5: Pages 203 to 211 starting on disk page 0.
Disk 5: Pages 269 to 282 starting on disk page 9.
Disk 5: Pages 303 to 363 starting on disk page 23.
27 blocks (162 bytes).
Writing disk 1.
Writing disk 2.
Added 46 pages of pictures to file. Total size 240.
Writing disk 3.
Added 206 pages of pictures to file. Total size 268.
Writing disk 4.
Added 163 pages of pictures to file. Total size 269.
Writing disk 5.
Added 165 pages of pictures to file. Total size 249.

BIN
journey.bwmac.1 Normal file

Binary file not shown.

48
journey.chart Normal file
View file

@ -0,0 +1,48 @@
-date- -rel- -size- -pre- -obj- -glo- -voc-
5/30 51 281456 15967 434 198 27
5/31 52 281408 15971 434 200 27
6/01 53 281512 16011 434 200 27
6/02 54 281600 16015 434 200 27
6/02 55 281608 16015 434 200 27
6/02 54 281608 16015 434 200 27
6/02 54 281624 16015 434 200 27
6/02 54 281640 16015 434 200 27
6/02 54 281648 16015 434 200 27
6/04 55 281624 16015 434 200 27
6/04 55 281624 16015 434 200 27
6/04 56 281624 16015 434 200 27
6/04 56 281624 16015 434 200 27
6/04 56 281640 16015 434 200 27
6/04 57 281640 16015 434 200 27
6/05 58 281960 16015 434 200 27
6/05 59 281928 16015 434 200 27
6/05 60 281928 16015 434 200 27
6/05 61 281936 16015 434 200 27
6/05 62 281976 16015 434 200 27
6/06 63 281800 16015 434 200 27
6/06 64 281800 16015 434 200 27
6/06 65 281800 16015 434 200 27
6/08 66 281880 16015 434 200 27
6/08 66 281880 16015 434 200 27
6/09 67 281912 16015 434 200 27
6/12 68 282264 16023 434 204 27
6/12 68 282264 16023 434 204 27
6/13 69 282304 16027 434 206 27
6/13 70 282080 16007 434 201 27
6/13 71 282088 16007 434 201 27
6/13 72 282080 16007 434 201 27
6/14 73 282136 16007 434 201 27
6/14 74 282144 16007 434 201 27
6/15 75 282152 16007 434 201 27
6/15 76 282152 16007 434 201 27
6/16 77 282176 16007 434 201 27
6/22 78 282240 16015 434 203 27
6/27 78 282240 16015 434 203 27
6/27 79 282240 16015 434 203 27
6/28 80 282280 16015 434 203 27
6/28 80 282288 16015 434 203 27
6/29 81 282288 16015 434 203 27
6/29 81 282288 16015 434 203 27
7/06 82 282312 16015 434 203 27
7/06 83 282320 16015 434 203 27
7/06 83 282312 16015 434 203 27

BIN
journey.d1 Normal file

Binary file not shown.

BIN
journey.d2 Normal file

Binary file not shown.

BIN
journey.d3 Normal file

Binary file not shown.

BIN
journey.d4 Normal file

Binary file not shown.

BIN
journey.d5 Normal file

Binary file not shown.

52
journey.errors Normal file
View file

@ -0,0 +1,52 @@
zap of 6/13/89 15:17.
Release: 83
0 Inserting journey.zap.
64 Inserting journeyfreq.zap.
668 Inserting journeydat.zap.
16015 Inserting journeypur.zap.
18235 Inserting output.zap.
19350 Inserting input.zap.
26926 Inserting intro.zap.
27624 Inserting commands.zap.
31393 Inserting common.zap.
34784 Inserting controls.zap.
34925 Inserting characters.zap.
35605 Inserting objects.zap.
40081 Inserting spells.zap.
49287 Inserting tales.zap.
55823 Inserting combat.zap.
57348 Inserting lavos.zap.
72841 Inserting dwarves.zap.
83333 Inserting forest.zap.
109811 Inserting river.zap.
115546 Inserting prison.zap.
122795 Inserting stair.zap.
129783 Inserting lake.zap.
145821 Inserting hermit.zap.
149676 Inserting astrix.zap.
153371 Inserting part2.zap.
157942 Inserting mines.zap.
169233 Inserting flume.zap.
181218 Inserting tomb.zap.
187132 Inserting fog.zap.
204816 Inserting trap.zap.
212891 Inserting zan.zap.
239974 Inserting wharf.zap.
245757 Inserting voyage.zap.
253336 Inserting island.zap.
256037 Inserting hints.zap.
264660 Inserting journeystr.zap.
Unreferenced global: PREACTIONS
Unreferenced global: VERBS
Unreferenced global: PREPOSITIONS
Unreferenced global: ACTIONS
Unreferenced table: BERGON-COMMAND
Lexical buffer space allocated: 912228
Max lexical space allocated at any one time: 48012
Object buffer space allocated: 288000
Source bytes read: 908135
Object bytes written: 282624
Preload: 16015; 434 objects; 203 globals; 27 words.
Used 3:11
Elapsed time 4:35

2
journey.lowcore Normal file
View file

@ -0,0 +1,2 @@
2

258
journey.nsplit Normal file
View file

@ -0,0 +1,258 @@
Mon May 8 14:11:51 EDT 1989
zsplit of 5/1/89 10:27.
2 disks active
5 disks allowed
Picture information from /home/development/curpix/journeyapple.d; pictures from /home/development/curpix/journey.apple.1.
Preload size 107
Extra preload 23
Segment 0 pictures go with segment 0.
Splitting journey.seg...
Segments: 17
Pages: 550
Generated global picture directory: 1 pages.
Segment 0: 0
Pages 0-110 498-528
142 pages, 23058 picture bytes
Segment 1: LAVOS
Pages 111-140 529-532
34 pages, 29663 picture bytes
Segment 2: ZAN
Pages 220 413-478 532-535
71 pages, 27908 picture bytes
Segment 3: CASTLE
Pages 200 220 363-384 398-413 536-537
42 pages, 30476 picture bytes
Segment 4: MILL
Pages 368 370 384-398 535-536
19 pages, 10995 picture bytes
Segment 5: TANGLEWOOD
Pages 202-212 537
12 pages, 7196 picture bytes
Segment 6: CAVERNS
Pages 220 301-321 328-336 538-539
33 pages, 18359 picture bytes
Segment 7: MINES
Pages 220 321-328 336-363 535 537-538
40 pages, 33113 picture bytes
Segment 8: PART2
Pages 297-301 539
6 pages, 0 picture bytes
Segment 9: DWARVES
Pages 140-161 223-237 538 548-549
40 pages, 13618 picture bytes
Segment 10: STAIR
Pages 237-251 548
16 pages, 9486 picture bytes
Segment 11: ORC-FIGHT
Pages 149-161 538
14 pages, 8132 picture bytes
Segment 12: BOAT
Pages 200 220 455-456 478-497 532
25 pages, 13953 picture bytes
Segment 13: FOREST
Pages 139 161-202 538-539 541-545
50 pages, 27903 picture bytes
Segment 14: NYMPHS
Pages 267-282 545-546
18 pages, 17375 picture bytes
Segment 15: LAKE
Pages 161-162 220 251-267 282-290 537 546-548
33 pages, 19135 picture bytes
Segment 16: RIVER
Pages 200 212-223 250-251 290-297 539-541
26 pages, 5181 picture bytes
Object bytes read in: 281600
Putting pages 0 - 31 and 35 - 109 in preload.
Putting pages 110 - 132 in extra preload.
Adding segment 0 to disk 2; total size now 57.
Adding segment 0 pictures to 2; total size now 103.
Adding global picture directory to 2; total size now 104.
Adding unused segment LAVOS to disk 3; total size now 70.
Adding unused segment LAKE (adjacent to LAVOS) to disk 3; total size now 141.
Adding unused segment DWARVES (adjacent to LAVOS) to disk 3; total size now 204.
Adding unused segment RIVER (adjacent to LAVOS) to disk 3; total size now 237.
Adding unused segment STAIR (adjacent to DWARVES) to disk 3; total size now 267.
Adding unused segment ZAN to disk 4; total size now 126.
Adding unused segment CASTLE (adjacent to ZAN) to disk 4; total size now 226.
Adding unused segment MILL (adjacent to ZAN) to disk 4; total size now 260.
Adding unused segment PART2 to disk 4; total size now 266.
Moving 6 pages to 2.
9 (110) left on 3.
10 (124) left on 4.
270 (0) left on 5.
160 left on 2.
Adding unused segment MINES to disk 5; total size now 103.
Adding unused segment CAVERNS (adjacent to MINES) to disk 5; total size now 166.
Adding unused segment TANGLEWOOD (adjacent to MINES) to disk 5; total size now 191.
Adding unused segment NYMPHS to disk 5; total size now 243.
Moving 5 pages to 2.
14 (105) left on 3.
10 (124) left on 4.
32 (89) left on 5.
155 left on 2.
Moving 3 pages to 2.
14 (105) left on 3.
13 (121) left on 4.
35 (86) left on 5.
152 left on 2.
Adding unused segment ORC-FIGHT to disk 5; total size now 264.
Moving 13 pages to 2.
27 (92) left on 3.
13 (121) left on 4.
19 (86) left on 5.
139 left on 2.
Moving page 298 from 4 (14 (120) left) to 2 (138 left).
Moving page 299 from 4 (15 (119) left) to 2 (137 left).
Moving page 300 from 4 (16 (118) left) to 2 (136 left).
Moving page 364 from 4 (17 (117) left) to 2 (135 left).
Moving page 365 from 4 (18 (116) left) to 2 (134 left).
Moving page 366 from 4 (19 (115) left) to 2 (133 left).
Moving page 367 from 4 (20 (114) left) to 2 (132 left).
Moving page 368 from 4 (21 (113) left) to 2 (131 left).
Moving page 369 from 4 (22 (112) left) to 2 (130 left).
Moving page 370 from 4 (23 (111) left) to 2 (129 left).
Moving page 371 from 4 (24 (110) left) to 2 (128 left).
Moving page 372 from 4 (25 (109) left) to 2 (127 left).
Moving page 373 from 4 (26 (108) left) to 2 (126 left).
Moving page 374 from 4 (27 (107) left) to 2 (125 left).
Moving page 375 from 4 (28 (106) left) to 2 (124 left).
Moving page 376 from 4 (29 (105) left) to 2 (123 left).
Moving page 377 from 4 (30 (104) left) to 2 (122 left).
Moving page 378 from 4 (31 (103) left) to 2 (121 left).
Moving page 379 from 4 (32 (102) left) to 2 (120 left).
Moving page 380 from 4 (33 (101) left) to 2 (119 left).
Moving page 381 from 4 (34 (100) left) to 2 (118 left).
Moving page 382 from 4 (35 (99) left) to 2 (117 left).
Moving page 383 from 4 (36 (98) left) to 2 (116 left).
Moving page 384 from 4 (37 (97) left) to 2 (115 left).
Moving page 385 from 4 (38 (96) left) to 2 (114 left).
Moving page 386 from 4 (39 (95) left) to 2 (113 left).
Moving page 387 from 4 (40 (94) left) to 2 (112 left).
Moving page 388 from 4 (41 (93) left) to 2 (111 left).
Moving page 389 from 4 (42 (92) left) to 2 (110 left).
Moving page 390 from 4 (43 (91) left) to 2 (109 left).
Moving page 391 from 4 (44 (90) left) to 2 (108 left).
Moving page 392 from 4 (45 (89) left) to 2 (107 left).
Moving page 393 from 4 (46 (88) left) to 2 (106 left).
Adding unused segment BOAT to disk 4; total size now 270.
Moving page 133 from 3 (28 (91) left) to 2 (105 left).
Moving page 134 from 3 (29 (90) left) to 2 (104 left).
Moving page 135 from 3 (30 (89) left) to 2 (103 left).
Moving page 136 from 3 (31 (88) left) to 2 (102 left).
Moving page 137 from 3 (32 (87) left) to 2 (101 left).
Moving page 138 from 3 (33 (86) left) to 2 (100 left).
Moving page 139 from 3 (34 (85) left) to 2 (99 left).
Moving page 140 from 3 (35 (84) left) to 2 (98 left).
Moving page 141 from 3 (36 (83) left) to 2 (97 left).
Moving page 142 from 3 (37 (82) left) to 2 (96 left).
Moving page 143 from 3 (38 (81) left) to 2 (95 left).
Moving page 144 from 3 (39 (80) left) to 2 (94 left).
Moving page 145 from 3 (40 (79) left) to 2 (93 left).
Moving page 146 from 3 (41 (78) left) to 2 (92 left).
Moving page 147 from 3 (42 (77) left) to 2 (91 left).
Moving page 148 from 3 (43 (76) left) to 2 (90 left).
Moving page 162 from 3 (44 (75) left) to 2 (89 left).
Moving page 213 from 3 (45 (74) left) to 2 (88 left).
Moving page 214 from 3 (46 (73) left) to 2 (87 left).
Moving page 215 from 3 (47 (72) left) to 2 (86 left).
Moving page 216 from 3 (48 (71) left) to 2 (85 left).
Moving page 217 from 3 (49 (70) left) to 2 (84 left).
Moving page 218 from 3 (50 (69) left) to 2 (83 left).
Moving page 219 from 3 (51 (68) left) to 2 (82 left).
Moving page 221 from 3 (52 (67) left) to 2 (81 left).
Moving page 222 from 3 (53 (66) left) to 2 (80 left).
Moving page 223 from 3 (54 (65) left) to 2 (79 left).
Moving page 224 from 3 (55 (64) left) to 2 (78 left).
Moving page 225 from 3 (56 (63) left) to 2 (77 left).
Moving page 226 from 3 (57 (62) left) to 2 (76 left).
Moving page 227 from 3 (58 (61) left) to 2 (75 left).
Moving page 228 from 3 (59 (60) left) to 2 (74 left).
Moving page 229 from 3 (60 (59) left) to 2 (73 left).
Moving page 230 from 3 (61 (58) left) to 2 (72 left).
Moving page 231 from 3 (62 (57) left) to 2 (71 left).
Moving page 232 from 3 (63 (56) left) to 2 (70 left).
Moving page 233 from 3 (64 (55) left) to 2 (69 left).
Moving page 234 from 3 (65 (54) left) to 2 (68 left).
Moving page 235 from 3 (66 (53) left) to 2 (67 left).
Moving page 236 from 3 (67 (52) left) to 2 (66 left).
Moving page 237 from 3 (68 (51) left) to 2 (65 left).
Moving page 238 from 3 (69 (50) left) to 2 (64 left).
Moving page 239 from 3 (70 (49) left) to 2 (63 left).
Moving page 240 from 3 (71 (48) left) to 2 (62 left).
Moving page 241 from 3 (72 (47) left) to 2 (61 left).
Moving page 242 from 3 (73 (46) left) to 2 (60 left).
Moving page 243 from 3 (74 (45) left) to 2 (59 left).
Moving page 244 from 3 (75 (44) left) to 2 (58 left).
Moving page 245 from 3 (76 (43) left) to 2 (57 left).
Moving page 246 from 3 (77 (42) left) to 2 (56 left).
Moving page 247 from 3 (78 (41) left) to 2 (55 left).
Moving page 248 from 3 (79 (40) left) to 2 (54 left).
Moving page 249 from 3 (80 (39) left) to 2 (53 left).
Moving page 250 from 3 (81 (38) left) to 2 (52 left).
Moving page 251 from 3 (82 (37) left) to 2 (51 left).
Moving page 252 from 3 (83 (36) left) to 2 (50 left).
Moving page 253 from 3 (84 (35) left) to 2 (49 left).
Moving page 254 from 3 (85 (34) left) to 2 (48 left).
Moving page 255 from 3 (86 (33) left) to 2 (47 left).
Moving page 256 from 3 (87 (32) left) to 2 (46 left).
Moving page 257 from 3 (88 (31) left) to 2 (45 left).
Moving page 258 from 3 (89 (30) left) to 2 (44 left).
Moving page 259 from 3 (90 (29) left) to 2 (43 left).
Moving page 260 from 3 (91 (28) left) to 2 (42 left).
Moving page 261 from 3 (92 (27) left) to 2 (41 left).
Moving page 262 from 3 (93 (26) left) to 2 (40 left).
Moving page 263 from 3 (94 (25) left) to 2 (39 left).
Moving page 264 from 3 (95 (24) left) to 2 (38 left).
Moving page 265 from 3 (96 (23) left) to 2 (37 left).
Moving page 266 from 3 (97 (22) left) to 2 (36 left).
Moving page 283 from 3 (98 (21) left) to 2 (35 left).
Moving page 284 from 3 (99 (20) left) to 2 (34 left).
Moving page 285 from 3 (100 (19) left) to 2 (33 left).
Adding unused segment FOREST to disk 3; total size now 270.
Moving 2 pages to 2.
2 (62) left on 3.
0 (107) left on 4.
21 (84) left on 5.
31 left on 2.
Split successful.
Map size: 1 page; 117 words.
Making disk map...
Disk 1: Pages 0 to 31 starting on disk page 1.
Disk 1: Pages 35 to 109 starting on disk page 33.
Disk 2: Pages 110 to 132 starting on disk page 0.
Disk 2: Pages 32 to 34 starting on disk page 23.
Disk 2: Pages 133 to 162 starting on disk page 26.
Disk 2: Pages 200 to 200 starting on disk page 56.
Disk 2: Pages 202 to 202 starting on disk page 57.
Disk 2: Pages 212 to 267 starting on disk page 58.
Disk 2: Pages 282 to 285 starting on disk page 114.
Disk 2: Pages 297 to 301 starting on disk page 118.
Disk 2: Pages 363 to 393 starting on disk page 123.
Disk 2: Pages 498 to 528 starting on disk page 154.
Disk 2: Pages 532 to 532 starting on disk page 185.
Disk 2: Pages 535 to 535 starting on disk page 186.
Disk 2: Pages 537 to 539 starting on disk page 187.
Disk 2: Pages 545 to 546 starting on disk page 190.
Disk 3: Pages 139 to 139 starting on disk page 0.
Disk 3: Pages 162 to 199 starting on disk page 1.
Disk 3: Pages 201 to 201 starting on disk page 39.
Disk 3: Pages 286 to 296 starting on disk page 40.
Disk 3: Pages 529 to 531 starting on disk page 51.
Disk 3: Pages 540 to 544 starting on disk page 54.
Disk 3: Pages 547 to 549 starting on disk page 59.
Disk 4: Pages 394 to 497 starting on disk page 0.
Disk 4: Pages 533 to 534 starting on disk page 104.
Disk 4: Pages 536 to 536 starting on disk page 106.
Disk 5: Pages 203 to 211 starting on disk page 0.
Disk 5: Pages 268 to 281 starting on disk page 9.
Disk 5: Pages 302 to 362 starting on disk page 23.
29 blocks (174 bytes).
Writing disk 1.
Writing disk 2.
Added 46 pages of pictures to file. Total size 239.
Writing disk 3.
Added 206 pages of pictures to file. Total size 268.
Writing disk 4.
Added 163 pages of pictures to file. Total size 270.
Writing disk 5.
Added 165 pages of pictures to file. Total size 249.

505
journey.record Normal file
View file

@ -0,0 +1,505 @@
ZILCH of 6/30/89 14:41
Combined ZIL Compiler Ver 2.0 (MIM)
-----------------------------------
Input file: /HOME/DEVELOPMENT/JOURNEY/JOURNEY.ZIL
[YZIP instructions]
First segment LAVOS
Loading abstract /HOME/DEVELOPMENT/JOURNEY/OUTPUT.ZABSTR.
Start segment 0
End segment 0
Loading abstract /HOME/DEVELOPMENT/JOURNEY/INPUT.ZABSTR.
Start segment 0
End segment 0
Loading abstract /HOME/DEVELOPMENT/JOURNEY/INTRO.ZABSTR.
Start segment LAVOS
End segment LAVOS
Loading /HOME/DEVELOPMENT/JOURNEY/COMMANDS.ZIL and compiling it.
Start segment 0
Compiling routine: V-GET-ADVICE
Compiling routine: V-HELP
Compiling routine: V-BUY
Compiling routine: V-CAST
Compiling routine: O-CAST
Compiling routine: FIND-SPELL-OBJECTS
Compiling routine: V-DROP
Compiling routine: O-DROP
Compiling routine: FOOL-DROP
Compiling routine: V-EXAMINE
Compiling routine: CLEAR-EXBIT
Compiling routine: FIND-EXAMINE
Compiling routine: O-EXAMINE
Compiling routine: V-TELL-STORY
Compiling routine: V-TELL-LEGEND
Compiling routine: O-TELL-LEGEND
Compiling routine: V-INVENTORY
Compiling routine: LIST-CONTENTS
Compiling routine: V-NUL
Compiling routine: V-RETREAT
Compiling routine: V-SCOUT
Compiling routine: V-SELL
Compiling routine: O-SELL
Compiling routine: V-PICK-UP
Compiling routine: O-TAKE
Compiling routine: V-BUILD-RAFT
Compiling routine: V-LAUNCH-RAFT
Compiling routine: V-SAVE
Compiling routine: V-RESTORE
Compiling routine: SAVE-PARTY-COMMANDS
Compiling routine: RESTORE-PARTY-COMMANDS
Compiling routine: V-GAME
Compiling routine: V-RESTART
Compiling routine: V-QUIT
Compiling routine: V-END-SESSION
Compiling routine: ANONF-3
Compiling routine: V-CONTROLS
Compiling routine: V-VERSION
Compiling routine: V-CHECK-DISK
Compiling routine: V-SCRIPT-OFF
Compiling routine: V-SCRIPT-ON
Compiling routine: V-COMMANDS
Compiling routine: V-NO-COMMANDS
Compiling routine: V-REFRESH
Compiling routine: V-CANCEL
Compiling routine: RNUL
Compiling routine: ILLEGAL-NAME?
Compiling routine: V-CHANGE-NAME
Compiling routine: END-CHANGE-NAME
Abstracting COMMANDS to /HOME/DEVELOPMENT/JOURNEY/COMMANDS.
End segment 0
Loading abstract /HOME/DEVELOPMENT/JOURNEY/COMMON.ZABSTR.
Start segment 0
End segment 0
Loading abstract /HOME/DEVELOPMENT/JOURNEY/CONTROLS.ZABSTR.
Start segment 0
End segment 0
Loading abstract /HOME/DEVELOPMENT/JOURNEY/CHARACTERS.ZABSTR.
Start segment 0
End segment 0
Loading abstract /HOME/DEVELOPMENT/JOURNEY/OBJECTS.ZABSTR.
Start segment 0
End segment 0
Loading abstract /HOME/DEVELOPMENT/JOURNEY/SPELLS.ZABSTR.
Start segment 0
End segment 0
Loading abstract /HOME/DEVELOPMENT/JOURNEY/TALES.ZABSTR.
Start segment 0
End segment 0
Loading abstract /HOME/DEVELOPMENT/JOURNEY/COMBAT.ZABSTR.
Start segment 0
End segment 0
Loading abstract /HOME/DEVELOPMENT/JOURNEY/LAVOS.ZABSTR.
Start segment LAVOS
End segment LAVOS
Loading abstract /HOME/DEVELOPMENT/JOURNEY/DWARVES.ZABSTR.
Start segment DWARVES
Start segment ORC-FIGHT
End segments DWARVES ORC-FIGHT
Loading abstract /HOME/DEVELOPMENT/JOURNEY/FOREST.ZABSTR.
Start segment FOREST
End segment FOREST
Start segment TANGLEWOOD
End segment TANGLEWOOD
Loading abstract /HOME/DEVELOPMENT/JOURNEY/RIVER.ZABSTR.
Start segment RIVER
End segment RIVER
Loading abstract /HOME/DEVELOPMENT/JOURNEY/PRISON.ZABSTR.
Start segment DWARVES
End segment DWARVES
Loading abstract /HOME/DEVELOPMENT/JOURNEY/STAIR.ZABSTR.
Start segment STAIR
End segment STAIR
Loading abstract /HOME/DEVELOPMENT/JOURNEY/LAKE.ZABSTR.
Start segment LAKE
End segment LAKE
Start segment NYMPHS
End segment NYMPHS
Loading abstract /HOME/DEVELOPMENT/JOURNEY/HERMIT.ZABSTR.
Start segment LAKE
End segment LAKE
Loading abstract /HOME/DEVELOPMENT/JOURNEY/ASTRIX.ZABSTR.
Start segment RIVER
End segment RIVER
Loading abstract /HOME/DEVELOPMENT/JOURNEY/PART2.ZABSTR.
Start segment PART2
End segment PART2
Start segment CAVERNS
End segment CAVERNS
Loading abstract /HOME/DEVELOPMENT/JOURNEY/MINES.ZABSTR.
Start segment CAVERNS
End segment CAVERNS
Start segment MINES
End segment MINES
Loading abstract /HOME/DEVELOPMENT/JOURNEY/FLUME.ZABSTR.
Start segment CAVERNS
End segment CAVERNS
Start segment MINES
End segment MINES
Loading abstract /HOME/DEVELOPMENT/JOURNEY/TOMB.ZABSTR.
Start segment MINES
End segment MINES
Loading abstract /HOME/DEVELOPMENT/JOURNEY/FOG.ZABSTR.
Start segment CASTLE
End segment CASTLE
Start segment MILL
End segment MILL
Loading abstract /HOME/DEVELOPMENT/JOURNEY/TRAP.ZABSTR.
Start segment CASTLE
End segment CASTLE
Loading abstract /HOME/DEVELOPMENT/JOURNEY/ZAN.ZABSTR.
Start segment ZAN
End segment ZAN
Loading abstract /HOME/DEVELOPMENT/JOURNEY/WHARF.ZABSTR.
Start segment ZAN
End segment ZAN
Loading abstract /HOME/DEVELOPMENT/JOURNEY/VOYAGE.ZABSTR.
Start segment BOAT
End segment BOAT
Loading abstract /HOME/DEVELOPMENT/JOURNEY/ISLAND.ZABSTR.
Start segment BOAT
End segment BOAT
Loading abstract /HOME/DEVELOPMENT/JOURNEY/HINTS.ZABSTR.
Start segment 0
End segment 0
Loading /HOME/DEVELOPMENT/JOURNEY/GRAPHICS.ZIL and compiling it.
** Note: OBJECT has no properties: REAGENTS
** Note: OBJECT has no properties: RANDOM-OBJECTS
** Note: OBJECT has no properties: UMBER-STORIES
** Note: OBJECT has no properties: SAVED-SPELLS
** Note: OBJECT has no properties: SAVED-TAG-OBJECTS
** Note: OBJECT has no properties: PRAXIX-CAST-OBJECTS
** Note: OBJECT has no properties: ASK-MINER-OBJECTS
** Note: OBJECT has no properties: HURTH-STORIES
** Note: OBJECT has no properties: ASK-TREE-OBJECTS
** Note: OBJECT has no properties: HAVE-YOU-EVER
** Note: OBJECT has no properties: HINTS
** Note: OBJECT has no properties: PRAXIX-TALES
** Note: OBJECT has no properties: JAIL-STORAGE
** Note: OBJECT has no properties: ESSENCES
** Note: OBJECT has no properties: UNDERGROUND-SPELLS
** Note: OBJECT has no properties: ASK-UMBER-OBJECTS
** Note: OBJECT has no properties: INVENTORY
** Note: OBJECT has no properties: ALWAYS-SPELLS
** Note: OBJECT has no properties: CLOCK-QUEUE
Vocabulary: 27
Prepositions: 0
Real globals: 199
2ND-PASS FALLS-VICTIM PARTY-MAX
A-B-FLAG FIDDLED-WITH-DEVICE PARTY-MODE
ACTION FLANK-ACTOR PARTY-MODE-PROPERTY
ACTION-OBJECT FLOATER PARTY-SORT-TBL
ACTION-PRSI FONT3-FLAG PASS-1-STONES
ACTOR FOO-LA-FLAG PICINF-TBL
ASTRIX-FORK FORK-BANDITS PRAXIX-FOOL-TBL
ASTRIX-MAZE-PATH FOUND-ESSENCE PRAXIX-SIGNAL
ASTRIX-MAZE-ROUTE FWC-FLAG PRAXIX-SIGNAL-ROOM
ASTRIX-TRAP GAME-MODE PREVIOUS-HOLE
BANDITS-SPELL GAME-WON? PRSI-PREP
BASE-PICTURE-HEIGHT GOOD-CAPTAIN PUPDATE-FLAG
BASE-PICTURE-WIDTH GOOD-CAPTAIN-NAME RED-ROCK-COUNT
BITE-VICTIM GRAPHIC-WINDOW-X REJOINED
BITE-VICTIM-OBJECT GRAPHIC-WINDOW-Y RIGHT-COLUMN-LEFT-EDGE
BLACK-COUNT GRAPHICS-FLAG RIGHT-COLUMN-WIDTH
BLACK-PICTURE-BORDER H-BOLD RIGHT-DIAL
BORDER-FLAG HERE RUNE-TBL
BRAN-FOO-FLAG HOLE-VICTIM RUNES-SET
BUTTON-PUSHED I-BUTTON-PUSH-FLAG SAVED-CLICK
CAPTAIN INHIBIT-MOUSE-COMMANDS SAVED-GAME-MODE
CAPTAIN-NAME-TBL INIT-TEXT-LEFT SAVED-GAME-ROOM
CAPTAIN-TBL INITIAL-RUNE-TBL SAVED-GRAPHIC
CHARACTER-INPUT-TBL INN-TALK SAVED-GRAPHIC-ROOM
CHASM-STRAGGLER INTERPRETER SAVED-PARTY-COMMANDS
CHEAT INTRO-PICS SAVED-PCF
CHOSEN-BOAT KIDNAPPED SAVED-PCM
CHR-COMMAND-COLUMN KILLED-TBL SCENE-OBJECT
CHRH LAKE-VICTIM SCREEN-HEIGHT
CHRV LAST-SHORE-MOVE SCREEN-WIDTH
COMBAT-DAMAGE LEADER SCRIPTING-FLAG
COMBAT-ROUND LEFT-DIAL SHORE-ROOMS
COMBAT-SPELL LONG-ARROW-WIDTH SHORT-ARROW-WIDTH
COMBAT-SPELL-ROUND MAC-SPECIAL-MENU SMART-DEFAULT-FLAG
COMBAT-STRENGTHS MIX-DONE SPOKE-ELVISH
COMMAND-OBJECT-COLUMN MIX-ESSENCE SPOTTED-ISLAND?
COMMAND-START-LINE MIX-REAGENT STAIR-TO-PRISON?
COMMAND-WIDTH MIXTURE SUBGROUP-MODE
COMMAND-WIDTH-PIX MODE-ENTRANCE-FLAG TAG-HOLDING-POUCH
CONSIDER-COUNT MOUSE-INFO-TBL TAG-NAME
CURRENT-GRAPHIC MOUSE-JOURNEY-MENU-TBL TAG-NAME-LENGTH
CURRENT-SCREEN MOUSE-MENU-TBL TAG-PINCH
CURRENT-STAMP MOUSETBL TAG-SPELL
CURRENT-STAMP-LOC MOVE-NUMBER TAG-SWAP-CHR
DARK-EVIL-LOC NAME-COLUMN TANGLE-TWO-B
DARKNESS-CAST? NAME-RIGHT TEXT-WINDOW-LEFT
DAY NAME-TBL TOP-SCREEN-LINE
DEBUG NAME-WIDTH TORRENT-LOSER
DEFENSIVE-RESULT NAME-WIDTH-PIX TRADE-COUNT
DEMON-COUNT NEW-DEFAULT-FLAG TRAP-VICTIM
DEMON-SEARCHING? NO-ARROW-WIDTH TRAPPED-IN-HOLE
DEMON-VICTIM NO-DEFAULTS TRIED-CASTING-WIND?
DISSIPATION-WARNING NUL-CHARACTER-INPUT UL-DROPPED
DONT-CAST-FLAG NUM-POWDERS UPDATE-FLAG
DONT-SCRIPT-INPUT NYMPHS-COMING? VALEN-BRAN-FLAG
DWM-FACING O-TABLE WARREN-COUNT
DWM-HERE OFFENSIVE-RESULT WEBBA-MAP-GLOW-LOC
DWM-LOC1 OPPONENT WIZSPEAK
DWM-LOC2 OPTION-ACTOR WPRINT-EBUF
E-INBUF OPTION-OLD-MODE XFER-TBL
E-LEXV ORC-FIGHT-SPELL XFER-TRAP
E-TEMP PADDLE-FLAG XFWRD
E-TEMP-LEN PADDLE-TBL XHWRD
ESSENCE-CONT-TBL PART-TWO XVWRD
ESSENCE-OBJECT-TBL PARTY ZAN-VICTIM
ESSENCE-TBL PARTY-COMMAND-COLUMN
F-KEY-TBL PARTY-COMMANDS
Objects: 434
ABOVE-FLUME LAKE-SHORE-1
ACTIVE-MINE LAKE-SHORE-2
ACTIVE-MINE-WALLS LAKE-SHORE-3
ALLERGY-SITE LANDS-END
ALONG-FLUME LANDS-END-DRINKS
ALWAYS-SPELLS LANDS-END-PEOPLE
ANGELES-PATH LANDS-END-TAVERN
ANIMATE-SPELL LAVOS
ASK-MINER-OBJECTS LEVITATE-SPELL
ASK-MINER-ORCS LIGHT-SPELL
ASK-MINER-ROCKS LIGHTNING-SPELL
ASK-TREE-LOCATION LOWER-LEFT-RUNE
ASK-TREE-OBJECTS LOWER-RIGHT-RUNE
ASK-TREE-PATHS MILL
ASK-UMBER-MUDWARGS MILL-MACHINERY
ASK-UMBER-OBJECTS MILL-SCENE
ASTRIX-MAZE MINAR
BANDITS MINAR-OBJECT
BANDITS-FIGHT MINE-1-E
BEACHED-FAR MINE-1-W
BEACHED-NEAR MINE-2-W
BEND-WILL-SPELL MINE-FIGHT
BERGON MINE-HOLE
BERGON-OBJECT MINE-HOLE-CRACK
BERGON-SEARCH MINE-JUNCTION
BERN-I-DEN MINE-LOWER-STAIR
BERN-I-LAV MINE-ORC-BODIES
BITE-FOREST MINE-ORCS
BLACK-REAGENT MINE-STAIR
BLUE-REAGENT MINER
BOAT MINER-PASSAGE
BOAT-CAPTAIN MINER-SACK
BOAT-CREW MOAT-BRIDGE
BOAT-SKY MOAT-WATER
BOAT-TWIN-ISLES MUD-SPELL
BOTTOM-RUNE NEWHALL-PASS
CANCEL-OBJECT NORTH-ORC-FORK
CANYON-BODIES NUL-ESSENCE-1
CANYON-CAIRN NUL-ESSENCE-2
CANYON-COUNTRY NUL-ESSENCE-3
CANYON-GATE NXFER-1
CASTLE-BASE NXFER-2
CASTLE-BRIDGE NXFER-3
CASTLE-COURTYARD NYMPH-STONE
CASTLE-COURTYARD-RUINS OLD-MINE
CASTLE-DUNGEON OLD-MINE-WALLS
CASTLE-DUNGEON-CELLS OPTION-MODE
CASTLE-TOWER ORC-ANTE
CASTLE-TROVE ORC-FIGHT
CAVERN-1 ORC-FORK
CLOCK-QUEUE ORC-JUNCTION
COLD-SPELL ORC-VESTIBULE
CONTROLS-ROOM ORCS
CURIO-SHOP ORCS-CAMP
DARK-EVIL-CAVERN OUTSIDE-MOAT
DARKNESS-SPELL OUTSIDE-ORC-CAMP
DEFAULT-SCENE OUTSIDE-PRISON
DEMON-DEMON P-D-R-ORCS
DEMON-SHADOW PICK-AXE
DESPAIR-SPELL POUCH
DWARF-MEETING PRAXIX
DWARF-MEETING-LOC PRAXIX-CAST-OBJECTS
DWARF-STONE PRAXIX-DIVERSION
DWARVES PRAXIX-DIVERSION-ROOM
ELF-HOME PRAXIX-OBJECT
ELF-HOME-2 PRAXIX-POUCH
ELF-HOME-ELVES PRAXIX-SEARCH
ELF-HOME-FIRE PRAXIX-TALES
ELF-STONE PRAXIX-VS-EVIL
ELFENTIDE PRISON
ELFSTREAM PRISON-RUNES
ELFSTREAM-1 PROVISION-MODE
ELFWOOD-2 RAFT
END-SESSION-ROOM RAIN-SPELL
ENDING-ROOM RANDOM-OBJECTS
ESHER REAGENT
ESHER-OBJECT REAGENTS
ESSENCE-AIR RED-ROCK
ESSENCE-EARTH RESET-FOREBODING-OBJ
ESSENCE-FIRE RIVER
ESSENCE-WATER RIVER-1
ESSENCES RIVER-2
FALLS RIVER-3
FAR-CHASM RIVER-FALLS
FAR-VISION-SPELL ROPE
FIGHT-MODE SALT
FIRE-SPELL SAVED-SPELLS
FLUME-POOL SAVED-TAG-OBJECTS
FOG-CAMP SCRIPT-ON-ROOM
FOG-SPELL SHERIFF
FOREBODING-SPELL SHERIFF-LEAVES
FOREST-FIRE SIXTH-STONE
FOREST-FIRE-ELVES SOUTH-SEAS
FOREST-FIRE-FIRE SPECIAL-VISION-SPELL
FOREST-FORK SPIRIT-STONE
FOREST-GATE SPYGLASS
FOREST-GLADE STAFF
FOREST-GLADE-EDGE STAIR-BOTTOM
GAME-ROOM STAIR-CHASM
GATE-JUNCTION STAIR-JUNCTION
GATE-RUNES START-LOC
GLADE-STUMP STONE-PILE
GOLD-STREAM STORMY-SEAS
GOLD-STREAM-OBJ STORMY-SEAS-BOAT
GRAY-REAGENT STORY-AGRITH
GRAY-STONE STORY-CASTLE
GROUND STORY-CAVERNS
GROUP-FOREST STORY-CEDRITH
HAVE-YOU-EVER STORY-DWARF-GATES
HERMIT-HILL STORY-ELVES
HERMIT-HILL-HUT STORY-ORCS
HERMIT-HUT STORY-TOWERS
HERMIT-HUT-HERMIT STRANGE-GATE
HERMIT-POWDER SUNRISE-MOUNTAIN
HIGH-PLAIN SUNRISE-TOWER-OBJECT
HIGH-PLAIN-LAKE SUNSET-TOWER
HIMSELF-OBJECT SYLMAR
HINT-ALLERGY T-O-T-LEAVES
HINT-AVALANCHE TAG
HINT-BANDITS TAG-BECOMES-VISIBLE
HINT-BANDITS-FLANK TAG-BLUE-POWDER
HINT-BITE-FOREST TAG-C-BLUE-POWDER
HINT-CAMPGROUND TAG-C-RED-POWDER
HINT-CASTLE TAG-C-WHITE-POWDER
HINT-CHASM TAG-C-YELLOW-POWDER
HINT-DARK-PRESENCE TAG-OBJECT
HINT-DIVERSION TAG-POWDERS
HINT-DKAO TAG-RED-POWDER
HINT-DOOR TAG-SEARCH
HINT-DUNGEON TAG-WHITE-POWDER
HINT-DWARF-LIE TAG-YELLOW-POWDER
HINT-DWARVES TALE-BERN-I-ELAN
HINT-ELF-SPEAK TALE-DWARF-GATES
HINT-ELVES TALE-DWARVES
HINT-EVIL-CAVERN TALE-ELVES
HINT-FOG TALE-MAGIC
HINT-GATE-RUNES TALE-NYMPHS
HINT-GOLD TALE-RETH-A-ZAR
HINT-HOLE TALE-WIZARDS
HINT-INN TALKING-TREE
HINT-JAIL TANGLE-TREES-1
HINT-LAKE TANGLE-TREES-2
HINT-MAGIC TANGLE-TREES-3
HINT-MILL TANGLESCENE
HINT-MILL-TRAPPED TANGLETREE
HINT-MINAR TANGLEWOOD
HINT-MTN-LION TANGLEWOOD-1
HINT-MUDWARGS TANGLEWOOD-2
HINT-NIGHTFANG TANGLEWOOD-3
HINT-NO-FIRE TAVERN-OTHER-TABLE
HINT-NYMPH-STONE THREE-CONNECTOR
HINT-OLD-MINE TOMB
HINT-ORC-FIGHT TOMB-ANTE
HINT-ORC-TRAP TOMB-ANTE-DOOR
HINT-POUCH TOMB-COFFIN
HINT-PRISON TOMB-RUNES
HINT-REEF TOMB-VAULT
HINT-REEF-STUCK TOP-RUNE
HINT-RIVER TORCH
HINT-RUNES TRAP-SITE
HINT-SIGNAL TRAVEL-MODE
HINT-SOUTH-SEAS TREE-FORK
HINT-STONES TREMOR-SPELL
HINT-STRANGE-GATE TUJUNGA-PATH
HINT-STUMP UL-2
HINT-TANGLESCENE UL-2-BERGON
HINT-TANGLETREES UL-2-ESHER
HINT-TAVERN UL-2-MINAR
HINT-TREMOR UL-2-PIT
HINT-UMBER UL-2-PIT-GRATE
HINT-VAULT UL-JCN
HINT-WEBBA-MAP UL-PIT
HINT-WOOD-ELF UL-PIT-BOTTOM
HINT-WOUNDS UL-TREASURY
HINTS UL-TREASURY-PIT
HURTH UL-TREASURY-PIT-GRATE
HURTH-OBJECT UMBER
HURTH-STORIES UMBER-SACK
HYE-BOAT UMBER-STORIES
HYE-DIVERSION UNDERFOREST-2
HYE-DRINKS UNDERGROUND-SPELLS
HYE-DROP UNDERPOOL-2
HYE-FIRE UNDERPOOL-2-TUBE
HYE-FOREBODING UNDERSHORE-1
HYE-GLOW UPPER-LEFT-RUNE
HYE-INNKEEPER UPPER-RIGHT-RUNE
HYE-JAIL WAITER
HYE-MIST WARM-POOL
HYE-RIVER WARREN
HYE-SPELLS WARREN-WALLS
HYE-STEAL WEBBA-FOOD
HYE-TANGLE WEBBA-MAP
HYE-TOWER WEBBAS
HYE-VOYAGE WESTFLAKE-ROOT
I-BUTTON-PUSH WHARF
I-CLEAR-SINGLE-MOVE-GRAPHIC WIND-SPELL
I-CLEAR-WEBBA-MAP-EXAMINE WINDOWS-UNUSED
I-FOUND-ESSENCE WOOD-ELF
I-INIT-RANDOM-STUFF XFER-1
I-LAKE-VICTIM-COMES-TO XFER-1-ANTE
I-NYMPHS-ARRIVE XFER-2
I-PIT-SURFACE XFER-2-ANTE
I-TORRENT-HITS XFER-3
I-WEBBA-MAP-GLOW XFER-3-ANTE
ILLNESS-SPELL XFER-CONTROLS
IN-RIVER XFER-JCN
INN XFER-MASTER
INNKEEPER ZAN-1
INSIDE-MOAT ZAN-1-CURIO-SHOP
INVENTORY ZAN-1-GENERAL-STORE
INVISIBLE-SPELL ZAN-2
IRON-KEY ZAN-2-INN
JAIL ZAN-2-TAVERN
JAIL-CELL ZAN-CAVE
JAIL-STORAGE ZAN-OUTSKIRTS
LAKE-CAVE ZAN-TAVERN
LAKE-POOL ZEPHYR
Properties: 42
P?12DESC P?EXBITS P?REFRESH
P?8DESC P?EXIT P?REMOVE
P?ACTION P?FIGHT-COMMANDS P?RETREAT
P?ADD P?GRAPHIC P?ROBJ
P?ATTACK P?KBD P?SAVED-COMMANDS
P?CAST-LIMIT P?KBD2 P?SDESC
P?CBIT P?MIX-COLOR P?SOLUTION
P?CLOCK P?MIX-SPELL P?SPECIAL-ACTION
P?COLOR P?MODE-COMMANDS P?STATUS
P?DEFEND P?MOVE P?STONE-NAME
P?EBITS P?NUDGE P?TEMP
P?ENTER P?OPTION-COMMANDS P?TEXT
P?EOFF P?PROVISION-COMMANDS P?TIME
P?ESSENCE P?PRSI P?TRAVEL-COMMANDS
Flags: 38
ADVISE DONT-DROP GRAY-MIX PROVISIONER TRAPPED
BLACK-MIX DONT-EXAMINE IN-PARTY SCOUTED TRIED
BLUE-MIX DONT-SCOUT INCAPACITATED SEEN TRUTHFUL
BUSY DONT-TAKE INDOORS SHADOW UNDERGROUND
COARSE ENCHANTED INVENTORIED SINGLE-CAST UNDERWATER
DANGEROUS ENCLOSED LIT SOLVED USED-UP
DEAD EXAMINED NEAR-DARK SUBGROUP
DONT-CAST FORBIDDING NEVER-DROP TORCHBIT

BIN
journey.seg Normal file

Binary file not shown.

6177
journey.seginfo Normal file

File diff suppressed because it is too large Load diff

273
journey.split Normal file
View file

@ -0,0 +1,273 @@
zsplit of 5/1/89 13:22.
2 disks active
5 disks allowed
Picture information from /home/development/curpix/journeyapple.d; pictures from /home/development/curpix/journey.apple.1.
Preload size 107
Extra preload 23
Segment 0 pictures go with segment 0.
Splitting journey.seg...
Segments: 17
Pages: 552
Generated global picture directory: 1 pages.
Segment 0: 0
Pages 0-111 499-530
144 pages, 23058 picture bytes
Segment 1: LAVOS
Pages 112-142 531-533
34 pages, 29663 picture bytes
Segment 2: ZAN
Pages 222 415-479 534-537
70 pages, 27908 picture bytes
Segment 3: CASTLE
Pages 202 222 365-386 399-415 538-539
43 pages, 30476 picture bytes
Segment 4: MILL
Pages 370 372 386-399 537-538
18 pages, 10995 picture bytes
Segment 5: TANGLEWOOD
Pages 204-214 539
12 pages, 7196 picture bytes
Segment 6: CAVERNS
Pages 222 303-323 330-338 540-541
33 pages, 18359 picture bytes
Segment 7: MINES
Pages 222 323-330 338-365 537 539-540
40 pages, 33134 picture bytes
Segment 8: PART2
Pages 299-303 541
6 pages, 0 picture bytes
Segment 9: DWARVES
Pages 142-162 225-239 540 550-551
39 pages, 12674 picture bytes
Segment 10: STAIR
Pages 239-253 550
16 pages, 9476 picture bytes
Segment 11: ORC-FIGHT
Pages 150-162 540
14 pages, 8132 picture bytes
Segment 12: BOAT
Pages 202 222 457 479-498 533-534
25 pages, 13965 picture bytes
Segment 13: FOREST
Pages 140 162-204 540-541 543-547
51 pages, 29227 picture bytes
Segment 14: NYMPHS
Pages 269-284 547-548
18 pages, 17633 picture bytes
Segment 15: LAKE
Pages 162-164 222 253-269 284-292 548-550
33 pages, 19135 picture bytes
Segment 16: RIVER
Pages 202 214-225 252-253 292-299 541-543
26 pages, 5181 picture bytes
Object bytes read in: 282624
Putting pages 0 - 31 and 35 - 109 in preload.
Putting pages 110 - 132 in extra preload.
Adding segment 0 to disk 2; total size now 58.
Adding segment 0 pictures to 2; total size now 104.
Adding global picture directory to 2; total size now 105.
Adding unused segment LAVOS to disk 3; total size now 71.
Adding unused segment LAKE (adjacent to LAVOS) to disk 3; total size now 142.
Adding unused segment DWARVES (adjacent to LAVOS) to disk 3; total size now 203.
Adding unused segment RIVER (adjacent to LAVOS) to disk 3; total size now 235.
Adding unused segment STAIR (adjacent to DWARVES) to disk 3; total size now 265.
Adding unused segment PART2 (adjacent to RIVER) to disk 3; total size now 269.
Adding unused segment ZAN to disk 4; total size now 125.
Adding unused segment CASTLE (adjacent to ZAN) to disk 4; total size now 226.
Adding unused segment MILL (adjacent to ZAN) to disk 4; total size now 259.
Moving 2 pages to 2.
3 (118) left on 3.
13 (121) left on 4.
270 (0) left on 5.
163 left on 2.
Adding unused segment FOREST to disk 5; total size now 108.
Adding unused segment NYMPHS (adjacent to FOREST) to disk 5; total size now 159.
Adding unused segment TANGLEWOOD (adjacent to FOREST) to disk 5; total size now 184.
Adding unused segment CAVERNS to disk 5; total size now 250.
Moving 12 pages to 2.
15 (106) left on 3.
13 (121) left on 4.
32 (96) left on 5.
151 left on 2.
Moving 1 pages to 2.
15 (106) left on 3.
14 (120) left on 4.
33 (95) left on 5.
150 left on 2.
Adding unused segment ORC-FIGHT to disk 5; total size now 265.
Moving 12 pages to 2.
27 (94) left on 3.
14 (120) left on 4.
17 (95) left on 5.
138 left on 2.
Moving page 365 from 4 (15 (119) left) to 2 (137 left).
Moving page 366 from 4 (16 (118) left) to 2 (136 left).
Moving page 367 from 4 (17 (117) left) to 2 (135 left).
Moving page 368 from 4 (18 (116) left) to 2 (134 left).
Moving page 369 from 4 (19 (115) left) to 2 (133 left).
Moving page 370 from 4 (20 (114) left) to 2 (132 left).
Moving page 371 from 4 (21 (113) left) to 2 (131 left).
Moving page 372 from 4 (22 (112) left) to 2 (130 left).
Moving page 373 from 4 (23 (111) left) to 2 (129 left).
Moving page 374 from 4 (24 (110) left) to 2 (128 left).
Moving page 375 from 4 (25 (109) left) to 2 (127 left).
Moving page 376 from 4 (26 (108) left) to 2 (126 left).
Moving page 377 from 4 (27 (107) left) to 2 (125 left).
Moving page 378 from 4 (28 (106) left) to 2 (124 left).
Moving page 379 from 4 (29 (105) left) to 2 (123 left).
Moving page 380 from 4 (30 (104) left) to 2 (122 left).
Moving page 381 from 4 (31 (103) left) to 2 (121 left).
Moving page 382 from 4 (32 (102) left) to 2 (120 left).
Moving page 383 from 4 (33 (101) left) to 2 (119 left).
Moving page 384 from 4 (34 (100) left) to 2 (118 left).
Moving page 385 from 4 (35 (99) left) to 2 (117 left).
Moving page 386 from 4 (36 (98) left) to 2 (116 left).
Moving page 387 from 4 (37 (97) left) to 2 (115 left).
Moving page 388 from 4 (38 (96) left) to 2 (114 left).
Moving page 389 from 4 (39 (95) left) to 2 (113 left).
Moving page 390 from 4 (40 (94) left) to 2 (112 left).
Moving page 391 from 4 (41 (93) left) to 2 (111 left).
Moving page 392 from 4 (42 (92) left) to 2 (110 left).
Moving page 393 from 4 (43 (91) left) to 2 (109 left).
Moving page 394 from 4 (44 (90) left) to 2 (108 left).
Moving page 395 from 4 (45 (89) left) to 2 (107 left).
Moving page 396 from 4 (46 (88) left) to 2 (106 left).
Moving page 397 from 4 (47 (87) left) to 2 (105 left).
Adding unused segment BOAT to disk 4; total size now 270.
Moving 1 pages to 2.
28 (93) left on 3.
1 (106) left on 4.
17 (95) left on 5.
104 left on 2.
Moving page 133 from 3 (29 (92) left) to 2 (103 left).
Moving page 134 from 3 (30 (91) left) to 2 (102 left).
Moving page 135 from 3 (31 (90) left) to 2 (101 left).
Moving page 136 from 3 (32 (89) left) to 2 (100 left).
Moving page 137 from 3 (33 (88) left) to 2 (99 left).
Moving page 138 from 3 (34 (87) left) to 2 (98 left).
Moving page 139 from 3 (35 (86) left) to 2 (97 left).
Moving page 141 from 3 (36 (85) left) to 2 (96 left).
Moving page 142 from 3 (37 (84) left) to 2 (95 left).
Moving page 143 from 3 (38 (83) left) to 2 (94 left).
Moving page 144 from 3 (39 (82) left) to 2 (93 left).
Moving page 145 from 3 (40 (81) left) to 2 (92 left).
Moving page 146 from 3 (41 (80) left) to 2 (91 left).
Moving page 147 from 3 (42 (79) left) to 2 (90 left).
Moving page 148 from 3 (43 (78) left) to 2 (89 left).
Moving page 149 from 3 (44 (77) left) to 2 (88 left).
Moving page 215 from 3 (45 (76) left) to 2 (87 left).
Moving page 216 from 3 (46 (75) left) to 2 (86 left).
Moving page 217 from 3 (47 (74) left) to 2 (85 left).
Moving page 218 from 3 (48 (73) left) to 2 (84 left).
Moving page 219 from 3 (49 (72) left) to 2 (83 left).
Moving page 220 from 3 (50 (71) left) to 2 (82 left).
Moving page 221 from 3 (51 (70) left) to 2 (81 left).
Moving page 223 from 3 (52 (69) left) to 2 (80 left).
Moving page 224 from 3 (53 (68) left) to 2 (79 left).
Moving page 225 from 3 (54 (67) left) to 2 (78 left).
Moving page 226 from 3 (55 (66) left) to 2 (77 left).
Moving page 227 from 3 (56 (65) left) to 2 (76 left).
Moving page 228 from 3 (57 (64) left) to 2 (75 left).
Moving page 229 from 3 (58 (63) left) to 2 (74 left).
Moving page 230 from 3 (59 (62) left) to 2 (73 left).
Moving page 231 from 3 (60 (61) left) to 2 (72 left).
Moving page 232 from 3 (61 (60) left) to 2 (71 left).
Moving page 233 from 3 (62 (59) left) to 2 (70 left).
Moving page 234 from 3 (63 (58) left) to 2 (69 left).
Moving page 235 from 3 (64 (57) left) to 2 (68 left).
Moving page 236 from 3 (65 (56) left) to 2 (67 left).
Moving page 237 from 3 (66 (55) left) to 2 (66 left).
Moving page 238 from 3 (67 (54) left) to 2 (65 left).
Moving page 239 from 3 (68 (53) left) to 2 (64 left).
Moving page 240 from 3 (69 (52) left) to 2 (63 left).
Moving page 241 from 3 (70 (51) left) to 2 (62 left).
Moving page 242 from 3 (71 (50) left) to 2 (61 left).
Moving page 243 from 3 (72 (49) left) to 2 (60 left).
Moving page 244 from 3 (73 (48) left) to 2 (59 left).
Moving page 245 from 3 (74 (47) left) to 2 (58 left).
Moving page 246 from 3 (75 (46) left) to 2 (57 left).
Moving page 247 from 3 (76 (45) left) to 2 (56 left).
Moving page 248 from 3 (77 (44) left) to 2 (55 left).
Moving page 249 from 3 (78 (43) left) to 2 (54 left).
Moving page 250 from 3 (79 (42) left) to 2 (53 left).
Moving page 251 from 3 (80 (41) left) to 2 (52 left).
Moving page 252 from 3 (81 (40) left) to 2 (51 left).
Moving page 253 from 3 (82 (39) left) to 2 (50 left).
Moving page 254 from 3 (83 (38) left) to 2 (49 left).
Moving page 255 from 3 (84 (37) left) to 2 (48 left).
Moving page 256 from 3 (85 (36) left) to 2 (47 left).
Moving page 257 from 3 (86 (35) left) to 2 (46 left).
Moving page 258 from 3 (87 (34) left) to 2 (45 left).
Moving page 259 from 3 (88 (33) left) to 2 (44 left).
Moving page 260 from 3 (89 (32) left) to 2 (43 left).
Moving page 261 from 3 (90 (31) left) to 2 (42 left).
Moving page 262 from 3 (91 (30) left) to 2 (41 left).
Moving page 263 from 3 (92 (29) left) to 2 (40 left).
Moving page 264 from 3 (93 (28) left) to 2 (39 left).
Moving page 265 from 3 (94 (27) left) to 2 (38 left).
Moving page 266 from 3 (95 (26) left) to 2 (37 left).
Moving page 267 from 3 (96 (25) left) to 2 (36 left).
Moving page 268 from 3 (97 (24) left) to 2 (35 left).
Moving page 285 from 3 (98 (23) left) to 2 (34 left).
Moving page 286 from 3 (99 (22) left) to 2 (33 left).
Moving page 287 from 3 (100 (21) left) to 2 (32 left).
Moving page 288 from 3 (101 (20) left) to 2 (31 left).
Moving page 289 from 3 (102 (19) left) to 2 (30 left).
Adding unused segment MINES to disk 3; total size now 270.
Moving 1 pages to 2.
1 (55) left on 3.
2 (105) left on 4.
17 (95) left on 5.
29 left on 2.
Moving 3 pages to 2.
4 (52) left on 3.
2 (105) left on 4.
20 (92) left on 5.
26 left on 2.
Split successful.
Map size: 1 page; 132 words.
Making disk map...
Disk 1: Pages 0 to 31 starting on disk page 1.
Disk 1: Pages 35 to 109 starting on disk page 33.
Disk 2: Pages 110 to 132 starting on disk page 0.
Disk 2: Pages 32 to 34 starting on disk page 23.
Disk 2: Pages 133 to 164 starting on disk page 26.
Disk 2: Pages 202 to 202 starting on disk page 58.
Disk 2: Pages 214 to 269 starting on disk page 59.
Disk 2: Pages 284 to 289 starting on disk page 115.
Disk 2: Pages 303 to 303 starting on disk page 121.
Disk 2: Pages 323 to 323 starting on disk page 122.
Disk 2: Pages 330 to 330 starting on disk page 123.
Disk 2: Pages 338 to 338 starting on disk page 124.
Disk 2: Pages 365 to 397 starting on disk page 125.
Disk 2: Pages 499 to 530 starting on disk page 158.
Disk 2: Pages 533 to 533 starting on disk page 190.
Disk 2: Pages 537 to 537 starting on disk page 191.
Disk 2: Pages 539 to 541 starting on disk page 192.
Disk 2: Pages 543 to 543 starting on disk page 195.
Disk 2: Pages 548 to 548 starting on disk page 196.
Disk 3: Pages 290 to 302 starting on disk page 0.
Disk 3: Pages 324 to 329 starting on disk page 13.
Disk 3: Pages 339 to 365 starting on disk page 19.
Disk 3: Pages 531 to 532 starting on disk page 46.
Disk 3: Pages 542 to 542 starting on disk page 48.
Disk 3: Pages 549 to 551 starting on disk page 49.
Disk 4: Pages 398 to 498 starting on disk page 0.
Disk 4: Pages 534 to 536 starting on disk page 101.
Disk 4: Pages 538 to 538 starting on disk page 104.
Disk 5: Pages 165 to 201 starting on disk page 0.
Disk 5: Pages 203 to 213 starting on disk page 37.
Disk 5: Pages 270 to 283 starting on disk page 48.
Disk 5: Pages 304 to 322 starting on disk page 62.
Disk 5: Pages 331 to 337 starting on disk page 81.
Disk 5: Pages 544 to 547 starting on disk page 88.
34 blocks (204 bytes).
Writing disk 1.
Writing disk 2.
Added 46 pages of pictures to file. Total size 244.
Writing disk 3.
Added 214 pages of pictures to file. Total size 266.
Writing disk 4.
Added 163 pages of pictures to file. Total size 268.
Writing disk 5.
Added 158 pages of pictures to file. Total size 250.

BIN
journey.syms Normal file

Binary file not shown.

105
journey.zap Normal file
View file

@ -0,0 +1,105 @@
.NEW 6
; Low core locations
%ZVERSION:: .BYTE 6
.BYTE FLAGS
%ZORKID:: ZORKID
%ENDLOD:: ENDLOD
%START:: GO
%VOCAB:: VOCAB
%OBJECT:: OBJECT
%GLOBAL:: GLOBAL
%PURBOT:: IMPURE
%FLAGS:: .WORD 360
%SERIAL:: .WORD 0
%SERI1:: .WORD 0
%SERI2:: .WORD 0
%FWORDS:: WORDS
%PLENTH:: .WORD 0
%PCHKSM:: .WORD 0
%INTWRD:: .WORD 0
%SCRWRD:: .WORD 0
%HWRD:: .WORD 0
%VWRD:: .WORD 0
%FWRD:: .WORD 0
%FOFF:: FOFF
%SOFF:: SOFF
%CLRWRD:: .WORD 0
%TCHAR:: 0
%TWID:: .WORD 0
%CRFUNC:: .WORD 0
%CHRSET:: .WORD 0
%EXTAB:: LOWCORE-TABLE
.WORD 0
.WORD 0
.WORD 0
.WORD 0
.DEFSEG "BOAT",0,"ZAN"
.DEFSEG "CASTLE",0,"ZAN","MILL","TANGLEWOOD"
.DEFSEG "CAVERNS",0,"MINES","PART2"
.DEFSEG "DWARVES",0,"STAIR","ORC-FIGHT","LAVOS"
.DEFSEG "FOREST",0,"NYMPHS","LAKE","RIVER","TANGLEWOOD"
.DEFSEG "LAKE",0,"FOREST","NYMPHS","STAIR","LAVOS"
.DEFSEG "LAVOS",1,"RIVER","LAKE","DWARVES"
.DEFSEG "MILL",0,"ZAN","CASTLE"
.DEFSEG "MINES",0,"TANGLEWOOD","CAVERNS"
.DEFSEG "NYMPHS",0,"FOREST","LAKE"
.DEFSEG "ORC-FIGHT",0,"STAIR","DWARVES"
.DEFSEG "PART2",0,"TANGLEWOOD","CAVERNS","RIVER"
.DEFSEG "RIVER",0,"PART2","FOREST","LAVOS"
.DEFSEG "STAIR",0,"LAKE","DWARVES","ORC-FIGHT"
.DEFSEG "TANGLEWOOD",0,"CASTLE","MINES","PART2","FOREST"
.DEFSEG "ZAN",0,"BOAT","MILL","CASTLE"
.INSERT "JOURNEYFREQ" ;Frequent word table
.INSERT "JOURNEYDAT" ; Data file
.INSERT "JOURNEYPUR"
.INSERT "OUTPUT"
.INSERT "INPUT"
.INSERT "INTRO"
.INSERT "COMMANDS"
.INSERT "COMMON"
.INSERT "CONTROLS"
.INSERT "CHARACTERS"
.INSERT "OBJECTS"
.INSERT "SPELLS"
.INSERT "TALES"
.INSERT "COMBAT"
.INSERT "LAVOS"
.INSERT "DWARVES"
.INSERT "FOREST"
.INSERT "RIVER"
.INSERT "PRISON"
.INSERT "STAIR"
.INSERT "LAKE"
.INSERT "HERMIT"
.INSERT "ASTRIX"
.INSERT "PART2"
.INSERT "MINES"
.INSERT "FLUME"
.INSERT "TOMB"
.INSERT "FOG"
.INSERT "TRAP"
.INSERT "ZAN"
.INSERT "WHARF"
.INSERT "VOYAGE"
.INSERT "ISLAND"
.INSERT "HINTS"
.INSERT "JOURNEYSTR"
.END

194
journey.zil Normal file
View file

@ -0,0 +1,194 @@
"JOURNEY for
JOURNEY
(c) Copyright 1988 Infocom, Inc. All Rights Reserved."
<VERSION YZIP>
<ZIP-OPTIONS COLOR MOUSE DISPLAY MENU>
<FREQUENT-WORDS?>
<COMPILATION-FLAG DEBUGGING <>>
<DEFINE-SEGMENT LAVOS T DWARVES LAKE>
<DEFINE-SEGMENT DWARVES <> LAVOS>
<DEFINE-SEGMENT ORC-FIGHT <> DWARVES STAIR>
<DEFINE-SEGMENT FOREST <>>
<DEFINE-SEGMENT TANGLEWOOD <> FOREST>
<DEFINE-SEGMENT RIVER <> LAVOS FOREST>
<DEFINE-SEGMENT STAIR <> DWARVES LAKE>
<DEFINE-SEGMENT LAKE <> NYMPHS FOREST>
<DEFINE-SEGMENT NYMPHS <> LAKE FOREST>
<DEFINE-SEGMENT PART2 <> RIVER CAVERNS TANGLEWOOD>
<DEFINE-SEGMENT CAVERNS <> PART2 MINES>
<DEFINE-SEGMENT MINES <> CAVERNS TANGLEWOOD>
<DEFINE-SEGMENT CASTLE <> TANGLEWOOD MILL>
<DEFINE-SEGMENT MILL <> CASTLE>
<DEFINE-SEGMENT ZAN <> CASTLE MILL BOAT>
<DEFINE-SEGMENT BOAT <> ZAN>
<SET REDEFINE!- T>
<SET ZREDEFINE T>
<DIRECTIONS MOVE>
<GLOBAL BORDER-FLAG <>> ;"If T, paint a border around the screen..."
<GLOBAL FONT3-FLAG T> ;"If T, can use special character font 3..."
<GLOBAL FWC-FLAG T> ;"If T, uses fixed-width font for commands..."
<GLOBAL BLACK-PICTURE-BORDER T>
<GLOBAL INTERPRETER 3>
<GLOBAL INIT-TEXT-LEFT 32>
<SETG INIT-TEXT-LEFT 32>
<GLOBAL COMMAND-START-LINE 20>
<GLOBAL COMMAND-WIDTH 16>
<SETG COMMAND-WIDTH 16>
<GLOBAL NAME-WIDTH 15>
<SETG NAME-WIDTH 15>
<GLOBAL TOP-SCREEN-LINE 1>
<GLOBAL PARTY-COMMAND-COLUMN 2>
<GLOBAL SCREEN-HEIGHT 0>
<GLOBAL SCREEN-WIDTH 0>
<GLOBAL NAME-COLUMN 0>
<GLOBAL CHR-COMMAND-COLUMN 0>
<GLOBAL COMMAND-OBJECT-COLUMN 0>
<GLOBAL RIGHT-COLUMN-LEFT-EDGE 0>
<GLOBAL RIGHT-COLUMN-WIDTH 1>
<SETG RIGHT-COLUMN-WIDTH 1>
<GLOBAL PARTY-MAX 4>
<GLOBAL GRAPHIC-WINDOW-X 0>
<GLOBAL GRAPHIC-WINDOW-Y 0>
<PROPDEF KBD <> (KBD X:FIX = 1 <BYTE .X>)>
<PROPDEF KBD2 <> (KBD2 X:FIX = 1 <BYTE .X>)>
<PROPDEF TRAVEL-COMMANDS <>
(TRAVEL-COMMANDS "MANY" CMD:FCN = <> "MANY" <WORD .CMD>)>
<PROPDEF PROVISION-COMMANDS <>
(PROVISION-COMMANDS "MANY" CMD:FCN = <> "MANY" <WORD .CMD>)>
<PROPDEF FIGHT-COMMANDS <>
(FIGHT-COMMANDS "MANY" CMD:FCN = <> "MANY" <WORD .CMD>)>
<PROPDEF OPTION-COMMANDS <>
(OPTION-COMMANDS "MANY" CMD:FCN = <> "MANY" <WORD .CMD>)>
<PROPDEF MODE-COMMANDS <>
(MODE-COMMANDS "MANY" CMD:FCN = <> "MANY" <WORD .CMD>)>
<PROPDEF MIX-COLOR <>
(MIX-COLOR "MANY" S:STRING = <> "MANY" <STRING .S>)>
<PROPDEF MIX-SPELL <>
(MIX-SPELL "MANY" O:OBJECT = <> "MANY" <OBJECT .O>)>
<PROPDEF ATTACK <> (ATTACK "MANY" NUM:FIX = <> "MANY" <BYTE .NUM>)>
<PROPDEF DEFEND <> (DEFEND "MANY" NUM:FIX = <> "MANY" <BYTE .NUM>)>
<PROPDEF CAST-LIMIT 1>
<DEFMAC IN-PARTY? ('FOO)
<FORM FSET? .FOO ',IN-PARTY>>
<DEFMAC ACTION? (FOO)
<FORM EQUAL?
',ACTION
<FORM GVAL
<PARSE <STRING <SPNAME .FOO> "-COMMAND">>>>>
<DEFMAC OBJECT? (FOO)
<FORM EQUAL?
',ACTION-OBJECT
<FORM GVAL .FOO>>>
<DEFMAC PRSI? (FOO)
<FORM EQUAL?
',ACTION-PRSI
<FORM GVAL .FOO>>>
<DEFMAC SET-TEMP ('FOO)
<FORM PUTP ',HERE ',P?TEMP .FOO>>
<DEFMAC GET-TEMP ()
'<GETP ,HERE ,P?TEMP>>
<DEFMAC CLEAR-TEMP ()
'<PUTP ,HERE ,P?TEMP 0>>
<DEFMAC O-COUNT ()
'<GET ,O-TABLE 0>>
<DEFMAC CLEAR-O-TABLE ()
'<PUT ,O-TABLE 0 0>>
<DEFMAC RFATAL ()
'<PROG () <PUSH 8> <RSTACK>>>
<DEFMAC PROB ('BASE?)
<FORM NOT <FORM L? .BASE? '<RANDOM 100>>>>
<DEFMAC CANCEL? ()
'<EQUAL? ,ACTION-OBJECT ,CANCEL-OBJECT>>
<DEFMAC GDEF (NAM 'STR "OPT" ('NUM 0))
<COND (<G? .NUM 0>
<FORM CONSTANT .NAM .NUM>)
(T
<FORM CONSTANT .NAM .STR>)>>
;"Common"
<INSERT-FILE "OUTPUT" T>
<INSERT-FILE "INPUT" T>
<INSERT-FILE "INTRO" T>
<INSERT-FILE "COMMANDS" T>
<INSERT-FILE "COMMON" T>
<INSERT-FILE "CONTROLS" T>
<INSERT-FILE "CHARACTERS" T>
<INSERT-FILE "OBJECTS" T>
<INSERT-FILE "SPELLS" T>
<INSERT-FILE "TALES" T>
<INSERT-FILE "COMBAT" T>
;"Part Ia"
<INSERT-FILE "LAVOS" T>
;"Part Ib"
<INSERT-FILE "DWARVES" T>
<INSERT-FILE "FOREST" T>
<INSERT-FILE "RIVER" T>
<INSERT-FILE "PRISON" T>
<INSERT-FILE "STAIR" T>
<INSERT-FILE "LAKE" T>
<INSERT-FILE "HERMIT" T>
<INSERT-FILE "ASTRIX" T>
;"Part II (a)"
<INSERT-FILE "PART2" T>
<INSERT-FILE "MINES" T>
<INSERT-FILE "FLUME" T>
<INSERT-FILE "TOMB" T>
;"Part II (b)"
<INSERT-FILE "FOG" T>
<INSERT-FILE "TRAP" T>
;"Part III"
<INSERT-FILE "ZAN" T>
<INSERT-FILE "WHARF" T>
<INSERT-FILE "VOYAGE" T>
<INSERT-FILE "ISLAND" T>
;"Hints"
<INSERT-FILE "HINTS" T>
;"Graphics"
<INSERT-FILE "GRAPHICS" T>

BIN
journey.zip Normal file

Binary file not shown.

8036
journeydat.zap Normal file

File diff suppressed because it is too large Load diff

198
journeyfreq.zap Normal file
View file

@ -0,0 +1,198 @@
.FSTR FSTR?1,", " ;4901 4902 4902
.FSTR FSTR?2,"the " ;4191 4192 4192
.FSTR FSTR?3,"and " ;3034 1518 1518
.FSTR FSTR?4,"that " ;2010 671 671
.FSTR FSTR?5,"was " ;1886 944 944
.FSTR FSTR?6,"to " ;1879 1880 1880
.FSTR FSTR?7,". " ;1869 1870 1870
.FSTR FSTR?8,"of " ;1595 1596 1596
.FSTR FSTR?9,"his " ;1236 619 619
.FSTR FSTR?10,"with " ;1122 375 375
.FSTR FSTR?11,"have " ;1110 371 371
.FSTR FSTR?12,"would " ;1084 272 272
.FSTR FSTR?13,"I " ;1068 1069 1069
.FSTR FSTR?14,"said" ;1058 530 530
.FSTR FSTR?15,"The " ;1044 349 349
.FSTR FSTR?16,"had " ;1040 521 521
.FSTR FSTR?17,"we " ;1011 1012 1012
.FSTR FSTR?18,"our " ;992 497 497
.FSTR FSTR?19,"Praxix" ;935 188 777
.FSTR FSTR?20,"were " ;933 312 312
.FSTR FSTR?21,"from " ;927 310 310
.FSTR FSTR?22,"but " ;876 439 439
.FSTR FSTR?23,"into " ;837 280 280
.FSTR FSTR?24,"for " ;810 406 406
.FSTR FSTR?25,"this " ;795 266 266
.FSTR FSTR?26,"not " ;778 390 390
.FSTR FSTR?27,"he " ;774 775 775
.FSTR FSTR?28,"could " ;764 192 192
.FSTR FSTR?29,"in " ;716 717 717
.FSTR FSTR?30,"before " ;700 141 141
.FSTR FSTR?31,"essence" ;700 141 141
.FSTR FSTR?32,"through " ;696 117 117
.FSTR FSTR?33,"But " ;672 169 169
.FSTR FSTR?34,"the" ;660 661 5013
.FSTR FSTR?35,"though" ;656 165 165
.FSTR FSTR?36,"which " ;640 161 161
.FSTR FSTR?37,"return" ;632 159 159
.FSTR FSTR?38,"some " ;594 199 199
.FSTR FSTR?39,"We " ;588 295 295
.FSTR FSTR?40,"Praxix " ;588 589 589
.FSTR FSTR?41,"it " ;586 587 587
.FSTR FSTR?42,"appeared " ;574 83 83
.FSTR FSTR?43,"back " ;516 173 173
.FSTR FSTR?44,"It " ;512 257 257
.FSTR FSTR?45,"something " ;500 51 51
.FSTR FSTR?46,"And " ;498 167 167
.FSTR FSTR?47,"there " ;477 160 160
.FSTR FSTR?48,"been " ;465 156 156
.FSTR FSTR?49,"out " ;458 230 230
.FSTR FSTR?50,"you " ;440 221 221
.FSTR FSTR?51,"what " ;438 147 147
.FSTR FSTR?52,"Hurth" ;436 110 110
.FSTR FSTR?53,"about " ;432 109 109
.FSTR FSTR?54,"started " ;432 73 73
.FSTR FSTR?55,"more " ;426 143 143
.FSTR FSTR?56,"down " ;414 139 139
.FSTR FSTR?57,"Perhaps " ;413 60 60
.FSTR FSTR?58,"replied" ;410 83 83
.FSTR FSTR?59,"continued " ;408 35 35
.FSTR FSTR?60,"Bergon" ;405 82 252
.FSTR FSTR?61,"found " ;404 102 102
.FSTR FSTR?62,"at " ;404 405 405
.FSTR FSTR?63,"spell" ;390 131 131
.FSTR FSTR?64,"again" ;387 130 130
.FSTR FSTR?65,"as " ;383 384 384
.FSTR FSTR?66,"toward " ;380 77 77
.FSTR FSTR?67,"Astrix " ;378 64 64
.FSTR FSTR?68,"nothing " ;372 63 63
.FSTR FSTR?69,"only " ;366 123 123
.FSTR FSTR?70,"magical " ;360 61 61
.FSTR FSTR?71,"himself" ;360 73 73
.FSTR FSTR?72,"path" ;356 179 179
.FSTR FSTR?73,"be " ;354 355 355
.FSTR FSTR?74,"There " ;345 70 70
.FSTR FSTR?75,"soon " ;345 116 116
.FSTR FSTR?76,"little " ;340 69 69
.FSTR FSTR?77,"Bergon " ;338 170 170
.FSTR FSTR?78,"might " ;332 84 84
.FSTR FSTR?79,"other" ;330 111 111
.FSTR FSTR?80,"stone" ;327 110 110
.FSTR FSTR?81,"here" ;324 163 163
.FSTR FSTR?82,"decided " ;324 55 55
.FSTR FSTR?83,"another " ;324 55 55
.FSTR FSTR?84,"are " ;322 162 162
.FSTR FSTR?85,"Dwarv" ;320 81 81
.FSTR FSTR?86,"Wizard" ;320 65 65
.FSTR FSTR?87,"Esher" ;320 81 81
.FSTR FSTR?88,"forest" ;320 81 81
.FSTR FSTR?89,"is " ;317 318 318
.FSTR FSTR?90,"enough " ;315 64 64
.FSTR FSTR?91,"moment" ;312 79 79
.FSTR FSTR?92,"where " ;312 79 79
.FSTR FSTR?93,"passage" ;310 63 63
.FSTR FSTR?94,"cast " ;306 103 103
.FSTR FSTR?95,"ground" ;304 77 77
.FSTR FSTR?96,"approach" ;300 51 51
WORDS:: .TABLE
FSTR?1
FSTR?2
FSTR?3
FSTR?4
FSTR?5
FSTR?6
FSTR?7
FSTR?8
FSTR?9
FSTR?10
FSTR?11
FSTR?12
FSTR?13
FSTR?14
FSTR?15
FSTR?16
FSTR?17
FSTR?18
FSTR?19
FSTR?20
FSTR?21
FSTR?22
FSTR?23
FSTR?24
FSTR?25
FSTR?26
FSTR?27
FSTR?28
FSTR?29
FSTR?30
FSTR?31
FSTR?32
FSTR?33
FSTR?34
FSTR?35
FSTR?36
FSTR?37
FSTR?38
FSTR?39
FSTR?40
FSTR?41
FSTR?42
FSTR?43
FSTR?44
FSTR?45
FSTR?46
FSTR?47
FSTR?48
FSTR?49
FSTR?50
FSTR?51
FSTR?52
FSTR?53
FSTR?54
FSTR?55
FSTR?56
FSTR?57
FSTR?58
FSTR?59
FSTR?60
FSTR?61
FSTR?62
FSTR?63
FSTR?64
FSTR?65
FSTR?66
FSTR?67
FSTR?68
FSTR?69
FSTR?70
FSTR?71
FSTR?72
FSTR?73
FSTR?74
FSTR?75
FSTR?76
FSTR?77
FSTR?78
FSTR?79
FSTR?80
FSTR?81
FSTR?82
FSTR?83
FSTR?84
FSTR?85
FSTR?86
FSTR?87
FSTR?88
FSTR?89
FSTR?90
FSTR?91
FSTR?92
FSTR?93
FSTR?94
FSTR?95
FSTR?96
.ENDT
.ENDI

1858
journeypur.zap Normal file

File diff suppressed because it is too large Load diff

1022
journeystr.zap Normal file

File diff suppressed because it is too large Load diff

650
lake.zabstr Normal file
View file

@ -0,0 +1,650 @@
<BEGIN-SEGMENT LAKE>
<DEFINE-ROUTINE GATE-TO-HIGH-PLAIN>
<OBJECT GOLD-STREAM-OBJ (SDESC "stream") (KBD 83) (LOC GOLD-STREAM) (FLAGS
DONT-TAKE) (EXBITS <+ ,PRAXIXBIT ,ESHERBIT>) (ACTION <ACOND () (<EQUAL? ,ACTION
,EXAMINE-COMMAND> <CLEAR-EXBIT> <COND (<EQUAL? ,ACTOR ,PRAXIX> <PRINTI
"Praxix gazed absently at the stream, then picked up a small stone, and skimmed
it over the rippling surface."> <CRLF> <CRLF> <PRINTI
"\"A storm is brewing,\" he said as the stone disappeared from sight. \"We should
move quickly, lest we be caught in it!\"">) (T <CLEAR-EXBIT ,GOLD-STREAM-OBJ ,
PRAXIX> <ADD-TRAVEL-COMMAND ,HERE ,FIND-GOLD-COMMAND> <FSET ,HERE ,ADVISE> <
WPRINTD ,ACTOR> <PRINTI
" bent down and ran his fingers through the icy mountain waters. He was
just about to stand when his eye caught a glimpse of a shiny golden object
sitting in the stream bed. Rolling up his sleeve, he reached down for it, but
failed to come up with anything."> <CRLF> <CRLF> <PRINTI
"\"I would swear it was gold,\" "> <WPRINTD ,ACTOR> <PRINTI
" said, as he stared intently into the
waters. \"Now that would be something of value!\""> <COND (<FSET? ,BERGON ,
IN-PARTY> <CRLF> <CRLF> <PRINTI
"\"It is possible,\" Bergon replied, thoughtfully, \"that there is gold in these
mountain waters, but I should think not.\"">)>)> <CRLF> <CRLF> <PRINTI
"The dark clouds lowered as they rolled in from the north. The winds
started to howl; it would not be long before the rains came.">)>)>
<DEFINE-ROUTINE ANONF-168>
<COMMAND FIND-GOLD>
<GLOBAL TORRENT-LOSER <>>
<ROOM GOLD-STREAM (TRAVEL-COMMANDS PROCEED-COMMAND NUL-COMMAND NUL-COMMAND) (
GRAPHIC G-GOLD-STREAM) (FLAGS DONT-SCOUT DANGEROUS) (TEMP 0) (ACTION <ACOND (
"AUX" TMP) (<EQUAL? ,ACTION ,GET-ADVICE-COMMAND> <COND (<ZERO? #ZLOCAL!-IZILCH
STACK> <PRINTI "Unsure of whether to press on or to search for more gold, Bergon
gathered us together. \"I fear the storm that is to come,\" he said,
then asked the rest of us for our opinions."> <CRLF> <CRLF> <PRINTI
"It is true that we had not travelled here in search of gold, but gold is
a rare and valuable commodity. And thus, it was difficult to know whether
it would hurt to search just a little longer."> <COND (<FSET? ,ESHER ,IN-PARTY>
<PRINTI " Esher put it best. \"A little
rain won't hurt, and neither would a little gold,\" he said.">)> <UPDATE-FCLEAR
,HERE ,ADVISE>) (<EQUAL? #ZLOCAL!-IZILCH STACK 1> <PRINTI
"Bergon was becoming increasingly concerned. But, as earlier, the
group was less inclined to leave this opportunity behind."> <UPDATE-FCLEAR ,
HERE ,ADVISE>)>) (<EQUAL? ,ACTION ,FIND-GOLD-COMMAND> <PUTP ,HERE ,P?TEMP #
ZLOCAL!-IZILCH TMP> <COND (<EQUAL? .TMP 1> <UPDATE-FSET ,HERE ,ADVISE> <PRINTI
"We each scanned the stream for gold, with little luck. The clouds,
dark and heavy, began to rain down upon us. \"Look!\" said Bergon,
pointing at the chain lightning off to the north. Seconds later, the
earth shook with the roar of thunder. \"It is not far now,\" he
added, as his eyes drifted to the blackening sky.">) (T <PRINTI
"Runoff from the nearby hills was forming into numerous streams,
each coursing into the main channel in which we searched in vain
for gold. Crash! A tree nearby cracked in two by a stroke of
lightning. Rain was falling now in buckets, and Bergon screamed
for us to take cover. As I turned upstream, a great torrent of water
was heading right at me!"> <QUEUE I-TORRENT-HITS 1> <REMOVE-TRAVEL-COMMAND>)>)
(<AND <EQUAL? ,ACTION ,INVENTORY-COMMAND> <FSET? ,HERE ,DEAD> <NOT <QSET? ,HERE
,BLUE-MIX>>> <PRINTI "Frantically, I searched my pack. "> <COND (,TORRENT-LOSER
<PRINTI "Over and over I looked, but it was
no use. The "> <WPRINTD ,TORRENT-LOSER> <PRINTI " was gone!"> <CRLF> <CRLF> <
PRINTI "Praxix looked grim. \"This is an evil omen,\" he said. \"We shall
not be able to replace it!\"">) (T <PRINTI
"Fortunately, we had lost nothing
to the storm.">)>) (<AND <EQUAL? ,ACTION ,CAST-COMMAND> <EQUAL? ,ACTION-OBJECT
,LEVITATE-SPELL> <GRTR? #ZLOCAL!-IZILCH STACK 0>> <COND (<EQUAL? ,ACTION-PRSI ,
TAG-OBJECT> <PRINTI
"Fortunately, Praxix had the presence of mind to cast his levitate spell upon me,
so that the torrent that approached washed harmlessly beneath me, preventing an
almost certain loss of our possessions, no less my life. The others fared less well,
having been knocked quite a ways downstream before they regained their footing. "
> <FIND-STREAM-ESSENCE> <PRINTI
" Having had the good fortune to have found some magical essence, we continued alongside
the stream until we came to the shore of the lake."> <MOVE-TO ,LAKE-SHORE-1>) (
T <PRINTI "Praxix, taking out his air and earth essences, cast his elevation spell on "
> <WPRINTD ,ACTION-PRSI> <PRINTI
", who rose slowly into the air before us. Still, the onrushing
waters approached, and I tried desparately to get away. "> <TORRENT-HITS> <
RTRUE>)>) (<EQUAL? ,ACTION ,PROCEED-COMMAND> <COND (<LESS? #ZLOCAL!-IZILCH TMP
1> <PRINTI "We made our way along the stream down to the shore of the lake, as
a great downpour was loosed from the sky. The stream rose steadily,
and lightning filled the northern sky. Soon, the stream became a
wild torrent, nearly washing us aside as we rushed to take cover.
And then, as quickly as it came, the storm passed, and a wide
rainbow filled the brightening sky."> <CRLF> <CRLF> <PRINTI
"\"That was awfully close!\" I said, checking that the contents
of my pack were secure."> <CRLF> <CRLF> <MOVE-TO ,LAKE-SHORE-1 #ZLOCAL!-IZILCH
STR?490>) (<FSET? ,HERE ,DEAD> <MOVE-TO ,LAKE-SHORE-1 #ZLOCAL!-IZILCH STR?491>)
(T <TORRENT-HITS> <RTRUE>)>)>)>
<DEFINE-ROUTINE ANONF-169>
<OBJECT I-TORRENT-HITS (TIME 0) (ACTION <EXECUTE () <COND (<AND <NOT <FSET? ,
HERE ,DEAD>> <EQUAL? ,HERE ,GOLD-STREAM>> <CRLF> <CRLF> <TORRENT-HITS>)>>)>
<DEFINE-ROUTINE ANONF-170>
<DEFINE-ROUTINE TORRENT-HITS>
<DEFINE-ROUTINE FIND-STREAM-ESSENCE>
<GLOBAL LAKE-VICTIM <>>
<ROOM LAKE-SHORE-1 (TRAVEL-COMMANDS PROCEED-COMMAND NUL-COMMAND NUL-COMMAND) (
FLAGS ADVISE DANGEROUS) (ENTER <EXECUTE () <COND (<NOT <QSET? ,HERE ,SEEN>> <
COND (<EQUAL? ,PARTY-MAX 2> <PRINTI
"After a brief lunch at the lake, we continued around to the far shore."> <
REMOVE-TRAVEL-COMMAND ,LAKE-SHORE-3 ,BACK-COMMAND> <MOVE-TO ,LAKE-SHORE-3> <
RTRUE>)> <CRLF> <CRLF> <PRINTI
"The sun was high in the sky; no sign, not even the rainbow,
remained as testament to the deluge we had just witnessed.
It had been a while since our last meal, and talk soon turned to lunch.
Bergon strode to the shore of the glistening lake and eyed it
hungrily."> <CRLF> <CRLF> <GRAPHIC ,G-LAKE-SHORE> <PRINTI
"\"Have I ever told you about my fishing days at Lendros?\" he
said. Nobody responded to this informal banter, but Bergon
persisted."> <CRLF> <CRLF> <PRINTI
"\"How would everyone feel about some fresh lake trout?\" he asked."> <CRLF> <
CRLF> <PRINTI "\"Oh, my, yes; that would hit the spot!\" he replied, playfully."
> <CRLF> <CRLF> <PRINTI
"Then, taking the slightest murmur from the group as a mandate, he dove
into the icy clear waters."> <CRLF> <CRLF> <PRINTI
"He surfaced soon thereafter; though out of breath, he gasped
something about our upcoming feast"> <COND (<AND <NOT ,2ND-PASS> <NOT <FSET? ,
DWARF-MEETING ,SEEN>>> <SETG LAKE-VICTIM <FIRST-IN-PARTY ,MINAR ,ESHER>> <COND
(,LAKE-VICTIM <PRINTI ". Seeing how weakened Bergon
had become, "> <WPRINTD ,LAKE-VICTIM> <PRINTI
" pulled him from the lake and dove in to
catch our lunch himself. But he did not surface, and, after a few agonizingly
long minutes, our concern turned to alarm."> <PARTY-REMOVE ,LAKE-VICTIM>) (T <
PRINTI ". But Praxix convinced Bergon that,
having already lost some of our party, he should not attempt such a dive in
his breathless condition."> <UPDATE-FCLEAR ,HERE ,ADVISE> <RTRUE>)>) (T <PRINTI
", laughed, then dove again into the
lake. Only this time, he did not return."> <SET LAKE-VICTIM ,BERGON> <
PARTY-REMOVE ,BERGON>)> <FSET ,LAKE-VICTIM ,INCAPACITATED> <SET UPDATE-FLAG #
ZLOCAL!-IZILCH TRUE-VALUE> <ADD-PARTY-COMMAND ,ENTER-LAKE-COMMAND>)>>) (ACTION
<ACOND () (<EQUAL? ,ACTION ,SCOUT-COMMAND> <UPDATE-FSET ,HERE ,DONT-SCOUT> <
FSET ,HERE ,SCOUTED> <COND (<EQUAL? ,ACTOR ,ESHER> <PRINTI "Frant">) (T <PRINTI
"Method">)> <PRINTI "ically, "> <WPRINTD ,ACTOR> <PRINTI
" scouted the area along the shore looking for any sign
of "> <WPRINTD ,LAKE-VICTIM> <PRINTI
". He returned frustrated, having found no sign of our
missing friend."> <COND (<EQUAL? ,ACTOR ,MINAR> <PRINTI
" He did, however, find something of interest, and not far
from where we stood."> <CRLF> <CRLF> <PRINTI
"\"There's a cave,\" he said, \"just a little farther along the
shore.\"">)> <RTRUE>) (<EQUAL? ,ACTION ,GET-ADVICE-COMMAND> <UPDATE-FCLEAR ,
HERE ,ADVISE> <WPRINTD ,LEADER> <COND (<EQUAL? ,LAKE-VICTIM ,BERGON> <PRINTI
", taking charge and attempting at the same time
not to sound overly pessimistic,">)> <PRINTI " said, \"Perhaps "> <WPRINTD ,
LAKE-VICTIM> <PRINTI
" has been caught in a current, and
carried further along the shore.\""> <CRLF> <CRLF> <COND (<EQUAL? ,LEADER ,
PRAXIX> <PRINTI "Praxix continued. \"">) (T <PRINTI "Praxix concurred. \""> <
WPRINTD ,LEADER> <PRINTI " is right,\" he
started, \""> <COND (<EQUAL? ,LEADER ,ESHER> <PRINTI
"though I am loath to admit it. T">) (T <PRINTI "t">)>)> <PRINTI
"here is no sign of "> <WPRINTD ,LAKE-VICTIM> <PRINTI
", and that is very disturbing indeed!
Perhaps we shall learn more as we progress along the lake shore.\""> <RTRUE>) (
<EQUAL? ,ACTION ,PROCEED-COMMAND> <COND (,LAKE-VICTIM <MOVE-TO ,LAKE-SHORE-2 #
ZLOCAL!-IZILCH STR?492>) (T <PRINTI
"After a restful night at the shore of the lake, we marched around the
shore until the path ended, continuing instead steeply upward into the
surrounding hills."> <CRLF> <CRLF> <ICALL!-IZILCH #ZLOCAL!-IZILCH STACK> <RTRUE
>)>) (<EQUAL? ,ACTION ,ENTER-LAKE-COMMAND> <PRINTI
"With a sense of urgency, I jumped into the cold waters and dove
vertically down along a vast rock wall which stretched out of sight
beneath me. But whereas the wall bounded my movements on one side,
the vastness of the lake stretched out before me on the other - clear
and still - and there was no sign of "> <WPRINTD ,LAKE-VICTIM> <PRINTI "!"> <
MOVE-TO ,UNDERSHORE-1>)>)>
<DEFINE-ROUTINE ANONF-171>
<DEFINE-ROUTINE ANONF-172>
<COMMAND (ENTER-CAVE ENTER)>
<ROOM LAKE-SHORE-2 (TRAVEL-COMMANDS PROCEED-COMMAND ENTER-CAVE-COMMAND
NUL-COMMAND) (GRAPHIC G-LAKE-SHORE-CAVE) (FLAGS NEAR-DARK) (ACTION <ACOND () (<
EQUAL? ,ACTION ,SCOUT-COMMAND> <UPDATE-FSET ,HERE ,DONT-SCOUT> <FSET ,HERE ,
SCOUTED> <WPRINTD ,ACTOR> <PRINTI " went ahead, "> <COND (<NOT <FSET? ,PRAXIX ,
LIT>> <PRINTI "but returned before long, telling us that the cave was too
dark to explore without additional light.">) (T <PRINTI
"taking Praxix' staff with him for light. When he returned, he
related that the cave continued until it ended at the site of a deep, warm pool."
>)>) (<EQUAL? ,ACTION ,ENTER-CAVE-COMMAND> <FSET ,HERE ,DONT-SCOUT> <COND (<
FSET? ,LAKE-CAVE ,SEEN> <REMOVE-TRAVEL-COMMAND> <REMOVE-TRAVEL-COMMAND ,
LAKE-SHORE-3 ,BACK-COMMAND> <PRINTI
"Determined not to give up hope, we again entered the cave"> <COND (<FSET? ,
LAKE-POOL ,SEEN> <PRINTI
", continuing down the narrow path until we reached the edge of the warm pool">
<MOVE-TO ,LAKE-POOL>) (T <MOVE-TO ,LAKE-CAVE>)> <PRINTI ".">) (T <PRINTI
"Following the side of the warm spring into the cave, we passed through
caverns whose water-polished walls gave testimony to the torrents that
had flowed through these chambers many long years ago."> <MOVE-TO ,LAKE-CAVE>)>
<COND (<AND <EQUAL? ,HERE ,LAKE-CAVE> <NOT <FSET? ,PRAXIX ,LIT>>> <PRINTI
" We were now far enough into the cave that the available light was fading
quickly. It would be far too dangerous to proceed any further.">)> <RTRUE>) (<
EQUAL? ,ACTION ,PROCEED-COMMAND> <PRINTI
"The path along the shore soon ended, continuing instead steeply
upward into the surrounding hills. Further progress along the shore
would be impossible."> <COND (<AND <NOT <FSET? ,LAKE-VICTIM ,IN-PARTY>> <NOT <
QSET? ,HERE ,BLUE-MIX>>> <PRINTI
" If we continued now, it was almost certain we'd never see "> <WPRINTD ,
LAKE-VICTIM> <PRINTI " again.">)> <MOVE-TO ,LAKE-SHORE-3>)>)>
<DEFINE-ROUTINE ANONF-173>
<ROOM LAKE-SHORE-3 (TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND NUL-COMMAND) (
FLAGS DONT-SCOUT) (GRAPHIC G-LAKE-SHORE-3) (ENTER <EXECUTE () <COND (<FSET? ,
LAKE-VICTIM ,IN-PARTY> <REMOVE-PARTY-COMMAND ,BACK-COMMAND>)>>) (ACTION <ACOND
() (<EQUAL? ,ACTION ,PROCEED-COMMAND> <COND (<AND ,LAKE-VICTIM <NOT <FSET? ,
LAKE-VICTIM ,IN-PARTY>>> <HINT ,HINT-LAKE> <PRINTI
"\"I am afraid we have no alternative,\" "> <WPRINTD ,LEADER> <PRINTI
" said, \"but
to go on without "> <WPRINTD ,LAKE-VICTIM> <PRINTI ".\""> <CRLF> <CRLF>) (<AND
,LAKE-VICTIM <NOT <IN? ,NYMPH-STONE ,INVENTORY>>> <HINT ,HINT-NYMPH-STONE>)> <
COND (,2ND-PASS <COND (<AND <NOT <FSET? ,BITE-FOREST ,SEEN>> <OR <FSET? ,MINAR
,IN-PARTY> <FSET? ,ESHER ,IN-PARTY>>> <PRINTI
"The next morning, we retraced our earlier steps, skirting the edge of the lake,
and descending back into the forest for our return to Astrix. It was soon midday,
and we decided to stop in a nearby clearing for some lunch."> <MOVE-TO ,
BITE-FOREST> <RTRUE>) (T <N-DAY-TREK 3> <RTRUE>)>)> <PRINTI
"We left the lake, climbing out of the valley and into the northeastern
hills. Following a narrow path, we marched until, late in the afternoon,
the path climbed steeply up a high ridge. We arrived as dusk approached
and stood in awe of the world that surrounded us."> <CRLF> <CRLF> <
MOVE-TO-FOREST-RIDGE>) (<EQUAL? ,ACTION ,BACK-COMMAND> <REMOVE-TRAVEL-COMMAND>
<PRINTI "Unwilling to leave the lake without making another attempt at finding "
> <WPRINTD ,LAKE-VICTIM> <PRINTI
", we retraced our steps and soon arrived back at the mouth of
the cave."> <MOVE-TO ,LAKE-SHORE-2>)>)>
<DEFINE-ROUTINE ANONF-174>
<DEFINE-ROUTINE ANONF-175>
<ROOM LAKE-CAVE (TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND NUL-COMMAND) (
FLAGS DONT-SCOUT NEAR-DARK) (ENTER FSET-SEEN) (GRAPHIC G-NARROW-SLIT) (CLOCK <
EXECUTE () <COND (<FSET? ,PRAXIX ,LIT> <FORCE-TRAVEL-COMMAND ,HERE ,
PROCEED-COMMAND>)>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,PROCEED-COMMAND> <COND
(<NOT <FSET? ,PRAXIX ,LIT>> <PRINTI
"Despite the darkness, we continued down the narrow path until it became clearly
futile to do so."> <CRLF> <CRLF> <PRINTI
"\"It is bad enough that we have lost "> <WPRINTD ,LAKE-VICTIM> <PRINTI
",\" Praxix said.
\"It would be folly to risk other lives.\""> <REMOVE-TRAVEL-COMMAND>) (T <
MOVE-TO ,LAKE-POOL #ZLOCAL!-IZILCH STR?495>)>) (<EQUAL? ,ACTION ,BACK-COMMAND>
<PRINTI "It appeared "> <COND (<FSET? ,PRAXIX ,LIT> <PRINTI
"the cave would lead nowhere">) (T <PRINTI
" we would not learn where the cave led">)> <MOVE-TO ,LAKE-SHORE-2 #
ZLOCAL!-IZILCH STR?496>)>)>
<DEFINE-ROUTINE ANONF-176>
<DEFINE-ROUTINE ANONF-177>
<ROOM LAKE-POOL (TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND
ENTER-POOL-COMMAND) (GRAPHIC G-LAKE-POOL) (ENTER FSET-SEEN) (FLAGS UNDERGROUND
ADVISE) (ACTION <ACOND () (<EQUAL? ,ACTION ,GET-ADVICE-COMMAND> <UPDATE-FCLEAR
,HERE ,ADVISE> <COND (<OR <FSET? ,UNDERPOOL-2 ,SEEN> <NOT <FSET? ,ESHER ,
IN-PARTY>>> <PRINTI
"We huddled among ourselves, but few words were spoken. And yet I could see
in Praxix' eyes the desire that I"> <COND (<FSET? ,UNDERPOOL-2 ,SEEN> <PRINTI
" once again">)> <PRINTI " attempt the descent.">) (<FSET? ,UNDERPOOL-2 ,SEEN>
<PRINTI "Esher felt it would be dangerous to explore the pool further, but
Praxix was more optimistic. \"This pool appears natural, yet it is clearly
the handiwork of great artisans; the search for knowledge is always
dangerous, Esher, and yet is it not the purpose of our Journey?\" he said.">) (
T <WPRINTD ,LEADER> <PRINTI
" stood a long while in thought, then asked for advice."> <COND (<GRTR? ,
PARTY-MAX 2> <PRINTI " When none spoke, I made a rare suggestion of my own.">)>
<PRINTI " \"I
am happy to have a look underwater, if you think it would help,\" I
said."> <COND (<NOT <EQUAL? ,LEADER ,PRAXIX>> <CRLF> <CRLF> <PRINTI
"Praxix said nothing; he turned toward the pool and stared.">)> <RTRUE>)>) (<OR
<EQUAL? ,ACTION ,SCOUT-COMMAND> <EQUAL? ,ACTION ,PROCEED-COMMAND>> <
REMOVE-TRAVEL-COMMAND ,HERE ,PROCEED-COMMAND> <UPDATE-FSET ,HERE ,DONT-SCOUT> <
COND (<EQUAL? ,ACTION ,SCOUT-COMMAND> <WPRINTD ,ACTOR>) (T <PRINTI
"Praxix, going on ahead,">)> <PRINTI
" tried to find another path through the cave, but failed. \"This is
as far as it goes,\" he said.">) (<EQUAL? ,ACTION ,BACK-COMMAND> <COND (<FSET?
,UNDERPOOL-2 ,SEEN> <PRINTI "W">) (T <PRINTI
"It appeared the cave would lead nowhere; and so, w">)> <PRINTI
"ith hope fading for our lost friend, we returned to the mouth of the cave."> <
MOVE-TO ,LAKE-SHORE-2>) (<EQUAL? ,ACTION ,ENTER-POOL-COMMAND> <FSET ,HERE ,
ADVISE> <COND (<NOT ,SUBGROUP-MODE> <MAKE-TAG-SUBGROUP #ZLOCAL!-IZILCH
TRUE-VALUE>)> <COND (<FSET? ,UNDERPOOL-2 ,SEEN> <PRINTI
"With Praxix' encouragement, I descended again through the warm
waters, coming finally to the lip of the tube. I had only seconds to
make a decision.">) (T <PRINTI
"It was the consensus that we search the depths of the pool in search of
whatever lay below. I volunteered, giving my pack to Praxix for safe keeping.
Then, taking a deep breath, I plunged into the warming waters."> <CRLF> <CRLF>
<PRINTI "I descended along the rock formations which bounded the pool, admiring
the flowing forms that the water had created through the long ages.
And then, a knot formed in my stomach. For the walls surrounding
me were now smooth, like polished glass. I shuddered, thinking of
what might lie beyond."> <CRLF> <CRLF> <PRINTI
"I had just about reached the limit of my descent, when I
came to the end of the tube as it opened out into what I could only
imagine was the greater part of the lake. I had to think fast: no
matter which choice I made, I would have to surface at once!">)> <MOVE-TO ,
UNDERPOOL-2>) (<AND <EQUAL? ,ACTION ,CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,
FAR-VISION-SPELL>> <PRINTI
"Praxix was intrigued by this pool, and decided to see just how deep
it was. And so he pulled out some fire and air essence, and shot a ball of
flame into the water; it fizzled out even as it penetrated the surface."> <COND
(<FSET? ,ESHER ,IN-PARTY> <PRINTI " Esher raised an eyebrow;">)> <PRINTI
" I stifled a laugh."> <CRLF> <CRLF> <PRINTI
"Praxix straightened up and, trying his best to sound sincere, said,
\"As I suspected!\"">)>)>
<DEFINE-ROUTINE ANONF-178>
<DEFINE-ROUTINE POOL-MOVE>
<COMMAND (LEAVE-TUBE LV-TUBE)>
<COMMAND (ENTER-LAKE ENTER)>
<OBJECT UNDERPOOL-2-TUBE (LOC UNDERPOOL-2) (SDESC "tube") (KBD 84) (FLAGS
DONT-TAKE) (ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <
PRINTI "Having little time, I nonetheless examined the tube. It was smooth to
the touch, and of a material completely foreign to me. Here, at the
bottom, it was only four feet across, making it difficult to maneuver.">)>)>
<DEFINE-ROUTINE ANONF-179>
<ROOM UNDERPOOL-2 (TRAVEL-COMMANDS RETURN-COMMAND LEAVE-TUBE-COMMAND
NUL-COMMAND) (GRAPHIC G-UNDERPOOL-TUBE) (FLAGS UNDERWATER) (ENTER FSET-SEEN) (
ACTION <ACOND () (<EQUAL? ,ACTION ,LEAVE-TUBE-COMMAND> <PRINTI
"Now I am not a cowardly person, yet I was sorely tempted to rise back
to the surface. But some inner reserve of strength guided my actions;
I pulled myself through the lip of the tube, then rose steadily
toward the unknown."> <UL-1-MOVE>) (<EQUAL? ,ACTION ,RETURN-COMMAND> <COND (<
NOT <QSET? ,HERE ,TRIED>> <PRINTI
"Now I am not a cowardly person, though by returning to the surface
it may appear otherwise. And yet, how could I know what I might
find when I rose to the surface outside of the tube? For that matter,
I could not even be sure there was a surface to reach!">) (T <
REMOVE-TRAVEL-COMMAND ,LAKE-POOL ,ENTER-POOL-COMMAND> <PRINTI
"Once again, however, I found myself unable to leave the tube and
venture forth into the unknown.">)> <CRLF> <CRLF> <POOL-MOVE #ZLOCAL!-IZILCH
STR?503>)>)>
<DEFINE-ROUTINE ANONF-180>
<OBJECT WARM-POOL (SDESC "pool") (KBD 80) (LOC LAKE-POOL) (FLAGS DONT-TAKE) (
ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <PRINTI
"Each of us was mesmerized by this lovely pool, whose depth appeared
infinite. "> <WPRINTD ,ACTOR> <PRINTI
" picked up a rock lying nearby and tossed
it into the water; we watched it as it fell and when it finally
disappeared from sight, we were watching still.">)>)>
<DEFINE-ROUTINE ANONF-181>
<COMMAND (ENTER-POOL ENTER)>
<ROOM UNDERSHORE-1 (TRAVEL-COMMANDS DIVE-COMMAND SURFACE-COMMAND NUL-COMMAND) (
FLAGS UNDERWATER) (ENTER <EXECUTE () <MAKE-SUBGROUP ,TAG> <TRAVEL-COMMANDS ,TAG
,NUL-COMMAND>>) (EXIT <EXECUTE () <CLEAR-SUBGROUP> <RESTORE-TAG-COMMANDS>>) (
ACTION <ACOND () (<EQUAL? ,ACTION ,DIVE-COMMAND> <PRINTI
"Mustering my remaining strength, I dove farther along the rock
wall. Almost out of air, I caught sight of the wall's bottom some fifty
or more feet below me. \"He could not have gone this way,\" I said to
myself. \"There is not a person alive strong enough!\" And yet, gazing
into the expanse of lake before me, I could hardly imagine where else he
could have gone without leaving the slightest trace."> <CRLF> <CRLF> <MOVE-TO ,
LAKE-SHORE-1 #ZLOCAL!-IZILCH STR?507>) (<EQUAL? ,ACTION ,SURFACE-COMMAND> <
TRAVEL-COMMANDS ,LAKE-SHORE-1 ,PROCEED-COMMAND> <PRINTI "With no sign of "> <
WPRINTD ,LAKE-VICTIM> <PRINTI
", I returned to the surface and reported
back to the group."> <MOVE-TO ,LAKE-SHORE-1>)>)>
<DEFINE-ROUTINE ANONF-182>
<DEFINE-ROUTINE ANONF-183>
<DEFINE-ROUTINE ANONF-184>
<END-SEGMENT>
<BEGIN-SEGMENT NYMPHS>
<DEFINE-ROUTINE UL-1-MOVE>
<OBJECT UL-2-MINAR (SDESC "Minar") (KBD 77) (FLAGS DONT-TAKE) (ACTION <ACOND ()
(<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <EXAMINE-LAKE-VICTIM>)>)>
<DEFINE-ROUTINE ANONF-185>
<OBJECT UL-2-ESHER (SDESC "Esher") (KBD 69) (FLAGS DONT-TAKE) (ACTION <ACOND ()
(<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <EXAMINE-LAKE-VICTIM>)>)>
<DEFINE-ROUTINE ANONF-186>
<OBJECT UL-2-BERGON (SDESC "Bergon") (KBD 66) (FLAGS DONT-TAKE) (ACTION <ACOND
() (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-MOVE> <EXAMINE-LAKE-VICTIM>)>)>
<DEFINE-ROUTINE ANONF-187>
<DEFINE-ROUTINE EXAMINE-LAKE-VICTIM>
<COMMAND TO-CAVE>
<COMMAND (RETURN-ALONE RETURN)>
<OBJECT I-LAKE-VICTIM-COMES-TO (TIME 0) (ACTION <EXECUTE () <COND (<FSET? ,
LAKE-VICTIM ,INCAPACITATED> <FCLEAR ,LAKE-VICTIM ,INCAPACITATED> <
CHANGE-TRAVEL-COMMAND ,UL-2 ,RETURN-ALONE-COMMAND ,TO-CAVE-COMMAND> <COND (<
EQUAL? ,HERE ,UL-2> <CRLF> <CRLF> <PRINTI "Just then, "> <WPRINTD ,LAKE-VICTIM>
<PRINTI " stirred and I moved to his side. Within a few minutes,
he had regained consciousness, but I advised him to remain quiet and calm"> <
COND (<FSET? ,LAKE-VICTIM ,TRIED> <PRINTI
" until we were ready to make our escape.">) (T <PRINTI
". Although short of breath, he told of his underwater capture by the Nymphs. He
did not know their purpose, nor could he guess, yet he was certain of their evil
designs."> <CRLF> <CRLF> <PRINTI
"\"We must leave here at once,\" he said, \"for surely they will return before
long.\"">)>)>)> <REMOVE ,I-LAKE-VICTIM-COMES-TO>>)>
<DEFINE-ROUTINE ANONF-188>
<ROOM UL-2 (TRAVEL-COMMANDS TO-CAVE-COMMAND WIDE-PATH-COMMAND
NARROW-PATH-COMMAND NUL-COMMAND) (GRAPHIC G-NYMPH-CHAMBER) (FLAGS UNDERGROUND
TORCHBIT LIT) (ENTER <EXECUTE () <TORCH-CHECK ,HERE> <COND (<NOT <QSET? ,HERE ,
SEEN>> <QUEUE I-LAKE-VICTIM-COMES-TO 8> <COND (<EQUAL? ,LAKE-VICTIM ,MINAR> <
UPDATE-MOVE ,UL-2-MINAR ,HERE>) (<EQUAL? ,LAKE-VICTIM ,ESHER> <UPDATE-MOVE ,
UL-2-ESHER ,HERE>) (T <UPDATE-MOVE ,UL-2-BERGON ,HERE>)> <OPTION ,TAG ,
STAND-COMMAND ,HIDE-COMMAND>)>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,
TO-CAVE-COMMAND> <COND (<FSET? ,LAKE-VICTIM ,INCAPACITATED> <PRINTI
"It was clear that we were in great danger, and my immediate reaction was to
return to the pool with "> <WPRINTD ,LAKE-VICTIM> <PRINTI
". But it was painfully obvious that
he was in no condition to be moved, no less withstand the dive. No, I could
return, but it would not be with "> <WPRINTD ,LAKE-VICTIM> <PRINTI "."> <
CHANGE-TRAVEL-COMMAND ,HERE ,TO-CAVE-COMMAND ,RETURN-ALONE-COMMAND>) (T <PRINTI
"Now conscious and regaining his strength, I managed to help "> <WPRINTD ,
LAKE-VICTIM> <PRINTI " back
to the pool"> <COND (<IN? ,TORCH ,INVENTORY> <PRINTI
". As much as I would have preferred to take
the torch along, I simply could not handle both it and "> <WPRINTD ,LAKE-VICTIM
> <PRINTI ". Holding
my friend firmly, we dove">) (T <PRINTI " and then down">)> <PRINTI
" into the warm waters, finally reaching the tube which led back to"> <
END-NYMPH-STORY #ZLOCAL!-IZILCH TRUE-VALUE>)>) (<EQUAL? ,ACTION ,
RETURN-ALONE-COMMAND> <PRINTI "There was no way that I could help poor "> <
WPRINTD ,LAKE-VICTIM> <PRINTI
". In a few moments,
his captors would no doubt arrive, and then both of us might well be doomed.
Heavy of heart, I dove back into the pool, and from there back into the tube
which led back to"> <END-NYMPH-STORY>) (<EQUAL? ,ACTION ,WIDE-PATH-COMMAND> <
COND (<UL-MOVE-CHECK ,UL-JCN> <PRINTI
"With a good deal of apprehension, I ventured through the doorway and into
a hallway which came to a large, empty chamber, with an ornate doorway
to the right and a simpler one to the left, from which a nasty smell
emanated. Ahead, another passage led into the distance."> <UL-MOVE ,UL-JCN>)>)
(<EQUAL? ,ACTION ,NARROW-PATH-COMMAND> <COND (<UL-MOVE-CHECK ,UL-2-PIT> <PRINTI
"The narrow path snaked through the rock until it ended blindly at a very small,
rounded chamber, in the middle of which lay a "> <COND (<FSET? ,UL-2-PIT ,
SCOUTED> <PRINTI "perfectly round pool of water.">) (T <PRINTI
"large stone cover.">)> <UL-MOVE ,UL-2-PIT>)>) (<EQUAL? ,ACTION ,HIDE-COMMAND>
<SINGLE-MOVE-GRAPHIC ,G-LIURA> <FSET ,HERE ,TRIED> <QUEUE I-NYMPHS-ARRIVE 40> <
PRINTI "With some hesitation, I decided to wait outside of the chamber until I could
see who was coming. And then it came, whatever creature it was that inhabited these
halls. It moved slowly, but gracefully, to "> <WPRINTD ,LAKE-VICTIM> <PRINTI
"'s side, as if
checking on his health. Relieved, I was about to greet this unknown being,
when I noticed the ropes which bound together "> <WPRINTD ,LAKE-VICTIM> <PRINTI
"'s hands and
feet! A moment later, the being glided out of the room, and I again reentered."
> <END-OPTION>) (<EQUAL? ,ACTION ,WAIT-COMMAND> <PRINTI
"I did as the creature asked, but this was a tragic mistake. Within minutes"> <
PRINT ,ARMED-CREATURES> <END-NYMPH-STORY>) (<EQUAL? ,ACTION ,STAND-COMMAND> <
SINGLE-MOVE-GRAPHIC ,G-LIURA> <QUEUE I-NYMPHS-ARRIVE 24> <PRINTI
"I stood there as a strange creature entered the chamber, and I cannot honestly say
which of us was the more surprised. But a moment later, it spoke with an utterly
foreign accent and a hint of what I could only call nervousness."> <CRLF> <CRLF
> <PRINTI "\"Your friend is quite ill,\" it said. \"It would be best for you to wait
by his side until I return. Do not touch or examine him! He clings perilously to
life!\" And with that, the creature left the chamber."> <ADD-TRAVEL-COMMAND ,
HERE ,WAIT-COMMAND> <FSET ,HERE ,EXAMINED> <END-OPTION>)>)>
<DEFINE-ROUTINE ANONF-189>
<DEFINE-ROUTINE ANONF-190>
<OBJECT I-NYMPHS-ARRIVE (TIME 0) (ACTION <EXECUTE () <SET NYMPHS-COMING? #
ZLOCAL!-IZILCH TRUE-VALUE>>)>
<DEFINE-ROUTINE ANONF-191>
<GLOBAL NYMPHS-COMING? <>>
<COMMAND (WIDE-PATH WIDE)>
<COMMAND (NARROW-PATH NARROW)>
<OBJECT TORCH (SDESC "torch") (FLAGS DONT-EXAMINE DONT-DROP) (KBD 84) (TEMP 0)
(ACTION <ACOND ("AUX" TMP) (<EQUAL? ,ACTION ,PICK-UP-COMMAND> <COND (<EQUAL? ,
HERE ,UL-PIT> <FCLEAR ,HERE ,TORCHBIT> <FORCE-TRAVEL-COMMAND ,HERE ,
DIVE-COMMAND> <UPDATE-MOVE ,TORCH ,INVENTORY> <COND (<NOT <GETP ,TORCH ,P?TEMP>
> <PRINTI "Not knowing which chambers might be unlighted, I thought it best to take one
of the torches.">) (T <PRINTI
"Again, I attempted to take one of the torches, but this time I succeeded.">)>
<PRINTI " It's light was bright but cold, and its flame gave off little heat.">
) (T <UPDATE-FSET ,TORCH ,DONT-TAKE> <PUTP ,TORCH ,P?TEMP #ZLOCAL!-IZILCH TMP>
<COND (<GRTR? .TMP 1> <PRINTI "Again, ">)> <PRINTI
"I tried to take one of the torches, but failed. They were too firmly attached to
the wall.">)>) (<EQUAL? ,ACTION ,DROP-COMMAND> <PRINTI
"I considered putting down the torch but decided against it, believing that it
might well come in useful later.">)>)>
<DEFINE-ROUTINE ANONF-192>
<DEFINE-ROUTINE TORCH-CHECK>
<DEFINE-ROUTINE UL-MOVE-CHECK>
<DEFINE-ROUTINE UL-MOVE>
<DEFINE-ROUTINE END-NYMPH-STORY>
<OBJECT TALE-NYMPHS (SDESC "Nymphs") (KBD 78) (TEXT <EXECUTE () <TELL
"Praxix, now in a garrulous mood, told the tale of the Nymphs.
\"Long ago, at the beginning of things, it is said that the Nymphs took to
the waters, becoming, well, fish-like: able to remain submerged for extended
periods, swimming silent and deep, hunting for their meals in the great
lakes and oceans of the world. That any remain today is indeed a surprise, though
perhaps not a happy one. It would appear that they are less than friendly now,
but who is to be the judge in these difficult times?">>)>
<DEFINE-ROUTINE ANONF-193>
<CONSTANT ARMED-CREATURES
", a group of armed creatures turned the corner and, catching sight of
me, let out a horrific scream and raced in my direction. Having no other choice,
I sprinted back to the pool and dove in, eventually making my way back to">
<ROOM UL-JCN (TRAVEL-COMMANDS BACK-COMMAND LEFT-COMMAND RIGHT-COMMAND
PROCEED-COMMAND) (FLAGS UNDERGROUND TORCHBIT) (ENTER <EXECUTE () <COND (,
NYMPHS-COMING? <CRLF> <CRLF> <PRINTI "Just then"> <PRINT ,ARMED-CREATURES> <
END-NYMPH-STORY>) (T <GRAPHIC ,G-UNDERLAND-JCN>)>>) (ACTION <ACOND () (<EQUAL?
,ACTION ,BACK-COMMAND> <COND (<UL-MOVE-CHECK ,UL-2> <PRINTI
"Thinking it best to check on my wounded friend, I returned to "> <WPRINTD ,
LAKE-VICTIM> <PRINTI
"'s side. Thankfully, he was now conscious, though confused."> <FCLEAR ,
LAKE-VICTIM ,INCAPACITATED> <COND (<IN? ,NYMPH-STONE ,INVENTORY> <
TRAVEL-COMMANDS ,UL-2 ,TO-CAVE-COMMAND>)> <UL-MOVE ,UL-2>)>) (<OR <EQUAL? ,
ACTION ,LEFT-COMMAND> <EQUAL? ,ACTION ,SMELLY-POOL-COMMAND>> <COND (<
UL-MOVE-CHECK ,UL-PIT> <COND (<EQUAL? ,ACTION ,LEFT-COMMAND> <PRINTI
"The lefthand path led to a good-sized chamber in the middle of which sat a
large pool. A frightful smell emanated from the pool's depths, though I could not
see just what it was that caused it.">) (T <PRINTI
"Holding my nose to avoid becoming sick, I moved gingerly toward the smelly pit
and was soon staring into its murky depths.">)> <CHANGE-TRAVEL-COMMAND ,HERE ,
LEFT-COMMAND ,SMELLY-POOL-COMMAND> <UL-MOVE ,UL-PIT>)>) (<OR <EQUAL? ,ACTION ,
RIGHT-COMMAND> <EQUAL? ,ACTION ,TREASURY-COMMAND>> <COND (<UL-MOVE-CHECK ,
UL-TREASURY> <COND (<NOT <FSET? ,UL-TREASURY ,SEEN>> <PRINTI
"The ornate path led to a beautifully appointed chamber in which hundreds of jewels
and other age-old relics were kept. One, however, stood out from among the others.
It was a simple amulet with a large blue stone which shone with a light of
another world. I stood transfixed before it, not knowing whether I dare take it for
my own.">) (T <PRINTI "Again, I entered the treasury "> <COND (<IN? ,
NYMPH-STONE ,UL-TREASURY> <PRINTI " and found myself facing the blue amulet.">)
(T <PRINTI " and stared at the empty pedestal from which I had taken the blue amulet."
>)>)> <CHANGE-TRAVEL-COMMAND ,HERE ,RIGHT-COMMAND ,TREASURY-COMMAND> <UL-MOVE ,
UL-TREASURY>)>) (<EQUAL? ,ACTION ,PROCEED-COMMAND> <REMOVE-TRAVEL-COMMAND> <
PRINTI "I continued away from the chamber and soon caught sight of a group of creatures
conversing. Rather than reveal myself, I returned to the junction.">)>)>
<DEFINE-ROUTINE ANONF-194>
<DEFINE-ROUTINE ANONF-195>
<COMMAND (SMELLY-POOL SMELLY)>
<COMMAND TREASURY>
<OBJECT UL-2-PIT-GRATE (SDESC "cover") (LOC UL-2-PIT) (KBD 67) (ACTION <ACOND (
) (<EQUAL? ,ACTION ,PICK-UP-COMMAND> <UPDATE-REMOVE ,ACTION-OBJECT> <FSET ,HERE
,SCOUTED> <PRINTI
"The cover was quite heavy, but I did manage to move it aside, revealing a
dark pool of water, about three feet across."> <SET CURRENT-GRAPHIC #
ZLOCAL!-IZILCH FALSE-VALUE> <GRAPHIC ,G-UNDERLAND-GRATE ,G-UNDERLAND-PIT ,
BOTTOM-RIGHT> <ADD-TRAVEL-COMMAND ,HERE ,DIVE-COMMAND> <RTRUE>) (<EQUAL? ,
ACTION ,EXAMINE-COMMAND> <UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> <PRINTI
"The cover itself was made of stone, and appeared quite heavy.">)>)>
<DEFINE-ROUTINE ANONF-196>
<ROOM UL-2-PIT (TRAVEL-COMMANDS BACK-COMMAND NUL-COMMAND NUL-COMMAND) (FLAGS
UNDERGROUND TORCHBIT) (ENTER <EXECUTE () <COND (<IN? ,UL-2-PIT-GRATE ,HERE> <
GRAPHIC ,G-UNDERLAND-GRATE>) (T <GRAPHIC ,G-UNDERLAND-GRATE ,G-UNDERLAND-PIT ,
BOTTOM-RIGHT>)>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,BACK-COMMAND> <COND (<
QSET? ,HERE ,SEEN> <REMOVE-TRAVEL-COMMAND ,UL-2 ,NARROW-PATH-COMMAND>)> <COND (
<UL-MOVE-CHECK ,UL-2> <PRINTI
"I could discern no purpose to this place, so I returned to the chamber outside."
> <UL-MOVE ,UL-2>)>) (<EQUAL? ,ACTION ,DROP-COMMAND> <UL-PIT-DROP>) (<EQUAL? ,
ACTION ,DIVE-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINT ,NARROW-POOL>)>)>
<DEFINE-ROUTINE ANONF-197>
<DEFINE-ROUTINE ANONF-198>
<GLOBAL UL-DROPPED 0>
<DEFINE-ROUTINE UL-PIT-DROP>
<OBJECT UL-TREASURY-PIT-GRATE (SDESC "cover") (LOC UL-TREASURY-PIT) (KBD 67) (
ACTION <ACOND () (<EQUAL? ,ACTION ,PICK-UP-COMMAND> <UPDATE-REMOVE ,
ACTION-OBJECT> <FSET ,HERE ,SCOUTED> <PRINTI
"The cover was indeed heavy, but I did manage to move it aside, revealing a
dark pool of water, about three feet across. I held my torch up to its surface,
but nothing was revealed."> <SET CURRENT-GRAPHIC #ZLOCAL!-IZILCH FALSE-VALUE> <
GRAPHIC ,G-UNDERLAND-GRATE ,G-UNDERLAND-PIT ,BOTTOM-RIGHT> <ADD-TRAVEL-COMMAND
,HERE ,DIVE-COMMAND> <RTRUE>) (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-FSET ,
ACTION-OBJECT ,DONT-EXAMINE> <PRINTI
"The cover itself was made of stone, and appeared quite heavy.">)>)>
<DEFINE-ROUTINE ANONF-199>
<COMMAND JUNCTION>
<ROOM UL-TREASURY-PIT (TRAVEL-COMMANDS BACK-COMMAND JUNCTION-COMMAND
NUL-COMMAND) (FLAGS UNDERGROUND) (ENTER <EXECUTE () <COND (<IN? ,
UL-TREASURY-PIT-GRATE ,HERE> <GRAPHIC ,G-UNDERLAND-GRATE>) (T <GRAPHIC ,
G-UNDERLAND-GRATE ,G-UNDERLAND-PIT ,BOTTOM-RIGHT>)>>) (ACTION <ACOND () (<
EQUAL? ,ACTION ,BACK-COMMAND> <COND (<UL-MOVE-CHECK ,UL-TREASURY> <PRINTI
"There was little point of staying here longer, so I returned to the treasury."
> <UL-MOVE ,UL-TREASURY>)>) (<EQUAL? ,ACTION ,JUNCTION-COMMAND> <COND (<IN? ,
NYMPH-STONE ,INVENTORY> <TRY-TO-LEAVE-TREASURY>) (T <PRINTI
"Having nothing further to do here, I passed through the treasury and back out
into the hallway beyond."> <UL-MOVE ,UL-JCN>)>) (<AND <EQUAL? ,ACTION ,
DROP-COMMAND> <NOT <IN? ,UL-TREASURY-PIT-GRATE ,HERE>> <EQUAL? ,ACTION-OBJECT ,
NYMPH-STONE>> <COND (<FSET? ,UL-TREASURY ,TRAPPED> <PRINTI
"There was no great likelihood of removing the amulet through the usual means,
so I thought there would be no harm of dropping it into the pool. Sure enough, no
magic prevented it from making a rapid descent into the dark waters.">) (T <
PRINTI "On a hunch, I dropped the amulet into the pool and watched it sink rapidly into
the dark waters.">)> <UPDATE-MOVE ,NYMPH-STONE ,UL-PIT-BOTTOM>) (<EQUAL? ,
ACTION ,DIVE-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINT ,NARROW-POOL>)>)>
<DEFINE-ROUTINE ANONF-200>
<DEFINE-ROUTINE ANONF-201>
<CONSTANT NARROW-POOL
"I dove into the pool, and carefully started to descend. This was no ordinary pool,
however; it was a tube, and a narrow one at that. After a short while, the tube
curved and narrowed, so much so that it was soon difficult to proceed. Discouraged,
I returned to the surface.">
<OBJECT I-PIT-SURFACE (TIME 0) (ACTION <EXECUTE () <COND (<EQUAL? ,HERE ,
UL-PIT-BOTTOM> <CRLF> <CRLF> <PRINTI
"Having spent as much time underwater as was possible, I swam back to the surface
to catch my breath."> <MOVE-TO ,UL-PIT>)>>)>
<DEFINE-ROUTINE ANONF-202>
<ROOM UL-PIT-BOTTOM (TRAVEL-COMMANDS SURFACE-COMMAND NUL-COMMAND NUL-COMMAND) (
FLAGS UNDERGROUND) (ENTER <EXECUTE () <FSET ,HERE ,SEEN> <QUEUE I-PIT-SURFACE 3
> <COND (<IN? ,NYMPH-STONE ,HERE> <GRAPHIC ,G-UNDERLAND-PIT-BOTTOM ,
G-UNDERLAND-PIT-BOTTOM-STONE ,BOTTOM-LEFT>) (T <GRAPHIC ,G-UNDERLAND-PIT-BOTTOM
>)>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,SURFACE-COMMAND> <COND (<IN? ,
NYMPH-STONE ,INVENTORY> <PRINTI
"In just a few moments, I had returned to the surface.">) (T <PRINTI
"With nothing to show for my diving exploration, I returned to the surface.">)>
<MOVE-TO ,UL-PIT>) (<EQUAL? ,ACTION ,PICK-UP-COMMAND> <PRINTI
"Reaching down through the muck, I grabbed onto the "> <WPRINTD ,ACTION-OBJECT>
<PRINTI " and held it firmly
in my hand."> <SET CURRENT-GRAPHIC #ZLOCAL!-IZILCH FALSE-VALUE> <GRAPHIC ,
G-UNDERLAND-PIT-BOTTOM> <UPDATE-MOVE ,ACTION-OBJECT ,INVENTORY>)>)>
<DEFINE-ROUTINE ANONF-203>
<DEFINE-ROUTINE ANONF-204>
<ROOM UL-PIT (TRAVEL-COMMANDS BACK-COMMAND DIVE-COMMAND NUL-COMMAND) (FLAGS
UNDERGROUND TORCHBIT) (ENTER <EXECUTE () <GRAPHIC ,G-UNDERLAND-GRATE ,
G-UNDERLAND-PIT ,BOTTOM-RIGHT> <COND (<IN? ,TORCH ,INVENTORY> <FSET ,HERE ,DEAD
> <FORCE-TRAVEL-COMMAND ,HERE ,DIVE-COMMAND>)>>) (ACTION <ACOND ("AUX" RM) (<
EQUAL? ,ACTION ,BACK-COMMAND> <COND (<IN? ,NYMPH-STONE ,INVENTORY> <SET RM ,
UL-2>) (T <SET RM ,UL-JCN>)> <COND (<UL-MOVE-CHECK .RM> <COND (<IN? ,
NYMPH-STONE ,INVENTORY> <TRAVEL-COMMANDS .RM ,TO-CAVE-COMMAND> <PRINTI
"With the amulet in hand, I made a hasty return to the chamber in which I had left "
> <WPRINTD ,LAKE-VICTIM> <PRINTI ". Thankfully, he was conscious.">) (T <COND (
<AND <IN? ,TORCH ,INVENTORY> <NOT <FSET? ,HERE ,DEAD>>> <PRINTI
"With the torch now in my possession">) (T <PRINTI
"Having nothing to show from this excursion">)> <PRINTI
", I returned to the chamber outside.">)> <UL-MOVE .RM>)>) (<EQUAL? ,ACTION ,
DIVE-COMMAND> <COND (<IN? ,TORCH ,INVENTORY> <COND (<NOT <QSET? ,HERE ,BLUE-MIX
>> <PRINTI "As I dove into the water, I was filled with amazement that the torch I was carrying
had not been extinguished. If anything, it appeared to glow more brightly, and the flame
became warmer. Soon, I had reached the bottom of the pool, which was covered with
every sort of putrifying debris you can imagine, and some that you probably couldn't.
Decaying debris lowered the visibility considerably, making it difficult to gauge
anything much about the pool itself.">) (T <PRINTI
"Again, I took the torch down into the miserable pit and descended to the bottom,
peering with difficulty through the cloudy waters"> <COND (<NOT <FIRST? ,
UL-PIT-BOTTOM>> <PRINTI ", yet finding nothing of import">)> <PRINTI ".">)> <
COND (<IN? ,NYMPH-STONE ,UL-PIT-BOTTOM> <PRINTI
" But then, at the bottom of the pool, in the midst of the unspeakable filth,
I caught a glimpse of the the amulet I had taken from the treasury"> <COND (<
GRTR? ,UL-DROPPED 0> <PRINTI ", but nothing else">)> <PRINTI ".">) (<FIRST? ,
UL-PIT-BOTTOM> <PRINTI " Imagine my surprise when there, at the bottom, lay ">
<LIST-CONTENTS ,UL-PIT-BOTTOM #ZLOCAL!-IZILCH FALSE-VALUE> <PRINTI
" I had dropped into the
pit earlier.">)> <MOVE-TO ,UL-PIT-BOTTOM>) (T <REMOVE-TRAVEL-COMMAND> <PRINTI
"I dove down into the foul-smelling pool and swam into its dismal depths. By
the time I reached the bottom, it was too dark to see anything at all. Unable
to learn anything new, I returned to the surface.">)>)>)>
<DEFINE-ROUTINE ANONF-205>
<DEFINE-ROUTINE ANONF-206>
<DEFINE-ROUTINE TREASURY-GRAPHIC>
<ROOM UL-TREASURY (TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND NUL-COMMAND) (
FLAGS UNDERGROUND TORCHBIT) (ENTER <EXECUTE () <FSET ,HERE ,SEEN> <
TREASURY-GRAPHIC> <FORCE-TRAVEL-COMMAND ,HERE ,BACK-COMMAND> <COND (<AND <FSET?
,HERE ,TRAPPED> <NOT <IN? ,NYMPH-STONE ,INVENTORY>>> <FCLEAR ,HERE ,TRAPPED>)>>
) (ACTION <ACOND () (<EQUAL? ,ACTION ,PROCEED-COMMAND> <COND (<UL-MOVE-CHECK ,
UL-TREASURY-PIT> <PRINTI
"At the far end of the treasury, a narrow path led a short way, ending at a simple,
rounded chamber, in the middle of which lay a "> <COND (<FSET? ,UL-TREASURY-PIT
,SCOUTED> <PRINTI "perfectly round pool of water">) (T <PRINTI
"large stone cover">)> <PRINTI
". It was odd that such a nondescript chamber would be placed adjacent to the
rather opulent treasury, and I could only guess at its purpose."> <UL-MOVE ,
UL-TREASURY-PIT>)>) (<AND <EQUAL? ,ACTION ,DROP-COMMAND> <EQUAL? ,ACTION-OBJECT
,NYMPH-STONE>> <COND (<FSET? ,HERE ,TRAPPED> <PRINTI
"It was clear that I wasn't leaving this treasury with the amulet, so I replaced it
on its pedestal and pondered my next move."> <FCLEAR ,HERE ,TRAPPED> <
ADD-TRAVEL-COMMAND ,HERE ,BACK-COMMAND>) (T <PRINTI
"Thinking it was perhaps ill-advised to take the amulet, I gingerly returned it to its
pedestal.">)> <UPDATE-MOVE ,NYMPH-STONE ,HERE> <TREASURY-GRAPHIC> <RTRUE>) (<
EQUAL? ,ACTION ,BACK-COMMAND> <TRY-TO-LEAVE-TREASURY>)>)>
<DEFINE-ROUTINE ANONF-207>
<DEFINE-ROUTINE ANONF-208>
<DEFINE-ROUTINE TRY-TO-LEAVE-TREASURY>

1127
lake.zap Normal file

File diff suppressed because it is too large Load diff

1379
lake.zil Normal file

File diff suppressed because it is too large Load diff

605
lavos.zabstr Normal file
View file

@ -0,0 +1,605 @@
<FLAGS-AND-DEFAULTS (("DEBUGGING" %<>)) ()>
<BEGIN-SEGMENT LAVOS>
<GLOBAL CHEAT <>>
<ROOM START-LOC (TRAVEL-COMMANDS START-COMMAND BACKGROUND-COMMAND
CHANGE-NAME-COMMAND HELP-COMMAND) (GRAPHIC G-LAVOS) (ACTION <ACOND () (<EQUAL?
,ACTION ,BACKGROUND-COMMAND> <PRINTI
"Our story began nearly five years ago, at the time of our first crop
failures. These things happen, of course, once in a while, but by the third
year, we knew something was badly amiss. And then, in the fourth year of
our despair, the water, too, failed us; not all at once, mind you, but by
the fifth year, there were only a few folks whose water was not foul-tasting
and disease-ridden. Many moved away, into the north country, but in fact
neither had our neighbors been spared the spreading pestilence."> <CRLF> <CRLF>
<PRINTI "Hope was fading as the summer of that fateful year approached, and,
with no respite in sight, it was decided to seek aid beyond
our borders, from a powerful Wizard who was said to live atop the distant
Sunrise Mountain. And so a party of four departed, headed by the elder
blacksmith, Garlimon; and they were never seen again."> <CRLF> <CRLF> <PRINTI
"But as winter reached its icy hand toward us, another group was formed
with the same slim hope of finding answers to our desperate situation.
Bergon, the carpenter, was chosen to lead the party; and Bergon
chose Praxix, the local Wizard, and Esher, a learned (but irritable)
physician, to join him. And the group chose me, "> <WPRINTTAG> <PRINTI
", apprentice
food merchant, to watch the supplies and to keep a diary of our journey,
which, by the fortunes of the good earth, I recount for you now.">) (<EQUAL? ,
ACTION ,START-COMMAND> <SETG ASTRIX-MAZE-PATH <ADD #ZLOCAL!-IZILCH STACK 64>> <
CLEAR-SUBGROUP> <PRINTI
"Our journey started on a day bright and clear, and we made quick
progress down the gently winding road that leads south, past the boundaries
of our valley."> <CRLF> <CRLF> <PRINTI
"The air was warm, but the cool north wind at our backs
reminded us that winter was near. It seemed that we had only just
started out when we arrived at the outpost town of Lavos, shortly past
noon."> <CRLF> <CRLF> <GRAPHIC ,G-LAVOS> <PRINTI
"So this was Lavos! We stood in front of an old wooden storefront, that of
a provisioner. Farther down the road, the Lands End tavern
beckoned us with the promise of food and drink."> <MOVE-TO ,LAVOS>)>)>
<DEFINE-ROUTINE ANONF-57>
<ROOM LAVOS (TRAVEL-COMMANDS PROCEED-COMMAND ENTER-COMMAND NUL-COMMAND) (FLAGS
DONT-SCOUT ADVISE) (GRAPHIC G-LAVOS) (ACTION <ACOND () (<EQUAL? ,ACTION ,
GET-ADVICE-COMMAND> <UPDATE-FCLEAR ,HERE ,ADVISE> <PRINTI
"\"I suppose,\" Bergon said with a smile, \"that we've come to our first
decision. How are we set for supplies?\""> <CRLF> <CRLF> <PRINTI
"\"I'm sure we're well enough supplied,\" I said meekly. \"But I wouldn't mind
looking around the shop, if you wouldn't mind taking the time."> <CRLF> <CRLF>
<PRINTI "\"Let's not disappoint "> <WPRINTTAG> <PRINTI
",\" Praxix said kindly. \"And who knows -
maybe we'll find something important there after all.\"">) (<EQUAL? ,ACTION ,
PROCEED-COMMAND> <COND (<NOT <FSET? ,LANDS-END ,SEEN>> <PRINTI
"We walked down the dusty road, stopping at the door of the tavern.
As we stood there, an unsavory looking man, approaching from the far
end of town, brushed past us and entered.">) (<NOT <FSET? ,LANDS-END-TAVERN ,
SEEN>> <PRINTI "Once again, we walked down that dusty road and stood at the door of
the tavern. Loud conversation could be heard within, and we were sorely
tempted to see what lay inside.">) (T <PRINTI
"We had seen town, such as it was, and it was now time to move on. "> <GRAPHIC
,G-FORK> <MOVE-TO ,NEWHALL-PASS ,LEAVE-LAVOS> <RTRUE>)> <MOVE-TO ,LANDS-END>) (
<EQUAL? ,ACTION ,ENTER-COMMAND> <UPDATE-FCLEAR ,HERE ,ADVISE> <PRINTI
"We entered the provisioner's shop, and introduced ourselves to the
proprietor, a portly man named Webba. \"Look around, look around!\"
he said, proudly, though (if the truth be told) there was not much
to be proud of. Still, this would be our last chance to provision
ourselves before moving south to whatever lay beyond."> <CRLF> <CRLF> <GRAPHIC
,G-WEBBA> <MOVE-TO ,WEBBAS #ZLOCAL!-IZILCH STR?391>)>)>
<DEFINE-ROUTINE ANONF-58>
<ROOM WEBBAS (TEMP 0) (GRAPHIC G-WEBBA) (FLAGS PROVISIONER DONT-CAST INDOORS) (
TRAVEL-COMMANDS EXIT-COMMAND NUL-COMMAND NUL-COMMAND) (ENTER FSET-SEEN) (EXIT <
EXECUTE () <COND (<IN? ,WEBBA-MAP ,INVENTORY> <FSET ,WEBBA-MAP ,DONT-EXAMINE>)>
<CLEAR-TEMP>>) (ACTION <ACOND WEBBAS-F () (<EQUAL? ,ACTION ,SELL-COMMAND> <
UPDATE-FSET ,HERE ,DONT-DROP> <COND (<EQUAL? ,ACTION-OBJECT ,WEBBA-MAP> <PRINTI
"\"No, you just keep the map,\" Webba said, returning the money we had paid for
it. \"If you're going on from here, you'll be needing whatever help you can get!\""
>) (T <PRINTI "\"Oh, dear me, no!\" was Webba's reply when we tried to sell him the "
> <WPRINTD ,ACTION-OBJECT> <PRINTI
". \"I'm
sure I've got a whole shelf of them out back somewhere.\"">)>) (<EQUAL? ,ACTION
,REPLY-COMMAND> <WPRINTD ,ACTOR> <PRINTI
" started to tell of our quest, and Webba shook his head,
resigned to having lost a good customer. \"This map will
not help you. I sell this item to 'tourists' - those curious enough to
visit, but not enough to go on!\" He laughed heartily, and told of the peculiar
man who offered him the map in exchange for a few worthless trinkets. Of course, the
map appeared equally worthless, though he thought it amusing, especially the faintly
flickering, oddly shaped runes that appeared on it. He ran his finger across the
map, as if to show us the originals, but none were even vaguely flickering,
and he soon gave up."> <CRLF> <CRLF> <FSET ,WEBBA-MAP ,USED-UP> <PRINTI
"\"The old man looked harmless enough,\" the shopkeeper continued, \"so I bought it.
But the map seemed awfully plain, if you know what I mean, so I added some runes of my
own - thought it looked more official that way! But, if I were trying to find my
way somewhere, I would sooner trust my brother's blind mule than this map!\"">
<END-OPTION>) (<EQUAL? ,ACTION ,IGNORE-COMMAND> <PRINTI
"Fearing to expose our quest, "> <WPRINTD ,ACTOR> <PRINTI
" shrugged off the question. Webba didn't
pursue the matter, but he now looked at us with grave concern."> <END-OPTION>)
(<EQUAL? ,ACTION ,LOOK-AROUND-COMMAND> <UPDATE-FSET ,HERE ,DONT-SCOUT> <FSET ,
HERE ,SCOUTED> <PRINTI "\"I think I'll just have a look around,\" "> <WPRINTD ,
ACTOR> <PRINTI " said, as he wandered
off to explore the shop. \"Perhaps there's something more here than meets
the eye.\""> <PUTP ,HERE ,P?TEMP ,ACTOR> <MAKE-BUSY ,ACTOR ,GONE-COMMAND> <
RTRUE>) (<EQUAL? ,ACTION ,EXIT-COMMAND> <TRAVEL-COMMANDS ,LAVOS ,
PROCEED-COMMAND> <MOVE-TO ,LAVOS #ZLOCAL!-IZILCH STR?392>)>)>
<DEFINE-ROUTINE ANONF-59>
<DEFINE-ROUTINE WEBBAS-F>
<OBJECT WEBBA-FOOD (LOC WEBBAS) (SDESC "food") (KBD 70) (ACTION <ACOND () (<
EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> <
WPRINTD ,ACTOR> <PRINTI
", who was by no means an expert on fine foods, browsed through the
food selection, though he could not find anything that he particularly
liked."> <CRLF> <CRLF> <PRINTI
"\"Perhaps we should buy some of these things,\" he said, turning in
my general direction. I agreed to take a look around, though we were
not short of supplies.">) (<EQUAL? ,ACTION ,BUY-COMMAND> <PRINTI
"I selected the most appetizing of the dry foodstuffs and
placed them in my pack; at least we wouldn't be worrying about
food for a few weeks, which was longer than we hoped to be
gone."> <UPDATE-MOVE ,WEBBA-FOOD>)>)>
<DEFINE-ROUTINE ANONF-61>
<ROOM LANDS-END (TRAVEL-COMMANDS PROCEED-COMMAND ENTER-COMMAND BACK-COMMAND) (
FLAGS DONT-SCOUT INDOORS) (GRAPHIC G-LAVOS) (ENTER <EXECUTE () <FSET ,HERE ,
SEEN> <COND (<FSET? ,WEBBAS ,SEEN> <REMOVE-TRAVEL-COMMAND ,HERE ,BACK-COMMAND>)
>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,ENTER-COMMAND> <REMOVE-TRAVEL-COMMAND>
<MOVE-TO ,LANDS-END-TAVERN #ZLOCAL!-IZILCH STR?394>) (<EQUAL? ,ACTION ,
PROCEED-COMMAND> <MOVE-TO ,NEWHALL-PASS ,LEAVE-LAVOS>) (<EQUAL? ,ACTION ,
BACK-COMMAND> <PRINTI
"\"So, this is all there is,\" Esher said, shaking his head scornfully.
\"Perhaps we were hasty in passing over the provisioner's shop.\""> <CRLF> <
CRLF> <PRINTI "\"It could not hurt to check it out,\" Bergon replied, and we were soon
retracing our steps to the provisioner's door."> <REMOVE-TRAVEL-COMMAND> <
MOVE-TO ,LAVOS>)>)>
<DEFINE-ROUTINE ANONF-62>
<DEFINE-ROUTINE ANONF-63>
<CONSTANT LEAVE-LAVOS
"It was mid-afternoon when we left Lavos, heading south. The road,
which soon narrowed to a simple foot path, wound its way down into a deep
canyon, surrounded by sheer walls. After a short time, we found ourselves
at a fork in the path, the left branch leading east along the foothills and
the right one continuing down the valley to the south. Both appeared desolate
and poorly traveled. I wondered which path Garlimon's party had taken, and
how near they had come to reaching Astrix. And then, a cold, bone-dry wind
arose from the north, filling me with dread.">
<OBJECT LANDS-END-PEOPLE (LOC LANDS-END-TAVERN) (FLAGS DONT-TAKE) (SDESC
"customers") (KBD 67) (EXBITS PRAXIXBIT) (ACTION <ACOND () (<EQUAL? ,ACTION ,
EXAMINE-COMMAND> <UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> <COND (<GETP ,HERE
,P?TEMP> <FSET ,ACTION-OBJECT ,EXAMINED> <PRINTI
"Praxix motioned toward a particularly dark corner of the tavern, where Esher
was now conversing with someone whose face was obscured in shadow."> <CRLF> <
CRLF> <PRINTI "\"Perhaps we shall learn something of value from our friend Esher,\" he
said.">) (T <FSET ,HERE ,INCAPACITATED> <PRINTI
"Praxix slowly scanned the faces of the customers, but none returned his
gaze. Indeed, although everyone here appeared to know who we were, none
would acknowledge our presence."> <CRLF> <CRLF> <PRINTI
"The almost palpable tension inside the tavern made me ill at ease, and I
believe Praxix felt this as well, though he was not nearly as alarmed as I.
\"We have barely left home and already you see danger everywhere you turn,\"
he said, reassuringly. \"Have a"> <COND (<FSET? ,LANDS-END-DRINKS ,SEEN> <
PRINTI "nother">)> <PRINTI " drink! Do not despair!\"">)>)>)>
<DEFINE-ROUTINE ANONF-64>
<OBJECT LANDS-END-DRINKS (LOC LANDS-END-TAVERN) (FLAGS DONT-EXAMINE) (SDESC
"drinks") (KBD 68) (ACTION <ACOND () (<EQUAL? ,ACTION ,BUY-COMMAND> <COND (<
FSET? ,LANDS-END-DRINKS ,SEEN> <REMOVE ,HYE-DRINKS> <PRINTI
"I suggested that another drink might not hurt, but Bergon suggested
that I had had quite enough."> <CRLF> <CRLF> <PRINTI
"\"We wouldn't want you walking over any cliffs, or falling into
chasms,\" he said."> <COND (<FSET? ,HERE ,INCAPACITATED> <CRLF> <CRLF> <PRINTI
"The Wizard looked over his shoulder toward me and shrugged, then
emptied his tankard of ale in a single gulp.">)> <UPDATE-MOVE ,LANDS-END-DRINKS
>) (T <FSET ,LANDS-END-DRINKS ,SEEN> <PRINTI
"Stepping up to the bar, we ordered ourselves a few tankards of ale. Though
bitter by our standards, it was nevertheless refreshing, and we passed
some time there with idle talk about the journey that was to come.">)>)>)>
<DEFINE-ROUTINE ANONF-65>
<ROOM LANDS-END-TAVERN (TRAVEL-COMMANDS EXIT-COMMAND NUL-COMMAND NUL-COMMAND) (
FLAGS PROVISIONER DONT-CAST) (GRAPHIC G-ZAN-TAVERN) (TEMP 0) (ENTER FSET-SEEN)
(EXIT <EXECUTE () <CLEAR-TEMP>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,
LOOK-AROUND-COMMAND> <PRINTI
"It took Esher just a few moments to become restless, and he soon slipped
away from us to mingle with the crowd."> <CRLF> <CRLF> <PRINTI
"\"Who knows?\" he said, all but disappearing into the tavern's smoke-filled
air, \"I may even learn something useful.\""> <COND (<NOT <FSET? ,
LANDS-END-PEOPLE ,EXAMINED>> <UPDATE-MOVE ,LANDS-END-PEOPLE ,HERE>)> <PUTP ,
HERE ,P?TEMP ,ACTOR> <MAKE-BUSY ,ACTOR ,GONE-COMMAND> <RTRUE>) (<EQUAL? ,ACTION
,EXIT-COMMAND> <COND (<AND <GETP ,HERE ,P?TEMP> <NOT <QSET? ,MINAR ,SEEN>>> <
GRAPHIC ,G-MINAR> <PRINTI
"On our way out, Esher rejoined us, telling of an intriguing conversation he had just
had with one of the locals. Before he could go on, the unsavory man we had seen
before stepped outside and pushed his way into our midst. Bergon, flushed with anger,
grabbed his sword, but Esher held him back. \"This is the man I was telling you
about,\" he said with no particular enthusiasm."> <CRLF> <CRLF> <CLEAR-BUSY> <
PRINT ,MINAR-INTRO> <OPTION ,LEADER ,ACCEPT-COMMAND ,DECLINE-COMMAND ,
GET-ADVICE-COMMAND> <FSET ,HERE ,ADVISE> <SET UPDATE-FLAG #ZLOCAL!-IZILCH
TRUE-VALUE> <RTRUE>) (T <PRINTI
"It was Bergon's opinion that we had tarried here long enough, so we left
the tavern, returning to the road"> <COND (<FSET? ,LANDS-END-DRINKS ,SEEN> <
PRINTI " refreshed, and, if I might say,
with a good, warm feeling in our bellies">)> <PRINTI "."> <MOVE-TO ,LANDS-END>)
>) (<EQUAL? ,ACTION ,ACCEPT-COMMAND> <WPRINTD ,LEADER> <PRINTI
" appeared troubled, but agreed to Minar's request. \"It is against the
wishes of our Elders, yet we know little of the world that lies beyond Lavos.
We shall take the stranger!\""> <PARTY-ADD ,MINAR> <END-OPTION #ZLOCAL!-IZILCH
FALSE-VALUE> <MOVE-TO ,LANDS-END>) (<EQUAL? ,ACTION ,DECLINE-COMMAND> <WPRINTD
,LEADER> <PRINTI
" thought for a moment, then spoke. \"Wiser men than ourselves have
set our number at four. Though our perils be unknown to us, we must not
lightly bend the wishes of those who have set us upon our way.\" And with
that, he dismissed Minar, who slinked back into the tavern."> <FSET ,MINAR ,
SEEN> <END-OPTION #ZLOCAL!-IZILCH FALSE-VALUE> <MOVE-TO ,LANDS-END>) (<AND <
EQUAL? ,ACTION ,GET-ADVICE-COMMAND> <EQUAL? ,PARTY-MODE ,OPTION-MODE>> <FCLEAR
,HERE ,ADVISE> <PRINTI
"None spoke, yet all frowned, if only a little, at the prospect of bringing
this stranger into our group."> <OPTION ,LEADER ,ACCEPT-COMMAND ,
DECLINE-COMMAND>)>)>
<DEFINE-ROUTINE ANONF-66>
<DEFINE-ROUTINE ANONF-67>
<ROOM NEWHALL-PASS (TRAVEL-COMMANDS LEFT-COMMAND RIGHT-COMMAND NUL-COMMAND) (
FLAGS ADVISE) (GRAPHIC G-FORK) (ENTER <EXECUTE () <FCLEAR ,WEBBA-MAP ,
DONT-EXAMINE> <ADD-TRAVEL-COMMAND ,PRAXIX ,TELL-LEGEND-COMMAND>>) (EXIT <
EXECUTE () <FSET ,WEBBA-MAP ,DONT-EXAMINE>>) (ACTION <ACOND () (<EQUAL? ,ACTION
,GET-ADVICE-COMMAND> <UPDATE-FCLEAR ,HERE ,ADVISE> <COND (<FSET? ,HERE ,SCOUTED
> <PRINTI "Having considered Minar's report, Bergon asked each of us for our advice.
Esher, Minar, and I favored taking the righthand path and avoiding the
bandits altogether. Praxix, however, was intensely curious as to the meaning
of the bloodstained clothing, feeling that it might relate to the mystery
surrounding the disappearance of Garlimon's party. Bergon listened carefully,
though he kept his thoughts to himself.">) (<FSET? ,MINAR ,IN-PARTY> <PRINTI
"Bergon asked for our advice, but only Minar spoke. \"If our goal is the Sunrise
Mountain,\" he said, \"we should have better luck keeping to the left.\"">) (T
<PRINTI "It felt like hours had passed while we stood at the fork, looking this way
and that, not knowing which would lead more quickly to our destination. Perhaps
it would not matter, yet we feared that time was critial and that our decision
here would be crucial to our success.">)>) (<EQUAL? ,ACTION ,SCOUT-COMMAND> <
UPDATE-FSET ,HERE ,DONT-SCOUT> <FSET ,HERE ,SCOUTED> <COND (<EQUAL? ,ACTOR ,
ESHER> <WPRINTD ,ACTOR> <PRINTI
" grudgingly agreed to run on ahead and check out both paths; when he
arrived back, breathless, he was reticent."> <CRLF> <CRLF> <PRINTI
"\"Well,\" Bergon prompted, expecting some sort of information to be
forthcoming."> <CRLF> <CRLF> <PRINTI
"\"How should I know?\" Esher replied, \"I've never been here
before, and they just look like paths to me. If it's advice you're
after, I say let's go left - there's less climbing that way.\""> <UPDATE-FCLEAR
,HERE ,ADVISE>) (T <PRINTI
"Bergon asked Minar to scout out the paths before us, but Minar, sensing
an insult, was initially disinclined to do so."> <CRLF> <CRLF> <SETG
FORK-BANDITS <RANDOM 2>> <PRINTI
"\"I have no need to scout these paths,\" he said harshly, \"for I have
travelled them many times. If we seek the Sunrise Mountain, our best
path is to the left.\""> <CRLF> <CRLF> <PRINTI
"But then, Minar's voice softened. \"However, these are dangerous times,
and we may have been followed.\" And with that, he quietly disappeared down
the lefthand path. When he returned, he shook his head knowingly."> <CRLF> <
CRLF> <SET FORK-BANDITS 1> <PRINTI
"\"It is as I feared. Not long after I left, I discovered this.\" He held up
a shredded piece of clothing, similar to our own, stained heavily with dried
blood. \"There is more - there are fresh tracks in the ground - three or four,
I would say. No doubt they are bandits, and they lie in wait for us. Also,
sunset is near. We must hope to do better down the other path.\""> <FSET ,HERE
,SCOUTED>)>) (<EQUAL? ,ACTION ,LEFT-COMMAND> <COND (<AND <EQUAL? ,FORK-BANDITS
1> <FSET? ,HERE ,SCOUTED> <FSET? ,MINAR ,IN-PARTY>> <PRINTI
"Although Minar had cautioned us against taking this route, Bergon chose to ">
<COND (<NOT <FSET? ,HERE ,ADVISE>> <PRINTI "take Praxix' advice and ">)> <
PRINTI "proceed ">) (T <PRINTI
"We chose to remain north of the mountains, following the path which led">)> <
MOVE-TO ,CANYON-COUNTRY #ZLOCAL!-IZILCH STR?398>) (<EQUAL? ,ACTION ,
RIGHT-COMMAND> <COND (<EQUAL? ,FORK-BANDITS 2> <PRINTI
"Although Minar had cautioned us against taking this route, Bergon chose to
proceed southward, following a steeply winding path that led down
through a narrow canyon.">) (T <PRINTI
"Choosing the southern route, we descended through a steeply winding
canyon.">)> <MOVE-TO ,SYLMAR #ZLOCAL!-IZILCH STR?399>)>)>
<DEFINE-ROUTINE ANONF-68>
<DEFINE-ROUTINE ANONF-69>
<DEFINE-ROUTINE ANONF-70>
<CONSTANT MINAR-INTRO
"\"I am called Minar, and I have travelled often in the Outlands. You are in
great danger, whether you know it or not. If you will have me, I offer you my
services.\" Minar's eyes flickered with a disturbing light, but saying nothing,
we awaited the decision of Bergon.">
<GLOBAL FORK-BANDITS <>>
<GLOBAL BANDITS-SPELL <>>
<OBJECT BANDITS-FIGHT (GRAPHIC G-BANDITS) (ACTION <ACOND () (<EQUAL? ,ACTION ,
SCENE-START-COMMAND> <UPDATE-MOVE ,BANDITS ,HERE> <CRLF> <CRLF> <PRINTI
"Not a minute after locating a campsite, we were suddenly attacked by a
small gang of bandits."> <CRLF> <CRLF> <SET COMBAT-ROUND -1> <SURPRISE-COMBAT>)
(<EQUAL? ,ACTION ,SCENE-END-COMMAND> <UPDATE-REMOVE ,BANDITS> <GRAPHIC #
ZLOCAL!-IZILCH STACK> <COND (,BANDITS-SPELL <CRLF> <CRLF> <PRINTI
"It was about this time that Praxix was ready to cast his \""> <WPRINTD ,
BANDITS-SPELL> <PRINTI
"\" spell. But looking around for the first time
since he had started, he came to the belated realization that it
was no longer necessary."> <COND (<FSET? ,ESHER ,IN-PARTY> <CRLF> <CRLF> <
PRINTI "\"Would that we had a medal for valor,\" Esher said, patting Praxix
on the back and pouring on the sarcasm. \"I feel safer in battle just
knowing that you are with us.\"">)> <CLEAR-BUSY>)> <COND (<NOT <FSET? ,ESHER ,
IN-PARTY>> <CRLF> <CRLF> <PRINTI
"The battle was now over, and we would have to go on without the
services of our physician. Praxix performed a brief ceremony, after
which we laid our friend to rest in a deep grave in the shade of a sycamore
tree, and marked the spot with a rock cairn.">) (T <MAKE-UNBUSY ,MINAR>)> <CRLF
> <CRLF> <PRINTI
"It was now late, so we set up camp, taking turns on guard through the night.
Later, I dreamed that we stood on a high precipice, far above the clouds; storms
surrounded us, and violent gusts of wind nearly swept us off our feet and down
into a dark abyss. And then, the wind changed, and a gentle breeze blew, and we
were carried off that precipice. But we were not afraid as we glided and soared
through the ocean of still, clear air."> <CRLF> <CRLF> <PRINTI
"When morning came, misty and still, we packed silently and prepared to move
onward. But the dream stayed with me, and in later days I would think of it often,
sensing in it a foreshadowing of things to come - but when, or in what manner, I
could not know.">) (<EQUAL? ,ACTION ,COMBAT-RESULT-COMMAND> <COND (<ZERO? ,
COMBAT-ROUND> <COND (<EQUAL? ,FORK-BANDITS 1 2> <PRINTI
"Having been warned of our danger, we reacted quickly and surely. I
had never been in battle before, but it was clear that Bergon
was our strongest fighter, wielding a heavy broadsword. Esher, surprisingly,
was also a good fighter, and he easily handled the sword thrusts of his
opponent. Praxix and I, however, were new to this sort of thing, and were
satisfied with merely staving off injury.">) (T <PRINTI
"Caught completely unawares, w"> <HINT ,HINT-BANDITS> <BANDITS-KILL-ESHER>)>) (
T <COND (<FSET? ,ESHER ,IN-PARTY> <PRINTI
"Just then, a previously unseen attacker approached Esher from behind with
a large club. Not a moment before he"> <COND (<FSET? ,HERE ,TRIED> <PRINTI
" would have been hit, a sword ripped through the attacker's chest. Placing
his foot on the attacker's back, Minar kicked the mortally wounded attacker to
the ground and smiled. Clearly, Minar had done this sort of thing before, and
what's more, he seemed to enjoy it. But the grotesque look on his victim's face
filled me with dread and revulsion.">) (T <PRINTI
" was hit, I screamed a warning, but it was too late. W"> <HINT ,
HINT-BANDITS-FLANK> <BANDITS-KILL-ESHER>)> <CRLF> <CRLF>)> <COND (<NOT <FSET? ,
ESHER ,IN-PARTY>> <PRINTI "Our fortunes were finally improving">) (T <PRINTI
"The battle was "> <COND (<ZERO? ,FORK-BANDITS> <PRINTI "finally ">)> <PRINTI
"going well">)> <PRINTI "; Bergon"> <COND (<FSET? ,ESHER ,IN-PARTY> <PRINTI
", Esher,">)> <COND (<FSET? ,MINAR ,IN-PARTY> <PRINTI " and Minar">)> <COND (<
OR <FSET? ,MINAR ,IN-PARTY> <FSET? ,ESHER ,IN-PARTY>> <PRINTI " were">) (T <
PRINTI " was">)> <PRINTI " making some deadly hits with "> <COND (<OR <FSET? ,
MINAR ,IN-PARTY> <FSET? ,ESHER ,IN-PARTY>> <PRINTI "their weapons">) (T <PRINTI
"his sword">)> <PRINTI
", and the bandits appeared weaker in their
resolve to fight, taking ever more to the defensive.">)> <RTRUE>) (<EQUAL? ,
ACTION ,CAST-COMMAND> <SET BANDITS-SPELL ,ACTION-OBJECT> <PRINTI
"In the midst of the fighting, Praxix started preparing a spell of some sort.
It wasn't easy, though, and it appeared we would not be seeing the spell's
effects for some time."> <MAKE-BUSY ,PRAXIX> <NEW-DEFAULT> <RTRUE>) (<AND <
EQUAL? ,ACTION ,COMBAT-COMMAND> <NOT <FSET? ,BANDITS-FIGHT ,SEEN>> <NOT <FSET?
,MINAR ,IN-PARTY>> <ZERO? ,COMBAT-ROUND>> <FSET ,BANDITS-FIGHT ,SEEN> <PRINTI
"As we prepared to continue the fight, it was clear that something was wrong
in the ranks of the bandits; one dropped dead in his tracks before we
had commenced."> <CRLF> <CRLF> <PUTP ,BANDITS ,P?STATUS #ZLOCAL!-IZILCH STACK>
<RFALSE>) (<EQUAL? ,ACTION ,FLANK-COMMAND> <COND (<EQUAL? ,ACTOR ,MINAR> <
MAKE-BUSY ,MINAR ,GONE-COMMAND> <FSET ,HERE ,TRIED> <PRINTI
"We almost didn't notice that Minar had quietly slipped away, snaking his way
through the brush to take up a position behind that of the bandits.">) (T <
CHANGE-CIT ,MINAR 1 ,NUL-COMMAND> <WPRINTD ,ACTOR> <PRINTI
" thought there would be some advantage to sneaking around the bandits'
flank, but he was too large a man and too involved in the battle itself to do
this without attracting notice.">)> <CHANGE-CIT ,BERGON 1 ,NUL-COMMAND> <
NEW-DEFAULT>) (<AND <EQUAL? ,ACTION ,STRENGTH-COMMAND> <FSET? ,BANDITS-FIGHT ,
SEEN>> <ADD-PARTY-OFFENSE 40> <ADD-PARTY-DEFENSE 10> <RFALSE>) (<EQUAL? ,ACTION
,ACCEPT-COMMAND> <WPRINTD ,LEADER> <PRINTI ", still troubled, agreed. "> <COND
(<FSET? ,MINAR ,SEEN> <PRINTI
"\"It seems we cannot be rid of you,
so you may as well join us.\" ">)> <PRINTI
"Praxix appeared uneasy with
Bergon's decision, but, as for me, I was happy to take any help
we were offered."> <TRAVEL-COMMANDS ,ESHER ,EXAMINE-COMMAND> <END-OPTION> <
END-COMBAT #ZLOCAL!-IZILCH FALSE-VALUE> <PARTY-ADD ,MINAR> <RTRUE>) (<EQUAL? ,
ACTION ,RETREAT-COMMAND> <REMOVE-PARTY-COMMAND ,RETREAT-COMMAND> <PRINTI
"Any thought of retreating from these bandits would soon be forgotten, as it
became clear that we were far stronger than they.">) (<EQUAL? ,ACTION ,
PARLEY-COMMAND> <REMOVE-PARTY-COMMAND ,PARLEY-COMMAND> <CHANGE-CIT ,BERGON 1 ,
NUL-COMMAND> <COND (<FSET? ,MINAR ,IN-PARTY> <CHANGE-CIT ,MINAR 1 ,NUL-COMMAND>
)> <PRINTI "Hoping to avoid a bloody battle, we attempted to parley with the bandits,
but they declined with words hardly fit to print. The attempt, however,
cost us precious time in battle and made it virtually impossible for us
to make any surprise moves.">) (<EQUAL? ,ACTION ,GET-ADVICE-COMMAND> <
UPDATE-FCLEAR ,HERE ,ADVISE> <PRINTI
"The group, grateful for Minar's help, was quiet, yet none came out against
taking in this inscrutable stranger."> <OPTION ,LEADER ,ACCEPT-COMMAND ,
DECLINE-COMMAND>) (<EQUAL? ,ACTION ,DECLINE-COMMAND> <WPRINTD ,LEADER> <PRINTI
" was firm. \"We are thankful for your help, but we must "> <COND (<FSET? ,
MINAR ,SEEN> <PRINTI "again ">)> <PRINTI
"refuse your offer. Good luck be with you!\" And, "> <COND (<FSET? ,MINAR ,SEEN
> <PRINTI "as before">) (T <PRINTI "without further ado">)> <PRINTI
", Minar left, disappearing into the shadows."> <HINT ,HINT-MINAR> <END-OPTION>
<END-COMBAT #ZLOCAL!-IZILCH FALSE-VALUE> <RTRUE>)>)>
<DEFINE-ROUTINE ANONF-71>
<DEFINE-ROUTINE BANDITS-KILL-ESHER>
<OBJECT BANDITS (SDESC "bandits") (KBD 66) (ATTACK 120 60) (STATUS 100) (
RETREAT 60) (FLAGS DONT-EXAMINE DONT-TAKE) (SPECIAL-ACTION <EXECUTE () <TELL CR
"The bandits, finding the fight more than they had bargained for,
retreated out of sight."> <COND (<FSET? ,BANDITS-FIGHT ,SEEN> <COND (,
BANDITS-SPELL <UNUSE-ESSENCES ,BANDITS-SPELL> <SET BANDITS-SPELL #
ZLOCAL!-IZILCH FALSE-VALUE> <PRINTI
" Praxix, seeing that there was no need for his magic, put away his pouch.">)>
<CLEAR-BUSY> <PRINTI " A moment later, "> <COND (<FSET? ,MINAR ,SEEN> <PRINTI
"Minar">) (T <PRINTI "the man we had seen entering the tavern">)> <PRINTI
" appeared, bow in
hand. \"I thought you might be needing some help,\" he said, grinning."> <CRLF>
<CRLF> <COND (<FSET? ,MINAR ,SEEN> <PRINTI
"\"My previous offer stands, and this time I would advise you to
accept it.\" He stood there, grinning all the time, waiting for our
answer.">) (T <PRINT ,MINAR-INTRO>)> <OPTION ,LEADER ,ACCEPT-COMMAND ,
DECLINE-COMMAND ,GET-ADVICE-COMMAND>) (T <END-COMBAT #ZLOCAL!-IZILCH
FALSE-VALUE>)> <RTRUE>>)>
<DEFINE-ROUTINE ANONF-72>
<ROOM SYLMAR (TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND NUL-COMMAND) (
GRAPHIC G-BEHIND-MOUNTAINS) (FLAGS DANGEROUS) (ENTER <EXECUTE () <COND (<EQUAL?
,FORK-BANDITS 2 0> <SET OPPONENT ,BANDITS> <SCENE ,BANDITS-FIGHT ,FIGHT-MODE>)>
>) (ACTION <ACOND () (<EQUAL? ,ACTION ,PROCEED-COMMAND> <PRINTI
"The path curved toward the east along the foothills of the mountains,
and we were soon forced to choose between climbing higher or veering
off and into the southern valley. But there was no choice, really, since
our goal was to the east; it would be impossible to avoid the mountains, so
we started our ascent."> <CRLF> <CRLF> <PRINTI
"The climb was long and arduous, and it was not until late in the second day
that we reached a plateau high in the mountains. But it was dark, and little
could be seen. And so we camped there under a starry sky."> <CRLF> <CRLF> <COND
(<AND <NOT <IN? ,ESSENCE-FIRE ,ESSENCES>> <FSET? ,NEWHALL-PASS ,SCOUTED> <NOT <
IN? ,HINT-MINAR ,HINTS>>> <HINT ,HINT-NO-FIRE>)> <NEXT-DAY 2> <
GATE-TO-HIGH-PLAIN>) (<EQUAL? ,ACTION ,SCOUT-COMMAND> <UPDATE-FSET ,HERE ,
DONT-SCOUT> <FSET ,HERE ,SCOUTED> <CAIRN-SCOUT> <RTRUE>) (<EQUAL? ,ACTION ,
BACK-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI
"I suggested returning to Lavos, but the idea was immediately quashed
by the group."> <CRLF> <CRLF> <PRINTI
"\"Our destiny lies ahead, not behind,\" Praxix said. \"Try to remember that.\""
>)>)>
<DEFINE-ROUTINE ANONF-73>
<DEFINE-ROUTINE ANONF-74>
<ROOM CANYON-COUNTRY (TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND NUL-COMMAND)
(GRAPHIC G-CANYON) (FLAGS DANGEROUS) (ENTER <EXECUTE () <COND (<EQUAL? ,
FORK-BANDITS 1 0> <SET OPPONENT ,BANDITS> <SCENE ,BANDITS-FIGHT ,FIGHT-MODE>)>>
) (ACTION <ACOND () (<EQUAL? ,ACTION ,PROCEED-COMMAND> <COND (<AND <NOT <IN? ,
ESSENCE-FIRE ,ESSENCES>> <FSET? ,NEWHALL-PASS ,SCOUTED> <NOT <IN? ,HINT-MINAR ,
HINTS>>> <HINT ,HINT-NO-FIRE>)> <MOVE-TO ,TUJUNGA-PATH #ZLOCAL!-IZILCH STR?402>
) (<EQUAL? ,ACTION ,SCOUT-COMMAND> <UPDATE-FSET ,HERE ,DONT-SCOUT> <FSET ,HERE
,SCOUTED> <CAIRN-SCOUT> <RTRUE>) (<EQUAL? ,ACTION ,BACK-COMMAND> <
REMOVE-TRAVEL-COMMAND> <COND (<FSET? ,ESHER ,IN-PARTY> <PRINTI
"Esher, dismayed by our confrontation with the bandits,">) (T <PRINTI
"Disheartened by the loss of Esher, I">)> <PRINTI
" suggested backtracking toward Lavos, but the idea was quickly quashed
by the others who felt that we would make good progress along the path we
had chosen.">)>)>
<DEFINE-ROUTINE ANONF-75>
<DEFINE-ROUTINE ANONF-76>
<OBJECT CANYON-BODIES (FLAGS DONT-TAKE) (SDESC "bodies") (KBD 66) (EXBITS <+ ,
PRAXIXBIT ,ESHERBIT>) (ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <
CLEAR-EXBIT> <WPRINTD ,ACTOR> <PRINTI " examined the bodies"> <COND (<EQUAL? ,
ACTOR ,ESHER> <PRINTI
" carefully. \"They were killed with sharp objects of some kind - swords and
knives, I would guess. Whatever weapons they may have carried are gone - in
fact, only their cloaks remain. I'd be willing to bet that they were waylaid
and robbed.\"">) (T <FIND-ESSENCE ,ESSENCE-FIRE 2> <FIND-ESSENCE ,ESSENCE-WATER
1> <PRINTI ", discovering two small pouches of powders hidden within a seam of one of the
cloaks that had been used as a burial shroud. \"Fire essence,\" he beamed, opening
the first and holding it up for my inspection. \"Or I'm an apprentice food merchant!\"
And then, examining the second pouch, he found a far smaller amount of a different
powder. He dipped a finger into the powder, and touched it to his lips. \"And this
would be water essence, though barely enough for a single spell. And yet, all such
powders are nigh impossible to obtain these days, and much can be done with
them.\"">)>)>)>
<DEFINE-ROUTINE ANONF-77>
<OBJECT CANYON-CAIRN (FLAGS DONT-TAKE) (SDESC "cairn") (KBD 67) (EXBITS <+ ,
PRAXIXBIT ,ESHERBIT>) (ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <
UPDATE-MOVE> <COND (<EQUAL? ,ACTOR ,PRAXIX> <PRINTI
"At Bergon's request, Praxix looked over the cairn. \"The cairn was
made by our people and not by the locals from Lavos,\" he said.">) (T <PRINTI
"\"This cairn looks like one of ours,\" "> <WPRINTD ,ACTOR> <PRINTI
" said, looking over the mound
of carefully piled rocks. \"Not at all like those we passed on the outskirts
of Lavos.\"">)>)>)>
<DEFINE-ROUTINE ANONF-78>
<ROOM TUJUNGA-PATH (TRAVEL-COMMANDS PROCEED-COMMAND CLIMB-COMMAND NUL-COMMAND)
(GRAPHIC G-CANYON) (ENTER <EXECUTE () <FCLEAR ,WEBBA-MAP ,DONT-EXAMINE>>) (EXIT
<EXECUTE () <FSET ,WEBBA-MAP ,DONT-EXAMINE>>) (ACTION <ACOND () (<EQUAL? ,
ACTION ,SCOUT-COMMAND> <UPDATE-FSET ,HERE ,DONT-SCOUT> <FSET ,HERE ,SCOUTED> <
WPRINTD ,ACTOR> <PRINTI
" scouted out the climbing path, and reported that it
wound its way out of sight, high in the mountains."> <CRLF> <CRLF> <PRINTI
"\"The shortest path to the Sunrise Mountain lies ahead, unless, of course, you
feel the urge to explore the high country,\" he said.">) (<EQUAL? ,ACTION ,
PROCEED-COMMAND> <NEXT-DAY> <MOVE-TO ,CANYON-GATE #ZLOCAL!-IZILCH STR?405>) (<
EQUAL? ,ACTION ,CLIMB-COMMAND> <PRINTI
"Opting for the high road, we started to climb into the southern
mountains. The path was narrow, and frequently choked with low
brush, making progress slow. By midday however, we had climbed
more than half of the distance to the ridge which hung above us. It took
the rest of the afternoon, but we finally arrived at the
ridge. We were all tired after our day of climbing, and so we camped there
for the night."> <CRLF> <CRLF> <GRAPHIC ,G-HIGH-PLAIN> <NEXT-DAY> <MOVE-TO ,
HIGH-PLAIN #ZLOCAL!-IZILCH STR?406>)>)>
<DEFINE-ROUTINE ANONF-79>
<DEFINE-ROUTINE ANONF-80>
<DEFINE-ROUTINE ANONF-81>
<DEFINE-ROUTINE CAIRN-SCOUT>
<ROOM CANYON-GATE (TRAVEL-COMMANDS PROCEED-COMMAND NUL-COMMAND NUL-COMMAND) (
GRAPHIC G-CANYON) (ENTER <EXECUTE () <COND (<AND ,2ND-PASS <NOT <FSET? ,MINAR ,
IN-PARTY>> <NOT <FSET? ,ESHER ,IN-PARTY>> <NOT <FSET? ,DWARF-MEETING ,TRIED>>>
<ADD-PARTY-COMMAND ,COMB-AREA-COMMAND>)>>) (ACTION <ACOND () (<EQUAL? ,ACTION ,
PROCEED-COMMAND> <MOVE-TO ,ANGELES-PATH #ZLOCAL!-IZILCH STR?407>) (<EQUAL? ,
ACTION ,COMB-AREA-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI
"We split up into two groups in search of the Dwarves' gate; Praxix and I
went toward the hills, and "> <COND (<EQUAL? ,PARTY-MAX 3> <PRINTI "Bergon">) (
T <PRINTI "the others">)> <PRINTI
" followed the canyon floor. Before
long, I found that I had wandered out of sight of Praxix."> <OPTION ,TAG ,
LOOK-AROUND-COMMAND ,GET-HELP-COMMAND>) (<EQUAL? ,ACTION ,SCOUT-COMMAND> <
UPDATE-FSET ,HERE ,DONT-SCOUT> <FSET ,HERE ,SCOUTED> <FSET ,HERE ,SCOUTED> <SET
KIDNAPPED ,ACTOR> <PARTY-REMOVE ,ACTOR> <COND (<AND <NOT <FSET? ,ESHER ,
IN-PARTY>> <NOT <FSET? ,MINAR ,IN-PARTY>>> <REMOVE-TRAVEL-COMMAND ,HERE ,
PROCEED-COMMAND>)> <WPRINTD ,LEADER> <PRINTI " sent "> <WPRINTD ,ACTOR> <PRINTI
" off to scout around the
area, which he did. After an hour, though, he had not returned and "> <WPRINTD
,LEADER> <PRINTI
" was alarmed enough to set us out
searching for him. We split up into two groups; Praxix and I went
toward the hills, and "> <COND (<EQUAL? ,PARTY-MAX 3> <PRINTI "Bergon">) (T <
PRINTI "the others">)> <PRINTI
" followed the canyon floor. Before long, I found that I
had wandered out of sight of Praxix."> <MAKE-SUBGROUP ,TAG> <OPTION ,TAG ,
LOOK-AROUND-COMMAND ,GET-HELP-COMMAND>) (<EQUAL? ,ACTION ,LOOK-AROUND-COMMAND>
<COND (<QSET? ,HERE ,SEEN> <OPTION ,TAG ,GET-HELP-COMMAND ,RETURN-COMMAND> <
PRINTI "Having found these peculiar runes, I explored further in hopes of
discovering more artifacts. But my search was fruitless, and I had soon
wandered back to where I had started my explorations.">) (T <GRAPHIC ,
G-GATE-RUNES> <PRINTI
"Ambling aimlessly along the base of a rock cliff, something scurried by in
the tall brush. When I looked, nothing was there, but my eye caught some strange
lettering chiselled in the stone."> <OPTION ,TAG ,LOOK-AROUND-COMMAND ,
GET-HELP-COMMAND ,RETURN-COMMAND>)>) (<EQUAL? ,ACTION ,GET-HELP-COMMAND> <COND
(<AND <NOT <FSET? ,HERE ,SEEN>> <NOT ,2ND-PASS>> <PRINTI
"Unhappy at exploring alone, I called out for Praxix, who soon appeared. \"What
is it?\" he asked."> <CRLF> <CRLF> <PRINTI
"When I told him of my uneasiness in exploring alone, he acted annoyed. \"Return
to our camp, then,\" he said, indicating the direction. \"I shall continue to
look for "> <WPRINTD ,KIDNAPPED> <PRINTI ".\""> <CRLF> <CRLF> <SET ACTION ,
RETURN-COMMAND> <AGAIN>) (T <COND (,2ND-PASS <PRINTI
"Unhappy at exploring alone">) (T <PRINTI
"Eager to share my discovery with the others">)> <PRINTI
", I called out, and Praxix,
following the sound of my voice, appeared within moments. \"Well, what now?\" he
began, but as if by instinct, his eyes slowly wandered to "> <COND (<FSET? ,
HERE ,SEEN> <PRINTI "the runes that I had discovered.">) (T <GRAPHIC ,
G-GATE-RUNES> <PRINTI
"some runes that I hadn't noticed before,
chiselled into the stone.">)> <CRLF> <CRLF> <PRINTI "Praxix then called for ">
<COND (<EQUAL? ,PARTY-MAX 3> <PRINTI "Bergon">) (T <PRINTI "the others">)> <
PRINTI ", who hurried to our side."> <CRLF> <CRLF> <CANYON-GATE-OPENS>)>) (<
EQUAL? ,ACTION ,ENTER-COMMAND> <PRINTI
"Slowly and cautiously, we passed through the gate and into the darkness. As if
on some malicious cue, the gate crashed shut behind us."> <CRLF> <CRLF> <COND (
<FSET? ,PRAXIX ,LIT> <PRINTI
"We were fortunate indeed that Praxix had magically caused his staff to
glow, for the cavern itself was black as pitch.">) (T <COND (<FSET? ,ESHER ,
IN-PARTY> <PRINTI
"\"I don't suppose we have a torch anywhere,\" said Esher, knowing fully
well that we didn't. ">)> <PRINTI
"It was dark as pitch, the outline of the gate as invisible now as it had been
earlier.">)> <MOVE-TO ,BERN-I-LAV>) (<EQUAL? ,ACTION ,RETURN-COMMAND> <PRINTI
"Filled with apprehension, I returned to our camp. Before long the others had
also returned; there was no trace of "> <COND (,KIDNAPPED <WPRINTD ,KIDNAPPED>
<PRINTI "!">) (T <PRINTI "a gate.">)> <COND (<NOT <FSET? ,HERE ,SEEN>> <CRLF> <
CRLF> <PRINTI "\"We must face the fact that "> <WPRINTD ,KIDNAPPED> <PRINTI
" is gone,\" Praxix said.
\"Let us continue on our way.\""> <END-OPTION> <CLEAR-SUBGROUP> <
FORCE-TRAVEL-COMMAND ,HERE ,PROCEED-COMMAND> <RTRUE>)> <CRLF> <CRLF> <PRINTI
"Later, questioned by Praxix, I told of my explorations. He listened
without interest until I came to the part about finding the runes, when he
startled me by jumping to his feet. \"Take me!\" he commanded, and I
did."> <CRLF> <CRLF> <PRINTI
"The old Wizard studied the runes, then called for the others. "> <
CANYON-GATE-OPENS>)>)>
<DEFINE-ROUTINE ANONF-82>
<DEFINE-ROUTINE ANONF-83>
<DEFINE-ROUTINE CANYON-GATE-OPENS>
<DEFINE-ROUTINE CAVERN-GRAPHIC>
<ROOM BERN-I-LAV (TRAVEL-COMMANDS EXIT-COMMAND PROCEED-COMMAND NUL-COMMAND) (
FLAGS UNDERGROUND DONT-SCOUT) (ENTER CAVERN-GRAPHIC) (ACTION <ACOND () (<EQUAL?
,ACTION ,EXIT-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI
"We groped for the gate itself, or for some device that would open it, but
to no avail.">) (<EQUAL? ,ACTION ,PROCEED-COMMAND> <COND (<NOT <FSET? ,PRAXIX ,
LIT>> <PRINTI "I meekly suggested trying to feel our way through what ever passage we were in,
and Bergon reluctantly agreed. \"We seem to have no other choice,\" he said.">
<CRLF> <CRLF>)> <MOVE-TO ,DWARF-MEETING-LOC #ZLOCAL!-IZILCH STR?408>) (<EQUAL?
,ACTION ,CAST-COMMAND> <COND (<EQUAL? ,ACTION-OBJECT ,LIGHT-SPELL> <
CAVERN-GRAPHIC> <CAST-LIGHT>)>)>)>
<DEFINE-ROUTINE ANONF-84>
<ROOM ANGELES-PATH (TRAVEL-COMMANDS PROCEED-COMMAND CLIMB-COMMAND NUL-COMMAND)
(GRAPHIC G-CANYON) (ACTION <ACOND () (<EQUAL? ,ACTION ,PROCEED-COMMAND> <PRINTI
"The sun peeked behind some high clouds as we wound our way along the
floor of the canyon. Ahead, the path climbed up a tall ridge, and
we arrived there as dusk approached and stood in awe of the world
that surrounded us."> <CRLF> <CRLF> <MOVE-TO-FOREST-RIDGE>) (<EQUAL? ,ACTION ,
SCOUT-COMMAND> <UPDATE-FSET ,HERE ,DONT-SCOUT> <FSET ,HERE ,SCOUTED> <COND (<
EQUAL? ,ACTOR ,MINAR> <WPRINTD ,ACTOR> <PRINTI
" went ahead, paying close attention to the trail that climbed into the
mountains. \"It is a good trail,\" he said. \"As I recall, we can follow it
to a high ridge no more than a day's climb from here.\"">) (T <WPRINTD ,ACTOR>
<PRINTI " went ahead, reporting back that the trail appeared to be passable
as far as he could see, though it might well be more than a day's climb
to the top of the ridge.\"">)>) (<EQUAL? ,ACTION ,CLIMB-COMMAND> <PRINTI
"The trail was steep, winding its way high into the hills. At times, the trail
disappeared completely, and it was necessary to scout ahead to find the proper
path. But we pressed on, ever climbing, until we reached a spot about halfway
toward the top of the ridge."> <CRLF> <CRLF> <NEXT-DAY> <MOVE-TO ,HIGH-PLAIN #
ZLOCAL!-IZILCH STR?409>)>)>
<DEFINE-ROUTINE ANONF-85>

891
lavos.zap Normal file
View file

@ -0,0 +1,891 @@
.SEGMENT "LAVOS"
.FUNCT ANONF-57:ANY:0:0
EQUAL? ACTION,BACKGROUND-COMMAND \?CCL3
PRINTI "Our story began nearly five years ago, at the time of our first crop failures. These things happen, of course, once in a while, but by the third year, we knew something was badly amiss. And then, in the fourth year of our despair, the water, too, failed us; not all at once, mind you, but by the fifth year, there were only a few folks whose water was not foul-tasting and disease-ridden. Many moved away, into the north country, but in fact neither had our neighbors been spared the spreading pestilence."
CRLF
CRLF
PRINTI "Hope was fading as the summer of that fateful year approached, and, with no respite in sight, it was decided to seek aid beyond our borders, from a powerful Wizard who was said to live atop the distant Sunrise Mountain. And so a party of four departed, headed by the elder blacksmith, Garlimon; and they were never seen again."
CRLF
CRLF
PRINTI "But as winter reached its icy hand toward us, another group was formed with the same slim hope of finding answers to our desperate situation. Bergon, the carpenter, was chosen to lead the party; and Bergon chose Praxix, the local Wizard, and Esher, a learned (but irritable) physician, to join him. And the group chose me, "
ICALL1 WPRINTTAG
PRINTI ", apprentice food merchant, to watch the supplies and to keep a diary of our journey, which, by the fortunes of the good earth, I recount for you now."
RTRUE
?CCL3: EQUAL? ACTION,START-COMMAND \FALSE
RANDOM 64
SUB STACK,1
ADD STACK,64 >ASTRIX-MAZE-PATH
ICALL1 CLEAR-SUBGROUP
PRINTI "Our journey started on a day bright and clear, and we made quick progress down the gently winding road that leads south, past the boundaries of our valley."
CRLF
CRLF
PRINTI "The air was warm, but the cool north wind at our backs reminded us that winter was near. It seemed that we had only just started out when we arrived at the outpost town of Lavos, shortly past noon."
CRLF
CRLF
ICALL2 GRAPHIC,G-LAVOS
PRINTI "So this was Lavos! We stood in front of an old wooden storefront, that of a provisioner. Farther down the road, the Lands End tavern beckoned us with the promise of food and drink."
CALL2 MOVE-TO,LAVOS
RSTACK
.FUNCT ANONF-58:ANY:0:0
EQUAL? ACTION,GET-ADVICE-COMMAND \?CCL3
ICALL UPDATE-FCLEAR,HERE,ADVISE
PRINTI """I suppose,"" Bergon said with a smile, ""that we've come to our first decision. How are we set for supplies?"""
CRLF
CRLF
PRINTI """I'm sure we're well enough supplied,"" I said meekly. ""But I wouldn't mind looking around the shop, if you wouldn't mind taking the time."
CRLF
CRLF
PRINTI """Let's not disappoint "
ICALL1 WPRINTTAG
PRINTI ","" Praxix said kindly. ""And who knows - maybe we'll find something important there after all."""
RTRUE
?CCL3: EQUAL? ACTION,PROCEED-COMMAND \?CCL5
FSET? LANDS-END,SEEN /?CCL8
PRINTI "We walked down the dusty road, stopping at the door of the tavern. As we stood there, an unsavory looking man, approaching from the far end of town, brushed past us and entered."
JUMP ?CND6
?CCL8: FSET? LANDS-END-TAVERN,SEEN /?CCL10
PRINTI "Once again, we walked down that dusty road and stood at the door of the tavern. Loud conversation could be heard within, and we were sorely tempted to see what lay inside."
?CND6: CALL2 MOVE-TO,LANDS-END
RSTACK
?CCL10: PRINTI "We had seen town, such as it was, and it was now time to move on. "
ICALL2 GRAPHIC,G-FORK
ICALL MOVE-TO,NEWHALL-PASS,LEAVE-LAVOS
RTRUE
?CCL5: EQUAL? ACTION,ENTER-COMMAND \FALSE
ICALL UPDATE-FCLEAR,HERE,ADVISE
PRINTI "We entered the provisioner's shop, and introduced ourselves to the proprietor, a portly man named Webba. ""Look around, look around!"" he said, proudly, though (if the truth be told) there was not much to be proud of. Still, this would be our last chance to provision ourselves before moving south to whatever lay beyond."
CRLF
CRLF
ICALL2 GRAPHIC,G-WEBBA
CALL MOVE-TO,WEBBAS,STR?391
RSTACK
.FUNCT ANONF-59:ANY:0:0
IN? WEBBA-MAP,INVENTORY \?CND1
FSET WEBBA-MAP,DONT-EXAMINE
?CND1: PUTP HERE,P?TEMP,0
RTRUE
.FUNCT WEBBAS-F:ANY:0:0
EQUAL? ACTION,SELL-COMMAND \?CCL3
ICALL UPDATE-FSET,HERE,DONT-DROP
EQUAL? ACTION-OBJECT,WEBBA-MAP \?CCL6
PRINTI """No, you just keep the map,"" Webba said, returning the money we had paid for it. ""If you're going on from here, you'll be needing whatever help you can get!"""
RTRUE
?CCL6: PRINTI """Oh, dear me, no!"" was Webba's reply when we tried to sell him the "
ICALL2 WPRINTD,ACTION-OBJECT
PRINTI ". ""I'm sure I've got a whole shelf of them out back somewhere."""
RTRUE
?CCL3: EQUAL? ACTION,REPLY-COMMAND \?CCL8
ICALL2 WPRINTD,ACTOR
PRINTI " started to tell of our quest, and Webba shook his head, resigned to having lost a good customer. ""This map will not help you. I sell this item to 'tourists' - those curious enough to visit, but not enough to go on!"" He laughed heartily, and told of the peculiar man who offered him the map in exchange for a few worthless trinkets. Of course, the map appeared equally worthless, though he thought it amusing, especially the faintly flickering, oddly shaped runes that appeared on it. He ran his finger across the map, as if to show us the originals, but none were even vaguely flickering, and he soon gave up."
CRLF
CRLF
FSET WEBBA-MAP,USED-UP
PRINTI """The old man looked harmless enough,"" the shopkeeper continued, ""so I bought it. But the map seemed awfully plain, if you know what I mean, so I added some runes of my own - thought it looked more official that way! But, if I were trying to find my way somewhere, I would sooner trust my brother's blind mule than this map!"""
CALL1 END-OPTION
RSTACK
?CCL8: EQUAL? ACTION,IGNORE-COMMAND \?CCL10
PRINTI "Fearing to expose our quest, "
ICALL2 WPRINTD,ACTOR
PRINTI " shrugged off the question. Webba didn't pursue the matter, but he now looked at us with grave concern."
CALL1 END-OPTION
RSTACK
?CCL10: EQUAL? ACTION,LOOK-AROUND-COMMAND \?CCL12
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
PRINTI """I think I'll just have a look around,"" "
ICALL2 WPRINTD,ACTOR
PRINTI " said, as he wandered off to explore the shop. ""Perhaps there's something more here than meets the eye."""
PUTP HERE,P?TEMP,ACTOR
ICALL MAKE-BUSY,ACTOR,GONE-COMMAND
RTRUE
?CCL12: EQUAL? ACTION,EXIT-COMMAND \FALSE
ICALL TRAVEL-COMMANDS,LAVOS,PROCEED-COMMAND
CALL MOVE-TO,LAVOS,STR?392
RSTACK
.FUNCT ANONF-61:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \?CCL3
ICALL UPDATE-FSET,ACTION-OBJECT,DONT-EXAMINE
ICALL2 WPRINTD,ACTOR
PRINTI ", who was by no means an expert on fine foods, browsed through the food selection, though he could not find anything that he particularly liked."
CRLF
CRLF
PRINTI """Perhaps we should buy some of these things,"" he said, turning in my general direction. I agreed to take a look around, though we were not short of supplies."
RTRUE
?CCL3: EQUAL? ACTION,BUY-COMMAND \FALSE
PRINTI "I selected the most appetizing of the dry foodstuffs and placed them in my pack; at least we wouldn't be worrying about food for a few weeks, which was longer than we hoped to be gone."
CALL2 UPDATE-MOVE,WEBBA-FOOD
RSTACK
.FUNCT ANONF-62:ANY:0:0
FSET HERE,SEEN
FSET? WEBBAS,SEEN \FALSE
CALL REMOVE-TRAVEL-COMMAND,HERE,BACK-COMMAND
RSTACK
.FUNCT ANONF-63:ANY:0:0
EQUAL? ACTION,ENTER-COMMAND \?CCL3
ICALL1 REMOVE-TRAVEL-COMMAND
CALL MOVE-TO,LANDS-END-TAVERN,STR?394
RSTACK
?CCL3: EQUAL? ACTION,PROCEED-COMMAND \?CCL5
CALL MOVE-TO,NEWHALL-PASS,LEAVE-LAVOS
RSTACK
?CCL5: EQUAL? ACTION,BACK-COMMAND \FALSE
PRINTI """So, this is all there is,"" Esher said, shaking his head scornfully. ""Perhaps we were hasty in passing over the provisioner's shop."""
CRLF
CRLF
PRINTI """It could not hurt to check it out,"" Bergon replied, and we were soon retracing our steps to the provisioner's door."
ICALL1 REMOVE-TRAVEL-COMMAND
CALL2 MOVE-TO,LAVOS
RSTACK
.FUNCT ANONF-64:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL UPDATE-FSET,ACTION-OBJECT,DONT-EXAMINE
GETP HERE,P?TEMP
ZERO? STACK /?CCL6
FSET ACTION-OBJECT,EXAMINED
PRINTI "Praxix motioned toward a particularly dark corner of the tavern, where Esher was now conversing with someone whose face was obscured in shadow."
CRLF
CRLF
PRINTI """Perhaps we shall learn something of value from our friend Esher,"" he said."
RTRUE
?CCL6: FSET HERE,INCAPACITATED
PRINTI "Praxix slowly scanned the faces of the customers, but none returned his gaze. Indeed, although everyone here appeared to know who we were, none would acknowledge our presence."
CRLF
CRLF
PRINTI "The almost palpable tension inside the tavern made me ill at ease, and I believe Praxix felt this as well, though he was not nearly as alarmed as I. ""We have barely left home and already you see danger everywhere you turn,"" he said, reassuringly. ""Have a"
FSET? LANDS-END-DRINKS,SEEN \?CND7
PRINTI "nother"
?CND7: PRINTI " drink! Do not despair!"""
RTRUE
.FUNCT ANONF-65:ANY:0:0
EQUAL? ACTION,BUY-COMMAND \FALSE
FSET? LANDS-END-DRINKS,SEEN \?CCL6
REMOVE HYE-DRINKS
PRINTI "I suggested that another drink might not hurt, but Bergon suggested that I had had quite enough."
CRLF
CRLF
PRINTI """We wouldn't want you walking over any cliffs, or falling into chasms,"" he said."
FSET? HERE,INCAPACITATED \?CND7
CRLF
CRLF
PRINTI "The Wizard looked over his shoulder toward me and shrugged, then emptied his tankard of ale in a single gulp."
?CND7: CALL2 UPDATE-MOVE,LANDS-END-DRINKS
RSTACK
?CCL6: FSET LANDS-END-DRINKS,SEEN
PRINTI "Stepping up to the bar, we ordered ourselves a few tankards of ale. Though bitter by our standards, it was nevertheless refreshing, and we passed some time there with idle talk about the journey that was to come."
RTRUE
.FUNCT ANONF-66:ANY:0:0
PUTP HERE,P?TEMP,0
RTRUE
.FUNCT ANONF-67:ANY:0:0
EQUAL? ACTION,LOOK-AROUND-COMMAND \?CCL3
PRINTI "It took Esher just a few moments to become restless, and he soon slipped away from us to mingle with the crowd."
CRLF
CRLF
PRINTI """Who knows?"" he said, all but disappearing into the tavern's smoke-filled air, ""I may even learn something useful."""
FSET? LANDS-END-PEOPLE,EXAMINED /?CND4
ICALL UPDATE-MOVE,LANDS-END-PEOPLE,HERE
?CND4: PUTP HERE,P?TEMP,ACTOR
ICALL MAKE-BUSY,ACTOR,GONE-COMMAND
RTRUE
?CCL3: EQUAL? ACTION,EXIT-COMMAND \?CCL7
GETP HERE,P?TEMP
ZERO? STACK /?CCL10
CALL QSET?,MINAR,SEEN
ZERO? STACK \?CCL10
ICALL2 GRAPHIC,G-MINAR
PRINTI "On our way out, Esher rejoined us, telling of an intriguing conversation he had just had with one of the locals. Before he could go on, the unsavory man we had seen before stepped outside and pushed his way into our midst. Bergon, flushed with anger, grabbed his sword, but Esher held him back. ""This is the man I was telling you about,"" he said with no particular enthusiasm."
CRLF
CRLF
ICALL1 CLEAR-BUSY
PRINT MINAR-INTRO
ICALL OPTION,LEADER,ACCEPT-COMMAND,DECLINE-COMMAND,GET-ADVICE-COMMAND
FSET HERE,ADVISE
SET 'UPDATE-FLAG,TRUE-VALUE
RTRUE
?CCL10: PRINTI "It was Bergon's opinion that we had tarried here long enough, so we left the tavern, returning to the road"
FSET? LANDS-END-DRINKS,SEEN \?CND13
PRINTI " refreshed, and, if I might say, with a good, warm feeling in our bellies"
?CND13: PRINTC 46
CALL2 MOVE-TO,LANDS-END
RSTACK
?CCL7: EQUAL? ACTION,ACCEPT-COMMAND \?CCL16
ICALL2 WPRINTD,LEADER
PRINTI " appeared troubled, but agreed to Minar's request. ""It is against the wishes of our Elders, yet we know little of the world that lies beyond Lavos. We shall take the stranger!"""
ICALL2 PARTY-ADD,MINAR
ICALL2 END-OPTION,FALSE-VALUE
CALL2 MOVE-TO,LANDS-END
RSTACK
?CCL16: EQUAL? ACTION,DECLINE-COMMAND \?CCL18
ICALL2 WPRINTD,LEADER
PRINTI " thought for a moment, then spoke. ""Wiser men than ourselves have set our number at four. Though our perils be unknown to us, we must not lightly bend the wishes of those who have set us upon our way."" And with that, he dismissed Minar, who slinked back into the tavern."
FSET MINAR,SEEN
ICALL2 END-OPTION,FALSE-VALUE
CALL2 MOVE-TO,LANDS-END
RSTACK
?CCL18: EQUAL? ACTION,GET-ADVICE-COMMAND \FALSE
EQUAL? PARTY-MODE,OPTION-MODE \FALSE
FCLEAR HERE,ADVISE
PRINTI "None spoke, yet all frowned, if only a little, at the prospect of bringing this stranger into our group."
CALL OPTION,LEADER,ACCEPT-COMMAND,DECLINE-COMMAND
RSTACK
.FUNCT ANONF-68:ANY:0:0
FCLEAR WEBBA-MAP,DONT-EXAMINE
CALL ADD-TRAVEL-COMMAND,PRAXIX,TELL-LEGEND-COMMAND
RSTACK
.FUNCT ANONF-69:ANY:0:0
FSET WEBBA-MAP,DONT-EXAMINE
RTRUE
.FUNCT ANONF-70:ANY:0:0
EQUAL? ACTION,GET-ADVICE-COMMAND \?CCL3
ICALL UPDATE-FCLEAR,HERE,ADVISE
FSET? HERE,SCOUTED \?CCL6
PRINTI "Having considered Minar's report, Bergon asked each of us for our advice. Esher, Minar, and I favored taking the righthand path and avoiding the bandits altogether. Praxix, however, was intensely curious as to the meaning of the bloodstained clothing, feeling that it might relate to the mystery surrounding the disappearance of Garlimon's party. Bergon listened carefully, though he kept his thoughts to himself."
RTRUE
?CCL6: FSET? MINAR,IN-PARTY \?CCL8
PRINTI "Bergon asked for our advice, but only Minar spoke. ""If our goal is the Sunrise Mountain,"" he said, ""we should have better luck keeping to the left."""
RTRUE
?CCL8: PRINTI "It felt like hours had passed while we stood at the fork, looking this way and that, not knowing which would lead more quickly to our destination. Perhaps it would not matter, yet we feared that time was critial and that our decision here would be crucial to our success."
RTRUE
?CCL3: EQUAL? ACTION,SCOUT-COMMAND \?CCL10
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
EQUAL? ACTOR,ESHER \?CCL13
ICALL2 WPRINTD,ACTOR
PRINTI " grudgingly agreed to run on ahead and check out both paths; when he arrived back, breathless, he was reticent."
CRLF
CRLF
PRINTI """Well,"" Bergon prompted, expecting some sort of information to be forthcoming."
CRLF
CRLF
PRINTI """How should I know?"" Esher replied, ""I've never been here before, and they just look like paths to me. If it's advice you're after, I say let's go left - there's less climbing that way."""
CALL UPDATE-FCLEAR,HERE,ADVISE
RSTACK
?CCL13: PRINTI "Bergon asked Minar to scout out the paths before us, but Minar, sensing an insult, was initially disinclined to do so."
CRLF
CRLF
RANDOM 2 >FORK-BANDITS
PRINTI """I have no need to scout these paths,"" he said harshly, ""for I have travelled them many times. If we seek the Sunrise Mountain, our best path is to the left."""
CRLF
CRLF
PRINTI "But then, Minar's voice softened. ""However, these are dangerous times, and we may have been followed."" And with that, he quietly disappeared down the lefthand path. When he returned, he shook his head knowingly."
CRLF
CRLF
SET 'FORK-BANDITS,1
PRINTI """It is as I feared. Not long after I left, I discovered this."" He held up a shredded piece of clothing, similar to our own, stained heavily with dried blood. ""There is more - there are fresh tracks in the ground - three or four, I would say. No doubt they are bandits, and they lie in wait for us. Also, sunset is near. We must hope to do better down the other path."""
FSET HERE,SCOUTED
RTRUE
?CCL10: EQUAL? ACTION,LEFT-COMMAND \?CCL15
EQUAL? FORK-BANDITS,1 \?CCL18
FSET? HERE,SCOUTED \?CCL18
FSET? MINAR,IN-PARTY \?CCL18
PRINTI "Although Minar had cautioned us against taking this route, Bergon chose to "
FSET? HERE,ADVISE /?CND22
PRINTI "take Praxix' advice and "
?CND22: PRINTI "proceed "
JUMP ?CND16
?CCL18: PRINTI "We chose to remain north of the mountains, following the path which led"
?CND16: CALL MOVE-TO,CANYON-COUNTRY,STR?398
RSTACK
?CCL15: EQUAL? ACTION,RIGHT-COMMAND \FALSE
EQUAL? FORK-BANDITS,2 \?CCL28
PRINTI "Although Minar had cautioned us against taking this route, Bergon chose to proceed southward, following a steeply winding path that led down through a narrow canyon."
JUMP ?CND26
?CCL28: PRINTI "Choosing the southern route, we descended through a steeply winding canyon."
?CND26: CALL MOVE-TO,SYLMAR,STR?399
RSTACK
.FUNCT ANONF-71:ANY:0:0
EQUAL? ACTION,SCENE-START-COMMAND \?CCL3
ICALL UPDATE-MOVE,BANDITS,HERE
CRLF
CRLF
PRINTI "Not a minute after locating a campsite, we were suddenly attacked by a small gang of bandits."
CRLF
CRLF
SET 'COMBAT-ROUND,-1
CALL1 SURPRISE-COMBAT
RSTACK
?CCL3: EQUAL? ACTION,SCENE-END-COMMAND \?CCL5
ICALL2 UPDATE-REMOVE,BANDITS
GETP HERE,P?GRAPHIC
ICALL2 GRAPHIC,STACK
ZERO? BANDITS-SPELL /?CND6
CRLF
CRLF
PRINTI "It was about this time that Praxix was ready to cast his """
ICALL2 WPRINTD,BANDITS-SPELL
PRINTI """ spell. But looking around for the first time since he had started, he came to the belated realization that it was no longer necessary."
FSET? ESHER,IN-PARTY \?CND8
CRLF
CRLF
PRINTI """Would that we had a medal for valor,"" Esher said, patting Praxix on the back and pouring on the sarcasm. ""I feel safer in battle just knowing that you are with us."""
?CND8: ICALL1 CLEAR-BUSY
?CND6: FSET? ESHER,IN-PARTY /?CCL12
CRLF
CRLF
PRINTI "The battle was now over, and we would have to go on without the services of our physician. Praxix performed a brief ceremony, after which we laid our friend to rest in a deep grave in the shade of a sycamore tree, and marked the spot with a rock cairn."
JUMP ?CND10
?CCL12: ICALL2 MAKE-UNBUSY,MINAR
?CND10: CRLF
CRLF
PRINTI "It was now late, so we set up camp, taking turns on guard through the night. Later, I dreamed that we stood on a high precipice, far above the clouds; storms surrounded us, and violent gusts of wind nearly swept us off our feet and down into a dark abyss. And then, the wind changed, and a gentle breeze blew, and we were carried off that precipice. But we were not afraid as we glided and soared through the ocean of still, clear air."
CRLF
CRLF
PRINTI "When morning came, misty and still, we packed silently and prepared to move onward. But the dream stayed with me, and in later days I would think of it often, sensing in it a foreshadowing of things to come - but when, or in what manner, I could not know."
RTRUE
?CCL5: EQUAL? ACTION,COMBAT-RESULT-COMMAND \?CCL14
ZERO? COMBAT-ROUND \?CCL17
EQUAL? FORK-BANDITS,1,2 \?CCL20
PRINTI "Having been warned of our danger, we reacted quickly and surely. I had never been in battle before, but it was clear that Bergon was our strongest fighter, wielding a heavy broadsword. Esher, surprisingly, was also a good fighter, and he easily handled the sword thrusts of his opponent. Praxix and I, however, were new to this sort of thing, and were satisfied with merely staving off injury."
RTRUE
?CCL20: PRINTI "Caught completely unawares, w"
ICALL2 HINT,HINT-BANDITS
ICALL1 BANDITS-KILL-ESHER
RTRUE
?CCL17: FSET? ESHER,IN-PARTY \?CND21
PRINTI "Just then, a previously unseen attacker approached Esher from behind with a large club. Not a moment before he"
FSET? HERE,TRIED \?CCL25
PRINTI " would have been hit, a sword ripped through the attacker's chest. Placing his foot on the attacker's back, Minar kicked the mortally wounded attacker to the ground and smiled. Clearly, Minar had done this sort of thing before, and what's more, he seemed to enjoy it. But the grotesque look on his victim's face filled me with dread and revulsion."
JUMP ?CND23
?CCL25: PRINTI " was hit, I screamed a warning, but it was too late. W"
ICALL2 HINT,HINT-BANDITS-FLANK
ICALL1 BANDITS-KILL-ESHER
?CND23: CRLF
CRLF
?CND21: FSET? ESHER,IN-PARTY /?CCL28
PRINTI "Our fortunes were finally improving"
JUMP ?CND26
?CCL28: PRINTI "The battle was "
ZERO? FORK-BANDITS \?CND29
PRINTI "finally "
?CND29: PRINTI "going well"
?CND26: PRINTI "; Bergon"
FSET? ESHER,IN-PARTY \?CND31
PRINTI ", Esher,"
?CND31: FSET? MINAR,IN-PARTY \?CND33
PRINTI " and Minar"
?CND33: FSET? MINAR,IN-PARTY /?CTR36
FSET? ESHER,IN-PARTY \?CCL37
?CTR36: PRINTI " were"
JUMP ?CND35
?CCL37: PRINTI " was"
?CND35: PRINTI " making some deadly hits with "
FSET? MINAR,IN-PARTY /?CTR41
FSET? ESHER,IN-PARTY \?CCL42
?CTR41: PRINTI "their weapons"
JUMP ?CND40
?CCL42: PRINTI "his sword"
?CND40: PRINTI ", and the bandits appeared weaker in their resolve to fight, taking ever more to the defensive."
RTRUE
?CCL14: EQUAL? ACTION,CAST-COMMAND \?CCL46
SET 'BANDITS-SPELL,ACTION-OBJECT
PRINTI "In the midst of the fighting, Praxix started preparing a spell of some sort. It wasn't easy, though, and it appeared we would not be seeing the spell's effects for some time."
ICALL2 MAKE-BUSY,PRAXIX
ICALL1 NEW-DEFAULT
RTRUE
?CCL46: EQUAL? ACTION,COMBAT-COMMAND \?CCL48
FSET? BANDITS-FIGHT,SEEN /?CCL48
FSET? MINAR,IN-PARTY /?CCL48
ZERO? COMBAT-ROUND \?CCL48
FSET BANDITS-FIGHT,SEEN
PRINTI "As we prepared to continue the fight, it was clear that something was wrong in the ranks of the bandits; one dropped dead in his tracks before we had commenced."
CRLF
CRLF
GETP BANDITS,P?STATUS
MUL STACK,3
DIV STACK,4
PUTP BANDITS,P?STATUS,STACK
RFALSE
?CCL48: EQUAL? ACTION,FLANK-COMMAND \?CCL54
EQUAL? ACTOR,MINAR \?CCL57
ICALL MAKE-BUSY,MINAR,GONE-COMMAND
FSET HERE,TRIED
PRINTI "We almost didn't notice that Minar had quietly slipped away, snaking his way through the brush to take up a position behind that of the bandits."
JUMP ?CND55
?CCL57: ICALL CHANGE-CIT,MINAR,1,NUL-COMMAND
ICALL2 WPRINTD,ACTOR
PRINTI " thought there would be some advantage to sneaking around the bandits' flank, but he was too large a man and too involved in the battle itself to do this without attracting notice."
?CND55: ICALL CHANGE-CIT,BERGON,1,NUL-COMMAND
CALL1 NEW-DEFAULT
RSTACK
?CCL54: EQUAL? ACTION,STRENGTH-COMMAND \?CCL59
FSET? BANDITS-FIGHT,SEEN \?CCL59
ICALL2 ADD-PARTY-OFFENSE,40
ICALL2 ADD-PARTY-DEFENSE,10
RFALSE
?CCL59: EQUAL? ACTION,ACCEPT-COMMAND \?CCL63
ICALL2 WPRINTD,LEADER
PRINTI ", still troubled, agreed. "
FSET? MINAR,SEEN \?CND64
PRINTI """It seems we cannot be rid of you, so you may as well join us."" "
?CND64: PRINTI "Praxix appeared uneasy with Bergon's decision, but, as for me, I was happy to take any help we were offered."
ICALL TRAVEL-COMMANDS,ESHER,EXAMINE-COMMAND
ICALL1 END-OPTION
ICALL2 END-COMBAT,FALSE-VALUE
ICALL2 PARTY-ADD,MINAR
RTRUE
?CCL63: EQUAL? ACTION,RETREAT-COMMAND \?CCL67
ICALL2 REMOVE-PARTY-COMMAND,RETREAT-COMMAND
PRINTI "Any thought of retreating from these bandits would soon be forgotten, as it became clear that we were far stronger than they."
RTRUE
?CCL67: EQUAL? ACTION,PARLEY-COMMAND \?CCL69
ICALL2 REMOVE-PARTY-COMMAND,PARLEY-COMMAND
ICALL CHANGE-CIT,BERGON,1,NUL-COMMAND
FSET? MINAR,IN-PARTY \?CND70
ICALL CHANGE-CIT,MINAR,1,NUL-COMMAND
?CND70: PRINTI "Hoping to avoid a bloody battle, we attempted to parley with the bandits, but they declined with words hardly fit to print. The attempt, however, cost us precious time in battle and made it virtually impossible for us to make any surprise moves."
RTRUE
?CCL69: EQUAL? ACTION,GET-ADVICE-COMMAND \?CCL73
ICALL UPDATE-FCLEAR,HERE,ADVISE
PRINTI "The group, grateful for Minar's help, was quiet, yet none came out against taking in this inscrutable stranger."
CALL OPTION,LEADER,ACCEPT-COMMAND,DECLINE-COMMAND
RSTACK
?CCL73: EQUAL? ACTION,DECLINE-COMMAND \FALSE
ICALL2 WPRINTD,LEADER
PRINTI " was firm. ""We are thankful for your help, but we must "
FSET? MINAR,SEEN \?CND76
PRINTI "again "
?CND76: PRINTI "refuse your offer. Good luck be with you!"" And, "
FSET? MINAR,SEEN \?CCL80
PRINTI "as before"
JUMP ?CND78
?CCL80: PRINTI "without further ado"
?CND78: PRINTI ", Minar left, disappearing into the shadows."
ICALL2 HINT,HINT-MINAR
ICALL1 END-OPTION
ICALL2 END-COMBAT,FALSE-VALUE
RTRUE
.FUNCT BANDITS-KILL-ESHER:ANY:0:0
ICALL2 PARTY-REMOVE,ESHER
PRINTI "e watched in horror as Esher was felled by a single blow of his attacker's club. The rest of our group, weapons drawn, began to take the initiative and scored some deadly hits of our own."
RTRUE
.FUNCT ANONF-72:ANY:0:0
CRLF
PRINTI "The bandits, finding the fight more than they had bargained for, retreated out of sight."
FSET? BANDITS-FIGHT,SEEN \?CCL3
ZERO? BANDITS-SPELL /?CND4
ICALL2 UNUSE-ESSENCES,BANDITS-SPELL
SET 'BANDITS-SPELL,FALSE-VALUE
PRINTI " Praxix, seeing that there was no need for his magic, put away his pouch."
?CND4: ICALL1 CLEAR-BUSY
PRINTI " A moment later, "
FSET? MINAR,SEEN \?CCL8
PRINTI "Minar"
JUMP ?CND6
?CCL8: PRINTI "the man we had seen entering the tavern"
?CND6: PRINTI " appeared, bow in hand. ""I thought you might be needing some help,"" he said, grinning."
CRLF
CRLF
FSET? MINAR,SEEN \?CCL11
PRINTI """My previous offer stands, and this time I would advise you to accept it."" He stood there, grinning all the time, waiting for our answer."
JUMP ?CND9
?CCL11: PRINT MINAR-INTRO
?CND9: ICALL OPTION,LEADER,ACCEPT-COMMAND,DECLINE-COMMAND,GET-ADVICE-COMMAND
RTRUE
?CCL3: ICALL2 END-COMBAT,FALSE-VALUE
RTRUE
.FUNCT ANONF-73:ANY:0:0
EQUAL? FORK-BANDITS,2,0 \FALSE
SET 'OPPONENT,BANDITS
CALL SCENE,BANDITS-FIGHT,FIGHT-MODE
RSTACK
.FUNCT ANONF-74:ANY:0:0
EQUAL? ACTION,PROCEED-COMMAND \?CCL3
PRINTI "The path curved toward the east along the foothills of the mountains, and we were soon forced to choose between climbing higher or veering off and into the southern valley. But there was no choice, really, since our goal was to the east; it would be impossible to avoid the mountains, so we started our ascent."
CRLF
CRLF
PRINTI "The climb was long and arduous, and it was not until late in the second day that we reached a plateau high in the mountains. But it was dark, and little could be seen. And so we camped there under a starry sky."
CRLF
CRLF
IN? ESSENCE-FIRE,ESSENCES /?CND4
FSET? NEWHALL-PASS,SCOUTED \?CND4
IN? HINT-MINAR,HINTS /?CND4
ICALL2 HINT,HINT-NO-FIRE
?CND4: ICALL2 NEXT-DAY,2
CALL1 GATE-TO-HIGH-PLAIN
RSTACK
?CCL3: EQUAL? ACTION,SCOUT-COMMAND \?CCL10
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
ICALL1 CAIRN-SCOUT
RTRUE
?CCL10: EQUAL? ACTION,BACK-COMMAND \FALSE
ICALL1 REMOVE-TRAVEL-COMMAND
PRINTI "I suggested returning to Lavos, but the idea was immediately quashed by the group."
CRLF
CRLF
PRINTI """Our destiny lies ahead, not behind,"" Praxix said. ""Try to remember that."""
RTRUE
.FUNCT ANONF-75:ANY:0:0
EQUAL? FORK-BANDITS,1,0 \FALSE
SET 'OPPONENT,BANDITS
CALL SCENE,BANDITS-FIGHT,FIGHT-MODE
RSTACK
.FUNCT ANONF-76:ANY:0:0
EQUAL? ACTION,PROCEED-COMMAND \?CCL3
IN? ESSENCE-FIRE,ESSENCES /?CND4
FSET? NEWHALL-PASS,SCOUTED \?CND4
IN? HINT-MINAR,HINTS /?CND4
ICALL2 HINT,HINT-NO-FIRE
?CND4: CALL MOVE-TO,TUJUNGA-PATH,STR?402
RSTACK
?CCL3: EQUAL? ACTION,SCOUT-COMMAND \?CCL10
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
ICALL1 CAIRN-SCOUT
RTRUE
?CCL10: EQUAL? ACTION,BACK-COMMAND \FALSE
ICALL1 REMOVE-TRAVEL-COMMAND
FSET? ESHER,IN-PARTY \?CCL15
PRINTI "Esher, dismayed by our confrontation with the bandits,"
JUMP ?CND13
?CCL15: PRINTI "Disheartened by the loss of Esher, I"
?CND13: PRINTI " suggested backtracking toward Lavos, but the idea was quickly quashed by the others who felt that we would make good progress along the path we had chosen."
RTRUE
.FUNCT ANONF-77:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL1 CLEAR-EXBIT
ICALL2 WPRINTD,ACTOR
PRINTI " examined the bodies"
EQUAL? ACTOR,ESHER \?CCL6
PRINTI " carefully. ""They were killed with sharp objects of some kind - swords and knives, I would guess. Whatever weapons they may have carried are gone - in fact, only their cloaks remain. I'd be willing to bet that they were waylaid and robbed."""
RTRUE
?CCL6: ICALL FIND-ESSENCE,ESSENCE-FIRE,2
ICALL FIND-ESSENCE,ESSENCE-WATER,1
PRINTI ", discovering two small pouches of powders hidden within a seam of one of the cloaks that had been used as a burial shroud. ""Fire essence,"" he beamed, opening the first and holding it up for my inspection. ""Or I'm an apprentice food merchant!"" And then, examining the second pouch, he found a far smaller amount of a different powder. He dipped a finger into the powder, and touched it to his lips. ""And this would be water essence, though barely enough for a single spell. And yet, all such powders are nigh impossible to obtain these days, and much can be done with them."""
RTRUE
.FUNCT ANONF-78:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL1 UPDATE-MOVE
EQUAL? ACTOR,PRAXIX \?CCL6
PRINTI "At Bergon's request, Praxix looked over the cairn. ""The cairn was made by our people and not by the locals from Lavos,"" he said."
RTRUE
?CCL6: PRINTI """This cairn looks like one of ours,"" "
ICALL2 WPRINTD,ACTOR
PRINTI " said, looking over the mound of carefully piled rocks. ""Not at all like those we passed on the outskirts of Lavos."""
RTRUE
.FUNCT ANONF-79:ANY:0:0
FCLEAR WEBBA-MAP,DONT-EXAMINE
RTRUE
.FUNCT ANONF-80:ANY:0:0
FSET WEBBA-MAP,DONT-EXAMINE
RTRUE
.FUNCT ANONF-81:ANY:0:0
EQUAL? ACTION,SCOUT-COMMAND \?CCL3
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
ICALL2 WPRINTD,ACTOR
PRINTI " scouted out the climbing path, and reported that it wound its way out of sight, high in the mountains."
CRLF
CRLF
PRINTI """The shortest path to the Sunrise Mountain lies ahead, unless, of course, you feel the urge to explore the high country,"" he said."
RTRUE
?CCL3: EQUAL? ACTION,PROCEED-COMMAND \?CCL5
ICALL1 NEXT-DAY
CALL MOVE-TO,CANYON-GATE,STR?405
RSTACK
?CCL5: EQUAL? ACTION,CLIMB-COMMAND \FALSE
PRINTI "Opting for the high road, we started to climb into the southern mountains. The path was narrow, and frequently choked with low brush, making progress slow. By midday however, we had climbed more than half of the distance to the ridge which hung above us. It took the rest of the afternoon, but we finally arrived at the ridge. We were all tired after our day of climbing, and so we camped there for the night."
CRLF
CRLF
ICALL2 GRAPHIC,G-HIGH-PLAIN
ICALL1 NEXT-DAY
CALL MOVE-TO,HIGH-PLAIN,STR?406
RSTACK
.FUNCT CAIRN-SCOUT:ANY:0:0
EQUAL? ACTOR,MINAR \?CCL3
ICALL UPDATE-MOVE,CANYON-CAIRN,HERE
MOVE CANYON-BODIES,HERE
ICALL2 WPRINTD,ACTOR
PRINTI " was sent out to explore the area around us. What he found brought little cheer."
CRLF
CRLF
PRINTI """A rock cairn,"" he said, leading us to a shaded spot beneath a grove of stately oaks, ""I am certain this was not here last summer, when I camped in this same spot."""
CRLF
CRLF
PRINTI "Minar's words were ominous - whatever was buried here had not lain long in the earth. Fearful over what we might find, we decided to dig up whatever remains lay there. It was not long before we found what we were after - three sets of human remains, their bodies mangled and bloodied, yet covered with their own cloaks."
CRLF
CRLF
PRINTI """Garlimon's party!"" cried Bergon. ""But there are only three, not four...."""
CRLF
CRLF
PRINTI """And that is but part of the mystery,"" replied Praxix, ""Who, I wonder, took the time to bury them? Surely not the assassins that tortured and killed them."""
RTRUE
?CCL3: PRINTI "Esher took a few moments to scout out the immediate area, but nothing of interest caught his eye, excepting the few rabbits he suggested might make a nice dinner."
RTRUE
.FUNCT ANONF-82:ANY:0:0
ZERO? 2ND-PASS /FALSE
FSET? MINAR,IN-PARTY /FALSE
FSET? ESHER,IN-PARTY /FALSE
FSET? DWARF-MEETING,TRIED /FALSE
CALL2 ADD-PARTY-COMMAND,COMB-AREA-COMMAND
RSTACK
.FUNCT ANONF-83:ANY:0:0
?FCN: EQUAL? ACTION,PROCEED-COMMAND \?CCL3
CALL MOVE-TO,ANGELES-PATH,STR?407
RSTACK
?CCL3: EQUAL? ACTION,COMB-AREA-COMMAND \?CCL5
ICALL1 REMOVE-TRAVEL-COMMAND
PRINTI "We split up into two groups in search of the Dwarves' gate; Praxix and I went toward the hills, and "
EQUAL? PARTY-MAX,3 \?CCL8
PRINTI "Bergon"
JUMP ?CND6
?CCL8: PRINTI "the others"
?CND6: PRINTI " followed the canyon floor. Before long, I found that I had wandered out of sight of Praxix."
CALL OPTION,TAG,LOOK-AROUND-COMMAND,GET-HELP-COMMAND
RSTACK
?CCL5: EQUAL? ACTION,SCOUT-COMMAND \?CCL10
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
FSET HERE,SCOUTED
SET 'KIDNAPPED,ACTOR
ICALL2 PARTY-REMOVE,ACTOR
FSET? ESHER,IN-PARTY /?CND11
FSET? MINAR,IN-PARTY /?CND11
ICALL REMOVE-TRAVEL-COMMAND,HERE,PROCEED-COMMAND
?CND11: ICALL2 WPRINTD,LEADER
PRINTI " sent "
ICALL2 WPRINTD,ACTOR
PRINTI " off to scout around the area, which he did. After an hour, though, he had not returned and "
ICALL2 WPRINTD,LEADER
PRINTI " was alarmed enough to set us out searching for him. We split up into two groups; Praxix and I went toward the hills, and "
EQUAL? PARTY-MAX,3 \?CCL17
PRINTI "Bergon"
JUMP ?CND15
?CCL17: PRINTI "the others"
?CND15: PRINTI " followed the canyon floor. Before long, I found that I had wandered out of sight of Praxix."
ICALL2 MAKE-SUBGROUP,TAG
CALL OPTION,TAG,LOOK-AROUND-COMMAND,GET-HELP-COMMAND
RSTACK
?CCL10: EQUAL? ACTION,LOOK-AROUND-COMMAND \?CCL19
CALL QSET?,HERE,SEEN
ZERO? STACK /?CCL22
ICALL OPTION,TAG,GET-HELP-COMMAND,RETURN-COMMAND
PRINTI "Having found these peculiar runes, I explored further in hopes of discovering more artifacts. But my search was fruitless, and I had soon wandered back to where I had started my explorations."
RTRUE
?CCL22: ICALL2 GRAPHIC,G-GATE-RUNES
PRINTI "Ambling aimlessly along the base of a rock cliff, something scurried by in the tall brush. When I looked, nothing was there, but my eye caught some strange lettering chiselled in the stone."
CALL OPTION,TAG,LOOK-AROUND-COMMAND,GET-HELP-COMMAND,RETURN-COMMAND
RSTACK
?CCL19: EQUAL? ACTION,GET-HELP-COMMAND \?CCL24
FSET? HERE,SEEN /?CCL27
ZERO? 2ND-PASS \?CCL27
PRINTI "Unhappy at exploring alone, I called out for Praxix, who soon appeared. ""What is it?"" he asked."
CRLF
CRLF
PRINTI "When I told him of my uneasiness in exploring alone, he acted annoyed. ""Return to our camp, then,"" he said, indicating the direction. ""I shall continue to look for "
ICALL2 WPRINTD,KIDNAPPED
PRINTI "."""
CRLF
CRLF
SET 'ACTION,RETURN-COMMAND
JUMP ?FCN
?CCL27: ZERO? 2ND-PASS /?CCL32
PRINTI "Unhappy at exploring alone"
JUMP ?CND30
?CCL32: PRINTI "Eager to share my discovery with the others"
?CND30: PRINTI ", I called out, and Praxix, following the sound of my voice, appeared within moments. ""Well, what now?"" he began, but as if by instinct, his eyes slowly wandered to "
FSET? HERE,SEEN \?CCL35
PRINTI "the runes that I had discovered."
JUMP ?CND33
?CCL35: ICALL2 GRAPHIC,G-GATE-RUNES
PRINTI "some runes that I hadn't noticed before, chiselled into the stone."
?CND33: CRLF
CRLF
PRINTI "Praxix then called for "
EQUAL? PARTY-MAX,3 \?CCL38
PRINTI "Bergon"
JUMP ?CND36
?CCL38: PRINTI "the others"
?CND36: PRINTI ", who hurried to our side."
CRLF
CRLF
CALL1 CANYON-GATE-OPENS
RSTACK
?CCL24: EQUAL? ACTION,ENTER-COMMAND \?CCL40
PRINTI "Slowly and cautiously, we passed through the gate and into the darkness. As if on some malicious cue, the gate crashed shut behind us."
CRLF
CRLF
FSET? PRAXIX,LIT \?CCL43
PRINTI "We were fortunate indeed that Praxix had magically caused his staff to glow, for the cavern itself was black as pitch."
JUMP ?CND41
?CCL43: FSET? ESHER,IN-PARTY \?CND44
PRINTI """I don't suppose we have a torch anywhere,"" said Esher, knowing fully well that we didn't. "
?CND44: PRINTI "It was dark as pitch, the outline of the gate as invisible now as it had been earlier."
?CND41: CALL2 MOVE-TO,BERN-I-LAV
RSTACK
?CCL40: EQUAL? ACTION,RETURN-COMMAND \FALSE
PRINTI "Filled with apprehension, I returned to our camp. Before long the others had also returned; there was no trace of "
ZERO? KIDNAPPED /?CCL50
ICALL2 WPRINTD,KIDNAPPED
PRINTC 33
JUMP ?CND48
?CCL50: PRINTI "a gate."
?CND48: FSET? HERE,SEEN /?CND51
CRLF
CRLF
PRINTI """We must face the fact that "
ICALL2 WPRINTD,KIDNAPPED
PRINTI " is gone,"" Praxix said. ""Let us continue on our way."""
ICALL1 END-OPTION
ICALL1 CLEAR-SUBGROUP
ICALL FORCE-TRAVEL-COMMAND,HERE,PROCEED-COMMAND
RTRUE
?CND51: CRLF
CRLF
PRINTI "Later, questioned by Praxix, I told of my explorations. He listened without interest until I came to the part about finding the runes, when he startled me by jumping to his feet. ""Take me!"" he commanded, and I did."
CRLF
CRLF
PRINTI "The old Wizard studied the runes, then called for the others. "
CALL1 CANYON-GATE-OPENS
RSTACK
.FUNCT CANYON-GATE-OPENS:ANY:0:0
ICALL UPDATE-MOVE,TALE-DWARF-GATES,PRAXIX-TALES
MOVE TALE-DWARVES,PRAXIX-TALES
PRINTI """The runes here are very old, and ancient languages are not my specialty. But the runes are Dwarvish, and long ago I learned some of their words. This first rune, 'Bern,' means a 'gate', and this second one, 'Lav,' refers to 'the plains'."""
CRLF
CRLF
PRINTI """The gate to the plains,"" I said, putting two and two together. ""But from where?"""
CRLF
CRLF
PRINTI """That is a simple question,"" Praxix replied, ""A more interesting one would be 'How shall we get it to open?'"""
FSET? ESHER,IN-PARTY \?CCL3
CRLF
CRLF
PRINTI """Or better still, 'What do we do now?'"" snarled Esher as, to everyone's surprise, a round gate appeared, yawning wide before us."
JUMP ?CND1
?CCL3: CRLF
CRLF
PRINTI "This was not to be a problem, for a round gate then appeared from nowhere and opened."
?CND1: ZERO? 2ND-PASS \?CND4
CRLF
CRLF
PRINTI "Of the group, only Praxix was genuinely pleased by our discovery, though he was mystified as to just how it had happened. ""Perhaps it was something I said,"" he offered, shrugging."
?CND4: PUTP CANYON-GATE,P?GRAPHIC,G-GATE-RUNES
ICALL GRAPHIC,FALSE-VALUE,G-GATE-OPENS,BOTTOM-RIGHT
ICALL1 END-OPTION
ICALL1 CLEAR-SUBGROUP
ICALL ADD-TRAVEL-COMMAND,HERE,ENTER-COMMAND
ICALL UPDATE-FSET,HERE,NEAR-DARK
RTRUE
.FUNCT CAVERN-GRAPHIC:ANY:0:0
FSET? PRAXIX,LIT \?CCL3
CALL2 GRAPHIC,G-DARK-CAVERN
RSTACK
?CCL3: ZERO? BLACK-PICTURE-BORDER /?CCL6
CLEAR GRAPHICS-WINDOW
JUMP ?CND4
?CCL6: ICALL2 GRAPHIC,G-BLACK
?CND4: SET 'CURRENT-GRAPHIC,-1
RETURN CURRENT-GRAPHIC
.FUNCT ANONF-84:ANY:0:0
EQUAL? ACTION,EXIT-COMMAND \?CCL3
ICALL1 REMOVE-TRAVEL-COMMAND
PRINTI "We groped for the gate itself, or for some device that would open it, but to no avail."
RTRUE
?CCL3: EQUAL? ACTION,PROCEED-COMMAND \?CCL5
FSET? PRAXIX,LIT /?CND6
PRINTI "I meekly suggested trying to feel our way through what ever passage we were in, and Bergon reluctantly agreed. ""We seem to have no other choice,"" he said."
CRLF
CRLF
?CND6: CALL MOVE-TO,DWARF-MEETING-LOC,STR?408
RSTACK
?CCL5: EQUAL? ACTION,CAST-COMMAND \FALSE
EQUAL? ACTION-OBJECT,LIGHT-SPELL \FALSE
ICALL1 CAVERN-GRAPHIC
CALL1 CAST-LIGHT
RSTACK
.FUNCT ANONF-85:ANY:0:0
EQUAL? ACTION,PROCEED-COMMAND \?CCL3
PRINTI "The sun peeked behind some high clouds as we wound our way along the floor of the canyon. Ahead, the path climbed up a tall ridge, and we arrived there as dusk approached and stood in awe of the world that surrounded us."
CRLF
CRLF
CALL1 MOVE-TO-FOREST-RIDGE
RSTACK
?CCL3: EQUAL? ACTION,SCOUT-COMMAND \?CCL5
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
EQUAL? ACTOR,MINAR \?CCL8
ICALL2 WPRINTD,ACTOR
PRINTI " went ahead, paying close attention to the trail that climbed into the mountains. ""It is a good trail,"" he said. ""As I recall, we can follow it to a high ridge no more than a day's climb from here."""
RTRUE
?CCL8: ICALL2 WPRINTD,ACTOR
PRINTI " went ahead, reporting back that the trail appeared to be passable as far as he could see, though it might well be more than a day's climb to the top of the ridge."""
RTRUE
?CCL5: EQUAL? ACTION,CLIMB-COMMAND \FALSE
PRINTI "The trail was steep, winding its way high into the hills. At times, the trail disappeared completely, and it was necessary to scout ahead to find the proper path. But we pressed on, ever climbing, until we reached a spot about halfway toward the top of the ridge."
CRLF
CRLF
ICALL1 NEXT-DAY
CALL MOVE-TO,HIGH-PLAIN,STR?409
RSTACK
.ENDSEG
.ENDI

1174
lavos.zil Normal file

File diff suppressed because it is too large Load diff

441
mines.zabstr Normal file
View file

@ -0,0 +1,441 @@
<BEGIN-SEGMENT CAVERNS>
<COMMAND THIS-LEVEL>
<ROOM MINE-2-W (TRAVEL-COMMANDS THIS-LEVEL-COMMAND DOWN-COMMAND NUL-COMMAND) (
GRAPHIC G-MID-STAIR) (FLAGS UNDERGROUND DONT-SCOUT) (ACTION <ACOND () (<EQUAL?
,ACTION ,DOWN-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI
"Again, we started down these dismal stairs, but were soon met with
disappointment - the walls around the stairs had crumbled, completely
blocking our path."> <CRLF> <CRLF> <COND (<FSET? ,HURTH ,IN-PARTY> <PRINTI
"\"This bodes ill for us,\" said Hurth, \"if we are to reach the
lower regions.\""> <CRLF> <CRLF>)> <FSET ,HERE ,TRAPPED> <PRINTI
"And so we trudged back up the stairs, finally reaching the landing
above.">) (<EQUAL? ,ACTION ,THIS-LEVEL-COMMAND> <PRINTI
"We marched quickly down the path as it began a wide curve toward the right.
Suddenly, "> <COND (<FSET? ,HURTH ,IN-PARTY> <PRINTI "Hurth">) (T <PRINTI
"Praxix">)> <PRINTI
", who had taken the lead,
held us back. \"Orcs!\" he said in a harsh whisper, \"This is very bad.
They block the road that lies ahead, and there is no other path on this
level.\""> <MOVE-TO ,MINE-1-W>)>)>
<DEFINE-ROUTINE ANONF-222>
<ROOM MINE-1-W (TRAVEL-COMMANDS BACK-COMMAND NUL-COMMAND NUL-COMMAND) (GRAPHIC
G-ORC-VIEW) (FLAGS UNDERGROUND DANGEROUS) (ACTION <ACOND () (<EQUAL? ,ACTION ,
BACK-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI
"Bergon suggested that we retreat in search of a better route, but was
dissuaded by "> <COND (<FSET? ,HURTH ,IN-PARTY> <PRINTI
"Hurth. \"The principal route through this level heads to
the north up ahead; there is no point in turning back, lest we
foresake our purpose.\"">) (T <PRINTI
"Praxix. \"We have no choice, if we are to find the Stone, but to
find a path to the lower caverns.\"">)>) (<EQUAL? ,ACTION ,GET-ADVICE-COMMAND>
<UPDATE-FCLEAR ,HERE ,ADVISE> <PRINTI
"Of the group, only Bergon felt strongly one way or the other. \"If we
go past the orcs, we may not have another chance to explore the area to
the north,\" he said.">) (<EQUAL? ,ACTION ,SCOUT-COMMAND> <UPDATE-FSET ,HERE ,
DONT-SCOUT> <FSET ,HERE ,SCOUTED> <PRINTI
"Thinking there might be an alternative way around the orcs, Bergon sent
Hurth to explore the area nearby. Soon, Hurth had found a small slit in
the rock and disappeared within it."> <CRLF> <CRLF> <PRINTI
"Returning a short while later, he reported on the situation, drawing
a map in the dirt at our feet. \"We are here, on this east-west
path; the orcs are guarding the junction where a larger path, leading
north, crosses it. The slit I entered winds its way north and then
east, opening out on the northern path not far from the orcs' position.
There is at least a chance we could move that way without attracting their
attention.\""> <CRLF> <CRLF> <PRINTI
"Bergon stared at the crude map and was not convinced. \"There is also a
chance we may be seen crossing over to the slit itself,\" he added glumly.
\"But we must choose now: to head north, hoping to avoid the orcs altogether,
or to head east, somehow getting past the orcs that stand guard at the
junction.\""> <ADD-TRAVEL-COMMAND ,HERE ,AROUND-ORCS-COMMAND> <
ADD-TRAVEL-COMMAND ,HERE ,PAST-ORCS-COMMAND> <UPDATE-FSET ,HERE ,ADVISE>) (<
EQUAL? ,ACTION ,PAST-ORCS-COMMAND> <PRINTI
"We decided to find a way through the orcs position, but were not quite
certain how that might be accomplished."> <SCENE ,PRAXIX-DIVERSION>) (<EQUAL? ,
ACTION ,AROUND-ORCS-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI
"One at a time, we ventured through the slit and thence out into
the northern passage. Creeping ever northward, we heaved a collective sigh
of relief as the path finally turned a corner, putting us out of sight of
the orcs. Not long afterward, the path forked to the left and the right. Down
the lefthand passage some muffled voices could be heard, and a dim glow
could be seen down the righthand passage."> <FCLEAR ,HERE ,ADVISE> <MOVE-TO ,
NORTH-ORC-FORK>)>)>
<DEFINE-ROUTINE ANONF-223>
<ROOM NORTH-ORC-FORK (TRAVEL-COMMANDS LEFT-COMMAND RIGHT-COMMAND BACK-COMMAND)
(FLAGS UNDERGROUND DANGEROUS) (GRAPHIC G-ORC-FORK) (ACTION <ACOND () (<EQUAL? ,
ACTION ,LEFT-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI
"It didn't take long to learn that another, larger party of orcs was camped
down the lefthand path."> <CRLF> <CRLF> <PRINTI
"\"We cannot face so many of these monsters,\" Bergon said, disappointed that
our narrow escape from the last party of orcs should lead instead to another
one."> <COND (<FSET? ,HURTH ,IN-PARTY> <CRLF> <CRLF> <PRINTI
"\"It is all too clear that orcs now control this level of the caverns,\"
Hurth replied, glumly.">)> <RTRUE>) (<EQUAL? ,ACTION ,RIGHT-COMMAND> <
REMOVE-TRAVEL-COMMAND> <PRINTI
"The righthand path led to a gate fashioned with formidable iron bars. There
was no visible locking mechanism, and yet the door would not yield. Praxix was
the first to notice the series of dimly glowing runes that were carved into the
lintel."> <MOVE-TO ,STRANGE-GATE>) (<EQUAL? ,ACTION ,BACK-COMMAND> <PRINTI
"Deeming discretion to be the better part of valor, we retraced our steps,
eventually finding the slit through which we had entered this northern passage.
It took some time, but we eluded the orcs yet again, and we safely arrived
back at our earlier position no better off than we had been before."> <CRLF> <
CRLF> <PRINTI "\"If we are to get any farther in these caverns,\" Bergon said, \"then we
must find a way to get past those orcs.\""> <MOVE-TO ,MINE-1-W>)>)>
<DEFINE-ROUTINE ANONF-224>
<ROOM STRANGE-GATE (TRAVEL-COMMANDS BACK-COMMAND NUL-COMMAND NUL-COMMAND) (
FLAGS UNDERGROUND) (GRAPHIC G-STRANGE-GATE) (ENTER <EXECUTE () <FSET ,HERE ,
SEEN> <COND (<FSET? ,GATE-RUNES ,SEEN> <PRAXIX-SPEAK-COMMANDS>)>>) (EXIT
FIXUP-PRAXIX-COMMANDS) (ACTION <ACOND () (<EQUAL? ,ACTION ,BACK-COMMAND> <
PRINTI "With little hope of getting past the gate, we returned to the fork nearby."
> <MOVE-TO ,NORTH-ORC-FORK>)>)>
<DEFINE-ROUTINE ANONF-225>
<DEFINE-ROUTINE ANONF-226>
<OBJECT GATE-RUNES (SDESC "runes") (LOC STRANGE-GATE) (KBD 82) (FLAGS DONT-TAKE
) (EXBITS <+ ,HURTHBIT ,PRAXIXBIT>) (ACTION <ACOND () (<EQUAL? ,ACTION ,
EXAMINE-COMMAND> <CLEAR-EXBIT> <COND (<EQUAL? ,ACTOR ,HURTH> <PRINTI
"Hurth squinted at the runes, but they apparently did not register. \"They are
not Dwarvish,\" he said with finality.">) (T <CLEAR-EXBIT ,GATE-RUNES ,HURTH> <
COND (<NOT <QSET? ,GATE-RUNES ,SEEN>> <PRINTI
"Praxix scratched his head with his staff and began staring dreamily at the
runes. \"I believe I know these runes,\" he began, \"though I cannot imagine how
they got here."> <CRLF> <CRLF> <PRINTI
"Long ago, I came across a priceless copy of the only written dictionary of the
ancient Wizards' runic language. Naturally, I memorized it as best I could,
yet I never believed it would be of any value.\" He then read the words aloud
\"Lorem ara sequil hevant drai nons trivi azan-lam,\" he intoned."> <CRLF> <
CRLF> <PRINTI "\"The words mean 'Please only say gate open to enter storage-room', or something near
to that. The runes for 'gate', 'door', and 'entrance' are very similar, and I can
never remember which is which - 'hevant', 'levant', or 'eivant'. The verb 'open' also
causes me some concern, because it might be 'drai' or 'adrei', depending on a
slight nuance of meaning. The word for 'enter' - it might be more general -
'access' or even 'entrance'. And 'storage room' is a literal translation, though
it might mean 'closet' or 'trove', I suppose. It doesn't matter, really, since the
meaning of the runes is quite clear.\""> <CRLF> <CRLF> <PRINTI
"Bergon shuddered at this litany of linguistical subterfuge. \"Are you quite
finished with your lecture?\" he asked. \"And, if so, would you mind very much
opening the gate?\""> <ADD-TRAVEL-COMMAND ,HERE ,REREAD-RUNES-COMMAND> <
PRAXIX-SPEAK-COMMANDS>)>)>)>)>
<DEFINE-ROUTINE ANONF-227>
<COMMAND (REREAD-RUNES REREAD) <> () <COND (<NOT <QSET? ,GATE-RUNES ,TRAPPED>>
<PRINTI "At our request, Praxix again read the runes aloud: \"Lorem ara sequil
hevant drai nons trivi azan-lam.\" And again, he translated the words as 'Please
only say gate open to enter storage-room.'"> <CRLF> <CRLF> <PRINTI
"\"Remember, though, that I'm not certain of the runes 'hevant' and 'drai'. They
might well be 'levant' or even 'eivant' in the case of 'hevant', and 'adrei' in
the case of 'drai'.\""> <CRLF> <CRLF> <PRINTI
"\"You are certain you know this language?\" Bergon asked."> <CRLF> <CRLF> <
PRINTI "\"Let us say that I am certain of the runes, with the exceptions noted,\" came
Praxix' reply.">) (T <PRINTI
"Yet again, Praxix read the runes aloud: \"Lorem ara sequil hevant drai nons
trivi azan-lam.\" And again, he reiterated his uncertainty about the runes for
'hevant' and 'drai'.">)>>
<DEFINE-ROUTINE V-REREAD-RUNES>
<DEFINE-ROUTINE PRAXIX-SPEAK-COMMANDS>
<COMMAND (AROUND-ORCS AROUND)>
<COMMAND (PAST-ORCS PAST)>
<GLOBAL WIZSPEAK 0>
<COMMAND SPEAK <> ("AUX" WDS W1) <COND (<READ-ELVISH ,PRAXIX> <SET WDS <GETB ,
E-LEXV 1>> <SET W1 <GET ,E-LEXV 1>> <PRINTI "\""> <PRINTT ,E-TEMP ,E-TEMP-LEN>
<PRINTI ",\" Praxix said, trying to sound like a Wizard of old. "> <COND (<AND
<EQUAL? .WDS 1> <EQUAL? .W1 ,W?LOREM>> <PRINTI
"And then, a thin wind came up from behind us, and the door simply blew open.
But even though Praxix had done the highly improbable in deciphering and correctly
using the magical door, he was nonetheless disappointed. \"I should have studied
the language further,\" he said, \"I never knew that the runic language read from
right to left!\""> <CRLF> <CRLF> <PRINTI
"Once inside, we found small pouches of the magical essences of water,
air, and earth, pleasing Praxix greatly. \"We can never have enough of these
essences,\" he said."> <CRLF> <CRLF> <PRINTI
"Convinced there was nothing further to be found inside the storeroom, we
returned to the nearby fork."> <FSET ,STRANGE-GATE ,SOLVED> <FIND-ESSENCE ,
ESSENCE-WATER 3> <FIND-ESSENCE ,ESSENCE-AIR 3> <FIND-ESSENCE ,ESSENCE-EARTH 2>
<MOVE-TO ,NORTH-ORC-FORK>) (T <PRINTI
"But nothing happened, not the slightest movement."> <COND (<GRTR? <SETG
WIZSPEAK <ADD ,WIZSPEAK 1>> 4> <SET WIZSPEAK 0> <FIXUP-PRAXIX-COMMANDS> <
REMOVE-TRAVEL-COMMAND ,HERE ,REREAD-RUNES-COMMAND> <CRLF> <CRLF> <PRINTI
"\"I give up,\" Praxix said petulantly. \"It is clear that I know less than
I suppose about the Wizards' language. There is no use in wasting any more time
here.\"">)> <RTRUE>)>) (T <PRINTI
"Strangely, Praxix opened his mouth and appeared to speak, but nothing came out.
We stared at our Wizard friend with growing concern.">)>>
<DEFINE-ROUTINE V-SPEAK>
<OBJECT PRAXIX-DIVERSION (GRAPHIC G-PRAXIX-DIVERSION) (ACTION <ACOND ("AUX" TMP
) (<EQUAL? ,ACTION ,SCENE-START-COMMAND> <CRLF> <CRLF> <PRINTI
"\"I've got an idea,\" Praxix whispered; he then dashed across to
the narrow passage, and was gone."> <MAKE-SUBGROUP ,PRAXIX> <UPDATE-REMOVE ,
LIGHT-SPELL> <MOVE-TO ,PRAXIX-DIVERSION-ROOM>) (<EQUAL? ,ACTION ,
SCENE-END-COMMAND> <CLEAR-SUBGROUP> <UPDATE-MOVE ,LIGHT-SPELL ,ALWAYS-SPELLS> <
COND (<FSET? ,REAGENT ,SOLVED> <FIXUP-PRAXIX-COMMANDS>) (T <TRAVEL-COMMANDS ,
PRAXIX ,CAST-COMMAND ,EXAMINE-COMMAND>)> <COND (<FSET? ,HERE ,ENCHANTED> <
MOVE-TO ,ORC-JUNCTION>) (<FSET? ,PRAXIX ,TRAPPED> <CRLF> <CRLF> <FCLEAR ,PRAXIX
,TRAPPED> <PRINTI
"From our point of view, whatever Praxix had done was working
brilliantly. The orcs had fled, and we now gingerly entered the road
junction, expecting to find Praxix nearby. But of orcs and Praxix
there was none, and so we stood there, unsure of what to do next."> <CRLF> <
CRLF> <PRINTI "But we didn't have to wait long to find out, for the orcs were
soon rampaging back in our direction. \"Quickly! This way!\" Bergon
shouted, shepherding us down the passage that lay to the east."> <CRLF> <CRLF>
<COND (<FSET? ,ESHER ,IN-PARTY> <SET TMP ,ESHER>) (<FSET? ,MINAR ,IN-PARTY> <
SET TMP ,MINAR>) (T <SET TMP ,HURTH>)> <PRINTI "\"Wait!\" shouted "> <WPRINTD .
TMP> <PRINTI ", \"There's Praxix!\" "> <WPRINTD .TMP> <PRINTI
" pointed at
the Wizard who had apparently managed to sneak back through the
slit and was in danger of being cut off by the orcs before
he could reach us. And then, "> <WPRINTD .TMP> <PRINTI
" charged at the oncoming orcs, giving
Praxix enough time to reach our side."> <COND (<NOT <EQUAL? .TMP ,HURTH>> <
PRINTI " But it was too late for "> <WPRINTD .TMP> <PRINTI
";
he was cut to pieces, and left for dead on the ground."> <HINT ,HINT-DIVERSION>
<KILLED-OFF .TMP>) (T <PRINTI
" Hurth fought brilliantly, and
was nearly cut to ribbons before arriving back at our sides.">)> <CRLF> <CRLF>
<PRINTI "With no time to lose, we sped down the eastern path. But any relief we
may have felt"> <MOVE-TO ,MINE-1-E ,SHORT-LIVED-RELIEF>) (T <MOVE-TO ,MINE-1-W>
)>)>)>
<DEFINE-ROUTINE ANONF-228>
<CONSTANT SHORT-LIVED-RELIEF
" was short-lived, as the wide path soon narrowed to the
point that we could march only in single file. Two sounds could clearly
be heard: the sound of rushing water from somewhere nearby, and far more
ominously, the pounding footfalls of approaching orcs.">
<OBJECT P-D-R-ORCS (LOC PRAXIX-DIVERSION-ROOM) (SDESC "orcs") (FLAGS DONT-TAKE
DONT-EXAMINE)>
<ROOM PRAXIX-DIVERSION-ROOM (TRAVEL-COMMANDS RETURN-COMMAND NUL-COMMAND
NUL-COMMAND) (CAST-LIMIT INF) (FLAGS UNDERGROUND) (ENTER <EXECUTE () <TELL
" Following the tunnel to the main road leading north, Praxix peered around
the corner, spying the orcs nearby. The path was dark, but not perfectly so,
as the light from the orcs' torches flickered dimly on the rocky walls. It would
be difficult enough to surprise these orcs, so Praxix laid down his
glowing staff in the blackness of the tunnel and stepped out into the darkness."
>>) (ACTION <ACOND () (<AND <FSET? ,HERE ,SCOUTED> <NOT <GAME-COMMAND?>>> <
PRINTI "It was only moments before the orcs were racing down the road
in Praxix' direction, howling their war-cries."> <COND (<AND <EQUAL? ,ACTION ,
CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,LEVITATE-SPELL>> <GRAPHIC ,
G-CHARGING-ORCS-FROM-ABOVE> <PRINTI
" But Praxix had prepared his elevation
spell beforehand, and he rose into the air in time to marvel at the sight
of a dozen or so rampaging orcs charging down the halls beneath him. Descending
back to earth, Praxix brushed himself off, retrieved his staff, and nonchalantly
walked back to the junction."> <CRLF> <CRLF> <PRINTI
"\"Come along, come along!\" he said, prodding us with his staff.
\"I expect they'll be back soon enough.\""> <COND (<FSET? ,HURTH ,IN-PARTY> <
CRLF> <CRLF> <PRINTI "\"I am impressed,\" said Hurth, and so were we all.">)> <
FSET ,HERE ,ENCHANTED>) (<OR <EQUAL? ,ACTION ,CAST-COMMAND> <EQUAL? ,ACTION ,
USE-MIX-COMMAND> <EQUAL? ,ACTION ,MIX-COMMAND>> <FSET ,PRAXIX ,TRAPPED> <PRINTI
" \"Oh, dear. I wasn't expecting this,\"
Praxix said to himself as he hurriedly tried to "> <COND (<EQUAL? ,ACTION ,
MIX-COMMAND> <PRINTI "mix his enchantment.">) (T <PRINTI
"cast his enchantment at
the oncoming orcs. It can truly be said that the orcs were startled by
the show of thaumaturgical skills, but this was not going to hold them
for long!">)>) (<EQUAL? ,ACTION ,RETURN-COMMAND> <FSET ,PRAXIX ,TRAPPED> <
PRINTI " Now, it had been Praxix' idea to quickly
retreat to the narrow passage and thereby rejoin the group. In practice,
however, he was seen by the oncoming orcs, and rather than lead them back
toward our party, he withdrew farther into the northern path. The orcs
approached with weapons drawn and a fire in their eyes.">)> <SCENE #
ZLOCAL!-IZILCH FALSE-VALUE> <RTRUE>) (<EQUAL? ,ACTION ,CAST-COMMAND> <COND (<
EQUAL? ,ACTION-OBJECT ,LEVITATE-SPELL> <SAVE-SPELL> <REMOVE ,HYE-DIVERSION> <
PRINTI "As an experiment, he cast the elevation spell on himself, and rose
into the darkness. A moment later, he located the top of the passageway with
his skull. \"Oomph!\" he blurted out in a muffled sort of way that came
dangerously close to attracting the attention of the orcs. Biting his
lower lip and rubbing his head, he soon settled to the ground. \"Should do
nicely,\" he said to himself, and he brushed some crumbled rock off of his
cloak.">) (<OR <EQUAL? ,ACTION-OBJECT ,FAR-VISION-SPELL> <EQUAL? ,ACTION-OBJECT
,WIND-SPELL> <EQUAL? ,ACTION-OBJECT ,TREMOR-SPELL>> <RESTORE-SPELLS> <PRINTI
"Praxix' plan was this: to create a diversion which would draw the entire
contingent of orcs in his direction, thereby allowing the group to
pass unseen through the junction. And so, taking the "> <COND (<EQUAL? ,
ACTION-OBJECT ,FAR-VISION-SPELL> <PRINTI "essences of fire and air">) (<EQUAL?
,ACTION-OBJECT ,TREMOR-SPELL> <PRINTI "essence of earth">) (T <PRINTI
"essence of air">)> <PRINTI " from his pouch, he cast the enchantment."> <CRLF>
<CRLF> <TRAVEL-COMMANDS ,HERE ,RETURN-COMMAND> <COND (<EQUAL? ,ACTION-OBJECT ,
FAR-VISION-SPELL> <PRINTI
"The ball of flame flew from his fingertips, and shot forward toward
the unsuspecting orcs, who reacted predictably by grabbing their
weapons and shouting in their guttural tongue. It was a good thing
that the fireball blinded">) (<EQUAL? ,ACTION-OBJECT ,TREMOR-SPELL> <PRINTI
"A great roar erupted from the earth, and the ground started to split
before him. The unsuspecting orcs were startled and frightened, and
were soon grabbing their weapons. It was lucky, though, that their
confusion distracted">) (T <PRINTI
"A cold gust of wind blew toward the unsuspecting orcs, who were very
nearly swept off their feet. It was a safe bet that their attention had
been grabbed; next it would be their weapons. Fortunately, the blowing
dust and wind distracted">)> <PRINTI
" them enough to momentarily protect Praxix from their view."> <FSET ,HERE ,
SCOUTED>)>) (<EQUAL? ,ACTION ,RETURN-COMMAND> <REMOVE-TRAVEL-COMMAND> <COND (<
NOT <FSET? ,HERE ,SCOUTED>> <NEW-DEFAULT #ZLOCAL!-IZILCH STACK 1> <PRINTI
"Sadly, though predictably, Praxix had forgotten his idea and prepared
to return to the group. Fortunately, he thought again. \"A spell,\"
he said to himself with some assurance, \"Yes, that's it. I
was going to cast a spell. Now which spell was it?\""> <COND (<NOT <FIRST? ,
ESSENCES>> <CRLF> <CRLF> <PRINTI
"But it didn't much matter, as Praxix had already run out of magical
essences. And then he had another thought - if only he could get the orcs
attention, then he might cause enough of a diversion to allow the others to
get past. And, having no magic to use, he chose a more mundane method: whistling.
This certainly had some effect, for the orcs were soon grabbing for
their weapons and preparing to charge at their as yet unseen enemy."> <FSET ,
HERE ,SCOUTED>)> <RTRUE>)>)>)>
<DEFINE-ROUTINE ANONF-229>
<DEFINE-ROUTINE ANONF-230>
<ROOM ORC-JUNCTION (TRAVEL-COMMANDS PROCEED-COMMAND NUL-COMMAND NUL-COMMAND) (
FLAGS UNDERGROUND DONT-SCOUT) (ACTION <ACOND () (<EQUAL? ,ACTION ,
PROCEED-COMMAND> <PRINTI
"It was with great relief that we headed away from the junction. But the relief"
> <PRINT ,SHORT-LIVED-RELIEF> <CRLF> <CRLF> <PRINTI
"\"I fear the orcs are somewhat more clever than we anticipated,\" Praxix
said, trying not to appear disturbed. \"Let us hope there is some escape
for us farther along the way.\""> <MOVE-TO ,MINE-1-E>)>)>
<DEFINE-ROUTINE ANONF-231>
<COMMAND JUMP>
<ROOM MINE-1-E (TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND NUL-COMMAND) (
GRAPHIC G-NARROW-SLIT) (FLAGS UNDERGROUND DANGEROUS) (ENTER <EXECUTE () <COND (
<NOT <FSET? ,STRANGE-GATE ,SEEN>> <HINT ,HINT-STRANGE-GATE>) (<NOT <FSET? ,
STRANGE-GATE ,SOLVED>> <HINT ,HINT-GATE-RUNES>)>>) (ACTION <ACOND () (<EQUAL? ,
ACTION ,PROCEED-COMMAND> <PRINTI
"Ahead, the passage opened up into a wider hall, and we moved quickly
in anticipation of escape. But the hall ended blindly. All around,
the sound of water was nearly deafening, and moment by moment, the
dull thump of orc footsteps moved ever closer; it appeared that tragedy
was close at hand."> <MOVE-TO ,ABOVE-FLUME>) (<OR <EQUAL? ,ACTION ,BACK-COMMAND
> <AND <EQUAL? ,ACTION ,SCOUT-COMMAND> <NOT <QSET? ,HERE ,SCOUTED>>>> <
UPDATE-FSET ,HERE ,DONT-SCOUT> <REMOVE-PARTY-COMMAND ,BACK-COMMAND> <COND (<
EQUAL? ,ACTION ,BACK-COMMAND> <SETG ACTOR <FIRST-IN-PARTY ,HURTH ,ESHER ,PRAXIX
>>)> <PRINTI "Rather than attempt to retrace our steps and fall into the hands of
the orcs, we sent "> <WPRINTD ,ACTOR> <PRINTI
" to quickly and quietly check out our rear.
Moments later, he returned. \"They are not far behind, but they
move more slowly and there is hope in that.\""> <CRLF> <CRLF> <PRINTI
"\"I fear there is another explanation,\" Praxix replied gloomily, and we
soon found out what he meant.">)>)>
<DEFINE-ROUTINE ANONF-232>
<DEFINE-ROUTINE ANONF-233>
<END-SEGMENT>
<BEGIN-SEGMENT MINES>
<COMMAND (ENTER-CLEFT ENTER)>
<ROOM MINER-PASSAGE (TRAVEL-COMMANDS ENTER-CLEFT-COMMAND BACK-COMMAND
NUL-COMMAND) (GRAPHIC G-MINER-PASSAGE) (FLAGS UNDERGROUND DONT-SCOUT) (ENTER
FSET-SEEN) (ACTION <ACOND () (<EQUAL? ,ACTION ,ENTER-CLEFT-COMMAND> <MOVE ,
ACTIVE-MINE-WALLS ,ACTIVE-MINE> <MOVE-TO ,ACTIVE-MINE>) (<EQUAL? ,ACTION ,
BACK-COMMAND> <PRINTI
"Unable to determine the cause of the tapping, and finding only a
dead-end passage here, we returned to the "> <COND (<FSET? ,OLD-MINE ,SOLVED> <
MOVE-TO ,MINE-LOWER-STAIR #ZLOCAL!-IZILCH STR?585>) (T <MOVE-TO ,MINE-JUNCTION
#ZLOCAL!-IZILCH STR?586>)>)>)>
<DEFINE-ROUTINE ANONF-234>
<COMMAND ASK-MINER O-ASK-MINER () <TELL-TALE ,ACTION-OBJECT> <RTRUE>>
<DEFINE-ROUTINE V-ASK-MINER>
<OBJECT ASK-MINER-OBJECTS>
<OBJECT ASK-MINER-ROCKS (LOC ASK-MINER-OBJECTS) (SDESC "mine") (KBD 77) (TEXT <
EXECUTE () <UPDATE-MOVE ,RED-ROCK ,HERE> <TELL
"\"So what exactly is it you're mining here?\" asked " ACT
", who
was trying to get a better look at the miner's sack." CR CR> <TELL
"\"Lots of things,\" he said. \"The stuff of the earth, if you know what I
mean.\" He reached into his sack and pulled out a few large rocks. \"Now this
here is mostly gold, but I reckon you've seen that before. And this,\" he said,
holding up a shiny black stone, \"is obsidian - fetch a good price for that in
Zan, I figure.\"" CR CR> <TELL
"He rummaged through his sack, dropping some small red rocks on the ground,
and announced, \"That's about it, so far anyway. But I've found silver,
platinum, even a couple of diamonds once! You never know what you'll find in
these walls!\"">>)>
<DEFINE-ROUTINE ANONF-235>
<OBJECT ASK-MINER-ORCS (LOC ASK-MINER-OBJECTS) (SDESC "orcs") (KBD 79) (TEXT <
EXECUTE () <TELL ACT
" was curious about how the miner had managed to elude the orcs.
\"Could be I'm just a lucky fella,\" he started, chuckling. \"Oh, sure, there's
orcs around, and worse things too. But these orcs aren't very clever,
if you know what I mean. And I've got some ways of protecting myself
as well. What I'd like to know is how you've eluded them!\" And with
that, he laughed again.">>)>
<DEFINE-ROUTINE ANONF-236>
<DEFINE-ROUTINE O-ASK-MINER>
<OBJECT MINER (SDESC "miner") (KBD 77) (FLAGS DONT-TAKE) (ACTION <ACOND () (<
EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> <
WPRINTD ,ACTOR> <PRINTI
" wasn't the only one looking over this strange man, for we were "> <COND (<
EQUAL? ,PARTY-MAX 2> <PRINTI "both">) (T <PRINTI "all">)> <PRINTI
" filled
with curiosity. He was a short man of middle age, and badly in need of a
shave and a bath. His dark complexion was more in keeping with a man
from the plains or the desert than an inhabitant of these caverns, yet he
acted completely at ease in his surroundings.">)>)>
<DEFINE-ROUTINE ANONF-237>
<OBJECT MINER-SACK (SDESC "miner's sack") (8DESC "sack") (KBD 83) (EXBITS <+ ,
PRAXIXBIT ,HURTHBIT>) (ACTION <ACOND () (<EQUAL? ,ACTION ,PICK-UP-COMMAND> <
PRINTI "\"Whoa there, son!\" the miner said, as I reached for his sack. \"You
can just leave that right there, if you don't mind.\""> <FSET ,ACTION-OBJECT ,
DONT-TAKE> <SET UPDATE-FLAG #ZLOCAL!-IZILCH TRUE-VALUE>) (<EQUAL? ,ACTION ,
EXAMINE-COMMAND> <UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> <WPRINTD ,ACTOR> <
PRINTI " tried to get a better look at the miner's sack, but the miner was
protecting it with his body. We could tell, however, that it was a
very sturdy sack, made of burlap, and it was about half full with
rocks of some kind.">)>)>
<DEFINE-ROUTINE ANONF-238>
<OBJECT ACTIVE-MINE-WALLS (LOC ACTIVE-MINE) (FLAGS DONT-TAKE) (SDESC "walls") (
KBD 87) (EXBITS <+ ,HURTHBIT ,PRAXIXBIT>) (ACTION <ACOND () (<EQUAL? ,ACTION ,
EXAMINE-COMMAND> <UPDATE-MOVE> <COND (<NOT <FSET? ,HERE ,EXAMINED>> <PUTP ,HERE
,P?TEMP ,ACTOR> <WPRINTD ,ACTOR> <PRINTI
", looking over our surroundings, made a strange discovery."> <CRLF> <CRLF> <
PRINTI "\"Look over here,\" he said, indicating an area of recent excavation
in the walls. \""> <COND (<EQUAL? ,ACTOR ,ESHER ,PRAXIX> <PRINTI
"Looks like somebody's been doing some digging....\"">) (T <PRINTI
"These marks come from this pick-axe, or I am no Dwarf,\" he said.">)>) (T <
COND (<EQUAL? ,ACTOR #ZLOCAL!-IZILCH STACK> <PRINTI "Once again">) (<NOT <GETP
,HERE ,P?TEMP>> <PRINTI "Confused">) (T <PRINTI "This time">)> <PRINTI ", "> <
WPRINTD ,ACTOR> <PRINTI " examined the chamber's walls, and found some "> <COND
(<GETP ,HERE ,P?TEMP> <PRINTI "more loose">) (T <PRINTI "recently broken">)> <
PRINTI " rock both within
the walls and on the ground nearby."> <MINER-APPEARS>)>)>)>
<DEFINE-ROUTINE ANONF-239>
<DEFINE-ROUTINE MINER-APPEARS>
<ROOM ACTIVE-MINE (TRAVEL-COMMANDS BACK-COMMAND NUL-COMMAND NUL-COMMAND) (
GRAPHIC G-ACTIVE-MINE) (FLAGS UNDERGROUND DANGEROUS DONT-SCOUT ENCLOSED) (TEMP
0) (ENTER <EXECUTE () <COND (<NOT <QSET? ,HERE ,SEEN>> <PRINTI
"As quietly as we could, we squeezed our way through the cleft and
soon came upon a wide, circular chamber with no exit other than the
one through which we had entered."> <CRLF> <CRLF> <PRINTI
"\"I would swear the tapping came from here,\" "> <COND (<FSET? ,BERGON ,
IN-PARTY> <PRINTI "Bergon">) (T <PRINTI "Praxix">)> <PRINTI " said."> <CRLF> <
CRLF> <PRINTI "\"And so would I. You don't think the pick-axe was working here on its
own?\" I asked.">) (<NOT <QSET? ,HERE ,EXAMINED>> <PRINTI
"Once again, we made our way through the cleft and into the circular
chamber. Once again, there was nobody there."> <CRLF> <CRLF> <PRINTI
"\"Doesn't make a bit of sense,\" "> <WPRINTD ,PRAXIX> <PRINTI " said.">)>>) (
ACTION <ACOND () (<AND <EQUAL? ,ACTION ,USE-MIX-COMMAND> <EQUAL? ,ACTION-OBJECT
,MINER>> <PRINTI
"Praxix cast the mixture at the miner but the effect was mainly that of
infuriating him."> <CRLF> <CRLF> <PRINTI
"\"Now listen here,\" he said, wagging an arthritic finger at Praxix,
\"I ain't got time for none of that magical business, so if you are
done nosing around here, I'd appreciate some peace and quiet.\""> <CRLF> <CRLF>
<MIXTURE-CAST> <COND (<FSET? ,BERGON ,IN-PARTY> <TRAVEL-COMMANDS ,BERGON ,
GET-ADVICE-COMMAND>) (T <CHANGE-TRAVEL-COMMAND ,PRAXIX ,ASK-MINER-COMMAND ,
CAST-COMMAND>)> <LEAVE-ACTIVE-MINE>) (<AND <EQUAL? ,ACTION ,ASK-MINER-COMMAND>
<NOT <QSET? ,HERE ,BUSY>>> <WPRINTD ,ACTOR> <PRINTI
" started to ask the miner a question, but the miner interrupted.
\"Before I answer your questions, I've got one of my own,\" he said.
\"What are you doing in my mine?\""> <CRLF> <CRLF> <WPRINTD ,ACTOR> <PRINTI
" replied with a condensed version of the truth, as the miner
listened in scornful disbelief."> <CRLF> <CRLF> <PRINTI
"\"Just plain stupid,\" was his conclusion; he spat on the ground and
continued, \"Go on, ask your questions and get out. I've got lots more
work to do!\"">) (<EQUAL? ,ACTION ,BACK-COMMAND> <COND (<NOT <FSET? ,HERE ,
EXAMINED>> <PRINTI
"Baffled, we snaked our way through the narrow passage, but no sooner
did we arrive back that the tapping started again."> <CRLF> <CRLF> <PRINTI
"\"Spirits?\" I suggested, instinctively turning back toward the
darkened slit."> <MOVE-TO ,MINER-PASSAGE>) (T <COND (<FSET? ,BERGON ,IN-PARTY>
<TRAVEL-COMMANDS ,BERGON ,GET-ADVICE-COMMAND>) (T <CHANGE-TRAVEL-COMMAND ,
PRAXIX ,ASK-MINER-COMMAND ,CAST-COMMAND>)> <LEAVE-ACTIVE-MINE>)>)>)>
<DEFINE-ROUTINE ANONF-240>
<DEFINE-ROUTINE ANONF-241>
<DEFINE-ROUTINE LEAVE-ACTIVE-MINE>

619
mines.zap Normal file
View file

@ -0,0 +1,619 @@
.SEGMENT "CAVERNS"
.FUNCT ANONF-222:ANY:0:0
EQUAL? ACTION,DOWN-COMMAND \?CCL3
ICALL1 REMOVE-TRAVEL-COMMAND
PRINTI "Again, we started down these dismal stairs, but were soon met with disappointment - the walls around the stairs had crumbled, completely blocking our path."
CRLF
CRLF
FSET? HURTH,IN-PARTY \?CND4
PRINTI """This bodes ill for us,"" said Hurth, ""if we are to reach the lower regions."""
CRLF
CRLF
?CND4: FSET HERE,TRAPPED
PRINTI "And so we trudged back up the stairs, finally reaching the landing above."
RTRUE
?CCL3: EQUAL? ACTION,THIS-LEVEL-COMMAND \FALSE
PRINTI "We marched quickly down the path as it began a wide curve toward the right. Suddenly, "
FSET? HURTH,IN-PARTY \?CCL10
PRINTI "Hurth"
JUMP ?CND8
?CCL10: PRINTI "Praxix"
?CND8: PRINTI ", who had taken the lead, held us back. ""Orcs!"" he said in a harsh whisper, ""This is very bad. They block the road that lies ahead, and there is no other path on this level."""
CALL2 MOVE-TO,MINE-1-W
RSTACK
.FUNCT ANONF-223:ANY:0:0
EQUAL? ACTION,BACK-COMMAND \?CCL3
ICALL1 REMOVE-TRAVEL-COMMAND
PRINTI "Bergon suggested that we retreat in search of a better route, but was dissuaded by "
FSET? HURTH,IN-PARTY \?CCL6
PRINTI "Hurth. ""The principal route through this level heads to the north up ahead; there is no point in turning back, lest we foresake our purpose."""
RTRUE
?CCL6: PRINTI "Praxix. ""We have no choice, if we are to find the Stone, but to find a path to the lower caverns."""
RTRUE
?CCL3: EQUAL? ACTION,GET-ADVICE-COMMAND \?CCL8
ICALL UPDATE-FCLEAR,HERE,ADVISE
PRINTI "Of the group, only Bergon felt strongly one way or the other. ""If we go past the orcs, we may not have another chance to explore the area to the north,"" he said."
RTRUE
?CCL8: EQUAL? ACTION,SCOUT-COMMAND \?CCL10
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
PRINTI "Thinking there might be an alternative way around the orcs, Bergon sent Hurth to explore the area nearby. Soon, Hurth had found a small slit in the rock and disappeared within it."
CRLF
CRLF
PRINTI "Returning a short while later, he reported on the situation, drawing a map in the dirt at our feet. ""We are here, on this east-west path; the orcs are guarding the junction where a larger path, leading north, crosses it. The slit I entered winds its way north and then east, opening out on the northern path not far from the orcs' position. There is at least a chance we could move that way without attracting their attention."""
CRLF
CRLF
PRINTI "Bergon stared at the crude map and was not convinced. ""There is also a chance we may be seen crossing over to the slit itself,"" he added glumly. ""But we must choose now: to head north, hoping to avoid the orcs altogether, or to head east, somehow getting past the orcs that stand guard at the junction."""
ICALL ADD-TRAVEL-COMMAND,HERE,AROUND-ORCS-COMMAND
ICALL ADD-TRAVEL-COMMAND,HERE,PAST-ORCS-COMMAND
CALL UPDATE-FSET,HERE,ADVISE
RSTACK
?CCL10: EQUAL? ACTION,PAST-ORCS-COMMAND \?CCL12
PRINTI "We decided to find a way through the orcs position, but were not quite certain how that might be accomplished."
CALL2 SCENE,PRAXIX-DIVERSION
RSTACK
?CCL12: EQUAL? ACTION,AROUND-ORCS-COMMAND \FALSE
ICALL1 REMOVE-TRAVEL-COMMAND
PRINTI "One at a time, we ventured through the slit and thence out into the northern passage. Creeping ever northward, we heaved a collective sigh of relief as the path finally turned a corner, putting us out of sight of the orcs. Not long afterward, the path forked to the left and the right. Down the lefthand passage some muffled voices could be heard, and a dim glow could be seen down the righthand passage."
FCLEAR HERE,ADVISE
CALL2 MOVE-TO,NORTH-ORC-FORK
RSTACK
.FUNCT ANONF-224:ANY:0:0
EQUAL? ACTION,LEFT-COMMAND \?CCL3
ICALL1 REMOVE-TRAVEL-COMMAND
PRINTI "It didn't take long to learn that another, larger party of orcs was camped down the lefthand path."
CRLF
CRLF
PRINTI """We cannot face so many of these monsters,"" Bergon said, disappointed that our narrow escape from the last party of orcs should lead instead to another one."
FSET? HURTH,IN-PARTY \TRUE
CRLF
CRLF
PRINTI """It is all too clear that orcs now control this level of the caverns,"" Hurth replied, glumly."
RTRUE
?CCL3: EQUAL? ACTION,RIGHT-COMMAND \?CCL7
ICALL1 REMOVE-TRAVEL-COMMAND
PRINTI "The righthand path led to a gate fashioned with formidable iron bars. There was no visible locking mechanism, and yet the door would not yield. Praxix was the first to notice the series of dimly glowing runes that were carved into the lintel."
CALL2 MOVE-TO,STRANGE-GATE
RSTACK
?CCL7: EQUAL? ACTION,BACK-COMMAND \FALSE
PRINTI "Deeming discretion to be the better part of valor, we retraced our steps, eventually finding the slit through which we had entered this northern passage. It took some time, but we eluded the orcs yet again, and we safely arrived back at our earlier position no better off than we had been before."
CRLF
CRLF
PRINTI """If we are to get any farther in these caverns,"" Bergon said, ""then we must find a way to get past those orcs."""
CALL2 MOVE-TO,MINE-1-W
RSTACK
.FUNCT ANONF-225:ANY:0:0
FSET HERE,SEEN
FSET? GATE-RUNES,SEEN \FALSE
CALL1 PRAXIX-SPEAK-COMMANDS
RSTACK
.FUNCT ANONF-226:ANY:0:0
EQUAL? ACTION,BACK-COMMAND \FALSE
PRINTI "With little hope of getting past the gate, we returned to the fork nearby."
CALL2 MOVE-TO,NORTH-ORC-FORK
RSTACK
.FUNCT ANONF-227:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL1 CLEAR-EXBIT
EQUAL? ACTOR,HURTH \?CCL6
PRINTI "Hurth squinted at the runes, but they apparently did not register. ""They are not Dwarvish,"" he said with finality."
RTRUE
?CCL6: ICALL CLEAR-EXBIT,GATE-RUNES,HURTH
CALL QSET?,GATE-RUNES,SEEN
ZERO? STACK \FALSE
PRINTI "Praxix scratched his head with his staff and began staring dreamily at the runes. ""I believe I know these runes,"" he began, ""though I cannot imagine how they got here."
CRLF
CRLF
PRINTI "Long ago, I came across a priceless copy of the only written dictionary of the ancient Wizards' runic language. Naturally, I memorized it as best I could, yet I never believed it would be of any value."" He then read the words aloud ""Lorem ara sequil hevant drai nons trivi azan-lam,"" he intoned."
CRLF
CRLF
PRINTI """The words mean 'Please only say gate open to enter storage-room', or something near to that. The runes for 'gate', 'door', and 'entrance' are very similar, and I can never remember which is which - 'hevant', 'levant', or 'eivant'. The verb 'open' also causes me some concern, because it might be 'drai' or 'adrei', depending on a slight nuance of meaning. The word for 'enter' - it might be more general - 'access' or even 'entrance'. And 'storage room' is a literal translation, though it might mean 'closet' or 'trove', I suppose. It doesn't matter, really, since the meaning of the runes is quite clear."""
CRLF
CRLF
PRINTI "Bergon shuddered at this litany of linguistical subterfuge. ""Are you quite finished with your lecture?"" he asked. ""And, if so, would you mind very much opening the gate?"""
ICALL ADD-TRAVEL-COMMAND,HERE,REREAD-RUNES-COMMAND
CALL1 PRAXIX-SPEAK-COMMANDS
RSTACK
.FUNCT V-REREAD-RUNES:ANY:0:0
CALL QSET?,GATE-RUNES,TRAPPED
ZERO? STACK \?CCL3
PRINTI "At our request, Praxix again read the runes aloud: ""Lorem ara sequil hevant drai nons trivi azan-lam."" And again, he translated the words as 'Please only say gate open to enter storage-room.'"
CRLF
CRLF
PRINTI """Remember, though, that I'm not certain of the runes 'hevant' and 'drai'. They might well be 'levant' or even 'eivant' in the case of 'hevant', and 'adrei' in the case of 'drai'."""
CRLF
CRLF
PRINTI """You are certain you know this language?"" Bergon asked."
CRLF
CRLF
PRINTI """Let us say that I am certain of the runes, with the exceptions noted,"" came Praxix' reply."
RTRUE
?CCL3: PRINTI "Yet again, Praxix read the runes aloud: ""Lorem ara sequil hevant drai nons trivi azan-lam."" And again, he reiterated his uncertainty about the runes for 'hevant' and 'drai'."
RTRUE
.FUNCT PRAXIX-SPEAK-COMMANDS:ANY:0:0
ZERO? MIX-DONE /?CCL3
PUSH USE-MIX-COMMAND
JUMP ?CND1
?CCL3: PUSH MIX-COMMAND
?CND1: CALL TRAVEL-COMMANDS,PRAXIX,CAST-COMMAND,STACK,SPEAK-COMMAND
RSTACK
.FUNCT V-SPEAK:ANY:0:0,WDS,W1
CALL2 READ-ELVISH,PRAXIX
ZERO? STACK /?CCL3
GETB E-LEXV,1 >WDS
GET E-LEXV,1 >W1
PRINTC 34
PRINTT E-TEMP,E-TEMP-LEN
PRINTI ","" Praxix said, trying to sound like a Wizard of old. "
EQUAL? WDS,1 \?CCL6
EQUAL? W1,W?LOREM \?CCL6
PRINTI "And then, a thin wind came up from behind us, and the door simply blew open. But even though Praxix had done the highly improbable in deciphering and correctly using the magical door, he was nonetheless disappointed. ""I should have studied the language further,"" he said, ""I never knew that the runic language read from right to left!"""
CRLF
CRLF
PRINTI "Once inside, we found small pouches of the magical essences of water, air, and earth, pleasing Praxix greatly. ""We can never have enough of these essences,"" he said."
CRLF
CRLF
PRINTI "Convinced there was nothing further to be found inside the storeroom, we returned to the nearby fork."
FSET STRANGE-GATE,SOLVED
ICALL FIND-ESSENCE,ESSENCE-WATER,3
ICALL FIND-ESSENCE,ESSENCE-AIR,3
ICALL FIND-ESSENCE,ESSENCE-EARTH,2
CALL2 MOVE-TO,NORTH-ORC-FORK
RSTACK
?CCL6: PRINTI "But nothing happened, not the slightest movement."
IGRTR? 'WIZSPEAK,4 \TRUE
SET 'WIZSPEAK,0
ICALL1 FIXUP-PRAXIX-COMMANDS
ICALL REMOVE-TRAVEL-COMMAND,HERE,REREAD-RUNES-COMMAND
CRLF
CRLF
PRINTI """I give up,"" Praxix said petulantly. ""It is clear that I know less than I suppose about the Wizards' language. There is no use in wasting any more time here."""
RTRUE
?CCL3: PRINTI "Strangely, Praxix opened his mouth and appeared to speak, but nothing came out. We stared at our Wizard friend with growing concern."
RTRUE
.FUNCT ANONF-228:ANY:0:0,TMP
EQUAL? ACTION,SCENE-START-COMMAND \?CCL3
CRLF
CRLF
PRINTI """I've got an idea,"" Praxix whispered; he then dashed across to the narrow passage, and was gone."
ICALL2 MAKE-SUBGROUP,PRAXIX
ICALL2 UPDATE-REMOVE,LIGHT-SPELL
CALL2 MOVE-TO,PRAXIX-DIVERSION-ROOM
RSTACK
?CCL3: EQUAL? ACTION,SCENE-END-COMMAND \FALSE
ICALL1 CLEAR-SUBGROUP
ICALL UPDATE-MOVE,LIGHT-SPELL,ALWAYS-SPELLS
FSET? REAGENT,SOLVED \?CCL8
ICALL1 FIXUP-PRAXIX-COMMANDS
JUMP ?CND6
?CCL8: ICALL TRAVEL-COMMANDS,PRAXIX,CAST-COMMAND,EXAMINE-COMMAND
?CND6: FSET? HERE,ENCHANTED \?CCL11
CALL2 MOVE-TO,ORC-JUNCTION
RSTACK
?CCL11: FSET? PRAXIX,TRAPPED \?CCL13
CRLF
CRLF
FCLEAR PRAXIX,TRAPPED
PRINTI "From our point of view, whatever Praxix had done was working brilliantly. The orcs had fled, and we now gingerly entered the road junction, expecting to find Praxix nearby. But of orcs and Praxix there was none, and so we stood there, unsure of what to do next."
CRLF
CRLF
PRINTI "But we didn't have to wait long to find out, for the orcs were soon rampaging back in our direction. ""Quickly! This way!"" Bergon shouted, shepherding us down the passage that lay to the east."
CRLF
CRLF
FSET? ESHER,IN-PARTY \?CCL16
SET 'TMP,ESHER
JUMP ?CND14
?CCL16: FSET? MINAR,IN-PARTY \?CCL18
SET 'TMP,MINAR
JUMP ?CND14
?CCL18: SET 'TMP,HURTH
?CND14: PRINTI """Wait!"" shouted "
ICALL2 WPRINTD,TMP
PRINTI ", ""There's Praxix!"" "
ICALL2 WPRINTD,TMP
PRINTI " pointed at the Wizard who had apparently managed to sneak back through the slit and was in danger of being cut off by the orcs before he could reach us. And then, "
ICALL2 WPRINTD,TMP
PRINTI " charged at the oncoming orcs, giving Praxix enough time to reach our side."
EQUAL? TMP,HURTH /?CCL21
PRINTI " But it was too late for "
ICALL2 WPRINTD,TMP
PRINTI "; he was cut to pieces, and left for dead on the ground."
ICALL2 HINT,HINT-DIVERSION
ICALL2 KILLED-OFF,TMP
JUMP ?CND19
?CCL21: PRINTI " Hurth fought brilliantly, and was nearly cut to ribbons before arriving back at our sides."
?CND19: CRLF
CRLF
PRINTI "With no time to lose, we sped down the eastern path. But any relief we may have felt"
CALL MOVE-TO,MINE-1-E,SHORT-LIVED-RELIEF
RSTACK
?CCL13: CALL2 MOVE-TO,MINE-1-W
RSTACK
.FUNCT ANONF-229:ANY:0:0
PRINTI " Following the tunnel to the main road leading north, Praxix peered around the corner, spying the orcs nearby. The path was dark, but not perfectly so, as the light from the orcs' torches flickered dimly on the rocky walls. It would be difficult enough to surprise these orcs, so Praxix laid down his glowing staff in the blackness of the tunnel and stepped out into the darkness."
RTRUE
.FUNCT ANONF-230:ANY:0:0
FSET? HERE,SCOUTED \?CCL3
CALL1 GAME-COMMAND?
ZERO? STACK \?CCL3
PRINTI "It was only moments before the orcs were racing down the road in Praxix' direction, howling their war-cries."
EQUAL? ACTION,CAST-COMMAND \?CCL8
EQUAL? ACTION-OBJECT,LEVITATE-SPELL \?CCL8
ICALL2 GRAPHIC,G-CHARGING-ORCS-FROM-ABOVE
PRINTI " But Praxix had prepared his elevation spell beforehand, and he rose into the air in time to marvel at the sight of a dozen or so rampaging orcs charging down the halls beneath him. Descending back to earth, Praxix brushed himself off, retrieved his staff, and nonchalantly walked back to the junction."
CRLF
CRLF
PRINTI """Come along, come along!"" he said, prodding us with his staff. ""I expect they'll be back soon enough."""
FSET? HURTH,IN-PARTY \?CND11
CRLF
CRLF
PRINTI """I am impressed,"" said Hurth, and so were we all."
?CND11: FSET HERE,ENCHANTED
JUMP ?CND6
?CCL8: EQUAL? ACTION,CAST-COMMAND /?CTR13
EQUAL? ACTION,USE-MIX-COMMAND /?CTR13
EQUAL? ACTION,MIX-COMMAND \?CCL14
?CTR13: FSET PRAXIX,TRAPPED
PRINTI " ""Oh, dear. I wasn't expecting this,"" Praxix said to himself as he hurriedly tried to "
EQUAL? ACTION,MIX-COMMAND \?CCL20
PRINTI "mix his enchantment."
JUMP ?CND6
?CCL20: PRINTI "cast his enchantment at the oncoming orcs. It can truly be said that the orcs were startled by the show of thaumaturgical skills, but this was not going to hold them for long!"
JUMP ?CND6
?CCL14: EQUAL? ACTION,RETURN-COMMAND \?CND6
FSET PRAXIX,TRAPPED
PRINTI " Now, it had been Praxix' idea to quickly retreat to the narrow passage and thereby rejoin the group. In practice, however, he was seen by the oncoming orcs, and rather than lead them back toward our party, he withdrew farther into the northern path. The orcs approached with weapons drawn and a fire in their eyes."
?CND6: ICALL2 SCENE,FALSE-VALUE
RTRUE
?CCL3: EQUAL? ACTION,CAST-COMMAND \?CCL23
EQUAL? ACTION-OBJECT,LEVITATE-SPELL \?CCL26
ICALL1 SAVE-SPELL
REMOVE HYE-DIVERSION
PRINTI "As an experiment, he cast the elevation spell on himself, and rose into the darkness. A moment later, he located the top of the passageway with his skull. ""Oomph!"" he blurted out in a muffled sort of way that came dangerously close to attracting the attention of the orcs. Biting his lower lip and rubbing his head, he soon settled to the ground. ""Should do nicely,"" he said to himself, and he brushed some crumbled rock off of his cloak."
RTRUE
?CCL26: EQUAL? ACTION-OBJECT,FAR-VISION-SPELL /?CCL28
EQUAL? ACTION-OBJECT,WIND-SPELL /?CCL28
EQUAL? ACTION-OBJECT,TREMOR-SPELL \FALSE
?CCL28: ICALL1 RESTORE-SPELLS
PRINTI "Praxix' plan was this: to create a diversion which would draw the entire contingent of orcs in his direction, thereby allowing the group to pass unseen through the junction. And so, taking the "
EQUAL? ACTION-OBJECT,FAR-VISION-SPELL \?CCL34
PRINTI "essences of fire and air"
JUMP ?CND32
?CCL34: EQUAL? ACTION-OBJECT,TREMOR-SPELL \?CCL36
PRINTI "essence of earth"
JUMP ?CND32
?CCL36: PRINTI "essence of air"
?CND32: PRINTI " from his pouch, he cast the enchantment."
CRLF
CRLF
ICALL TRAVEL-COMMANDS,HERE,RETURN-COMMAND
EQUAL? ACTION-OBJECT,FAR-VISION-SPELL \?CCL39
PRINTI "The ball of flame flew from his fingertips, and shot forward toward the unsuspecting orcs, who reacted predictably by grabbing their weapons and shouting in their guttural tongue. It was a good thing that the fireball blinded"
JUMP ?CND37
?CCL39: EQUAL? ACTION-OBJECT,TREMOR-SPELL \?CCL41
PRINTI "A great roar erupted from the earth, and the ground started to split before him. The unsuspecting orcs were startled and frightened, and were soon grabbing their weapons. It was lucky, though, that their confusion distracted"
JUMP ?CND37
?CCL41: PRINTI "A cold gust of wind blew toward the unsuspecting orcs, who were very nearly swept off their feet. It was a safe bet that their attention had been grabbed; next it would be their weapons. Fortunately, the blowing dust and wind distracted"
?CND37: PRINTI " them enough to momentarily protect Praxix from their view."
FSET HERE,SCOUTED
RTRUE
?CCL23: EQUAL? ACTION,RETURN-COMMAND \FALSE
ICALL1 REMOVE-TRAVEL-COMMAND
FSET? HERE,SCOUTED /FALSE
CALL2 PARTY-PCM,PRAXIX
ICALL NEW-DEFAULT,STACK,1
PRINTI "Sadly, though predictably, Praxix had forgotten his idea and prepared to return to the group. Fortunately, he thought again. ""A spell,"" he said to himself with some assurance, ""Yes, that's it. I was going to cast a spell. Now which spell was it?"""
FIRST? ESSENCES /TRUE
CRLF
CRLF
PRINTI "But it didn't much matter, as Praxix had already run out of magical essences. And then he had another thought - if only he could get the orcs attention, then he might cause enough of a diversion to allow the others to get past. And, having no magic to use, he chose a more mundane method: whistling. This certainly had some effect, for the orcs were soon grabbing for their weapons and preparing to charge at their as yet unseen enemy."
FSET HERE,SCOUTED
RTRUE
.FUNCT ANONF-231:ANY:0:0
EQUAL? ACTION,PROCEED-COMMAND \FALSE
PRINTI "It was with great relief that we headed away from the junction. But the relief"
PRINT SHORT-LIVED-RELIEF
CRLF
CRLF
PRINTI """I fear the orcs are somewhat more clever than we anticipated,"" Praxix said, trying not to appear disturbed. ""Let us hope there is some escape for us farther along the way."""
CALL2 MOVE-TO,MINE-1-E
RSTACK
.FUNCT ANONF-232:ANY:0:0
FSET? STRANGE-GATE,SEEN /?CCL3
CALL2 HINT,HINT-STRANGE-GATE
RSTACK
?CCL3: FSET? STRANGE-GATE,SOLVED /FALSE
CALL2 HINT,HINT-GATE-RUNES
RSTACK
.FUNCT ANONF-233:ANY:0:0
EQUAL? ACTION,PROCEED-COMMAND \?CCL3
PRINTI "Ahead, the passage opened up into a wider hall, and we moved quickly in anticipation of escape. But the hall ended blindly. All around, the sound of water was nearly deafening, and moment by moment, the dull thump of orc footsteps moved ever closer; it appeared that tragedy was close at hand."
CALL2 MOVE-TO,ABOVE-FLUME
RSTACK
?CCL3: EQUAL? ACTION,BACK-COMMAND /?CCL5
EQUAL? ACTION,SCOUT-COMMAND \FALSE
CALL QSET?,HERE,SCOUTED
ZERO? STACK \FALSE
?CCL5: ICALL UPDATE-FSET,HERE,DONT-SCOUT
ICALL2 REMOVE-PARTY-COMMAND,BACK-COMMAND
EQUAL? ACTION,BACK-COMMAND \?CND10
CALL FIRST-IN-PARTY,HURTH,ESHER,PRAXIX >ACTOR
?CND10: PRINTI "Rather than attempt to retrace our steps and fall into the hands of the orcs, we sent "
ICALL2 WPRINTD,ACTOR
PRINTI " to quickly and quietly check out our rear. Moments later, he returned. ""They are not far behind, but they move more slowly and there is hope in that."""
CRLF
CRLF
PRINTI """I fear there is another explanation,"" Praxix replied gloomily, and we soon found out what he meant."
RTRUE
.ENDSEG
.SEGMENT "MINES"
.FUNCT ANONF-234:ANY:0:0
EQUAL? ACTION,ENTER-CLEFT-COMMAND \?CCL3
MOVE ACTIVE-MINE-WALLS,ACTIVE-MINE
CALL2 MOVE-TO,ACTIVE-MINE
RSTACK
?CCL3: EQUAL? ACTION,BACK-COMMAND \FALSE
PRINTI "Unable to determine the cause of the tapping, and finding only a dead-end passage here, we returned to the "
FSET? OLD-MINE,SOLVED \?CCL8
CALL MOVE-TO,MINE-LOWER-STAIR,STR?585
RSTACK
?CCL8: CALL MOVE-TO,MINE-JUNCTION,STR?586
RSTACK
.FUNCT V-ASK-MINER:ANY:0:0
ICALL2 TELL-TALE,ACTION-OBJECT
RTRUE
.FUNCT ANONF-235:ANY:0:0
ICALL UPDATE-MOVE,RED-ROCK,HERE
PRINTI """So what exactly is it you're mining here?"" asked "
ICALL2 WPRINTD,ACTOR
PRINTI ", who was trying to get a better look at the miner's sack."
CRLF
CRLF
PRINTI """Lots of things,"" he said. ""The stuff of the earth, if you know what I mean."" He reached into his sack and pulled out a few large rocks. ""Now this here is mostly gold, but I reckon you've seen that before. And this,"" he said, holding up a shiny black stone, ""is obsidian - fetch a good price for that in Zan, I figure."""
CRLF
CRLF
PRINTI "He rummaged through his sack, dropping some small red rocks on the ground, and announced, ""That's about it, so far anyway. But I've found silver, platinum, even a couple of diamonds once! You never know what you'll find in these walls!"""
RTRUE
.FUNCT ANONF-236:ANY:0:0
ICALL2 WPRINTD,ACTOR
PRINTI " was curious about how the miner had managed to elude the orcs. ""Could be I'm just a lucky fella,"" he started, chuckling. ""Oh, sure, there's orcs around, and worse things too. But these orcs aren't very clever, if you know what I mean. And I've got some ways of protecting myself as well. What I'd like to know is how you've eluded them!"" And with that, he laughed again."
RTRUE
.FUNCT O-ASK-MINER:ANY:0:0
CALL2 FIND-OBJECTS,ASK-MINER-OBJECTS
RSTACK
.FUNCT ANONF-237:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL UPDATE-FSET,ACTION-OBJECT,DONT-EXAMINE
ICALL2 WPRINTD,ACTOR
PRINTI " wasn't the only one looking over this strange man, for we were "
EQUAL? PARTY-MAX,2 \?CCL6
PRINTI "both"
JUMP ?CND4
?CCL6: PRINTI "all"
?CND4: PRINTI " filled with curiosity. He was a short man of middle age, and badly in need of a shave and a bath. His dark complexion was more in keeping with a man from the plains or the desert than an inhabitant of these caverns, yet he acted completely at ease in his surroundings."
RTRUE
.FUNCT ANONF-238:ANY:0:0
EQUAL? ACTION,PICK-UP-COMMAND \?CCL3
PRINTI """Whoa there, son!"" the miner said, as I reached for his sack. ""You can just leave that right there, if you don't mind."""
FSET ACTION-OBJECT,DONT-TAKE
SET 'UPDATE-FLAG,TRUE-VALUE
RETURN UPDATE-FLAG
?CCL3: EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL UPDATE-FSET,ACTION-OBJECT,DONT-EXAMINE
ICALL2 WPRINTD,ACTOR
PRINTI " tried to get a better look at the miner's sack, but the miner was protecting it with his body. We could tell, however, that it was a very sturdy sack, made of burlap, and it was about half full with rocks of some kind."
RTRUE
.FUNCT ANONF-239:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL1 UPDATE-MOVE
FSET? HERE,EXAMINED /?CCL6
PUTP HERE,P?TEMP,ACTOR
ICALL2 WPRINTD,ACTOR
PRINTI ", looking over our surroundings, made a strange discovery."
CRLF
CRLF
PRINTI """Look over here,"" he said, indicating an area of recent excavation in the walls. """
EQUAL? ACTOR,ESHER,PRAXIX \?CCL9
PRINTI "Looks like somebody's been doing some digging...."""
RTRUE
?CCL9: PRINTI "These marks come from this pick-axe, or I am no Dwarf,"" he said."
RTRUE
?CCL6: GETP HERE,P?TEMP
EQUAL? ACTOR,STACK \?CCL12
PRINTI "Once again"
JUMP ?CND10
?CCL12: GETP HERE,P?TEMP
ZERO? STACK \?CCL14
PRINTI "Confused"
JUMP ?CND10
?CCL14: PRINTI "This time"
?CND10: PRINTI ", "
ICALL2 WPRINTD,ACTOR
PRINTI " examined the chamber's walls, and found some "
GETP HERE,P?TEMP
ZERO? STACK /?CCL17
PRINTI "more loose"
JUMP ?CND15
?CCL17: PRINTI "recently broken"
?CND15: PRINTI " rock both within the walls and on the ground nearby."
CALL1 MINER-APPEARS
RSTACK
.FUNCT MINER-APPEARS:ANY:0:0
CRLF
CRLF
PRINTI """What's going on here?"" "
CALL FIRST-IN-PARTY,BERGON,PRAXIX
ICALL2 WPRINTD,STACK
PRINTI " demanded of the empty room, and it replied with a soft giggling sound that echoed through the chamber."
CRLF
CRLF
FSET ACTIVE-MINE-WALLS,DONT-EXAMINE
ICALL UPDATE-MOVE,MINER-SACK,HERE
ICALL UPDATE-MOVE,MINER,HERE
FSET HERE,SOLVED
FSET? BERGON,IN-PARTY \?CCL3
ICALL TRAVEL-COMMANDS,BERGON,GET-ADVICE-COMMAND,ASK-MINER-COMMAND
JUMP ?CND1
?CCL3: ICALL CHANGE-TRAVEL-COMMAND,PRAXIX,CAST-COMMAND,ASK-MINER-COMMAND
?CND1: PRINTI "We each spun around, but we were as alone as before. Just then, the giggling turned to laughter, and before our eyes a grizzled man appeared, holding a large sack. Rubbing the tears from his eyes, he looked us over, and howled with laughter."
CRLF
CRLF
ICALL GRAPHIC,FALSE-VALUE,G-MINER,TOP-LEFT
PRINTI """You are the sorriest lot I've ever seen,"" he said, restraining himself from another bout of laughter. ""Tell me, are you folks lost or just plain stupid?"" He wiped his nose and eyes with his right sleeve, sniffled, and then just stood there in amused bewilderment."
RTRUE
.FUNCT ANONF-240:ANY:0:0
CALL QSET?,HERE,SEEN
ZERO? STACK \?CCL3
PRINTI "As quietly as we could, we squeezed our way through the cleft and soon came upon a wide, circular chamber with no exit other than the one through which we had entered."
CRLF
CRLF
PRINTI """I would swear the tapping came from here,"" "
FSET? BERGON,IN-PARTY \?CCL6
PRINTI "Bergon"
JUMP ?CND4
?CCL6: PRINTI "Praxix"
?CND4: PRINTI " said."
CRLF
CRLF
PRINTI """And so would I. You don't think the pick-axe was working here on its own?"" I asked."
RTRUE
?CCL3: CALL QSET?,HERE,EXAMINED
ZERO? STACK \FALSE
PRINTI "Once again, we made our way through the cleft and into the circular chamber. Once again, there was nobody there."
CRLF
CRLF
PRINTI """Doesn't make a bit of sense,"" "
ICALL2 WPRINTD,PRAXIX
PRINTI " said."
RTRUE
.FUNCT ANONF-241:ANY:0:0
EQUAL? ACTION,USE-MIX-COMMAND \?CCL3
EQUAL? ACTION-OBJECT,MINER \?CCL3
PRINTI "Praxix cast the mixture at the miner but the effect was mainly that of infuriating him."
CRLF
CRLF
PRINTI """Now listen here,"" he said, wagging an arthritic finger at Praxix, ""I ain't got time for none of that magical business, so if you are done nosing around here, I'd appreciate some peace and quiet."""
CRLF
CRLF
ICALL1 MIXTURE-CAST
FSET? BERGON,IN-PARTY \?CCL8
ICALL TRAVEL-COMMANDS,BERGON,GET-ADVICE-COMMAND
JUMP ?CND6
?CCL8: ICALL CHANGE-TRAVEL-COMMAND,PRAXIX,ASK-MINER-COMMAND,CAST-COMMAND
?CND6: CALL1 LEAVE-ACTIVE-MINE
RSTACK
?CCL3: EQUAL? ACTION,ASK-MINER-COMMAND \?CCL10
CALL QSET?,HERE,BUSY
ZERO? STACK \?CCL10
ICALL2 WPRINTD,ACTOR
PRINTI " started to ask the miner a question, but the miner interrupted. ""Before I answer your questions, I've got one of my own,"" he said. ""What are you doing in my mine?"""
CRLF
CRLF
ICALL2 WPRINTD,ACTOR
PRINTI " replied with a condensed version of the truth, as the miner listened in scornful disbelief."
CRLF
CRLF
PRINTI """Just plain stupid,"" was his conclusion; he spat on the ground and continued, ""Go on, ask your questions and get out. I've got lots more work to do!"""
RTRUE
?CCL10: EQUAL? ACTION,BACK-COMMAND \FALSE
FSET? HERE,EXAMINED /?CCL17
PRINTI "Baffled, we snaked our way through the narrow passage, but no sooner did we arrive back that the tapping started again."
CRLF
CRLF
PRINTI """Spirits?"" I suggested, instinctively turning back toward the darkened slit."
CALL2 MOVE-TO,MINER-PASSAGE
RSTACK
?CCL17: FSET? BERGON,IN-PARTY \?CCL20
ICALL TRAVEL-COMMANDS,BERGON,GET-ADVICE-COMMAND
JUMP ?CND18
?CCL20: ICALL CHANGE-TRAVEL-COMMAND,PRAXIX,ASK-MINER-COMMAND,CAST-COMMAND
?CND18: CALL1 LEAVE-ACTIVE-MINE
RSTACK
.FUNCT LEAVE-ACTIVE-MINE:ANY:0:0
IN? MINER,HERE \?CCL3
PRINTI "We were filled with curiosity about this strange miner, and had many questions to ask him, but we had now overstayed our welcome in his mine. And so we said our good-byes and"
FSET? OLD-MINE,SOLVED \?CCL6
ICALL REMOVE-TRAVEL-COMMAND,MINE-LOWER-STAIR,LEFT-COMMAND
PRINTI ", leaving the mines, returned to the bottom of the stairs."
ICALL2 MOVE-TO,MINE-LOWER-STAIR
JUMP ?CND4
?CCL6: ICALL TRAVEL-COMMANDS,MINE-JUNCTION,OLD-MINE-COMMAND,BACK-COMMAND
ICALL MOVE-TO,MINE-JUNCTION,STR?593
?CND4: IN? RED-ROCK,INVENTORY \TRUE
CRLF
CRLF
PRINTI """Excellent, "
ICALL1 WPRINTTAG
PRINTI ", to have taken those red rocks,"" Praxix said, ""I believe they are far more valuable than they appear. Keep them safe! I shall tell you more when we are more at leisure."""
RTRUE
?CCL3: PRINTI "We returned to the entrance of the mine, utterly confused about the meaning of the tapping sounds."
CRLF
CRLF
PRINTI """Do you believe in spirits?"" I asked Praxix."
CRLF
CRLF
PRINTI """Spirits, yes, but not spirits that go about rock mining in caverns. There is another explanation, I am sure of that!"" he replied."
ICALL REMOVE-TRAVEL-COMMAND,MINE-JUNCTION,NEW-MINE-COMMAND
CALL2 MOVE-TO,MINE-JUNCTION
RSTACK
.ENDSEG
.ENDI

817
mines.zil Normal file
View file

@ -0,0 +1,817 @@
"MINES for
JOURNEY
(c) Copyright 1988, 1989 Infocom, Inc. All Rights Reserved."
<BEGIN-SEGMENT CAVERNS>
<COMMAND THIS-LEVEL>
<ROOM MINE-2-W
(TRAVEL-COMMANDS THIS-LEVEL-COMMAND DOWN-COMMAND NUL-COMMAND)
(GRAPHIC G-MID-STAIR)
(FLAGS UNDERGROUND DONT-SCOUT)
(ACTION
<ACOND ()
(DOWN:REMOVE
<TELL
"Again, we started down these dismal stairs, but were soon met with
disappointment - the walls around the stairs had crumbled, completely
blocking our path." CR CR>
<COND (<IN-PARTY? ,HURTH>
<TELL
"\"This bodes ill for us,\" said Hurth, \"if we are to reach the
lower regions.\"" CR CR>)>
<FSET ,HERE ,TRAPPED>
<TELL
"And so we trudged back up the stairs, finally reaching the landing
above.">)
(THIS-LEVEL
<TELL
"We marched quickly down the path as it began a wide curve toward the right.
Suddenly, ">
<COND (<IN-PARTY? ,HURTH>
<TELL "Hurth">)
(T
<TELL "Praxix">)>
<TELL ", who had taken the lead,
held us back. \"Orcs!\" he said in a harsh whisper, \"This is very bad.
They block the road that lies ahead, and there is no other path on this
level.\"">
<MOVE-TO ,MINE-1-W>)>)>
<ROOM MINE-1-W
(TRAVEL-COMMANDS BACK-COMMAND NUL-COMMAND NUL-COMMAND)
(GRAPHIC G-ORC-VIEW)
(FLAGS UNDERGROUND DANGEROUS)
(ACTION
<ACOND ()
(BACK:REMOVE
<TELL
"Bergon suggested that we retreat in search of a better route, but was
dissuaded by ">
<COND (<IN-PARTY? ,HURTH>
<TELL
"Hurth. \"The principal route through this level heads to
the north up ahead; there is no point in turning back, lest we
foresake our purpose.\"">)
(T
<TELL
"Praxix. \"We have no choice, if we are to find the Stone, but to
find a path to the lower caverns.\"">)>)
(GET-ADVICE:REMOVE
<TELL
"Of the group, only Bergon felt strongly one way or the other. \"If we
go past the orcs, we may not have another chance to explore the area to
the north,\" he said.">)
(SCOUT:REMOVE
<TELL
"Thinking there might be an alternative way around the orcs, Bergon sent
Hurth to explore the area nearby. Soon, Hurth had found a small slit in
the rock and disappeared within it." CR CR>
<TELL
"Returning a short while later, he reported on the situation, drawing
a map in the dirt at our feet. \"We are here, on this east-west
path; the orcs are guarding the junction where a larger path, leading
north, crosses it. The slit I entered winds its way north and then
east, opening out on the northern path not far from the orcs' position.
There is at least a chance we could move that way without attracting their
attention.\"" CR CR>
<TELL
"Bergon stared at the crude map and was not convinced. \"There is also a
chance we may be seen crossing over to the slit itself,\" he added glumly.
\"But we must choose now: to head north, hoping to avoid the orcs altogether,
or to head east, somehow getting past the orcs that stand guard at the
junction.\"">
<ADD-TRAVEL-COMMAND ,HERE ,AROUND-ORCS-COMMAND>
<ADD-TRAVEL-COMMAND ,HERE ,PAST-ORCS-COMMAND>
<UPDATE-FSET ,HERE ,ADVISE>)
(PAST-ORCS
<TELL
"We decided to find a way through the orcs position, but were not quite
certain how that might be accomplished.">
<SCENE ,PRAXIX-DIVERSION>)
(AROUND-ORCS:REMOVE
<TELL
"One at a time, we ventured through the slit and thence out into
the northern passage. Creeping ever northward, we heaved a collective sigh
of relief as the path finally turned a corner, putting us out of sight of
the orcs. Not long afterward, the path forked to the left and the right. Down
the lefthand passage some muffled voices could be heard, and a dim glow
could be seen down the righthand passage.">
<FCLEAR ,HERE ,ADVISE>
<MOVE-TO ,NORTH-ORC-FORK>)>)>
<ROOM NORTH-ORC-FORK
(TRAVEL-COMMANDS LEFT-COMMAND RIGHT-COMMAND BACK-COMMAND)
(FLAGS UNDERGROUND DANGEROUS)
(GRAPHIC G-ORC-FORK)
(ACTION
<ACOND ()
(LEFT:REMOVE
<TELL
"It didn't take long to learn that another, larger party of orcs was camped
down the lefthand path.">
<TELL CR CR
"\"We cannot face so many of these monsters,\" Bergon said, disappointed that
our narrow escape from the last party of orcs should lead instead to another
one.">
<COND (<IN-PARTY? ,HURTH>
<TELL CR CR
"\"It is all too clear that orcs now control this level of the caverns,\"
Hurth replied, glumly.">)>
<RTRUE>)
(RIGHT:REMOVE
<TELL
"The righthand path led to a gate fashioned with formidable iron bars. There
was no visible locking mechanism, and yet the door would not yield. Praxix was
the first to notice the series of dimly glowing runes that were carved into the
lintel.">
<MOVE-TO ,STRANGE-GATE>)
(BACK
<TELL
"Deeming discretion to be the better part of valor, we retraced our steps,
eventually finding the slit through which we had entered this northern passage.
It took some time, but we eluded the orcs yet again, and we safely arrived
back at our earlier position no better off than we had been before." CR CR>
<TELL
"\"If we are to get any farther in these caverns,\" Bergon said, \"then we
must find a way to get past those orcs.\"">
<MOVE-TO ,MINE-1-W>)>)>
<ROOM STRANGE-GATE
(TRAVEL-COMMANDS BACK-COMMAND NUL-COMMAND NUL-COMMAND)
(FLAGS UNDERGROUND)
(GRAPHIC G-STRANGE-GATE)
(ENTER
<EXECUTE ()
<FSET ,HERE ,SEEN>
<COND (<FSET? ,GATE-RUNES ,SEEN>
<PRAXIX-SPEAK-COMMANDS>)>>)
(EXIT FIXUP-PRAXIX-COMMANDS)
(ACTION
<ACOND ()
(BACK
<TELL
"With little hope of getting past the gate, we returned to the fork nearby.">
<MOVE-TO ,NORTH-ORC-FORK>)>)>
<OBJECT GATE-RUNES
(SDESC "runes")
(LOC STRANGE-GATE)
(KBD %<ASCII !\R>)
(FLAGS DONT-TAKE)
(EXBITS <+ ,HURTHBIT ,PRAXIXBIT>)
(ACTION
<ACOND ()
(EXAMINE
<CLEAR-EXBIT>
<COND (<EQUAL? ,ACTOR ,HURTH>
<TELL
"Hurth squinted at the runes, but they apparently did not register. \"They are
not Dwarvish,\" he said with finality.">)
(T
<CLEAR-EXBIT ,GATE-RUNES ,HURTH>
<COND (<NOT <QSET? ,GATE-RUNES ,SEEN>>
<TELL
"Praxix scratched his head with his staff and began staring dreamily at the
runes. \"I believe I know these runes,\" he began, \"though I cannot imagine how
they got here." CR CR>
<TELL
"Long ago, I came across a priceless copy of the only written dictionary of the
ancient Wizards' runic language. Naturally, I memorized it as best I could,
yet I never believed it would be of any value.\" He then read the words aloud
\"Lorem ara sequil hevant drai nons trivi azan-lam,\" he intoned." CR CR>
<TELL
"\"The words mean 'Please only say gate open to enter storage-room', or something near
to that. The runes for 'gate', 'door', and 'entrance' are very similar, and I can
never remember which is which - 'hevant', 'levant', or 'eivant'. The verb 'open' also
causes me some concern, because it might be 'drai' or 'adrei', depending on a
slight nuance of meaning. The word for 'enter' - it might be more general -
'access' or even 'entrance'. And 'storage room' is a literal translation, though
it might mean 'closet' or 'trove', I suppose. It doesn't matter, really, since the
meaning of the runes is quite clear.\"" CR CR>
<TELL
"Bergon shuddered at this litany of linguistical subterfuge. \"Are you quite
finished with your lecture?\" he asked. \"And, if so, would you mind very much
opening the gate?\"">
<ADD-TRAVEL-COMMAND ,HERE
,REREAD-RUNES-COMMAND>
<PRAXIX-SPEAK-COMMANDS>)>)>)>)>
<COMMAND (REREAD-RUNES REREAD) <> ()
<COND (<NOT <QSET? ,GATE-RUNES ,TRAPPED>>
<TELL
"At our request, Praxix again read the runes aloud: \"Lorem ara sequil
hevant drai nons trivi azan-lam.\" And again, he translated the words as 'Please
only say gate open to enter storage-room.'" CR CR>
<TELL
"\"Remember, though, that I'm not certain of the runes 'hevant' and 'drai'. They
might well be 'levant' or even 'eivant' in the case of 'hevant', and 'adrei' in
the case of 'drai'.\"" CR CR>
<TELL
"\"You are certain you know this language?\" Bergon asked." CR CR>
<TELL
"\"Let us say that I am certain of the runes, with the exceptions noted,\" came
Praxix' reply.">)
(T
<TELL
"Yet again, Praxix read the runes aloud: \"Lorem ara sequil hevant drai nons
trivi azan-lam.\" And again, he reiterated his uncertainty about the runes for
'hevant' and 'drai'.">)>>
<ROUTINE PRAXIX-SPEAK-COMMANDS ()
<TRAVEL-COMMANDS ,PRAXIX
,CAST-COMMAND
<COND (,MIX-DONE ,USE-MIX-COMMAND)
(T ,MIX-COMMAND)>
,SPEAK-COMMAND>>
<COMMAND (AROUND-ORCS AROUND)>
<COMMAND (PAST-ORCS PAST)>
<GLOBAL WIZSPEAK 0>
<COMMAND SPEAK <> ("AUX" WDS W1)
<COND (<READ-ELVISH ,PRAXIX>
<SET WDS <GETB ,E-LEXV 1>>
<SET W1 <GET ,E-LEXV 1>>
<TELL "\"">
<PRINTT ,E-TEMP ,E-TEMP-LEN>
<TELL ",\" Praxix said, trying to sound like a Wizard of old. ">
;<TELL "[Debug: ">
;<TELL N .WDS " words. W?LOREM = " N ,W?LOREM ", W1 = " N .W1 "]">
<COND (<AND <EQUAL? .WDS 1>
<EQUAL? .W1 ,W?LOREM>>
<TELL
"And then, a thin wind came up from behind us, and the door simply blew open.
But even though Praxix had done the highly improbable in deciphering and correctly
using the magical door, he was nonetheless disappointed. \"I should have studied
the language further,\" he said, \"I never knew that the runic language read from
right to left!\"" CR CR>
<TELL
"Once inside, we found small pouches of the magical essences of water,
air, and earth, pleasing Praxix greatly. \"We can never have enough of these
essences,\" he said." CR CR>
<TELL
"Convinced there was nothing further to be found inside the storeroom, we
returned to the nearby fork.">
<FSET ,STRANGE-GATE ,SOLVED>
<FIND-ESSENCE ,ESSENCE-WATER 3>
<FIND-ESSENCE ,ESSENCE-AIR 3>
<FIND-ESSENCE ,ESSENCE-EARTH 2>
<MOVE-TO ,NORTH-ORC-FORK>)
(T
<TELL
"But nothing happened, not the slightest movement.">
<COND (<G? <SETG WIZSPEAK <+ ,WIZSPEAK 1>> 4>
<SETG WIZSPEAK 0>
<FIXUP-PRAXIX-COMMANDS>
<REMOVE-TRAVEL-COMMAND ,HERE ,REREAD-RUNES-COMMAND>
<TELL CR CR
"\"I give up,\" Praxix said petulantly. \"It is clear that I know less than
I suppose about the Wizards' language. There is no use in wasting any more time
here.\"">)>
<RTRUE>)>)
(T
<TELL
"Strangely, Praxix opened his mouth and appeared to speak, but nothing came out.
We stared at our Wizard friend with growing concern.">)>>
<OBJECT PRAXIX-DIVERSION
(GRAPHIC G-PRAXIX-DIVERSION)
(ACTION
<ACOND ("AUX" TMP)
(SCENE-START
<TELL CR CR
"\"I've got an idea,\" Praxix whispered; he then dashed across to
the narrow passage, and was gone.">
<MAKE-SUBGROUP ,PRAXIX>
<UPDATE-REMOVE ,LIGHT-SPELL>
<MOVE-TO ,PRAXIX-DIVERSION-ROOM>)
(SCENE-END
<CLEAR-SUBGROUP>
<UPDATE-MOVE ,LIGHT-SPELL ,ALWAYS-SPELLS>
<COND (<FSET? ,REAGENT ,SOLVED>
<FIXUP-PRAXIX-COMMANDS>)
(T
<TRAVEL-COMMANDS ,PRAXIX
,CAST-COMMAND
,EXAMINE-COMMAND>)>
<COND (<FSET? ,HERE ,ENCHANTED>
<MOVE-TO ,ORC-JUNCTION>)
(<FSET? ,PRAXIX ,TRAPPED>
<TELL CR CR>
<FCLEAR ,PRAXIX ,TRAPPED>
<TELL
"From our point of view, whatever Praxix had done was working
brilliantly. The orcs had fled, and we now gingerly entered the road
junction, expecting to find Praxix nearby. But of orcs and Praxix
there was none, and so we stood there, unsure of what to do next." CR CR>
<TELL
"But we didn't have to wait long to find out, for the orcs were
soon rampaging back in our direction. \"Quickly! This way!\" Bergon
shouted, shepherding us down the passage that lay to the east." CR CR>
<COND (<IN-PARTY? ,ESHER> <SET TMP ,ESHER>)
(<IN-PARTY? ,MINAR> <SET TMP ,MINAR>)
(T
<SET TMP ,HURTH>)>
<TELL
"\"Wait!\" shouted " D .TMP ", \"There's Praxix!\" " D .TMP " pointed at
the Wizard who had apparently managed to sneak back through the
slit and was in danger of being cut off by the orcs before
he could reach us. And then, " D .TMP " charged at the oncoming orcs, giving
Praxix enough time to reach our side.">
<COND (<NOT <EQUAL? .TMP ,HURTH>>
<TELL " But it was too late for " D .TMP ";
he was cut to pieces, and left for dead on the ground.">
<HINT ,HINT-DIVERSION>
<KILLED-OFF .TMP>)
(T
<TELL " Hurth fought brilliantly, and
was nearly cut to ribbons before arriving back at our sides.">)>
<TELL CR CR
"With no time to lose, we sped down the eastern path. But any relief we
may have felt">
<MOVE-TO ,MINE-1-E ,SHORT-LIVED-RELIEF>)
(T
<MOVE-TO ,MINE-1-W>)>)>)>
<CONSTANT SHORT-LIVED-RELIEF
" was short-lived, as the wide path soon narrowed to the
point that we could march only in single file. Two sounds could clearly
be heard: the sound of rushing water from somewhere nearby, and far more
ominously, the pounding footfalls of approaching orcs.">
<OBJECT P-D-R-ORCS
(LOC PRAXIX-DIVERSION-ROOM)
(SDESC "orcs")
(FLAGS DONT-TAKE DONT-EXAMINE)>
<ROOM PRAXIX-DIVERSION-ROOM
(TRAVEL-COMMANDS RETURN-COMMAND NUL-COMMAND NUL-COMMAND)
(CAST-LIMIT INF)
(FLAGS UNDERGROUND)
(ENTER
<EXECUTE ()
<TELL
" Following the tunnel to the main road leading north, Praxix peered around
the corner, spying the orcs nearby. The path was dark, but not perfectly so,
as the light from the orcs' torches flickered dimly on the rocky walls. It would
be difficult enough to surprise these orcs, so Praxix laid down his
glowing staff in the blackness of the tunnel and stepped out into the darkness.">>)
(ACTION
<ACOND ()
(<AND <FSET? ,HERE ,SCOUTED>
<NOT <GAME-COMMAND?>>>
;"The orcs have been alerted."
<TELL
"It was only moments before the orcs were racing down the road
in Praxix' direction, howling their war-cries.">
<COND (<AND <ACTION? CAST> <OBJECT? LEVITATE-SPELL>>
<GRAPHIC ,G-CHARGING-ORCS-FROM-ABOVE>
<TELL " But Praxix had prepared his elevation
spell beforehand, and he rose into the air in time to marvel at the sight
of a dozen or so rampaging orcs charging down the halls beneath him. Descending
back to earth, Praxix brushed himself off, retrieved his staff, and nonchalantly
walked back to the junction." CR CR>
<TELL
"\"Come along, come along!\" he said, prodding us with his staff.
\"I expect they'll be back soon enough.\"">
<COND (<IN-PARTY? ,HURTH>
<TELL CR CR
"\"I am impressed,\" said Hurth, and so were we all.">)>
<FSET ,HERE ,ENCHANTED>)
(<OR <ACTION? CAST> <ACTION? USE-MIX> <ACTION? MIX>>
<FSET ,PRAXIX ,TRAPPED>
;<GRAPHIC ,G-CHARGING-ORCS>
<TELL " \"Oh, dear. I wasn't expecting this,\"
Praxix said to himself as he hurriedly tried to ">
<COND (<ACTION? MIX>
<TELL "mix his enchantment.">)
(T
<TELL "cast his enchantment at
the oncoming orcs. It can truly be said that the orcs were startled by
the show of thaumaturgical skills, but this was not going to hold them
for long!">)>)
(<ACTION? RETURN>
<FSET ,PRAXIX ,TRAPPED>
;<GRAPHIC ,G-CHARGING-ORCS>
<TELL " Now, it had been Praxix' idea to quickly
retreat to the narrow passage and thereby rejoin the group. In practice,
however, he was seen by the oncoming orcs, and rather than lead them back
toward our party, he withdrew farther into the northern path. The orcs
approached with weapons drawn and a fire in their eyes.">)>
<SCENE <>>
<RTRUE>)
(CAST
<COND (<OBJECT? LEVITATE-SPELL>
<SAVE-SPELL>
<REMOVE ,HYE-DIVERSION>
<TELL
"As an experiment, he cast the elevation spell on himself, and rose
into the darkness. A moment later, he located the top of the passageway with
his skull. \"Oomph!\" he blurted out in a muffled sort of way that came
dangerously close to attracting the attention of the orcs. Biting his
lower lip and rubbing his head, he soon settled to the ground. \"Should do
nicely,\" he said to himself, and he brushed some crumbled rock off of his
cloak.">)
(<OR <OBJECT? FAR-VISION-SPELL>
<OBJECT? WIND-SPELL>
<OBJECT? TREMOR-SPELL>>
<RESTORE-SPELLS>
<TELL
"Praxix' plan was this: to create a diversion which would draw the entire
contingent of orcs in his direction, thereby allowing the group to
pass unseen through the junction. And so, taking the ">
<COND (<OBJECT? FAR-VISION-SPELL>
<TELL "essences of fire and air">)
(<OBJECT? TREMOR-SPELL>
<TELL "essence of earth">)
(T
<TELL "essence of air">)>
<TELL " from his pouch, he cast the enchantment." CR CR>
<TRAVEL-COMMANDS ,HERE ,RETURN-COMMAND>
<COND (<OBJECT? FAR-VISION-SPELL>
<TELL
"The ball of flame flew from his fingertips, and shot forward toward
the unsuspecting orcs, who reacted predictably by grabbing their
weapons and shouting in their guttural tongue. It was a good thing
that the fireball blinded">)
(<OBJECT? TREMOR-SPELL>
<TELL
"A great roar erupted from the earth, and the ground started to split
before him. The unsuspecting orcs were startled and frightened, and
were soon grabbing their weapons. It was lucky, though, that their
confusion distracted">)
(T
<TELL
"A cold gust of wind blew toward the unsuspecting orcs, who were very
nearly swept off their feet. It was a safe bet that their attention had
been grabbed; next it would be their weapons. Fortunately, the blowing
dust and wind distracted">)>
<TELL
" them enough to momentarily protect Praxix from their view.">
<FSET ,HERE ,SCOUTED>)>)
(RETURN:REMOVE
<COND (<NOT <FSET? ,HERE ,SCOUTED>>
<NEW-DEFAULT <PARTY-PCM ,PRAXIX> 1>
<TELL
"Sadly, though predictably, Praxix had forgotten his idea and prepared
to return to the group. Fortunately, he thought again. \"A spell,\"
he said to himself with some assurance, \"Yes, that's it. I
was going to cast a spell. Now which spell was it?\"">
<COND (<NOT <FIRST? ,ESSENCES>>
;"Something's got to happen, so..."
<TELL CR CR
"But it didn't much matter, as Praxix had already run out of magical
essences. And then he had another thought - if only he could get the orcs
attention, then he might cause enough of a diversion to allow the others to
get past. And, having no magic to use, he chose a more mundane method: whistling.
This certainly had some effect, for the orcs were soon grabbing for
their weapons and preparing to charge at their as yet unseen enemy.">
<FSET ,HERE ,SCOUTED>)>
<RTRUE>)>)>)>
<ROOM ORC-JUNCTION
(TRAVEL-COMMANDS PROCEED-COMMAND NUL-COMMAND NUL-COMMAND)
(FLAGS UNDERGROUND DONT-SCOUT)
(ACTION
<ACOND ()
(PROCEED
<TELL
"It was with great relief that we headed away from the junction. But the relief">
<TELL ,SHORT-LIVED-RELIEF CR CR>
<TELL
"\"I fear the orcs are somewhat more clever than we anticipated,\" Praxix
said, trying not to appear disturbed. \"Let us hope there is some escape
for us farther along the way.\"">
<MOVE-TO ,MINE-1-E>)>)>
<COMMAND JUMP>
<ROOM MINE-1-E
(TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND NUL-COMMAND)
(GRAPHIC G-NARROW-SLIT)
(FLAGS UNDERGROUND DANGEROUS)
(ENTER
<EXECUTE ()
<COND (<NOT <FSET? ,STRANGE-GATE ,SEEN>>
<HINT ,HINT-STRANGE-GATE>)
(<NOT <FSET? ,STRANGE-GATE ,SOLVED>>
<HINT ,HINT-GATE-RUNES>)>>)
(ACTION
<ACOND ()
(PROCEED
<TELL
"Ahead, the passage opened up into a wider hall, and we moved quickly
in anticipation of escape. But the hall ended blindly. All around,
the sound of water was nearly deafening, and moment by moment, the
dull thump of orc footsteps moved ever closer; it appeared that tragedy
was close at hand.">
<MOVE-TO ,ABOVE-FLUME>)
(<OR <ACTION? BACK>
<AND <ACTION? SCOUT>
<NOT <QSET? ,HERE ,SCOUTED>>>>
<UPDATE-FSET ,HERE ,DONT-SCOUT>
<REMOVE-PARTY-COMMAND ,BACK-COMMAND>
<COND (<ACTION? BACK>
<SETG ACTOR <FIRST-IN-PARTY ,HURTH ,ESHER ,PRAXIX>>)>
<TELL
"Rather than attempt to retrace our steps and fall into the hands of
the orcs, we sent " ACT " to quickly and quietly check out our rear.
Moments later, he returned. \"They are not far behind, but they
move more slowly and there is hope in that.\"" CR CR>
<TELL
"\"I fear there is another explanation,\" Praxix replied gloomily, and we
soon found out what he meant.">)>)>
<END-SEGMENT>
<BEGIN-SEGMENT MINES>
<COMMAND (ENTER-CLEFT ENTER)>
<ROOM MINER-PASSAGE
(TRAVEL-COMMANDS ENTER-CLEFT-COMMAND BACK-COMMAND NUL-COMMAND)
(GRAPHIC G-MINER-PASSAGE)
(FLAGS UNDERGROUND DONT-SCOUT)
(ENTER FSET-SEEN)
(ACTION
<ACOND ()
(ENTER-CLEFT
<MOVE ,ACTIVE-MINE-WALLS ,ACTIVE-MINE>
<MOVE-TO ,ACTIVE-MINE>)
(BACK
<TELL
"Unable to determine the cause of the tapping, and finding only a
dead-end passage here, we returned to the ">
<COND (<FSET? ,OLD-MINE ,SOLVED>
<MOVE-TO ,MINE-LOWER-STAIR "bottom of the stairs.">)
(T
<MOVE-TO ,MINE-JUNCTION "mine junction.">)>)>)>
;"A miner, 49er..."
<COMMAND ASK-MINER O-ASK-MINER ()
<TELL-TALE ,ACTION-OBJECT>
<RTRUE>>
<OBJECT ASK-MINER-OBJECTS>
<OBJECT ASK-MINER-ROCKS
(LOC ASK-MINER-OBJECTS)
(SDESC "mine")
(KBD %<ASCII !\M>)
(TEXT
<EXECUTE ()
<UPDATE-MOVE ,RED-ROCK ,HERE>
<TELL
"\"So what exactly is it you're mining here?\" asked " ACT ", who
was trying to get a better look at the miner's sack." CR CR>
<TELL
"\"Lots of things,\" he said. \"The stuff of the earth, if you know what I
mean.\" He reached into his sack and pulled out a few large rocks. \"Now this
here is mostly gold, but I reckon you've seen that before. And this,\" he said,
holding up a shiny black stone, \"is obsidian - fetch a good price for that in
Zan, I figure.\"" CR CR>
<TELL
"He rummaged through his sack, dropping some small red rocks on the ground,
and announced, \"That's about it, so far anyway. But I've found silver,
platinum, even a couple of diamonds once! You never know what you'll find in
these walls!\"">>)>
<OBJECT ASK-MINER-ORCS
(LOC ASK-MINER-OBJECTS)
(SDESC "orcs")
(KBD %<ASCII !\O>)
(TEXT
<EXECUTE ()
<TELL ACT
" was curious about how the miner had managed to elude the orcs.
\"Could be I'm just a lucky fella,\" he started, chuckling. \"Oh, sure, there's
orcs around, and worse things too. But these orcs aren't very clever,
if you know what I mean. And I've got some ways of protecting myself
as well. What I'd like to know is how you've eluded them!\" And with
that, he laughed again.">>)>
<ROUTINE O-ASK-MINER ()
<FIND-OBJECTS ,ASK-MINER-OBJECTS>>
<OBJECT MINER
(SDESC "miner")
(KBD %<ASCII !\M>)
(FLAGS DONT-TAKE)
(ACTION
<ACOND ()
(EXAMINE:CLEAR
<TELL ACT
" wasn't the only one looking over this strange man, for we were ">
<COND (<EQUAL? ,PARTY-MAX 2> <TELL "both">)
(T
<TELL "all">)>
<TELL " filled
with curiosity. He was a short man of middle age, and badly in need of a
shave and a bath. His dark complexion was more in keeping with a man
from the plains or the desert than an inhabitant of these caverns, yet he
acted completely at ease in his surroundings.">)>)>
<OBJECT MINER-SACK
(SDESC "miner's sack")
(8DESC "sack")
(KBD %<ASCII !\S>)
(EXBITS <+ ,PRAXIXBIT ,HURTHBIT>)
(ACTION
<ACOND ()
(PICK-UP
<TELL
"\"Whoa there, son!\" the miner said, as I reached for his sack. \"You
can just leave that right there, if you don't mind.\"">
<FSET ,ACTION-OBJECT ,DONT-TAKE>
<SETG UPDATE-FLAG T>)
(EXAMINE:CLEAR
<TELL ACT
" tried to get a better look at the miner's sack, but the miner was
protecting it with his body. We could tell, however, that it was a
very sturdy sack, made of burlap, and it was about half full with
rocks of some kind.">)>)>
<OBJECT ACTIVE-MINE-WALLS
(LOC ACTIVE-MINE)
(FLAGS DONT-TAKE)
(SDESC "walls")
(KBD %<ASCII !\W>)
(EXBITS <+ ,HURTHBIT ,PRAXIXBIT>)
(ACTION
<ACOND ()
(EXAMINE:REMOVE
<COND (<NOT <FSET? ,HERE ,EXAMINED>>
<SET-TEMP ,ACTOR>
<TELL ACT
", looking over our surroundings, made a strange discovery." CR CR>
<TELL
"\"Look over here,\" he said, indicating an area of recent excavation
in the walls. \"">
<COND (<EQUAL? ,ACTOR ,ESHER ,PRAXIX>
<TELL
"Looks like somebody's been doing some digging....\"">)
(T
<TELL
"These marks come from this pick-axe, or I am no Dwarf,\" he said.">)>)
(T
<COND (<EQUAL? ,ACTOR <GET-TEMP>>
<TELL "Once again">)
(<NOT <GET-TEMP>>
<TELL "Confused">)
(T
<TELL "This time">)>
<TELL ", " ACT
" examined the chamber's walls, and found some ">
<COND (<GET-TEMP> <TELL "more loose">)
(T <TELL "recently broken">)>
<TELL " rock both within
the walls and on the ground nearby.">
<MINER-APPEARS>)>)>)>
<ROUTINE MINER-APPEARS ()
<TELL CR CR
"\"What's going on here?\" ">
<TELL D <FIRST-IN-PARTY ,BERGON ,PRAXIX>>
<TELL " demanded of the empty room, and it
replied with a soft giggling sound that echoed through the chamber." CR CR>
<FSET ,ACTIVE-MINE-WALLS ,DONT-EXAMINE>
<UPDATE-MOVE ,MINER-SACK ,HERE>
<UPDATE-MOVE ,MINER ,HERE>
<FSET ,HERE ,SOLVED>
<COND (<IN-PARTY? ,BERGON>
<TRAVEL-COMMANDS ,BERGON
,GET-ADVICE-COMMAND
,ASK-MINER-COMMAND>)
(T
<CHANGE-TRAVEL-COMMAND ,PRAXIX
,CAST-COMMAND
,ASK-MINER-COMMAND>)>
<TELL
"We each spun around, but we were as alone as before. Just then,
the giggling turned to laughter, and before our eyes a grizzled man
appeared, holding a large sack. Rubbing the tears from his eyes, he looked
us over, and howled with laughter." CR CR>
<GRAPHIC <> ,G-MINER ,TOP-LEFT>
<TELL
"\"You are the sorriest lot I've ever seen,\" he said, restraining
himself from another bout of laughter. \"Tell me, are you folks lost
or just plain stupid?\" He wiped his nose and eyes with his right sleeve,
sniffled, and then just stood there in amused bewilderment.">>
<ROOM ACTIVE-MINE
(TRAVEL-COMMANDS BACK-COMMAND NUL-COMMAND NUL-COMMAND)
(GRAPHIC G-ACTIVE-MINE)
(FLAGS UNDERGROUND DANGEROUS DONT-SCOUT ENCLOSED)
(TEMP 0)
(ENTER
<EXECUTE ()
<COND (<NOT <QSET? ,HERE ,SEEN>>
<TELL
"As quietly as we could, we squeezed our way through the cleft and
soon came upon a wide, circular chamber with no exit other than the
one through which we had entered." CR CR>
<TELL
"\"I would swear the tapping came from here,\" ">
<COND (<IN-PARTY? ,BERGON> <TELL "Bergon">)
(T <TELL "Praxix">)>
<TELL " said." CR CR>
<TELL
"\"And so would I. You don't think the pick-axe was working here on its
own?\" I asked.">)
(<NOT <QSET? ,HERE ,EXAMINED>>
<TELL
"Once again, we made our way through the cleft and into the circular
chamber. Once again, there was nobody there." CR CR>
<TELL
"\"Doesn't make a bit of sense,\" ">
<TELL D ,PRAXIX " said.">)>>)
(ACTION
<ACOND ()
(<AND <ACTION? USE-MIX>
<EQUAL? ,ACTION-OBJECT ,MINER>>
<TELL
"Praxix cast the mixture at the miner but the effect was mainly that of
infuriating him." CR CR>
<TELL
"\"Now listen here,\" he said, wagging an arthritic finger at Praxix,
\"I ain't got time for none of that magical business, so if you are
done nosing around here, I'd appreciate some peace and quiet.\"" CR CR>
<MIXTURE-CAST>
<COND (<IN-PARTY? ,BERGON>
<TRAVEL-COMMANDS ,BERGON ,GET-ADVICE-COMMAND>)
(T
<CHANGE-TRAVEL-COMMAND ,PRAXIX
,ASK-MINER-COMMAND
,CAST-COMMAND>)>
<LEAVE-ACTIVE-MINE>)
(<AND <ACTION? ASK-MINER>
<NOT <QSET? ,HERE ,BUSY>>>
<TELL ACT
" started to ask the miner a question, but the miner interrupted.
\"Before I answer your questions, I've got one of my own,\" he said.
\"What are you doing in my mine?\"" CR CR>
<TELL ACT
" replied with a condensed version of the truth, as the miner
listened in scornful disbelief." CR CR>
<TELL
"\"Just plain stupid,\" was his conclusion; he spat on the ground and
continued, \"Go on, ask your questions and get out. I've got lots more
work to do!\"">)
(BACK
<COND (<NOT <FSET? ,HERE ,EXAMINED>>
<TELL
"Baffled, we snaked our way through the narrow passage, but no sooner
did we arrive back that the tapping started again." CR CR>
<TELL
"\"Spirits?\" I suggested, instinctively turning back toward the
darkened slit.">
<MOVE-TO ,MINER-PASSAGE>)
(T
<COND (<IN-PARTY? ,BERGON>
<TRAVEL-COMMANDS ,BERGON ,GET-ADVICE-COMMAND>)
(T
<CHANGE-TRAVEL-COMMAND ,PRAXIX
,ASK-MINER-COMMAND
,CAST-COMMAND>)>
<LEAVE-ACTIVE-MINE>)>)>)>
<ROUTINE LEAVE-ACTIVE-MINE ()
<COND (<IN? ,MINER ,HERE>
<TELL
"We were filled with curiosity about this strange miner, and had many
questions to ask him, but we had now overstayed our welcome in
his mine. And so we said our good-byes and">
<COND (<FSET? ,OLD-MINE ,SOLVED>
<REMOVE-TRAVEL-COMMAND ,MINE-LOWER-STAIR
,LEFT-COMMAND>
<TELL
", leaving the mines, returned to the bottom of the stairs.">
<MOVE-TO ,MINE-LOWER-STAIR>)
(T
<TRAVEL-COMMANDS ,MINE-JUNCTION
,OLD-MINE-COMMAND
,BACK-COMMAND>
<MOVE-TO ,MINE-JUNCTION
" returned to the mine junction.">)>
<COND (<IN? ,RED-ROCK ,INVENTORY>
<TELL CR CR
"\"Excellent, " TAG ", to have taken those red rocks,\" Praxix said, \"I
believe they are far more valuable than they appear. Keep them safe! I
shall tell you more when we are more at leisure.\"">)>
<RTRUE>)
(T
<TELL
"We returned to the entrance of the mine, utterly confused about the
meaning of the tapping sounds." CR CR>
<TELL
"\"Do you believe in spirits?\" I asked Praxix." CR CR>
<TELL
"\"Spirits, yes, but not spirits that go about rock mining in caverns.
There is another explanation, I am sure of that!\" he replied.">
<REMOVE-TRAVEL-COMMAND ,MINE-JUNCTION
,NEW-MINE-COMMAND>
<MOVE-TO ,MINE-JUNCTION>)>>

BIN
mudsub Normal file

Binary file not shown.

195
objects.zabstr Normal file
View file

@ -0,0 +1,195 @@
<BEGIN-SEGMENT 0>
<DEFINE-ROUTINE QSET?>
<DEFINE-ROUTINE UPDATE-REMOVE>
<DEFINE-ROUTINE UPDATE-FSET>
<DEFINE-ROUTINE UPDATE-FCLEAR>
<DEFINE-ROUTINE UPDATE-MOVE>
<OBJECT SPYGLASS (SDESC "spyglass") (FLAGS DONT-EXAMINE DONT-DROP DONT-CAST) (
KBD 83) (ACTION <ACOND () (<AND <EQUAL? ,ACTION ,DROP-COMMAND> <CHARACTER-HERE?
,PRAXIX>> <FSET ,SPYGLASS ,TRIED> <PRINTI
"I don't know why, but I suddenly had the urge to lighten my pack at the expense
of the spyglass that I had taken in the Dwarves' high tower. When Praxix saw what
I was about to do, he urged me to keep it, saying it was a rare antiquity of great
beauty and, perhaps, value.">) (<EQUAL? ,ACTION ,PICK-UP-COMMAND> <PRINTI
"Although wiser minds than I had concluded that the spyglass was unfit
for use, I was nonetheless taken by its beauty, and quietly placed it in my
pack. I do not think the others noticed, or, if they did, they said
nothing."> <UPDATE-MOVE ,SPYGLASS ,INVENTORY>)>)>
<DEFINE-ROUTINE ANONF-14>
<OBJECT NYMPH-STONE (SDESC "blue amulet") (8DESC "bl amlt") (LOC UL-TREASURY) (
KBD 66) (FLAGS DONT-DROP) (STONE-NAME "Nymph Stone") (ACTION <ACOND () (<EQUAL?
,ACTION ,EXAMINE-COMMAND> <UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> <COND (<
EQUAL? ,ACTOR ,TAG> <PRINTI "I">) (T <WPRINTD ,ACTOR>)> <PRINTI
" took a moment to admire the amulet. It was a small, golden orb, and in its
center lay a clear stone whose color was like that of the deep oceans. Surrounding
the stone were many hundreds of small, white diamonds, woven into an intricate
pattern of great beauty.">) (<EQUAL? ,ACTION ,PICK-UP-COMMAND> <FSET ,
NYMPH-STONE ,TRIED> <UPDATE-MOVE ,ACTION-OBJECT ,INVENTORY> <TREASURY-GRAPHIC>
<PRINTI "Unsure of the wisdom of my intentions, I nonetheless grasped the amulet and
took it from atop its pedestal. To my surprise, no alarms rang and no guards
charged into the chamber. I held firmly on to the amulet, and planned my
escape.">) (<EQUAL? ,ACTION ,DROP-COMMAND> <PRINTI
"Having done so much to obtain the amulet, it would have been foolish to put it
down on the ground, so I resisted the temptation to do just that.">)>)>
<DEFINE-ROUTINE ANONF-15>
<OBJECT HERMIT-POWDER (SDESC "bag") (KBD 66) (FLAGS DONT-DROP) (ACTION <ACOND (
) (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <COND (<EQUAL? ,ACTOR ,TAG> <PRINTI
"I decided to check on the contents of the hermit's bag and found
five smaller bags of powders, much like those used by Praxix. Presumably,
Praxix would want to examine them himself.">) (<NOT <EQUAL? ,ACTOR ,PRAXIX>> <
WPRINTD ,ACTOR> <PRINTI
" looked in the bag, opened it, and sniffed its contents.
\"Powders of some sort, I would guess,\" he said."> <CRLF> <CRLF> <PRINTI
"Praxix snatched the bag from "> <WPRINTD ,ACTOR>) (T <PRINTI
"Praxix took the bag, opened it,">)> <FSET ,HERMIT-POWDER ,SEEN> <UPDATE-MOVE ,
HERMIT-POWDER> <FIND-ESSENCE ,ESSENCE-WATER 3> <FIND-ESSENCE ,ESSENCE-AIR 2> <
FIND-ESSENCE ,ESSENCE-FIRE 3> <FIND-ESSENCE ,ESSENCE-EARTH 4> <PRINTI
" and reached inside. Nodding his head knowingly, he pulled five smaller
packets from the bag, and said, \"Magical
powders. Garlimon was quite resourceful to have salvaged these from
the carnage of his party. Perhaps it is the reason he has survived
this long.\" And then, examining the contents of each packet, he
continued. \"The four basic essences are here: air, earth, fire, and
water - of course, there's not much of any of them here. But this fifth powder...\"
His voice trailed off as he gazed intently at the blue-green powder"> <COND (,
PART-TWO <COND (<NOT <QSET? ,REAGENT ,SOLVED>> <FIXUP-PRAXIX-COMMANDS>)> <
PRINTI ". \"This must be the reagent that
Astrix told us about. How silly of me to have forgotten to examine
Garlimon's bag sooner!\"">) (T <COND (<EQUAL? ,HERE ,HIGH-PLAIN> <PRINTI
", then turned his eyes back toward the hermit's hut">)> <PRINTI
". \"I have never seen this
before. Ah, well! Perhaps Astrix will know it.\"">)> <PRINTI
" And with that, he placed
the powders among his own.">)>)>
<DEFINE-ROUTINE ANONF-16>
<OBJECT RED-ROCK (SDESC "red rock") (12DESC "red rock") (KBD 82) (FLAGS
DONT-DROP DONT-CAST) (EXBITS PRAXIXBIT) (ACTION <ACOND () (<EQUAL? ,ACTION ,
PICK-UP-COMMAND> <UPDATE-MOVE ,RED-ROCK ,INVENTORY> <COND (<FSET? ,RED-ROCK ,
DONT-EXAMINE> <PRINTI
"Praxix was very much more interested in the red rock than the
miner, though he did not say why. Just in case, I picked up a few
small rocks">) (T <PRINTI "The red rocks intrigued me, so I picked a few up">)>
<PRINTI " and placed them in my pack for safe keeping."> <FSET ,RED-ROCK ,
DONT-EXAMINE> <FSET ,RED-ROCK ,SOLVED>) (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <
UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> <WPRINTD ,ACTOR> <PRINTI
" reached down to pick up the red rock, but was interrupted by the
miner."> <CRLF> <CRLF> <PRINTI
"\"That, my friend, is what you might call junk rock,\" the miner said
with an unmistakable tension in his voice. \"Pretty enough, but not worth a
tinker's damn.\"">)>)>
<DEFINE-ROUTINE ANONF-17>
<OBJECT DWARF-STONE (SDESC "brown amulet") (8DESC "brn amlt") (KBD 66) (FLAGS
DONT-DROP) (STONE-NAME "Dwarf Stone") (ACTION <ACOND () (<EQUAL? ,ACTION ,
EXAMINE-COMMAND> <UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> <PRINTI
"The amulet was a golden brown stone that had been set in another,
darker stone, and hung at the end of a chain of gold.">)>)>
<DEFINE-ROUTINE ANONF-18>
<OBJECT ELF-STONE (SDESC "green amulet") (8DESC "grn amlt") (KBD 71) (FLAGS
DONT-DROP) (STONE-NAME "Elf Stone") (ACTION <ACOND () (<EQUAL? ,ACTION ,
EXAMINE-COMMAND> <UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> <PRINTI
"The stone in the amulet that N'dar had given us was a rich green, like that
of the forest itself, and hung on a single strand of some vine-like material
that was unfamiliar to me; certainly, no such thing grew back
in the plains.">)>)>
<DEFINE-ROUTINE ANONF-19>
<OBJECT WEBBA-MAP (LOC WEBBAS) (SDESC "map") (KBD 77) (FLAGS DONT-DROP) (EXBITS
PRAXIXBIT) (ACTION <ACOND ("AUX" TMP) (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <COND
(<EQUAL? ,HERE ,WEBBAS> <FSET ,WEBBA-MAP ,DONT-EXAMINE> <COND (<NOT <IN? ,
WEBBA-MAP ,INVENTORY>> <PRINTI
"Praxix expressed a keen interest in the map, and Webba obliged him by taking
the old parchment from the wall and, not letting it out of his grasp, holding
it up before the Wizard. ">)> <SINGLE-MOVE-GRAPHIC ,G-MAP> <PRINTI
"The map was old and worn, and of
a land unknown to us. Suddenly looking grave, Webba asked, \"So you're
going on... to the Outlands?\""> <OPTION ,ACTOR ,REPLY-COMMAND ,IGNORE-COMMAND>
) (T <UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> <COND (<NOT <FSET? ,WEBBA-MAP ,
ENCHANTED>> <PRINTI
"As we stood, unsure of which way to proceed, I was asked by "> <WPRINTD ,ACTOR
> <PRINTI " to
bring out the map we had bought at Webba's. Removing it from my pack,
I unfolded it and handed it to him."> <CRLF> <CRLF>)> <COND (<FSET? ,WEBBA-MAP
,INCAPACITATED> <UPDATE-REMOVE ,WEBBA-MAP> <PRINTI
"\"Why, this is terrible,\" he said, looking at the mud-soaked and hopelessly
damaged map. My fears in the mossy, underground maze had been realized, and
I tossed the map away in disgust."> <COND (<NOT <EQUAL? ,HERE ,ASTRIX-MAZE>> <
PRINTI " All we could do was hope the map wouldn't be needed.">)> <RTRUE>)> <
COND (<EQUAL? ,HERE ,SUNSET-TOWER> <PRINTI
"\"Yes,\" Praxix said, looking over the map. \"The paths on the map are
there, across the great river. They appear to lead to the tower of Astrix -
it is a good thing we bought the map after all!">) (<NOT <EQUAL? ,HERE ,
ASTRIX-MAZE>> <PRINTI
"His eyes darted from the map to our surroundings, and back again to the map.
Then, he slowly shook his head in the negative. \"The map indicates both a
river and mountain paths,\" he said. \"It would seem that the map refers to
someplace else.\" Discouraged, I took back the map and returned it to my pack."
> <RTRUE>)> <COND (<FSET? ,WEBBA-MAP ,DEAD> <UPDATE-FSET ,WEBBA-MAP ,
DONT-EXAMINE> <SINGLE-MOVE-GRAPHIC ,G-MAP> <PRINTI
"Once again, we examined the map carefully, but could discern no method by
which we could determine the correct path to Astrix' tower."> <CRLF> <CRLF> <
PRINTI "\"The map is of no use to us,\" Praxix said finally, and he was right."
> <RTRUE>)> <PRINTI
"\"Yes!\" he said, knowingly. \"There is the river we crossed with the
forest behind it, and the mountains - here - lie ahead of us.\""> <CRLF> <CRLF>
<COND (<FSET? ,WEBBA-MAP ,SOLVED> <FSET ,WEBBA-MAP ,BLUE-MIX> <PRINTI
"\"And these runes here, the ones which are glowing faintly,\" Praxix
began, \"These mark the path we are to take."> <COND (<NOT <EQUAL? ,
ASTRIX-MAZE-ROUTE 1>> <PRINTI
" Of course, we'll have to backtrack to the river first, but no matter.">)> <
PRINTI "\" "> <ARRIVE-AT-ASTRIX-TOWER>) (T <FSET ,WEBBA-MAP ,DEAD> <
SINGLE-MOVE-GRAPHIC ,G-MAP> <PRINTI
"\"But which path is the right one?\" I asked, pointing at the bewildering array
of marks which adorned each and every fork."> <CRLF> <CRLF> <PRINTI
"\"I'm afraid we cannot know,\" Praxix admitted. \"Perhaps they are
all good paths,\" he added, with little conviction.">)>)>) (<EQUAL? ,ACTION ,
BUY-COMMAND> <PRINTI
"Not knowing if it would ever be of use to us, we nevertheless decided
to buy the strange map."> <CRLF> <CRLF> <COND (<SET TMP <GETP ,HERE ,P?TEMP>> <
CLEAR-BUSY> <PRINTI "Just then, "> <WPRINTD .TMP> <PRINTI
", having concluded his survey of the shop, wandered back into
our midst and stared blankly at the parchment. "> <CHANGE-CIT .TMP 1 ,
NUL-COMMAND>)> <PRINTI "\"Rivers, forests, and mountains,\" "> <COND (.TMP <
PRINTI "he">) (T <PRINTI "Esher">)> <PRINTI
" said sourly, glancing at the map
as I stowed it away in my pack, \"Why, this place could be anywhere!\""> <CRLF>
<CRLF> <PRINTI "\"Yes,\" answered Praxix, \"and I fear that is precisely where we are headed.\""
> <UPDATE-MOVE ,WEBBA-MAP ,INVENTORY>)>)>
<DEFINE-ROUTINE ANONF-20>
<OBJECT ROPE (SDESC "rope") (KBD 82) (LOC INVENTORY) (FLAGS DONT-EXAMINE
DONT-DROP DONT-CAST)>
<OBJECT IRON-KEY (SDESC "key") (KBD 75) (FLAGS DONT-DROP) (ACTION <ACOND () (<
EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> <
COND (<EQUAL? ,ACTOR #ZLOCAL!-IZILCH STACK> <WPRINTD ,ACTOR> <PRINTI
" asked us to look over the key more closely. We did, reporting back into
the hole that it had no markings, and, given its enormous size, must have
been intended for a door of similar proportions.">) (T <WPRINTD ,ACTOR> <PRINTI
" took the key and looked it over. It was ludicrously large and without
markings; the door it was intended to open would presumably match it in
proportions.">)>)>)>
<DEFINE-ROUTINE ANONF-21>
<OBJECT SPIRIT-STONE (SDESC "white stone") (8DESC "wht stone") (KBD 87) (FLAGS
DONT-DROP) (ACTION <ACOND () (<OR <EQUAL? ,ACTION ,EXAMINE-COMMAND> <EQUAL? ,
ACTION ,PICK-UP-COMMAND>> <UPDATE-FSET ,SPIRIT-STONE ,DONT-EXAMINE> <
UPDATE-MOVE ,SPIRIT-STONE ,INVENTORY> <COND (<EQUAL? ,ACTION ,PICK-UP-COMMAND>
<PRINTI "I">) (T <WPRINTD ,ACTOR>)> <PRINTI
" took the white stone from around the neck of Cedrith and held it up
before him."> <CRLF> <CRLF> <PRINTI "\"It is weightless, or so it seems,\" "> <
COND (<EQUAL? ,ACTION ,PICK-UP-COMMAND> <PRINTI "I">) (T <PRINTI "he">)> <
PRINTI " said, suddenly filled with fear."> <COND (<NOT <EQUAL? ,PRAXIX ,ACTOR>
> <CRLF> <CRLF>) (T <PRINTI " ">)> <PRINTI "\"It is not of this world!\""> <
COND (<NOT <EQUAL? ,PRAXIX ,ACTOR>> <PRINTI
" Praxix responded, taking it in his hand.">)> <CRLF> <CRLF> <PRINTI
"\"If I heard Astrix correctly, this stone is one of the Two."> <COND (<FSET? ,
STORY-CEDRITH ,EXAMINED> <PRINTI
" Cedrith's prize,\" Praxix said, holding up the white stone.">) (T <PRINTI
"\"">)> <PRINTI " He handed it to me, and I placed it securely in my pack."> <
RTRUE>)>)>
<DEFINE-ROUTINE ANONF-22>
<OBJECT SIXTH-STONE (SDESC "black stone") (8DESC "blk stone") (KBD 66) (FLAGS
DONT-DROP) (ACTION <ACOND () (<EQUAL? ,ACTION ,EXAMINE-COMMAND> <UPDATE-FSET ,
ACTION-OBJECT ,DONT-EXAMINE> <PRINTI
"Praxix peered into the round, black stone, and as he did, its blackness grew deeper
and darker until Praxix was certain he had gone completely blind. He pressed his
eyes tightly closed and thrust the stone within his cloak; when he opened his eyes,
his vision had been restored.">)>)>
<DEFINE-ROUTINE ANONF-23>

278
objects.zap Normal file
View file

@ -0,0 +1,278 @@
.SEGMENT "0"
.FUNCT QSET?:ANY:2:2,OBJ,BIT
FSET? OBJ,BIT /TRUE
FSET OBJ,BIT
RFALSE
.FUNCT UPDATE-REMOVE:ANY:1:1,OBJ
CALL2 UPDATE-MOVE,OBJ
RSTACK
.FUNCT UPDATE-FSET:ANY:2:2,OBJ,BIT
SET 'UPDATE-FLAG,TRUE-VALUE
FSET OBJ,BIT
RTRUE
.FUNCT UPDATE-FCLEAR:ANY:2:2,OBJ,BIT
SET 'UPDATE-FLAG,TRUE-VALUE
FCLEAR OBJ,BIT
RTRUE
.FUNCT UPDATE-MOVE:ANY:0:2,OBJ,TO,L
ASSIGNED? 'OBJ /?CND1
SET 'OBJ,ACTION-OBJECT
?CND1: LOC OBJ >L
SET 'UPDATE-FLAG,TRUE-VALUE
ZERO? TO /?CCL5
MOVE OBJ,TO
RTRUE
?CCL5: REMOVE OBJ
RTRUE
.FUNCT ANONF-14:ANY:0:0
EQUAL? ACTION,DROP-COMMAND \?CCL3
CALL2 CHARACTER-HERE?,PRAXIX
ZERO? STACK /?CCL3
FSET SPYGLASS,TRIED
PRINTI "I don't know why, but I suddenly had the urge to lighten my pack at the expense of the spyglass that I had taken in the Dwarves' high tower. When Praxix saw what I was about to do, he urged me to keep it, saying it was a rare antiquity of great beauty and, perhaps, value."
RTRUE
?CCL3: EQUAL? ACTION,PICK-UP-COMMAND \FALSE
PRINTI "Although wiser minds than I had concluded that the spyglass was unfit for use, I was nonetheless taken by its beauty, and quietly placed it in my pack. I do not think the others noticed, or, if they did, they said nothing."
CALL UPDATE-MOVE,SPYGLASS,INVENTORY
RSTACK
.FUNCT ANONF-15:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \?CCL3
ICALL UPDATE-FSET,ACTION-OBJECT,DONT-EXAMINE
EQUAL? ACTOR,TAG \?CCL6
PRINTC 73
JUMP ?CND4
?CCL6: ICALL2 WPRINTD,ACTOR
?CND4: PRINTI " took a moment to admire the amulet. It was a small, golden orb, and in its center lay a clear stone whose color was like that of the deep oceans. Surrounding the stone were many hundreds of small, white diamonds, woven into an intricate pattern of great beauty."
RTRUE
?CCL3: EQUAL? ACTION,PICK-UP-COMMAND \?CCL8
FSET NYMPH-STONE,TRIED
ICALL UPDATE-MOVE,ACTION-OBJECT,INVENTORY
ICALL1 TREASURY-GRAPHIC
PRINTI "Unsure of the wisdom of my intentions, I nonetheless grasped the amulet and took it from atop its pedestal. To my surprise, no alarms rang and no guards charged into the chamber. I held firmly on to the amulet, and planned my escape."
RTRUE
?CCL8: EQUAL? ACTION,DROP-COMMAND \FALSE
PRINTI "Having done so much to obtain the amulet, it would have been foolish to put it down on the ground, so I resisted the temptation to do just that."
RTRUE
.FUNCT ANONF-16:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
EQUAL? ACTOR,TAG \?CCL6
PRINTI "I decided to check on the contents of the hermit's bag and found five smaller bags of powders, much like those used by Praxix. Presumably, Praxix would want to examine them himself."
JUMP ?CND4
?CCL6: EQUAL? ACTOR,PRAXIX /?CCL8
ICALL2 WPRINTD,ACTOR
PRINTI " looked in the bag, opened it, and sniffed its contents. ""Powders of some sort, I would guess,"" he said."
CRLF
CRLF
PRINTI "Praxix snatched the bag from "
ICALL2 WPRINTD,ACTOR
JUMP ?CND4
?CCL8: PRINTI "Praxix took the bag, opened it,"
?CND4: FSET HERMIT-POWDER,SEEN
ICALL2 UPDATE-MOVE,HERMIT-POWDER
ICALL FIND-ESSENCE,ESSENCE-WATER,3
ICALL FIND-ESSENCE,ESSENCE-AIR,2
ICALL FIND-ESSENCE,ESSENCE-FIRE,3
ICALL FIND-ESSENCE,ESSENCE-EARTH,4
PRINTI " and reached inside. Nodding his head knowingly, he pulled five smaller packets from the bag, and said, ""Magical powders. Garlimon was quite resourceful to have salvaged these from the carnage of his party. Perhaps it is the reason he has survived this long."" And then, examining the contents of each packet, he continued. ""The four basic essences are here: air, earth, fire, and water - of course, there's not much of any of them here. But this fifth powder..."" His voice trailed off as he gazed intently at the blue-green powder"
ZERO? PART-TWO /?CCL11
CALL QSET?,REAGENT,SOLVED
ZERO? STACK \?CND12
ICALL1 FIXUP-PRAXIX-COMMANDS
?CND12: PRINTI ". ""This must be the reagent that Astrix told us about. How silly of me to have forgotten to examine Garlimon's bag sooner!"""
JUMP ?CND9
?CCL11: EQUAL? HERE,HIGH-PLAIN \?CND14
PRINTI ", then turned his eyes back toward the hermit's hut"
?CND14: PRINTI ". ""I have never seen this before. Ah, well! Perhaps Astrix will know it."""
?CND9: PRINTI " And with that, he placed the powders among his own."
RTRUE
.FUNCT ANONF-17:ANY:0:0
EQUAL? ACTION,PICK-UP-COMMAND \?CCL3
ICALL UPDATE-MOVE,RED-ROCK,INVENTORY
FSET? RED-ROCK,DONT-EXAMINE \?CCL6
PRINTI "Praxix was very much more interested in the red rock than the miner, though he did not say why. Just in case, I picked up a few small rocks"
JUMP ?CND4
?CCL6: PRINTI "The red rocks intrigued me, so I picked a few up"
?CND4: PRINTI " and placed them in my pack for safe keeping."
FSET RED-ROCK,DONT-EXAMINE
FSET RED-ROCK,SOLVED
RTRUE
?CCL3: EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL UPDATE-FSET,ACTION-OBJECT,DONT-EXAMINE
ICALL2 WPRINTD,ACTOR
PRINTI " reached down to pick up the red rock, but was interrupted by the miner."
CRLF
CRLF
PRINTI """That, my friend, is what you might call junk rock,"" the miner said with an unmistakable tension in his voice. ""Pretty enough, but not worth a tinker's damn."""
RTRUE
.FUNCT ANONF-18:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL UPDATE-FSET,ACTION-OBJECT,DONT-EXAMINE
PRINTI "The amulet was a golden brown stone that had been set in another, darker stone, and hung at the end of a chain of gold."
RTRUE
.FUNCT ANONF-19:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL UPDATE-FSET,ACTION-OBJECT,DONT-EXAMINE
PRINTI "The stone in the amulet that N'dar had given us was a rich green, like that of the forest itself, and hung on a single strand of some vine-like material that was unfamiliar to me; certainly, no such thing grew back in the plains."
RTRUE
.FUNCT ANONF-20:ANY:0:0,TMP
EQUAL? ACTION,EXAMINE-COMMAND \?CCL3
EQUAL? HERE,WEBBAS \?CCL6
FSET WEBBA-MAP,DONT-EXAMINE
IN? WEBBA-MAP,INVENTORY /?CND7
PRINTI "Praxix expressed a keen interest in the map, and Webba obliged him by taking the old parchment from the wall and, not letting it out of his grasp, holding it up before the Wizard. "
?CND7: ICALL2 SINGLE-MOVE-GRAPHIC,G-MAP
PRINTI "The map was old and worn, and of a land unknown to us. Suddenly looking grave, Webba asked, ""So you're going on... to the Outlands?"""
CALL OPTION,ACTOR,REPLY-COMMAND,IGNORE-COMMAND
RSTACK
?CCL6: ICALL UPDATE-FSET,ACTION-OBJECT,DONT-EXAMINE
FSET? WEBBA-MAP,ENCHANTED /?CND9
PRINTI "As we stood, unsure of which way to proceed, I was asked by "
ICALL2 WPRINTD,ACTOR
PRINTI " to bring out the map we had bought at Webba's. Removing it from my pack, I unfolded it and handed it to him."
CRLF
CRLF
?CND9: FSET? WEBBA-MAP,INCAPACITATED \?CND11
ICALL2 UPDATE-REMOVE,WEBBA-MAP
PRINTI """Why, this is terrible,"" he said, looking at the mud-soaked and hopelessly damaged map. My fears in the mossy, underground maze had been realized, and I tossed the map away in disgust."
EQUAL? HERE,ASTRIX-MAZE /TRUE
PRINTI " All we could do was hope the map wouldn't be needed."
RTRUE
?CND11: EQUAL? HERE,SUNSET-TOWER \?CCL17
PRINTI """Yes,"" Praxix said, looking over the map. ""The paths on the map are there, across the great river. They appear to lead to the tower of Astrix - it is a good thing we bought the map after all!"
?CND15: FSET? WEBBA-MAP,DEAD \?CND19
ICALL UPDATE-FSET,WEBBA-MAP,DONT-EXAMINE
ICALL2 SINGLE-MOVE-GRAPHIC,G-MAP
PRINTI "Once again, we examined the map carefully, but could discern no method by which we could determine the correct path to Astrix' tower."
CRLF
CRLF
PRINTI """The map is of no use to us,"" Praxix said finally, and he was right."
RTRUE
?CCL17: EQUAL? HERE,ASTRIX-MAZE /?CND15
PRINTI "His eyes darted from the map to our surroundings, and back again to the map. Then, he slowly shook his head in the negative. ""The map indicates both a river and mountain paths,"" he said. ""It would seem that the map refers to someplace else."" Discouraged, I took back the map and returned it to my pack."
RTRUE
?CND19: PRINTI """Yes!"" he said, knowingly. ""There is the river we crossed with the forest behind it, and the mountains - here - lie ahead of us."""
CRLF
CRLF
FSET? WEBBA-MAP,SOLVED \?CCL23
FSET WEBBA-MAP,BLUE-MIX
PRINTI """And these runes here, the ones which are glowing faintly,"" Praxix began, ""These mark the path we are to take."
EQUAL? ASTRIX-MAZE-ROUTE,1 /?CND24
PRINTI " Of course, we'll have to backtrack to the river first, but no matter."
?CND24: PRINTI """ "
CALL1 ARRIVE-AT-ASTRIX-TOWER
RSTACK
?CCL23: FSET WEBBA-MAP,DEAD
ICALL2 SINGLE-MOVE-GRAPHIC,G-MAP
PRINTI """But which path is the right one?"" I asked, pointing at the bewildering array of marks which adorned each and every fork."
CRLF
CRLF
PRINTI """I'm afraid we cannot know,"" Praxix admitted. ""Perhaps they are all good paths,"" he added, with little conviction."
RTRUE
?CCL3: EQUAL? ACTION,BUY-COMMAND \FALSE
PRINTI "Not knowing if it would ever be of use to us, we nevertheless decided to buy the strange map."
CRLF
CRLF
GETP HERE,P?TEMP >TMP
ZERO? TMP /?CND28
ICALL1 CLEAR-BUSY
PRINTI "Just then, "
ICALL2 WPRINTD,TMP
PRINTI ", having concluded his survey of the shop, wandered back into our midst and stared blankly at the parchment. "
ICALL CHANGE-CIT,TMP,1,NUL-COMMAND
?CND28: PRINTI """Rivers, forests, and mountains,"" "
ZERO? TMP /?CCL32
PRINTI "he"
JUMP ?CND30
?CCL32: PRINTI "Esher"
?CND30: PRINTI " said sourly, glancing at the map as I stowed it away in my pack, ""Why, this place could be anywhere!"""
CRLF
CRLF
PRINTI """Yes,"" answered Praxix, ""and I fear that is precisely where we are headed."""
CALL UPDATE-MOVE,WEBBA-MAP,INVENTORY
RSTACK
.FUNCT ANONF-21:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL UPDATE-FSET,ACTION-OBJECT,DONT-EXAMINE
GETP HERE,P?TEMP
EQUAL? ACTOR,STACK \?CCL6
ICALL2 WPRINTD,ACTOR
PRINTI " asked us to look over the key more closely. We did, reporting back into the hole that it had no markings, and, given its enormous size, must have been intended for a door of similar proportions."
RTRUE
?CCL6: ICALL2 WPRINTD,ACTOR
PRINTI " took the key and looked it over. It was ludicrously large and without markings; the door it was intended to open would presumably match it in proportions."
RTRUE
.FUNCT ANONF-22:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND /?CCL3
EQUAL? ACTION,PICK-UP-COMMAND \FALSE
?CCL3: ICALL UPDATE-FSET,SPIRIT-STONE,DONT-EXAMINE
ICALL UPDATE-MOVE,SPIRIT-STONE,INVENTORY
EQUAL? ACTION,PICK-UP-COMMAND \?CCL8
PRINTC 73
JUMP ?CND6
?CCL8: ICALL2 WPRINTD,ACTOR
?CND6: PRINTI " took the white stone from around the neck of Cedrith and held it up before him."
CRLF
CRLF
PRINTI """It is weightless, or so it seems,"" "
EQUAL? ACTION,PICK-UP-COMMAND \?CCL11
PRINTC 73
JUMP ?CND9
?CCL11: PRINTI "he"
?CND9: PRINTI " said, suddenly filled with fear."
EQUAL? PRAXIX,ACTOR /?CCL14
CRLF
CRLF
JUMP ?CND12
?CCL14: PRINTC 32
?CND12: PRINTI """It is not of this world!"""
EQUAL? PRAXIX,ACTOR /?CND15
PRINTI " Praxix responded, taking it in his hand."
?CND15: CRLF
CRLF
PRINTI """If I heard Astrix correctly, this stone is one of the Two."
FSET? STORY-CEDRITH,EXAMINED \?CCL19
PRINTI " Cedrith's prize,"" Praxix said, holding up the white stone."
JUMP ?CND17
?CCL19: PRINTC 34
?CND17: PRINTI " He handed it to me, and I placed it securely in my pack."
RTRUE
.FUNCT ANONF-23:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL UPDATE-FSET,ACTION-OBJECT,DONT-EXAMINE
PRINTI "Praxix peered into the round, black stone, and as he did, its blackness grew deeper and darker until Praxix was certain he had gone completely blind. He pressed his eyes tightly closed and thrust the stone within his cloak; when he opened his eyes, his vision had been restored."
RTRUE
.ENDSEG
.ENDI

373
objects.zil Normal file
View file

@ -0,0 +1,373 @@
"OBJECTS for
JOURNEY
(c) Copyright 1988, 1989 Infocom, Inc. All Rights Reserved."
<BEGIN-SEGMENT 0>
<ROUTINE QSET? (OBJ BIT)
<COND (<FSET? .OBJ .BIT> T)
(T
<FSET .OBJ .BIT>
<RFALSE>)>>
<ROUTINE UPDATE-REMOVE (OBJ)
<UPDATE-MOVE .OBJ>>
<ROUTINE UPDATE-FSET (OBJ BIT)
<SETG UPDATE-FLAG T>
<FSET .OBJ .BIT>>
<ROUTINE UPDATE-FCLEAR (OBJ BIT)
<SETG UPDATE-FLAG T>
<FCLEAR .OBJ .BIT>>
<ROUTINE UPDATE-MOVE ("OPTIONAL" (OBJ ,ACTION-OBJECT) (TO <>) "AUX" (L <LOC .OBJ>))
<SETG UPDATE-FLAG T>
<COND (.TO <MOVE .OBJ .TO>)
(T
<REMOVE .OBJ>)>
<RTRUE>>
;"Moveable objects..."
<OBJECT SPYGLASS
(SDESC "spyglass")
(FLAGS DONT-EXAMINE DONT-DROP DONT-CAST)
(KBD %<ASCII !\S>)
(ACTION
<ACOND ()
(<AND <ACTION? DROP>
<CHARACTER-HERE? ,PRAXIX>>
<FSET ,SPYGLASS ,TRIED>
<TELL
"I don't know why, but I suddenly had the urge to lighten my pack at the expense
of the spyglass that I had taken in the Dwarves' high tower. When Praxix saw what
I was about to do, he urged me to keep it, saying it was a rare antiquity of great
beauty and, perhaps, value.">)
(PICK-UP
<TELL
"Although wiser minds than I had concluded that the spyglass was unfit
for use, I was nonetheless taken by its beauty, and quietly placed it in my
pack. I do not think the others noticed, or, if they did, they said
nothing.">
<UPDATE-MOVE ,SPYGLASS ,INVENTORY>)>)>
<OBJECT NYMPH-STONE
(SDESC "blue amulet")
(8DESC "bl amlt")
(LOC UL-TREASURY)
(KBD %<ASCII !\B>)
(FLAGS DONT-DROP)
(STONE-NAME "Nymph Stone")
(ACTION
<ACOND ()
(EXAMINE:CLEAR
<COND (<EQUAL? ,ACTOR ,TAG> <TELL "I">)
(T
<TELL ACT>)>
<TELL
" took a moment to admire the amulet. It was a small, golden orb, and in its
center lay a clear stone whose color was like that of the deep oceans. Surrounding
the stone were many hundreds of small, white diamonds, woven into an intricate
pattern of great beauty.">)
(PICK-UP
<FSET ,NYMPH-STONE ,TRIED>
<UPDATE-MOVE ,ACTION-OBJECT ,INVENTORY>
<TREASURY-GRAPHIC>
<TELL
"Unsure of the wisdom of my intentions, I nonetheless grasped the amulet and
took it from atop its pedestal. To my surprise, no alarms rang and no guards
charged into the chamber. I held firmly on to the amulet, and planned my
escape.">)
(DROP
<TELL
"Having done so much to obtain the amulet, it would have been foolish to put it
down on the ground, so I resisted the temptation to do just that.">)>)>
<OBJECT HERMIT-POWDER
(SDESC "bag")
(KBD %<ASCII !\B>)
(FLAGS DONT-DROP)
(ACTION
<ACOND ()
(EXAMINE
<COND (<EQUAL? ,ACTOR ,TAG>
<TELL
"I decided to check on the contents of the hermit's bag and found
five smaller bags of powders, much like those used by Praxix. Presumably,
Praxix would want to examine them himself.">)
(<NOT <EQUAL? ,ACTOR ,PRAXIX>>
<TELL ACT
" looked in the bag, opened it, and sniffed its contents.
\"Powders of some sort, I would guess,\" he said." CR CR>
<TELL
"Praxix snatched the bag from " ACT>)
(T
<TELL
"Praxix took the bag, opened it,">)>
<FSET ,HERMIT-POWDER ,SEEN>
<UPDATE-MOVE ,HERMIT-POWDER>
<FIND-ESSENCE ,ESSENCE-WATER 3>
<FIND-ESSENCE ,ESSENCE-AIR 2>
<FIND-ESSENCE ,ESSENCE-FIRE 3>
<FIND-ESSENCE ,ESSENCE-EARTH 4>
<TELL
" and reached inside. Nodding his head knowingly, he pulled five smaller
packets from the bag, and said, \"Magical
powders. Garlimon was quite resourceful to have salvaged these from
the carnage of his party. Perhaps it is the reason he has survived
this long.\" And then, examining the contents of each packet, he
continued. \"The four basic essences are here: air, earth, fire, and
water - of course, there's not much of any of them here. But this fifth powder...\"
His voice trailed off as he gazed intently at the blue-green powder">
<COND (,PART-TWO
<COND (<NOT <QSET? ,REAGENT ,SOLVED>>
<FIXUP-PRAXIX-COMMANDS>)>
<TELL ". \"This must be the reagent that
Astrix told us about. How silly of me to have forgotten to examine
Garlimon's bag sooner!\"">)
(T
<COND (<EQUAL? ,HERE ,HIGH-PLAIN>
<TELL
", then turned his eyes back toward the hermit's hut">)>
<TELL ". \"I have never seen this
before. Ah, well! Perhaps Astrix will know it.\"">)>
<TELL " And with that, he placed
the powders among his own.">)>)>
<OBJECT RED-ROCK
(SDESC "red rock" ;"Was 'bit of red rock'")
(12DESC "red rock")
(KBD %<ASCII !\R>)
(FLAGS DONT-DROP DONT-CAST)
(EXBITS PRAXIXBIT)
(ACTION
<ACOND ()
(PICK-UP
<UPDATE-MOVE ,RED-ROCK ,INVENTORY>
<COND (<FSET? ,RED-ROCK ,DONT-EXAMINE>
<TELL
"Praxix was very much more interested in the red rock than the
miner, though he did not say why. Just in case, I picked up a few
small rocks">)
(T
<TELL
"The red rocks intrigued me, so I picked a few up">)>
<TELL " and placed them in my pack for safe keeping.">
<FSET ,RED-ROCK ,DONT-EXAMINE>
<FSET ,RED-ROCK ,SOLVED>)
(EXAMINE:CLEAR
<TELL ACT
" reached down to pick up the red rock, but was interrupted by the
miner." CR CR>
<TELL
"\"That, my friend, is what you might call junk rock,\" the miner said
with an unmistakable tension in his voice. \"Pretty enough, but not worth a
tinker's damn.\"">)>)>
<OBJECT DWARF-STONE
(SDESC "brown amulet")
(8DESC "brn amlt")
(KBD %<ASCII !\B>)
(FLAGS DONT-DROP)
(STONE-NAME "Dwarf Stone")
(ACTION
<ACOND ()
(EXAMINE:CLEAR
<TELL
"The amulet was a golden brown stone that had been set in another,
darker stone, and hung at the end of a chain of gold.">)>)>
<OBJECT ELF-STONE
(SDESC "green amulet")
(8DESC "grn amlt")
(KBD %<ASCII !\G>)
(FLAGS DONT-DROP)
(STONE-NAME "Elf Stone")
(ACTION
<ACOND ()
(EXAMINE:CLEAR
<TELL
"The stone in the amulet that N'dar had given us was a rich green, like that
of the forest itself, and hung on a single strand of some vine-like material
that was unfamiliar to me; certainly, no such thing grew back
in the plains.">)>)>
<OBJECT WEBBA-MAP
(LOC WEBBAS)
(SDESC "map")
(KBD %<ASCII !\M>)
(FLAGS DONT-DROP)
(EXBITS PRAXIXBIT)
(ACTION
<ACOND ("AUX" TMP)
(EXAMINE
<COND (<EQUAL? ,HERE ,WEBBAS>
<FSET ,WEBBA-MAP ,DONT-EXAMINE>
<COND (<NOT <IN? ,WEBBA-MAP ,INVENTORY>>
<TELL
"Praxix expressed a keen interest in the map, and Webba obliged him by taking
the old parchment from the wall and, not letting it out of his grasp, holding
it up before the Wizard. ">)>
<SINGLE-MOVE-GRAPHIC ,G-MAP>
<TELL "The map was old and worn, and of
a land unknown to us. Suddenly looking grave, Webba asked, \"So you're
going on... to the Outlands?\"">
<OPTION ,ACTOR ,REPLY-COMMAND ,IGNORE-COMMAND>)
(T
<UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE>
<COND (<NOT <FSET? ,WEBBA-MAP ,ENCHANTED>>
<TELL
"As we stood, unsure of which way to proceed, I was asked by " ACT " to
bring out the map we had bought at Webba's. Removing it from my pack,
I unfolded it and handed it to him." CR CR>)>
<COND (<FSET? ,WEBBA-MAP ,INCAPACITATED>
<UPDATE-REMOVE ,WEBBA-MAP>
<TELL
"\"Why, this is terrible,\" he said, looking at the mud-soaked and hopelessly
damaged map. My fears in the mossy, underground maze had been realized, and
I tossed the map away in disgust.">
<COND (<NOT <EQUAL? ,HERE ,ASTRIX-MAZE>>
<TELL
" All we could do was hope the map wouldn't be needed.">)>
<RTRUE>)>
<COND (<EQUAL? ,HERE ,SUNSET-TOWER>
<TELL
"\"Yes,\" Praxix said, looking over the map. \"The paths on the map are
there, across the great river. They appear to lead to the tower of Astrix -
it is a good thing we bought the map after all!">)
(<NOT <EQUAL? ,HERE ,ASTRIX-MAZE>>
<TELL
"His eyes darted from the map to our surroundings, and back again to the map.
Then, he slowly shook his head in the negative. \"The map indicates both a
river and mountain paths,\" he said. \"It would seem that the map refers to
someplace else.\" Discouraged, I took back the map and returned it to my pack.">
<RTRUE>)>
<COND (<FSET? ,WEBBA-MAP ,DEAD>
<UPDATE-FSET ,WEBBA-MAP ,DONT-EXAMINE>
<SINGLE-MOVE-GRAPHIC ,G-MAP>
<TELL
"Once again, we examined the map carefully, but could discern no method by
which we could determine the correct path to Astrix' tower." CR CR>
<TELL
"\"The map is of no use to us,\" Praxix said finally, and he was right.">
<RTRUE>)>
<TELL
"\"Yes!\" he said, knowingly. \"There is the river we crossed with the
forest behind it, and the mountains - here - lie ahead of us.\"" CR CR>
<COND (<FSET? ,WEBBA-MAP ,SOLVED>
<FSET ,WEBBA-MAP ,BLUE-MIX>
<TELL
"\"And these runes here, the ones which are glowing faintly,\" Praxix
began, \"These mark the path we are to take.">
<COND (<NOT <EQUAL? ,ASTRIX-MAZE-ROUTE 1>>
<TELL
" Of course, we'll have to backtrack to the river first, but no matter.">)>
<TELL "\" ">
<ARRIVE-AT-ASTRIX-TOWER>)
(T
<FSET ,WEBBA-MAP ,DEAD>
<SINGLE-MOVE-GRAPHIC ,G-MAP>
<TELL
"\"But which path is the right one?\" I asked, pointing at the bewildering array
of marks which adorned each and every fork." CR CR>
<TELL
"\"I'm afraid we cannot know,\" Praxix admitted. \"Perhaps they are
all good paths,\" he added, with little conviction.">)>)>)
(BUY
<TELL
"Not knowing if it would ever be of use to us, we nevertheless decided
to buy the strange map." CR CR>
<COND (<SET TMP <GET-TEMP>>
<CLEAR-BUSY>
<TELL
"Just then, " D .TMP ", having concluded his survey of the shop, wandered back into
our midst and stared blankly at the parchment. ">
<CHANGE-CIT .TMP 1 ,NUL-COMMAND>)>
<TELL
"\"Rivers, forests, and mountains,\" ">
<COND (.TMP
<TELL "he">)
(T
<TELL "Esher">)>
<TELL " said sourly, glancing at the map
as I stowed it away in my pack, \"Why, this place could be anywhere!\"" CR CR>
<TELL
"\"Yes,\" answered Praxix, \"and I fear that is precisely where we are headed.\"">
<UPDATE-MOVE ,WEBBA-MAP ,INVENTORY>)>)>
<OBJECT ROPE
(SDESC "rope")
(KBD %<ASCII !\R>)
(LOC INVENTORY)
(FLAGS DONT-EXAMINE DONT-DROP DONT-CAST)>
<OBJECT IRON-KEY
(SDESC "key")
(KBD %<ASCII !\K>)
(FLAGS DONT-DROP)
(ACTION
<ACOND ()
(EXAMINE:CLEAR
<COND (<EQUAL? ,ACTOR <GET-TEMP>>
<TELL ACT
" asked us to look over the key more closely. We did, reporting back into
the hole that it had no markings, and, given its enormous size, must have
been intended for a door of similar proportions.">)
(T
<TELL ACT
" took the key and looked it over. It was ludicrously large and without
markings; the door it was intended to open would presumably match it in
proportions.">)>)>)>
<OBJECT SPIRIT-STONE
(SDESC "white stone")
(8DESC "wht stone")
(KBD %<ASCII !\W>)
(FLAGS DONT-DROP)
(ACTION
<ACOND ()
(<OR <ACTION? EXAMINE> <ACTION? PICK-UP>>
<UPDATE-FSET ,SPIRIT-STONE ,DONT-EXAMINE>
<UPDATE-MOVE ,SPIRIT-STONE ,INVENTORY>
;<GRAPHIC ,G-VAULT ,G-COFFIN ,BOTTOM-LEFT>
<COND (<ACTION? PICK-UP> <TELL "I">)
(T <TELL ACT>)>
<TELL
" took the white stone from around the neck of Cedrith and held it up
before him." CR CR>
<TELL
"\"It is weightless, or so it seems,\" ">
<COND (<ACTION? PICK-UP> <TELL "I">)
(T <TELL "he">)>
<TELL " said, suddenly filled with fear.">
<COND (<NOT <EQUAL? ,PRAXIX ,ACTOR>>
<TELL CR CR>)
(T <TELL " ">)>
<TELL "\"It is not of this world!\"">
<COND (<NOT <EQUAL? ,PRAXIX ,ACTOR>>
<TELL " Praxix responded, taking it in his hand.">)>
<TELL CR CR
"\"If I heard Astrix correctly, this stone is one of the Two.">
<COND (<FSET? ,STORY-CEDRITH ,EXAMINED>
<TELL
" Cedrith's prize,\" Praxix said, holding up the white stone.">)
(T
<TELL "\"">)>
<TELL
" He handed it to me, and I placed it securely in my pack.">
<RTRUE>)>)>
<OBJECT SIXTH-STONE
(SDESC "black stone")
(8DESC "blk stone")
(KBD %<ASCII !\B>)
(FLAGS DONT-DROP)
(ACTION
<ACOND ()
(EXAMINE:CLEAR
<TELL
"Praxix peered into the round, black stone, and as he did, its blackness grew deeper
and darker until Praxix was certain he had gone completely blind. He pressed his
eyes tightly closed and thrust the stone within his cloak; when he opened his eyes,
his vision had been restored.">)>)>

BIN
ojourney.seg Normal file

Binary file not shown.

BIN
ojourney.zip Normal file

Binary file not shown.

83
output.zabstr Normal file
View file

@ -0,0 +1,83 @@
<BEGIN-SEGMENT 0>
<SETG ANONF-COUNT 0>
<DEFINE ACOND ("ARGS" LST "AUX" ATM) <SET ATM <PARSE <STRING "ANONF-" <UNPARSE
<SETG ANONF-COUNT <+ ,ANONF-COUNT 1>>>>>> <COND (<TYPE? <1 .LST> ATOM> <SET ATM
<1 .LST>> <SET LST <REST .LST>>)> <MAPF <> <FUNCTION (X "AUX" (XX <1 .X>)) <
COND (<==? .XX T> T) (<TYPE? .XX ATOM> <PUT .X 1 <FORM ACTION? .XX>>) (<TYPE? .
XX ADECL> <PUT .X 1 <FORM ACTION? <1 .XX>>> <COND (<==? <2 .XX> CLEAR> <PUTREST
.X ('<UPDATE-FSET ,ACTION-OBJECT ,DONT-EXAMINE> !<REST .X!>)>) (<==? <2 .XX>
REMOVE> <COND (<==? <1 .XX> EXAMINE> <PUTREST .X ('<UPDATE-MOVE> !<REST .X!>)>)
(<==? <1 .XX> GET-ADVICE> <PUTREST .X ('<UPDATE-FCLEAR ,HERE ,ADVISE> !<REST .X
!>)>) (<OR <==? <1 .XX> SCOUT> <==? <1 .XX> LOOK-AROUND>> <PUTREST .X ('<
UPDATE-FSET ,HERE ,DONT-SCOUT> '<FSET ,HERE ,SCOUTED> !<REST .X!>)>) (T <
PUTREST .X ('<REMOVE-TRAVEL-COMMAND> !<REST .X!>)>)>) (T <ERROR
BAD-ACOND!-ERRORS>)>)>> <REST .LST>> <EVAL <FORM ROUTINE .ATM <1 .LST> <FORM
COND !<REST .LST!>>>> .ATM>
<DEFINE EXECUTE ("ARGS" LST "AUX" ATM) <SET ATM <PARSE <STRING "ANONF-" <
UNPARSE <SETG ANONF-COUNT <+ ,ANONF-COUNT 1>>>>>> <COND (<TYPE? <1 .LST> FORM>
<SET LST ('() !.LST)>)> <EVAL <FORM ROUTINE .ATM !.LST>> .ATM>
<CONSTANT GRAPHICS-WINDOW 3>
<CONSTANT COMMAND-WINDOW 1>
<CONSTANT TEXT-WINDOW 0>
<CONSTANT S-TEXT 0>
<CONSTANT S-WINDOW 1>
<CONSTANT S-BEEP 1>
<CONSTANT S-BOOP 2>
<CONSTANT H-NORMAL 0>
<CONSTANT H-INVERSE 1>
<GLOBAL H-BOLD 2>
<CONSTANT D-TABLE-ON 3>
<CONSTANT D-TABLE-OFF -3>
<GLOBAL CHRH 0>
<GLOBAL CHRV 0>
<DEFINE-ROUTINE CHANGE-FONT>
<DEFINE-ROUTINE GPOS>
<DEFINE-ROUTINE MAKE-WINDOW>
<DEFINE-ROUTINE GCURSET>
<TELL-TOKENS (CRLF CR) <CRLF> (NUM N) * <PRINTN .X> C * <PRINTC .X> S *:STRING
<PRINT .X> D * <WPRINTD .X> TAG <WPRINTTAG> CHR * <WPRINTCHR .X> AO <WPRINTD ,
ACTION-OBJECT> ACT <WPRINTD ,ACTOR> AOP <WPRINTD-OBJECT-PERIOD> MORE <INPUT 1>
CLEAR <CLEAR ,TEXT-WINDOW>>
<DEFINE-ROUTINE WPRINTCHR>
<DEFINE-ROUTINE PICK-ONE>
<CONSTANT INF 32000>
<OBJECT WINDOWS-UNUSED (DESC "arc") (FLAGS BUSY SEEN LIT ENCHANTED SCOUTED
SUBGROUP SINGLE-CAST EXAMINED TRAPPED INCAPACITATED DEAD SOLVED DONT-TAKE TRIED
DONT-CAST DONT-SCOUT DONT-EXAMINE BLUE-MIX GRAY-MIX TRUTHFUL INVENTORIED
BLACK-MIX NEVER-DROP USED-UP SHADOW) (CAST-LIMIT INF)>
<GLOBAL TEXT-WINDOW-LEFT 0>
<GLOBAL BASE-PICTURE-HEIGHT 0>
<GLOBAL BASE-PICTURE-WIDTH 0>
<GLOBAL PICINF-TBL <TABLE 0 0>>
<DEFINE-ROUTINE SETUP-WINDOWS>
<DEFINE-ROUTINE WPRINTTAG>
<DEFINE-ROUTINE WPRINTD>
<GLOBAL WPRINT-EBUF <TABLE (BYTE) 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32 32 32 32 32 32>>
<CONSTANT CENTER-TABLE <ITABLE 20>>
<DEFINE-ROUTINE WCENTER>
<GLOBAL CURRENT-GRAPHIC <>>
<DEFINE-ROUTINE GRAPHIC-STAMP>
<GLOBAL CURRENT-STAMP <>>
<GLOBAL CURRENT-STAMP-LOC <>>
<DEFINE-ROUTINE GRAPHIC>
<GLOBAL CURRENT-SCREEN 0>
<DEFINE-ROUTINE SELECT-SCREEN>
<DEFINE-ROUTINE I/WE>
<DEFINE-ROUTINE I-WAS/WE-WERE>
<DEFINE-ROUTINE I/EACH>
<DEFINE-ROUTINE MY/OUR>
<DEFINE-ROUTINE ME/US>
<DEFINE-ROUTINE PRINT-DESC>
<DEFINE-ROUTINE GET-DESC>
<DEFINE-ROUTINE PRINT-COMMAND>
<DEFINE-ROUTINE GET-COMMAND>
<DEFINE-ROUTINE SINGLE-MOVE-GRAPHIC>
<GLOBAL SAVED-GRAPHIC 0>
<GLOBAL SAVED-GRAPHIC-ROOM 0>
<OBJECT I-CLEAR-SINGLE-MOVE-GRAPHIC (TIME 0) (ACTION <EXECUTE () <COND (<EQUAL?
,HERE ,SAVED-GRAPHIC-ROOM> <GRAPHIC ,SAVED-GRAPHIC>)>>)>
<DEFINE-ROUTINE ANONF-1>

366
output.zap Normal file
View file

@ -0,0 +1,366 @@
.SEGMENT "0"
.FUNCT CHANGE-FONT:ANY:1:1,F
EQUAL? F,3 \?CCL3
ZERO? FONT3-FLAG /?CCL6
FONT 3
RSTACK
?CCL6: FONT 1
RSTACK
?CCL3: EQUAL? F,4 \FALSE
ZERO? FWC-FLAG /?CCL11
FONT 4
RSTACK
?CCL11: FONT 1
RSTACK
.FUNCT GPOS:ANY:2:2,C,F
EQUAL? F,1 \?CCL3
RETURN C
?CCL3: SUB C,1
MUL STACK,F
ADD STACK,1
RSTACK
.FUNCT MAKE-WINDOW:ANY:5:6,N,YL,XL,YS,XS,B,?TMP1
ASSIGNED? 'B /?CND1
SET 'B,15
?CND1: CALL GPOS,YL,CHRV >?TMP1
CALL GPOS,XL,CHRH
WINPOS N,?TMP1,STACK
MUL YS,CHRV >?TMP1
MUL XS,CHRH
WINSIZE N,?TMP1,STACK
WINATTR N,B
RETURN N
.FUNCT GCURSET:ANY:2:2,YL,XL,?TMP1
ZERO? CURRENT-SCREEN \?CND1
ICALL2 SELECT-SCREEN,COMMAND-WINDOW
?CND1: CALL GPOS,YL,CHRV >?TMP1
CALL GPOS,XL,CHRH
CURSET ?TMP1,STACK
RTRUE
.FUNCT WPRINTCHR:ANY:1:1,CHR
FSET? CHR,IN-PARTY \?CCL3
CALL2 WPRINTD,CHR
RSTACK
?CCL3: PRINTI "[Error: "
ICALL2 WPRINTD,CHR
PRINTC 93
RTRUE
.FUNCT PICK-ONE:ANY:1:1,TBL,LENGTH,CNT,RND,MSG,RFROB
GET TBL,0 >LENGTH
GET TBL,1 >CNT
DEC 'LENGTH
ADD TBL,2 >TBL
MUL CNT,2
ADD TBL,STACK >RFROB
SUB LENGTH,CNT
RANDOM STACK >RND
GET RFROB,RND >MSG
GET RFROB,1
PUT RFROB,RND,STACK
PUT RFROB,1,MSG
INC 'CNT
EQUAL? CNT,LENGTH \?CND1
SET 'CNT,0
?CND1: PUT TBL,0,CNT
RETURN MSG
.FUNCT SETUP-WINDOWS:ANY:0:0,PW,PH,OFF,GOOD?,?TMP1
SET 'PW,BASE-PICTURE-WIDTH
SET 'PH,BASE-PICTURE-HEIGHT
SET 'OFF,6
CALL1 APPLE2?
ZERO? STACK /?CTR2
ZERO? BASE-PICTURE-HEIGHT \?CCL3
?CTR2: PICINF 2,PICINF-TBL /?PRD8
PUSH 0
JUMP ?PRD9
?PRD8: PUSH 1
?PRD9: SET 'GOOD?,STACK
ZERO? GOOD? /?CND1
GET PICINF-TBL,0 >PH
GET PICINF-TBL,1 >PW
SET 'BASE-PICTURE-WIDTH,PW
SET 'BASE-PICTURE-HEIGHT,PH
JUMP ?CND1
?CCL3: SET 'GOOD?,TRUE-VALUE
?CND1: ZERO? GOOD? /?CCL12
CALL1 APPLE2?
ZERO? STACK \?CTR14
EQUAL? INTERPRETER,INT-PC \?CCL15
?CTR14: SET 'OFF,3
JUMP ?CND13
?CCL15: ZERO? BORDER-FLAG \?CND13
SET 'OFF,5
?CND13: ADD PW,CHRH
DIV STACK,CHRH
ADD OFF,STACK >TEXT-WINDOW-LEFT
JUMP ?CND10
?CCL12: SET 'TEXT-WINDOW-LEFT,INIT-TEXT-LEFT
?CND10: SUB COMMAND-START-LINE,TOP-SCREEN-LINE
SUB STACK,1 >?TMP1
SUB SCREEN-WIDTH,TEXT-WINDOW-LEFT
ICALL MAKE-WINDOW,TEXT-WINDOW,TOP-SCREEN-LINE,TEXT-WINDOW-LEFT,?TMP1,STACK
EQUAL? INTERPRETER,INT-PC \?CND19
MARGIN 4,0,TEXT-WINDOW
?CND19: ZERO? BORDER-FLAG /?CCL23
SUB COMMAND-START-LINE,3
MUL STACK,CHRV >GRAPHIC-WINDOW-Y
SUB TEXT-WINDOW-LEFT,3
MUL STACK,CHRH >GRAPHIC-WINDOW-X
JUMP ?CND21
?CCL23: SUB COMMAND-START-LINE,2
MUL STACK,CHRV >GRAPHIC-WINDOW-Y
SUB TEXT-WINDOW-LEFT,2
MUL STACK,CHRH >GRAPHIC-WINDOW-X
?CND21: ZERO? BORDER-FLAG /?CCL26
SUB COMMAND-START-LINE,3 >?TMP1
SUB TEXT-WINDOW-LEFT,3
ICALL MAKE-WINDOW,GRAPHICS-WINDOW,TOP-SCREEN-LINE,TOP-SCREEN-LINE,?TMP1,STACK,11
JUMP ?CND24
?CCL26: SUB COMMAND-START-LINE,2 >?TMP1
SUB TEXT-WINDOW-LEFT,2
ICALL MAKE-WINDOW,GRAPHICS-WINDOW,TOP-SCREEN-LINE,TOP-SCREEN-LINE,?TMP1,STACK,11
?CND24: ZERO? BLACK-PICTURE-BORDER /FALSE
SCREEN GRAPHICS-WINDOW
COLOR 9,2
CLEAR GRAPHICS-WINDOW
RTRUE
.FUNCT WPRINTTAG:ANY:0:0
GRTR? TAG-NAME-LENGTH,0 \?CCL3
ADD NAME-TBL,2
PRINTT STACK,TAG-NAME-LENGTH
RTRUE
?CCL3: CALL2 PRINT-DESC,TAG
RSTACK
.FUNCT WPRINTD:ANY:1:2,OBJ,A
CALL2 PRINT-DESC,OBJ
RSTACK
.FUNCT WCENTER:ANY:1:1,STR,WID,SWID
CALL2 TEXT-WIDTH,STR >WID
SUB SCREEN-WIDTH,TEXT-WINDOW-LEFT
MUL STACK,CHRH >SWID
LESS? WID,SWID \?CCL3
SUB SWID,WID
DIV STACK,2
ADD 1,STACK >SWID
JUMP ?CND1
?CCL3: SET 'SWID,1
?CND1: CURGET CURGET-TABLE
GET CURGET-TABLE,0
CURSET STACK,SWID
GET CENTER-TABLE,0
PRINTT CENTER-TABLE+2,STACK
RTRUE
.FUNCT GRAPHIC-STAMP:ANY:2:4,PIC,WHERE,V,H,CURH,CURW,TOP,LEFT,NEWH,NEWW
GET PICINF-TBL,0 >CURH
GET PICINF-TBL,1 >CURW
SUB GRAPHIC-WINDOW-Y,CURH
DIV STACK,2
ADD STACK,1 >TOP
SUB GRAPHIC-WINDOW-X,CURW
DIV STACK,2
ADD STACK,1 >LEFT
ZERO? WHERE \?CCL3
ASSIGNED? 'V \?CCL3
ASSIGNED? 'H \?CCL3
ADD TOP,V >TOP
ADD LEFT,H >LEFT
JUMP ?CND1
?CCL3: GRTR? WHERE,0 \?CCL8
PICINF WHERE,PICINF-TBL /?BOGUS9
?BOGUS9: GET PICINF-TBL,1
ADD STACK,LEFT >LEFT
GET PICINF-TBL,0
ADD STACK,TOP >TOP
JUMP ?CND1
?CCL8: PICINF PIC,PICINF-TBL /?BOGUS10
?BOGUS10: GET PICINF-TBL,0 >NEWH
GET PICINF-TBL,1 >NEWW
BAND WHERE,STAMP-RIGHT
ZERO? STACK /?CND11
SUB CURW,NEWW
ADD LEFT,STACK >LEFT
?CND11: BAND WHERE,STAMP-BOTTOM
ZERO? STACK /?CND1
SUB CURH,NEWH
ADD TOP,STACK >TOP
?CND1: DISPLAY PIC,TOP,LEFT
RTRUE
.FUNCT GRAPHIC:ANY:0:3,STR,STAMP,WHERE,?TMP1
ZERO? GRAPHICS-FLAG /TRUE
EQUAL? STR,CURRENT-GRAPHIC /TRUE
ZERO? STR \?CCL7
ZERO? STAMP \?CCL7
SET 'STR,CURRENT-GRAPHIC
EQUAL? STR,-1 \?CCL12
ICALL1 CAVERN-GRAPHIC
JUMP ?CND5
?CCL12: SET 'STAMP,CURRENT-STAMP
SET 'WHERE,CURRENT-STAMP-LOC
JUMP ?CND5
?CCL7: ZERO? STR /?CND5
SET 'CURRENT-GRAPHIC,STR
?CND5: SCREEN GRAPHICS-WINDOW
ZERO? STR /?CND14
CLEAR GRAPHICS-WINDOW
?CND14: ZERO? STR /?CND16
EQUAL? STR,-1 /?CND16
GRTR? STR,0 \?CCL22
LESS? STR,255 \?CCL22
PICINF STR,PICINF-TBL \?CND16
GET PICINF-TBL,0
SUB GRAPHIC-WINDOW-Y,STACK
DIV STACK,2
ADD STACK,1 >?TMP1
GET PICINF-TBL,1
SUB GRAPHIC-WINDOW-X,STACK
DIV STACK,2
ADD STACK,1
DISPLAY STR,?TMP1,STACK
JUMP ?CND16
?CCL22: PRINT STR
?CND16: ZERO? STAMP /?CCL29
SET 'CURRENT-STAMP,STAMP
SET 'CURRENT-STAMP-LOC,WHERE
GRTR? STAMP,255 \?CCL32
PRINT STAMP
JUMP ?CND27
?CCL32: PICINF CURRENT-GRAPHIC,PICINF-TBL \?CND27
ICALL GRAPHIC-STAMP,STAMP,WHERE
JUMP ?CND27
?CCL29: SET 'CURRENT-STAMP,FALSE-VALUE
?CND27: SCREEN TEXT-WINDOW
RTRUE
.FUNCT SELECT-SCREEN:ANY:1:1,N
SCREEN N
SET 'CURRENT-SCREEN,N
RETURN CURRENT-SCREEN
.FUNCT I/WE:ANY:0:2,N,CAPS?
ASSIGNED? 'N /?CND1
SET 'N,1
?CND1: GRTR? PARTY-MAX,N \?CCL5
ZERO? CAPS? /?CCL8
RETURN STR?1
?CCL8: RETURN STR?2
?CCL5: RETURN STR?3
.FUNCT I-WAS/WE-WERE:ANY:0:1,N
ASSIGNED? 'N /?CND1
SET 'N,1
?CND1: GRTR? PARTY-MAX,N \?CCL5
RETURN STR?4
?CCL5: RETURN STR?5
.FUNCT I/EACH:ANY:0:1,N
ASSIGNED? 'N /?CND1
SET 'N,1
?CND1: GRTR? PARTY-MAX,N \?CCL5
RETURN STR?6
?CCL5: RETURN STR?3
.FUNCT MY/OUR:ANY:0:1,N
ASSIGNED? 'N /?CND1
SET 'N,1
?CND1: GRTR? PARTY-MAX,N \?CCL5
RETURN STR?7
?CCL5: RETURN STR?8
.FUNCT ME/US:ANY:0:1,N
ASSIGNED? 'N /?CND1
SET 'N,1
?CND1: GRTR? PARTY-MAX,N \?CCL5
RETURN STR?9
?CCL5: RETURN STR?10
.FUNCT PRINT-DESC:ANY:1:2,OBJ,CMD?
EQUAL? OBJ,TAG-OBJECT,TAG \?CCL3
ZERO? TAG-NAME-LENGTH /?CCL3
ADD NAME-TBL,2
PRINTT STACK,TAG-NAME-LENGTH
RTRUE
?CCL3: ZERO? CMD? \?CCL7
GETP OBJ,P?SDESC
PRINT STACK
RTRUE
?CCL7: CALL2 GET-DESC,OBJ
PRINT STACK
RTRUE
.FUNCT GET-DESC:ANY:1:1,OBJ,STR
LESS? SCREEN-WIDTH,8-WIDTH \?CCL3
GETP OBJ,P?8DESC >STR
ZERO? STR /?CCL3
RETURN STR
?CCL3: LESS? SCREEN-WIDTH,12-WIDTH \?CCL7
GETP OBJ,P?12DESC >STR
ZERO? STR /?CCL7
RETURN STR
?CCL7: GETP OBJ,P?SDESC
RSTACK
.FUNCT PRINT-COMMAND:ANY:1:1,CMD
CALL2 GET-COMMAND,CMD
PRINT STACK
RTRUE
.FUNCT GET-COMMAND:ANY:1:1,CMD,STR
LESS? COMMAND-WIDTH,12 \?CCL3
GET CMD,COMMAND-ASTR >STR
ZERO? STR /?CCL3
RETURN STR
?CCL3: GET CMD,COMMAND-FULL
RSTACK
.FUNCT SINGLE-MOVE-GRAPHIC:ANY:1:1,G
SET 'SAVED-GRAPHIC,CURRENT-GRAPHIC
SET 'SAVED-GRAPHIC-ROOM,HERE
ICALL2 GRAPHIC,G
CALL QUEUE,I-CLEAR-SINGLE-MOVE-GRAPHIC,1
RSTACK
.FUNCT ANONF-1:ANY:0:0
EQUAL? HERE,SAVED-GRAPHIC-ROOM \FALSE
CALL2 GRAPHIC,SAVED-GRAPHIC
RSTACK
.ENDSEG
.ENDI

429
output.zil Normal file
View file

@ -0,0 +1,429 @@
"OUTPUT for
JOURNEY
(c) Copyright 1988, 1989 Infocom, Inc. All Rights Reserved."
<BEGIN-SEGMENT 0>
<SETG ANONF-COUNT 0>
<DEFINE ACOND ("ARGS" LST "AUX" ATM)
<SET ATM <PARSE <STRING "ANONF-"
<UNPARSE <SETG ANONF-COUNT
<+ ,ANONF-COUNT 1>>>>>>
<COND (<TYPE? <1 .LST> ATOM>
<SET ATM <1 .LST>>
<SET LST <REST .LST>>)>
<MAPF <>
<FUNCTION (X "AUX" (XX <1 .X>))
<COND (<==? .XX T> T)
(<TYPE? .XX ATOM>
<PUT .X 1 <FORM ACTION? .XX>>)
(<TYPE? .XX ADECL>
<PUT .X 1 <FORM ACTION? <1 .XX>>>
<COND (<==? <2 .XX> CLEAR>
<PUTREST .X
('<UPDATE-FSET ,ACTION-OBJECT
,DONT-EXAMINE>
!<REST .X>)>)
(<==? <2 .XX> REMOVE>
<COND (<==? <1 .XX> EXAMINE>
<PUTREST .X
('<UPDATE-MOVE>
!<REST .X>)>)
(<==? <1 .XX> GET-ADVICE>
<PUTREST .X
('<UPDATE-FCLEAR ,HERE
,ADVISE>
!<REST .X>)>)
(<OR <==? <1 .XX> SCOUT>
<==? <1 .XX> LOOK-AROUND>>
<PUTREST .X
('<UPDATE-FSET ,HERE
,DONT-SCOUT>
'<FSET ,HERE ,SCOUTED>
!<REST .X>)>)
(T
<PUTREST .X
('<REMOVE-TRAVEL-COMMAND>
!<REST .X>)>)>)
(T
<ERROR BAD-ACOND!-ERRORS>)>)>>
<REST .LST>>
<EVAL <FORM ROUTINE .ATM <1 .LST>
<FORM COND !<REST .LST>>>>
.ATM>
<DEFINE EXECUTE ("ARGS" LST "AUX" ATM)
<SET ATM <PARSE <STRING "ANONF-"
<UNPARSE <SETG ANONF-COUNT
<+ ,ANONF-COUNT 1>>>>>>
<COND (<TYPE? <1 .LST> FORM>
<SET LST ('() !.LST)>)>
<EVAL <FORM ROUTINE .ATM !.LST>>
.ATM>
;"Constants various"
<CONSTANT GRAPHICS-WINDOW 3>
<CONSTANT COMMAND-WINDOW 1>
<CONSTANT TEXT-WINDOW 0>
<CONSTANT S-TEXT 0>
<CONSTANT S-WINDOW 1>
<CONSTANT S-BEEP 1>
<CONSTANT S-BOOP 2>
<CONSTANT H-NORMAL 0>
<CONSTANT H-INVERSE 1>
;"These may not be implemented on a target machine."
<GLOBAL H-BOLD 2>
<CONSTANT D-TABLE-ON 3>
<CONSTANT D-TABLE-OFF -3>
<GLOBAL CHRH 0>
<GLOBAL CHRV 0>
<ROUTINE CHANGE-FONT (F)
<COND (<EQUAL? .F 3>
<COND (,FONT3-FLAG <FONT 3>)
(T <FONT 1>)>)
(<EQUAL? .F 4>
<COND (,FWC-FLAG <FONT 4>)
(T <FONT 1>)>)>>
<ROUTINE GPOS (C F)
<COND (<EQUAL? .F 1> .C)
(T
<+ <* <- .C 1> .F> 1>)>>
<ROUTINE MAKE-WINDOW (N YL XL YS XS "OPTIONAL" (B 15))
<WINPOS .N
<GPOS .YL ,CHRV>
<GPOS .XL ,CHRH>>
<WINSIZE .N
<* .YS ,CHRV>
<* .XS ,CHRH>>
<WINATTR .N .B>
.N>
<ROUTINE GCURSET (YL XL)
<COND (<ZERO? ,CURRENT-SCREEN>
<SELECT-SCREEN ,COMMAND-WINDOW>)>
<CURSET <GPOS .YL ,CHRV> <GPOS .XL ,CHRH>>>
;"tell macro and friends"
<TELL-TOKENS (CRLF CR) <CRLF>
(NUM N) * <PRINTN .X>
C * <PRINTC .X>
S *:STRING <PRINT .X>
D * <WPRINTD .X>
TAG <WPRINTTAG>
CHR * <WPRINTCHR .X>
AO <WPRINTD ,ACTION-OBJECT>
ACT <WPRINTD ,ACTOR>
AOP <WPRINTD-OBJECT-PERIOD>
MORE <INPUT 1>
CLEAR <CLEAR ,TEXT-WINDOW>>
<ROUTINE WPRINTCHR (CHR)
<COND (<IN-PARTY? .CHR> <WPRINTD .CHR>)
(T
<TELL "[Error: ">
<WPRINTD .CHR>
<TELL "]">)>>
;"macros"
<ROUTINE PICK-ONE (TBL "AUX" LENGTH CNT RND MSG RFROB)
<SET LENGTH <GET .TBL 0>>
<SET CNT <GET .TBL 1>>
<SET LENGTH <- .LENGTH 1>>
<SET TBL <REST .TBL 2>>
<SET RFROB <REST .TBL <* .CNT 2>>>
<SET RND <RANDOM <- .LENGTH .CNT>>>
<SET MSG <GET .RFROB .RND>>
<PUT .RFROB .RND <GET .RFROB 1>>
<PUT .RFROB 1 .MSG>
<SET CNT <+ .CNT 1>>
<COND (<==? .CNT .LENGTH>
<SET CNT 0>)>
<PUT .TBL 0 .CNT>
.MSG>
<CONSTANT INF 32000>
<OBJECT WINDOWS-UNUSED
(DESC "arc")
(FLAGS BUSY SEEN LIT ENCHANTED SCOUTED SUBGROUP SINGLE-CAST
EXAMINED TRAPPED INCAPACITATED DEAD SOLVED DONT-TAKE TRIED
DONT-CAST DONT-SCOUT DONT-EXAMINE BLUE-MIX GRAY-MIX TRUTHFUL
INVENTORIED BLACK-MIX NEVER-DROP USED-UP SHADOW)
(CAST-LIMIT INF)>
<GLOBAL TEXT-WINDOW-LEFT 0>
<GLOBAL BASE-PICTURE-HEIGHT 0>
<GLOBAL BASE-PICTURE-WIDTH 0>
<GLOBAL PICINF-TBL <TABLE 0 0>>
<ROUTINE SETUP-WINDOWS ("AUX" (PW ,BASE-PICTURE-WIDTH)
(PH ,BASE-PICTURE-HEIGHT) (OFF 6) (GOOD? <>))
<COND (<OR <NOT <APPLE2?>>
<0? ,BASE-PICTURE-HEIGHT>>
<COND (<SET GOOD? <PICINF 2 ,PICINF-TBL>>
<SET PH <GET ,PICINF-TBL 0>>
<SET PW <GET ,PICINF-TBL 1>>
<SETG BASE-PICTURE-WIDTH .PW>
<SETG BASE-PICTURE-HEIGHT .PH>)>)
(T
<SET GOOD? T>)>
<COND (.GOOD?
; "Don't do the PICINF on the apple II if we already have.
This will, we hope, prevent unnecessary disk flipping on
refresh/restore. The theory is that all apple II screens
are the same size, so it isn't necessary."
<COND (<OR <APPLE2?> <EQUAL? ,INTERPRETER ,INT-PC>>
;"Shrink margin for max. text space..."
<SET OFF 3>)
(<NOT ,BORDER-FLAG>
<SET OFF 5>)> ;"Added 4/26"
<SETG TEXT-WINDOW-LEFT <+ .OFF </ <+ .PW ,CHRH> ,CHRH>>>)
(T
<SETG TEXT-WINDOW-LEFT ,INIT-TEXT-LEFT>)>
;"Center top left of graphic window"
<MAKE-WINDOW ,TEXT-WINDOW
,TOP-SCREEN-LINE
,TEXT-WINDOW-LEFT
<- ,COMMAND-START-LINE ,TOP-SCREEN-LINE 1>
<- ,SCREEN-WIDTH ,TEXT-WINDOW-LEFT>>
<COND (<EQUAL? ,INTERPRETER ,INT-PC>
;"For PC, add a left margin to text window..."
<MARGIN 4 0 ,TEXT-WINDOW>)
;(<APPLE2?>
<MAKE-WINDOW 0
,TOP-SCREEN-LINE
,TEXT-WINDOW-LEFT
<- ,COMMAND-START-LINE ,TOP-SCREEN-LINE 1>
<- ,SCREEN-WIDTH ,TEXT-WINDOW-LEFT>>)>
; "Changed as follows per TAA:
Window is top left of screen, and fills the area to the
borders drawn around other things. Pictures will be centered
in this by GRAPHIC. This allows us to ensure that pictures
will really, seriously, be cleared when needed."
<COND (,BORDER-FLAG
<SETG GRAPHIC-WINDOW-Y
<* <- ,COMMAND-START-LINE 3> ,CHRV>>
<SETG GRAPHIC-WINDOW-X
<* <- ,TEXT-WINDOW-LEFT 3> ,CHRH>>)
(T
<SETG GRAPHIC-WINDOW-Y
<* <- ,COMMAND-START-LINE 2> ,CHRV>>
<SETG GRAPHIC-WINDOW-X
<* <- ,TEXT-WINDOW-LEFT 2> ,CHRH>>)>
<COND (,BORDER-FLAG
<MAKE-WINDOW ,GRAPHICS-WINDOW
,TOP-SCREEN-LINE
,TOP-SCREEN-LINE
<- ,COMMAND-START-LINE 3>
<- ,TEXT-WINDOW-LEFT 3>
11>)
(T
<MAKE-WINDOW ,GRAPHICS-WINDOW
,TOP-SCREEN-LINE
,TOP-SCREEN-LINE
<- ,COMMAND-START-LINE 2>
<- ,TEXT-WINDOW-LEFT 2>
11>)>
; "Set background color to black for this window"
<COND (,BLACK-PICTURE-BORDER
<SCREEN ,GRAPHICS-WINDOW>
<COLOR 9 2>
<CLEAR ,GRAPHICS-WINDOW>)>>
<ROUTINE WPRINTTAG ()
<COND (<G? ,TAG-NAME-LENGTH 0>
<PRINTT <REST ,NAME-TBL 2> ,TAG-NAME-LENGTH>)
(T
<PRINT-DESC ,TAG>)>>
<ROUTINE WPRINTD (OBJ "OPTIONAL" A) <PRINT-DESC .OBJ>>
<GLOBAL WPRINT-EBUF <TABLE (BYTE)
32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32
>>
<CONSTANT CENTER-TABLE <ITABLE 20>>
<ROUTINE WCENTER (STR "AUX" WID SWID)
<SET WID <TEXT-WIDTH .STR>>
<SET SWID <* <- ,SCREEN-WIDTH ,TEXT-WINDOW-LEFT> ,CHRH>>
<COND (<L? .WID .SWID>
<SET SWID <+ 1 </ <- .SWID .WID> 2>>>)
(T
<SET SWID 1>)>
<CURGET ,CURGET-TABLE>
<CURSET <ZGET ,CURGET-TABLE 0> .SWID>
<PRINTT <REST ,CENTER-TABLE 2> <GET ,CENTER-TABLE 0>>>
<GLOBAL CURRENT-GRAPHIC <>>
<ROUTINE GRAPHIC-STAMP (PIC WHERE "OPTIONAL" V H "AUX" CURH CURW TOP LEFT
NEWH NEWW)
<SET CURH <GET ,PICINF-TBL 0>>
<SET CURW <GET ,PICINF-TBL 1>>
<SET TOP <+ </ <- ,GRAPHIC-WINDOW-Y .CURH> 2> 1>>
<SET LEFT <+ </ <- ,GRAPHIC-WINDOW-X .CURW> 2> 1>>
<COND (<AND <ZERO? .WHERE>
<ASSIGNED? V>
<ASSIGNED? H>>
<SET TOP <+ .TOP .V>>
<SET LEFT <+ .LEFT .H>>)
(<G? .WHERE 0>
;"WHERE is a funny picture, specifying the location
of the stamp relative to the corner of the background
graphic."
<PICINF .WHERE ,PICINF-TBL>
<SET LEFT <+ <GET ,PICINF-TBL 1> .LEFT>>
<SET TOP <+ <GET ,PICINF-TBL 0> .TOP>>)
(T
<PICINF .PIC ,PICINF-TBL>
<SET NEWH <GET ,PICINF-TBL 0>>
<SET NEWW <GET ,PICINF-TBL 1>>
<COND (<NOT <0? <ANDB .WHERE ,STAMP-RIGHT>>>
<SET LEFT <+ .LEFT <- .CURW .NEWW>>>)>
<COND (<NOT <0? <ANDB .WHERE ,STAMP-BOTTOM>>>
<SET TOP <+ .TOP <- .CURH .NEWH>>>)>)>
;<COND (,GTRACE-FLAG
<TELL "[STAMP - PIC: " N .PIC
", TOP: " N .TOP
", LEFT: " N .LEFT
"]" CR>)>
<DISPLAY .PIC .TOP .LEFT>>
<GLOBAL CURRENT-STAMP <>>
<GLOBAL CURRENT-STAMP-LOC <>>
<ROUTINE GRAPHIC ("OPTIONAL" (STR <>) (STAMP <>) (WHERE <>))
;<COND (,GTRACE-FLAG
<TELL "[GRAPHIC - STR: " N .STR
", STAMP: " N .STAMP
", WHERE: " N .WHERE
"]" CR>)>
<COND (<OR <NOT ,GRAPHICS-FLAG>
<EQUAL? .STR ,CURRENT-GRAPHIC>>
<RTRUE>)>
<COND (<AND <NOT .STR> <NOT .STAMP>>
<SET STR ,CURRENT-GRAPHIC>
<COND (<EQUAL? .STR -1>
<CAVERN-GRAPHIC>)
(T
<SET STAMP ,CURRENT-STAMP>
<SET WHERE ,CURRENT-STAMP-LOC>)>)
(.STR
<SETG CURRENT-GRAPHIC .STR>)>
<SCREEN ,GRAPHICS-WINDOW>
<COND (.STR <CLEAR ,GRAPHICS-WINDOW>)>
<COND (<OR <ZERO? .STR> <EQUAL? .STR -1>> T)
(<AND <G? .STR 0> <L? .STR 255>>
<COND (<PICINF .STR ,PICINF-TBL>
;<COND (,GTRACE-FLAG
<TELL "[DISPLAY - STR: " N .STR "]" CR>)>
<DISPLAY .STR
<+ </ <- ,GRAPHIC-WINDOW-Y <GET ,PICINF-TBL 0>> 2> 1>
<+ </ <- ,GRAPHIC-WINDOW-X <GET ,PICINF-TBL 1>> 2> 1>>)>)
(T
<PRINT .STR>)>
<COND (.STAMP
<SETG CURRENT-STAMP .STAMP>
<SETG CURRENT-STAMP-LOC .WHERE>
<COND (<G? .STAMP 255> <PRINT .STAMP>)
(T
<COND (<PICINF ,CURRENT-GRAPHIC ,PICINF-TBL>
<GRAPHIC-STAMP .STAMP .WHERE>)>)>)
(T
<SETG CURRENT-STAMP <>>)>
<SCREEN ,TEXT-WINDOW>>
<GLOBAL CURRENT-SCREEN 0>
<ROUTINE SELECT-SCREEN (N)
<SCREEN .N>
<SETG CURRENT-SCREEN .N>>
<ROUTINE I/WE ("OPTIONAL" (N 1) (CAPS? <>))
<COND (<G? ,PARTY-MAX .N>
<COND (.CAPS? "We") (T "we")>)
(T "I")>>
<ROUTINE I-WAS/WE-WERE ("OPTIONAL" (N 1))
<COND (<G? ,PARTY-MAX .N> "we were")
(T "I was")>>
<ROUTINE I/EACH ("OPTIONAL" (N 1))
<COND (<G? ,PARTY-MAX .N> "each of us")
(T "I")>>
<ROUTINE MY/OUR ("OPTIONAL" (N 1))
<COND (<G? ,PARTY-MAX .N> "our")
(T "my")>>
<ROUTINE ME/US ("OPTIONAL" (N 1))
<COND (<G? ,PARTY-MAX .N> "us")
(T "me")>>
<ROUTINE PRINT-DESC (OBJ "OPTIONAL" (CMD? <>))
<COND (<AND <EQUAL? .OBJ ,TAG-OBJECT ,TAG ;"Added 3/14">
<NOT <ZERO? ,TAG-NAME-LENGTH>>>
<PRINTT <REST ,NAME-TBL 2>
,TAG-NAME-LENGTH>)
(<NOT .CMD?>
;"Always print full name if not in command area..."
<PRINT <GETP .OBJ ,P?SDESC>>)
(T
<PRINT <GET-DESC .OBJ>>)>>
<ROUTINE GET-DESC (OBJ "AUX" STR)
<COND (<AND <L? ,SCREEN-WIDTH ,8-WIDTH>
<SET STR <GETP .OBJ ,P?8DESC>>>
.STR)
(<AND <L? ,SCREEN-WIDTH ,12-WIDTH>
<SET STR <GETP .OBJ ,P?12DESC>>>
.STR)
(T
<GETP .OBJ ,P?SDESC>)>>
<ROUTINE PRINT-COMMAND (CMD)
<PRINT <GET-COMMAND .CMD>>>
<ROUTINE GET-COMMAND (CMD "AUX" STR)
<COND (<AND <L? ,COMMAND-WIDTH 12>
<SET STR <GET .CMD ,COMMAND-ASTR>>>
.STR)
(T
<GET .CMD ,COMMAND-FULL>)>>
;"Pix that come up for one move only; can't have a stamp"
<ROUTINE SINGLE-MOVE-GRAPHIC (G)
<SETG SAVED-GRAPHIC ,CURRENT-GRAPHIC>
<SETG SAVED-GRAPHIC-ROOM ,HERE>
<GRAPHIC .G>
<QUEUE I-CLEAR-SINGLE-MOVE-GRAPHIC 1>>
<GLOBAL SAVED-GRAPHIC 0>
<GLOBAL SAVED-GRAPHIC-ROOM 0>
<OBJECT I-CLEAR-SINGLE-MOVE-GRAPHIC
(TIME 0)
(ACTION
<EXECUTE ()
<COND (<EQUAL? ,HERE ,SAVED-GRAPHIC-ROOM>
<GRAPHIC ,SAVED-GRAPHIC>)>>)>

133
part2.zabstr Normal file
View file

@ -0,0 +1,133 @@
<BEGIN-SEGMENT PART2>
<GLOBAL PART-TWO <>>
<DEFINE-ROUTINE START-PART-TWO>
<COMMAND (NORTH-ROUTE NORTH)>
<COMMAND (SOUTH-ROUTE SOUTH)>
<GLOBAL A-B-FLAG <>>
<ROOM FOREST-FORK (TRAVEL-COMMANDS NORTH-ROUTE-COMMAND SOUTH-ROUTE-COMMAND
NUL-COMMAND) (FLAGS ADVISE) (GRAPHIC G-FOREST) (ACTION <ACOND () (<EQUAL? ,
ACTION ,GET-ADVICE-COMMAND> <UPDATE-FCLEAR ,HERE ,ADVISE> <PRINTI
"Bergon reminded us that Astrix had said the Dwarvish gate was west
of our position"> <COND (<FSET? ,HERE ,SCOUTED> <PRINTI
", and suggested taking the northern route, it being
the closest to due west. He solicited advice from the others in the
group, who were all in general agreement.">) (T <PRINTI
". The problem, we reminded him, was that both paths appeared to be
heading in a westerly direction, giving no obvious sign as to which would
be the best route to take.">)>) (<EQUAL? ,ACTION ,SCOUT-COMMAND> <UPDATE-FSET ,
HERE ,DONT-SCOUT> <FSET ,HERE ,SCOUTED> <FSET ,HERE ,SCOUTED> <WPRINTD ,ACTOR>
<PRINTI " sped off into the forest, returned, then sped off down the other fork.
When he returned, he offered no help in our decision."> <CRLF> <CRLF> <PRINTI
"\"Both paths appear to run roughly west, though I'd say the northern
path is a bit more direct,\" he said.">) (<EQUAL? ,ACTION ,NORTH-ROUTE-COMMAND>
<SET A-B-FLAG #ZLOCAL!-IZILCH TRUE-VALUE> <PRINTI
"We chose the more northerly path, and by day's end we had reached the
place described by Astrix as the Dwarvish gate of Bern i-Fen."> <PRINT ,
FOREST-NIGHT> <CRLF> <CRLF> <PRINTI
"When we awoke the next morning, a cold wind blew from the north, yet
a dark shroud of mist lay over the forest. It seemed an ill-omened day,
and our hearts were heavy with uncertainty and doubt. I packed our
things, and our party approached the gate."> <MOVE-TO ,FOREST-GATE>) (<EQUAL? ,
ACTION ,SOUTH-ROUTE-COMMAND> <PRINTI
"Choosing the more southerly path, we moved quickly as the forest appeared
to become older and darker. Rather than entering this foreboding forest so
late in the day, we camped just outside."> <PRINT ,FOREST-NIGHT> <PRINTI
" We rose to a cold, but sunny morning and were soon
in the midst of the dark forest."> <SCENE ,TANGLESCENE> <MOVE-TO ,TANGLEWOOD-1>
)>)>
<DEFINE-ROUTINE ANONF-217>
<CONSTANT FOREST-NIGHT
" The night was
cold, for winter was nigh upon us; the stars shone down brightly on us, and a
crescent moon rose over the Sunrise Mountain. Perhaps, I thought, this presaged
better days yet to come.">
<END-SEGMENT>
<BEGIN-SEGMENT CAVERNS>
<ROOM FOREST-GATE (TRAVEL-COMMANDS ENTER-COMMAND NUL-COMMAND NUL-COMMAND) (
FLAGS DONT-SCOUT) (ENTER <EXECUTE () <GRAPHIC ,G-GATE-RUNES>>) (ACTION <ACOND (
) (<EQUAL? ,ACTION ,ENTER-COMMAND> <PICINF ,G-HURTH-SHADOW ,PICINF-TBL> <PRINTI
"\"Klem'ela,\" Praxix intoned, and the Dwarvish door winked into
existence and opened. Cold, fetid air rushed from the caverns to meet
us, filling us with a morbid disgust."> <CRLF> <CRLF> <PRINTI
"\"There is something, well, unwholesome about this cavern,\" I said,
as we started into the darkness. Happily, Astrix had lit Praxix' staff
before we had departed, and its pale red light still glowed enough to
see by."> <CRLF> <CRLF> <FSET ,PRAXIX ,LIT> <PRINTI
"We made quick progress down the arrow-straight road and soon
came upon a steep stair cut in the rock. I was about to comment
upon the Dwarves' monumental stonework, when Bergon stopped me
in my tracks."> <CRLF> <CRLF> <PRINTI
"\"Shhh!\" he whispered roughly, \"there is something moving in
the shadows ahead!\""> <MOVE-TO ,MINE-STAIR>)>)>
<DEFINE-ROUTINE ANONF-218>
<DEFINE-ROUTINE ANONF-219>
<COMMAND CONFRONT>
<ROOM MINE-STAIR (TRAVEL-COMMANDS PROCEED-COMMAND DOWN-COMMAND NUL-COMMAND) (
GRAPHIC G-HURTH-SHADOW) (FLAGS UNDERGROUND ADVISE) (ENTER <EXECUTE () <COND (<
NOT <FSET? ,HURTH ,IN-PARTY>> <OPTION ,BERGON ,CONFRONT-COMMAND ,IGNORE-COMMAND
>)>>) (ACTION <ACOND () (<OR <EQUAL? ,ACTION ,SCOUT-COMMAND> <EQUAL? ,ACTION ,
GET-ADVICE-COMMAND>> <UPDATE-FSET ,HERE ,DONT-SCOUT> <FCLEAR ,HERE ,ADVISE> <
COND (<AND <EQUAL? ,ACTION ,GET-ADVICE-COMMAND> <FSET? ,HURTH ,IN-PARTY>> <
PRINTI "Bergon asked Hurth to scout ahead, but Hurth replied, \"I have come from
the path before us, and it is dark and full of evil. ">) (T <WPRINTD ,ACTOR> <
PRINTI " went on ahead, and returned with a disturbing report."> <CRLF> <CRLF>
<PRINTI "\"The caverns are cold and dark, and feel, well, evil,\" he said."> <
COND (<AND <NOT <EQUAL? ,ACTOR ,HURTH>> <FSET? ,HURTH ,IN-PARTY>> <CRLF> <CRLF>
<PRINTI "Hurth agreed. \"I have felt this myself,\" he said, adding, \"">) (T <
PRINTI " ">)>)> <PRINTI
"It would be best to descend into the lower caverns here.\"">) (<OR <EQUAL? ,
ACTION ,CONFRONT-COMMAND> <EQUAL? ,ACTION ,IGNORE-COMMAND>> <COND (<EQUAL? ,
ACTION ,CONFRONT-COMMAND> <PRINTI
"At Bergon's command, we drew our weapons and moved forward. And then,">) (T <
PRINTI "\"A trick of the eye, perhaps,\" Praxix volunteered, pointing out other
suspicious shadows that his staff now cast upon the rocks."> <CRLF> <CRLF> <
PRINTI "\"Perhaps,\" said Bergon, taking his hand off the hilt of his broadsword,
\"But these caverns teem with orcs, and we cannot be too careful. Yes,
now that I look again, I believe Praxix is right.\""> <CRLF> <CRLF> <PRINTI
"Just then, in pointed contradition to my elder's conclusions,">)> <PRINTI
" a man stepped from the shadows, his face glowing in the pale light of
Praxix' outstretched staff."> <CRLF> <CRLF> <PRINTI
"\"Hurth!\" I gasped, taking a step backward."> <CRLF> <CRLF> <PRINTI
"\"Stand back,\" Bergon shouted at us and drawing his sword, he approached
the ghostly shadow of our lost friend. \"Begone, false image,\" he
demanded, and waved his sword menacingly before him."> <CRLF> <CRLF> <COND (<
IN? ,HINT-DARK-PRESENCE ,HINTS> <PRINTI
"\"Put down your weapon, Bergon,\" the shadow responded, \"It is I, Hurth.\"">
<CRLF> <CRLF> <PRINTI
"\"But how...\" I blurted out, still hiding behind Bergon's cloak."> <CRLF> <
CRLF> <PRINTI "\"The story is long and will have to wait,\" Hurth began, \"Astrix sent word
that you may be needing assistance, but I am afraid we Dwarves have none to
offer. A great, dark evil has been loosed in these very halls and all of
our efforts are bent toward its destruction. Take not the path ahead, but
rather these stairs even to the lowest levels. It is there that you may find
what you seek - the stone of Cedrith!\""> <CRLF> <CRLF> <PRINTI
"\"I must return to my people. Good luck!\" he cried, and was gone."> <CRLF> <
CRLF> <PRINTI "\"I fear we ourselves unleashed this evil upon the Dwarves,\" Praxix
moaned, \"These are dark days indeed, but hope remains if the Stone can be
found.\""> <UPDATE-FCLEAR ,HERE ,ADVISE> <REMOVE-TRAVEL-COMMAND ,HERE ,
PROCEED-COMMAND>) (T <PRINTI
"\"It is I, Bergon,\" the shadow responded, \"I am sorry if I have upset
you, but Astrix said you would be needing some help!\""> <CRLF> <CRLF> <PRINTI
"\"But how...,\" I blurted out, still hiding behind Bergon's cloak."> <CRLF> <
CRLF> <PRINTI "\"There is much to tell, and little time for the telling,\" he responded,
and bowing his head in sorrow, explained, \"My father, Agrith, saved my
life after our encounter with the orcs. The procedure cost him his own.\"
He then attempted a smile,
saying, \"Our hope lies in finding the ancient Stone, if Astrix is to be
believed. We Dwarves are certain it lies below, in the darkest regions of
these halls, where Cedrith was said to have found it, many long ages ago.\""> <
UPDATE-MOVE ,STORY-CEDRITH ,HURTH-STORIES> <MOVE ,STORY-AGRITH ,HURTH-STORIES>
<PARTY-ADD ,HURTH>)> <END-OPTION> <NEW-DEFAULT>) (<EQUAL? ,ACTION ,
PROCEED-COMMAND> <COND (<FSET? ,PRAXIX-VS-EVIL ,SEEN> <REMOVE-PARTY-COMMAND ,
PROCEED-COMMAND> <PRINTI
"We started down the dark passage, and soon felt the dark Evil we
had encountered earlier in our journey."> <CRLF> <CRLF> <PRINTI
"\"We should have expected this; when last we met, we were not
much farther along this same path!\" Praxix said."> <CRLF> <CRLF> <PRINTI
"There was little discussion - we had to return to the stairs,
lest we face the unseen terror yet again.">) (T <MOVE-TO ,DARK-EVIL-CAVERN #
ZLOCAL!-IZILCH STR?567>)>) (<EQUAL? ,ACTION ,DOWN-COMMAND> <MOVE-TO-2-W>)>)>
<DEFINE-ROUTINE ANONF-220>
<DEFINE-ROUTINE ANONF-221>
<DEFINE-ROUTINE MOVE-TO-2-W>

217
part2.zap Normal file
View file

@ -0,0 +1,217 @@
.SEGMENT "PART2"
.FUNCT START-PART-TWO:ANY:0:0
REMOVE STORY-CAVERNS
REMOVE NYMPH-STONE
REMOVE ELF-STONE
ICALL2 UPDATE-REMOVE,DWARF-STONE
SET 'PART-TWO,TRUE-VALUE
FCLEAR WEBBA-MAP,DONT-DROP
ICALL2 REMOVE-ALL,HURTH-STORIES
ZERO? CHEAT \?CTR2
FSET? HERMIT-POWDER,SEEN \?CCL3
?CTR2: ICALL2 UPDATE-REMOVE,HERMIT-POWDER
FSET REAGENT,SOLVED
MOVE REAGENT,REAGENTS
ICALL1 FIXUP-PRAXIX-COMMANDS
FSET? HERMIT-POWDER,INCAPACITATED \?CCL8
PRINTI "In retrospect, it seems strange that Praxix had not mentioned it when we first came to the Sunrise Tower, but he now took out the hermit's strange powder and showed it the Astrix, who"
JUMP ?CND6
?CCL8: PRINTI "Praxix showed Astrix the strange powder the hermit had thrown at us, and Astrix"
?CND6: PRINTI " eyed it knowingly. Tasting the blue-green powder to confirm his suspicions, he smiled and explained."
CRLF
CRLF
PRINTI """I cannot think where Garlimon found this powder, but it is fortunate indeed that he did. This,"" he said, rubbing the powder between his fingers, ""is a rare magical reagent which can be mixed with the earthly essences to produce powerful enchantments. Be careful; the reagent is most unstable, and should be mixed only when needed. Even then, some mixtures may not have any effect whatever."""
JUMP ?CND1
?CCL3: PRINTI "Astrix had some words for Praxix regarding the next phase of our journey. ""In the lowest levels of the Dwarves caverns, there are magical reagents which can be mixed with the earthly essences to create powerful enchantments. The most valuable is a blue-green rock which crumbles to a fine powder that is bitter to the taste. Take care if you find it, for it is most unstable, and should be mixed only when needed. Even then, some mixtures may not have any magical effect."""
ICALL TRAVEL-COMMANDS,PRAXIX,CAST-COMMAND,EXAMINE-COMMAND
?CND1: CRLF
CRLF
PRINTI "When it was time to leave, Astrix gave us rough directions through the forest to the Dwarvish gate at Bern i-Fen, at the extreme eastern end of the Reth a-Zar. ""I shall alert the Dwarves of your coming,"" he said, and spoke in some forgotten tongue to an eagle who was perched quietly on the tower's battlements. The eagle gave a shrill cry, then soared from sight into the west."
CRLF
CRLF
PRINTI """Your path will be difficult, that is certain, but remember: we have many friends yet who live upon the earth. Be careful! Make good speed!"" And with that, he turned and limped back to his high tower."
CRLF
CRLF
ICALL2 NEXT-DAY,2
PRINTI "Our path became difficult, but not at first, as we headed ever westward through the Old Forest toward the caverns of the Dwarves. It was mid-afternoon when the road unexpectedly forked; both paths led roughly to the west, one heading more southerly and the other more northerly."
CALL2 MOVE-TO,FOREST-FORK
RSTACK
.FUNCT ANONF-217:ANY:0:0
EQUAL? ACTION,GET-ADVICE-COMMAND \?CCL3
ICALL UPDATE-FCLEAR,HERE,ADVISE
PRINTI "Bergon reminded us that Astrix had said the Dwarvish gate was west of our position"
FSET? HERE,SCOUTED \?CCL6
PRINTI ", and suggested taking the northern route, it being the closest to due west. He solicited advice from the others in the group, who were all in general agreement."
RTRUE
?CCL6: PRINTI ". The problem, we reminded him, was that both paths appeared to be heading in a westerly direction, giving no obvious sign as to which would be the best route to take."
RTRUE
?CCL3: EQUAL? ACTION,SCOUT-COMMAND \?CCL8
ICALL UPDATE-FSET,HERE,DONT-SCOUT
FSET HERE,SCOUTED
FSET HERE,SCOUTED
ICALL2 WPRINTD,ACTOR
PRINTI " sped off into the forest, returned, then sped off down the other fork. When he returned, he offered no help in our decision."
CRLF
CRLF
PRINTI """Both paths appear to run roughly west, though I'd say the northern path is a bit more direct,"" he said."
RTRUE
?CCL8: EQUAL? ACTION,NORTH-ROUTE-COMMAND \?CCL10
SET 'A-B-FLAG,TRUE-VALUE
PRINTI "We chose the more northerly path, and by day's end we had reached the place described by Astrix as the Dwarvish gate of Bern i-Fen."
PRINT FOREST-NIGHT
CRLF
CRLF
PRINTI "When we awoke the next morning, a cold wind blew from the north, yet a dark shroud of mist lay over the forest. It seemed an ill-omened day, and our hearts were heavy with uncertainty and doubt. I packed our things, and our party approached the gate."
CALL2 MOVE-TO,FOREST-GATE
RSTACK
?CCL10: EQUAL? ACTION,SOUTH-ROUTE-COMMAND \FALSE
PRINTI "Choosing the more southerly path, we moved quickly as the forest appeared to become older and darker. Rather than entering this foreboding forest so late in the day, we camped just outside."
PRINT FOREST-NIGHT
PRINTI " We rose to a cold, but sunny morning and were soon in the midst of the dark forest."
ICALL2 SCENE,TANGLESCENE
CALL2 MOVE-TO,TANGLEWOOD-1
RSTACK
.ENDSEG
.SEGMENT "CAVERNS"
.FUNCT ANONF-218:ANY:0:0
CALL2 GRAPHIC,G-GATE-RUNES
RSTACK
.FUNCT ANONF-219:ANY:0:0
EQUAL? ACTION,ENTER-COMMAND \FALSE
PICINF G-HURTH-SHADOW,PICINF-TBL /?BOGUS4
?BOGUS4: PRINTI """Klem'ela,"" Praxix intoned, and the Dwarvish door winked into existence and opened. Cold, fetid air rushed from the caverns to meet us, filling us with a morbid disgust."
CRLF
CRLF
PRINTI """There is something, well, unwholesome about this cavern,"" I said, as we started into the darkness. Happily, Astrix had lit Praxix' staff before we had departed, and its pale red light still glowed enough to see by."
CRLF
CRLF
FSET PRAXIX,LIT
PRINTI "We made quick progress down the arrow-straight road and soon came upon a steep stair cut in the rock. I was about to comment upon the Dwarves' monumental stonework, when Bergon stopped me in my tracks."
CRLF
CRLF
PRINTI """Shhh!"" he whispered roughly, ""there is something moving in the shadows ahead!"""
CALL2 MOVE-TO,MINE-STAIR
RSTACK
.FUNCT ANONF-220:ANY:0:0
FSET? HURTH,IN-PARTY /FALSE
CALL OPTION,BERGON,CONFRONT-COMMAND,IGNORE-COMMAND
RSTACK
.FUNCT ANONF-221:ANY:0:0
EQUAL? ACTION,SCOUT-COMMAND /?CTR2
EQUAL? ACTION,GET-ADVICE-COMMAND \?CCL3
?CTR2: ICALL UPDATE-FSET,HERE,DONT-SCOUT
FCLEAR HERE,ADVISE
EQUAL? ACTION,GET-ADVICE-COMMAND \?CCL8
FSET? HURTH,IN-PARTY \?CCL8
PRINTI "Bergon asked Hurth to scout ahead, but Hurth replied, ""I have come from the path before us, and it is dark and full of evil. "
JUMP ?CND6
?CCL8: ICALL2 WPRINTD,ACTOR
PRINTI " went on ahead, and returned with a disturbing report."
CRLF
CRLF
PRINTI """The caverns are cold and dark, and feel, well, evil,"" he said."
EQUAL? ACTOR,HURTH /?CCL13
FSET? HURTH,IN-PARTY \?CCL13
CRLF
CRLF
PRINTI "Hurth agreed. ""I have felt this myself,"" he said, adding, """
JUMP ?CND6
?CCL13: PRINTC 32
?CND6: PRINTI "It would be best to descend into the lower caverns here."""
RTRUE
?CCL3: EQUAL? ACTION,CONFRONT-COMMAND /?CTR16
EQUAL? ACTION,IGNORE-COMMAND \?CCL17
?CTR16: EQUAL? ACTION,CONFRONT-COMMAND \?CCL22
PRINTI "At Bergon's command, we drew our weapons and moved forward. And then,"
JUMP ?CND20
?CCL22: PRINTI """A trick of the eye, perhaps,"" Praxix volunteered, pointing out other suspicious shadows that his staff now cast upon the rocks."
CRLF
CRLF
PRINTI """Perhaps,"" said Bergon, taking his hand off the hilt of his broadsword, ""But these caverns teem with orcs, and we cannot be too careful. Yes, now that I look again, I believe Praxix is right."""
CRLF
CRLF
PRINTI "Just then, in pointed contradition to my elder's conclusions,"
?CND20: PRINTI " a man stepped from the shadows, his face glowing in the pale light of Praxix' outstretched staff."
CRLF
CRLF
PRINTI """Hurth!"" I gasped, taking a step backward."
CRLF
CRLF
PRINTI """Stand back,"" Bergon shouted at us and drawing his sword, he approached the ghostly shadow of our lost friend. ""Begone, false image,"" he demanded, and waved his sword menacingly before him."
CRLF
CRLF
IN? HINT-DARK-PRESENCE,HINTS \?CCL25
PRINTI """Put down your weapon, Bergon,"" the shadow responded, ""It is I, Hurth."""
CRLF
CRLF
PRINTI """But how..."" I blurted out, still hiding behind Bergon's cloak."
CRLF
CRLF
PRINTI """The story is long and will have to wait,"" Hurth began, ""Astrix sent word that you may be needing assistance, but I am afraid we Dwarves have none to offer. A great, dark evil has been loosed in these very halls and all of our efforts are bent toward its destruction. Take not the path ahead, but rather these stairs even to the lowest levels. It is there that you may find what you seek - the stone of Cedrith!"""
CRLF
CRLF
PRINTI """I must return to my people. Good luck!"" he cried, and was gone."
CRLF
CRLF
PRINTI """I fear we ourselves unleashed this evil upon the Dwarves,"" Praxix moaned, ""These are dark days indeed, but hope remains if the Stone can be found."""
ICALL UPDATE-FCLEAR,HERE,ADVISE
ICALL REMOVE-TRAVEL-COMMAND,HERE,PROCEED-COMMAND
JUMP ?CND23
?CCL25: PRINTI """It is I, Bergon,"" the shadow responded, ""I am sorry if I have upset you, but Astrix said you would be needing some help!"""
CRLF
CRLF
PRINTI """But how...,"" I blurted out, still hiding behind Bergon's cloak."
CRLF
CRLF
PRINTI """There is much to tell, and little time for the telling,"" he responded, and bowing his head in sorrow, explained, ""My father, Agrith, saved my life after our encounter with the orcs. The procedure cost him his own."" He then attempted a smile, saying, ""Our hope lies in finding the ancient Stone, if Astrix is to be believed. We Dwarves are certain it lies below, in the darkest regions of these halls, where Cedrith was said to have found it, many long ages ago."""
ICALL UPDATE-MOVE,STORY-CEDRITH,HURTH-STORIES
MOVE STORY-AGRITH,HURTH-STORIES
ICALL2 PARTY-ADD,HURTH
?CND23: ICALL1 END-OPTION
CALL1 NEW-DEFAULT
RSTACK
?CCL17: EQUAL? ACTION,PROCEED-COMMAND \?CCL27
FSET? PRAXIX-VS-EVIL,SEEN \?CCL30
ICALL2 REMOVE-PARTY-COMMAND,PROCEED-COMMAND
PRINTI "We started down the dark passage, and soon felt the dark Evil we had encountered earlier in our journey."
CRLF
CRLF
PRINTI """We should have expected this; when last we met, we were not much farther along this same path!"" Praxix said."
CRLF
CRLF
PRINTI "There was little discussion - we had to return to the stairs, lest we face the unseen terror yet again."
RTRUE
?CCL30: CALL MOVE-TO,DARK-EVIL-CAVERN,STR?567
RSTACK
?CCL27: EQUAL? ACTION,DOWN-COMMAND \FALSE
CALL1 MOVE-TO-2-W
RSTACK
.FUNCT MOVE-TO-2-W:ANY:0:0
PRINTI "The stair became steeper as we descended, and it was hours before we came to the next level of the caverns. Here, a major path led away into the darkness, but the stair continued its relentless descent into the depths of the earth."
FSET? HURTH,IN-PARTY \?CND1
CRLF
CRLF
PRINTI """We are not nearly to the lower levels,"" Hurth said. ""The path leads down much farther!"""
?CND1: CALL2 MOVE-TO,MINE-2-W
RSTACK
.ENDSEG
.ENDI

295
part2.zil Normal file
View file

@ -0,0 +1,295 @@
"PART2 for
JOURNEY
(c) Copyright 1988, 1989 Infocom, Inc. All Rights Reserved."
;"Connection to 2nd part from Astrix Tower"
<BEGIN-SEGMENT PART2>
<GLOBAL PART-TWO <>>
<ROUTINE START-PART-TWO ()
<REMOVE ,STORY-CAVERNS>
<REMOVE ,NYMPH-STONE>
<REMOVE ,ELF-STONE>
<UPDATE-REMOVE ,DWARF-STONE>
<SETG PART-TWO T>
<FCLEAR ,WEBBA-MAP ,DONT-DROP>
<REMOVE-ALL ,HURTH-STORIES>
<COND (<OR ,CHEAT <FSET? ,HERMIT-POWDER ,SEEN>>
<UPDATE-REMOVE ,HERMIT-POWDER>
<FSET ,REAGENT ,SOLVED>
<MOVE ,REAGENT ,REAGENTS>
<FIXUP-PRAXIX-COMMANDS>
<COND (<FSET? ,HERMIT-POWDER ,INCAPACITATED>
<TELL
"In retrospect, it seems strange that Praxix had not mentioned it when we
first came to the Sunrise Tower, but he now took out the hermit's strange
powder and showed it the Astrix, who">)
(T
<TELL
"Praxix showed Astrix the strange powder the hermit had thrown at us,
and Astrix">)>
<TELL
" eyed it knowingly. Tasting the blue-green powder
to confirm his suspicions, he smiled and explained." CR CR>
<TELL
"\"I cannot think where Garlimon found this powder, but it is fortunate
indeed that he did. This,\" he said, rubbing the powder between his
fingers, \"is a rare magical reagent which can be mixed with the
earthly essences to produce powerful enchantments. Be careful; the reagent
is most unstable, and should be mixed only when needed. Even then, some
mixtures may not have any effect whatever.\"">)
(T
<TELL
"Astrix had some words for Praxix regarding the next phase of our journey.
\"In the lowest levels of the Dwarves caverns, there are magical reagents
which can be mixed with the earthly essences to create powerful enchantments.
The most valuable is a blue-green rock which crumbles to a fine powder
that is bitter to the taste. Take care if you find it, for it is most
unstable, and should be mixed only when needed. Even then, some mixtures
may not have any magical effect.\"">
<TRAVEL-COMMANDS ,PRAXIX
,CAST-COMMAND
,EXAMINE-COMMAND>)>
<TELL CR CR
"When it was time to leave, Astrix gave us rough directions through the
forest to the Dwarvish gate at Bern i-Fen, at the extreme eastern
end of the Reth a-Zar. \"I shall alert the Dwarves of your coming,\"
he said, and spoke in some forgotten tongue to an eagle who was perched
quietly on the tower's battlements. The eagle gave a shrill cry, then
soared from sight into the west." CR CR>
<TELL
"\"Your path will be difficult, that is certain, but remember: we have many
friends yet who live upon the earth. Be careful!
Make good speed!\" And with that, he turned and limped back to his
high tower." CR CR>
<NEXT-DAY 2>
<TELL
"Our path became difficult, but not at first, as we headed ever westward
through the Old Forest toward the caverns of the Dwarves. It was mid-afternoon
when the road unexpectedly forked; both paths led roughly to the west,
one heading more southerly and the other more northerly.">
<MOVE-TO ,FOREST-FORK>>
<COMMAND (NORTH-ROUTE NORTH)>
<COMMAND (SOUTH-ROUTE SOUTH)>
<GLOBAL A-B-FLAG <>>
<ROOM FOREST-FORK
(TRAVEL-COMMANDS NORTH-ROUTE-COMMAND SOUTH-ROUTE-COMMAND
NUL-COMMAND)
(FLAGS ADVISE)
(GRAPHIC G-FOREST)
(ACTION
<ACOND ()
(GET-ADVICE:REMOVE
<TELL
"Bergon reminded us that Astrix had said the Dwarvish gate was west
of our position">
<COND (<FSET? ,HERE ,SCOUTED>
<TELL
", and suggested taking the northern route, it being
the closest to due west. He solicited advice from the others in the
group, who were all in general agreement.">)
(T
<TELL
". The problem, we reminded him, was that both paths appeared to be
heading in a westerly direction, giving no obvious sign as to which would
be the best route to take.">)>)
(SCOUT:REMOVE
<FSET ,HERE ,SCOUTED>
<TELL ACT
" sped off into the forest, returned, then sped off down the other fork.
When he returned, he offered no help in our decision." CR CR>
<TELL
"\"Both paths appear to run roughly west, though I'd say the northern
path is a bit more direct,\" he said.">)
(NORTH-ROUTE
<SETG A-B-FLAG T>
<TELL
"We chose the more northerly path, and by day's end we had reached the
place described by Astrix as the Dwarvish gate of Bern i-Fen.">
<TELL ,FOREST-NIGHT>
<TELL CR CR
"When we awoke the next morning, a cold wind blew from the north, yet
a dark shroud of mist lay over the forest. It seemed an ill-omened day,
and our hearts were heavy with uncertainty and doubt. I packed our
things, and our party approached the gate.">
<MOVE-TO ,FOREST-GATE>)
(SOUTH-ROUTE
<TELL
"Choosing the more southerly path, we moved quickly as the forest appeared
to become older and darker. Rather than entering this foreboding forest so
late in the day, we camped just outside.">
<TELL ,FOREST-NIGHT>
<TELL " We rose to a cold, but sunny morning and were soon
in the midst of the dark forest.">
<SCENE ,TANGLESCENE>
<MOVE-TO ,TANGLEWOOD-1>)>)>
<CONSTANT FOREST-NIGHT " The night was
cold, for winter was nigh upon us; the stars shone down brightly on us, and a
crescent moon rose over the Sunrise Mountain. Perhaps, I thought, this presaged
better days yet to come.">
<END-SEGMENT>
<BEGIN-SEGMENT CAVERNS>
<ROOM FOREST-GATE
(TRAVEL-COMMANDS ENTER-COMMAND NUL-COMMAND NUL-COMMAND)
(FLAGS DONT-SCOUT)
(ENTER
<EXECUTE ()
<GRAPHIC ,G-GATE-RUNES ;,G-GATE-OPENS ;,BOTTOM-RIGHT>>)
(ACTION
<ACOND ()
(ENTER
<PICINF ,G-HURTH-SHADOW ,PICINF-TBL>
<TELL
"\"Klem'ela,\" Praxix intoned, and the Dwarvish door winked into
existence and opened. Cold, fetid air rushed from the caverns to meet
us, filling us with a morbid disgust." CR CR>
<TELL
"\"There is something, well, unwholesome about this cavern,\" I said,
as we started into the darkness. Happily, Astrix had lit Praxix' staff
before we had departed, and its pale red light still glowed enough to
see by." CR CR>
<FSET ,PRAXIX ,LIT>
<TELL
"We made quick progress down the arrow-straight road and soon
came upon a steep stair cut in the rock. I was about to comment
upon the Dwarves' monumental stonework, when Bergon stopped me
in my tracks." CR CR>
<TELL
"\"Shhh!\" he whispered roughly, \"there is something moving in
the shadows ahead!\"">
<MOVE-TO ,MINE-STAIR>)>)>
<COMMAND CONFRONT>
<ROOM MINE-STAIR
(TRAVEL-COMMANDS PROCEED-COMMAND DOWN-COMMAND NUL-COMMAND)
(GRAPHIC G-HURTH-SHADOW)
(FLAGS UNDERGROUND ADVISE)
(ENTER
<EXECUTE ()
<COND (<NOT <IN-PARTY? ,HURTH>>
<OPTION ,BERGON ,CONFRONT-COMMAND ,IGNORE-COMMAND>)>>)
(ACTION
<ACOND ()
(<OR <ACTION? SCOUT> <ACTION? GET-ADVICE>>
<UPDATE-FSET ,HERE ,DONT-SCOUT>
<FCLEAR ,HERE ,ADVISE>
<COND (<AND <ACTION? GET-ADVICE> <IN-PARTY? ,HURTH>>
<TELL
"Bergon asked Hurth to scout ahead, but Hurth replied, \"I have come from
the path before us, and it is dark and full of evil. ">)
(T
<TELL ACT
" went on ahead, and returned with a disturbing report." CR CR>
<TELL
"\"The caverns are cold and dark, and feel, well, evil,\" he said.">
<COND (<AND <NOT <EQUAL? ,ACTOR ,HURTH>>
<IN-PARTY? ,HURTH>>
<TELL CR CR
"Hurth agreed. \"I have felt this myself,\" he said, adding, \"">)
(T <TELL " ">)>)>
<TELL
"It would be best to descend into the lower caverns here.\"">)
(<OR <ACTION? CONFRONT> <ACTION? IGNORE>>
<COND (<ACTION? CONFRONT>
<TELL
"At Bergon's command, we drew our weapons and moved forward. And then,">)
(T
<TELL
"\"A trick of the eye, perhaps,\" Praxix volunteered, pointing out other
suspicious shadows that his staff now cast upon the rocks." CR CR>
<TELL
"\"Perhaps,\" said Bergon, taking his hand off the hilt of his broadsword,
\"But these caverns teem with orcs, and we cannot be too careful. Yes,
now that I look again, I believe Praxix is right.\"" CR CR>
<TELL
"Just then, in pointed contradition to my elder's conclusions,">)>
<TELL
" a man stepped from the shadows, his face glowing in the pale light of
Praxix' outstretched staff." CR CR>
<TELL
"\"Hurth!\" I gasped, taking a step backward." CR CR>
<TELL
"\"Stand back,\" Bergon shouted at us and drawing his sword, he approached
the ghostly shadow of our lost friend. \"Begone, false image,\" he
demanded, and waved his sword menacingly before him." CR CR>
<COND (<IN? ,HINT-DARK-PRESENCE ,HINTS>
;"Party messed up pretty badly, letting it loose..."
<TELL
"\"Put down your weapon, Bergon,\" the shadow responded, \"It is I, Hurth.\"">
<TELL CR CR
"\"But how...\" I blurted out, still hiding behind Bergon's cloak." CR CR>
<TELL
"\"The story is long and will have to wait,\" Hurth began, \"Astrix sent word
that you may be needing assistance, but I am afraid we Dwarves have none to
offer. A great, dark evil has been loosed in these very halls and all of
our efforts are bent toward its destruction. Take not the path ahead, but
rather these stairs even to the lowest levels. It is there that you may find
what you seek - the stone of Cedrith!\"" CR CR>
<TELL
"\"I must return to my people. Good luck!\" he cried, and was gone." CR CR>
<TELL
"\"I fear we ourselves unleashed this evil upon the Dwarves,\" Praxix
moaned, \"These are dark days indeed, but hope remains if the Stone can be
found.\"">
<UPDATE-FCLEAR ,HERE ,ADVISE>
<REMOVE-TRAVEL-COMMAND ,HERE ,PROCEED-COMMAND>)
(T
<TELL
"\"It is I, Bergon,\" the shadow responded, \"I am sorry if I have upset
you, but Astrix said you would be needing some help!\"" CR CR>
<TELL
"\"But how...,\" I blurted out, still hiding behind Bergon's cloak." CR CR>
<TELL
"\"There is much to tell, and little time for the telling,\" he responded,
and bowing his head in sorrow, explained, \"My father, Agrith, saved my
life after our encounter with the orcs. The procedure cost him his own.\"
He then attempted a smile,
saying, \"Our hope lies in finding the ancient Stone, if Astrix is to be
believed. We Dwarves are certain it lies below, in the darkest regions of
these halls, where Cedrith was said to have found it, many long ages ago.\"">
<UPDATE-MOVE ,STORY-CEDRITH ,HURTH-STORIES>
<MOVE ,STORY-AGRITH ,HURTH-STORIES>
<PARTY-ADD ,HURTH>)>
<END-OPTION>
<NEW-DEFAULT>)
(PROCEED
<COND (<FSET? ,PRAXIX-VS-EVIL ,SEEN>
<REMOVE-PARTY-COMMAND ,PROCEED-COMMAND>
<TELL
"We started down the dark passage, and soon felt the dark Evil we
had encountered earlier in our journey." CR CR>
<TELL
"\"We should have expected this; when last we met, we were not
much farther along this same path!\" Praxix said." CR CR>
<TELL
"There was little discussion - we had to return to the stairs,
lest we face the unseen terror yet again.">)
(T
<MOVE-TO ,DARK-EVIL-CAVERN
"For some strange reason, I was apprehensive about this route
through the caverns, but Hurth was cheerful as we made quick
progress through the eastern regions of the Reth a-Zar.">)>)
(DOWN
<MOVE-TO-2-W>)>)>
<ROUTINE MOVE-TO-2-W ()
<TELL
"The stair became steeper as we descended, and it was hours before
we came to the next level of the caverns. Here, a major path led
away into the darkness, but the stair continued its relentless
descent into the depths of the earth.">
<COND (<IN-PARTY? ,HURTH>
<TELL CR CR
"\"We are not nearly to the lower levels,\" Hurth said. \"The path
leads down much farther!\"">)>
<MOVE-TO ,MINE-2-W>>

BIN
pool.save Normal file

Binary file not shown.

BIN
powder.save Normal file

Binary file not shown.

289
prison.zabstr Normal file
View file

@ -0,0 +1,289 @@
<BEGIN-SEGMENT DWARVES>
<ROOM OUTSIDE-PRISON (TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND NUL-COMMAND)
(GRAPHIC G-PRISON-RUNES) (ENTER FSET-SEEN) (FLAGS UNDERGROUND DONT-SCOUT) (
ACTION <ACOND () (<EQUAL? ,ACTION ,BACK-COMMAND> <MOVE-TO ,STAIR-BOTTOM #
ZLOCAL!-IZILCH STR?461>) (<EQUAL? ,ACTION ,PROCEED-COMMAND> <PRINTI
"We continued our march through the long passage. "> <COND (<FSET? ,HURTH ,
IN-PARTY> <PRINTI
"\"We have come nearly to the eastern extent of the Reth a-Zar, where the
Bern i-Fen leads to the Old Forest,\" Hurth said."> <CRLF> <CRLF>) (T <PRINTI
"\"My sense is that we are nearing the Forest Gate,\" Praxix said."> <CRLF> <
CRLF>)> <MOVE-TO ,DARK-EVIL-CAVERN #ZLOCAL!-IZILCH STR?462>) (<EQUAL? ,ACTION ,
ENTER-COMMAND> <COND (<FSET? ,HERE ,TRAPPED> <REMOVE-TRAVEL-COMMAND> <PRINTI
"I suggested returning to the prison, but we decided against it.
\""> <COND (,KIDNAPPED <WPRINTD ,KIDNAPPED>) (T <PRINTI "My kinsman">)> <PRINTI
" is dead,\" Hurth said, gently. \"The orcs do not keep
prisoners, except for the sport of torture. In any event, they
will expect our return, and lie in wait for us. Let us continue,
that his death will not have been in vain.\"">) (T <MOVE-TO ,PRISON>)>)>)>
<DEFINE-ROUTINE ANONF-151>
<GLOBAL DARK-EVIL-LOC 0>
<ROOM DARK-EVIL-CAVERN (TRAVEL-COMMANDS BACK-COMMAND PROCEED-COMMAND
NUL-COMMAND) (FLAGS UNDERGROUND DANGEROUS ADVISE) (CAST-LIMIT INF) (GRAPHIC
G-DARK-CAVERN) (ENTER <EXECUTE () <FSET ,DARK-EVIL-CAVERN ,SEEN> <TELL CR CR
"Bergon laughed, as did Praxix, but there was another sound also, cold and
rumbling, like distant thunder; and it came from before us."> <COND (<FSET? ,
HURTH ,IN-PARTY> <CRLF> <CRLF> <PRINTI
"\"I know not what lies before us,\" Hurth said, \"yet I know
that many evils, having long inhabited the deepest places of the earth,
now boldly tread even on the Dwarves' hallowed halls.\"">)>>) (TEMP 0) (ACTION
<ACOND ("AUX" TMP) (<EQUAL? ,ACTION ,GET-ADVICE-COMMAND> <UPDATE-FCLEAR ,HERE ,
ADVISE> <PRINTI "Bergon sought the group's advice, and the consensus was clearly to turn back.
Praxix, however, was uncertain, torn between his desire for further exploration
and the danger he felt certain was ahead.">) (<OR <EQUAL? ,ACTION ,
PROCEED-COMMAND> <EQUAL? ,ACTION ,BACK-COMMAND>> <PUTP ,HERE ,P?TEMP #
ZLOCAL!-IZILCH TMP> <COND (<EQUAL? ,ACTION ,PROCEED-COMMAND> <SETG
DARK-EVIL-LOC <ADD ,DARK-EVIL-LOC 1>>) (T <SETG DARK-EVIL-LOC <SUB ,
DARK-EVIL-LOC 1>>)> <COND (<EQUAL? .TMP 1> <PRINTI
"A cold wind chilled us to the bone as we inched our way "> <COND (<EQUAL? ,
ACTION ,BACK-COMMAND> <PRINTI "back ">)> <PRINTI "through the cavern."> <COND (
<FSET? ,PRAXIX ,LIT> <CRLF> <CRLF> <PRINTI
"\"Praxix! Look!\" I cried, pointing at the Wizard's staff. The staff
still glowed a pale red, but the light it cast was different; duller, perhaps,
or less potent.">)> <RTRUE>) (<EQUAL? .TMP 2> <COND (<EQUAL? ,ACTION ,
BACK-COMMAND> <PRINTI "Back">) (T <PRINTI "On">)> <PRINTI
" we went, as the now frigid air grew colder still with each tentative
step."> <COND (<FSET? ,PRAXIX ,LIT> <PRINTI
" Praxix' staff was now glowing a dim, dull red, and its light was barely
enough to see by.">)> <CRLF> <CRLF> <PRINTI
"\"Something's here,\" I whispered, as the air grew stale, then acrid. I
stumbled backward, tripped, and fell against the ground."> <
REMOVE-PARTY-COMMAND ,PROCEED-COMMAND> <COND (<FSET? ,HURTH ,IN-PARTY> <CRLF> <
CRLF> <PRINTI "\"This is an evil day,\" said Hurth. \"I hope there is time yet for us to
make our escape.\"">)> <RTRUE>) (T <REMOVE-PARTY-COMMAND ,BACK-COMMAND> <PRINTI
"As we moved ever more slowly through the blackness, the evil presence drew
closer still. But Praxix stood his ground, saying, \"We must not allow
this evil to endanger the other Dwarves. Run now, while I teach this
thing a lesson!\" It was sheer bravado, but Praxix was insistent.
\"Fly,\" he shouted. \"I shall join you soon!\""> <CRLF> <CRLF> <PRINTI
"Bergon agreed that there was nothing we could do but get ourselves
into more trouble, so we retreated to the stairs to await Praxix'
return."> <SCENE ,PRAXIX-VS-EVIL>)>) (<AND <EQUAL? ,ACTION ,CAST-COMMAND> <
EQUAL? ,ACTION-OBJECT ,LIGHT-SPELL> <EQUAL? ,ACTION-PRSI ,STAFF>> <PRINTI
"Praxix applied some fire and earth essences to the end of his staff, but the
light grew dimmer, not brighter. \"Most peculiar,\" he said.">) (<AND <EQUAL? ,
ACTION ,CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,TREMOR-SPELL>> <UNUSE-ESSENCES> <
PRINTI "The thought crossed Praxix' mind to cast a tremor spell, isolating
this dark presence. But the tremor spell was always unpredictable,
and the entire party might be placed in jeopardy.">) (<AND <EQUAL? ,ACTION ,
CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,FAR-VISION-SPELL>> <CAST-FAR-VISION #
ZLOCAL!-IZILCH FALSE-VALUE> <PRINTI
" But the ball of flame, rather than expelling the darkness before it, was wholly
enveloped by it. \"I fear to think what evil can consume the very light,\" Praxix
said.">)>)>
<DEFINE-ROUTINE ANONF-152>
<DEFINE-ROUTINE ANONF-153>
<OBJECT PRAXIX-VS-EVIL (TEMP 0) (GRAPHIC G-MINER-PASSAGE) (ACTION <ACOND ("AUX"
TMP) (<EQUAL? ,ACTION ,SCENE-START-COMMAND> <FSET ,PRAXIX-VS-EVIL ,SEEN> <
TRAVEL-COMMANDS ,PRAXIX ,CAST-COMMAND ,EXAMINE-COMMAND> <MAKE-SUBGROUP ,PRAXIX>
<NEW-DEFAULT #ZLOCAL!-IZILCH STACK 1>) (<EQUAL? ,ACTION ,SCENE-END-COMMAND> <
TRAVEL-COMMANDS ,PRAXIX ,CAST-COMMAND #ZLOCAL!-IZILCH STACK ,EXAMINE-COMMAND> <
CLEAR-SUBGROUP>) (<EQUAL? ,ACTION ,CAST-COMMAND> <PUTP ,PRAXIX-VS-EVIL ,P?TEMP
#ZLOCAL!-IZILCH TMP> <COND (<OR <EQUAL? .TMP 3> <AND <EQUAL? ,ACTION-OBJECT ,
TREMOR-SPELL> <NOT <EQUAL? .TMP 1>>>> <PRINTI "Finally, ">) (<EQUAL? .TMP 1> <
COND (<NOT <EQUAL? ,ACTION-OBJECT ,TREMOR-SPELL>> <PRINTI "First, ">)>) (T <
PRINTI "Then, ">)> <COND (<EQUAL? ,ACTION-OBJECT ,FIRE-SPELL ,LIGHT-SPELL ,
FAR-VISION-SPELL> <PRINTI
"Praxix pulled out some magic essences and prepared to cast
his enchantment. But it was no use! The dark presence negated the
spell even as it was cast.">) (<EQUAL? ,ACTION-OBJECT ,RAIN-SPELL ,
LIGHTNING-SPELL> <UNDERGROUND-CHECK>) (<EQUAL? ,ACTION-OBJECT ,WIND-SPELL> <
PRINTI "pulling out some air essence, he cast that spell toward the
unseen evil, but this barely slowed its inexorable approach.">) (<OR <EQUAL? ,
ACTION-OBJECT ,LEVITATE-SPELL> <EQUAL? ,ACTION-OBJECT ,MUD-SPELL>> <
PRAXIX-NO-CAST>) (<EQUAL? ,ACTION-OBJECT ,TREMOR-SPELL> <PRINTI
"Praxix removed some earth essence and
cast it upon the stone before his feet. At once,
the earth began to shake, and Praxix slowly backed away. An instant
later, the roof of the cavern collapsed before him, knocking him off
his feet. "> <COND (<EQUAL? ,DARK-EVIL-LOC 1> <FIND-ESSENCE ,ESSENCE-WATER 2> <
FSET ,ESSENCE-WATER ,SCOUTED> <FSET ,DARK-EVIL-CAVERN ,SOLVED> <PRINTI
"Exhausted, he started to return when he noticed a strange rock-like substance
coursing through the cavern walls. \"Well, well,\" he said, pleased at his discovery,
\"Water essence!\" The cavern continued to shake, and he carefully removed as much of
the magical rock as he could before it became to dangerous to delay any further. "
>)> <PRINTI "Carefully, he retreated to the "> <COND (<NOT ,PART-TWO> <PRINTI
"bottom of the ">)> <PRINTI
"stairs, where we
were anxiously awaiting his return."> <COND (<NOT ,PART-TWO> <CRLF> <CRLF> <
PRINTI "\"I believe we are safe, at least for the moment. "> <COND (<FSET? ,
MINAR ,DONT-DROP> <PRINTI "Minar was right;
we are beset by dangers. ">)> <PRINTI
"And now, I must rest.\" And with that, Praxix
lowered himself to the floor, and fell into a deep sleep.">)> <COND (<AND <
FSET? ,ESHER ,IN-PARTY> <NOT ,PART-TWO>> <CRLF> <CRLF> <PRINTI
"\"He is a fine Wizard,\" Esher admitted, \"though he knows more than
he speaks.\"">)> <COND (<NOT ,PART-TWO> <CRLF> <CRLF> <PRINTI
"It was now late, and we were all hungry and tired. I took out some
provisions and we ate a small meal before retiring for the night. We
woke early the next morning, well rested for another day in the
caverns."> <NEXT-DAY>)> <SCENE #ZLOCAL!-IZILCH FALSE-VALUE> <FSET ,HERE ,
ENCHANTED> <COND (,PART-TWO <TRAVEL-COMMANDS ,MINE-STAIR ,DOWN-COMMAND> <
MOVE-TO ,MINE-STAIR>) (T <TRAVEL-COMMANDS ,OUTSIDE-PRISON ,BACK-COMMAND #
ZLOCAL!-IZILCH STACK> <MOVE-TO ,STAIR-BOTTOM>)> <FSET ,HERE ,DANGEROUS> <RTRUE>
)> <COND (<EQUAL? .TMP 3> <CRLF> <CRLF> <PRINTI
"The core of the evil itself was upon Praxix, and it took all of
his strength to escape it. He fled back to the stairs, where he joined
with the rest of the party."> <CRLF> <CRLF> <PRINTI
"\"I cannot stop this thing,\" he said, breathlessly. \"We must flee
these halls!\""> <CRLF> <CRLF> <SCENE #ZLOCAL!-IZILCH FALSE-VALUE> <COND (<
FSET? ,HURTH ,IN-PARTY> <PRINTI "Hurth">) (T <PRINTI "Bergon">)> <PRINTI
" shepherded us "> <COND (,PART-TWO <PRINTI
"down the stairs. \"It may be safer below, though
I fear we there is no safety in these halls anymore.\""> <CRLF> <CRLF> <
MOVE-TO-2-W>) (T <PRINTI "up the stairs"> <COND (<FSET? ,HURTH ,IN-PARTY> <
PRINTI ". \"I did not say so before, but
there is Dwarvish door here.\" And then, speaking a word of command,
an unseen door sealed off the stairs. \"We have long dreaded this day,
but we are not unprepared. The lower chambers are now sealed; I fear that
we shall never see them again.\" He held back tears as he guided us up
the stairs to a nearby landing.">) (T <HINT ,HINT-DARK-PRESENCE> <PRINTI
" and to a nearby landing."> <CRLF> <CRLF> <PRINTI
"\"We will not be safe at the lower levels,\" he said. \"Our best hope is
to leave these caverns through the High Gate. I pray the Dwarves are safe
from whatever it is that pursues us!\"">)> <CRLF> <CRLF> <PRINTI
"From the landing, it was another four or five hours to the junction
of two stairs"> <COND (<NOT <FSET? ,STAIR-JUNCTION ,SEEN>> <COND (<FSET? ,HURTH
,IN-PARTY> <PRINTI
". \"The stair to the left leads to the Tower of the Sunset;
the stair to the right leads to the High Gate,\" Hurth said. \"If
we intend to reach the Tower, we should start now. It is a much
longer climb.\"">) (T <PRINTI "; neither was marked.">)>)> <
REMOVE-TRAVEL-COMMAND ,STAIR-JUNCTION ,DOWN-COMMAND> <MOVE-TO ,STAIR-JUNCTION>)
>)> <RTRUE>)>)>
<DEFINE-ROUTINE ANONF-154>
<OBJECT PRISON-RUNES (SDESC "runes") (KBD 82) (LOC OUTSIDE-PRISON) (FLAGS
DONT-TAKE) (EXBITS <+ ,PRAXIXBIT ,HURTHBIT>) (ACTION <ACOND () (<EQUAL? ,ACTION
,EXAMINE-COMMAND> <CLEAR-EXBIT> <FSET ,ACTION-OBJECT ,EXAMINED> <COND (<EQUAL?
,ACTOR ,PRAXIX> <WPRINTD ,ACTOR> <PRINTI
" examined the runes, but found he had no memory of such symbols.">) (T <
UPDATE-REMOVE ,PRISON-RUNES> <ADD-TRAVEL-COMMAND ,HERE ,ENTER-COMMAND> <WPRINTD
,ACTOR> <PRINTI " glanced at the runes and said, \"The runes say 'prison'. And
now that I look more closely, I can see a door here as well.\" We tried
to find the door, but Hurth interrupted. \"It is a Dwarvish door;
you will not find it.\"">)>)>)>
<DEFINE-ROUTINE ANONF-155>
<ROOM PRISON (TRAVEL-COMMANDS LEFT-COMMAND RIGHT-COMMAND NUL-COMMAND) (GRAPHIC
G-PRISON) (CAST-LIMIT INF) (FLAGS UNDERGROUND ADVISE DANGEROUS) (TEMP 0) (ENTER
<EXECUTE () <FSET ,HERE ,SEEN> <TELL
"Hurth approached the door and spoke a Dwarvish command of opening.
The massive door obliged without a sound, and we entered a large
vestibule; the door closed behind us, becoming invisible." CR CR> <TELL
"\"These Dwarvish doors take some getting used to!\" I said,
thinking of the gate through which we entered these caverns." CR CR> <TELL
"\"Do not be alarmed,\" said Hurth. \"Watch!\" Hurth called out a
command, but no door appeared. He laughed nervously, then called
out a few dozen more foreign words the last few of which sounded rather
more like expletives than commands." CR CR> <COND (<FSET? ,ESHER ,IN-PARTY> <
PRINTI "\"Well?\" Esher prompted, but Hurth was deep in thought. ">)> <TELL
"Bergon,
trying his best to control his temper, paced to the center of the
vestibule, and looked down the dark corridors which led off to our
left and right.">>) (ACTION <ACOND ("AUX" TMP F) (<AND <EQUAL? ,ACTION ,
CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,FAR-VISION-SPELL>> <CAST-FAR-VISION #
ZLOCAL!-IZILCH FALSE-VALUE> <PRISON-SOLVED> <FSET ,HERE ,BLACK-MIX> <GRAPHIC ,
G-PRISON-FV> <COND (<FSET? ,ESHER ,IN-PARTY> <CRLF> <CRLF> <PRINTI
"\"Well, that was useful!\" Esher said, in his most sarcastic voice.
I was sure that Praxix would respond with some clever retort">) (T <CRLF> <CRLF
> <PRINTI "The ball of flame was soon out of sight, and nothing had been learned.
Praxix was about to make another suggestion">)> <PRINTI
", when his
face became contorted with fear. \"Down!\" he shouted, pushing us to
the ground."> <CRLF> <CRLF> <PRINTI
"\"What the...?\" started Bergon, catching sight of the ball of flame
that raced toward us. As it continued down the far corridor, we pulled
ourselves to our feet. \"It would seem,\" Praxix said blankly, wiping
the "> <TELL-COLOR ,ESSENCE-FIRE ,ESSENCE-AIR> <PRINTI
" residue from his fingers, \"that following these corridors will be a
tiring proposition!\""> <CRLF> <CRLF> <PRINTI
"Then, casting his gaze upward, he saw, in the dim afterglow of the
fireball, a narrow ledge not two dozen feet above us. \"I suggest we march
that way!\", he said, and raised his crooked forefinger toward the darkening
image.">) (<AND <EQUAL? ,ACTION ,SCOUT-COMMAND> <NOT <FSET? ,HERE ,SOLVED>>> <
WPRINTD ,ACTOR> <PRINTI
" walked down the passage, turning a corner. A few minutes later, he
returned, reporting only that the passage did quite a lot of twisting
and turning. \"As to where it leads,\" he said, \"your guess is as good
as mine.\""> <UPDATE-FSET ,HERE ,DONT-SCOUT>) (<EQUAL? ,ACTION ,
GET-ADVICE-COMMAND> <UPDATE-FCLEAR ,HERE ,ADVISE> <COND (<LESS? #ZLOCAL!-IZILCH
STACK 2> <PRINTI
"We huddled among ourselves and agreed that it would be best to "> <COND (<
ZERO? .TMP> <PRINTI "explore">) (T <PRINTI "continue exploring">)> <PRINTI
" the caverns.">) (<NOT <QSET? ,HERE ,EXAMINED>> <PRINTI
"\"I don't think we're making much progress.\" I said, looking
at our familiar surroundings.">)>) (<AND <EQUAL? ,ACTION ,DROP-COMMAND> <NOT <
FSET? ,HERE ,SOLVED>>> <UPDATE-MOVE ,ACTION-OBJECT ,HERE> <FSET ,HERE ,
DONT-DROP> <PRINTI
"The caverns looked suspiciously like a maze of some kind to me,
so I surreptitiously dropped the "> <WPRINTD ,ACTION-OBJECT> <PRINTI
" on the ground to help
mark our location.">) (<EQUAL? ,ACTION ,PICK-UP-COMMAND> <PRINTI
"Reconsidering my decision to leave the "> <WPRINTD ,ACTION-OBJECT> <PRINTI
" on the ground, I bent
down and picked it up again, putting it back in my pack for safekeeping."> <
FCLEAR ,HERE ,DONT-DROP> <UPDATE-MOVE ,ACTION-OBJECT ,INVENTORY>) (<EQUAL? ,
ACTION ,UP-COMMAND> <REMOVE-TRAVEL-COMMAND> <PRINTI
"We looked up into the darkness, but could discern nothing. 'Up'
may have been our only alternative, as Praxix said, but getting there
would be another matter."> <COND (<NOT <CHECK-ESSENCES ,LEVITATE-SPELL>> <
PRINTI " Praxix pulled his pouch from inside of his cloak, and spoke dejectedly.
\"I haven't the essences to prepare an elevation spell. It would seem that we shall
be staying here indefinitely."> <FORCE-PRISON-EXIT>)> <RTRUE>) (<AND <EQUAL? ,
ACTION ,CAST-COMMAND> <EQUAL? ,ACTION-OBJECT ,LEVITATE-SPELL>> <COND (<NOT <
FSET? ,HERE ,SOLVED>> <PRINTI
"It may be that Praxix knew something we didn't, because he reached into
his cloak and started to put together one of his magical preparations.
Next thing I knew, "> <WPRINTD ,ACTION-PRSI> <PRINTI
" was rising into the air! His ascent, exhilarating
as it was, was cut short as he bumped his head into the rock that lay
above us. A few moments later, he descended to the ground.">) (<NOT <FSET? ,
HERE ,BLACK-MIX>> <PRINTI
"Praxix now drew some air and earth essences from his pouch and tried to levitate "
> <WPRINTD ,ACTION-PRSI> <PRINTI
" to whatever lay above. But, sadly, we had no indication of where to
attempt this, and "> <WPRINTD ,ACTION-PRSI> <PRINTI
" merely bumped his head into the prison's upper
regions and descended back to the ground. \"This will never work,\" Praxix said, \"I
haven't enough of my powders to map out the upper galleries this way.\""> <CRLF
> <CRLF> <PRINTI "\"And a good thing, too,\" "> <WPRINTD ,ACTION-PRSI> <PRINTI
" said, rubbing the bruise on his head."> <FORCE-PRISON-EXIT>) (T <PRINTI
"Praxix now drew some magical powder from his cloak, motioned "> <WPRINTD ,
ACTION-PRSI> <PRINTI
" a few steps to his left, then cast the preparation onto him. He climbed into
the air, coming finally to a landing which he grabbed tightly onto
(for fear of going even higher!) Once the elevation spell had worn off, he released
his grip on the rock slab and pulled himself to his feet. Lowering the rope which
I had thrown up to him, "> <COND (<IN? ,ROPE ,HERE> <UPDATE-MOVE ,ROPE ,
INVENTORY>)> <WPRINTD ,ACTION-PRSI> <PRINTI
" brought the others up to the
landing where he stood."> <CRLF> <CRLF> <MOVE-TO ,ORC-FORK #ZLOCAL!-IZILCH
STR?464>)>) (<OR <EQUAL? ,ACTION ,PROCEED-COMMAND> <EQUAL? ,ACTION ,
BACK-COMMAND> <EQUAL? ,ACTION ,LEFT-COMMAND> <EQUAL? ,ACTION ,RIGHT-COMMAND>> <
PUTP ,HERE ,P?TEMP #ZLOCAL!-IZILCH STACK> <COND (<ZERO? .TMP> <PRINTI
"It was pointless to remain here, so we started down the long and
winding corridor. I felt almost dizzy from the turning by the time
we arrived at another vestibule about five minutes later. It looked
much the same as the previous one; and the passage continued farther
into the darkness."> <TRAVEL-COMMANDS ,HERE ,PROCEED-COMMAND ,BACK-COMMAND>) (<
EQUAL? .TMP 1> <PRINTI
"Again, we marched down the corridor, twisting and turning, turning
and twisting, and again coming to a vestibule, beyond which the
passage continued."> <COND (<FSET? ,ESHER ,IN-PARTY> <PRINTI
" \"Brother Hurth, do you think we are making any
progress?\" Esher asked. Hurth, embarrassed, did not respond.">)>) (T <PRINTI
"Once again, we marched through the passage, and once again we
arrived at a similar vestibule.">)> <COND (<SET F <FIRST? ,HERE>> <CRLF> <CRLF>
<PRINTI "Just then, I noticed that the "> <WPRINTD .F> <PRINTI
" I had dropped earlier was sitting on the
ground beside my feet! Excitedly, I replaced it in my pack and told the others
of my discovery."> <UPDATE-MOVE .F ,INVENTORY> <CRLF> <CRLF> <PRINTI
"Praxix shook his head slowly. \"As I had suspected - we are in a prison
after all."> <COND (<CHECK-ESSENCES ,FAR-VISION-SPELL> <PRINTI
" Perhaps this will shed more light on our predicament!\""> <CRLF> <PERFORM ,
CAST-COMMAND ,FAR-VISION-SPELL>) (T <PRISON-SOLVED> <PRINTI
" And it would appear that the only way to go is up!\"">)>)> <RTRUE>)>)>
<DEFINE-ROUTINE ANONF-156>
<DEFINE-ROUTINE ANONF-157>
<DEFINE-ROUTINE FORCE-PRISON-EXIT>
<DEFINE-ROUTINE PRISON-SOLVED>

438
prison.zap Normal file
View file

@ -0,0 +1,438 @@
.SEGMENT "DWARVES"
.FUNCT ANONF-151:ANY:0:0
EQUAL? ACTION,BACK-COMMAND \?CCL3
CALL MOVE-TO,STAIR-BOTTOM,STR?461
RSTACK
?CCL3: EQUAL? ACTION,PROCEED-COMMAND \?CCL5
PRINTI "We continued our march through the long passage. "
FSET? HURTH,IN-PARTY \?CCL8
PRINTI """We have come nearly to the eastern extent of the Reth a-Zar, where the Bern i-Fen leads to the Old Forest,"" Hurth said."
CRLF
CRLF
JUMP ?CND6
?CCL8: PRINTI """My sense is that we are nearing the Forest Gate,"" Praxix said."
CRLF
CRLF
?CND6: CALL MOVE-TO,DARK-EVIL-CAVERN,STR?462
RSTACK
?CCL5: EQUAL? ACTION,ENTER-COMMAND \FALSE
FSET? HERE,TRAPPED \?CCL13
ICALL1 REMOVE-TRAVEL-COMMAND
PRINTI "I suggested returning to the prison, but we decided against it. """
ZERO? KIDNAPPED /?CCL16
ICALL2 WPRINTD,KIDNAPPED
JUMP ?CND14
?CCL16: PRINTI "My kinsman"
?CND14: PRINTI " is dead,"" Hurth said, gently. ""The orcs do not keep prisoners, except for the sport of torture. In any event, they will expect our return, and lie in wait for us. Let us continue, that his death will not have been in vain."""
RTRUE
?CCL13: CALL2 MOVE-TO,PRISON
RSTACK
.FUNCT ANONF-152:ANY:0:0
FSET DARK-EVIL-CAVERN,SEEN
CRLF
CRLF
PRINTI "Bergon laughed, as did Praxix, but there was another sound also, cold and rumbling, like distant thunder; and it came from before us."
FSET? HURTH,IN-PARTY \FALSE
CRLF
CRLF
PRINTI """I know not what lies before us,"" Hurth said, ""yet I know that many evils, having long inhabited the deepest places of the earth, now boldly tread even on the Dwarves' hallowed halls."""
RTRUE
.FUNCT ANONF-153:ANY:0:0,TMP
EQUAL? ACTION,GET-ADVICE-COMMAND \?CCL3
ICALL UPDATE-FCLEAR,HERE,ADVISE
PRINTI "Bergon sought the group's advice, and the consensus was clearly to turn back. Praxix, however, was uncertain, torn between his desire for further exploration and the danger he felt certain was ahead."
RTRUE
?CCL3: EQUAL? ACTION,PROCEED-COMMAND /?CTR4
EQUAL? ACTION,BACK-COMMAND \?CCL5
?CTR4: GETP HERE,P?TEMP
ADD STACK,1 >TMP
PUTP HERE,P?TEMP,TMP
EQUAL? ACTION,PROCEED-COMMAND \?CCL10
INC 'DARK-EVIL-LOC
JUMP ?CND8
?CCL10: DEC 'DARK-EVIL-LOC
?CND8: EQUAL? TMP,1 \?CCL13
PRINTI "A cold wind chilled us to the bone as we inched our way "
EQUAL? ACTION,BACK-COMMAND \?CND14
PRINTI "back "
?CND14: PRINTI "through the cavern."
FSET? PRAXIX,LIT \TRUE
CRLF
CRLF
PRINTI """Praxix! Look!"" I cried, pointing at the Wizard's staff. The staff still glowed a pale red, but the light it cast was different; duller, perhaps, or less potent."
RTRUE
?CCL13: EQUAL? TMP,2 \?CCL19
EQUAL? ACTION,BACK-COMMAND \?CCL22
PRINTI "Back"
JUMP ?CND20
?CCL22: PRINTI "On"
?CND20: PRINTI " we went, as the now frigid air grew colder still with each tentative step."
FSET? PRAXIX,LIT \?CND23
PRINTI " Praxix' staff was now glowing a dim, dull red, and its light was barely enough to see by."
?CND23: CRLF
CRLF
PRINTI """Something's here,"" I whispered, as the air grew stale, then acrid. I stumbled backward, tripped, and fell against the ground."
ICALL2 REMOVE-PARTY-COMMAND,PROCEED-COMMAND
FSET? HURTH,IN-PARTY \TRUE
CRLF
CRLF
PRINTI """This is an evil day,"" said Hurth. ""I hope there is time yet for us to make our escape."""
RTRUE
?CCL19: ICALL2 REMOVE-PARTY-COMMAND,BACK-COMMAND
PRINTI "As we moved ever more slowly through the blackness, the evil presence drew closer still. But Praxix stood his ground, saying, ""We must not allow this evil to endanger the other Dwarves. Run now, while I teach this thing a lesson!"" It was sheer bravado, but Praxix was insistent. ""Fly,"" he shouted. ""I shall join you soon!"""
CRLF
CRLF
PRINTI "Bergon agreed that there was nothing we could do but get ourselves into more trouble, so we retreated to the stairs to await Praxix' return."
CALL2 SCENE,PRAXIX-VS-EVIL
RSTACK
?CCL5: EQUAL? ACTION,CAST-COMMAND \?CCL28
EQUAL? ACTION-OBJECT,LIGHT-SPELL \?CCL28
EQUAL? ACTION-PRSI,STAFF \?CCL28
PRINTI "Praxix applied some fire and earth essences to the end of his staff, but the light grew dimmer, not brighter. ""Most peculiar,"" he said."
RTRUE
?CCL28: EQUAL? ACTION,CAST-COMMAND \?CCL33
EQUAL? ACTION-OBJECT,TREMOR-SPELL \?CCL33
ICALL1 UNUSE-ESSENCES
PRINTI "The thought crossed Praxix' mind to cast a tremor spell, isolating this dark presence. But the tremor spell was always unpredictable, and the entire party might be placed in jeopardy."
RTRUE
?CCL33: EQUAL? ACTION,CAST-COMMAND \FALSE
EQUAL? ACTION-OBJECT,FAR-VISION-SPELL \FALSE
ICALL2 CAST-FAR-VISION,FALSE-VALUE
PRINTI " But the ball of flame, rather than expelling the darkness before it, was wholly enveloped by it. ""I fear to think what evil can consume the very light,"" Praxix said."
RTRUE
.FUNCT ANONF-154:ANY:0:0,TMP
EQUAL? ACTION,SCENE-START-COMMAND \?CCL3
FSET PRAXIX-VS-EVIL,SEEN
ICALL TRAVEL-COMMANDS,PRAXIX,CAST-COMMAND,EXAMINE-COMMAND
ICALL2 MAKE-SUBGROUP,PRAXIX
CALL2 PARTY-PCM,PRAXIX
CALL NEW-DEFAULT,STACK,1
RSTACK
?CCL3: EQUAL? ACTION,SCENE-END-COMMAND \?CCL5
ZERO? PART-TWO \?CCL8
PUSH TELL-LEGEND-COMMAND
JUMP ?CND6
?CCL8: ZERO? MIX-DONE /?CCL10
PUSH USE-MIX-COMMAND
JUMP ?CND6
?CCL10: FSET? REAGENT,SOLVED /?CCL12
PUSH NUL-COMMAND
JUMP ?CND6
?CCL12: PUSH MIX-COMMAND
?CND6: ICALL TRAVEL-COMMANDS,PRAXIX,CAST-COMMAND,STACK,EXAMINE-COMMAND
CALL1 CLEAR-SUBGROUP
RSTACK
?CCL5: EQUAL? ACTION,CAST-COMMAND \FALSE
GETP PRAXIX-VS-EVIL,P?TEMP
ADD STACK,1 >TMP
PUTP PRAXIX-VS-EVIL,P?TEMP,TMP
EQUAL? TMP,3 /?CTR16
EQUAL? ACTION-OBJECT,TREMOR-SPELL \?CCL17
EQUAL? TMP,1 /?CCL17
?CTR16: PRINTI "Finally, "
JUMP ?CND15
?CCL17: EQUAL? TMP,1 \?CCL23
EQUAL? ACTION-OBJECT,TREMOR-SPELL /?CND15
PRINTI "First, "
JUMP ?CND15
?CCL23: PRINTI "Then, "
?CND15: EQUAL? ACTION-OBJECT,FIRE-SPELL,LIGHT-SPELL,FAR-VISION-SPELL \?CCL28
PRINTI "Praxix pulled out some magic essences and prepared to cast his enchantment. But it was no use! The dark presence negated the spell even as it was cast."
JUMP ?CND26
?CCL28: EQUAL? ACTION-OBJECT,RAIN-SPELL,LIGHTNING-SPELL \?CCL30
ICALL1 UNDERGROUND-CHECK
JUMP ?CND26
?CCL30: EQUAL? ACTION-OBJECT,WIND-SPELL \?CCL32
PRINTI "pulling out some air essence, he cast that spell toward the unseen evil, but this barely slowed its inexorable approach."
JUMP ?CND26
?CCL32: EQUAL? ACTION-OBJECT,LEVITATE-SPELL /?CTR33
EQUAL? ACTION-OBJECT,MUD-SPELL \?CCL34
?CTR33: ICALL1 PRAXIX-NO-CAST
?CND26: EQUAL? TMP,3 \TRUE
CRLF
CRLF
PRINTI "The core of the evil itself was upon Praxix, and it took all of his strength to escape it. He fled back to the stairs, where he joined with the rest of the party."
CRLF
CRLF
PRINTI """I cannot stop this thing,"" he said, breathlessly. ""We must flee these halls!"""
CRLF
CRLF
ICALL2 SCENE,FALSE-VALUE
FSET? HURTH,IN-PARTY \?CCL64
PRINTI "Hurth"
JUMP ?CND62
?CCL34: EQUAL? ACTION-OBJECT,TREMOR-SPELL \?CND26
PRINTI "Praxix removed some earth essence and cast it upon the stone before his feet. At once, the earth began to shake, and Praxix slowly backed away. An instant later, the roof of the cavern collapsed before him, knocking him off his feet. "
EQUAL? DARK-EVIL-LOC,1 \?CND38
ICALL FIND-ESSENCE,ESSENCE-WATER,2
FSET ESSENCE-WATER,SCOUTED
FSET DARK-EVIL-CAVERN,SOLVED
PRINTI "Exhausted, he started to return when he noticed a strange rock-like substance coursing through the cavern walls. ""Well, well,"" he said, pleased at his discovery, ""Water essence!"" The cavern continued to shake, and he carefully removed as much of the magical rock as he could before it became to dangerous to delay any further. "
?CND38: PRINTI "Carefully, he retreated to the "
ZERO? PART-TWO \?CND40
PRINTI "bottom of the "
?CND40: PRINTI "stairs, where we were anxiously awaiting his return."
ZERO? PART-TWO \?CND42
CRLF
CRLF
PRINTI """I believe we are safe, at least for the moment. "
FSET? MINAR,DONT-DROP \?CND44
PRINTI "Minar was right; we are beset by dangers. "
?CND44: PRINTI "And now, I must rest."" And with that, Praxix lowered himself to the floor, and fell into a deep sleep."
?CND42: FSET? ESHER,IN-PARTY \?CND46
ZERO? PART-TWO \?CND46
CRLF
CRLF
PRINTI """He is a fine Wizard,"" Esher admitted, ""though he knows more than he speaks."""
?CND46: ZERO? PART-TWO \?CND50
CRLF
CRLF
PRINTI "It was now late, and we were all hungry and tired. I took out some provisions and we ate a small meal before retiring for the night. We woke early the next morning, well rested for another day in the caverns."
ICALL1 NEXT-DAY
?CND50: ICALL2 SCENE,FALSE-VALUE
FSET HERE,ENCHANTED
ZERO? PART-TWO /?CCL54
ICALL TRAVEL-COMMANDS,MINE-STAIR,DOWN-COMMAND
ICALL2 MOVE-TO,MINE-STAIR
JUMP ?CND52
?CCL54: FSET? PRISON-RUNES,EXAMINED \?CCL57
FSET? PRISON,SEEN /?CCL57
PUSH ENTER-COMMAND
JUMP ?CND55
?CCL57: PUSH NUL-COMMAND
?CND55: ICALL TRAVEL-COMMANDS,OUTSIDE-PRISON,BACK-COMMAND,STACK
ICALL2 MOVE-TO,STAIR-BOTTOM
?CND52: FSET HERE,DANGEROUS
RTRUE
?CCL64: PRINTI "Bergon"
?CND62: PRINTI " shepherded us "
ZERO? PART-TWO /?CCL67
PRINTI "down the stairs. ""It may be safer below, though I fear we there is no safety in these halls anymore."""
CRLF
CRLF
ICALL1 MOVE-TO-2-W
RTRUE
?CCL67: PRINTI "up the stairs"
FSET? HURTH,IN-PARTY \?CCL70
PRINTI ". ""I did not say so before, but there is Dwarvish door here."" And then, speaking a word of command, an unseen door sealed off the stairs. ""We have long dreaded this day, but we are not unprepared. The lower chambers are now sealed; I fear that we shall never see them again."" He held back tears as he guided us up the stairs to a nearby landing."
JUMP ?CND68
?CCL70: ICALL2 HINT,HINT-DARK-PRESENCE
PRINTI " and to a nearby landing."
CRLF
CRLF
PRINTI """We will not be safe at the lower levels,"" he said. ""Our best hope is to leave these caverns through the High Gate. I pray the Dwarves are safe from whatever it is that pursues us!"""
?CND68: CRLF
CRLF
PRINTI "From the landing, it was another four or five hours to the junction of two stairs"
FSET? STAIR-JUNCTION,SEEN /?CND71
FSET? HURTH,IN-PARTY \?CCL75
PRINTI ". ""The stair to the left leads to the Tower of the Sunset; the stair to the right leads to the High Gate,"" Hurth said. ""If we intend to reach the Tower, we should start now. It is a much longer climb."""
JUMP ?CND71
?CCL75: PRINTI "; neither was marked."
?CND71: ICALL REMOVE-TRAVEL-COMMAND,STAIR-JUNCTION,DOWN-COMMAND
ICALL2 MOVE-TO,STAIR-JUNCTION
RTRUE
.FUNCT ANONF-155:ANY:0:0
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
ICALL1 CLEAR-EXBIT
FSET ACTION-OBJECT,EXAMINED
EQUAL? ACTOR,PRAXIX \?CCL6
ICALL2 WPRINTD,ACTOR
PRINTI " examined the runes, but found he had no memory of such symbols."
RTRUE
?CCL6: ICALL2 UPDATE-REMOVE,PRISON-RUNES
ICALL ADD-TRAVEL-COMMAND,HERE,ENTER-COMMAND
ICALL2 WPRINTD,ACTOR
PRINTI " glanced at the runes and said, ""The runes say 'prison'. And now that I look more closely, I can see a door here as well."" We tried to find the door, but Hurth interrupted. ""It is a Dwarvish door; you will not find it."""
RTRUE
.FUNCT ANONF-156:ANY:0:0
FSET HERE,SEEN
PRINTI "Hurth approached the door and spoke a Dwarvish command of opening. The massive door obliged without a sound, and we entered a large vestibule; the door closed behind us, becoming invisible."
CRLF
CRLF
PRINTI """These Dwarvish doors take some getting used to!"" I said, thinking of the gate through which we entered these caverns."
CRLF
CRLF
PRINTI """Do not be alarmed,"" said Hurth. ""Watch!"" Hurth called out a command, but no door appeared. He laughed nervously, then called out a few dozen more foreign words the last few of which sounded rather more like expletives than commands."
CRLF
CRLF
FSET? ESHER,IN-PARTY \?CND1
PRINTI """Well?"" Esher prompted, but Hurth was deep in thought. "
?CND1: PRINTI "Bergon, trying his best to control his temper, paced to the center of the vestibule, and looked down the dark corridors which led off to our left and right."
RTRUE
.FUNCT ANONF-157:ANY:0:0,TMP,F
EQUAL? ACTION,CAST-COMMAND \?CCL3
EQUAL? ACTION-OBJECT,FAR-VISION-SPELL \?CCL3
ICALL2 CAST-FAR-VISION,FALSE-VALUE
ICALL1 PRISON-SOLVED
FSET HERE,BLACK-MIX
ICALL2 GRAPHIC,G-PRISON-FV
FSET? ESHER,IN-PARTY \?CCL8
CRLF
CRLF
PRINTI """Well, that was useful!"" Esher said, in his most sarcastic voice. I was sure that Praxix would respond with some clever retort"
JUMP ?CND6
?CCL8: CRLF
CRLF
PRINTI "The ball of flame was soon out of sight, and nothing had been learned. Praxix was about to make another suggestion"
?CND6: PRINTI ", when his face became contorted with fear. ""Down!"" he shouted, pushing us to the ground."
CRLF
CRLF
PRINTI """What the...?"" started Bergon, catching sight of the ball of flame that raced toward us. As it continued down the far corridor, we pulled ourselves to our feet. ""It would seem,"" Praxix said blankly, wiping the "
ICALL TELL-COLOR,ESSENCE-FIRE,ESSENCE-AIR
PRINTI " residue from his fingers, ""that following these corridors will be a tiring proposition!"""
CRLF
CRLF
PRINTI "Then, casting his gaze upward, he saw, in the dim afterglow of the fireball, a narrow ledge not two dozen feet above us. ""I suggest we march that way!"", he said, and raised his crooked forefinger toward the darkening image."
RTRUE
?CCL3: EQUAL? ACTION,SCOUT-COMMAND \?CCL10
FSET? HERE,SOLVED /?CCL10
ICALL2 WPRINTD,ACTOR
PRINTI " walked down the passage, turning a corner. A few minutes later, he returned, reporting only that the passage did quite a lot of twisting and turning. ""As to where it leads,"" he said, ""your guess is as good as mine."""
CALL UPDATE-FSET,HERE,DONT-SCOUT
RSTACK
?CCL10: EQUAL? ACTION,GET-ADVICE-COMMAND \?CCL14
ICALL UPDATE-FCLEAR,HERE,ADVISE
GETP HERE,P?TEMP
LESS? STACK,2 \?CCL17
PRINTI "We huddled among ourselves and agreed that it would be best to "
ZERO? TMP \?CCL20
PRINTI "explore"
JUMP ?CND18
?CCL20: PRINTI "continue exploring"
?CND18: PRINTI " the caverns."
RTRUE
?CCL17: CALL QSET?,HERE,EXAMINED
ZERO? STACK \FALSE
PRINTI """I don't think we're making much progress."" I said, looking at our familiar surroundings."
RTRUE
?CCL14: EQUAL? ACTION,DROP-COMMAND \?CCL24
FSET? HERE,SOLVED /?CCL24
ICALL UPDATE-MOVE,ACTION-OBJECT,HERE
FSET HERE,DONT-DROP
PRINTI "The caverns looked suspiciously like a maze of some kind to me, so I surreptitiously dropped the "
ICALL2 WPRINTD,ACTION-OBJECT
PRINTI " on the ground to help mark our location."
RTRUE
?CCL24: EQUAL? ACTION,PICK-UP-COMMAND \?CCL28
PRINTI "Reconsidering my decision to leave the "
ICALL2 WPRINTD,ACTION-OBJECT
PRINTI " on the ground, I bent down and picked it up again, putting it back in my pack for safekeeping."
FCLEAR HERE,DONT-DROP
CALL UPDATE-MOVE,ACTION-OBJECT,INVENTORY
RSTACK
?CCL28: EQUAL? ACTION,UP-COMMAND \?CCL30
ICALL1 REMOVE-TRAVEL-COMMAND
PRINTI "We looked up into the darkness, but could discern nothing. 'Up' may have been our only alternative, as Praxix said, but getting there would be another matter."
CALL2 CHECK-ESSENCES,LEVITATE-SPELL
ZERO? STACK \TRUE
PRINTI " Praxix pulled his pouch from inside of his cloak, and spoke dejectedly. ""I haven't the essences to prepare an elevation spell. It would seem that we shall be staying here indefinitely."
ICALL1 FORCE-PRISON-EXIT
RTRUE
?CCL30: EQUAL? ACTION,CAST-COMMAND \?CCL34
EQUAL? ACTION-OBJECT,LEVITATE-SPELL \?CCL34
FSET? HERE,SOLVED /?CCL39
PRINTI "It may be that Praxix knew something we didn't, because he reached into his cloak and started to put together one of his magical preparations. Next thing I knew, "
ICALL2 WPRINTD,ACTION-PRSI
PRINTI " was rising into the air! His ascent, exhilarating as it was, was cut short as he bumped his head into the rock that lay above us. A few moments later, he descended to the ground."
RTRUE
?CCL39: FSET? HERE,BLACK-MIX /?CCL41
PRINTI "Praxix now drew some air and earth essences from his pouch and tried to levitate "
ICALL2 WPRINTD,ACTION-PRSI
PRINTI " to whatever lay above. But, sadly, we had no indication of where to attempt this, and "
ICALL2 WPRINTD,ACTION-PRSI
PRINTI " merely bumped his head into the prison's upper regions and descended back to the ground. ""This will never work,"" Praxix said, ""I haven't enough of my powders to map out the upper galleries this way."""
CRLF
CRLF
PRINTI """And a good thing, too,"" "
ICALL2 WPRINTD,ACTION-PRSI
PRINTI " said, rubbing the bruise on his head."
CALL1 FORCE-PRISON-EXIT
RSTACK
?CCL41: PRINTI "Praxix now drew some magical powder from his cloak, motioned "
ICALL2 WPRINTD,ACTION-PRSI
PRINTI " a few steps to his left, then cast the preparation onto him. He climbed into the air, coming finally to a landing which he grabbed tightly onto (for fear of going even higher!) Once the elevation spell had worn off, he released his grip on the rock slab and pulled himself to his feet. Lowering the rope which I had thrown up to him, "
IN? ROPE,HERE \?CND42
ICALL UPDATE-MOVE,ROPE,INVENTORY
?CND42: ICALL2 WPRINTD,ACTION-PRSI
PRINTI " brought the others up to the landing where he stood."
CRLF
CRLF
CALL MOVE-TO,ORC-FORK,STR?464
RSTACK
?CCL34: EQUAL? ACTION,PROCEED-COMMAND /?CCL45
EQUAL? ACTION,BACK-COMMAND /?CCL45
EQUAL? ACTION,LEFT-COMMAND /?CCL45
EQUAL? ACTION,RIGHT-COMMAND \FALSE
?CCL45: GETP HERE,P?TEMP >TMP
ADD TMP,1
PUTP HERE,P?TEMP,STACK
ZERO? TMP \?CCL52
PRINTI "It was pointless to remain here, so we started down the long and winding corridor. I felt almost dizzy from the turning by the time we arrived at another vestibule about five minutes later. It looked much the same as the previous one; and the passage continued farther into the darkness."
ICALL TRAVEL-COMMANDS,HERE,PROCEED-COMMAND,BACK-COMMAND
JUMP ?CND50
?CCL52: EQUAL? TMP,1 \?CCL54
PRINTI "Again, we marched down the corridor, twisting and turning, turning and twisting, and again coming to a vestibule, beyond which the passage continued."
FSET? ESHER,IN-PARTY \?CND50
PRINTI " ""Brother Hurth, do you think we are making any progress?"" Esher asked. Hurth, embarrassed, did not respond."
JUMP ?CND50
?CCL54: PRINTI "Once again, we marched through the passage, and once again we arrived at a similar vestibule."
?CND50: FIRST? HERE >F \TRUE
CRLF
CRLF
PRINTI "Just then, I noticed that the "
ICALL2 WPRINTD,F
PRINTI " I had dropped earlier was sitting on the ground beside my feet! Excitedly, I replaced it in my pack and told the others of my discovery."
ICALL UPDATE-MOVE,F,INVENTORY
CRLF
CRLF
PRINTI "Praxix shook his head slowly. ""As I had suspected - we are in a prison after all."
CALL2 CHECK-ESSENCES,FAR-VISION-SPELL
ZERO? STACK /?CCL61
PRINTI " Perhaps this will shed more light on our predicament!"""
CRLF
ICALL PERFORM,CAST-COMMAND,FAR-VISION-SPELL
RTRUE
?CCL61: ICALL1 PRISON-SOLVED
PRINTI " And it would appear that the only way to go is up!"""
RTRUE
.FUNCT FORCE-PRISON-EXIT:ANY:0:0
CRLF
CRLF
PRINTI "An hour or so later, hope of finding a way out fading, Hurth announced a rather belated discovery. ""It is strange that I did not discover the runes earlier,"" he said, ""but I believe I have found the exit mechanism. Stand back!"""
CRLF
CRLF
PRINTI "Indeed he had, and a moment later the invisible prison door winked open and we hurried back outside."
ICALL2 UPDATE-REMOVE,PRISON-RUNES
ICALL REMOVE-TRAVEL-COMMAND,OUTSIDE-PRISON,ENTER-COMMAND
FSET OUTSIDE-PRISON,TRAPPED
CALL2 MOVE-TO,OUTSIDE-PRISON
RSTACK
.FUNCT PRISON-SOLVED:ANY:0:0
ICALL UPDATE-FCLEAR,HERE,ADVISE
FSET HERE,SOLVED
CALL TRAVEL-COMMANDS,HERE,UP-COMMAND
RSTACK
.ENDSEG
.ENDI

547
prison.zil Normal file
View file

@ -0,0 +1,547 @@
"PRISON for
JOURNEY
(c) Copyright 1988, 1989 Infocom, Inc. All Rights Reserved."
<BEGIN-SEGMENT DWARVES>
;"What is a fantasy game without a maze, anyway?"
<ROOM OUTSIDE-PRISON
(TRAVEL-COMMANDS PROCEED-COMMAND BACK-COMMAND NUL-COMMAND)
(GRAPHIC G-PRISON-RUNES)
(ENTER FSET-SEEN)
(FLAGS UNDERGROUND DONT-SCOUT)
(ACTION
<ACOND ()
(BACK
<MOVE-TO ,STAIR-BOTTOM
"It was a short walk back to the stairs, and we prepared to make the
long ascent.">)
(PROCEED
<TELL
"We continued our march through the long passage. ">
<COND (<IN-PARTY? ,HURTH>
<TELL
"\"We have come nearly to the eastern extent of the Reth a-Zar, where the
Bern i-Fen leads to the Old Forest,\" Hurth said." CR CR>)
(T
<TELL
"\"My sense is that we are nearing the Forest Gate,\" Praxix said." CR CR>)>
<MOVE-TO ,DARK-EVIL-CAVERN
"\"That sounds fine to me,\" I exclaimed, \"What I wouldn't give to see the
sunshine again!\"">)
(ENTER
<COND (<FSET? ,HERE ,TRAPPED>
<REMOVE-TRAVEL-COMMAND>
<TELL
"I suggested returning to the prison, but we decided against it.
\"">
<COND (,KIDNAPPED <TELL D ,KIDNAPPED>)
(T <TELL "My kinsman">)>
<TELL
" is dead,\" Hurth said, gently. \"The orcs do not keep
prisoners, except for the sport of torture. In any event, they
will expect our return, and lie in wait for us. Let us continue,
that his death will not have been in vain.\"">)
(T
<MOVE-TO ,PRISON>)>)>)>
<GLOBAL DARK-EVIL-LOC 0>
<ROOM DARK-EVIL-CAVERN
(TRAVEL-COMMANDS BACK-COMMAND PROCEED-COMMAND NUL-COMMAND)
(FLAGS UNDERGROUND DANGEROUS ADVISE)
(CAST-LIMIT INF)
(GRAPHIC G-DARK-CAVERN)
(ENTER
<EXECUTE ()
<FSET ,DARK-EVIL-CAVERN ,SEEN>
<TELL CR CR
"Bergon laughed, as did Praxix, but there was another sound also, cold and
rumbling, like distant thunder; and it came from before us.">
<COND (<IN-PARTY? ,HURTH>
<TELL CR CR
"\"I know not what lies before us,\" Hurth said, \"yet I know
that many evils, having long inhabited the deepest places of the earth,
now boldly tread even on the Dwarves' hallowed halls.\"">)>>)
(TEMP 0)
(ACTION
<ACOND ("AUX" TMP)
(GET-ADVICE:REMOVE
<TELL
"Bergon sought the group's advice, and the consensus was clearly to turn back.
Praxix, however, was uncertain, torn between his desire for further exploration
and the danger he felt certain was ahead.">)
(<OR <ACTION? PROCEED> <ACTION? BACK>>
<SET-TEMP <SET TMP <+ <GET-TEMP> 1>>>
<COND (<ACTION? PROCEED>
<SETG DARK-EVIL-LOC <+ ,DARK-EVIL-LOC 1>>)
(T
<SETG DARK-EVIL-LOC <- ,DARK-EVIL-LOC 1>>)>
<COND (<EQUAL? .TMP 1>
<TELL
"A cold wind chilled us to the bone as we inched our way ">
<COND (<ACTION? BACK>
<TELL "back ">)>
<TELL "through the cavern.">
<COND (<FSET? ,PRAXIX ,LIT>
<TELL CR CR
"\"Praxix! Look!\" I cried, pointing at the Wizard's staff. The staff
still glowed a pale red, but the light it cast was different; duller, perhaps,
or less potent.">)>
<RTRUE>)
(<EQUAL? .TMP 2>
<COND (<ACTION? BACK>
<TELL "Back">)
(T
<TELL "On">)>
<TELL
" we went, as the now frigid air grew colder still with each tentative
step.">
<COND (<FSET? ,PRAXIX ,LIT>
<TELL
" Praxix' staff was now glowing a dim, dull red, and its light was barely
enough to see by.">)>
<TELL CR CR
"\"Something's here,\" I whispered, as the air grew stale, then acrid. I
stumbled backward, tripped, and fell against the ground.">
<REMOVE-PARTY-COMMAND ,PROCEED-COMMAND>
<COND (<IN-PARTY? ,HURTH>
<TELL CR CR
"\"This is an evil day,\" said Hurth. \"I hope there is time yet for us to
make our escape.\"">)>
<RTRUE>)
(T
<REMOVE-PARTY-COMMAND ,BACK-COMMAND>
<TELL
"As we moved ever more slowly through the blackness, the evil presence drew
closer still. But Praxix stood his ground, saying, \"We must not allow
this evil to endanger the other Dwarves. Run now, while I teach this
thing a lesson!\" It was sheer bravado, but Praxix was insistent.
\"Fly,\" he shouted. \"I shall join you soon!\"" CR CR>
<TELL
"Bergon agreed that there was nothing we could do but get ourselves
into more trouble, so we retreated to the stairs to await Praxix'
return.">
<SCENE ,PRAXIX-VS-EVIL>)>)
(<AND <ACTION? CAST>
<OBJECT? LIGHT-SPELL>
<PRSI? STAFF>>
<TELL
"Praxix applied some fire and earth essences to the end of his staff, but the
light grew dimmer, not brighter. \"Most peculiar,\" he said.">)
(<AND <ACTION? CAST> <OBJECT? TREMOR-SPELL>>
<UNUSE-ESSENCES>
<TELL
"The thought crossed Praxix' mind to cast a tremor spell, isolating
this dark presence. But the tremor spell was always unpredictable,
and the entire party might be placed in jeopardy.">)
(<AND <ACTION? CAST> <OBJECT? FAR-VISION-SPELL>>
<CAST-FAR-VISION <>>
<TELL
" But the ball of flame, rather than expelling the darkness before it, was wholly
enveloped by it. \"I fear to think what evil can consume the very light,\" Praxix
said.">)>)>
<OBJECT PRAXIX-VS-EVIL
(TEMP 0)
(GRAPHIC G-MINER-PASSAGE)
(ACTION
<ACOND ("AUX" TMP)
(SCENE-START
<FSET ,PRAXIX-VS-EVIL ,SEEN>
<TRAVEL-COMMANDS ,PRAXIX ,CAST-COMMAND ,EXAMINE-COMMAND>
<MAKE-SUBGROUP ,PRAXIX>
<NEW-DEFAULT <PARTY-PCM ,PRAXIX> 1>)
(SCENE-END
<TRAVEL-COMMANDS ,PRAXIX
,CAST-COMMAND
<COND (<NOT ,PART-TWO>
,TELL-LEGEND-COMMAND)
(,MIX-DONE
,USE-MIX-COMMAND)
(<NOT <FSET? ,REAGENT ,SOLVED>>
,NUL-COMMAND)
(T
,MIX-COMMAND)>
,EXAMINE-COMMAND>
<CLEAR-SUBGROUP>)
(CAST
<PUTP ,PRAXIX-VS-EVIL
,P?TEMP
<SET TMP <+ <GETP ,PRAXIX-VS-EVIL ,P?TEMP> 1>>>
<COND (<OR <EQUAL? .TMP 3>
<AND <OBJECT? TREMOR-SPELL>
<NOT <EQUAL? .TMP 1>>>>
<TELL "Finally, ">)
(<EQUAL? .TMP 1>
<COND (<NOT <OBJECT? TREMOR-SPELL>>
<TELL "First, ">)>)
(T
<TELL "Then, ">)>
<COND (<EQUAL? ,ACTION-OBJECT
,FIRE-SPELL
,LIGHT-SPELL
,FAR-VISION-SPELL>
<TELL
"Praxix pulled out some magic essences and prepared to cast
his enchantment. But it was no use! The dark presence negated the
spell even as it was cast.">)
(<EQUAL? ,ACTION-OBJECT
,RAIN-SPELL
,LIGHTNING-SPELL>
<UNDERGROUND-CHECK>)
(<OBJECT? WIND-SPELL>
<TELL
"pulling out some air essence, he cast that spell toward the
unseen evil, but this barely slowed its inexorable approach.">)
(<OR <OBJECT? LEVITATE-SPELL>
<OBJECT? MUD-SPELL>>
<PRAXIX-NO-CAST>)
(<OBJECT? TREMOR-SPELL>
<TELL
"Praxix removed some earth essence and
cast it upon the stone before his feet. At once,
the earth began to shake, and Praxix slowly backed away. An instant
later, the roof of the cavern collapsed before him, knocking him off
his feet. ">
<COND (<EQUAL? ,DARK-EVIL-LOC 1>
;"Did two steps forward, one step back..."
<FIND-ESSENCE ,ESSENCE-WATER 2>
<FSET ,ESSENCE-WATER ,SCOUTED>
<FSET ,DARK-EVIL-CAVERN ,SOLVED>
<TELL
"Exhausted, he started to return when he noticed a strange rock-like substance
coursing through the cavern walls. \"Well, well,\" he said, pleased at his discovery,
\"Water essence!\" The cavern continued to shake, and he carefully removed as much of
the magical rock as he could before it became to dangerous to delay any further. ">)>
<TELL "Carefully, he retreated to the ">
<COND (<NOT ,PART-TWO>
<TELL "bottom of the ">)>
<TELL "stairs, where we
were anxiously awaiting his return.">
<COND (<NOT ,PART-TWO>
<TELL CR CR
"\"I believe we are safe, at least for the moment. ">
<COND (<FSET? ,MINAR ,DONT-DROP>
<TELL "Minar was right;
we are beset by dangers. ">)>
<TELL
"And now, I must rest.\" And with that, Praxix
lowered himself to the floor, and fell into a deep sleep.">)>
<COND (<AND <IN-PARTY? ,ESHER> <NOT ,PART-TWO>>
<TELL CR CR
"\"He is a fine Wizard,\" Esher admitted, \"though he knows more than
he speaks.\"">)>
<COND (<NOT ,PART-TWO>
<TELL CR CR
"It was now late, and we were all hungry and tired. I took out some
provisions and we ate a small meal before retiring for the night. We
woke early the next morning, well rested for another day in the
caverns.">
<NEXT-DAY>)>
<SCENE <>>
<FSET ,HERE ,ENCHANTED>
<COND (,PART-TWO
<TRAVEL-COMMANDS ,MINE-STAIR ,DOWN-COMMAND>
<MOVE-TO ,MINE-STAIR>)
(T
<TRAVEL-COMMANDS ,OUTSIDE-PRISON
,BACK-COMMAND
<COND (<AND <FSET? ,PRISON-RUNES
,EXAMINED>
<NOT <FSET? ,PRISON ,SEEN>>>
,ENTER-COMMAND)
(T
,NUL-COMMAND)>>
<MOVE-TO ,STAIR-BOTTOM>)>
<FSET ,HERE ,DANGEROUS>
<RTRUE>)>
<COND (<EQUAL? .TMP 3>
<TELL CR CR
"The core of the evil itself was upon Praxix, and it took all of
his strength to escape it. He fled back to the stairs, where he joined
with the rest of the party." CR CR>
<TELL
"\"I cannot stop this thing,\" he said, breathlessly. \"We must flee
these halls!\"" CR CR>
<SCENE <>>
<COND (<IN-PARTY? ,HURTH>
<TELL "Hurth">)
(T
<TELL "Bergon">)>
<TELL " shepherded us ">
<COND (,PART-TWO
<TELL
"down the stairs. \"It may be safer below, though
I fear we there is no safety in these halls anymore.\"" CR CR>
<MOVE-TO-2-W>)
(T
<TELL "up the stairs">
<COND (<IN-PARTY? ,HURTH>
<TELL ". \"I did not say so before, but
there is Dwarvish door here.\" And then, speaking a word of command,
an unseen door sealed off the stairs. \"We have long dreaded this day,
but we are not unprepared. The lower chambers are now sealed; I fear that
we shall never see them again.\" He held back tears as he guided us up
the stairs to a nearby landing.">)
(T
<HINT ,HINT-DARK-PRESENCE>
<TELL
" and to a nearby landing." CR CR>
<TELL
"\"We will not be safe at the lower levels,\" he said. \"Our best hope is
to leave these caverns through the High Gate. I pray the Dwarves are safe
from whatever it is that pursues us!\"">)>
<TELL CR CR
"From the landing, it was another four or five hours to the junction
of two stairs">
<COND (<NOT <FSET? ,STAIR-JUNCTION ,SEEN>>
<COND (<IN-PARTY? ,HURTH>
<TELL
". \"The stair to the left leads to the Tower of the Sunset;
the stair to the right leads to the High Gate,\" Hurth said. \"If
we intend to reach the Tower, we should start now. It is a much
longer climb.\"">)
(T
<TELL "; neither was marked.">)>)>
<REMOVE-TRAVEL-COMMAND ,STAIR-JUNCTION
,DOWN-COMMAND>
<MOVE-TO ,STAIR-JUNCTION>)>)>
<RTRUE>)>)>
<OBJECT PRISON-RUNES
(SDESC "runes")
(KBD %<ASCII !\R>)
(LOC OUTSIDE-PRISON)
(FLAGS DONT-TAKE)
(EXBITS <+ ,PRAXIXBIT ,HURTHBIT>)
(ACTION
<ACOND ()
(EXAMINE
<CLEAR-EXBIT>
<FSET ,ACTION-OBJECT ,EXAMINED>
<COND (<EQUAL? ,ACTOR ,PRAXIX>
<TELL ACT
" examined the runes, but found he had no memory of such symbols.">)
(T
<UPDATE-REMOVE ,PRISON-RUNES>
<ADD-TRAVEL-COMMAND ,HERE ,ENTER-COMMAND>
<TELL ACT
" glanced at the runes and said, \"The runes say 'prison'. And
now that I look more closely, I can see a door here as well.\" We tried
to find the door, but Hurth interrupted. \"It is a Dwarvish door;
you will not find it.\"">)>)>)>
<ROOM PRISON
(TRAVEL-COMMANDS LEFT-COMMAND RIGHT-COMMAND NUL-COMMAND)
(GRAPHIC G-PRISON)
(CAST-LIMIT INF)
(FLAGS UNDERGROUND ADVISE DANGEROUS)
(TEMP 0)
(ENTER
<EXECUTE ()
<FSET ,HERE ,SEEN>
<TELL
"Hurth approached the door and spoke a Dwarvish command of opening.
The massive door obliged without a sound, and we entered a large
vestibule; the door closed behind us, becoming invisible." CR CR>
<TELL
"\"These Dwarvish doors take some getting used to!\" I said,
thinking of the gate through which we entered these caverns." CR CR>
<TELL
"\"Do not be alarmed,\" said Hurth. \"Watch!\" Hurth called out a
command, but no door appeared. He laughed nervously, then called
out a few dozen more foreign words the last few of which sounded rather
more like expletives than commands." CR CR>
<COND (<IN-PARTY? ,ESHER>
<TELL
"\"Well?\" Esher prompted, but Hurth was deep in thought. ">)>
<TELL "Bergon,
trying his best to control his temper, paced to the center of the
vestibule, and looked down the dark corridors which led off to our
left and right.">>)
(ACTION
<ACOND ("AUX" TMP F)
(<AND <ACTION? CAST>
<OBJECT? FAR-VISION-SPELL>>
<CAST-FAR-VISION <>>
<PRISON-SOLVED>
<FSET ,HERE ,BLACK-MIX>
<GRAPHIC ,G-PRISON-FV>
<COND (<IN-PARTY? ,ESHER>
<TELL CR CR
"\"Well, that was useful!\" Esher said, in his most sarcastic voice.
I was sure that Praxix would respond with some clever retort">)
(T
<TELL CR CR
"The ball of flame was soon out of sight, and nothing had been learned.
Praxix was about to make another suggestion">)>
<TELL ", when his
face became contorted with fear. \"Down!\" he shouted, pushing us to
the ground.">
<TELL CR CR
"\"What the...?\" started Bergon, catching sight of the ball of flame
that raced toward us. As it continued down the far corridor, we pulled
ourselves to our feet. \"It would seem,\" Praxix said blankly, wiping
the ">
<TELL-COLOR ,ESSENCE-FIRE ,ESSENCE-AIR>
<TELL
" residue from his fingers, \"that following these corridors will be a
tiring proposition!\"" CR CR>
<TELL
"Then, casting his gaze upward, he saw, in the dim afterglow of the
fireball, a narrow ledge not two dozen feet above us. \"I suggest we march
that way!\", he said, and raised his crooked forefinger toward the darkening
image.">)
(<AND <ACTION? SCOUT>
<NOT <FSET? ,HERE ,SOLVED>>>
<TELL ACT
" walked down the passage, turning a corner. A few minutes later, he
returned, reporting only that the passage did quite a lot of twisting
and turning. \"As to where it leads,\" he said, \"your guess is as good
as mine.\"">
<UPDATE-FSET ,HERE ,DONT-SCOUT>)
(GET-ADVICE:REMOVE
<COND (<L? <GET-TEMP> 2>
<TELL
"We huddled among ourselves and agreed that it would be best to ">
<COND (<ZERO? .TMP> <TELL "explore">)
(T
<TELL "continue exploring">)>
<TELL " the caverns.">)
(<NOT <QSET? ,HERE ,EXAMINED>>
<TELL
"\"I don't think we're making much progress.\" I said, looking
at our familiar surroundings.">)>)
(<AND <ACTION? DROP>
<NOT <FSET? ,HERE ,SOLVED>>>
<UPDATE-MOVE ,ACTION-OBJECT ,HERE>
<FSET ,HERE ,DONT-DROP>
<TELL
"The caverns looked suspiciously like a maze of some kind to me,
so I surreptitiously dropped the " AO " on the ground to help
mark our location.">)
(PICK-UP
<TELL
"Reconsidering my decision to leave the " AO " on the ground, I bent
down and picked it up again, putting it back in my pack for safekeeping.">
<FCLEAR ,HERE ,DONT-DROP>
<UPDATE-MOVE ,ACTION-OBJECT ,INVENTORY>)
(UP:REMOVE
<TELL
"We looked up into the darkness, but could discern nothing. 'Up'
may have been our only alternative, as Praxix said, but getting there
would be another matter.">
<COND (<NOT <CHECK-ESSENCES ,LEVITATE-SPELL>>
<TELL
" Praxix pulled his pouch from inside of his cloak, and spoke dejectedly.
\"I haven't the essences to prepare an elevation spell. It would seem that we shall
be staying here indefinitely.">
<FORCE-PRISON-EXIT>)>
<RTRUE>)
(<AND <ACTION? CAST>
<OBJECT? LEVITATE-SPELL>>
<COND (<NOT <FSET? ,HERE ,SOLVED>>
<TELL
"It may be that Praxix knew something we didn't, because he reached into
his cloak and started to put together one of his magical preparations.
Next thing I knew, ">
<TELL D ,ACTION-PRSI>
<TELL " was rising into the air! His ascent, exhilarating
as it was, was cut short as he bumped his head into the rock that lay
above us. A few moments later, he descended to the ground.">)
(<NOT <FSET? ,HERE ,BLACK-MIX>>
;"Haven't used far vision yet..."
<TELL
"Praxix now drew some air and earth essences from his pouch and tried to levitate "
D ,ACTION-PRSI " to whatever lay above. But, sadly, we had no indication of where to
attempt this, and " D ,ACTION-PRSI " merely bumped his head into the prison's upper
regions and descended back to the ground. \"This will never work,\" Praxix said, \"I
haven't enough of my powders to map out the upper galleries this way.\"" CR CR>
<TELL
"\"And a good thing, too,\" " D ,ACTION-PRSI " said, rubbing the bruise on his head.">
<FORCE-PRISON-EXIT>)
(T
<TELL
"Praxix now drew some magical powder from his cloak, motioned " D ,ACTION-PRSI
" a few steps to his left, then cast the preparation onto him. He climbed into
the air, coming finally to a landing which he grabbed tightly onto
(for fear of going even higher!) Once the elevation spell had worn off, he released
his grip on the rock slab and pulled himself to his feet. Lowering the rope which
I had thrown up to him, ">
<COND (<IN? ,ROPE ,HERE>
<UPDATE-MOVE ,ROPE ,INVENTORY>)>
<TELL D ,ACTION-PRSI " brought the others up to the
landing where he stood." CR CR>
<MOVE-TO ,ORC-FORK
"At the landing was a passage, and this we followed until we came finally
to a fork; both left and right paths looked evil and foreboding. Perhaps it was
some illusion or trick of the eye, but the walls along the right-hand path seemed
to glow eerily.">)>)
(<OR <ACTION? PROCEED>
<ACTION? BACK>
<ACTION? LEFT>
<ACTION? RIGHT>>
<SET-TEMP <+ <SET TMP <GET-TEMP>> 1>>
<COND (<ZERO? .TMP>
<TELL
"It was pointless to remain here, so we started down the long and
winding corridor. I felt almost dizzy from the turning by the time
we arrived at another vestibule about five minutes later. It looked
much the same as the previous one; and the passage continued farther
into the darkness.">
<TRAVEL-COMMANDS ,HERE ,PROCEED-COMMAND ,BACK-COMMAND>)
(<EQUAL? .TMP 1>
<TELL
"Again, we marched down the corridor, twisting and turning, turning
and twisting, and again coming to a vestibule, beyond which the
passage continued.">
<COND (<IN-PARTY? ,ESHER>
<TELL
" \"Brother Hurth, do you think we are making any
progress?\" Esher asked. Hurth, embarrassed, did not respond.">)>)
(T
<TELL
"Once again, we marched through the passage, and once again we
arrived at a similar vestibule.">)>
<COND (<SET F <FIRST? ,HERE>>
;"There is something on the ground here."
<TELL CR CR
"Just then, I noticed that the ">
<TELL D .F>
<TELL " I had dropped earlier was sitting on the
ground beside my feet! Excitedly, I replaced it in my pack and told the others
of my discovery.">
<UPDATE-MOVE .F ,INVENTORY>
<TELL CR CR
"Praxix shook his head slowly. \"As I had suspected - we are in a prison
after all.">
<COND (<CHECK-ESSENCES ,FAR-VISION-SPELL>
<TELL
" Perhaps this will shed more light on our predicament!\"" CR>
<PERFORM ,CAST-COMMAND ,FAR-VISION-SPELL>)
(T
<PRISON-SOLVED>
<TELL
" And it would appear that the only way to go is up!\"">)>)>
<RTRUE>)>)>
<ROUTINE FORCE-PRISON-EXIT ()
<TELL CR CR
"An hour or so later, hope of finding a way out fading, Hurth announced a rather
belated discovery. \"It is strange that I did not discover the runes earlier,\" he said,
\"but I believe I have found the exit mechanism. Stand back!\"" CR CR>
<TELL
"Indeed he had, and a moment later the invisible prison door winked open and we
hurried back outside.">
<UPDATE-REMOVE ,PRISON-RUNES>
<REMOVE-TRAVEL-COMMAND ,OUTSIDE-PRISON ,ENTER-COMMAND>
<FSET ,OUTSIDE-PRISON ,TRAPPED>
<MOVE-TO ,OUTSIDE-PRISON>>
<ROUTINE PRISON-SOLVED ()
<UPDATE-FCLEAR ,HERE ,ADVISE>
<FSET ,HERE ,SOLVED>
<TRAVEL-COMMANDS ,HERE ,UP-COMMAND>>

Some files were not shown because too many files have changed in this diff Show more