mirror of
https://github.com/historicalsource/journey
synced 2024-06-17 07:20:53 +03:00
Final Revision
This commit is contained in:
commit
689e06b55f
70
astrix.zabstr
Normal file
70
astrix.zabstr
Normal 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
281
astrix.zap
Normal 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
326
astrix.zil
Normal 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
105
characters.zabstr
Normal 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
209
characters.zap
Normal 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
319
characters.zil
Normal 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
64
combat.zabstr
Normal 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
310
combat.zap
Normal 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
336
combat.zil
Normal 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
305
commands.zabstr
Normal 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
663
commands.zap
Normal 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
775
commands.zil
Normal 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
43
common.zabstr
Normal 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
391
common.zap
Normal 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
403
common.zil
Normal 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
17
controls.zabstr
Normal 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
39
controls.zap
Normal 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
53
controls.zil
Normal 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
370
dwarves.zabstr
Normal 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
626
dwarves.zap
Normal 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
767
dwarves.zil
Normal 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
470
flume.zabstr
Normal 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
728
flume.zap
Normal 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
924
flume.zil
Normal 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
710
fog.zabstr
Normal 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>
|
974
forest.zabstr
Normal file
974
forest.zabstr
Normal 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
1787
forest.zap
Normal file
File diff suppressed because it is too large
Load diff
2196
forest.zil
Normal file
2196
forest.zil
Normal file
File diff suppressed because it is too large
Load diff
206
graphics.zil
Normal file
206
graphics.zil
Normal 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
148
hermit.zabstr
Normal 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
187
hermit.zap
Normal 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
257
hermit.zil
Normal 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
510
hints.zabstr
Normal 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
548
hints.zap
Normal 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
|
192
input.zabstr
Normal file
192
input.zabstr
Normal 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>
|
15
intro.zabstr
Normal file
15
intro.zabstr
Normal 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
151
intro.zap
Normal 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
163
intro.zil
Normal 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
5
island.zabstr
Normal 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
96
island.zap
Normal 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
120
island.zil
Normal 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
2
journey-glue
Normal file
|
@ -0,0 +1,2 @@
|
|||
#
|
||||
zglue -m apple -g journey -p ~curpix
|
2
journey-nsplit
Normal file
2
journey-nsplit
Normal 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
272
journey-split
Normal 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
2
journey-taa
Normal 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
263
journey.aplit
Normal 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
BIN
journey.bwmac.1
Normal file
Binary file not shown.
48
journey.chart
Normal file
48
journey.chart
Normal 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
BIN
journey.d1
Normal file
Binary file not shown.
BIN
journey.d2
Normal file
BIN
journey.d2
Normal file
Binary file not shown.
BIN
journey.d3
Normal file
BIN
journey.d3
Normal file
Binary file not shown.
BIN
journey.d4
Normal file
BIN
journey.d4
Normal file
Binary file not shown.
BIN
journey.d5
Normal file
BIN
journey.d5
Normal file
Binary file not shown.
52
journey.errors
Normal file
52
journey.errors
Normal 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
2
journey.lowcore
Normal file
|
@ -0,0 +1,2 @@
|
|||
|
||||
2
|
258
journey.nsplit
Normal file
258
journey.nsplit
Normal 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
505
journey.record
Normal 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
BIN
journey.seg
Normal file
Binary file not shown.
6177
journey.seginfo
Normal file
6177
journey.seginfo
Normal file
File diff suppressed because it is too large
Load diff
273
journey.split
Normal file
273
journey.split
Normal 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
BIN
journey.syms
Normal file
Binary file not shown.
105
journey.zap
Normal file
105
journey.zap
Normal 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
194
journey.zil
Normal 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
BIN
journey.zip
Normal file
Binary file not shown.
8036
journeydat.zap
Normal file
8036
journeydat.zap
Normal file
File diff suppressed because it is too large
Load diff
198
journeyfreq.zap
Normal file
198
journeyfreq.zap
Normal 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
1858
journeypur.zap
Normal file
File diff suppressed because it is too large
Load diff
1022
journeystr.zap
Normal file
1022
journeystr.zap
Normal file
File diff suppressed because it is too large
Load diff
650
lake.zabstr
Normal file
650
lake.zabstr
Normal 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>
|
605
lavos.zabstr
Normal file
605
lavos.zabstr
Normal 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
891
lavos.zap
Normal 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
|
441
mines.zabstr
Normal file
441
mines.zabstr
Normal 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
619
mines.zap
Normal 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
817
mines.zil
Normal 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>)>>
|
195
objects.zabstr
Normal file
195
objects.zabstr
Normal 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
278
objects.zap
Normal 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
373
objects.zil
Normal 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
BIN
ojourney.seg
Normal file
Binary file not shown.
BIN
ojourney.zip
Normal file
BIN
ojourney.zip
Normal file
Binary file not shown.
83
output.zabstr
Normal file
83
output.zabstr
Normal 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
366
output.zap
Normal 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
429
output.zil
Normal 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
133
part2.zabstr
Normal 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
217
part2.zap
Normal 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
295
part2.zil
Normal 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
powder.save
Normal file
BIN
powder.save
Normal file
Binary file not shown.
289
prison.zabstr
Normal file
289
prison.zabstr
Normal 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
438
prison.zap
Normal 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
547
prison.zil
Normal 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
Loading…
Reference in a new issue