mirror of
https://github.com/historicalsource/sorcerer
synced 2024-04-25 06:09:18 +03:00
234 lines
6.3 KiB
Plaintext
234 lines
6.3 KiB
Plaintext
|
|
|
|
.FUNCT FORT-F
|
|
EQUAL? PRSA,V?THROUGH \?ELS5
|
|
EQUAL? HERE,PARADE-GROUND,GUN-EMPLACEMENT /?THN11
|
|
EQUAL? HERE,BARRACKS,ARMORY \?ELS10
|
|
?THN11: CALL LOOK-AROUND-YOU
|
|
RSTACK
|
|
?ELS10: EQUAL? HERE,FORT-ENTRANCE \?ELS14
|
|
CALL DO-WALK,P?EAST
|
|
RSTACK
|
|
?ELS14: CALL CANT-ENTER,FORT
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?EXIT,V?DROP \?ELS18
|
|
EQUAL? HERE,PARADE-GROUND \?ELS23
|
|
CALL DO-WALK,P?WEST
|
|
RSTACK
|
|
?ELS23: EQUAL? HERE,GUN-EMPLACEMENT,BARRACKS,ARMORY \?ELS25
|
|
CALL CANT-ENTER,FORT,TRUE-VALUE
|
|
RSTACK
|
|
?ELS25: CALL LOOK-AROUND-YOU
|
|
RSTACK
|
|
?ELS18: EQUAL? PRSA,V?RESEARCH \FALSE
|
|
PRINTR "Fort Griffspotter once guarded the lands near Egreth Castle from attack by sea."
|
|
|
|
|
|
.FUNCT PARADE-GROUND-F,RARG
|
|
EQUAL? RARG,M-ENTER \?ELS5
|
|
PUT VEZZAS,2,0
|
|
RFALSE
|
|
?ELS5: EQUAL? RARG,M-END \FALSE
|
|
ZERO? SLEEPING /FALSE
|
|
CALL INT,I-WAKE-UP
|
|
PUT STACK,0,0
|
|
CALL I-WAKE-UP
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ROPE-PSEUDO
|
|
EQUAL? PRSA,V?MOVE \?ELS5
|
|
CALL PERFORM,V?LOWER,FLAG
|
|
RTRUE
|
|
?ELS5: EQUAL? PRSA,V?TAKE \FALSE
|
|
PRINTR "The rope is attached to the pole and can't possibly be removed."
|
|
|
|
|
|
.FUNCT FLAG-POLE-F
|
|
EQUAL? PRSA,V?CLIMB-UP,V?CLIMB-FOO,V?CLIMB-ON \?ELS5
|
|
PRINTR "That sort of thing went out of fashion years ago."
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "A rope runs up the side of the pole."
|
|
|
|
|
|
.FUNCT FLAG-DESCFCN,RARG
|
|
ZERO? FLAG-RAISED /?ELS5
|
|
PRINTR "A tattered flag, apparently that of ancient Quendor, still flies atop a mighty flagpole in the center of the field."
|
|
?ELS5: PRINTR "A flag displaying the brown and gold of ancient Quendor is lying here."
|
|
|
|
|
|
.FUNCT FLAG-F
|
|
EQUAL? PRSA,V?FLY \?CND1
|
|
CALL PERFORM,V?RAISE,FLAG
|
|
RTRUE
|
|
?CND1: ZERO? FLAG-RAISED /?ELS8
|
|
EQUAL? PRSA,V?RAISE \?ELS14
|
|
PRINTR "It's already at the top of the pole."
|
|
?ELS14: EQUAL? PRSA,V?LOWER \?ELS18
|
|
SET 'FLAG-RAISED,FALSE-VALUE
|
|
FCLEAR FLAG,TRYTAKEBIT
|
|
FCLEAR FLAG-POLE,NDESCBIT
|
|
PRINTR "The flag is lowered to the ground."
|
|
?ELS18: EQUAL? PRSA,V?EXAMINE \?ELS22
|
|
PRINTR "You can't see it very well from here -- the flagpole is very tall."
|
|
?ELS22: EQUAL? PRSA,V?TAKE,V?WAVE,V?SHAKE /?THN27
|
|
EQUAL? PRSA,V?EAT,V?RUB,V?MOVE /?THN27
|
|
EQUAL? PRSA,V?LOOK-INSIDE,V?DRINK \?ELS26
|
|
?THN27: PRINTI "The flag is "
|
|
ZERO? FLYING /?CND31
|
|
PRINTI "still "
|
|
?CND31: PRINTR "way above you at the top of the flagpole!"
|
|
?ELS26: EQUAL? PRSA,V?LOOK-UNDER \FALSE
|
|
CALL PERFORM,V?EXAMINE,FLAG-POLE
|
|
RTRUE
|
|
?ELS8: EQUAL? PRSA,V?RAISE \?ELS47
|
|
EQUAL? HERE,PARADE-GROUND \?ELS52
|
|
FSET FLAG,TRYTAKEBIT
|
|
MOVE FLAG,HERE
|
|
FSET FLAG-POLE,NDESCBIT
|
|
SET 'FLAG-RAISED,TRUE-VALUE
|
|
PRINTR "The flag is raised to the top of the pole."
|
|
?ELS52: PRINTR "There's no flagpole in sight."
|
|
?ELS47: EQUAL? PRSA,V?LOWER \?ELS60
|
|
PRINTR "You've already done that."
|
|
?ELS60: EQUAL? PRSA,V?WAVE \?ELS64
|
|
PRINTR "How patriotic!"
|
|
?ELS64: EQUAL? PRSA,V?WEAR \?ELS68
|
|
PRINTR "Who do you think you are, Abbie Hoffman?"
|
|
?ELS68: EQUAL? PRSA,V?SHAKE,V?LOOK-INSIDE,V?EXAMINE /?THN75
|
|
EQUAL? PRSA,V?SEARCH,V?RUB \?ELS72
|
|
?THN75: ZERO? FOOBLE-FOUND \?ELS72
|
|
SET 'FOOBLE-FOUND,TRUE-VALUE
|
|
MOVE FOOBLE-VIAL,HERE
|
|
CALL THIS-IS-IT,FOOBLE-VIAL
|
|
PRINTR "As you fiddle with the flag, an aqua vial drops from a hidden pocket and falls to the ground."
|
|
?ELS72: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "The tattered flag displays the brown and gold of ancient Quendor."
|
|
|
|
|
|
.FUNCT FOOBLE-VIAL-F
|
|
EQUAL? PRSA,V?READ \FALSE
|
|
CALL FIXED-FONT-ON
|
|
PRINTI "
|
|
""FOOBLE POTION
|
|
(increase muscular coordination)"""
|
|
CRLF
|
|
CALL FIXED-FONT-OFF
|
|
RSTACK
|
|
|
|
|
|
.FUNCT FOOBLE-POTION-F
|
|
EQUAL? PRSA,V?DRINK,V?EAT \?ELS5
|
|
CALL HELD?,FOOBLE-VIAL
|
|
ZERO? STACK \?ELS5
|
|
CALL POTION-POUR,FOOBLE-VIAL
|
|
RSTACK
|
|
?ELS5: EQUAL? PRSA,V?RESEARCH \?ELS9
|
|
CALL READ-ABOUT-POTIONS,2
|
|
RSTACK
|
|
?ELS9: EQUAL? PRSA,V?DRINK,V?EAT \?ELS11
|
|
MOVE FOOBLE-POTION,DIAL
|
|
ZERO? UNDER-INFLUENCE /?CND12
|
|
CALL TWO-POTIONS
|
|
RTRUE
|
|
?CND12: SET 'UNDER-INFLUENCE,FOOBLE-POTION
|
|
CALL QUEUE,I-UNFOOBLE,17
|
|
PUT STACK,0,1
|
|
SET 'FOOBLED,TRUE-VALUE
|
|
PRINTR "The aqua potion tasted like lime jelly, and sent vibrations through your muscles."
|
|
?ELS11: EQUAL? PRSA,V?DROP \?ELS19
|
|
CALL PERFORM,V?POUR,PRSO,PRSI
|
|
RTRUE
|
|
?ELS19: EQUAL? PRSA,V?POUR \FALSE
|
|
EQUAL? PRSO,FOOBLE-POTION \FALSE
|
|
CALL POTION-POUR,FOOBLE-VIAL
|
|
RSTACK
|
|
|
|
|
|
.FUNCT I-UNFOOBLE
|
|
SET 'FOOBLED,FALSE-VALUE
|
|
EQUAL? UNDER-INFLUENCE,FOOBLE-POTION \?CND1
|
|
SET 'UNDER-INFLUENCE,FALSE-VALUE
|
|
?CND1: CRLF
|
|
PRINTR "Your muscles feel limp for a moment."
|
|
|
|
|
|
.FUNCT BARRACKS-PSEUDO
|
|
SET 'PERFORMING-SPELL,TRUE-VALUE
|
|
CALL PERFORM,PRSA,GLOBAL-ROOM,PRSI
|
|
RTRUE
|
|
|
|
|
|
.FUNCT EMPLACEMENT-EXIT-F
|
|
ZERO? FLYING /?ELS3
|
|
PRINTI "The updrafts from the "
|
|
EQUAL? PRSO,P?NORTH \?ELS9
|
|
PRINTI "river"
|
|
JUMP ?CND1
|
|
?ELS9: PRINTI "ocean"
|
|
JUMP ?CND1
|
|
?ELS3: PRINTI "The plunge"
|
|
?CND1: PRINTI " would kill you."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT CANNON-F
|
|
EQUAL? PRSA,V?LAMP-ON,V?SHOOT \?ELS5
|
|
PRINTR "This cannon probably hasn't worked for centuries!"
|
|
?ELS5: EQUAL? PRSA,V?CLOSE \?ELS9
|
|
CALL V-DEFLATE
|
|
RSTACK
|
|
?ELS9: EQUAL? PRSA,V?SEARCH,V?REACH-IN \?ELS11
|
|
FSET? YIPPLES,INVISIBLE \?ELS11
|
|
SET 'BITTEN,TRUE-VALUE
|
|
CALL QUEUE,I-BITE-HEAL,20
|
|
PUT STACK,0,1
|
|
PRINTR "Something bites your hand!"
|
|
?ELS11: EQUAL? PRSA,V?LOOK-INSIDE \?ELS17
|
|
FSET? YIPPLES,INVISIBLE \?ELS17
|
|
FCLEAR YIPPLES,INVISIBLE
|
|
PRINTR "Lying at the bottom of the barrel is a pile of identical scrolls!"
|
|
?ELS17: EQUAL? PRSA,V?EXAMINE \?ELS23
|
|
PRINTR "The barrel is wide enough to hold the hugest of cannonballs, but it isn't very deep."
|
|
?ELS23: EQUAL? PRSA,V?SEARCH,V?REACH-IN \?ELS27
|
|
IN? YIPPLES,CANNON \?ELS27
|
|
CALL PERFORM,V?TAKE,YIPPLES
|
|
RTRUE
|
|
?ELS27: EQUAL? PRSA,V?PUT \?ELS31
|
|
IN? YIPPLES,CANNON \?ELS31
|
|
EQUAL? BAT-GUANO,PRSO \?ELS31
|
|
MOVE YIPPLES,DIAL
|
|
MOVE YONK-SCROLL,CANNON
|
|
CALL THIS-IS-IT,YONK-SCROLL
|
|
MOVE BAT-GUANO,CANNON
|
|
PRINTI "When you drop the guano into the barrel, "
|
|
FSET? YIPPLES,INVISIBLE \?ELS38
|
|
PRINTI "dozens of scrolls pour out and literally run off"
|
|
JUMP ?CND36
|
|
?ELS38: PRINTI "the scrolls sprout feet and spill out of the cannon, dashing away"
|
|
?CND36: PRINTI " in every direction! A single ordinary scroll is left sitting at the bottom of the barrel."
|
|
CRLF
|
|
FCLEAR YIPPLES,INVISIBLE
|
|
RTRUE
|
|
?ELS31: EQUAL? PRSA,V?THROUGH \FALSE
|
|
ZERO? FWEEPED /FALSE
|
|
PRINTR "Your wingspan is too large."
|
|
|
|
|
|
.FUNCT YIPPLES-F
|
|
EQUAL? PRSA,V?TAKE \?ELS5
|
|
SET 'BITTEN,TRUE-VALUE
|
|
CALL QUEUE,I-BITE-HEAL,20
|
|
PUT STACK,0,1
|
|
PRINTR "As you reach into the cannon, something bites you painfully on the hand!"
|
|
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "Every scroll is virtually identical."
|
|
|
|
|
|
.FUNCT I-BITE-HEAL
|
|
SET 'BITTEN,FALSE-VALUE
|
|
RFALSE
|
|
|
|
.ENDI
|