|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T l
Length: 27051 (0x69ab)
Types: TextFile
Names: »labels.d«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/General/Adventure/adv_db/labels.d«
LABEL GETSCORE
IFEQ QUITTING,0
OR
IFGT CLOSURE,2
SET SCOREX,9
ELSE
SET SCOREX,0
FIN
SET MAXSCORE,9
ITOBJ I
BIT I,VALUED
IFLOC I,BUILDING
OR
IFGT CLOSURE,2
ADD SCOREX,15
ELSE
BIT I,SEEN
ADD SCOREX,2
FIN
FIN
ADD MAXSCORE,15
FIN
EOI
*
IFLOC MAGAZINES,WITTSEND
ADD SCOREX,1
FIN
ADD MAXSCORE,1
*
BIT DEBRIS,BEENHERE
OR
BIT Y2,BEENHERE
ADD SCOREX,20
BIT LAIR,SEEN
ADD SCOREX,10
FIN
BIT BEACH,SEEN
ADD SCOREX,10
FIN
BIT FACES,SEEN
ADD SCOREX,10
FIN
FIN
ADD MAXSCORE,50
*
SET I,CLOSURE
MULT I,20
ADD SCOREX,I
ADD MAXSCORE,100
*
SET L,DEATHS
MULT L,10
SUB SCOREX,L
*
SUB SCOREX,PENALTIES
*
IFLT SCOREX,0
SET SCOREX,0
FIN
*
LABEL FINIS
CALL GETSCORE
VALUE YOUSCORED,SCOREX
VALUE TOPSCORE,MAXSCORE
VALUE NMOVES,MOVES
IFLT SCOREX,20
LDA I,FISH
SUB SCOREX,20
ELSE
IFLT SCOREX,130
LDA I,NOVICE
SUB SCOREX,130
ELSE
IFLT SCOREX,240
LDA I,EXPERIENCED
SUB SCOREX,240
ELSE
IFLT SCOREX,350
LDA I,SEASONED
SUB SCOREX,350
ELSE
IFLT SCOREX,470
LDA I,JUNIORMASTER
SUB SCOREX,470
ELSE
IFLT SCOREX,510
LDA I,MASTER.C
SUB SCOREX,510
ELSE
IFLT SCOREX,530
LDA I,MASTER.B
SUB SCOREX,530
ELSE
IFLT SCOREX,550
LDA I,MASTER.A
SUB SCOREX,550
ELSE
LDA I,GRAND
LDA SCOREX,0
FIN
FIN
FIN
FIN
FIN
FIN
FIN
FIN
SAY I
SAY BLANK
MULT SCOREX,-1
IFGT SCOREX,0
IFEQ SCOREX,1
SAY NEED1
ELSE
VALUE NEED,SCOREX
FIN
FIN
SAY BLANK
STOP
LABEL PHOG {control fog and glow in fog}
IFLT FOG,8 {state 8 = invisible fog}
RANDOM FOG,8 {change color of fog}
FIN
RANDOM GLOW,8 {move the glow around}
IFNEAR LAMP
AND
IFEQ LAMP,1 {lamp here and glowing?}
APPORT GLOW,LIMBO {if so, masks out faint glow}
ELSE
APPORT GLOW,PLAIN.2 {if not, move glow into place}
IFAT PLAIN.2 {is that where we are?}
AND
NOT
BIT STATUS,MOVED
SAY GLOW {announce faint glimmer of light}
FIN
FIN
LABEL CORONER
SET QUITTING,0
SAY BLANK
BIC ADMIN,NOMAGIC {reset magic-inhibit mode}
BIC ADMIN,TICKER {clear once-per-move}
SET BLOB,0 {reset blob}
APPORT BLOB,LIMBO {and get rid of him}
APPORT GOBLINS,LIMBO {get rid of goblins, if around}
IFEQ BASILISK,1 {adjust the basilisk so that}
SET BASILISK,0 {he gets viewed from the south}
ELSE {as he should - whether he's}
IFEQ BASILISK,3 {petrified or not...}
SET BASILISK,2
FIN
FIN
APPORT FOG,PLAIN.1 {move the fog back to its initial}
SET FOG,8 {position, and make it semi-visible}
ADD DEATHS,1
IFGT CLOSURE,1
IFEQ CLOSURE,2
SAY DEAD&CLOSED
ELSE
SUB DEATHS,1 {don't charge for dying in repository}
FIN
CALL FINIS
FIN
LDA I,YOUAREDEAD-2
ADD I,DEATHS
ADD I,DEATHS
SAY I
QUERY SOK!
ADD I,1
SAY I
SAY BLANK
LDA J,SNIDELEY-1
IFLT I,J
IFHAVE VASE
APPORT VASE,LIMBO
GET POTTERY
FIN
ITOBJ I
IFHAVE I
DROP I
FIN
EOI
APPORT WATER,LIMBO
APPORT OIL,LIMBO
SET INVCT,0
SET LAMP,0
APPORT FOG,PLAIN.1
SET FOG,8
CALL PHOG {chase glow into place}
GOTO BUILDING
SET THERE,0
APPORT LAMP,ROAD
IFEQ LAMPLIFE,0
BIT LAMP,SPECIAL1
OR
NOT
BIT LAIR,BEENHERE
LOCATE I,BATTERIES
IFEQ BATTERIES,1
OR
NOT
BIT I,NOTINCAVE
APPORT LAMP,YLEM
FIN
FIN
FIN
APPORT DWARF,LIMBO
SET DWARROWS,0
BIC PIRATE,SPECIAL1 {clear chasing mode}
QUIT
ELSE
CALL FINIS
FIN
ELSE
CALL FINIS
FIN
STOP
LABEL GETBIRD
NEAR BIRD
IFHAVE BIRD
SAY YOUHAVEIT
QUIT
FIN
IFEQ BIRD,1
GET CAGE
GET BIRD
SAY OK
ELSE
IFHAVE CAGE
IFHAVE ROD
SAY BIRDISSCARED
ELSE
BIC BIRDCHAMBER,HINTABLE
GET BIRD
SET BIRD,1
SAY OK
FIN
ELSE
SAY NEEDCAGE
FIN
FIN
QUIT
LABEL GETCAGE
NEAR CAGE
IFHAVE CAGE
SAY YOUHAVEIT
QUIT
FIN
GET CAGE
IFNEAR BIRD
IFEQ BIRD,1
GET BIRD
FIN
FIN
SAY OK
QUIT
LABEL GETKNIFE
BIT AXE,SEEN
SAY NO..KNIVES
QUIT
FIN
LABEL DROPBIRD
HAVE BIRD
DROP BIRD
SET BIRD,0
IFNEAR SNAKE
SAY BIRD..SNAKE
APPORT SNAKE,LIMBO
BIC MTKING,HINTABLE
QUIT
ELSE
IFNEAR DRAGON
IFEQ DRAGON,0
APPORT BIRD,LIMBO {incinerate bird}
SAY BIRD..DRAGON
QUIT
FIN
FIN
FIN
SAY OK
QUIT
LABEL DROPCAGE
HAVE CAGE
DROP CAGE
IFHAVE BIRD
DROP BIRD
FIN
SAY OK
QUIT
LABEL DROPVASE
HAVE VASE
DROP VASE
IFAT SOFT
SAY OK
ELSE
IFHAVE PILLOW
OR
NOT
IFNEAR PILLOW
SET VASE,2
SAY VASE
APPORT VASE,LIMBO
APPORT POTTERY,HERE
ELSE
SET VASE,1
SAY VASE
SET VASE,0
FIN
FIN
QUIT
LABEL DROPLIQUID
HAVE ARG2
APPORT ARG2,LIMBO
SET BOTTLE,1
IFNEAR DWARF
AND
IFKEY THROW {throwing oil or water at dwarf - dangerous!}
IFEQ DWARROWS,1
NAME DOUSED.DWARF,ARG2
ELSE
NAME DOUSED.DWARVES,ARG2
FIN
BIS DWARF,SPECIAL2 {dwarf gets angry}
ELSE
SAY POURWATER
FIN
QUIT
LABEL DROPBOTTLE
HAVE BOTTLE
DROP BOTTLE
APPORT OIL,LIMBO
APPORT WATER,LIMBO
SAY OK
QUIT
LABEL GETBOTTLE
NEAR BOTTLE
IFHAVE BOTTLE
SAY YOUHAVEIT
QUIT
FIN
IFLT INVCT,STRENGTH
GET BOTTLE
IFEQ BOTTLE,0
GET WATER
ELSE
IFEQ BOTTLE,2
GET OIL
FIN
FIN
SAY OK
ELSE
SAY ARMSAREFULL
FIN
QUIT
LABEL GETOIL
AT EASTPIT
IFHAVE BOTTLE
IFEQ BOTTLE,1
SET BOTTLE,2
GET OIL
SAY BOTTLE..OIL
ELSE
SAY BOTTLEWASFULL
FIN
ELSE
SAY NOWAYTOCARRY
FIN
QUIT
LABEL GETWATER
BIT HERE,H20HERE
ELSE
PROCEED
FIN
IFHAVE BOTTLE
IFEQ BOTTLE,1
SET BOTTLE,0
GET WATER
SAY BOTTLE..H20
ELSE
SAY BOTTLEWASFULL
FIN
ELSE
SAY NOWAYTOCARRY
FIN
QUIT
LABEL KILLTROLL
SAY TROLL.DATA
QUIT
LABEL KILLBEAR
IFEQ BEAR,0
SAY KILL..BEAR
ELSE
SAY BEAR.PUZZLED
FIN
QUIT
LABEL KILLSNAKE
SAY CANTKILLSNAKE
QUIT
LABEL KILLDRAGON
IFGT DRAGON,0
SAY IT.IS.DEAD
QUIT
FIN
QUERY WITHWHAT?
SET DRAGON,1
SAY DRAGON
SET DRAGON,2
APPORT RUG,SECRETCYNNE1
APPORT TEETH,SECRETCYNNE1
BIC DRAGON,SCHIZOID
ITOBJ I
IFNEAR I
IFHAVE I
ELSE
APPORT I,SECRETCYNNE1
FIN
FIN
EOI
GOTO SECRETCYNNE1
ELSE
SAY OK
FIN
QUIT
LABEL KILLBIRD
IFLT CLOSURE,3
APPORT BIRD,LIMBO
SAY BIRDISDEAD
ELSE
SAY LEAVE.BIRD
FIN
QUIT
LABEL KILLBIVALVE
SAY KILL.OYSTER
QUIT
LABEL KILLDWARF
QUERY WITHWHAT?
SET I,STRENGTH
SUB I,INVCT
ADD I,2
MULT I,10
CHANCE I
SAY KILLEDDWARF
SUB DWARROWS,1
IFEQ DWARROWS,0
APPORT DWARF,LIMBO
FIN
SUB DWARFCOUNT,1
ELSE
CHANCE I
SAY DWARFDODGES
ELSE
SAY DWARFSTABS
CALL CORONER
FIN
FIN
ELSE
SAY OK
FIN
QUIT
LABEL KILLOGRE
QUERY WITHWHAT?
CHANCE 50
SAY OGRE.TOO.TOUGH
ELSE
SAY OGRE.RIPS.HEAD.OFF
CALL CORONER
FIN
ELSE
SAY OK
FIN
QUIT
LABEL KILLBLOB
SAY BOUNCE.BLOB
QUIT
LABEL KILLDJINN
SAY TOUGH.DJINN
QUIT
LABEL KILLGOBLINS
SAY KILL.GOBLINS
CALL CORONER
LABEL KILLBASILISK
IFLT BASILISK,2
SAY HIT.BASILISK
CALL CORONER
ELSE
SAY IT.IS.DEAD
QUIT
FIN
LABEL HITGONG
IFNEAR TURTLE
SAY GONG.RINGS
ELSE
SAY GONG.FETCH
APPORT TURTLE,HERE
FIN
QUIT
LABEL GETBEAR
NEAR BEAR
IFHAVE BEAR
SAY I.C.A.BEAR
ELSE
IFAT BEARHERE
IFEQ BEAR,2
SAY OK
GET BEAR
ELSE
SAY BEAR.IS.CHAINED
FIN
ELSE
SAY OK
GET BEAR
FIN
FIN
QUIT
LABEL DROPBEAR
HAVE BEAR
DROP BEAR
SAY OK
QUIT
LABEL FREEDJINN
NEAR DJINN
SAY DJINN.ADVICE
APPORT DJINN,LIMBO
BIS DJINN,SPECIAL1
QUIT
LABEL GETCHAIN
AT BEARHERE
NEAR CHAIN
IFEQ CHAIN,0
PROCEED
ELSE
SAY CHAIN.LOCKED
FIN
QUIT
LABEL GETSWORD
NEAR SWORD
IFEQ SWORD,0
AND
IFLT INVCT,STRENGTH
AND
NOT
IFHAVE SWORD
IFEQ MUSHROOM,2
SAY GOT.THE.SWORD
SET SWORD,1
GET SWORD
ELSE
SAY SWORD.IS.STUCK
FIN
QUIT
FIN
LABEL GETSCEPTRE
NEAR SCEPTRE
IFEQ SCEPTRE,0
AND
IFLT INVCT,STRENGTH
GET SCEPTRE
SET SCEPTRE,1
RANDOM PASSWORD,5
IFEQ PASSWORD,0
LDA PASSWORD,BLERBI
ELSE
IFEQ PASSWORD,1
LDA PASSWORD,KLAETU
ELSE
IFEQ PASSWORD,2
LDA PASSWORD,KNERL
ELSE
IFEQ PASSWORD,3
LDA PASSWORD,SNOEZE
ELSE
LDA PASSWORD,ZORTON
FIN
FIN
FIN
FIN
IFEQ SAFE,0
NAME WHISPER,PASSWORD
ELSE
SAY BLEW.SAFE
FIN
APPORT SKELETON,LIMBO
QUIT
FIN
LABEL SPLATTER
*
* Label SPLATTER should be called any time it is desirable to have
* the adventurer fall to a painful death. One of a series of
* text messages will be output, depending on how many times he
* has been killed so far during this game. Before calling SPLATTER,
* the calling routine should GOTO the place that is at the bottom of
* whatever the adventurer has jumped into - if that place isn't
* well-defined (bottom of the chasm, volcanic gorge, etc.), then
* go to Ylem.
*
LDA I,PLUMMET
ADD I,DEATHS
SAY I
CALL CORONER
LABEL DO.CAMEO {generate strange cameo appearances if possible}
BIT HERE,NOTINCAVE {cameos work only in the cave}
OR
BIT HERE,NODWARF {and only in dwarf-accessable areas}
OR
BIT HERE,LIT {and only in un-lit rooms}
OR
BIT HERE,ONE.EXIT {and only where there are several exits}
OR
NOT
IFHAVE LAMP {and only if you have your lamp}
OR
IFEQ LAMP,0 { (which must be turned on) }
OR
BIT PIRATE,SPECIAL1 {and not if the pirate is chasing you}
OR
IFNEAR DWARF {and not if you're being plagued by dwarves}
OR
IFNEAR DRAGON {or near the dragon (living or dead) }
OR
IFNEAR TROLL {or argueing with the troll}
OR
IFNEAR SNAKE {or trying to get past the snake}
OR
IFNEAR QUICKSAND {or trying to cross the quicksand}
PROCEED
FIN
SET CAMEO.TIME,0 {only one cameo per game, max}
LDA I,CAMEO
RANDOM J,LAST.CAMEO-CAMEO+1
ADD I,J
SAY BLANK
SAY I
SAY BLANK
LABEL CLOSE.THE.CAVE
SAY GO.REPOSIT
BIC STATUS,FASTMODE
BIC STATUS,QUICKIE
ITOBJ I
LOCATE J,I
BIT J,NOTINCAVE
OR
IFHAVE I
AND
BIT I,PORTABLE
APPORT I,YLEM
FIN
EOI
ITPLACE I
BIT I,NOTINCAVE
BIC I,BEENHERE
FIN
EOI
SET CLOSURE,3 {in cylindrical chamber}
SET CLOCK,999
GOTO CYLINDRICAL
SET ESCAPE,0
QUIT
LABEL CLOCK4 { (Administrative clock has ticked) }
IFEQ CLOSURE,0
SET CLOSURE,1
ITOBJ I
BIT I,VALUED
AND
NOT
IFLOC I,BUILDING
SET CLOSURE,0
FIN
EOI
IFEQ CLOSURE,1
SET CLOCK,35
ELSE
RANDOM CLOCK,10
ADD CLOCK,30
FIN
IFGT SCULPTURE,0
RANDOM SCULPTURE,@SCULPTURE-1 {skip the "on shelf" state}
ADD SCULPTURE,1
FIN
IFGT SWORD,0
RANDOM SWORD,@SWORD-1 {skip the "in stone" state}
ADD SWORD,1
FIN
IFEQ DRAGON,2
SUB DRAGTIME,LASTCLOCK
IFLT DRAGTIME,0
SET DRAGON,3
FIN
FIN
BIT DJINN,SPECIAL1
AND
NOT
BIT DJINN,SPECIAL2
AND
NOT
IFNEAR DWARF
BIS DJINN,SPECIAL2
SAY PHUGGG.DATA
SET CLOCK,5
PROCEED
FIN
IFGT MUSHROOM,1
SUB MUSHTIME,LASTCLOCK
IFLT MUSHTIME,0
IFEQ MUSHROOM,2
SET MUSHROOM,3
SET MUSHTIME,40
SAY MUSHROOM
SET STRENGTH,7
SET CLOCK,8
PROCEED
ELSE
SET MUSHROOM,0
APPORT MUSHROOM,CUBICLE
FIN
FIN
FIN
IFGT CAMEO.TIME,0
AND
IFLT CAMEO.TIME,MOVES
RANDOM CLOCK,10
ADD CLOCK,10
CALL DO.CAMEO
PROCEED
FIN
BIT MISTS,BEENHERE
OR
BIT Y2,BEENHERE
IFGT MOVES,150
AND
NOT
BIT CHEST,SEEN
BIS PIRATE,SPECIAL1
FIN
BIT HERE,NODWARF
OR
BIT HERE,NOTINCAVE
BIC PIRATE,SPECIAL1 {clear "chasing"}
RANDOM CLOCK,10 {set short clock interval}
ADD CLOCK,8
ELSE
SET I,DWARFCOUNT
ADD I,4
MULT I,10
CHANCE I
OR
BIT PIRATE,SPECIAL1
RANDOM I,10
ADD I,DWARROWS
IFEQ I,0
OR
BIT PIRATE,SPECIAL1
BIT CHEST,SEEN {found treasure chest yet?}
OR
BIT HERE,LIT {don't pounce in lit rooms}
OR
NOT
IFHAVE LAMP {don't pounce if lamp elsewhere}
OR
IFEQ LAMP,0 {or if it's dead}
* {do nothing in this case}
ELSE
BIC PIRATE,SPECIAL1 {clear "chasing"}
SET J,0
BIC RING,VALUED {so it doesn't get stolen}
ITOBJ I
BIT I,VALUED
AND
IFNEAR I
APPORT I,MAZEA.114
SET J,1
FIN
EOI
BIS RING,VALUED
IFEQ J,0
IFLOC CHEST,LIMBO {first time thru?}
SAY PIRATE.RUNS
ELSE
SAY RUSTLING
BIS PIRATE,SPECIAL1 {set "following"}
RANDOM CLOCK,10
ADD CLOCK,4
FIN
ELSE
SAY PIRATE..ZOTZ
FIN
IFLOC CHEST,LIMBO {first time through?}
APPORT CHEST,MAZEA.114
APPORT MESSAGE,MAZED.140
FIN
FIN
ELSE
IFGT DWARFCOUNT,0
BIT AXE,SEEN {have we seen a dwarf yet?}
APPORT DWARF,HERE
ADD DWARROWS,1
IFEQ DWARROWS,1
BIS DWARF,SPECIAL1 {knife not thrown yet}
BIC DWARF,SPECIAL2 {not angry}
FIN
ELSE {nope - fetch axe, invoke scared dwarf}
APPORT AXE,HERE
BIS AXE,SEEN {special case}
SAY FIRSTDWARF
FIN
FIN
FIN
FIN
FIN
FIN
ELSE
IFEQ CLOSURE,1 {is it near closing time?}
SET CLOSURE,2 {set "Closing soon"}
SET GRATE,0 {lock the grate}
SAY CLOSING.NOW {Sepulchral voice}
IFNEAR DWARF
SAY DWARF.QUITS {fades into the gloom}
FIN
APPORT DWARF,LIMBO {get rid of him/them}
SET DWARROWS,0 {zilch all present dwarves}
SET DWARFCOUNT,0 {don't let him reappear}
SET FISSURE,0 {destroy bridge}
SET GORGE,0 {destroy wheatstone bridge}
APPORT TROLL,LIMBO {remove troll}
APPORT DRAGON,LIMBO {remove dragon}
SET TROLL,5 {scared - inhibit return}
APPORT TROLL2,SWOFCHASM {fetch fake troll}
BIS FISSURE,INVISIBLE
BIS GORGE,INVISIBLE
SET CLOCK,25 {time to try to leave}
ELSE {must be closing time!}
BIT ADMIN,PANICED {did he try to get out?}
BIC ADMIN,PANICED {reset panic flag}
SET CLOCK,15 {let him get frantic}
ELSE {if he was calm,}
CALL CLOSE.THE.CAVE
FIN
FIN
FIN
SET LASTCLOCK,CLOCK
LABEL BAILOUT
IFEQ STATUS,1
NAME CLARIFY,ARG1
ELSE
IFEQ STATUS,2
AND
BIT ARG2,OBJECT
IFNEAR ARG2
NAME DUNNO.HAO,ARG1
ELSE
NAME IDONTSEE,ARG2
FIN
ELSE
NAME DUNNO.HAO,ARG1
FIN
FIN
QUIT
LABEL LAMPREY * Lamp getting dim or has gone out
IFGT LAMPLIFE,0
IFEQ BATTERIES,1
SAY LAMP.NOFUEL
ELSE
IFNEAR BATTERIES
SAY LAMP.REFUEL
SET BATTERIES,1
ADD LAMPLIFE,300
BIC LAMP,SPECIAL1 {clear "recharged" flag}
ELSE
BIT BATTERIES,SEEN
SAY LAMP.BATTERIES
ELSE
SAY LAMP.IS.DIM
FIN
FIN
FIN
ELSE
IFEQ CLOSURE,2
CALL CLOSE.THE.CAVE
ELSE
IFNEAR BATTERIES
AND
IFEQ BATTERIES,0
SAY LAMP.REFUEL
SET BATTERIES,1
ADD LAMPLIFE,300
ELSE
SAY LAMP.IS.DEAD
SET LAMP,0
BIS ADMIN,RANOUT {don't fall in a pit this move}
CALL PHOG {chase glow into place}
FIN
FIN
FIN
LABEL READ.MAGAZINES
SAY MAG.DWARVISH
QUIT
LABEL READ.TABLET
SAY DARK.ROOM
QUIT
LABEL READ.MESSAGE
SAY CHEST.ELSEWHERE
LABEL READ.MACHINE
SAY MACHINE.SIGN
QUIT
LABEL HINT.LOGIC
SET HINT.TIME,0
SET I,0
IFAT DEPRESSION
IFEQ GRATE,0
NOT
IFHAVE KEYS
LDA I,LOOKINGCAVE
FIN
FIN
FIN
IFAT BIRDCHAMBER
IFNEAR BIRD
IFEQ BIRD,0
IFHAVE ROD
LDA I,BIRDHINT?
FIN
FIN
FIN
FIN
IFAT MTKING
IFNEAR SNAKE
NOT
IFNEAR BIRD
LDA I,GETPASTSNAKE
FIN
FIN
FIN
IFAT WITTSEND
LDA I,HINT.WITTS?
FIN
IFAT PLOVER
OR
IFAT ALCOVE
OR
IFAT DARK
NOT
BIT DARK,BEENHERE
LDA I,HINT.PLOVER?
FIN
FIN
IFAT PLAIN.2
LDA I,PLAIN.HINT
FIN
BIT HERE,INMAZE
LDA I,HINT.MAZE?
FIN
LDA J,SLIDE-1
LDA K,ICECAVE.30+1
IFGT HERE,J
AND
IFLT HERE,K
LDA I,ICE.HINT?
FIN
IFGT I,0
QUERY I
VALUE ILL.GIVE.HINT,HINT.COST
QUERY WANT.HINT?
ADD I,1
SAY I
ADD PENALTIES,HINT.COST
BIC HERE,HINTABLE
IFAT PLOVER
OR
IFAT ALCOVE
OR
IFAT DARK
BIC PLOVER,HINTABLE
BIC DARK,HINTABLE
BIC ALCOVE,HINTABLE
ELSE
BIT HERE,INMAZE
ITPLACE I
BIT I,INMAZE
BIC I,HINTABLE
FIN
EOI
FIN
FIN
FIN
FIN
FIN
LABEL NO.MOVE.POSSIBLE
IFNEAR LAMP
AND
IFEQ LAMP,1
OR
BIT HERE,LIT
SAY NOCANGO
ELSE
CHANCE 25
SAY CRUNCH
CALL CORONER
ELSE
SAY OOF!
FIN
FIN
IFNEAR LAMP
AND
IFEQ LAMP,1
SUB LAMPLIFE,1
IFEQ LAMPLIFE,0
OR
IFEQ LAMPLIFE,40
CALL LAMPREY
FIN
FIN
QUIT
LABEL BREAK.VIAL
APPORT VIAL,LIMBO
SAY VIAL.BANG
RANDOM I,LAST.FUME-FIRST.FUME+1
LDA J,FIRST.FUME
ADD I,J
SAY I
SAY BLANK
IFNEAR DWARF
IFEQ DWARROWS,1
SET VIAL,1
ELSE
SET VIAL,2
FIN
SAY VIAL
APPORT DWARF,LIMBO
SUB DWARFCOUNT,DWARROWS
SET DWARROWS,0
FIN
IFNEAR TROLL
SET VIAL,3
SAY VIAL
FIN
IFNEAR BEAR
SET VIAL,4
IFGT BEAR,0
SET VIAL,5
FIN
SAY VIAL
FIN
IFNEAR SNAKE
SET VIAL,6
SAY VIAL
FIN
IFNEAR BIRD
SET VIAL,7
SAY VIAL
FIN
IFNEAR SLIME
SET VIAL,8
SAY VIAL
APPORT SLIME,LIMBO
FIN
IFNEAR DRAGON
AND
IFEQ DRAGON,0
SET VIAL,9
SAY VIAL
FIN
IFNEAR DJINN
SET VIAL,10
SAY VIAL
FIN
IFNEAR BASILISK
AND
IFLT BASILISK,2
SET VIAL,11
SAY VIAL
FIN
IFNEAR GOBLINS
SET VIAL,12
SAY VIAL
APPORT GOBLINS,LIMBO
FIN
QUIT
LABEL DROPVIAL
IFHAVE VIAL
AND
CHANCE 10
SAY VIAL.EXPLODES
APPORT VIAL,LIMBO
CALL CORONER
FIN
LABEL WEAPONRY.2 {handle more attack stuff}
IFNEAR BASILISK
IFGT BASILISK,1
SAY IT.IS.DEAD
IFKEY THROW
GET ARG2
FIN
ELSE
NAME AXE.BASILISK,ARG2
CALL CORONER
FIN
ELSE
IFNEAR DJINN
NAME REBOUND,ARG2
ELSE
IFNEAR GOBLINS
NAME KILL.A.FEW,ARG2
CALL CORONER
ELSE
IFKEY THROW {throwing weapon with no target}
GET ARG2 {will cause us to wade into the}
PROCEED {cause us to throw it to another place}
ELSE
SAY OK
FIN
FIN
FIN
FIN
QUIT
LABEL WEAPONRY {Handle attacks with weapons}
IFHAVE ARG2
IFKEY THROW
DROP ARG2
FIN
IFNEAR DWARF
SET I,STRENGTH
SUB I,INVCT
MULT I,5
SET J,DWARROWS
ADD J,2
MULT J,15
ADD I,J
IFKEY AXE
EOR
IFKEY SWING
ADD I,15
FIN
CHANCE I
SAY DWARF.POOF
SUB DWARROWS,1
IFEQ DWARROWS,0
APPORT DWARF,LIMBO
FIN
SUB DWARFCOUNT,1
ELSE
SAY DWARFDODGES
SET J,DWARROWS
ADD J,1
RANDOM J,J {how many knives thrown?}
IFGT J,0 {at least 1?}
IFEQ J,1
SAY KNIFETHROWN
ELSE
VALUE KNIVESTHROWN,J
FIN
BIT DWARF,SPECIAL2 { (is he mad?) }
SUB I,20
FIN
CHANCE I
OR
BIT DWARF,SPECIAL1
IFEQ J,1
SAY MISSES
ELSE
SAY KNIVESMISS
FIN
BIC DWARF,SPECIAL1
ELSE
SAY GETSYOU
CALL CORONER
FIN
FIN
FIN
ELSE
IFNEAR SNAKE
SAY CANTKILLSNAKE
IFKEY THROW
GET ARG2
FIN
ELSE
IFNEAR DRAGON
NAME KILL.DRAGON,ARG2
ELSE
IFNEAR BEAR
IFEQ BEAR,0
IFKEY THROW
IFKEY AXE
SAY AXE..BEAR
SET AXE,1
ELSE
SAY SWORD.MISSES
FIN
ELSE
CHANCE 50
SAY BEAR.MISSES
ELSE
SAY BEAR.GETS.YOU
CALL CORONER
FIN
FIN
ELSE
SAY BEAR.PUZZLED
FIN
QUIT
ELSE
IFNEAR TROLL
SAY TROLL.DATA
ELSE
IFNEAR OGRE
IFKEY SWING
NAME OGRE.REBUFF,ARG2
CALL CORONER
ELSE
IFKEY AXE
NAME OGRE.CATCH,ARG2
CALL CORONER
ELSE
SAY OGRE.KILLED
APPORT SWORD,LIMBO
APPORT OGRE,LIMBO
APPORT RING,HERE
QUIT
FIN
FIN
ELSE
IFNEAR BLOB
NAME SLICE.BLOB,ARG2
QUIT
ELSE
CALL WEAPONRY.2
PROCEED {if no attack, use normal}
FIN {"THROW" logic (see UPCHUCK)}
FIN
FIN
FIN
FIN
FIN
FIN
ELSE
NAME YOUDONTHAVE,ARG2
FIN
QUIT
LABEL PASSPHRASE
IFNEAR SAFE
IFEQ SAFE,0
IFEQ STATUS,2
AND
IFEQ ARG2,PASSWORD
OR
IFEQ ARG1,PASSWORD
SAY SAFE.OPENS
SET SAFE,1
BIS SAFE,SPECIAL1
QUIT
ELSE
NOT
BIT SAFE,SPECIAL1
SAY SAFE.FUSES
SET SAFE,2 {melt the safe's door shut}
SET BLOB,1 {wake up the blob}
BIS ADMIN,TICKER {BLOB is chasing us - quickly!}
BIS ADMIN,NOMAGIC {inhibit PLUGH etc.}
SET GRATE,0 {lock him in the cave}
QUIT
FIN
FIN
FIN
FIN
SAY NOTHING
QUIT
LABEL TICK {once-per-input routine}
IFGT BLOB,0
IFEQ BLOB,16 {special case for blob}
SET BLOB,17
SAY BLOB
CALL CORONER
FIN
SAY BLOB
ADD BLOB,1
FIN
LABEL PRESAY
IFGT STATUS,1
NAME SAID,ARG2
FIN
LABEL PLUNGE {for plunging into a bottomless pit}
GOTO YLEM
IFEQ LAMP,1
SET LAMPLIFE,0
IFHAVE LAMP
SAY FALL&STARVE
ELSE
SAY FALL&STARVED
FIN
ELSE
SAY FALL&STARVED
FIN
CALL CORONER
LABEL UPCHUCK
SET I,0
IFAT PIT
LDA I,THROW.PIT
LDA J,MISTS
FIN
IFAT EASTOFFISSURE
LDA I,THROW.FISSURE
LDA J,CAVERN
FIN
IFAT WESTOFFISSURE
LDA I,THROW.FISSURE
LDA J,CAVERN
FIN
IFAT WEND2PIT
LDA I,THROW.PIT
LDA J,WESTPIT
FIN
IFAT EEND2PIT
LDA I,THROW.PIT
LDA J,EASTPIT
FIN
IFAT LOWNSPASSAGE
LDA I,THROW.HOLE
LDA J,DIRTY
FIN
IFAT WINDOW
LDA I,THROW.PIT
LDA J,MIRRORCNYN
FIN
IFAT WINDOW2
LDA I,THROW.PIT
LDA J,MIRRORCNYN
FIN
IFAT BRINK
LDA I,THROW.PIT
LDA J,STREAMPIT
FIN
IFAT DUSTY
LDA I,THROW.HOLE
LDA J,COMPLEX
FIN
IFAT MAZEA.57.PIT
LDA I,THROW.PIT
LDA J,BIRDCHAMBER
FIN
IFAT SECRETNSCYN
LDA I,THROW.ROOM
LDA J,SLAB
FIN
IFAT SECRETNSCPAS
LDA I,THROW.ROOM
LDA J,BEDQUILT
FIN
IFAT SECRETEW.TITE
LDA I,THROW.CANYON
LDA J,NSCANYONWIDE
FIN
IFAT INCLINE
LDA I,THROW.ROOM
LDA J,LOW
FIN
IFAT CAVERN
LDA I,THROW.WHIRLPOOL
LDA J,YLEM
FIN
IFAT MISTY
LDA I,THROW.CAVERN
LDA J,CAVERN
FIN
IFAT STALACT
LDA I,THROW.ROOM
LDA J,MAZEA.53
FIN
IFAT RESERVOIR
OR
IFAT RESERVOIR.N
LDA I,THROW.RESERVOIR
LDA J,YLEM
FIN
IFAT BALCONY
LDA I,THROW.ROOM
LDA J,YLEM
FIN
IFAT SWOFCHASM
LDA I,THROW.CHASM
LDA J,YLEM
FIN
IFAT NEOFCHASM
LDA I,THROW.CHASM
LDA J,YLEM
FIN
IFAT BREATHTAKER
LDA I,THROW.GORGE
LDA J,YLEM
FIN
IFAT FACES
LDA I,THROW.GORGE
LDA J,YLEM
FIN
IFAT TUBE
LDA I,THROW.CHIMNEY
LDA J,CHIMNEY
FIN
IFAT TUBE.SLIDE
LDA I,THROW.TUBE
LDA J,PLAIN.1
FIN
IFAT BASQUE.FORK
LDA I,THROW.STEPS
LDA J,ON.STEPS
FIN
IFAT ON.STEPS
LDA I,THROW.STEPS
LDA J,STEPS.EXIT
FIN
IFAT STEPS.EXIT
LDA I,THROW.STEPS
LDA J,STORAGE
FIN
IFAT BRINK.1
LDA I,THROW.PIT
LDA J,YLEM
FIN
IFAT BRINK.2
LDA I,THROW.PIT
LDA J,YLEM
FIN
IFAT ICE
LDA I,THROW.SLIDE
LDA J,SLIDE
FIN
IFAT BRINK.3
LDA I,THROW.PIT
LDA J,YLEM
FIN
IFAT SHELF
LDA I,THROW.BEACH
LDA J,BEACH
FIN
IFAT PLATFORM
LDA I,THROW.GORGE
LDA J,YLEM
FIN
IFEQ I,0 {"THROWER" bit set but can't find target}
OR
IFKEY BEAR {you can't throw bear into chasm!}
PROCEED
FIN
NAME I,ARG2
APPORT ARG2,J
IFKEY VASE
APPORT VASE,YLEM
APPORT SHARDS,J
LDA I,YLEM
IFEQ I,J
ELSE
SAY SHATTERED.IT
FIN
FIN
IFKEY BOTTLE
APPORT OIL,LIMBO
APPORT WATER,LIMBO
FIN
IFKEY OIL
OR
IFKEY WATER
SET BOTTLE,1 {threw liquid away - drain bottle}
APPORT ARG2,LIMBO
FIN
IFKEY CAGE
AND
IFHAVE BIRD
APPORT BIRD,J
FIN
IFKEY LAMP
AND
IFEQ LAMP,1
AND
NOT
BIT HERE,LIT
SAY ITISNOWDARK
FIN
IFKEY BIRD
SET BIRD,0
FIN
QUIT
LABEL GROPE.FOR.IT {grope around in the dark for objects}
IFEQ STATUS,1 {did jhe say what to get?}
SAY CANT.SEE.ANYTHING
QUIT
FIN
BIT ARG2,OBJECT
IFHAVE ARG2
OR
NOT
BIT ARG2,PORTABLE
PROCEED
FIN
SET I,INVCT
SUB I,STRENGTH
MULT I,5
ADD I,60
CHANCE I
NAME GROPE.FALL,ARG2
CALL CORONER
ELSE
CHANCE 50
OR
NOT
IFNEAR ARG2
NAME GROPE.MISS,ARG2
QUIT
ELSE
NAME GROPE.FIND,ARG2
PROCEED
FIN
FIN
FIN