mirror of
https://github.com/historicalsource/journey
synced 2024-04-25 21:49:33 +03:00
1046 lines
31 KiB
Plaintext
1046 lines
31 KiB
Plaintext
|
|
.SEGMENT "0"
|
|
|
|
|
|
.FUNCT PRAXIX-TOO-DANGEROUS-TO-CAST:ANY:0:0
|
|
ICALL1 UNUSE-ESSENCES
|
|
PRINTI "Praxix thought to cast the """
|
|
ICALL2 WPRINTD,ACTION-OBJECT
|
|
PRINTI """ spell, but we agreed that the situation was far too serious to use such a seemingly irrelevant spell."
|
|
CALL1 CHECK-CAST-LIMIT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CHECK-CAST-LIMIT:ANY:0:0,CL
|
|
GETP HERE,P?CAST-LIMIT >CL
|
|
FSET ACTION-OBJECT,TRIED
|
|
FSET? HERE,SINGLE-CAST /?CTR2
|
|
EQUAL? CL,1 \?CCL3
|
|
?CTR2: ICALL UPDATE-FSET,HERE,DONT-CAST
|
|
SET 'DONT-CAST-FLAG,TRUE-VALUE
|
|
RTRUE
|
|
?CCL3: GRTR? CL,1 \TRUE
|
|
SUB CL,1
|
|
PUTP HERE,P?CAST-LIMIT,STACK
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DISSIPATION-CHECK:ANY:0:0
|
|
ZERO? DISSIPATION-WARNING \FALSE
|
|
ZERO? SUBGROUP-MODE \FALSE
|
|
SET 'DISSIPATION-WARNING,TRUE-VALUE
|
|
CRLF
|
|
CRLF
|
|
PRINTI """Actually,"" Praxix revealed, ""I do not have magical essences in any vast supply. These experiments may, one day, prove costly, but for now they seem harmless enough."""
|
|
RTRUE
|
|
|
|
|
|
.FUNCT PRAXIX-NO-CAST:ANY:0:0
|
|
ICALL1 UNUSE-ESSENCES
|
|
ZERO? SUBGROUP-MODE \?CCL3
|
|
PRINTI "Praxix suggested using the """
|
|
ICALL2 WPRINTD,ACTION-OBJECT
|
|
PRINTI """ spell, but "
|
|
CALL2 I/WE,2
|
|
PRINT STACK
|
|
PRINTI " convinced him"
|
|
JUMP ?CND1
|
|
?CCL3: PRINTI "Praxix' mind, working rapidly, thought of using the """
|
|
ICALL2 WPRINTD,ACTION-OBJECT
|
|
PRINTI """ spell, but he soon convinced himself"
|
|
?CND1: PRINTI " that it would be a waste of time under the circumstances."
|
|
CALL1 CHECK-CAST-LIMIT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ADD-ESSENCE:ANY:2:2,OFF,AMT
|
|
GET ESSENCE-TBL,OFF
|
|
ADD STACK,AMT
|
|
PUT ESSENCE-TBL,OFF,STACK
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FIND-ESSENCE:ANY:2:2,ESS,AMT,OFF
|
|
GETP ESS,P?EOFF >OFF
|
|
ICALL UPDATE-MOVE,ESS,ESSENCES
|
|
ICALL ADD-ESSENCE,OFF,AMT
|
|
SET 'FOUND-ESSENCE,TRUE-VALUE
|
|
CALL QUEUE,I-FOUND-ESSENCE,1
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ANONF-24:ANY:0:0
|
|
SET 'FOUND-ESSENCE,FALSE-VALUE
|
|
RETURN FOUND-ESSENCE
|
|
|
|
|
|
.FUNCT CHECK-USED-UP-ESSENCES:ANY:0:0,OFF,FST?,ESS
|
|
SET 'OFF,1
|
|
?PRG1: GRTR? OFF,EMAX \?CCL5
|
|
ZERO? FST? /TRUE
|
|
PRINTI ". ""Let us hope we shall "
|
|
EQUAL? PARTY-MODE,FIGHT-MODE \?CCL10
|
|
PRINTI "get some good use out of "
|
|
JUMP ?CND8
|
|
?CCL10: PRINTI "not be needing "
|
|
?CND8: GRTR? FST?,1 \?CCL13
|
|
PRINTI "them"
|
|
JUMP ?CND11
|
|
?CCL13: PRINTI "it"
|
|
?CND11: PRINTI ","" he said, resignedly."
|
|
RTRUE
|
|
?CCL5: GET ESSENCE-OBJECT-TBL,OFF >ESS
|
|
ZERO? ESS /?CND3
|
|
FSET? ESS,USED-UP \?CND3
|
|
ZERO? SUBGROUP-MODE /?PRD18
|
|
FSET? PRAXIX,SUBGROUP \?CND3
|
|
?PRD18: FSET? PRAXIX,BUSY /?CND3
|
|
FCLEAR ESS,USED-UP
|
|
ZERO? FST? \?CCL23
|
|
SET 'FST?,1
|
|
CRLF
|
|
CRLF
|
|
PRINTI "Praxix now turned his thoughts to his magical powders, since his last spell had used up all of his "
|
|
ICALL2 WPRINTD,ESS
|
|
?CND3: INC 'OFF
|
|
JUMP ?PRG1
|
|
?CCL23: INC 'FST?
|
|
PRINTI " and "
|
|
ICALL2 WPRINTD,ESS
|
|
PRINTC 46
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ANONF-25:ANY:0:0
|
|
EQUAL? ACTION,EXAMINE-COMMAND \FALSE
|
|
CALL QSET?,POUCH,EXAMINED
|
|
ZERO? STACK \?CCL6
|
|
PRINTI "The key to Praxix' wizardly powers lay within the badly worn, brown leather pouch that he carried inside his cloak. This pouch contained his entire stock of magical essences, with whose help it was possible to conjure up a variety of magical spells. But these essences were in very limited supply, and one cannot be too harsh on Praxix for the frequency with which he would assess the quantities of those in his possession."
|
|
CRLF
|
|
CRLF
|
|
PRINTI "He did so now, taking out his pouch and finding"
|
|
JUMP ?CND4
|
|
?CCL6: ICALL2 WPRINTD,PRAXIX
|
|
PRINTI ", "
|
|
ZERO? FOUND-ESSENCE /?CCL9
|
|
PRINTI "having just added to his stock of magical essences, took inventory"
|
|
JUMP ?CND7
|
|
?CCL9: PRINTI "ever concerned about his magical resources, took out his pouch"
|
|
?CND7: PRINTI " and found"
|
|
?CND4: FIRST? ESSENCES /?CCL12
|
|
PRINTI " not a single speck of magical essence."
|
|
JUMP ?CND10
|
|
?CCL12: ICALL2 TELL-AMOUNTS,ESSENCES
|
|
?CND10: FIRST? REAGENTS \TRUE
|
|
PRINTI " In addition, he found"
|
|
ICALL2 TELL-AMOUNTS,REAGENTS
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TELL-AMOUNTS:ANY:1:1,OBJ,F,AMT
|
|
FIRST? OBJ >F /?PRG2
|
|
?PRG2: ZERO? F \?CCL6
|
|
PRINTC 46
|
|
RTRUE
|
|
?CCL6: PRINTI " a "
|
|
GETP F,P?EOFF
|
|
GET ESSENCE-TBL,STACK >AMT
|
|
GET ESSENCE-AMT-TBL,AMT
|
|
PRINT STACK
|
|
PRINTI " amount of "
|
|
ICALL2 WPRINTD,F
|
|
LESS? SCREEN-WIDTH,12-WIDTH \?CND7
|
|
EQUAL? OBJ,REAGENTS /?CND7
|
|
PRINTI " essence"
|
|
?CND7: PRINTI " (enough for "
|
|
GET ESSENCE-AMT-TBL-X,AMT
|
|
PRINT STACK
|
|
PRINTI " spell"
|
|
EQUAL? AMT,1 /?CND11
|
|
PRINTC 115
|
|
?CND11: PRINTC 41
|
|
NEXT? F >F \?PRG2
|
|
NEXT? F \?CCL17
|
|
PRINTC 44
|
|
JUMP ?PRG2
|
|
?CCL17: PRINTI ", and"
|
|
JUMP ?PRG2
|
|
|
|
|
|
.FUNCT CHECK-ESSENCES:ANY:1:2,SPL,AMT,OFF,EBITS
|
|
ASSIGNED? 'AMT /?CND1
|
|
SET 'AMT,1
|
|
?CND1: SET 'OFF,1
|
|
GETP SPL,P?EBITS >EBITS
|
|
?PRG3: EQUAL? OFF,EMAX /TRUE
|
|
BTST EBITS,1 \?CCL9
|
|
GET ESSENCE-TBL,OFF
|
|
LESS? STACK,AMT /FALSE
|
|
?CCL9: INC 'OFF
|
|
SHIFT EBITS,-1 >EBITS
|
|
JUMP ?PRG3
|
|
|
|
|
|
.FUNCT UNUSE-ESSENCES:ANY:0:1,SPL
|
|
ASSIGNED? 'SPL /?CND1
|
|
SET 'SPL,ACTION-OBJECT
|
|
?CND1: CALL USE-ESSENCES,SPL,FALSE-VALUE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT USE-ESSENCE:ANY:1:2,ESS,DEC?,OFF,TMP
|
|
ASSIGNED? 'DEC? /?CND1
|
|
SET 'DEC?,TRUE-VALUE
|
|
?CND1: GETP ESS,P?EOFF >OFF
|
|
GET ESSENCE-TBL,OFF >TMP
|
|
ZERO? DEC? /?CCL5
|
|
EQUAL? TMP,1 \?CND6
|
|
FSET ESS,USED-UP
|
|
ICALL2 UPDATE-REMOVE,ESS
|
|
?CND6: SUB TMP,1
|
|
PUT ESSENCE-TBL,OFF,STACK
|
|
RTRUE
|
|
?CCL5: ZERO? TMP \?CND8
|
|
FCLEAR ESS,USED-UP
|
|
GET ESSENCE-CONT-TBL,OFF
|
|
ICALL UPDATE-MOVE,ESS,STACK
|
|
?CND8: ADD TMP,1
|
|
PUT ESSENCE-TBL,OFF,STACK
|
|
RTRUE
|
|
|
|
|
|
.FUNCT USE-ESSENCES:ANY:1:2,SPL,DEC?,OFF,EBITS
|
|
ASSIGNED? 'DEC? /?CND1
|
|
SET 'DEC?,TRUE-VALUE
|
|
?CND1: SET 'OFF,1
|
|
GETP SPL,P?EBITS >EBITS
|
|
?PRG3: EQUAL? OFF,EMAX /TRUE
|
|
BTST EBITS,1 \?CND5
|
|
GET ESSENCE-OBJECT-TBL,OFF
|
|
ICALL USE-ESSENCE,STACK,DEC?
|
|
?CND5: INC 'OFF
|
|
SHIFT EBITS,-1 >EBITS
|
|
JUMP ?PRG3
|
|
|
|
|
|
.FUNCT ANONF-26:ANY:0:0
|
|
CALL1 PRE-SPELL
|
|
ZERO? STACK \TRUE
|
|
PRINTI "Praxix reached into his cloak and took out the red invisibility powder; there was enough left for at most "
|
|
GET INT-STR,RED-ROCK-COUNT
|
|
PRINT STACK
|
|
PRINTI " use"
|
|
EQUAL? RED-ROCK-COUNT,1 /?CND4
|
|
PRINTC 115
|
|
?CND4: PRINTI ", and this did not seem like the best situation to waste the precious material."
|
|
CALL1 CHECK-CAST-LIMIT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CAST-INVISIBLE:ANY:0:1,ZT
|
|
DEC 'RED-ROCK-COUNT
|
|
ZERO? RED-ROCK-COUNT \TRUE
|
|
ICALL2 UPDATE-REMOVE,INVISIBLE-SPELL
|
|
ZERO? ZT /TRUE
|
|
CRLF
|
|
CRLF
|
|
PRINTI "That was the last of the invisibility powder, and we were all sorry to see it go."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ANONF-27:ANY:0:0
|
|
CALL1 PRE-SPELL
|
|
ZERO? STACK \TRUE
|
|
PRINTI "Praxix reached into his cloak and brought forth some air essence. As he tossed it into the air, a great wind came up, almost knocking us off our feet. When the wind subsided, "
|
|
ICALL2 WPRINTD,LEADER
|
|
PRINTI " quite reasonably asked, ""What was that for?"""
|
|
CRLF
|
|
CRLF
|
|
PRINTI """What, the wind?"" Praxix replied. ""Oh! Just testing, just testing."""
|
|
ICALL1 DISSIPATION-CHECK
|
|
CALL1 CHECK-CAST-LIMIT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT UNDERGROUND-CHECK:ANY:0:0
|
|
FSET? HERE,UNDERGROUND /?CCL3
|
|
FSET? HERE,INDOORS \FALSE
|
|
?CCL3: ICALL1 UNUSE-ESSENCES
|
|
PRINTI "Praxix mused about using his '"
|
|
ICALL2 WPRINTD,ACTION-OBJECT
|
|
PRINTI "' spell, but, upon "
|
|
ZERO? SUBGROUP-MODE /?CCL8
|
|
PRINTI "further consideration, he realized"
|
|
JUMP ?CND6
|
|
?CCL8: PRINTI "careful questioning, he admitted"
|
|
?CND6: PRINTI " that it could not possibly work "
|
|
FSET? HERE,UNDERGROUND \?CCL11
|
|
PRINTI "underground."
|
|
RTRUE
|
|
?CCL11: PRINTI "indoors."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ANONF-28:ANY:0:0
|
|
CALL1 UNDERGROUND-CHECK
|
|
ZERO? STACK \TRUE
|
|
CALL1 PRE-SPELL
|
|
ZERO? STACK \TRUE
|
|
PRINTI "Praxix reached into his cloak and brought forth a little bit of water essence. He cast it into the air, and soon clouds gathered and a light rain fell on us. It lasted only a minute, but it was refreshing nonetheless."
|
|
ICALL1 DISSIPATION-CHECK
|
|
CALL1 CHECK-CAST-LIMIT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT PRE-SPELL:ANY:0:0
|
|
FSET? HERE,DANGEROUS /?CTR2
|
|
FSET? SCENE-OBJECT,DANGEROUS \?CCL3
|
|
?CTR2: ICALL1 PRAXIX-TOO-DANGEROUS-TO-CAST
|
|
RTRUE
|
|
?CCL3: ZERO? SUBGROUP-MODE \?CCL7
|
|
EQUAL? PRAXIX,LEADER /?CCL7
|
|
FSET? ACTION-OBJECT,TRIED \FALSE
|
|
?CCL7: ICALL1 PRAXIX-NO-CAST
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ANONF-29:ANY:0:0
|
|
CALL1 PRE-SPELL
|
|
ZERO? STACK \TRUE
|
|
PRINTI "Praxix reached into his cloak and brought forth some earth essence. "
|
|
FSET? HERE,UNDERGROUND /?CTR5
|
|
FSET? HERE,ENCLOSED \?CCL6
|
|
?CTR5: PRINTI "But then, fearing for the safety of the party, he replaced it."
|
|
ICALL1 UNUSE-ESSENCES
|
|
JUMP ?CND4
|
|
?CCL6: PRINTI "As he tossed it onto the ground, there was a violent shaking from within the earth. Fortunately, nobody was hurt by this display of magical heroics."
|
|
ICALL1 DISSIPATION-CHECK
|
|
?CND4: CALL1 CHECK-CAST-LIMIT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ANONF-30:ANY:0:0,TMP
|
|
EQUAL? HERE,STAIR-CHASM \?CCL3
|
|
FSET? HERE,BLUE-MIX \?CCL3
|
|
ICALL2 FIND-OBJECT,FLOATER
|
|
JUMP ?CND1
|
|
?CCL3: ZERO? SUBGROUP-MODE /?CCL7
|
|
FSET? PRAXIX,SUBGROUP \?CCL7
|
|
ICALL2 FIND-OBJECT,HIMSELF-OBJECT
|
|
JUMP ?CND1
|
|
?CCL7: EQUAL? HERE,MINE-HOLE \?CCL11
|
|
GETP HERE,P?TEMP >TMP
|
|
ZERO? TMP /?CCL11
|
|
GETP TMP,P?ROBJ
|
|
ICALL2 FIND-OBJECT,STACK
|
|
JUMP ?CND1
|
|
?CCL11: EQUAL? HERE,STORMY-SEAS \?CCL15
|
|
ICALL2 FIND-OBJECT,TAG-OBJECT
|
|
JUMP ?CND1
|
|
?CCL15: EQUAL? HERE,IN-RIVER \?CCL17
|
|
ICALL2 FIND-OBJECT,RAFT
|
|
JUMP ?CND1
|
|
?CCL17: EQUAL? HERE,BOAT \?CCL19
|
|
ICALL2 FIND-OBJECT,HIMSELF-OBJECT
|
|
JUMP ?CND1
|
|
?CCL19: ICALL1 FIND-PARTY-OBJECTS
|
|
?CND1: EQUAL? HERE,GOLD-STREAM \?CND20
|
|
GETP HERE,P?TEMP
|
|
GRTR? STACK,0 \?CND20
|
|
ICALL2 FIND-OBJECT,TAG-OBJECT
|
|
?CND20: CALL2 PRSI-TBL,STR?281
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ANONF-31:ANY:0:0
|
|
CALL1 PRE-SPELL
|
|
ZERO? STACK \TRUE
|
|
PRINTI "Perhaps as a joke, Praxix took some air essence and earth essence out of his cloak, mixed them in his hand, and flung them at "
|
|
ICALL2 WPRINTD,ACTION-PRSI
|
|
PRINTC 46
|
|
CRLF
|
|
CRLF
|
|
PRINTI "He scowled as he rose into the air, then (a long minute later) he slowly fell back to earth, amid a chorus of laughter from the rest of the party. ""Works like it should!"" Praxix said, proudly. ""Do not be cross! We may have need for such things!"""
|
|
ICALL1 DISSIPATION-CHECK
|
|
CALL1 CHECK-CAST-LIMIT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ANONF-32:ANY:0:0
|
|
CALL1 PRE-SPELL
|
|
ZERO? STACK \TRUE
|
|
FSET? HERE,ENCLOSED /?CCL5
|
|
CALL QSET?,MUD-SPELL,EXAMINED
|
|
ZERO? STACK \?CCL5
|
|
PRINTI "Praxix then decided to cast his mud spell, though none of us could quite fathom why. In any event, he took two powders from his pouch and cast them at the ground, which soon became a morass of thick, brown sludge."
|
|
CRLF
|
|
CRLF
|
|
PRINTI """A little used and much misunderstood spell,"" Praxix said, wiping the "
|
|
ICALL TELL-COLOR,ESSENCE-WATER,ESSENCE-EARTH
|
|
PRINTI " residue from his hands. ""Only occasionally useful, yet always a mess."""
|
|
CRLF
|
|
CRLF
|
|
PRINTI "We had no idea what he was talking about, of course, and it seemed best not to pursue the matter further."
|
|
RTRUE
|
|
?CCL5: PRINTI "Praxix then had the peculiar notion of casting his mud spell"
|
|
PRINTI ", but decided it was a terrible waste of time."
|
|
CALL1 UNUSE-ESSENCES
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ANONF-33:ANY:0:0
|
|
ICALL FIND-OBJECTS,HERE,DONT-CAST
|
|
FSET? HERE,ENCLOSED /?CND1
|
|
FSET? HERE,INDOORS /?CND1
|
|
ICALL2 FIND-OBJECT,GROUND
|
|
?CND1: CALL2 PRSI-TBL,STR?281
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ANONF-34:ANY:0:0
|
|
CALL1 UNDERGROUND-CHECK
|
|
ZERO? STACK \TRUE
|
|
CALL1 PRE-SPELL
|
|
ZERO? STACK \TRUE
|
|
EQUAL? ACTION-PRSI,GROUND \?CCL7
|
|
PRINTI "Praxix raised a finger to the wind, then took a quick glance at the sky. The rest of us looked on in bewilderment as Praxix removed some fire and water essences from his pouch and mixed them carefully in his hand. Finally, he added just the smallest amount of earth essence and cast the combination into the sky while aiming his staff at a nearby piece of earth."
|
|
CRLF
|
|
CRLF
|
|
PRINTI "A moment later, the sky was filled with clouds. A dull rumble of thunder preceded a single bolt of white lightning which smote the ground at which Praxix' staff was still pointing."
|
|
CALL QSET?,LIGHTNING-SPELL,INCAPACITATED
|
|
ZERO? STACK \?CND8
|
|
CRLF
|
|
CRLF
|
|
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."
|
|
?CND8: CRLF
|
|
CRLF
|
|
PRINTI """It's quite exciting to watch,"" he said, ""and sometimes it is even helpful!"""
|
|
FSET? ESHER,IN-PARTY \?CND10
|
|
CRLF
|
|
CRLF
|
|
PRINTI """I assume you'll let us know when that is,"" Esher said, derisively."
|
|
CRLF
|
|
CRLF
|
|
PRINTI "Praxix frowned and replied, ""I shall make it a point that you are the first to know."""
|
|
?CND10: ICALL1 DISSIPATION-CHECK
|
|
FSET LIGHTNING-SPELL,SEEN
|
|
CALL1 CHECK-CAST-LIMIT
|
|
RSTACK
|
|
?CCL7: CALL2 PECULIAR-NOTION,STR?285
|
|
RSTACK
|
|
|
|
|
|
.FUNCT PECULIAR-NOTION:ANY:1:1,STR
|
|
PRINTI "Praxix then had the peculiar notion of casting his "
|
|
PRINT STR
|
|
PRINTI " spell"
|
|
ZERO? ACTION-PRSI /?CND1
|
|
PRINTI " on the "
|
|
ICALL2 WPRINTD,ACTION-PRSI
|
|
?CND1: PRINTI ", but decided it "
|
|
EQUAL? ACTION-PRSI,MOAT-BRIDGE \?CCL5
|
|
PRINTI "would ruin any chance he might have of reaching the castle grounds"
|
|
JUMP ?CND3
|
|
?CCL5: PRINTI "was a terrible waste of time"
|
|
?CND3: PRINTC 46
|
|
CALL1 UNUSE-ESSENCES
|
|
RSTACK
|
|
|
|
|
|
.FUNCT PRAXIX-DEFAULT-CAST:ANY:0:0
|
|
FSET? HERE,DANGEROUS /?CTR2
|
|
FSET? SCENE-OBJECT,DANGEROUS \?CCL3
|
|
?CTR2: CALL1 PRAXIX-TOO-DANGEROUS-TO-CAST
|
|
RSTACK
|
|
?CCL3: CALL1 PRAXIX-NO-CAST
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ANONF-35:ANY:0:0
|
|
ICALL FIND-OBJECTS,HERE,DONT-CAST
|
|
ICALL2 FIND-OBJECT,GROUND
|
|
CALL2 PRSI-TBL,STR?281
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ANONF-36:ANY:0:0
|
|
CALL1 PRE-SPELL
|
|
ZERO? STACK \TRUE
|
|
EQUAL? ACTION-OBJECT,GROUND \?CCL5
|
|
PRINTI "Praxix took out his fire essence and cast it on the ground before our feet. The spot burst into a white-hot flame that died out only a few moments later."
|
|
CRLF
|
|
CRLF
|
|
PRINTI """Quite useful,"" Praxix said, mainly to himself. ""Keeping away dangerous beasts, cooking meals, warming up a cold campsite. One never knows when a good fire will be needed!"""
|
|
ICALL1 DISSIPATION-CHECK
|
|
CALL1 CHECK-CAST-LIMIT
|
|
RSTACK
|
|
?CCL5: CALL2 PECULIAR-NOTION,STR?288
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ANONF-37:ANY:0:0
|
|
ICALL2 FIND-OBJECTS,PRAXIX-CAST-OBJECTS
|
|
ICALL FIND-OBJECTS,INVENTORY,DONT-CAST
|
|
ICALL FIND-OBJECTS,HERE,DONT-CAST
|
|
CALL2 PRSI-TBL,STR?17
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ANONF-38:ANY:0:0
|
|
EQUAL? HERE,WEBBA-MAP-GLOW-LOC /FALSE
|
|
REMOVE I-CLEAR-WEBBA-MAP-EXAMINE
|
|
CALL UPDATE-FSET,WEBBA-MAP,DONT-EXAMINE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CAST-LIGHT:ANY:0:0
|
|
EQUAL? ACTION-PRSI,STAFF \?CCL3
|
|
FSET? HERE,UNDERGROUND /?CCL6
|
|
FSET? HERE,NEAR-DARK /?CCL6
|
|
FSET? PRAXIX,LIT \?CCL11
|
|
CALL1 DONT-WASTE-LIGHT
|
|
RSTACK
|
|
?CCL11: FSET? HERE,NEAR-DARK \?CCL13
|
|
SET 'DARKNESS-CAST?,FALSE-VALUE
|
|
FSET PRAXIX,LIT
|
|
PRINTI "Thinking light might be soon needed, Praxix removed his pouch of essences and, combining that of earth and fire, applied the mix to his staff, which started to glow a faint red color."
|
|
RTRUE
|
|
?CCL13: PRINTI "Presumably for practice, or perhaps out of boredom, Praxix removed his pouch of magical essences and, combining two of them, applied the resulting mixture to his staff which started to glow a faint red color."
|
|
SET 'DARKNESS-CAST?,FALSE-VALUE
|
|
ZERO? SUBGROUP-MODE \?CND14
|
|
CRLF
|
|
CRLF
|
|
PRINTI """Gotten me out of many a tight spot,"" he said without explanation."
|
|
?CND14: FSET PRAXIX,LIT
|
|
ICALL1 DISSIPATION-CHECK
|
|
CALL1 CHECK-CAST-LIMIT
|
|
RSTACK
|
|
?CCL6: FSET? PRAXIX,LIT /?CCL17
|
|
ZERO? SUBGROUP-MODE \?CCL17
|
|
FSET PRAXIX,LIT
|
|
FSET? HERE,NEAR-DARK \?CCL22
|
|
PRINTI "Praxix now withdrew some earth and fire essences and cast them at his staff, causing it"
|
|
JUMP ?CND20
|
|
?CCL22: PRINTI "You can imagine our surprise when, in this deepest gloom, Praxix' staff began"
|
|
?CND20: PRINTI " to glow with a brilliant red light. ""A good thing we found fire essence,"" Praxix said, blankly. ""I only hope I didn't use too much."""
|
|
FSET? ESHER,IN-PARTY \?CND23
|
|
CRLF
|
|
CRLF
|
|
PRINTI """Some Wizard!"" replied Esher. ""Heaven help us!"""
|
|
?CND23: ICALL1 CHECK-CAST-LIMIT
|
|
EQUAL? HERE,BERN-I-LAV,DWARF-MEETING-LOC \TRUE
|
|
ICALL1 CAVERN-GRAPHIC
|
|
RTRUE
|
|
?CCL17: CALL QSET?,PRAXIX,LIT
|
|
ZERO? STACK \?CCL28
|
|
PRINTI "Praxix now withdrew some earth and fire essences and cast them at his staff, causing it to glow with a brilliant red light."
|
|
CRLF
|
|
CRLF
|
|
PRINTI """Should do nicely,"" he said to himself. ""Very nicely indeed."""
|
|
RTRUE
|
|
?CCL28: ZERO? SUBGROUP-MODE /?CCL30
|
|
CALL1 DONT-WASTE-LIGHT
|
|
RSTACK
|
|
?CCL30: PRINTI "The light emanating from Praxix' staff appeared fine to us, but Praxix took more fire and earth essence from his pouch and applied it to the staff anyway. ""Can't be too sure,"" he said."
|
|
REMOVE HYE-GLOW
|
|
CALL1 CHECK-CAST-LIMIT
|
|
RSTACK
|
|
?CCL3: EQUAL? ACTION-PRSI,WEBBA-MAP \?CCL32
|
|
FCLEAR WEBBA-MAP,DEAD
|
|
FSET WEBBA-MAP,SOLVED
|
|
ICALL UPDATE-FCLEAR,WEBBA-MAP,DONT-EXAMINE
|
|
SET 'WEBBA-MAP-GLOW-LOC,HERE
|
|
ICALL QUEUE,I-CLEAR-WEBBA-MAP-EXAMINE,-1
|
|
FSET WEBBA-MAP,ENCHANTED
|
|
ICALL QUEUE,I-WEBBA-MAP-GLOW,1
|
|
FSET ACTION-PRSI,DONT-CAST
|
|
PRINTI "I suppose it was only a hunch, but Praxix decided to cast his glow spell on the map that Webba had given us. Much to our surprise, a chain of runes began to glow, pointing the way to some unknown place."
|
|
CRLF
|
|
CRLF
|
|
PRINTI """This solves the mystery of which runes were originally there,"" he said, proudly, ""though it says nothing of who put it there, and why"
|
|
EQUAL? HERE,ASTRIX-MAZE \?CND33
|
|
PRINTI ", though I would lay odds it was Astrix himself"
|
|
?CND33: PRINTI "."""
|
|
RTRUE
|
|
?CCL32: EQUAL? ACTION-PRSI,GATE-RUNES \?CCL36
|
|
FSET ACTION-PRSI,DONT-CAST
|
|
PRINTI "This sort of thing had worked before, so Praxix took out his magical powders and cast his glow enchantment on the strange ruins above the gate. The runes did, in fact, glow more brightly than they had before, yet no other change occurred - certainly none that we found useful in getting through the gate."
|
|
RTRUE
|
|
?CCL36: PRINTI "Praxix then had the most peculiar notion of casting his glow spell on the "
|
|
ICALL2 WPRINTD,ACTION-PRSI
|
|
PRINTI ", but decided it was a terrible waste of time."
|
|
CALL1 UNUSE-ESSENCES
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ANONF-39:ANY:0:0
|
|
FCLEAR WEBBA-MAP,ENCHANTED
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DONT-WASTE-LIGHT:ANY:0:0
|
|
PRINTI "Praxix checked his staff, but a usable light was already emanating from it. Figuring it best not to waste magical essences, he decided against recharging it with light."
|
|
ICALL1 UNUSE-ESSENCES
|
|
CALL1 CHECK-CAST-LIMIT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CAST-FAR-VISION:ANY:0:1,DFLT?
|
|
ASSIGNED? 'DFLT? /?CND1
|
|
SET 'DFLT?,TRUE-VALUE
|
|
?CND1: FSET? HERE,ENCLOSED /?CTR4
|
|
FSET? HERE,INDOORS \?CCL5
|
|
?CTR4: PRINTI "Praxix now considered using his flare spell, but felt it was too dangerous considering how enclosed our surroundings were."
|
|
ICALL1 UNUSE-ESSENCES
|
|
RTRUE
|
|
?CCL5: CALL QSET?,FAR-VISION-SPELL,SEEN
|
|
ZERO? STACK \?CCL9
|
|
PRINTI "Praxix raised his arm before him, and from his crooked forefinger shot a small ball of fire"
|
|
FSET? HERE,UNDERGROUND \?CCL12
|
|
PRINTI ", illuminating the cavern walls as it sped into the gloom."
|
|
JUMP ?CND3
|
|
?CCL12: PRINTI ", disappearing into the air before him."
|
|
ICALL1 CHECK-CAST-LIMIT
|
|
JUMP ?CND3
|
|
?CCL9: FSET? HERE,UNDERGROUND \?CCL14
|
|
PRINTI "Praxix, using his flare spell, illuminated the darkness before "
|
|
ZERO? SUBGROUP-MODE /?CCL17
|
|
PRINTI "him."
|
|
JUMP ?CND3
|
|
?CCL17: PRINTI "us."
|
|
JUMP ?CND3
|
|
?CCL14: PRINTI "Praxix, casting his flare spell, shot a ball of fire into the distance."
|
|
?CND3: ZERO? DFLT? /TRUE
|
|
PRINTI " Unfortunately, "
|
|
FSET? HERE,UNDERGROUND \?CCL22
|
|
PRINTI "nothing was revealed in the gloom."
|
|
RTRUE
|
|
?CCL22: PRINTI "there was no response, and nothing new was revealed."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT V-MIX:ANY:0:0
|
|
PRINTI "Carefully, Praxix mixed the "
|
|
ICALL2 WPRINTD,ACTION-OBJECT
|
|
PRINTI " with an equal amount of "
|
|
ICALL2 WPRINTD,ACTION-PRSI
|
|
PRINTI ", "
|
|
SET 'MIX-ESSENCE,ACTION-PRSI
|
|
SET 'MIX-REAGENT,ACTION-OBJECT
|
|
EQUAL? MIX-REAGENT,REAGENT,BLUE-REAGENT \?CCL3
|
|
EQUAL? MIX-ESSENCE,ESSENCE-FIRE \?CCL3
|
|
SET 'MIXTURE,SPECIAL-VISION-SPELL
|
|
JUMP ?CND1
|
|
?CCL3: EQUAL? MIX-REAGENT,REAGENT,BLUE-REAGENT \?CCL7
|
|
EQUAL? MIX-ESSENCE,ESSENCE-WATER \?CCL7
|
|
SET 'MIXTURE,ANIMATE-SPELL
|
|
JUMP ?CND1
|
|
?CCL7: EQUAL? MIX-REAGENT,GRAY-REAGENT \?CCL11
|
|
EQUAL? MIX-ESSENCE,ESSENCE-AIR \?CCL11
|
|
SET 'MIXTURE,FOREBODING-SPELL
|
|
JUMP ?CND1
|
|
?CCL11: EQUAL? MIX-REAGENT,GRAY-REAGENT \?CCL15
|
|
EQUAL? MIX-ESSENCE,ESSENCE-FIRE \?CCL15
|
|
SET 'MIXTURE,BEND-WILL-SPELL
|
|
JUMP ?CND1
|
|
?CCL15: EQUAL? MIX-REAGENT,BLACK-REAGENT \?CCL19
|
|
EQUAL? HERE,ZAN-CAVE \?CCL19
|
|
EQUAL? MIX-ESSENCE,ESSENCE-FIRE \?CCL24
|
|
SET 'MIXTURE,DARKNESS-SPELL
|
|
JUMP ?CND1
|
|
?CCL24: EQUAL? MIX-ESSENCE,ESSENCE-WATER \?CCL26
|
|
SET 'MIXTURE,ILLNESS-SPELL
|
|
JUMP ?CND1
|
|
?CCL26: EQUAL? MIX-ESSENCE,ESSENCE-EARTH \?CCL28
|
|
SET 'MIXTURE,COLD-SPELL
|
|
JUMP ?CND1
|
|
?CCL28: SET 'MIXTURE,DESPAIR-SPELL
|
|
JUMP ?CND1
|
|
?CCL19: SET 'MIXTURE,UNSTABLE-MIX
|
|
?CND1: EQUAL? MIX-REAGENT,BLACK-REAGENT \?CCL31
|
|
ZERO? MIXTURE \?CCL31
|
|
ICALL2 UPDATE-REMOVE,BLACK-REAGENT
|
|
PRINTI "but the strangest thing happened. The mixture itself, along with the remaining black reagent, simply vanished into the air."
|
|
CRLF
|
|
CRLF
|
|
GRTR? BLACK-COUNT,0 \TRUE
|
|
PRINTI """It would appear that without Umber, the mixtures are powerless,"" Praxix said. ""He possesses a great power, and his magic has harnessed the very essence of evil! But for what purpose?"""
|
|
RTRUE
|
|
?CCL31: ZERO? MIXTURE /?CCL37
|
|
FSET? MIXTURE,SEEN \?CCL37
|
|
PRINTI "and was soon ready to cast the mixture."
|
|
JUMP ?CND29
|
|
?CCL37: ZERO? MIXTURE /?CND40
|
|
FSET MIXTURE,SEEN
|
|
?CND40: PRINTI "and was now ready to cast the unknown mix to see what enchantment it would perform."
|
|
?CND29: SET 'MIX-DONE,TRUE-VALUE
|
|
ZERO? MIXTURE /?CCL44
|
|
ICALL2 USE-ESSENCES,MIXTURE
|
|
JUMP ?CND42
|
|
?CCL44: ICALL2 USE-ESSENCE,MIX-REAGENT
|
|
ICALL2 USE-ESSENCE,MIX-ESSENCE
|
|
?CND42: CALL1 FIXUP-PRAXIX-COMMANDS
|
|
RSTACK
|
|
|
|
|
|
.FUNCT FIXUP-PRAXIX-COMMANDS:ANY:0:0
|
|
ZERO? MIX-DONE \?CCL3
|
|
CALL TRAVEL-COMMANDS,PRAXIX,CAST-COMMAND,MIX-COMMAND,EXAMINE-COMMAND
|
|
RSTACK
|
|
?CCL3: CALL TRAVEL-COMMANDS,PRAXIX,CAST-COMMAND,USE-MIX-COMMAND,EXAMINE-COMMAND
|
|
RSTACK
|
|
|
|
|
|
.FUNCT V-USE-MIX:ANY:0:0
|
|
SET 'MIX-DONE,FALSE-VALUE
|
|
ICALL1 FIXUP-PRAXIX-COMMANDS
|
|
EQUAL? PARTY-MODE,FIGHT-MODE \?CND1
|
|
ICALL CHANGE-CIT,PRAXIX,2,NUL-COMMAND
|
|
?CND1: ZERO? MIXTURE \?CCL5
|
|
EQUAL? MIX-REAGENT,GRAY-REAGENT \?CCL8
|
|
FSET MIX-ESSENCE,GRAY-MIX
|
|
JUMP ?CND6
|
|
?CCL8: EQUAL? MIX-REAGENT,BLUE-REAGENT,REAGENT \?CCL10
|
|
FSET MIX-ESSENCE,BLUE-MIX
|
|
JUMP ?CND6
|
|
?CCL10: FSET MIX-ESSENCE,BLACK-MIX
|
|
?CND6: PRINTI "Even as Praxix cast this unknown mixture, it disintegrated into the air."
|
|
CRLF
|
|
CRLF
|
|
ZERO? SUBGROUP-MODE /?CCL13
|
|
PRINTI """Blasted powders,"" he said aloud."
|
|
RTRUE
|
|
?CCL13: CALL QSET?,MIX-REAGENT,TRAPPED
|
|
ZERO? STACK \?CCL15
|
|
PRINTI """Astrix warned us that some mixtures would be unstable,"" he said, ""It would appear that he was right."""
|
|
RTRUE
|
|
?CCL15: PRINTI """Another unstable mixture,"" Praxix said with a sigh."
|
|
RTRUE
|
|
?CCL5: PRINTI "Praxix cast his mixture at "
|
|
EQUAL? ACTION-OBJECT,BERGON-OBJECT,ESHER-OBJECT,MINAR-OBJECT /?CND16
|
|
PRINTI "the "
|
|
?CND16: ICALL2 WPRINTD,ACTION-OBJECT
|
|
PRINTI ", but nothing appeared to happen. ""It was worth a try,"" Praxix said, but he was clearly disappointed with the result."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT O-CAST-MIX:ANY:0:0
|
|
ICALL FIND-OBJECTS,HERE,DONT-CAST
|
|
CALL2 FIND-OBJECTS,PRAXIX-CAST-OBJECTS
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ANONF-40:ANY:0:0
|
|
EQUAL? ACTION,USE-MIX-COMMAND \FALSE
|
|
ZERO? MIXTURE /FALSE
|
|
EQUAL? MIXTURE,FOREBODING-SPELL \?CCL8
|
|
FSET FOREBODING-SPELL,ENCHANTED
|
|
PRINTI "Praxix cast this strange new mixture at his staff, and the oddest thing happened. Rather than the pale red glow of his ""glow"" spell, his staff now gave off a "
|
|
FSET? HERE,FORBIDDING \?CCL11
|
|
PRINTI "deep red glow"
|
|
JUMP ?CND9
|
|
?CCL11: PRINTI "dim green glow which was barely perceptible to the eye"
|
|
?CND9: PRINTC 46
|
|
ICALL QUEUE,RESET-FOREBODING-OBJ,5
|
|
CALL QSET?,STAFF,ENCHANTED
|
|
ZERO? STACK \?CND12
|
|
PRINTI " We waited a while longer, but nothing further happened."
|
|
REMOVE HYE-FOREBODING
|
|
CRLF
|
|
CRLF
|
|
PRINTI """Odd,"" Praxix said, ""Either the spell is useless, or it works in a manner that we have not yet discovered - I wonder which."""
|
|
?CND12: ICALL1 MIXTURE-CAST
|
|
RTRUE
|
|
?CCL8: PRINTI "Unsure of what to cast the mixture at, Praxix thought to try his staff. Sadly, though, nothing happened."
|
|
ICALL1 MIXTURE-CAST
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FIND-PARTY-OBJECTS:ANY:0:0,CNT,CHR
|
|
?PRG1: IGRTR? 'CNT,PARTY-MAX /TRUE
|
|
GET PARTY,CNT >CHR
|
|
ZERO? CHR /?PRG1
|
|
FSET? CHR,IN-PARTY \?PRG1
|
|
EQUAL? CHR,PRAXIX /?PRG1
|
|
GETP CHR,P?ROBJ >CHR
|
|
ZERO? CHR /?PRG1
|
|
LOC CHR
|
|
ZERO? STACK /?PRG1
|
|
ICALL2 FIND-OBJECT,CHR
|
|
JUMP ?PRG1
|
|
|
|
|
|
.FUNCT PRSI-TBL:ANY:1:1,STR,OBJ1,OBJ2,OBJ3,OBJ4,CNT,?TMP1,?TMP2,?TMP3
|
|
GET O-TABLE,0 >CNT
|
|
ZERO? CNT \?CCL3
|
|
SET 'ACTION-PRSI,FALSE-VALUE
|
|
RTRUE
|
|
?CCL3: EQUAL? CNT,4 \?CCL5
|
|
GET O-TABLE,1 >?TMP3
|
|
GET O-TABLE,2 >?TMP2
|
|
GET O-TABLE,3 >?TMP1
|
|
GET O-TABLE,4
|
|
ICALL PRSI-SETUP,?TMP3,?TMP2,?TMP1,STACK
|
|
JUMP ?CND1
|
|
?CCL5: EQUAL? CNT,3 \?CCL7
|
|
GET O-TABLE,1 >?TMP2
|
|
GET O-TABLE,2 >?TMP1
|
|
GET O-TABLE,3
|
|
ICALL PRSI-SETUP,?TMP2,?TMP1,STACK
|
|
JUMP ?CND1
|
|
?CCL7: EQUAL? CNT,2 \?CCL9
|
|
GET O-TABLE,1 >?TMP1
|
|
GET O-TABLE,2
|
|
ICALL PRSI-SETUP,?TMP1,STACK
|
|
JUMP ?CND1
|
|
?CCL9: EQUAL? CNT,1 \?CND1
|
|
GET O-TABLE,1
|
|
ICALL2 PRSI-SETUP,STACK
|
|
?CND1: GRTR? CNT,4 \?CCL13
|
|
CALL PRSI-INPUT,STR,FALSE-VALUE
|
|
RSTACK
|
|
?CCL13: CALL PRSI-INPUT,STR,TRUE-VALUE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT PRSI-SETUP:ANY:0:4,OBJ1,OBJ2,OBJ3,OBJ4,CNT
|
|
ASSIGNED? 'OBJ1 \?CND1
|
|
LOC OBJ1
|
|
ZERO? STACK /?CND1
|
|
INC 'CNT
|
|
ADD CNT,5
|
|
PUT O-TABLE,STACK,OBJ1
|
|
?CND1: ASSIGNED? 'OBJ2 \?CND5
|
|
LOC OBJ2
|
|
ZERO? STACK /?CND5
|
|
INC 'CNT
|
|
ADD CNT,5
|
|
PUT O-TABLE,STACK,OBJ2
|
|
?CND5: ASSIGNED? 'OBJ3 \?CND9
|
|
LOC OBJ3
|
|
ZERO? STACK /?CND9
|
|
INC 'CNT
|
|
ADD CNT,5
|
|
PUT O-TABLE,STACK,OBJ3
|
|
?CND9: ASSIGNED? 'OBJ4 \?CND13
|
|
LOC OBJ4
|
|
ZERO? STACK /?CND13
|
|
INC 'CNT
|
|
ADD CNT,5
|
|
PUT O-TABLE,STACK,OBJ4
|
|
?CND13: PUT O-TABLE,5,CNT
|
|
ADD 6,CNT
|
|
PUT O-TABLE,0,STACK
|
|
RTRUE
|
|
|
|
|
|
.FUNCT PRSI-ESSENCE:ANY:0:0
|
|
PUT O-TABLE,0,0
|
|
ICALL2 FIND-OBJECTS,ESSENCES
|
|
CALL2 PRSI-TBL,STR?304
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ESSENCE-PRSI:ANY:0:0
|
|
EQUAL? ACTION-OBJECT,ESSENCE-EARTH \?CCL3
|
|
ICALL PRSI-SETUP,ESSENCE-AIR,ESSENCE-FIRE,ESSENCE-WATER
|
|
JUMP ?CND1
|
|
?CCL3: EQUAL? ACTION-OBJECT,ESSENCE-AIR \?CCL5
|
|
ICALL PRSI-SETUP,ESSENCE-EARTH,ESSENCE-FIRE,ESSENCE-WATER
|
|
JUMP ?CND1
|
|
?CCL5: EQUAL? ACTION-OBJECT,ESSENCE-FIRE \?CCL7
|
|
ICALL PRSI-SETUP,ESSENCE-EARTH,ESSENCE-AIR,ESSENCE-WATER
|
|
JUMP ?CND1
|
|
?CCL7: ICALL PRSI-SETUP,ESSENCE-EARTH,ESSENCE-AIR,ESSENCE-FIRE
|
|
?CND1: CALL PRSI-INPUT,STR?304,TRUE-VALUE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT GET-SPELL:ANY:2:2,C1,C2,TBL,E1,E2
|
|
GETP C1,P?ESSENCE >E1
|
|
GETP C2,P?ESSENCE >E2
|
|
GETPT E1,P?MIX-SPELL
|
|
ZERO? STACK /?CTR2
|
|
GETPT E2,P?MIX-SPELL
|
|
ZERO? STACK \?CCL3
|
|
?CTR2: RETURN TAG-POWDERS
|
|
?CCL3: GETPT E1,P?MIX-SPELL >TBL
|
|
GETP E2,P?TEMP
|
|
GET TBL,STACK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT TELL-COLOR:ANY:2:2,E1,E2,TBL,P1,P2
|
|
GETP E1,P?COLOR >P1
|
|
GETP E2,P?COLOR >P2
|
|
FSET? P1,COARSE \?CCL3
|
|
FSET? P2,COARSE \?CCL3
|
|
PRINTI "coarse "
|
|
JUMP ?CND1
|
|
?CCL3: FSET? P1,COARSE /?CCL7
|
|
FSET? P2,COARSE /?CCL7
|
|
PRINTI "fine "
|
|
JUMP ?CND1
|
|
?CCL7: PRINTI "medium textured "
|
|
?CND1: GETPT P1,P?MIX-COLOR >TBL
|
|
GETP P2,P?TEMP
|
|
GET TBL,STACK
|
|
PRINT STACK
|
|
RTRUE
|
|
|
|
|
|
.FUNCT REMOVE-MISSING-POWDERS:ANY:0:0
|
|
ICALL2 EP-CHECK,ESSENCE-FIRE
|
|
ICALL2 EP-CHECK,ESSENCE-WATER
|
|
ICALL2 EP-CHECK,ESSENCE-AIR
|
|
CALL2 EP-CHECK,ESSENCE-EARTH
|
|
RSTACK
|
|
|
|
|
|
.FUNCT EP-CHECK:ANY:1:1,ESS
|
|
IN? ESS,ESSENCES /FALSE
|
|
DEC 'NUM-POWDERS
|
|
GETP ESS,P?COLOR
|
|
REMOVE STACK
|
|
RTRUE
|
|
|
|
|
|
.FUNCT O-MIX:ANY:0:0
|
|
EQUAL? ACTOR,TAG \?CCL3
|
|
ICALL1 REMOVE-MISSING-POWDERS
|
|
CALL2 FIND-OBJECTS,TAG-POWDERS
|
|
RSTACK
|
|
?CCL3: EQUAL? HERE,ZAN-OUTSKIRTS \?CCL5
|
|
FSET? HERE,SEEN \?CCL5
|
|
CALL2 FIND-OBJECTS,ESSENCES
|
|
RSTACK
|
|
?CCL5: FIRST? ESSENCES \FALSE
|
|
CALL2 FIND-OBJECTS,REAGENTS
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MIXTURE-CAST:ANY:0:0
|
|
SET 'MIX-DONE,FALSE-VALUE
|
|
ICALL1 FIXUP-PRAXIX-COMMANDS
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SAVE-SPELL:ANY:0:1,SP
|
|
ASSIGNED? 'SP /?CND1
|
|
SET 'SP,ACTION-OBJECT
|
|
?CND1: GETPT SP,P?TEMP
|
|
ZERO? STACK \?CCL5
|
|
PRINTI "[Error: No Spell TEMP]"
|
|
RTRUE
|
|
?CCL5: LOC SP
|
|
PUTP SP,P?TEMP,STACK
|
|
CALL UPDATE-MOVE,SP,SAVED-SPELLS
|
|
RSTACK
|
|
|
|
|
|
.FUNCT RESTORE-SPELLS:ANY:0:0,F,N
|
|
FIRST? SAVED-SPELLS >F /?PRG2
|
|
?PRG2: ZERO? F /TRUE
|
|
NEXT? F >N /?BOGUS7
|
|
?BOGUS7: GETP F,P?TEMP
|
|
ICALL UPDATE-MOVE,F,STACK
|
|
SET 'F,N
|
|
JUMP ?PRG2
|
|
|
|
|
|
.FUNCT ANONF-41:ANY:0:0
|
|
EQUAL? ACTION,CAST-COMMAND \FALSE
|
|
EQUAL? TAG-SPELL,LIGHTNING-SPELL \?CCL6
|
|
EQUAL? TAG-PINCH,ESSENCE-EARTH \?CCL6
|
|
ICALL2 GRAPHIC,G-EVIL-ONE
|
|
PRINTI "The time seemed right, so I flung the mixture of essences at the Dread Lord and, as an added touch, I grabbed Praxix' staff and pointed it at him as well. The clouds approached, and before the demon could react, a single bolt of lightning was hurled from the sky, smiting him and the hideous creature that had borne him here. All that remained was his silver locket, which clattered to the ground at our feet."
|
|
CRLF
|
|
CRLF
|
|
PRINTI "But as the smoking remains of the Dread Lord rose into the sky, so did another shape, forming itself from the very ashes. Its face was a pale gray, its eyes a fiery red."
|
|
CRLF
|
|
CRLF
|
|
PRINTI """You are fortunate to have defeated me,"" it said in a dark whisper, ""but, after all, my form was merely flesh and blood, as was the miserable creature that carried me here."""
|
|
CRLF
|
|
CRLF
|
|
PRINTI "And then, his eyes turned to me, and his gaze burned my skin. ""I shall make it a point that we meet again; and then, we shall see..."" The smoke dissipated, and the voice trailed off into nothingness."
|
|
CRLF
|
|
CRLF
|
|
PRINTI "Praxix, having missed the whole thing, now regained consciousness, and I told him what had happened. Then, I bent down and picked up the demon's locket, placing it in my pack."
|
|
CRLF
|
|
CRLF
|
|
PRINTI """Well, well,"" he said, proudly. ""We shall be making a Wizard of you yet!"""
|
|
CALL1 END-DEMON
|
|
RSTACK
|
|
?CCL6: SET 'DEMON-COUNT,10
|
|
ICALL2 HINT,HINT-MAGIC
|
|
PRINTI "As soon as the mixture left my fingertips, I knew I had failed. For what happened was that "
|
|
EQUAL? TAG-SPELL,LIGHTNING-SPELL \?CCL11
|
|
PRINTI "the clouds gathered slowly, and a few small bolts of lightning appeared, though they did not nearly reach the earth."
|
|
RTRUE
|
|
?CCL11: EQUAL? TAG-SPELL,LEVITATE-SPELL \?CCL13
|
|
PRINTI "the demon rose into the air! I had cast a spell of elevation on him, and he merely laughed at my futile effort."
|
|
RTRUE
|
|
?CCL13: EQUAL? TAG-SPELL,MUD-SPELL \?CCL15
|
|
PRINTI "the ground before us turned soft and squishy; I had a mud producing spell, and the demon laughed hideously at my ridiculous effort."
|
|
RTRUE
|
|
?CCL15: EQUAL? TAG-SPELL,LIGHT-SPELL \?CCL17
|
|
PRINTI "the demon's cape started to glow faintly - I had cast the glow spell my mistake!"
|
|
RTRUE
|
|
?CCL17: EQUAL? TAG-SPELL,FOG-SPELL \?CCL19
|
|
PRINTI "a thick fog started to form around us; the demon blew it away with a powerful breath! I had prepared the wrong mixture!"
|
|
RTRUE
|
|
?CCL19: EQUAL? TAG-SPELL,FAR-VISION-SPELL \?CCL21
|
|
PRINTI "a fireball flew from my fingertips, passing the demon by harmlessly - in my haste, I had prepared the wrong mixture!"
|
|
RTRUE
|
|
?CCL21: PRINTI "nothing whatever happened."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TAG-POWDER-MIX:ANY:0:0,OFF
|
|
EQUAL? ACTION,MIX-COMMAND \FALSE
|
|
GETP ACTION-PRSI,P?TEMP >OFF
|
|
CALL GET-SPELL,ACTION-OBJECT,ACTION-PRSI >TAG-SPELL
|
|
REMOVE ACTION-OBJECT
|
|
REMOVE ACTION-PRSI
|
|
PRINTI "Trying not to attract the attention of the demon, I quietly mixed roughly equal amounts of the "
|
|
ICALL2 WPRINTD,ACTION-OBJECT
|
|
PRINTI " powder and the "
|
|
ICALL2 WPRINTD,ACTION-PRSI
|
|
PRINTI " powder, hoping the resulting combination would create a powerful lightning spell. In any event, I would soon find out."
|
|
PUTP TAG-C-RED-POWDER,P?PRSI,FALSE-VALUE
|
|
PUTP TAG-C-BLUE-POWDER,P?PRSI,FALSE-VALUE
|
|
PUTP TAG-C-YELLOW-POWDER,P?PRSI,FALSE-VALUE
|
|
PUTP TAG-C-WHITE-POWDER,P?PRSI,FALSE-VALUE
|
|
PUTP TAG-RED-POWDER,P?PRSI,FALSE-VALUE
|
|
PUTP TAG-BLUE-POWDER,P?PRSI,FALSE-VALUE
|
|
PUTP TAG-YELLOW-POWDER,P?PRSI,FALSE-VALUE
|
|
PUTP TAG-WHITE-POWDER,P?PRSI,FALSE-VALUE
|
|
CALL TRAVEL-COMMANDS,TAG,CAST-COMMAND,ADD-PINCH-COMMAND
|
|
RSTACK
|
|
|
|
|
|
.FUNCT V-ADD-PINCH:ANY:0:0
|
|
GETP ACTION-OBJECT,P?ESSENCE >TAG-PINCH
|
|
ICALL TRAVEL-COMMANDS,TAG,CAST-COMMAND
|
|
PRINTI "Then, I added to the mixture just the smallest pinch of the "
|
|
ICALL2 WPRINTD,ACTION-OBJECT
|
|
PRINTI " powder."
|
|
RTRUE
|
|
|
|
|
|
.FUNCT O-ADD-PINCH:ANY:0:0,F
|
|
ICALL2 FIND-OBJECTS,TAG-POWDERS
|
|
RTRUE
|
|
|
|
|
|
.FUNCT PRSI-TAG-POWDERS:ANY:0:0
|
|
REMOVE ACTION-OBJECT
|
|
ICALL2 FIND-OBJECTS,TAG-POWDERS
|
|
MOVE ACTION-OBJECT,TAG-POWDERS
|
|
CALL2 PRSI-TBL,STR?304
|
|
RSTACK
|
|
|
|
.ENDSEG
|
|
|
|
.ENDI
|