11638 lines
265 KiB
Plaintext
11638 lines
265 KiB
Plaintext
|
|
|
|
.FUNCT HANDLE-SIGNS?,X
|
|
INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
PRINTR "Signs are for reading."
|
|
|
|
|
|
.FUNCT BILLBOARD-PSEUDO
|
|
FSET PSEUDO-OBJECT,TRYTAKE
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?READ,V?LOOK-ON \?CCL5
|
|
PRINT STR?744
|
|
ICALL1 FROTZEN-SIGN
|
|
RTRUE
|
|
?CCL5: CALL1 HANDLE-SIGNS?
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FROTZEN-SIGN
|
|
PRINTI " says,"
|
|
CRLF
|
|
CRLF
|
|
HLIGHT H-MONO
|
|
EQUAL? HOST,MACINTOSH /?CND1
|
|
HLIGHT H-BOLD
|
|
?CND1: PRINTI "WELCOME TO THE FIELDS OF FROTZEN"
|
|
CRLF
|
|
HLIGHT H-NORMAL
|
|
HLIGHT H-MONO
|
|
PRINTI " Last sign for next 120 bloits."
|
|
CRLF
|
|
HLIGHT H-NORMAL
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SUN-F,X
|
|
FSET? HERE,INDOORS /?CTR2
|
|
CALL1 PLAIN-ROOM?
|
|
ZERO? STACK \?CTR2
|
|
EQUAL? HERE,NE-WALL \?CCL3
|
|
?CTR2: ICALL2 NOT-VISIBLE,SUN
|
|
RETURN 2
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \?CCL10
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is as bright as ever"
|
|
EQUAL? HERE,XROADS,ON-PIKE \?CND11
|
|
PRINTI ", except to the "
|
|
EQUAL? HERE,ON-PIKE \?CCL15
|
|
PRINTB W?WEST
|
|
JUMP ?CND11
|
|
?CCL15: PRINTB W?EAST
|
|
?CND11: PRINT PERIOD
|
|
RTRUE
|
|
?CCL10: EQUAL? PRSA,V?FOLLOW \?CCL17
|
|
ICALL2 DO-WALK,P?SOUTH
|
|
RTRUE
|
|
?CCL17: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X /?CTR18
|
|
INTBL? PRSA,E-VERBS,ENTER-VERBS >X /?CTR18
|
|
EQUAL? PRSA,V?LOOK-BEHIND \FALSE
|
|
?CTR18: ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NOT-VISIBLE,OBJ
|
|
ICALL1 PCLEAR
|
|
ICALL2 CTHE-PRINT,OBJ
|
|
PRINTI " isn't visible"
|
|
PRINT AT-MOMENT
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SKY-F,X
|
|
FSET? HERE,INDOORS \?CCL3
|
|
ICALL2 NOT-VISIBLE,SKY
|
|
RETURN 2
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE,V?LOOK-UP /?CTR6
|
|
EQUAL? PRSA,V?SEARCH \?CCL7
|
|
?CTR6: EQUAL? HERE,IN-SKY \?CND10
|
|
ICALL1 V-LOOK
|
|
RTRUE
|
|
?CND10: ICALL PERFORM,V?EXAMINE,SUN
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?FLY-UP,V?WALK-TO,V?ENTER /?CTR12
|
|
EQUAL? PRSA,V?THROUGH,V?CLIMB-ON,V?CLIMB-UP \?CCL13
|
|
?CTR12: ICALL1 V-FLY
|
|
RTRUE
|
|
?CCL13: EQUAL? PRSA,V?EXIT,V?FLY-DOWN,V?CLIMB-DOWN /?CTR16
|
|
EQUAL? PRSA,V?LEAVE,V?CLIMB-DOWN \?CCL17
|
|
?CTR16: ICALL1 V-LAND
|
|
RTRUE
|
|
?CCL17: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X /?CTR20
|
|
EQUAL? PRSA,V?LOOK-BEHIND,V?LAND-ON \FALSE
|
|
?CTR20: ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BREEZE-F,X
|
|
FSET BREEZE,SEEN
|
|
FSET? HERE,INDOORS /?CTR2
|
|
EQUAL? HERE,APLANE,IN-GARDEN,IN-FROON /?CTR2
|
|
EQUAL? HERE,IN-SPLENDOR \?CCL3
|
|
?CTR2: PRINTI "There's no wind here to speak of."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL3: INTBL? PRSA,SEEVERBS,NSVERBS >X \?CCL10
|
|
PRINTR "Wind is transparent."
|
|
?CCL10: EQUAL? PRSA,V?TOUCH \?CCL12
|
|
ICALL2 CTHE-PRINT,BREEZE
|
|
PRINTR " feels cool and fresh."
|
|
?CCL12: INTBL? PRSA,E-VERBS,ENTER-VERBS >X /?CTR13
|
|
INTBL? PRSA,X-VERBS,EXIT-VERBS >X \?CCL14
|
|
?CTR13: ICALL1 V-WALK-AROUND
|
|
RTRUE
|
|
?CCL14: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT PACK-F
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?PUT,V?EMPTY-INTO \FALSE
|
|
EQUAL? PRSO,RUG \?CCL8
|
|
ICALL1 NEVER-FIT
|
|
RTRUE
|
|
?CCL8: EQUAL? PRSO,PARASOL \FALSE
|
|
FSET? PRSO,OPENED \FALSE
|
|
ICALL2 YOUD-HAVE-TO,STR?536
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?OPEN,V?OPEN-WITH \?CCL13
|
|
ICALL2 ITS-ALREADY,STR?518
|
|
RTRUE
|
|
?CCL13: EQUAL? PRSA,V?CLOSE \FALSE
|
|
PRINTR "It's not that type of pack."
|
|
|
|
|
|
.FUNCT CELLAR-DOOR-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?LOOK-BEHIND \?CCL5
|
|
FSET? PRSO,MUNGED \?CCL5
|
|
ICALL2 ITS-MUNGED,W?DOOR
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?CLOSE \?CCL9
|
|
FSET? PRSO,MUNGED \?CCL12
|
|
ICALL2 ITS-MUNGED,W?DOOR
|
|
RTRUE
|
|
?CCL12: FSET? PRSO,OPENED \FALSE
|
|
ICALL1 ICLOSE
|
|
PRINTI "You pull "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " shut."
|
|
CRLF
|
|
EQUAL? HERE,AT-BOTTOM \TRUE
|
|
FCLEAR HERE,LIGHTED
|
|
ICALL1 SAY-IF-HERE-LIT
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?OPEN,V?OPEN-WITH \?CCL17
|
|
FSET? PRSO,MUNGED \?CCL20
|
|
ICALL2 ITS-MUNGED,W?DOOR
|
|
RTRUE
|
|
?CCL20: FSET? PRSO,OPENED /FALSE
|
|
EQUAL? HERE,AT-BOTTOM \?CCL24
|
|
FSET? PRSO,LOCKED /?CCL24
|
|
ICALL1 LOCK-CELLAR-DOOR
|
|
RTRUE
|
|
?CCL24: ZERO? PRSI /FALSE
|
|
EQUAL? PRSA,V?OPEN-WITH \FALSE
|
|
ICALL2 CRASH-CELLAR-DOOR,PRSI
|
|
RTRUE
|
|
?CCL17: INTBL? PRSA,E-VERBS,ENTER-VERBS >X /?CTR30
|
|
INTBL? PRSA,X-VERBS,EXIT-VERBS >X \?CCL31
|
|
?CTR30: EQUAL? HERE,AT-BOTTOM \?CND34
|
|
ICALL2 DO-WALK,P?UP
|
|
RTRUE
|
|
?CND34: ICALL2 DO-WALK,P?DOWN
|
|
RTRUE
|
|
?CCL31: EQUAL? PRSA,V?KICK,V?HIT,V?MUNG /?CTR36
|
|
EQUAL? PRSA,V?LOOSEN,V?PUSH,V?SHAKE /?CTR36
|
|
EQUAL? PRSA,V?CUT,V?KNOCK \FALSE
|
|
?CTR36: FSET? PRSO,MUNGED \?CCL43
|
|
ICALL2 ITS-ALREADY,STR?745
|
|
RTRUE
|
|
?CCL43: FSET? PRSO,OPENED \?CCL45
|
|
ICALL2 ITS-ALREADY,STR?518
|
|
RTRUE
|
|
?CCL45: EQUAL? PRSA,V?KNOCK \?CND41
|
|
EQUAL? HERE,AT-BOTTOM \?CND47
|
|
PRINT YOU-HEAR
|
|
PRINTR "a muffled ""Har!"""
|
|
?CND47: PRINTI """Nobody down there,"" snickers "
|
|
ICALL2 THE-PRINT,COOK
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND41: SET 'X,PRSI
|
|
EQUAL? PRSA,V?KICK \?CND49
|
|
SET 'X,FEET
|
|
?CND49: ICALL2 CRASH-CELLAR-DOOR,X
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ITS-MUNGED,WRD
|
|
PRINTI "Little remains of the "
|
|
PRINTB WRD
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CRASH-CELLAR-DOOR,OBJ,TBL
|
|
ASSIGNED? 'OBJ /?CND1
|
|
SET 'OBJ,HANDS
|
|
?CND1: ICALL2 ITALICIZE,STR?746
|
|
PRINTI "! Your "
|
|
EQUAL? OBJ,FALSE-VALUE,HANDS,ME \?CCL5
|
|
PRINTB W?FIST
|
|
JUMP ?CND3
|
|
?CCL5: EQUAL? OBJ,FEET \?CCL7
|
|
PRINTB W?FOOT
|
|
JUMP ?CND3
|
|
?CCL7: ICALL2 DPRINT,OBJ
|
|
?CND3: PRINTI " deals "
|
|
ICALL2 THE-PRINT,CELLAR-DOOR
|
|
PRINTI " a mighty blow"
|
|
GET STATS,STRENGTH
|
|
LESS? STACK,50 \?CND8
|
|
ICALL1 NOTE-NOISE
|
|
RTRUE
|
|
?CND8: FSET CELLAR-DOOR,OPENED
|
|
FCLEAR CELLAR-DOOR,LOCKED
|
|
FSET CELLAR-DOOR,MUNGED
|
|
FSET AT-BOTTOM,LIGHTED
|
|
GETPT CELLAR-DOOR,P?SYNONYM >TBL
|
|
PUT TBL,2,W?HOLE
|
|
PUT TBL,3,W?OPENING
|
|
GETP AT-BOTTOM,P?UP >TBL
|
|
PUT TBL,XTYPE,513
|
|
PUT TBL,XROOM,IN-KITCHEN
|
|
GETP IN-KITCHEN,P?DOWN >TBL
|
|
PUT TBL,XTYPE,513
|
|
PUT TBL,XROOM,AT-BOTTOM
|
|
GETP IN-KITCHEN,P?IN >TBL
|
|
PUT TBL,XTYPE,513
|
|
PUT TBL,XROOM,AT-BOTTOM
|
|
PRINTI ", shattering it and much of "
|
|
ICALL2 THE-PRINT,KITCHEN
|
|
PRINTI " wall into splinters"
|
|
ICALL1 RELOOK
|
|
PRINT TAB
|
|
PRINTI """Yow,"" murmurs "
|
|
EQUAL? HERE,AT-BOTTOM \?CND10
|
|
PRINTR "an admiring voice upstairs."
|
|
?CND10: FSET COOK,SEEN
|
|
ICALL2 THE-PRINT,COOK
|
|
PRINTR ", gawking at you admiringly."
|
|
|
|
|
|
.FUNCT NOTE-NOISE
|
|
PRINTR ", with little effect except for the noise."
|
|
|
|
|
|
.FUNCT CELLAR-STAIR-F,X
|
|
FSET? CELLAR-DOOR,OPENED /?CCL3
|
|
EQUAL? HERE,IN-KITCHEN \?CCL3
|
|
ICALL1 CANT-SEE-ANY
|
|
RETURN 2
|
|
?CCL3: EQUAL? HERE,IN-KITCHEN /?CND1
|
|
INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CND1
|
|
FSET? CELLAR-DOOR,OPENED \?CND10
|
|
ICALL2 DO-WALK,P?UP
|
|
RTRUE
|
|
?CND10: SET 'P-IT-OBJECT,CELLAR-DOOR
|
|
ICALL2 CTHE-PRINT,CELLAR-DOOR
|
|
PRINTR " at the top is closed."
|
|
?CND1: CALL2 HANDLE-STAIRS?,IN-KITCHEN
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MIGHT-TRIP?
|
|
EQUAL? PRSA,V?PUT,V?PUT-ON,V?EMPTY-INTO /?CCL2
|
|
EQUAL? PRSA,V?THROW,V?THROW-OVER \FALSE
|
|
?CCL2: PRINTI "Better not. You might trip on "
|
|
FSET? PRSO,PLURAL \?CCL7
|
|
PRINTI "them"
|
|
JUMP ?CND5
|
|
?CCL7: PRINTI "it"
|
|
?CND5: PRINTR " later."
|
|
|
|
|
|
.FUNCT HANDLE-STAIRS?,TOP,X
|
|
EQUAL? HERE,TOP /?CND1
|
|
SET 'TOP,FALSE-VALUE
|
|
?CND1: ZERO? NOW-PRSI? /?CCL5
|
|
CALL1 MIGHT-TRIP?
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL9
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " leads "
|
|
ZERO? TOP /?CCL12
|
|
PRINTI "down"
|
|
JUMP ?CND10
|
|
?CCL12: PRINTI "up"
|
|
?CND10: PRINTR "ward."
|
|
?CCL9: EQUAL? PRSA,V?LOOK-UP \?CCL14
|
|
ZERO? TOP /?CND15
|
|
ICALL1 ALREADY-AT-TOP
|
|
RTRUE
|
|
?CND15: ICALL1 CANT-SEE-MUCH
|
|
RTRUE
|
|
?CCL14: EQUAL? PRSA,V?LOOK-DOWN \?CCL18
|
|
ZERO? TOP /?CND19
|
|
ICALL1 CANT-SEE-MUCH
|
|
RTRUE
|
|
?CND19: ICALL1 ALREADY-AT-BOTTOM
|
|
RTRUE
|
|
?CCL18: EQUAL? PRSA,V?FOLLOW,V?USE \?CCL22
|
|
ZERO? TOP /?CND23
|
|
ICALL2 DO-WALK,P?DOWN
|
|
RTRUE
|
|
?CND23: ICALL2 DO-WALK,P?UP
|
|
RTRUE
|
|
?CCL22: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL26
|
|
ZERO? TOP /?CND27
|
|
ICALL1 ALREADY-AT-TOP
|
|
RTRUE
|
|
?CND27: ICALL2 DO-WALK,P?UP
|
|
RTRUE
|
|
?CCL26: INTBL? PRSA,X-VERBS,CLIMB-DOWN-VERBS >X \FALSE
|
|
ZERO? TOP /?CND31
|
|
ICALL2 DO-WALK,P?DOWN
|
|
RTRUE
|
|
?CND31: ICALL1 ALREADY-AT-BOTTOM
|
|
RTRUE
|
|
|
|
|
|
.FUNCT PUB-F,X
|
|
EQUAL? HERE,IN-PUB \?CCL3
|
|
CALL1 HERE-F
|
|
ZERO? STACK \TRUE
|
|
?CCL3: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL7
|
|
ICALL2 DO-WALK,P?IN
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?EXAMINE \?CCL9
|
|
EQUAL? HERE,OUTSIDE-PUB \?CND10
|
|
ICALL1 DESCRIBE-PUB-SIGN
|
|
RTRUE
|
|
?CND10: ICALL1 V-LOOK
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?SMELL \?CCL13
|
|
PRINTR "Mouthwatering aromas hang in the air."
|
|
?CCL13: EQUAL? PRSA,V?LISTEN \FALSE
|
|
PRINTI "Raucous laughter"
|
|
PRINT STR?596
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT PUB-SIGN-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?PUT-ON,V?HANG-ON,V?EMPTY-INTO \?CCL6
|
|
EQUAL? PRSO,LANTERN,PARASOL \?CCL9
|
|
FIRST? PRSI >X \?CCL12
|
|
ICALL YOUD-HAVE-TO,STR?541,X
|
|
RTRUE
|
|
?CCL12: EQUAL? PRSO,PARASOL \?CND10
|
|
FSET? PRSO,OPENED \?CND10
|
|
ICALL2 YOUD-HAVE-TO,STR?536
|
|
RTRUE
|
|
?CND10: BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
MOVE PRSO,PRSI
|
|
PRINTI "You carefully hang "
|
|
ICALL1 THE-PRINT
|
|
EQUAL? PRSO,LANTERN \?CND16
|
|
PRINTI " back"
|
|
?CND16: PRINT SON
|
|
ICALL1 THEI-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?HANG-ON /FALSE
|
|
ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CCL6: EQUAL? PRSA,V?PUT-UNDER \FALSE
|
|
ICALL PERFORM,V?DROP,PRSO
|
|
RTRUE
|
|
?CCL3: CALL2 NOUN-USED?,W?HOOK
|
|
ZERO? STACK /?CND1
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL23
|
|
FIRST? PUB-SIGN >X \?CND24
|
|
ICALL2 PRINTCA,X
|
|
PRINTR " hangs from it."
|
|
?CND24: PRINT XTHE
|
|
PRINTR "hook is empty."
|
|
?CCL23: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CND1
|
|
ICALL FIRMLY-ATTACHED,STR?747,PRSO,TRUE-VALUE
|
|
RTRUE
|
|
?CND1: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?READ \?CCL29
|
|
ICALL1 DESCRIBE-PUB-SIGN
|
|
RTRUE
|
|
?CCL29: EQUAL? PRSA,V?PUSH,V?TOUCH,V?SWING /?CTR30
|
|
EQUAL? PRSA,V?SHAKE,V?PULL,V?LOOK-BEHIND \?CCL31
|
|
?CTR30: ICALL1 CTHE-PRINT
|
|
PRINTR " swings back and forth for a moment."
|
|
?CCL31: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
ICALL FIRMLY-ATTACHED,PRSO,PUB
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LANTERN-F,TBL,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL2 ITS-SEALED,LANTERN
|
|
RTRUE
|
|
?CCL3: CALL2 NOUN-USED?,W?BATTERY
|
|
ZERO? STACK /?CCL7
|
|
INTBL? PRSA,SEEVERBS,NSVERBS >TBL /?CCL9
|
|
INTBL? PRSA,MOVEVERBS,NMVERBS >TBL /?CCL9
|
|
EQUAL? PRSA,V?REPAIR,V?REPLACE \?CND1
|
|
?CCL9: ICALL2 ITS-SEALED,LANTERN
|
|
RTRUE
|
|
?CCL7: CALL2 NOUN-USED?,W?SWITCH
|
|
ZERO? STACK /?CND1
|
|
INTBL? PRSA,MOVEVERBS,NMVERBS >TBL \?CCL16
|
|
ICALL FIRMLY-ATTACHED,STR?748,PRSO,TRUE-VALUE
|
|
RTRUE
|
|
?CCL16: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CND1
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI "'s switch is o"
|
|
FSET? PRSO,OPENED \?CND18
|
|
PRINTR "ff."
|
|
?CND18: PRINTR "n."
|
|
?CND1: EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \?CCL22
|
|
ICALL1 CTHE-PRINT
|
|
FSET? PRSO,MUNGED \?CND23
|
|
PRINTR " is broken beyond repair."
|
|
?CND23: PRINTI " looks "
|
|
FSET? PRSO,MAPPED \?CCL27
|
|
PRINTI "good as new"
|
|
JUMP ?CND25
|
|
?CCL27: PRINTI "much as you'd expect it to after years of hanging outdoors"
|
|
?CND25: FSET? PRSO,LIGHTED \?CND28
|
|
PRINTI ". Its glow is "
|
|
GRTR? LAMP-LIFE,20 \?CCL32
|
|
PRINTR "bright and strong."
|
|
?CCL32: GRTR? LAMP-LIFE,10 \?CND30
|
|
PRINTR "a bit dim."
|
|
?CND30: PRINTI "fading rapidly"
|
|
?CND28: PRINT PERIOD
|
|
RTRUE
|
|
?CCL22: EQUAL? PRSA,V?LOOK-INSIDE,V?OPEN,V?UNPLUG \?CCL35
|
|
ICALL2 ITS-SEALED,LANTERN
|
|
RTRUE
|
|
?CCL35: EQUAL? PRSA,V?LAMP-ON,V?USE \?CCL37
|
|
FSET? PRSO,OPENED /?CCL40
|
|
ICALL2 ITS-SWITCHED,W?ON
|
|
RTRUE
|
|
?CCL40: CALL1 CANT-REACH-LANTERN?
|
|
ZERO? STACK \TRUE
|
|
FCLEAR PRSO,OPENED
|
|
ICALL2 ITALICIZE,STR?749
|
|
PRINTI ". "
|
|
FSET? PRSO,MUNGED /?CCL43
|
|
ZERO? LAMP-LIFE \?CND42
|
|
?CCL43: PRINTR "Nothing happens."
|
|
?CND42: ICALL1 CTHE-PRINT
|
|
PRINTI " emits a "
|
|
GRTR? LAMP-LIFE,20 \?CCL48
|
|
PRINTI "brilliant"
|
|
JUMP ?CND46
|
|
?CCL48: PRINTI "feeble"
|
|
?CND46: PRINTI " glow."
|
|
CRLF
|
|
ICALL1 LIGHT-LANTERN
|
|
RTRUE
|
|
?CCL37: EQUAL? PRSA,V?LIGHT-WITH \?CCL50
|
|
EQUAL? PRSI,FALSE-VALUE,HANDS \?CND51
|
|
ICALL PERFORM,V?LAMP-ON,PRSO
|
|
RTRUE
|
|
?CND51: PRINT CANT
|
|
PRINTI "light "
|
|
ICALL1 THE-PRINT
|
|
PRINT WITH
|
|
ICALL1 THEI-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL50: EQUAL? PRSA,V?LAMP-OFF \?CCL54
|
|
FSET? PRSO,OPENED \?CCL57
|
|
ICALL2 ITS-SWITCHED,W?OFF
|
|
RTRUE
|
|
?CCL57: CALL1 CANT-REACH-LANTERN?
|
|
ZERO? STACK \TRUE
|
|
FSET PRSO,OPENED
|
|
ICALL2 ITALICIZE,STR?749
|
|
PRINTI ". "
|
|
FSET? PRSO,LIGHTED \?CND59
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " goes out."
|
|
CRLF
|
|
ICALL1 LANTERN-OUT
|
|
RTRUE
|
|
?CND59: PRINTI "You switch off "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL54: EQUAL? PRSA,V?MUNG,V?HIT,V?KICK \?CCL62
|
|
FSET? PRSO,MUNGED \?CND63
|
|
PRINTR "It's already broken enough."
|
|
?CND63: ICALL2 ITALICIZE,STR?605
|
|
PRINTI "! You smash "
|
|
ICALL1 THE-PRINT
|
|
PRINT WITH
|
|
EQUAL? PRSA,V?KICK /?CTR66
|
|
EQUAL? PRSI,FEET \?CCL67
|
|
?CTR66: ICALL2 DPRINT,FEET
|
|
JUMP ?CND65
|
|
?CCL67: EQUAL? PRSI,FALSE-VALUE,HANDS \?CCL71
|
|
PRINTI "your fist"
|
|
JUMP ?CND65
|
|
?CCL71: ICALL1 THEI-PRINT
|
|
?CND65: PRINT PERIOD
|
|
ICALL1 BREAK-LANTERN
|
|
RTRUE
|
|
?CCL62: EQUAL? PRSA,V?THROW \?CCL73
|
|
FSET? PRSO,MUNGED /?CCL73
|
|
ICALL2 ITALICIZE,STR?750
|
|
PRINTC 33
|
|
CRLF
|
|
ICALL1 BREAK-LANTERN
|
|
RTRUE
|
|
?CCL73: EQUAL? PRSA,V?REPAIR \FALSE
|
|
FSET? PRSO,MUNGED \FALSE
|
|
PRINTR "You're not a member of the Guild of Lanternmakers."
|
|
|
|
|
|
.FUNCT ITS-SWITCHED,WRD
|
|
PRINTI "It's already switched "
|
|
PRINTB WRD
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CANT-REACH-LANTERN?,L
|
|
LOC LANTERN >L
|
|
LOC PLAYER
|
|
EQUAL? L,PLAYER,STACK /FALSE
|
|
FSET? L,SURFACE /FALSE
|
|
ICALL TAKE-FIRST,LANTERN,L
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LIGHT-LANTERN
|
|
BOR NEW-DBOX,3 >NEW-DBOX
|
|
CALL1 NO-LANTERN-HERE?
|
|
ZERO? STACK \TRUE
|
|
ICALL2 QUEUE,I-LANTERN
|
|
ICALL REPLACE-ADJ?,LANTERN,W?DARK,W?LIGHTED
|
|
ICALL2 LIGHT-ROOM-WITH,LANTERN
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NO-LANTERN-HERE?,LEN
|
|
FSET? URGRUE,LIVING \FALSE
|
|
IN? GRUE,HERE \?CND1
|
|
ICALL2 EXUENT-MONSTER,GRUE
|
|
?CND1: CALL1 GRUE-ROOM?
|
|
ZERO? STACK /FALSE
|
|
ICALL2 VANISH,LANTERN
|
|
PRINT TAB
|
|
ICALL1 KERBLAM
|
|
PRINTI "A bolt of lightning "
|
|
EQUAL? HERE,IN-LAIR /?CND8
|
|
PRINTI "zigzags down the passageways, "
|
|
?CND8: PRINTI "strikes your lantern and blows it into little, tiny bits."
|
|
CRLF
|
|
FSET? LANTERN,LIGHTED \?CND10
|
|
ICALL1 LANTERN-OUT
|
|
?CND10: ICALL1 CHUCKLE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LANTERN-OUT
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
FCLEAR LANTERN,LIGHTED
|
|
ICALL2 DEQUEUE,I-LANTERN
|
|
ICALL REPLACE-ADJ?,LANTERN,W?LIGHTED,W?DARK
|
|
ICALL1 SAY-IF-HERE-LIT
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BREAK-LANTERN
|
|
FCLEAR PRSO,SEEN
|
|
FSET LANTERN,MUNGED
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
ICALL REPLACE-ADJ?,LANTERN,W?ZZZP,W?BROKEN
|
|
FSET? LANTERN,LIGHTED \TRUE
|
|
ICALL1 LANTERN-OUT
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GRUBBO-F,X
|
|
EQUAL? HERE,HILLTOP,N-MOOR,AT-LEDGE /?CCL3
|
|
CALL1 HERE-F
|
|
RSTACK
|
|
?CCL3: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL5
|
|
SET 'X,P?EAST
|
|
EQUAL? HERE,N-MOOR \?CCL8
|
|
SET 'X,P?NORTH
|
|
JUMP ?CND6
|
|
?CCL8: EQUAL? HERE,AT-LEDGE \?CND6
|
|
SET 'X,P?SW
|
|
?CND6: ICALL2 DO-WALK,X
|
|
RTRUE
|
|
?CCL5: INTBL? PRSA,SEEVERBS,NSVERBS >X \FALSE
|
|
ICALL1 CANT-SEE-MUCH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SHILL-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?TOUCH,V?SWING,V?SHAKE \?CCL5
|
|
PRINTR "Feels hefty."
|
|
?CCL5: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL7
|
|
PRINTR "Years of drifting on the open sea have toughened this stout club into a formidable skull-basher."
|
|
?CCL7: EQUAL? PRSA,V?WHAT \?CCL9
|
|
CALL2 NOUN-USED?,W?SHILLELAGH
|
|
ZERO? STACK /?CCL9
|
|
PRINTR "It's a club."
|
|
?CCL9: EQUAL? PRSA,V?TAKE \FALSE
|
|
FSET? PRSO,TOUCHED /FALSE
|
|
CALL1 ITAKE
|
|
ZERO? STACK /TRUE
|
|
PRINT XTHE
|
|
PRINTB W?DRIFTWOOD
|
|
PRINTI " begins to float out of reach as you bend over the side of the wharf. You strain your arm lower towards the water, lower... got it!"
|
|
CRLF
|
|
ICALL1 GET-SHILL
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GET-SHILL
|
|
FSET SHILL,TOUCHED
|
|
ICALL2 DEQUEUE,I-SHILL
|
|
FSET SALT,SEEN
|
|
PRINT TAB
|
|
PRINTI """Found yerself a genu-ine "
|
|
ICALL2 DPRINT,SHILL
|
|
PRINTI " there, "
|
|
ICALL1 BOY-GIRL
|
|
PRINTI ","" remarks the artist"
|
|
IN? SHILL,PLAYER \?CND1
|
|
PRINTI " as you shake off the seawater"
|
|
?CND1: PRINTR ". ""Come in handy nowadays."""
|
|
|
|
|
|
.FUNCT SWORD-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "It's of elvish workmanship."
|
|
|
|
|
|
.FUNCT AXE-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "Just the thing for cleaving briskets, and other inconveniences."
|
|
|
|
|
|
.FUNCT DAGGER-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \FALSE
|
|
PRINTI "It's a very basic "
|
|
PRINTD PRSO
|
|
PRINTI " with a "
|
|
FSET? PRSO,MUNGED \?CCL8
|
|
PRINTB W?RUSTY
|
|
JUMP ?CND6
|
|
?CCL8: PRINTI "razor-sharp"
|
|
?CND6: PRINTR " blade."
|
|
|
|
|
|
.FUNCT PUBWALL-F,X
|
|
EQUAL? PRSA,V?EMPTY,V?TAKE /FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?LOOK-INSIDE /?CCL4
|
|
EQUAL? PRSA,V?SEARCH \?CND1
|
|
?CCL4: FIRST? PRSO >X \FALSE
|
|
ICALL2 PRINTCA,X
|
|
PRINTR " is imbedded there."
|
|
?CND1: CALL1 HANDLE-WALLS?
|
|
RSTACK
|
|
|
|
|
|
.FUNCT BOTTLE-F,C
|
|
CALL2 NOUN-USED?,W?MAILBOX
|
|
ZERO? STACK /?CCL3
|
|
ZERO? LIT? /?CND4
|
|
ZERO? NOW-PRSI? \?CND4
|
|
EQUAL? PRSA,V?OPEN \?CND4
|
|
FSET? PRSO,SEEN /?CND8
|
|
FSET PRSO,SEEN
|
|
PRINTI "Opening the small mailbox reveals a leaflet"
|
|
PRINT PTAB
|
|
ICALL1 KERBLAM
|
|
PRINTI "An Implementor appears in a dazzling flash! He slams the mailbox on "
|
|
ICALL2 THE-PRINT,BOTTLE
|
|
PRINTR " shut, wags a disapproving finger and disappears before you can speak or move."
|
|
?CND8: PRINT CANT
|
|
PRINTI "open the "
|
|
PRINT STR?751
|
|
PRINT PERIOD
|
|
RETURN 2
|
|
?CND4: ICALL USELESS,STR?751,TRUE-VALUE
|
|
RETURN 2
|
|
?CCL3: CALL1 SEE-COLOR?
|
|
ZERO? STACK /?CND1
|
|
INC 'C
|
|
CALL ADJ-USED?,W?GRAY,W?GREY,W?WHITE
|
|
ZERO? STACK /?CND1
|
|
CALL2 NOUN-USED?,W?HOUSE
|
|
ZERO? STACK \?CND1
|
|
PRINT XTHE
|
|
PRINTI "wine in "
|
|
ICALL2 THE-PRINT,BOTTLE
|
|
PRINTI " is red, not gray."
|
|
CRLF
|
|
RETURN 2
|
|
?CND1: ZERO? NOW-PRSI? /?CCL23
|
|
EQUAL? PRSA,V?LOOK-THRU \FALSE
|
|
EQUAL? PRSO,PRSI,ME,HEAD \?CND26
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CND26: PRINTI "When viewed through "
|
|
ICALL1 THEI-PRINT
|
|
PRINTI ", "
|
|
EQUAL? PRSO,AMULET \?CND28
|
|
ZERO? AMULET-WORD \?CND30
|
|
ICALL1 SETUP-AMULET
|
|
?CND30: BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
PRINTI "the word """
|
|
GETP AMULET,P?NAME-TABLE
|
|
ICALL2 PRINT-TABLE,STACK
|
|
PRINTI """ stands out clearly against the swirls and flourishes of the "
|
|
PRINTD AMULET
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND28: ICALL1 THE-PRINT
|
|
PRINTI " appears "
|
|
ZERO? C /?CND32
|
|
PRINTR "pale and ruddy."
|
|
?CND32: PRINTR "gray and muddy."
|
|
?CCL23: EQUAL? PRSA,V?EXAMINE,V?READ,V?LOOK-INSIDE /?CTR34
|
|
EQUAL? PRSA,V?SEARCH \?CCL35
|
|
?CTR34: EQUAL? PRSA,V?EXAMINE,V?READ \?CND38
|
|
PRINT XTHE
|
|
PRINTI "words """
|
|
ICALL2 ITALICIZE,STR?752
|
|
PRINTI ", bottled by "
|
|
ICALL2 FROBOZZ,STR?753
|
|
PRINTI ", Ltd"" appear on "
|
|
ICALL1 THE-PRINT
|
|
PRINTI "'s label, above a picture of a white house with a small mailbox."
|
|
EQUAL? PRSA,V?READ \?CND40
|
|
CRLF
|
|
RTRUE
|
|
?CND40: PRINTC SP
|
|
?CND38: PRINTI "A pale "
|
|
ZERO? C /?CCL44
|
|
PRINTB W?RED
|
|
JUMP ?CND42
|
|
?CCL44: PRINTB W?GRAY
|
|
?CND42: PRINTR " liquid swishes around inside. You can see right through it."
|
|
?CCL35: EQUAL? PRSA,V?SHAKE,V?SPIN \?CCL46
|
|
PRINT XTHE
|
|
ZERO? C /?CCL49
|
|
PRINTB W?RED
|
|
JUMP ?CND47
|
|
?CCL49: PRINTB W?GRAY
|
|
?CND47: PRINTI " liquid in "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " swishes around."
|
|
?CCL46: EQUAL? PRSA,V?OPEN,V?DRINK,V?DRINK-FROM \?CCL51
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " is tightly corked."
|
|
?CCL51: EQUAL? PRSA,V?OPEN-WITH \?CCL53
|
|
PRINTI "You'll never open "
|
|
ICALL1 THE-PRINT
|
|
PRINT WITH
|
|
ICALL1 THEI-PRINT
|
|
PRINTR ". Only a corkscrew will do."
|
|
?CCL53: EQUAL? PRSA,V?HIT,V?MUNG,V?KICK \?CCL55
|
|
ICALL1 PRSO-SHATTER
|
|
PRINTI ", and wine "
|
|
PRINT STR?754
|
|
RTRUE
|
|
?CCL55: EQUAL? PRSA,V?SPIN \FALSE
|
|
EQUAL? P-PRSA-WORD,W?SPIN \FALSE
|
|
PRINTR "Lonely?"
|
|
|
|
|
|
.FUNCT CRATES-F
|
|
EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH,V?OPEN /?CTR2
|
|
EQUAL? PRSA,V?OPEN-WITH \?CCL3
|
|
?CTR2: PRINTR "They're all empty."
|
|
?CCL3: EQUAL? PRSA,V?SHAKE,V?KICK,V?PUSH \?CCL7
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " sways dangerously back and forth."
|
|
?CCL7: CALL2 HANDLE-STAIRS?,BARRELTOP
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SETUP-AMULET,TBL
|
|
CALL2 PICK-ONE,MAGIC-WORDS >TBL
|
|
PUT TBL,2,1
|
|
GET TBL,0 >AMULET-WORD
|
|
GET TBL,1
|
|
PUTP AMULET,P?NAME-TABLE,STACK
|
|
GETPT AMULET,P?SYNONYM
|
|
PUT STACK,0,AMULET-WORD
|
|
GETPT AMULET,P?ADJECTIVE
|
|
PUT STACK,0,AMULET-WORD
|
|
FSET AMULET,NAMED
|
|
FSET AMULET,IDENTIFIED
|
|
FSET AMULET,PROPER
|
|
RFALSE
|
|
|
|
|
|
.FUNCT AMULET-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
CALL NOUN-USED?,W?STARS,W?STAR
|
|
ZERO? STACK \?CTR4
|
|
CALL2 ADJ-USED?,W?SILVER
|
|
ZERO? STACK /?CCL5
|
|
?CTR4: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?READ \?CCL10
|
|
ZERO? AMULET-TIMER /?CND11
|
|
GRTR? AMULET-STARS,1 \?CCL15
|
|
PRINT STR?755
|
|
JUMP ?CND13
|
|
?CCL15: PRINT STR?756
|
|
?CND13: PRINT STR?757
|
|
PRINTR "is glowing."
|
|
?CND11: PRINT STR?756
|
|
EQUAL? AMULET-STARS,1 /?CND16
|
|
PRINTC 115
|
|
?CND16: PRINT STR?757
|
|
PRINTI "twinkle"
|
|
EQUAL? AMULET-STARS,1 \?CND18
|
|
PRINTC 115
|
|
?CND18: PRINTR " with hidden power."
|
|
?CCL10: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CND1
|
|
PRINT STR?756
|
|
GRTR? AMULET-STARS,1 \?CCL23
|
|
PRINTI "s are "
|
|
JUMP ?CND21
|
|
?CCL23: PRINT SIS
|
|
?CND21: ICALL1 ETCHED
|
|
RTRUE
|
|
?CCL5: CALL NOUN-USED?,W?SWIRLS,W?FLOURISHES
|
|
ZERO? STACK \?CTR24
|
|
CALL2 ADJ-USED?,W?RED
|
|
ZERO? STACK /?CCL25
|
|
?CTR24: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?READ \?CCL30
|
|
PRINT XTHE
|
|
ICALL1 SAY-RED
|
|
PRINT STR?758
|
|
PRINTR " are skillfully wrought."
|
|
?CCL30: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CND1
|
|
PRINT XTHE
|
|
PRINTI "swirls are "
|
|
ICALL1 ETCHED
|
|
RTRUE
|
|
?CCL25: CALL NOUN-USED?,W?RUNES,W?RUNE
|
|
ZERO? STACK \?CCL32
|
|
CALL2 ADJ-USED?,W?GREEN
|
|
ZERO? STACK /?CND1
|
|
?CCL32: EQUAL? PRSA,V?READ,V?EXAMINE,V?LOOK-ON \?CCL37
|
|
ICALL1 READ-RUNES
|
|
RTRUE
|
|
?CCL37: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CND1
|
|
PRINT XTHE
|
|
PRINTI "runes are "
|
|
ICALL1 ETCHED
|
|
RTRUE
|
|
?CND1: CALL2 STRANGLE?,AMULET
|
|
ZERO? STACK /?CCL41
|
|
RETURN 2
|
|
?CCL41: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL45
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is inscribed with "
|
|
ICALL1 SAY-GREEN
|
|
PRINTI " runes, "
|
|
PRINT STR?759
|
|
ICALL1 SAY-RED
|
|
PRINT STR?758
|
|
GRTR? AMULET-STARS,0 \?CND46
|
|
PRINT AND
|
|
EQUAL? AMULET-STARS,1 \?CCL50
|
|
PRINTR "a shiny star."
|
|
?CCL50: EQUAL? AMULET-STARS,2 \?CCL52
|
|
PRINTB W?TWO
|
|
JUMP ?CND48
|
|
?CCL52: PRINTB W?THREE
|
|
?CND48: PRINTI " shiny stars"
|
|
?CND46: PRINT PERIOD
|
|
RTRUE
|
|
?CCL45: EQUAL? PRSA,V?READ \?CCL54
|
|
ICALL1 READ-RUNES
|
|
RTRUE
|
|
?CCL54: EQUAL? PRSA,V?SAY,V?YELL \?CCL56
|
|
ZERO? AMULET-WORD /?CCL56
|
|
CALL2 NOUN-USED?,AMULET-WORD
|
|
ZERO? STACK /?CCL56
|
|
ICALL1 SAY-AMULET-WORD
|
|
RTRUE
|
|
?CCL56: EQUAL? PRSA,V?WEAR \?CCL61
|
|
ZERO? AMULET-TIMER /?CCL61
|
|
FSET? PRSO,WORN /?CCL61
|
|
ICALL1 PUTON
|
|
ICALL1 MEGA-STRENGTH
|
|
RTRUE
|
|
?CCL61: EQUAL? PRSA,V?TAKE-OFF \FALSE
|
|
ZERO? AMULET-TIMER /FALSE
|
|
IN? PRSO,PLAYER \FALSE
|
|
FSET? PRSO,WORN \FALSE
|
|
ICALL1 TAKEOFF
|
|
ICALL1 NORMAL-STRENGTH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT STRANGLE?,OBJ,X
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
FSET? SKELETON,SEEN /FALSE
|
|
FSET SKELETON,SEEN
|
|
GET STATS,ENDURANCE
|
|
MUL 20,STACK
|
|
DIV STACK,100 >CHOKE
|
|
ZERO? CHOKE \?CND6
|
|
INC 'CHOKE
|
|
?CND6: ICALL2 QUEUE,I-STRANGLE
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
SET 'LAST-MONSTER,SKELETON
|
|
SET 'LAST-MONSTER-DIR,FALSE-VALUE
|
|
SET 'P-IT-OBJECT,SKELETON
|
|
SET 'P-HIM-OBJECT,SKELETON
|
|
PRINTI "You reach down to touch "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI ".."
|
|
PRINT PTAB
|
|
ICALL1 CLAMP
|
|
ICALL1 BMODE-ON
|
|
SUB 0,CHOKE
|
|
ICALL2 UPDATE-STAT,STACK
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CLAMP
|
|
ICALL2 ITALICIZE,STR?521
|
|
PRINTR "! Ten bony fingers clamp around your throat!"
|
|
|
|
|
|
.FUNCT ETCHED
|
|
PRINTI "permanently etched onto the "
|
|
PRINTD PRSO
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT READ-RUNES
|
|
PRINT XTHE
|
|
ICALL1 SAY-GREEN
|
|
PRINTI " runes are hard to see. They're "
|
|
PRINT STR?759
|
|
PRINT LTHE
|
|
ICALL1 SAY-RED
|
|
PRINT STR?758
|
|
PRINTI " on the "
|
|
PRINTD PRSO
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SAY-RED
|
|
CALL1 SEE-COLOR?
|
|
ZERO? STACK /?CND1
|
|
PRINTB W?RED
|
|
RFALSE
|
|
?CND1: PRINTB W?GRAY
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SAY-GREEN
|
|
CALL1 SEE-COLOR?
|
|
ZERO? STACK /?CND1
|
|
PRINTB W?GREEN
|
|
RFALSE
|
|
?CND1: PRINTB W?GRAY
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SAY-AMULET-WORD
|
|
ZERO? AMULET-STARS /?CND1
|
|
FSET? AMULET,NEUTRALIZED /?CND1
|
|
CALL2 NO-MAGIC-HERE?,AMULET
|
|
ZERO? STACK \TRUE
|
|
CALL2 VISIBLE?,AMULET
|
|
ZERO? STACK /?CND1
|
|
ZERO? AMULET-TIMER /?CCL9
|
|
ICALL2 STAR-FADES,TRUE-VALUE
|
|
ICALL1 STOP-AMULET
|
|
CALL2 WEARING-MAGIC?,AMULET
|
|
ZERO? STACK /TRUE
|
|
ICALL1 NORMAL-STRENGTH
|
|
RTRUE
|
|
?CCL9: GRTR? AMULET-STARS,1 \?CCL13
|
|
PRINT STR?755
|
|
JUMP ?CND7
|
|
?CCL13: PRINT STR?756
|
|
?CND7: PRINT STR?757
|
|
PRINTI "begins to glow."
|
|
CRLF
|
|
GETP AMULET,P?VALUE
|
|
SUB STACK,3
|
|
PUTP AMULET,P?VALUE,STACK
|
|
CALL2 WEARING-MAGIC?,AMULET
|
|
ZERO? STACK /?CND14
|
|
ICALL1 MEGA-STRENGTH
|
|
?CND14: ICALL2 LIGHT-ROOM-WITH,AMULET
|
|
SET 'AMULET-TIMER,3
|
|
ICALL2 QUEUE,I-AMULET
|
|
RTRUE
|
|
?CND1: ICALL2 NOTHING-HAPPENS,FALSE-VALUE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MEGA-STRENGTH,S
|
|
GET STATS,STRENGTH >S
|
|
LESS? S,2 \?CCL3
|
|
SET 'S,9
|
|
JUMP ?CND1
|
|
?CCL3: MUL 9,S >S
|
|
?CND1: PRINT TAB
|
|
PRINTI "A pulse of energy surges through your muscles!"
|
|
CRLF
|
|
ICALL UPDATE-STAT,S,STRENGTH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NORMAL-STRENGTH,S,MAX
|
|
PRINT TAB
|
|
PRINTI "The tension in your muscles subsides."
|
|
CRLF
|
|
GET STATS,STRENGTH >S
|
|
GET MAXSTATS,STRENGTH >MAX
|
|
GRTR? S,MAX \TRUE
|
|
SUB S,MAX
|
|
SUB 0,STACK
|
|
ICALL UPDATE-STAT,STACK,STRENGTH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT STOP-AMULET
|
|
ICALL2 DEQUEUE,I-AMULET
|
|
SET 'AMULET-TIMER,0
|
|
FCLEAR AMULET,LIGHTED
|
|
DLESS? 'AMULET-STARS,1 \?CND1
|
|
SET 'AMULET-STARS,0
|
|
ICALL REPLACE-SYN?,AMULET,W?STAR,W?ZZZP
|
|
ICALL REPLACE-SYN?,AMULET,W?STARS,W?ZZZP
|
|
ICALL REPLACE-ADJ?,AMULET,W?SILVER,W?ZZZP
|
|
?CND1: CALL2 VISIBLE?,AMULET
|
|
ZERO? STACK /FALSE
|
|
ICALL1 SAY-IF-HERE-LIT
|
|
RFALSE
|
|
|
|
|
|
.FUNCT KITCHEN-F,X
|
|
EQUAL? HERE,IN-KITCHEN \?CCL3
|
|
CALL1 HERE-F
|
|
RSTACK
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
INTBL? PRSA,E-VERBS,ENTER-VERBS >X \FALSE
|
|
ICALL2 DO-WALK,P?WEST
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TEARS-PARASOL,WRD1,WRD2
|
|
SET 'WRD1,W?OPENED
|
|
SET 'WRD2,W?OPEN
|
|
FSET? PARASOL,OPENED /?CND1
|
|
SET 'WRD1,W?CLOSED
|
|
?CND1: ICALL REPLACE-ADJ?,PARASOL,WRD1,W?BROKEN
|
|
FSET PARASOL,MUNGED
|
|
FCLEAR PARASOL,OPENED
|
|
FCLEAR PARASOL,VOWEL
|
|
FCLEAR PARASOL,BUOYANT
|
|
PUTP PARASOL,P?VALUE,0
|
|
PRINTI " tears "
|
|
ICALL2 THE-PRINT,PARASOL
|
|
PRINTI " from your grasp a little too soon"
|
|
RFALSE
|
|
|
|
|
|
.FUNCT CROWN-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE \?CCL5
|
|
PRINTI "The tiny crown "
|
|
IN? PRSO,CRAB \?CND6
|
|
PRINTI "on the crab's head "
|
|
?CND6: PRINTR "is exquisitely wrought in what appears to be solid gold."
|
|
?CCL5: EQUAL? PRSA,V?WEAR,V?USE \FALSE
|
|
PRINTR "Your head is too fat."
|
|
|
|
|
|
.FUNCT GREAT-SEA-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 WATER-VANISH
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL7
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " stretches east"
|
|
PRINT STR?725
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?LOOK-INSIDE,V?LOOK-UNDER,V?SEARCH \?CCL9
|
|
PRINT STR?760
|
|
PRINTR "in the foamy waters."
|
|
?CCL9: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL11
|
|
ICALL2 DO-WALK,P?EAST
|
|
RTRUE
|
|
?CCL11: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \?CCL13
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
?CCL13: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
PRINT CANT
|
|
PRINTR "reach the water from here."
|
|
|
|
|
|
.FUNCT ACCARDI-F,X
|
|
EQUAL? HERE,IN-ACCARDI \?CCL3
|
|
CALL1 HERE-F
|
|
RSTACK
|
|
?CCL3: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \FALSE
|
|
SET 'X,P?WEST
|
|
EQUAL? HERE,IN-HALL \?CCL8
|
|
SET 'X,P?SOUTH
|
|
JUMP ?CND6
|
|
?CCL8: EQUAL? HERE,AT-BRINE \?CND6
|
|
SET 'X,P?NE
|
|
?CND6: ICALL2 DO-WALK,X
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TOWER-F,X
|
|
INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL3
|
|
ICALL2 DO-WALK,P?UP
|
|
RTRUE
|
|
?CCL3: INTBL? PRSA,X-VERBS,CLIMB-DOWN-VERBS >X \?CCL5
|
|
ICALL2 DO-WALK,P?DOWN
|
|
RTRUE
|
|
?CCL5: CALL1 HERE-F
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TOWER-STEPS-F
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
CALL1 MIGHT-TRIP?
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?CLIMB-ON,V?CLIMB-UP,V?CLIMB-OVER \?CCL7
|
|
ICALL2 DO-WALK,P?UP
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?CLIMB-DOWN \?CCL9
|
|
ICALL2 DO-WALK,P?DOWN
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?COUNT \?CCL11
|
|
PRINTR "There are fewer than 69,105 steps."
|
|
?CCL11: EQUAL? PRSA,V?LOOK-UP,V?LOOK-DOWN \FALSE
|
|
ICALL1 CANT-SEE-MUCH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BOUTIQUE-F,X
|
|
EQUAL? HERE,IN-BOUTIQUE \?CCL3
|
|
CALL1 HERE-F
|
|
RSTACK
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
INTBL? PRSA,E-VERBS,ENTER-VERBS >X \FALSE
|
|
ICALL2 DO-WALK,P?NORTH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GONDOLA-F,CONTEXT,OBJ,X
|
|
ZERO? CONTEXT /?CCL3
|
|
SET 'OBJ,PRSO
|
|
ZERO? NOW-PRSI? /?CND4
|
|
SET 'OBJ,PRSI
|
|
?CND4: EQUAL? CONTEXT,M-BEG \?CCL8
|
|
CALL CANT-REACH-WHILE-IN?,OBJ,GONDOLA
|
|
RSTACK
|
|
?CCL8: EQUAL? CONTEXT,M-CONT \FALSE
|
|
IN? PLAYER,GONDOLA /FALSE
|
|
ZERO? OBJ /FALSE
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL YOUD-HAVE-TO,STR?761,GONDOLA
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL19
|
|
IN? PLAYER,PRSO /?CCL19
|
|
EQUAL? HERE,AT-DOCK \?CND22
|
|
EQUAL? GON,0,1,14 \?CND22
|
|
PRINTI """Wait yer turn, "
|
|
FSET? PLAYER,FEMALE \?CCL28
|
|
PRINTB W?LADY
|
|
JUMP ?CND26
|
|
?CCL28: PRINTI "buddy"
|
|
?CND26: PRINTR ","" growls a passenger in front of you."
|
|
?CND22: SET 'OLD-HERE,FALSE-VALUE
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
MOVE WINNER,PRSO
|
|
FCLEAR PRSO,NODESC
|
|
EQUAL? HERE,AT-DOCK \?CCL31
|
|
PRINTI "You shove your way "
|
|
JUMP ?CND29
|
|
?CCL31: PRINT STR?762
|
|
?CND29: PRINTI "into "
|
|
ICALL1 THE-PRINT
|
|
ICALL1 RELOOK
|
|
RTRUE
|
|
?CCL19: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \?CCL33
|
|
IN? PLAYER,PRSO \?CCL33
|
|
FSET PRSO,NODESC
|
|
EQUAL? HERE,OVER-JUNGLE \?CND36
|
|
ICALL1 JUNGLE-JUMP
|
|
RTRUE
|
|
?CND36: SET 'OLD-HERE,FALSE-VALUE
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
MOVE WINNER,HERE
|
|
EQUAL? HERE,AT-DOCK \?CND38
|
|
PRINT STR?763
|
|
PRINTI "out of "
|
|
ICALL1 THE-PRINT
|
|
ICALL1 RELOOK
|
|
RTRUE
|
|
?CND38: PRINT STR?762
|
|
PRINT STR?764
|
|
ICALL1 RELOOK
|
|
PRINT TAB
|
|
PRINTI """Passengers will please remain seated,"" drones "
|
|
ICALL2 THE-PRINT,CONDUCTOR
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL33: EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \FALSE
|
|
PRINTI "A decal on the side says, """
|
|
ICALL2 FROBOZZ,STR?765
|
|
PRINT PERQ
|
|
RTRUE
|
|
|
|
|
|
.FUNCT JUNGLE-JUMP
|
|
PRINT STR?762
|
|
PRINT STR?764
|
|
PRINTI ", and plummet to your death in the jungle far below"
|
|
ICALL1 JIGS-UP
|
|
RFALSE
|
|
|
|
|
|
.FUNCT DGONDOLA-F,X
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X /?CTR2
|
|
INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL3
|
|
?CTR2: ICALL2 CTHE-PRINT,DGONDOLA
|
|
PRINTR " is too far away now."
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
INTBL? PRSA,SEEVERBS,NSVERBS >X \FALSE
|
|
ICALL1 CANT-SEE-MUCH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SUPPORT-F,X
|
|
INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL3
|
|
EQUAL? HERE,OVER-JUNGLE \?CCL6
|
|
ICALL1 CANT-FROM-HERE
|
|
RTRUE
|
|
?CCL6: IN? PLAYER,GONDOLA \?CND4
|
|
ICALL PERFORM,V?EXIT,GONDOLA
|
|
RTRUE
|
|
?CND4: ICALL2 DO-WALK,P?UP
|
|
RTRUE
|
|
?CCL3: INTBL? PRSA,X-VERBS,CLIMB-DOWN-VERBS >X \?CCL9
|
|
EQUAL? HERE,OVER-JUNGLE \?CCL12
|
|
ICALL1 CANT-FROM-HERE
|
|
RTRUE
|
|
?CCL12: IN? PLAYER,GONDOLA \?CND10
|
|
ICALL2 NOT-ON,SUPPORT
|
|
RTRUE
|
|
?CND10: ICALL2 DO-WALK,P?DOWN
|
|
RTRUE
|
|
?CCL9: EQUAL? HERE,OVER-JUNGLE \FALSE
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL18
|
|
ICALL1 CANT-FROM-HERE
|
|
RTRUE
|
|
?CCL18: INTBL? PRSA,SEEVERBS,NSVERBS >X \FALSE
|
|
ICALL1 CANT-SEE-MUCH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DOCK-F,X
|
|
EQUAL? HERE,AT-DOCK \?CCL3
|
|
CALL1 HERE-F
|
|
RSTACK
|
|
?CCL3: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL5
|
|
CALL1 CANT-FROM-HERE
|
|
RSTACK
|
|
?CCL5: INTBL? PRSA,SEEVERBS,NSVERBS >X \FALSE
|
|
ICALL1 CANT-SEE-MUCH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ZBRIDGE-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X /?CCL5
|
|
EQUAL? PRSA,V?HANG-ON \FALSE
|
|
?CCL5: ICALL1 VANISH
|
|
ICALL1 CTHE-PRINT
|
|
EQUAL? PRSO,PARASOL,LANTERN \?CND8
|
|
PRINTI " dangles uncertainly for a moment,"
|
|
?CND8: PRINTR " falls off the slippery ropes and plummets into the roaring water."
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL11
|
|
PRINTI "The long, narrow "
|
|
ICALL2 DPRINT,PRSO
|
|
PRINTI " leads "
|
|
EQUAL? HERE,ON-BRIDGE,SFORD \?CCL14
|
|
PRINTB W?NORTH
|
|
EQUAL? HERE,ON-BRIDGE \?CND12
|
|
PRINT AND
|
|
PRINTB W?SOUTH
|
|
JUMP ?CND12
|
|
?CCL14: PRINTB W?SOUTH
|
|
?CND12: PRINTR " across the roaring water."
|
|
?CCL11: EQUAL? PRSA,V?ENTER,V?STAND-ON,V?WALK-TO \?CCL18
|
|
EQUAL? HERE,ON-BRIDGE \?CCL21
|
|
ICALL1 ALREADY-ON
|
|
RTRUE
|
|
?CCL21: EQUAL? HERE,SFORD \?CND19
|
|
ICALL2 DO-WALK,P?NORTH
|
|
RTRUE
|
|
?CND19: ICALL2 DO-WALK,P?SOUTH
|
|
RTRUE
|
|
?CCL18: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL24
|
|
SET 'X,P?NORTH
|
|
EQUAL? HERE,SFORD /?CND25
|
|
EQUAL? HERE,ON-BRIDGE \?CCL27
|
|
GETP HERE,P?DNUM
|
|
EQUAL? STACK,STR?733 /?CND25
|
|
?CCL27: SET 'X,P?SOUTH
|
|
?CND25: ICALL2 DO-WALK,X
|
|
RTRUE
|
|
?CCL24: CALL1 JUMPING-OFF?
|
|
ZERO? STACK \?CTR30
|
|
EQUAL? PRSA,V?STAND-UNDER \?CCL31
|
|
?CTR30: ICALL2 DO-WALK,P?DOWN
|
|
RTRUE
|
|
?CCL31: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \FALSE
|
|
EQUAL? HERE,ON-BRIDGE /?CND36
|
|
ICALL1 NOT-ON
|
|
RTRUE
|
|
?CND36: ICALL1 V-WALK-AROUND
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SWALL-F,X
|
|
CALL NOUN-USED?,W?OPENING,W?HOLE
|
|
ZERO? STACK /?CCL3
|
|
FSET? SWALL,OPENED /?CCL3
|
|
ICALL2 NONE-HERE,W?OPENING
|
|
RETURN 2
|
|
?CCL3: FSET? SWALL,SEEN /?CCL9
|
|
CALL NOUN-USED?,W?DOOR,W?DOORWAY
|
|
ZERO? STACK /?CCL9
|
|
ICALL2 NONE-HERE,W?DOOR
|
|
RETURN 2
|
|
?CCL9: CALL2 NOUN-USED?,W?OUTLINE
|
|
ZERO? STACK /?CND1
|
|
FSET? SWALL,OPENED \?CCL17
|
|
PRINT XTHE
|
|
PRINTB W?OUTLINE
|
|
PRINTI " is now an "
|
|
PRINTB W?OPENING
|
|
PRINT PERIOD
|
|
RETURN 2
|
|
?CCL17: FSET? SWALL,SEEN /?CND1
|
|
ICALL2 NONE-HERE,W?OUTLINE
|
|
RETURN 2
|
|
?CND1: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?SAY,V?YELL \?CCL27
|
|
ZERO? WALL-WORD /?CCL27
|
|
CALL2 NOUN-USED?,WALL-WORD
|
|
ZERO? STACK \?CTR26
|
|
CALL2 ADJ-USED?,WALL-WORD
|
|
ZERO? STACK /?CCL27
|
|
?CTR26: ICALL1 SAY-WALL-WORD
|
|
RTRUE
|
|
?CCL27: EQUAL? PRSA,V?EXAMINE,V?SEARCH,V?LOOK-ON /?CTR33
|
|
EQUAL? PRSA,V?LOOK-INSIDE,V?LOOK-BEHIND,V?LOOK-UNDER \?CCL34
|
|
?CTR33: FSET? PRSO,SEEN \?CND37
|
|
ICALL2 SEE-DOORLIKE,PRSO
|
|
EQUAL? HERE,SE-CAVE \?CND39
|
|
PRINTB W?SOUTHEAST
|
|
PRINTC SP
|
|
?CND39: PRINTB W?WALL
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND37: ICALL1 SEAMLESS-WALL
|
|
RTRUE
|
|
?CCL34: EQUAL? PRSA,V?ENTER,V?WALK-TO,V?THROUGH /?CTR41
|
|
EQUAL? PRSA,V?WALK-AROUND,V?FOLLOW \?CCL42
|
|
?CTR41: SET 'X,P?SW
|
|
EQUAL? HERE,NE-CAVE \?CND45
|
|
SET 'X,P?NE
|
|
?CND45: ICALL2 DO-WALK,X
|
|
RTRUE
|
|
?CCL42: EQUAL? PRSA,V?OPEN,V?PUSH,V?MOVE \?CCL48
|
|
FSET? PRSO,OPENED \?CCL51
|
|
ICALL2 ITS-ALREADY,STR?518
|
|
RTRUE
|
|
?CCL51: FSET? SWALL,SEEN /?CND49
|
|
ICALL1 SHOVE-STRAIN
|
|
RTRUE
|
|
?CND49: ICALL1 OPEN-SWALL
|
|
ICALL1 WALLPUSH
|
|
RTRUE
|
|
?CCL48: EQUAL? PRSA,V?CLOSE,V?PULL \FALSE
|
|
FSET? PRSO,OPENED /?CND55
|
|
FSET? SWALL,SEEN /?CND57
|
|
ICALL2 NONE-HERE,W?OPENING
|
|
RTRUE
|
|
?CND57: ICALL2 ITS-ALREADY,STR?531
|
|
RTRUE
|
|
?CND55: ICALL1 CLOSE-SWALL
|
|
ICALL1 WALLCLOSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT WALLCLOSE
|
|
PRINTR "You slowly pull the secret door shut."
|
|
|
|
|
|
.FUNCT WALLPUSH
|
|
PRINTR "You push against the outline on the wall with all your might, and an opening appears."
|
|
|
|
|
|
.FUNCT NONE-HERE,WRD
|
|
PRINT DONT
|
|
PRINTI "see any "
|
|
PRINTB WRD
|
|
PRINTR "s here."
|
|
|
|
|
|
.FUNCT CLOSE-SWALL
|
|
FCLEAR SWALL,OPENED
|
|
ICALL NEW-EXIT?,SE-WALL,P?NW,FCONNECT,CANT-ENTER-WALL
|
|
ICALL NEW-EXIT?,SE-WALL,P?IN,FCONNECT,CANT-ENTER-WALL
|
|
ICALL NEW-EXIT?,SE-CAVE,P?SE,FCONNECT,CANT-ENTER-WALL
|
|
ICALL NEW-EXIT?,SE-CAVE,P?OUT,FCONNECT,CANT-ENTER-WALL
|
|
FCLEAR SE-CAVE,LIGHTED
|
|
PUTP SE-CAVE,P?BEAM-DIR,NO-MIRROR
|
|
ICALL1 REFLECTIONS
|
|
ICALL1 REFRESH-MAP
|
|
RTRUE
|
|
|
|
|
|
.FUNCT OPEN-SWALL,X
|
|
FSET SWALL,OPENED
|
|
ICALL NEW-EXIT?,SE-WALL,P?NW,641,SE-CAVE
|
|
ICALL NEW-EXIT?,SE-WALL,P?IN,641,SE-CAVE
|
|
ICALL NEW-EXIT?,SE-CAVE,P?SE,641,SE-WALL
|
|
ICALL NEW-EXIT?,SE-CAVE,P?OUT,641,SE-WALL
|
|
FSET SE-CAVE,LIGHTED
|
|
PUTP SE-CAVE,P?BEAM-DIR,I-SE
|
|
EQUAL? HERE,SE-CAVE \?CND1
|
|
SET 'LIT?,TRUE-VALUE
|
|
?CND1: ICALL1 REFLECTIONS
|
|
EQUAL? HERE,SE-CAVE /TRUE
|
|
ICALL1 REFRESH-MAP
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NWALL-F,X
|
|
CALL NOUN-USED?,W?OPENING,W?HOLE
|
|
ZERO? STACK /?CCL3
|
|
FSET? NWALL,OPENED /?CCL3
|
|
ICALL2 NONE-HERE,W?OPENING
|
|
RETURN 2
|
|
?CCL3: FSET? NWALL,SEEN /?CCL9
|
|
CALL NOUN-USED?,W?DOOR,W?DOORWAY
|
|
ZERO? STACK /?CCL9
|
|
ICALL2 NONE-HERE,W?DOOR
|
|
RETURN 2
|
|
?CCL9: CALL2 NOUN-USED?,W?OUTLINE
|
|
ZERO? STACK /?CND1
|
|
FSET? NWALL,OPENED \?CCL17
|
|
PRINT XTHE
|
|
PRINTB W?OUTLINE
|
|
PRINTI " is now an "
|
|
PRINTB W?OPENING
|
|
PRINT PERIOD
|
|
RETURN 2
|
|
?CCL17: FSET? NWALL,SEEN /?CND1
|
|
ICALL2 NONE-HERE,W?OUTLINE
|
|
RETURN 2
|
|
?CND1: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?SAY,V?YELL \?CCL27
|
|
ZERO? WALL-WORD /?CCL27
|
|
CALL2 NOUN-USED?,WALL-WORD
|
|
ZERO? STACK \?CTR26
|
|
CALL2 ADJ-USED?,WALL-WORD
|
|
ZERO? STACK /?CCL27
|
|
?CTR26: ICALL1 SAY-WALL-WORD
|
|
RTRUE
|
|
?CCL27: EQUAL? PRSA,V?EXAMINE,V?SEARCH,V?LOOK-ON /?CTR33
|
|
EQUAL? PRSA,V?LOOK-INSIDE,V?LOOK-BEHIND,V?LOOK-UNDER \?CCL34
|
|
?CTR33: FSET? NWALL,SEEN \?CND37
|
|
ICALL2 SEE-DOORLIKE,PRSO
|
|
EQUAL? HERE,NE-CAVE \?CND39
|
|
PRINTB W?NORTHWEST
|
|
PRINTC SP
|
|
?CND39: PRINTB W?WALL
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND37: ICALL1 SEAMLESS-WALL
|
|
RTRUE
|
|
?CCL34: EQUAL? PRSA,V?ENTER,V?WALK-TO,V?THROUGH /?CTR41
|
|
EQUAL? PRSA,V?WALK-AROUND,V?FOLLOW \?CCL42
|
|
?CTR41: SET 'X,P?SE
|
|
EQUAL? HERE,NE-CAVE \?CND45
|
|
SET 'X,P?NW
|
|
?CND45: ICALL2 DO-WALK,X
|
|
RTRUE
|
|
?CCL42: EQUAL? PRSA,V?OPEN,V?PUSH,V?MOVE \?CCL48
|
|
FSET? PRSO,OPENED \?CCL51
|
|
ICALL2 ITS-ALREADY,STR?518
|
|
RTRUE
|
|
?CCL51: FSET? NWALL,SEEN /?CND49
|
|
ICALL1 SHOVE-STRAIN
|
|
RTRUE
|
|
?CND49: ICALL1 OPEN-NWALL
|
|
ICALL1 WALLPUSH
|
|
RTRUE
|
|
?CCL48: EQUAL? PRSA,V?CLOSE,V?PULL \FALSE
|
|
FSET? PRSO,OPENED /?CND55
|
|
FSET? NWALL,SEEN \?CND57
|
|
ICALL2 NONE-HERE,W?OPENING
|
|
RTRUE
|
|
?CND57: ICALL2 ITS-ALREADY,STR?531
|
|
RTRUE
|
|
?CND55: ICALL1 CLOSE-NWALL
|
|
ICALL1 WALLCLOSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SEE-DOORLIKE,OBJ
|
|
PRINT STR?723
|
|
FSET? OBJ,OPENED \?CCL3
|
|
PRINTB W?OPENING
|
|
JUMP ?CND1
|
|
?CCL3: PRINTB W?OUTLINE
|
|
?CND1: PRINT STR?495
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SHOVE-STRAIN
|
|
PRINTI "You shove and strain against "
|
|
ICALL1 THE-PRINT
|
|
PRINTR ", but to no avail."
|
|
|
|
|
|
.FUNCT SEAMLESS-WALL
|
|
PRINTR "All you see is a seamless wall of stone."
|
|
|
|
|
|
.FUNCT CLOSE-NWALL
|
|
FCLEAR NWALL,OPENED
|
|
ICALL NEW-EXIT?,NE-WALL,P?SE,FCONNECT,CANT-ENTER-WALL
|
|
ICALL NEW-EXIT?,NE-WALL,P?IN,FCONNECT,CANT-ENTER-WALL
|
|
ICALL NEW-EXIT?,NE-CAVE,P?NW,FCONNECT,CANT-ENTER-WALL
|
|
ICALL NEW-EXIT?,NE-CAVE,P?OUT,FCONNECT,CANT-ENTER-WALL
|
|
FCLEAR NE-CAVE,LIGHTED
|
|
ICALL1 REFRESH-MAP
|
|
RTRUE
|
|
|
|
|
|
.FUNCT OPEN-NWALL,X
|
|
FSET NWALL,OPENED
|
|
ICALL NEW-EXIT?,NE-WALL,P?SE,641,NE-CAVE
|
|
ICALL NEW-EXIT?,NE-WALL,P?IN,641,NE-CAVE
|
|
ICALL NEW-EXIT?,NE-CAVE,P?NW,641,NE-WALL
|
|
ICALL NEW-EXIT?,NE-CAVE,P?OUT,641,NE-WALL
|
|
FSET NE-CAVE,LIGHTED
|
|
EQUAL? HERE,NE-CAVE \?CND1
|
|
SET 'LIT?,TRUE-VALUE
|
|
?CND1: ICALL1 REFRESH-MAP
|
|
RTRUE
|
|
|
|
|
|
.FUNCT WEAPON-SHOP-F,X
|
|
EQUAL? HERE,IN-WEAPON \?CCL3
|
|
CALL1 HERE-F
|
|
RSTACK
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
INTBL? PRSA,E-VERBS,ENTER-VERBS >X \FALSE
|
|
ICALL2 DO-WALK,P?WEST
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MSHOPPE-F,X
|
|
EQUAL? HERE,IN-MAGICK \?CCL3
|
|
CALL1 HERE-F
|
|
RSTACK
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
INTBL? PRSA,E-VERBS,ENTER-VERBS >X \FALSE
|
|
ICALL2 DO-WALK,P?WEST
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MAGICK-DOOR-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?OPEN \?CCL5
|
|
FSET? PRSO,OPENED /?CCL5
|
|
ICALL2 TINKLES,W?OPEN
|
|
ICALL1 IOPEN
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?CLOSE \FALSE
|
|
FSET? PRSO,OPENED \FALSE
|
|
ICALL2 TINKLES,W?CLOSE
|
|
ICALL1 ICLOSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TINKLES,WRD
|
|
PRINTI "As you "
|
|
PRINTB WRD
|
|
PRINTC SP
|
|
ICALL1 THE-PRINT
|
|
PRINTR ", a concealed bell tinkles merrily."
|
|
|
|
|
|
.FUNCT LAMPHOUSE-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE \?CCL5
|
|
ICALL1 GET-SEXTANT
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is shattered beyond all usefulness"
|
|
FIRST? PRSO >X \?CND6
|
|
PRINT STR?766
|
|
PRINTI "lying upon the debris within"
|
|
?CND6: PRINT PERIOD
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL9
|
|
ICALL1 GET-SEXTANT
|
|
FIRST? PRSO >X \?CCL12
|
|
SET 'X,W?YOU
|
|
PRINTI "Sifting"
|
|
JUMP ?CND10
|
|
?CCL12: SET 'X,W?BUT
|
|
PRINTI "You sift"
|
|
?CND10: PRINTI " through the debris, "
|
|
PRINTB X
|
|
PRINTI " discover "
|
|
ICALL1 CONTENTS
|
|
PRINT PERIOD
|
|
SET 'P-IT-OBJECT,LAMPHOUSE
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?LAMP-ON \?CCL14
|
|
PRINTR "Not a chance."
|
|
?CCL14: EQUAL? PRSA,V?LAMP-OFF \?CCL16
|
|
PRINTR "It's been off for a long time."
|
|
?CCL16: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
PRINTI "The remains of "
|
|
ICALL1 THE-PRINT
|
|
PRINT STR?767
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GET-SEXTANT
|
|
FSET? SEXTANT,NODESC \FALSE
|
|
FCLEAR SEXTANT,NODESC
|
|
MOVE SEXTANT,PRSO
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SEXTANT-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL5
|
|
PRINTI "A quaint but obsolete instrument, long since replaced by Kaluzniacki's "
|
|
ICALL2 ITALICIZE,STR?768
|
|
PRINTR " spell. Nevertheless, even he would have hesitated to throw this sextant away, as it appears to be wrought of solid platinum."
|
|
?CCL5: EQUAL? PRSA,V?POINT-AT,V?TURN-TO,V?ADJUST /?CTR6
|
|
EQUAL? PRSA,V?OPEN,V?OPEN-WITH,V?CLOSE \FALSE
|
|
?CTR6: PRINTR "You have no idea how to operate this arcane instrument."
|
|
|
|
|
|
.FUNCT CHEST-F,CONTEXT,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
PRINTI "An old "
|
|
PRINTD CHEST
|
|
PRINTI " lies half-buried in debris."
|
|
RTRUE
|
|
?CCL3: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CND1
|
|
EQUAL? HERE,TOWER-TOP \?CCL9
|
|
FSET? DORN,LIVING \?CCL9
|
|
FSET? DORN,NODESC \?CCL9
|
|
FCLEAR DORN,NODESC
|
|
ICALL2 QUEUE,I-DORN
|
|
MOVE DORN,TOWER-TOP
|
|
ICALL2 SEE-CHARACTER,DORN
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
PRINT STR?769
|
|
PRINTI "hear a loud ""Hurumph!"" immediately behind you."
|
|
CRLF
|
|
ZERO? DMODE /?CCL14
|
|
EQUAL? PRIOR,0,SHOWING-ROOM /TRUE
|
|
?CCL14: ICALL2 RELOOK,TRUE-VALUE
|
|
RTRUE
|
|
?CCL9: CALL2 VISIBLE?,DORN
|
|
ZERO? STACK /?CND1
|
|
FSET? DORN,MUNGED /?CND1
|
|
ICALL2 CTHE-PRINT,DORN
|
|
PRINTI " won't let you near "
|
|
ICALL2 THE-PRINT,CHEST
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND1: CALL NOUN-USED?,W?LID,W?COVER
|
|
ZERO? STACK /?CCL22
|
|
EQUAL? PRSA,V?LOOK-UNDER,V?LOOK-BEHIND \?CCL25
|
|
ICALL PERFORM,V?LOOK-INSIDE,CHEST
|
|
RTRUE
|
|
?CCL25: EQUAL? PRSA,V?OPEN,V?RAISE \?CND20
|
|
ICALL1 OPEN-CHEST
|
|
RTRUE
|
|
?CCL22: CALL2 NOUN-USED?,W?PLATE
|
|
ZERO? STACK \?CCL27
|
|
CALL ADJ-USED?,W?BRASS,W?METAL
|
|
ZERO? STACK /?CND20
|
|
?CCL27: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?READ \?CCL32
|
|
ICALL1 READ-PLATE
|
|
RTRUE
|
|
?CCL32: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CND20
|
|
ICALL FIRMLY-ATTACHED,STR?770,CHEST,TRUE-VALUE
|
|
RTRUE
|
|
?CND20: ZERO? NOW-PRSI? /?CCL36
|
|
EQUAL? PRSA,V?PUT,V?EMPTY-INTO \?CCL39
|
|
FSET? PRSI,OPENED /?CCL42
|
|
ICALL YOUD-HAVE-TO,STR?518,PRSI
|
|
RTRUE
|
|
?CCL42: EQUAL? PRSO,PARASOL \FALSE
|
|
FSET? PRSO,OPENED \FALSE
|
|
ICALL2 YOUD-HAVE-TO,STR?536
|
|
RTRUE
|
|
?CCL39: EQUAL? PRSA,V?PUT-ON \FALSE
|
|
FSET? PRSI,OPENED \?CND47
|
|
ICALL YOUD-HAVE-TO,STR?536,PRSI
|
|
RTRUE
|
|
?CND47: ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CCL36: EQUAL? PRSA,V?TAKE \?CCL50
|
|
FSET? PRSO,OPENED \?CCL53
|
|
ICALL2 YOUD-HAVE-TO,STR?536
|
|
RTRUE
|
|
?CCL53: CALL1 ITAKE
|
|
ZERO? STACK /TRUE
|
|
PUTP PRSO,P?DESCFCN,0
|
|
PRINTR "Taken."
|
|
?CCL50: EQUAL? PRSA,V?READ \?CCL56
|
|
ICALL1 READ-PLATE
|
|
RTRUE
|
|
?CCL56: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL58
|
|
PRINTI "The oak chest is compact and sturdy, probably the craft of Antharian dwarves. No latch or keyhole is visible, but a brass plate is affixed to the top of the "
|
|
FSET? PRSO,OPENED \?CCL61
|
|
PRINTB W?OPEN
|
|
JUMP ?CND59
|
|
?CCL61: PRINTB W?CLOSED
|
|
?CND59: PRINTR " lid."
|
|
?CCL58: EQUAL? PRSA,V?OPEN,V?OPEN-WITH \FALSE
|
|
ICALL1 OPEN-CHEST
|
|
RTRUE
|
|
|
|
|
|
.FUNCT READ-PLATE
|
|
FSET CHEST,SEEN
|
|
PRINTI "The brass plate on "
|
|
ICALL1 THE-PRINT
|
|
PRINTI "'s lid is engraved with a simple warning in many languages, including yours: "
|
|
PRINT STR?771
|
|
RTRUE
|
|
|
|
|
|
.FUNCT OPEN-CHEST,L
|
|
LOC CHEST >L
|
|
LOC PLAYER
|
|
EQUAL? L,STACK /?CCL3
|
|
ICALL YOUD-HAVE-TO,STR?519,CHEST
|
|
RTRUE
|
|
?CCL3: FSET? CHEST,OPENED \?CCL5
|
|
ICALL2 ITS-ALREADY,STR?518
|
|
RTRUE
|
|
?CCL5: FSET? IN-SPLENDOR,TOUCHED /?CND1
|
|
FSET? CHEST,SEEN /?CND1
|
|
FSET CHEST,SEEN
|
|
PRINT STR?769
|
|
PRINTI "notice a brass plate inscribed with the words "
|
|
PRINT STR?771
|
|
RTRUE
|
|
?CND1: IN? PLAYER,ARCH /?CTR9
|
|
EQUAL? ATIME,PRESENT /?CCL10
|
|
?CTR9: PRINTR "The arch's presence keeps the chest tightly shut."
|
|
?CCL10: EQUAL? HERE,APLANE \?CND8
|
|
EQUAL? ABOVE,OPLAIN \?CND8
|
|
ICALL1 PERMISSION
|
|
RTRUE
|
|
?CND8: ICALL1 TO-SPLENDOR
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TO-SPLENDOR,WHO,DIR,X,Y
|
|
GETP HERE,P?FNUM
|
|
PUTP IN-SPLENDOR,P?FNUM,STACK
|
|
SET 'DIR,P?NW
|
|
?PRG1: SET 'X,SORRY-EXIT
|
|
SET 'Y,STR?743
|
|
RANDOM 100
|
|
LESS? 50,STACK /?CND3
|
|
SET 'X,649
|
|
SET 'Y,IN-SPLENDOR
|
|
?CND3: ICALL NEW-EXIT?,IN-SPLENDOR,DIR,X,Y
|
|
IGRTR? 'DIR,P?NORTH \?PRG1
|
|
ICALL1 SAFE-VEHICLE-EXIT
|
|
MOVE HERD,IN-SPLENDOR
|
|
ICALL QUEUE,I-MARE-SEES,3
|
|
ICALL1 DESCRIBE-GATE
|
|
ICALL1 CARRIAGE-RETURNS
|
|
ICALL2 GOTO,IN-SPLENDOR
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DESCRIBE-GATE,WHO
|
|
ICALL1 PCLEAR
|
|
FSET CHEST,OPENED
|
|
FSET? PHASE,NOALL \?CND1
|
|
FCLEAR PHASE,NOALL
|
|
ICALL2 QUEUE,I-PHASE
|
|
?CND1: PRINTI "Rays of golden light burst from "
|
|
ICALL2 THE-PRINT,CHEST
|
|
PRINTI "'s interior as the lid creaks open. "
|
|
ASSIGNED? 'WHO \?CCL5
|
|
ICALL2 CTHE-PRINT,WHO
|
|
PRINTI " is"
|
|
JUMP ?CND3
|
|
?CCL5: PRINTI "You're"
|
|
?CND3: PRINTI " bathed in a chorus of radiant ecstasy that almost drowns out the telltale "
|
|
HLIGHT H-ITALIC
|
|
PRINTI "snap"
|
|
HLIGHT H-NORMAL
|
|
PRINTI " of an opening Gate."
|
|
CRLF
|
|
ASSIGNED? 'WHO \TRUE
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
PRINT TAB
|
|
PRINTI "When your head clears, "
|
|
ICALL2 THE-PRINT,WHO
|
|
PRINTR " is gone without a trace."
|
|
|
|
|
|
.FUNCT HERD-F,CONTEXT,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
ICALL2 PRINTCA,HERD
|
|
PRINTI " grazes peacefully among the trees."
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \?CCL7
|
|
PRINTR "This herd is mostly mares and colts, who rub their horns affectionately against their mothers' flanks. Oddly, every unicorn is wearing a gold key on a chain around its neck."
|
|
?CCL7: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X /?CTR8
|
|
INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \FALSE
|
|
?CTR8: ICALL1 UNICORNS-FLEE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT UNICORNS-FLEE,STR
|
|
ICALL1 PCLEAR
|
|
ICALL2 DEQUEUE,I-MARE-SEES
|
|
ICALL QUEUE,I-ARREST,2
|
|
REMOVE HERD
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
PRINTI "One of the mares glances up "
|
|
ASSIGNED? 'STR \?CCL3
|
|
PRINT STR
|
|
JUMP ?CND1
|
|
?CCL3: PRINTI "as you draw closer"
|
|
?CND1: PRINTI ". Her nostrils flare with surprise, and a high-pitched voice in your head cries, """
|
|
FSET? HERD,SEEN \?CCL6
|
|
PRINTI "Another i"
|
|
JUMP ?CND4
|
|
?CCL6: PRINTC 73
|
|
?CND4: PRINTR "ntruder!""
|
|
The herd springs to full alert. Mothers nudge their frightened colts out of sight, then gallop away between the trees. Within moments, the glade is completely deserted."
|
|
|
|
|
|
.FUNCT HARD-PHASE-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?READ \?CCL5
|
|
PRINTI "The sharp blade blazes in a rainbow of anticipation."
|
|
CRLF
|
|
ICALL1 SHAPESEE
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?SWING \FALSE
|
|
ICALL1 HUMS
|
|
PRINTI "swings, a blazing streak of color in its wake."
|
|
CRLF
|
|
ICALL1 SHAPESEE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SHAPESEE
|
|
IN? SHAPE,HERE \TRUE
|
|
PRINT TAB
|
|
ICALL2 CTHE-PRINT,SHAPE
|
|
PRINTR " quivers nervously."
|
|
|
|
|
|
.FUNCT HUMS
|
|
ICALL1 WHOOSH
|
|
ICALL2 CTHE-PRINT,PHASE
|
|
PRINTI " hums with Magick as it "
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SOFT-PHASE-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?TOUCH-TO \?CCL6
|
|
EQUAL? PRSO,HANDS \?CND7
|
|
ICALL1 FEEL-PHASE
|
|
RTRUE
|
|
?CND7: ICALL PASS-THRU,PRSO,PRSI
|
|
RTRUE
|
|
?CCL6: EQUAL? PRSA,V?HIT,V?MUNG,V?CUT \FALSE
|
|
ICALL1 PHASE-WHOOSH
|
|
RTRUE
|
|
?CCL3: INTBL? PRSA,SEEVERBS,NSVERBS >X \?CCL11
|
|
FSET? PRSO,NODESC \?CND12
|
|
PRINTI "You still can't see "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND12: FSET PHASE,NODESC
|
|
FSET PHASE,SEEN
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " disappears the moment you set eyes on it."
|
|
?CCL11: EQUAL? PRSA,V?TOUCH-TO \?CCL15
|
|
EQUAL? PRSI,FALSE-VALUE,HANDS \?CND16
|
|
ICALL1 FEEL-PHASE
|
|
RTRUE
|
|
?CND16: ICALL PASS-THRU,PRSO,PRSI
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?TOUCH,V?HIT,V?SQUEEZE \FALSE
|
|
EQUAL? PRSI,FALSE-VALUE,HANDS \?CND20
|
|
ICALL1 FEEL-PHASE
|
|
RTRUE
|
|
?CND20: ICALL PASS-THRU,PRSI,PRSO
|
|
RTRUE
|
|
|
|
|
|
.FUNCT PHASE-WHOOSH
|
|
ICALL1 WHOOSH
|
|
PRINTI "You swing "
|
|
ICALL1 THEI-PRINT
|
|
PRINTI ", but it"
|
|
ICALL1 RIGHT-THRU
|
|
RFALSE
|
|
|
|
|
|
.FUNCT PASS-THRU,OBJ1,OBJ2
|
|
PRINTI "Oddly enough, "
|
|
ICALL2 THE-PRINT,OBJ1
|
|
ICALL2 RIGHT-THRU,OBJ2
|
|
RTRUE
|
|
|
|
|
|
.FUNCT PASSES-THROUGH,WITH,OBJ
|
|
ICALL2 YOUR-OBJ,WITH
|
|
ICALL RIGHT-THRU,OBJ,TRUE-VALUE
|
|
PRINTR " as if it weren't there!"
|
|
|
|
|
|
.FUNCT RIGHT-THRU,OBJ,NOCR
|
|
ASSIGNED? 'OBJ /?CND1
|
|
SET 'OBJ,PRSO
|
|
?CND1: PRINTI " passes right through "
|
|
ICALL2 THE-PRINT,OBJ
|
|
ASSIGNED? 'NOCR /TRUE
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FEEL-PHASE
|
|
PRINTI "You feel a cool, sharp sensation, like brushing against the edge of a knife. But "
|
|
ICALL2 THE-PRINT,PHASE
|
|
PRINTI " seems"
|
|
PRINT STR?772
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SETUP-PHASE,TBL
|
|
BOR NEW-DBOX,SHOWING-INV >NEW-DBOX
|
|
ICALL2 DEQUEUE,I-PHASE
|
|
FCLEAR PHASE,NODESC
|
|
PUTP PHASE,P?ACTION,HARD-PHASE-F
|
|
PUTP PHASE,P?SIZE,7
|
|
PUTP PHASE,P?EFFECT,75
|
|
FSET PHASE,WEAPON
|
|
GETPT PHASE,P?SYNONYM >TBL
|
|
PUT TBL,0,W?SWORD
|
|
PUT TBL,2,W?BLADE
|
|
PUT TBL,3,W?WEAPON
|
|
ICALL REPLACE-ADJ?,PHASE,W?VAGUE,W?PHASE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT MUNG-PHASE,TBL
|
|
BOR NEW-DBOX,SHOWING-INV >NEW-DBOX
|
|
ICALL2 QUEUE,I-PHASE
|
|
FCLEAR PHASE,NODESC
|
|
FCLEAR PHASE,SEEN
|
|
PUTP PHASE,P?ACTION,SOFT-PHASE-F
|
|
PUTP PHASE,P?SIZE,0
|
|
PUTP PHASE,P?EFFECT,0
|
|
FCLEAR PHASE,WEAPON
|
|
GETPT PHASE,P?SYNONYM >TBL
|
|
PUT TBL,0,W?OUTLINE
|
|
PUT TBL,2,W?SHAPE
|
|
PUT TBL,3,W?ZZZP
|
|
ICALL REPLACE-ADJ?,PHASE,W?PHASE,W?VAGUE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT THRONE-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE \?CCL5
|
|
ICALL1 GET-DOUBLOON?
|
|
PRINTI "The material is heaped into a crude throne"
|
|
FIRST? PRSO >X \?CND6
|
|
PRINT STR?773
|
|
ICALL1 CONTENTS
|
|
?CND6: PRINT PERIOD
|
|
SET 'P-IT-OBJECT,PRSO
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL9
|
|
ICALL1 GET-DOUBLOON?
|
|
FIRST? PRSO >X \?CCL12
|
|
SET 'X,W?YOU
|
|
PRINTI "Sifting"
|
|
JUMP ?CND10
|
|
?CCL12: SET 'X,W?BUT
|
|
PRINTI "You sift"
|
|
?CND10: PRINTI " through the material in "
|
|
ICALL1 THE-PRINT
|
|
PRINTI ", "
|
|
PRINTB X
|
|
PRINTI " discover "
|
|
ICALL1 CONTENTS
|
|
PRINT PERIOD
|
|
SET 'P-IT-OBJECT,PRSO
|
|
RTRUE
|
|
?CCL9: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
PRINTI "None of it seems worth moving"
|
|
CALL1 GET-DOUBLOON?
|
|
ZERO? STACK /?CND15
|
|
SET 'P-IT-OBJECT,DOUBLOON
|
|
PRINTI ", except for "
|
|
ICALL2 THE-PRINT,DOUBLOON
|
|
PRINTI " you just noticed"
|
|
?CND15: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GET-DOUBLOON?
|
|
FSET? DOUBLOON,NODESC \FALSE
|
|
FCLEAR DOUBLOON,NODESC
|
|
MOVE DOUBLOON,PRSO
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DOUBLOON-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "Obviously of significant value."
|
|
|
|
|
|
.FUNCT TELE-WAND-F
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?ZAP-WITH \FALSE
|
|
ICALL DO-TELE,PRSO,PRSI
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?POINT-AT,V?TOUCH-TO,V?FIRE-AT \?CCL7
|
|
ICALL DO-TELE,PRSI,PRSO
|
|
RTRUE
|
|
?CCL7: CALL1 HANDLE-WANDS?
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DO-TELE,OBJ,W,S,L,LEN,RM
|
|
CALL DONT-HAVE-WAND?,OBJ,W
|
|
ZERO? STACK \TRUE
|
|
CALL NOT-LIVING?,OBJ,W
|
|
ZERO? STACK \TRUE
|
|
CALL2 OUT-OF-GAS?,W
|
|
ZERO? STACK \TRUE
|
|
CALL2 WAND-STRENGTH?,W >S
|
|
LOC OBJ >L
|
|
PRINTI "A ray of hard blue "
|
|
ICALL2 EXPLODES,W
|
|
EQUAL? OBJ,ME,HANDS,FEET /?CTR8
|
|
EQUAL? OBJ,GRINDER /?CTR8
|
|
EQUAL? L,PLAYER /?CTR8
|
|
IN? L,PLAYER \?CCL9
|
|
?CTR8: EQUAL? OBJ,GRINDER \?CND14
|
|
ICALL1 QUICKER
|
|
PRINTI " and uses the lid to reflect the ray back into your face"
|
|
?CND14: GETB TELEROOMS,0 >LEN
|
|
?PRG16: RANDOM LEN
|
|
GETB TELEROOMS,STACK >RM
|
|
EQUAL? RM,HERE /?PRG16
|
|
PRINTI "! You're engulfed"
|
|
PRINT STR?774
|
|
PRINTI "..."
|
|
CRLF
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
SET 'OLD-HERE,FALSE-VALUE
|
|
ICALL1 SAFE-VEHICLE-EXIT
|
|
ICALL1 CARRIAGE-RETURNS
|
|
ICALL2 GOTO,RM
|
|
PRINT TAB
|
|
PRINT XTHE
|
|
PRINTB W?LANDSCAPE
|
|
PRINTI " stops reeling"
|
|
JUMP ?CND7
|
|
?CCL9: FSET? OBJ,MONSTER \?CCL21
|
|
EQUAL? OBJ,DUST,WIGHT /?CND22
|
|
FSET OBJ,SLEEPING
|
|
FSET OBJ,NEUTRALIZED
|
|
ICALL2 TELEPORT-MONSTER,OBJ
|
|
?CND22: PRINTI ", engulfing "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINT STR?774
|
|
PRINT PERIOD
|
|
EQUAL? OBJ,DUST \?CND24
|
|
FSET? OBJ,TOUCHED /?CND26
|
|
ICALL1 START-DUST
|
|
?CND26: FCLEAR OBJ,SEEN
|
|
GETP W,P?STRENGTH
|
|
SUB 0,STACK
|
|
ICALL UPDATE-STAT,STACK,STRENGTH
|
|
RTRUE
|
|
?CND24: PRINT TAB
|
|
ICALL2 ITALICIZE,STR?615
|
|
PRINTI ". "
|
|
ICALL2 CTHE-PRINT,OBJ
|
|
EQUAL? OBJ,WIGHT \?CCL30
|
|
PRINT STR?578
|
|
PRINTI ", rematerializing ten feet beyond the edge of the cliff. It"
|
|
PRINT STR?624
|
|
PRINTI ", looks down, looks back up at you, waves goodbye and plummets out of sight"
|
|
JUMP ?CND7
|
|
?CCL30: PRINTI " is nowhere to be seen"
|
|
JUMP ?CND7
|
|
?CCL21: PRINT STR?775
|
|
?CND7: PRINT PERIOD
|
|
GETP W,P?STRENGTH
|
|
SUB 0,STACK
|
|
ICALL UPDATE-STAT,STACK,STRENGTH
|
|
EQUAL? OBJ,WIGHT \?CND31
|
|
ICALL2 KILL-MONSTER,WIGHT
|
|
?CND31: ICALL STARTLE,OBJ,W
|
|
RTRUE
|
|
|
|
|
|
.FUNCT EXPLODES,W
|
|
PRINTI "Magick explodes from the tip of "
|
|
ICALL2 THE-PRINT,W
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TELEPORT-MONSTER,OBJ,TBL,LEN,RM
|
|
GETP OBJ,P?HABITAT >TBL
|
|
GETB TBL,0 >LEN
|
|
?PRG1: RANDOM LEN
|
|
GETB TBL,STACK >RM
|
|
EQUAL? RM,HERE /?PRG1
|
|
ICALL2 EXUENT-MONSTER,OBJ
|
|
MOVE OBJ,RM
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SLEEP-WAND-F
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?ZAP-WITH \FALSE
|
|
ICALL DO-SLEEP,PRSO,PRSI
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?POINT-AT,V?TOUCH-TO,V?FIRE-AT \?CCL7
|
|
ICALL DO-SLEEP,PRSI,PRSO
|
|
RTRUE
|
|
?CCL7: CALL1 HANDLE-WANDS?
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DO-SLEEP,OBJ,W,S,LEN
|
|
CALL DONT-HAVE-WAND?,OBJ,W
|
|
ZERO? STACK \TRUE
|
|
CALL NOT-LIVING?,OBJ,W
|
|
ZERO? STACK \TRUE
|
|
CALL2 OUT-OF-GAS?,W
|
|
ZERO? STACK \TRUE
|
|
CALL2 WAND-STRENGTH?,W >S
|
|
PRINTI "A beam of soothing amber radiance "
|
|
EQUAL? OBJ,ME \?CND7
|
|
SET 'ATTACK-MODE,THRUSTING
|
|
PRINTI "forces you to stifle a yawn."
|
|
CRLF
|
|
ICALL UPDATE-STAT,S,STRENGTH
|
|
RTRUE
|
|
?CND7: PRINTI "envelops "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI " as you train "
|
|
ICALL2 THE-PRINT,W
|
|
PRINTI " upon "
|
|
ICALL PRONOUN,OBJ,TRUE-VALUE
|
|
GET NO-SLEEPS,0 >LEN
|
|
EQUAL? OBJ,DACT \?CCL11
|
|
ZERO? DACT-SLEEP /?CND12
|
|
EQUAL? DACT-SLEEP,3 /?CND14
|
|
INC 'DACT-SLEEP
|
|
?CND14: PRINTI ", and he snuggles deeper into his nap."
|
|
CRLF
|
|
ICALL UPDATE-STAT,S,STRENGTH
|
|
RTRUE
|
|
?CND12: PRINT PTAB
|
|
ICALL2 CTHE-PRINT,OBJ
|
|
ICALL1 DACT-TO-SLEEP
|
|
JUMP ?CND9
|
|
?CCL11: EQUAL? OBJ,DORN \?CCL17
|
|
PRINTI ". Two or three of its 69 eyes flutter drowsily."
|
|
CRLF
|
|
JUMP ?CND9
|
|
?CCL17: EQUAL? OBJ,OWOMAN \?CCL19
|
|
PRINT PTAB
|
|
PRINTI """Stop it!"" she laughs, brushing aside the beam with a wave. ""That tickles."""
|
|
CRLF
|
|
JUMP ?CND9
|
|
?CCL19: EQUAL? OBJ,CORBIES \?CCL21
|
|
PRINTI ". A few seem to hesitate in their flight; but they recover quickly."
|
|
CRLF
|
|
JUMP ?CND9
|
|
?CCL21: EQUAL? OBJ,PUPP \?CCL23
|
|
PRINT PTAB
|
|
ICALL2 CTHE-PRINT,OBJ
|
|
PRINTI " promptly mimics your action, using its third finger to represent your "
|
|
ICALL2 DPRINT,W
|
|
PRINT PERIOD
|
|
JUMP ?CND9
|
|
?CCL23: INTBL? OBJ,NO-SLEEPS+2,LEN >LEN /?CTR24
|
|
EQUAL? OBJ,WORM \?CCL25
|
|
FSET? OBJ,MONSTER /?CCL25
|
|
?CTR24: PRINTI ". But "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI " appears to be completely unaffected."
|
|
CRLF
|
|
JUMP ?CND9
|
|
?CCL25: EQUAL? OBJ,GRINDER /?CTR30
|
|
FSET? OBJ,MONSTER /?CCL31
|
|
?CTR30: PRINTI "; but aside from a brief fit of yawning, "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI " seems unaffected."
|
|
CRLF
|
|
JUMP ?CND9
|
|
?CCL31: FSET? OBJ,SLEEPING \?CCL35
|
|
PRINTI ". Nothing further seems to happen."
|
|
CRLF
|
|
JUMP ?CND9
|
|
?CCL35: BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
ICALL REPLACE-ADJ?,OBJ,W?AWAKE,W?STUNNED
|
|
FSET OBJ,SLEEPING
|
|
FSET OBJ,NEUTRALIZED
|
|
PRINT PERIOD
|
|
?CND9: ICALL UPDATE-STAT,S,STRENGTH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DACT-TO-SLEEP,G
|
|
PRINTI " closes his eyes, swaying his skinny head back and forth with drowsy reminiscences"
|
|
ZERO? G /?CND1
|
|
PRINTI ". Soon his snore drowns out the fading song"
|
|
?CND1: EQUAL? HERE,IN-SKY \?CND3
|
|
PRINT PTAB
|
|
PRINTI "You tumble into a nose dive as "
|
|
ICALL2 THE-PRINT,DACT
|
|
PRINTI "'s wings go limp. Desperate screams of terror do not wake him in time to avoid a crash"
|
|
ICALL1 JIGS-UP
|
|
RFALSE
|
|
?CND3: PRINT PERIOD
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
ICALL REPLACE-ADJ?,DACT,W?AWAKE,W?SLEEPING
|
|
FSET DACT,SLEEPING
|
|
SET 'DACT-SLEEP,4
|
|
RFALSE
|
|
|
|
|
|
.FUNCT IO-WAND-F
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?ZAP-WITH \FALSE
|
|
ICALL DO-IO,PRSO,PRSI
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?POINT-AT,V?TOUCH-TO,V?FIRE-AT \?CCL7
|
|
ICALL DO-IO,PRSI,PRSO
|
|
RTRUE
|
|
?CCL7: CALL1 HANDLE-WANDS?
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DO-IO,OBJ,W,S,NXT,X
|
|
CALL DONT-HAVE-WAND?,OBJ,W
|
|
ZERO? STACK \TRUE
|
|
CALL2 OUT-OF-GAS?,W
|
|
ZERO? STACK \TRUE
|
|
CALL2 WAND-STRENGTH?,W >S
|
|
ICALL2 ITALICIZE,STR?776
|
|
PRINTI "! A zone of negative geometry forms in the space around "
|
|
EQUAL? OBJ,ME,HANDS,FEET \?CCL7
|
|
SET 'ATTACK-MODE,THRUSTING
|
|
PRINTI "your body"
|
|
JUMP ?CND5
|
|
?CCL7: ICALL2 THE-PRINT,OBJ
|
|
PRINTI ", effectively turning "
|
|
ICALL PRONOUN,OBJ,TRUE-VALUE
|
|
PRINTI " inside out"
|
|
?CND5: PRINTI ". This disconcerting effect lasts only for a moment"
|
|
EQUAL? OBJ,ME,HANDS,FEET /?CND8
|
|
EQUAL? OBJ,IDOL-ROOM \?CCL11
|
|
EQUAL? HERE,INNARDS \?CCL11
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
SET 'OLD-HERE,FALSE-VALUE
|
|
LOC MAW >HERE
|
|
FCLEAR HERE,TOUCHED
|
|
MOVE PLAYER,HERE
|
|
ICALL MOVE-ALL,INNARDS,HERE,NODESC
|
|
JUMP ?CND8
|
|
?CCL11: EQUAL? OBJ,OWOMAN \?CCL15
|
|
PRINT PTAB
|
|
PRINTI """Very funny,"" she remarks, regaining her composure"
|
|
JUMP ?CND8
|
|
?CCL15: EQUAL? OBJ,BOTTLE \?CCL17
|
|
PRINTI "; very little of "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI "'s contents escapes."
|
|
CRLF
|
|
JUMP ?CND8
|
|
?CCL17: EQUAL? OBJ,MAMA \?CCL19
|
|
FIRST? OBJ >NXT \?CCL19
|
|
SET 'OBJ,NXT
|
|
?PRG22: NEXT? OBJ >NXT /?BOGUS24
|
|
?BOGUS24: FCLEAR OBJ,NODESC
|
|
LOC MAMA
|
|
MOVE OBJ,STACK
|
|
SET 'OBJ,NXT
|
|
ZERO? OBJ \?PRG22
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
PRINTI "; but long enough for the undigested contents of "
|
|
ICALL2 THE-PRINT,MAMA
|
|
PRINTI "'s stomach to fall "
|
|
SET 'OBJ,GROUND
|
|
IN? MAMA,HERE /?CND27
|
|
PRINTI "on"
|
|
LOC MAMA >OBJ
|
|
?CND27: PRINTI "to "
|
|
ICALL2 THE-PRINT,OBJ
|
|
JUMP ?CND8
|
|
?CCL19: FSET? OBJ,LIVING \?CCL30
|
|
PRINTI ", and leaves "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI " looking "
|
|
FSET? OBJ,MONSTER \?CCL33
|
|
FSET? OBJ,SLEEPING /?CCL33
|
|
SET 'ATTACK-MODE,THRUSTING
|
|
PRINTI "madder than ever"
|
|
JUMP ?CND8
|
|
?CCL33: PRINTI "rather upset"
|
|
JUMP ?CND8
|
|
?CCL30: FSET? OBJ,CONTAINER \?CND8
|
|
FIRST? OBJ >OBJ \?CND8
|
|
SET 'X,0
|
|
?PRG39: FSET? OBJ,NODESC /?CND41
|
|
FSET? OBJ,TAKEABLE \?CND41
|
|
INC 'X
|
|
?CND41: NEXT? OBJ >OBJ /?PRG39
|
|
ZERO? X /?CND8
|
|
PRINTI "; but you catch a glimpse of some"
|
|
EQUAL? X,1 \?CCL50
|
|
PRINTB W?THING
|
|
JUMP ?CND48
|
|
?CCL50: PRINTI " things"
|
|
?CND48: PRINTI " inside"
|
|
?CND8: PRINT PERIOD
|
|
ICALL UPDATE-STAT,S,STRENGTH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LEV-WAND-F
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?ZAP-WITH \FALSE
|
|
ICALL DO-LEV,PRSO,PRSI
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?POINT-AT,V?TOUCH-TO,V?FIRE-AT \?CCL7
|
|
ICALL DO-LEV,PRSI,PRSO
|
|
RTRUE
|
|
?CCL7: CALL1 HANDLE-WANDS?
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DO-LEV,OBJ,W,M,L,X,S
|
|
GET STATS,STRENGTH >S
|
|
GRTR? S,24 \?CCL3
|
|
SET 'S,-24
|
|
JUMP ?CND1
|
|
?CCL3: SUB S,1
|
|
SUB 0,STACK >S
|
|
?CND1: CALL DONT-HAVE-WAND?,OBJ,W
|
|
ZERO? STACK \TRUE
|
|
EQUAL? OBJ,W \?CCL8
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL8: CALL2 OUT-OF-GAS?,W
|
|
ZERO? STACK \TRUE
|
|
LOC PLAYER
|
|
EQUAL? OBJ,ME,STACK \?CCL12
|
|
ICALL WAND-STRUGGLE,S,W
|
|
RTRUE
|
|
?CCL12: EQUAL? OBJ,UNICORN \?CCL14
|
|
ICALL2 CTHE-PRINT,UNICORN
|
|
PRINTI " whinnies with fear as her hooves leave the floor! "
|
|
PRINT STR?777
|
|
PRINT STR?778
|
|
PRINTI "tall gate"
|
|
PRINT STR?779
|
|
ICALL UPDATE-STAT,S,STRENGTH
|
|
IN? CHEST,HERE \?CND15
|
|
ICALL1 UNICORN-OPENS-CHEST
|
|
RTRUE
|
|
?CND15: PRINT TAB
|
|
ICALL2 CTHE-PRINT,UNICORN
|
|
PRINTC SP
|
|
ICALL1 BYE-UNICORN
|
|
RTRUE
|
|
?CCL14: EQUAL? OBJ,BABY \?CND4
|
|
ICALL2 VANISH,BABY
|
|
ICALL2 DEQUEUE,I-BABY
|
|
ICALL2 VANISH,MAMA
|
|
ICALL2 DEQUEUE,I-MAMA
|
|
ICALL2 CTHE-PRINT,OBJ
|
|
PRINTI " bellows with surprise as he rises out of "
|
|
ICALL2 THE-PRINT,QUICKSAND
|
|
PRINTI "! "
|
|
PRINT STR?777
|
|
PRINT STR?778
|
|
PRINTB W?MUD
|
|
PRINT STR?779
|
|
ICALL UPDATE-STAT,S,STRENGTH
|
|
PRINT TAB
|
|
PRINTI "The ungainly creature nuzzles you with his muddy snout, and bats his eyelashes with joy and gratitude. Then he "
|
|
IN? MAMA,HERE \?CCL20
|
|
PRINTI "and his mother amble"
|
|
JUMP ?CND18
|
|
?CCL20: PRINTI "ambles"
|
|
?CND18: PRINTI " away into the jungle to"
|
|
IN? MAMA,HERE \?CCL23
|
|
PRINTI "gether"
|
|
JUMP ?CND21
|
|
?CCL23: PRINTI " find his mother"
|
|
?CND21: PRINTI ", pausing for a final bellow of farewell."
|
|
CRLF
|
|
ICALL UPDATE-STAT,15,COMPASSION,TRUE-VALUE
|
|
RTRUE
|
|
?CND4: EQUAL? OBJ,ARROW \?CCL26
|
|
IN? OBJ,DACT \?CCL26
|
|
FSET? OBJ,NODESC \?CCL26
|
|
ICALL2 CTHE-PRINT,DACT
|
|
FSET? DACT,SLEEPING \?CCL32
|
|
PRINTI " stirs restlessly"
|
|
JUMP ?CND30
|
|
?CCL32: PRINTI " screeches with pain"
|
|
?CND30: PRINTI " as "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI " tugs against his wound."
|
|
CRLF
|
|
LESS? S,-3 \?CND33
|
|
SET 'S,-3
|
|
?CND33: ICALL UPDATE-STAT,S,STRENGTH
|
|
RTRUE
|
|
?CCL26: EQUAL? OBJ,XTREES \?CCL36
|
|
PRINTI "Ornaments and tinsel disappear into the sky."
|
|
CRLF
|
|
LESS? S,-3 \?CND37
|
|
SET 'S,-3
|
|
?CND37: ICALL UPDATE-STAT,S,STRENGTH
|
|
RTRUE
|
|
?CCL36: EQUAL? OBJ,DUST \?CCL40
|
|
PRINTI "Dust bunnies scatter all over the room."
|
|
CRLF
|
|
LESS? S,-3 \?CND41
|
|
SET 'S,-3
|
|
?CND41: ICALL UPDATE-STAT,S,STRENGTH
|
|
RTRUE
|
|
?CCL40: IN? OBJ,GRINDER \?CCL44
|
|
ICALL2 CTHE-PRINT,GRINDER
|
|
PRINTI " retrieves the rising "
|
|
ICALL2 DPRINT,OBJ
|
|
PRINTI " with a chuckle. ""Cute."""
|
|
CRLF
|
|
LESS? S,-3 \?CND45
|
|
SET 'S,-3
|
|
?CND45: ICALL UPDATE-STAT,S,STRENGTH
|
|
RTRUE
|
|
?CCL44: FSET? OBJ,TAKEABLE \?CCL48
|
|
LOC OBJ >L
|
|
ICALL2 CTHE-PRINT,OBJ
|
|
EQUAL? L,PLAYER \?CCL51
|
|
FSET? OBJ,WORN \?CCL51
|
|
PRINTI " tugs vainly against your body for a few moments."
|
|
CRLF
|
|
JUMP ?CND49
|
|
?CCL51: EQUAL? OBJ,RELIQUARY \?CCL55
|
|
EQUAL? L,ALTAR \?CCL55
|
|
PRINTI " begins to float"
|
|
ICALL2 OUT-OF-LOC,L
|
|
FSET CLERIC,SEEN
|
|
PRINT PTAB
|
|
PRINTI """A sign!"" cries "
|
|
ICALL2 THE-PRINT,CLERIC
|
|
PRINTI ", snatching "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI " out of the air and gently replacing it. ""A sign from the gods!"""
|
|
CRLF
|
|
PRINT TAB
|
|
ICALL2 CTHE-PRINT,CONGREG
|
|
PRINTI " grovels in fear and wonder."
|
|
CRLF
|
|
JUMP ?CND49
|
|
?CCL55: EQUAL? L,MCASE,BCASE,WCASE \?CCL59
|
|
PRINTI " begins to float off its shelf in "
|
|
ICALL2 THE-PRINT,L
|
|
PRINT PTAB
|
|
PRINTI """No shoplifting!"" snaps "
|
|
ICALL2 THE-PRINT,OWOMAN
|
|
PRINT COMMA-AND
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI " drops back into place."
|
|
CRLF
|
|
JUMP ?CND49
|
|
?CCL59: PRINTI " rises"
|
|
EQUAL? L,PLAYER \?CCL62
|
|
PRINTI " out of your grasp"
|
|
JUMP ?CND60
|
|
?CCL62: ICALL2 OUT-OF-LOC,L
|
|
?CND60: PRINTI ", hovers for a moment and "
|
|
ICALL FALLS,OBJ,FALSE-VALUE
|
|
?CND49: GETP OBJ,P?SIZE >X
|
|
GET STATS,STRENGTH
|
|
SUB STACK,1 >S
|
|
LESS? X,1 \?CCL65
|
|
SET 'X,1
|
|
JUMP ?CND63
|
|
?CCL65: GRTR? X,S \?CND63
|
|
SET 'X,S
|
|
?CND63: SUB 0,X
|
|
ICALL UPDATE-STAT,STACK,STRENGTH
|
|
EQUAL? OBJ,SHILL \TRUE
|
|
FSET? SHILL,TOUCHED /TRUE
|
|
ICALL1 GET-SHILL
|
|
RTRUE
|
|
?CCL48: FSET? OBJ,LIVING \?CND24
|
|
ICALL2 CTHE-PRINT,OBJ
|
|
EQUAL? OBJ,DACT \?CND72
|
|
EQUAL? HERE,IN-SKY \?CND72
|
|
PRINTI " spins out of control and crashes, killing you both instantly"
|
|
ICALL1 JIGS-UP
|
|
RTRUE
|
|
?CND72: PRINTI " begins to rise off the "
|
|
ICALL1 GROUND-WORD
|
|
PRINTI ", but "
|
|
EQUAL? OBJ,OWOMAN \?CCL78
|
|
PRINTI "her glare of annoyance prompt"
|
|
JUMP ?CND76
|
|
?CCL78: FSET? OBJ,FEMALE \?CCL81
|
|
PRINTB W?HER
|
|
JUMP ?CND79
|
|
?CCL81: FSET? OBJ,MONSTER \?CCL83
|
|
PRINTI "its"
|
|
JUMP ?CND79
|
|
?CCL83: PRINTI "his"
|
|
?CND79: FSET? OBJ,MONSTER /?CTR85
|
|
FSET? OBJ,SLEEPING \?CCL86
|
|
?CTR85: PRINTI " wild thrashing force"
|
|
JUMP ?CND76
|
|
?CCL86: PRINTI " obvious distress prompt"
|
|
?CND76: PRINTI "s you to set "
|
|
FSET? OBJ,FEMALE \?CCL91
|
|
PRINTB W?HER
|
|
JUMP ?CND89
|
|
?CCL91: FSET? OBJ,MONSTER \?CCL93
|
|
PRINTB W?IT
|
|
JUMP ?CND89
|
|
?CCL93: PRINTB W?HIM
|
|
?CND89: PRINTI " down at once."
|
|
CRLF
|
|
ICALL UPDATE-STAT,S,STRENGTH
|
|
RTRUE
|
|
?CND24: ICALL WAND-STRUGGLE,S,W,OBJ
|
|
RTRUE
|
|
|
|
|
|
.FUNCT WAND-STRUGGLE,S,W,OBJ
|
|
PRINTI "Your strength wanes sharply as "
|
|
ICALL2 THE-PRINT,W
|
|
PRINTI " struggles for influence"
|
|
ASSIGNED? 'OBJ \?CND1
|
|
PRINTI "over "
|
|
ICALL2 THE-PRINT,OBJ
|
|
?CND1: PRINT PERIOD
|
|
ICALL UPDATE-STAT,S,STRENGTH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BLAST-WAND-F
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?ZAP-WITH \FALSE
|
|
ICALL DO-BLAST,PRSO,PRSI
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?POINT-AT,V?TOUCH-TO,V?FIRE-AT \?CCL7
|
|
ICALL DO-BLAST,PRSI,PRSO
|
|
RTRUE
|
|
?CCL7: CALL1 HANDLE-WANDS?
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DO-BLAST,OBJ,W,B,S,L
|
|
CALL DONT-HAVE-WAND?,OBJ,W
|
|
ZERO? STACK \TRUE
|
|
CALL NOT-LIVING?,OBJ,W
|
|
ZERO? STACK \TRUE
|
|
CALL2 OUT-OF-GAS?,W
|
|
ZERO? STACK \TRUE
|
|
CALL2 WAND-STRENGTH?,W >S
|
|
LOC OBJ >L
|
|
ICALL1 KERBLAM
|
|
PRINTI "A searing bolt of "
|
|
ICALL2 EXPLODES,W
|
|
EQUAL? OBJ,ME,HANDS,FEET /?CTR8
|
|
EQUAL? L,PLAYER /?CTR8
|
|
IN? L,PLAYER \?CCL9
|
|
?CTR8: PRINTI ", instantly consuming "
|
|
EQUAL? OBJ,ME \?CCL15
|
|
PRINTI "you in flames"
|
|
JUMP ?CND13
|
|
?CCL15: ICALL2 THE-PRINT,OBJ
|
|
PRINTI " in flames, and you with it"
|
|
?CND13: ICALL1 JIGS-UP
|
|
RTRUE
|
|
?CCL9: EQUAL? OBJ,GRINDER \?CCL17
|
|
ICALL1 QUICKER
|
|
PRINTI ", whirls the crank and sucks the deadly plasma under the lid."
|
|
CRLF
|
|
JUMP ?CND7
|
|
?CCL17: EQUAL? OBJ,DUST \?CCL19
|
|
FSET? OBJ,TOUCHED /?PRG22
|
|
ICALL1 START-DUST
|
|
?PRG22: ICALL1 MORE-BUNNIES
|
|
IGRTR? 'B,2 \?PRG22
|
|
PRINTI ", scattering dust bunnies all over the room."
|
|
CRLF
|
|
JUMP ?CND7
|
|
?CCL19: FSET? OBJ,MONSTER \?CCL27
|
|
PUTP OBJ,P?ENDURANCE,0
|
|
PUTP OBJ,P?STRENGTH,0
|
|
PRINTI ", striking "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI " squarely in the face!"
|
|
CRLF
|
|
JUMP ?CND7
|
|
?CCL27: PRINTI ", barely missing "
|
|
EQUAL? OBJ,WORM \?CCL30
|
|
FSET? OBJ,MONSTER /?CCL30
|
|
ICALL2 THE-PRINT,OBJ
|
|
JUMP ?CND28
|
|
?CCL30: PRINTI "its wide-eyed target"
|
|
?CND28: PRINT PERIOD
|
|
?CND7: ICALL UPDATE-STAT,S,STRENGTH
|
|
ICALL STARTLE,OBJ,W
|
|
RTRUE
|
|
|
|
|
|
.FUNCT QUICKER
|
|
PRINTI ", but "
|
|
ICALL2 THE-PRINT,GRINDER
|
|
PRINTI " is quicker. He throws open his "
|
|
PRINTD GURDY
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DISPEL-WAND-F
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?ZAP-WITH \FALSE
|
|
ICALL DO-DISPEL,PRSO,PRSI
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?POINT-AT,V?TOUCH-TO,V?FIRE-AT \?CCL7
|
|
ICALL DO-DISPEL,PRSI,PRSO
|
|
RTRUE
|
|
?CCL7: CALL1 HANDLE-WANDS?
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DO-DISPEL,OBJ,W,NAC,H,S,X,Y
|
|
CALL2 WAND-STRENGTH?,W >S
|
|
CALL DONT-HAVE-WAND?,OBJ,W
|
|
ZERO? STACK \TRUE
|
|
EQUAL? OBJ,W \?CCL5
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL5: CALL2 OUT-OF-GAS?,W
|
|
ZERO? STACK \TRUE
|
|
LOC PLAYER
|
|
EQUAL? OBJ,ME,STACK \?CND1
|
|
ICALL WAND-STRUGGLE,S,W
|
|
RTRUE
|
|
?CND1: PRINTI "A vortex of energy forms at the tip of "
|
|
ICALL2 THE-PRINT,W
|
|
PRINTI ", reaches outward and "
|
|
EQUAL? OBJ,DOME /?CTR10
|
|
EQUAL? OBJ,CRATER,PLUME \?CCL11
|
|
IN? DOME,ON-PEAK \?CCL11
|
|
?CTR10: SET 'LAVA-TIMER,4
|
|
ICALL2 QUEUE,I-LAVA
|
|
REMOVE DOME
|
|
MOVE LAVA,ON-PEAK
|
|
PUTP CRATER,P?ACTION,CRATER-F
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
ICALL2 HAZE-ENVELOPS,DOME
|
|
PRINTI "You watch as it spreads across the perimeter, patiently undoing the mystic forces that define its structure"
|
|
PRINT PTAB
|
|
ICALL1 KERBLAM
|
|
PRINTI "The mountain roars with volcanic triumph as a thousand years of pent-up fury breaches the bonds of Time. A plume of white-hot lava swells up from the heart of the mountain, only seconds away from where you stand!"
|
|
CRLF
|
|
ICALL UPDATE-STAT,S,STRENGTH
|
|
RTRUE
|
|
?CCL11: EQUAL? OBJ,ASUCKER,BSUCKER,CSUCKER \?CCL17
|
|
ICALL2 HAZE-ENVELOPS,OBJ
|
|
PRINT STR?780
|
|
ICALL2 THE-PRINT,OBJ
|
|
ICALL2 BLAST-SUCKER,OBJ
|
|
ICALL UPDATE-STAT,S,STRENGTH
|
|
RTRUE
|
|
?CCL17: EQUAL? OBJ,BCASE,MCASE,WCASE /?CTR18
|
|
LOC OBJ
|
|
EQUAL? STACK,BCASE,MCASE,WCASE \?CCL19
|
|
?CTR18: FSET OWOMAN,SEEN
|
|
PRINTI "reflects harmlessly off "
|
|
ICALL2 THE-PRINT,MCASE
|
|
PRINT PTAB
|
|
PRINT CTHELADY
|
|
PRINTI " conceals a smirk."
|
|
CRLF
|
|
ICALL UPDATE-STAT,S,STRENGTH
|
|
RTRUE
|
|
?CCL19: GET MAGIC-ITEMS,0 >X
|
|
ZERO? X /?CCL23
|
|
INTBL? OBJ,MAGIC-ITEMS+2,X >X \?CCL23
|
|
ICALL2 HAZE-ENVELOPS,OBJ
|
|
FSET? OBJ,NEUTRALIZED \?CCL28
|
|
PRINT STR?781
|
|
JUMP ?CND9
|
|
?CCL28: EQUAL? OBJ,HELM \?CND29
|
|
CALL2 WEARING-MAGIC?,HELM
|
|
ZERO? STACK /?CND29
|
|
INC 'H
|
|
?CND29: FSET OBJ,NEUTRALIZED
|
|
PRINT STR?780
|
|
JUMP ?CND9
|
|
?CCL23: GET ARMOR-ITEMS,0 >X
|
|
ZERO? X /?CCL34
|
|
INTBL? OBJ,ARMOR-ITEMS+2,X >X \?CCL34
|
|
ICALL2 HAZE-ENVELOPS,OBJ
|
|
GETP OBJ,P?EMAX >X
|
|
GETP OBJ,P?EFFECT >Y
|
|
EQUAL? 0,X,Y /?CCL39
|
|
GRTR? Y,X \?CCL39
|
|
PUTP OBJ,P?EFFECT,X
|
|
SUB Y,X >NAC
|
|
PRINT STR?780
|
|
JUMP ?CND9
|
|
?CCL39: PRINT STR?781
|
|
JUMP ?CND9
|
|
?CCL34: GET WEAPON-ITEMS,0 >X
|
|
ZERO? X /?CCL43
|
|
INTBL? OBJ,WEAPON-ITEMS+2,X >X \?CCL43
|
|
ICALL2 HAZE-ENVELOPS,OBJ
|
|
GETP OBJ,P?EMAX >X
|
|
GETP OBJ,P?EFFECT >Y
|
|
EQUAL? 0,X,Y /?CCL48
|
|
GRTR? Y,X \?CCL48
|
|
PUTP OBJ,P?EFFECT,X
|
|
PRINT STR?780
|
|
JUMP ?CND9
|
|
?CCL48: PRINT STR?781
|
|
JUMP ?CND9
|
|
?CCL43: PRINTI "explores "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI ". "
|
|
EQUAL? OBJ,OWOMAN \?CCL53
|
|
PRINTI """How rude,"" she sniffs as "
|
|
JUMP ?CND9
|
|
?CCL53: PRINT STR?781
|
|
?CND9: PRINTI "the aura abruptly collapses."
|
|
CRLF
|
|
ICALL UPDATE-STAT,S,STRENGTH
|
|
ZERO? H /?CND54
|
|
ICALL1 NORMAL-IQ
|
|
?CND54: EQUAL? OBJ,GLASS \?CND56
|
|
ICALL1 ARCH-OFF
|
|
?CND56: ZERO? NAC /TRUE
|
|
SUB 0,NAC
|
|
ICALL UPDATE-STAT,STACK,ARMOR-CLASS
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HAZE-ENVELOPS,OBJ
|
|
PRINTI "envelops "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI " in a swirling haze. "
|
|
RTRUE
|
|
|
|
|
|
.FUNCT WAND-STRENGTH?,OBJ,S,X
|
|
GETP OBJ,P?STRENGTH >S
|
|
GET STATS,ENDURANCE
|
|
SUB STACK,1 >X
|
|
LESS? S,1 \?CCL3
|
|
SET 'S,1
|
|
JUMP ?CND1
|
|
?CCL3: GRTR? S,X \?CND1
|
|
SET 'S,X
|
|
?CND1: SUB 0,S
|
|
RSTACK
|
|
|
|
|
|
.FUNCT OUT-OF-GAS?,W,GAS
|
|
FSET W,USED
|
|
GETP W,P?ENDURANCE >GAS
|
|
ZERO? GAS /?CCL2
|
|
FSET? W,NEUTRALIZED \?CND1
|
|
?CCL2: ICALL2 CTHE-PRINT,W
|
|
CALL2 PICK-NEXT,EMPTY-WANDS
|
|
PRINT STACK
|
|
PRINTI ". Its virtue"
|
|
ZERO? GAS \?CND5
|
|
PRINTR " seems to be exhausted."
|
|
?CND5: PRINT STR?647
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND1: SUB GAS,1
|
|
PUTP W,P?ENDURANCE,STACK
|
|
RFALSE
|
|
|
|
|
|
.FUNCT NOT-LIVING?,OBJ,W
|
|
FSET? OBJ,LIVING /FALSE
|
|
ICALL2 CTHE-PRINT,W
|
|
PRINTI " crackles lifelessly as you direct it at "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTR ". Perhaps its Magick works only on living things."
|
|
|
|
|
|
.FUNCT STARTLE,OBJ,W
|
|
EQUAL? OBJ,OWOMAN \?CCL3
|
|
ICALL2 VANISH,W
|
|
PRINT TAB
|
|
ICALL2 CTHE-PRINT,OBJ
|
|
PRINTI " snatches "
|
|
ICALL2 THE-PRINT,W
|
|
PRINTI " away from you, snaps it in two and discards it angrily. ""That is "
|
|
ICALL2 ITALICIZE,STR?782
|
|
PRINTR " a toy."""
|
|
?CCL3: EQUAL? OBJ,SALT,COOK /?CTR4
|
|
EQUAL? OBJ,CLERIC \?CCL5
|
|
?CTR4: PRINT TAB
|
|
PRINTI """Hey! Careful with that,"" growls "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL5: EQUAL? OBJ,MINX,DACT \FALSE
|
|
FSET? OBJ,SLEEPING /FALSE
|
|
PRINT TAB
|
|
ICALL2 CTHE-PRINT,OBJ
|
|
PRINTR " gives you a reproachful look."
|
|
|
|
|
|
.FUNCT NEXT-WAND?,FCN,RM,OBJ,X
|
|
CALL2 PICK-ONE,WAND-LIST >OBJ
|
|
FSET? OBJ,NODESC \FALSE
|
|
FCLEAR OBJ,NODESC
|
|
CALL2 PICK-ONE,WAND-FUNCTIONS >X
|
|
GET X,0
|
|
PUTP OBJ,P?ACTION,STACK
|
|
GET X,1
|
|
PUTP OBJ,P?SDESC,STACK
|
|
GET X,2 >X
|
|
GETPT OBJ,P?SYNONYM
|
|
PUT STACK,0,X
|
|
GETPT OBJ,P?ADJECTIVE
|
|
PUT STACK,0,X
|
|
ASSIGNED? 'FCN \?CND4
|
|
PUTP OBJ,P?DESCFCN,FCN
|
|
?CND4: ASSIGNED? 'RM /?CCL7
|
|
RETURN OBJ
|
|
?CCL7: MOVE OBJ,RM
|
|
RETURN OBJ
|
|
|
|
|
|
.FUNCT HANDLE-WANDS?
|
|
CALL1 FIRST-TAKE?
|
|
ZERO? STACK \TRUE
|
|
EQUAL? PRSA,V?SWING \FALSE
|
|
PRINTI "You feel potential swell in "
|
|
ICALL1 THE-PRINT
|
|
PRINTR ", eager for release."
|
|
|
|
|
|
.FUNCT CURTAIN-F,CONTEXT,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
PRINTI "A closed curtain hangs suspended in midair."
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?CLOSE \?CCL9
|
|
ICALL2 ITS-ALREADY,STR?531
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?LOOK-BEHIND,V?LOOK-UNDER /?CTR10
|
|
INTBL? PRSA,E-VERBS,ENTER-VERBS >X /?CTR10
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
?CTR10: EQUAL? HERE,APLANE /?CND15
|
|
ICALL1 ENTER-CURTAIN
|
|
RTRUE
|
|
?CND15: CALL2 HELD?,PHASE
|
|
ZERO? STACK /?CND17
|
|
ICALL1 MUNG-PHASE
|
|
?CND17: ICALL1 AS-YOU-APPROACH
|
|
PRINTI "your eyes momentarily lose their focus."
|
|
CRLF
|
|
ZERO? VERBOSITY /?CND19
|
|
CRLF
|
|
?CND19: SET 'X,IN-MAGICK
|
|
EQUAL? ABOVE,OACCARDI \?CCL23
|
|
FCLEAR WEAPON-DOOR,OPENED
|
|
SET 'X,IN-WEAPON
|
|
JUMP ?CND21
|
|
?CCL23: EQUAL? ABOVE,OMIZNIA \?CND21
|
|
FCLEAR BOUTIQUE-DOOR,OPENED
|
|
SET 'X,IN-BOUTIQUE
|
|
?CND21: ICALL2 GOTO,X
|
|
PRINT TAB
|
|
PRINT CTHELADY
|
|
PRINTI " glances up as you appear. """
|
|
RANDOM 100 >X
|
|
LESS? X,33 \?CCL27
|
|
PRINTI "Hello"
|
|
JUMP ?CND25
|
|
?CCL27: LESS? X,67 \?CCL29
|
|
PRINTI "Welcome"
|
|
JUMP ?CND25
|
|
?CCL29: PRINTI "Greetings"
|
|
?CND25: PRINTI ","" she says, "
|
|
EQUAL? ABOVE,OCITY \?CND30
|
|
PRINTI "glaring at the"
|
|
ICALL2 OPEN-CLOSED,MAGICK-DOOR
|
|
PRINTR ". ""Gotta fix that bell."""
|
|
?CND30: PRINTR "frowning at the closed door."
|
|
|
|
|
|
.FUNCT ENTER-CURTAIN
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
ICALL2 AS-YOU-APPROACH,CURTAIN
|
|
PRINTI "the shop subtly rearranges itself until you find yourself facing the other way"
|
|
IN? OWOMAN,HERE \?CND1
|
|
PRINTI ". "
|
|
PRINT CTHELADY
|
|
PRINTI " watches you with wry amusement"
|
|
?CND1: PRINT PERIOD
|
|
RFALSE
|
|
|
|
|
|
.FUNCT MIRROR0-F,CONTEXT
|
|
CALL HANDLE-MIRRORS?,MIRROR0,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MIRROR1-F,CONTEXT
|
|
CALL HANDLE-MIRRORS?,MIRROR1,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MIRROR2-F,CONTEXT
|
|
CALL HANDLE-MIRRORS?,MIRROR2,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MIRROR3-F,CONTEXT
|
|
CALL HANDLE-MIRRORS?,MIRROR3,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MIRROR4-F,CONTEXT
|
|
CALL HANDLE-MIRRORS?,MIRROR4,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MIRROR5-F,CONTEXT
|
|
CALL HANDLE-MIRRORS?,MIRROR5,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MIRROR6-F,CONTEXT
|
|
CALL HANDLE-MIRRORS?,MIRROR6,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT NOTE-MIRROR,OBJ,WRD
|
|
PRINTI " is suspended in midair"
|
|
IN? QUEEN,HERE /FALSE
|
|
PRINTI ", facing "
|
|
PRINTB WRD
|
|
ICALL2 BEAM-DETAILS,OBJ
|
|
RFALSE
|
|
|
|
|
|
.FUNCT BEAM-DETAILS,OBJ,DIR,SDIR,X1,X2,X3
|
|
GETP HERE,P?MIRROR-OBJ
|
|
EQUAL? STACK,OBJ \FALSE
|
|
GETP HERE,P?BEAM-DIR >SDIR
|
|
EQUAL? SDIR,NO-MIRROR /FALSE
|
|
GETP OBJ,P?MIRROR-DIR >DIR
|
|
PRINTI ". Sunlight from the "
|
|
GET DIR-NAMES,SDIR
|
|
PRINTB STACK
|
|
PRINTI " exit is "
|
|
EQUAL? SDIR,DIR \?CND5
|
|
PRINTI "shining directly onto the mirror's face"
|
|
RTRUE
|
|
?CND5: ADD SDIR,1 >X1
|
|
GRTR? X1,I-NW \?CND7
|
|
SET 'X1,I-NORTH
|
|
?CND7: EQUAL? DIR,X1 \?CND9
|
|
IGRTR? 'X1,I-NW \?CND11
|
|
SET 'X1,I-NORTH
|
|
?CND11: ICALL2 REFLECT-TO,X1
|
|
RTRUE
|
|
?CND9: SUB SDIR,1 >X1
|
|
LESS? X1,I-NORTH \?CND13
|
|
SET 'X1,I-NW
|
|
?CND13: EQUAL? DIR,X1 \?CND15
|
|
DLESS? 'X1,I-NORTH \?CND17
|
|
SET 'X1,I-NW
|
|
?CND17: ICALL2 REFLECT-TO,X1
|
|
RTRUE
|
|
?CND15: SUB SDIR,2 >X1
|
|
LESS? X1,I-NORTH \?CND19
|
|
ADD X1,8 >X1
|
|
?CND19: ADD SDIR,2 >X2
|
|
GRTR? X2,I-NW \?CND21
|
|
SUB X2,8 >X2
|
|
?CND21: EQUAL? DIR,X1,X2 \?CND23
|
|
PRINTI "glinting on the mirror's edge"
|
|
RTRUE
|
|
?CND23: ADD SDIR,4 >X1
|
|
GRTR? X1,I-NW \?CND25
|
|
SUB X1,8 >X1
|
|
?CND25: ADD SDIR,3 >X2
|
|
GRTR? X2,I-NW \?CND27
|
|
SUB X2,8 >X2
|
|
?CND27: SUB SDIR,3 >X3
|
|
LESS? X3,I-NORTH \?CND29
|
|
ADD X3,8 >X3
|
|
?CND29: EQUAL? DIR,X1,X2,X3 \TRUE
|
|
PRINTI "illuminating the back of the mirror"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT REFLECT-TO,DIR
|
|
PRINTI "reflected "
|
|
GET DIR-NAMES,DIR
|
|
PRINTB STACK
|
|
GETB PDIR-LIST,DIR
|
|
GETP HERE,STACK >DIR
|
|
ZERO? DIR /?CND1
|
|
GET DIR,XTYPE
|
|
BAND STACK,65280
|
|
EQUAL? STACK,CONNECT /FALSE
|
|
?CND1: PRINTI ", onto the wall"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HANDLE-MIRRORS?,OBJ,CONTEXT,DIR,WRD,X
|
|
GETP OBJ,P?MIRROR-DIR >DIR
|
|
GET DIR-NAMES,DIR >WRD
|
|
EQUAL? CONTEXT,M-OBJDESC \?CCL3
|
|
ICALL2 PRINTCA,OBJ
|
|
ICALL NOTE-MIRROR,OBJ,WRD
|
|
PRINTC PER
|
|
RTRUE
|
|
?CCL3: ZERO? CONTEXT \FALSE
|
|
CALL2 NOUN-USED?,W?BUBBLES
|
|
ZERO? STACK /?CCL7
|
|
PRINTI "There's only one "
|
|
PRINTB W?BUBBLE
|
|
PRINTI " here."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL7: ZERO? NOW-PRSI? \FALSE
|
|
INTBL? PRSA,TALKVERBS,NTVERBS >X \?CCL13
|
|
ICALL1 MIRROR-REFLECTS
|
|
RETURN 2
|
|
?CCL13: EQUAL? PRSA,V?EXAMINE \?CCL17
|
|
ICALL1 CTHE-PRINT
|
|
ICALL NOTE-MIRROR,OBJ,WRD
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL17: EQUAL? PRSA,V?POINT-AT,V?PUSH-TO \?CCL19
|
|
ZERO? LIT? \?CCL22
|
|
ICALL1 TOO-DARK
|
|
RTRUE
|
|
?CCL22: EQUAL? PRSI,URGRUE \?CCL24
|
|
GETP PRSI,P?DNUM >X
|
|
EQUAL? X,DIR \?CND25
|
|
ICALL1 ALREADY-FACING
|
|
RTRUE
|
|
?CND25: ICALL2 NEW-MIRROR-DIR,X
|
|
RTRUE
|
|
?CCL24: EQUAL? PRSI,INTDIR \?CND20
|
|
EQUAL? P-DIRECTION,P?UP,P?DOWN /?CTR29
|
|
EQUAL? P-DIRECTION,P?IN,P?OUT \?CCL30
|
|
?CTR29: ICALL1 CTHE-PRINT
|
|
PRINT STR?783
|
|
RTRUE
|
|
?CCL30: GETB PDIR-LIST,DIR
|
|
EQUAL? STACK,P-DIRECTION \?CND28
|
|
ICALL1 ALREADY-FACING
|
|
RTRUE
|
|
?CND28: SUB P-DIRECTION,P?NORTH
|
|
SUB 0,STACK
|
|
ICALL2 NEW-MIRROR-DIR,STACK
|
|
RTRUE
|
|
?CND20: ICALL1 NYMPH-APPEARS
|
|
PRINTI "To direct the mirror, simply specify a "
|
|
PRINTD INTDIR
|
|
PRINTI "; for example, TURN THE MIRROR TO THE NORTH or AIM MIRROR SW"
|
|
PRINT STR?515
|
|
RTRUE
|
|
?CCL19: EQUAL? PRSA,V?SPIN,V?SWING,V?TURN /?PRG38
|
|
EQUAL? PRSA,V?PUSH,V?MOVE \?CCL35
|
|
?PRG38: RANDOM 7
|
|
BOR STACK,1 >X
|
|
EQUAL? X,DIR /?PRG38
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
PUTP PRSO,P?MIRROR-DIR,X
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " spins randomly around, slows and stops. It's now facing "
|
|
GET DIR-NAMES,X
|
|
PRINTB STACK
|
|
PRINT PERIOD
|
|
GETP HERE,P?MIRROR-OBJ
|
|
EQUAL? STACK,OBJ \TRUE
|
|
ICALL1 REFLECTIONS
|
|
RTRUE
|
|
?CCL35: EQUAL? PRSA,V?LOOK-INSIDE \?CCL45
|
|
PRINT YOU-SEE
|
|
IN? QUEEN,HERE \?CCL48
|
|
ICALL2 THE-PRINT,QUEEN
|
|
JUMP ?CND46
|
|
?CCL48: PRINTD ME
|
|
?CND46: PRINTI " reflected in "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL45: EQUAL? PRSA,V?HIT,V?SQUEEZE,V?KICK /?CTR49
|
|
EQUAL? PRSA,V?REACH-IN,V?POP,V?MUNG \?CCL50
|
|
?CTR49: ICALL2 DESTROY-MIRROR,OBJ
|
|
ICALL2 SAY-MIRROR-POPS,OBJ
|
|
RTRUE
|
|
?CCL50: EQUAL? PRSA,V?THROW \?CCL54
|
|
MOVE PRSI,HERE
|
|
ICALL1 CTHEI-PRINT
|
|
PRINTI " strikes "
|
|
ICALL1 THE-PRINT
|
|
PRINTI ", "
|
|
GETP PRSI,P?SIZE
|
|
LESS? STACK,1 \?CND55
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
PRINTR "slides off and lands at your feet."
|
|
?CND55: PRINTI "which explodes with a flabby "
|
|
ICALL2 ITALICIZE,STR?583
|
|
PRINT PERIOD
|
|
ICALL2 DESTROY-MIRROR,OBJ
|
|
RTRUE
|
|
?CCL54: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \FALSE
|
|
PRINTR "Wrong fantasy."
|
|
|
|
|
|
.FUNCT ALREADY-FACING
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " is already facing that way."
|
|
|
|
|
|
.FUNCT NEW-MIRROR-DIR,DIR
|
|
PUTP PRSO,P?MIRROR-DIR,DIR
|
|
PRINTI "You carefully rotate "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " until it faces "
|
|
GET DIR-NAMES,DIR
|
|
PRINTB STACK
|
|
PRINT PERIOD
|
|
GETP HERE,P?MIRROR-OBJ
|
|
EQUAL? STACK,PRSO \?CND1
|
|
ICALL1 REFLECTIONS
|
|
RTRUE
|
|
?CND1: BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MIRROR-REFLECTS
|
|
ICALL1 PCLEAR
|
|
ICALL2 CTHE-PRINT,MIRROR0
|
|
PRINTR " reflects on your words in silence."
|
|
|
|
|
|
.FUNCT SUNBEAM-F,DIR
|
|
GETP HERE,P?BEAM-DIR >DIR
|
|
EQUAL? DIR,NO-MIRROR \?CND1
|
|
EQUAL? HERE,SE-CAVE \?CCL5
|
|
FSET? SWALL,OPENED \?CCL5
|
|
SET 'DIR,I-SE
|
|
?CND1: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE \?CCL14
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is coming from the "
|
|
GET DIR-NAMES,DIR
|
|
PRINTB STACK
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL5: PRINT CANT
|
|
PRINTI "see that here."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL14: EQUAL? PRSA,V?WALK-TO,V?FOLLOW \FALSE
|
|
GETB PDIR-LIST,DIR
|
|
ICALL2 DO-WALK,STACK
|
|
RTRUE
|
|
|
|
|
|
.FUNCT JAR-F,CONTEXT,X
|
|
EQUAL? CONTEXT,M-OBJDESC \?CCL3
|
|
PRINT XA
|
|
PRINTD JAR
|
|
PRINTI " glitters in the "
|
|
CALL1 LIGHT-SOURCE? >X
|
|
ZERO? X \?CCL6
|
|
PRINTI "dim "
|
|
JUMP ?CND4
|
|
?CCL6: EQUAL? X,SUN \?CCL8
|
|
PRINTD SUN
|
|
JUMP ?CND4
|
|
?CCL8: PRINTD X
|
|
PRINTI "'s "
|
|
?CND4: PRINTI "light."
|
|
RTRUE
|
|
?CCL3: EQUAL? CONTEXT,M-CONT \?CCL10
|
|
FSET? JAR,OPENED /FALSE
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL YOUD-HAVE-TO,STR?518,JAR
|
|
RTRUE
|
|
?CCL10: CALL NOUN-USED?,W?LID,W?TOP
|
|
ZERO? STACK /?CCL15
|
|
EQUAL? PRSA,V?CLOSE,V?PLUG-IN /?CND1
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL19
|
|
PRINTI "The jar's lid is "
|
|
FSET? PRSO,OPENED \?CND20
|
|
PRINTR "open."
|
|
?CND20: PRINTR "closed."
|
|
?CCL19: EQUAL? PRSA,V?LOOK-UNDER \?CCL23
|
|
ICALL1 V-OPEN
|
|
RTRUE
|
|
?CCL23: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CND1
|
|
PRINTI "The jar's lid"
|
|
PRINT STR?783
|
|
RTRUE
|
|
?CCL15: CALL NOUN-USED?,W?LIQUID,W?SOAP,W?CONTENTS
|
|
ZERO? STACK /?CND1
|
|
ZERO? NOW-PRSI? \?CND1
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE,V?SEARCH \?CCL29
|
|
PRINTI "The rich, pearly liquid "
|
|
ICALL1 SAY-LIQUID
|
|
RTRUE
|
|
?CCL29: EQUAL? PRSA,V?TOUCH,V?SQUEEZE,V?PUSH \?CCL31
|
|
ICALL1 TOUCH-LIQUID
|
|
RTRUE
|
|
?CCL31: EQUAL? PRSA,V?OPEN,V?OPEN-WITH,V?CLOSE /?CCL32
|
|
EQUAL? PRSA,V?UNPLUG \?CND1
|
|
?CCL32: ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CND1: ZERO? NOW-PRSI? /?CCL37
|
|
EQUAL? PRSA,V?POUR-FROM \?CCL40
|
|
EQUAL? PRSO,PRSI \?CCL40
|
|
GET P-NAMW,0
|
|
EQUAL? STACK,W?LIQUID,W?SOAP,W?CONTENTS /?CND43
|
|
GET P-OFW,0
|
|
EQUAL? STACK,W?LIQUID,W?SOAP,W?CONTENTS \FALSE
|
|
?CND43: GET P-NAMW,1
|
|
EQUAL? STACK,W?LIQUID,W?SOAP,W?CONTENTS /FALSE
|
|
GET P-OFW,1
|
|
EQUAL? STACK,W?LIQUID,W?SOAP,W?CONTENTS /FALSE
|
|
FSET? PRSI,OPENED /?CND50
|
|
ICALL2 ITS-CLOSED,PRSI
|
|
RTRUE
|
|
?CND50: ICALL1 EMPTY-JAR
|
|
RTRUE
|
|
?CCL40: EQUAL? PRSA,V?PUT,V?PUT-UNDER,V?EMPTY-INTO \FALSE
|
|
EQUAL? PRSA,V?PUT-UNDER \?CCL55
|
|
EQUAL? P-PRSA-WORD,W?DIP,W?SUBMERGE \FALSE
|
|
?CCL55: FSET? PRSI,OPENED /?CCL59
|
|
ICALL YOUD-HAVE-TO,STR?518,PRSI
|
|
RTRUE
|
|
?CCL59: EQUAL? PRSO,CIRCLET \?CCL61
|
|
EQUAL? PRSA,V?PUT-UNDER \?CCL64
|
|
ICALL1 DIP-CIRCLET
|
|
RTRUE
|
|
?CCL64: FSET? PRSO,SEEN /FALSE
|
|
ICALL1 RENEW-FILM
|
|
RFALSE
|
|
?CCL61: IN? CIRCLET,PRSI \?CCL67
|
|
ICALL YOUD-HAVE-TO,STR?784,CIRCLET
|
|
RTRUE
|
|
?CCL67: GETP P?SIZE,PRSO
|
|
GRTR? STACK,1 \?CND53
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is too big to fit in "
|
|
ICALL1 THEI-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND53: ICALL1 VANISH
|
|
PRINTI "As you drop "
|
|
ICALL2 O-INTO-I,0
|
|
PRINTR ", it melts into the pearly liquid and disappears."
|
|
?CCL37: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL70
|
|
PRINT XTHE
|
|
FSET? PRSO,OPENED \?CCL73
|
|
PRINTB W?OPEN
|
|
JUMP ?CND71
|
|
?CCL73: PRINTB W?CLOSED
|
|
?CND71: PRINTR " jar appears to have been carved from a solid block of crystal."
|
|
?CCL70: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL75
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is filled with a rich, pearly liquid that "
|
|
ICALL1 SAY-LIQUID
|
|
RTRUE
|
|
?CCL75: EQUAL? PRSA,V?EMPTY,V?EMPTY-INTO,V?POUR \?CCL77
|
|
FSET? PRSO,OPENED /?CND78
|
|
ICALL1 ITS-CLOSED
|
|
RTRUE
|
|
?CND78: ICALL1 EMPTY-JAR
|
|
RTRUE
|
|
?CCL77: EQUAL? PRSA,V?OPEN,V?OPEN-WITH,V?UNPLUG \?CCL81
|
|
ICALL1 V-OPEN
|
|
RTRUE
|
|
?CCL81: EQUAL? PRSA,V?DRINK,V?TASTE,V?KISS /?CTR82
|
|
EQUAL? PRSA,V?SMELL \?CCL83
|
|
?CTR82: CALL NOUN-USED?,W?LIQUID,W?SOAP,W?CONTENTS
|
|
ZERO? STACK \?CND86
|
|
PRINTI "[the "
|
|
PRINTB W?LIQUID
|
|
PRINT BRACKET
|
|
?CND86: FSET? PRSO,OPENED /?CND88
|
|
ICALL1 ITS-CLOSED
|
|
RTRUE
|
|
?CND88: PRINTI "Its sharp, metallic odor "
|
|
EQUAL? PRSA,V?SMELL \?CND90
|
|
PRINTR "makes your nostrils burn."
|
|
?CND90: PRINTR "changes your mind."
|
|
?CCL83: EQUAL? PRSA,V?SHAKE \?CCL93
|
|
FSET? PRSO,OPENED \?CND94
|
|
ICALL1 EMPTY-JAR
|
|
RTRUE
|
|
?CND94: PRINTI "The liquid in "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " swirls around."
|
|
?CCL93: EQUAL? PRSA,V?REACH-IN \FALSE
|
|
ICALL1 TOUCH-LIQUID
|
|
RTRUE
|
|
|
|
|
|
.FUNCT EMPTY-JAR
|
|
PRINTR "The liquid seems quite content in its little jar, and refuses to come out despite vigorous turning and shaking."
|
|
|
|
|
|
.FUNCT TOUCH-LIQUID
|
|
FSET? PRSO,OPENED /?CND1
|
|
ICALL1 ITS-CLOSED
|
|
RTRUE
|
|
?CND1: PRINTR "You feel a sharp, metallic sensation."
|
|
|
|
|
|
.FUNCT SAY-LIQUID
|
|
PRINTI "swirls and shimmers with a life all its own"
|
|
IN? CIRCLET,JAR \?CND1
|
|
PRINTI ". A "
|
|
PRINTD CIRCLET
|
|
PRINTI " is suspended within"
|
|
?CND1: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GENERIC-BUBBLE-F,TBL,LEN,X
|
|
ASSIGNED? 'LEN /?CND1
|
|
GET TBL,0 >LEN
|
|
?CND1: ADD TBL,2 >TBL
|
|
EQUAL? PRSA,V?BLOW-INTO \?CCL5
|
|
INTBL? CIRCLET,TBL,LEN >X \?CCL5
|
|
RETURN CIRCLET
|
|
?CCL5: GRTR? LEN,2 /FALSE
|
|
GET TBL,0 >X
|
|
EQUAL? X,CIRCLET /?CCL10
|
|
RETURN X
|
|
?CCL10: GET TBL,1
|
|
RSTACK
|
|
|
|
|
|
.FUNCT CIRCLET-F,X,B
|
|
CALL NOUN-USED?,W?BUBBLE,W?BUBBLES >B
|
|
FSET? CIRCLET,SEEN /?CND1
|
|
CALL2 NOUN-USED?,W?FILM
|
|
ZERO? STACK \?CCL3
|
|
CALL2 ADJ-USED?,W?SWIRLING
|
|
ZERO? STACK /?CND1
|
|
?CCL3: ICALL1 PCLEAR
|
|
PRINT CANT
|
|
PRINTI "see any"
|
|
PRINT AT-MOMENT
|
|
RETURN 2
|
|
?CND1: EQUAL? PRSA,V?BLOW-INTO \?CCL10
|
|
IN? PRSO,PLAYER /?CND11
|
|
ICALL2 YOUD-HAVE-TO,STR?680
|
|
RTRUE
|
|
?CND11: PRINT CYOU
|
|
FSET? PRSO,SEEN /?CND13
|
|
ZERO? B /?CND13
|
|
CALL2 VISIBLE?,JAR
|
|
ZERO? STACK /?CND13
|
|
PRINTI "dip "
|
|
ICALL1 THE-PRINT
|
|
PRINT SIN
|
|
ICALL2 THE-PRINT,JAR
|
|
PRINTI ", draw it out and blow into the swirling film."
|
|
CRLF
|
|
ICALL1 START-MIRROR
|
|
RTRUE
|
|
?CND13: PRINTI "blow gently into the "
|
|
CALL1 EMPTY-CIRCLET?
|
|
ZERO? STACK \TRUE
|
|
PRINTD PRSO
|
|
PRINTI "'s swirling film."
|
|
CRLF
|
|
ICALL1 START-MIRROR
|
|
RTRUE
|
|
?CCL10: ZERO? B /?CND8
|
|
ICALL1 PCLEAR
|
|
PRINT CANT
|
|
PRINTI "see any "
|
|
PRINTB W?BUBBLES
|
|
PRINTI " here."
|
|
CRLF
|
|
RETURN 2
|
|
?CND8: ZERO? NOW-PRSI? /?CCL25
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 CTHEI-PRINT
|
|
PRINTR " is much too small."
|
|
?CCL25: EQUAL? PRSA,V?SWING \?CCL29
|
|
PRINT CYOU
|
|
PRINTB P-PRSA-WORD
|
|
PRINT STHE
|
|
CALL1 EMPTY-CIRCLET?
|
|
ZERO? STACK \TRUE
|
|
PRINTD PRSO
|
|
PRINTI " through the air."
|
|
CRLF
|
|
ICALL1 START-MIRROR
|
|
RTRUE
|
|
?CCL29: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \FALSE
|
|
PRINTI "The flat, hollow "
|
|
PRINTD PRSO
|
|
IN? PRSO,JAR \?CND34
|
|
PRINT SIN
|
|
ICALL2 THE-PRINT,JAR
|
|
?CND34: PRINTI " is attached to a short handle"
|
|
FSET? PRSO,SEEN \?CND36
|
|
PRINTI ", and is filled with a swirling film"
|
|
?CND36: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DIP-CIRCLET
|
|
PRINTI "You dip "
|
|
ICALL2 THE-PRINT,CIRCLET
|
|
PRINT SINTO
|
|
ICALL2 THE-PRINT,JAR
|
|
PRINT PERIOD
|
|
FSET? CIRCLET,SEEN /FALSE
|
|
ICALL1 RENEW-FILM
|
|
RFALSE
|
|
|
|
|
|
.FUNCT EMPTY-CIRCLET?
|
|
FSET? CIRCLET,SEEN \?CND1
|
|
ICALL1 KILL-FILM
|
|
RFALSE
|
|
?CND1: PRINTI "empty "
|
|
PRINTD CIRCLET
|
|
ICALL1 BUT-NOTHING-HAPPENS
|
|
RTRUE
|
|
|
|
|
|
.FUNCT KILL-FILM
|
|
FCLEAR CIRCLET,SEEN
|
|
ICALL REPLACE-SYN?,W?CIRCLET,W?FILM,W?ZZZP
|
|
ICALL REPLACE-ADJ?,W?CIRCLET,W?SWIRLING,W?ZZZP
|
|
RFALSE
|
|
|
|
|
|
.FUNCT RENEW-FILM
|
|
FSET CIRCLET,SEEN
|
|
ICALL REPLACE-SYN?,W?CIRCLET,W?ZZZP,W?FILM
|
|
ICALL REPLACE-ADJ?,W?CIRCLET,W?ZZZP,W?SWIRLING
|
|
RFALSE
|
|
|
|
|
|
.FUNCT START-MIRROR,LEN,OBJ,X
|
|
ZERO? LIT? \?CND1
|
|
PRINT TAB
|
|
PRINTI "Moments later, you hear a flabby "
|
|
ICALL2 ITALICIZE,STR?583
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND1: CALL1 PLAIN-ROOM? >X
|
|
ZERO? X \?CCL4
|
|
EQUAL? HERE,ON-BRIDGE,APLANE,IN-SKY /?CCL4
|
|
EQUAL? HERE,IN-SPLENDOR \?CND3
|
|
?CCL4: ICALL1 SAY-BUBBLE
|
|
PRINTI ", but "
|
|
ZERO? X /?CCL10
|
|
FSET CORBIES,SEEN
|
|
PRINTR "a corbie instantly swoops down to pop it."
|
|
?CCL10: EQUAL? HERE,ON-BRIDGE \?CCL12
|
|
PRINTR "river mist instantly dissolves it."
|
|
?CCL12: EQUAL? HERE,APLANE,IN-SPLENDOR \?CND8
|
|
PRINTI "it"
|
|
PRINT STR?578
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND8: PRINTR "upper air currents soon blow it out of sight."
|
|
?CND3: GET MIRROR-LIST,0 >LEN
|
|
?PRG14: GET MIRROR-LIST,LEN >OBJ
|
|
LOC OBJ >X
|
|
ZERO? X /?REP15
|
|
EQUAL? X,HERE \?CCL20
|
|
ICALL2 DESTROY-MIRROR,OBJ
|
|
ICALL1 SAY-BUBBLE
|
|
PRINTI " and bounces into the other bubble hovering nearby. Both disappear with a flabby "
|
|
ICALL2 ITALICIZE,STR?583
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL20: DLESS? 'LEN,1 \?PRG14
|
|
ICALL1 SAY-BUBBLE
|
|
PRINTI ", but it pops almost immediately."
|
|
CRLF
|
|
?REP15: ICALL1 SAY-BUBBLE
|
|
PRINTI "! You watch as it flattens into a perfectly circular mirror, rotating more and more slowly until it faces "
|
|
CALL2 CREATE-MIRROR?,OBJ
|
|
GET DIR-NAMES,STACK
|
|
PRINTB STACK
|
|
PRINT PERIOD
|
|
IN? URGRUE,HERE \?CND22
|
|
PRINT TAB
|
|
PRINTI """How droll,"" remarks "
|
|
ICALL2 THE-PRINT,URGRUE
|
|
PRINT PERIOD
|
|
?CND22: GETP HERE,P?MIRROR-OBJ
|
|
EQUAL? STACK,NO-MIRROR \TRUE
|
|
PUTP HERE,P?MIRROR-OBJ,OBJ
|
|
ICALL1 REFLECTIONS
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SAY-BUBBLE
|
|
PRINT TAB
|
|
PRINTI "A silvery bubble blows out of "
|
|
ICALL2 THE-PRINT,CIRCLET
|
|
RTRUE
|
|
|
|
|
|
.FUNCT REFLECTIONS,ALERT,POPIT,RM,TBL,X,OBJ,ANGLE,DIR,XDIR
|
|
GETB GRUE-ROOMS,0 >X
|
|
?PRG1: GETB GRUE-ROOMS,X >RM
|
|
EQUAL? HERE,RM \?CND3
|
|
INC 'ALERT
|
|
?CND3: FCLEAR RM,LIGHTED
|
|
PUTP RM,P?BEAM-DIR,NO-MIRROR
|
|
DLESS? 'X,1 \?PRG1
|
|
FSET? NWALL,OPENED \?CND7
|
|
FSET NE-CAVE,LIGHTED
|
|
?CND7: FSET? SWALL,OPENED \?CND9
|
|
FSET SE-CAVE,LIGHTED
|
|
?CND9: GETP SE-CAVE,P?MIRROR-OBJ >OBJ
|
|
EQUAL? OBJ,FALSE-VALUE,NO-MIRROR /?CND11
|
|
FSET? SWALL,OPENED \?CND11
|
|
GETP OBJ,P?MIRROR-DIR
|
|
EQUAL? STACK,I-SOUTH \?CND11
|
|
PUTP SE-CAVE,P?BEAM-DIR,I-SE
|
|
FSET SE-CAVE,LIGHTED
|
|
SET 'RM,SE-CAVE
|
|
SET 'DIR,I-SW
|
|
?PRG16: GETB PDIR-LIST,DIR
|
|
GETP RM,STACK >TBL
|
|
ZERO? TBL /?CND11
|
|
GET TBL,XTYPE
|
|
BAND STACK,65280
|
|
EQUAL? STACK,CONNECT,SCONNECT \?CND11
|
|
ADD DIR,4 >XDIR
|
|
GRTR? XDIR,I-NW \?CND22
|
|
SUB XDIR,8 >XDIR
|
|
?CND22: GET TBL,XROOM >RM
|
|
GETP RM,P?MIRROR-OBJ >OBJ
|
|
ZERO? OBJ /?CND11
|
|
FSET? RM,LIGHTED \?CND24
|
|
INC 'POPIT
|
|
?CND24: PUTP RM,P?BEAM-DIR,XDIR
|
|
FSET RM,LIGHTED
|
|
EQUAL? OBJ,NO-MIRROR /?PRG16
|
|
GETP OBJ,P?MIRROR-DIR >ANGLE
|
|
EQUAL? ANGLE,DIR \?CCL32
|
|
EQUAL? HERE,RM \?CND11
|
|
PRINT TAB
|
|
PRINTI "The back of "
|
|
ICALL2 THE-PRINT,MIRROR0
|
|
PRINTI " is illuminated by a sunbeam."
|
|
CRLF
|
|
JUMP ?CND11
|
|
?CCL32: EQUAL? ANGLE,XDIR \?CND30
|
|
EQUAL? HERE,RM \?CND11
|
|
PRINT TAB
|
|
PRINTI "A sunbeam is reflected "
|
|
GET DIR-NAMES,XDIR
|
|
PRINTB STACK
|
|
PRINT PERIOD
|
|
?CND11: ZERO? ALERT /?CND66
|
|
ICALL1 SAY-IF-HERE-LIT
|
|
?CND66: ICALL1 REFRESH-MAP
|
|
ZERO? POPIT /FALSE
|
|
GETP SE-CAVE,P?MIRROR-OBJ
|
|
PUTP STACK,P?SIZE,1
|
|
RFALSE
|
|
?CND30: ADD DIR,2 >X
|
|
GRTR? X,I-NW \?CND38
|
|
SUB X,8 >X
|
|
?CND38: EQUAL? ANGLE,X \?CND40
|
|
EQUAL? HERE,RM \?PRG16
|
|
ICALL2 MENTION-GLIMMER,XDIR
|
|
JUMP ?PRG16
|
|
?CND40: SUB DIR,2 >X
|
|
LESS? X,I-NORTH \?CND44
|
|
ADD X,8 >X
|
|
?CND44: EQUAL? ANGLE,X \?CND46
|
|
EQUAL? HERE,RM \?PRG16
|
|
ICALL2 MENTION-GLIMMER,XDIR
|
|
JUMP ?PRG16
|
|
?CND46: ADD DIR,3 >X
|
|
GRTR? X,I-NW \?CND50
|
|
SUB X,8 >X
|
|
?CND50: EQUAL? ANGLE,X \?CND52
|
|
ADD DIR,2 >DIR
|
|
GRTR? DIR,I-NW \?CND54
|
|
SUB DIR,8 >DIR
|
|
?CND54: EQUAL? HERE,RM \?PRG16
|
|
ICALL SAY-BEAM,XDIR,DIR
|
|
JUMP ?PRG16
|
|
?CND52: ADD DIR,5 >X
|
|
GRTR? X,I-NW \?CND58
|
|
SUB X,8 >X
|
|
?CND58: EQUAL? ANGLE,X \?CND11
|
|
SUB DIR,2 >DIR
|
|
LESS? DIR,I-NORTH \?CND62
|
|
ADD DIR,8 >DIR
|
|
?CND62: EQUAL? HERE,RM \?PRG16
|
|
ICALL SAY-BEAM,XDIR,DIR
|
|
JUMP ?PRG16
|
|
|
|
|
|
.FUNCT SAY-BEAM,FROM,TO
|
|
PRINT STR?724
|
|
PRINTI "is reflected "
|
|
GET DIR-NAMES,FROM
|
|
PRINTB STACK
|
|
PRINT STO
|
|
GET DIR-NAMES,TO
|
|
PRINTB STACK
|
|
EQUAL? HERE,IN-LAIR \?CND1
|
|
EQUAL? TO,I-SE \?CND1
|
|
IN? URGRUE,IN-LAIR \?CND1
|
|
ICALL1 KILL-URGRUE
|
|
RTRUE
|
|
?CND1: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MENTION-GLIMMER,DIR
|
|
PRINT TAB
|
|
PRINT XTHE
|
|
GET DIR-NAMES,DIR
|
|
PRINTB STACK
|
|
PRINTR " edge of the mirror gleams."
|
|
|
|
|
|
.FUNCT URGRUE-GETS-COCO,I
|
|
ICALL2 DEQUEUE,I-IMPS-TAKE
|
|
SET 'IMPSAY,4
|
|
ICALL2 QUEUE,I-IMPQUEST
|
|
REMOVE COCO
|
|
FSET COCO,NODESC
|
|
FSET COCO,SEEN
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
PRINTI "As "
|
|
ZERO? I \?CCL3
|
|
PRINTI "you reach"
|
|
JUMP ?CND1
|
|
?CCL3: PRINTI "the Implementor reaches"
|
|
?CND1: PRINTI " towards "
|
|
ICALL2 THE-PRINT,COCO
|
|
PRINTI ", a vortex of laughing darkness boils up from underfoot!
|
|
""More company,"" sighs the "
|
|
PRINT STR?607
|
|
PRINT PTAB
|
|
PRINTI "You back away from the zone of darkness as it spreads across the Plane, reaching out with long black fingers, searching, searching.."
|
|
PRINT PTAB
|
|
ICALL2 ITALICIZE,STR?785
|
|
PRINTI "! "
|
|
ICALL2 CTHE-PRINT,COCO
|
|
PRINTR " falls into the eye of the vortex and disappears, along with a stack of lunch meat and bits of cutlery from the Implementors' table. Then, with a final chortle, the vortex draws itself together, turns sideways and flickers out of existence.
|
|
""Ur-grue?"" asks the only woman Implementor.
|
|
""Ur-grue,"" nods another."
|
|
|
|
|
|
.FUNCT ARCH-F,CONTEXT,TIME,OBJ,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \?CCL6
|
|
PRINTI "A crumbling stone arch stands "
|
|
EQUAL? ATIME,PRESENT \?CCL9
|
|
PRINTI "at the exact center of "
|
|
ICALL2 THE-PRINT,PLAZA
|
|
JUMP ?CND7
|
|
?CCL9: PRINTI "nearby"
|
|
?CND7: CALL2 SEE-ANYTHING-IN?,ARCH
|
|
ZERO? STACK /?CND10
|
|
PRINTI ". Beneath it you see "
|
|
ICALL2 CONTENTS,ARCH
|
|
?CND10: PRINTC PER
|
|
SET 'P-IT-OBJECT,ARCH
|
|
RTRUE
|
|
?CCL6: EQUAL? CONTEXT,M-BEG \FALSE
|
|
SET 'OBJ,PRSO
|
|
ZERO? NOW-PRSI? /?CND13
|
|
SET 'OBJ,PRSI
|
|
?CND13: CALL CANT-REACH-WHILE-IN?,OBJ,ARCH
|
|
ZERO? STACK \TRUE
|
|
CALL2 HANDLE-ARCH-ROOMS?,CONTEXT
|
|
RSTACK
|
|
?CCL3: ZERO? NOW-PRSI? /?CCL18
|
|
EQUAL? PRSA,V?PUT-ON \?CCL21
|
|
PRINTI "The top of "
|
|
ICALL1 THEI-PRINT
|
|
PRINTR " is high out of reach."
|
|
?CCL21: EQUAL? PRSA,V?THROW-OVER \?CCL23
|
|
ICALL1 WASTE-OF-TIME
|
|
RTRUE
|
|
?CCL23: EQUAL? PRSA,V?PUT-UNDER \FALSE
|
|
IN? PLAYER,PRSI \?CND25
|
|
ICALL PERFORM,V?DROP,PRSO
|
|
RTRUE
|
|
?CND25: ICALL PERFORM,V?PUT,PRSO,PRSI
|
|
RTRUE
|
|
?CCL18: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL28
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " is tall and narrow. The opening beneath is shaped like an hourglass."
|
|
?CCL28: EQUAL? PRSA,V?LOOK-INSIDE,V?LOOK-UNDER,V?SEARCH \?CCL30
|
|
IN? PLAYER,PRSO \?CCL33
|
|
ICALL1 ASIDE-FROM
|
|
JUMP ?CND31
|
|
?CCL33: PRINT YOU-SEE
|
|
?CND31: ICALL1 CONTENTS
|
|
PRINTI " under "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
SET 'P-IT-OBJECT,PRSO
|
|
RTRUE
|
|
?CCL30: EQUAL? PRSA,V?ENTER,V?THROUGH,V?WALK-TO /?CTR34
|
|
EQUAL? PRSA,V?STAND-UNDER,V?FOLLOW \?CCL35
|
|
?CTR34: ICALL1 ENTER-ARCH
|
|
RTRUE
|
|
?CCL35: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \?CCL39
|
|
ICALL1 EXIT-ARCH
|
|
RETURN 2
|
|
?CCL39: EQUAL? PRSA,V?WALK-AROUND,V?LOOK-BEHIND \?CCL43
|
|
IN? PLAYER,PRSO \?CND44
|
|
ICALL2 YOUD-HAVE-TO,STR?786
|
|
RTRUE
|
|
?CND44: PRINTI "You walk slowly around "
|
|
ICALL1 THE-PRINT
|
|
PRINTI ", but find nothing "
|
|
CALL2 PICK-NEXT,YAWNS
|
|
PRINT STACK
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL43: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL47
|
|
PRINTI "The sides of "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " are too steep to climb."
|
|
?CCL47: EQUAL? PRSA,V?CLOSE \FALSE
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ENTER-ARCH
|
|
IN? PLAYER,ARCH \?CCL3
|
|
PRINT ALREADY
|
|
PRINTI "under "
|
|
ICALL2 THE-PRINT,ARCH
|
|
PRINT PERIOD
|
|
RFALSE
|
|
?CCL3: CALL1 DROP-ONION-FIRST?
|
|
ZERO? STACK \FALSE
|
|
SET 'OLD-HERE,FALSE-VALUE
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
MOVE PLAYER,ARCH
|
|
PRINTI "You step beneath the shadow of "
|
|
ICALL2 THE-PRINT,ARCH
|
|
PRINT PERIOD
|
|
IN? MINX,HERE \?CND5
|
|
FSET? MINX,LIVING \?CND5
|
|
ICALL1 I-MINX
|
|
?CND5: IN? DACT,HERE \?CND9
|
|
FSET? DACT,LIVING \?CND9
|
|
FSET? DACT,SLEEPING /?CND9
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
REMOVE DACT
|
|
PRINT TAB
|
|
ICALL2 CTHE-PRINT,DACT
|
|
PRINTI " spreads its wings and soars out of sight."
|
|
CRLF
|
|
?CND9: ZERO? DMODE \?CND14
|
|
CRLF
|
|
?CND14: ZERO? GLASS-TOP /FALSE
|
|
ICALL1 ARCH-ON
|
|
RFALSE
|
|
|
|
|
|
.FUNCT EXIT-ARCH
|
|
IN? PLAYER,ARCH /?CCL3
|
|
PRINTI "You're not under "
|
|
ICALL2 THE-PRINT,ARCH
|
|
PRINT PERIOD
|
|
RFALSE
|
|
?CCL3: FSET? ARCH,SEEN \?CND1
|
|
PRINT STR?787
|
|
CRLF
|
|
RFALSE
|
|
?CND1: SET 'OLD-HERE,FALSE-VALUE
|
|
MOVE PLAYER,HERE
|
|
PRINTI "You step out from under "
|
|
ICALL2 THE-PRINT,ARCH
|
|
PRINT PERIOD
|
|
ZERO? DMODE \FALSE
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT ARCH-ON
|
|
IN? PLAYER,ARCH \FALSE
|
|
FSET? GLASS,NEUTRALIZED /FALSE
|
|
ICALL1 TURN-ON-ARCH
|
|
RFALSE
|
|
|
|
|
|
.FUNCT TURN-ON-ARCH,DIR,TBL,X
|
|
FSET ARCH,SEEN
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
SET 'OLD-HERE,FALSE-VALUE
|
|
PUTP HERE,P?EXIT-STR,STR?787
|
|
EQUAL? HERE,ARCH-VOID /?CND1
|
|
ICALL NEW-EXIT?,HERE,P?OUT,NO-EXIT
|
|
?CND1: ICALL NEW-EXIT?,HERE,P?NORTH,1161,TIMESHIFT
|
|
ICALL NEW-EXIT?,HERE,P?SOUTH,1161,TIMESHIFT
|
|
EQUAL? ATIME,PRESENT \?CND3
|
|
SET 'DIR,P?NW
|
|
?PRG5: EQUAL? DIR,P?SOUTH /?CND7
|
|
GETP HERE,DIR >TBL
|
|
ZERO? TBL /?CND7
|
|
GET TBL,XTYPE
|
|
BAND STACK,255 >X
|
|
ADD X,NO-EXIT
|
|
PUT TBL,XTYPE,STACK
|
|
?CND7: IGRTR? 'DIR,P?NE \?PRG5
|
|
?CND3: MOVE LIGHTSHOW,ARCH
|
|
PRINT TAB
|
|
FSET? ARCH,IDENTIFIED \?CCL15
|
|
PRINTI "The nightmare sensation returns"
|
|
JUMP ?CND13
|
|
?CCL15: FSET ARCH,IDENTIFIED
|
|
PRINTI "A nightmare sensation grips your senses! Your field of vision warps into a narrow "
|
|
PRINTD LIGHTSHOW
|
|
PRINTI ", stretching "
|
|
PRINT STR?788
|
|
?CND13: PRINT PERIOD
|
|
ZERO? DMODE \FALSE
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT ARCH-OFF,X
|
|
LOC PLAYER >X
|
|
LOC ARCH
|
|
EQUAL? X,ARCH,STACK \FALSE
|
|
FSET? ARCH,SEEN \FALSE
|
|
ICALL1 TURN-OFF-ARCH
|
|
RFALSE
|
|
|
|
|
|
.FUNCT TURN-OFF-ARCH,DIR,TBL,X,STR
|
|
FCLEAR ARCH,SEEN
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
SET 'OLD-HERE,FALSE-VALUE
|
|
ICALL NEW-EXIT?,HERE,P?NORTH,NO-EXIT
|
|
ICALL NEW-EXIT?,HERE,P?SOUTH,NO-EXIT
|
|
SET 'STR,STR?789
|
|
EQUAL? HERE,ARCH-VOID \?CCL3
|
|
SET 'STR,STR?790
|
|
JUMP ?CND1
|
|
?CCL3: ICALL NEW-EXIT?,HERE,P?OUT,1152
|
|
EQUAL? ATIME,PRESENT \?CND1
|
|
SET 'STR,STR?742
|
|
SET 'DIR,P?NW
|
|
?PRG6: EQUAL? DIR,P?SOUTH /?CND8
|
|
GETP HERE,DIR >TBL
|
|
ZERO? TBL /?CND8
|
|
GET TBL,XTYPE
|
|
BAND STACK,255 >X
|
|
ADD X,CONNECT
|
|
PUT TBL,XTYPE,STACK
|
|
?CND8: IGRTR? 'DIR,P?NE \?PRG6
|
|
?CND1: PUTP HERE,P?EXIT-STR,STR
|
|
REMOVE LIGHTSHOW
|
|
PRINT TAB
|
|
FSET? PLAZA,IDENTIFIED \?CCL16
|
|
PRINTC 89
|
|
JUMP ?CND14
|
|
?CCL16: FSET PLAZA,IDENTIFIED
|
|
PRINTI "The infinite "
|
|
PRINTD LIGHTSHOW
|
|
PRINTI " abruptly collapses, and y"
|
|
?CND14: PRINTI "our field of view snaps back to normal."
|
|
CRLF
|
|
ZERO? DMODE \FALSE
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT LIGHTSHOW-F,X
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?LOOK-INSIDE /?CTR2
|
|
INTBL? PRSA,E-VERBS,ENTER-VERBS >X /?CTR2
|
|
INTBL? PRSA,X-VERBS,EXIT-VERBS >X \?CCL3
|
|
?CTR2: ICALL1 CTHE-PRINT
|
|
PRINTI " seems to extend "
|
|
PRINT STR?788
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL8
|
|
ICALL1 CANT-FROM-HERE
|
|
RTRUE
|
|
?CCL8: INTBL? PRSA,SEEVERBS,NSVERBS >X \?CND1
|
|
ICALL1 CANT-SEE-MUCH
|
|
RTRUE
|
|
?CND1: ICALL2 USELESS,LIGHTSHOW
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT HELM-F,FX
|
|
GETP HELM,P?EFFECT >FX
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE \?CCL5
|
|
PRINTR "This dazzling treasure is so heavily crusted with jewels, it's hard to see the precious metals underneath."
|
|
?CCL5: EQUAL? PRSA,V?WEAR \?CCL7
|
|
FSET? PRSO,WORN /?CCL7
|
|
CALL1 DONT-HAVE?
|
|
ZERO? STACK \TRUE
|
|
BOR NEW-DBOX,SHOWING-INV >NEW-DBOX
|
|
FSET PRSO,WORN
|
|
PRINTI "You lower "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " onto "
|
|
PRINTD HEAD
|
|
IN? GRUE,HERE \?CND12
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
PRINT COMMA-AND
|
|
ICALL2 PRINTA,GRUE
|
|
PRINTI " takes shape in the darkness nearby"
|
|
?CND12: PRINT PERIOD
|
|
ICALL UPDATE-STAT,FX,ARMOR-CLASS
|
|
FSET? PRSO,NEUTRALIZED /TRUE
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
ICALL UPDATE-STAT,30,INTELLIGENCE
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?TAKE-OFF \FALSE
|
|
FSET? PRSO,WORN \FALSE
|
|
IN? PRSO,PLAYER \FALSE
|
|
BOR NEW-DBOX,SHOWING-INV >NEW-DBOX
|
|
FCLEAR PRSO,WORN
|
|
PRINTI "You lift "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " off "
|
|
PRINTD HEAD
|
|
IN? GRUE,HERE \?CND21
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
PRINT COMMA-AND
|
|
ICALL2 THE-PRINT,GRUE
|
|
PRINTI " merges into the darkness"
|
|
?CND21: PRINT PERIOD
|
|
SUB 0,FX
|
|
ICALL UPDATE-STAT,STACK,ARMOR-CLASS
|
|
FSET? PRSO,NEUTRALIZED /TRUE
|
|
ICALL1 NORMAL-IQ
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NORMAL-IQ,X,MAX
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
GET STATS,INTELLIGENCE >X
|
|
GET MAXSTATS,INTELLIGENCE >MAX
|
|
GRTR? X,MAX \FALSE
|
|
SUB X,MAX
|
|
SUB 0,STACK
|
|
ICALL UPDATE-STAT,STACK,INTELLIGENCE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT BHORSE-F,CONTEXT,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
PRINTI "A black horse"
|
|
PRINT STR?791
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? /?CCL7
|
|
EQUAL? PRSA,V?THROW,V?THROW-OVER \?CCL10
|
|
ICALL1 BATTLE-MISS
|
|
RTRUE
|
|
?CCL10: INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 CANT-FROM-HERE
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL13
|
|
ICALL1 CTHE-PRINT
|
|
PRINT STR?791
|
|
CRLF
|
|
RTRUE
|
|
?CCL13: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL15
|
|
ICALL2 NOT-LONELY,KNIGHT
|
|
RTRUE
|
|
?CCL15: INTBL? PRSA,TALKVERBS,NTVERBS >X \?CCL17
|
|
ICALL1 NOT-LIKELY
|
|
PRINT STR?509
|
|
RTRUE
|
|
?CCL17: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL1 ZING
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SLAY-HORSE
|
|
MOVE DEAD-HORSE,HERE
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
FCLEAR PRINCE,NODESC
|
|
MOVE HORSE,TRENCH
|
|
FCLEAR TRENCH,OPENED
|
|
FSET HORSE,NODESC
|
|
FCLEAR HORSE,LIVING
|
|
PRINTI "stray arrow strikes the prince's stallion in the flank. The luckless beast shrieks piteously, stumbles into "
|
|
ICALL2 THE-PRINT,TRENCH
|
|
PRINTR " and lies still."
|
|
|
|
|
|
.FUNCT HORSE-F,CONTEXT,X,OBJ
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \?CCL6
|
|
IN? PRINCE,HORSE \?CND7
|
|
PRINTI "A prince sits on a "
|
|
ICALL2 DPRINT,HORSE
|
|
PRINTC PER
|
|
RTRUE
|
|
?CND7: ICALL2 PRINTCA,HORSE
|
|
PRINTI " stands beside the headless body of a prince."
|
|
RTRUE
|
|
?CCL6: EQUAL? CONTEXT,M-CONT \FALSE
|
|
SET 'OBJ,PRSO
|
|
ZERO? NOW-PRSI? /?CND10
|
|
SET 'OBJ,PRSI
|
|
?CND10: ZERO? OBJ /FALSE
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
PRINT CANT
|
|
PRINTI "reach "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINT AT-MOMENT
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? /?CCL16
|
|
EQUAL? PRSA,V?THROW,V?THROW-OVER \?CCL19
|
|
ICALL1 BATTLE-MISS
|
|
RTRUE
|
|
?CCL19: INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 CANT-FROM-HERE
|
|
RTRUE
|
|
?CCL16: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL22
|
|
ICALL1 CTHE-PRINT
|
|
PRINT SIS
|
|
IN? PRINCE,PRSO \?CND23
|
|
PRINTI "bearing "
|
|
ICALL2 THE-PRINT,PRINCE
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND23: PRINTR "riderless."
|
|
?CCL22: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL26
|
|
IN? PRINCE,PRSO \?CND27
|
|
ICALL2 NOT-LONELY,PRINCE
|
|
RTRUE
|
|
?CND27: ICALL1 ZING
|
|
RTRUE
|
|
?CCL26: EQUAL? PRSA,V?TELL,V?ASK-ABOUT,V?ASK-FOR /?CTR29
|
|
EQUAL? PRSA,V?TELL-ABOUT,V?YELL \?CCL30
|
|
?CTR29: ICALL2 CTHE-PRINT,HORSE
|
|
PRINTR " pays no attention."
|
|
?CCL30: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL1 ZING
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NOT-LONELY,WHO
|
|
ICALL2 CTHE-PRINT,WHO
|
|
PRINTR " doesn't seem lonely."
|
|
|
|
|
|
.FUNCT BATTLE-MISS
|
|
MOVE PRSO,HERE
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " narrowly misses "
|
|
ICALL1 THEI-PRINT
|
|
PRINTI " and tumbles to "
|
|
ICALL2 THE-PRINT,GROUND
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DEAD-HORSE-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?THROW,V?THROW-OVER \?CCL6
|
|
ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CCL6: INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 CANT-FROM-HERE
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL9
|
|
ICALL1 CTHE-PRINT
|
|
PRINT STR?792
|
|
ICALL2 THE-PRINT,TRENCH
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?TELL,V?ASK-ABOUT,V?ASK-FOR /?CTR10
|
|
EQUAL? PRSA,V?TELL-ABOUT,V?YELL \?CCL11
|
|
?CTR10: ICALL1 NOT-LIKELY
|
|
PRINTR " will respond."
|
|
?CCL11: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CCL15
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " is much too heavy."
|
|
?CCL15: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \FALSE
|
|
ICALL1 ZING
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TRENCH-F,CONTEXT,X,OBJ
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \?CCL6
|
|
ICALL2 PRINTCA,TRENCH
|
|
PRINTI " is visible on "
|
|
ICALL2 THE-PRINT,GROUND
|
|
CALL2 SEE-ANYTHING-IN?,TRENCH
|
|
ZERO? STACK /?CND7
|
|
PRINTI ". Inside it you see "
|
|
ICALL2 CONTENTS,TRENCH
|
|
SET 'P-IT-OBJECT,TRENCH
|
|
?CND7: PRINTC PER
|
|
RTRUE
|
|
?CCL6: EQUAL? CONTEXT,M-CONT \FALSE
|
|
SET 'OBJ,PRSO
|
|
ZERO? NOW-PRSI? /?CND10
|
|
SET 'OBJ,PRSI
|
|
?CND10: EQUAL? OBJ,FALSE-VALUE,HORSE /FALSE
|
|
IN? HORSE,TRENCH /?CND12
|
|
EQUAL? HERE,ARCH4 \FALSE
|
|
IN? HELM,TRENCH \FALSE
|
|
ICALL1 SAY-SLAY
|
|
RETURN 2
|
|
?CND12: PRINT CANT
|
|
INTBL? PRSA,SEEVERBS,NSVERBS >X \?CCL24
|
|
PRINTB W?SEE
|
|
JUMP ?CND22
|
|
?CCL24: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL26
|
|
PRINTB W?REACH
|
|
JUMP ?CND22
|
|
?CCL26: PRINTI "do that to"
|
|
?CND22: PRINTC SP
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI ". "
|
|
ICALL2 CTHE-PRINT,HORSE
|
|
PRINTI " is blocking "
|
|
ICALL2 THE-PRINT,TRENCH
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? /?CCL28
|
|
EQUAL? PRSA,V?PUT,V?EMPTY-INTO,V?THROW \FALSE
|
|
MOVE PRSO,PRSI
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " rolls deep into "
|
|
ICALL1 THEI-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL28: EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE,V?SEARCH \?CCL32
|
|
ICALL1 CTHE-PRINT
|
|
EQUAL? HERE,ARCH4 \?CCL35
|
|
PRINTI " forms an unsightly gash in the plaza"
|
|
JUMP ?CND33
|
|
?CCL35: PRINTI " looks much like any other"
|
|
?CND33: IN? HORSE,PRSO \?CCL38
|
|
PRINTI ". "
|
|
ICALL2 PRINTCA,HORSE
|
|
PRINT STR?792
|
|
PRINTB W?IT
|
|
JUMP ?CND36
|
|
?CCL38: CALL1 SEE-ANYTHING-IN?
|
|
ZERO? STACK /?CND36
|
|
PRINTI ". "
|
|
PRINT STR?530
|
|
ICALL1 CONTENTS
|
|
SET 'P-IT-OBJECT,PRSO
|
|
?CND36: PRINT PERIOD
|
|
RTRUE
|
|
?CCL32: EQUAL? PRSA,V?OPEN,V?OPEN-WITH,V?CLOSE \?CCL41
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL41: EQUAL? PRSA,V?REACH-IN /?CTR42
|
|
INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL43
|
|
?CTR42: IN? HORSE,TRENCH \?CCL48
|
|
ICALL2 CTHE-PRINT,HORSE
|
|
PRINTI " is blocking "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL48: EQUAL? PRSA,V?REACH-IN \?CND46
|
|
PRINTI "You grope around in "
|
|
ICALL1 THE-PRINT
|
|
CALL1 SEE-ANYTHING-IN?
|
|
ZERO? STACK /?CND50
|
|
PRINTR ", and feel something."
|
|
?CND50: PRINTI ", but feel nothing "
|
|
CALL2 PICK-NEXT,YAWNS
|
|
PRINT STACK
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND46: ICALL1 CTHE-PRINT
|
|
PRINTR "'s sides begin to crumble, so you hastily scramble out again."
|
|
?CCL43: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \FALSE
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ZING
|
|
ICALL1 AS-YOU-APPROACH
|
|
PRINTR "an arrow zings across your path."
|
|
|
|
|
|
.FUNCT AS-YOU-APPROACH,OBJ
|
|
ASSIGNED? 'OBJ /?CND1
|
|
SET 'OBJ,PRSO
|
|
?CND1: PRINTI "As you approach "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI ", "
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MAW-F,CONTEXT,OBJ,X
|
|
ZERO? CONTEXT /?CCL3
|
|
SET 'OBJ,PRSO
|
|
ZERO? NOW-PRSI? /?CND4
|
|
SET 'OBJ,PRSI
|
|
?CND4: EQUAL? CONTEXT,M-BEG \?CCL8
|
|
CALL CANT-REACH-WHILE-IN?,OBJ,MAW
|
|
RSTACK
|
|
?CCL8: EQUAL? CONTEXT,M-CONT \FALSE
|
|
IN? PLAYER,MAW \?CCL12
|
|
EQUAL? OBJ,TEAR \FALSE
|
|
FSET? OBJ,TAKEABLE /FALSE
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL1 TOUCH-TEAR
|
|
RETURN 2
|
|
?CCL12: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL YOUD-HAVE-TO,STR?793,MAW
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE \?CND1
|
|
ICALL1 SEE-MAW
|
|
RTRUE
|
|
?CND1: CALL1 HANDLE-MAW?
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SEE-MAW
|
|
PRINTI "The maw hangs wide open, its lower jaw touching "
|
|
ICALL2 THE-PRINT,GROUND
|
|
PRINTR " to form an inclined walkway lined with rows of stone teeth."
|
|
|
|
|
|
.FUNCT HANDLE-MAW?,X
|
|
EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL3
|
|
IN? PLAYER,MAW \?CCL6
|
|
ICALL1 ASIDE-FROM
|
|
JUMP ?CND4
|
|
?CCL6: PRINT YOU-SEE
|
|
?CND4: ICALL2 CONTENTS,MAW
|
|
PRINTI " lying in "
|
|
ICALL2 THE-PRINT,MAW
|
|
PRINT PERIOD
|
|
SET 'P-IT-OBJECT,PRSO
|
|
RTRUE
|
|
?CCL3: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL8
|
|
ICALL1 ENTER-CROCO
|
|
IN? PLAYER,MAW /TRUE
|
|
RETURN 2
|
|
?CCL8: INTBL? PRSA,X-VERBS,CLIMB-DOWN-VERBS >X \FALSE
|
|
ICALL1 EXIT-CROCO
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT CROCO-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?PUT-ON,V?EMPTY-INTO \FALSE
|
|
ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL7
|
|
PRINTI "This monstrous idol is approximately the size and shape of a subway train, not counting the limbs and tail. "
|
|
ICALL1 SEE-MAW
|
|
IN? TEAR,MAW \TRUE
|
|
PRINT TAB
|
|
ICALL2 PRINTCA,TEAR
|
|
PRINTR " adorns the idol's face, just below one eye."
|
|
?CCL7: CALL1 HANDLE-MAW?
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT EXIT-CROCO
|
|
IN? PLAYER,MAW /?CCL3
|
|
ICALL2 NOT-IN,MAW
|
|
RFALSE
|
|
?CCL3: IN? MAMA,MAW \?CND1
|
|
ICALL2 CTHE-PRINT,MAMA
|
|
PRINTI " is blocking the way."
|
|
CRLF
|
|
RFALSE
|
|
?CND1: ICALL1 CLEAR-MAW-EXITS
|
|
LOC MAW
|
|
MOVE PLAYER,STACK
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
ICALL2 CTHE-PRINT,MAW
|
|
PRINTI " steadies itself as you descend"
|
|
ICALL1 RELOOK
|
|
RFALSE
|
|
|
|
|
|
.FUNCT ENTER-CROCO,TBL
|
|
IN? PLAYER,MAW \?CND1
|
|
PRINT CYOU
|
|
IN? MAMA,MAW \?CND3
|
|
PRINTI "squeeze "
|
|
PRINTD ME
|
|
PRINTI " up as far as you can go."
|
|
CRLF
|
|
RFALSE
|
|
?CND3: PRINTI "edge a bit further into the open maw."
|
|
CRLF
|
|
ICALL1 INTO-INNARDS
|
|
RFALSE
|
|
?CND1: PUTP HERE,P?BELOW,MAW
|
|
ICALL NEW-EXIT?,HERE,P?DOWN,1153,EXIT-CROCO
|
|
MOVE PLAYER,MAW
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
PRINTI "You climb up into "
|
|
ICALL2 THE-PRINT,MAW
|
|
ICALL1 RELOOK
|
|
PRINT TAB
|
|
PRINTI "The stone jaw lurches underfoot, and you struggle to keep your balance. It's like standing on a seesaw."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT INTO-INNARDS,OBJ,NXT
|
|
ICALL1 CLEAR-MAW-EXITS
|
|
ICALL1 GOOD-MAMA
|
|
PRINT TAB
|
|
ICALL2 ITALICIZE,STR?794
|
|
PRINTI "! The bottom of the jaw tilts backward, pitching you helplessly forward..."
|
|
ICALL1 CARRIAGE-RETURNS
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
SET 'OLD-HERE,FALSE-VALUE
|
|
FCLEAR INNARDS,SEEN
|
|
SET 'HERE,INNARDS
|
|
MOVE PLAYER,INNARDS
|
|
FIRST? MAW >OBJ \FALSE
|
|
?PRG3: NEXT? OBJ >NXT /?BOGUS5
|
|
?BOGUS5: FSET? OBJ,TAKEABLE \?CND6
|
|
MOVE OBJ,INNARDS
|
|
?CND6: SET 'OBJ,NXT
|
|
ZERO? OBJ \?PRG3
|
|
RFALSE
|
|
|
|
|
|
.FUNCT TOUCH-TEAR,M
|
|
ICALL2 CTHE-PRINT,MAW
|
|
PRINTI " tilts dangerously as you reach upward"
|
|
IN? MAMA,MAW /?CCL2
|
|
FSET? TEAR,MUNGED \?CND1
|
|
?CCL2: PRINTI ", standing on tiptoe to grasp the sparkling treasure.."
|
|
PRINT PERIOD
|
|
IN? MAMA,MAW \?CND5
|
|
FSET TEAR,MUNGED
|
|
FCLEAR TEAR,TRYTAKE
|
|
FCLEAR TEAR,NOALL
|
|
FSET TEAR,TAKEABLE
|
|
MOVE TEAR,MAMA
|
|
ICALL1 GOOD-MAMA
|
|
PRINT TAB
|
|
PRINTI "Got it! The jewel pops off the idol's face, slips from your grasp and rolls down to "
|
|
ICALL2 THE-PRINT,MAMA
|
|
PRINTI "'s feet, where she promptly eats it, turns and lumbers off the jaw."
|
|
CRLF
|
|
?CND5: ICALL1 INTO-INNARDS
|
|
RTRUE
|
|
?CND1: FSET TEAR,MUNGED
|
|
PRINTI "!
|
|
Slowly, slowly, you draw your hand away from "
|
|
ICALL2 THE-PRINT,TEAR
|
|
PRINTR ", and the jaw settles back to the ground."
|
|
|
|
|
|
.FUNCT TEAR-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE,V?LOOK-ON \FALSE
|
|
PRINTI "Its pale "
|
|
CALL1 SEE-COLOR?
|
|
ZERO? STACK /?CCL8
|
|
PRINTI "blue"
|
|
JUMP ?CND6
|
|
?CCL8: PRINTI "gray"
|
|
?CND6: PRINTR " facets sparkle with obvious value."
|
|
|
|
|
|
.FUNCT JUNGLE-F,LEN,X
|
|
GETB JUNGLE-ROOMS,0 >LEN
|
|
EQUAL? PRSA,V?LISTEN \?CCL3
|
|
PRINT YOU-HEAR
|
|
PRINTR "the cries of exotic birds."
|
|
?CCL3: EQUAL? PRSA,V?SMELL \?CCL5
|
|
PRINTR "The air is warm and humid."
|
|
?CCL5: INTBL? HERE,JUNGLE-ROOMS+1,LEN,1 >LEN \?CCL7
|
|
CALL1 HERE-F
|
|
RSTACK
|
|
?CCL7: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE,V?SEARCH \?CCL11
|
|
EQUAL? HERE,AT-FALLS \?CCL14
|
|
ICALL1 CANT-SEE-MUCH
|
|
RTRUE
|
|
?CCL14: EQUAL? HERE,OVER-JUNGLE,NW-SUPPORT,SW-SUPPORT /?CCL15
|
|
EQUAL? HERE,SE-SUPPORT \?CND12
|
|
?CCL15: ICALL1 CTHE-PRINT
|
|
PRINTI " stretches off in every "
|
|
PRINTD INTDIR
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND12: ICALL1 V-LOOK
|
|
RTRUE
|
|
?CCL11: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL19
|
|
EQUAL? HERE,NW-UNDER \?CCL22
|
|
ICALL2 DO-WALK,P?SE
|
|
RTRUE
|
|
?CCL22: EQUAL? HERE,SW-UNDER \?CCL24
|
|
ICALL2 DO-WALK,P?NE
|
|
RTRUE
|
|
?CCL24: EQUAL? HERE,SE-UNDER \?CCL26
|
|
ICALL2 DO-WALK,P?NW
|
|
RTRUE
|
|
?CCL26: EQUAL? HERE,AT-FALLS \?CND20
|
|
ICALL2 DO-WALK,P?NORTH
|
|
RTRUE
|
|
?CND20: PRINTR "It's a long way down."
|
|
?CCL19: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \FALSE
|
|
EQUAL? HERE,SW-UNDER,NW-UNDER,SE-UNDER \?CND30
|
|
ICALL2 DO-WALK,P?UP
|
|
RTRUE
|
|
?CND30: ICALL1 NOT-IN
|
|
RTRUE
|
|
|
|
|
|
.FUNCT PRAIRIE-F,X
|
|
CALL ADJ-USED?,W?GRAY,W?GREY
|
|
ZERO? STACK /?CCL3
|
|
FSET? HERE,SEEN \?CCL3
|
|
ICALL2 NOTE-COLOR,PRAIRIE
|
|
RETURN 2
|
|
?CCL3: CALL1 PLAIN-ROOM?
|
|
ZERO? STACK /?CCL9
|
|
CALL1 HERE-F
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
?CCL9: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL13
|
|
SET 'X,P?EAST
|
|
EQUAL? HERE,ON-PIKE \?CND14
|
|
SET 'X,P?WEST
|
|
?CND14: ICALL2 DO-WALK,X
|
|
RTRUE
|
|
?CCL13: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \FALSE
|
|
ICALL1 NOT-ON
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NOTE-COLOR,OBJ
|
|
PRINTI "Look again. "
|
|
ICALL2 CTHE-PRINT,OBJ
|
|
ICALL2 ISNT-ARENT,OBJ
|
|
PRINTR " gray anymore."
|
|
|
|
|
|
.FUNCT FARM-DOOR-F
|
|
EQUAL? HERE,IN-FARM \FALSE
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?OPEN,V?OPEN-WITH,V?HIT /?PRD9
|
|
EQUAL? PRSA,V?MUNG,V?KICK \FALSE
|
|
?PRD9: IN? TWISTER,HERE \FALSE
|
|
FSET? PRSO,OPENED /FALSE
|
|
PRINTI "No use. The wind is holding "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " tightly shut."
|
|
|
|
|
|
.FUNCT FARM-WINDOW-F
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?PUT,V?THROW,V?THROW-OVER /?CCL5
|
|
EQUAL? PRSA,V?EMPTY-INTO \FALSE
|
|
?CCL5: FSET? PRSI,OPENED /?CND8
|
|
ICALL YOUD-HAVE-TO,STR?518,PRSI
|
|
RTRUE
|
|
?CND8: ICALL1 VANISH
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " falls "
|
|
EQUAL? HERE,FARM-ROOM,IN-FROON \?CCL12
|
|
MOVE PRSO,IN-FARM
|
|
PRINTI "in"
|
|
JUMP ?CND10
|
|
?CCL12: ZERO? STORM-TIMER \?CND13
|
|
MOVE PRSO,FARM-ROOM
|
|
?CND13: PRINTI "out"
|
|
?CND10: PRINTI "side "
|
|
ICALL1 THEI-PRINT
|
|
PRINT STR?592
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL16
|
|
ICALL1 CTHE-PRINT
|
|
PRINT SIS
|
|
FSET? PRSO,OPENED \?CND17
|
|
PRINTR "wide open."
|
|
?CND17: PRINTR "closed."
|
|
?CCL16: EQUAL? PRSA,V?LOOK-INSIDE,V?LOOK-OUTSIDE \?CCL20
|
|
EQUAL? HERE,FARM-ROOM,IN-FROON \?CCL23
|
|
EQUAL? PRSA,V?LOOK-OUTSIDE \?CND24
|
|
PRINT ALREADY
|
|
PRINTI "outside "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND24: ICALL1 CANT-SEE-MUCH
|
|
RTRUE
|
|
?CCL23: LOC TWISTER
|
|
ZERO? STACK \?CND21
|
|
PRINTR "It seems to be getting darker."
|
|
?CND21: PRINTR "Whirling clouds of dust obscure the view."
|
|
?CCL20: EQUAL? PRSA,V?HIT,V?MUNG,V?KICK \?CCL28
|
|
ICALL1 WASTE-OF-TIME
|
|
RTRUE
|
|
?CCL28: EQUAL? PRSA,V?LEAP,V?ENTER,V?THROUGH /?CTR29
|
|
EQUAL? PRSA,V?CLIMB-OVER,V?ESCAPE,V?DIVE \FALSE
|
|
?CTR29: FSET? PRSO,OPENED /?CCL35
|
|
ICALL2 YOUD-HAVE-TO,STR?518
|
|
RTRUE
|
|
?CCL35: EQUAL? HERE,FARM-ROOM,IN-FROON \?CCL37
|
|
ICALL2 WINDOW-SQUEEZE,IN-FARM
|
|
RTRUE
|
|
?CCL37: FSET? FARMHOUSE,SEEN /?CND33
|
|
GETP IN-FARM,P?NORTH
|
|
GET STACK,XROOM
|
|
ICALL2 WINDOW-SQUEEZE,STACK
|
|
RTRUE
|
|
?CND33: PRINTI "You leap recklessly out the open "
|
|
PRINTD PRSO
|
|
PRINTI " into a maelstrom of wind and dust, then plummet to a painful death"
|
|
ICALL1 JIGS-UP
|
|
RTRUE
|
|
|
|
|
|
.FUNCT WINDOW-SQUEEZE,DEST
|
|
PRINTI "You squeeze through "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
ZERO? VERBOSITY /?CND1
|
|
CRLF
|
|
?CND1: ICALL2 GOTO,DEST
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FARMHOUSE-F,CONTEXT,DIR,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
PRINTI "A little gray "
|
|
PRINTD FARM
|
|
PRINTI " stands nearby. The front door is "
|
|
FSET? FARM-DOOR,OPENED \?CND6
|
|
PRINTI "wide open."
|
|
RTRUE
|
|
?CND6: PRINTB W?CLOSED
|
|
PRINTC PER
|
|
RTRUE
|
|
?CCL3: FSET? FARMHOUSE,SEEN \?CCL9
|
|
EQUAL? HERE,FARM-ROOM \?CCL9
|
|
ICALL2 GONE-NOW,FARMHOUSE
|
|
RETURN 2
|
|
?CCL9: CALL ADJ-USED?,W?GRAY,W?GREY
|
|
ZERO? STACK /?CCL15
|
|
FSET? HERE,SEEN \?CCL15
|
|
ICALL2 NOTE-COLOR,FARMHOUSE
|
|
RETURN 2
|
|
?CCL15: EQUAL? HERE,IN-FARM \?CCL21
|
|
CALL1 HERE-F
|
|
RSTACK
|
|
?CCL21: EQUAL? HERE,FARM-ROOM,IN-FROON /?CCL23
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL23
|
|
ICALL1 CANT-FROM-HERE
|
|
RTRUE
|
|
?CCL23: ZERO? NOW-PRSI? \FALSE
|
|
INTBL? PRSA,SEEVERBS,NSVERBS >X \?CCL29
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL32
|
|
PRINT XTHE
|
|
CALL1 PLAIN-ROOM?
|
|
ZERO? STACK /?CCL35
|
|
PRINTI "distant "
|
|
JUMP ?CND33
|
|
?CCL35: FSET? HERE,SEEN \?CCL37
|
|
PRINTI "red "
|
|
JUMP ?CND33
|
|
?CCL37: PRINTI "gray "
|
|
?CND33: PRINTD PRSO
|
|
PRINTR " isn't much to look at."
|
|
?CCL32: EQUAL? PRSA,V?LOOK-UNDER,V?LOOK-BEHIND \?CND30
|
|
EQUAL? HERE,IN-FROON \?CND30
|
|
SET 'P-IT-OBJECT,BOOT
|
|
ICALL2 PRINTCA,BOOT
|
|
PRINT STR?795
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND30: ICALL1 CANT-SEE-MUCH
|
|
RTRUE
|
|
?CCL29: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL42
|
|
EQUAL? HERE,FARM-ROOM,IN-FROON \?CND43
|
|
ICALL2 DO-WALK,P?IN
|
|
RTRUE
|
|
?CND43: ICALL1 CANT-FROM-HERE
|
|
RTRUE
|
|
?CCL42: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \FALSE
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SCARE1-F,CONTEXT,WRD
|
|
ZERO? CONTEXT /?CND1
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
SET 'WRD,W?GRAY
|
|
FSET? HERE,SEEN \?CND5
|
|
CALL2 RAG-COLOR-WORD?,SCARE1 >WRD
|
|
?CND5: PRINTI "A weatherbeaten "
|
|
PRINTD SCARE1
|
|
PRINTI " stands in a patch of dead corn, its "
|
|
PRINTB WRD
|
|
PRINTI " rags flapping in the wind."
|
|
RTRUE
|
|
?CND1: CALL2 HANDLE-SCARES?,SCARE1
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SCARE2-F,CONTEXT,WRD
|
|
ZERO? CONTEXT /?CND1
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
SET 'WRD,W?GRAY
|
|
FSET? HERE,SEEN \?CND5
|
|
CALL2 RAG-COLOR-WORD?,SCARE2 >WRD
|
|
?CND5: PRINT XTHE
|
|
PRINTB WRD
|
|
PRINTI " rags of another "
|
|
PRINTD SCARE2
|
|
PRINTI " flap uselessly in a dead patch of corn."
|
|
RTRUE
|
|
?CND1: CALL2 HANDLE-SCARES?,SCARE2
|
|
RSTACK
|
|
|
|
|
|
.FUNCT SCARE3-F,CONTEXT,WRD
|
|
ZERO? CONTEXT /?CND1
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
SET 'WRD,W?GRAY
|
|
FSET? HERE,SEEN \?CND5
|
|
CALL2 RAG-COLOR-WORD?,SCARE3 >WRD
|
|
?CND5: PRINTI "A patch of corn is flourishing nearby, presided over by a third "
|
|
PRINTD SCARE3
|
|
PRINT SIN
|
|
PRINTB WRD
|
|
PRINTI " rags."
|
|
RTRUE
|
|
?CND1: CALL2 HANDLE-SCARES?,SCARE3
|
|
RSTACK
|
|
|
|
|
|
.FUNCT HANDLE-SCARES?,OBJ,S3,WRD,X
|
|
EQUAL? OBJ,SCARE3 \?CND1
|
|
INC 'S3
|
|
?CND1: SET 'WRD,W?GRAY
|
|
FSET? HERE,SEEN \?CND3
|
|
FSET? OBJ,SEEN \?CND3
|
|
GETPT OBJ,P?ADJECTIVE
|
|
GET STACK,0 >WRD
|
|
?CND3: FSET? HERE,SEEN \?CND7
|
|
CALL ADJ-USED?,W?GRAY,W?GREY
|
|
ZERO? STACK /?CND7
|
|
ICALL2 NOTE-COLOR,OBJ
|
|
RETURN 2
|
|
?CND7: CALL NOUN-USED?,W?RAGS,W?CLOTH
|
|
ZERO? STACK \?CTR14
|
|
CALL ADJ-USED?,WRD,W?GRAY,W?GREY
|
|
ZERO? STACK /?CCL15
|
|
?CTR14: ZERO? NOW-PRSI? /?CCL20
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 WASTE-OF-TIME
|
|
RTRUE
|
|
?CCL20: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?WEAR \?CCL24
|
|
FSET? OBJ,SEEN /?CND25
|
|
FSET? HERE,SEEN \?CND25
|
|
CALL2 RAG-COLOR-WORD?,OBJ >WRD
|
|
?CND25: PRINT XTHE
|
|
PRINTB WRD
|
|
PRINTI " rags on "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " are tattered and useless."
|
|
?CCL24: EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE,V?LOOK-UNDER \?CCL30
|
|
PRINTI "You find nothing "
|
|
CALL2 PICK-NEXT,YAWNS
|
|
PRINT STACK
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL30: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
PRINTR "Your grasp only shreds the rags worse than before."
|
|
?CCL15: CALL NOUN-USED?,W?CORN,W?PATCH,W?HUSKS
|
|
ZERO? STACK /?CCL33
|
|
ZERO? NOW-PRSI? /?CCL36
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL PERFORM,V?DROP,PRSO
|
|
RTRUE
|
|
?CCL36: EQUAL? PRSA,V?TAKE \?CCL40
|
|
EQUAL? HERE,FARM-ROOM \?CND41
|
|
PRINTR "Whoever owns the corn might not like that."
|
|
?CND41: PRINTR "There's none left worth taking."
|
|
?CCL40: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL44
|
|
PRINTI "The corn around "
|
|
ICALL1 THE-PRINT
|
|
PRINT SIS
|
|
ZERO? S3 /?CND45
|
|
PRINTR "almost ready for harvest."
|
|
?CND45: PRINTR "dead; only withered husks remain."
|
|
?CCL44: EQUAL? PRSA,V?LOOK-INSIDE,V?LOOK-UNDER,V?SEARCH \?CCL48
|
|
ICALL2 ASIDE-FROM,PRSO
|
|
PRINTI "nothing "
|
|
CALL2 PICK-NEXT,YAWNS
|
|
PRINT STACK
|
|
PRINTR " in the corn."
|
|
?CCL48: EQUAL? PRSA,V?EAT,V?TASTE \?CCL50
|
|
ZERO? S3 /?CND51
|
|
PRINTR "It's not quite ripe enough."
|
|
?CND51: PRINT NOTHING
|
|
PRINTR "left to eat."
|
|
?CCL50: EQUAL? PRSA,V?SMELL \?CCL54
|
|
PRINTI "The corn smells "
|
|
ZERO? S3 /?CND55
|
|
PRINTR "almost ripe."
|
|
?CND55: PRINTR "rotten."
|
|
?CCL54: EQUAL? PRSA,V?DRINK \?CCL58
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL58: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL60
|
|
ZERO? S3 /?CND61
|
|
PRINTR "Thick husks block your path."
|
|
?CND61: PRINTR "Dead husks crunch underfoot."
|
|
?CCL60: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \?CCL64
|
|
PRINTR "Which way?"
|
|
?CCL64: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL1 WASTE-OF-TIME
|
|
RTRUE
|
|
?CCL33: ZERO? NOW-PRSI? /?CCL67
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CCL67: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL71
|
|
FSET? OBJ,SEEN /?CND72
|
|
FSET? HERE,SEEN \?CND72
|
|
CALL2 RAG-COLOR-WORD?,OBJ >WRD
|
|
?CND72: PRINTI "Considering the stormy climate hereabouts, it's remarkable that this "
|
|
PRINTD PRSO
|
|
PRINTI " is still standing. Threadbare "
|
|
PRINTB WRD
|
|
PRINTI " rags hang from the wooden limbs, flapping"
|
|
PRINT STR?796
|
|
RTRUE
|
|
?CCL71: EQUAL? PRSA,V?LISTEN \?CCL77
|
|
PRINTI "Its limp rags flap"
|
|
PRINT STR?796
|
|
RTRUE
|
|
?CCL77: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
ICALL2 ROOTED,OBJ
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ROOTED,OBJ
|
|
ICALL2 CTHE-PRINT,OBJ
|
|
PRINTR " is firmly rooted in the ground."
|
|
|
|
|
|
.FUNCT RAG-COLOR-WORD?,OBJ,WRD,BAD
|
|
FSET? OBJ,SEEN \?CND1
|
|
GETPT OBJ,P?ADJECTIVE
|
|
GET STACK,0
|
|
RSTACK
|
|
?CND1: CALL2 SET-RAG-COLOR,OBJ >WRD
|
|
EQUAL? OBJ,SCARE3 \?CCL5
|
|
SET 'SCARES-SEEN,3
|
|
?CND3: FSET? FARMHOUSE,NODESC \?CND7
|
|
FSET? FARM,NODESC \?CND7
|
|
ICALL2 QUEUE,I-HOUSEFALL
|
|
?CND7: FSET? SCARE1,SEEN /?CND11
|
|
ICALL2 SET-RAG-COLOR,SCARE1
|
|
?CND11: FSET? SCARE2,SEEN /?CND13
|
|
ICALL2 SET-RAG-COLOR,SCARE2
|
|
?CND13: FSET? SCARE3,SEEN /?CCL17
|
|
CALL2 SET-RAG-COLOR,SCARE3 >BAD
|
|
JUMP ?CND15
|
|
?CCL5: IGRTR? 'SCARES-SEEN,1 /?CND3
|
|
RETURN WRD
|
|
?CCL17: GETPT SCARE3,P?ADJECTIVE
|
|
GET STACK,0 >BAD
|
|
?CND15: SET 'BADKEY,KEY1
|
|
EQUAL? BAD,W?MAUVE \?CCL20
|
|
SET 'BADKEY,KEY2
|
|
RETURN WRD
|
|
?CCL20: EQUAL? BAD,W?LAVENDER /?CCL21
|
|
RETURN WRD
|
|
?CCL21: SET 'BADKEY,KEY3
|
|
RETURN WRD
|
|
|
|
|
|
.FUNCT SET-RAG-COLOR,OBJ,WRD
|
|
FSET OBJ,SEEN
|
|
CALL2 PICK-ONE,SCARE-COLORS >WRD
|
|
GETPT OBJ,P?ADJECTIVE
|
|
PUT STACK,0,WRD
|
|
RETURN WRD
|
|
|
|
|
|
.FUNCT JBOX-F,X
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL2 CTHE-PRINT,MAYOR
|
|
PRINTI " backs way from you. ""Please, "
|
|
ICALL1 HONORED-ONE
|
|
PRINTR "! Not so hasty."""
|
|
|
|
|
|
.FUNCT GENERIC-KEYS-F,TBL,LEN
|
|
ASSIGNED? 'LEN /?CND1
|
|
GET TBL,0 >LEN
|
|
?CND1: EQUAL? HERE,IN-SPLENDOR \?CCL5
|
|
RETURN HERD
|
|
?CCL5: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \FALSE
|
|
GET TBL,1
|
|
RSTACK
|
|
|
|
|
|
.FUNCT KEY1-F
|
|
CALL2 HANDLE-KEYS?,KEY1
|
|
RSTACK
|
|
|
|
|
|
.FUNCT KEY2-F
|
|
CALL2 HANDLE-KEYS?,KEY2
|
|
RSTACK
|
|
|
|
|
|
.FUNCT KEY3-F
|
|
CALL2 HANDLE-KEYS?,KEY3
|
|
RSTACK
|
|
|
|
|
|
.FUNCT HANDLE-KEYS?,OBJ,WORD,K1,K2,K3
|
|
GETPT OBJ,P?ADJECTIVE
|
|
GET STACK,0 >WORD
|
|
CALL1 SEE-COLOR?
|
|
ZERO? STACK \?CND1
|
|
SET 'WORD,W?GRAY
|
|
?CND1: CALL2 NOUN-USED?,W?KEYS
|
|
ZERO? STACK /?CND3
|
|
CALL2 VISIBLE?,KEY1 >K1
|
|
CALL2 VISIBLE?,KEY2 >K2
|
|
CALL2 VISIBLE?,KEY3 >K3
|
|
EQUAL? OBJ,KEY1 \?PRD9
|
|
ZERO? K2 \?PRD9
|
|
ZERO? K3 /?CTR6
|
|
?PRD9: EQUAL? OBJ,KEY2 \?PRD13
|
|
ZERO? K1 \?PRD13
|
|
ZERO? K3 /?CTR6
|
|
?PRD13: EQUAL? OBJ,KEY3 \?CCL7
|
|
ZERO? K2 \?CCL7
|
|
ZERO? K1 \?CCL7
|
|
?CTR6: ICALL1 ONLY-ONE
|
|
RETURN 2
|
|
?CCL7: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CND3
|
|
PRINTR "There are three keys, colored mauve, puce and lavender."
|
|
?CND3: ZERO? NOW-PRSI? /?CCL25
|
|
EQUAL? PRSA,V?OPEN,V?UNLOCK \FALSE
|
|
PRINTI "Forget it. That phoney "
|
|
ICALL2 DPRINT,PRSI
|
|
PRINTR " couldn't open anything."
|
|
?CCL25: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?READ \?CCL29
|
|
EQUAL? PRSA,V?READ /?CND30
|
|
PRINTI "This is actually a cheap piece of styrofoam, cut into the shape of a giant key, spray painted "
|
|
PRINTB WORD
|
|
PRINTI " and sprinkled with bits of glitter. "
|
|
?CND30: PRINTI "The words "
|
|
ICALL2 ITALICIZE,STR?797
|
|
PRINTR " are scrawled in crayon across the front."
|
|
?CCL29: EQUAL? PRSA,V?SMELL \?CCL33
|
|
PRINTI "It smells like "
|
|
PRINTB WORD
|
|
PRINTR " paint."
|
|
?CCL33: FSET? PRSO,TOUCHED /FALSE
|
|
EQUAL? PRSA,V?POINT \?CCL37
|
|
ICALL2 AWARD-KEY,PRSO
|
|
RTRUE
|
|
?CCL37: EQUAL? PRSA,V?TAKE \FALSE
|
|
CALL1 ITAKE
|
|
ZERO? STACK /TRUE
|
|
PRINTI "You ceremoniously lift "
|
|
ICALL1 THE-PRINT
|
|
ICALL2 OUT-OF-LOC,JBOX
|
|
PRINT PERIOD
|
|
ICALL2 EXIT-FROON,PRSO
|
|
RTRUE
|
|
|
|
|
|
.FUNCT AWARD-KEY,OBJ
|
|
FSET OBJ,TOUCHED
|
|
MOVE OBJ,PLAYER
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
SET 'P-IT-OBJECT,OBJ
|
|
PRINTI "With a gracious bow, "
|
|
ICALL2 THE-PRINT,MAYOR
|
|
PRINTI " sets "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI " onto your outstretched palm."
|
|
CRLF
|
|
ICALL2 EXIT-FROON,OBJ
|
|
RTRUE
|
|
|
|
|
|
.FUNCT EXIT-FROON,OBJ,WRD,S1,S2,S3
|
|
ZERO? BADKEY \?CND1
|
|
GETPT OBJ,P?ADJECTIVE
|
|
GET STACK,0 >WRD
|
|
GETPT SCARE1,P?ADJECTIVE
|
|
GET STACK,0 >S1
|
|
GETPT SCARE2,P?ADJECTIVE
|
|
GET STACK,0 >S2
|
|
GETPT SCARE3,P?ADJECTIVE
|
|
GET STACK,0 >S3
|
|
FSET? SCARE3,SEEN /?CND3
|
|
?PRG5: CALL2 PICK-ONE,SCARE-COLORS >S3
|
|
EQUAL? S3,WRD,S2,S1 /?PRG5
|
|
FSET SCARE3,SEEN
|
|
GETPT SCARE3,P?ADJECTIVE
|
|
PUT STACK,0,S3
|
|
?CND3: FSET? SCARE2,SEEN /?CND9
|
|
?PRG11: CALL2 PICK-ONE,SCARE-COLORS >S2
|
|
EQUAL? S2,S3,S1 /?PRG11
|
|
FSET SCARE2,SEEN
|
|
GETPT SCARE2,P?ADJECTIVE
|
|
PUT STACK,0,S2
|
|
?CND9: FSET? SCARE1,SEEN /?CND1
|
|
?PRG17: CALL2 PICK-ONE,SCARE-COLORS >S1
|
|
EQUAL? S1,S3,S2 /?PRG17
|
|
FSET SCARE1,SEEN
|
|
GETPT SCARE1,P?ADJECTIVE
|
|
PUT STACK,0,S1
|
|
?CND1: ICALL2 DEQUEUE,I-FROON
|
|
ICALL2 QUEUE,I-CORBIES
|
|
REMOVE FARM
|
|
ICALL REPLACE-GLOBAL?,FARM-ROOM,FARM-DOOR,NULL
|
|
ICALL REPLACE-GLOBAL?,FARM-ROOM,FARM-WINDOW,NULL
|
|
ICALL NEW-EXIT?,FARM-ROOM,P?SOUTH,SORRY-EXIT,STR?728
|
|
ICALL NEW-EXIT?,FARM-ROOM,P?IN,NO-EXIT,0,0
|
|
PRINTI " ""An excellent choice,"" remarks "
|
|
ICALL2 THE-PRINT,MAYOR
|
|
PRINTI ". ""Bye!"""
|
|
CRLF
|
|
ICALL1 REGAIN-SENSES
|
|
ICALL2 GOTO,FARM-ROOM
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FROON-F
|
|
EQUAL? HERE,IN-FROON \?CCL3
|
|
CALL1 HERE-F
|
|
RSTACK
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?WHAT,V?WHO,V?WHERE /?CTR6
|
|
EQUAL? PRSA,V?FIND,V?WALK-TO \FALSE
|
|
?CTR6: ICALL1 REFER-TO-PACKAGE
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT GURDY-F,X
|
|
CALL NOUN-USED?,W?LID,W?TOP
|
|
ZERO? STACK /?CCL3
|
|
ZERO? NOW-PRSI? \?CND1
|
|
EQUAL? PRSA,V?EXAMINE \?CCL7
|
|
PRINTI "The lid of "
|
|
ICALL1 THE-PRINT
|
|
PRINT SIS
|
|
FSET? PRSO,OPENED \?CND8
|
|
PRINTR "open."
|
|
?CND8: PRINTR "closed."
|
|
?CCL7: EQUAL? PRSA,V?LOOK-UNDER,V?LOOK-BEHIND \?CCL11
|
|
ICALL1 LOOK-IN-GURDY
|
|
RTRUE
|
|
?CCL11: EQUAL? PRSA,V?OPEN,V?OPEN-WITH,V?CLOSE /?CND1
|
|
INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CND1
|
|
ICALL FIRMLY-ATTACHED,STR?798,PRSO,TRUE-VALUE
|
|
RTRUE
|
|
?CCL3: CALL NOUN-USED?,W?DIAL,W?KNOB,W?POINTER
|
|
ZERO? STACK \?CTR14
|
|
CALL NOUN-USED?,W?PAINTINGS,W?PICTURES
|
|
ZERO? STACK /?CCL15
|
|
?CTR14: CALL1 GDIAL-F
|
|
RSTACK
|
|
?CCL15: CALL NOUN-USED?,W?CRANK,W?HANDLE,W?TURNER
|
|
ZERO? STACK /?CND1
|
|
CALL1 CRANK-F
|
|
RSTACK
|
|
?CND1: ZERO? NOW-PRSI? /?CCL21
|
|
EQUAL? PRSA,V?PUT,V?EMPTY-INTO \?CCL24
|
|
FSET? PRSI,OPENED /?CCL24
|
|
ICALL2 ITS-CLOSED,PRSI
|
|
RTRUE
|
|
?CCL24: EQUAL? PRSA,V?PUT-ON \FALSE
|
|
FSET? PRSI,OPENED \?CND28
|
|
ICALL YOUD-HAVE-TO,STR?536,PRSI
|
|
RTRUE
|
|
?CND28: ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CCL21: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL31
|
|
ICALL1 LOOK-IN-GURDY
|
|
RTRUE
|
|
?CCL31: EQUAL? PRSA,V?REACH-IN \?CCL33
|
|
FSET? PRSO,OPENED /?CND34
|
|
ICALL1 ITS-CLOSED
|
|
RTRUE
|
|
?CND34: PRINTR "Your hand tingles."
|
|
?CCL33: EQUAL? PRSA,V?OPEN,V?OPEN-WITH \?CCL37
|
|
EQUAL? PRSA,V?OPEN-WITH \?CCL40
|
|
EQUAL? PRSI,HANDS /?CCL40
|
|
ICALL1 WASTE-OF-TIME
|
|
RTRUE
|
|
?CCL40: FSET? PRSO,OPENED \?CND38
|
|
ICALL2 ITS-ALREADY,STR?518
|
|
RTRUE
|
|
?CND38: ICALL MOVE-ALL,INGURDY,GURDY
|
|
FSET PRSO,OPENED
|
|
ICALL1 MENTION-PUFF
|
|
PRINTR " as you open it."
|
|
?CCL37: EQUAL? PRSA,V?CLOSE \?CCL45
|
|
FSET? PRSO,OPENED /?CND46
|
|
ICALL2 ITS-ALREADY,STR?531
|
|
RTRUE
|
|
?CND46: FCLEAR PRSO,OPENED
|
|
ICALL MOVE-ALL,GURDY,INGURDY,NODESC
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " creaks shut."
|
|
?CCL45: EQUAL? PRSA,V?TURN,V?CRANK,V?USE /?CTR48
|
|
EQUAL? PRSA,V?TOUCH \?CCL49
|
|
EQUAL? P-PRSA-WORD,W?PLAY \?CCL49
|
|
?CTR48: SET 'LAST-CRANK-DIR,FALSE-VALUE
|
|
ICALL1 TURN-GURDY
|
|
RTRUE
|
|
?CCL49: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL55
|
|
PRINTI "This squat contraption is about the size of a "
|
|
ICALL2 FROBOZZ,STR?799
|
|
PRINTI " breadbox, and made of brightly painted wood. There's a big dial up front, and a crank jutting from the side, just below the "
|
|
FSET? PRSO,OPENED \?CCL58
|
|
PRINTB W?OPEN
|
|
JUMP ?CND56
|
|
?CCL58: PRINTB W?CLOSED
|
|
?CND56: PRINTR " lid."
|
|
?CCL55: EQUAL? PRSA,V?TURN-TO,V?POINT-AT,V?PUSH-TO \FALSE
|
|
EQUAL? PRSI,PRSO \?CCL63
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL63: EQUAL? PRSI,LEFT,RIGHT \?CCL65
|
|
ICALL2 OOPS-THE,CRANK
|
|
EQUAL? PRSI,RIGHT \?CND66
|
|
ICALL1 TURN-GURDY-RIGHT
|
|
RTRUE
|
|
?CND66: ICALL1 TURN-GURDY-LEFT
|
|
RTRUE
|
|
?CCL65: INTBL? PRSI,PICT-LIST,6 >X \?CND61
|
|
ICALL2 OOPS-THE,GDIAL
|
|
ICALL1 TURN-DIAL
|
|
RTRUE
|
|
?CND61: ICALL1 WASTE-OF-TIME
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MENTION-PUFF
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
PRINT XA
|
|
GET GURDY-EFFECTS,DPOINTER
|
|
PRINT STACK
|
|
PRINTI " seeps out"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT OOPS-THE,OBJ
|
|
SET 'P-IT-OBJECT,OBJ
|
|
PRINTC 91
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINT BRACKET
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LOOK-IN-GURDY
|
|
FSET? GURDY,OPENED /?CND1
|
|
ICALL YOUD-HAVE-TO,STR?518,GURDY
|
|
RTRUE
|
|
?CND1: PRINTI "Looking inside "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " makes your "
|
|
GET GURDY-PEEKS,DPOINTER
|
|
PRINT STACK
|
|
CALL2 SEE-ANYTHING-IN?,GURDY
|
|
ZERO? STACK /?CND3
|
|
PRINTI ". But you can glimpse "
|
|
ICALL2 CONTENTS,GURDY
|
|
PRINTI " within"
|
|
SET 'P-IT-OBJECT,GURDY
|
|
?CND3: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CRANK-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL7
|
|
PRINTI "It juts from the side of "
|
|
ICALL2 THE-PRINT,GURDY
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?TURN-TO,V?POINT-AT,V?PUSH-TO \?CCL9
|
|
EQUAL? PRSO,PRSI \?CCL12
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL12: EQUAL? PRSI,RIGHT \?CCL14
|
|
ICALL1 TURN-GURDY-RIGHT
|
|
RTRUE
|
|
?CCL14: EQUAL? PRSI,LEFT \?CND10
|
|
ICALL1 TURN-GURDY-LEFT
|
|
RTRUE
|
|
?CND10: ICALL1 CTHE-PRINT
|
|
EQUAL? PRSI,INTDIR \?CND16
|
|
PRINTR " turns only to the left or right."
|
|
?CND16: PRINT STR?800
|
|
INTBL? PRSI,PICT-LIST,6 >X \?CND18
|
|
SET 'P-IT-OBJECT,GDIAL
|
|
PRINTI ". But "
|
|
ICALL2 THE-PRINT,GDIAL
|
|
PRINTI " will"
|
|
?CND18: PRINT PERIOD
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?TURN,V?CRANK,V?SPIN /?CTR20
|
|
EQUAL? PRSA,V?PUSH,V?MOVE,V?USE \?CCL21
|
|
?CTR20: SET 'LAST-CRANK-DIR,FALSE-VALUE
|
|
ICALL1 TURN-GURDY
|
|
RTRUE
|
|
?CCL21: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
ICALL FIRMLY-ATTACHED,STR?801,GURDY,TRUE-VALUE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT G-EYE-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL5
|
|
PRINTI "The eye on "
|
|
ICALL2 THE-PRINT,GURDY
|
|
PRINTR " stares back at you."
|
|
?CCL5: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT G-EAR-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
INTBL? PRSA,TALKVERBS,NTVERBS >X \?CCL5
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " listens intently."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL5: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL9
|
|
PRINTI "The ear on "
|
|
ICALL2 THE-PRINT,GURDY
|
|
PRINTR " perks up."
|
|
?CCL9: EQUAL? PRSA,V?LISTEN \?CCL11
|
|
PRINTR "It listens back."
|
|
?CCL11: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT G-NOSE-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?SMELL /?CTR4
|
|
EQUAL? PRSA,V?LISTEN \?CCL5
|
|
?CTR4: PRINTI "The nose on "
|
|
ICALL2 THE-PRINT,GURDY
|
|
PRINTR " sniffs you curiously."
|
|
?CCL5: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT G-MOUTH-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON /?CTR4
|
|
INTBL? PRSA,TALKVERBS,NTVERBS >X \?CCL5
|
|
?CTR4: PRINTI "The mouth on "
|
|
ICALL2 THE-PRINT,GURDY
|
|
PRINTR " sticks out its tongue at you."
|
|
?CCL5: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT G-HAND-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL5
|
|
PRINTI "The hand on "
|
|
ICALL2 THE-PRINT,GURDY
|
|
PRINTR " waves at you."
|
|
?CCL5: EQUAL? PRSA,V?WAVE-AT,V?HELLO,V?BOW \?CCL7
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " waves back."
|
|
?CCL7: EQUAL? PRSA,V?SHAKE \?CCL9
|
|
EQUAL? P-PRSA-WORD,W?SHAKE \?CCL9
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " isn't "
|
|
ICALL2 ITALICIZE,STR?802
|
|
PRINTR " friendly."
|
|
?CCL9: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT G-CLOCK-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL5
|
|
PRINTI "The clock on "
|
|
ICALL2 THE-PRINT,GURDY
|
|
PRINTR " is quite old-fashioned."
|
|
?CCL5: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GENERIC-PICTURE-F,TBL,LEN,OBJ,X
|
|
ASSIGNED? 'LEN /?CND1
|
|
GET TBL,0 >LEN
|
|
?CND1: ADD TBL,2 >TBL
|
|
INTBL? P-IT-OBJECT,TBL,LEN >X \?CCL5
|
|
RETURN P-IT-OBJECT
|
|
?CCL5: EQUAL? PRSA,V?TURN-TO,V?POINT-AT,V?PUSH-TO /FALSE
|
|
GET PICT-LIST,DPOINTER >OBJ
|
|
INTBL? OBJ,TBL,LEN >X \FALSE
|
|
RETURN OBJ
|
|
|
|
|
|
.FUNCT GENERIC-DIAL-F,TBL,LEN,X,Y
|
|
GET TBL,1 >X
|
|
GET TBL,2 >Y
|
|
EQUAL? X,GURDY \?CCL3
|
|
RETURN Y
|
|
?CCL3: EQUAL? Y,GURDY \FALSE
|
|
RETURN X
|
|
|
|
|
|
.FUNCT GDIAL-F,X
|
|
CALL NOUN-USED?,W?PAINTINGS,W?PICTURES
|
|
ZERO? STACK \?CCL2
|
|
CALL2 ADJ-USED?,W?SIX
|
|
ZERO? STACK /?CND1
|
|
?CCL2: ZERO? NOW-PRSI? /?CCL7
|
|
EQUAL? PRSA,V?TURN-TO,V?POINT-AT,V?PUSH-TO \?CND1
|
|
ICALL1 HOW-TO-CLICK
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?READ \?CCL11
|
|
PRINT YOU-SEE
|
|
PRINTI "a circle of "
|
|
PRINT STR?803
|
|
PRINTR ", with a dial in the center."
|
|
?CCL11: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CND1
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CND1: ZERO? NOW-PRSI? /?CCL15
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL19
|
|
ICALL1 CTHE-PRINT
|
|
PRINT SON
|
|
ICALL2 THE-PRINT,GURDY
|
|
PRINTI " is encircled by "
|
|
PRINT STR?803
|
|
PRINTI ". At the moment, the dial points to "
|
|
GET PICT-LIST,DPOINTER
|
|
ICALL2 THE-PRINT,STACK
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL19: EQUAL? PRSA,V?TURN-TO,V?POINT-AT,V?PUSH-TO \?CCL21
|
|
EQUAL? PRSI,LEFT \?CCL24
|
|
DLESS? 'DPOINTER,0 \?CND25
|
|
SET 'DPOINTER,5
|
|
?CND25: ICALL2 CLICK-DIAL,STR?804
|
|
RTRUE
|
|
?CCL24: EQUAL? PRSI,RIGHT \?CCL28
|
|
IGRTR? 'DPOINTER,5 \?CND29
|
|
SET 'DPOINTER,0
|
|
?CND29: ICALL2 CLICK-DIAL,STR?805
|
|
RTRUE
|
|
?CCL28: EQUAL? PRSI,INTDIR \?CND22
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " only turns left or right."
|
|
?CND22: ICALL1 TURN-DIAL
|
|
RTRUE
|
|
?CCL21: EQUAL? PRSA,V?SPIN,V?ADJUST,V?WIND /?PRG36
|
|
EQUAL? PRSA,V?TOUCH \?CCL33
|
|
?PRG36: RANDOM 6 >X
|
|
DEC 'X
|
|
EQUAL? X,DPOINTER /?PRG36
|
|
SET 'DPOINTER,X
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
ICALL1 PRSO-FIDDLE
|
|
RTRUE
|
|
?CCL33: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
ICALL FIRMLY-ATTACHED,PRSO,GURDY
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CLICK-DIAL,STR
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
ICALL2 ITALICIZE,STR?749
|
|
PRINTI ". You turn "
|
|
ICALL2 THE-PRINT,GDIAL
|
|
ZERO? STR /?CCL3
|
|
PRINTI " once to the "
|
|
PRINT STR
|
|
PRINTI ". It now "
|
|
JUMP ?CND1
|
|
?CCL3: PRINTI " until it "
|
|
?CND1: PRINTI "points to "
|
|
GET PICT-LIST,DPOINTER
|
|
ICALL2 THE-PRINT,STACK
|
|
PRINT PERIOD
|
|
FSET? GURDY,OPENED \TRUE
|
|
PRINT TAB
|
|
ICALL1 MENTION-PUFF
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TURN-DIAL,X
|
|
EQUAL? PRSI,PRSO \?CCL3
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL3: INTBL? PRSI,PICT-LIST,6 >X \?CCL5
|
|
GETP PRSI,P?DNUM >X
|
|
EQUAL? X,DPOINTER \?CND6
|
|
ICALL2 CTHE-PRINT,GDIAL
|
|
PRINTI " already points to "
|
|
ICALL1 THEI-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND6: SET 'DPOINTER,X
|
|
ICALL1 CLICK-DIAL
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSI,INTNUM \?CND1
|
|
LESS? P-NUMBER,1 \?CCL11
|
|
ICALL1 HOW-TO-CLICK
|
|
RTRUE
|
|
?CCL11: GRTR? P-NUMBER,6 \?CND9
|
|
PRINTI "There are only six "
|
|
PRINTB W?PAINTINGS
|
|
PRINT SON
|
|
ICALL2 THE-PRINT,GURDY
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND9: SUB P-NUMBER,1 >DPOINTER
|
|
ICALL1 CLICK-DIAL
|
|
RTRUE
|
|
?CND1: ICALL2 CTHE-PRINT,GDIAL
|
|
PRINT SON
|
|
ICALL2 THE-PRINT,GURDY
|
|
PRINT STR?800
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HOW-TO-CLICK
|
|
ICALL1 PCLEAR
|
|
ICALL1 NYMPH-APPEARS
|
|
PRINTI "You must specify one of the six paintings; for example, TURN THE DIAL TO THE PAINTING OF THE EAR or POINT ARROW AT MOUTH"
|
|
PRINT STR?515
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FHILLS-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL5
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " are discouragingly steep and rugged."
|
|
?CCL5: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL7
|
|
ICALL2 DO-WALK,P?UP
|
|
RTRUE
|
|
?CCL7: INTBL? PRSA,X-VERBS,CLIMB-DOWN-VERBS >X \FALSE
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
|
|
|
|
.FUNCT WHARF-F,ON,X
|
|
EQUAL? HERE,ON-WHARF \?CND1
|
|
INC 'ON
|
|
?CND1: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL5
|
|
ZERO? ON /?CND6
|
|
ICALL1 ALREADY-ON
|
|
RTRUE
|
|
?CND6: ICALL2 DO-WALK,P?EAST
|
|
RTRUE
|
|
?CCL5: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \?CCL9
|
|
ZERO? ON /?CND10
|
|
ICALL2 DO-WALK,P?WEST
|
|
RTRUE
|
|
?CND10: ICALL1 NOT-ON
|
|
RTRUE
|
|
?CCL9: ZERO? ON /?CCL13
|
|
EQUAL? PRSA,V?SMELL \?CND14
|
|
PRINT STR?686
|
|
CRLF
|
|
RTRUE
|
|
?CND14: CALL1 HERE-F
|
|
RSTACK
|
|
?CCL13: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL17
|
|
ICALL1 CANT-FROM-HERE
|
|
RTRUE
|
|
?CCL17: INTBL? PRSA,SEEVERBS,NSVERBS >X \FALSE
|
|
ICALL1 CANT-SEE-MUCH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FBEDS-F,STR,X
|
|
ZERO? FSCRIPT \?CCL3
|
|
SET 'STR,STR?806
|
|
INTBL? PRSA,SEEVERBS,NSVERBS >X \?CND4
|
|
SET 'STR,STR?807
|
|
?CND4: ICALL2 START-FROON,STR
|
|
RTRUE
|
|
?CCL3: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL7
|
|
PRINTR "The flowers deftly shift themselves away from your touch."
|
|
?CCL7: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE \?CCL11
|
|
PRINTR "They are exceptionally beautiful."
|
|
?CCL11: EQUAL? PRSA,V?SMELL \FALSE
|
|
PRINTR "So sweet and delicate!"
|
|
|
|
|
|
.FUNCT START-FROON,STR
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
ICALL2 QUEUE,I-FROON
|
|
MOVE LADY,IN-FROON
|
|
ICALL2 SEE-CHARACTER,LADY
|
|
PUTP IN-FROON,P?HEAR,LADY
|
|
PRINTI "One of the flowers "
|
|
PRINT STR
|
|
PRINTI " you!"
|
|
CRLF
|
|
PRINT TAB
|
|
PRINTR "You leap back in alarm as a tiny figure emerges from the flower beds. It's a woman, garbed in bright clothes, and standing less than two feet high."
|
|
|
|
|
|
.FUNCT COVE-F,CONTEXT,X
|
|
ZERO? CONTEXT \FALSE
|
|
ZERO? NOW-PRSI? /?CCL5
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 VANISH
|
|
ICALL2 ITALICIZE,STR?808
|
|
PRINTI "! "
|
|
ICALL1 CTHE-PRINT
|
|
FSET? PRSO,BUOYANT \?CND8
|
|
PRINTR " hits the water and floats out of sight."
|
|
?CND8: PRINTR " disappears beneath the water."
|
|
?CCL5: EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE,V?SEARCH \?CCL11
|
|
CALL1 SEE-ANYTHING-IN?
|
|
ZERO? STACK /?CCL14
|
|
PRINT YOU-SEE
|
|
ICALL1 CONTENTS
|
|
SET 'P-IT-OBJECT,PRSO
|
|
PRINTI " floating "
|
|
JUMP ?CND12
|
|
?CCL14: PRINTI "Sunlight sparkles "
|
|
?CND12: PRINTI "on the surface of "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL11: EQUAL? PRSA,V?LOOK-UNDER,V?LOOK-BEHIND \?CCL16
|
|
PRINT STR?760
|
|
PRINTR "in the sparkling water."
|
|
?CCL16: EQUAL? PRSA,V?LEAP /?CTR17
|
|
INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL18
|
|
?CTR17: ICALL2 DO-WALK,P?DOWN
|
|
RTRUE
|
|
?CCL18: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \?CCL22
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
?CCL22: EQUAL? PRSA,V?LISTEN \?CCL24
|
|
PRINT CYOU
|
|
PRINT STR?687
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL24: EQUAL? PRSA,V?EAT \?CCL26
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL26: EQUAL? PRSA,V?DRINK,V?TASTE,V?DRINK-FROM /?CTR27
|
|
EQUAL? PRSA,V?KISS \?CCL28
|
|
?CTR27: PRINTR "Ugh! Salty."
|
|
?CCL28: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL1 WASTE-OF-TIME
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ENTER-POOL
|
|
SET 'P-PRSA-WORD,W?ENTER
|
|
ICALL PERFORM,V?ENTER,POOL
|
|
RFALSE
|
|
|
|
|
|
.FUNCT EXIT-POOL
|
|
SET 'P-PRSA-WORD,W?EXIT
|
|
ICALL PERFORM,V?EXIT,POOL
|
|
RFALSE
|
|
|
|
|
|
.FUNCT INTO-POOL,OBJ
|
|
ASSIGNED? 'OBJ /?CND1
|
|
SET 'OBJ,PRSO
|
|
?CND1: BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
MOVE OBJ,POOL
|
|
EQUAL? OBJ,TRUFFLE /?CTR4
|
|
IN? TRUFFLE,OBJ \FALSE
|
|
?CTR4: ICALL1 MUNG-TRUFFLE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MUNG-TRUFFLE
|
|
FSET? TRUFFLE,MUNGED /FALSE
|
|
FSET TRUFFLE,MUNGED
|
|
SET 'TRUFFLE-TIMER,0
|
|
ICALL2 DEQUEUE,I-TRUFFLE
|
|
CALL2 VISIBLE?,TRUFFLE
|
|
ZERO? STACK /TRUE
|
|
PRINT TAB
|
|
ICALL2 CTHE-PRINT,TRUFFLE
|
|
PRINTR "'s color darkens to a rich, mouthwatering brown."
|
|
|
|
|
|
.FUNCT POOL-F,CONTEXT,OBJ,X
|
|
ZERO? CONTEXT /?CCL3
|
|
SET 'OBJ,PRSO
|
|
ZERO? NOW-PRSI? /?CND4
|
|
SET 'OBJ,PRSI
|
|
?CND4: EQUAL? CONTEXT,M-BEG \?CCL8
|
|
CALL CANT-REACH-WHILE-IN?,OBJ,POOL
|
|
RSTACK
|
|
?CCL8: EQUAL? CONTEXT,M-CONT \FALSE
|
|
IN? PLAYER,POOL /FALSE
|
|
ZERO? OBJ /FALSE
|
|
INTBL? PRSA,SEEVERBS,NSVERBS >X \?CCL16
|
|
PRINT CANT
|
|
PRINTI "see "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI " very well"
|
|
JUMP ?CND10
|
|
?CCL16: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL2 CANT-REACH,OBJ
|
|
?CND10: PRINTR " from the edge of the pool."
|
|
?CCL3: ZERO? NOW-PRSI? /?CCL20
|
|
EQUAL? PRSA,V?PUT,V?PUT-UNDER \?CCL23
|
|
PRINTI "You lower "
|
|
ICALL1 O-INTO-I
|
|
ICALL1 INTO-POOL
|
|
RTRUE
|
|
?CCL23: EQUAL? PRSA,V?THROW,V?THROW-OVER \?CCL25
|
|
PRINTI "With a silent splash of light, "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " tumbles into the pool."
|
|
CRLF
|
|
ICALL1 INTO-POOL
|
|
RTRUE
|
|
?CCL25: EQUAL? PRSA,V?FILL-FROM \FALSE
|
|
EQUAL? PRSO,GOBLET,VIAL \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " seems unable to contain the golden radiance."
|
|
?CCL20: EQUAL? PRSA,V?OPEN,V?OPEN-WITH,V?CLOSE \?CCL30
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL30: INTBL? PRSA,E-VERBS,ENTER-VERBS >X /?CTR31
|
|
EQUAL? PRSA,V?SWIM,V?CROSS,V?CLIMB-DOWN \?CCL32
|
|
?CTR31: IN? PLAYER,PRSO /FALSE
|
|
CALL1 DROP-ONION-FIRST?
|
|
ZERO? STACK \TRUE
|
|
ICALL NEW-EXIT?,HERE,P?IN,SORRY-EXIT,STR?699
|
|
ICALL NEW-EXIT?,HERE,P?OUT,1153,EXIT-POOL
|
|
MOVE PLAYER,PRSO
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
SET 'OLD-HERE,FALSE-VALUE
|
|
PRINT CYOU
|
|
FSET? PRSO,TOUCHED /?CND39
|
|
FSET PRSO,TOUCHED
|
|
PRINTI "test the shifting radiance with a timid foot, then "
|
|
?CND39: PRINTI "slowly wade into the middle of the pool"
|
|
ICALL1 RELOOK
|
|
LOC TRUFFLE >X
|
|
ZERO? X /TRUE
|
|
EQUAL? X,PLAYER /?CCL43
|
|
IN? X,PLAYER \TRUE
|
|
?CCL43: ICALL1 MUNG-TRUFFLE
|
|
RTRUE
|
|
?CCL32: INTBL? PRSA,X-VERBS,EXIT-VERBS >X /?CTR46
|
|
EQUAL? PRSA,V?CLIMB-UP \?CCL47
|
|
?CTR46: IN? PLAYER,PRSO /?CND50
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
?CND50: ICALL1 SETUP-POND-EXITS
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
SET 'OLD-HERE,FALSE-VALUE
|
|
LOC PRSO
|
|
MOVE PLAYER,STACK
|
|
PRINTI "You slowly wade"
|
|
ICALL2 OUT-OF-LOC,PRSO
|
|
ICALL1 RELOOK
|
|
RTRUE
|
|
?CCL47: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH,V?LOOK-UNDER \?CCL53
|
|
CALL1 SEE-ANYTHING-IN?
|
|
ZERO? STACK /?CCL56
|
|
PRINT YOU-SEE
|
|
ICALL1 CONTENTS
|
|
SET 'P-IT-OBJECT,PRSO
|
|
PRINTI " enveloped"
|
|
JUMP ?CND54
|
|
?CCL56: PRINTI "Nothing can be seen"
|
|
?CND54: PRINTR " within."
|
|
?CCL53: EQUAL? PRSA,V?EXAMINE \?CCL58
|
|
PRINTI "The circular "
|
|
PRINTD POOL
|
|
PRINTR " shimmers and ripples like the surface of a pond."
|
|
?CCL58: EQUAL? PRSA,V?COUNT \?CCL60
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL60: EQUAL? PRSA,V?TASTE,V?DRINK,V?DRINK-FROM \?CCL62
|
|
PRINT STR?809
|
|
RTRUE
|
|
?CCL62: EQUAL? PRSA,V?TOUCH,V?KISS \?CCL64
|
|
PRINTR "You feel a refreshing tingle."
|
|
?CCL64: EQUAL? PRSA,V?EAT \FALSE
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT VIAL-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?PUT,V?EMPTY-INTO,V?FILL-FROM /?CCL5
|
|
EQUAL? PRSA,V?POUR-FROM,V?TAKE \FALSE
|
|
?CCL5: ICALL1 VIAL-SEALED
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL9
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " is filled with water."
|
|
?CCL9: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?READ \?CCL11
|
|
EQUAL? PRSA,V?READ /?CND12
|
|
PRINTI "This delicate vial was blown from fine glass of extraordinary clarity. "
|
|
?CND12: PRINTI "Looking closely, you see the legend """
|
|
ICALL2 FROBOZZ,STR?810
|
|
PRINTR """ inscribed on the bottom."
|
|
?CCL11: EQUAL? PRSA,V?HIT,V?MUNG,V?KICK \?CCL15
|
|
ICALL1 PRSO-SHATTER
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?SHAKE \?CCL17
|
|
PRINTR "Water slooshes around inside."
|
|
?CCL17: EQUAL? PRSA,V?OPEN,V?OPEN-WITH,V?CLOSE /?CTR18
|
|
EQUAL? PRSA,V?POUR,V?EMPTY,V?REACH-IN /?CTR18
|
|
EQUAL? PRSA,V?EMPTY-INTO,V?TASTE,V?DRINK /?CTR18
|
|
EQUAL? PRSA,V?DRINK-FROM \FALSE
|
|
?CTR18: ICALL1 VIAL-SEALED
|
|
RTRUE
|
|
|
|
|
|
.FUNCT VIAL-SEALED
|
|
ICALL2 CTHE-PRINT,VIAL
|
|
PRINTR " appears to be permanently sealed."
|
|
|
|
|
|
.FUNCT PRSO-SHATTER
|
|
ICALL1 VANISH
|
|
ICALL2 ITALICIZE,STR?602
|
|
PRINTI "! "
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " shatters into useless fragments"
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SADDLE-F,CONTEXT,OBJ,L,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-BEG \FALSE
|
|
IN? SADDLE,DACT \FALSE
|
|
SET 'OBJ,PRSO
|
|
ZERO? NOW-PRSI? /?CND8
|
|
SET 'OBJ,PRSI
|
|
?CND8: EQUAL? OBJ,FALSE-VALUE,SADDLE,DACT /FALSE
|
|
CALL CANT-REACH-WHILE-IN?,OBJ,DACT
|
|
RSTACK
|
|
?CCL3: ZERO? NOW-PRSI? /?CCL13
|
|
EQUAL? PRSA,V?PUT-ON,V?EMPTY-INTO,V?THROW /?CTR15
|
|
EQUAL? PRSA,V?PUT \?CCL16
|
|
?CTR15: ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CCL16: EQUAL? PRSA,V?PUT-UNDER,V?PUT-BEHIND \FALSE
|
|
ICALL1 WASTE-OF-TIME
|
|
RTRUE
|
|
?CCL13: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL21
|
|
LOC PRSO >L
|
|
ZERO? L \?CCL24
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL24: EQUAL? L,PLAYER /?CTR25
|
|
IN? L,PLAYER \?CCL26
|
|
?CTR25: ICALL2 YOUD-HAVE-TO,STR?519
|
|
RTRUE
|
|
?CCL26: EQUAL? PRSA,V?LIE-DOWN \?CCL30
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " isn't big enough."
|
|
?CCL30: IN? PLAYER,PRSO \?CCL32
|
|
EQUAL? PRSA,V?STAND-ON \?CND33
|
|
LOC PRSO
|
|
MOVE PLAYER,STACK
|
|
PRINTI "You rise shakily to your feet"
|
|
ICALL1 LOSE-BALANCE
|
|
CRLF
|
|
ICALL1 V-LOOK
|
|
RTRUE
|
|
?CND33: PRINT ALREADY
|
|
PRINTI "sitting on "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL32: CALL1 DROP-ONION-FIRST?
|
|
ZERO? STACK \TRUE
|
|
LOC PLAYER
|
|
EQUAL? L,STACK \?CCL38
|
|
EQUAL? PRSA,V?STAND-ON \?CND39
|
|
PRINTI "You climb shakily onto "
|
|
ICALL1 THE-PRINT
|
|
ICALL1 LOSE-BALANCE
|
|
RTRUE
|
|
?CND39: MOVE PLAYER,PRSO
|
|
PRINTI "You lower "
|
|
PRINTD ME
|
|
PRINT SINTO
|
|
ICALL1 THE-PRINT
|
|
ICALL1 RELOOK
|
|
RTRUE
|
|
?CCL38: EQUAL? L,DACT \?CND22
|
|
ICALL1 MOUNT-DACT
|
|
RTRUE
|
|
?CND22: PRINT STR?811
|
|
ICALL1 THE-PRINT
|
|
ICALL2 OUT-OF-LOC,L
|
|
PRINT SFIRST
|
|
RTRUE
|
|
?CCL21: EQUAL? PRSA,V?EXIT,V?CLIMB-DOWN,V?LEAVE /?CTR42
|
|
EQUAL? PRSA,V?LEAP,V?DIVE,V?ESCAPE /?CTR42
|
|
EQUAL? PRSA,V?EMPTY \?CCL43
|
|
IN? PLAYER,PRSO \?CCL43
|
|
?CTR42: IN? PLAYER,PRSO /?CCL51
|
|
PRINTI "You're not sitting on "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL51: IN? SADDLE,DACT \?CND49
|
|
ICALL1 DISMOUNT-DACT
|
|
RTRUE
|
|
?CND49: LOC PRSO
|
|
MOVE PLAYER,STACK
|
|
PRINTI "You clamber off "
|
|
ICALL1 THE-PRINT
|
|
ICALL1 RELOOK
|
|
RTRUE
|
|
?CCL43: EQUAL? PRSA,V?STAND-ON,V?LIE-DOWN \?CCL54
|
|
PRINTR "Saddles are for sitting."
|
|
?CCL54: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?READ \FALSE
|
|
PRINTI "A small label on it says, """
|
|
ICALL2 FROBOZZ,STR?812
|
|
PRINT PERQ
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LOSE-BALANCE
|
|
PRINTR ", lose your balance and slide off."
|
|
|
|
|
|
.FUNCT SHY-DACT?,X
|
|
ZERO? DACT-SLEEP \FALSE
|
|
FSET? DACT,MUNGED \FALSE
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X /?CCL2
|
|
INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \FALSE
|
|
?CCL2: PRINTI "The wounded "
|
|
PRINTD DACT
|
|
CALL2 PICK-NEXT,SHYNESS
|
|
PRINT STACK
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DACT-F,CONTEXT,HURT,W,X
|
|
SET 'P-IT-OBJECT,DACT
|
|
CALL2 NOUN-USED?,W?BIRD
|
|
ZERO? STACK /?CCL3
|
|
PRINTI "Pterodactyls are not birds."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL3: FSET? DACT,MUNGED \?CCL7
|
|
INC 'HURT
|
|
?CND1: EQUAL? CONTEXT,M-OBJDESC \?CCL15
|
|
ICALL2 PRINTCA,DACT
|
|
ZERO? DACT-SLEEP /?CCL18
|
|
PRINTI " lies nearby, snoring fitfully"
|
|
JUMP ?CND16
|
|
?CCL7: CALL2 NOUN-USED?,W?WOUND
|
|
ZERO? STACK \?CCL8
|
|
CALL ADJ-USED?,W?WOUNDED,W?HURT
|
|
ZERO? STACK /?CND1
|
|
?CCL8: ICALL2 CTHE-PRINT,DACT
|
|
PRINTI "'s wound is gone now."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL18: ZERO? HURT /?CCL20
|
|
PRINTI " is hobbling around in slow, painful circles"
|
|
JUMP ?CND16
|
|
?CCL20: PRINTI " is"
|
|
CALL2 PICK-NEXT,DACT-WAITS
|
|
PRINT STACK
|
|
?CND16: IN? ARROW,DACT \?CND21
|
|
FSET? ARROW,NODESC \?CND21
|
|
PRINTI ". One of its wings is pierced by "
|
|
ICALL2 PRINTA,ARROW
|
|
?CND21: IN? SADDLE,DACT \?CND25
|
|
ZERO? HURT /?CCL29
|
|
PRINTI "; and a "
|
|
JUMP ?CND27
|
|
?CCL29: PRINTI ". A "
|
|
?CND27: PRINTD SADDLE
|
|
PRINTI " rests upon its back"
|
|
?CND25: IN? WHISTLE,DACT \?CND30
|
|
PRINTI ". "
|
|
ICALL2 PRINTCA,WHISTLE
|
|
PRINTI " hangs on a chain around its skinny neck"
|
|
?CND30: PRINTC PER
|
|
RTRUE
|
|
?CCL15: EQUAL? CONTEXT,M-CONT \?CCL33
|
|
CALL1 SHY-DACT?
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
?CCL33: EQUAL? CONTEXT,M-WINNER \?CCL37
|
|
FSET DACT,SEEN
|
|
EQUAL? PRSA,V?WALK,V?FLY,V?BANK /?PRD44
|
|
EQUAL? PRSA,V?TURN,V?TURN-TO,V?SPOINT-AT \?PRD42
|
|
?PRD44: EQUAL? PRSO,INTDIR /?CTR39
|
|
?PRD42: EQUAL? PRSA,V?POINT-AT \?CCL40
|
|
EQUAL? PRSI,INTDIR \?CCL40
|
|
?CTR39: SET 'P-WALK-DIR,P-DIRECTION
|
|
ICALL1 NEXT-SKY
|
|
RETURN 2
|
|
?CCL40: EQUAL? PRSA,V?FLY,V?FLY-UP,V?CLIMB-UP \?CCL52
|
|
EQUAL? PRSO,FALSE-VALUE,ROOMS,SKY \?CCL52
|
|
ICALL2 DO-WALK,P?UP
|
|
RETURN 2
|
|
?CCL52: EQUAL? PRSA,V?LAND /?CTR57
|
|
EQUAL? PRSA,V?CLIMB-DOWN \?PRD61
|
|
EQUAL? PRSO,ROOMS \?PRD61
|
|
EQUAL? P-PRSA-WORD,W?DESCEND /?CTR57
|
|
?PRD61: EQUAL? PRSA,V?LAND-ON \?CCL58
|
|
EQUAL? PRSO,GROUND,FLOOR \?CCL58
|
|
?CTR57: ICALL2 DO-WALK,P?DOWN
|
|
RETURN 2
|
|
?CCL58: EQUAL? PRSA,V?HELLO \?CND38
|
|
EQUAL? PRSO,ROOMS,DACT \?CND38
|
|
ICALL1 HELLO-DACT
|
|
RETURN 2
|
|
?CND38: ICALL1 PUZZLED-DACT
|
|
RETURN 2
|
|
?CCL37: ZERO? CONTEXT \FALSE
|
|
CALL NOUN-USED?,W?WING,W?WINGS,W?WOUND
|
|
ZERO? STACK /?CND13
|
|
CALL1 SHY-DACT?
|
|
ZERO? STACK \TRUE
|
|
ZERO? NOW-PRSI? /?CCL83
|
|
EQUAL? PRSA,V?TOUCH-TO /?CTR85
|
|
EQUAL? PRSA,V?PUT-ON,V?PUT \?CCL86
|
|
EQUAL? PRSO,SPENSE \?CCL86
|
|
?CTR85: ICALL2 TOUCH-DACT-WITH,PRSO
|
|
RTRUE
|
|
?CCL86: EQUAL? PRSA,V?PUT-UNDER,V?PUT-BEHIND \?CCL92
|
|
ICALL1 WASTE-OF-TIME
|
|
RTRUE
|
|
?CCL92: INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CCL83: EQUAL? PRSA,V?STOUCH-TO \?CCL95
|
|
ICALL2 TOUCH-DACT-WITH,PRSI
|
|
RTRUE
|
|
?CCL95: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL97
|
|
IN? ARROW,DACT \?CND98
|
|
SET 'P-IT-OBJECT,ARROW
|
|
ICALL2 PRINTCA,ARROW
|
|
PRINTI " has pierced one of "
|
|
ICALL1 THE-PRINT
|
|
PRINTR "'s wings."
|
|
?CND98: ICALL1 CTHE-PRINT
|
|
PRINTI "'s wing"
|
|
FSET? PRSO,MUNGED \?CND100
|
|
PRINTR " has a nasty wound."
|
|
?CND100: PRINTI "s "
|
|
EQUAL? HERE,IN-SKY \?CND102
|
|
PRINTR "beat slowly up and down."
|
|
?CND102: PRINTR "appear healthy and strong."
|
|
?CCL97: EQUAL? PRSA,V?TELL \?CCL105
|
|
PRINT CANT
|
|
PRINTI "talk to a wing."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL105: EQUAL? PRSA,V?REPAIR,V?DRESS \?CCL109
|
|
FSET? PRSO,MUNGED \?CND110
|
|
ICALL1 HOW?
|
|
RTRUE
|
|
?CND110: ICALL1 CTHE-PRINT
|
|
PRINTR "'s wing is fine now."
|
|
?CCL109: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL113
|
|
ICALL2 NO-GOOD-SURFACE,PRSO
|
|
RTRUE
|
|
?CCL113: INTBL? PRSA,X-VERBS,CLIMB-DOWN-VERBS >X \?CND13
|
|
ICALL1 NOT-ON
|
|
RTRUE
|
|
?CND13: ZERO? NOW-PRSI? /?CCL117
|
|
EQUAL? PRSA,V?PUT-ON,V?THROW-OVER,V?PUT \?CCL120
|
|
FSET DACT,SEEN
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
PRINT CYOU
|
|
PRINTB P-PRSA-WORD
|
|
PRINTC SP
|
|
ICALL1 THE-PRINT
|
|
PRINTI " onto "
|
|
ICALL1 THEI-PRINT
|
|
PRINTI "'s back"
|
|
ZERO? DACT-SLEEP \?CCL123
|
|
FSET? PRSI,MUNGED \?CCL123
|
|
LOC PLAYER
|
|
MOVE PRSO,STACK
|
|
PRINTR ", but the wounded creature shakes it loose and throws it to your feet."
|
|
?CCL123: EQUAL? PRSO,SADDLE /?CND121
|
|
PRINTI ", but "
|
|
FSET? PRSO,PLURAL \?CCL129
|
|
PRINTI "they slide"
|
|
JUMP ?CND127
|
|
?CCL129: PRINTI "it slides"
|
|
?CND127: PRINTI " off and "
|
|
ICALL1 FALLS
|
|
RTRUE
|
|
?CND121: MOVE PRSO,PRSI
|
|
PRINTR ", where it settles comfortably."
|
|
?CCL120: CALL1 SHY-DACT?
|
|
ZERO? STACK \TRUE
|
|
EQUAL? PRSA,V?TOUCH-TO \?CCL133
|
|
EQUAL? PRSO,SPENSE \?CCL133
|
|
PRINTC 91
|
|
ICALL1 THEI-PRINT
|
|
PRINTI "'s wing"
|
|
PRINT BRACKET
|
|
ICALL2 TOUCH-DACT-WITH,PRSO
|
|
RTRUE
|
|
?CCL133: INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CCL117: EQUAL? PRSA,V?TELL \?CCL138
|
|
ZERO? DACT-SLEEP /FALSE
|
|
PRINTI "The snoring "
|
|
PRINTD DACT
|
|
PRINTI " doesn't respond."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL138: EQUAL? PRSA,V?HELLO,V?WAVE-AT \?CCL144
|
|
ICALL1 HELLO-DACT
|
|
RTRUE
|
|
?CCL144: EQUAL? PRSA,V?ASK-ABOUT,V?ASK-FOR,V?TELL-ABOUT \?CCL146
|
|
ICALL1 PUZZLED-DACT
|
|
RTRUE
|
|
?CCL146: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL148
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " appears to be "
|
|
FSET? PRSO,SLEEPING \?CCL151
|
|
PRINTB W?SLEEPING
|
|
JUMP ?CND149
|
|
?CCL151: FSET? PRSO,MUNGED \?CCL153
|
|
PRINTB W?WOUNDED
|
|
JUMP ?CND149
|
|
?CCL153: PRINTI "watching you"
|
|
?CND149: IN? WHISTLE,DACT \?CND154
|
|
REMOVE WHISTLE
|
|
INC 'W
|
|
PRINTI ". There's "
|
|
ICALL2 PRINTA,WHISTLE
|
|
PRINTI " hung around his neck"
|
|
?CND154: CALL1 SEE-ANYTHING-IN?
|
|
ZERO? STACK /?CND156
|
|
PRINTI ". On his back you see "
|
|
ICALL1 CONTENTS
|
|
?CND156: PRINT PERIOD
|
|
ZERO? W /?CND158
|
|
MOVE WHISTLE,DACT
|
|
?CND158: SET 'P-IT-OBJECT,DACT
|
|
RTRUE
|
|
?CCL148: EQUAL? PRSA,V?RESCUE \?CCL161
|
|
FSET? PRSO,MUNGED \FALSE
|
|
PRINTR "Medical aid might help."
|
|
?CCL161: INTBL? PRSA,X-VERBS,CLIMB-DOWN-VERBS >X \?CCL165
|
|
ICALL1 DISMOUNT-DACT
|
|
RTRUE
|
|
?CCL165: EQUAL? PRSA,V?ALARM \?CCL167
|
|
ZERO? DACT-SLEEP \?CND168
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " isn't asleep"
|
|
PRINT AT-MOMENT
|
|
RTRUE
|
|
?CND168: ICALL1 WAKE-DACT
|
|
RTRUE
|
|
?CCL167: CALL1 SHY-DACT?
|
|
ZERO? STACK \TRUE
|
|
INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL173
|
|
ICALL1 MOUNT-DACT
|
|
RTRUE
|
|
?CCL173: EQUAL? PRSA,V?STOUCH-TO \?CCL175
|
|
EQUAL? PRSI,SPENSE \?CCL175
|
|
PRINTC 91
|
|
ICALL1 THE-PRINT
|
|
PRINTI "'s wing"
|
|
PRINT BRACKET
|
|
ICALL2 TOUCH-DACT-WITH,PRSI
|
|
RTRUE
|
|
?CCL175: EQUAL? PRSA,V?TOUCH \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " caws appreciatively."
|
|
|
|
|
|
.FUNCT MOUNT-DACT
|
|
FSET DACT,SEEN
|
|
IN? PLAYER,SADDLE \?CCL3
|
|
IN? SADDLE,DACT \?CCL3
|
|
PRINT ALREADY
|
|
PRINTI "riding "
|
|
ICALL2 THE-PRINT,DACT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: CALL1 DROP-ONION-FIRST?
|
|
ZERO? STACK \TRUE
|
|
IN? SADDLE,DACT /?CND1
|
|
ZERO? DACT-SLEEP \?CCL11
|
|
ICALL2 CTHE-PRINT,DACT
|
|
PRINTI " does its best to oblige"
|
|
JUMP ?CND9
|
|
?CCL11: PRINTI "The sleeping "
|
|
PRINTD DACT
|
|
PRINTI " does nothing to hinder you"
|
|
?CND9: PRINTR ", but you keep sliding off its skinny back."
|
|
?CND1: FSET DACT,NODESC
|
|
MOVE PLAYER,SADDLE
|
|
PRINTI "You climb up onto "
|
|
ICALL2 THE-PRINT,DACT
|
|
PRINTI "'s back, and settle into "
|
|
ICALL2 THE-PRINT,SADDLE
|
|
ICALL1 RELOOK
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DISMOUNT-DACT
|
|
IN? PLAYER,SADDLE \?CTR2
|
|
IN? SADDLE,DACT /?CCL3
|
|
?CTR2: ICALL2 NOT-ON,DACT
|
|
RTRUE
|
|
?CCL3: IN? DACT,IN-SKY \?CND1
|
|
PRINTI "You slide confidently"
|
|
ICALL2 OUT-OF-LOC,SADDLE
|
|
PRINTI ", and plummet hundreds of bloits to a senseless death"
|
|
ICALL1 JIGS-UP
|
|
RTRUE
|
|
?CND1: FCLEAR DACT,NODESC
|
|
LOC DACT
|
|
MOVE PLAYER,STACK
|
|
PRINTI "You clamber"
|
|
ICALL2 OUT-OF-LOC,SADDLE
|
|
PRINTI ", and slip off "
|
|
ICALL2 THE-PRINT,DACT
|
|
PRINTI "'s back"
|
|
ICALL1 RELOOK
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TOUCH-DACT-WITH,OBJ
|
|
IN? OBJ,PLAYER /?CCL3
|
|
ICALL YOUD-HAVE-TO,STR?680,OBJ
|
|
RTRUE
|
|
?CCL3: EQUAL? OBJ,SPENSE /?CND1
|
|
ICALL2 CTHE-PRINT,DACT
|
|
PRINTI "'s "
|
|
FSET? DACT,MUNGED \?CND5
|
|
PRINTI "wounded "
|
|
?CND5: PRINTR "wing is unaffected."
|
|
?CND1: PRINTI "You gently press "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI " against the wounded wing"
|
|
PRINT PTAB
|
|
ICALL2 CTHE-PRINT,DACT
|
|
PRINTI "'s sleep seems to deepen, and the tension in its limbs relaxes"
|
|
IN? ARROW,DACT \?CND7
|
|
PRINTR " a bit. But its flesh remains torn by the piercing arrow."
|
|
?CND7: ICALL2 VANISH,OBJ
|
|
FCLEAR DACT,MUNGED
|
|
PRINTR ". You watch in astonishment as the weed begins to flow and congeal, blending itself into the torn flesh until no trace of the wound remains."
|
|
|
|
|
|
.FUNCT HELLO-DACT
|
|
CALL1 DACT-SLEEPING?
|
|
ZERO? STACK \TRUE
|
|
ICALL2 CTHE-PRINT,DACT
|
|
PRINTR " eyes you silently."
|
|
|
|
|
|
.FUNCT PUZZLED-DACT
|
|
CALL1 DACT-SLEEPING?
|
|
ZERO? STACK \TRUE
|
|
ICALL2 CTHE-PRINT,DACT
|
|
PRINT STR?624
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DACT-SLEEPING?
|
|
FSET DACT,SEEN
|
|
ZERO? DACT-SLEEP /FALSE
|
|
ICALL2 CTHE-PRINT,DACT
|
|
PRINTR " responds with a fitful snore."
|
|
|
|
|
|
.FUNCT ARROW-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL5
|
|
PRINTI "A crude design. Looks like "
|
|
PRINTB W?SOMETHING
|
|
PRINTR " you'd find in a museum."
|
|
?CCL5: EQUAL? PRSA,V?FIRE-AT \FALSE
|
|
PRINT DONT
|
|
PRINTR "have a bow."
|
|
|
|
|
|
.FUNCT BAD-ARROW-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?TOUCH-TO \FALSE
|
|
ICALL2 TOUCH-BAD-ARROW,PRSO
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL7
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is piercing one of "
|
|
ICALL2 THE-PRINT,DACT
|
|
PRINTR "'s wings."
|
|
?CCL7: EQUAL? PRSA,V?TAKE,V?PULL \?CCL9
|
|
EQUAL? PRSI,FALSE-VALUE,HANDS /?CCL12
|
|
ICALL1 TWIST-ARROW
|
|
RTRUE
|
|
?CCL12: CALL1 ITAKE
|
|
ZERO? STACK /TRUE
|
|
PUTP PRSO,P?ACTION,ARROW-F
|
|
ICALL1 TOUCH-BAD-ARROW
|
|
PRINTI " Gritting your teeth, you grasp the shaft firmly, close your eyes and give it a quick, determined yank"
|
|
PRINT PTAB
|
|
ICALL2 ITALICIZE,STR?736
|
|
PRINTI ". "
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " pulls free, and dark blood trickles from the wound."
|
|
?CCL9: EQUAL? PRSA,V?TOUCH,V?SQUEEZE \?CCL15
|
|
ICALL1 TOUCH-BAD-ARROW
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?HIT,V?PUSH,V?KICK \?CCL17
|
|
ICALL1 YOUR-OBJ
|
|
PRINTI " strikes "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " edgewise, driving it"
|
|
ICALL1 DRIVE-DEEPER
|
|
RTRUE
|
|
?CCL17: EQUAL? PRSA,V?TURN,V?LOOSEN,V?MOVE /?CTR18
|
|
EQUAL? PRSA,V?LOWER,V?RAISE,V?SPIN \FALSE
|
|
?CTR18: EQUAL? PRSI,FALSE-VALUE,HANDS \?CND22
|
|
ICALL1 TOUCH-BAD-ARROW
|
|
RTRUE
|
|
?CND22: ICALL1 TWIST-ARROW
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TWIST-ARROW
|
|
PRINTI "You fumble uncertainly with "
|
|
ICALL1 THEI-PRINT
|
|
PRINTI ", driving "
|
|
ICALL1 THE-PRINT
|
|
ICALL1 DRIVE-DEEPER
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DRIVE-DEEPER
|
|
PRINTI " deeper into "
|
|
ICALL2 THE-PRINT,DACT
|
|
PRINTI "'s wing"
|
|
PRINT PTAB
|
|
PRINTR "The luckless creature moans softly in its sleep."
|
|
|
|
|
|
.FUNCT TOUCH-BAD-ARROW,OBJ
|
|
PRINTI "You gently touch the end of "
|
|
ICALL2 THE-PRINT,ARROW
|
|
EQUAL? OBJ,FALSE-VALUE,HANDS,ME \?CCL3
|
|
PRINTI ", probing with your fingers"
|
|
JUMP ?CND1
|
|
?CCL3: PRINT WITH
|
|
ICALL2 THE-PRINT,OBJ
|
|
?CND1: PRINTR ". It barely gives at all."
|
|
|
|
|
|
.FUNCT WEEDS-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
MOVE PRSO,PRSI
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " fall"
|
|
FSET? PRSO,PLURAL /?CND6
|
|
PRINTC 115
|
|
?CND6: PRINTR " into the weeds."
|
|
?CCL3: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH,V?LOOK-UNDER \?CCL9
|
|
PRINTI "Aside from the "
|
|
PRINTB W?BILLBOARD
|
|
PRINT LYOU-SEE
|
|
ICALL1 CONTENTS
|
|
SET 'P-IT-OBJECT,PRSO
|
|
PRINTR " among the weeds."
|
|
?CCL9: EQUAL? PRSA,V?EXAMINE \?CCL11
|
|
PRINTR "The weeds remind you of your garden back home."
|
|
?CCL11: EQUAL? PRSA,V?TAKE,V?PICK,V?UPROOT /?CTR12
|
|
EQUAL? PRSA,V?LOOSEN,V?PULL \FALSE
|
|
?CTR12: SET 'X,SPENSE
|
|
EQUAL? PRSO,WEEDS2 \?CND16
|
|
SET 'X,SPENSE2
|
|
?CND16: CALL2 PICK-WEED?,X
|
|
ZERO? STACK \TRUE
|
|
PRINTR "None of the other weeds catches your eye."
|
|
|
|
|
|
.FUNCT GENERIC-WEED-F,TBL,LEN
|
|
ASSIGNED? 'LEN /?CND1
|
|
GET TBL,0 >LEN
|
|
?CND1: RETURN SPENSE
|
|
|
|
|
|
.FUNCT SPENSE-F,X,MAX
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?TAKE,V?PICK,V?UPROOT /?PRD7
|
|
EQUAL? PRSA,V?PULL,V?LOOSEN \?CCL5
|
|
?PRD7: CALL1 PICK-WEED?
|
|
ZERO? STACK \TRUE
|
|
?CCL5: EQUAL? PRSA,V?TASTE \?CCL11
|
|
PRINTI "A little taste finds "
|
|
ICALL1 THE-PRINT
|
|
PRINT STR?813
|
|
RTRUE
|
|
?CCL11: EQUAL? PRSA,V?EAT \?CCL13
|
|
ICALL1 VANISH
|
|
PRINTI "You cram "
|
|
ICALL1 THE-PRINT
|
|
PRINT SINTO
|
|
PRINTD MOUTH
|
|
PRINTI " and swallow it whole, enjoying its sweet, wholesome taste."
|
|
CRLF
|
|
GET STATS,ENDURANCE >X
|
|
GET MAXSTATS,ENDURANCE >MAX
|
|
LESS? X,MAX \?CND14
|
|
SUB MAX,X
|
|
ICALL2 UPDATE-STAT,STACK
|
|
?CND14: GET STATS,STRENGTH >X
|
|
GET MAXSTATS,STRENGTH >MAX
|
|
LESS? X,MAX \TRUE
|
|
SUB MAX,X
|
|
ICALL UPDATE-STAT,STACK,STRENGTH
|
|
RTRUE
|
|
?CCL13: EQUAL? PRSA,V?DRINK,V?DRINK-FROM \?CCL19
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL19: EQUAL? PRSA,V?SMELL \?CCL21
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI "'s scent is"
|
|
PRINT STR?813
|
|
RTRUE
|
|
?CCL21: EQUAL? PRSA,V?EXAMINE,V?WHAT \?CCL23
|
|
ICALL1 REFER-TO-PACKAGE
|
|
RETURN 2
|
|
?CCL23: EQUAL? PRSA,V?PLANT \FALSE
|
|
ICALL1 DO-PLANT
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DO-PLANT
|
|
FSET? PRSO,TOUCHED \?CND1
|
|
PRINTR "You left your trowel at home."
|
|
?CND1: PRINT ALREADY
|
|
PRINTR "planted."
|
|
|
|
|
|
.FUNCT PICK-WEED?,OBJ
|
|
ASSIGNED? 'OBJ /?CND1
|
|
SET 'OBJ,PRSO
|
|
?CND1: FSET? OBJ,TOUCHED /FALSE
|
|
EQUAL? PRSI,FALSE-VALUE,HANDS /?CND3
|
|
ICALL2 PRSI-FUMBLE,WEEDS2
|
|
RTRUE
|
|
?CND3: BOR NEW-DBOX,SHOWING-INV >NEW-DBOX
|
|
SET 'P-IT-OBJECT,OBJ
|
|
MOVE OBJ,PLAYER
|
|
FCLEAR OBJ,NODESC
|
|
FSET OBJ,TOUCHED
|
|
PRINTI "With a modest tug, "
|
|
ICALL2 PRINTA,OBJ
|
|
PRINTI " pops out of "
|
|
ICALL2 THE-PRINT,GROUND
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT PRSI-FUMBLE,OBJ
|
|
PRINTI "You poke around with "
|
|
ICALL1 THEI-PRINT
|
|
PRINTI ", noting little effect on "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GENERIC-SALT-F,TBL,LEN
|
|
RETURN CUBE
|
|
|
|
|
|
.FUNCT BRINE-F,CONTEXT,S,X
|
|
ZERO? CONTEXT /?CND1
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
PRINTI "A white "
|
|
PRINTD BRINE
|
|
PRINTI " is drying in the sun"
|
|
CALL2 SEE-ANYTHING-IN?,BRINE
|
|
ZERO? STACK /?CND5
|
|
PRINT STR?773
|
|
ICALL2 CONTENTS,BRINE
|
|
SET 'P-IT-OBJECT,BRINE
|
|
?CND5: PRINTC PER
|
|
RTRUE
|
|
?CND1: IN? CUBE,BRINE \?CND7
|
|
FSET? CUBE,NODESC \?CND7
|
|
INC 'S
|
|
?CND7: ZERO? NOW-PRSI? /?CCL13
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
EQUAL? PRSO,CUBE \?CND16
|
|
FSET PRSO,NODESC
|
|
?CND16: MOVE PRSO,PRSI
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
PRINTI "You deposit "
|
|
ICALL1 THE-PRINT
|
|
PRINT SON
|
|
ICALL1 THEI-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL13: EQUAL? PRSA,V?EXAMINE \?CCL19
|
|
PRINTI "A shallow pool of seawater must have evaporated here"
|
|
CALL1 SEE-ANYTHING-IN?
|
|
ZERO? STACK /?CND20
|
|
PRINTI ". Upon "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " you see "
|
|
ICALL1 CONTENTS
|
|
SET 'P-IT-OBJECT,PRSO
|
|
?CND20: PRINT PERIOD
|
|
RTRUE
|
|
?CCL19: EQUAL? PRSA,V?TAKE,V?PICK,V?UPROOT /?CTR22
|
|
EQUAL? PRSA,V?LOOSEN,V?PULL \?CCL23
|
|
?CTR22: ZERO? S /?CND26
|
|
ICALL1 SNARF-CUBE
|
|
RTRUE
|
|
?CND26: PRINTR "You've taken the only loose bit already."
|
|
?CCL23: EQUAL? PRSA,V?TOUCH,V?KICK,V?HIT \?CCL29
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is hard as a rock"
|
|
ZERO? S /?CND30
|
|
PRINTI ". One bit seems a bit loose, though"
|
|
?CND30: PRINT PERIOD
|
|
RTRUE
|
|
?CCL29: EQUAL? PRSA,V?TASTE \?CCL33
|
|
PRINTR "Ugh! Convincingly salty."
|
|
?CCL33: EQUAL? PRSA,V?SMELL \?CCL35
|
|
PRINT STR?705
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL35: EQUAL? PRSA,V?DRINK,V?DRINK-FROM \?CCL37
|
|
PRINTR "Sorry. All evaporated."
|
|
?CCL37: EQUAL? PRSA,V?EAT \FALSE
|
|
ICALL2 YOUD-HAVE-TO,STR?814
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SNARF-CUBE
|
|
EQUAL? PRSI,FALSE-VALUE,HANDS /?CND1
|
|
ICALL2 PRSI-FUMBLE,BRINE
|
|
RTRUE
|
|
?CND1: BOR NEW-DBOX,SHOWING-INV >NEW-DBOX
|
|
SET 'P-IT-OBJECT,CUBE
|
|
MOVE CUBE,PLAYER
|
|
FCLEAR CUBE,NODESC
|
|
FSET CUBE,TOUCHED
|
|
PRINTI "You scrape a loose "
|
|
PRINTD CUBE
|
|
ICALL2 OUT-OF-LOC,BRINE
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CUBE-F
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?HIT,V?MUNG,V?CUT \FALSE
|
|
EQUAL? PRSO,SLUG \FALSE
|
|
ICALL2 TOUCH-SLUG-WITH,CUBE
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL9
|
|
PRINTR "It's no bigger than a die."
|
|
?CCL9: EQUAL? PRSA,V?EAT \?CCL11
|
|
ICALL1 VANISH
|
|
PRINTI "You pop "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " into your mouth, and manage to swallow it without gagging."
|
|
CRLF
|
|
ICALL2 UPDATE-STAT,-5
|
|
RTRUE
|
|
?CCL11: EQUAL? PRSA,V?TASTE \?CCL13
|
|
PRINTI "A quick taste confirms "
|
|
ICALL1 THE-PRINT
|
|
PRINTR "'s identity."
|
|
?CCL13: EQUAL? PRSA,V?DRINK,V?DRINK-FROM \?CCL15
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?SMELL \FALSE
|
|
PRINT STR?705
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ROSES-F,CONTEXT,R,X
|
|
IN? ROSE,ROSES \?CND1
|
|
FSET? ROSE,NODESC \?CND1
|
|
INC 'R
|
|
?CND1: EQUAL? CONTEXT,M-OBJDESC \?CCL7
|
|
PRINTI "A lone "
|
|
PRINTD ROSES
|
|
PRINTI " has somehow managed to survive the stormy climate."
|
|
RTRUE
|
|
?CCL7: ZERO? CONTEXT \FALSE
|
|
ZERO? NOW-PRSI? /?CCL11
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CCL11: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH,V?LOOK-UNDER \?CCL15
|
|
PRINT YOU-SEE
|
|
ICALL1 CONTENTS
|
|
SET 'P-IT-OBJECT,PRSO
|
|
PRINTI " among "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?EXAMINE \?CCL17
|
|
PRINTI "Aside from a few thorns, "
|
|
ZERO? R /?CND18
|
|
PRINTR "a solitary rose is the bush's only adornment."
|
|
?CND18: ICALL1 THE-PRINT
|
|
PRINTR " is barren."
|
|
?CCL17: EQUAL? PRSA,V?TAKE,V?PICK,V?UPROOT /?CTR20
|
|
EQUAL? PRSA,V?LOOSEN,V?PULL,V?RAISE \FALSE
|
|
?CTR20: ZERO? R /?CND24
|
|
ICALL1 PICK-ROSE
|
|
RTRUE
|
|
?CND24: ICALL1 CTHE-PRINT
|
|
PRINTR " is barren of flowers."
|
|
|
|
|
|
.FUNCT GENERIC-ROSE-F,TBL,LEN
|
|
ASSIGNED? 'LEN /?CND1
|
|
GET TBL,0 >LEN
|
|
?CND1: RETURN ROSE
|
|
|
|
|
|
.FUNCT ROSE-F,NODROOP,WRD
|
|
FSET? HERE,INDOORS /?CCL2
|
|
EQUAL? HERE,IN-GARDEN,APLANE,IN-FROON /?CCL2
|
|
EQUAL? HERE,IN-SPLENDOR \?CND1
|
|
?CCL2: INC 'NODROOP
|
|
?CND1: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL10
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI "'s delicate stem "
|
|
ZERO? NODROOP /?CCL13
|
|
PRINTR "is standing straight and tall."
|
|
?CCL13: CALL1 PLAIN-ROOM?
|
|
ZERO? STACK /?CND11
|
|
PRINTR "blows wildly back and forth in the stormy winds."
|
|
?CND11: FSET BREEZE,SEEN
|
|
PRINTI "is tilted to the "
|
|
GET DIR-NAMES,WINDIR
|
|
PRINTB STACK
|
|
PRINT PERIOD
|
|
FSET? PRSO,IDENTIFIED /TRUE
|
|
FSET PRSO,IDENTIFIED
|
|
PRINT TAB
|
|
ICALL1 REFER-TO-PACKAGE
|
|
RTRUE
|
|
?CCL10: EQUAL? PRSA,V?TAKE,V?PICK,V?UPROOT /?PRD20
|
|
EQUAL? PRSA,V?PULL,V?LOOSEN,V?RAISE \?CCL18
|
|
?PRD20: FSET? PRSO,TOUCHED /?CCL18
|
|
ICALL1 PICK-ROSE
|
|
RTRUE
|
|
?CCL18: EQUAL? PRSA,V?TURN-TO,V?POINT-AT,V?PUSH-TO \?CCL24
|
|
IN? PRSO,PLAYER /?CCL27
|
|
ICALL2 YOUD-HAVE-TO,STR?680
|
|
RTRUE
|
|
?CCL27: EQUAL? PRSI,LEFT \?CCL29
|
|
DLESS? 'WINDIR,I-NORTH \?CND30
|
|
SET 'WINDIR,I-NW
|
|
?CND30: SET 'WRD,W?LEFT
|
|
JUMP ?CND25
|
|
?CCL29: EQUAL? PRSI,RIGHT \?CCL33
|
|
IGRTR? 'WINDIR,I-NW \?CND34
|
|
SET 'WINDIR,I-NORTH
|
|
?CND34: SET 'WRD,W?RIGHT
|
|
JUMP ?CND25
|
|
?CCL33: EQUAL? PRSI,INTDIR \?CCL38
|
|
SUB P?NW,1
|
|
GRTR? P-DIRECTION,STACK \?CCL41
|
|
ADD P?NORTH,1
|
|
LESS? P-DIRECTION,STACK \?CCL41
|
|
SUB P-DIRECTION,P?NORTH
|
|
SUB 0,STACK >WINDIR
|
|
GET DIR-NAMES,WINDIR >WRD
|
|
?CND25: PRINT CYOU
|
|
PRINTB P-PRSA-WORD
|
|
PRINTC SP
|
|
ICALL1 THE-PRINT
|
|
PRINTI "'s stem to the "
|
|
PRINTB WRD
|
|
ZERO? NODROOP /?CCL51
|
|
PRINTR ", but it springs upright again."
|
|
?CCL41: EQUAL? P-DIRECTION,P?UP,P?DOWN \?CND25
|
|
ICALL1 CTHE-PRINT
|
|
CALL1 PLAIN-ROOM?
|
|
ZERO? STACK /?CCL47
|
|
PRINTR " blows back and forth."
|
|
?CCL47: ZERO? NODROOP /?CND45
|
|
PRINTR " springs up again."
|
|
?CND45: PRINTI " droops back to the "
|
|
GET DIR-NAMES,WINDIR
|
|
PRINTB STACK
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL38: PRINT CANT
|
|
PRINTB P-PRSA-WORD
|
|
PRINTC SP
|
|
ICALL1 THE-PRINT
|
|
PRINTR " that way."
|
|
?CCL51: CALL1 PLAIN-ROOM?
|
|
ZERO? STACK /?CND49
|
|
PRINTR ", but the wind blows it wildly around."
|
|
?CND49: PRINT PERIOD
|
|
ICALL1 NEW-WINDIR?
|
|
RTRUE
|
|
?CCL24: EQUAL? PRSA,V?SPIN,V?ADJUST,V?WIND /?CTR53
|
|
EQUAL? PRSA,V?TOUCH \?CCL54
|
|
?CTR53: ICALL1 PRSO-FIDDLE
|
|
CALL1 NEXT-WINDIR?
|
|
ICALL2 NEW-WINDIR?,STACK
|
|
RTRUE
|
|
?CCL54: EQUAL? PRSA,V?EAT,V?TASTE \?CCL58
|
|
PRINTI "You hurt your mouth on a thorn. Ouch!"
|
|
CRLF
|
|
ICALL2 UPDATE-STAT,-2
|
|
RTRUE
|
|
?CCL58: EQUAL? PRSA,V?DRINK,V?DRINK-FROM \?CCL60
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL60: EQUAL? PRSA,V?SMELL \?CCL62
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR "'s scent is unusually delicate."
|
|
?CCL62: EQUAL? PRSA,V?WHAT \FALSE
|
|
ICALL1 REFER-TO-PACKAGE
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT PRSO-FIDDLE
|
|
PRINTI "You fiddle aimlessly with "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " for a while."
|
|
|
|
|
|
.FUNCT PICK-ROSE
|
|
EQUAL? PRSI,FALSE-VALUE,HANDS /?CND1
|
|
ICALL2 PRSI-FUMBLE,BUSH
|
|
RTRUE
|
|
?CND1: BOR NEW-DBOX,SHOWING-INV >NEW-DBOX
|
|
SET 'P-IT-OBJECT,ROSE
|
|
MOVE ROSE,PLAYER
|
|
FCLEAR ROSE,NODESC
|
|
FSET ROSE,TOUCHED
|
|
PRINTI "You pluck the flower off "
|
|
ICALL2 THE-PRINT,ROSES
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GUILD-HALL-F,X
|
|
EQUAL? PRSA,V?WALK-TO,V?ENTER,V?THROUGH /?CTR2
|
|
EQUAL? PRSA,V?STAND-UNDER \?CCL3
|
|
?CTR2: SET 'X,P?NORTH
|
|
EQUAL? HERE,IN-ACCARDI \?CND6
|
|
SET 'X,P?EAST
|
|
?CND6: ICALL2 DO-WALK,X
|
|
RTRUE
|
|
?CCL3: EQUAL? HERE,IN-ACCARDI \?CCL9
|
|
ICALL1 CANT-FROM-HERE
|
|
RTRUE
|
|
?CCL9: ZERO? NOW-PRSI? \FALSE
|
|
CALL2 NOUN-USED?,W?GATE
|
|
ZERO? STACK /?CND11
|
|
EQUAL? PRSA,V?EXAMINE \?CCL15
|
|
ICALL1 MENTION-REZROV
|
|
RTRUE
|
|
?CCL15: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CND11
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CND11: EQUAL? PRSA,V?EXAMINE \?CCL19
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is as vast and majestic as you always imagined it. "
|
|
ICALL1 MENTION-REZROV
|
|
RTRUE
|
|
?CCL19: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH,V?LOOK-BEHIND \?CCL21
|
|
PRINTR "The lobby beyond the open gate looks deserted."
|
|
?CCL21: EQUAL? PRSA,V?OPEN,V?OPEN-WITH \?CCL23
|
|
ICALL2 ITS-ALREADY,STR?518
|
|
RTRUE
|
|
?CCL23: EQUAL? PRSA,V?CLOSE \?CCL25
|
|
ICALL1 MENTION-REZROV
|
|
RTRUE
|
|
?CCL25: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \FALSE
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MENTION-REZROV
|
|
PRINTR "A permanent REZROV spell holds the front gate wide open."
|
|
|
|
|
|
.FUNCT THRIFF-F
|
|
EQUAL? PRSA,V?RESCUE \?CCL3
|
|
ICALL1 HOW?
|
|
RTRUE
|
|
?CCL3: EQUAL? HERE,IN-THRIFF \FALSE
|
|
CALL1 HERE-F
|
|
RSTACK
|
|
|
|
|
|
.FUNCT NYMPH-F
|
|
ICALL1 PCLEAR
|
|
FSET? GUILD-HALL,TOUCHED /?CND1
|
|
ICALL1 NONE-TO-BE-SEEN
|
|
RETURN 2
|
|
?CND1: ICALL2 GONE-NOW,NYMPH
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT DROP-ONION-FIRST?
|
|
IN? ONION,PLAYER \FALSE
|
|
PRINTI "You'll have to put down that "
|
|
PRINTD ONION
|
|
PRINT SFIRST
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ONION-F,X,LEN
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL7
|
|
PRINTI "This onion is about twice the diameter of a "
|
|
ICALL2 FROBOZZ,STR?815
|
|
PRINTI " beachball"
|
|
FSET? PRSO,MUNGED \?CND8
|
|
PRINTI ", and sports a large gash in its surface"
|
|
?CND8: PRINT PERIOD
|
|
FSET? ONION,TOUCHED /TRUE
|
|
PRINT TAB
|
|
ICALL1 COOK-MENTIONS-ONION
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?TAKE \?CCL13
|
|
ICALL1 PICK-UP-ONION
|
|
RTRUE
|
|
?CCL13: EQUAL? PRSA,V?RAISE \?CCL15
|
|
EQUAL? P-PRSA-WORD,W?RAISE,W?LIFT,W?HOIST /?CND16
|
|
EQUAL? P-PRSA-WORD,W?TAKE,W?HOLD,W?ELEVATE /?CND16
|
|
EQUAL? P-PRSA-WORD,W?PULL /?CND16
|
|
GETP HERE,P?UP
|
|
ZERO? STACK /?CND16
|
|
ICALL2 ROLL-ONION,P?UP
|
|
RTRUE
|
|
?CND16: ICALL1 PICK-UP-ONION
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?PUSH-TO \?CCL22
|
|
EQUAL? PRSI,PRSO \?CCL25
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL25: EQUAL? PRSI,INTDIR \?CCL27
|
|
ICALL2 ROLL-ONION,P-DIRECTION
|
|
RTRUE
|
|
?CCL27: CALL1 WATER?
|
|
ZERO? STACK /?CCL29
|
|
ICALL1 VANISH
|
|
ICALL2 ITALICIZE,STR?816
|
|
PRINTI "! "
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " disappears in "
|
|
ICALL1 THEI-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL29: FSET? PRSI,VEHICLE /?CND23
|
|
EQUAL? PRSI,FALSE-VALUE,LEFT,RIGHT /?CCL31
|
|
FSET? PRSI,PLACE \?CND23
|
|
?CCL31: ICALL1 HOW-TO-MOVE-ONION
|
|
RTRUE
|
|
?CND23: PRINTI "You'd have a hard time "
|
|
PRINTB P-PRSA-WORD
|
|
PRINTI "ing that "
|
|
PRINTD ONION
|
|
ICALL2 ON-IN,PRSI
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL22: EQUAL? PRSA,V?LOWER \?CCL35
|
|
EQUAL? P-PRSA-WORD,W?LOWER,W?HOLD /?CND36
|
|
GETP HERE,P?DOWN
|
|
ZERO? STACK /?CND36
|
|
ICALL2 ROLL-ONION,P?DOWN
|
|
RTRUE
|
|
?CND36: ICALL1 ONION-ROLLS
|
|
RTRUE
|
|
?CCL35: EQUAL? PRSA,V?PUSH-UP,V?PUSH-DOWN \?CCL40
|
|
EQUAL? PRSO,PRSI \?CCL43
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL43: CALL GLOBAL-IN?,HERE,PRSI
|
|
ZERO? STACK /?CND41
|
|
EQUAL? PRSA,V?PUSH-UP \?CCL46
|
|
GETP HERE,P?UP
|
|
ZERO? STACK /?CCL46
|
|
ICALL2 ROLL-ONION,P?UP
|
|
RTRUE
|
|
?CCL46: EQUAL? PRSA,V?PUSH-DOWN \?CND41
|
|
GETP HERE,P?DOWN
|
|
ZERO? STACK /?CND41
|
|
ICALL2 ROLL-ONION,P?DOWN
|
|
RTRUE
|
|
?CND41: ICALL2 YOUD-HAVE-TO,STR?817
|
|
RTRUE
|
|
?CCL40: EQUAL? PRSA,V?BUY \?CCL53
|
|
FSET? PRSO,SEEN \?CCL56
|
|
PRINTR "You already did that."
|
|
?CCL56: CALL2 VISIBLE?,PRSO
|
|
ZERO? STACK /FALSE
|
|
ICALL PERFORM,V?GIVE,PRSI,COOK
|
|
RTRUE
|
|
?CCL53: EQUAL? PRSA,V?PUSH,V?MOVE,V?ADJUST /?CTR58
|
|
EQUAL? PRSA,V?SPIN,V?KICK \?CCL59
|
|
?CTR58: ICALL1 ONION-ROLLS
|
|
RTRUE
|
|
?CCL59: EQUAL? PRSA,V?SIT,V?STAND-ON,V?LIE-DOWN /?CTR62
|
|
EQUAL? PRSA,V?CLIMB-UP,V?CLIMB-ON,V?CLIMB-OVER \?CCL63
|
|
?CTR62: PRINTR "You slide off the smooth, oniony surface."
|
|
?CCL63: EQUAL? PRSA,V?CUT,V?HIT,V?MUNG /?CTR66
|
|
EQUAL? PRSA,V?PEEL,V?KICK \FALSE
|
|
?CTR66: EQUAL? PRSI,FALSE-VALUE,HANDS,FEET \?CCL72
|
|
PRINTR "Ouch! It's tough as leather."
|
|
?CCL72: EQUAL? PRSI,SWORD,AXE,DAGGER /?CCL73
|
|
EQUAL? PRSI,ARROW \?CND70
|
|
?CCL73: GET NOPEELS,0 >LEN
|
|
?PRG76: GET NOPEELS,LEN >X
|
|
CALL2 VISIBLE?,X
|
|
ZERO? STACK /?CND78
|
|
PRINTI """Not in front of "
|
|
ICALL2 ITALICIZE,STR?818
|
|
PRINTI " you don't,"" growls "
|
|
ICALL2 THE-PRINT,X
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND78: DLESS? 'LEN,1 \?PRG76
|
|
FSET? PRSO,MUNGED \?CCL84
|
|
ZERO? ONION-TIMER \?CND85
|
|
ICALL2 QUEUE,I-ONION
|
|
?CND85: ICALL1 CTHEI-PRINT
|
|
PRINTI " slightly widens the slash in "
|
|
JUMP ?CND82
|
|
?CCL84: FSET PRSO,MUNGED
|
|
ICALL2 QUEUE,I-ONION
|
|
PRINTI "Your two-week stint as a short-order cook in Borphee stands you in good stead as you slash "
|
|
?CND82: SET 'ONION-TIMER,4
|
|
ICALL1 THE-PRINT
|
|
PRINTR "'s surface."
|
|
?CND70: PRINTI "Thump! "
|
|
ICALL2 YOUR-OBJ,PRSI
|
|
PRINTI " has little effect on "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ROLL-ONION,DIR,X,OHERE
|
|
CALL SPARK?,FALSE-VALUE,ONION
|
|
ZERO? STACK /?CND1
|
|
PRINT TAB
|
|
?CND1: EQUAL? HERE,NE-WALL \?PRD7
|
|
EQUAL? DIR,P?SE,P?IN \?PRD7
|
|
FSET? NE-WALL,OPENED /?CTR4
|
|
?PRD7: EQUAL? HERE,SE-WALL \?CCL5
|
|
EQUAL? DIR,P?SW,P?IN \?CCL5
|
|
FSET? SE-WALL,OPENED \?CCL5
|
|
?CTR4: ICALL2 CTHE-PRINT,ONION
|
|
PRINTI " won't fit through the "
|
|
PRINTB W?OPENING
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL5: EQUAL? HERE,IN-KITCHEN \?CND3
|
|
EQUAL? DIR,P?DOWN,P?IN \?CCL17
|
|
PRINT XTHE
|
|
FSET? CELLAR-DOOR,MUNGED \?CCL20
|
|
PRINTI "hole in the wall"
|
|
JUMP ?CND18
|
|
?CCL20: PRINTD CELLAR-DOOR
|
|
?CND18: PRINTI " isn't wide enough to fit "
|
|
ICALL2 THE-PRINT,ONION
|
|
FSET? CELLAR-DOOR,OPENED /?CND21
|
|
PRINTI ". Besides, it's closed"
|
|
?CND21: PRINT PERIOD
|
|
RTRUE
|
|
?CCL17: EQUAL? DIR,P?EAST,P?OUT \?CND3
|
|
FSET? ONION,SEEN /?CND3
|
|
PRINTI "As you roll "
|
|
ICALL2 THE-PRINT,ONION
|
|
PRINTI " towards the exit, "
|
|
ICALL2 THE-PRINT,COOK
|
|
PRINTI " jumps into your path. """
|
|
FSET? ONION,TOUCHED /?CCL28
|
|
PRINTI "This ain't no free soup kitchen"
|
|
PRINT STR?819
|
|
PRINT TAB
|
|
ICALL1 COOK-MENTIONS-ONION
|
|
RTRUE
|
|
?CCL28: FSET? BOTTLE,IDENTIFIED /?CCL30
|
|
PRINTI "Leave it alone"
|
|
JUMP ?CND26
|
|
?CCL30: FSET COOK,SEEN
|
|
PRINTI "No bottle, no onion"
|
|
?CND26: PRINT STR?819
|
|
RTRUE
|
|
?CND3: SET 'OHERE,HERE
|
|
ICALL2 DO-WALK,DIR
|
|
EQUAL? HERE,OHERE,DEATH /FALSE
|
|
MOVE ONION,HERE
|
|
SET 'P-IT-OBJECT,ONION
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
PRINT TAB
|
|
ICALL2 CTHE-PRINT,ONION
|
|
PRINTI " rolls to a stop."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT ONION-ROLLS
|
|
ICALL2 CTHE-PRINT,ONION
|
|
PRINTI " rolls freely across the "
|
|
FSET? HERE,INDOORS \?CCL3
|
|
PRINTD FLOOR
|
|
JUMP ?CND1
|
|
?CCL3: PRINTD GROUND
|
|
?CND1: PRINTI ". You could probably push it in any "
|
|
PRINTD INTDIR
|
|
PRINTR " you want."
|
|
|
|
|
|
.FUNCT PICK-UP-ONION,H,OBJ
|
|
FIRST? PLAYER >OBJ \?CND1
|
|
?PRG3: FSET? OBJ,NODESC /?CND5
|
|
FSET? OBJ,WORN /?CND5
|
|
FSET? OBJ,TAKEABLE \?CND5
|
|
PRINTI "You'd have to drop everything to get your arms around that "
|
|
PRINTD PRSO
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND5: NEXT? OBJ >OBJ /?PRG3
|
|
?CND1: PRINT STR?777
|
|
GET STATS,STRENGTH
|
|
LESS? STACK,25 \?CND11
|
|
SET 'H,TRUE-VALUE
|
|
PRINTI "try to "
|
|
?CND11: PRINTI "heft "
|
|
ICALL1 THE-PRINT
|
|
PRINTI ". But it's "
|
|
ZERO? H \?CCL15
|
|
PRINTI "too awkward for you"
|
|
JUMP ?CND13
|
|
?CCL15: PRINTI "beyond your strength"
|
|
?CND13: PRINTI " to carry it"
|
|
PRINT PTAB
|
|
ICALL2 ITALICIZE,STR?820
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HOW-TO-MOVE-ONION
|
|
ICALL1 NYMPH-APPEARS
|
|
PRINTI "To move "
|
|
ICALL2 THE-PRINT,ONION
|
|
PRINTI ", just indicate a "
|
|
PRINTD INTDIR
|
|
PRINTI "; for example, ROLL THE GIANT ONION TO THE NORTH or PUSH ONION WEST"
|
|
PRINT STR?515
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MOSS-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?TOUCH-TO \FALSE
|
|
PRINT STR?821
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL7
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " is sickly gray, glistening with moisture."
|
|
?CCL7: EQUAL? PRSA,V?EAT,V?TASTE \?CCL9
|
|
PRINT CANT
|
|
PRINTR "eat it off the wall."
|
|
?CCL9: EQUAL? PRSA,V?DRINK,V?DRINK-FROM \?CCL11
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL11: EQUAL? PRSA,V?SMELL \?CCL13
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " smells like a diet-control capsule."
|
|
?CCL13: EQUAL? PRSA,V?SQUEEZE \?CCL15
|
|
ZERO? LIT? \?CCL18
|
|
ICALL1 TOO-DARK
|
|
RETURN 2
|
|
?CCL18: FSET? PRSO,TOUCHED /?CND16
|
|
FSET PRSO,TOUCHED
|
|
SET 'THIS-MOSS,PRSO
|
|
INC 'MOSSES
|
|
ICALL2 QUEUE,I-MOSS
|
|
?CND16: PRINT STR?821
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?TOUCH,V?HIT,V?PUSH /?CTR22
|
|
EQUAL? PRSA,V?REACH-IN,V?KICK \?CCL23
|
|
?CTR22: EQUAL? PRSA,V?KICK /?CND26
|
|
EQUAL? PRSI,FALSE-VALUE,HANDS \?CND26
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " feels moist and spongy."
|
|
?CND26: PRINT STR?821
|
|
RTRUE
|
|
?CCL23: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
PRINTI "Despite your best efforts, "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " stays firmly stuck on the wall."
|
|
|
|
|
|
.FUNCT UNICORN-F,CONTEXT,X
|
|
ZERO? CONTEXT \FALSE
|
|
CALL2 NOUN-USED?,W?HORN
|
|
ZERO? STACK /?CND1
|
|
ZERO? NOW-PRSI? \?CND1
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL8
|
|
PRINTR "Her horn is slender, the color of fine ivory, with a deep spiral groove."
|
|
?CCL8: EQUAL? PRSA,V?KISS \?CND1
|
|
CALL2 SPARK?,FALSE-VALUE
|
|
ZERO? STACK \TRUE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " backs away"
|
|
FSET? PRSO,TOUCHED /?CND12
|
|
FSET PRSO,TOUCHED
|
|
PRINTI "; but not before you touch her horn with your lips."
|
|
CRLF
|
|
ICALL UPDATE-STAT,15,LUCK,TRUE-VALUE
|
|
RTRUE
|
|
?CND12: PRINT PERIOD
|
|
RTRUE
|
|
?CND1: ZERO? NOW-PRSI? /?CCL16
|
|
EQUAL? PRSA,V?THROW,V?THROW-OVER \?CCL19
|
|
ICALL2 HARMLESS,PRSI
|
|
RTRUE
|
|
?CCL19: EQUAL? PRSA,V?GIVE,V?FEED \?CCL21
|
|
ICALL PERFORM,V?PUT,PRSO,STALL
|
|
RTRUE
|
|
?CCL21: EQUAL? PRSA,V?SHOW \?CCL23
|
|
EQUAL? PRSO,CHEST \?CCL23
|
|
FSET PRSI,SEEN
|
|
ICALL1 CTHEI-PRINT
|
|
PRINTR " pricks up her ears."
|
|
?CCL23: INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
FSET PRSI,SEEN
|
|
MOVE PRSO,STALL
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
ICALL1 CTHEI-PRINT
|
|
PRINTI " shakes off "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " and gives you a black look."
|
|
?CCL16: EQUAL? PRSA,V?RELEASE,V?RESCUE \?CCL28
|
|
EQUAL? PRSI,FALSE-VALUE,HANDS \?CCL28
|
|
ICALL PERFORM,V?OPEN,STALL
|
|
RTRUE
|
|
?CCL28: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL32
|
|
PRINTR "She's just a pony."
|
|
?CCL32: INTBL? PRSA,TALKVERBS,NTVERBS >X \?CCL34
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is too melancholy to respond."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL34: EQUAL? PRSA,V?WHAT,V?WHO \?CCL38
|
|
ICALL1 REFER-TO-PACKAGE
|
|
RETURN 2
|
|
?CCL38: INTBL? PRSA,HURTVERBS,NHVERBS >X \?CCL42
|
|
ICALL1 HARMLESS
|
|
RTRUE
|
|
?CCL42: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL2 CTHE-PRINT,UNICORN
|
|
PRINTR " backs shyly away."
|
|
|
|
|
|
.FUNCT STALL-F,CONTEXT,OBJ,X
|
|
ZERO? CONTEXT /?CCL3
|
|
SET 'OBJ,PRSO
|
|
ZERO? NOW-PRSI? /?CND4
|
|
SET 'OBJ,PRSI
|
|
?CND4: EQUAL? CONTEXT,M-BEG \?CCL8
|
|
CALL CANT-REACH-WHILE-IN?,OBJ,STALL
|
|
RSTACK
|
|
?CCL8: EQUAL? CONTEXT,M-CONT \FALSE
|
|
IN? WINNER,STALL /FALSE
|
|
EQUAL? OBJ,FALSE-VALUE,UNICORN /FALSE
|
|
CALL GLOBAL-IN?,HERE,OBJ
|
|
ZERO? STACK \FALSE
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL2 CANT-REACH,OBJ
|
|
PRINTI " while you're outside "
|
|
ICALL2 THE-PRINT,STALL
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? /?CCL19
|
|
EQUAL? PRSA,V?PUT,V?THROW,V?PUT-BEHIND /?CCL21
|
|
EQUAL? PRSA,V?EMPTY-INTO \FALSE
|
|
?CCL21: FSET? PRSI,OPENED /FALSE
|
|
IN? PLAYER,PRSI /FALSE
|
|
MOVE PRSO,PRSI
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
PRINTI "You drop "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " over the side of "
|
|
ICALL1 THEI-PRINT
|
|
EQUAL? PRSO,CHEST \?CND28
|
|
PRINTI ", where it falls with a heavy "
|
|
ICALL2 ITALICIZE,STR?822
|
|
PRINT PERIOD
|
|
IN? UNICORN,PRSI \TRUE
|
|
ICALL1 UNICORN-OPENS-CHEST
|
|
RTRUE
|
|
?CND28: PRINT PERIOD
|
|
RTRUE
|
|
?CCL19: EQUAL? PRSA,V?EXAMINE \?CCL33
|
|
CALL2 NOUN-USED?,W?STALL
|
|
ZERO? STACK \?CCL36
|
|
PRINTI "The stall's "
|
|
JUMP ?CND34
|
|
?CCL36: ICALL1 CTHE-PRINT
|
|
PRINTI "'s sides are tall enough to discourage escape. Its "
|
|
?CND34: PRINTI "gate is "
|
|
FSET? PRSO,MUNGED \?CCL39
|
|
PRINTR "utterly demolished."
|
|
?CCL39: FSET? PRSO,OPENED \?CND37
|
|
PRINTR "wide open."
|
|
?CND37: PRINTB W?CLOSED
|
|
FSET? PRSO,LOCKED \?CND41
|
|
PRINTI " and locked"
|
|
?CND41: PRINT PERIOD
|
|
RTRUE
|
|
?CCL33: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH,V?LOOK-BEHIND \?CCL44
|
|
IN? PLAYER,PRSO \?CCL47
|
|
ICALL1 ASIDE-FROM
|
|
JUMP ?CND45
|
|
?CCL47: IN? UNICORN,PRSO \?CCL49
|
|
ICALL2 ASIDE-FROM,UNICORN
|
|
JUMP ?CND45
|
|
?CCL49: PRINT YOU-SEE
|
|
?CND45: ICALL1 CONTENTS
|
|
SET 'P-IT-OBJECT,PRSO
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL44: EQUAL? PRSA,V?REACH-IN \?CCL51
|
|
IN? PLAYER,PRSO /?CCL51
|
|
PRINT CANT
|
|
PRINTR "reach very far."
|
|
?CCL51: EQUAL? PRSA,V?CLIMB-ON,V?CLIMB-UP,V?CLIMB-OVER /?CTR54
|
|
EQUAL? PRSA,V?SIT,V?RIDE,V?STAND-ON /?CTR54
|
|
EQUAL? PRSA,V?LIE-DOWN \?CCL55
|
|
?CTR54: PRINTI "The sides of "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " are too tall."
|
|
?CCL55: EQUAL? PRSA,V?CLOSE \?CCL60
|
|
FSET? PRSO,MUNGED \?CCL60
|
|
ICALL2 ITS-MUNGED,W?GATE
|
|
RTRUE
|
|
?CCL60: EQUAL? PRSA,V?ENTER,V?THROUGH,V?WALK-TO \?CCL64
|
|
IN? PLAYER,PRSO \?CCL67
|
|
ICALL1 ALREADY-IN
|
|
RTRUE
|
|
?CCL67: FSET? PRSO,OPENED /FALSE
|
|
ICALL1 ITS-CLOSED
|
|
RTRUE
|
|
?CCL64: EQUAL? PRSA,V?EXIT,V?LEAVE,V?ESCAPE \?CCL70
|
|
IN? PLAYER,PRSO /?CCL73
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
?CCL73: FSET? PRSO,OPENED /FALSE
|
|
ICALL1 ITS-CLOSED
|
|
RTRUE
|
|
?CCL70: EQUAL? PRSA,V?OPEN,V?OPEN-WITH \?CCL76
|
|
FSET? PRSO,MUNGED \?CCL79
|
|
ICALL2 ITS-MUNGED,W?GATE
|
|
RTRUE
|
|
?CCL79: FSET? PRSO,OPENED /FALSE
|
|
ZERO? PRSI /FALSE
|
|
EQUAL? PRSA,V?OPEN-WITH \FALSE
|
|
ICALL1 MUNG-STALL
|
|
RTRUE
|
|
?CCL76: EQUAL? PRSA,V?KICK,V?HIT,V?MUNG /?CTR85
|
|
EQUAL? PRSA,V?LOOSEN,V?PUSH,V?SHAKE /?CTR85
|
|
EQUAL? PRSA,V?CUT \FALSE
|
|
?CTR85: FSET? PRSO,MUNGED \?CCL92
|
|
ICALL2 ITS-ALREADY,STR?745
|
|
RTRUE
|
|
?CCL92: FSET? PRSO,OPENED \?CND90
|
|
ICALL2 ITS-ALREADY,STR?823
|
|
RTRUE
|
|
?CND90: EQUAL? PRSA,V?KICK \?CND94
|
|
SET 'PRSI,FEET
|
|
?CND94: ICALL1 MUNG-STALL
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MUNG-STALL,OBJ,TBL
|
|
ASSIGNED? 'OBJ /?CND1
|
|
SET 'OBJ,PRSI
|
|
?CND1: ICALL2 ITALICIZE,STR?746
|
|
PRINTI "! "
|
|
ICALL2 YOUR-OBJ,OBJ
|
|
PRINTI " deals the gate a mighty blow"
|
|
GET STATS,STRENGTH
|
|
LESS? STACK,50 \?CND3
|
|
ICALL1 NOTE-NOISE
|
|
IN? UNICORN,STALL \TRUE
|
|
FSET UNICORN,SEEN
|
|
PRINT TAB
|
|
ICALL2 CTHE-PRINT,UNICORN
|
|
PRINTR " slowly shakes her head."
|
|
?CND3: BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
FSET STALL,OPENED
|
|
FCLEAR STALL,LOCKED
|
|
FSET STALL,MUNGED
|
|
FCLEAR UNICORN,SEEN
|
|
PRINTR ", shattering it into splinters."
|
|
|
|
|
|
.FUNCT UNICORN-OPENS-CHEST
|
|
PRINT TAB
|
|
ICALL2 CTHE-PRINT,UNICORN
|
|
PRINTI " cranes her neck towards "
|
|
ICALL2 THE-PRINT,CHEST
|
|
PRINTI " and snuffles the lid curiously. She "
|
|
ICALL1 HAPPY-UNICORN
|
|
PRINTI "prods the lid of the chest with her nose."
|
|
CRLF
|
|
PRINT TAB
|
|
ICALL2 DESCRIBE-GATE,UNICORN
|
|
ICALL UPDATE-STAT,15,COMPASSION,TRUE-VALUE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT HAPPY-UNICORN
|
|
ICALL1 EXIT-UNICORN
|
|
PRINTI "whinnies with joy and nuzzles your face with shy gratitude. Then, eyes bright with anticipation, the lovely creature "
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BYE-UNICORN
|
|
ICALL1 HAPPY-UNICORN
|
|
PRINTI "shakes her mane and races out of "
|
|
ICALL2 THE-PRINT,STABLE
|
|
PRINTI ", where her hoofbeats quickly fade into the distance."
|
|
CRLF
|
|
ICALL UPDATE-STAT,15,COMPASSION,TRUE-VALUE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT EXIT-UNICORN
|
|
ICALL2 VANISH,UNICORN
|
|
ICALL2 DEQUEUE,I-UNICORN
|
|
RFALSE
|
|
|
|
|
|
.FUNCT STABLE-F,X
|
|
EQUAL? HERE,IN-STABLE \?CCL3
|
|
CALL1 HERE-F
|
|
RSTACK
|
|
?CCL3: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \FALSE
|
|
ICALL2 DO-WALK,P?NORTH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT STORM-F,X
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X /?CTR2
|
|
EQUAL? PRSA,V?LOOK-BEHIND \?CCL3
|
|
?CTR2: ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " boil with dark energy."
|
|
|
|
|
|
.FUNCT TWISTER-F,CONTEXT,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
PRINTI "A roaring funnel of wind is bearing down upon the farm!"
|
|
RTRUE
|
|
?CCL3: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL7
|
|
PRINTI "Luckily, "
|
|
ICALL2 THE-PRINT,TWISTER
|
|
PRINTR " isn't close enough."
|
|
?CCL7: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE \?CCL11
|
|
PRINTI "It looks just like the one in "
|
|
ICALL2 ITALICIZE,STR?824
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL11: EQUAL? PRSA,V?LISTEN \FALSE
|
|
PRINT YOU-HEAR
|
|
ICALL2 PRINTA,SOUND
|
|
PRINTR " like a raging locomotive amid the thunder."
|
|
|
|
|
|
.FUNCT MCASE-F,CONTEXT
|
|
CALL HANDLE-CASE?,MCASE,ON-MCASE,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT BCASE-F,CONTEXT
|
|
CALL HANDLE-CASE?,BCASE,ON-BCASE,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT WCASE-F,CONTEXT
|
|
CALL HANDLE-CASE?,WCASE,ON-WCASE,CONTEXT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT HANDLE-CASE?,OBJ,TOP,CONTEXT,ANY,ANYTOP,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-CONT \FALSE
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL8
|
|
ICALL2 CANT-REACH-IN,OBJ
|
|
RTRUE
|
|
?CCL8: EQUAL? PRSA,V?SMELL,V?TASTE,V?EAT \FALSE
|
|
ICALL YOUD-HAVE-TO,STR?518,OBJ
|
|
RTRUE
|
|
?CCL3: CALL NOUN-USED?,W?SHELVES,W?SHELF
|
|
ZERO? STACK /?CND1
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL13
|
|
ICALL2 CANT-REACH-IN,OBJ
|
|
RTRUE
|
|
?CCL13: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?LOOK-ON,V?EXAMINE \?CND1
|
|
ICALL2 LOOK-IN-CASE,OBJ
|
|
RTRUE
|
|
?CND1: CALL2 SEE-ANYTHING-IN?,TOP >ANYTOP
|
|
ZERO? NOW-PRSI? /?CCL19
|
|
EQUAL? PRSA,V?PUT,V?PUT-UNDER,V?PUT-BEHIND /?CTR21
|
|
EQUAL? PRSA,V?EMPTY-INTO \?CCL22
|
|
?CTR21: ICALL2 ITS-CLOSED,PRSI
|
|
RTRUE
|
|
?CCL22: EQUAL? PRSA,V?PUT-ON \?CCL26
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
MOVE PRSO,TOP
|
|
PRINTI "You put "
|
|
ICALL1 THE-PRINT
|
|
PRINT SON
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINT PERIOD
|
|
FSET? PRSO,IDENTIFIED /TRUE
|
|
PRINT TAB
|
|
ICALL2 ASK-OWOMAN-ABOUT,PRSO
|
|
RTRUE
|
|
?CCL26: EQUAL? PRSA,V?THROW,V?THROW-OVER \FALSE
|
|
ICALL2 MUNG-CASE-WITH,PRSO
|
|
RTRUE
|
|
?CCL19: EQUAL? PRSA,V?EXAMINE \?CCL31
|
|
PRINTI "The interior of the glass "
|
|
PRINTD PRSO
|
|
PRINTI " is lined with "
|
|
CALL1 SEE-ANYTHING-IN?
|
|
ZERO? STACK /?CCL34
|
|
INC 'ANY
|
|
PRINTI "shelves, upon which you see "
|
|
ICALL1 CONTENTS
|
|
SET 'P-IT-OBJECT,PRSO
|
|
JUMP ?CND32
|
|
?CCL34: PRINTI "empty shelves"
|
|
?CND32: ZERO? ANYTOP /?CND35
|
|
PRINTI ". "
|
|
ZERO? ANY /?CCL39
|
|
PRINTI "You also"
|
|
JUMP ?CND37
|
|
?CCL39: PRINTI "On top of the case you"
|
|
?CND37: PRINTI " see "
|
|
ICALL2 CONTENTS,TOP
|
|
SET 'P-IT-OBJECT,PRSO
|
|
ZERO? ANY /?CND35
|
|
PRINTI " on top of the case"
|
|
?CND35: PRINT PERIOD
|
|
RTRUE
|
|
?CCL31: EQUAL? PRSA,V?LOOK-ON \?CCL43
|
|
PRINT YOU-SEE
|
|
ICALL2 CONTENTS,TOP
|
|
SET 'P-IT-OBJECT,PRSO
|
|
PRINT SON
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL43: EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE,V?LOOK-UNDER /?CTR44
|
|
EQUAL? PRSA,V?LOOK-BEHIND \?CCL45
|
|
?CTR44: ICALL2 LOOK-IN-CASE,PRSO
|
|
RTRUE
|
|
?CCL45: EQUAL? PRSA,V?OPEN,V?REACH-IN,V?EMPTY \?CCL49
|
|
ZERO? ANYTOP /?CND50
|
|
EQUAL? PRSA,V?EMPTY \?CND50
|
|
SET 'PRSO,TOP
|
|
ICALL1 V-EMPTY
|
|
SET 'PRSO,OBJ
|
|
RTRUE
|
|
?CND50: PRINT CTHELADY
|
|
PRINTI " slaps "
|
|
PRINTD HANDS
|
|
PRINTR " away. ""Ask."""
|
|
?CCL49: EQUAL? PRSA,V?HIT,V?MUNG,V?OPEN-WITH \?CCL55
|
|
ICALL2 MUNG-CASE-WITH,PRSI
|
|
RTRUE
|
|
?CCL55: EQUAL? PRSA,V?KICK \?CCL57
|
|
ICALL2 MUNG-CASE-WITH,FEET
|
|
RTRUE
|
|
?CCL57: EQUAL? PRSA,V?CLOSE \?CCL59
|
|
ICALL2 ITS-ALREADY,STR?531
|
|
RTRUE
|
|
?CCL59: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL61
|
|
ICALL2 MUNG-CASE-WITH,HANDS
|
|
RTRUE
|
|
?CCL61: INTBL? PRSA,X-VERBS,CLIMB-DOWN-VERBS >X \FALSE
|
|
ICALL1 NOT-ON
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LOOK-IN-CASE,OBJ
|
|
CALL2 SEE-ANYTHING-IN?,OBJ
|
|
ZERO? STACK \?CND1
|
|
PRINTI "The shelves in "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTR " are empty."
|
|
?CND1: PRINTI "Peering under the glass"
|
|
PRINT LYOU-SEE
|
|
ICALL2 CONTENTS,OBJ
|
|
SET 'P-IT-OBJECT,OBJ
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CANT-REACH-IN,OBJ
|
|
PRINT CANT
|
|
PRINTI "reach into "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MUNG-CASE-WITH,OBJ
|
|
FSET OWOMAN,SEEN
|
|
EQUAL? OBJ,HANDS,FEET \?CCL3
|
|
PRINTI """Stop that"
|
|
JUMP ?CND1
|
|
?CCL3: PRINTI """Put th"
|
|
FSET? OBJ,PLURAL \?CCL6
|
|
PRINTI "ose "
|
|
JUMP ?CND4
|
|
?CCL6: PRINTI "at "
|
|
?CND4: ICALL2 DPRINT,OBJ
|
|
PRINTI " down"
|
|
?CND1: PRINTI ","" demands "
|
|
ICALL2 THE-PRINT,OWOMAN
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT PLATE-F,X
|
|
CALL2 HANDLE-ARMOR?,PLATE
|
|
ZERO? STACK \TRUE
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL7
|
|
PRINTI "The bulky "
|
|
ICALL2 DPRINT,PRSO
|
|
PRINTR " looks as if it could turn aside any blade you could wield."
|
|
?CCL7: EQUAL? PRSA,V?TOUCH,V?SQUEEZE \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " feels as sturdy as it looks."
|
|
|
|
|
|
.FUNCT CHAIN-F,X
|
|
CALL2 HANDLE-ARMOR?,CHAIN
|
|
ZERO? STACK \TRUE
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL7
|
|
PRINTR "The intricate silver mesh sparkles as you gaze upon it."
|
|
?CCL7: EQUAL? PRSA,V?TOUCH,V?SQUEEZE \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " feels remarkably light and supple."
|
|
|
|
|
|
.FUNCT SCALE-F,X
|
|
CALL2 HANDLE-ARMOR?,SCALE
|
|
ZERO? STACK \TRUE
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL7
|
|
ICALL1 LEATHER
|
|
PRINTR "overcoat, with metal scales sewn on the outside."
|
|
?CCL7: EQUAL? PRSA,V?SMELL \?CCL9
|
|
ICALL1 OILY
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?TOUCH,V?SQUEEZE \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " feels sturdy enough."
|
|
|
|
|
|
.FUNCT TUNIC-F,X
|
|
CALL2 HANDLE-ARMOR?,TUNIC
|
|
ZERO? STACK \TRUE
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL7
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " wouldn't stop a hellhound, or even an arrow. But it looks comfortable."
|
|
?CCL7: EQUAL? PRSA,V?SMELL \?CCL9
|
|
ICALL1 OILY
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?TOUCH,V?SQUEEZE \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " feels soft and supple."
|
|
|
|
|
|
.FUNCT OILY
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " smells rich and oily."
|
|
|
|
|
|
.FUNCT CLOAK-F,W,EFX,X
|
|
GETP CLOAK,P?EFFECT >EFX
|
|
IN? CLOAK,PLAYER \?CND1
|
|
FSET? CLOAK,WORN \?CND1
|
|
INC 'W
|
|
?CND1: CALL2 HANDLE-ARMOR?,CLOAK
|
|
ZERO? STACK \TRUE
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?READ \?CCL11
|
|
ICALL1 O-WEARING
|
|
PRINTR " is so utterly unremarkable in color (dull gray), style (utilitarian) and cut (shapeless), that your eyes feel compelled to look elsewhere."
|
|
?CCL11: EQUAL? PRSA,V?WEAR,V?USE \?CCL13
|
|
ZERO? W \FALSE
|
|
IN? PRSO,PLAYER /?CND14
|
|
ICALL2 YOUD-HAVE-TO,STR?817
|
|
RTRUE
|
|
?CND14: FSET PRSO,WORN
|
|
PRINTI "You slip "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " over "
|
|
ICALL2 DO-CLOAK,EFX
|
|
RTRUE
|
|
?CCL13: EQUAL? PRSA,V?TAKE-OFF \?CCL19
|
|
ZERO? W /FALSE
|
|
FCLEAR PRSO,WORN
|
|
PRINTI "You slip "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " off "
|
|
SUB 0,EFX
|
|
ICALL2 DO-CLOAK,STACK
|
|
RTRUE
|
|
?CCL19: EQUAL? PRSA,V?TOUCH,V?SQUEEZE \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " feels surprisingly soft and lightweight."
|
|
|
|
|
|
.FUNCT O-WEARING
|
|
ICALL1 CTHE-PRINT
|
|
FSET? PRSO,WORN \FALSE
|
|
PRINT STR?825
|
|
RFALSE
|
|
|
|
|
|
.FUNCT DO-CLOAK,EFX
|
|
PRINTI "your shoulders."
|
|
CRLF
|
|
BOR NEW-DBOX,SHOWING-INV >NEW-DBOX
|
|
ICALL UPDATE-STAT,EFX,ARMOR-CLASS
|
|
RFALSE
|
|
|
|
|
|
.FUNCT HANDLE-ARMOR?,OBJ,W,C,EFX,X
|
|
ZERO? NOW-PRSI? /?CND1
|
|
EQUAL? PRSA,V?PUT,V?EMPTY-INTO,V?PUT-UNDER /?CTR4
|
|
EQUAL? PRSA,V?PUT-BEHIND \?CCL5
|
|
?CTR4: ICALL1 CTHEI-PRINT
|
|
PRINTI " has no pockets in which to "
|
|
PRINTB P-PRSA-WORD
|
|
PRINTR " things."
|
|
?CCL5: EQUAL? PRSA,V?PUT-ON,V?THROW,V?THROW-OVER \FALSE
|
|
ICALL1 NO-GOOD-SURFACE
|
|
RTRUE
|
|
?CND1: IN? OBJ,PLAYER \?CND9
|
|
FSET? OBJ,WORN \?CND9
|
|
INC 'W
|
|
?CND9: EQUAL? PRSA,V?REACH-IN,V?EMPTY,V?LOOK-INSIDE /?CTR14
|
|
EQUAL? PRSA,V?SEARCH,V?LOOK-UNDER,V?LOOK-BEHIND /?CTR14
|
|
EQUAL? PRSA,V?SHAKE \?CCL15
|
|
?CTR14: ZERO? W /?CCL21
|
|
PRINTI "Except for "
|
|
PRINTD ME
|
|
PRINTI ", the "
|
|
JUMP ?CND19
|
|
?CCL21: PRINT XTHE
|
|
?CND19: ICALL2 DPRINT,PRSO
|
|
PRINTR " is empty."
|
|
?CCL15: EQUAL? PRSA,V?OPEN,V?OPEN-WITH,V?CLOSE \?CCL23
|
|
PRINT DONT
|
|
PRINTI "need to do that with this "
|
|
PRINTD PRSO
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL23: EQUAL? OBJ,CLOAK /FALSE
|
|
GETP OBJ,P?EFFECT >EFX
|
|
IN? CLOAK,PLAYER \?CND25
|
|
FSET? CLOAK,WORN \?CND25
|
|
INC 'C
|
|
?CND25: EQUAL? PRSA,V?WEAR,V?USE \?CCL31
|
|
ZERO? W \FALSE
|
|
FIRST? PLAYER >X \?CND32
|
|
?PRG36: EQUAL? X,CLOAK,HELM /?CND38
|
|
FSET? X,CLOTHING \?CND38
|
|
FSET? X,WORN \?CND38
|
|
GETP X,P?EFFECT
|
|
ZERO? STACK \?CND32
|
|
?CND38: NEXT? X >X /?PRG36
|
|
?CND32: ZERO? X /?CCL48
|
|
ICALL YOUD-HAVE-TO,STR?520,X
|
|
RTRUE
|
|
?CCL48: IN? OBJ,PLAYER /?CND46
|
|
ICALL2 YOUD-HAVE-TO,STR?817
|
|
RTRUE
|
|
?CND46: FSET PRSO,WORN
|
|
PRINT CYOU
|
|
ZERO? C /?CND50
|
|
PRINTI "slip off your "
|
|
ICALL2 DPRINT,CLOAK
|
|
PRINTI ", "
|
|
?CND50: PRINTI "put on "
|
|
ICALL1 THE-PRINT
|
|
ZERO? C /?CND52
|
|
PRINTI " and throw the cloak back over it"
|
|
?CND52: ICALL2 DO-WEAR,EFX
|
|
RTRUE
|
|
?CCL31: EQUAL? PRSA,V?TAKE-OFF \FALSE
|
|
ZERO? W /FALSE
|
|
FCLEAR PRSO,WORN
|
|
PRINT CYOU
|
|
ZERO? C /?CND58
|
|
PRINTI "remove your "
|
|
ICALL2 DPRINT,CLOAK
|
|
PRINTI ", "
|
|
?CND58: PRINTI "take off "
|
|
ICALL1 THE-PRINT
|
|
ZERO? C /?CND60
|
|
PRINTI " and slip the cloak back on"
|
|
?CND60: SUB 0,EFX
|
|
ICALL2 DO-WEAR,STACK
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DO-WEAR,EFX
|
|
PRINT PERIOD
|
|
BOR NEW-DBOX,SHOWING-INV >NEW-DBOX
|
|
ICALL UPDATE-STAT,EFX,ARMOR-CLASS
|
|
RFALSE
|
|
|
|
|
|
.FUNCT QUICKSAND-F,CONTEXT,OBJ,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-CONT \FALSE
|
|
SET 'OBJ,PRSO
|
|
ZERO? NOW-PRSI? /?CND6
|
|
SET 'OBJ,PRSI
|
|
?CND6: ZERO? OBJ /FALSE
|
|
EQUAL? PRSA,V?THROW,V?THROW-OVER \?CCL12
|
|
ICALL HIT-SANDED-OBJ-WITH,PRSI,PRSO
|
|
RTRUE
|
|
?CCL12: EQUAL? PRSA,V?KICK \?CCL14
|
|
ICALL HIT-SANDED-OBJ-WITH,PRSO,FEET
|
|
RTRUE
|
|
?CCL14: EQUAL? PRSA,V?HIT,V?KICK,V?MUNG \?CCL16
|
|
ICALL HIT-SANDED-OBJ-WITH,PRSO,PRSI
|
|
RTRUE
|
|
?CCL16: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL2 CANT-REACH,OBJ
|
|
ICALL1 STANDING
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? /?CCL19
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \?CCL22
|
|
ICALL2 ITALICIZE,STR?826
|
|
PRINTI "! "
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " lands on "
|
|
ICALL1 THEI-PRINT
|
|
PRINT AND
|
|
EQUAL? PRSO,PARASOL \?CCL24
|
|
FSET? PRSO,OPENED /?CND23
|
|
?CCL24: GETP PRSO,P?SIZE
|
|
GRTR? STACK,2 \?CND23
|
|
ICALL1 VANISH
|
|
PRINTR "slowly sinks out of sight."
|
|
?CND23: MOVE PRSO,PRSI
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
PRINTR "floats uncertainly."
|
|
?CCL22: EQUAL? PRSA,V?TOUCH-TO \FALSE
|
|
ICALL2 HIT-SAND-WITH,PRSO
|
|
RTRUE
|
|
?CCL19: EQUAL? PRSA,V?LOOK-ON,V?EXAMINE,V?LOOK-INSIDE /?CTR29
|
|
EQUAL? PRSA,V?SEARCH \?CCL30
|
|
?CTR29: PRINT YOU-SEE
|
|
ICALL1 CONTENTS
|
|
SET 'P-IT-OBJECT,PRSO
|
|
PRINTI " floating on "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL30: EQUAL? PRSA,V?LOOK-UNDER,V?LOOK-BEHIND,V?OPEN /?CTR33
|
|
EQUAL? PRSA,V?CLOSE \?CCL34
|
|
?CTR33: ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL34: EQUAL? PRSA,V?TOUCH,V?REACH-IN,V?SQUEEZE /?CTR37
|
|
EQUAL? PRSA,V?EMPTY \?CCL38
|
|
?CTR37: ICALL2 HIT-SAND-WITH,HANDS
|
|
RTRUE
|
|
?CCL38: EQUAL? PRSA,V?KICK \?CCL42
|
|
ICALL2 HIT-SAND-WITH,FEET
|
|
RTRUE
|
|
?CCL42: EQUAL? PRSA,V?HIT,V?MUNG \?CCL44
|
|
ICALL2 HIT-SAND-WITH,PRSI
|
|
RTRUE
|
|
?CCL44: INTBL? PRSA,E-VERBS,ENTER-VERBS >X /?CTR45
|
|
EQUAL? PRSA,V?SWIM,V?DIVE,V?CLIMB-DOWN \?CCL46
|
|
?CTR45: ICALL1 ENTER-QUICKSAND
|
|
RTRUE
|
|
?CCL46: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \?CCL50
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
?CCL50: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
ICALL2 ITALICIZE,STR?827
|
|
PRINTI ". It seems that "
|
|
ICALL1 GRITTY
|
|
PRINTR " is virtually impossible to move."
|
|
|
|
|
|
.FUNCT HIT-SANDED-OBJ-WITH,OBJ,WITH
|
|
ICALL2 YOUR-OBJ,WITH
|
|
PRINTI " misses "
|
|
ICALL2 THE-PRINT,OBJ
|
|
EQUAL? PRSA,V?THROW,V?THROW-OVER \?CCL3
|
|
EQUAL? WITH,FALSE-VALUE,HANDS,FEET /?CCL3
|
|
PRINTI ", lands with a "
|
|
ICALL2 ITALICIZE,STR?828
|
|
PRINT SIN
|
|
ICALL2 THE-PRINT,QUICKSAND
|
|
PRINT AND
|
|
FSET? OBJ,BUOYANT /?CTR7
|
|
GETP OBJ,P?SIZE
|
|
LESS? STACK,3 /?CTR7
|
|
EQUAL? OBJ,PARASOL \?CCL8
|
|
FSET? OBJ,OPENED \?CCL8
|
|
?CTR7: MOVE WITH,QUICKSAND
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
PRINTI "floats there uncertainly"
|
|
JUMP ?CND1
|
|
?CCL8: ICALL2 VANISH,WITH
|
|
PRINTI "sinks out of sight"
|
|
JUMP ?CND1
|
|
?CCL3: PRINTI ". It's just beyond your reach"
|
|
?CND1: PRINT PERIOD
|
|
EQUAL? OBJ,BABY \TRUE
|
|
FSET? MAMA,MONSTER /TRUE
|
|
CALL2 VISIBLE?,MAMA
|
|
ZERO? STACK /TRUE
|
|
SET 'LAST-MONSTER,MAMA
|
|
ICALL1 MAMA-TO-MONSTER
|
|
PRINT TAB
|
|
PRINTI "A sound like a snorting bull turns your attention to "
|
|
ICALL2 THE-PRINT,MAMA
|
|
PRINTR ". It looks as if she's about to attack!"
|
|
|
|
|
|
.FUNCT MAMA-TO-MONSTER
|
|
FSET MAMA,MONSTER
|
|
ICALL REPLACE-SYN?,MAMA,W?ZZZP,W?MONSTER
|
|
PUTP MAMA,P?GENERIC,GENERIC-MONSTER-F
|
|
RFALSE
|
|
|
|
|
|
.FUNCT HIT-SAND-WITH,OBJ
|
|
PRINTI "Ick! "
|
|
ICALL2 YOUR-OBJ,OBJ
|
|
PRINTI " pulls away from "
|
|
ICALL1 GRITTY
|
|
PRINTI " with a sickening "
|
|
ICALL2 ITALICIZE,STR?829
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GRITTY
|
|
PRINTI "the wet, gritty "
|
|
PRINTD QUICKSAND
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ENTER-QUICKSAND
|
|
PRINTI "You step boldly into the pool, and thrash helplessly for a while in "
|
|
ICALL1 GRITTY
|
|
PRINTI " until your mouth fills"
|
|
ICALL1 JIGS-UP
|
|
RFALSE
|
|
|
|
|
|
.FUNCT GOOD-MAMA
|
|
IN? BABY,QUICKSAND \?CND1
|
|
FCLEAR MAMA,MONSTER
|
|
ICALL REPLACE-SYN?,MAMA,W?MONSTER,W?ZZZP
|
|
PUTP MAMA,P?GENERIC,0
|
|
?CND1: PUTP MAMA,P?LAST-LOC,JUN0
|
|
MOVE MAMA,JUN0
|
|
RFALSE
|
|
|
|
|
|
.FUNCT MAMA-F,CONTEXT,OBJ,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \?CCL6
|
|
ICALL2 PRINTCA,MAMA
|
|
PRINTI " is standing nearby"
|
|
CALL2 VISIBLE?,BABY
|
|
ZERO? STACK /?CND7
|
|
PRINTI ", gazing anxiously at her baby"
|
|
?CND7: PRINTC PER
|
|
RTRUE
|
|
?CCL6: EQUAL? CONTEXT,M-CONT \FALSE
|
|
SET 'OBJ,PRSO
|
|
ZERO? NOW-PRSI? /?CND10
|
|
SET 'OBJ,PRSI
|
|
?CND10: ZERO? OBJ /FALSE
|
|
PRINT CANT
|
|
INTBL? PRSA,SEEVERBS,NSVERBS >X \?CCL16
|
|
PRINTI "see "
|
|
JUMP ?CND14
|
|
?CCL16: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL18
|
|
PRINTI "reach "
|
|
JUMP ?CND14
|
|
?CCL18: PRINTI "do that with "
|
|
?CND14: ICALL2 THE-PRINT,OBJ
|
|
PRINTI " while it's inside "
|
|
ICALL2 THE-PRINT,MAMA
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
CALL1 TALK-TO-MUNGI?
|
|
ZERO? STACK /?CCL22
|
|
RETURN 2
|
|
?CCL22: EQUAL? PRSA,V?EXAMINE \?CCL26
|
|
ICALL1 GAZEBACK
|
|
PRINTR "suspiciously."
|
|
?CCL26: EQUAL? PRSA,V?HIT,V?MUNG,V?KICK \?CCL28
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " avoids your "
|
|
EQUAL? PRSI,FALSE-VALUE,HANDS \?CCL31
|
|
PRINTI "blow"
|
|
JUMP ?CND29
|
|
?CCL31: EQUAL? PRSA,V?KICK /?CTR32
|
|
EQUAL? PRSI,FEET \?CCL33
|
|
?CTR32: PRINTI "foot"
|
|
JUMP ?CND29
|
|
?CCL33: ICALL2 DPRINT,PRSI
|
|
?CND29: PRINTR ", and bellows a warning."
|
|
?CCL28: EQUAL? PRSA,V?WHAT,V?WHO \FALSE
|
|
ICALL1 REFER-TO-PACKAGE
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT TALK-TO-MUNGI?,X
|
|
INTBL? PRSA,TALKVERBS,NTVERBS >X \FALSE
|
|
PRINTR "Hunguses (hungi?) aren't smart enough to understand."
|
|
|
|
|
|
.FUNCT BABY-F,CONTEXT,X
|
|
ZERO? CONTEXT \FALSE
|
|
ZERO? NOW-PRSI? \FALSE
|
|
CALL1 TALK-TO-MUNGI?
|
|
ZERO? STACK /?CCL7
|
|
RETURN 2
|
|
?CCL7: EQUAL? PRSA,V?EXAMINE \?CCL11
|
|
ICALL1 GAZEBACK
|
|
PRINTR "helplessly."
|
|
?CCL11: EQUAL? PRSA,V?RESCUE,V?RELEASE \?CCL13
|
|
PRINTR "Easier said than done."
|
|
?CCL13: EQUAL? PRSA,V?WHAT,V?WHO \FALSE
|
|
ICALL1 REFER-TO-PACKAGE
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT GAZEBACK
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " gazes back at you "
|
|
RFALSE
|
|
|
|
|
|
.FUNCT PARASOL-F,CONTEXT,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
ICALL2 PRINTCA,PARASOL
|
|
PRINTI " dangles uncertainly from one of the ropes."
|
|
RTRUE
|
|
?CCL3: CALL NOUN-USED?,W?HANDLE,W?PARROT,W?HEAD
|
|
ZERO? STACK \?CTR6
|
|
CALL2 ADJ-USED?,W?PARROT'S
|
|
ZERO? STACK /?CCL7
|
|
?CTR6: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL12
|
|
PRINTR "The parrot's head stares back at you."
|
|
?CCL12: EQUAL? PRSA,V?TAKE,V?MOVE,V?PULL \?CND10
|
|
PRINTI "The handle is firmly attached to the "
|
|
PRINTD PRSO
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND10: ICALL USELESS,STR?830,TRUE-VALUE
|
|
RETURN 2
|
|
?CCL7: ZERO? NOW-PRSI? /?CCL17
|
|
EQUAL? PRSA,V?THROW,V?THROW-OVER \?CCL20
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " glances off the "
|
|
ICALL2 DPRINT,PRSI
|
|
PRINT AND
|
|
ICALL1 FALLS
|
|
RTRUE
|
|
?CCL20: EQUAL? PRSA,V?PUT,V?PUT-ON,V?EMPTY-INTO \FALSE
|
|
ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CCL17: EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \?CCL23
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR "'s handle is carved in the shape of a parrot's head."
|
|
?CCL23: EQUAL? PRSA,V?READ,V?LOOK-ON \?CCL25
|
|
FSET? PRSO,OPENED \?CND26
|
|
PRINTI "Nothing is legible on the "
|
|
PRINTD PRSO
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND26: ICALL2 YOUD-HAVE-TO,STR?518
|
|
RTRUE
|
|
?CCL25: CALL1 FIRST-TAKE?
|
|
ZERO? STACK \TRUE
|
|
EQUAL? PRSA,V?STAND-UNDER \?CCL31
|
|
IN? PRSO,PLAYER /?CCL34
|
|
ICALL2 YOUD-HAVE-TO,STR?680
|
|
RTRUE
|
|
?CCL34: FSET? PRSO,OPENED /?CND32
|
|
ICALL1 ITS-CLOSED
|
|
RTRUE
|
|
?CND32: PRINT ALREADY
|
|
PRINTR "doing that."
|
|
?CCL31: EQUAL? PRSA,V?OPEN,V?OPEN-WITH \?CCL37
|
|
EQUAL? PRSI,FALSE-VALUE,HANDS \?CCL37
|
|
FSET? PRSO,MUNGED \?CCL42
|
|
PRINT CANT
|
|
PRINTI "open "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " anymore."
|
|
?CCL42: IN? PARASOL,PLAYER /?CCL44
|
|
ICALL2 YOUD-HAVE-TO,STR?680
|
|
RTRUE
|
|
?CCL44: FSET? PRSO,OPENED \?CND40
|
|
ICALL2 ITS-ALREADY,STR?518
|
|
RTRUE
|
|
?CND40: FSET PRSO,OPENED
|
|
FSET PRSO,SURFACE
|
|
FSET PRSO,VOWEL
|
|
FSET PRSO,BUOYANT
|
|
BOR NEW-DBOX,SHOWING-INV >NEW-DBOX
|
|
ICALL REPLACE-ADJ?,PRSO,W?CLOSED,W?OPEN
|
|
PRINTI "You snap open the "
|
|
PRINTD PRSO
|
|
PRINT PERIOD
|
|
FSET? HERE,INDOORS \?CCL48
|
|
CALL1 NOLUCK?
|
|
ZERO? STACK /?CCL48
|
|
ICALL UPDATE-STAT,-1,LUCK,TRUE-VALUE
|
|
RTRUE
|
|
?CCL48: EQUAL? HERE,IN-SKY \TRUE
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
PRINT TAB
|
|
PRINTI "Before you can think or move, a gust of wind pulls you"
|
|
ICALL2 OUT-OF-LOC,SADDLE
|
|
PRINTI ", and you float down to a "
|
|
CALL1 DOWN-TO? >X
|
|
ZERO? X \?CND52
|
|
EQUAL? ABOVE,OTHRIFF \TRUE
|
|
PRINTI "hideous death among "
|
|
ICALL2 THE-PRINT,XTREES
|
|
PRINTI " of Thriff"
|
|
ICALL1 JIGS-UP
|
|
RTRUE
|
|
?CND52: SET 'OLD-HERE,FALSE-VALUE
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
MOVE PLAYER,X
|
|
PRINTI "reasonably soft landing"
|
|
ICALL1 RELOOK
|
|
RTRUE
|
|
?CCL37: EQUAL? PRSA,V?CLOSE,V?FOLD \?CCL57
|
|
FSET? PRSO,MUNGED \?CCL60
|
|
PRINT CANT
|
|
PRINTI "close "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " anymore."
|
|
?CCL60: IN? PARASOL,PLAYER /?CCL62
|
|
ICALL2 YOUD-HAVE-TO,STR?680
|
|
RTRUE
|
|
?CCL62: FSET? PRSO,OPENED /?CND58
|
|
ICALL2 ITS-ALREADY,STR?531
|
|
RTRUE
|
|
?CND58: FCLEAR PRSO,OPENED
|
|
FCLEAR PRSO,SURFACE
|
|
FCLEAR PRSO,VOWEL
|
|
FCLEAR PRSO,BUOYANT
|
|
BOR NEW-DBOX,SHOWING-INV >NEW-DBOX
|
|
ICALL REPLACE-ADJ?,PRSO,W?OPEN,W?CLOSED
|
|
PRINTI "You snap the "
|
|
PRINTD PRSO
|
|
PRINTR " shut."
|
|
?CCL57: EQUAL? PRSA,V?FILL-FROM \FALSE
|
|
CALL1 WATER?
|
|
ZERO? STACK /?CCL68
|
|
PRINTI "Water "
|
|
PRINT STR?754
|
|
RTRUE
|
|
?CCL68: EQUAL? PRSI,POOL \FALSE
|
|
PRINTI "Radiance leaks through "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " and dissipates in the air."
|
|
|
|
|
|
.FUNCT ZSIGN-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?READ,V?LOOK-ON \?CCL5
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " says,
|
|
|
|
"
|
|
HLIGHT H-MONO
|
|
PRINTI " ZENO'S BRIDGE
|
|
Cross at thy Own Risk"
|
|
CRLF
|
|
HLIGHT H-NORMAL
|
|
RTRUE
|
|
?CCL5: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
ICALL2 ROOTED,PRSO
|
|
RTRUE
|
|
|
|
|
|
.FUNCT WHISTLE-F,ITAL,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
CALL2 NOUN-USED?,W?CHAIN
|
|
ZERO? STACK /?CND1
|
|
EQUAL? PRSA,V?BLOW-INTO \?CCL7
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON /?CCL8
|
|
INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CND1
|
|
?CCL8: ICALL FIRMLY-ATTACHED,STR?831,PRSO,TRUE-VALUE
|
|
RTRUE
|
|
?CND1: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?READ \?CCL13
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " has a picture of a "
|
|
PRINTD DACT
|
|
PRINTR " etched on it, and has a chain for wearing."
|
|
?CCL13: EQUAL? PRSA,V?BLOW-INTO,V?USE \FALSE
|
|
IN? PRSO,PLAYER /?CCL18
|
|
ICALL2 YOUD-HAVE-TO,STR?680
|
|
RTRUE
|
|
?CCL18: EQUAL? HOST,APPLE-2E,APPLE-2C /?CND16
|
|
INC 'ITAL
|
|
?CND16: ICALL1 CTHE-PRINT
|
|
PRINTI " emits a long, harsh wail"
|
|
CALL1 PLAIN-ROOM?
|
|
ZERO? STACK /?CND20
|
|
PRINTI " that is swallowed in a clap of thunder"
|
|
?CND20: PRINT PTAB
|
|
FSET? PRSO,NEUTRALIZED /?CND22
|
|
CALL2 VISIBLE?,DACT
|
|
ZERO? STACK /?CND22
|
|
FSET? DACT,SLEEPING \?CND25
|
|
ICALL1 WAKE-DACT
|
|
RTRUE
|
|
?CND25: ICALL2 CTHE-PRINT,DACT
|
|
PRINT STR?553
|
|
ZERO? ITAL /?CCL29
|
|
HLIGHT H-ITALIC
|
|
JUMP ?CND27
|
|
?CCL29: PRINTC QUOTATION
|
|
?CND27: PRINTI "I await your pleasure"
|
|
ZERO? ITAL /?CND30
|
|
HLIGHT H-NORMAL
|
|
?CND30: PRINTC 44
|
|
ZERO? ITAL \?CND32
|
|
PRINTC QUOTATION
|
|
?CND32: PRINTI " whispers a voice in "
|
|
PRINTD HEAD
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND22: EQUAL? HERE,IN-GARDEN \?CND34
|
|
IN? QUEEN,HERE \?CND34
|
|
ICALL2 QUEEN-SEES-YOU,STR?832
|
|
RTRUE
|
|
?CND34: PRINTI "Nothing happens"
|
|
FSET? PRSO,NEUTRALIZED /?CCL39
|
|
EQUAL? HERE,IN-FROON,APLANE,IN-SPLENDOR /?CCL39
|
|
CALL1 PLAIN-ROOM?
|
|
ZERO? STACK \?CCL39
|
|
EQUAL? ATIME,PRESENT \?CCL39
|
|
IN? PLAYER,ARCH /?CCL39
|
|
FSET? HERE,INDOORS /?CCL39
|
|
FSET? DACT,SLEEPING /?CCL39
|
|
FSET? DACT,MUNGED /?CCL39
|
|
FSET? DACT,LIVING \?CCL39
|
|
IGRTR? 'HOOTS,3 \?CND38
|
|
?CCL39: PRINT PERIOD
|
|
RTRUE
|
|
?CND38: PRINTI " for a moment. Then, with a raucous cry and a great beating of wings, "
|
|
ICALL2 THE-PRINT,DACT
|
|
ZERO? LAST-MONSTER \?CCL51
|
|
CALL FIND-IN?,HERE,MONSTER
|
|
ZERO? STACK \?CCL51
|
|
IN? PLAYER,GONDOLA /?CCL51
|
|
EQUAL? HERE,NW-SUPPORT,SW-SUPPORT,SE-SUPPORT /?CCL51
|
|
EQUAL? 0,LAVA-TIMER,MAGMA-TIMER /?CND50
|
|
EQUAL? HERE,FOREST-EDGE,ON-TRAIL,ON-PEAK \?CND50
|
|
?CCL51: PRINTR " swoops overhead. Finding no safe place to land, he soars away again."
|
|
?CND50: PRINTI " lands by your side"
|
|
PRINT PTAB
|
|
MOVE DACT,HERE
|
|
FCLEAR DACT,NODESC
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
ZERO? ITAL /?CCL61
|
|
HLIGHT H-ITALIC
|
|
JUMP ?CND59
|
|
?CCL61: PRINTC QUOTATION
|
|
?CND59: PRINTI "This is the "
|
|
EQUAL? HOOTS,3 \?CCL64
|
|
PRINTI "last time I shall answer"
|
|
JUMP ?CND62
|
|
?CCL64: EQUAL? HOOTS,1 \?CCL67
|
|
PRINTI "first"
|
|
JUMP ?CND65
|
|
?CCL67: PRINTI "second"
|
|
?CND65: PRINTI " time I have answered"
|
|
?CND62: PRINTI " the whistle's call"
|
|
ZERO? ITAL /?CND68
|
|
HLIGHT H-NORMAL
|
|
?CND68: PRINTC 44
|
|
ZERO? ITAL \?CND70
|
|
PRINTC QUOTATION
|
|
?CND70: PRINTI " observes a voice in "
|
|
PRINTD HEAD
|
|
EQUAL? HOOTS,3 \?CND72
|
|
ICALL1 VANISH
|
|
PRINTI "; and as it speaks, "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " melts away into nothingness"
|
|
?CND72: PRINTI ". "
|
|
ZERO? ITAL /?CCL76
|
|
HLIGHT H-ITALIC
|
|
JUMP ?CND74
|
|
?CCL76: PRINTC QUOTATION
|
|
?CND74: LESS? HOOTS,3 \?CND77
|
|
EQUAL? HOOTS,1 \?CCL81
|
|
PRINTI "Twice"
|
|
JUMP ?CND79
|
|
?CCL81: PRINTI "Once"
|
|
?CND79: PRINTI " more you may use it to summon me"
|
|
ZERO? ITAL /?CND82
|
|
HLIGHT H-NORMAL
|
|
?CND82: PRINTI ". "
|
|
ZERO? ITAL /?CND77
|
|
HLIGHT H-ITALIC
|
|
?CND77: PRINTI "I wait at your disposal"
|
|
ZERO? ITAL /?CND86
|
|
HLIGHT H-NORMAL
|
|
?CND86: PRINTC PER
|
|
ZERO? ITAL \?CND88
|
|
PRINTC QUOTATION
|
|
?CND88: CRLF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CHAPEL-F,X
|
|
INTBL? PRSA,X-VERBS,EXIT-VERBS >X \?CCL3
|
|
EQUAL? HERE,IN-CHAPEL \?CND4
|
|
ICALL2 DO-WALK,P?EAST
|
|
RTRUE
|
|
?CND4: ICALL1 NOT-IN
|
|
RTRUE
|
|
?CCL3: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL7
|
|
ICALL2 DO-WALK,P?WEST
|
|
RTRUE
|
|
?CCL7: EQUAL? HERE,IN-CHAPEL \FALSE
|
|
CALL1 HERE-F
|
|
RSTACK
|
|
|
|
|
|
.FUNCT PEW-F,CONTEXT,OBJ,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \?CCL6
|
|
CALL2 SEE-ANYTHING-IN?,PEW >X
|
|
PRINTI "There's a"
|
|
ZERO? X \?CND7
|
|
PRINTI "n empty"
|
|
?CND7: PRINTI " pew just inside "
|
|
ICALL2 THE-PRINT,CHAPEL-DOOR
|
|
ZERO? X /?CND9
|
|
PRINT STR?773
|
|
ICALL2 CONTENTS,PEW
|
|
SET 'P-IT-OBJECT,PEW
|
|
?CND9: PRINTC PER
|
|
RTRUE
|
|
?CCL6: EQUAL? CONTEXT,M-BEG \FALSE
|
|
SET 'OBJ,PRSO
|
|
ZERO? NOW-PRSI? /?CND12
|
|
SET 'OBJ,PRSI
|
|
?CND12: EQUAL? OBJ,FALSE-VALUE,PEW,UNDERPEW /FALSE
|
|
IN? OBJ,UNDERPEW /FALSE
|
|
CALL GLOBAL-IN?,HERE,OBJ
|
|
ZERO? STACK \FALSE
|
|
IN? OBJ,HERE \FALSE
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL2 CANT-REACH,OBJ
|
|
PRINTI " while you're sitting on "
|
|
ICALL2 THE-PRINT,PEW
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? /?CCL25
|
|
EQUAL? PRSA,V?PUT-UNDER,V?PUT-BEHIND \FALSE
|
|
GETP PRSO,P?SIZE
|
|
GRTR? STACK,6 \?CND28
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " won't fit under "
|
|
ICALL1 THEI-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND28: ICALL2 STASH,UNDERPEW
|
|
RTRUE
|
|
?CCL25: EQUAL? PRSA,V?ENTER,V?SIT \?CCL31
|
|
ICALL1 ENTER-PEW
|
|
RTRUE
|
|
?CCL31: EQUAL? PRSA,V?STAND-ON,V?LEAP,V?LIE-DOWN \?CCL33
|
|
PRINTR "Pews are for sitting."
|
|
?CCL33: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL35
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " looks "
|
|
IN? PLAYER,PRSO \?CND36
|
|
PRINTI "and feels "
|
|
?CND36: PRINTI "uncomfortably hard"
|
|
CALL1 SEE-ANYTHING-IN?
|
|
ZERO? STACK /?CCL40
|
|
PRINTI ". Upon it you see "
|
|
ICALL2 CONTENTS,PRSO
|
|
SET 'P-IT-OBJECT,PRSO
|
|
FIRST? UNDERPEW >X \?CND38
|
|
PRINTI ". There also "
|
|
PRINT STR?833
|
|
JUMP ?CND38
|
|
?CCL40: FIRST? UNDERPEW >X \?CND38
|
|
PRINTI ". There "
|
|
PRINT STR?833
|
|
?CND38: PRINT PERIOD
|
|
RTRUE
|
|
?CCL35: EQUAL? PRSA,V?LOOK-UNDER,V?SEARCH,V?LOOK-BEHIND \FALSE
|
|
FIRST? UNDERPEW >X \?CCL48
|
|
PRINTI "Peering under "
|
|
ICALL1 THE-PRINT
|
|
PRINT LYOU-SEE
|
|
ICALL2 CONTENTS,UNDERPEW
|
|
SET 'P-IT-OBJECT,PRSO
|
|
JUMP ?CND46
|
|
?CCL48: PRINT NOTHING
|
|
PRINTI "under "
|
|
ICALL1 THE-PRINT
|
|
?CND46: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT STASH,OBJ
|
|
MOVE PRSO,OBJ
|
|
BOR NEW-DBOX,SHOWING-INV >NEW-DBOX
|
|
PRINTI "You stash "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " out of sight beneath "
|
|
ICALL1 THEI-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ENTER-PEW
|
|
IN? PLAYER,PEW \?CND1
|
|
ICALL2 ALREADY-ON,PEW
|
|
RFALSE
|
|
?CND1: MOVE PLAYER,PEW
|
|
ICALL1 PEWSLIDE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT EXIT-PEW
|
|
IN? PLAYER,PEW /?CND1
|
|
ICALL1 NOT-ON
|
|
RFALSE
|
|
?CND1: MOVE PLAYER,IN-CHAPEL
|
|
ICALL2 PEWSLIDE,TRUE-VALUE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT PEWSLIDE,X
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
SET 'OLD-HERE,FALSE-VALUE
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
FSET? VIAL,TOUCHED /?CND1
|
|
FSET VIAL,TOUCHED
|
|
SET 'P-IT-OBJECT,VIAL
|
|
PRINTI "As you slide into the pew, "
|
|
PRINTD FEET
|
|
PRINTR " nudges something underneath."
|
|
?CND1: PRINTI "You slide quietly "
|
|
ASSIGNED? 'X \?CCL5
|
|
PRINTB W?OFF
|
|
JUMP ?CND3
|
|
?CCL5: PRINTB W?INTO
|
|
?CND3: PRINTC SP
|
|
ICALL2 THE-PRINT,PEW
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BFLY-F,CONTEXT,ALIVE,CAT,X
|
|
SET 'P-IT-OBJECT,BFLY
|
|
FSET? BFLY,LIVING \?CND1
|
|
INC 'ALIVE
|
|
?CND1: FSET? BFLY,MUNGED \?CND3
|
|
INC 'CAT
|
|
?CND3: EQUAL? CONTEXT,M-OBJDESC \?CCL7
|
|
FSET BFLY,IDENTIFIED
|
|
ICALL2 PRINTCA,BFLY
|
|
PRINT SIS
|
|
ZERO? ALIVE \?CCL10
|
|
PRINTI "lying on"
|
|
JUMP ?CND8
|
|
?CCL10: ZERO? CAT /?CCL12
|
|
PRINTI "crawling around"
|
|
?CND8: PRINT STHE
|
|
ICALL1 GROUND-WORD
|
|
PRINTC PER
|
|
RTRUE
|
|
?CCL12: PRINTI "fluttering around "
|
|
PRINTD HEAD
|
|
PRINTC PER
|
|
RTRUE
|
|
?CCL7: ZERO? CONTEXT \FALSE
|
|
ZERO? NOW-PRSI? \FALSE
|
|
INTBL? PRSA,TALKVERBS,NTVERBS >X \?CCL18
|
|
ZERO? ALIVE \?CND19
|
|
ICALL1 NOT-LIKELY
|
|
PRINT STR?509
|
|
RETURN 2
|
|
?CND19: ICALL2 CTHE-PRINT,BFLY
|
|
PRINTI " pretends not to understand you."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL18: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL26
|
|
FSET BFLY,IDENTIFIED
|
|
ZERO? ALIVE \?CND27
|
|
PRINTR "She's dead."
|
|
?CND27: ICALL1 CTHE-PRINT
|
|
ZERO? CAT \?CND29
|
|
PRINTI " is almost as big as your hand, and dappled with splotches of "
|
|
CALL1 SEE-COLOR?
|
|
ZERO? STACK /?CND31
|
|
PRINTR "bright color."
|
|
?CND31: PRINTR "gray."
|
|
?CND29: PRINTR " assigns one of her eyes to stare back at you."
|
|
?CCL26: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ZERO? ALIVE /FALSE
|
|
ZERO? CAT \FALSE
|
|
FCLEAR PRSO,SEEN
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
LOC PRSO >X
|
|
ICALL1 CTHE-PRINT
|
|
EQUAL? X,HERE /?CND39
|
|
MOVE PRSO,HERE
|
|
PRINTI " flutters"
|
|
ICALL2 OUT-OF-LOC,X
|
|
PRINTI " and"
|
|
?CND39: PRINTR " darts out of reach."
|
|
|
|
|
|
.FUNCT GOBLET-F,CONTEXT,B,X
|
|
IN? BFLY,GOBLET \?CND1
|
|
FSET? BFLY,LIVING \?CND1
|
|
INC 'B
|
|
?CND1: ZERO? CONTEXT \FALSE
|
|
ZERO? NOW-PRSI? \FALSE
|
|
CALL NOUN-USED?,W?COATING,W?LIQUID,W?NECTAR
|
|
ZERO? STACK /?CND9
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?LOOK-INSIDE \?CCL13
|
|
PRINTI "The coating on the inside of "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " is thin and transparent."
|
|
?CCL13: EQUAL? PRSA,V?TOUCH /?CTR14
|
|
INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CCL15
|
|
?CTR14: PRINTI "You succeed only in getting your fingers sticky, so you lick them clean"
|
|
PRINT PTAB
|
|
ICALL1 TASTE-NECTAR
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?DRINK,V?TASTE \?CND9
|
|
ICALL1 TASTE-NECTAR
|
|
RTRUE
|
|
?CND9: EQUAL? PRSA,V?EXAMINE \?CCL21
|
|
PRINTI "Despite a sticky coating on the inside, "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " gleams with the lustre of pure gold"
|
|
ZERO? B /?CND22
|
|
PRINTI ". There's "
|
|
ICALL2 PRINTA,BFLY
|
|
PRINT STR?493
|
|
?CND22: PRINT PERIOD
|
|
RTRUE
|
|
?CCL21: EQUAL? PRSA,V?TAKE \?CCL25
|
|
FSET? PRSO,TOUCHED /?CCL25
|
|
CALL1 ITAKE
|
|
ZERO? STACK \?CND28
|
|
INC 'IMPSAY
|
|
RTRUE
|
|
?CND28: PRINTI "The Implementor smiles kindly as you take "
|
|
ICALL1 THE-PRINT
|
|
PRINTI ". ""And now you will excuse us. My fellow Implementors and I must prepare for something too awesome to reveal to one as insignificant as you."""
|
|
CRLF
|
|
ICALL1 ATRII-KICK
|
|
RTRUE
|
|
?CCL25: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL31
|
|
ZERO? B /?CND32
|
|
REMOVE BFLY
|
|
?CND32: PRINTI "Aside from a sticky coating, "
|
|
CALL1 SEE-ANYTHING-IN?
|
|
ZERO? STACK /?CCL36
|
|
PRINTI "you see "
|
|
ICALL1 CONTENTS
|
|
SET 'P-IT-OBJECT,PRSO
|
|
PRINT SIN
|
|
ICALL1 THE-PRINT
|
|
ZERO? B /?CND34
|
|
PRINTI ". There's also "
|
|
JUMP ?CND34
|
|
?CCL36: ICALL1 THE-PRINT
|
|
PRINTI " is empty"
|
|
ZERO? B /?CND34
|
|
PRINTI ". But there's "
|
|
?CND34: ZERO? B /?CND41
|
|
MOVE BFLY,PRSO
|
|
ICALL2 PRINTA,BFLY
|
|
PRINT STR?493
|
|
?CND41: PRINT PERIOD
|
|
RTRUE
|
|
?CCL31: EQUAL? PRSA,V?TASTE,V?DRINK \?CCL44
|
|
PRINTI "[the sticky coating"
|
|
PRINT BRACKET
|
|
ICALL1 TASTE-NECTAR
|
|
RTRUE
|
|
?CCL44: EQUAL? PRSA,V?SAY,V?YELL \FALSE
|
|
ZERO? GOBLET-WORD /FALSE
|
|
CALL2 NOUN-USED?,GOBLET-WORD
|
|
ZERO? STACK /FALSE
|
|
CALL1 SAY-GOBLET-WORD?
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TASTE-NECTAR
|
|
PRINTI "Few indeed are those lucky enough to taste the nectar of the Implementors"
|
|
FSET? GOBLET,MUNGED /?CND1
|
|
FSET GOBLET,MUNGED
|
|
PRINT PERIOD
|
|
ICALL UPDATE-STAT,15,LUCK,TRUE-VALUE
|
|
RTRUE
|
|
?CND1: PRINT STR?597
|
|
PRINTR "very little remains."
|
|
|
|
|
|
.FUNCT SETUP-GOBLET,TBL
|
|
CALL2 PICK-ONE,MAGIC-WORDS >TBL
|
|
PUT TBL,2,1
|
|
GET TBL,0 >GOBLET-WORD
|
|
GET TBL,1
|
|
PUTP GOBLET,P?NAME-TABLE,STACK
|
|
GETPT GOBLET,P?SYNONYM
|
|
PUT STACK,0,GOBLET-WORD
|
|
GETPT GOBLET,P?ADJECTIVE
|
|
PUT STACK,0,GOBLET-WORD
|
|
FSET GOBLET,PROPER
|
|
FSET GOBLET,NAMED
|
|
FSET GOBLET,IDENTIFIED
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SAY-GOBLET-WORD?
|
|
EQUAL? HERE,APLANE \?CCL3
|
|
EQUAL? ABOVE,OPLAIN \?CCL3
|
|
PRINTR """Speak not that Name!"" growls an Implementor, polishing a thunderbolt."
|
|
?CCL3: FSET? GOBLET,NEUTRALIZED /FALSE
|
|
EQUAL? HERE,IN-SPLENDOR,IN-FROON,IN-GARDEN /?CTR8
|
|
EQUAL? HERE,APLANE /?CTR8
|
|
FSET? HERE,INDOORS \?CCL9
|
|
?CTR8: PRINT YOU-HEAR
|
|
PRINTR "a distant rumble of thunder."
|
|
?CCL9: ICALL1 KERBLAM
|
|
PRINTR "Lightning forks across the sky."
|
|
|
|
|
|
.FUNCT IMPTAB-F,CONTEXT,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-CONT \FALSE
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL2 CTHE-PRINT,IMPS
|
|
PRINTR " growl at your approach."
|
|
?CCL3: ZERO? NOW-PRSI? /?CCL9
|
|
EQUAL? PRSA,V?PUT-UNDER,V?PUT-BEHIND \FALSE
|
|
PRINTI "There's no room under "
|
|
ICALL1 THEI-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL9: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL13
|
|
PRINTR """Stop that,"" growls an Implementor."
|
|
?CCL13: EQUAL? PRSA,V?LOOK-UNDER,V?LOOK-BEHIND \FALSE
|
|
PRINTR "The Implementors' legs are there."
|
|
|
|
|
|
.FUNCT ALTAR-F,CONTEXT,OBJ,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-CONT \FALSE
|
|
SET 'OBJ,PRSO
|
|
ZERO? NOW-PRSI? /?CND6
|
|
SET 'OBJ,PRSI
|
|
?CND6: ZERO? OBJ /FALSE
|
|
IN? CLERIC,IN-CHAPEL \FALSE
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
FSET CLERIC,SEEN
|
|
PRINTI """Touch not the sacred "
|
|
ICALL2 DPRINT,OBJ
|
|
PRINTI "!"" growls "
|
|
ICALL2 THE-PRINT,CLERIC
|
|
PRINTI ", standing between you and "
|
|
ICALL2 THE-PRINT,ALTAR
|
|
PRINT PERIOD
|
|
ICALL1 CROWD-AGREES
|
|
RTRUE
|
|
?CCL3: IN? CLERIC,IN-CHAPEL \?CCL15
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL15
|
|
FSET CLERIC,SEEN
|
|
PRINTI """Approach not the sacred altar!"" growls "
|
|
ICALL2 THE-PRINT,CLERIC
|
|
PRINT PERIOD
|
|
ICALL1 CROWD-AGREES
|
|
RTRUE
|
|
?CCL15: ZERO? NOW-PRSI? /FALSE
|
|
EQUAL? PRSA,V?PUT-UNDER,V?PUT-BEHIND \FALSE
|
|
PRINTR "There's no room there."
|
|
|
|
|
|
.FUNCT RELIQUARY-F,CONTEXT
|
|
ZERO? CONTEXT \FALSE
|
|
ZERO? NOW-PRSI? /?CCL5
|
|
EQUAL? PRSA,V?PUT-ON \FALSE
|
|
ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \FALSE
|
|
ICALL1 LEATHER
|
|
PRINTB W?FOLDER
|
|
FSET? PRSO,OPENED \?CND10
|
|
PRINTR ". Its metal clasp is open."
|
|
?CND10: PRINTR ", closed with a metal clasp."
|
|
|
|
|
|
.FUNCT LEATHER
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " looks like a leather "
|
|
RFALSE
|
|
|
|
|
|
.FUNCT OAK-F,CONTEXT
|
|
ZERO? CONTEXT /?CND1
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
PRINTI "A barren "
|
|
PRINTD OAK2
|
|
PRINTI " looms over your path"
|
|
ICALL2 LOOK-UNDER-OAK,OAK
|
|
RTRUE
|
|
?CND1: CALL1 HANDLE-OAKS?
|
|
RSTACK
|
|
|
|
|
|
.FUNCT OAK2-F,CONTEXT
|
|
ZERO? CONTEXT /?CND1
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
PRINTI "A stunted "
|
|
PRINTD OAK2
|
|
PRINTI " shades the inland road"
|
|
ICALL2 LOOK-UNDER-OAK,OAK2
|
|
RTRUE
|
|
?CND1: CALL1 HANDLE-OAKS?
|
|
RSTACK
|
|
|
|
|
|
.FUNCT HANDLE-OAKS?,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?PUT-UNDER \?CCL6
|
|
ICALL PERFORM,V?DROP,PRSO
|
|
RTRUE
|
|
?CCL6: EQUAL? PRSA,V?PUT-BEHIND \?CCL8
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
MOVE PRSO,PRSI
|
|
PRINTI "You drop "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " behind "
|
|
ICALL1 THEI-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL8: INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " tumbles out of "
|
|
ICALL1 THEI-PRINT
|
|
PRINT AND
|
|
ICALL1 FALLS
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?OPEN,V?OPEN-WITH,V?CLOSE /?CTR10
|
|
EQUAL? PRSA,V?REACH-IN,V?EMPTY \?CCL11
|
|
?CTR10: ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL11: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL15
|
|
PRINTI "Its gnarled roots cover "
|
|
ICALL2 THE-PRINT,GROUND
|
|
PRINTI " at your feet"
|
|
ICALL2 LOOK-UNDER-OAK,PRSO
|
|
CRLF
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?LOOK-BEHIND,V?LOOK,V?LOOK-UNDER /?CTR16
|
|
EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE \?CCL17
|
|
?CTR16: FIRST? PRSO >X \?CND20
|
|
ICALL1 PEERING-BEHIND
|
|
RTRUE
|
|
?CND20: PRINT YOU-SEE
|
|
PRINTI "nothing "
|
|
CALL2 PICK-NEXT,YAWNS
|
|
PRINT STACK
|
|
PRINTI " anywhere under "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL17: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL23
|
|
ICALL1 CLIMB-A-TREE
|
|
RTRUE
|
|
?CCL23: INTBL? PRSA,X-VERBS,CLIMB-DOWN-VERBS >X \?CCL25
|
|
ICALL1 EXIT-A-TREE
|
|
RTRUE
|
|
?CCL25: EQUAL? PRSA,V?STAND-UNDER \?CCL27
|
|
PRINT ALREADY
|
|
PRINTI "under "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL27: EQUAL? PRSA,V?DIG-UNDER \FALSE
|
|
PRINTI "You poke around under "
|
|
ICALL1 THE-PRINT
|
|
FSET? PRSO,TOUCHED \?CCL32
|
|
PRINTI " a bit more"
|
|
PRINT STR?834
|
|
RTRUE
|
|
?CCL32: EQUAL? PRSI,SPADE /?CCL34
|
|
PRINTI ", but "
|
|
ICALL1 THEI-PRINT
|
|
PRINTR " makes a poor digging tool amid the tangled roots."
|
|
?CCL34: LOC TRUFFLE
|
|
ZERO? STACK /?CND30
|
|
PRINT WITH
|
|
ICALL1 THEI-PRINT
|
|
PRINT STR?834
|
|
RTRUE
|
|
?CND30: ICALL2 OAK-FIND,PRSO
|
|
PRINTI ", and soon turn up "
|
|
ICALL2 PRINTA,TRUFFLE
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LOOK-UNDER-OAK,OBJ
|
|
SET 'P-IT-OBJECT,OBJ
|
|
FIRST? OBJ >OBJ \?CND1
|
|
PRINT STR?766
|
|
PRINTI "behind it"
|
|
?CND1: PRINTC PER
|
|
RFALSE
|
|
|
|
|
|
.FUNCT EXIT-A-TREE
|
|
PRINTI "You're not in the tree."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT CLIMB-A-TREE
|
|
EQUAL? HERE,IN-PASTURE \?CND1
|
|
PRINTI "The windswept oak"
|
|
PRINT STR?835
|
|
RFALSE
|
|
?CND1: PRINTI "You clamber onto a convenient branch, but an ominous creak sends you scurrying back down."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT OAK-FIND,OBJ
|
|
FSET OBJ,TOUCHED
|
|
LOC OBJ
|
|
MOVE TRUFFLE,STACK
|
|
FCLEAR TRUFFLE,MUNGED
|
|
SET 'TRUFFLE-TIMER,INIT-TRUFFLE
|
|
ICALL2 QUEUE,I-TRUFFLE
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
SET 'P-IT-OBJECT,TRUFFLE
|
|
FCLEAR MINX,SEEN
|
|
RFALSE
|
|
|
|
|
|
.FUNCT TRUFFLE-F,FRESH,X,WRD
|
|
FSET? TRUFFLE,MUNGED /?CCL2
|
|
GRTR? TRUFFLE-TIMER,40 \?CND1
|
|
?CCL2: INC 'FRESH
|
|
?CND1: SET 'WRD,W?GRAY
|
|
CALL1 SEE-COLOR?
|
|
ZERO? STACK /?CND5
|
|
SET 'WRD,W?BROWN
|
|
CALL ADJ-USED?,W?GRAY,W?GREY
|
|
ZERO? STACK /?CND5
|
|
ICALL2 CTHE-PRINT,TRUFFLE
|
|
PRINTI " is brown, not gray."
|
|
CRLF
|
|
RETURN 2
|
|
?CND5: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL15
|
|
ICALL1 CTHE-PRINT
|
|
PRINT SIS
|
|
ZERO? FRESH \?CND16
|
|
LESS? TRUFFLE-TIMER,11 \?CCL19
|
|
PRINTR "almost too runny to be edible."
|
|
?CCL19: LESS? TRUFFLE-TIMER,31 \?CND16
|
|
PRINTR "getting a bit runny. Still edible, though."
|
|
?CND16: PRINTI "dark "
|
|
PRINTB WRD
|
|
PRINTI " in color, "
|
|
ZERO? FRESH /?CND21
|
|
PRINTR "and looks fresh from the harvest."
|
|
?CND21: PRINTR "with only a trace of runniness."
|
|
?CCL15: EQUAL? PRSA,V?EAT,V?TASTE \?CCL24
|
|
ICALL1 VANISH
|
|
PRINTI "Gulp! Sure was yummy"
|
|
ZERO? FRESH /?CND25
|
|
PRINTI ". Fresh-tasting, too"
|
|
?CND25: PRINT PERIOD
|
|
FSET? MINX,LIVING \TRUE
|
|
CALL2 VISIBLE?,MINX
|
|
ZERO? STACK /TRUE
|
|
FSET MINX,SEEN
|
|
PRINT TAB
|
|
ICALL2 CTHE-PRINT,MINX
|
|
PRINTI " mews with disappointment."
|
|
CRLF
|
|
ICALL UPDATE-STAT,-1,COMPASSION,TRUE-VALUE
|
|
RTRUE
|
|
?CCL24: EQUAL? PRSA,V?DRINK,V?DRINK-FROM \?CCL32
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL32: EQUAL? PRSA,V?SMELL \?CCL34
|
|
PRINTI "Mmm! Smells "
|
|
ZERO? FRESH /?CND35
|
|
PRINTI "delightfully fresh and "
|
|
?CND35: PRINTR "yummy."
|
|
?CCL34: EQUAL? PRSA,V?WHAT,V?WHERE,V?FIND \FALSE
|
|
ICALL1 REFER-TO-PACKAGE
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT CASTLE-F,X
|
|
EQUAL? HERE,IN-GARDEN \?CCL3
|
|
CALL1 HERE-F
|
|
RSTACK
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-BEHIND \?CCL5
|
|
PRINTI "The distant "
|
|
PRINTD PRSO
|
|
PRINTR " is shrouded in mountain mist."
|
|
?CCL5: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH /?CTR6
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X /?CTR6
|
|
INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL7
|
|
?CTR6: ICALL1 CTHE-PRINT
|
|
PRINTR " is quite inaccessible from here."
|
|
?CCL7: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \FALSE
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BUSH-F,CONTEXT,OBJ,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-BEG \?CCL6
|
|
SET 'OBJ,PRSO
|
|
ZERO? NOW-PRSI? /?CND7
|
|
SET 'OBJ,PRSI
|
|
?CND7: CALL CANT-REACH-WHILE-IN?,OBJ,BUSH
|
|
ZERO? STACK /?CCL11
|
|
RETURN 2
|
|
?CCL11: IN? QUEEN,IN-GARDEN \FALSE
|
|
INTBL? PRSA,TALKVERBS,NTVERBS >X \FALSE
|
|
ICALL2 APPROACH-QUEEN,STR?656
|
|
RETURN 2
|
|
?CCL6: EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
PRINTI "The air is filled with the fragrance of a nearby "
|
|
PRINTD BUSH
|
|
PRINTC PER
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? /?CCL21
|
|
EQUAL? PRSA,V?PUT,V?PUT-UNDER,V?PUT-BEHIND \FALSE
|
|
IN? PLAYER,PRSI \?CCL26
|
|
ICALL PERFORM,V?DROP,PRSO
|
|
RTRUE
|
|
?CCL26: EQUAL? PRSO,ROOT \?CND24
|
|
ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CND24: MOVE PRSO,PRSI
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " disappears behind "
|
|
ICALL1 THEI-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL21: EQUAL? PRSA,V?EXAMINE \?CCL29
|
|
IN? PLAYER,PRSO \?CND30
|
|
ICALL1 V-LOOK
|
|
RTRUE
|
|
?CND30: PRINTI "The thorny "
|
|
PRINTD PRSO
|
|
PRINTR " has thrust its roots deep into the soil beside the castle wall."
|
|
?CCL29: EQUAL? PRSA,V?LOOK-INSIDE,V?LOOK-BEHIND,V?LOOK-UNDER /?CTR32
|
|
EQUAL? PRSA,V?SEARCH \?CCL33
|
|
?CTR32: IN? PLAYER,PRSO /?CND36
|
|
ICALL1 PEERING-BEHIND
|
|
RTRUE
|
|
?CND36: ICALL1 ASIDE-FROM
|
|
ICALL1 CONTENTS
|
|
SET 'P-IT-OBJECT,PRSO
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL33: EQUAL? PRSA,V?ENTER,V?WALK-TO,V?THROUGH /?CTR38
|
|
EQUAL? PRSA,V?WALK-AROUND,V?STAND-UNDER \?CCL39
|
|
?CTR38: ICALL1 ENTER-BUSH
|
|
RTRUE
|
|
?CCL39: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL43
|
|
PRINTI "Ouch! "
|
|
ICALL1 NO-FOOTHOLDS
|
|
RTRUE
|
|
?CCL43: EQUAL? PRSA,V?TAKE,V?PICK,V?UPROOT /?CTR44
|
|
EQUAL? PRSA,V?LOOSEN,V?PULL,V?RAISE /?CTR44
|
|
EQUAL? PRSA,V?TOUCH,V?SQUEEZE \?CCL45
|
|
?CTR44: EQUAL? PRSA,V?TOUCH,V?SQUEEZE /?CND49
|
|
FSET? ROOT,NODESC \?CND49
|
|
IN? ROOT,PRSO \?CND49
|
|
ICALL1 PICK-ROOT
|
|
RTRUE
|
|
?CND49: PRINTI "You prick your finger on a thorn. Ouch!"
|
|
CRLF
|
|
ICALL2 UPDATE-STAT,-2
|
|
RTRUE
|
|
?CCL45: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \FALSE
|
|
ICALL1 EXIT-BUSH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NO-FOOTHOLDS
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " has no good footholds."
|
|
|
|
|
|
.FUNCT ENTER-BUSH
|
|
IN? PLAYER,BUSH \?CND1
|
|
PRINTI "Ouch! "
|
|
PRINT CANT
|
|
PRINTI "go in any farther."
|
|
CRLF
|
|
RFALSE
|
|
?CND1: ICALL2 DO-THORNS,BUSH
|
|
RFALSE
|
|
|
|
|
|
.FUNCT DO-THORNS,DEST
|
|
SET 'OLD-HERE,FALSE-VALUE
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
PRINTI "Ouch! "
|
|
PRINT STR?763
|
|
IN? PLAYER,BUSH \?CCL3
|
|
PRINTI "out of"
|
|
JUMP ?CND1
|
|
?CCL3: PRINTB W?BEHIND
|
|
?CND1: PRINTI " the thorns."
|
|
CRLF
|
|
MOVE PLAYER,DEST
|
|
ZERO? DMODE /?CCL5
|
|
EQUAL? PRIOR,SHOWING-INV,SHOWING-STATS \TRUE
|
|
?CCL5: ICALL2 RELOOK,TRUE-VALUE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT EXIT-BUSH
|
|
IN? PLAYER,BUSH /?CND1
|
|
PRINTI "You're not behind "
|
|
ICALL2 THE-PRINT,BUSH
|
|
PRINT PERIOD
|
|
RFALSE
|
|
?CND1: ICALL2 DO-THORNS,IN-GARDEN
|
|
IN? QUEEN,IN-GARDEN \FALSE
|
|
PRINT TAB
|
|
ICALL1 QUEEN-SEES-YOU
|
|
RFALSE
|
|
|
|
|
|
.FUNCT ROOT-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?TAKE,V?PICK,V?UPROOT /?PRD7
|
|
EQUAL? PRSA,V?PULL,V?LOOSEN,V?RAISE \?CCL5
|
|
?PRD7: FSET? PRSO,TOUCHED /?CCL5
|
|
ICALL1 PICK-ROOT
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?EAT,V?TASTE \?CCL11
|
|
IN? PRSO,PLAYER /?CND12
|
|
ICALL2 YOUD-HAVE-TO,STR?680
|
|
RTRUE
|
|
?CND12: PRINTI "You gnaw thoughtfully on "
|
|
ICALL1 THE-PRINT
|
|
PRINTI ", "
|
|
FSET? PRSO,NEUTRALIZED /?CND14
|
|
FSET? PRSO,SEEN /?CND14
|
|
FSET PRSO,SEEN
|
|
PRINTI "and newfound vitality bubbles in your veins."
|
|
CRLF
|
|
PUTP PRSO,P?VALUE,0
|
|
GET STATS,STRENGTH
|
|
DIV STACK,3 >X
|
|
LESS? X,1 \?CND17
|
|
SET 'X,1
|
|
?CND17: ICALL UPDATE-STAT,X,STRENGTH,TRUE-VALUE
|
|
RTRUE
|
|
?CND14: PRINTI "but its virtue appears to be "
|
|
FSET? PRSO,SEEN \?CND19
|
|
PRINTR "spent."
|
|
?CND19: PRINTR "neutralized."
|
|
?CCL11: EQUAL? PRSA,V?DRINK,V?DRINK-FROM \?CCL22
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL22: EQUAL? PRSA,V?PLANT \FALSE
|
|
ICALL1 DO-PLANT
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GENERIC-MORGIA-F,TBL,LEN
|
|
ASSIGNED? 'LEN /?CND1
|
|
GET TBL,0 >LEN
|
|
?CND1: RETURN ROOT
|
|
|
|
|
|
.FUNCT PICK-ROOT
|
|
EQUAL? PRSI,FALSE-VALUE,HANDS /?CND1
|
|
ICALL2 PRSI-FUMBLE,BUSH
|
|
RTRUE
|
|
?CND1: BOR NEW-DBOX,SHOWING-INV >NEW-DBOX
|
|
SET 'P-IT-OBJECT,ROOT
|
|
MOVE ROOT,PLAYER
|
|
FCLEAR ROOT,NODESC
|
|
FSET ROOT,TOUCHED
|
|
PRINTI "Reaching carefully to avoid the thorns, you yank a loose root out from under "
|
|
ICALL2 THE-PRINT,BUSH
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BROG-F,CONTEXT,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-CONT \FALSE
|
|
FSET? BROG,OPENED /FALSE
|
|
ZERO? PRSO \?CCL8
|
|
ZERO? PRSI /FALSE
|
|
?CCL8: PRINT CANT
|
|
PRINTI "see that here."
|
|
CRLF
|
|
RETURN 2
|
|
?CCL3: ZERO? NOW-PRSI? /?CCL14
|
|
FSET? PRSO,CONTAINER /FALSE
|
|
EQUAL? PRSA,V?PUT,V?EMPTY-INTO \FALSE
|
|
ICALL1 NO-BROG-OPENINGS
|
|
RTRUE
|
|
?CCL14: EQUAL? PRSA,V?EXAMINE,V?SEARCH \?CCL20
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is a full head taller than you, but not as ugly"
|
|
FSET? PRSO,OPENED \?CCL23
|
|
PRINTI ". Its secret compartment is still open"
|
|
JUMP ?CND21
|
|
?CCL23: FSET? PRSO,CONTAINER \?CND21
|
|
PRINTI ". Looking closely, you can trace the outlines of a secret compartment"
|
|
?CND21: PRINT PERIOD
|
|
RTRUE
|
|
?CCL20: EQUAL? PRSA,V?WALK-AROUND,V?LOOK-BEHIND \?CCL26
|
|
PRINTI "You circle "
|
|
ICALL1 THE-PRINT
|
|
PRINTI ", but find no"
|
|
EQUAL? P-PRSA-WORD,W?HIDE \?CND27
|
|
PRINTR " good places to hide."
|
|
?CND27: PRINTI "thing "
|
|
CALL2 PICK-NEXT,YAWNS
|
|
PRINT STACK
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL26: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL30
|
|
ICALL1 CTHE-PRINT
|
|
PRINT STR?835
|
|
RTRUE
|
|
?CCL30: INTBL? PRSA,X-VERBS,CLIMB-DOWN-VERBS >X \?CCL32
|
|
ICALL1 NOT-ON
|
|
RTRUE
|
|
?CCL32: FSET? PRSO,CONTAINER /FALSE
|
|
EQUAL? PRSA,V?LOOK-INSIDE,V?OPEN,V?OPEN-WITH /?CTR35
|
|
EQUAL? PRSA,V?CLOSE,V?EMPTY \FALSE
|
|
?CTR35: ICALL1 NO-BROG-OPENINGS
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NO-BROG-OPENINGS
|
|
ICALL2 CTHE-PRINT,BROG
|
|
PRINTR " has no obvious openings."
|
|
|
|
|
|
.FUNCT RUG-F,CONTEXT,X,L
|
|
LOC RUG >L
|
|
EQUAL? CONTEXT,M-OBJDESC \?CCL3
|
|
ICALL2 PRINTCA,RUG
|
|
PRINT STR?792
|
|
PRINT LTHE
|
|
ICALL1 GROUND-WORD
|
|
CALL2 SEE-ANYTHING-IN?,RUG
|
|
ZERO? STACK /?CND4
|
|
PRINT STR?773
|
|
ICALL2 CONTENTS,RUG
|
|
SET 'P-IT-OBJECT,PRSO
|
|
?CND4: PRINTC PER
|
|
RTRUE
|
|
?CCL3: ZERO? CONTEXT \FALSE
|
|
ZERO? NOW-PRSI? /?CCL9
|
|
EQUAL? PRSA,V?TOUCH-TO \?CCL12
|
|
ICALL2 TOUCH-RUG-WITH,PRSO
|
|
RTRUE
|
|
?CCL12: EQUAL? PRSA,V?PUT \?CCL14
|
|
ICALL PERFORM,V?PUT-ON,PRSO,PRSI
|
|
RTRUE
|
|
?CCL14: EQUAL? PRSA,V?PUT-UNDER,V?PUT-BEHIND \FALSE
|
|
EQUAL? PRSI,PRSO \?CCL18
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL18: CALL1 GOT-RUG?
|
|
ZERO? STACK \TRUE
|
|
ICALL2 STASH,UNDERUG
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?EXAMINE \?CCL21
|
|
ICALL1 CTHE-PRINT
|
|
IN? PLAYER,PRSO \?CND22
|
|
PRINTI " on which you stand"
|
|
?CND22: PRINTI " is dreadfully old and ratty"
|
|
CALL1 SEE-ANYTHING-IN?
|
|
ZERO? STACK /?CND24
|
|
PRINT STR?773
|
|
ICALL1 CONTENTS
|
|
SET 'P-IT-OBJECT,PRSO
|
|
?CND24: PRINT PERIOD
|
|
RTRUE
|
|
?CCL21: EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE,V?LOOK-ON \?CCL27
|
|
IN? PLAYER,PRSO \?CCL30
|
|
ICALL1 ASIDE-FROM
|
|
JUMP ?CND28
|
|
?CCL30: PRINT YOU-SEE
|
|
?CND28: ICALL1 CONTENTS
|
|
PRINT SON
|
|
ICALL1 THE-PRINT
|
|
EQUAL? PRSA,V?SEARCH \?CND31
|
|
FIRST? UNDERUG >X \?CND31
|
|
PRINTI ". "
|
|
IN? PLAYER,PRSO \?CND35
|
|
ICALL1 FEEL-UNDER-RUG
|
|
RTRUE
|
|
?CND35: PRINTI "Peering underneath, you find "
|
|
ICALL2 CONTENTS,UNDERUG
|
|
?CND31: SET 'P-IT-OBJECT,PRSO
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL27: EQUAL? PRSA,V?LOOK-UNDER,V?LOOK-BEHIND \?CCL38
|
|
PRINT YOU-SEE
|
|
ICALL2 CONTENTS,UNDERUG
|
|
SET 'P-IT-OBJECT,PRSO
|
|
PRINTI " under "
|
|
ICALL2 THE-PRINT,UNDERUG
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL38: EQUAL? PRSA,V?WEAR,V?STAND-UNDER,V?ENTER /?CTR39
|
|
EQUAL? PRSA,V?THROUGH,V?SMELL \?CCL40
|
|
?CTR39: EQUAL? P-PRSA-WORD,W?LAY \?CCL45
|
|
ICALL1 LIE-ON-RUG
|
|
RTRUE
|
|
?CCL45: LOC PLAYER
|
|
EQUAL? L,PLAYER,STACK /?CCL47
|
|
ICALL TAKE-FIRST,PRSO,L
|
|
RTRUE
|
|
?CCL47: EQUAL? PRSA,V?SMELL /?CND43
|
|
PRINTI "You duck under "
|
|
PRINT STR?836
|
|
PRINTI "out. "
|
|
?CND43: PRINTR "Phew!"
|
|
?CCL40: EQUAL? PRSA,V?TAKE \?CCL50
|
|
CALL1 ITAKE
|
|
ZERO? STACK /TRUE
|
|
ICALL MOVE-ALL,UNDERUG,L
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
PRINTI "You lift "
|
|
ICALL1 THE-PRINT
|
|
ICALL2 OUT-OF-LOC,L
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL50: EQUAL? PRSA,V?TOUCH \?CCL54
|
|
EQUAL? P-PRSA-WORD,W?RUB,W?PET,W?PAT \?CND55
|
|
ICALL2 TOUCH-RUG-WITH,HANDS
|
|
RTRUE
|
|
?CND55: ICALL1 FEEL-RUG
|
|
RTRUE
|
|
?CCL54: EQUAL? PRSA,V?STAND-ON,V?CLIMB-ON,V?SIT /?CTR57
|
|
EQUAL? PRSA,V?LIE-DOWN,V?RIDE \?CCL58
|
|
?CTR57: IN? PLAYER,PRSO \?CCL63
|
|
PRINT ALREADY
|
|
PRINTR "on it."
|
|
?CCL63: CALL1 GOT-RUG?
|
|
ZERO? STACK \TRUE
|
|
EQUAL? L,HERE /?CCL67
|
|
ICALL TAKE-FIRST,PRSO,L
|
|
RTRUE
|
|
?CCL67: EQUAL? PRSA,V?SIT,V?LIE-DOWN \?CND61
|
|
ICALL1 LIE-ON-RUG
|
|
RTRUE
|
|
?CND61: MOVE PLAYER,RUG
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
PRINTI "You step onto "
|
|
ICALL1 THE-PRINT
|
|
ICALL1 RELOOK
|
|
RTRUE
|
|
?CCL58: EQUAL? PRSA,V?EXIT,V?LEAVE,V?ESCAPE \?CCL70
|
|
IN? PLAYER,PRSO /?CND71
|
|
ICALL1 NOT-ON
|
|
RTRUE
|
|
?CND71: MOVE PLAYER,L
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
PRINTI "You step off "
|
|
ICALL1 THE-PRINT
|
|
ICALL1 RELOOK
|
|
ICALL1 DO-CHARGE?
|
|
RETURN 2
|
|
?CCL70: EQUAL? PRSA,V?CROSS \FALSE
|
|
PRINTI "You walk across "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
ICALL1 DO-CHARGE?
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LIE-ON-RUG
|
|
PRINTI "You sprawl onto "
|
|
PRINT STR?836
|
|
PRINTR "off. Phew!"
|
|
|
|
|
|
.FUNCT FEEL-RUG,X
|
|
FIRST? UNDERUG >X \?CND1
|
|
ICALL1 FEEL-UNDER-RUG
|
|
RTRUE
|
|
?CND1: PRINTR "It feels soft and hairy."
|
|
|
|
|
|
.FUNCT FEEL-UNDER-RUG
|
|
PRINTR "It feels as if there's something underneath."
|
|
|
|
|
|
.FUNCT TOUCH-RUG-WITH,OBJ
|
|
PRINTI "You rub "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI " against the rug"
|
|
EQUAL? OBJ,HANDS,FEET \?CCL3
|
|
PRINTI ". "
|
|
ICALL1 FEEL-RUG
|
|
JUMP ?CND1
|
|
?CCL3: PRINT PERIOD
|
|
?CND1: FSET? OBJ,FERRIC /FALSE
|
|
ICALL1 DO-CHARGE?
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DO-CHARGE?
|
|
EQUAL? HERE,ON-BRIDGE /FALSE
|
|
PRINT TAB
|
|
PRINTI "You feel "
|
|
ZERO? STATIC \?CCL5
|
|
PRINTI "the hairs on the back of your neck stand on end"
|
|
JUMP ?CND3
|
|
?CCL5: PRINTI "your body hair tingle again"
|
|
?CND3: PRINT PERIOD
|
|
GET STATS,ENDURANCE
|
|
IGRTR? 'STATIC,STACK \?CCL8
|
|
PRINT TAB
|
|
ICALL2 ITALICIZE,STR?837
|
|
PRINTI "! The built-up static potential in your body discharges in a deadly flash"
|
|
ICALL1 JIGS-UP
|
|
RTRUE
|
|
?CCL8: IN? DUST,HERE \TRUE
|
|
PRINT TAB
|
|
ICALL2 CTHE-PRINT,DUST
|
|
PRINTI " crackle"
|
|
FSET? DUST,PLURAL /?CND10
|
|
PRINTC 115
|
|
?CND10: PRINTR " uneasily."
|
|
|
|
|
|
.FUNCT GOT-RUG?
|
|
IN? RUG,PLAYER /?CCL2
|
|
LOC RUG
|
|
IN? STACK,PLAYER \FALSE
|
|
?CCL2: ICALL YOUD-HAVE-TO,STR?519,RUG
|
|
RTRUE
|
|
|
|
|
|
.FUNCT UNDERUG-F,CONTEXT,OBJ,X
|
|
EQUAL? CONTEXT,M-CONT \FALSE
|
|
SET 'OBJ,PRSO
|
|
ZERO? NOW-PRSI? /?CND4
|
|
SET 'OBJ,PRSI
|
|
?CND4: ZERO? OBJ /FALSE
|
|
EQUAL? PRSA,V?TAKE /FALSE
|
|
INTBL? PRSA,SEEVERBS,NSVERBS >X \?CCL12
|
|
PRINTI "That'd be easier if you took "
|
|
JUMP ?CND6
|
|
?CCL12: PRINT STR?811
|
|
?CND6: ICALL2 THE-PRINT,OBJ
|
|
PRINTI " out from under "
|
|
ICALL2 THE-PRINT,UNDERUG
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RING-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?READ \?CCL5
|
|
ICALL1 O-WEARING
|
|
PRINTR " is encircled with a pattern of curly lines resembling tongues of flame."
|
|
?CCL5: EQUAL? PRSA,V?WEAR \?CCL7
|
|
FSET? PRSO,WORN /?CCL7
|
|
CALL1 DONT-HAVE?
|
|
ZERO? STACK \TRUE
|
|
FSET PRSO,WORN
|
|
BOR NEW-DBOX,SHOWING-INV >NEW-DBOX
|
|
PRINTI "A chill passes through your body as you slip "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " onto your finger."
|
|
?CCL7: EQUAL? PRSA,V?TAKE-OFF \FALSE
|
|
FSET? PRSO,WORN \FALSE
|
|
CALL1 HOTFOOT?
|
|
ZERO? STACK \TRUE
|
|
FCLEAR PRSO,WORN
|
|
BOR NEW-DBOX,SHOWING-INV >NEW-DBOX
|
|
PRINTI "You slip "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " off your finger."
|
|
|
|
|
|
.FUNCT TRACKS-F,CONTEXT
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
PRINTI "Tiny "
|
|
PRINTD TRACKS
|
|
PRINTI " are visible in the snow."
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? /?CCL7
|
|
EQUAL? PRSA,V?TOUCH-TO \?CCL10
|
|
EQUAL? P-PRSA-WORD,W?RUB \?CCL10
|
|
ICALL2 RUBOUT-TRACKS,PRSO
|
|
RTRUE
|
|
?CCL10: EQUAL? PRSA,V?PUT-ON,V?EMPTY-INTO \FALSE
|
|
ICALL PERFORM,V?DROP,PRSO
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?EXAMINE,V?READ,V?LOOK-ON /?CTR14
|
|
EQUAL? PRSA,V?FOLLOW \?CCL15
|
|
?CTR14: ICALL1 CTHE-PRINT
|
|
PRINTI " lead behind "
|
|
ICALL2 THE-PRINT,OAK
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?CLEAN-OFF \?CCL19
|
|
EQUAL? PRSI,FALSE-VALUE,GROUND,ROOMS /?CCL21
|
|
EQUAL? PRSI,SNOW \?CND20
|
|
?CCL21: ICALL1 RUBOUT-TRACKS
|
|
RTRUE
|
|
?CND20: ICALL1 CTHE-PRINT
|
|
PRINTI " aren't on "
|
|
ICALL1 THEI-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL19: EQUAL? PRSA,V?ERASE-WITH,V?HIDE,V?KICK /?CTR24
|
|
EQUAL? PRSA,V?TAKE-OFF,V?MUNG,V?CLEAN \FALSE
|
|
?CTR24: ICALL1 RUBOUT-TRACKS
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RUBOUT-TRACKS,OBJ
|
|
REMOVE TRACKS
|
|
SET 'P-THEM-OBJECT,NOT-HERE-OBJECT
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
PRINTI "You obliterate all trace of "
|
|
ICALL2 THE-PRINT,TRACKS
|
|
ZERO? OBJ /?CND1
|
|
PRINT WITH
|
|
ICALL2 THE-PRINT,OBJ
|
|
?CND1: PRINT PERIOD
|
|
ICALL UPDATE-STAT,15,COMPASSION,TRUE-VALUE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GURTH-F,X
|
|
EQUAL? HERE,IN-GURTH,AT-MAGICK,IN-MAGICK \?CCL3
|
|
CALL1 HERE-F
|
|
RSTACK
|
|
?CCL3: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL5
|
|
SET 'X,P?SW
|
|
EQUAL? HERE,XROADS \?CND6
|
|
SET 'X,P?NORTH
|
|
?CND6: ICALL2 DO-WALK,X
|
|
RTRUE
|
|
?CCL5: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \FALSE
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CELLAR-F,X
|
|
GETB CELLAR-ROOMS,0 >X
|
|
INTBL? HERE,CELLAR-ROOMS+1,X,1 >X /?CTR2
|
|
EQUAL? HERE,BARRELTOP \?CCL3
|
|
?CTR2: CALL1 HERE-F
|
|
RSTACK
|
|
?CCL3: INTBL? PRSA,E-VERBS,ENTER-VERBS >X /?CTR6
|
|
EQUAL? PRSA,V?CLIMB-DOWN \?CCL7
|
|
?CTR6: EQUAL? HERE,IN-KITCHEN \?CND10
|
|
ICALL2 DO-WALK,P?DOWN
|
|
RTRUE
|
|
?CND10: ICALL1 CANT-FROM-HERE
|
|
RTRUE
|
|
?CCL7: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \FALSE
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SPADE-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " is worn but serviceable."
|
|
|
|
|
|
.FUNCT GLASS-F,X
|
|
CALL2 NOUN-USED?,W?SAND
|
|
ZERO? STACK /?CND1
|
|
EQUAL? PRSA,V?SHAKE /?CND1
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE,V?SEARCH \?CCL6
|
|
PRINTI "The sand in "
|
|
ICALL1 THE-PRINT
|
|
PRINT SIS
|
|
ZERO? GLASS-TOP /?CND7
|
|
PRINTR "falling in a steady trickle."
|
|
?CND7: PRINTR "exceptionally fine."
|
|
?CCL6: INTBL? PRSA,TOUCHVERBS,NTOUCHES \?CND1
|
|
PRINT CANT
|
|
PRINTI "reach the sand. "
|
|
ICALL2 ITS-SEALED,GLASS
|
|
RTRUE
|
|
?CND1: ZERO? NOW-PRSI? /?CCL12
|
|
EQUAL? PRSA,V?PUT,V?EMPTY-INTO \FALSE
|
|
ICALL2 ITS-SEALED,GLASS
|
|
RTRUE
|
|
?CCL12: EQUAL? PRSA,V?OPEN,V?OPEN-WITH,V?REACH-IN /?CTR15
|
|
EQUAL? PRSA,V?CLOSE \?CCL16
|
|
?CTR15: ICALL2 ITS-SEALED,GLASS
|
|
RTRUE
|
|
?CCL16: EQUAL? PRSA,V?SHAKE \?CCL20
|
|
IN? PRSO,PLAYER /?CND21
|
|
ICALL2 YOUD-HAVE-TO,STR?680
|
|
RTRUE
|
|
?CND21: PRINTI "You give the "
|
|
ZERO? GLASS-TOP /?CND23
|
|
PRINTI "trickling sand in the "
|
|
?CND23: PRINTD GLASS
|
|
PRINTI " a vigorous shake."
|
|
CRLF
|
|
ZERO? GLASS-TOP \?PRG27
|
|
ICALL2 QUEUE,I-GLASS
|
|
ICALL1 ARCH-ON
|
|
?PRG27: RANDOM 4 >X
|
|
EQUAL? X,GLASS-TOP /?PRG27
|
|
SET 'GLASS-TOP,X
|
|
SUB X,FULL
|
|
SUB 0,STACK >GLASS-BOT
|
|
RTRUE
|
|
?CCL20: EQUAL? PRSA,V?TURN,V?SPIN \?CCL32
|
|
EQUAL? PRSA,V?SPIN /?CCL34
|
|
EQUAL? PRSI,FALSE-VALUE,HANDS \?CND33
|
|
?CCL34: IN? PRSO,PLAYER /?CND37
|
|
ICALL2 YOUD-HAVE-TO,STR?680
|
|
RTRUE
|
|
?CND37: PRINTI "You turn over "
|
|
ICALL1 THE-PRINT
|
|
PRINTI ", and watch as the sand "
|
|
ZERO? GLASS-TOP \?CND39
|
|
SET 'GLASS-TOP,FULL
|
|
SET 'GLASS-BOT,0
|
|
ICALL2 QUEUE,I-GLASS
|
|
PRINTI "begins to fall in a slow, steady trickle."
|
|
CRLF
|
|
ICALL1 ARCH-ON
|
|
RTRUE
|
|
?CND39: PRINTI "reverses "
|
|
PRINTD INTDIR
|
|
PRINTI " and resumes its steady trickle."
|
|
CRLF
|
|
SET 'X,GLASS-TOP
|
|
SET 'GLASS-TOP,GLASS-BOT
|
|
SET 'GLASS-BOT,X
|
|
RTRUE
|
|
?CND33: PRINT DONT
|
|
PRINTI "need "
|
|
ICALL1 THEI-PRINT
|
|
PRINT STO
|
|
PRINTB P-PRSA-WORD
|
|
PRINTC SP
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL32: EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE,V?SEARCH \?CCL42
|
|
PRINTI "The miniature "
|
|
PRINTD GLASS
|
|
PRINTI " is wrought of brass and crystal"
|
|
ZERO? GLASS-TOP /?CND43
|
|
PRINTR ". Fine, white sand is falling through it in a steady trickle."
|
|
?CND43: PRINTR ", and filled with fine, white sand."
|
|
?CCL42: EQUAL? PRSA,V?LAMP-OFF \FALSE
|
|
EQUAL? P-PRSA-WORD,W?STOP,W?HALT \FALSE
|
|
ZERO? GLASS-TOP \?CND49
|
|
PRINTI "The sand in "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " isn't trickling"
|
|
PRINT AT-MOMENT
|
|
RTRUE
|
|
?CND49: PRINTR "Patience. It'll stop eventually."
|
|
|
|
|
|
.FUNCT ITS-SEALED,OBJ
|
|
ICALL2 CTHE-PRINT,OBJ
|
|
PRINTR " is permanently sealed."
|
|
|
|
|
|
.FUNCT SCABBARD-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?PUT,V?EMPTY-INTO \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
EQUAL? PRSO,SWORD \?CCL8
|
|
PRINTI " seems oddly reluctant to enter "
|
|
JUMP ?CND6
|
|
?CCL8: GETP PRSO,P?SIZE
|
|
GRTR? STACK,2 \?CCL10
|
|
PRINTI " won't fit in "
|
|
JUMP ?CND6
|
|
?CCL10: PRINTI " would just fall through "
|
|
?CND6: ICALL1 THEI-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "Only the mightiest blade could be worthy of such a sheath."
|
|
|
|
|
|
.FUNCT RFOOT-F
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?TOUCH-TO \FALSE
|
|
EQUAL? PRSO,HANDS,ME \FALSE
|
|
ICALL1 RUB-RFOOT
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL9
|
|
PRINTR "Poor wittle bunny wabbit. Sniff."
|
|
?CCL9: EQUAL? PRSA,V?EAT,V?TASTE \?CCL11
|
|
PRINTR "Gross."
|
|
?CCL11: EQUAL? PRSA,V?TOUCH \FALSE
|
|
EQUAL? P-PRSA-WORD,W?RUB \FALSE
|
|
ICALL1 RUB-RFOOT
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RUB-RFOOT
|
|
PRINTI "You run a finger across "
|
|
ICALL2 THE-PRINT,RFOOT
|
|
PRINT PERIOD
|
|
FSET? RFOOT,MUNGED /TRUE
|
|
FSET? RFOOT,NEUTRALIZED /TRUE
|
|
FSET RFOOT,MUNGED
|
|
ICALL UPDATE-STAT,10,LUCK,TRUE-VALUE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CLOVER-F,CONTEXT
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
ICALL2 PRINTCA,CLOVER
|
|
PRINTI " is growing at your feet."
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL9
|
|
PRINTI "Aside from its four leaves, the clover"
|
|
PRINT STR?667
|
|
RTRUE
|
|
?CCL9: CALL1 FIRST-TAKE?
|
|
ZERO? STACK \TRUE
|
|
EQUAL? PRSA,V?COUNT \FALSE
|
|
CALL2 NOUN-USED?,W?LEAVES
|
|
ZERO? STACK /FALSE
|
|
PRINTR "One. Two. Three. Four. Satisfied?"
|
|
|
|
|
|
.FUNCT SHOE-F,CONTEXT
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
ICALL2 PRINTCA,SHOE
|
|
PRINT STR?497
|
|
ICALL2 THE-PRINT,GCORNER
|
|
PRINTC PER
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
CALL1 FIRST-TAKE?
|
|
ZERO? STACK \TRUE
|
|
EQUAL? PRSA,V?WEAR \FALSE
|
|
PRINTR "No."
|
|
|
|
|
|
.FUNCT DIAMOND-F,CONTEXT,X,TBL
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
ICALL2 PRINTCA,DIAMOND
|
|
PRINTI " glitters at your feet."
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?TAKE \?CCL9
|
|
FSET? PRSO,TOUCHED /?CCL9
|
|
CALL1 ITAKE
|
|
ZERO? STACK /TRUE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " feels unusually hard as you pick it up. Hard as a diamond, in fact."
|
|
CRLF
|
|
PUTP PRSO,P?DESCFCN,0
|
|
PUTP PRSO,P?SDESC,0
|
|
GETPT PRSO,P?SYNONYM >TBL
|
|
PUT TBL,0,W?DIAMOND
|
|
PUT TBL,1,W?GEM
|
|
PUT TBL,2,W?STONE
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \FALSE
|
|
FSET? PRSO,TOUCHED /?CND16
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " glitters invitingly."
|
|
?CND16: PRINTR "This remarkable gem is fashioned in the likeness of a snowflake."
|
|
|
|
|
|
.FUNCT HANDLE-SCROLL-F,X,WRD
|
|
ZERO? NOW-PRSI? /?CND1
|
|
EQUAL? PRSA,V?PUT-ON,V?EMPTY-INTO \FALSE
|
|
ICALL1 WASTE-OF-TIME
|
|
RTRUE
|
|
?CND1: GETPT PRSO,P?SYNONYM
|
|
GET STACK,1 >WRD
|
|
EQUAL? PRSA,V?SAY,V?YELL \?CCL7
|
|
EQUAL? WRD,W?ZZZP /?CCL7
|
|
CALL2 NOUN-USED?,WRD
|
|
ZERO? STACK /?CCL7
|
|
GETP PRSO,P?EFFECT
|
|
CALL STACK,PRSO >X
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?READ \?CCL12
|
|
ICALL1 READ-SCROLL
|
|
RTRUE
|
|
?CCL12: CALL1 FIRST-TAKE?
|
|
ZERO? STACK \TRUE
|
|
EQUAL? PRSA,V?RIP,V?SQUEEZE \FALSE
|
|
ICALL1 VANISH
|
|
ICALL2 ITALICIZE,STR?615
|
|
PRINTI "! "
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " evaporates in a flash."
|
|
|
|
|
|
.FUNCT GENERIC-PAPER-F,TBL,LEN
|
|
ASSIGNED? 'LEN /?CND1
|
|
GET TBL,0 >LEN
|
|
?CND1: ADD TBL,2
|
|
INTBL? P-IT-OBJECT,STACK,LEN >TBL \FALSE
|
|
RETURN P-IT-OBJECT
|
|
|
|
|
|
.FUNCT READ-SCROLL,SYNS,TBL,WRD,STAT,X
|
|
IN? PRSO,PLAYER /?CND1
|
|
PRINTI "The writing on "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " is quite tiny. You'll have to pick it up to read it."
|
|
?CND1: GETPT PRSO,P?SYNONYM >SYNS
|
|
GET SYNS,1 >WRD
|
|
EQUAL? WRD,W?ZZZP \?CND3
|
|
CALL2 PICK-ONE,MAGIC-WORDS >TBL
|
|
PUT TBL,2,1
|
|
GET TBL,0 >WRD
|
|
PUT SYNS,1,WRD
|
|
GETPT PRSO,P?ADJECTIVE
|
|
PUT STACK,1,WRD
|
|
GET TBL,1
|
|
PUTP PRSO,P?NAME-TABLE,STACK
|
|
?CND3: PRINTI "The meaning of "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " is obscure. It seems to have something to do with "
|
|
GETP PRSO,P?DNUM
|
|
PRINT STACK
|
|
PRINTI ". "
|
|
GETP PRSO,P?READIQ >X
|
|
GET STATS,INTELLIGENCE >STAT
|
|
LESS? STAT,X /?CCL7
|
|
PRINT STR?838
|
|
EQUAL? HOST,APPLE-2E,APPLE-2C,C128 \?CCL10
|
|
PRINTC 34
|
|
JUMP ?CND8
|
|
?CCL10: HLIGHT H-ITALIC
|
|
?CND8: GETP PRSO,P?NAME-TABLE
|
|
ICALL2 PRINT-TABLE,STACK
|
|
EQUAL? HOST,APPLE-2E,APPLE-2C,C128 \?CND11
|
|
PRINTC 34
|
|
?CND11: HLIGHT H-NORMAL
|
|
PRINT SIS
|
|
JUMP ?CND5
|
|
?CCL7: ZERO? VT220 \?CCL14
|
|
PRINTI "Strange, flowing runes are "
|
|
JUMP ?CND5
|
|
?CCL14: PRINTI "The runes "
|
|
ICALL2 RUNE,WRD
|
|
PRINTI " are "
|
|
?CND5: PRINTI "inscribed across the top"
|
|
LESS? STAT,X \?CND15
|
|
PRINTI "; you could probably understand them if you'd studied harder at school"
|
|
?CND15: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RUNE,WRD,PTR,LEN,CHAR,X
|
|
DIROUT D-TABLE-ON,AUX-TABLE
|
|
PRINTB WRD
|
|
DIROUT D-TABLE-OFF
|
|
GET AUX-TABLE,0
|
|
ADD STACK,1 >LEN
|
|
SET 'PTR,2
|
|
?PRG1: FONT F-NEWFONT >X
|
|
GETB AUX-TABLE,PTR >CHAR
|
|
LESS? CHAR,97 /?CCL4
|
|
GRTR? CHAR,122 \?CND3
|
|
?CCL4: FONT F-DEFAULT >X
|
|
?CND3: PRINTC CHAR
|
|
IGRTR? 'PTR,LEN \?PRG1
|
|
FONT F-DEFAULT >X
|
|
RFALSE
|
|
|
|
|
|
.FUNCT DO-PARTAY,OBJ
|
|
ASSIGNED? 'OBJ /?CND1
|
|
SET 'OBJ,PRSO
|
|
?CND1: CALL2 FINE-PRINT?,OBJ
|
|
ZERO? STACK \TRUE
|
|
ICALL2 VANISH,OBJ
|
|
ICALL2 ITALICIZE,STR?615
|
|
PRINTI "! "
|
|
ICALL2 CTHE-PRINT,OBJ
|
|
PRINT STR?578
|
|
PRINTR ". At the same moment, a housewife in a suburb of Mareilon watches in astonishment as her lawn furniture silently rearranges itself."
|
|
|
|
|
|
.FUNCT DO-BLESS-WEAPON,SCR,CNT,OBJ,WOBJ,X
|
|
ASSIGNED? 'SCR /?CND1
|
|
SET 'SCR,PRSO
|
|
?CND1: CALL2 FINE-PRINT?,SCR
|
|
ZERO? STACK \TRUE
|
|
ICALL2 VANISH,SCR
|
|
ICALL2 ITALICIZE,STR?615
|
|
PRINTI "! "
|
|
ICALL2 CTHE-PRINT,SCR
|
|
PRINT STR?578
|
|
FIRST? PLAYER >OBJ \?CND5
|
|
?PRG7: FSET? OBJ,WEAPON \?CND9
|
|
FSET? OBJ,WIELDED \?CND9
|
|
GETP OBJ,P?EFFECT >X
|
|
ZERO? X /?CND9
|
|
INC 'CNT
|
|
SET 'WOBJ,OBJ
|
|
DIV X,2
|
|
ADD X,STACK
|
|
PUTP OBJ,P?EFFECT,STACK
|
|
GETP OBJ,P?VALUE >X
|
|
DIV X,3
|
|
ADD X,STACK
|
|
PUTP OBJ,P?VALUE,STACK
|
|
?CND9: NEXT? OBJ >OBJ /?PRG7
|
|
?CND5: ZERO? CNT /?CND17
|
|
PRINT COMMA-AND
|
|
EQUAL? CNT,1 \?CCL21
|
|
ICALL2 SAY-YOUR,WOBJ
|
|
PRINTI " flickers"
|
|
JUMP ?CND19
|
|
?CCL21: PRINTI "your weapons flicker"
|
|
?CND19: PRINTI " with newfound power"
|
|
?CND17: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DO-BLESS-ARMOR,SCR,CNT,NAC,OBJ,WOBJ,X
|
|
ASSIGNED? 'SCR /?CND1
|
|
SET 'SCR,PRSO
|
|
?CND1: CALL2 FINE-PRINT?,SCR
|
|
ZERO? STACK \TRUE
|
|
ICALL2 VANISH,SCR
|
|
ICALL2 ITALICIZE,STR?615
|
|
PRINTI "! "
|
|
ICALL2 CTHE-PRINT,SCR
|
|
PRINT STR?578
|
|
FIRST? PLAYER >OBJ \?CND5
|
|
?PRG7: FSET? OBJ,WORN \?CND9
|
|
GETP OBJ,P?EFFECT >X
|
|
ZERO? X /?CND9
|
|
INC 'CNT
|
|
SET 'WOBJ,OBJ
|
|
DIV X,2
|
|
ADD X,STACK >X
|
|
GRTR? X,STATMAX \?CND13
|
|
SET 'X,STATMAX
|
|
?CND13: ADD NAC,X >NAC
|
|
PUTP OBJ,P?EFFECT,X
|
|
GETP OBJ,P?VALUE >X
|
|
DIV X,3
|
|
ADD X,STACK
|
|
PUTP OBJ,P?VALUE,STACK
|
|
?CND9: NEXT? OBJ >OBJ /?PRG7
|
|
?CND5: ZERO? CNT /?CND17
|
|
PRINT COMMA-AND
|
|
EQUAL? CNT,1 \?CCL21
|
|
ICALL2 SAY-YOUR,WOBJ
|
|
JUMP ?CND19
|
|
?CCL21: PRINTI "your armor"
|
|
?CND19: PRINTI " flickers with newfound ruggedness"
|
|
?CND17: PRINT PERIOD
|
|
ZERO? NAC /TRUE
|
|
GET STATS,AC
|
|
SUB NAC,STACK
|
|
ICALL UPDATE-STAT,STACK,AC
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DO-FILFRE,OBJ
|
|
ASSIGNED? 'OBJ /?CND1
|
|
SET 'OBJ,PRSO
|
|
?CND1: CALL2 FINE-PRINT?,OBJ
|
|
ZERO? STACK \TRUE
|
|
ICALL2 VANISH,OBJ
|
|
ICALL1 V-$CREDITS
|
|
CRLF
|
|
PRINTR "The fireworks fade around you."
|
|
|
|
|
|
.FUNCT DO-GOTO,OBJ
|
|
ASSIGNED? 'OBJ /?CND1
|
|
SET 'OBJ,PRSO
|
|
?CND1: CALL2 FINE-PRINT?,OBJ
|
|
ZERO? STACK \TRUE
|
|
ICALL2 VANISH,OBJ
|
|
ICALL1 KERBLAM
|
|
PRINTI "A searing flash consumes "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI " in an instant, burning its runes upon your retina. Vision soon returns; but "
|
|
ICALL2 THE-PRINT,GWORD
|
|
PRINTI " continue to swim before your eyes"
|
|
EQUAL? HERE,ON-BRIDGE,IN-SKY,OVER-JUNGLE \?CND5
|
|
PRINTR " until a puff of wind disperses them."
|
|
?CND5: PRINT PERIOD
|
|
MOVE GWORD,HERE
|
|
SET 'P-THEM-OBJECT,GWORD
|
|
SET 'P-IT-OBJECT,GWORD
|
|
GETPT OBJ,P?SYNONYM
|
|
GET STACK,1 >TELEWORD
|
|
GETPT GWORD,P?SYNONYM
|
|
PUT STACK,0,TELEWORD
|
|
GETPT GWORD,P?ADJECTIVE
|
|
PUT STACK,0,TELEWORD
|
|
GETP OBJ,P?NAME-TABLE
|
|
PUTP GWORD,P?NAME-TABLE,STACK
|
|
GETP OBJ,P?READIQ
|
|
PUTP GWORD,P?READIQ,STACK
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GWORD-F,CONTEXT,DUMB,TBL,X
|
|
GETP GWORD,P?NAME-TABLE >TBL
|
|
GETP GWORD,P?READIQ >X
|
|
GET STATS,INTELLIGENCE
|
|
LESS? STACK,X \?CND1
|
|
INC 'DUMB
|
|
?CND1: EQUAL? CONTEXT,M-OBJDESC \?CCL5
|
|
ZERO? DUMB \?CCL8
|
|
PRINT STR?65
|
|
ICALL2 PRINT-TABLE,TBL
|
|
PRINTI """ hangs "
|
|
JUMP ?CND6
|
|
?CCL8: PRINTI "Glowing runes hang "
|
|
?CND6: PRINTI "suspended in midair."
|
|
RTRUE
|
|
?CCL5: ZERO? CONTEXT \FALSE
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL12
|
|
ICALL2 CTHE-PRINT,GWORD
|
|
PRINTI " seem"
|
|
PRINT STR?772
|
|
RTRUE
|
|
?CCL12: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?READ,V?LOOK-ON \?CCL16
|
|
PRINT XTHE
|
|
ZERO? DUMB /?CND17
|
|
ZERO? VT220 \?CND17
|
|
PRINTI "undecipherable "
|
|
?CND17: PRINTI "runes swim in your vision like the afterglow of a meteor"
|
|
ZERO? DUMB /?CCL22
|
|
ZERO? VT220 /?CND21
|
|
?CCL22: PRINTI ", forming the word "
|
|
ZERO? DUMB \?CCL27
|
|
HLIGHT H-ITALIC
|
|
ICALL2 PRINT-TABLE,TBL
|
|
HLIGHT H-NORMAL
|
|
JUMP ?CND21
|
|
?CCL27: ICALL2 RUNE,TELEWORD
|
|
?CND21: PRINT PERIOD
|
|
RTRUE
|
|
?CCL16: EQUAL? PRSA,V?SAY,V?YELL \?CCL29
|
|
CALL2 NOUN-USED?,TELEWORD
|
|
ZERO? STACK /?CCL29
|
|
ICALL1 SAY-TELEWORD
|
|
RTRUE
|
|
?CCL29: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " recede from your approach."
|
|
|
|
|
|
.FUNCT SAY-TELEWORD,L
|
|
LOC GWORD >L
|
|
LOC PLAYER
|
|
EQUAL? L,STACK \?CND1
|
|
ICALL2 CTHE-PRINT,GWORD
|
|
PRINTI " flare with Magick, and you "
|
|
PRINT STR?839
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND1: CALL1 GRUE-ROOM?
|
|
ZERO? STACK \?CCL4
|
|
IN? PLAYER,ARCH /?CCL4
|
|
EQUAL? ATIME,PRESENT \?CCL4
|
|
EQUAL? HERE,IN-FROON,IN-GARDEN,APLANE /?CCL4
|
|
EQUAL? HERE,IN-SPLENDOR /?CCL4
|
|
CALL1 PLAIN-ROOM?
|
|
ZERO? STACK /?CND3
|
|
?CCL4: PRINT CYOU
|
|
PRINT STR?839
|
|
PRINTI " as unseen forces struggle for control. "
|
|
ICALL1 INFLUENCE
|
|
RTRUE
|
|
?CND3: BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
SET 'OLD-HERE,FALSE-VALUE
|
|
ICALL1 SAFE-VEHICLE-EXIT
|
|
ICALL2 GOTO,L
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FINE-PRINT?,OBJ
|
|
ASSIGNED? 'OBJ /?CND1
|
|
SET 'OBJ,PRSO
|
|
?CND1: CALL2 VISIBLE?,OBJ
|
|
ZERO? STACK \?CCL5
|
|
PRINT STR?512
|
|
CRLF
|
|
RTRUE
|
|
?CCL5: IN? OBJ,PLAYER /?CCL7
|
|
ICALL2 SPUTTERS,OBJ
|
|
PRINTR "Perhaps you must hold it to wield its Magick."
|
|
?CCL7: FSET? OBJ,NEUTRALIZED \?CCL9
|
|
ICALL2 SPUTTERS,OBJ
|
|
PRINTI "Its virtue"
|
|
PRINT STR?647
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL9: CALL2 NO-MAGIC-HERE?,OBJ
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT NEXT-SCROLL?,FCN,RM,OBJ
|
|
CALL2 PICK-ONE,SCROLL-LIST >OBJ
|
|
FSET? OBJ,NODESC \FALSE
|
|
FCLEAR OBJ,NODESC
|
|
ICALL2 INIT-SCROLL,OBJ
|
|
ASSIGNED? 'FCN \?CND4
|
|
PUTP OBJ,P?DESCFCN,FCN
|
|
?CND4: ASSIGNED? 'RM /?CCL7
|
|
RETURN OBJ
|
|
?CCL7: MOVE OBJ,RM
|
|
RETURN OBJ
|
|
|
|
|
|
.FUNCT INIT-SCROLL,OBJ,TBL,X
|
|
CALL2 PICK-ONE,SCROLL-FUNCTIONS >TBL
|
|
GET TBL,0
|
|
PUTP OBJ,P?EFFECT,STACK
|
|
GET TBL,1
|
|
PUTP OBJ,P?SDESC,STACK
|
|
GET TBL,2 >X
|
|
GETPT OBJ,P?SYNONYM
|
|
PUT STACK,0,X
|
|
GETPT OBJ,P?ADJECTIVE
|
|
PUT STACK,0,X
|
|
GET TBL,3
|
|
PUTP OBJ,P?DNUM,STACK
|
|
GET TBL,4
|
|
PUTP OBJ,P?VALUE,STACK
|
|
GET TBL,5
|
|
PUTP OBJ,P?READIQ,STACK
|
|
RFALSE
|
|
|
|
|
|
.FUNCT DO-RENEWAL,OBJ,STAT,MAX,OLD
|
|
ASSIGNED? 'OBJ /?CND1
|
|
SET 'OBJ,PRSO
|
|
?CND1: CALL2 FINE-PRINT?,OBJ
|
|
ZERO? STACK \TRUE
|
|
ICALL2 VANISH,OBJ
|
|
PRINTI "A refreshing pink aura envelops you "
|
|
FIRST? PLAYER \?CND5
|
|
PRINTI "and all your possessions "
|
|
?CND5: PRINTI "as you study "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI ". Then the aura fades, and "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI " disappears."
|
|
CRLF
|
|
ICALL2 RENEW-ALL-IN,PLAYER
|
|
SET 'STAT,ENDURANCE
|
|
?PRG7: GET MAXSTATS,STAT >MAX
|
|
GET STATS,STAT >OLD
|
|
GRTR? MAX,OLD \?CND9
|
|
SUB MAX,OLD
|
|
ICALL UPDATE-STAT,STACK,STAT
|
|
?CND9: IGRTR? 'STAT,LUCK \?PRG7
|
|
ICALL1 BMODE-OFF
|
|
RTRUE
|
|
|
|
|
|
.FUNCT RENEW-ALL-IN,OBJ,L
|
|
FSET? GURDY,OPENED \?CND1
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
?CND1: LOC DAGGER >L
|
|
ZERO? L /?CND3
|
|
EQUAL? L,OBJ /?CCL5
|
|
IN? L,OBJ \?CND3
|
|
?CCL5: FSET? DAGGER,MUNGED \?CND3
|
|
FCLEAR DAGGER,MUNGED
|
|
PUTP DAGGER,P?EFFECT,30
|
|
GETP DAGGER,P?VALUE
|
|
MUL STACK,2
|
|
PUTP DAGGER,P?VALUE,STACK
|
|
ICALL REPLACE-ADJ?,DAGGER,W?RUSTED,W?ZZZP
|
|
ICALL REPLACE-ADJ?,DAGGER,W?RUSTY,W?ZZZP
|
|
?CND3: LOC TRUFFLE >L
|
|
ZERO? L /?CND10
|
|
EQUAL? L,OBJ /?CCL12
|
|
IN? L,OBJ \?CND10
|
|
?CCL12: FSET? TRUFFLE,MUNGED \?CCL17
|
|
FCLEAR TRUFFLE,MUNGED
|
|
SET 'TRUFFLE-TIMER,INIT-TRUFFLE
|
|
ICALL2 QUEUE,I-TRUFFLE
|
|
JUMP ?CND10
|
|
?CCL17: GRTR? TRUFFLE-TIMER,1 \?CND10
|
|
DIV TRUFFLE-TIMER,2 >TRUFFLE-TIMER
|
|
?CND10: LOC LANTERN >L
|
|
ZERO? L /?CND19
|
|
EQUAL? L,OBJ /?CCL21
|
|
IN? L,OBJ \?CND19
|
|
?CCL21: SET 'LAMP-LIFE,MAX-LAMP-LIFE
|
|
FCLEAR LANTERN,MUNGED
|
|
FSET LANTERN,MAPPED
|
|
ICALL REPLACE-ADJ?,LANTERN,W?BROKEN,W?ZZZP
|
|
ICALL REPLACE-ADJ?,LANTERN,W?RUSTY,W?ZZZP
|
|
ICALL REPLACE-ADJ?,LANTERN,W?RUSTED,W?ZZZP
|
|
FSET? LANTERN,OPENED /?CND19
|
|
CALL2 VISIBLE?,LANTERN
|
|
ZERO? STACK /?CND26
|
|
PRINT TAB
|
|
ICALL2 CTHE-PRINT,LANTERN
|
|
PRINTI " begins to glow."
|
|
CRLF
|
|
?CND26: ICALL1 LIGHT-LANTERN
|
|
?CND19: LOC GLASS >L
|
|
ZERO? L /?CND28
|
|
ZERO? GLASS-TOP /?CND28
|
|
EQUAL? L,OBJ /?CCL31
|
|
IN? L,OBJ \?CND28
|
|
?CCL31: SET 'GLASS-TOP,FULL
|
|
SET 'GLASS-BOT,0
|
|
?CND28: LOC BFLY >L
|
|
ZERO? L /?CND34
|
|
EQUAL? L,OBJ /?CCL36
|
|
IN? L,OBJ \?CND34
|
|
?CCL36: FSET? BFLY,LIVING /?CCL41
|
|
FSET BFLY,LIVING
|
|
FSET? BFLY,MUNGED \?CCL44
|
|
ICALL2 QUEUE,I-PILLAR
|
|
JUMP ?CND42
|
|
?CCL44: ICALL2 QUEUE,I-BFLY
|
|
?CND42: FCLEAR BFLY,SLEEPING
|
|
ICALL REPLACE-ADJ?,BFLY,W?DEAD,W?ZZZP
|
|
JUMP ?CND34
|
|
?CCL41: FSET? BFLY,MUNGED \?CND34
|
|
ICALL2 DEQUEUE,I-PILLAR
|
|
ICALL2 QUEUE,I-BFLY
|
|
FCLEAR BFLY,MUNGED
|
|
FCLEAR BFLY,TAKEABLE
|
|
ICALL REPLACE-SYN?,BFLY,W?CATERPILLAR,W?BUTTERFLY
|
|
ICALL REPLACE-SYN?,BFLY,W?ZZZP,W?FLY
|
|
ICALL REPLACE-ADJ?,BFLY,W?ZZZP,W?BUTTER
|
|
?CND34: LOC PARASOL >L
|
|
ZERO? L /FALSE
|
|
EQUAL? L,OBJ /?CCL48
|
|
IN? L,OBJ \FALSE
|
|
?CCL48: FSET? PARASOL,MUNGED \FALSE
|
|
FCLEAR PARASOL,MUNGED
|
|
ICALL REPLACE-ADJ?,PARASOL,W?BROKEN,W?CLOSED
|
|
FSET PARASOL,BUOYANT
|
|
PUTP PARASOL,P?VALUE,2
|
|
RFALSE
|
|
|
|
|
|
.FUNCT MUNG-ALL-IN,OBJ,L
|
|
FSET? GURDY,OPENED \?CND1
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
?CND1: LOC DAGGER >L
|
|
ZERO? L /?CND3
|
|
EQUAL? L,OBJ /?CCL5
|
|
IN? L,OBJ \?CND3
|
|
?CCL5: FSET DAGGER,MUNGED
|
|
PUTP DAGGER,P?EFFECT,25
|
|
GETP DAGGER,P?VALUE
|
|
DIV STACK,2
|
|
PUTP DAGGER,P?VALUE,STACK
|
|
ICALL REPLACE-ADJ?,DAGGER,W?ZZZP,W?RUSTY
|
|
ICALL REPLACE-ADJ?,DAGGER,W?ZZZP,W?RUSTED
|
|
?CND3: LOC TRUFFLE >L
|
|
ZERO? L /?CND8
|
|
EQUAL? L,OBJ /?CCL10
|
|
IN? L,OBJ \?CND8
|
|
?CCL10: FSET? TRUFFLE,MUNGED /?CND8
|
|
SET 'TRUFFLE-TIMER,INIT-TRUFFLE
|
|
?CND8: LOC GLASS >L
|
|
ZERO? L /?CND15
|
|
ZERO? GLASS-TOP /?CND15
|
|
EQUAL? L,OBJ /?CCL18
|
|
IN? L,OBJ \?CND15
|
|
?CCL18: SET 'GLASS-TOP,1
|
|
SET 'GLASS-BOT,4
|
|
?CND15: LOC LANTERN >L
|
|
ZERO? L /?CND21
|
|
EQUAL? L,OBJ /?CCL23
|
|
IN? L,OBJ \?CND21
|
|
?CCL23: LESS? LAMP-LIFE,20 /?CND26
|
|
SET 'LAMP-LIFE,20
|
|
?CND26: FCLEAR LANTERN,MAPPED
|
|
ICALL REPLACE-ADJ?,LANTERN,W?ZZZP,W?RUSTY
|
|
ICALL REPLACE-ADJ?,LANTERN,W?ZZZP,W?RUSTED
|
|
FSET? LANTERN,OPENED /?CND21
|
|
CALL2 VISIBLE?,LANTERN
|
|
ZERO? STACK /?CND30
|
|
PRINT TAB
|
|
ICALL2 CTHE-PRINT,LANTERN
|
|
PRINTI " goes out."
|
|
CRLF
|
|
?CND30: ICALL1 LANTERN-OUT
|
|
?CND21: LOC BFLY >L
|
|
ZERO? L /FALSE
|
|
EQUAL? L,OBJ /?CCL34
|
|
IN? L,OBJ \FALSE
|
|
?CCL34: FSET? BFLY,MUNGED /FALSE
|
|
ICALL1 SETUP-PILLAR
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SETUP-PILLAR
|
|
FSET? BFLY,LIVING \?CND1
|
|
ICALL2 DEQUEUE,I-BFLY
|
|
ICALL2 QUEUE,I-PILLAR
|
|
?CND1: FSET BFLY,MUNGED
|
|
FSET BFLY,TAKEABLE
|
|
ICALL REPLACE-SYN?,BFLY,W?BUTTERFLY,W?CATERPILLAR
|
|
ICALL REPLACE-SYN?,BFLY,W?FLY,W?ZZZP
|
|
ICALL REPLACE-ADJ?,BFLY,W?BUTTER,W?ZZZP
|
|
RFALSE
|
|
|
|
|
|
.FUNCT DO-GATE,OBJ,X
|
|
ASSIGNED? 'OBJ /?CND1
|
|
SET 'OBJ,PRSO
|
|
?CND1: ZERO? PALIMP-CHARGES \?CCL5
|
|
PRINTI "Nothing happens. "
|
|
ICALL2 CTHE-PRINT,OBJ
|
|
PRINTR "'s virtue seems to be exhausted."
|
|
?CCL5: EQUAL? HERE,APLANE \?CCL7
|
|
EQUAL? ABOVE,OPLAIN \?CND8
|
|
ICALL1 PERMISSION
|
|
RTRUE
|
|
?CND8: CALL1 DOWN-TO? >X
|
|
ZERO? X \?CND3
|
|
SET 'X,HILLTOP
|
|
JUMP ?CND3
|
|
?CCL7: CALL2 FINE-PRINT?,OBJ
|
|
ZERO? STACK \TRUE
|
|
GETP HERE,P?FNUM >X
|
|
ZERO? X \?CND14
|
|
SET 'X,OCITY
|
|
?CND14: DEC 'PALIMP-CHARGES
|
|
?CND3: ICALL1 PCLEAR
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
FSET PALIMP,USED
|
|
ZERO? AUTO /?CND16
|
|
ICALL1 BMODE-OFF
|
|
?CND16: FSET? APLANE,TOUCHED /?CND18
|
|
PRINTI "As you speak the Word on "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTI ", the "
|
|
FSET? HERE,INDOORS \?CCL22
|
|
PRINTI "walls, floor and "
|
|
PRINTD CEILING
|
|
JUMP ?CND20
|
|
?CCL22: PRINTI "sky and "
|
|
PRINTB W?LANDSCAPE
|
|
?CND20: PRINTI " begin to warp like a funhouse mirror"
|
|
PRINT PTAB
|
|
?CND18: ICALL1 LOSE-FOCUS
|
|
EQUAL? HERE,APLANE /?CND23
|
|
IN? SHAPE,APLANE \?CND25
|
|
REMOVE SHAPE
|
|
?CND25: CALL2 HELD?,PHASE
|
|
ZERO? STACK /?CND27
|
|
ICALL1 SETUP-PHASE
|
|
?CND27: ICALL1 SAFE-VEHICLE-EXIT
|
|
SET 'SAME-COORDS,TRUE-VALUE
|
|
SET 'ABOVE,X
|
|
ICALL1 GET-APLANE-THINGS
|
|
SET 'X,APLANE
|
|
?CND23: ICALL2 GOTO,X
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SAFE-VEHICLE-EXIT,X
|
|
LOC PLAYER >X
|
|
EQUAL? X,HERE /?CND1
|
|
EQUAL? X,POOL \?CCL5
|
|
ICALL1 SETUP-POND-EXITS
|
|
JUMP ?CND3
|
|
?CCL5: EQUAL? X,MAW \?CND3
|
|
ICALL1 CLEAR-MAW-EXITS
|
|
?CND3: FSET GONDOLA,NODESC
|
|
FCLEAR DACT,NODESC
|
|
MOVE PLAYER,HERE
|
|
?CND1: GETB CELLAR-ROOMS,0 >X
|
|
INTBL? HERE,CELLAR-ROOMS+1,X,1 >X \FALSE
|
|
FCLEAR CELLAR-DOOR,LOCKED
|
|
RFALSE
|
|
|
|
|
|
.FUNCT LOSE-FOCUS
|
|
PRINTI "Your eyes lose their focus momentarily."
|
|
CRLF
|
|
ZERO? VERBOSITY /?CND1
|
|
CRLF
|
|
?CND1: EQUAL? HERE,APLANE \FALSE
|
|
EQUAL? ABOVE,OPLAIN \?CND5
|
|
ICALL1 EXIT-IMPS
|
|
?CND5: CALL2 HELD?,PHASE
|
|
ZERO? STACK /FALSE
|
|
ICALL1 MUNG-PHASE
|
|
RFALSE
|
|
|
|
|
|
.FUNCT ATRII-KICK
|
|
ICALL2 DEQUEUE,I-IMPGIVE
|
|
SET 'IMPSAY,0
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
FCLEAR ON-PIKE,TOUCHED
|
|
PRINT TAB
|
|
ICALL1 LOSE-FOCUS
|
|
ICALL2 GOTO,ON-PIKE
|
|
IN? GOBLET,ON-PIKE \TRUE
|
|
FSET? GOBLET,NODESC \TRUE
|
|
FCLEAR GOBLET,NODESC
|
|
SET 'P-IT-OBJECT,GOBLET
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
PRINT TAB
|
|
ICALL2 CTHE-PRINT,GOBLET
|
|
PRINTR " clatters to the ground."
|
|
|
|
|
|
.FUNCT TUSK-F,CONTEXT
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
ICALL2 PRINTCA,TUSK
|
|
PRINTI " marks the final resting place of a mighty pachyderm."
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
CALL1 FIRST-TAKE?
|
|
ZERO? STACK \TRUE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL11
|
|
PRINTR "Obviously valuable. The smooth, creamy curve is virtually flawless."
|
|
?CCL11: EQUAL? PRSA,V?TOUCH \FALSE
|
|
PRINTR "You run your hand along the smooth curve."
|
|
|
|
|
|
.FUNCT CARD-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTR "This card, featuring Orkan of Thriff, is the rarest issue in the Famous Enchanter Series."
|
|
|
|
|
|
.FUNCT RIDDLE-F,CONTEXT
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
PRINT STR?842
|
|
PRINTI "the cliff."
|
|
RTRUE
|
|
?CCL3: CALL2 NOUN-USED?,W?LIGHTNING
|
|
ZERO? STACK /?CCL7
|
|
ICALL1 OPEN-CLIFF
|
|
RETURN 2
|
|
?CCL7: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?READ,V?LOOK-ON \FALSE
|
|
PRINTI "The carved "
|
|
PRINTD PRSO
|
|
PRINTI " reads,
|
|
|
|
"
|
|
HLIGHT H-MONO
|
|
PRINTI """My tines be long,
|
|
My tines be short,
|
|
My tines end ere my first report.
|
|
What am I?"""
|
|
CRLF
|
|
HLIGHT H-NORMAL
|
|
RTRUE
|
|
|
|
|
|
.FUNCT OPEN-CLIFF
|
|
ICALL1 PCLEAR
|
|
REMOVE RIDDLE
|
|
SET 'P-WALK-DIR,FALSE-VALUE
|
|
SET 'OLD-HERE,FALSE-VALUE
|
|
FCLEAR CREVICE,NODESC
|
|
SET 'P-IT-OBJECT,CREVICE
|
|
ICALL REPLACE-GLOBAL?,AT-LEDGE,NULL,CREVICE
|
|
ICALL NEW-EXIT?,AT-LEDGE,P?WEST,641,TOWER-BASE
|
|
ICALL NEW-EXIT?,TOWER-BASE,P?EAST,641,AT-LEDGE
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
ICALL1 KERBLAM
|
|
PRINTI "A blast from the sky sends you sprawling over the brink of the ledge! You grab onto a rocky outcrop and manage to drag "
|
|
PRINTD ME
|
|
PRINTI " back up to safety."
|
|
CRLF
|
|
ZERO? DMODE /?CCL2
|
|
EQUAL? PRIOR,SHOWING-INV,SHOWING-STATS \TRUE
|
|
?CCL2: ICALL2 RELOOK,TRUE-VALUE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CREVICE-F,X
|
|
FSET? CREVICE,NODESC \?CCL3
|
|
ICALL1 CANT-SEE-ANY
|
|
RETURN 2
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL9
|
|
ICALL1 CANT-SEE-MUCH
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?EXAMINE \?CCL11
|
|
PRINTI "It leads "
|
|
SET 'X,W?WEST
|
|
EQUAL? HERE,TOWER-BASE \?CND12
|
|
SET 'X,W?EAST
|
|
?CND12: PRINTB X
|
|
PRINTR "ward."
|
|
?CCL11: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL15
|
|
SET 'X,P?WEST
|
|
EQUAL? HERE,TOWER-BASE \?CND16
|
|
SET 'X,P?EAST
|
|
?CND16: ICALL2 DO-WALK,X
|
|
RTRUE
|
|
?CCL15: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \?CCL19
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
?CCL19: EQUAL? PRSA,V?CLOSE \FALSE
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FOG-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE,V?SEARCH \FALSE
|
|
PRINTR "It's hard to see more than a few yards."
|
|
|
|
|
|
.FUNCT PLATFORM-F,X
|
|
INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL3
|
|
IN? PLAYER,GONDOLA \?CND4
|
|
ICALL PERFORM,V?EXIT,GONDOLA
|
|
RTRUE
|
|
?CND4: ICALL1 ALREADY-ON
|
|
RTRUE
|
|
?CCL3: INTBL? PRSA,X-VERBS,CLIMB-DOWN-VERBS >X \FALSE
|
|
IN? PLAYER,GONDOLA \?CCL10
|
|
ICALL1 NOT-ON
|
|
RTRUE
|
|
?CCL10: IN? GONDOLA,HERE \?CND8
|
|
ICALL PERFORM,V?ENTER,GONDOLA
|
|
RTRUE
|
|
?CND8: ICALL2 DO-WALK,P?DOWN
|
|
RTRUE
|
|
|
|
|
|
.FUNCT GGLYPH-F,X
|
|
FSET? DIARY,MUNGED \?CND1
|
|
CALL2 VISIBLE?,DIARY
|
|
ZERO? STACK /?CND1
|
|
SET 'P-IT-OBJECT,DIARY
|
|
PRINTI "[the glyph in the diary"
|
|
PRINT BRACKET
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL7
|
|
ICALL1 DESCRIBE-GLYPH
|
|
RTRUE
|
|
?CCL7: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CND5
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CND5: CALL1 DIARY-F
|
|
RSTACK
|
|
?CND1: ICALL1 PCLEAR
|
|
PRINTI "There aren't any visible here."
|
|
CRLF
|
|
RETURN 2
|
|
|
|
|
|
.FUNCT GENERIC-GLYPH-F,TBL,LEN
|
|
ASSIGNED? 'LEN /?CND1
|
|
GET TBL,0 >LEN
|
|
?CND1: ADD TBL,2
|
|
INTBL? GLYPH,STACK,LEN >LEN /?CTR4
|
|
RETURN GGLYPH
|
|
?CTR4: RETURN GLYPH
|
|
|
|
|
|
.FUNCT GLYPH-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?TOUCH-TO \?CCL6
|
|
EQUAL? P-PRSA-WORD,W?RUB \?CCL6
|
|
ICALL1 RUBOUT-GLYPH
|
|
RTRUE
|
|
?CCL6: INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL PERFORM,V?DROP,PRSO
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?READ,V?LOOK-ON \?CCL11
|
|
ICALL1 CTHE-PRINT
|
|
PRINT SIS
|
|
ICALL1 SAY-GLYPH
|
|
RTRUE
|
|
?CCL11: EQUAL? PRSA,V?CLEAN-OFF \?CCL13
|
|
EQUAL? PRSI,FALSE-VALUE,GROUND,ROOMS /?CCL15
|
|
EQUAL? PRSI,SNOW,LAVA \?CND14
|
|
?CCL15: ICALL1 RUBOUT-GLYPH
|
|
RTRUE
|
|
?CND14: ICALL1 CTHE-PRINT
|
|
PRINTI " isn't on "
|
|
ICALL1 THEI-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL13: EQUAL? PRSA,V?ERASE-WITH,V?KICK,V?TAKE-OFF /?CTR18
|
|
EQUAL? PRSA,V?MUNG,V?CLEAN \FALSE
|
|
?CTR18: ICALL1 RUBOUT-GLYPH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SAY-GLYPH
|
|
FSET GLYPH,SEEN
|
|
PRINTI "a surprisingly simple pattern of lines and curves. Even a "
|
|
ICALL1 ANNOUNCE-RANK
|
|
PRINTR " like you could inscribe one just like it."
|
|
|
|
|
|
.FUNCT WRITE-GLYPH,X
|
|
IN? BURIN,PLAYER /?CCL3
|
|
PRINTI "The inscription of glyphs is a delicate business. You'll need a proper tool first"
|
|
FSET? GLYPH,SEEN \?CND4
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND4: PRINTI ". Besides, you "
|
|
PRINT STR?843
|
|
RTRUE
|
|
?CCL3: CALL GLOBAL-IN?,HERE,GLYPH
|
|
ZERO? STACK /?CCL7
|
|
PRINTI "There's already "
|
|
ICALL2 PRINTA,GLYPH
|
|
PRINTR " written here."
|
|
?CCL7: FSET? GLYPH,SEEN /?CCL9
|
|
PRINT CYOU
|
|
PRINT STR?843
|
|
RTRUE
|
|
?CCL9: CALL GLOBAL-IN?,HERE,NULL
|
|
ZERO? STACK /?CND1
|
|
CALL GLOBAL-IN?,HERE,SNOW,LAVA
|
|
ZERO? STACK /?CND1
|
|
SET 'X,SNOW
|
|
CALL GLOBAL-IN?,HERE,LAVA
|
|
ZERO? STACK /?CND13
|
|
ZERO? MAGMA-TIMER \?CND15
|
|
ICALL1 LAVA-TOO-HARD
|
|
RTRUE
|
|
?CND15: SET 'X,LAVA
|
|
?CND13: ICALL REPLACE-GLOBAL?,HERE,NULL,GLYPH
|
|
SET 'P-IT-OBJECT,GLYPH
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
PRINTI "You carefully trace "
|
|
ICALL2 PRINTA,GLYPH
|
|
PRINT SIN
|
|
ICALL2 THE-PRINT,X
|
|
PRINTI " with your burin"
|
|
CALL GLOBAL-IN?,HERE,XTREES
|
|
ZERO? STACK /?CND17
|
|
PRINTI ", and notice "
|
|
ICALL2 THE-PRINT,XTREES
|
|
PRINTI " fidgeting with rage"
|
|
?CND17: PRINT PERIOD
|
|
RTRUE
|
|
?CND1: PRINT XTHE
|
|
ICALL1 GROUND-WORD
|
|
PRINTR " here is too hard to write anything."
|
|
|
|
|
|
.FUNCT LAVA-TOO-HARD
|
|
ICALL2 CTHE-PRINT,LAVA
|
|
PRINTR " underfoot is too hard now."
|
|
|
|
|
|
.FUNCT RUBOUT-GLYPH,X
|
|
CALL GLOBAL-IN?,HERE,LAVA
|
|
ZERO? STACK /?CND1
|
|
ZERO? MAGMA-TIMER \?CND1
|
|
ICALL1 LAVA-TOO-HARD
|
|
RTRUE
|
|
?CND1: ICALL REPLACE-GLOBAL?,HERE,GLYPH,NULL
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
PRINTI "You rub out "
|
|
ICALL2 THE-PRINT,GLYPH
|
|
ZERO? NOW-PRSI? /?CND5
|
|
PRINT WITH
|
|
ICALL1 THE-PRINT
|
|
?CND5: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SNOW-F,X
|
|
ZERO? NOW-PRSI? \?CND1
|
|
EQUAL? PRSA,V?LOOK-UNDER,V?DIG,V?DIG-UNDER /?CTR3
|
|
EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL4
|
|
?CTR3: PRINTI "You poke through "
|
|
ICALL1 THE-PRINT
|
|
ICALL1 BUT-FIND-NOTHING
|
|
RTRUE
|
|
?CCL4: EQUAL? PRSA,V?TAKE,V?TOUCH \?CCL8
|
|
PRINTI "The powdery "
|
|
PRINTD PRSO
|
|
PRINTR " falls between your fingers."
|
|
?CCL8: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CND1
|
|
ICALL1 WASTE-OF-TIME
|
|
RTRUE
|
|
?CND1: CALL1 GROUND-F
|
|
RSTACK
|
|
|
|
|
|
.FUNCT LAVA-F,X
|
|
ZERO? NOW-PRSI? \?CND1
|
|
EQUAL? PRSA,V?LOOK-UNDER /?CCL3
|
|
INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CND1
|
|
?CCL3: PRINT XTHE
|
|
ZERO? MAGMA-TIMER \?CND6
|
|
PRINTI "hardened lava"
|
|
PRINT STR?767
|
|
RTRUE
|
|
?CND6: PRINTR "cooling lava slurps between your fingers."
|
|
?CND1: CALL1 GROUND-F
|
|
RSTACK
|
|
|
|
|
|
.FUNCT DOME-F,CONTEXT,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-CONT \FALSE
|
|
ZERO? NOW-PRSI? /?CCL8
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \?CCL11
|
|
ICALL1 DOMESLIDE
|
|
RTRUE
|
|
?CCL11: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL2 TOUCH-DOME-WITH,PRSO
|
|
RTRUE
|
|
?CCL8: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL1 TOUCH-DOME-WITH
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? /?CCL15
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 DOMESLIDE
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL19
|
|
PRINTI "Your eyes cannot focus on "
|
|
PRINT STR?844
|
|
PRINTR ". But a fiery glow emanates from within."
|
|
?CCL19: EQUAL? PRSA,V?LOOK-INSIDE,V?LOOK-BEHIND,V?LOOK-UNDER /?CTR20
|
|
EQUAL? PRSA,V?SEARCH \?CCL21
|
|
?CTR20: PRINTI "Peering within "
|
|
PRINT STR?844
|
|
PRINTR ", you see a spectacular plume of molten lava, frozen in mid-explosion above a crater seething with molten magma."
|
|
?CCL21: EQUAL? PRSA,V?REACH-IN \?CCL25
|
|
ICALL1 TOUCH-DOME-WITH
|
|
RTRUE
|
|
?CCL25: EQUAL? PRSA,V?KICK \?CCL27
|
|
ICALL2 TOUCH-DOME-WITH,FEET
|
|
RTRUE
|
|
?CCL27: EQUAL? PRSA,V?TOUCH,V?SQUEEZE \FALSE
|
|
PRINTI "The surface of "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " feels hard and slightly warm."
|
|
|
|
|
|
.FUNCT DOMESLIDE
|
|
ICALL2 THIS-IS-IT,PRSO
|
|
MOVE PRSO,HERE
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " strikes the perimeter of "
|
|
ICALL2 THE-PRINT,DOME
|
|
PRINTI " and slides to "
|
|
ICALL2 THE-PRINT,GROUND
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TOUCH-DOME-WITH,OBJ
|
|
ICALL2 YOUR-OBJ,OBJ
|
|
RANDOM 100
|
|
LESS? 50,STACK /?CCL3
|
|
PRINTI " will go no farther than "
|
|
JUMP ?CND1
|
|
?CCL3: PRINTI " stops at "
|
|
?CND1: PRINTR "the dome's perimeter."
|
|
|
|
|
|
.FUNCT PLUME-F,X
|
|
ZERO? LAVA-TIMER /?CCL3
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X /?CCL5
|
|
INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CND4
|
|
?CCL5: ICALL2 CASCADE,STR?666
|
|
RTRUE
|
|
?CND4: ICALL2 CASCADE,STR?845
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?LOOK-INSIDE \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " seems frozen in a moment of time."
|
|
|
|
|
|
.FUNCT CRATER-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 VANISH
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " disappears into the steam."
|
|
?CCL3: INTBL? PRSA,SEEVERBS,NSVERBS >X \?CCL7
|
|
ICALL1 SAY-STEAM
|
|
RTRUE
|
|
?CCL7: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL9
|
|
PRINTI "Hot steam drives you away from "
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL9: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \FALSE
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
|
|
|
|
.FUNCT MAGMA-GLOW-F,CONTEXT,X
|
|
INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL3
|
|
ICALL2 DO-WALK,P?SOUTH
|
|
RTRUE
|
|
?CCL3: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL5
|
|
ICALL1 CANT-FROM-HERE
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE \FALSE
|
|
ICALL2 CTHE-PRINT,MAGMA-GLOW
|
|
PRINTR " feels warm on your face."
|
|
|
|
|
|
.FUNCT GLOW-COLOR
|
|
GRTR? MAGMA-TIMER,2 \?CCL3
|
|
PRINTI "fiery yellow "
|
|
RTRUE
|
|
?CCL3: EQUAL? MAGMA-TIMER,2 \?CCL5
|
|
PRINTI "warm orange "
|
|
RTRUE
|
|
?CCL5: PRINTI "dull red "
|
|
RTRUE
|
|
|
|
|
|
.FUNCT TRAIL-F,X
|
|
INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL3
|
|
ICALL2 DO-WALK,P?UP
|
|
RTRUE
|
|
?CCL3: INTBL? PRSA,X-VERBS,CLIMB-DOWN-VERBS >X \?CCL5
|
|
ICALL2 DO-WALK,P?DOWN
|
|
RTRUE
|
|
?CCL5: CALL GLOBAL-IN?,HERE,SNOW
|
|
ZERO? STACK /?CCL7
|
|
CALL1 SNOW-F
|
|
RSTACK
|
|
?CCL7: CALL GLOBAL-IN?,HERE,LAVA
|
|
ZERO? STACK /?CCL9
|
|
CALL1 LAVA-F
|
|
RSTACK
|
|
?CCL9: RETURN GROUND-F
|
|
|
|
|
|
.FUNCT ORNAMENT-F
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " is crafted in an old-fashioned holiday style. Might fetch a few zorkmids in Mizniaport."
|
|
|
|
|
|
.FUNCT BOOT-FACING
|
|
ICALL2 CTHE-PRINT,BOOT
|
|
PRINTR " is facing the wrong way."
|
|
|
|
|
|
.FUNCT BOOT-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 BOOT-FACING
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?LOOK-INSIDE,V?REACH-IN /?CTR6
|
|
INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL7
|
|
?CTR6: ICALL1 BOOT-FACING
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?WEAR \?CCL11
|
|
PRINT DONT
|
|
PRINTR "take a size 105."
|
|
?CCL11: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CCL13
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is firmly wedged under "
|
|
ICALL2 THE-PRINT,FARMHOUSE
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL13: EQUAL? PRSA,V?EXAMINE,V?SEARCH \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINT STR?795
|
|
ICALL2 THE-PRINT,FARMHOUSE
|
|
PRINTR ", its tongue hanging in the dirt."
|
|
|
|
|
|
.FUNCT BROOK-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 WATER-VANISH
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL7
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " meanders "
|
|
EQUAL? HERE,AT-BRINE \?CND8
|
|
PRINTB W?NORTHWEST
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CND8: PRINTR "west, into a deep forest."
|
|
?CCL7: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL11
|
|
ICALL2 DO-WALK,P?NORTH
|
|
RTRUE
|
|
?CCL11: CALL1 HANDLE-WATER?
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT WATERFALL-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS \FALSE
|
|
ICALL1 VANISH
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " disappears in the swirling water."
|
|
?CCL3: EQUAL? PRSA,V?ENTER,V?WALK-AROUND,V?LOOK-BEHIND \?CCL7
|
|
PRINTR "Sorry. No secret caves."
|
|
?CCL7: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL9
|
|
ICALL1 ENTER-FALLS
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?LISTEN \?CCL11
|
|
PRINTR "The roar is loud and exhilarating."
|
|
?CCL11: CALL1 HANDLE-WATER?
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT ENTER-FALLS
|
|
PRINTI "One touch of the chilly water changes your mind."
|
|
CRLF
|
|
RFALSE
|
|
|
|
|
|
.FUNCT HANDLE-WATER?,X
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE,V?LOOK-UNDER /?CTR2
|
|
EQUAL? PRSA,V?SEARCH \?CCL3
|
|
?CTR2: PRINT STR?760
|
|
PRINTR "in the swirling water."
|
|
?CCL3: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \?CCL7
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?DRINK,V?DRINK-FROM,V?TASTE \?CCL9
|
|
PRINTR "The water is cool and refreshing."
|
|
?CCL9: EQUAL? PRSA,V?TOUCH,V?REACH-IN,V?KICK \FALSE
|
|
PRINTR "Brr!"
|
|
|
|
|
|
.FUNCT RIVER-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 WATER-VANISH
|
|
RTRUE
|
|
?CCL3: INTBL? PRSA,SEEVERBS,NSVERBS >X \?CCL7
|
|
PRINTR "Blowing mist obscures the roaring water."
|
|
?CCL7: EQUAL? PRSA,V?LEAP /?CTR8
|
|
INTBL? PRSA,E-VERBS,ENTER-VERBS >X \?CCL9
|
|
?CTR8: ICALL1 JUMP-OFF-BRIDGE
|
|
RTRUE
|
|
?CCL9: INTBL? PRSA,X-VERBS,EXIT-VERBS >X \?CCL13
|
|
ICALL1 NOT-IN
|
|
RTRUE
|
|
?CCL13: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL1 CANT-FROM-HERE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CABIN-F,X
|
|
EQUAL? HERE,IN-CABIN \?CCL3
|
|
EQUAL? PRSA,V?SEARCH \?CND4
|
|
ICALL PERFORM,PRSA,CHEMS
|
|
RTRUE
|
|
?CND4: CALL1 HERE-F
|
|
RSTACK
|
|
?CCL3: INTBL? PRSA,E-VERBS,ENTER-VERBS >X \FALSE
|
|
ICALL2 DO-WALK,P?SOUTH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BENCH-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL5
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " doesn't look as if it would support you."
|
|
?CCL5: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL7
|
|
FSET CHEMS,NODESC
|
|
PRINTI "Aside from "
|
|
ICALL2 THE-PRINT,CHEMS
|
|
PRINT LYOU-SEE
|
|
ICALL1 CONTENTS
|
|
PRINT SON
|
|
ICALL1 THE-PRINT
|
|
PRINT PERIOD
|
|
FCLEAR CHEMS,NODESC
|
|
SET 'P-IT-OBJECT,PRSO
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?SEARCH \?CCL9
|
|
ICALL PERFORM,PRSA,CHEMS
|
|
RTRUE
|
|
?CCL9: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " is much too bulky."
|
|
|
|
|
|
.FUNCT CHEMS-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?PUT-UNDER,V?PUT-BEHIND,V?PUT \?CCL6
|
|
ICALL1 WASTE-OF-TIME
|
|
RTRUE
|
|
?CCL6: INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL PERFORM,PRSA,PRSO,BENCH
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL9
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " are fouled beyond recognition or usefulness"
|
|
FSET PRSO,NODESC
|
|
CALL2 SEE-ANYTHING-IN?,BENCH
|
|
ZERO? STACK /?CND10
|
|
PRINTI ". "
|
|
PRINT YOU-SEE
|
|
ICALL2 CONTENTS,BENCH
|
|
SET 'P-IT-OBJECT,PRSO
|
|
PRINTI " lying among them"
|
|
?CND10: FCLEAR PRSO,NODESC
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE,V?LOOK-UNDER /?CTR12
|
|
EQUAL? PRSA,V?LOOK-BEHIND \?CCL13
|
|
?CTR12: PRINTI "You carefully sift through "
|
|
ICALL1 THE-PRINT
|
|
FSET? UHEMI,NODESC /?CND16
|
|
PRINT STR?846
|
|
RTRUE
|
|
?CND16: ICALL1 FIND-UHEMI
|
|
PRINTI ", and turn up "
|
|
ICALL2 PRINTA,UHEMI
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL13: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " are sticky and useless."
|
|
|
|
|
|
.FUNCT FIND-UHEMI
|
|
FSET DIARY,TOUCHED
|
|
FCLEAR UHEMI,NODESC
|
|
MOVE UHEMI,BENCH
|
|
SET 'P-IT-OBJECT,UHEMI
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
RTRUE
|
|
|
|
|
|
.FUNCT UHEMI-F
|
|
CALL HANDLE-HEMI?,UHEMI,LHEMI,W?PEG
|
|
RSTACK
|
|
|
|
|
|
.FUNCT LHEMI-F
|
|
CALL HANDLE-HEMI?,LHEMI,UHEMI,W?HOLE
|
|
RSTACK
|
|
|
|
|
|
.FUNCT HANDLE-HEMI?,OBJ,OTHER,WRD,X
|
|
CALL2 NOUN-USED?,WRD
|
|
ZERO? STACK /?CND1
|
|
ZERO? NOW-PRSI? /?CCL5
|
|
EQUAL? PRSA,V?PUT,V?PUT-ON,V?PLUG-IN \?CCL8
|
|
EQUAL? PRSO,PRSI \?CCL11
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL11: EQUAL? PRSO,OTHER \?CCL13
|
|
ICALL1 FUSION
|
|
RTRUE
|
|
?CCL13: EQUAL? WRD,W?PEG \?CND9
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CND9: PRINT XTHE
|
|
PRINTB WRD
|
|
PRINT SON
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINTR " is much too tiny."
|
|
?CCL8: INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL5: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CCL17
|
|
PRINT XTHE
|
|
PRINTB WRD
|
|
PRINT SON
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINT STR?767
|
|
RTRUE
|
|
?CCL17: EQUAL? PRSA,V?EXAMINE \?CCL19
|
|
PRINTI "It's set into the center of "
|
|
ICALL2 THE-PRINT,OBJ
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL19: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \?CND1
|
|
EQUAL? WRD,W?PEG \?CND21
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CND21: PRINT STR?545
|
|
RTRUE
|
|
?CND1: ZERO? NOW-PRSI? /?CCL25
|
|
EQUAL? PRSA,V?PUT,V?PUT-ON,V?PLUG-IN \FALSE
|
|
EQUAL? PRSO,PRSI \?CCL30
|
|
ICALL1 IMPOSSIBLE
|
|
RTRUE
|
|
?CCL30: EQUAL? PRSO,OTHER \FALSE
|
|
ICALL1 FUSION
|
|
RTRUE
|
|
?CCL25: EQUAL? PRSA,V?LOOK-INSIDE \?CCL33
|
|
PRINT STR?847
|
|
PRINTR "and sense a vague incompleteness."
|
|
?CCL33: EQUAL? PRSA,V?EXAMINE \FALSE
|
|
PRINTI "This curious artifact is wide as your palm, and fashioned of some "
|
|
EQUAL? OBJ,LHEMI \?CCL38
|
|
PRINTB W?WHITE
|
|
JUMP ?CND36
|
|
?CCL38: PRINTB W?BLACK
|
|
?CND36: PRINTI " crystalline substance. A tiny "
|
|
EQUAL? OBJ,LHEMI \?CCL41
|
|
PRINTB W?HOLE
|
|
JUMP ?CND39
|
|
?CCL41: PRINTB W?PEG
|
|
?CND39: PRINTR " is set in the middle of its flat side."
|
|
|
|
|
|
.FUNCT FUSION,L
|
|
LOC PRSI >L
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
PRINTI "The crystals fit together with a satisfying "
|
|
HLIGHT H-ITALIC
|
|
PRINTI "click"
|
|
HLIGHT H-NORMAL
|
|
PRINTI " to form a perfect sphere, half white, half black"
|
|
FSET? PRSO,NEUTRALIZED /?CCL2
|
|
FSET? PRSI,NEUTRALIZED \?CND1
|
|
?CCL2: IN? PRSO,L /?CND5
|
|
MOVE PRSO,L
|
|
?CND5: PRINTR ". But they fall apart the moment you release them."
|
|
?CND1: PRINT PERIOD
|
|
MOVE STONE,L
|
|
REMOVE PRSI
|
|
REMOVE PRSO
|
|
SET 'P-IT-OBJECT,STONE
|
|
EQUAL? HERE,IN-BOUTIQUE,IN-MAGICK,IN-WEAPON \?CND7
|
|
PRINT TAB
|
|
PRINTI """Cover your eyes,"" warns "
|
|
ICALL2 THE-PRINT,OWOMAN
|
|
PRINT PERIOD
|
|
?CND7: PRINT TAB
|
|
PRINTR "Nothing happens for a moment. Then, in a fraction of an instant, the two hemispheres switch colors! You hardly have time to gasp before the colors switch again, and then again, faster, faster, until you shield your eyes from the blinding strobe effect."
|
|
|
|
|
|
.FUNCT STONE-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE \?CCL5
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is perfectly smooth and seamless"
|
|
FSET? PRSO,NEUTRALIZED /?CND6
|
|
PRINTI ". Its surface draws your eyes deep into its cloudy interior"
|
|
?CND6: PRINT PERIOD
|
|
RTRUE
|
|
?CCL5: EQUAL? PRSA,V?LOOK-INSIDE \?CCL9
|
|
IN? PRSO,PLAYER /?CND10
|
|
PRINTR "You're not likely to see much unless you're holding it."
|
|
?CND10: LOC STONE >X
|
|
PRINT STR?847
|
|
FSET? PRSO,NEUTRALIZED /?CCL13
|
|
GET STATS,INTELLIGENCE
|
|
LESS? STACK,69 \?CND12
|
|
?CCL13: PRINTR "but an unintelligible swirl is all you can see."
|
|
?CND12: PRINTI "and watch its swirling depths coalesce into the image of a "
|
|
IGRTR? 'VISION,3 \?CCL18
|
|
SET 'VISION,0
|
|
PRINTI "samurai warrior, slashing through armies of bloodthirsty foes in an epic struggle for power and honor"
|
|
PRINT STR?848
|
|
RTRUE
|
|
?CCL18: EQUAL? VISION,1 \?CCL20
|
|
ZERO? WALL-WORD \?CND21
|
|
CALL2 PICK-ONE,MAGIC-WORDS >X
|
|
PUT X,2,1
|
|
GET X,0 >WALL-WORD
|
|
GET X,1 >X
|
|
PUTP NWALL,P?NAME-TABLE,X
|
|
FSET NWALL,NAMED
|
|
PUTP SWALL,P?NAME-TABLE,X
|
|
FSET SWALL,NAMED
|
|
?CND21: PRINTI "warlock, standing before a seamless wall of stone. He mutters the word """
|
|
GETP NWALL,P?NAME-TABLE
|
|
ICALL2 PRINT-TABLE,STACK
|
|
PRINTR ","" and a doorlike outline appears which he pushes open. The vision fades as he steps inside."
|
|
?CCL20: EQUAL? VISION,2 \?CND16
|
|
PRINTI "huge cauldron, bubbling in the midst of a vast, excessive castle"
|
|
PRINT STR?848
|
|
RTRUE
|
|
?CND16: PRINTI "giant balloon-shaped head, wagging its tongue at you from the depths of outer space"
|
|
PRINT STR?848
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?OPEN,V?OPEN-WITH \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " is completely seamless."
|
|
|
|
|
|
.FUNCT SETUP-STONE,WRD,TBL
|
|
CALL2 PICK-ONE,MAGIC-WORDS >TBL
|
|
PUT TBL,2,1
|
|
GET TBL,0 >WRD
|
|
GETPT STONE,P?SYNONYM
|
|
PUT STACK,0,WRD
|
|
GETPT STONE,P?ADJECTIVE
|
|
PUT STACK,0,WRD
|
|
GET TBL,1
|
|
PUTP STONE,P?NAME-TABLE,STACK
|
|
FSET STONE,PROPER
|
|
FSET STONE,NAMED
|
|
FSET STONE,IDENTIFIED
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
RFALSE
|
|
|
|
|
|
.FUNCT SAY-WALL-WORD
|
|
EQUAL? HERE,SE-WALL,SE-CAVE \?CCL3
|
|
FSET? SWALL,SEEN /?CCL3
|
|
ICALL2 SEE-WALL,SWALL
|
|
RTRUE
|
|
?CCL3: EQUAL? HERE,NE-WALL,NE-CAVE \?CND1
|
|
FSET? NWALL,SEEN /?CND1
|
|
ICALL2 SEE-WALL,NWALL
|
|
RTRUE
|
|
?CND1: ICALL2 NOTHING-HAPPENS,FALSE-VALUE
|
|
RTRUE
|
|
|
|
|
|
.FUNCT SEE-WALL,OBJ
|
|
FSET OBJ,SEEN
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
FSET OBJ,PROPER
|
|
FSET OBJ,IDENTIFIED
|
|
GETPT OBJ,P?SYNONYM
|
|
PUT STACK,0,WALL-WORD
|
|
GETPT OBJ,P?ADJECTIVE
|
|
PUT STACK,0,WALL-WORD
|
|
ICALL2 CTHE-PRINT,GROUND
|
|
PRINTI " shudders at the sound of your voice"
|
|
ZERO? LIT? /?CND1
|
|
PRINTI ", and the outline of a door appears in the rock wall"
|
|
?CND1: PRINT PERIOD
|
|
ICALL1 REFRESH-MAP
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DIARY-F,X
|
|
CALL2 NOUN-USED?,W?GLYPH
|
|
ZERO? STACK /?CND1
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL5
|
|
ICALL1 DESCRIBE-GLYPH
|
|
RTRUE
|
|
?CCL5: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CND1
|
|
ICALL2 CTHE-PRINT,GLYPH
|
|
PRINT SIN
|
|
ICALL2 THE-PRINT,DIARY
|
|
PRINT STR?767
|
|
RTRUE
|
|
?CND1: ZERO? NOW-PRSI? /?CCL9
|
|
EQUAL? PRSA,V?PUT,V?PUT-ON,V?EMPTY-INTO \FALSE
|
|
ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?TAKE \?CCL13
|
|
FSET? PRSO,TOUCHED /?CCL13
|
|
CALL1 ITAKE
|
|
ZERO? STACK /TRUE
|
|
ICALL1 FIND-UHEMI
|
|
PRINTI "As you pick up "
|
|
ICALL1 THE-PRINT
|
|
PRINTI ", you notice "
|
|
ICALL2 PRINTA,UHEMI
|
|
PRINTI " lying among "
|
|
ICALL2 THE-PRINT,CHEMS
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL13: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL19
|
|
PRINTR "It appears to be a personal journal or diary of some kind. The faint glow of the penmanship betrays its author as a mage."
|
|
?CCL19: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH,V?OPEN \?CCL21
|
|
PRINTR "Many of the pages are still intact."
|
|
?CCL21: EQUAL? PRSA,V?READ \FALSE
|
|
PRINTI "You nosily thumb the pages.
|
|
|
|
"""
|
|
ICALL2 ITALICIZE,STR?849
|
|
PRINTI ". Hot again. Retorts and alembics spoiling! Hate this northern clime"
|
|
PRINT PTAB
|
|
ICALL2 ITALICIZE,STR?850
|
|
PRINTI ". Gated Thriff to Miznia, via Atrii. Relief at last! Villagers perplexed but grateful"
|
|
PRINT PTAB
|
|
ICALL2 ITALICIZE,STR?851
|
|
PRINTI ". Mtn not dormant after all. Yonked a girgol just in nick of time.
|
|
"
|
|
ICALL2 ITALICIZE,STR?852
|
|
PRINTI ". Wilderness life stinks. Raccoon nest in chimney; guncho took flue and all! Broke last burin warding off Xmas pests. Better off up north?
|
|
"
|
|
ICALL2 ITALICIZE,STR?853
|
|
PRINTI ". Borphee tomorrow. Y'Gael "
|
|
ICALL2 ITALICIZE,STR?854
|
|
PRINTI " be wrong.""
|
|
|
|
"
|
|
ICALL1 DESCRIBE-GLYPH
|
|
RTRUE
|
|
|
|
|
|
.FUNCT DESCRIBE-GLYPH
|
|
FSET DIARY,MUNGED
|
|
PRINTI "A tiny glyph is scrawled beside the entry dated ""9 August."" It"
|
|
FSET? GLYPH,SEEN \?CND1
|
|
PRINTR " looks just like the one you saw outside."
|
|
?CND1: PRINTI "'s "
|
|
ICALL1 SAY-GLYPH
|
|
RFALSE
|
|
|
|
|
|
.FUNCT MAILBOX-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?OPEN,V?OPEN-WITH,V?CLOSE /FALSE
|
|
INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is rooted firmly in "
|
|
ICALL2 THE-PRINT,GROUND
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT LEAFLET-F
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL3
|
|
PRINTR "It seems to be an advertisement for some curious form of entertainment."
|
|
?CCL3: EQUAL? PRSA,V?READ \FALSE
|
|
LOC PRSO
|
|
MOVE PARCEL,STACK
|
|
ICALL1 VANISH
|
|
SET 'P-IT-OBJECT,PARCEL
|
|
PRINTI "With a silent puff, "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " turns into "
|
|
ICALL2 PRINTA,PARCEL
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT PARCEL-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?READ \?CCL5
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is from the "
|
|
ICALL2 FROBOZZ,STR?855
|
|
PRINTR ", and is addressed to ""Orkan/Thriff/North Frobozz."" Curiously, the words ""North Frobozz"" have been scratched out, and the word ""Miznia"" scribbled over them as an afterthought."
|
|
?CCL5: EQUAL? PRSA,V?SHAKE \?CCL7
|
|
PRINTR "Feels as if there's something inside."
|
|
?CCL7: EQUAL? PRSA,V?OPEN,V?OPEN-WITH \FALSE
|
|
BOR NEW-DBOX,SHOWING-ALL >NEW-DBOX
|
|
LOC PRSO >X
|
|
REMOVE PRSO
|
|
MOVE BURIN,X
|
|
SET 'P-IT-OBJECT,BURIN
|
|
PRINTI "All traces of "
|
|
ICALL2 THE-PRINT,PARCEL
|
|
PRINTI " disappear in a puff as you open it, leaving the contents"
|
|
LOC PLAYER
|
|
EQUAL? X,PLAYER,HERE,STACK \?CCL12
|
|
PRINTC SP
|
|
PRINTB W?BEHIND
|
|
JUMP ?CND10
|
|
?CCL12: ICALL2 ON-IN,X
|
|
?CND10: PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BURIN-F
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?WRITE-WITH \FALSE
|
|
EQUAL? PRSO,GGLYPH,GLYPH \FALSE
|
|
ICALL PERFORM,V?WRITE-ON,PRSO,GROUND
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL9
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " is long and tapered, with a diamond tip for precision inscribing. The words """
|
|
ICALL2 FROBOZZ,STR?856
|
|
PRINTR """ are inscribed along the side."
|
|
?CCL9: EQUAL? PRSA,V?USE \FALSE
|
|
ICALL PERFORM,V?WRITE-ON,GGLYPH,GROUND
|
|
RTRUE
|
|
|
|
|
|
.FUNCT BRIDGE-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 WASTE-OF-TIME
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL7
|
|
ICALL1 CTHE-PRINT
|
|
PRINTI " leads "
|
|
SET 'X,W?SOUTHWEST
|
|
EQUAL? HERE,AT-BRINE \?CND8
|
|
SET 'X,W?NORTHEAST
|
|
?CND8: PRINTB X
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?LOOK-UNDER,V?LOOK-BEHIND,V?SEARCH \?CCL11
|
|
ICALL1 CANT-SEE-MUCH
|
|
RTRUE
|
|
?CCL11: EQUAL? PRSA,V?STAND-UNDER,V?LEAP \?CCL13
|
|
ICALL1 CANT-FROM-HERE
|
|
RTRUE
|
|
?CCL13: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL15
|
|
SET 'X,P?SW
|
|
EQUAL? HERE,AT-BRINE \?CND16
|
|
SET 'X,P?NE
|
|
?CND16: ICALL2 DO-WALK,X
|
|
RTRUE
|
|
?CCL15: INTBL? PRSA,X-VERBS,CLIMB-DOWN-VERBS >X \FALSE
|
|
ICALL1 NOT-ON
|
|
RTRUE
|
|
|
|
|
|
.FUNCT FOOD-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?SMELL \FALSE
|
|
PRINTR "Your stomach growls."
|
|
|
|
|
|
.FUNCT DEBRIS-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL PERFORM,V?DROP,PRSO
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?LOOK-INSIDE /?CTR6
|
|
EQUAL? PRSA,V?LOOK-UNDER,V?SEARCH,V?LOOK-BEHIND /?CTR6
|
|
EQUAL? PRSA,V?REACH-IN \?CCL7
|
|
?CTR6: PRINTI "You rummage through "
|
|
ICALL1 THE-PRINT
|
|
ICALL1 BUT-FIND-NOTHING
|
|
RTRUE
|
|
?CCL7: INTBL? PRSA,MOVEVERBS,NMVERBS >X \FALSE
|
|
PRINTI "A waste of time. "
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " is obviously useless."
|
|
|
|
|
|
.FUNCT EASEL-F,X
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?PUT-ON,V?PUT,V?EMPTY-INTO \?CCL6
|
|
ICALL YOUD-HAVE-TO,STR?541,CANVAS
|
|
RTRUE
|
|
?CCL6: INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 WASTE-OF-TIME
|
|
RTRUE
|
|
?CCL3: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CCL9
|
|
ICALL1 SHOO
|
|
RTRUE
|
|
?CCL9: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \FALSE
|
|
PRINTI "There's "
|
|
ICALL2 PRINTA,CANVAS
|
|
PRINTR " on it."
|
|
|
|
|
|
.FUNCT SHOO
|
|
FSET SALT,SEEN
|
|
PRINTI """Hands off,"" snaps "
|
|
ICALL2 THE-PRINT,SALT
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CANVAS-F,X
|
|
INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL3
|
|
ICALL1 SHOO
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \FALSE
|
|
PRINTR "A magnificent galleon is taking shape on the canvas, soaring across the sky on planes of sparkling Magick."
|
|
|
|
|
|
.FUNCT IQ-POTION-F
|
|
CALL2 HANDLE-POTION?,I-IQ
|
|
RSTACK
|
|
|
|
|
|
.FUNCT HEALING-POTION-F
|
|
CALL2 HANDLE-POTION?,I-HEAL
|
|
RSTACK
|
|
|
|
|
|
.FUNCT DEATH-POTION-F
|
|
CALL2 HANDLE-POTION?,I-DEATH
|
|
RSTACK
|
|
|
|
|
|
.FUNCT MIGHT-POTION-F
|
|
CALL2 HANDLE-POTION?,I-MIGHT
|
|
RSTACK
|
|
|
|
|
|
.FUNCT FORGET-POTION-F
|
|
CALL2 HANDLE-POTION?,I-FORGET
|
|
RSTACK
|
|
|
|
|
|
.FUNCT NEXT-POTION?,RM,FCN,OBJ,X
|
|
CALL2 PICK-ONE,POTION-LIST >OBJ
|
|
FSET? OBJ,NODESC \FALSE
|
|
FCLEAR OBJ,NODESC
|
|
CALL2 PICK-ONE,POTION-TABLES >X
|
|
GET X,0
|
|
PUTP OBJ,P?ACTION,STACK
|
|
GET X,1
|
|
PUTP OBJ,P?SDESC,STACK
|
|
GET X,2 >X
|
|
GETPT OBJ,P?SYNONYM
|
|
PUT STACK,0,X
|
|
GETPT OBJ,P?ADJECTIVE
|
|
PUT STACK,0,X
|
|
ASSIGNED? 'RM \?CND4
|
|
MOVE OBJ,RM
|
|
?CND4: ASSIGNED? 'FCN /?CCL7
|
|
RETURN OBJ
|
|
?CCL7: PUTP OBJ,P?DESCFCN,FCN
|
|
RETURN OBJ
|
|
|
|
|
|
.FUNCT HANDLE-POTION?,INT
|
|
ZERO? NOW-PRSI? /?CCL3
|
|
EQUAL? PRSA,V?POUR-FROM \FALSE
|
|
PRINT STR?857
|
|
RTRUE
|
|
?CCL3: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON,V?READ \?CCL7
|
|
FSET BPOTION,SEEN
|
|
PRINTI "A legend on the potion says, ""Shake before using. Another fine product of the "
|
|
ICALL2 FROBOZZ,STR?858
|
|
PRINT PERQ
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH \?CCL9
|
|
PRINT XTHE
|
|
GETPT PRSO,P?ADJECTIVE
|
|
GET STACK,1
|
|
PRINTB STACK
|
|
PRINTI " liquid "
|
|
FSET? PRSO,MUNGED \?CND10
|
|
PRINTR "swirls with potency."
|
|
?CND10: PRINTR "looks a bit flat."
|
|
?CCL9: EQUAL? PRSA,V?OPEN,V?OPEN-WITH \?CCL13
|
|
PRINT DONT
|
|
PRINTR "need to. It'll open itself when you drink it."
|
|
?CCL13: EQUAL? PRSA,V?POUR,V?EMPTY,V?EMPTY-INTO \?CCL15
|
|
PRINT STR?857
|
|
RTRUE
|
|
?CCL15: EQUAL? PRSA,V?CLOSE \?CCL17
|
|
ICALL2 ITS-ALREADY,STR?531
|
|
RTRUE
|
|
?CCL17: EQUAL? PRSA,V?SHAKE \?CCL19
|
|
IN? PRSO,PLAYER /?CND20
|
|
ICALL2 YOUD-HAVE-TO,STR?680
|
|
RTRUE
|
|
?CND20: FSET PRSO,MUNGED
|
|
PRINTR "You give the potion a vigorous shake."
|
|
?CCL19: EQUAL? PRSA,V?DRINK,V?USE \?CCL23
|
|
IN? PRSO,PLAYER /?CCL26
|
|
ICALL2 YOUD-HAVE-TO,STR?680
|
|
RTRUE
|
|
?CCL26: FSET? PRSO,MUNGED \?CND24
|
|
FSET? PRSO,NEUTRALIZED /?CND24
|
|
ICALL QUEUE,INT,2
|
|
?CND24: ICALL1 VANISH
|
|
PRINTI "Gloop, gloop, gloop! You drain "
|
|
ICALL1 THE-PRINT
|
|
PRINTI " to the last drop, and watch as the container melts into nothingness."
|
|
CRLF
|
|
IN? OWOMAN,HERE \TRUE
|
|
FSET OWOMAN,SEEN
|
|
PRINTI " """
|
|
FSET? BPOTION,SEEN /?CCL34
|
|
PRINTI "Should've read it first"
|
|
JUMP ?CND32
|
|
?CCL34: EQUAL? INT,I-DEATH \?CCL36
|
|
FSET? PRSO,MUNGED \?CCL36
|
|
FSET? PRSO,NEUTRALIZED /?CCL36
|
|
PRINTI "Nice knowing you"
|
|
JUMP ?CND32
|
|
?CCL36: PRINTI "Cheers"
|
|
?CND32: PRINTI ","" mutters "
|
|
ICALL2 THE-PRINT,OWOMAN
|
|
PRINT PERIOD
|
|
RTRUE
|
|
?CCL23: CALL1 FIRST-TAKE?
|
|
ZERO? STACK \TRUE
|
|
EQUAL? PRSA,V?MUNG,V?CUT,V?HIT \FALSE
|
|
PRINTI "And risk breaking this expensive "
|
|
ICALL2 DPRINT,PRSO
|
|
PRINTI "? "
|
|
ICALL1 WASTE-OF-TIME
|
|
RTRUE
|
|
|
|
|
|
.FUNCT CAKE-F,CONTEXT
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
ICALL2 PRINTCA,CAKE
|
|
PRINT STR?507
|
|
RTRUE
|
|
?CCL3: ZERO? NOW-PRSI? \FALSE
|
|
CALL1 FIRST-TAKE?
|
|
ZERO? STACK \TRUE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL11
|
|
ICALL2 JUST-LIKE,W?LOOK
|
|
RTRUE
|
|
?CCL11: EQUAL? PRSA,V?SMELL,V?KISS \?CCL13
|
|
ICALL2 JUST-LIKE,W?SMELL
|
|
RTRUE
|
|
?CCL13: EQUAL? PRSA,V?EAT,V?TASTE \FALSE
|
|
FSET? PRSO,NEUTRALIZED /?CND16
|
|
ICALL QUEUE,I-IQ,4
|
|
?CND16: ICALL1 VANISH
|
|
PRINTI "With a mighty effort of will, you cram "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " into your mouth, chew and swallow. Bleah."
|
|
|
|
|
|
.FUNCT JUST-LIKE,WRD
|
|
PRINTI "It "
|
|
PRINTB WRD
|
|
PRINTR "s just like the ones your aunt used to make. Bleah."
|
|
|
|
|
|
.FUNCT HEAP-F,CONTEXT,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-CONT \FALSE
|
|
CALL1 URGRUE-STOPS?
|
|
ZERO? STACK /FALSE
|
|
RTRUE
|
|
?CCL3: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL9
|
|
CALL1 URGRUE-STOPS?
|
|
ZERO? STACK \TRUE
|
|
?CCL9: ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?COUNT \?CCL15
|
|
PRINTR "A rapid survey turns up at least 69,105 treasures."
|
|
?CCL15: EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL17
|
|
PRINTI "The exotic treasures piled here are almost beyond counting"
|
|
CALL1 SEE-ANYTHING-IN?
|
|
ZERO? STACK /?CND18
|
|
PRINTI ". Among them you see "
|
|
ICALL1 CONTENTS
|
|
SET 'P-IT-OBJECT,PRSO
|
|
?CND18: PRINT PERIOD
|
|
RTRUE
|
|
?CCL17: EQUAL? PRSA,V?LOOK-INSIDE,V?SEARCH,V?LOOK-BEHIND /?CTR20
|
|
EQUAL? PRSA,V?LOOK-UNDER /?CTR20
|
|
INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CCL21
|
|
?CTR20: CALL1 URGRUE-STOPS?
|
|
ZERO? STACK \TRUE
|
|
FSET? COCO,NODESC \?CND25
|
|
FCLEAR COCO,NODESC
|
|
BOR NEW-DBOX,SHOWING-ROOM >NEW-DBOX
|
|
MOVE COCO,IN-LAIR
|
|
SET 'P-IT-OBJECT,COCO
|
|
PRINTI "As you sift excitedly through "
|
|
ICALL1 THE-PRINT
|
|
PRINTR ", something small and hard rolls out and lands on your toe. Ouch!"
|
|
?CND25: PRINTR "It'd take weeks to sift through everything else."
|
|
?CCL21: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \FALSE
|
|
CALL1 URGRUE-STOPS?
|
|
ZERO? STACK \TRUE
|
|
PRINTR "Stop gloating."
|
|
|
|
|
|
.FUNCT URGRUE-STOPS?
|
|
IN? URGRUE,HERE \FALSE
|
|
PRINTI """Do keep away from that,"" urges "
|
|
ICALL2 THE-PRINT,URGRUE
|
|
PRINT PERIOD
|
|
RTRUE
|
|
|
|
|
|
.FUNCT COCO-F,X
|
|
ZERO? NOW-PRSI? \FALSE
|
|
EQUAL? PRSA,V?EXAMINE,V?LOOK-ON \?CCL5
|
|
PRINTR "It's hard to see what all the fuss is about."
|
|
?CCL5: INTBL? PRSA,TOUCHVERBS,NTOUCHES >X \?CCL7
|
|
FSET? COCO,SEEN /?CCL7
|
|
ICALL1 URGRUE-GETS-COCO
|
|
RTRUE
|
|
?CCL7: EQUAL? PRSA,V?TAKE \?CCL11
|
|
FSET? PRSO,TOUCHED /?CCL11
|
|
CALL1 ITAKE
|
|
ZERO? STACK /TRUE
|
|
ICALL2 QUEUE,I-QUAKE
|
|
PRINTI "An angelic choir swells as you lift "
|
|
ICALL1 THE-PRINT
|
|
PRINTR " off the floor."
|
|
?CCL11: EQUAL? PRSA,V?SMELL \?CCL17
|
|
PRINTR "Phew! It's a few centuries overripe."
|
|
?CCL17: EQUAL? PRSA,V?HIT,V?MUNG,V?CUT /?CTR18
|
|
EQUAL? PRSA,V?KICK,V?KNOCK,V?OPEN /?CTR18
|
|
EQUAL? PRSA,V?OPEN-WITH \?CCL19
|
|
?CTR18: PRINTR "Thump! Hard as a rock."
|
|
?CCL19: EQUAL? PRSA,V?EAT,V?TASTE,V?DRINK /?CTR23
|
|
EQUAL? PRSA,V?DRINK-FROM,V?LOOK-INSIDE,V?REACH-IN /?CTR23
|
|
EQUAL? PRSA,V?EMPTY \?CCL24
|
|
?CTR23: ICALL2 YOUD-HAVE-TO,STR?518
|
|
RTRUE
|
|
?CCL24: EQUAL? PRSA,V?SHAKE \FALSE
|
|
PRINTR "Something slooshes around inside."
|
|
|
|
|
|
.FUNCT BOULDER-F,CONTEXT,X
|
|
ZERO? CONTEXT /?CCL3
|
|
EQUAL? CONTEXT,M-OBJDESC \FALSE
|
|
PRINT STR?842
|
|
PRINTI "an enormous boulder."
|
|
RTRUE
|
|
?CCL3: CALL2 NOUN-USED?,W?YOUTH
|
|
ZERO? STACK /?CCL7
|
|
ICALL1 OPEN-POOL
|
|
RETURN 2
|
|
?CCL7: ZERO? NOW-PRSI? /?CCL11
|
|
INTBL? PRSA,PUTVERBS,NUMPUTS >X \FALSE
|
|
ICALL1 PRSO-SLIDES-OFF-PRSI
|
|
RTRUE
|
|
?CCL11: EQUAL? PRSA,V?EXAMINE,V?READ,V?LOOK-ON \?CCL15
|
|
PRINTI "The carved "
|
|
PRINTD RIDDLE
|
|
PRINTI " reads,
|
|
|
|
"
|
|
HLIGHT H-MONO
|
|
PRINTI """Never ahead, ever behind,
|
|
Yet flying swiftly past;
|
|
For a child, I last forever,
|
|
For adults, I'm gone too fast.
|
|
What am I?"""
|
|
CRLF
|
|
HLIGHT H-NORMAL
|
|
RTRUE
|
|
?CCL15: INTBL? PRSA,MOVEVERBS,NMVERBS >X \?CCL17
|
|
ICALL1 CTHE-PRINT
|
|
PRINTR " is much too big and heavy."
|
|
?CCL17: INTBL? PRSA,E-VERBS,CLIMB-ON-VERBS >X \?CCL19
|
|
ICALL1 NO-FOOTHOLDS
|
|
RTRUE
|
|
?CCL19: INTBL? PRSA,X-VERBS,CLIMB-DOWN-VERBS >X \FALSE
|
|
ICALL1 NOT-ON
|
|
RTRUE
|
|
|
|
.ENDI
|