3851 lines
90 KiB
Plaintext
3851 lines
90 KiB
Plaintext
|
|
|
|
.FUNCT GET-OWOMAN-AND-CURTAIN
|
|
FSET CURTAIN,NODESC
|
|
IN? CURTAIN,HERE /?CND1
|
|
MOVE CURTAIN,HERE
|
|
?CND1: PUTP OWOMAN,P?LAST-LOC,HERE
|
|
IN? OWOMAN,HERE /?CND3
|
|
MOVE OWOMAN,HERE
|
|
?CND3: ICALL2 REMOVE-ALL,OWOMAN
|
|
ICALL2 SEE-CHARACTER,OWOMAN
|
|
RFALSE
|
|
|
|
|
|
.FUNCT GET-DACT?
|
|
FSET? DACT,TOUCHED /FALSE
|
|
FSET? HERE,TOUCHED /FALSE
|
|
CALL LAST-ROOM-IN?,MOOR-ROOMS,2
|
|
ZERO? STACK /FALSE
|
|
FSET DACT,TOUCHED
|
|
MOVE DACT,HERE
|
|
ICALL2 QUEUE,I-DACT
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HILLTOP-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTR "The horizon is lost in the glare of morning upon the Great Sea. You shield your eyes to sweep the shore below, where a village lies nestled beside a quiet cove."
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5
|
|
SET 'P-IT-OBJECT,OAK2
|
|
RFALSE
|
|
?CCL5: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?DOWN \FALSE
|
|
SET 'P-WALK-DIR,P?EAST
|
|
RFALSE
|
|
|
|
|
|
.FUNCT COVESIDE-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTR "Gulls circle the far end of a wharf extending east across the cove. The street is dotted with shanties bleached by years of sun and salt."
|
|
?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?UP \FALSE
|
|
SET 'P-WALK-DIR,P?WEST
|
|
RFALSE
|
|
|
|
|
|
.FUNCT OUTSIDE-PUB-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTI "Harsh laughter and mouthwatering aromas waft "
|
|
FSET? PUB-DOOR,OPENED \?CCL6
|
|
PRINTI "through the open "
|
|
JUMP ?CND4
|
|
?CCL6: PRINTI "out from under the "
|
|
?CND4: PRINTI "door of a shanty on the street's west side. "
|
|
ICALL1 DESCRIBE-PUB-SIGN
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DESCRIBE-PUB-SIGN,X
|
|
PRINTI "The words ""Ye Rusty Lantern, A Publick House"" appear in fading script above "
|
|
FIRST? PUB-SIGN >X \?CCL3
|
|
ICALL2 THIS-IS-IT,X
|
|
EQUAL? X,LANTERN \?CCL6
|
|
PRINTI "a real "
|
|
ICALL2 DPRINT,X
|
|
JUMP ?CND4
|
|
?CCL6: ICALL2 PRINTA,X
|
|
?CND4: PRINTI ", dangling from a "
|
|
JUMP ?CND1
|
|
?CCL3: SET 'P-IT-OBJECT,PUB-SIGN
|
|
PRINTI "an empty "
|
|
?CND1: PRINTR "hook."
|
|
|
|
|
|
.FUNCT N-MOOR-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "A gray scrim of mist lies across the southern moors, obscuring the path only a few steps away. The outskirts of a village"
|
|
PRINT STR?683
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
EQUAL? P-WALK-DIR,P?NORTH \FALSE
|
|
ZERO? AUTO /FALSE
|
|
ICALL1 BMODE-OFF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT IN-GAS-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTI "Your feet make wet, sucking noises as you trudge across patches of rotting vegetable matter. An unwholesome miasma of gasses is making your head swim."
|
|
CRLF
|
|
ICALL1 MENTION-MOOR-EXIT
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MOOR2-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Silent, unblinking eyes peer down at you from the fog-shrouded trees."
|
|
CRLF
|
|
ICALL1 MENTION-MOOR-EXIT
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
ICALL1 GET-DACT?
|
|
RFALSE
|
|
|
|
|
|
.FUNCT MOOR3-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Spooky fingers of mist swirl around your feet. It's hard to see more than a few yards in any "
|
|
PRINTD INTDIR
|
|
PRINT PERIOD
|
|
ICALL1 MENTION-MOOR-EXIT
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
ICALL1 GET-DACT?
|
|
RFALSE
|
|
|
|
|
|
.FUNCT MOOR4-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "A cacophony of peeps, hoots and croaks sets your nerves on edge."
|
|
CRLF
|
|
ICALL1 MENTION-MOOR-EXIT
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
ICALL1 GET-DACT?
|
|
RFALSE
|
|
|
|
|
|
.FUNCT MOOR5-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Narrow paths wander off between pools of black, fetid mud. The damp chill in the air is making you shiver."
|
|
CRLF
|
|
ICALL1 MENTION-MOOR-EXIT
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
ICALL1 GET-DACT?
|
|
RFALSE
|
|
|
|
|
|
.FUNCT MOOR6-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Gray wraiths of mist linger among the reeds, filling your nostrils with the odor of things long dead."
|
|
CRLF
|
|
ICALL1 MENTION-MOOR-EXIT
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
ICALL1 GET-DACT?
|
|
RFALSE
|
|
|
|
|
|
.FUNCT MENTION-MOOR-EXIT,WRD,TBL
|
|
GETP HERE,P?SW >TBL
|
|
ZERO? TBL /?CCL3
|
|
GET TBL,XROOM
|
|
EQUAL? STACK,SW-MOOR \?CCL3
|
|
SET 'WRD,W?SOUTHWEST
|
|
JUMP ?CND1
|
|
?CCL3: GETP HERE,P?NORTH >TBL
|
|
ZERO? TBL /?CND1
|
|
GET TBL,XROOM
|
|
EQUAL? STACK,N-MOOR \?CND1
|
|
SET 'WRD,W?NORTH
|
|
?CND1: ZERO? WRD /FALSE
|
|
PRINT TAB
|
|
PRINTI "The mist thins out a bit to the "
|
|
PRINTB WRD
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SW-MOOR-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTR "Circling gulls and a forest of masts disclose a seaport not far to the west. The view to the northeast is obscured by a blanket of mist."
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
EQUAL? P-WALK-DIR,P?SW \FALSE
|
|
ZERO? AUTO /FALSE
|
|
ICALL1 BMODE-OFF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT IN-PORT-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTI "Mizniaport is a magnet for the wealthy yipples of Borphee, who browse the colorful shops in search of next year's fashions"
|
|
PRINT PTAB
|
|
PRINTR "An especially swank boutique stands just north of here. Beside it, a path marked ""Private Way"" bends northeast."
|
|
|
|
|
|
.FUNCT IN-YARD-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTI "This shady nook obviously belongs to some well-to-do yipple. The arborvitaes are lush and neatly trimmed, with twin beds of flowers leading up to a little red "
|
|
PRINTD STABLE
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT STABLE-IN
|
|
ICALL PERFORM,V?ENTER,STALL
|
|
RFALSE
|
|
|
|
|
|
.FUNCT EXIT-STABLE
|
|
IN? PLAYER,STALL /?CCL2
|
|
RETURN IN-YARD
|
|
?CCL2: ICALL PERFORM,V?EXIT,STALL
|
|
RFALSE
|
|
|
|
|
|
.FUNCT IN-STABLE-F,CONTEXT,U,ANY,X
|
|
IN? UNICORN,STALL \?CND1
|
|
INC 'U
|
|
?CND1: EQUAL? CONTEXT,M-LOOK \?CCL5
|
|
FSET? STALL,MUNGED \?CCL8
|
|
PRINTI "The splintered ruins of "
|
|
ICALL2 THE-PRINT,STALL
|
|
PRINTI " look out of place in this otherwise"
|
|
JUMP ?CND6
|
|
?CCL8: PRINTI "Not a straw is out of place in this"
|
|
?CND6: PRINTI " immaculate "
|
|
PRINTD STABLE
|
|
IN? PLAYER,STALL \?CND9
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND9: CALL2 SEE-ANYTHING-IN?,STALL >ANY
|
|
FSET? STALL,MUNGED \?CND11
|
|
ZERO? ANY /?CND13
|
|
PRINTI ". "
|
|
PRINT STR?530
|
|
ICALL2 CONTENTS,STALL
|
|
SET 'P-IT-OBJECT,STALL
|
|
?CND13: PRINT PERIOD
|
|
RTRUE
|
|
?CND11: PRINTI ". The one"
|
|
ICALL2 OPEN-CLOSED,STALL
|
|
PRINT SIS
|
|
ZERO? U /?CCL17
|
|
PRINTI "occupied by a snow-white "
|
|
PRINTD UNICORN
|
|
PRINTI ", who gazes at you mournfully from between the slats"
|
|
ZERO? ANY /?CND15
|
|
PRINTI ". You can also "
|
|
JUMP ?CND15
|
|
?CCL17: PRINTI "unoccupied"
|
|
ZERO? ANY /?CND15
|
|
PRINTI "; you can "
|
|
?CND15: ZERO? ANY /?CND22
|
|
PRINTI "see "
|
|
ICALL2 CONTENTS,STALL
|
|
PRINTI " inside"
|
|
SET 'P-IT-OBJECT,STALL
|
|
?CND22: PRINT PERIOD
|
|
RTRUE
|
|
?CCL5: EQUAL? CONTEXT,M-ENTERING \?CCL25
|
|
ZERO? U /FALSE
|
|
ICALL2 SEE-CHARACTER,UNICORN
|
|
FSET UNICORN,SEEN
|
|
ICALL2 QUEUE,I-UNICORN
|
|
RFALSE
|
|
?CCL25: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
ZERO? U /FALSE
|
|
ICALL2 DEQUEUE,I-UNICORN
|
|
ICALL2 CTHE-PRINT,UNICORN
|
|
PRINTR " whinnies pitifully as you leave."
|
|
|
|
|
|
.FUNCT IN-BOUTIQUE-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "The sheer, flowing fabrics and gossamer pastels in this little shop create an atmosphere of taste and calm conducive to reckless spending.
|
|
A "
|
|
ICALL2 SHOP-DOOR,BOUTIQUE-DOOR
|
|
PRINTI " offers the latest in travel fashions"
|
|
ICALL2 LOOK-ON-CASE,ON-BCASE
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5
|
|
ICALL1 GET-OWOMAN-AND-CURTAIN
|
|
ICALL2 QUEUE,I-OWOMAN
|
|
RFALSE
|
|
?CCL5: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
ICALL2 DEQUEUE,I-OWOMAN
|
|
IN? OWOMAN,IN-BOUTIQUE \FALSE
|
|
PRINTI """See you later,"" calls "
|
|
ICALL2 THE-PRINT,OWOMAN
|
|
PRINTR " as you leave."
|
|
|
|
|
|
.FUNCT IN-PUB-F,CONTEXT,X
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Loud voices and clattering dishes make this smarmy dive sound busier than it really is. Your eyes sting from the greasy smoke drifting in from "
|
|
ICALL2 THE-PRINT,KITCHEN
|
|
PRINT PTAB
|
|
ICALL2 PRINTCA,BANDITS
|
|
PRINTI " is hogging the fireplace."
|
|
CRLF
|
|
FIRST? PUBWALL >X \TRUE
|
|
SET 'P-IT-OBJECT,X
|
|
PRINT TAB
|
|
ICALL2 PRINTCA,X
|
|
PRINTR " is imbedded in the wall."
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL7
|
|
ICALL2 QUEUE,I-BANDITS
|
|
RFALSE
|
|
?CCL7: EQUAL? CONTEXT,M-ENTERED \?CCL9
|
|
SET 'P-THEM-OBJECT,BANDITS
|
|
RFALSE
|
|
?CCL9: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
ZERO? P-WALK-DIR /?CND12
|
|
FSET? DAGGER,NODESC \?CND12
|
|
FCLEAR DAGGER,NODESC
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
MOVE DAGGER,PUBWALL
|
|
SET 'P-IT-OBJECT,DAGGER
|
|
FSET BANDITS,SEEN
|
|
PRINTI "You edge towards the "
|
|
EQUAL? P-WALK-DIR,P?WEST,P?IN \?CCL17
|
|
PRINTD KITCHEN
|
|
JUMP ?CND15
|
|
?CCL17: PRINTB W?EXIT
|
|
?CND15: PRINT PTAB
|
|
ICALL2 ITALICIZE,STR?604
|
|
PRINTI "! A dagger streaks past your ear, imbedding itself deep into the wall.
|
|
""Har!"" chortles a bandit."
|
|
CRLF
|
|
RETURN 2
|
|
?CND12: ICALL2 DEQUEUE,I-BANDITS
|
|
RFALSE
|
|
|
|
|
|
.FUNCT IN-KITCHEN-F,CONTEXT,D,L
|
|
FSET? CELLAR-DOOR,OPENED \?CND1
|
|
INC 'D
|
|
?CND1: EQUAL? CONTEXT,M-LOOK \?CCL5
|
|
PRINTI "Coils of greasy steam rise from a cauldron bubbling over a roaring hearth. "
|
|
ICALL2 CTHE-PRINT,CEILING
|
|
PRINTI " is hung with crusty pots and strips of old meat"
|
|
PRINT PTAB
|
|
PRINTC 65
|
|
FSET? CELLAR-DOOR,MUNGED \?CCL8
|
|
PRINTI " gaping hole"
|
|
JUMP ?CND6
|
|
?CCL8: ZERO? D /?CCL10
|
|
PRINTI "n open door"
|
|
JUMP ?CND6
|
|
?CCL10: PRINTI " closed door"
|
|
?CND6: PRINT SIN
|
|
ICALL2 THE-PRINT,GCORNER
|
|
ZERO? D /?CND11
|
|
PRINTR " reveals a stair leading downward."
|
|
?CND11: PRINTR " bears the legend, ""Keepeth Out."""
|
|
?CCL5: EQUAL? CONTEXT,M-ENTERING \?CCL14
|
|
IN? COOK,IN-KITCHEN /?CND15
|
|
MOVE COOK,IN-KITCHEN
|
|
?CND15: FCLEAR COOK,NODESC
|
|
ICALL2 SEE-CHARACTER,COOK
|
|
FSET COOK,SEEN
|
|
ICALL2 QUEUE,I-COOK
|
|
RFALSE
|
|
?CCL14: EQUAL? CONTEXT,M-ENTERED \?CCL18
|
|
FSET? BOTTLE,MUNGED /FALSE
|
|
IN? BOTTLE,PLAYER \FALSE
|
|
PRINT TAB
|
|
ICALL1 COOK-SEES-BOTTLE
|
|
RTRUE
|
|
?CCL18: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
ZERO? P-WALK-DIR /?CCL27
|
|
FSET? ONION,TOUCHED \?CCL27
|
|
FSET? BOTTLE,IDENTIFIED /?CCL27
|
|
FCLEAR COOK,SEEN
|
|
PRINTI """Wait a second."""
|
|
CRLF
|
|
ICALL1 I-ONION-OFFER
|
|
RETURN 2
|
|
?CCL27: EQUAL? P-WALK-DIR,P?DOWN,P?IN \?CCL34
|
|
ZERO? D \?CCL37
|
|
ICALL2 ITS-CLOSED,CELLAR-DOOR
|
|
RETURN 2
|
|
?CCL37: FSET? CELLAR-DOOR,TOUCHED /?CND35
|
|
FSET CELLAR-DOOR,TOUCHED
|
|
CALL1 SETUP-CELLAR?
|
|
ZERO? STACK /FALSE
|
|
?CND35: ICALL2 DEQUEUE,I-COOK
|
|
PRINTI "You clump down "
|
|
ICALL2 THE-PRINT,CELLAR-STAIR
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL34: EQUAL? P-WALK-DIR,P?EAST,P?OUT \FALSE
|
|
SET 'P-WALK-DIR,P?EAST
|
|
ICALL2 DEQUEUE,I-COOK
|
|
RFALSE
|
|
|
|
|
|
.FUNCT ON-WHARF-DOWN
|
|
FSET SALT,SEEN
|
|
PRINTI """Careful!"" warns "
|
|
ICALL2 THE-PRINT,SALT
|
|
PRINTI ", holding you back. ""Water's mighty cool this time o' year."""
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT ON-WHARF-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINT STR?686
|
|
PRINTI " Far below, you "
|
|
PRINT STR?687
|
|
FIRST? COVE \?CND4
|
|
PRINT PTAB
|
|
PRINT YOU-SEE
|
|
ICALL2 CONTENTS,COVE
|
|
PRINTI " bobbing on the waves"
|
|
?CND4: PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL7
|
|
FSET? SHILL,BUOYANT /?CND8
|
|
FSET SHILL,BUOYANT
|
|
ICALL2 QUEUE,I-SHILL
|
|
?CND8: FSET SALT,SEEN
|
|
ICALL2 QUEUE,I-SALT
|
|
ICALL2 SEE-CHARACTER,SALT
|
|
RFALSE
|
|
?CCL7: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
FSET? SHILL,SEEN /?CND12
|
|
ICALL1 SEE-SHILL
|
|
RETURN 2
|
|
?CND12: ICALL2 DEQUEUE,I-SALT
|
|
ZERO? P-WALK-DIR /FALSE
|
|
PRINTR """See y'later,"" chuckles the salt as you walk away."
|
|
|
|
|
|
.FUNCT LOCK-CELLAR-DOOR
|
|
FSET CELLAR-DOOR,LOCKED
|
|
PRINT YOU-HEAR
|
|
PRINT LTHE
|
|
ICALL2 ITALICIZE,STR?522
|
|
PRINTR " of a substantial lock."
|
|
|
|
|
|
.FUNCT AT-BOTTOM-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "You're standing at the bottom of a short, rickety stairway, ankle-deep in refuse. "
|
|
FSET? CELLAR-DOOR,OPENED \?CND4
|
|
PRINTI "Light streams down through a"
|
|
FSET? CELLAR-DOOR,MUNGED \?CCL8
|
|
PRINTI " gaping hole"
|
|
JUMP ?CND6
|
|
?CCL8: PRINTI "n open door"
|
|
?CND6: PRINTR " overhead."
|
|
?CND4: PRINTR "The door overhead is closed."
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL10
|
|
IN? COOK,AT-BOTTOM /?CND11
|
|
MOVE COOK,AT-BOTTOM
|
|
FSET COOK,NODESC
|
|
?CND11: SET 'P-IT-OBJECT,CELLAR-DOOR
|
|
RFALSE
|
|
?CCL10: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?UP \FALSE
|
|
FSET? CELLAR-DOOR,MUNGED \?CCL19
|
|
ZERO? AUTO /?CND20
|
|
ICALL1 BMODE-OFF
|
|
?CND20: ICALL2 YOU-CLIMB-UP,TRUE-VALUE
|
|
RTRUE
|
|
?CCL19: FSET? CELLAR-DOOR,LOCKED \?CCL23
|
|
SET 'P-IT-OBJECT,CELLAR-DOOR
|
|
ICALL2 CTHE-PRINT,P-IT-OBJECT
|
|
PRINTI " is locked."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL23: FSET? CELLAR-DOOR,OPENED \FALSE
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
SET 'P-IT-OBJECT,CELLAR-DOOR
|
|
FCLEAR CELLAR-DOOR,OPENED
|
|
FCLEAR AT-BOTTOM,LIGHTED
|
|
ICALL2 ITALICIZE,STR?605
|
|
PRINTI "! An unseen hand slams "
|
|
ICALL2 THE-PRINT,CELLAR-DOOR
|
|
PRINTI " in your face."
|
|
CRLF
|
|
ICALL1 SAY-IF-HERE-LIT
|
|
PRINT TAB
|
|
ICALL1 LOCK-CELLAR-DOOR
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT WC1-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "Smashed bottles litter the floor, and the air reeks of sour wine."
|
|
|
|
|
|
.FUNCT SKEL-ROOM-F,CONTEXT,X
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTR "Precarious stacks of barrels loom in the shadows on every side."
|
|
?CCL3: EQUAL? CONTEXT,M-BEG \FALSE
|
|
ZERO? CHOKE /FALSE
|
|
EQUAL? PRSA,V?SAVE,V?UNDO \?CCL10
|
|
ICALL2 MUMBLAGE,SKELETON
|
|
RTRUE
|
|
?CCL10: EQUAL? PRSA,V?WAIT,V?LOOK /FALSE
|
|
INTBL? PRSA,GAME-VERBS,NGVERBS >X /FALSE
|
|
SET 'X,P-PRSA-WORD
|
|
EQUAL? PRSA,V?WALK,V?WALK-TO \?CCL16
|
|
SET 'X,W?MOVE
|
|
JUMP ?CND14
|
|
?CCL16: INTBL? PRSA,TALKVERBS,NTVERBS >X \?CCL18
|
|
SET 'X,W?SPEAK
|
|
JUMP ?CND14
|
|
?CCL18: INTBL? PRSA,SEEVERBS,NSVERBS >X \?CCL20
|
|
SET 'X,W?SEE
|
|
JUMP ?CND14
|
|
?CCL20: EQUAL? SKELETON,PRSO,PRSI /FALSE
|
|
?CND14: PRINTI "It's not easy to "
|
|
ZERO? X \?CCL24
|
|
PRINTI "do that"
|
|
JUMP ?CND22
|
|
?CCL24: PRINTB X
|
|
?CND22: PRINTI " while you're being strangled to death."
|
|
CRLF
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT MOSS-ROOM-F,CONTEXT,X
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
CALL1 LIGHT-SOURCE? >X
|
|
ZERO? X \?CCL6
|
|
PRINTI "The dim light"
|
|
JUMP ?CND4
|
|
?CCL6: ICALL2 CTHE-PRINT,X
|
|
PRINTI "'s glow"
|
|
?CND4: PRINTR " reveals a gray patch of moss on the wall."
|
|
|
|
|
|
.FUNCT UPSTACK,BAD
|
|
ZERO? LIT? \?CND1
|
|
ICALL1 TOO-DARK
|
|
RFALSE
|
|
?CND1: PRINTI "You teeter "
|
|
GET STATS,DEXTERITY
|
|
LESS? STACK,15 \?CCL5
|
|
INC 'BAD
|
|
PRINTI "uncertainly"
|
|
JUMP ?CND3
|
|
?CCL5: PRINTI "for a moment"
|
|
?CND3: PRINTI " on the lowest crates"
|
|
ZERO? BAD /?CND6
|
|
PRINTI ", lose your balance, and sprawl to "
|
|
ICALL2 THE-PRINT,GROUND
|
|
FSET? CRATES,SEEN /?CND8
|
|
FSET CRATES,SEEN
|
|
PRINTI ". Not very coordinated, are you?"
|
|
CRLF
|
|
RFALSE
|
|
?CND8: PRINT PERIOD
|
|
RFALSE
|
|
?CND6: PRINTI ", then slowly edge your way upward."
|
|
CRLF
|
|
ZERO? VERBOSITY /?CND10
|
|
CRLF
|
|
?CND10: RETURN BARRELTOP
|
|
|
|
|
|
.FUNCT AT-STACK-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTI "Empty wine crates are stacked to "
|
|
ICALL2 THE-PRINT,CEILING
|
|
PRINTR " in a stairlike spiral."
|
|
|
|
|
|
.FUNCT THRONE-ROOM-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "A shallow nest of sea shells, coral and other bits of ocean debris lies in "
|
|
ICALL2 THE-PRINT,GCORNER
|
|
CALL2 SEE-ANYTHING-IN?,THRONE
|
|
ZERO? STACK /?CND4
|
|
PRINTI ". Upon this pile you see "
|
|
ICALL2 CONTENTS,THRONE
|
|
?CND4: PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERED \FALSE
|
|
FSET? CRAB,MONSTER /FALSE
|
|
FSET CRAB,MONSTER
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
ICALL2 QUEUE,I-CRAB
|
|
RFALSE
|
|
|
|
|
|
.FUNCT BARRELTOP-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTR "You struggle to keep your balance as the stack sways back and forth in the darkness."
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
EQUAL? P-WALK-DIR,P?UP \FALSE
|
|
ZERO? AUTO /FALSE
|
|
ICALL1 BMODE-OFF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT IN-THRIFF-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Trim white cottages are clustered around a central grove of mountain firs, tall and lovingly tended. A little chapel graces the west side of the street"
|
|
FSET? CHAPEL-DOOR,OPENED \?CND4
|
|
PRINTI ", its front doors wide open"
|
|
?CND4: PRINT PTAB
|
|
PRINTI "Turning south, you see a "
|
|
FSET? FOREST-EDGE,MUNGED \?CND6
|
|
PRINTI "wall of "
|
|
PRINTD XTREES
|
|
PRINTR " waiting to descend upon the village."
|
|
?CND6: PRINTI "narrow trail winding up into the mountains"
|
|
ZERO? MAGMA-TIMER /?CND8
|
|
PRINTI ", backlit by a "
|
|
ICALL1 GLOW-COLOR
|
|
PRINTI "glow of heat"
|
|
?CND8: PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?IN \?CCL14
|
|
SET 'P-WALK-DIR,P?WEST
|
|
RFALSE
|
|
?CCL14: EQUAL? P-WALK-DIR,P?UP,P?SOUTH \FALSE
|
|
SET 'P-WALK-DIR,P?SOUTH
|
|
ZERO? MAGMA-TIMER /?CCL18
|
|
CALL2 WEARING-MAGIC?,RING
|
|
ZERO? STACK /?CND19
|
|
PRINTR "Your ring finger tingles as you draw closer to the blistering heat."
|
|
?CND19: PRINTI "A blistering wall of heat forces you to turn back."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL18: CALL GLOBAL-IN?,FOREST-EDGE,SNOW
|
|
ZERO? STACK /FALSE
|
|
PRINTR "Your feet become dusted with snow as you ascend."
|
|
|
|
|
|
.FUNCT IN-CHAPEL-F,CONTEXT,X
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
IN? CLERIC,IN-CHAPEL \?CCL6
|
|
IN? RELIQUARY,CLERIC \?CCL9
|
|
ICALL2 CTHE-PRINT,CLERIC
|
|
PRINTI " stands beside "
|
|
ICALL2 THE-PRINT,ALTAR
|
|
PRINTI ", holding "
|
|
ICALL2 CONTENTS,CLERIC
|
|
JUMP ?CND4
|
|
?CCL9: PRINTI "An anxious "
|
|
PRINTD CONGREG
|
|
PRINTI " kneels in silent prayer before "
|
|
ICALL2 THE-PRINT,CLERIC
|
|
PRINTI ". On the altar beside him rests "
|
|
ICALL2 CONTENTS,ALTAR
|
|
JUMP ?CND4
|
|
?CCL6: PRINTI "Rows of empty pews face a deserted altar"
|
|
CALL2 SEE-ANYTHING-IN?,ALTAR
|
|
ZERO? STACK /?CND4
|
|
PRINTI ", upon which rests "
|
|
ICALL2 CONTENTS,ALTAR
|
|
?CND4: PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-BEG \?CCL13
|
|
IN? CLERIC,IN-CHAPEL \FALSE
|
|
EQUAL? PRSA,V?HIT,V?MUNG,V?KICK \?CCL18
|
|
PRINTI "This is no place for violence."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL18: ZERO? THRIFF-WON \FALSE
|
|
INTBL? PRSA,TALKVERBS,NTVERBS >X \FALSE
|
|
FSET CLERIC,SEEN
|
|
ICALL1 PCLEAR
|
|
PRINTC QUOTATION
|
|
RANDOM 100 >X
|
|
LESS? X,33 \?CCL25
|
|
PRINTI "Shhh"
|
|
JUMP ?CND23
|
|
?CCL25: LESS? X,67 \?CCL27
|
|
PRINTI "Quiet"
|
|
JUMP ?CND23
|
|
?CCL27: PRINTI "Shush"
|
|
?CND23: PRINTI "!"" whispers a member of "
|
|
ICALL2 THE-PRINT,CONGREG
|
|
PRINT PERIOD
|
|
RETURN 2
|
|
?CCL13: EQUAL? CONTEXT,M-ENTERING \?CCL31
|
|
FSET? CLERIC,LIVING /FALSE
|
|
FSET CLERIC,LIVING
|
|
FCLEAR CLERIC,SEEN
|
|
SET 'P-HIM-OBJECT,CLERIC
|
|
SET 'P-THEM-OBJECT,CONGREG
|
|
SET 'CLERIC-SCRIPT,INIT-CLERIC-SCRIPT
|
|
ICALL2 QUEUE,I-CLERIC
|
|
RFALSE
|
|
?CCL31: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?OUT \?CND36
|
|
SET 'P-WALK-DIR,P?EAST
|
|
?CND36: ZERO? THRIFF-WON \FALSE
|
|
IN? CLERIC,IN-CHAPEL \FALSE
|
|
ICALL2 DEQUEUE,I-CLERIC
|
|
PRINTC QUOTATION
|
|
CALL2 PICK-NEXT,CLERIC-WOES
|
|
PRINT STACK
|
|
PRINTI "!"" wails "
|
|
ICALL2 THE-PRINT,CLERIC
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DESCRIBE-FOREST-EDGE,OBJ
|
|
PRINTI "Snowy Clearing"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FOREST-EDGE-F,CONTEXT,BHERE
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
CALL GLOBAL-IN?,FOREST-EDGE,LAVA
|
|
ZERO? STACK /?CCL6
|
|
PRINTI "An avalanche of lava has consumed the upward trail, ending here in a "
|
|
ZERO? MAGMA-TIMER /?CCL9
|
|
ICALL1 GLOW-COLOR
|
|
PRINTB W?POOL
|
|
JUMP ?CND7
|
|
?CCL9: PRINTI "dark, steaming crust"
|
|
?CND7: PRINTI ". Many of the surrounding "
|
|
ICALL1 SAY-TREES
|
|
PRINTI " are damaged; the survivors linger near the blackened edge of the clearing."
|
|
CRLF
|
|
JUMP ?CND4
|
|
?CCL6: PRINTI "The upward trail bends sharply west here, winding out of sight between the "
|
|
ICALL1 SAY-TREES
|
|
PRINT PERIOD
|
|
?CND4: ICALL1 MENTION-GLYPH?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL11
|
|
FSET? XTREES,SEEN \?CND12
|
|
SET 'P-THEM-OBJECT,XTREES
|
|
?CND12: CALL GLOBAL-IN?,FOREST-EDGE,GLYPH
|
|
ZERO? STACK /FALSE
|
|
SET 'P-IT-OBJECT,GLYPH
|
|
RFALSE
|
|
?CCL11: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
FSET? XTREES,TOUCHED /?CND18
|
|
ICALL1 SEE-XTREES
|
|
RETURN 2
|
|
?CND18: EQUAL? P-WALK-DIR,P?UP \?CND22
|
|
SET 'P-WALK-DIR,P?WEST
|
|
?CND22: EQUAL? P-WALK-DIR,P?DOWN \?CND24
|
|
SET 'P-WALK-DIR,P?NORTH
|
|
?CND24: EQUAL? P-WALK-DIR,P?NORTH \?CCL28
|
|
ZERO? LAVA-TIMER /?CND29
|
|
PRINTR "Volcanic heat singes your eyebrows as you race down the mountainside."
|
|
?CND29: PRINTI "You stride down into the village"
|
|
ICALL1 BYE-BFLY
|
|
RTRUE
|
|
?CCL28: EQUAL? P-WALK-DIR,P?WEST \FALSE
|
|
ZERO? LAVA-TIMER /?CND26
|
|
ICALL2 CASCADE,STR?666
|
|
RETURN 2
|
|
?CND26: ICALL2 CTHE-PRINT,XTREES
|
|
PRINTI " shuffle "
|
|
ZERO? MAGMA-TIMER /?CCL38
|
|
PRINTI "impotently at the lava's edge"
|
|
JUMP ?CND36
|
|
?CCL38: IN? BFLY,PLAYER \?CCL40
|
|
FSET? BFLY,MUNGED \?CCL40
|
|
FSET? BFLY,LIVING \?CCL40
|
|
PRINTI "nervously out of your way"
|
|
?CND36: PRINTI " as you ascend the slope"
|
|
ICALL1 BYE-BFLY
|
|
RTRUE
|
|
?CCL40: FSET XTREES,SEEN
|
|
PRINTI "across the upward trail, blocking it completely."
|
|
CRLF
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT BYE-BFLY
|
|
IN? BFLY,HERE \?CND1
|
|
FSET? BFLY,MUNGED \?CND1
|
|
FSET? BFLY,LIVING \?CND1
|
|
REMOVE BFLY
|
|
ICALL2 DEQUEUE,I-PILLAR
|
|
PRINTI "; behind you, "
|
|
ICALL2 THE-PRINT,BFLY
|
|
PRINTI " crawls out of sight"
|
|
?CND1: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SEE-XTREES
|
|
FSET XTREES,TOUCHED
|
|
FSET XTREES,SEEN
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
SET 'P-THEM-OBJECT,XTREES
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
SET 'OLD-HERE,FALSE-VALUE
|
|
MOVE ORNAMENT,HERE
|
|
SET 'P-IT-OBJECT,ORNAMENT
|
|
ICALL2 QUEUE,I-XTREES
|
|
ICALL2 ITALICIZE,STR?695
|
|
PRINTI "! Something hard hits the back of "
|
|
PRINTD HEAD
|
|
PRINTI " and rolls to your feet."
|
|
CRLF
|
|
ICALL1 BMODE-ON
|
|
ICALL UPDATE-STAT,-5,ENDURANCE
|
|
PRINT TAB
|
|
PRINTI "A strange chorus of humming rises from the forest as you rub "
|
|
PRINTD HEAD
|
|
PRINTI ". It takes a few moments for you to recall the familiar melody: """
|
|
CALL2 PICK-NEXT,CAROLS
|
|
PRINT STACK
|
|
PRINTI "!"""
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SAY-TREES
|
|
FSET? XTREES,TOUCHED \?CCL3
|
|
PRINTD XTREES
|
|
RTRUE
|
|
?CCL3: PRINTB W?TREES
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MENTION-GLYPH?,X
|
|
CALL GLOBAL-IN?,HERE,GLYPH
|
|
ZERO? STACK /TRUE
|
|
PRINT TAB
|
|
ICALL2 PRINTCA,GLYPH
|
|
PRINTI " is inscribed in the "
|
|
CALL GLOBAL-IN?,HERE,SNOW
|
|
ZERO? STACK /?CCL5
|
|
PRINTB W?SNOW
|
|
JUMP ?CND3
|
|
?CCL5: ZERO? MAGMA-TIMER \?CCL7
|
|
PRINTI "hardened crust"
|
|
JUMP ?CND3
|
|
?CCL7: ICALL1 GLOW-COLOR
|
|
PRINTB W?LAVA
|
|
?CND3: PRINTR " at your feet."
|
|
|
|
|
|
.FUNCT ON-TRAIL-F,CONTEXT,W,LV
|
|
IN? WIGHT,ON-TRAIL \?CND1
|
|
FSET? WIGHT,MONSTER \?CND1
|
|
INC 'W
|
|
?CND1: EQUAL? CONTEXT,M-LOOK \?CCL7
|
|
CALL GLOBAL-IN?,ON-TRAIL,LAVA >LV
|
|
PRINTI "This "
|
|
ZERO? LV /?CCL10
|
|
PRINTI "high trail has been consumed by an avalanche of "
|
|
ZERO? MAGMA-TIMER /?CND11
|
|
ICALL1 GLOW-COLOR
|
|
?CND11: PRINTD LAVA
|
|
ZERO? MAGMA-TIMER \?CND8
|
|
PRINTI ", still steaming in the frosty air"
|
|
JUMP ?CND8
|
|
?CCL10: PRINTI "snowbound trail commands a superb view of the surrounding countryside. Maybe you could enjoy the sights if "
|
|
ZERO? LAVA-TIMER \?CCL17
|
|
PRINTI "your teeth would stop chatter"
|
|
JUMP ?CND15
|
|
?CCL17: ICALL2 THE-PRINT,GROUND
|
|
PRINTI " would stop shak"
|
|
?CND15: PRINTI "ing"
|
|
?CND8: FSET? FOREST-EDGE,MUNGED \?CND18
|
|
PRINTI ". The downward path is hopelessly choked with "
|
|
PRINTD XTREES
|
|
?CND18: PRINT PERIOD
|
|
ZERO? LV \?CND20
|
|
PRINT TAB
|
|
ICALL2 PRINTCA,CABIN
|
|
PRINTI " hugs the south side of the trail"
|
|
FSET? CABIN-DOOR,OPENED \?CND22
|
|
PRINTI ", its front door banging open and shut in the wind"
|
|
?CND22: PRINTI ". Before it stands a"
|
|
FSET? MAILBOX,OPENED \?CCL26
|
|
PRINTI "n open "
|
|
JUMP ?CND24
|
|
?CCL26: PRINTI " closed "
|
|
?CND24: PRINTD MAILBOX
|
|
PRINT PERIOD
|
|
?CND20: ICALL1 MENTION-GLYPH?
|
|
RTRUE
|
|
?CCL7: EQUAL? CONTEXT,M-ENTERING \?CCL28
|
|
CALL GLOBAL-IN?,ON-TRAIL,GLYPH
|
|
ZERO? STACK /?CND29
|
|
SET 'P-IT-OBJECT,GLYPH
|
|
?CND29: ZERO? W /FALSE
|
|
SET 'P-IT-OBJECT,WIGHT
|
|
SET 'LAST-MONSTER,WIGHT
|
|
SET 'LAST-MONSTER-DIR,P?EAST
|
|
ICALL2 QUEUE,I-WIGHT
|
|
RFALSE
|
|
?CCL28: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?DOWN \?CCL37
|
|
SET 'P-WALK-DIR,P?EAST
|
|
JUMP ?CND35
|
|
?CCL37: EQUAL? P-WALK-DIR,P?UP \?CCL39
|
|
SET 'P-WALK-DIR,P?WEST
|
|
JUMP ?CND35
|
|
?CCL39: EQUAL? P-WALK-DIR,P?IN \?CND35
|
|
SET 'P-WALK-DIR,P?SOUTH
|
|
?CND35: EQUAL? P-WALK-DIR,P?WEST \?CCL43
|
|
ZERO? LAVA-TIMER /?CCL46
|
|
ICALL2 CASCADE,STR?697
|
|
RETURN 2
|
|
?CCL46: IN? WIGHT,ON-TRAIL \FALSE
|
|
FSET? WIGHT,MONSTER /?CND50
|
|
ICALL1 START-WIGHT
|
|
RETURN 2
|
|
?CND50: ICALL2 CTHE-PRINT,WIGHT
|
|
PRINTI " leaps into your path and snarls."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL43: EQUAL? P-WALK-DIR,P?SOUTH \?CCL57
|
|
FSET? CABIN-DOOR,OPENED \FALSE
|
|
ZERO? W /?CCL62
|
|
FSET? W,SLEEPING /?CCL62
|
|
ICALL1 SNARLS
|
|
JUMP ?CND58
|
|
?CCL62: PRINT CYOU
|
|
?CND58: ICALL2 DEQUEUE,I-WIGHT
|
|
PRINTI "retreat into the shelter of "
|
|
ICALL2 THE-PRINT,CABIN
|
|
ZERO? LAVA-TIMER /?CND65
|
|
PRINT STR?698
|
|
?CND65: PRINT PERIOD
|
|
RTRUE
|
|
?CCL57: EQUAL? P-WALK-DIR,P?EAST \FALSE
|
|
ZERO? W /?CCL70
|
|
FSET? WIGHT,SLEEPING /?CCL70
|
|
ICALL1 SNARLS
|
|
JUMP ?CND41
|
|
?CCL70: PRINT CYOU
|
|
?CND41: ICALL2 DEQUEUE,I-WIGHT
|
|
PRINTI "stumble down "
|
|
ICALL2 THE-PRINT,TRAIL
|
|
ZERO? LAVA-TIMER /?CND73
|
|
PRINT STR?698
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND73: ICALL1 BYE-BFLY
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SNARLS
|
|
ICALL2 CTHE-PRINT,WIGHT
|
|
PRINTI " snarls a threat as you "
|
|
RTRUE
|
|
|
|
|
|
.FUNCT IN-CABIN-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTI "Whoever works in this isolated cabin ought to consider the services of a maid nymph. Retorts, alembics and other dubious "
|
|
PRINTD CHEMS
|
|
PRINTI " are spilled across "
|
|
ICALL2 THE-PRINT,BENCH
|
|
PRINTI " in the center of the room"
|
|
FSET CHEMS,NODESC
|
|
CALL2 SEE-ANYTHING-IN?,BENCH
|
|
ZERO? STACK /?CND4
|
|
PRINTI ". You also see "
|
|
ICALL2 CONTENTS,BENCH
|
|
PRINTI " lying amid the mess"
|
|
?CND4: FCLEAR CHEMS,NODESC
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ON-PEAK-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINT XTHE
|
|
CALL GLOBAL-IN?,ON-PEAK,LAVA
|
|
ZERO? STACK /?CCL6
|
|
ZERO? MAGMA-TIMER /?CND7
|
|
ICALL1 GLOW-COLOR
|
|
?CND7: PRINTI "flow of lava"
|
|
JUMP ?CND4
|
|
?CCL6: PRINTI "upward trail"
|
|
?CND4: PRINTI " ends here, at the brink of "
|
|
ICALL2 PRINTA,CRATER
|
|
PRINTI ". "
|
|
IN? DOME,ON-PEAK \?CCL11
|
|
PRINTI "Most of the opening is hidden beneath "
|
|
ICALL2 PRINTA,DOME
|
|
PRINTI " of light, at least a hundred yards across and almost as high."
|
|
CRLF
|
|
JUMP ?CND9
|
|
?CCL11: ZERO? LAVA-TIMER /?CCL13
|
|
PRINTI "Molten lava is spewing out of the opening in a spectacular plume."
|
|
CRLF
|
|
JUMP ?CND9
|
|
?CCL13: ICALL1 SAY-STEAM
|
|
?CND9: ICALL1 MENTION-GLYPH?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?DOWN \?CND16
|
|
SET 'P-WALK-DIR,P?EAST
|
|
?CND16: EQUAL? P-WALK-DIR,P?EAST \FALSE
|
|
ZERO? LAVA-TIMER /?CND20
|
|
PRINTR "An onrushing tide of red-hot magma encourages your descent."
|
|
?CND20: PRINTI "You stumble down the steep trail"
|
|
ICALL1 BYE-BFLY
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SAY-STEAM
|
|
PRINTI "Billowing clouds of steam obscure "
|
|
ICALL2 THE-PRINT,CRATER
|
|
PRINTR "'s interior."
|
|
|
|
|
|
.FUNCT AT-LEDGE-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "This narrow path curves along a rocky ledge overlooking the sea. You "
|
|
FSET? CREVICE,NODESC \?CCL6
|
|
PRINTI "press your back against "
|
|
PRINT STR?703
|
|
PRINTI ", trying"
|
|
JUMP ?CND4
|
|
?CCL6: PRINTI "try"
|
|
?CND4: PRINTI " not to hear the waves crashing on the rocks, far below"
|
|
FSET? CREVICE,NODESC /?CND7
|
|
SET 'P-IT-OBJECT,CREVICE
|
|
PRINT PTAB
|
|
ICALL2 PRINTCA,CREVICE
|
|
PRINTI " has been blasted into "
|
|
PRINT STR?703
|
|
?CND7: PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
FSET? CREVICE,NODESC /FALSE
|
|
SET 'P-IT-OBJECT,CREVICE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT TOWER-BASE-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTI "An ancient "
|
|
PRINTD TOWER
|
|
PRINTR " stands upon this secret plateau, looming in dark silhouette against the sky. Crumbled steps lead up into its shadowy interior."
|
|
|
|
|
|
.FUNCT AT-BRINE-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINT STR?705
|
|
PRINTR " here, where a nameless brook meets the tidal flats of the Great Sea. One road follows the water inland; another spans a bridge to the northeast."
|
|
|
|
|
|
.FUNCT AT-BROOK-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "A footpath emerges from the shadow of a forbidding forest, curving southwest along the edge of a brook."
|
|
|
|
|
|
.FUNCT IN-ACCARDI-F,CONTEXT,OBJ
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTI "Home of the most famous of all Enchanters' Guilds, Accardi is usually crowded with autograph seekers and hopeful young apprentices. But the crooked streets are oddly quiet today"
|
|
PRINT PTAB
|
|
ICALL2 PRINTCA,WEAPON-SHOP
|
|
PRINTI " stands near "
|
|
ICALL2 THE-PRINT,BRIDGE
|
|
PRINTI " leading out of town"
|
|
FSET? WEAPON-DOOR,OPENED \?CND4
|
|
PRINTI ". Its "
|
|
PRINTD WEAPON-DOOR
|
|
PRINTI " is wide open"
|
|
?CND4: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT IN-WEAPON-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Lethal instruments of iron and steel crowd every inch of this tiny establishment. The gleam of polished metal makes your fist clench with expensive fantasies of aggression"
|
|
PRINT PTAB
|
|
PRINTI "Your attention comes to rest on a "
|
|
ICALL2 SHOP-DOOR,WEAPON-DOOR
|
|
ICALL2 LOOK-ON-CASE,ON-WCASE
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
ICALL1 GET-OWOMAN-AND-CURTAIN
|
|
RFALSE
|
|
|
|
|
|
.FUNCT NYMPH-SAYS
|
|
PRINTI "ear. ""There's no one here right now,"" she squeaks, ""so you'd better not"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT AT-GATE-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTR "Before you stands the headquarters of The Accardi Chapter of the Guild of Enchanters, better known as ""The Circle."" Its legendary membership and mighty deeds need no introduction."
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERED \?CCL5
|
|
IN? GRINDER,AT-GATE \FALSE
|
|
ICALL1 SEE-GRINDER
|
|
PRINT TAB
|
|
PRINTI """Welcome back,"" coos "
|
|
ICALL2 THE-PRINT,GRINDER
|
|
PRINTR " with an evil grin."
|
|
?CCL5: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
ZERO? P-WALK-DIR /FALSE
|
|
IN? GRINDER,AT-GATE \?CCL14
|
|
EQUAL? P-WALK-DIR,P?WEST \?CND15
|
|
ICALL2 DEQUEUE,I-GRINDER
|
|
PRINTI """Coward!"" taunts "
|
|
ICALL2 THE-PRINT,GRINDER
|
|
PRINTR " as you duck out of range."
|
|
?CND15: ICALL2 CTHE-PRINT,GRINDER
|
|
PRINTI " steps into your path, laughing."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL14: EQUAL? P-WALK-DIR,P?NORTH,P?IN \?CCL20
|
|
FSET? NYMPH,LIVING /?CCL23
|
|
PRINTR "You step unchallenged through the open gate."
|
|
?CCL23: FSET? GRINDER,NODESC \?CND21
|
|
FCLEAR GRINDER,NODESC
|
|
SET 'GRTIMER,4
|
|
ICALL2 QUEUE,I-GRINDER-APPEARS
|
|
?CND21: FSET? GUILD-HALL,TOUCHED \?CCL27
|
|
ICALL2 CTHE-PRINT,NYMPH
|
|
PRINTI " promptly reappears. ""They're not back yet. Go away"
|
|
JUMP ?CND25
|
|
?CCL27: PRINTI "A tiny "
|
|
PRINTD NYMPH
|
|
PRINTI " appears, floating in the air beside your "
|
|
ICALL1 NYMPH-SAYS
|
|
PRINTI " come in"
|
|
?CND25: FSET GUILD-HALL,TOUCHED
|
|
PRINT STR?515
|
|
RETURN 2
|
|
?CCL20: EQUAL? P-WALK-DIR,P?WEST \FALSE
|
|
FSET? GRINDER,NODESC /?CCL32
|
|
ZERO? GRTIMER /FALSE
|
|
?CCL32: PRINTC 65
|
|
EQUAL? GRTIMER,1,2 \?CND35
|
|
PRINTI "nother"
|
|
?CND35: PRINT STR?707
|
|
FSET? GRINDER,NODESC \?CND37
|
|
FCLEAR GRINDER,NODESC
|
|
SET 'GRTIMER,3
|
|
ICALL2 QUEUE,I-GRINDER-APPEARS
|
|
?CND37: ICALL1 I-GRINDER-APPEARS
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT IN-HALL-F,CONTEXT,OBJ
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
ICALL2 CTHE-PRINT,CEILING
|
|
PRINTR " of this once-splendid chamber has collapsed, burying doors and stairwells under tons of debris. The elliptical scorches on the walls are unmistakable, even to a novice; but why would anyone fire magic missiles here, in the very midst of the Circle?"
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
FSET? IN-HALL,SEEN /FALSE
|
|
FSET IN-HALL,SEEN
|
|
CALL2 PICK-ONE,WAND-LIST >OBJ
|
|
FCLEAR OBJ,NODESC
|
|
PUTP OBJ,P?ACTION,DISPEL-WAND-F
|
|
PUTP OBJ,P?SDESC,DESCRIBE-DISPEL-WAND
|
|
GETPT OBJ,P?SYNONYM
|
|
PUT STACK,0,W?DISPEL
|
|
GETPT OBJ,P?ADJECTIVE
|
|
PUT STACK,0,W?DISPEL
|
|
PUTP OBJ,P?DESCFCN,DESCRIBE-HALL-WAND
|
|
MOVE OBJ,IN-HALL
|
|
RFALSE
|
|
|
|
|
|
.FUNCT LEVEL1A-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTR "A welcome patch of daylight is visible at the bottom of the stairway."
|
|
?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?DOWN,P?OUT \FALSE
|
|
ZERO? AUTO /FALSE
|
|
ICALL1 BMODE-OFF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT TOWER-BASE-UP,RM,X
|
|
FSET? LEVEL1A,TOUCHED /?CND1
|
|
FSET LEVEL1A,TOUCHED
|
|
ICALL2 SCRAMBLE,TOWER1-ROOMS
|
|
?PRG3: RANDOM 4
|
|
GETB TOWER1-ROOMS,STACK >RM
|
|
EQUAL? RM,LEVEL1A /?PRG3
|
|
ICALL NEXT-WAND?,DESCRIBE-TOWER-WAND,RM
|
|
?CND1: FSET? SPIDER,NODESC \?CND7
|
|
FCLEAR SPIDER,NODESC
|
|
ICALL2 QUEUE,I-SPIDER
|
|
?CND7: ICALL1 YOU-CLIMB-UP
|
|
RETURN LEVEL1A
|
|
|
|
|
|
.FUNCT LEVEL1-UP,RM
|
|
FSET? LEVEL2A,TOUCHED /?CND1
|
|
FSET LEVEL2A,TOUCHED
|
|
ICALL NEW-EXIT?,LEVEL2A,P?DOWN,897,HERE
|
|
ICALL2 SCRAMBLE,TOWER2-ROOMS
|
|
?PRG3: RANDOM 4
|
|
GETB TOWER2-ROOMS,STACK >RM
|
|
EQUAL? RM,LEVEL2A /?PRG3
|
|
MOVE CARD,RM
|
|
?CND1: FSET? SLUG,NODESC \?CND7
|
|
FCLEAR SLUG,NODESC
|
|
ICALL2 QUEUE,I-SLUG
|
|
?CND7: ICALL1 YOU-CLIMB-UP
|
|
RETURN LEVEL2A
|
|
|
|
|
|
.FUNCT LEVEL2-UP,RM,X
|
|
FSET? LEVEL3A,TOUCHED /?CND1
|
|
FSET LEVEL3A,TOUCHED
|
|
ICALL NEW-EXIT?,LEVEL3A,P?DOWN,897,HERE
|
|
ICALL2 SCRAMBLE,TOWER3-ROOMS
|
|
?PRG3: RANDOM 4
|
|
GETB TOWER3-ROOMS,STACK >RM
|
|
EQUAL? RM,LEVEL3A /?PRG3
|
|
ICALL NEXT-SCROLL?,DESCRIBE-TOWER-SCROLL,RM
|
|
?CND1: ICALL1 YOU-CLIMB-UP
|
|
RETURN LEVEL3A
|
|
|
|
|
|
.FUNCT LEVEL3-UP
|
|
FSET? TOWER-TOP,TOUCHED /?CND1
|
|
FSET TOWER-TOP,TOUCHED
|
|
ICALL NEW-EXIT?,TOWER-TOP,P?DOWN,897,HERE
|
|
ICALL NEW-EXIT?,HERE,P?UP,641,TOWER-TOP
|
|
?CND1: ICALL1 YOU-CLIMB-UP
|
|
RETURN TOWER-TOP
|
|
|
|
|
|
.FUNCT MENTION-TOWER-STEPS?
|
|
CALL GLOBAL-IN?,HERE,TOWER-STEPS
|
|
ZERO? STACK /?CND1
|
|
PRINTI ". A narrow flight of steps winds upward"
|
|
?CND1: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SAY-EXIT,TBL,DIR,XDIR
|
|
RANDOM 8
|
|
SUB STACK,1 >XDIR
|
|
SET 'DIR,XDIR
|
|
?PRG1: IGRTR? 'DIR,I-NW \?CND3
|
|
SET 'DIR,I-NORTH
|
|
?CND3: GETB PDIR-LIST,DIR
|
|
GETP HERE,STACK >TBL
|
|
ZERO? TBL /?PRG1
|
|
GET TBL,XTYPE
|
|
BAND STACK,65280
|
|
EQUAL? STACK,CONNECT \?PRG1
|
|
GET DIR-NAMES,DIR
|
|
PRINTB STACK
|
|
RFALSE
|
|
|
|
|
|
.FUNCT LEVEL1B-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Uneven rays of daylight seep in through walls crumbling with age"
|
|
ICALL1 MENTION-TOWER-STEPS?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
CALL2 LAST-ROOM-IN?,TOWER1-ROOMS
|
|
ZERO? STACK /FALSE
|
|
ICALL NEW-EXIT?,LEVEL1B,P?UP,1153,LEVEL1-UP
|
|
ICALL REPLACE-GLOBAL?,LEVEL1B,NULL,TOWER-STEPS
|
|
RFALSE
|
|
|
|
|
|
.FUNCT LEVEL1C-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "The dusty light streaming in from the "
|
|
ICALL1 SAY-EXIT
|
|
PRINTI " only deepens the gloom of this forgotten chamber"
|
|
ICALL1 MENTION-TOWER-STEPS?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
CALL2 LAST-ROOM-IN?,TOWER1-ROOMS
|
|
ZERO? STACK /FALSE
|
|
ICALL NEW-EXIT?,LEVEL1C,P?UP,1153,LEVEL1-UP
|
|
ICALL REPLACE-GLOBAL?,LEVEL1C,NULL,TOWER-STEPS
|
|
RFALSE
|
|
|
|
|
|
.FUNCT LEVEL1D-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Rotten floorboards creak with age as you tiptoe across them"
|
|
ICALL1 MENTION-TOWER-STEPS?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
CALL2 LAST-ROOM-IN?,TOWER1-ROOMS
|
|
ZERO? STACK /FALSE
|
|
ICALL NEW-EXIT?,LEVEL1D,P?UP,1153,LEVEL1-UP
|
|
ICALL REPLACE-GLOBAL?,LEVEL1D,NULL,TOWER-STEPS
|
|
RFALSE
|
|
|
|
|
|
.FUNCT LEVEL2A-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "The steps winding downward are choked in a tangle of shadows and useless debris."
|
|
|
|
|
|
.FUNCT LEVEL2B-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "The faint smudge of light from the "
|
|
ICALL1 SAY-EXIT
|
|
PRINTI " is barely enough to light your way"
|
|
ICALL1 MENTION-TOWER-STEPS?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
CALL2 LAST-ROOM-IN?,TOWER2-ROOMS
|
|
ZERO? STACK /FALSE
|
|
ICALL NEW-EXIT?,LEVEL2B,P?UP,1153,LEVEL2-UP
|
|
ICALL REPLACE-GLOBAL?,LEVEL2B,NULL,TOWER-STEPS
|
|
RFALSE
|
|
|
|
|
|
.FUNCT LEVEL2C-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "You duck low to avoid the sagging, wormy timbers overhead"
|
|
ICALL1 MENTION-TOWER-STEPS?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5
|
|
CALL2 LAST-ROOM-IN?,TOWER2-ROOMS
|
|
ZERO? STACK /FALSE
|
|
ICALL NEW-EXIT?,LEVEL2C,P?UP,1153,LEVEL2-UP
|
|
ICALL REPLACE-GLOBAL?,LEVEL2C,NULL,TOWER-STEPS
|
|
RFALSE
|
|
?CCL5: EQUAL? CONTEXT,M-END \FALSE
|
|
RANDOM 100
|
|
LESS? 10,STACK /FALSE
|
|
PRINT TAB
|
|
PRINTI "You bang your head on "
|
|
ICALL2 THE-PRINT,CEILING
|
|
PRINTI ". Oof!"
|
|
CRLF
|
|
ICALL2 UPDATE-STAT,-4
|
|
RFALSE
|
|
|
|
|
|
.FUNCT LEVEL2D-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Planes of daylight slice the air through cracks in the walls and ceiling"
|
|
ICALL1 MENTION-TOWER-STEPS?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
CALL2 LAST-ROOM-IN?,TOWER2-ROOMS
|
|
ZERO? STACK /FALSE
|
|
ICALL NEW-EXIT?,LEVEL2D,P?UP,1153,LEVEL2-UP
|
|
ICALL REPLACE-GLOBAL?,LEVEL2D,NULL,TOWER-STEPS
|
|
RFALSE
|
|
|
|
|
|
.FUNCT LEVEL3A-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "Deep, inky shadows obscure the stairwell winding downward."
|
|
|
|
|
|
.FUNCT LEVEL3B-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "The sound of your footsteps is dampened by the fine dust coating every inch of this dimly lit chamber"
|
|
ICALL1 MENTION-TOWER-STEPS?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5
|
|
CALL2 LAST-ROOM-IN?,TOWER3-ROOMS
|
|
ZERO? STACK /?CND6
|
|
ICALL NEW-EXIT?,LEVEL3B,P?UP,1153,LEVEL3-UP
|
|
ICALL REPLACE-GLOBAL?,LEVEL3B,NULL,TOWER-STEPS
|
|
?CND6: IN? DUST,LEVEL3B \FALSE
|
|
SET 'P-IT-OBJECT,DUST
|
|
SET 'P-THEM-OBJECT,DUST
|
|
GRTR? BUNNIES,89 \FALSE
|
|
PRINTI "A cloud of dust billows up as you enter!"
|
|
CRLF
|
|
ZERO? VERBOSITY /FALSE
|
|
CRLF
|
|
RFALSE
|
|
?CCL5: EQUAL? CONTEXT,M-ENTERED \?CCL15
|
|
IN? DUST,HERE \FALSE
|
|
SET 'LAST-MONSTER,DUST
|
|
RFALSE
|
|
?CCL15: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,FALSE-VALUE,P?UP,P?DOWN /FALSE
|
|
IN? DUST,HERE \FALSE
|
|
FCLEAR DUST,SEEN
|
|
GRTR? BUNNIES,89 \?CND23
|
|
PRINT STR?620
|
|
PRINTD DUST
|
|
PRINT PERIOD
|
|
RETURN 2
|
|
?CND23: PRINTI "You edge your way past "
|
|
ICALL2 THE-PRINT,DUST
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LEVEL3C-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Streaks of light from the "
|
|
ICALL1 SAY-EXIT
|
|
PRINTI " exit fall in jagged patches across "
|
|
ICALL2 THE-PRINT,FLOOR
|
|
ICALL1 MENTION-TOWER-STEPS?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
CALL2 LAST-ROOM-IN?,TOWER3-ROOMS
|
|
ZERO? STACK /FALSE
|
|
ICALL NEW-EXIT?,LEVEL3C,P?UP,1153,LEVEL3-UP
|
|
ICALL REPLACE-GLOBAL?,LEVEL3C,NULL,TOWER-STEPS
|
|
RFALSE
|
|
|
|
|
|
.FUNCT LEVEL3D-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINT YOU-HEAR
|
|
PRINTI "the creak of sagging timber as "
|
|
ICALL2 THE-PRINT,FLOOR
|
|
PRINTI " struggles to bear your weight"
|
|
ICALL1 MENTION-TOWER-STEPS?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
CALL2 LAST-ROOM-IN?,TOWER3-ROOMS
|
|
ZERO? STACK /FALSE
|
|
ICALL NEW-EXIT?,LEVEL3D,P?UP,1153,LEVEL3-UP
|
|
ICALL REPLACE-GLOBAL?,LEVEL3D,NULL,TOWER-STEPS
|
|
RFALSE
|
|
|
|
|
|
.FUNCT TOWER-TOP-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Nothing remains of the stormproof panes that once enclosed this circular chamber on every side. The floor is littered with glass and debris"
|
|
CALL2 SEE-ANYTHING-IN?,LAMPHOUSE
|
|
ZERO? STACK /?CND4
|
|
PRINTI ", in which you also see "
|
|
ICALL2 CONTENTS,LAMPHOUSE
|
|
?CND4: PRINT PTAB
|
|
PRINTR "A flight of steps descends into shadow."
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERED \FALSE
|
|
IN? DORN,TOWER-TOP \FALSE
|
|
ICALL2 SEE-CHARACTER,DORN
|
|
RFALSE
|
|
|
|
|
|
.FUNCT ENTER-GONDOLA
|
|
IN? GONDOLA,AT-DOCK /?CND1
|
|
ICALL2 CTHE-PRINT,DGONDOLA
|
|
PRINTI " isn't back yet."
|
|
CRLF
|
|
RFALSE
|
|
?CND1: ICALL PERFORM,V?ENTER,GONDOLA
|
|
RFALSE
|
|
|
|
|
|
.FUNCT AT-DOCK-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Aggressive ad campaigns and the deregulation of ZIFMIA spells have made Miznia's Jungle Skyway the fifth biggest tourist attraction in the Southlands. Passengers "
|
|
IN? GONDOLA,HERE \?CND4
|
|
PRINTI "are "
|
|
LESS? GON,2 \?CCL8
|
|
PRINTI "streaming out of "
|
|
JUMP ?CND6
|
|
?CCL8: PRINTI "crowding for a space in "
|
|
?CND6: ICALL2 THE-PRINT,GONDOLA
|
|
IN? PLAYER,GONDOLA /?CND9
|
|
PRINTI " docked nearby"
|
|
?CND9: PRINT PERIOD
|
|
RTRUE
|
|
?CND4: PRINTI "crowd around the entry gate, "
|
|
EQUAL? GON,4 \?CND11
|
|
PRINTI "watching a "
|
|
PRINTD GONDOLA
|
|
PRINTR " glide away into the haze."
|
|
?CND11: PRINTI "waiting for the "
|
|
EQUAL? GON,14 \?CND13
|
|
PRINTD GONDOLA
|
|
PRINTI " now "
|
|
PRINT STR?586
|
|
RTRUE
|
|
?CND13: PRINTI "next "
|
|
PRINTD GONDOLA
|
|
PRINTR " to appear."
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL16
|
|
FSET? DGONDOLA,SEEN /?CND17
|
|
FSET DGONDOLA,SEEN
|
|
ICALL2 QUEUE,I-GONDOLA
|
|
?CND17: IN? GONDOLA,AT-DOCK \?CND19
|
|
SET 'P-IT-OBJECT,GONDOLA
|
|
ICALL2 SEE-CHARACTER,CONDUCTOR
|
|
?CND19: MOVE PASSENGERS,AT-DOCK
|
|
SET 'P-THEM-OBJECT,PASSENGERS
|
|
RFALSE
|
|
?CCL16: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
MOVE PASSENGERS,GONDOLA
|
|
RFALSE
|
|
|
|
|
|
.FUNCT UNDERS-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Steel girders rise high above the treetops of the surrounding jungle"
|
|
CALL GLOBAL-IN?,HERE,DGONDOLA
|
|
ZERO? STACK /?CND4
|
|
PRINTI ". Peering upward, you notice "
|
|
ICALL2 PRINTA,DGONDOLA
|
|
PRINTI " gliding overhead"
|
|
?CND4: PRINT PTAB
|
|
PRINTR "A skinny ladder leads upward."
|
|
?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?UP \FALSE
|
|
ZERO? AUTO /?CND10
|
|
ICALL1 BMODE-OFF
|
|
?CND10: PRINTR "You scoot up the ladder."
|
|
|
|
|
|
.FUNCT SUPPORTS-IN
|
|
IN? PLAYER,GONDOLA \?CCL3
|
|
ICALL PERFORM,V?EXIT,GONDOLA
|
|
RFALSE
|
|
?CCL3: IN? GONDOLA,HERE \?CCL5
|
|
ICALL PERFORM,V?ENTER,GONDOLA
|
|
RFALSE
|
|
?CCL5: CALL GLOBAL-IN?,HERE,DGONDOLA
|
|
ZERO? STACK /?CND1
|
|
ICALL PERFORM,V?ENTER,DGONDOLA
|
|
RFALSE
|
|
?CND1: ICALL1 V-WALK-AROUND
|
|
RFALSE
|
|
|
|
|
|
.FUNCT DESCRIBE-TOPS,OBJ
|
|
IN? PLAYER,GONDOLA \?CND1
|
|
PRINTI "Beside Tower"
|
|
RTRUE
|
|
?CND1: PRINTI "Maintenance Platform"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TOPS-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
IN? PLAYER,GONDOLA \?CND4
|
|
PRINT CYOUR
|
|
PRINTD GONDOLA
|
|
PRINTI " is passing a few feet away from a Skyway support tower. A small maintenance "
|
|
PRINTD PLATFORM
|
|
PRINTR " is enclosed within the steel girders; beside it, you notice a skinny ladder leading down towards the treetops."
|
|
?CND4: PRINTI "A spiderweb of structural steel rises above the treetops, tapering up to this narrow vantage near the top. The topmost rungs of a skinny ladder are within your reach."
|
|
CRLF
|
|
IN? GONDOLA,HERE /?CCL7
|
|
CALL GLOBAL-IN?,HERE,DGONDOLA
|
|
ZERO? STACK /TRUE
|
|
?CCL7: PRINT TAB
|
|
ICALL2 PRINTCA,DGONDOLA
|
|
PRINTI " is gliding "
|
|
IN? GONDOLA,HERE \?CCL12
|
|
PRINTI "close by "
|
|
JUMP ?CND10
|
|
?CCL12: EQUAL? GON,11,8,5 \?CCL14
|
|
PRINTI "towards "
|
|
JUMP ?CND10
|
|
?CCL14: PRINTI "away from "
|
|
?CND10: ICALL2 THE-PRINT,PLATFORM
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERED \?CCL16
|
|
FSET? DGONDOLA,SEEN /FALSE
|
|
FSET DGONDOLA,SEEN
|
|
ICALL2 QUEUE,I-GONDOLA
|
|
RFALSE
|
|
?CCL16: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?DOWN \FALSE
|
|
IN? PLAYER,GONDOLA \?CND23
|
|
ICALL YOUD-HAVE-TO,STR?717,GONDOLA
|
|
RETURN 2
|
|
?CND23: PRINTR "You scramble down the ladder."
|
|
|
|
|
|
.FUNCT JUN0-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "A strip of dry path winds alongside a pool of "
|
|
PRINTD QUICKSAND
|
|
CALL2 SEE-ANYTHING-IN?,QUICKSAND
|
|
ZERO? STACK /?CND4
|
|
PRINTI ". "
|
|
PRINT YOU-SEE
|
|
ICALL2 CONTENTS,QUICKSAND
|
|
PRINTI " stuck into the wet, gritty surface"
|
|
?CND4: PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL7
|
|
FSET? MAMA,NODESC \FALSE
|
|
FCLEAR MAMA,NODESC
|
|
ICALL2 QUEUE,I-BABY
|
|
ICALL2 QUEUE,I-MAMA
|
|
RFALSE
|
|
?CCL7: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,FALSE-VALUE,P?UP /FALSE
|
|
IN? BABY,QUICKSAND \FALSE
|
|
FSET BABY,SEEN
|
|
ICALL2 CTHE-PRINT,BABY
|
|
PRINTR " bellows mournfully as you walk away."
|
|
|
|
|
|
.FUNCT WORM-ROOM-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
ICALL2 CTHE-PRINT,GROUND
|
|
PRINTR " here is concealed beneath a growth of fungus, green and squishy."
|
|
?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
FSET? WORM,MONSTER /FALSE
|
|
ICALL2 START-WORM,STR?718
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT JUNGLE-ROOM-F,CONTEXT,TBL
|
|
EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
FSET? HERE,TOUCHED /FALSE
|
|
FSET? CROCO,SEEN /?CCL7
|
|
CALL LAST-ROOM-IN?,JUNGLE-ROOMS,3
|
|
ZERO? STACK /?CCL7
|
|
FSET CROCO,SEEN
|
|
PUTP HERE,P?ACTION,IDOL-ROOM-F
|
|
PUTP HERE,P?SDESC,DESCRIBE-IDOL-ROOM
|
|
MOVE CROCO,HERE
|
|
MOVE MAW,HERE
|
|
ICALL NEW-EXIT?,HERE,P?UP,1153,ENTER-CROCO
|
|
ICALL NEW-EXIT?,HERE,P?IN,1153,ENTER-CROCO
|
|
ICALL NEW-EXIT?,HERE,P?OUT,1153,EXIT-CROCO
|
|
ICALL1 CLEAR-MAW-EXITS
|
|
RFALSE
|
|
?CCL7: CALL2 PICK-ONE,JUNGLE-DESCS >TBL
|
|
GET TBL,0
|
|
PUTP HERE,P?SDESC,STACK
|
|
GET TBL,1
|
|
PUTP HERE,P?ACTION,STACK
|
|
RFALSE
|
|
|
|
|
|
.FUNCT CLEAR-MAW-EXITS,X
|
|
LOC CROCO >X
|
|
PUTP X,P?BELOW,0
|
|
PUTP X,P?OVERHEAD,MAW
|
|
ICALL NEW-EXIT?,X,P?DOWN,SORRY-EXIT,NOT-IN-MAW
|
|
RFALSE
|
|
|
|
|
|
.FUNCT DESCRIBE-IDOL-ROOM,OBJ
|
|
PRINTI "Idol"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT IDOL-ROOM-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTI "A stone idol, carved in the likeness of a giant crocodile, stands in a clearing"
|
|
CALL2 SEE-ANYTHING-IN?,MAW
|
|
ZERO? STACK /?CND4
|
|
PRINTI ". "
|
|
PRINT YOU-SEE
|
|
ICALL2 CONTENTS,MAW
|
|
PRINTI " in its gaping maw"
|
|
?CND4: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NOT-IN-MAW
|
|
PRINTI "You're not in the maw."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT DESCRIBE-JD0,OBJ
|
|
PRINTI "Underbrush"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT JD0-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "Unseen creatures scurry out of your path as you struggle through the damp underbrush."
|
|
|
|
|
|
.FUNCT DESCRIBE-JD1,OBJ
|
|
PRINTI "Birdcries"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT JD1-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "The unnerving cries of exotic birds echo in the treetops."
|
|
|
|
|
|
.FUNCT DESCRIBE-JD2,OBJ
|
|
PRINTI "Creepers"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT JD2-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "A slimy tangle of vines and creepers dangles high overhead, swinging to and fro in the humid breeze."
|
|
|
|
|
|
.FUNCT DESCRIBE-JD3,OBJ
|
|
PRINTI "Ferns"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT JD3-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "A natural canopy of ferns mutes the sunlight to a cool, emerald dusk."
|
|
|
|
|
|
.FUNCT OVER-JUNGLE-F,CONTEXT,X,Y
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
SET 'X,W?WEST
|
|
EQUAL? GON,7,8 \?CCL6
|
|
SET 'X,W?SOUTH
|
|
JUMP ?CND4
|
|
?CCL6: EQUAL? GON,10,11 \?CCL8
|
|
SET 'X,W?EAST
|
|
JUMP ?CND4
|
|
?CCL8: EQUAL? GON,13,14 \?CND4
|
|
SET 'X,W?NORTH
|
|
?CND4: PRINT CYOUR
|
|
PRINTD GONDOLA
|
|
PRINTI " is gliding "
|
|
PRINTB X
|
|
PRINTI ", high over the lush jungles and sparkling rivers of Miznia. "
|
|
EQUAL? GON,4 \?CCL12
|
|
ICALL2 RECEDING,DOCK
|
|
RTRUE
|
|
?CCL12: EQUAL? GON,5 \?CCL14
|
|
ICALL2 EMERGING,SUPPORT
|
|
RTRUE
|
|
?CCL14: EQUAL? GON,8,11 \?CCL16
|
|
ICALL EMERGING,SUPPORT,STR?720
|
|
RTRUE
|
|
?CCL16: EQUAL? GON,14 \?CND10
|
|
ICALL2 EMERGING,DOCK
|
|
RTRUE
|
|
?CND10: ICALL2 RECEDING,SUPPORT
|
|
RTRUE
|
|
|
|
|
|
.FUNCT EMERGING,OBJ,X
|
|
ASSIGNED? 'X \?CCL3
|
|
PRINTI "Another "
|
|
JUMP ?CND1
|
|
?CCL3: PRINT XTHE
|
|
?CND1: ICALL2 DPRINT,OBJ
|
|
PRINTR " is emerging from the haze ahead."
|
|
|
|
|
|
.FUNCT RECEDING,OBJ
|
|
ICALL2 CTHE-PRINT,OBJ
|
|
PRINTR " is receding into the haze."
|
|
|
|
|
|
.FUNCT AT-FALLS-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "A dazzling cascade roars down from a ledge overhead, fed by the snowy peaks rising to the south"
|
|
FSET? IN-THRIFF,MUNGED \?CND4
|
|
PRINTI ". The trail leading "
|
|
PRINTB W?SOUTHWEST
|
|
PRINTI " is choked with "
|
|
PRINTD XTREES
|
|
?CND4: PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
EQUAL? P-WALK-DIR,P?SOUTH \FALSE
|
|
ZERO? AUTO /FALSE
|
|
ICALL1 BMODE-OFF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT IN-PASTURE-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "This windswept pasture is dotted with ancient oaks. A snowy trail winds upward"
|
|
FSET? IN-THRIFF,MUNGED \?CND4
|
|
PRINTI ", and a solid wall of "
|
|
PRINTD XTREES
|
|
PRINTI " lies to the "
|
|
PRINTB W?SOUTHEAST
|
|
?CND4: PRINT PERIOD
|
|
ICALL1 MENTION-GLYPH?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERED \?CCL7
|
|
IN? HUNTERS,IN-PASTURE \?CND8
|
|
FSET HUNTERS,SEEN
|
|
ICALL2 SEE-CHARACTER,HUNTERS
|
|
?CND8: ICALL2 QUEUE,I-HUNTERS
|
|
RFALSE
|
|
?CCL7: EQUAL? CONTEXT,M-EXIT \?CCL11
|
|
IN? MINX,OAK \?CND12
|
|
FSET? MINX,LIVING \?CND12
|
|
PRINTI "A loud voice makes you hesitate."
|
|
CRLF
|
|
RETURN 2
|
|
?CND12: ICALL2 DEQUEUE,I-HUNTERS
|
|
EQUAL? P-WALK-DIR,P?UP \?CND18
|
|
SET 'P-WALK-DIR,P?WEST
|
|
?CND18: IN? HUNTER,IN-PASTURE \FALSE
|
|
ICALL1 ABORT-HUNT
|
|
ICALL2 CTHE-PRINT,HUNTER
|
|
PRINTR " watches you leave."
|
|
?CCL11: EQUAL? CONTEXT,M-END \FALSE
|
|
IN? HUNTER,IN-PASTURE \FALSE
|
|
EQUAL? WINNER,PLAYER \FALSE
|
|
EQUAL? PRSA,V?LISTEN,V?SMELL /FALSE
|
|
EQUAL? PRSA,V?ASK-ABOUT,V?ASK-FOR,V?TELL-ABOUT \?CCL28
|
|
EQUAL? PRSI,OAK,MINX /FALSE
|
|
?CCL28: EQUAL? OAK,PRSO,PRSI \?CCL32
|
|
ICALL2 DRAW-ATTENTION-TO,OAK
|
|
RTRUE
|
|
?CCL32: EQUAL? MINX,PRSO,PRSI \FALSE
|
|
ICALL2 DRAW-ATTENTION-TO,MINX
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DRAW-ATTENTION-TO,OBJ
|
|
PRINT TAB
|
|
PRINTI "Your action draws "
|
|
ICALL2 THE-PRINT,HUNTER
|
|
PRINTI "'s attention to "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINT PERIOD
|
|
ICALL1 HUNTER-SEES-MINX
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HUNTER-SEES-MINX
|
|
ICALL1 ABORT-HUNT
|
|
PRINT TAB
|
|
PRINTI """Aha!"" he cries, plucking the minx out from behind the oak by the scruff of her neck. ""Thought ye'd get away from me, did ye? It's back home I'll be bringin' you, for a whippin' ye won't soon forget!""
|
|
The last thing you hear is a tearful cry of ""Minx!"" as "
|
|
ICALL2 THE-PRINT,HUNTER
|
|
PRINTR " stalks away with his quarry."
|
|
|
|
|
|
.FUNCT ABORT-HUNT
|
|
ICALL2 DEQUEUE,I-HUNT
|
|
REMOVE HUNTER
|
|
SET 'P-HIM-OBJECT,NOT-HERE-OBJECT
|
|
REMOVE MINX
|
|
SET 'P-HER-OBJECT,NOT-HERE-OBJECT
|
|
SET 'QCONTEXT,FALSE-VALUE
|
|
SET 'QCONTEXT-ROOM,FALSE-VALUE
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
RFALSE
|
|
|
|
|
|
.FUNCT CANT-ENTER-WALL,X
|
|
EQUAL? P-WALK-DIR,P?IN,P?OUT \?CND1
|
|
PRINT CANT
|
|
PRINTI "see anywhere to go "
|
|
SET 'X,W?OUT
|
|
EQUAL? P-WALK-DIR,FALSE-VALUE,P?IN \?CND3
|
|
SET 'X,W?IN
|
|
?CND3: PRINTB X
|
|
PRINT PERIOD
|
|
RFALSE
|
|
?CND1: GETP HERE,P?EXIT-STR >X
|
|
ZERO? X /?CND5
|
|
PRINT X
|
|
CRLF
|
|
RFALSE
|
|
?CND5: PRINT STR?721
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SE-WALL-F,CONTEXT,X
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "A sunlit wall of stone rises above the snow-dusted ground. Gazing farther up the mountainside, you see the parapets of a mighty "
|
|
PRINTD CASTLE
|
|
PRINT PERIOD
|
|
FSET? SWALL,SEEN \?CND4
|
|
PRINT TAB
|
|
ICALL2 SEE-DOORLIKE,SWALL
|
|
PRINTI "wall."
|
|
CRLF
|
|
?CND4: ICALL1 MENTION-GLYPH?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERED \?CCL7
|
|
FSET? SWALL,SEEN \FALSE
|
|
SET 'P-IT-OBJECT,SWALL
|
|
RFALSE
|
|
?CCL7: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?IN \FALSE
|
|
FSET? SWALL,OPENED \FALSE
|
|
SET 'P-WALK-DIR,P?NW
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SE-CAVE-F,CONTEXT,X
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
ICALL NOTE-WALL,SWALL,W?SOUTHEAST
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5
|
|
IN? GRUE,HERE \?CND6
|
|
REMOVE GRUE
|
|
?CND6: FSET? SE-CAVE,SEEN /FALSE
|
|
CALL1 SETUP-CAVES?
|
|
ZERO? STACK \FALSE
|
|
RETURN 2
|
|
?CCL5: EQUAL? CONTEXT,M-ENTERED \FALSE
|
|
FSET? SWALL,SEEN \?CND15
|
|
SET 'P-IT-OBJECT,SWALL
|
|
?CND15: FSET? LANTERN,LIGHTED \FALSE
|
|
ICALL1 NO-LANTERN-HERE?
|
|
RFALSE
|
|
|
|
|
|
.FUNCT CHUCKLE
|
|
PRINT TAB
|
|
EQUAL? HERE,IN-LAIR \?CND1
|
|
FSET URGRUE,SEEN
|
|
PRINTI """Heh, heh, heh,"" chuckles "
|
|
ICALL2 THE-PRINT,URGRUE
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND1: PRINTR "An evil chuckle echoes through the caverns."
|
|
|
|
|
|
.FUNCT NOTE-WALL,OBJ,WRD
|
|
PRINTI "This "
|
|
FSET? OBJ,OPENED /?CND1
|
|
PRINTI "dead-end "
|
|
?CND1: PRINTI "passage grows wider as it bends "
|
|
PRINTB WRD
|
|
PRINTI ", ending at a flat wall of rock"
|
|
FSET? OBJ,SEEN \?CND3
|
|
PRINTI ". "
|
|
FSET? OBJ,OPENED \?CCL7
|
|
PRINTI "Daylight "
|
|
EQUAL? HERE,SE-CAVE \?CCL10
|
|
PRINTI "streams in from "
|
|
JUMP ?CND8
|
|
?CCL10: PRINTI "can be seen beyond "
|
|
?CND8: PRINTI "an "
|
|
PRINTB W?OPENING
|
|
JUMP ?CND5
|
|
?CCL7: PRINT STR?723
|
|
PRINTB W?OUTLINE
|
|
PRINTI " is visible"
|
|
?CND5: PRINTI " therein"
|
|
?CND3: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NE-CAVE-F,CONTEXT,X
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
ICALL NOTE-WALL,NWALL,W?NORTHWEST
|
|
ICALL1 MENTION-BEAM?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5
|
|
IN? GRUE,HERE \?CND6
|
|
REMOVE GRUE
|
|
?CND6: FSET? NE-CAVE,SEEN /FALSE
|
|
CALL1 SETUP-CAVES?
|
|
ZERO? STACK \FALSE
|
|
RETURN 2
|
|
?CCL5: EQUAL? CONTEXT,M-ENTERED \FALSE
|
|
FSET? NWALL,SEEN \?CND15
|
|
SET 'P-IT-OBJECT,NWALL
|
|
?CND15: FSET? LANTERN,LIGHTED \FALSE
|
|
ICALL1 NO-LANTERN-HERE?
|
|
RFALSE
|
|
|
|
|
|
.FUNCT NE-WALL-F,CONTEXT,X
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "The air is cool here, beneath the shadow of a towering wall of rock"
|
|
FSET? NWALL,SEEN \?CND4
|
|
PRINTI ". "
|
|
ICALL2 SEE-DOORLIKE,NWALL
|
|
PRINTB W?WALL
|
|
?CND4: PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERED \?CCL7
|
|
FSET? NWALL,SEEN \FALSE
|
|
SET 'P-IT-OBJECT,NWALL
|
|
RFALSE
|
|
?CCL7: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?IN \FALSE
|
|
FSET? NWALL,OPENED \FALSE
|
|
SET 'P-WALK-DIR,P?SE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT CAVE0-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTI "Cold, clammy walls of rock recede deep into the shadows."
|
|
CRLF
|
|
?CND1: CALL2 MOVE-GRUE?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CAVE1-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTI "The steady drip of invisible moisture echoes in the passageway."
|
|
CRLF
|
|
?CND1: CALL2 MOVE-GRUE?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CAVE2-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTI "The air here is pungent with subterranean vapors."
|
|
CRLF
|
|
?CND1: CALL2 MOVE-GRUE?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CAVE3-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTI "Ebony walls of rock deepen the shadows on every side."
|
|
CRLF
|
|
?CND1: CALL2 MOVE-GRUE?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CAVE4-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTI "Only a few feet separate the walls of this stultifying passage."
|
|
CRLF
|
|
?CND1: CALL2 MOVE-GRUE?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CAVE6-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTI "The close, stale air in this chamber makes breathing difficult."
|
|
CRLF
|
|
?CND1: CALL2 MOVE-GRUE?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CAVE7-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTI "The walls of this shallow chamber are coated with a thick blanket of moss, fed by unseen trickles of water."
|
|
CRLF
|
|
?CND1: CALL2 MOVE-GRUE?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MOVE-GRUE?,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
ICALL1 MENTION-BEAM?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
IN? GRUE,HERE \FALSE
|
|
REMOVE GRUE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MENTION-BEAM?,DIR,TBL
|
|
GETP HERE,P?MIRROR-OBJ
|
|
EQUAL? STACK,NO-MIRROR \FALSE
|
|
GETP HERE,P?BEAM-DIR >DIR
|
|
EQUAL? DIR,NO-MIRROR /FALSE
|
|
PRINT STR?724
|
|
PRINTI "shines in from the "
|
|
GET DIR-NAMES,DIR
|
|
PRINTB STACK
|
|
ADD DIR,4 >DIR
|
|
GRTR? DIR,I-NW \?CND5
|
|
SUB DIR,8 >DIR
|
|
?CND5: GETB PDIR-LIST,DIR
|
|
GETP HERE,STACK >TBL
|
|
ZERO? TBL /?CND7
|
|
GET TBL,XTYPE
|
|
BAND STACK,65280
|
|
EQUAL? STACK,CONNECT \?CND7
|
|
PRINTI ", and disappears to the "
|
|
GET DIR-NAMES,DIR
|
|
PRINTB STACK
|
|
?CND7: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ON-PIKE-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
ICALL2 SEE-FIELDS,W?WEST
|
|
PRINT PTAB
|
|
PRINTI "A billboard stands in a "
|
|
PRINTD WEEDS
|
|
CALL2 SEE-ANYTHING-IN?,WEEDS
|
|
ZERO? STACK /?CND4
|
|
PRINTI ". Around it you see "
|
|
ICALL2 CONTENTS,WEEDS
|
|
?CND4: PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?WEST \FALSE
|
|
CALL1 ENTER-PLAIN?
|
|
RSTACK
|
|
|
|
|
|
.FUNCT XROADS-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
ICALL2 SEE-FIELDS,W?EAST
|
|
PRINTI ". But the snow-capped peaks of Southern Mithicus are bright with sunshine"
|
|
PRINT PTAB
|
|
PRINTI "The outskirts of Gurth City"
|
|
PRINT STR?683
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5
|
|
EQUAL? P-WALK-DIR,P?WEST \FALSE
|
|
ZERO? AUTO /FALSE
|
|
ICALL1 BMODE-OFF
|
|
RFALSE
|
|
?CCL5: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?EAST \?CCL14
|
|
CALL1 ENTER-PLAIN?
|
|
RSTACK
|
|
?CCL14: EQUAL? P-WALK-DIR,P?NORTH \FALSE
|
|
ICALL1 ENTER-CITY
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ENTER-CITY
|
|
CALL2 PICK-NEXT,CITY-ENTRIES
|
|
PRINT STACK
|
|
PRINTR " as you cross the city limits."
|
|
|
|
|
|
.FUNCT SEE-FIELDS,WRD
|
|
PRINTI "Gray fields extend to the "
|
|
PRINTB WRD
|
|
PRINT STR?725
|
|
PRINTI ", under "
|
|
PRINT STR?726
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ENTER-PLAIN?,X,Y,L,LL
|
|
LOC GOBLET >L
|
|
ICALL1 KERBLAM
|
|
PRINTI "Forks of "
|
|
PRINTB W?LIGHTNING
|
|
PRINTI " dance across your path"
|
|
FSET? ROSE-ROOM,LOCATION /?CND1
|
|
PRINTI ", and the clouds boom with laughter"
|
|
?CND1: EQUAL? L,PLAYER /?CTR4
|
|
ZERO? L /?CCL5
|
|
IN? L,PLAYER \?CCL5
|
|
CALL2 SEE-INSIDE?,L
|
|
ZERO? STACK /?CCL5
|
|
?CTR4: FSET? ROSE-ROOM,LOCATION \?CCL13
|
|
PRINTI ", answered by "
|
|
ICALL2 THE-PRINT,GOBLET
|
|
EQUAL? L,PLAYER /?CND11
|
|
ICALL2 ON-IN,L
|
|
JUMP ?CND11
|
|
?CCL13: PRINTI ". But "
|
|
ICALL2 THE-PRINT,GOBLET
|
|
EQUAL? L,PLAYER /?CND16
|
|
ICALL2 ON-IN,L
|
|
?CND16: PRINTI " emits an answering flash, and the threat from the sky subsides"
|
|
?CND11: PRINT PTAB
|
|
LOC MINX >L
|
|
ZERO? L /?CND20
|
|
FSET? MINX,LIVING \?CND20
|
|
LOC L >LL
|
|
EQUAL? PLAYER,L,LL \?CCL26
|
|
MOVE MINX,HERE
|
|
ICALL2 CTHE-PRINT,MINX
|
|
PRINTI " struggles out of "
|
|
EQUAL? L,PLAYER \?CCL29
|
|
PRINTI "your arms"
|
|
JUMP ?CND27
|
|
?CCL5: FSET IMPS,MUNGED
|
|
PRINT PERIOD
|
|
RETURN 2
|
|
?CCL29: ICALL2 THE-PRINT,L
|
|
?CND27: PRINTI " and"
|
|
PRINT STR?727
|
|
JUMP ?CND20
|
|
?CCL26: EQUAL? HERE,L \?CND20
|
|
ICALL2 CTHE-PRINT,MINX
|
|
PRINT STR?727
|
|
?CND20: FSET CORBIES,SEEN
|
|
ICALL2 QUEUE,I-CORBIES
|
|
FSET? ROSE-ROOM,LOCATION /?CND31
|
|
FSET ROSE-ROOM,LOCATION
|
|
PRINTI "As you set out across "
|
|
ICALL2 THE-PRINT,PRAIRIE
|
|
PRINTR ", the colors around you seem to smudge and fade. Soon the entire landscape is rendered in shades of gray."
|
|
?CND31: PRINTR "All color drains from the landscape."
|
|
|
|
|
|
.FUNCT PLAIN-CONTEXT?,CONTEXT,TBL,X
|
|
EQUAL? CONTEXT,M-ENTERING \?CCL3
|
|
FSET? HERE,TOUCHED /?CND4
|
|
DLESS? 'PLAIN-COUNT,1 \?CCL8
|
|
SET 'FARM-ROOM,HERE
|
|
ICALL NEW-EXIT?,FARM-ROOM,P?SOUTH,SORRY-EXIT,STR?728,FALSE-VALUE
|
|
FSET? FARMHOUSE,NODESC /?CND4
|
|
ICALL1 DROP-FARM
|
|
JUMP ?CND4
|
|
?CCL8: EQUAL? PLAIN-COUNT,5 \?CCL12
|
|
MOVE SCARE1,HERE
|
|
JUMP ?CND4
|
|
?CCL12: EQUAL? PLAIN-COUNT,4 \?CCL14
|
|
MOVE CLOVER,HERE
|
|
JUMP ?CND4
|
|
?CCL14: EQUAL? PLAIN-COUNT,3 \?CCL16
|
|
MOVE SCARE2,HERE
|
|
JUMP ?CND4
|
|
?CCL16: EQUAL? PLAIN-COUNT,2 \?CCL18
|
|
ICALL NEXT-SCROLL?,DESCRIBE-PLAIN-SCROLL,HERE
|
|
JUMP ?CND4
|
|
?CCL18: EQUAL? PLAIN-COUNT,1 \?CND4
|
|
MOVE SCARE3,HERE
|
|
?CND4: FSET CORBIES,SEEN
|
|
FSET? FARMHOUSE,SEEN /FALSE
|
|
FSET? FARMHOUSE,NODESC /FALSE
|
|
EQUAL? HERE,FARM-ROOM \FALSE
|
|
SET 'STORM-TIMER,5
|
|
ICALL2 QUEUE,I-TWISTER
|
|
RFALSE
|
|
?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
FSET? FARMHOUSE,SEEN /?CND26
|
|
FSET? FARMHOUSE,NODESC /?CND26
|
|
EQUAL? HERE,FARM-ROOM \?CND26
|
|
EQUAL? STORM-TIMER,3 \?CCL32
|
|
PRINTI "A sudden"
|
|
PRINT STR?707
|
|
RETURN 2
|
|
?CCL32: EQUAL? P-WALK-DIR,P?SOUTH,P?IN \?CCL36
|
|
IN? TWISTER,HERE \FALSE
|
|
MOVE TWISTER,IN-FARM
|
|
PRINTR "You fight your way through the rising gale."
|
|
?CCL36: EQUAL? STORM-TIMER,0,4,5 \?CCL40
|
|
SET 'STORM-TIMER,0
|
|
ICALL2 DEQUEUE,I-TWISTER
|
|
?CND26: FSET? HERE,SEEN /?CND43
|
|
EQUAL? P-WALK-DIR,P?WEST \?PRD47
|
|
EQUAL? HERE,WEST-EXIT /?CCL45
|
|
?PRD47: EQUAL? P-WALK-DIR,P?EAST \?CND43
|
|
EQUAL? HERE,EAST-EXIT \?CND43
|
|
?CCL45: PRINTR "Color slowly returns to the landscape."
|
|
?CCL40: SET 'P-WALK-DIR,FALSE-VALUE
|
|
PRINTI "The rising gale makes it impossible to walk that way."
|
|
CRLF
|
|
RETURN 2
|
|
?CND43: EQUAL? P-WALK-DIR,P?NORTH \FALSE
|
|
GETP HERE,P-WALK-DIR >X
|
|
ZERO? X /FALSE
|
|
GET X,XROOM
|
|
EQUAL? STACK,ROSE-ROOM \FALSE
|
|
ZERO? BADKEY /?CND54
|
|
IN? BADKEY,PLAYER \?CND54
|
|
PRINTI "Screeching with fear, "
|
|
ICALL2 THE-PRINT,CORBIES
|
|
PRINTR " swoop out of your way."
|
|
?CND54: PRINTI "A screeching wall of corbies blocks the way."
|
|
CRLF
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT PLAIN0-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTI "The landscape is mottled with rocky terrain and windswept tracts of g"
|
|
ICALL1 GOLD-GRAY
|
|
PRINTI " grass"
|
|
ICALL1 MENTION-CORBIES
|
|
RTRUE
|
|
?CND1: CALL2 PLAIN-CONTEXT?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT PLAIN1-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTC 71
|
|
ICALL1 GOLD-GRAY
|
|
PRINTI " hills of grass sweep back and forth in the storm-driven wind"
|
|
ICALL1 MENTION-CORBIES
|
|
RTRUE
|
|
?CND1: CALL2 PLAIN-CONTEXT?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT PLAIN2-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTI "A sky black with thunderclouds looms over g"
|
|
ICALL1 GOLD-GRAY
|
|
PRINTI " acres of windswept grass"
|
|
ICALL1 MENTION-CORBIES
|
|
RTRUE
|
|
?CND1: CALL2 PLAIN-CONTEXT?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT PLAIN3-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTI "Flashes of lightning light your path between the barren rocks and g"
|
|
ICALL1 GOLD-GRAY
|
|
PRINTI " patches of grass"
|
|
ICALL1 MENTION-CORBIES
|
|
RTRUE
|
|
?CND1: CALL2 PLAIN-CONTEXT?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT PLAIN4-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTI "The windblown grass stretches in every "
|
|
PRINTD INTDIR
|
|
PRINT STR?725
|
|
ICALL1 MENTION-CORBIES
|
|
RTRUE
|
|
?CND1: CALL2 PLAIN-CONTEXT?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT PLAIN5-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTC 71
|
|
ICALL1 GOLD-GRAY
|
|
PRINTI " tracts of windswept grass sway to and fro under the dark, stormy sky"
|
|
ICALL1 MENTION-CORBIES
|
|
RTRUE
|
|
?CND1: CALL2 PLAIN-CONTEXT?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT DESCRIBE-FROTZEN,OBJ
|
|
PRINTI "The G"
|
|
ICALL1 GOLD-GRAY
|
|
PRINTI " Fields of Frotzen"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GOLD-GRAY
|
|
FSET? HERE,SEEN \?CND1
|
|
PRINTI "olden"
|
|
RTRUE
|
|
?CND1: PRINTI "ray"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DESCRIBE-FARM-ROOM,OBJ
|
|
FSET? FARMHOUSE,SEEN \?CND1
|
|
PRINTI "Vacant Lot"
|
|
RTRUE
|
|
?CND1: PRINTI "Farmyard"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MENTION-CORBIES,TBL
|
|
EQUAL? HERE,FARM-ROOM \?CND1
|
|
IN? TWISTER,HERE \?CND1
|
|
PRINT PERIOD
|
|
RFALSE
|
|
?CND1: PRINTI ". "
|
|
RANDOM 100
|
|
LESS? 50,STACK /?CCL7
|
|
PRINTI "Corbies are "
|
|
JUMP ?CND5
|
|
?CCL7: PRINTI "A flock of corbies is "
|
|
?CND5: PRINTI "circling "
|
|
GETP HERE,P?NORTH >TBL
|
|
ZERO? TBL /?CND8
|
|
GET TBL,XROOM
|
|
EQUAL? STACK,ROSE-ROOM \?CND8
|
|
PRINTI "a point on "
|
|
ICALL2 THE-PRINT,GROUND
|
|
PRINTR " not far to the north."
|
|
?CND8: PRINTR "in tight, menacing circles overhead."
|
|
|
|
|
|
.FUNCT DESCRIBE-ROSE-ROOM,OBJ
|
|
PRINTC 71
|
|
FSET? ROSE-ROOM,SEEN \?CCL3
|
|
PRINTI "olden"
|
|
JUMP ?CND1
|
|
?CCL3: PRINTI "ray"
|
|
?CND1: PRINTI " Grotto"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ROSE-ROOM-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "You're in the grotto."
|
|
|
|
|
|
.FUNCT DESCRIBE-IN-FARM,OBJ
|
|
PRINTD OBJ
|
|
PRINTI ", in a "
|
|
PRINTD TWISTER
|
|
RTRUE
|
|
|
|
|
|
.FUNCT IN-FARM-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTR "This tiny shack looks much as you'd expect after falling thousands of feet. No two of the splintered walls are parallel. The floor and ceiling are likewise skewed at crazy angles."
|
|
?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?NORTH,P?OUT \FALSE
|
|
FSET? FARM-DOOR,OPENED \FALSE
|
|
IN? TWISTER,IN-FARM \?CCL12
|
|
FCLEAR FARM-DOOR,OPENED
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
ICALL2 ITALICIZE,STR?605
|
|
PRINTI "! The wind slams "
|
|
ICALL2 THE-PRINT,FARM-DOOR
|
|
PRINTI " in your face."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL12: IN? FCROWD,IN-FROON \FALSE
|
|
ICALL2 CTHE-PRINT,FCROWD
|
|
PRINTI " cheers louder as you leave "
|
|
ICALL2 THE-PRINT,FARMHOUSE
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT IN-GURTH-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTR "Both sides of this busy thoroughfare are crammed with stalls. Hawkers shout and gesticulate at the passersby, their hoarse obscenities mingling with the smell of sweat and burning food."
|
|
?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
ZERO? P-WALK-DIR /FALSE
|
|
FSET? CAKE,NODESC \FALSE
|
|
FCLEAR CAKE,NODESC
|
|
MOVE CAKE,HERE
|
|
SET 'P-IT-OBJECT,CAKE
|
|
ICALL QUEUE,I-CAKE,3
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
PRINTI """Oof!""
|
|
The street hawker you just bumped into glowers. ""Watch where I'm goin', will ya!"" You clumsily help to pick up her spilled wares; she stomps away without a word of thanks.
|
|
As you dust yourself off, you notice something"
|
|
PRINT STR?498
|
|
CRLF
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT AT-MAGICK-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTI "This is the safer end of Gurth City's notorious market district. Shop windows are mostly unbroken here, and the cobblestones don't stick to your shoes"
|
|
PRINT PTAB
|
|
PRINTI "The gabled facade of Ye Olde Magick Shoppe lends an air of ersatz charm to the west side of the street"
|
|
FSET? MAGICK-DOOR,OPENED \?CND4
|
|
PRINTI ". The front door is wide open"
|
|
?CND4: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT IN-MAGICK-F,CONTEXT,CNT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "A lone black candle obscures the proportions of this windowless shop. The scent of tallow is strong, heightening the aura of arcane mystery"
|
|
PRINT PTAB
|
|
PRINTI "Your eyes are irresistibly drawn to a "
|
|
ICALL2 SHOP-DOOR,MAGICK-DOOR
|
|
ICALL2 LOOK-ON-CASE,ON-MCASE
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
FSET? MCASE,SEEN /?CND6
|
|
FSET MCASE,SEEN
|
|
?PRG8: CALL2 NEXT-POTION?,MCASE
|
|
PUTP STACK,P?VALUE,24
|
|
IGRTR? 'CNT,2 \?PRG8
|
|
?CND6: ICALL1 GET-OWOMAN-AND-CURTAIN
|
|
RFALSE
|
|
|
|
|
|
.FUNCT NGURTH-F,CONTEXT,X,WRD
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "The path before you leads away from the "
|
|
EQUAL? P-WALK-DIR,P?NE \?CCL6
|
|
PRINT STR?730
|
|
SET 'WRD,W?SOUTH
|
|
SET 'X,STR?731
|
|
JUMP ?CND4
|
|
?CCL6: PRINT STR?731
|
|
SET 'WRD,W?NORTH
|
|
SET 'X,STR?730
|
|
?CND4: PRINTI ", meandering across the hills towards the "
|
|
PRINTB WRD
|
|
PRINTI "ernmost "
|
|
PRINT X
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?SOUTH \FALSE
|
|
ICALL1 ENTER-CITY
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TWILIGHT-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTI "An ancient oak tree turns the day to twilight beneath the impressive sprawl of its branches"
|
|
ICALL2 LOOK-UNDER-OAK,OAK3
|
|
CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FOREST-ROOM-F,CONTEXT,TBL
|
|
EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
FSET? HERE,TOUCHED /FALSE
|
|
FSET? BOULDER,NODESC \?CCL7
|
|
CALL LAST-ROOM-IN?,FOREST-ROOMS,2
|
|
ZERO? STACK /?CCL7
|
|
FCLEAR BOULDER,NODESC
|
|
MOVE BOULDER,HERE
|
|
PUTP HERE,P?SDESC,DESCRIBE-POOL
|
|
PUTP HERE,P?ACTION,AT-POOL-F
|
|
RFALSE
|
|
?CCL7: CALL2 PICK-ONE,FOREST-DESCS >TBL
|
|
GET TBL,0
|
|
PUTP HERE,P?SDESC,STACK
|
|
GET TBL,1
|
|
PUTP HERE,P?ACTION,STACK
|
|
RFALSE
|
|
|
|
|
|
.FUNCT OPEN-POOL
|
|
ICALL REPLACE-SYN?,BOULDER,W?YOUTH,W?ZZZP
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
SET 'OLD-HERE,FALSE-VALUE
|
|
MOVE POOL,HERE
|
|
SET 'P-IT-OBJECT,POOL
|
|
ICALL1 SETUP-POND-EXITS
|
|
PRINTR """Behold the Pool of Eternal Youth.""
|
|
The hollow voice fades in the air as beams of sunlight converge on the clearing, forming a shallow pool of radiance that flows and ripples like a golden liquid."
|
|
|
|
|
|
.FUNCT SETUP-POND-EXITS
|
|
ICALL NEW-EXIT?,HERE,P?IN,1153,ENTER-POOL
|
|
ICALL NEW-EXIT?,HERE,P?OUT,SORRY-EXIT,STR?732
|
|
RFALSE
|
|
|
|
|
|
.FUNCT DESCRIBE-POOL,OBJ
|
|
PRINTI "Clearing"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT AT-POOL-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTI "Soft rays of sunlight filter down through the overhanging trees"
|
|
IN? POOL,HERE \?CND4
|
|
PRINTI ", forming a circular "
|
|
PRINTD POOL
|
|
IN? PLAYER,POOL /?CND4
|
|
CALL2 SEE-ANYTHING-IN?,POOL
|
|
ZERO? STACK /?CND4
|
|
PRINTI ". You can make out "
|
|
ICALL2 CONTENTS,POOL
|
|
PRINTI " enveloped within"
|
|
?CND4: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DESCRIBE-F1,OBJ
|
|
PRINTI "Birches"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT F1-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "A graceful stand of birches has taken root amid the tangle of roots and underbrush."
|
|
|
|
|
|
.FUNCT DESCRIBE-F2,OBJ
|
|
PRINTI "Catalpa"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT F2-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "Your head brushes past the blossoms of a stately old catalpa tree, home of many an unseen songbird."
|
|
|
|
|
|
.FUNCT DESCRIBE-F3,OBJ
|
|
PRINTI "Pine Grove"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT F3-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "A carpet of amber softens your footsteps between the rows of tall, sweet-smelling pines."
|
|
|
|
|
|
.FUNCT DESCRIBE-F4,OBJ
|
|
PRINTI "Eerie Copse"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT F4-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "A nameless blight has twisted the surrounding elms into sinister forms that creak and groan in the dry breeze."
|
|
|
|
|
|
.FUNCT DESCRIBE-F5,OBJ
|
|
PRINTI "Willow"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT F5-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "The limbs of an old, melancholy willow sway to and fro in the whispering breeze."
|
|
|
|
|
|
.FUNCT DESCRIBE-F6,OBJ
|
|
PRINTI "Talons"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT F6-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "The gnarled branch of an ironwood tree looms above the path like the talons of a hawk descending."
|
|
|
|
|
|
.FUNCT SFORD-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
ICALL2 SEE-BRIDGE,W?SOUTH
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?NORTH \FALSE
|
|
SET 'BRIDGE-DIR,STR?733
|
|
SET 'ZTOP,1
|
|
SET 'ZBOT,2
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SEE-BRIDGE,WRD
|
|
PRINTI "You're shivering on the "
|
|
PRINTB WRD
|
|
PRINTI " edge of a broad chasm. Clammy mists chill the air, and "
|
|
ICALL2 THE-PRINT,GROUND
|
|
PRINTI " trembles with the roar of a cataract"
|
|
PRINT PTAB
|
|
PRINTI "Your heart sinks as you inspect the crude rope bridge spanning the chasm. A notice hangs near "
|
|
ICALL2 THE-PRINT,ZBRIDGE
|
|
PRINTR "'s entrance."
|
|
|
|
|
|
.FUNCT NFORD-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
ICALL2 SEE-BRIDGE,W?NORTH
|
|
PRINT TAB
|
|
PRINTI "The ruins of an ancient city lie not far to the "
|
|
PRINTB W?NORTHEAST
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?SOUTH \FALSE
|
|
SET 'BRIDGE-DIR,STR?734
|
|
SET 'ZTOP,1
|
|
SET 'ZBOT,2
|
|
RFALSE
|
|
|
|
|
|
.FUNCT DESCRIBE-ON-BRIDGE,OBJ
|
|
EQUAL? ZBOT,2 \?CCL3
|
|
PRINTI "Halfway"
|
|
JUMP ?CND1
|
|
?CCL3: EQUAL? ZBOT,-1 \?CCL5
|
|
PRINTI "Immeasurably Close"
|
|
JUMP ?CND1
|
|
?CCL5: EQUAL? ZBOT,HIGHEST-ZBOT \?CND6
|
|
LESS? ZTOP,16383 \?CND6
|
|
PRINTI "About "
|
|
?CND6: PRINTN ZTOP
|
|
PRINTC 47
|
|
PRINTN ZBOT
|
|
PRINTI " of the Way"
|
|
?CND1: ZERO? BRIDGE-DIR \?CND10
|
|
PRINTI " Across"
|
|
RTRUE
|
|
?CND10: PRINTI " to the "
|
|
PRINT BRIDGE-DIR
|
|
PRINTI " End"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ON-BRIDGE-F,CONTEXT,X
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "The entire bridge jerks and sways as you struggle to keep your footing on the slippery ropes. "
|
|
CALL2 PICK-NEXT,BRIDGE-TYPES
|
|
PRINT STACK
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL5
|
|
EQUAL? ZTOP,1 \FALSE
|
|
EQUAL? ZBOT,2 \FALSE
|
|
FSET? PARASOL,NODESC \FALSE
|
|
FSET? PARASOL,TOUCHED /FALSE
|
|
FCLEAR PARASOL,NODESC
|
|
MOVE PARASOL,ON-BRIDGE
|
|
RFALSE
|
|
?CCL5: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?NORTH,P?SOUTH \FALSE
|
|
IN? PARASOL,ON-BRIDGE \?CND14
|
|
REMOVE PARASOL
|
|
FSET PARASOL,NODESC
|
|
?CND14: ZERO? BRIDGE-DIR /?CTR19
|
|
EQUAL? P-WALK-DIR,P?NORTH \?PRD23
|
|
EQUAL? BRIDGE-DIR,STR?733 /?CTR19
|
|
?PRD23: EQUAL? P-WALK-DIR,P?SOUTH \?CCL20
|
|
EQUAL? BRIDGE-DIR,STR?734 \?CCL20
|
|
?CTR19: EQUAL? ZBOT,HIGHEST-ZBOT,-1 \?CCL30
|
|
SET 'ZBOT,-1
|
|
JUMP ?CND18
|
|
?CCL30: ADD ZTOP,ZBOT >ZTOP
|
|
ADD ZBOT,ZBOT >ZBOT
|
|
JUMP ?CND18
|
|
?CCL20: EQUAL? ZBOT,HIGHEST-ZBOT,-1 \?CCL32
|
|
SET 'BRIDGE-DIR,0
|
|
SET 'ZBOT,2
|
|
SET 'ZTOP,1
|
|
JUMP ?CND18
|
|
?CCL32: ADD ZBOT,ZBOT >ZBOT
|
|
SUB ZBOT,ZTOP >ZTOP
|
|
?CND18: SET 'BRIDGE-DIR,STR?733
|
|
EQUAL? P-WALK-DIR,P?SOUTH \FALSE
|
|
SET 'BRIDGE-DIR,STR?734
|
|
RFALSE
|
|
|
|
|
|
.FUNCT JUMP-OFF-BRIDGE,OBJ,NXT,X
|
|
PRINTI "You leap off the "
|
|
EQUAL? HERE,ON-BRIDGE \?CCL3
|
|
PRINTI "slippery ropes"
|
|
JUMP ?CND1
|
|
?CCL3: PRINTI "chasm's edge"
|
|
?CND1: PRINT AND
|
|
IN? PARASOL,PLAYER \?CND4
|
|
FSET? PARASOL,OPENED \?CND4
|
|
FSET? PARASOL,MUNGED /?CND4
|
|
ICALL1 PCLEAR
|
|
PRINTI "drift down towards the raging water"
|
|
PRINT PTAB
|
|
ICALL2 ITALICIZE,STR?736
|
|
PRINTI "! A gust of spray"
|
|
ICALL1 TEARS-PARASOL
|
|
PRINTI ", and you hit the freezing water..."
|
|
FIRST? PLAYER >OBJ \?CND9
|
|
?PRG11: NEXT? OBJ >NXT /?BOGUS13
|
|
?BOGUS13: FSET? OBJ,WORN /?CND14
|
|
FSET? OBJ,TAKEABLE \?CND14
|
|
MOVE OBJ,AT-BROOK
|
|
FCLEAR OBJ,WIELDED
|
|
EQUAL? OBJ,MINX \?CND14
|
|
FSET? OBJ,LIVING \?CND14
|
|
ICALL1 KILL-MINX
|
|
?CND14: SET 'OBJ,NXT
|
|
ZERO? OBJ \?PRG11
|
|
?CND9: ICALL1 REGAIN-SENSES
|
|
FCLEAR AT-BROOK,TOUCHED
|
|
ICALL2 GOTO,AT-BROOK
|
|
GET STATS,ENDURANCE >X
|
|
GRTR? X,1 \FALSE
|
|
ZERO? AUTO /?CND25
|
|
ICALL1 BMODE-ON
|
|
?CND25: SUB X,1
|
|
SUB 0,STACK
|
|
ICALL2 UPDATE-STAT,STACK
|
|
RFALSE
|
|
?CND4: PRINTI "plummet to a cold, violent death in the raging waters"
|
|
ICALL1 JIGS-UP
|
|
RFALSE
|
|
|
|
|
|
.FUNCT ARCH-VOID-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTI "A timeless, dimensionless void stretches be"
|
|
ZERO? ATIME \?CND3
|
|
PRINTI "hind you, re"
|
|
PRINT STR?738
|
|
PRINTR "past."
|
|
?CND3: PRINTI "fore you, pro"
|
|
PRINT STR?738
|
|
PRINTR "future."
|
|
?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ARCH1-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTR "Huge dinosaurs feed on unfamiliar vegetation, lumbering against a sky red with the glare of active volcanos."
|
|
?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ARCH2-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTI "The perimeter of this grassy "
|
|
PRINTB W?CLEARING
|
|
PRINTR " is dotted with primitive huts."
|
|
?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ARCH3-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "The spires of a young and arrogant city rise around "
|
|
ICALL2 THE-PRINT,PLAZA
|
|
IN? PCROWD,HERE \?CND4
|
|
PRINTI ", which is filled to capacity with a cheering throng"
|
|
?CND4: PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL7
|
|
MOVE ORATOR,HERE
|
|
ICALL2 SEE-CHARACTER,ORATOR
|
|
MOVE PCROWD,HERE
|
|
SET 'P-THEM-OBJECT,PCROWD
|
|
ICALL2 QUEUE,I-ARCH3
|
|
JUMP ?CND1
|
|
?CCL7: EQUAL? CONTEXT,M-EXIT \?CND1
|
|
IN? ORATOR,HERE \?CND9
|
|
REMOVE ORATOR
|
|
?CND9: IN? PCROWD,HERE \?CND11
|
|
REMOVE PCROWD
|
|
?CND11: ICALL2 DEQUEUE,I-ARCH3
|
|
?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ARCH4-F,CONTEXT,V,NEWIQ,NAC,OBJ,NXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "A mighty conflagration obscures the dying city in a pall of smoke. Motionless bodies are strewn around "
|
|
ICALL2 THE-PRINT,ARCH
|
|
PRINT PTAB
|
|
PRINTI "Battle trenches zigzag across the plaza like open wounds. The one nearest you is "
|
|
IN? HORSE,TRENCH \?CCL6
|
|
PRINTI "blocked by the body of "
|
|
ICALL2 PRINTA,HORSE
|
|
JUMP ?CND4
|
|
?CCL6: CALL2 SEE-ANYTHING-IN?,TRENCH
|
|
ZERO? STACK /?CCL8
|
|
PRINTI "sheltering "
|
|
ICALL2 CONTENTS,TRENCH
|
|
JUMP ?CND4
|
|
?CCL8: PRINTI "unoccupied"
|
|
?CND4: PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL10
|
|
ICALL2 REMOVE-ALL,TRENCH
|
|
FSET TRENCH,NODESC
|
|
MOVE TRENCH,HERE
|
|
FSET TRENCH,OPENED
|
|
ICALL REPLACE-SYN?,TRENCH,W?MINXHOLE,W?ZZZP
|
|
ICALL REPLACE-ADJ?,TRENCH,W?MINX,W?ZZZP
|
|
ICALL2 QUEUE,I-ARCH4
|
|
IN? HELM,PRINCE /FALSE
|
|
CALL2 VISIBLE?,HELM
|
|
ZERO? STACK /?CND13
|
|
INC 'V
|
|
IN? HELM,PLAYER \?CND13
|
|
FSET? HELM,WORN \?CND13
|
|
INC 'NAC
|
|
FSET? HELM,NEUTRALIZED /?CND13
|
|
INC 'NEWIQ
|
|
?CND13: MOVE HELM,PRINCE
|
|
GETP HELM,P?DNUM
|
|
PUTP HELM,P?VALUE,STACK
|
|
FCLEAR HELM,WORN
|
|
FCLEAR HELM,WIELDED
|
|
ZERO? V /FALSE
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
ICALL2 CTHE-PRINT,HELM
|
|
PRINTI " abruptly fades from view."
|
|
CRLF
|
|
ZERO? NAC /?CND23
|
|
GETP HELM,P?EFFECT
|
|
SUB 0,STACK
|
|
ICALL UPDATE-STAT,STACK,ARMOR-CLASS
|
|
?CND23: ZERO? NEWIQ /TRUE
|
|
ICALL1 NORMAL-IQ
|
|
RTRUE
|
|
?CCL10: EQUAL? CONTEXT,M-EXIT \?CND1
|
|
ICALL2 DEQUEUE,I-ARCH4
|
|
FIRST? TRENCH >OBJ \?CND28
|
|
?PRG30: NEXT? OBJ >NXT /?BOGUS32
|
|
?BOGUS32: EQUAL? OBJ,TEAR,DIAMOND,PHASE /?CND33
|
|
EQUAL? OBJ,TRUFFLE \?CCL36
|
|
FSET? OBJ,MUNGED /?CND33
|
|
REMOVE OBJ
|
|
JUMP ?CND33
|
|
?CCL36: FSET? OBJ,FERRIC /?CND33
|
|
REMOVE OBJ
|
|
?CND33: SET 'OBJ,NXT
|
|
ZERO? OBJ \?PRG30
|
|
?CND28: REMOVE TRENCH
|
|
FCLEAR TRENCH,OPENED
|
|
REMOVE BHORSE
|
|
FCLEAR PRINCE,SLEEPING
|
|
FSET PRINCE,NODESC
|
|
MOVE PRINCE,HORSE
|
|
PUTP PRINCE,P?ACTION,PRINCE-F
|
|
ICALL REPLACE-SYN?,PRINCE,W?HEAD,W?ZZZP
|
|
ICALL REPLACE-SYN?,PRINCE,W?BODY,W?ZZZP
|
|
ICALL REPLACE-SYN?,PRINCE,W?CORPSE,W?ZZZP
|
|
ICALL REPLACE-ADJ?,PRINCE,W?DEAD,W?ZZZP
|
|
REMOVE HORSE
|
|
REMOVE DEAD-HORSE
|
|
FSET HORSE,LIVING
|
|
FCLEAR HORSE,NODESC
|
|
?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ARCH5-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTR "Time has not yet softened the layers of dirt and rubble obscuring the remains of the plaza."
|
|
?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT HANDLE-ARCH-ROOMS?,CONTEXT,X,OBJ,NXT
|
|
EQUAL? CONTEXT,M-EXIT \?CCL3
|
|
GETB ARCH-ROOMS,PRESENT
|
|
EQUAL? HERE,STACK /FALSE
|
|
FIRST? HERE >OBJ \FALSE
|
|
?PRG8: NEXT? OBJ >NXT /?BOGUS10
|
|
?BOGUS10: FSET? OBJ,TAKEABLE \?CND11
|
|
REMOVE OBJ
|
|
?CND11: SET 'OBJ,NXT
|
|
ZERO? OBJ \?PRG8
|
|
RFALSE
|
|
?CCL3: EQUAL? CONTEXT,M-BEG \FALSE
|
|
EQUAL? ATIME,PRESENT /FALSE
|
|
INTBL? PRSA,TALKVERBS,NTVERBS >X \FALSE
|
|
PRINTI "Your voice has the faint, wistful quality of words "
|
|
LESS? ATIME,PRESENT \?CCL23
|
|
PRINTI "yet to be spoken"
|
|
JUMP ?CND21
|
|
?CCL23: PRINTI "spoken long ago"
|
|
?CND21: CALL1 QCONTEXT-GOOD? >X
|
|
ZERO? X /?CND24
|
|
PRINTI "; "
|
|
ICALL2 THE-PRINT,X
|
|
PRINTI " seems not to hear"
|
|
?CND24: PRINT PERIOD
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT ARCH9-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTR "Ages of windblown dust lie hardened upon the frozen earth. The air is touched with an ominous arctic chill."
|
|
?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ARCH10-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTR "The last traces of the plaza are lost beneath an impenetrable layer of glacial ice."
|
|
?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ARCH11-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTR "Strange mechanisms of metal and glass zoom across a rugged landscape strewn with glacial boulders."
|
|
?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ARCH12-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Patient centuries have eroded much of the topsoil from the landscape. Loose, charred earth stretches away in every "
|
|
PRINTD INTDIR
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-EXIT \?CND1
|
|
IN? TRENCH,HERE \?CND1
|
|
FSET TRENCH,NODESC
|
|
FCLEAR TRENCH,OPENED
|
|
REMOVE TRENCH
|
|
?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT TIMESHIFT,X
|
|
FSET? ARCH,SEEN \?CCL2
|
|
EQUAL? P-WALK-DIR,P?NORTH \?PRD5
|
|
EQUAL? ATIME,MAX-ATIME /?CCL2
|
|
?PRD5: EQUAL? P-WALK-DIR,P?SOUTH \?CND1
|
|
ZERO? ATIME \?CND1
|
|
?CCL2: PRINTI "The weight of centuries restricts your motion."
|
|
CRLF
|
|
RFALSE
|
|
?CND1: GETP HERE,P?ACTION
|
|
CALL STACK,M-EXIT >X
|
|
ZERO? X /?CND10
|
|
EQUAL? X,M-FATAL /FALSE
|
|
ZERO? VERBOSITY /?CND10
|
|
CRLF
|
|
?CND10: EQUAL? P-WALK-DIR,P?NORTH \?CCL18
|
|
INC 'ATIME
|
|
JUMP ?CND16
|
|
?CCL18: DEC 'ATIME
|
|
?CND16: GETB ARCH-ROOMS,ATIME >HERE
|
|
MOVE ARCH,HERE
|
|
SET 'OLD-HERE,FALSE-VALUE
|
|
SET 'ARCHTIMER,0
|
|
GETP HERE,P?ACTION
|
|
ICALL STACK,M-ENTERING
|
|
FSET? LIGHTSHOW,TOUCHED \?CCL21
|
|
PRINTI "You slide "
|
|
JUMP ?CND19
|
|
?CCL21: PRINTI "The merest effort of will is enough to slide you "
|
|
?CND19: EQUAL? P-WALK-DIR,P?NORTH \?CCL24
|
|
PRINTB W?FOR
|
|
JUMP ?CND22
|
|
?CCL24: PRINTB W?BACK
|
|
?CND22: PRINTI "ward through "
|
|
ICALL2 THE-PRINT,LIGHTSHOW
|
|
FSET? LIGHTSHOW,TOUCHED /?CND25
|
|
FSET LIGHTSHOW,TOUCHED
|
|
PRINTI ", guided by the Magick of the arch"
|
|
?CND25: ICALL1 RELOOK
|
|
ZERO? GLASS-TOP /FALSE
|
|
ICALL1 I-GLASS
|
|
RFALSE
|
|
|
|
|
|
.FUNCT IN-LAIR-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "The plunder of many kingdoms lies in a vast, sparkling mound of the type often employed by dragons as a mattress. Luckily, there are no dragons to be seen"
|
|
IN? URGRUE,IN-LAIR \?CND4
|
|
PRINTI "; but the southeast corner of the chamber is obscured by a curious shadow"
|
|
?CND4: PRINT PERIOD
|
|
CALL2 SEE-ANYTHING-IN?,HEAP
|
|
ZERO? STACK /?CND6
|
|
PRINT TAB
|
|
PRINT YOU-SEE
|
|
ICALL2 CONTENTS,HEAP
|
|
PRINTI " lying among the treasures."
|
|
CRLF
|
|
?CND6: ICALL1 MENTION-BEAM?
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL9
|
|
IN? GRUE,HERE \?CND10
|
|
REMOVE GRUE
|
|
?CND10: IN? URGRUE,IN-LAIR \FALSE
|
|
FCLEAR URGRUE,SEEN
|
|
FSET URGRUE,SURPRISED
|
|
SET 'P-HIM-OBJECT,URGRUE
|
|
SET 'LAST-MONSTER,URGRUE
|
|
ICALL2 QUEUE,I-URGRUE
|
|
RFALSE
|
|
?CCL9: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
IN? URGRUE,IN-LAIR \FALSE
|
|
ICALL2 DEQUEUE,I-URGRUE
|
|
PRINTC 34
|
|
CALL2 PICK-NEXT,URGRUE-BYES
|
|
PRINT STACK
|
|
PRINTI """ chuckles "
|
|
ICALL2 THE-PRINT,URGRUE
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT IN-FROON-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "Lullabies sing of places such as this. Songbirds swoop and glide between rows of dainty cottages; a rainbow of flowers lines the sun-dappled street, filling the air with a gentle fragrance"
|
|
PRINT PTAB
|
|
PRINT XTHE
|
|
FSET? FARM-DOOR,OPENED \?CCL6
|
|
PRINTB W?OPEN
|
|
JUMP ?CND4
|
|
?CCL6: PRINTB W?CLOSED
|
|
?CND4: PRINTC SP
|
|
PRINTD FARMHOUSE
|
|
PRINTI " leans askew upon the roadside. Beneath it, you notice what appears to be the heel of "
|
|
ICALL2 PRINTA,BOOT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL8
|
|
IN? MAYOR,IN-FROON \?CND9
|
|
SET 'P-HIM-OBJECT,MAYOR
|
|
?CND9: IN? FCROWD,IN-FROON \FALSE
|
|
SET 'P-THEM-OBJECT,FCROWD
|
|
RFALSE
|
|
?CCL8: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,P?SOUTH,P?IN \FALSE
|
|
FSET? FARM-DOOR,OPENED \FALSE
|
|
IN? MAYOR,IN-FROON \FALSE
|
|
GRTR? FSCRIPT,5 \FALSE
|
|
ICALL1 BYE-MAYOR
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT INNARDS-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "This long, low chamber is shaped much like the gizzard of a crocodile. Trickles of fetid moisture feed the moss crusting the walls and ceiling."
|
|
|
|
|
|
.FUNCT DESCRIBE-APLANE,OBJ
|
|
PRINTD OBJ
|
|
IN? PLAYER,OBJ \TRUE
|
|
PRINTI ", Above "
|
|
GET OVERS,ABOVE
|
|
PRINT STACK
|
|
RTRUE
|
|
|
|
|
|
.FUNCT APLANE-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINT XTHE
|
|
EQUAL? ABOVE,OPLAIN \?CCL6
|
|
PRINTI "thunderclouds are "
|
|
JUMP ?CND4
|
|
?CCL6: PRINTI "landscape is "
|
|
?CND4: PRINTI "compressed into a flat optical plane, stretching away below your feet in every "
|
|
PRINTD INTDIR
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
ICALL1 NEXT-OVER
|
|
RFALSE
|
|
|
|
|
|
.FUNCT DESCRIBE-IN-SKY,OBJ
|
|
PRINTI "Over "
|
|
GET OVERS,ABOVE
|
|
PRINT STACK
|
|
RTRUE
|
|
|
|
|
|
.FUNCT IN-SKY-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "You're soaring on "
|
|
ICALL2 PRINTA,DACT
|
|
PRINTI "'s back, high above "
|
|
ICALL2 THE-PRINT,GROUND
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
ICALL1 NEXT-OVER
|
|
RFALSE
|
|
|
|
|
|
.FUNCT IN-GARDEN-F,CONTEXT,X
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "You're in a private garden, enclosed by the high walls of a castle and guarded by a brooding statue of a brogmoid"
|
|
FSET? BROG,OPENED \?CND4
|
|
PRINTI ". A secret compartment in "
|
|
ICALL2 THE-PRINT,BROG
|
|
PRINTI " is open"
|
|
CALL2 SEE-ANYTHING-IN?,BROG
|
|
ZERO? STACK /?CND4
|
|
PRINTI ", revealing "
|
|
ICALL2 CONTENTS,BROG
|
|
?CND4: PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-ENTERING \?CCL9
|
|
FSET? QUEEN,NODESC \FALSE
|
|
SET 'PTIMER,0
|
|
ICALL2 QUEUE,I-QUEEN
|
|
RFALSE
|
|
?CCL9: EQUAL? CONTEXT,M-EXIT \?CCL13
|
|
IN? QUEEN,IN-GARDEN \?CND14
|
|
REMOVE QUEEN
|
|
IN? MIRROR0,IN-GARDEN \?CND14
|
|
ICALL2 DESTROY-MIRROR,MIRROR0
|
|
ICALL2 DEQUEUE,I-MIRRORS
|
|
?CND14: ICALL2 DEQUEUE,I-QUEEN
|
|
RFALSE
|
|
?CCL13: EQUAL? CONTEXT,M-BEG \FALSE
|
|
IN? QUEEN,IN-GARDEN \FALSE
|
|
INTBL? PRSA,TALKVERBS,NTVERBS >X \FALSE
|
|
ICALL2 APPROACH-QUEEN,STR?656
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT RUIN-ROOM-F,CONTEXT,TBL,X
|
|
EQUAL? CONTEXT,M-ENTERING \FALSE
|
|
FSET? HERE,TOUCHED /FALSE
|
|
FSET? PLAZA,SEEN /?CCL7
|
|
CALL2 LAST-ROOM-IN?,RUIN-ROOMS
|
|
ZERO? STACK /?CCL7
|
|
FSET PLAZA,SEEN
|
|
PUTB ARCH-ROOMS,PRESENT,HERE
|
|
ICALL REPLACE-GLOBAL?,HERE,NULL,PLAZA
|
|
MOVE ARCH,HERE
|
|
PUTP HERE,P?SDESC,DESCRIBE-ARCH7
|
|
PUTP HERE,P?ACTION,ARCH7-F
|
|
ICALL NEW-EXIT?,HERE,P?IN,1153,ENTER-ARCH
|
|
ICALL NEW-EXIT?,HERE,P?OUT,1153,EXIT-ARCH
|
|
RFALSE
|
|
?CCL7: CALL2 PICK-ONE,RUIN-DESCS >TBL
|
|
GET TBL,0
|
|
PUTP HERE,P?SDESC,STACK
|
|
GET TBL,1 >X
|
|
PUTP HERE,P?ACTION,X
|
|
EQUAL? X,RD3-F \FALSE
|
|
MOVE WEEDS2,HERE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT DESCRIBE-ARCH7,OBJ
|
|
PRINTI "Plaza"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ARCH7-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \?CND1
|
|
PRINTR "This vast expanse may have served as a public meetingplace in centuries long past. Waves of heat rise from the stone pavement underfoot."
|
|
?CND1: CALL2 HANDLE-ARCH-ROOMS?,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT DESCRIBE-RD0,OBJ
|
|
PRINTI "Courtyard"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RD0-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "Tall pillars of stone once enclosed this circular courtyard. The sad remains lie smashed and scattered at your feet."
|
|
|
|
|
|
.FUNCT DESCRIBE-RD1,OBJ
|
|
PRINTI "Aqueduct"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RD1-F,CONTEXT,TBL,DIR
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
SET 'DIR,I-NORTH
|
|
?PRG4: GETB PDIR-LIST,DIR
|
|
GETP HERE,STACK >TBL
|
|
ZERO? TBL /?CND6
|
|
GET TBL,XTYPE
|
|
BAND STACK,65280
|
|
EQUAL? STACK,CONNECT /?REP5
|
|
?CND6: IGRTR? 'DIR,I-NW \?PRG4
|
|
?REP5: PRINTI "A boulevard of cracked marble leads "
|
|
GET DIR-NAMES,DIR
|
|
PRINTB STACK
|
|
PRINTR " beneath the shadows of a crumbling aqueduct."
|
|
|
|
|
|
.FUNCT DESCRIBE-RD2,OBJ
|
|
PRINTI "Debris"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RD2-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "Alleys strewn with centuries of debris wind between the silent ruins."
|
|
|
|
|
|
.FUNCT DESCRIBE-RD3,OBJ
|
|
PRINTI "Glare"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RD3-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "The hard glare of sunlight on the windswept ruins is making your eyes water. Weeds are growing between the cracks in the street."
|
|
|
|
|
|
.FUNCT DESCRIBE-RD4,OBJ
|
|
PRINTI "Dusty Street"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RD4-F,CONTEXT
|
|
EQUAL? CONTEXT,M-LOOK \FALSE
|
|
PRINTR "A dry, cheerless wind blows dust in your face as you regard the broken facades on every side."
|
|
|
|
|
|
.FUNCT IN-SPLENDOR-F,CONTEXT,X
|
|
EQUAL? CONTEXT,M-LOOK \?CCL3
|
|
PRINTI "An unspoiled landscape of rolling meadows, sparkling streams and orchards bursting with fruit stretches away in every direction. You must be alone here; for no "
|
|
FSET? PLAYER,FEMALE \?CND4
|
|
PRINTI "wo"
|
|
?CND4: PRINTR "man could visit this place and leave it voluntarily."
|
|
?CCL3: EQUAL? CONTEXT,M-BEG \?CCL7
|
|
IN? HERD,IN-SPLENDOR \FALSE
|
|
INTBL? PRSA,TALKVERBS,NTVERBS >X \FALSE
|
|
ICALL2 UNICORNS-FLEE,STR?656
|
|
RETURN 2
|
|
?CCL7: EQUAL? CONTEXT,M-EXIT \FALSE
|
|
EQUAL? P-WALK-DIR,FALSE-VALUE,P?IN,P?OUT /FALSE
|
|
EQUAL? P-WALK-DIR,P?UP,P?DOWN /FALSE
|
|
IN? HERD,IN-SPLENDOR \?CND16
|
|
ICALL1 UNICORNS-FLEE
|
|
RETURN 2
|
|
?CND16: ICALL2 I-ARREST,FALSE-VALUE
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT SETUP-CELLAR?
|
|
ICALL2 SCRAMBLE,CELLAR-ROOMS
|
|
ICALL NEXT-WAND?,DESCRIBE-CELLAR-WAND,WC1
|
|
ICALL2 QUEUE,I-RAT
|
|
RTRUE
|
|
|
|
|
|
.FUNCT N-MOOR-S
|
|
CALL1 SETUP-MOOR?
|
|
ZERO? STACK /FALSE
|
|
GETP N-MOOR,P?SOUTH
|
|
GET STACK,XROOM
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SW-MOOR-NE
|
|
CALL1 SETUP-MOOR?
|
|
ZERO? STACK /FALSE
|
|
GETP SW-MOOR,P?NE
|
|
GET STACK,XROOM
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SETUP-MOOR?,RM,RM2,RM3,OBJ,LEN
|
|
ICALL2 SCRAMBLE,MOOR-ROOMS
|
|
CALL1 N-ROOM? >RM
|
|
ICALL NEW-EXIT?,RM,P?NORTH,641,N-MOOR
|
|
ICALL NEW-EXIT?,N-MOOR,P?SOUTH,641,RM
|
|
CALL1 SW-ROOM? >RM
|
|
ICALL NEW-EXIT?,RM,P?SW,645,SW-MOOR
|
|
ICALL NEW-EXIT?,SW-MOOR,P?NE,645,RM
|
|
GETB MOOR-ROOMS,0 >LEN
|
|
RANDOM LEN
|
|
GETB MOOR-ROOMS,STACK >RM
|
|
ICALL NEXT-SCROLL?,DESCRIBE-MOOR-SCROLL,RM
|
|
?PRG1: RANDOM LEN
|
|
GETB MOOR-ROOMS,STACK >RM2
|
|
EQUAL? RM2,RM /?PRG1
|
|
ICALL NEXT-POTION?,RM2,DESCRIBE-MOOR-POTION
|
|
?PRG5: RANDOM LEN
|
|
GETB MOOR-ROOMS,STACK >RM3
|
|
EQUAL? RM3,RM2,RM /?PRG5
|
|
ICALL NEXT-WAND?,DESCRIBE-MOOR-WAND,RM3
|
|
ICALL2 QUEUE,I-VAPOR
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NW-UNDER-SE
|
|
CALL1 SETUP-JUNGLE?
|
|
ZERO? STACK /FALSE
|
|
GETP NW-UNDER,P?SE
|
|
GET STACK,XROOM
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SW-UNDER-NE
|
|
CALL1 SETUP-JUNGLE?
|
|
ZERO? STACK /FALSE
|
|
GETP SW-UNDER,P?NE
|
|
GET STACK,XROOM
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SE-UNDER-NW
|
|
CALL1 SETUP-JUNGLE?
|
|
ZERO? STACK /FALSE
|
|
GETP SE-UNDER,P?NW
|
|
GET STACK,XROOM
|
|
RSTACK
|
|
|
|
|
|
.FUNCT AT-FALLS-N
|
|
CALL1 SETUP-JUNGLE?
|
|
ZERO? STACK /FALSE
|
|
GETP AT-FALLS,P?NORTH
|
|
GET STACK,XROOM
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SETUP-JUNGLE?,RM,RM2,RM3,LEN
|
|
ICALL2 SCRAMBLE,JUNGLE-ROOMS
|
|
CALL1 NW-ROOM? >RM
|
|
ICALL NEW-EXIT?,RM,P?NW,641,NW-UNDER
|
|
ICALL NEW-EXIT?,NW-UNDER,P?SE,641,RM
|
|
CALL1 SE-ROOM? >RM
|
|
ICALL NEW-EXIT?,RM,P?SE,641,SE-UNDER
|
|
ICALL NEW-EXIT?,SE-UNDER,P?NW,641,RM
|
|
CALL1 SW-ROOM? >RM
|
|
ICALL NEW-EXIT?,RM,P?SW,641,SW-UNDER
|
|
ICALL NEW-EXIT?,SW-UNDER,P?NE,641,RM
|
|
CALL1 S-ROOM? >RM
|
|
ICALL NEW-EXIT?,RM,P?SOUTH,645,AT-FALLS
|
|
ICALL NEW-EXIT?,AT-FALLS,P?NORTH,645,RM
|
|
GETB JUNGLE-ROOMS,0 >LEN
|
|
?PRG1: RANDOM LEN
|
|
GETB JUNGLE-ROOMS,STACK >RM
|
|
EQUAL? RM,JUN0 /?PRG1
|
|
MOVE TUSK,RM
|
|
?PRG5: RANDOM LEN
|
|
GETB JUNGLE-ROOMS,STACK >RM2
|
|
EQUAL? RM2,RM,JUN0 /?PRG5
|
|
ICALL NEXT-WAND?,DESCRIBE-JUNGLE-WAND,RM2
|
|
?PRG9: RANDOM LEN
|
|
GETB JUNGLE-ROOMS,STACK >RM3
|
|
EQUAL? RM3,RM2,RM,JUN0 /?PRG9
|
|
ICALL NEXT-SCROLL?,DESCRIBE-JUNGLE-SCROLL,RM3
|
|
ICALL2 QUEUE,I-CROC
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ENTER-PLAIN-W
|
|
CALL1 SETUP-PLAIN?
|
|
ZERO? STACK /FALSE
|
|
GETP XROADS,P?EAST
|
|
GET STACK,XROOM
|
|
RSTACK
|
|
|
|
|
|
.FUNCT ENTER-PLAIN-E
|
|
CALL1 SETUP-PLAIN?
|
|
ZERO? STACK /FALSE
|
|
GETP ON-PIKE,P?WEST
|
|
GET STACK,XROOM
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SETUP-PLAIN?,RM,OBJ,LEN
|
|
SET 'SCRAMBLE-LENGTH,3
|
|
ICALL SCRAMBLE,PLAIN-ROOMS,61166
|
|
SET 'SCRAMBLE-LENGTH,1
|
|
CALL1 W-ROOM? >RM
|
|
SET 'WEST-EXIT,RM
|
|
ICALL NEW-EXIT?,RM,P?WEST,653,XROADS
|
|
ICALL NEW-EXIT?,XROADS,P?EAST,653,RM
|
|
CALL1 E-ROOM? >RM
|
|
SET 'EAST-EXIT,RM
|
|
ICALL NEW-EXIT?,RM,P?EAST,653,ON-PIKE
|
|
ICALL NEW-EXIT?,ON-PIKE,P?WEST,653,RM
|
|
CALL1 N-ROOM? >RM
|
|
ICALL NEW-EXIT?,RM,P?NORTH,643,ROSE-ROOM
|
|
ICALL NEW-EXIT?,ROSE-ROOM,P?SOUTH,643,RM
|
|
ICALL2 QUEUE,I-BFLY
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NGURTH-N
|
|
CALL1 SETUP-FOREST?
|
|
ZERO? STACK /FALSE
|
|
GETP NGURTH,P?NORTH
|
|
GET STACK,XROOM
|
|
RSTACK
|
|
|
|
|
|
.FUNCT AT-BROOK-WEST
|
|
CALL1 SETUP-FOREST?
|
|
ZERO? STACK /FALSE
|
|
GETP AT-BROOK,P?WEST
|
|
GET STACK,XROOM
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SFORD-S
|
|
CALL1 SETUP-FOREST?
|
|
ZERO? STACK /FALSE
|
|
GETP SFORD,P?SW
|
|
GET STACK,XROOM
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SETUP-FOREST?,LEN,RM,RM2
|
|
ICALL2 SCRAMBLE,FOREST-ROOMS
|
|
CALL1 S-ROOM? >RM
|
|
ICALL NEW-EXIT?,RM,P?SOUTH,641,NGURTH
|
|
ICALL NEW-EXIT?,NGURTH,P?NORTH,641,RM
|
|
CALL1 NE-ROOM? >RM
|
|
ICALL NEW-EXIT?,RM,P?NE,641,SFORD
|
|
ICALL NEW-EXIT?,SFORD,P?SW,641,RM
|
|
CALL1 E-ROOM? >RM
|
|
ICALL NEW-EXIT?,RM,P?EAST,649,AT-BROOK
|
|
ICALL NEW-EXIT?,AT-BROOK,P?WEST,649,RM
|
|
GETB FOREST-ROOMS,0 >LEN
|
|
RANDOM LEN
|
|
GETB FOREST-ROOMS,STACK >RM
|
|
ICALL NEXT-SCROLL?,DESCRIBE-FOREST-SCROLL,RM
|
|
?PRG1: RANDOM LEN
|
|
GETB FOREST-ROOMS,STACK >RM2
|
|
EQUAL? RM2,RM /?PRG1
|
|
ICALL NEXT-WAND?,DESCRIBE-FOREST-WAND,RM2
|
|
ICALL2 QUEUE,I-PUPP
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NFORD-NE
|
|
CALL1 SETUP-RUINS?
|
|
ZERO? STACK /FALSE
|
|
GETP NFORD,P?NE
|
|
GET STACK,XROOM
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SETUP-RUINS?,RM
|
|
ICALL SCRAMBLE,RUIN-ROOMS,61166
|
|
CALL1 SW-ROOM? >RM
|
|
ICALL NEW-EXIT?,RM,P?SW,641,NFORD
|
|
ICALL NEW-EXIT?,NFORD,P?NE,641,RM
|
|
GETB RUIN-ROOMS,0
|
|
RANDOM STACK
|
|
GETB RUIN-ROOMS,STACK >RM
|
|
ICALL NEXT-POTION?,RM,DESCRIBE-RUINS-POTION
|
|
ICALL2 QUEUE,I-GHOUL
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SETUP-CAVES?,RM
|
|
ICALL SCRAMBLE,CAVE-ROOMS,43690
|
|
CALL1 SE-ROOM? >RM
|
|
ICALL NEW-EXIT?,RM,P?SE,513,CAVE7
|
|
ICALL NEW-EXIT?,CAVE7,P?NW,513,RM
|
|
ICALL NEW-EXIT?,CAVE7,P?IN,513,RM
|
|
CALL1 NE-ROOM? >RM
|
|
ICALL NEW-EXIT?,RM,P?NE,513,NE-CAVE
|
|
ICALL NEW-EXIT?,NE-CAVE,P?SW,513,RM
|
|
ICALL NEW-EXIT?,NE-CAVE,P?IN,513,RM
|
|
CALL1 W-ROOM? >RM
|
|
ICALL NEW-EXIT?,IN-LAIR,P?NE,513,RM
|
|
ICALL NEW-EXIT?,RM,P?SW,513,IN-LAIR
|
|
FSET SE-CAVE,SEEN
|
|
FSET NE-CAVE,SEEN
|
|
ICALL2 NEXT-SUCKER,ASUCKER
|
|
ICALL2 QUEUE,I-ASUCKER
|
|
ICALL2 QUEUE,I-GRUE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SCRAMBLE,RTBL,MASK,HOME,LEN,RM,NXT,X
|
|
COPYT DEFAULT-BORDERS,BORDERS,50
|
|
ASSIGNED? 'MASK \?CND1
|
|
SET 'LEN,24
|
|
?PRG3: GET BORDERS,LEN
|
|
BAND STACK,MASK
|
|
PUT BORDERS,LEN,STACK
|
|
DLESS? 'LEN,0 \?PRG3
|
|
PUTB BORDERS,0,49
|
|
?CND1: GETB RTBL,0 >LEN
|
|
GETB RTBL,1 >HOME
|
|
SET 'X,LEN
|
|
?PRG7: GETB RTBL,X
|
|
PUT MAZE-ROOMS,X,STACK
|
|
DLESS? 'X,2 \?PRG7
|
|
PUT MAZE-ROOMS,1,0
|
|
PUT MAZE-ROOMS,0,LEN
|
|
INC 'LEN
|
|
PUT AUX-TABLE,0,LEN
|
|
PUT AUX-TABLE,1,3
|
|
PUT AUX-TABLE,2,HOME
|
|
?PRG11: CALL2 PICK-ONE,MAZE-ROOMS
|
|
PUT AUX-TABLE,LEN,STACK
|
|
DLESS? 'LEN,3 \?PRG11
|
|
COPYT MAZE-ROOMS,0,51
|
|
FCLEAR HOME,TOUCHED
|
|
PUTP HOME,P?DNUM,25
|
|
PUTB MAZE-ROOMS,25,HOME
|
|
?PRG15: SET 'LAST-CONNECTION,-1
|
|
ICALL2 CLEAR-MAPBITS,RTBL
|
|
SET 'RM,HOME
|
|
FSET HOME,MAPPED
|
|
?PRG17: CALL2 NEXT-ROOM?,RM >NXT
|
|
ZERO? NXT \?CCL21
|
|
CALL2 NEW-HOME?,HOME >HOME
|
|
JUMP ?PRG15
|
|
?CCL21: GET AUX-TABLE,1
|
|
EQUAL? STACK,2 \?CCL23
|
|
ICALL2 CLEAR-MAPBITS,RTBL
|
|
RFALSE
|
|
?CCL23: EQUAL? NXT,HOME /?PRG17
|
|
FSET? NXT,MAPPED \?CND19
|
|
SET 'HOME,NXT
|
|
JUMP ?PRG15
|
|
?CND19: FSET NXT,MAPPED
|
|
SET 'RM,NXT
|
|
JUMP ?PRG17
|
|
|
|
|
|
.FUNCT CLEAR-MAPBITS,TBL,LEN
|
|
GETB TBL,0 >LEN
|
|
?PRG1: GETB TBL,LEN
|
|
FCLEAR STACK,MAPPED
|
|
DLESS? 'LEN,1 \?PRG1
|
|
RFALSE
|
|
|
|
|
|
.FUNCT NEW-HOME?,RM,DIR,CNT,TBL
|
|
SET 'CNT,1
|
|
SET 'DIR,P?NW
|
|
?PRG1: GETP RM,DIR >TBL
|
|
ZERO? TBL /?CND3
|
|
INC 'CNT
|
|
GET TBL,XROOM
|
|
PUT GOOD-DIRS,CNT,STACK
|
|
?CND3: IGRTR? 'DIR,P?NORTH \?PRG1
|
|
EQUAL? CNT,1 /FALSE
|
|
EQUAL? CNT,2 \?CND7
|
|
GET GOOD-DIRS,2
|
|
RSTACK
|
|
?CND7: PUT GOOD-DIRS,0,CNT
|
|
PUT GOOD-DIRS,1,0
|
|
CALL2 PICK-ONE,GOOD-DIRS
|
|
RSTACK
|
|
|
|
|
|
.FUNCT NEXT-ROOM?,RM,DIR,DIAG,PATH-LEN,CNT,BITS,RNUM,NRM,NRNUM,X,LEN,TBL
|
|
GETP RM,P?DNUM >RNUM
|
|
ZERO? RNUM /FALSE
|
|
GETB BORDERS,RNUM >BITS
|
|
SET 'CNT,1
|
|
?PRG3: GETB DBIT-LIST,DIR
|
|
BTST BITS,STACK \?CND5
|
|
GET DIR-HACKS,DIR
|
|
ADD RNUM,STACK >X
|
|
GETB MAZE-ROOMS,X
|
|
ZERO? STACK /?CND5
|
|
INC 'CNT
|
|
PUT GOOD-DIRS,CNT,DIR
|
|
?CND5: IGRTR? 'DIR,7 \?PRG3
|
|
EQUAL? CNT,1 \?CCL13
|
|
SET 'DIR,0
|
|
?PRG14: GETB DBIT-LIST,DIR
|
|
BTST BITS,STACK \?CND16
|
|
GETB PDIR-LIST,DIR
|
|
GETP RM,STACK
|
|
ZERO? STACK \?CND16
|
|
INC 'CNT
|
|
PUT GOOD-DIRS,CNT,DIR
|
|
?CND16: IGRTR? 'DIR,7 \?PRG14
|
|
EQUAL? CNT,1 /FALSE
|
|
EQUAL? CNT,2 \?CCL26
|
|
GET GOOD-DIRS,2 >DIR
|
|
JUMP ?CND11
|
|
?CCL26: PUT GOOD-DIRS,0,CNT
|
|
PUT GOOD-DIRS,1,0
|
|
?PRG27: CALL2 PICK-ONE,GOOD-DIRS >DIR
|
|
EQUAL? DIR,LAST-CONNECTION /?PRG27
|
|
JUMP ?CND11
|
|
?CCL13: EQUAL? CNT,2 \?CCL32
|
|
GET GOOD-DIRS,2 >DIR
|
|
JUMP ?CND11
|
|
?CCL32: PUT GOOD-DIRS,0,CNT
|
|
PUT GOOD-DIRS,1,0
|
|
?PRG33: CALL2 PICK-ONE,GOOD-DIRS >DIR
|
|
EQUAL? DIR,LAST-CONNECTION /?PRG33
|
|
?CND11: SET 'LAST-CONNECTION,DIR
|
|
GET DIR-HACKS,DIR
|
|
ADD RNUM,STACK >NRNUM
|
|
BTST DIR,1 \?CND37
|
|
INC 'DIAG
|
|
ICALL KILL-DIAGONAL,RNUM,DIR
|
|
?CND37: SET 'PATH-LEN,SCRAMBLE-LENGTH
|
|
?PRG39: CALL CAN-EXTEND?,NRNUM,DIR >X
|
|
ZERO? X /?REP40
|
|
RANDOM 100
|
|
LESS? 67,STACK \?REP40
|
|
ZERO? DIAG /?CND41
|
|
ICALL KILL-DIAGONAL,NRNUM,DIR
|
|
?CND41: ICALL EXTEND,NRNUM,DIR
|
|
ADD PATH-LEN,2 >PATH-LEN
|
|
SET 'NRNUM,X
|
|
JUMP ?PRG39
|
|
?REP40: GETB MAZE-ROOMS,NRNUM >NRM
|
|
ZERO? NRM \?CND47
|
|
CALL2 PICK-NEXT,AUX-TABLE >NRM
|
|
PUTP NRM,P?DNUM,NRNUM
|
|
PUTB MAZE-ROOMS,NRNUM,NRM
|
|
?CND47: ADD CONNECT,PATH-LEN >LEN
|
|
GETB PDIR-LIST,DIR
|
|
ICALL NEW-EXIT?,RM,STACK,LEN,NRM
|
|
GETB XDBIT-LIST,DIR
|
|
BAND BITS,STACK
|
|
PUTB BORDERS,RNUM,STACK
|
|
ADD DIR,4 >DIR
|
|
GRTR? DIR,7 \?CND49
|
|
SUB DIR,8 >DIR
|
|
?CND49: GETB PDIR-LIST,DIR
|
|
ICALL NEW-EXIT?,NRM,STACK,LEN,RM
|
|
GETB BORDERS,NRNUM >BITS
|
|
GETB XDBIT-LIST,DIR
|
|
BAND BITS,STACK
|
|
PUTB BORDERS,NRNUM,STACK
|
|
RETURN NRM
|
|
|
|
|
|
.FUNCT CAN-EXTEND?,RNUM,DIR,CNT,XDIR,X,BITS
|
|
ADD DIR,4 >XDIR
|
|
GRTR? XDIR,7 \?PRG3
|
|
SUB XDIR,8 >XDIR
|
|
?PRG3: EQUAL? CNT,XDIR /?CND5
|
|
GETB DBIT-LIST,CNT
|
|
BTST BITS,STACK \FALSE
|
|
?CND5: IGRTR? 'CNT,7 \?PRG3
|
|
GET DIR-HACKS,DIR
|
|
ADD RNUM,STACK
|
|
RSTACK
|
|
|
|
|
|
.FUNCT EXTEND,RNUM,DIR,CNT,XRNUM,XDIR,BITS,LIST
|
|
PUTB BORDERS,RNUM,0
|
|
SET 'LIST,XDBIT-LIST+4
|
|
ADD DIR,4 >XDIR
|
|
GRTR? XDIR,7 \?PRG3
|
|
SUB XDIR,8 >XDIR
|
|
?PRG3: EQUAL? CNT,DIR,XDIR /?CND5
|
|
GET DIR-HACKS,CNT
|
|
ADD RNUM,STACK >XRNUM
|
|
GETB BORDERS,XRNUM >BITS
|
|
GETB LIST,CNT
|
|
BAND BITS,STACK
|
|
PUTB BORDERS,XRNUM,STACK
|
|
?CND5: IGRTR? 'CNT,7 \?PRG3
|
|
RFALSE
|
|
|
|
|
|
.FUNCT KILL-DIAGONAL,RNUM,DIR,CNT,BITS,XDIR,XRNUM,XBITS
|
|
GETB BORDERS,RNUM >BITS
|
|
DIV DIR,2 >DIR
|
|
?PRG1: ADD QDIRS,CNT
|
|
GETB STACK,DIR
|
|
GET DIR-HACKS,STACK
|
|
ADD RNUM,STACK >XRNUM
|
|
ADD CNT,CNT
|
|
ADD ZDIRS,STACK
|
|
GETB STACK,DIR >XDIR
|
|
GETB XDBIT-LIST,XDIR >XBITS
|
|
GETB BORDERS,XRNUM
|
|
BAND STACK,XBITS
|
|
PUTB BORDERS,XRNUM,STACK
|
|
IGRTR? 'CNT,1 \?PRG1
|
|
RFALSE
|
|
|
|
|
|
.FUNCT N-ROOM?,ROW,OFFSET,RM
|
|
SET 'ROW,4
|
|
?PRG1: GETB MAZE-ROOMS,ROW >RM
|
|
ZERO? RM /?CND3
|
|
RETURN RM
|
|
?CND3: SET 'OFFSET,1
|
|
?PRG5: ADD ROW,OFFSET
|
|
GETB MAZE-ROOMS,STACK >RM
|
|
ZERO? RM /?CND7
|
|
RETURN RM
|
|
?CND7: SUB ROW,OFFSET
|
|
GETB MAZE-ROOMS,STACK >RM
|
|
ZERO? RM /?CCL11
|
|
RETURN RM
|
|
?CCL11: IGRTR? 'OFFSET,3 \?PRG5
|
|
ADD ROW,7 >ROW
|
|
GRTR? ROW,46 \?PRG1
|
|
RFALSE
|
|
|
|
|
|
.FUNCT S-ROOM?,ROW,OFFSET,RM
|
|
SET 'ROW,46
|
|
?PRG1: GETB MAZE-ROOMS,ROW >RM
|
|
ZERO? RM /?CND3
|
|
RETURN RM
|
|
?CND3: SET 'OFFSET,1
|
|
?PRG5: ADD ROW,OFFSET
|
|
GETB MAZE-ROOMS,STACK >RM
|
|
ZERO? RM /?CND7
|
|
RETURN RM
|
|
?CND7: SUB ROW,OFFSET
|
|
GETB MAZE-ROOMS,STACK >RM
|
|
ZERO? RM /?CCL11
|
|
RETURN RM
|
|
?CCL11: IGRTR? 'OFFSET,3 \?PRG5
|
|
SUB ROW,7 >ROW
|
|
LESS? ROW,4 \?PRG1
|
|
RFALSE
|
|
|
|
|
|
.FUNCT W-ROOM?,COL,OFFSET,RM
|
|
SET 'COL,22
|
|
?PRG1: GETB MAZE-ROOMS,COL >RM
|
|
ZERO? RM /?CND3
|
|
RETURN RM
|
|
?CND3: SET 'OFFSET,7
|
|
?PRG5: ADD COL,OFFSET
|
|
GETB MAZE-ROOMS,STACK >RM
|
|
ZERO? RM /?CND7
|
|
RETURN RM
|
|
?CND7: SUB COL,OFFSET
|
|
GETB MAZE-ROOMS,STACK >RM
|
|
ZERO? RM /?CND9
|
|
RETURN RM
|
|
?CND9: ADD OFFSET,7 >OFFSET
|
|
GRTR? OFFSET,21 \?PRG5
|
|
IGRTR? 'COL,28 \?PRG1
|
|
RFALSE
|
|
|
|
|
|
.FUNCT E-ROOM?,COL,OFFSET,RM
|
|
SET 'COL,28
|
|
?PRG1: GETB MAZE-ROOMS,COL >RM
|
|
ZERO? RM /?CND3
|
|
RETURN RM
|
|
?CND3: SET 'OFFSET,7
|
|
?PRG5: ADD COL,OFFSET
|
|
GETB MAZE-ROOMS,STACK >RM
|
|
ZERO? RM /?CND7
|
|
RETURN RM
|
|
?CND7: SUB COL,OFFSET
|
|
GETB MAZE-ROOMS,STACK >RM
|
|
ZERO? RM /?CND9
|
|
RETURN RM
|
|
?CND9: ADD OFFSET,7 >OFFSET
|
|
GRTR? OFFSET,21 \?PRG5
|
|
DLESS? 'COL,22 \?PRG1
|
|
RFALSE
|
|
|
|
|
|
.FUNCT NW-ROOM?,COL,PTR,X,I,RM
|
|
SET 'COL,1
|
|
?PRG1: SET 'X,COL
|
|
SET 'PTR,COL
|
|
?PRG3: GETB MAZE-ROOMS,PTR >RM
|
|
ZERO? RM /?CCL7
|
|
RETURN RM
|
|
?CCL7: DLESS? 'X,1 /?REP4
|
|
ADD PTR,6 >PTR
|
|
JUMP ?PRG3
|
|
?REP4: IGRTR? 'COL,7 \?PRG1
|
|
RFALSE
|
|
|
|
|
|
.FUNCT NE-ROOM?,COL,PTR,X,I,RM
|
|
SET 'COL,7
|
|
SET 'I,1
|
|
?PRG1: SET 'PTR,COL
|
|
SET 'X,I
|
|
?PRG3: GETB MAZE-ROOMS,PTR >RM
|
|
ZERO? RM /?CCL7
|
|
RETURN RM
|
|
?CCL7: DLESS? 'X,1 /?REP4
|
|
ADD PTR,8 >PTR
|
|
JUMP ?PRG3
|
|
?REP4: INC 'I
|
|
DLESS? 'COL,1 \?PRG1
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SW-ROOM?,COL,PTR,X,RM
|
|
SET 'COL,1
|
|
?PRG1: SET 'X,COL
|
|
ADD COL,42 >PTR
|
|
?PRG3: GETB MAZE-ROOMS,PTR >RM
|
|
ZERO? RM /?CCL7
|
|
RETURN RM
|
|
?CCL7: DLESS? 'X,1 /?REP4
|
|
SUB PTR,8 >PTR
|
|
JUMP ?PRG3
|
|
?REP4: IGRTR? 'COL,7 \?PRG1
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SE-ROOM?,COL,PTR,X,I,RM
|
|
SET 'COL,7
|
|
SET 'I,1
|
|
?PRG1: ADD COL,42 >PTR
|
|
SET 'X,I
|
|
?PRG3: GETB MAZE-ROOMS,PTR >RM
|
|
ZERO? RM /?CCL7
|
|
RETURN RM
|
|
?CCL7: DLESS? 'X,1 /?REP4
|
|
SUB PTR,6 >PTR
|
|
JUMP ?PRG3
|
|
?REP4: INC 'I
|
|
DLESS? 'COL,1 \?PRG1
|
|
RFALSE
|
|
|
|
.ENDI
|