beyondzork/places.zap

3851 lines
90 KiB
Plaintext
Raw Permalink Normal View History

2019-04-14 07:49:43 +03:00
.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