/ Fyleet by Jonathan R. Partington / / This game (c) Copyright J. R. Partington, but freely distributable. / / To quote the author: / / "Personally, I am happy for people to convert the games for any system / they like, as long as they give due acknowledgements (and don't / attempt to make any money out of them without consulting me first!)" ****************** JRP1.N.FYLEET:INIT ****************** / INITIAL PART OF DATABASE / ------------------------ / !POSSESSIONS FORT PLAYER !POSSESSIONS ROOM1 LAMP DOOR ACCORDION BOTTLE !POSSESSIONS WELLROOM WELL !POSSESSIONS BELLROOM BELL !POSSESSIONS CLEARING SCARECROW !POSSESSIONS TREERM SWORD !POSSESSIONS DEND2 MAT !POSSESSIONS WIDEPASS STATUE !POSSESSIONS ODULROOM GNOME !POSSESSIONS LITROOM PHOENIX !POSSESSIONS PRELIB SIGN !POSSESSIONS LIBRARY SPROUT CHAIR BOOK !POSSESSIONS CORR3 BARREL HELMET !POSSESSIONS FOGROOM FOG !POSSESSIONS IDOLRM IDOL !POSSESSIONS DEND1 PARROT !POSSESSIONS GARGR2 GARGOYLE !POSSESSIONS CELL CANDLESTICK !POSSESSIONS BIGRM1 GIANT !POSSESSIONS BARN WIZARD !POSSESSIONS BACROOM BACCHUS !POSSESSIONS DEND7 PLATE !POSSESSIONS BIGRM9 MUSIC !POSSESSIONS DEND3 IKON !POSSESSIONS DEND5 BROOM !POSSESSIONS SHRINE ALTAR !POSSESSIONS AVENUE PLANT !POSSESSIONS GLADE FISH !POSSESSIONS DEND6 AMBER !POSSESSIONS WWROOM FOUNTAIN RUBY !POSSESSIONS GATEROOM GATE !POSSESSIONS WAREND TUSK !POSSESSIONS DEND10 WAND !POSSESSIONS WEBROOM WEB !POSSESSIONS MIRROOM MIRROR !POSSESSIONS DEND8 OPAL !POSSESSIONS DEND9 SAPPHIRE !POSSESSIONS MOORRIM PANE BUST !POSSESSIONS UPROOM BONE !POSSESSIONS LOFT STRAW !POSSESSIONS MONKR2 MONK1 !POSSESSIONS MONKR4 MONK2 !POSSESSIONS MONKR6 MONK3 PENDANT !POSSESSIONS DEND11 TAPESTRY !POSSESSIONS XROOM DUSTER !POSSESSIONS CARY1 COLUMN !POSSESSIONS ROPEROOM ROPE !POSSESSIONS CORR4 RING !POSSESSIONS DEND4 DUMB !POSSESSIONS SPOOKRM HELEN PORTRAIT !POSSESSIONS STABLE HORSE SHIELD !POSSESSIONS GRAVE STONE !POSSESSIONS LARDER ONION CABBAGE BEEF !POSSESSIONS CONCHALL POSTBOX !POSSESSIONS HIPROOM SLOTULE !POSSESSIONS TJUNC2 NOTE NOBLE COIN PIECE TOKEN !POSSESSIONS HIPRM2 BADGE !POSSESSIONS NCORR STAFF !POSSESSIONS REL1 SPLEEN !POSSESSIONS REL2 TOE !POSSESSIONS REL3 SUNGLASS !POSSESSIONS REL5 HEART !POSSESSIONS TRINCO TURNIP !POSSESSIONS POSTER ADVERT !POSSESSIONS BACKS WOLF !POSSESSIONS TOUTA BLOODSTONE !POSSESSIONS ROOMZ SCEPTRE !POSSESSIONS CORR6 COLANDER !POSSESSIONS ZOLARM GORGON !POSSESSIONS HUMP2 HUMDUM !POSSESSIONS HUMP1 SYMBOL !POSSESSIONS MNEMRM FIGURINE !PROP FORT LIGHT OUTSIDE !PROP FOREST LIGHT DISORIENT OUTSIDE !PROP TREERM LIGHT OUTSIDE !PROP CLEARING LIGHT OUTSIDE !PROP ROOM1 LIGHT !PROP LITROOM LIGHT !PROP LIBRARY LIGHT !PROP MAZE1 DISORIENT !PROP MAZE2 DISORIENT VISITED !PROP MAZE3 DISORIENT VISITED !PROP MAZE4 DISORIENT VISITED !PROP MAZE5 DISORIENT VISITED !PROP MAZE6 DISORIENT VISITED !PROP MAZE7 DISORIENT VISITED !PROP MAZE8 DISORIENT VISITED !PROP MAZE9 DISORIENT VISITED !PROP MAZE10 DISORIENT VISITED !PROP MAZE11 DISORIENT VISITED !PROP MAZE12 DISORIENT VISITED !PROP MAZE13 DISORIENT VISITED !PROP MAZE14 DISORIENT VISITED !PROP IDOLRM LIGHT !PROP GARGR1 LIGHT !PROP GARGR2 LIGHT !PROP GARGR3 LIGHT !PROP BIGRM1 LIGHT VISITED !PROP BIGRM2 LIGHT VISITED !PROP BIGRM3 LIGHT / cant be visited since used for scoring !PROP BIGRM4 LIGHT VISITED !PROP BIGRM5 LIGHT VISITED !PROP BIGRM6 LIGHT VISITED !PROP BIGRM7 LIGHT VISITED !PROP BIGRM8 LIGHT VISITED !PROP BIGRM9 LIGHT VISITED !PROP BARN LIGHT !PROP LANDY2 LIGHT !PROP SHRINE LIGHT !PROP AVENUE LIGHT !PROP GLADE LIGHT !PROP WARREN DISORIENT !PROP FORK3 DISORIENT !PROP WAREND DISORIENT !PROP ASNETRAS NOSAVE LIGHT !PROP BOOK NOTAKE !PROP BELL NOTAKE !PROP SWORD NOTAKE TREASURE !PROP ORB TREASURE !PROP PARROT TREASURE !PROP PLATE TREASURE !PROP GNOME NOTAKE !PROP DOOR NOTAKE TOUCHABLE !PROP WELL NOTAKE !PROP SCARECROW NOTAKE !PROP STATUE NOTAKE TOUCHABLE CLIMBABLE !PROP MATDUM NOTAKE !PROP SPROUT NOTAKE !PROP CHAIR NOTAKE TREASURE !PROP BARREL NOTAKE TOUCHABLE CLIMBABLE !PROP IDOL NOTAKE TOUCHABLE !PROP FOG NOTAKE !PROP KNIGHT NOTAKE !PROP GIANT NOTAKE !PROP ROCKS NOTAKE TOUCHABLE !PROP WIZARD NOTAKE !PROP CANDLESTICK TREASURE !PROP BACCHUS LIGHT NOTAKE !PROP IKON TREASURE !PROP GARGOYLE NOTAKE !PROP ALTAR NOTAKE TOUCHABLE CLIMBABLE !PROP FISH TREASURE !PROP PLANT NOTAKE !PROP GATE NOTAKE TOUCHABLE !PROP FOUNTAIN NOTAKE TOUCHABLE !PROP RUBY TREASURE !PROP AMBER TREASURE !PROP TUSK TREASURE !PROP WEB NOTAKE !PROP MIRROR NOTAKE TOUCHABLE !PROP RING TREASURE !PROP OPAL TREASURE !PROP PANE NOTAKE TOUCHABLE !PROP BUST TREASURE !PROP BONE TREASURE !PROP COLUMN NOTAKE TOUCHABLE !PROP TAPESTRY TREASURE !PROP MONK1 NOTAKE !PROP MONK2 NOTAKE !PROP MONK3 NOTAKE !PROP ROPE NOTAKE TOUCHABLE !PROP PENDANT TREASURE !PROP SAPPHIRE TREASURE !PROP PORTRAIT TREASURE !PROP HORSE NOTAKE !PROP HELEN NOTAKE !PROP DUMB NOTAKE TOUCHABLE !PROP EGG TREASURE !PROP GRAVE LIGHT !PROP STONE NOTAKE TOUCHABLE !PROP ONYX TREASURE !PROP STREAM LIGHT !PROP CONCHALL LIGHT !PROP ROOMX LIGHT DISORIENT !PROP ROOMZ LIGHT !PROP POSTBOX NOTAKE TOUCHABLE CLIMBABLE !PROP FLINN NOTAKE !PROP TOPAZ TREASURE !PROP HIPROOM LIGHT !PROP HIPRM2 LIGHT !PROP SLOTULE NOTAKE TOUCHABLE !PROP HIPPOGRIFF NOTAKE / though may never be there anyway !PROP DRONERM LIGHT !PROP RINK LIGHT NOSAVE DISORIENT !PROP TRINCO LIGHT NOSAVE DISORIENT !PROP REL1 LIGHT !PROP REL2 LIGHT !PROP REL3 LIGHT !PROP REL4 LIGHT !PROP REL5 LIGHT !PROP O1 NOTAKE !PROP O2 NOTAKE !PROP O3 NOTAKE !PROP O4 NOTAKE !PROP O5 NOTAKE !PROP O6 NOTAKE !PROP O7 NOTAKE !PROP O8 NOTAKE !PROP O9 NOTAKE !PROP O10 NOTAKE !PROP O11 NOTAKE !PROP O12 NOTAKE !PROP O13 NOTAKE !PROP O14 NOTAKE !PROP O15 NOTAKE !PROP O16 NOTAKE !PROP O17 NOTAKE !PROP O18 NOTAKE !PROP O19 NOTAKE !PROP O20 NOTAKE !PROP O21 NOTAKE !PROP O22 NOTAKE !PROP O23 NOTAKE !PROP O24 NOTAKE !PROP O25 NOTAKE !PROP O26 NOTAKE !PROP JACINTH TREASURE !PROP EMERALD TREASURE !PROP SCEPTRE TREASURE !PROP ADVERT NOTAKE TOUCHABLE !PROP BACKS LIGHT !PROP POSTER LIGHT !PROP POSTAD LIGHT !PROP TOUTA LIGHT NOSAVE DISORIENT !PROP TOUTB LIGHT NOSAVE DISORIENT !PROP TOUTC LIGHT NOSAVE DISORIENT !PROP BELT TREASURE !PROP HUMDUM NOTAKE !PROP GORGON NOTAKE !PROP ZOLARM LIGHT !PROP SYMBOL NOTAKE !PROP FIGURINE TREASURE !PROP OMLET NOTAKE !PROP BLOODSTONE TREASURE !STATE O1 26 !STATE O2 25 !STATE O3 7 !STATE O4 13 !STATE O5 21 !STATE O6 14 !STATE O7 4 !STATE O8 3 !STATE O9 18 !STATE O10 15 !STATE O11 2 !STATE O12 5 !STATE O13 6 !STATE O14 12 !STATE O15 1 !STATE O16 19 !STATE O17 8 !STATE O18 9 !STATE O19 10 !STATE O20 11 !STATE O21 16 !STATE O22 17 !STATE O23 20 !STATE O24 22 !STATE O25 23 !STATE O26 24 !STATE SWORD 3 !STATE RINK 3 !VAR STRENGTH 7 / Can carry 7 objects, !VAR OBJHELD 0 / and is not carrying any initially. !VAR SWORDVAR 4 !VAR II 1 !VAR JJ 5 !VAR TERSEVAR 1 !END ****************** JRP1.N.FYLEET:STAT ****************** !POSTCOMMAND POSTPROG !WELCOME WELCPROG / / Program-defined properties. / !PROPERTY LIGHT 0 / Light source (objects and rooms). !PROPERTY INVIS 1 / Invisibility (objects only). !PROPERTY HIDING 2 / Hides objects it holds (objects only). !PROPERTY VISITED 1 / Visited (rooms only). !PROPERTY DISORIENT 2 / "Disorientation" property (rooms only). / / User-defined properties. / !PROPERTY NOTAKE 3 / Cannot be taken (objects only). !PROPERTY OUTSIDE 3 / rooms only !PROPERTY TREASURE 4 / objects only !PROPERTY NOSAVE 4 / rooms cant save in !PROPERTY TOUCHABLE 5 / objects not takeable !PROPERTY CLIMBABLE 6 / / Directions. / !DIRECTION B / Dummy direction to make GO BACK work. !DIRECTION D !DIRECTION E !DIRECTION N !DIRECTION NE !DIRECTION NW !DIRECTION S !DIRECTION SE !DIRECTION SW !DIRECTION U !DIRECTION W !DIRECTION G / for giant and rocks !DIRECTION M / monks / / Special meanings of words. / !SPECIAL ALLSPEC / To detect the word "ALL". !SPECIAL INVSPEC / To detect the word "INVENTORY". !SPECIAL DOORSPEC !SPECIAL TREESPEC !SPECIAL ONOFFSPEC !SPECIAL WATERSPEC / the usual problems !SPECIAL ASPEC !SPECIAL BSPEC !SPECIAL CSPEC !SPECIAL DSPEC !SPECIAL ESPEC !SPECIAL FSPEC !SPECIAL GSPEC !SPECIAL HSPEC !SPECIAL ISPEC !SPECIAL JSPEC !SPECIAL KSPEC !SPECIAL LSPEC !SPECIAL MSPEC !SPECIAL NSPEC !SPECIAL OSPEC !SPECIAL PSPEC !SPECIAL QSPEC !SPECIAL RSPEC !SPECIAL SSPEC !SPECIAL TSPEC !SPECIAL USPEC !SPECIAL VSPEC !SPECIAL WSPEC !SPECIAL XSPEC !SPECIAL YSPEC !SPECIAL ZSPEC !SPECIAL ARMSPEC !SPECIAL FLOORSPEC !SPECIAL TRAPSPEC !SPECIAL MAGICSPEC / for magic words (SAYPROG) !SPECIAL WINESPEC !SPECIAL PROUSTSPEC !SPECIAL GCSPEC !SPECIAL MKSPEC !SPECIAL PDSPEC !SPECIAL RUSPEC !SPECIAL TLSPEC !SPECIAL FAIRSPEC !SPECIAL ONESPEC !SPECIAL TWOSPEC !SPECIAL THREESPEC !SPECIAL FOURSPEC !SPECIAL FIVESPEC !SPECIAL SIXSPEC !SPECIAL SEVENSPEC !SPECIAL EIGHTSPEC !SPECIAL NINESPEC / / Variables. / / The four workspace variables must appear first. !VARIABLE VAR0 !VARIABLE VAR1 / to be used for price of hippo ride !VARIABLE VAR2 / to be used for fare paid so far !VARIABLE VAR3 !VARIABLE VAR4 / replaces var1 which is never used specially !VARIABLE VAR5 / replaces var2 which is never used specially / Now other variables. !VARIABLE OBJHELD !VARIABLE STRENGTH !VARIABLE SWORDVAR !VARIABLE WARVAR !VARIABLE PHXVAR !VARIABLE MUSCTIME !VARIABLE SNAKEVAR !VARIABLE II !VARIABLE JJ / coords !VARIABLE RINKCT !VARIABLE WOLFCT !VARIABLE WBONUS / scoring bonus for curing lycanthropy !VARIABLE MGBONUS / scoring bonus for mongoose/gudgeon !VARIABLE NTOUT !VARIABLE NETOUT !VARIABLE ETOUT !VARIABLE SETOUT !VARIABLE STOUT !VARIABLE SWTOUT !VARIABLE WTOUT !VARIABLE NWTOUT !VARIABLE UTOUT !VARIABLE DTOUT !VARIABLE TOUTCT !VARIABLE TERSEVAR / !TEXTVAR / / OBJECTS SECTION / --------------- / / Player must be first object. !OBJECT PLAYER HOLDING HOLDING HOLDING !OBJECT BELL MNULL MNULL MNULL !OBJECT DUSTER DUST1 DUST2 DUST1 !OBJECT LAMP LAMPM1 LAMPM2 LAMPM1 !OBJECT WELL MNULL MNULL MNULL !OBJECT DOOR MNULL MNULL MNULL !OBJECT SCARECROW SCAREM1 SCAREM2 SCAREM1 !OBJECT ORB ORBM1 ORBM2 ORBM1 !OBJECT SWORD SWORDM1 SWORDM2 SWORDM1 !OBJECT PARROT PARROTM1 PARROTM2 PARROTM1 !OBJECT MAT MATM1 MATM2 MATM1 !OBJECT ACCORDION ACCORDM1 ACCORDM2 ACCORDM1 !OBJECT MATDUM MATDUM1 MNULL MNULL !OBJECT BOOK BOOKM1 BOOKM2 BOOKM1 !OBJECT STATUE MNULL MNULL MNULL !OBJECT BOTTLE BOTTM1 BOTTM2 BOTTM1 !OBJECT BROOM BROOMM1 BROOMM2 BROOMM1 !OBJECT GNOME GNOMEM1 GNOMEM2 GNOMEM1 !OBJECT PLATE PLATEM1 PLATEM2 PLATEM1 !OBJECT PHOENIX PHXM1 PHXM2 PHXM1 !OBJECT SPROUT SPROUTM1 MNULL SPROUTM1 !OBJECT SIGN SIGNM1 SIGNM2 SIGNM1 !OBJECT CHAIR CHAIRM1 CHAIRM2 CHAIRM1 !OBJECT BARREL BARRELM1 MNULL BARRELM1 !OBJECT IDOL IDOLM1 MNULL IDOLM1 !OBJECT FOG MNULL MNULL MNULL !OBJECT KNIGHT MNULL MNULL MNULL !OBJECT GARGOYLE MNULL MNULL MNULL !OBJECT ROCKS MNULL MNULL MNULL !OBJECT GIANT MNULL MNULL MNULL !OBJECT STRAW STRAWM1 STRAWM2 STRAWM1 !OBJECT WIZARD WIZM1 MNULL MNULL !OBJECT CANDLESTICK CANDM1 CANDM2 CANDM1 !OBJECT BACCHUS BACCH1 MNULL MNULL !OBJECT MUSIC MUSICM1 MUSICM2 MUSICM1 !OBJECT IKON IKONM1 IKONM2 IKONM1 !OBJECT WAND WANDM1 WANDM2 WANDM1 !OBJECT ALTAR MNULL MNULL MNULL !OBJECT FISH FISHM1 FISHM2 FISHM1 !OBJECT PLANT PLANTM1 MNULL PLANTM1 !OBJECT GATE GATEM1 MNULL MNULL !OBJECT RUBY RUBYM1 RUBYM2 RUBYM1 !OBJECT FOUNTAIN MNULL MNULL MNULL !OBJECT AMBER AMBERM1 AMBERM2 AMBERM1 !OBJECT ONULL MNULL MNULL MNULL / nowhere !OBJECT TUSK TUSKM1 TUSKM2 TUSKM1 !OBJECT RING RINGM1 RINGM2 RINGM1 !OBJECT WEB WEBM1 MNULL MNULL !OBJECT MIRROR MIRRORM1 MNULL MNULL !OBJECT OPAL OPALM1 OPALM2 OPALM1 !OBJECT PANE PANEM1 MNULL MNULL !OBJECT BUST BUSTM1 BUSTM2 BUSTM1 !OBJECT BONE BONEM1 BONEM2 BONEM1 !OBJECT HELMET HELMETM1 HELMETM2 HELMETM1 !OBJECT MONK1 MNULL MNULL MNULL !OBJECT MONK2 MNULL MNULL MNULL !OBJECT MONK3 MNULL MNULL MNULL !OBJECT PENDANT PENDM1 PENDM2 PENDM1 !OBJECT COLUMN COLUMNM MNULL MNULL !OBJECT TAPESTRY TAPESM1 TAPESM2 TAPESM1 !OBJECT SHIELD SHIELDM1 SHIELDM2 SHIELDM1 !OBJECT ROPE ROPEM1 MNULL MNULL !OBJECT SAPPHIRE SAPPHM1 SAPPHM2 SAPPHM1 !OBJECT PORTRAIT PORTM1 PORTM2 PORTM1 !OBJECT DUMB DUMBM1 MNULL DUMBM1 !OBJECT HELEN HELENM1 MNULL MNULL !OBJECT HORSE HORSEM1 MNULL MNULL !OBJECT EGG EGGM1 EGGM2 EGGM1 !OBJECT STONE MNULL MNULL MNULL !OBJECT ONION ONIONM1 ONIONM2 ONIONM1 !OBJECT BEEF BEEFM1 BEEFM2 BEEFM1 !OBJECT CABBAGE CABBAGM1 CABBAGM2 CABBAGM1 !OBJECT ONYX ONYXM1 ONYXM2 ONYXM1 !OBJECT BADGE BADGEM1 BADGEM2 BADGEM1 !OBJECT POSTBOX MNULL MNULL MNULL !OBJECT TOPAZ TOPAZM1 TOPAZM2 TOPAZM1 !OBJECT FLINN FLINNM1 MNULL MNULL !OBJECT TOKEN TOKENM1 TOKENM2 TOKENM1 !OBJECT PIECE PIECEM1 PIECEM2 PIECEM1 !OBJECT COIN COINM1 COINM2 COINM1 !OBJECT NOBLE NOBLEM1 NOBLEM2 NOBLEM1 !OBJECT NOTE NOTEM1 NOTEM2 NOTEM1 !OBJECT HIPPOGRIFF MNULL MNULL MNULL !OBJECT SLOTULE SLOTM1 MNULL SLOTM1 / slot machine !OBJECT STAFF STAFFM1 STAFFM2 STAFFM1 !OBJECT SNAKE SNAKEM1 SNAKEM2 SNAKEM1 !OBJECT O1 OMESS MNULL MNULL !OBJECT O2 OMESS MNULL MNULL !OBJECT O3 OMESS MNULL MNULL !OBJECT O4 OMESS MNULL MNULL !OBJECT O5 OMESS MNULL MNULL !OBJECT O6 OMESS MNULL MNULL !OBJECT O7 OMESS MNULL MNULL !OBJECT O8 OMESS MNULL MNULL !OBJECT O9 OMESS MNULL MNULL !OBJECT O10 OMESS MNULL MNULL !OBJECT O11 OMESS MNULL MNULL !OBJECT O12 OMESS MNULL MNULL !OBJECT O13 OMESS MNULL MNULL !OBJECT O14 OMESS MNULL MNULL !OBJECT O15 OMESS MNULL MNULL !OBJECT O16 OMESS MNULL MNULL !OBJECT O17 OMESS MNULL MNULL !OBJECT O18 OMESS MNULL MNULL !OBJECT O19 OMESS MNULL MNULL !OBJECT O20 OMESS MNULL MNULL !OBJECT O21 OMESS MNULL MNULL !OBJECT O22 OMESS MNULL MNULL !OBJECT O23 OMESS MNULL MNULL !OBJECT O24 OMESS MNULL MNULL !OBJECT O25 OMESS MNULL MNULL !OBJECT O26 OMESS MNULL MNULL !OBJECT COLANDER COLANDM1 COLANDM2 COLANDM1 !OBJECT SPLEEN SPLEENM1 SPLEENM2 SPLEENM1 !OBJECT HEART HEARTM1 HEARTM2 HEARTM1 !OBJECT TOE TOEM1 TOEM2 TOEM1 !OBJECT SUNGLASS SUNGLM1 SUNGLM2 SUNGLM1 !OBJECT GOAT GOATM1 GOATM2 GOATM1 !OBJECT WOLF WOLFM1 WOLFM2 WOLFM1 !OBJECT TURNIP TURNIPM1 TURNIPM2 TURNIPM1 !OBJECT JACINTH JACINTH1 JACINTH2 JACINTH1 !OBJECT EMERALD EMERALD1 EMERALD2 EMERALD1 !OBJECT SCEPTRE SCEPTRE1 SCEPTRE2 SCEPTRE1 !OBJECT ADVERT ADVERTM1 MNULL MNULL !OBJECT GORGON GORGONM1 MNULL MNULL !OBJECT HUMDUM HUMDUMM1 MNULL MNULL !OBJECT BELT BELTM1 BELTM2 BELTM1 !OBJECT SYMBOL MNULL MNULL MNULL !OBJECT OMLET OMLETM1 MNULL MNULL !OBJECT FIGURINE FIGURIN1 FIGURIN2 FIGURIN1 !OBJECT BLOODSTONE BLOODM1 BLOODM2 BLOODM1 / / ROOMS SECTION / ------------- / / Rooms for this database. !ROOM FORT FORTM1 FORTM2 !ROOM FOREST FORESTM1 FORESTM2 !ROOM ROOM1 ROOM1M1 ROOM1M2 !ROOM LITROOM LITRM1 LITRM2 !ROOM BELLROOM BELLRM1 BELLRM2 !ROOM CORR1 CORRM1 CORRM2 !ROOM ODULROOM ODULRM1 ODULRM2 !ROOM TJUNC1 TJUNC1M1 TJUNC1M2 !ROOM WELLROOM WELLRM1 WELLRM2 !ROOM DEND1 DENDM1 DENDM1 !ROOM WELLBASE MNULL MNULL !ROOM CLEARING CLEARM1 CLEARM2 !ROOM TREERM TREERMM1 TREERMM2 !ROOM DEND2 DENDM1 DENDM1 !ROOM WIDEPASS WIDEPM1 WIDEPM2 !ROOM DEND3 DENDM1 DENDM1 !ROOM HALL HALLM1 HALLM2 !ROOM PRELIB PRELIB1 PRELIB2 !ROOM LIBRARY LIBM1 LIBM2 !ROOM CORR2 CORR2M1 CORR2M2 !ROOM CORR3 CORR3M1 CORR3M2 !ROOM DEND5 DEND5M1 DEND5M2 !ROOM LAKE1 LAKE1M1 LAKE1M2 !ROOM LAKE2 LAKE2M1 LAKE2M2 !ROOM FORK1 FORK1M1 FORK1M2 !ROOM DEND6 DEND6M1 DEND6M2 !ROOM MAZE1 MAZEM1 MAZEM2 !ROOM MAZE2 MAZEM1 MAZEM2 !ROOM MAZE3 MAZEM1 MAZEM2 !ROOM MAZE4 MAZEM1 MAZEM2 !ROOM MAZE5 MAZEM1 MAZEM2 !ROOM MAZE6 MAZEM1 MAZEM2 !ROOM MAZE7 MAZEM1 MAZEM2 !ROOM MAZE8 MAZEM1 MAZEM2 !ROOM MAZE9 MAZEM1 MAZEM2 !ROOM MAZE10 MAZEM1 MAZEM2 !ROOM MAZE11 MAZEM1 MAZEM2 !ROOM MAZE12 MAZEM1 MAZEM2 !ROOM MAZE13 MAZEM1 MAZEM2 !ROOM MAZE14 MAZEM1 MAZEM2 !ROOM IDOLRM IDOLRM1 IDOLRM2 !ROOM FOGROOM FOGRM1 FOGRM2 !ROOM GARGR1 GARGR11 GARGR12 !ROOM GARGR2 GARGR21 GARGR22 !ROOM GARGR3 GARGR31 GARGR32 !ROOM CORR4 CORR4M1 CORR4M2 !ROOM BIGRM1 BIGRMM11 BIGRMM12 !ROOM BIGRM2 BIGRMM21 BIGRMM22 !ROOM BIGRM3 BIGRMM31 BIGRMM32 !ROOM BIGRM4 BIGRMM41 BIGRMM42 !ROOM BIGRM5 BIGRMM51 BIGRMM52 !ROOM BIGRM6 BIGRMM61 BIGRMM62 !ROOM BIGRM7 BIGRMM71 BIGRMM72 !ROOM BIGRM8 BIGRMM81 BIGRMM82 !ROOM BIGRM9 BIGRMM91 BIGRMM92 !ROOM CORR5 CORR5M1 CORR5M2 !ROOM BARN BARNM1 BARNM2 !ROOM DEND8 DENDM1 DENDM1 !ROOM CORR6 CORR6M1 CORR6M2 !ROOM BACROOM BACRM1 BACRM2 !ROOM DEND7 DENDM1 DENDM1 !ROOM CORR7 CORR7M1 CORR7M2 !ROOM CORR8 CORR8M1 CORR8M2 !ROOM SECROOM SECRMM1 SECRMM2 !ROOM STAIR1 STAIR1M1 STAIR1M2 !ROOM STAIR2 STAIR2M1 STAIR2M2 !ROOM STAIR3 STAIR3M1 STAIR3M2 !ROOM CELL CELLM1 CELLM2 !ROOM LANDY1 LANDY1M1 LANDY1M2 !ROOM LANDY2 LANDY2M1 LANDY2M2 !ROOM LANDY3 LANDY3M1 LANDY3M2 !ROOM SHRINE SHRINEM1 SHRINEM2 !ROOM AVENUE AVENM1 AVENM2 !ROOM GLADE GLADEM1 GLADEM2 !ROOM GATEROOM GATERMM1 GATERMM2 !ROOM WWROOM WWROOM1 WWROOM2 !ROOM FORK2 FORK2M1 FORK2M2 !ROOM FORK3 FORK3M1 FORK3M2 !ROOM WARREN WARRENM1 WARRENM2 !ROOM WAREND WARENDM1 WARENDM2 !ROOM WARSAFE MNULL MNULL / purely for manipulative purposes !ROOM WARSAFE2 MNULL MNULL / ditto !ROOM DEND9 DENDM1 DENDM1 !ROOM LOFT LOFTM1 LOFTM2 !ROOM CORR9 CORR9M1 CORR9M2 !ROOM CORR10 CORR10M1 CORR10M2 !ROOM WEBROOM WEBRMM1 WEBRMM2 !ROOM MIRROOM MIRRMM1 MIRRMM2 !ROOM RNULL MNULL MNULL / for destroyed objects e.g. mat problem !ROOM MOORRIM MOORM1 MOORM2 !ROOM DEND10 DENDM1 DENDM1 !ROOM TJUNC2 TJUNC2M1 TJUNC2M2 !ROOM HOLEROOM HOLERMM1 HOLERMM2 !ROOM UPROOM UPRMM1 UPRMM2 !ROOM DEND11 DENDM1 DENDM1 !ROOM XROOM XROOMM1 XROOMM2 !ROOM MONKR1 MONKR1M1 MONKR1M2 !ROOM MONKR2 MONKR2M1 MONKR2M2 !ROOM MONKR3 MONKR3M1 MONKR3M2 !ROOM MONKR4 MONKR4M1 MONKR4M2 !ROOM MONKR5 MONKR5M1 MONKR5M2 !ROOM MONKR6 MONKR6M1 MONKR6M2 !ROOM MONKDUMP MNULL MNULL !ROOM CARY1 CARYM1 CARYM1 !ROOM CARY2 CARYM1 CARYM1 !ROOM CARY3 CARYM1 CARYM1 !ROOM CARY4 CARYM1 CARYM1 !ROOM CARY5 CARYM1 CARYM1 !ROOM CARY6 CARYM1 CARYM1 !ROOM CARY7 CARYM1 CARYM1 !ROOM CARY8 CARYM1 CARYM1 !ROOM CARY9 CARYM1 CARYM1 !ROOM CARY10 CARYM1 CARYM1 !ROOM CARY11 CARYM1 CARYM1 !ROOM CARY12 CARYM1 CARYM1 !ROOM TEMPLE TEMPLEM1 TEMPLEM1 !ROOM PRETEMPLE PRETEM1 PRETEM2 !ROOM ROPEROOM ROPERMM1 ROPERMM2 !ROOM DEND4 DENDM1 DENDM1 !ROOM CORR11 CORR11M1 CORR11M2 !ROOM SPOOKRM SPOOKRM1 SPOOKRM2 !ROOM STABLE STABLEM1 STABLEM2 !ROOM LARDER LARDERM1 LARDERM2 !ROOM GRAVE GRAVEM1 GRAVEM2 !ROOM STREAM STREAMM1 STREAMM2 !ROOM CORR12 CORR12M1 CORR12M2 !ROOM CONCHALL CONCHM1 CONCHM2 !ROOM ROOMX ROOMXM1 ROOMXM2 !ROOM ROOMZ ROOMZM1 ROOMZM2 !ROOM PNROOM PNRMM1 PNRMM2 !ROOM NPROOM NPRMM1 NPRMM2 !ROOM HIPROOM HIPRMM1 HIPRMM2 !ROOM HIPRM2 HIPRM21 HIPRM22 !ROOM NCORR NCORRM1 NCORRM2 !ROOM DRONERM DRONERM1 DRONERM2 !ROOM RINK RINKM1 RINKM1 !ROOM TRINCO TRINCOM1 TRINCOM2 !ROOM REL1 REL1M1 REL1M2 !ROOM REL2 REL2M1 REL2M2 !ROOM REL3 REL3M1 REL3M2 !ROOM REL4 REL4M1 REL4M1 !ROOM REL5 REL5M1 REL5M2 !ROOM BACKS BACKSM1 BACKSM2 !ROOM POSTER POSTERM1 POSTERM2 !ROOM POSTAD POSTADM1 POSTADM2 !ROOM TOUTA TOUTM1 TOUTM1 !ROOM TOUTB TOUTM1 TOUTM1 !ROOM TOUTC TOUTM1 TOUTM1 !ROOM HUMP1 HUMP1M1 HUMP1M1 !ROOM HUMP2 HUMP2M1 HUMP2M2 !ROOM HUMP3 HUMP3M1 HUMP3M2 !ROOM ZOLARM ZOLARMM1 ZOLARMM2 !ROOM MNEMRM MNEMRMM1 MNEMRMM2 !ROOM ASNETRAS ASNET1 ASNET1 / / EXITS SECTION / ------------- / !EXIT FORT N STREAM NE FOREST E TREERM SE FOREST S ROOM1 STEPPROG SW FOREST W CLEARING NW FOREST D ROOM1 STEPPROG !EXIT FOREST N FOREST DIEFOREST NE FOREST DIEFOREST E FOREST DIEFOREST SE FOREST DIEFOREST S FOREST DIEFOREST SW FOREST DIEFOREST W FOREST DIEFOREST NW FOREST DIEFOREST !EXIT ROOM1 U FORT N FORT S LITROOM POXPROG E ODULROOM ODULPROG !EXIT LITROOM N ROOM1 S TJUNC1 W FORK2 E DEND2 !EXIT BELLROOM E FORK2 W CORR1 !EXIT CORR1 E BELLROOM BELLPROG S IDOLRM !EXIT TJUNC1 N LITROOM S WIDEPASS STATPROG E WELLROOM !EXIT DEND1 E XROOM !EXIT WELLROOM W TJUNC1 G WELLBASE / parrot !EXIT WELLBASE G WELLROOM !EXIT CLEARING E FORT N FOREST NE FOREST SE FOREST S FOREST SW FOREST W FOREST NW FOREST !EXIT TREERM W FORT TREEPROG N FOREST NE FOREST E FOREST SE FOREST S FOREST SW FOREST NW FOREST !EXIT DEND2 W LITROOM !EXIT WIDEPASS N TJUNC1 S HALL !EXIT HALL N WIDEPASS S LAKE1 E PRELIB W FORK1 GREENPROG SE CORR2 NW CORR5 SW SHRINE NE WWROOM !EXIT DEND3 E GARGR1 !EXIT PRELIB E LIBRARY W HALL !EXIT LIBRARY W PRELIB !EXIT CORR2 NW HALL SE CORR3 S DRONERM !EXIT CORR3 NW CORR2 E DEND5 !EXIT DEND5 W CORR3 !EXIT LAKE1 N HALL S LAKE2 LAKEPROG !EXIT LAKE2 N LAKE1 LAKEPROG S XROOM !EXIT FORK1 E HALL SW MAZE1 W FOGROOM !EXIT MAZE1 N FORK1 SW MAZE2 E MAZE3 SE MAZE4 NW MAZE5 !EXIT MAZE2 E MAZE1 NW MAZE3 NE MAZE6 !EXIT MAZE3 SE MAZE1 NE MAZE2 SW MAZE4 E MAZE7 !EXIT MAZE4 S MAZE1 N MAZE3 W MAZE5 SE MAZE8 !EXIT MAZE5 S MAZE1 SE MAZE4 NE MAZE9 !EXIT MAZE6 S MAZE2 W MAZE7 NW MAZE10 !EXIT MAZE7 E MAZE3 W MAZE6 NW MAZE8 N MAZE11 !EXIT MAZE8 NW MAZE4 NE MAZE7 E MAZE9 S MAZE12 !EXIT MAZE9 S MAZE5 SW MAZE8 W MAZE13 !EXIT MAZE10 N MAZE6 NE MAZE11 SW MAZE14 !EXIT MAZE11 SE MAZE7 E MAZE10 NE MAZE12 SW MAZE14 !EXIT MAZE12 E MAZE8 S MAZE11 SW MAZE13 NE MAZE14 !EXIT MAZE13 NE MAZE9 N MAZE12 SW MAZE14 !EXIT MAZE14 NW MAZE10 SW MAZE11 NE MAZE12 SE MAZE13 S TJUNC2 SETPRICE !EXIT IDOLRM N CORR1 S PRETEMPLE IDOLPROG !EXIT FOGROOM W GATEROOM FOGEXIT E FORK1 S CORR4 FOGEXIT !EXIT GARGR1 W DEND3 E GARGR2 GARGPROG !EXIT GARGR2 W GARGR1 E GARGR3 !EXIT GARGR3 E TJUNC2 W GARGR2 GARGPROG !EXIT CORR4 N FOGROOM S BIGRM2 GTPROG1 !EXIT BIGRM1 E BIGRM2 SE BIGRM5 S BIGRM4 G BIGRM3 !EXIT BIGRM2 N CORR4 E BIGRM3 SE BIGRM6 S BIGRM5 SW BIGRM4 W BIGRM1 GIDIE !EXIT BIGRM3 G BIGRM1 W BIGRM2 SW BIGRM5 S BIGRM6 !EXIT BIGRM4 N BIGRM1 NE BIGRM2 E BIGRM5 SE BIGRM8 S BIGRM7 !EXIT BIGRM5 N BIGRM2 NE BIGRM3 E BIGRM6 SE BIGRM9 S BIGRM8 SW BIGRM7 W BIGRM4 NW BIGRM1 !EXIT BIGRM6 N BIGRM3 NW BIGRM2 W BIGRM5 SW BIGRM8 S BIGRM9 !EXIT BIGRM7 G BIGRM9 N BIGRM4 NE BIGRM5 E BIGRM8 !EXIT BIGRM8 N BIGRM5 NE BIGRM6 E BIGRM9 S CORR6 W BIGRM7 GIDIE NW BIGRM4 !EXIT BIGRM9 N BIGRM6 NW BIGRM5 W BIGRM8 G BIGRM7 !EXIT CORR5 SE HALL W BARN BARNTEST N NCORR !EXIT BARN E CORR5 D CELL TRAPPROG W AVENUE AVPROG U LOFT SHEETPROG !EXIT CELL U BARN !EXIT CORR6 N BIGRM8 GTPROG2 S BACROOM W CORR12 !EXIT BACROOM N CORR6 !EXIT ODULROOM E CORR7 ODEXIT !EXIT DEND7 SW CORR7 !EXIT CORR7 W ODULROOM NE DEND7 SE CORR8 !EXIT CORR8 NW CORR7 S SECROOM !EXIT SECROOM N CORR8 S DEND8 NE STAIR1 SECNEPROG E STAIR1 SECEPROG SE STAIR1 SECSEPROG SW STAIR1 SECSWPROG W STAIR1 SECWPROG NW STAIR1 SECNWPROG !EXIT STAIR1 U STAIR2 !EXIT STAIR2 D STAIR1 U STAIR3 !EXIT STAIR3 D STAIR2 S LANDY1 !EXIT DEND8 N SECROOM !EXIT LANDY1 N STAIR3 S LANDY2 W DEND10 !EXIT LANDY2 N LANDY1 S LANDY3 !EXIT LANDY3 N LANDY2 D DEND5 LANDPROG !EXIT SHRINE NE HALL !EXIT AVENUE E BARN D BARN W GLADE PLANTPROG !EXIT GLADE E AVENUE W GRAVE !EXIT GATEROOM E FOGROOM W DEND6 GATEPROG D DEND6 GATEPROG !EXIT DEND6 E GATEROOM U GATEROOM !EXIT WWROOM SW HALL !EXIT FORK2 E LITROOM W BELLROOM BELLPROG NW FORK3 S NCORR !EXIT FORK3 N WARREN WARPROG W CORR9 SE FORK2 !EXIT WARREN N FORK3 WNPROG NE FORK3 WNEPROG E FORK3 WEPROG SE FORK3 WSEPROG S FORK3 WSPROG SW FORK3 WSWPROG W FORK3 WWPROG NW FORK3 WNWPROG !EXIT WAREND E WARREN WARPROG / also !EXIT DEND9 E WEBROOM !EXIT CORR9 E FORK3 FLINNPROG W WEBROOM S MIRROOM SW CORR10 !EXIT CORR10 E MIRROOM NE CORR9 S ROPEROOM SW CORR11 !EXIT MIRROOM N CORR9 W CORR10 !EXIT WEBROOM E CORR9 W DEND9 WEBPROG !EXIT TJUNC2 N MAZE14 W GARGR3 E HOLEROOM SW PNROOM SE NPROOM !EXIT HOLEROOM W TJUNC2 U UPROOM UPHOLEPROG SE REL1 RELSTART !EXIT UPROOM D HOLEROOM !EXIT DEND10 E LANDY1 !EXIT LOFT D BARN !EXIT XROOM W DEND1 E CARY1 S MONKR1 MONKENT N LAKE2 !EXIT MONKR1 N XROOM NE MONKR6 MONKDIE S MONKR2 M MONKR2 !EXIT MONKR2 N MONKR1 MONKDIE SE MONKR3 M MONKR3 !EXIT MONKR3 NW MONKR2 MONKDIE NE MONKR4 M MONKR4 !EXIT MONKR4 SW MONKR3 MONKDIE N MONKR5 M MONKR5 !EXIT MONKR5 S MONKR4 MONKDIE NW MONKR6 M MONKR6 !EXIT MONKR6 SE MONKR5 MONKDIE SW MONKR1 M MONKR1 !EXIT MONKDUMP M MONKDUMP !EXIT CARY1 W XROOM CARYEWPROG N CARY3 CARYNSPROG E CARY2 CARYEWPROG S CARY4 CARYNSPROG !EXIT CARY2 N CARY3 CARYNSPROG S CARY4 CARYNSPROG E CARY4 CARYEWPROG W CARY1 CARYEWPROG !EXIT CARY3 N CARY2 CARYNSPROG W CARY1 CARYEWPROG E CARY5 CARYEWPROG S CARY4 CARYNSPROG !EXIT CARY4 N CARY2 CARYNSPROG E CARY2 CARYEWPROG S CARY3 CARYNSPROG W CARY1 CARYEWPROG !EXIT CARY5 S CARY7 CARYNSPROG N CARY6 CARYNSPROG W CARY3 CARYEWPROG E CARY8 CARYEWPROG !EXIT CARY6 W CARY8 CARYEWPROG N CARY8 CARYNSPROG E CARY7 CARYEWPROG S CARY5 CARYNSPROG !EXIT CARY7 W CARY9 CARYEWPROG E CARY8 CARYEWPROG S CARY5 CARYNSPROG N CARY6 CARYNSPROG !EXIT CARY8 N CARY6 CARYNSPROG S CARY6 CARYNSPROG E CARY5 CARYEWPROG W CARY7 CARYEWPROG !EXIT CARY9 N CARY11 CARYNSPROG S CARY10 CARYNSPROG W CARY7 CARYEWPROG E CARY12 CARYEWPROG !EXIT CARY10 N CARY11 CARYNSPROG S CARY12 CARYNSPROG E CARY12 CARYEWPROG W CARY9 CARYEWPROG !EXIT CARY11 S DEND11 CARYNSPROG N CARY10 CARYNSPROG E CARY12 CARYEWPROG W CARY9 CARYEWPROG !EXIT CARY12 E CARY10 CARYEWPROG S CARY10 CARYNSPROG W CARY9 CARYEWPROG N CARY11 CARYNSPROG !EXIT DEND11 N CARY11 !EXIT PRETEMPLE N IDOLRM W ASNETRAS DEMONPROG !EXIT TEMPLE E PRETEMPLE !EXIT ROPEROOM N CORR10 !EXIT CORR11 NE CORR10 W STABLE N DEND4 NW SPOOKRM SPOOKPROG S MNEMRM !EXIT DEND4 S CORR11 !EXIT STABLE E CORR11 !EXIT SPOOKRM SE CORR11 !EXIT DRONERM N CORR2 !EXIT GRAVE E GLADE !EXIT STREAM S FORT E FOREST W FOREST SE FOREST SW FOREST N STREAM CURRENTPROG NE STREAM CURRENTPROG NW STREAM CURRENTPROG !EXIT CORR12 W CONCHALL SETTUNE E CORR6 !EXIT CONCHALL E CORR12 !EXIT ROOMX S ROOMZ / temporary !EXIT ROOMZ N ROOMX / temporary !EXIT PNROOM NE TJUNC2 SE HIPROOM E NPROOM PNPROG !EXIT NPROOM NW TJUNC2 SW HIPROOM W PNROOM NPPROG !EXIT HIPROOM NW PNROOM NE NPROOM !EXIT NCORR N FORK2 S CORR5 !EXIT ROOMX SW RINK RINKENT !EXIT RINK N RINK RNPROG NE RINK RNEPROG E RINK REPROG SE RINK RSEPROG S RINK RSPROG SW RINK RSWPROG W RINK RWPROG NW RINK RNWPROG !EXIT TRINCO N TRINCO TRINPR NE TRINCO TRINPR E TRINCO TRINPR SE TRINCO TRINPR S TRINCO TRINPR SW TRINCO TRINPR W TRINCO TRINPR NW TRINCO TRINPR !EXIT REL1 NW HOLEROOM RELOUT E REL3 REL3IN S REL2 REL2IN SE REL4 REL4IN !EXIT REL2 N REL1 REL1IN E REL5 REL5IN NE REL4 REL4XXX !EXIT REL3 W REL1 REL1IN S REL5 REL5IN !EXIT REL4 NW REL1 REL1IN SE REL5 REL5IN SW REL2 REL2XXX !EXIT REL5 N REL3 REL3IN NW REL4 REL4IN W REL2 REL2IN !EXIT BACKS N POSTER !EXIT POSTER S BACKS !EXIT POSTAD S TOUTA ENTOUT !EXIT TOUTA N ROOMZ TOUTNPROG NE ROOMZ TOUTNEPROG E ROOMZ TOUTEPROG SE ROOMZ TOUTSEPROG S ROOMZ TOUTSPROG SW ROOMZ TOUTSWPROG W ROOMZ TOUTWPROG NW ROOMZ TOUTNWPROG U ROOMZ TOUTUPROG D ROOMZ TOUTDPROG G TOUTB M TOUTC !EXIT TOUTB N ROOMZ TOUTNPROG NE ROOMZ TOUTNEPROG E ROOMZ TOUTEPROG SE ROOMZ TOUTSEPROG S ROOMZ TOUTSPROG SW ROOMZ TOUTSWPROG W ROOMZ TOUTWPROG NW ROOMZ TOUTNWPROG U ROOMZ TOUTUPROG D ROOMZ TOUTDPROG G TOUTC M TOUTA !EXIT TOUTC N ROOMZ TOUTNPROG NE ROOMZ TOUTNEPROG E ROOMZ TOUTEPROG SE ROOMZ TOUTSEPROG S ROOMZ TOUTSPROG SW ROOMZ TOUTSWPROG W ROOMZ TOUTWPROG NW ROOMZ TOUTNWPROG U ROOMZ TOUTUPROG D ROOMZ TOUTDPROG G TOUTA M TOUTB !EXIT ROOMZ S TOUTB ENTOUT !EXIT HIPRM2 S HUMP1 !EXIT HUMP1 N HIPRM2 S HUMP2 !EXIT HUMP2 N HUMP1 S HUMP3 !EXIT HUMP3 N HUMP2 E LARDER W ZOLARM !EXIT LARDER W HUMP3 !EXIT ZOLARM N HIPROOM ZOLPROG E HUMP3 !EXIT MNEMRM N CORR11 / / INSTRUCTIONS SECTION / -------------------- / !INSTRUCTIONS AAMTZ: SKIP UNLESS R (PLAYER)R EQ REL1 PRINTRET NHAPPENS SUB V VAR0 S BIGRM3 SKIP3 IF H PARROT PLAYER SKIP2 UNLESS V VAR0 EQ 0 SKIP4 IF R (PLAYER)R EQ (PARROT)R SKIP IF R (PLAYER)R ADJ (PARROT)R PRINTRET NHAPPENS MOVE PARROT WITH TO (PLAYER)R PRINTRET PARAPPEAR PRINTRET PARFLY ACHUPROG: LOAD V VAR0 I 1 GO AAMTZ AMIPROG: LOAD V VAR0 I 0 GO RIMPROG ANNOKPROG: LOAD V VAR0 I 2 GO AAMTZ ATOPROG: LOAD V VAR0 I 1 GO MIRPROG AVPROG: SKIP IF R (WIZARD)R EQ BARN RETURN PRINT WIZBLOCK RETURN ABORT BANDPROG: SKIP IF M W2EX RETURN RETRY OBJECT MAY ANY SKIP IF H DUSTER PLAYER PRINTRET NOBANDAGE SKIP IF R ()O EQ GNOME PRINTRET CANTDO SKIP IF S GNOME EQ 0 PRINTRET NOUSENOW MOVE DUSTER WITH DESTROY SUB V OBJHELD I 1 LOAD S GNOME I 1 PRINTRET HEALGNOME BARNTEST: SKIP IF S CORR5 EQ 1 RETURN PRINT RUBBLEMESS RETURN ABORT BELLPROG: SKIP IF S WELL EQ 3 / he wished LOAD S BELL I 1 RETURN BREAKPROG: SKIP IF R ()R EQ (PLAYER)R PRINTRET DONTSEE SKIP IF P NOTAKE ()O PRINTRET SILLYMESS PRINTRET HOWDOTHAT BRUSHPROG: SKIP IF M W2EX RETURN RETRY OBJECT CANT GO SWEEPROG BURNPROG: SKIP IF R ()R EQ (PLAYER)R PRINTRET DONTSEE SKIP IF R ()O EQ WEB PRINTRET HOWDOTHAT BURN2: ASK WHATWITH SKIP IF M W2OB GO BURN2 SKIP IF R ()O EQ LAMP PRINTRET HOWDOTHAT SKIP IF H LAMP PLAYER PRINTRET NOTHELD SKIP IF S LAMP EQ 1 PRINTRET LAMPOFF SUB V OBJHELD I 1 MOVE LAMP WITH TO (PLAYER)R MOVE WEB WITH DESTROY PRINT WHOOSHWEB RETURN LOOK CALC: LOAD V VAR0 I 0 LOAD V VAR3 V II CALC2: SKIP3 IF V VAR3 EQ 0 SUB V VAR3 I 1 ADD V VAR0 I 5 GO CALC2 ADD V VAR0 V JJ RESOLVE VAR3 (O1)O ADD V VAR3 V VAR0 SUB V VAR3 I 6 RESOLVE VAR3 (VAR3)O RETURN CARYEWPROG: SKIP2 IF S COLUMN EQ 1 PRINT COLBLOCK RETURN ABORT RETURN CARYNSPROG: SKIP2 IF S COLUMN EQ 0 PRINT COLBLOCK RETURN ABORT RETURN CHEERPROG: SKIP IF R ()R EQ (PLAYER)R PRINTRET DONTSEE PRINTRET HOWDOTHAT CLEANPROG: SKIP IF R ()R EQ (PLAYER)R PRINTRET DONTSEE PRINTRET BESPECIFIC CLIMBPROG: SKIP4 IF M W2EX SKIP UNLESS P OUTSIDE (PLAYER)R PRINTRET NOCLIMB MOVE PLAYER WITH DIR U RETURN ABORT SKIP3 UNLESS M W2SP TREESPEC SKIP UNLESS P OUTSIDE (PLAYER)R PRINTRET NOCLIMB PRINTRET NOTREE SKIP UNLESS M W2OB SKIP IF P CLIMBABLE ()O PRINTRET CANTCLIMB SKIP IF R ()R EQ (PLAYER)R PRINTRET DONTSEE SKIP UNLESS R ()O EQ CHAIR SKIP IF R (PLAYER)R EQ HOLEROOM PRINTRET CLIMBOB SKIP2 UNLESS H CHAIR PLAYER MOVE CHAIR WITH TO HOLEROOM SUB V OBJHELD I 1 MOVE PLAYER WITH TO UPROOM PRINTRET CLIMBUP CLOSEPROG: SKIP UNLESS M W2SP TRAPSPEC GO CLOSETRAP SKIP3 UNLESS M W2SP DOORSPEC SKIP UNLESS R (PLAYER)R EQ ROOM1 PRINTRET ALRCLOSE PRINTRET NODOOR SKIP IF M W2OB RETURN RETRY NONE CANT SKIP IF R ()R EQ (PLAYER)R PRINTRET DONTSEE SKIP IF R ()O EQ GATE PRINTRET NOCLOSE SKIP IF S GATE EQ 1 PRINTRET ALRCLOSE LOAD S GATE I 0 PRINTRET SLAMGATE CLOSETRAP: SKIP UNLESS R (PLAYER)R EQ BARN SKIP UNLESS S BARN EQ 0 PRINTRET DONTSEE SKIP IF S BARN EQ 2 PRINTRET ALRCLOSED LOAD S BARN I 1 PRINTRET OKMESS CURRENTPROG: PRINTRET TOOFAST CUTPROG: SKIP IF R (PLAYER)R EQ ()R PRINTRET DONTSEE SKIP IF H SWORD PLAYER PRINTRET NOCUT SKIP IF R ()O EQ ROPE PRINTRET CANTDO PRINTRET TOOTHICK DEMONPROG: SKIP2 IF S ALTAR EQ 1 PRINT DEMONDIE GO DIEPROG PRINT ENTERTEMPLE SKIP2 IF H ORB PLAYER PRINT ENDBAD1 GO QUITS SKIP2 IF H SHIELD PLAYER PRINT ENDBAD2 GO QUITS SKIP3 IF H HELMET PLAYER LOAD V VAR0 I 0 PRINT ENDMESS VAR0 GO QUITS SKIP3 IF H SWORD PLAYER LOAD V VAR0 I 1 PRINT ENDMESS VAR0 GO QUITS LOAD S ASNETRAS R 3 LOAD V VAR0 I 2 PRINTRET ENDMESS VAR0 DEMPROG: PRINT NOCALLDEM GO DIEPROG DIEBELL: PRINT DIEBELM GO DIEPROG DIEFOREST: PRINT KILLFOR GO DIEPROG DIEPROG: PRINT OHDEAR GOSUB SCORESUB PRINT YOUGOT GO QUITS DIESCARE: PRINT SCAREDM2 GO DIEPROG DIESCAR2: PRINT SCAREDM1 GO DIEPROG DIGPROG: SKIP UNLESS R (PLAYER)R EQ ODULROOM GO DIGODUL SKIP IF P OUTSIDE (PLAYER)R PRINTRET CANTDIG SKIP IF R (PLAYER)R EQ CLEARING PRINTRET DIGHOLE ADD S CLEARING I 1 SKIP IF S CLEARING EQ 2 PRINTRET DIGHOLE MOVE ORB WITH TO CLEARING PRINTRET DIGUPORB DIGODUL: SKIP IF S GNOME EQ 2 /dead SKIP IF R (PLAYER)R EQ (GNOME)R PRINTRET CANTDIG SKIP UNLESS S GNOME EQ 0 PRINTRET TOOPANGLED MOVE GNOME WITH TO CORR7 LOAD S ODULROOM I 1 PRINTRET GNOMEDIG DRINKPROG: SKIP UNLESS M W2SP WINESPEC GO DRINKWINE SKIP IF M W2SP WATERSPEC RETURN RETRY NONE CANT SKIP UNLESS H BOTTLE PLAYER SKIP IF S BOTTLE EQ 1 GO DRINK2 LOAD S BOTTLE I 0 PRINTRET DRINKMESS DRINKWINE: SKIP UNLESS H BOTTLE PLAYER SKIP IF S BOTTLE EQ 2 PRINTRET NOWINE LOAD S BOTTLE I 0 PRINTRET DRINKMS2 DRINK2: SKIP UNLESS R (PLAYER)R EQ STREAM PRINTRET DRINKSTREAM SKIP UNLESS R (PLAYER)R EQ WWROOM PRINTRET DRINKFONT SKIP IF R (PLAYER)R EQ LAKE1 SKIP UNLESS R (PLAYER)R EQ LAKE2 PRINTRET DRINKLAKE PRINTRET NOWATER / Subroutine to drop the object referred to by the reference in VAR0. / This should already be in the player's possession. DROPSUB: MOVE (VAR0)O WITH TO (PLAYER)R / Move the object. SUB V OBJHELD I 1 / Update OBJHELD. SKIP UNLESS R (VAR0)O EQ BELT LOAD S (VAR0)O I 0 SKIP4 IF R (VAR0)O EQ SUNGLASS SKIP3 IF R (VAR0)O EQ BADGE SKIP2 IF R (VAR0)O EQ PENDANT SKIP IF R (VAR0)O EQ HELMET SKIP UNLESS R (VAR0)O EQ RING LOAD S (VAR0)O I 0 SKIP IF R (PLAYER)R EQ WELLROOM RETURN MOVE (VAR0)O WITH TO WELLBASE SKIP UNLESS P TREASURE (VAR0)O LOAD S WELLBASE I 1 / has paid for a wish RETURN / Main DROP program. DROPPROG: / Command decoding section. SKIP IF M W2EX / Is it "DROP"? GO DROPFIRST SKIP UNLESS M W2SP ALLSPEC / Is it "DROP ALL"? GO DROPALL SKIP UNLESS M W2SP WATERSPEC GO DROPWATER SKIP UNLESS M W2SP WINESPEC GO DROPWINE SKIP IF M W2OB / Must be "DROP object". RETURN RETRY NONE CANT / Induce "I don't understand / that!" if not. / Now check he has the object. SKIP IF H ()O PLAYER PRINTRET NOTHELD / And drop it. RESOLVE VAR0 ()O DROPSY: GOSUB DROPSUB SKIP UNLESS R (PLAYER)R EQ WELLROOM PRINTRET DOWNWELL PRINTRET OKMESS / Drop the first object held by the player. DROPFIRST: RESOLVE VAR0 (PLAYER)D SKIP UNLESS V VAR0 EQ 0 / Holding anything? PRINTRET NOTHOLDING GO DROPSY / Drop all objects held by the player. Keep count in VAR3. DROPALL: LOAD V VAR3 I 0 RESOLVE VAR0 (PLAYER)D SKIP UNLESS V VAR0 EQ 0 PRINTRET NOTHOLDING DROPA1: GOSUB DROPSUB ADD V VAR3 I 1 RESOLVE VAR0 (PLAYER)D SKIP IF V VAR0 EQ 0 GO DROPA1 SKIP UNLESS R (PLAYER)R EQ WELLROOM PRINTRET DROPWEL1 VAR3 PRINTRET DROPOBJ1 VAR3 DROPWATER: SKIP IF H BOTTLE PLAYER PRINTRET NOTHELD SKIP IF S BOTTLE EQ 1 PRINTRET NOTHELD LOAD S BOTTLE I 0 PRINTRET POUR11 DROPWINE: SKIP IF H BOTTLE PLAYER PRINTRET NOTHELD SKIP IF S BOTTLE EQ 2 PRINTRET NOTHELD LOAD S BOTTLE I 0 PRINTRET POUR12 DUSTPROG: SKIP IF H DUSTER PLAYER PRINTRET NODUSTER SKIP UNLESS M W2SP FLOORSPEC PRINTRET DUSTGROUND SKIP IF M W2OB RETURN RETRY NONE CANT SKIP UNLESS R ()O EQ DUSTER PRINTRET CANTDO SKIP2 UNLESS P NOTAKE ()O SKIP IF P TOUCHABLE ()O PRINTRET CANTDO SKIP IF R ()R EQ (PLAYER)R PRINTRET DONTSEE SKIP IF R ()O EQ MIRROR PRINTRET DUSTIT SKIP IF S MIRROR EQ 0 PRINTRET DUSTIT LOAD S MIRROR R 2 ADD S MIRROR I 1 PRINT DUSTIT RETURN LOOK EATPROG: SKIP IF H ()O PLAYER PRINTRET NOTHELD SKIP2 IF R ()O EQ TURNIP SKIP IF R ()O EQ BEEF SKIP3 UNLESS R ()O EQ CABBAGE SUB V OBJHELD I 1 MOVE ()O WITH DESTROY PRINTRET GOURMET SKIP IF R ()O EQ ONION PRINTRET NOTHUNGRY SUB V OBJHELD I 1 MOVE ONION WITH DESTROY SKIP IF R (PLAYER)R EQ GRAVE PRINTRET EYESWATER MOVE ONYX WITH TO GRAVE PRINT FAIRWEEP RETURN LOOK EIGHTYPROG: LOAD V VAR0 I 80 GO GETNUM FIFTYPROG: LOAD V VAR0 I 50 GO GETNUM FORTYPROG: LOAD V VAR0 I 40 GO GETNUM NINETYPROG: LOAD V VAR0 I 90 GO GETNUM SEVENTYPROG: LOAD V VAR0 I 70 GO GETNUM SIXTYPROG: LOAD V VAR0 I 60 GO GETNUM THIRTYPROG: LOAD V VAR0 I 30 GO GETNUM TWENTYPROG: LOAD V VAR0 I 20 GETNUM: SKIP IF M W2EX GO SUMDONE SKIP2 UNLESS M W2SP ONESPEC ADD V VAR0 I 1 GO SUMDONE SKIP2 UNLESS M W2SP TWOSPEC ADD V VAR0 I 2 GO SUMDONE SKIP2 UNLESS M W2SP THREESPEC ADD V VAR0 I 3 GO SUMDONE SKIP2 UNLESS M W2SP FOURSPEC ADD V VAR0 I 4 GO SUMDONE SKIP2 UNLESS M W2SP FIVESPEC ADD V VAR0 I 5 GO SUMDONE SKIP2 UNLESS M W2SP SIXSPEC ADD V VAR0 I 6 GO SUMDONE SKIP2 UNLESS M W2SP SEVENSPEC ADD V VAR0 I 7 GO SUMDONE SKIP2 UNLESS M W2SP EIGHTSPEC ADD V VAR0 I 8 GO SUMDONE SKIP2 UNLESS M W2SP NINESPEC ADD V VAR0 I 9 GO SUMDONE RETURN RETRY NONE CANT SUMDONE: SKIP IF R (PLAYER)R EQ ASNETRAS PRINTRET NHAPPENS SKIP3 UNLESS S ASNETRAS EQ 0 SKIP UNLESS V VAR0 EQ 24 GO GAMEWON PRINTRET NHAPPENS SKIP3 UNLESS S ASNETRAS EQ 1 SKIP UNLESS V VAR0 EQ 64 GO GAMEWON PRINTRET NHAPPENS SKIP3 UNLESS S ASNETRAS EQ 2 SKIP UNLESS V VAR0 EQ 62 GO GAMEWON PRINTRET NHAPPENS SKIP UNLESS V VAR0 EQ 42 GO GAMEWON PRINTRET NHAPPENS GAMEWON: PRINT WONFINAL RETURN RETRY FINISH MAY ANY EMPTYPROG: SKIP IF R ()O EQ BOTTLE PRINTRET CANTDO SKIP IF H BOTTLE PLAYER PRINTRET NOTHELD SKIP IF S BOTTLE EQ 1 PRINTRET ALREMPTY LOAD V VAR0 S BOTTLE LOAD S BOTTLE I 0 PRINTRET POURMESS VAR0 ENTOUT: LOAD V NTOUT I 0 LOAD V NETOUT I 0 LOAD V ETOUT I 0 LOAD V SETOUT I 0 LOAD V STOUT I 0 LOAD V SWTOUT I 0 LOAD V WTOUT I 0 LOAD V NWTOUT I 0 LOAD V UTOUT I 0 LOAD V DTOUT I 0 LOAD V TOUTCT I 13 PRINTRET TOUTDIR EXITPROG: SKIP IF R (PLAYER)R EQ TRINCO RETURN RETRY NONE CANT GO TRINREQ FEEDGOAT: SKIP IF H TURNIP PLAYER PRINTRET NOFOOD SUB V OBJHELD I 1 MOVE TURNIP WITH DESTROY PRINTRET GOATFED FEEDPROG: SKIP IF R (PLAYER)R EQ ()R PRINTRET DONTSEE SKIP UNLESS R ()O EQ GOAT GO FEEDGOAT SKIP IF R ()O EQ WOLF SKIP UNLESS R ()O EQ FLINN PRINTRET NOFOOD SKIP4 IF R ()O EQ SPROUT SKIP3 IF R ()O EQ GNOME SKIP2 IF R ()O EQ BACCHUS SKIP2 UNLESS R ()O EQ IDOL SKIP IF S IDOL EQ 1 PRINTRET NOFOOD SKIP4 IF R ()O EQ WIZARD SKIP3 IF R ()O EQ PLANT SKIP2 IF R ()O EQ HELEN SKIP2 UNLESS R ()O EQ SCARECROW SKIP IF P NOTAKE SCARECROW PRINTRET NOFOOD SKIP IF R ()O EQ HORSE PRINTRET NOTALIVE SKIP IF H STRAW PLAYER PRINTRET NOFOOD SUB V OBJHELD I 1 FEDGG: MOVE STRAW WITH DESTROY LOAD S HORSE I 1 PRINTRET HORSEFED FILLBOT: SKIP IF H BOTTLE PLAYER PRINTRET CANTDO GO FILLBOT2 FILLPROG: SKIP3 UNLESS R ()O EQ HELMET SKIP IF H HELMET PLAYER PRINTRET NOTHELD PRINTRET PUREORNAM SKIP IF R ()O EQ BOTTLE PRINTRET CANTDO SKIP IF H BOTTLE PLAYER PRINTRET NOTHELD FILLBOT2: SKIP IF S BOTTLE EQ 0 PRINTRET ALRFULL SKIP2 UNLESS R (PLAYER)R EQ WWROOM LOAD S BOTTLE I 1 PRINTRET OKMESS SKIP3 IF R (PLAYER)R EQ STREAM SKIP2 IF R (PLAYER)R EQ LAKE1 SKIP IF R (PLAYER)R EQ LAKE2 PRINTRET NOWATER LOAD S BOTTLE I 1 PRINTRET OKMESS FLINNPROG: SKIP IF R (FLINN)R EQ CORR9 RETURN SKIP2 IF H SWORD PLAYER PRINT FLINNNOFIGHT RETURN ABORT MOVE SWORD WITH DESTROY SKIP3 UNLESS E (PLAYER)D MOVE SWORD WITH TO PLAYER PRINT FLINNWIN RETURN ABORT MOVE SWORD WITH TO PLAYER MOVE FLINN WITH DESTROY MOVE TOPAZ WITH TO PLAYER LOAD V OBJHELD I 2 PRINTRET FLINNLOSS FLYPROG: SKIP IF M W2EX PRINTRET CANTDO SKIP UNLESS M W2DI PRINTRET MOVENORM SKIP IF M W2OB RETURN RETRY NONE CANT SKIP IF H ()O PLAYER PRINTRET NOTHELD SKIP IF R ()O EQ BROOM PRINTRET CANTDO ASKANY WHATWORD LOAD V VAR0 I 0 SKIP UNLESS M W2SP GCSPEC LOAD V VAR0 I 1 SKIP UNLESS M W2SP MKSPEC LOAD V VAR0 I 2 SKIP UNLESS M W2SP PDSPEC LOAD V VAR0 I 3 SKIP UNLESS M W2SP RUSPEC LOAD V VAR0 I 4 SKIP UNLESS M W2SP TLSPEC LOAD V VAR0 I 5 SKIP2 IF V PHXVAR EQ 0 SUB V VAR0 V PHXVAR SKIP IF V VAR0 EQ 0 PRINTRET NHAPPENS SKIP IF R (PLAYER)R EQ LITROOM PRINTRET BROOMCHUG MOVE PLAYER WITH TO CORR1 PRINTRET BROOMZOOM FOGEXIT: SKIP IF S FOGROOM EQ 0 RETURN PRINT NOWAYMESS RETURN ABORT GARGPROG: SKIP IF S GARGOYLE EQ 0 RETURN PRINT GARGKILL GO DIEPROG GATEPROG: SKIP IF S GATE EQ 0 RETURN PRINT NOWAYMESS RETURN ABORT GREENPROG: SKIP IF S KNIGHT EQ 0 RETURN LOAD S KNIGHT I 1 PRINT GREENMESS RETURN GIDIE: PRINT CANTMISS GO DIEPROG GTPROG1: SKIP2 UNLESS S BIGRM3 EQ 0 LOAD S BIGRM3 R 4 ADD S BIGRM3 I 1 / 1 TO 5 LOAD S GIANT I 2 MOVE ROCKS WITH TO BIGRM2 PRINTRET GIENT1 GTPROG2: LOAD S GIANT I 1 MOVE ROCKS WITH TO BIGRM8 PRINTRET GIENT2 GUDPROG: LOAD V VAR0 I 1 GO MONGUD HELPPROG: PRINTRET HELPMESS HURGPROG: PRINTRET NOCALLHURG IDOLPROG: SKIP IF S IDOL EQ 0 RETURN SKIP2 IF V STRENGTH EQ 10 PRINT IDOLKILL GO DIEPROG LOAD S IDOL I 1 PRINTRET WRESTLE / Program to do INVENTORY command. INVPROG: SKIP IF M LIGHT PRINTRET NOTSURE DESCRIBE WITH PLAYER / Describe player & possessions. SKIP IF E (PLAYER)D / Print "Nothing." if he's PRINT NOTHING / not carrying anything. RETURN JUMPHOLE: SKIP UNLESS R (CHAIR)R EQ HOLEROOM SKIP UNLESS H CHAIR PLAYER PRINTRET HOLEHIGH MOVE PLAYER WITH TO UPROOM PRINTRET CHAIRJUMP JUMPPROG: SKIP UNLESS M W2DI RETURN RETRY IGNORE MAY ANY SKIP2 UNLESS R (PLAYER)R EQ LANDY2 PRINT JUMPABYSS GO DIEPROG SKIP2 UNLESS R (PLAYER)R EQ LANDY3 MOVE PLAYER WITH TO DEND5 GO LANDPROG SKIP UNLESS R (PLAYER)R EQ HOLEROOM GO JUMPHOLE SKIP2 UNLESS R (PLAYER)R EQ UPROOM MOVE PLAYER WITH TO HOLEROOM RETURN SKIP3 IF R (PLAYER)R EQ HIPRM2 / plummets SKIP IF R (PLAYER)R EQ WELLROOM PRINTRET JUMPMESS SKIP2 IF S WELL EQ 1 PRINT PLUMMET GO DIEPROG PRINT WELLFLOAT GO DIEPROG KILLPROG: SKIP IF R ()R EQ (PLAYER)R PRINTRET GETNEARER SKIP2 UNLESS R ()O EQ GORGON PRINT PETRIFY GO DIEPROG SKIP IF R ()O EQ GOAT SKIP UNLESS R ()O EQ WOLF PRINTRET NOWEAPON SKIP UNLESS R ()O EQ FLINN GO KILLFLINN SKIP UNLESS R ()O EQ SPROUT GO KILLSPROUT SKIP UNLESS R ()O EQ GNOME GO KILLGNOME SKIP3 UNLESS R ()O EQ IDOL SKIP IF S IDOL EQ 0 PRINTRET NOTALIVE GO KILLIDOL SKIP2 UNLESS R ()O EQ BACCHUS PRINT MORTALMESS GO DIEPROG SKIP2 UNLESS R ()O EQ SNAKE LOAD S SNAKE I 1 / really is dead PRINTRET KILLSNAKE SKIP UNLESS R ()O EQ PLANT GO KILLPLANT SKIP2 UNLESS R ()O EQ WIZARD PRINT WIZKILL GO DIEPROG SKIP2 UNLESS R ()O EQ COLUMN PRINT COLDIE GO DIEPROG SKIP2 UNLESS R ()O EQ HELEN PRINT HELDIE GO DIEPROG SKIP2 UNLESS R ()O EQ HORSE PRINT HORSEDIE GO DIEPROG SKIP UNLESS R ()O EQ SCARECROW SKIP IF P NOTAKE SCARECROW PRINTRET NOTALIVE SKIP IF H SWORD PLAYER PRINTRET NOWEAPON SKIP2 IF S SWORD EQ 1 PRINT BADKSCARE GO DIEPROG UNSET NOTAKE SCARECROW LOAD S SCARECROW I 1 PRINTRET KILLSCARE KILLFLINN: SKIP IF H SWORD PLAYER PRINTRET NOWEAPON MOVE SWORD WITH DESTROY SKIP2 UNLESS E (PLAYER)D PRINT FLINNW2 GO DIEPROG MOVE SWORD WITH TO PLAYER MOVE FLINN WITH DESTROY MOVE TOPAZ WITH TO PLAYER LOAD V OBJHELD I 2 PRINTRET FLINNLOSS RETURN KILLGNOME: SKIP UNLESS S GNOME EQ 2 PRINTRET NOTALIVE SKIP IF H SWORD PLAYER PRINTRET NOWEAPON LOAD S GNOME I 2 UNSET NOTAKE GNOME PRINTRET KGNOMESS KILLIDOL: SKIP IF H SWORD PLAYER PRINTRET NOWEAPON GO IDOLPROG KILLPLANT: SKIP IF H SWORD PLAYER PRINTRET NOWEAPON SKIP IF S SWORD EQ 0 PRINTRET PLANTBAD MOVE PLANT WITH DESTROY PRINTRET PLANTKILL KILLSPROUT: SKIP IF H SWORD PLAYER PRINTRET NOWEAPON PRINT SPROUTW1 GO DIEPROG KNEELPROG: SKIP2 UNLESS M W2EX SKIP IF M W2SP DSPEC RETURN RETRY NONE CANT SKIP UNLESS R (PLAYER)R EQ (MAT)R SKIP UNLESS H MAT PLAYER PRINTRET UNCOMF PRINTRET FAVOUR LAKEPROG: SKIP IF S WELL EQ 2 SKIP UNLESS H ORB PLAYER PRINTRET ABLEWALK PRINT NOABLEWALK RETURN ABORT LAMPPROG: SKIP UNLESS M W2SP ONOFFSPEC RETURN RETRY IGNORE MAY ANY RETURN RETRY OBJECT CANT LANDPROG: SKIP UNLESS H STRAW PLAYER PRINTRET LANDWITH SKIP UNLESS R (STRAW)R EQ DEND5 PRINTRET LANDSTRAW PRINT LANDBAD GO DIEPROG LIFTDUMB: SKIP UNLESS E (PLAYER)D PRINTRET LIFTBAD SKIP UNLESS V STRENGTH EQ 5 PRINTRET CANTDO SKIP3 IF V STRENGTH EQ 7 LOAD V MUSCTIME I 0 LOAD V STRENGTH I 5 PRINTRET LIFTSTRAIN LOAD V STRENGTH I 10 LOAD V MUSCTIME I 12 PRINTRET LIFTGOOD LIFTPROG: SKIP IF R (PLAYER)R EQ ()R PRINTRET DONTSEE SKIP UNLESS H ()O PLAYER PRINTRET ALRHELD SKIP UNLESS R ()O EQ DUMB GO LIFTDUMB SKIP UNLESS P NOTAKE ()O PRINTRET CANTDO PRINTRET LIFTDROP LIGHTPROG: SKIP IF R ()O EQ LAMP RETURN RETRY NONE CANT GO ONPROG / Program to give the long description of a room. LOOKPROG: UNSET VISITED (PLAYER)R / Pretend room not visited to get / long description. RETURN LOOK / And return with request for description. LOOKSUB: RETURN LOOK MAMPROG: LOAD V VAR0 I 2 GO MIRPROG MARAPROG: LOAD V VAR0 I 3 GO AAMTZ MARCPROG: SKIP2 UNLESS M W2EX SKIP IF M W2SP PROUSTSPEC RETURN RETRY NONE CANT PRINTRET ANAGMESS MIRPROG: SKIP2 UNLESS R (PLAYER)R EQ MIRROOM SUB V VAR0 S MIRROR SKIP IF V VAR0 EQ 0 PRINTRET NHAPPENS LOAD S PANE R 2 MOVE PLAYER WITH TO MOORRIM PRINTRET DISSOLVES / Program to do Magic Move instruction. MMPROG: SKIP IF E ()R / Is the object "destroyed"? PRINTRET CANTDO MOVE PLAYER WITH TO ()R RETURN MONKDIE: PRINT MONKH GO DIEPROG MONKENT: SKIP IF S MONKR1 GT 0 LOAD S MONKR1 I 1 RETURN MONPROG: LOAD V VAR0 I 2 MONGUD: SUB V VAR0 S ROOMZ SKIP UNLESS V VAR0 EQ 0 SKIP IF R (PLAYER)R EQ ROOMZ PRINTRET NHAPPENS MOVE PLAYER WITH TO CONCHALL LOAD V MGBONUS I 10 PRINTRET GUDWELL MOURNPROG: SKIP IF M W2EX PRINTRET NOCONVINCE SKIP UNLESS M W2SP FAIRSPEC PRINTRET NOCONVINCE RETURN RETRY NONE CANT NPPROG: SKIP UNLESS H TOKEN PLAYER LOAD S TOKEN I 0 SKIP UNLESS H PIECE PLAYER LOAD S PIECE I 0 SKIP UNLESS H COIN PLAYER LOAD S COIN I 0 SKIP UNLESS H NOBLE PLAYER LOAD S NOBLE I 0 SKIP UNLESS H NOTE PLAYER LOAD S NOTE I 0 PRINTRET POSIONS ODEXIT: SKIP2 IF S ODULROOM EQ 1 PRINT NOWAYMESS RETURN ABORT SKIP IF R (GNOME)R EQ CORR7 RETURN MOVE GNOME WITH DESTROY LOAD S SECROOM R 5 ADD S SECROOM I 1 PRINTRET GNOMESEC ODULPRE: MOVE PLAYER WITH TO ODULROOM ODULPROG: SKIP2 UNLESS P VISITED ODULROOM PRINT DIEFAL2 GO DIEPROG SKIP2 IF S WELL EQ 1 PRINT DIEFALLM GO DIEPROG PRINT FALLMESS PRINTRET MEETODUL OFFPROG: SKIP IF H LAMP PLAYER PRINTRET NOTHLAMP SKIP IF S LAMP EQ 1 PRINTRET ALROFF LOAD S LAMP I 0 UNSET LIGHT LAMP PRINTRET OKMESS ONPROG: SKIP IF H LAMP PLAYER PRINTRET NOTHLAMP SKIP IF S LAMP EQ 0 PRINTRET ALRON LOAD S LAMP I 1 SET LIGHT LAMP PRINT OKMESS UNSET VISITED (PLAYER)R DESCRIBE WITH (PLAYER)R RETURN OOTPROG: LOAD V VAR0 I 1 GO RIMPROG OPENPROG: SKIP UNLESS M W2SP TRAPSPEC GO OPENTRAP SKIP UNLESS M W2SP DOORSPEC GO OPENDOOR SKIP IF M W2OB RETURN RETRY NONE CANT SKIP IF R ()R EQ (PLAYER)R PRINTRET DONTSEE SKIP IF R ()O EQ GATE PRINTRET NOOPEN SKIP IF S GATE EQ 0 PRINTRET ALROPEN PRINTRET HOWDOTHAT OPENDOOR: SKIP UNLESS R (PLAYER)R EQ ODULROOM PRINTRET HOWDOTHAT SKIP UNLESS R (PLAYER)R EQ ROOM1 GO ODULPRE PRINTRET NODOOR OPENTRAP: SKIP UNLESS R (PLAYER)R EQ BARN SKIP UNLESS S BARN EQ 0 PRINTRET DONTSEE SKIP IF S BARN EQ 1 PRINTRET ALROPEN LOAD S BARN I 2 PRINTRET OKMESS OTAPROG: LOAD V VAR0 I 2 GO RIMPROG PAYFARE: SKIP IF H ()O PLAYER PRINTRET NOTHELD LOAD V VAR0 I 0 SKIP UNLESS R ()O EQ TOKEN LOAD V VAR0 I 1 SKIP UNLESS R ()O EQ PIECE LOAD V VAR0 I 3 SKIP UNLESS R ()O EQ COIN LOAD V VAR0 I 9 SKIP UNLESS R ()O EQ NOBLE LOAD V VAR0 I 27 SKIP UNLESS R ()O EQ NOTE LOAD V VAR0 I 81 SKIP UNLESS V VAR0 EQ 0 PRINTRET CANTDO SKIP2 IF S ()O EQ 1 ADD V VAR2 V VAR0 GO PAYF2 LOAD V VAR4 V VAR0 SUB V VAR4 V VAR2 SKIP UNLESS V VAR4 GT 0 / when he is trying to go negative PRINTRET EJECTCOIN SUB V VAR2 V VAR0 PAYF2: MOVE ()O WITH DESTROY SUB V OBJHELD I 1 LOAD V VAR0 V VAR1 SUB V VAR0 V VAR2 SKIP2 IF V VAR0 EQ 0 PRINT OKMESS RETURN LOOK MOVE PLAYER WITH TO HIPRM2 LOAD V VAR2 I 0 PRINTRET HIPPOFLY PEACHPROG: SKIP2 IF S WIDEPASS LT 4 SKIP UNLESS H WAND PLAYER SKIP IF S WAND EQ 0 PRINTRET NHAPPENS SKIP UNLESS R (PLAYER)R EQ (SCARECROW)R SKIP UNLESS H SCARECROW PLAYER PRINTRET WANDTHROB LOAD S WAND I 1 SKIP2 IF R (SCARECROW)R EQ GARGR3 MOVE SCARECROW WITH RANDADJ PRINTRET SCAREMOVE MOVE SCARECROW WITH DESTROY LOAD S GARGOYLE I 1 PRINTRET SCAREGARG PESTPROG: SKIP UNLESS R (PLAYER)R EQ (SLOTULE)R GO PAYFARE SKIP IF R (PLAYER)R EQ (POSTBOX)R PRINTRET CANTDO SKIP IF H ()O PLAYER PRINTRET NOTHELD SUB V OBJHELD I 1 MOVE ()O WITH TO RNULL LOAD V VAR0 I 4 SKIP UNLESS R ()O EQ BEEF LOAD V VAR0 I 1 SKIP UNLESS R ()O EQ BADGE LOAD V VAR0 I 2 SKIP UNLESS R ()O EQ CABBAGE LOAD V VAR0 I 3 SUB V VAR0 S CONCHALL SKIP IF V VAR0 EQ 0 PRINTRET POSTBAD LOAD V OBJHELD I 0 LOAD S RING I 0 LOAD S HELMET I 0 LOAD S PENDANT I 0 LOAD S BADGE I 0 LOAD S SUNGLASS I 0 LOAD S BELT I 0 MOVE PLAYER WITHOUT TO ROOMX LOAD S CONCHALL I 0 LOAD S ROOMZ R 1 ADD S ROOMZ I 1 PRINTRET POSTGOOD PLANTPROG: SKIP IF R (PLANT)R EQ AVENUE RETURN PRINT NOWAYMESS RETURN ABORT PLAYPROG: SKIP IF R ()O EQ ACCORDION PRINTRET CANTDO SKIP IF H ACCORDION PLAYER PRINTRET NOTHELD SKIP2 IF S MUSIC EQ 1 SKIP IF S WELL EQ 4 PRINTRET NOTUNE SKIP IF R (PLAYER)R EQ (BACCHUS)R PRINTRET PLAYACCM PRINT PLAYBACC MOVE BACCHUS WITH DESTROY SKIP UNLESS H BOTTLE PLAYER SKIP IF S BOTTLE EQ 1 PRINTRET BACCBAD LOAD S BOTTLE I 2 PRINTRET BACCGOOD PNPROG: SKIP UNLESS H TOKEN PLAYER LOAD S TOKEN I 1 SKIP UNLESS H PIECE PLAYER LOAD S PIECE I 1 SKIP UNLESS H COIN PLAYER LOAD S COIN I 1 SKIP UNLESS H NOBLE PLAYER LOAD S NOBLE I 1 SKIP UNLESS H NOTE PLAYER LOAD S NOTE I 1 PRINTRET NEGIONS POSTPROG: SKIP3 UNLESS R (PLAYER)R EQ ASNETRAS SKIP2 IF M MOVED PRINT LOSEFINAL GO QUITS SKIP UNLESS S SWORD GT 2 GO POST1 SUB V SWORDVAR I 1 SKIP IF V SWORDVAR EQ 0 GO POST1 LOAD V SWORDVAR R 3 ADD V SWORDVAR I 1 ADD S SWORD I 1 SKIP UNLESS S SWORD GT 2 LOAD S SWORD I 0 SKIP IF R (PLAYER)R EQ (SWORD)R GO POST1 LOAD V VAR0 S SWORD SKIP2 IF H SWORD PLAYER PRINT SWORDCHANGE VAR0 GO POST1 PRINT SWORDHELD VAR0 POST1: SKIP3 IF S BELL EQ 0 ADD S BELL I 1 SKIP UNLESS S BELL EQ 3 GO DIEBELL SKIP3 UNLESS R (PLAYER)R EQ CLEARING SKIP2 IF M MOVED SKIP UNLESS P NOTAKE SCARECROW GO DIESCAR2 SKIP UNLESS H ORB PLAYER SKIP2 IF R (PLAYER)R EQ (PARROT)R LOAD S PARROT I 0 GO POST2 ADD S PARROT I 1 PRINT PARSCREECH SKIP2 UNLESS S PARROT GT 2 PRINT DIEPARR GO DIEPROG POST2: SKIP2 IF R (MAT)R EQ WARREN SKIP UNLESS E (MAT)R SKIP UNLESS P DISORIENT (MAT)R GO POST3 SKIP4 IF R (MAT)R EQ HUMP1 SKIP3 IF R (MAT)R EQ SHRINE SKIP2 UNLESS P VISITED DEND2 SKIP UNLESS S MATDUM EQ 0 SKIP UNLESS R (PLAYER)R EQ (MAT)R GO POST3 MOVE MATDUM WITH TO (MAT)R MOVE MAT WITH DESTROY LOAD S MATDUM I 1 POST3: SKIP IF S MATDUM GT 4 SKIP UNLESS S MATDUM EQ 0 GO POST4 SKIP4 UNLESS R (PLAYER)R EQ (MATDUM)R ADD S MATDUM I 1 SKIP2 UNLESS S MATDUM EQ 3 MOVE MATDUM WITH DESTROY LOAD S MATDUM I 5 POST4: SKIP UNLESS R (PLAYER)R EQ (SPROUT)R SKIP UNLESS M MOVED GO POST5 PRINT SPROUTW2 MOVE PLAYER WITH TO HALL MOVE PLAYER WITH RANDADJ POST5: SKIP UNLESS R (PLAYER)R EQ (BARREL)R SKIP UNLESS M MOVED GO POST6 SKIP UNLESS H BOTTLE PLAYER SKIP2 IF S BOTTLE EQ 2 PRINT DIEBARREL GO DIEPROG LOAD S BOTTLE I 0 PRINT BARRDRINK POST6: SKIP IF R (PLAYER)R LT MAZE1 SKIP UNLESS R (PLAYER)R GT MAZE14 GO POST7 LOAD V VAR0 R 5 SKIP IF V VAR0 EQ 0 GO POST7 LOAD V VAR0 R 5 SKIP3 UNLESS V VAR0 EQ 0 PRINT CONFUS1 GOSUB DROPFIRST GO POST69 SKIP3 UNLESS V VAR0 EQ 1 PRINT CONFUS2 GOSUB TAKEFIRST GO POST69 PRINT CONFUS3 MOVE PLAYER WITH RANDADJ POST69: SKIP IF M MOVED DESCRIBE WITH (PLAYER)R POST7: SKIP IF R (PLAYER)R LT BIGRM1 SKIP UNLESS R (PLAYER)R GT BIGRM9 GO POST8 / DESCRIBE WITH (PLAYER)R SET VISITED (PLAYER)R MOVE ROCKS WITH TO (PLAYER)R SKIP UNLESS S GIANT EQ 2 GO POSTGT2 SKIP UNLESS S GIANT EQ 1 GO POSTGT1 POST8: SKIP2 UNLESS R (PLAYER)R EQ BARN SKIP UNLESS R (WIZARD)R EQ BARN SKIP UNLESS M MOVED GO POST9 PRINT WIZBLAST MOVE PLAYER WITH TO CORR5 LOAD S CORR5 I 1 POST9: SKIP IF R (PLAYER)R EQ WWROOM GO POST10 SKIP IF M MOVED GO POSTWEIRD POST10: SKIP3 IF S MONKR1 EQ 2 SKIP UNLESS S MONKR1 EQ 1 LOAD S MONKR1 I 2 GO POST12 SKIP2 IF R (PLAYER)R EQ (MONK1)R SKIP IF R (PLAYER)R EQ (MONK2)R SKIP UNLESS R (PLAYER)R EQ (MONK3)R PRINT MONKM MOVE MONK1 WITH DIR M MOVE MONK2 WITH DIR M MOVE MONK3 WITH DIR M SKIP IF R (PLAYER)R EQ MONKR1 GO POST11 SKIP2 IF R (MONK1)R EQ MONKR1 SKIP IF R (MONK2)R EQ MONKR1 SKIP3 UNLESS R (MONK3)R EQ MONKR1 PRINT MONKE MOVE PLAYER WITH TO XROOM GO POST115 POST11: SKIP2 IF R (PLAYER)R EQ (MONK1)R SKIP IF R (PLAYER)R EQ (MONK2)R SKIP2 UNLESS R (PLAYER)R EQ (MONK3)R PRINT MONKD GO DIEPROG POST115: SKIP2 UNLESS R (MONK1)R EQ (BOOK)R MOVE MONK1 WITH TO MONKDUMP MOVE BOOK WITH DESTROY SKIP2 UNLESS R (MONK2)R EQ (BOOK)R MOVE MONK2 WITH TO MONKDUMP MOVE BOOK WITH DESTROY SKIP2 UNLESS R (MONK3)R EQ (BOOK)R MOVE MONK3 WITH TO MONKDUMP MOVE BOOK WITH DESTROY POST12: SKIP4 IF R (PLAYER)R LT CARY1 SKIP3 IF R (PLAYER)R GT CARY12 SKIP2 IF R (PLAYER)R EQ (COLUMN)R MOVE COLUMN WITH TO (PLAYER)R LOAD S COLUMN R 1 POST13: SKIP3 UNLESS R (PLAYER)R EQ (HELEN)R SKIP2 IF M MOVED PRINT KISSEDMESS GO DIEPROG SKIP4 UNLESS R (PLAYER)R EQ (HORSE)R SKIP3 IF S HORSE EQ 1 SKIP2 IF M MOVED PRINT HORSEDM GO DIEPROG SKIP2 IF V MUSCTIME EQ 0 SUB V MUSCTIME I 1 SKIP IF V MUSCTIME EQ 0 GO POST14 MOVE PLAYER WITHOUT TO (PLAYER)R LOAD V OBJHELD I 0 LOAD S RING I 0 LOAD S HELMET I 0 LOAD S PENDANT I 0 LOAD S BADGE I 0 LOAD S SUNGLASS I 0 LOAD S BELT I 0 LOAD V STRENGTH I 7 PRINT WEAKMESS POST14: SKIP2 IF H STAFF PLAYER SKIP UNLESS V SNAKEVAR EQ 0 GO POST15 SKIP UNLESS V SNAKEVAR EQ 0 LOAD V SNAKEVAR I 8 SUB V SNAKEVAR I 1 SKIP IF V SNAKEVAR EQ 0 GO POST15 SKIP2 UNLESS H STAFF PLAYER PRINT SNAKEBITE GO DIEPROG MOVE SNAKE WITH TO (STAFF)R MOVE STAFF WITH TO RNULL SKIP4 UNLESS R (PLAYER)R EQ (SNAKE)R SKIP2 UNLESS R (SNAKE)R EQ DRONERM PRINT SNAKEDOZE GO POST14A PRINT SNAKECHANGE POST14A: SKIP IF R (SNAKE)R EQ DRONERM MOVE SNAKE WITH DESTROY POST15: SKIP IF R (PLAYER)R EQ RINK GO POST16 MOVE PLAYER WITH TO ROOMX MOVE (RINK)O WITH TO ROOMX MOVE PLAYER WITH TO RINK MOVE (ROOMX)O WITH TO RINK / ensures player is 2nd obj ADD V RINKCT I 1 SKIP3 UNLESS V RINKCT GT 8 MOVE PLAYER WITH TO TRINCO PRINT TRINMOVE GO POST17 SKIP UNLESS V II EQ 1 GO POST15A SKIP UNLESS V II EQ 5 GO POST15C GO POST15B POST15A: LOAD S RINK I 2 SKIP UNLESS V JJ EQ 1 LOAD S RINK I 1 SKIP UNLESS V JJ EQ 5 LOAD S RINK I 3 GO POST17 POST15B: LOAD S RINK I 5 SKIP UNLESS V JJ EQ 1 LOAD S RINK I 4 SKIP UNLESS V JJ EQ 5 LOAD S RINK I 6 GO POST17 POST15C: LOAD S RINK I 8 SKIP UNLESS V JJ EQ 1 LOAD S RINK I 7 SKIP UNLESS V JJ EQ 5 LOAD S RINK I 9 GO POST17 POST16: SKIP UNLESS R (PLAYER)R EQ TRINCO GO POST17 RESOLVE VAR0 (O1)O ADD V VAR0 R 24 RESOLVE VAR0 (VAR0)O LOAD V VAR3 S (VAR0)O LOAD S (VAR0)O S O26 LOAD S O26 V VAR3 POST17: SKIP IF R (PLAYER)R LT REL1 SKIP UNLESS R (PLAYER)R GT REL5 GO POST18 SKIP3 UNLESS R (SPLEEN)R EQ REL3 SKIP2 UNLESS R (SUNGLASS)R EQ REL1 SKIP UNLESS R (TOE)R EQ REL2 SKIP IF R (HEART)R EQ REL5 GO POST18 LOAD V OBJHELD I 0 MOVE JACINTH WITH TO HOLEROOM MOVE PLAYER WITHOUT TO HOLEROOM PRINT DONERELIC POST18: SKIP IF V WOLFCT GT 0 GO POST19 SUB V WOLFCT I 1 SKIP2 UNLESS V WOLFCT EQ 0 PRINT WOLFDIE GO DIEPROG POST19: SKIP UNLESS R (PLAYER)R EQ (GOAT)R GO POST20 SKIP4 UNLESS R (GOAT)R EQ (WOLF)R SKIP IF R (PLAYER)R EQ BACKS SKIP UNLESS R (PLAYER)R EQ POSTER PRINT GOATFLEE MOVE GOAT WITH DESTROY SKIP4 UNLESS R (GOAT)R EQ (TURNIP)R SKIP IF R (PLAYER)R EQ BACKS SKIP UNLESS R (PLAYER)R EQ POSTER PRINT MUNCHMESS MOVE TURNIP WITH DESTROY POST20: SKIP3 UNLESS R (PLAYER)R EQ POSTER SKIP2 UNLESS R (WOLF)R EQ POSTER SKIP UNLESS R (GOAT)R EQ POSTER SKIP IF R (TURNIP)R EQ POSTER GO POST21 PRINT ADSUCCESS MOVE PLAYER WITHOUT TO POSTAD MOVE EMERALD WITH TO PLAYER LOAD V OBJHELD I 1 POST21: SKIP UNLESS V TOUTCT EQ 0 GO POST22 SUB V TOUTCT I 1 SKIP2 UNLESS V TOUTCT EQ 0 PRINT DIETOUT GO DIEPROG POST22: SKIP3 UNLESS R (PLAYER)R EQ HUMP2 SKIP2 IF M MOVED MOVE PLAYER WITH RANDADJ PRINT HOTPLATE SKIP UNLESS S HUMDUM EQ 0 GO POST23 SUB S HUMDUM I 1 SKIP IF S HUMDUM EQ 0 GO POST23 MOVE HUMDUM WITH DESTROY SKIP3 UNLESS R (PLAYER)R EQ HUMP2 MOVE BELT WITH TO HUMP2 PRINT HUMCATCH GO POST23 SKIP UNLESS R (STRAW)R EQ HUMP2 GO POST23 MOVE OMLET WITH TO HUMP2 SKIP IF R (PLAYER)R EQ HUMP1 SKIP UNLESS R (PLAYER)R EQ HUMP2 PRINT CRASHNOISE POST23: SKIP UNLESS R (PLAYER)R EQ MNEMRM SKIP UNLESS M MOVED GO POST24 SKIP2 IF H ONYX PLAYER PRINT FORGETMESS GO DIEPROG PRINT MNEMONICS POST24: SKIP IF R (PLAYER)R EQ REL2 SKIP2 UNLESS R (PLAYER)R EQ REL4 SKIP IF S SUNGLASS EQ 1 LOAD S (PLAYER)R I 0 SKIP UNLESS H RUBY PLAYER LOAD S RUBY I 1 SKIP UNLESS V TERSEVAR EQ 0 SET VISITED (PLAYER)R SKIP UNLESS V TERSEVAR EQ 2 UNSET VISITED (PLAYER)R SKIP UNLESS R (PLAYER)R EQ WARREN RETURN LOOK / may not have moved RETURN POSTGT1: SKIP2 UNLESS R BIGRM1 ADJ (PLAYER)R PRINT GIKILL1 GO DIEPROG PRINT GIMISS1 LOAD S GIANT I 2 GO POST8 POSTGT2: SKIP2 UNLESS R BIGRM7 ADJ (PLAYER)R PRINT GIKILL2 GO DIEPROG PRINT GIMISS2 LOAD S GIANT I 1 GO POST8 POSTWEIRD: SKIP3 UNLESS H RING PLAYER SKIP2 IF S RING EQ 0 PRINT BUBBLESP GO POST10 PRINT DIEWEIRD GO DIEPROG POXPROG: SKIP IF P VISITED LITROOM PRINTRET POXCRASH RETURN PRAYFOG: SKIP IF S FOGROOM EQ 0 PRINTRET WINDMS2 LOAD S FOGROOM I 1 MOVE FOG WITH DESTROY PRINT DISPERSE UNSET VISITED FOGROOM RETURN LOOK PRAYHUMP: LOAD S HUMDUM I 4 PRINTRET WINDMS2 PRAYMUSIC: MOVE MUSIC WITH TO BIGRM6 PRINTRET BLOWMUSIC PRAYPROG: SKIP UNLESS R (PLAYER)R EQ (MAT)R SKIP UNLESS H MAT PLAYER PRINTRET NHAPPENS SKIP2 UNLESS R (PLAYER)R EQ BARN SKIP UNLESS S BARN EQ 0 PRINTRET DUSTPRAY SKIP UNLESS R (PLAYER)R EQ HUMP1 GO PRAYHUMP SKIP2 UNLESS R (PLAYER)R EQ BIGRM6 SKIP UNLESS R (MUSIC)R EQ BIGRM9 GO PRAYMUSIC SKIP UNLESS R (PLAYER)R EQ FOGROOM GO PRAYFOG SKIP UNLESS R (PLAYER)R EQ SHRINE GO PRAYSHRINE SKIP UNLESS R (PLAYER)R EQ TREERM SKIP3 IF S SWORD GT 2 SKIP IF P OUTSIDE (PLAYER)R PRINTRET WINDMS2 PRINTRET WINDMESS LOAD S SWORD R 2 UNSET NOTAKE SWORD PRINT SWORDFALL RETURN LOOK PRAYSHRINE: SKIP2 UNLESS S ALTAR EQ 1 PRINT WRATHURG GO DIEPROG GOSUB SCORESUB SKIP UNLESS V VAR0 LT 540 PRINTRET VOICEMESS LOAD S ALTAR I 1 PRINTRET VOICEMS2 PULLPROG: SKIP IF R ()O EQ ROPE GO PUSHPROG SKIP IF R ()R EQ (PLAYER)R PRINTRET DONTSEE SKIP IF S ROPE EQ 1 SKIP IF S KNIGHT EQ 1 PRINTRET NHAPPENS PRINT KNIGHTHOME SKIP3 UNLESS H SWORD PLAYER SKIP2 UNLESS H HELMET PLAYER SKIP UNLESS S HELMET EQ 1 SKIP IF H SWORD PLAYER PRINTRET ILLEQUIPPED LOAD S ROPE I 1 PRINT MAYFIGHT SKIP IF S SWORD EQ 2 PRINTRET FOUGHTBAD MOVE EGG WITH TO (PLAYER)R MOVE FLINN WITH TO CORR9 PRINT FOUGHTWELL RETURN LOOK PUSHPROG: SKIP IF R ()R EQ (PLAYER)R PRINTRET DONTSEE SKIP IF P NOTAKE ()O PRINTRET SILLYMESS SKIP IF P TOUCHABLE ()O PRINTRET CANTDO PRINTRET ACHIEVENOWT / Program to make certain the player wants to quit. QUITPROG: SKIP IF Q QUITQUERY / Skip if "yes" answer. RETURN GOSUB SCORESUB ADD V VAR0 I 10 PRINT YOUGOT QUITS: SKIP UNLESS Q MOREGAMES RETURN RETRY RESTART MAY ANY PRINT GOWORK RETURN RETRY FINISH MAY ANY / Induce end of game. READPROG: SKIP IF M LIGHT PRINTRET PITCHDARK SKIP IF R ()R EQ (PLAYER)R PRINTRET DONTSEE SKIP2 UNLESS R ()O EQ SIGN LOAD V VAR0 S SIGN PRINTRET READSIGN VAR0 SKIP UNLESS R ()O EQ EGG PRINTRET EGGSAYS SKIP UNLESS R ()O EQ BADGE PRINTRET BADGESAYS SKIP UNLESS R ()O EQ MUSIC GO READMUSIC SKIP UNLESS R ()O EQ SLOTULE PRINTRET SLOTREAD SKIP UNLESS R ()O EQ STONE PRINTRET READSTONE SKIP UNLESS R ()O EQ ADVERT PRINTRET READAD SKIP IF R ()O EQ BOOK PRINTRET NOREAD SKIP IF H BOOK PLAYER PRINTRET NOTHELD PRINT RADMESS GO DIEPROG READMUSIC: SKIP IF H MUSIC PLAYER PRINTRET NOTHELD LOAD S MUSIC I 1 / can play SUB V OBJHELD I 1 MOVE MUSIC WITH DESTROY PRINTRET MUSICREAD REL1IN: SKIP IF E (REL1)O RETURN GO REL12345 REL2IN: LOAD S REL2 I 0 SKIP UNLESS S SUNGLASS EQ 1 LOAD S REL2 I 1 SKIP IF E (REL2)O RETURN GO REL12345 REL2XXX: SKIP UNLESS S SUNGLASS EQ 1 GO REL2IN PRINT NOWAYMESS RETURN ABORT REL3IN: SKIP IF E (REL3)O RETURN GO REL12345 REL4IN: LOAD S REL4 I 0 SKIP UNLESS S SUNGLASS EQ 1 LOAD S REL4 I 1 SKIP IF E (REL4)O RETURN GO REL12345 REL4XXX: SKIP UNLESS S SUNGLASS EQ 1 GO REL4IN PRINT NOWAYMESS RETURN ABORT REL5IN: SKIP IF E (REL5)O RETURN GO REL12345 REL12345: SKIP IF E (PLAYER)D RETURN PRINT INVBARR2 RETURN ABORT RELOUT: SKIP2 UNLESS E (PLAYER)D PRINT INVBARR3 RETURN ABORT RETURN RELSTART: SKIP2 IF H COLANDER PLAYER PRINT INVBARR RETURN ABORT MOVE COLANDER WITH DESTROY SKIP3 UNLESS E (PLAYER)D MOVE COLANDER WITH TO PLAYER PRINT INVBARR RETURN ABORT LOAD V OBJHELD I 0 PRINTRET COLWHOOSH RETURN REMOVEPROG: SKIP IF R ()O EQ BELT SKIP UNLESS R ()O EQ SUNGLASS GO REMOV2 SKIP4 IF R ()O EQ BADGE SKIP3 IF R ()O EQ PENDANT SKIP2 IF R ()O EQ HELMET SKIP IF R ()O EQ RING PRINTRET CANTDO REMOV2: SKIP UNLESS H ()O PLAYER SKIP IF S ()O EQ 1 PRINTRET NOTWORN LOAD S ()O I 0 PRINTRET OKMESS RIDEPROG: SKIP IF R ()R EQ (PLAYER)R PRINTRET DONTSEE SKIP UNLESS R ()O EQ BROOM GO FLYPROG SKIP UNLESS R ()O EQ HORSE PRINTRET NOTWISE PRINTRET CANTDO RIMPROG: SKIP2 UNLESS R (PLAYER)R EQ MOORRIM SUB V VAR0 S PANE SKIP IF V VAR0 EQ 0 PRINTRET NHAPPENS LOAD S MIRROR R 2 ADD S MIRROR I 1 MOVE PLAYER WITH TO MIRROOM PRINTRET DISSOL2 RINGPROG: SKIP IF M W2EX RETURN RETRY OBJECT CANT SKIP IF R ()O EQ BELL PRINTRET CANTDO SKIP IF R (PLAYER)R EQ (BELL)R PRINTRET DONTSEE PRINTRET HOWDOTHAT RINKENT: MOVE PLAYER WITH TO RINK MOVE O5 WITH TO RINK / so first object RETURN ABORT REPROG: LOAD V VAR5 I 0 RESOLVE VAR4 (RINK)O MOVE (RINK)O WITH DESTROY SKIP2 UNLESS V JJ EQ 5 MOVE (VAR4)O WITH TO RINK PRINTRET NOWAYMESS REP2: ADD V JJ I 1 ADD V VAR5 I 1 GOSUB CALC SKIP UNLESS V VAR5 EQ 4 GO REP3 SKIP UNLESS V JJ EQ 5 GO REP3 ADD S (VAR3)O I 26 DESCRIBE WITH (VAR3)O SUB S (VAR3)O I 26 GO REP2 REP3: MOVE (VAR3)O WITH TO RINK RETURN LOOK RNPROG: LOAD V VAR5 I 0 RESOLVE VAR4 (RINK)O MOVE (RINK)O WITH DESTROY SKIP2 UNLESS V II EQ 1 MOVE (VAR4)O WITH TO RINK PRINTRET NOWAYMESS RNP2: SUB V II I 1 ADD V VAR5 I 1 GOSUB CALC SKIP UNLESS V VAR5 EQ 4 GO RNP3 SKIP UNLESS V II EQ 1 GO RNP3 ADD S (VAR3)O I 26 DESCRIBE WITH (VAR3)O SUB S (VAR3)O I 26 GO RNP2 RNP3: MOVE (VAR3)O WITH TO RINK RETURN LOOK RNEPROG: LOAD V VAR5 I 0 RESOLVE VAR4 (RINK)O MOVE (RINK)O WITH DESTROY SKIP IF V JJ EQ 5 SKIP2 UNLESS V II EQ 1 MOVE (VAR4)O WITH TO RINK PRINTRET NOWAYMESS RNEP2: SUB V II I 1 ADD V JJ I 1 ADD V VAR5 I 1 GOSUB CALC SKIP UNLESS V VAR5 EQ 3 GO RNEP3 SKIP IF V JJ EQ 5 SKIP UNLESS V II EQ 1 GO RNEP3 ADD S (VAR3)O I 26 DESCRIBE WITH (VAR3)O SUB S (VAR3)O I 26 GO RNEP2 RNEP3: MOVE (VAR3)O WITH TO RINK RETURN LOOK RNWPROG: LOAD V VAR5 I 0 RESOLVE VAR4 (RINK)O MOVE (RINK)O WITH DESTROY SKIP IF V JJ EQ 1 SKIP2 UNLESS V II EQ 1 MOVE (VAR4)O WITH TO RINK PRINTRET NOWAYMESS RNWP2: SUB V II I 1 SUB V JJ I 1 ADD V VAR5 I 1 GOSUB CALC SKIP UNLESS V VAR5 EQ 3 GO RNWP3 SKIP IF V JJ EQ 1 SKIP UNLESS V II EQ 1 GO RNWP3 ADD S (VAR3)O I 26 DESCRIBE WITH (VAR3)O SUB S (VAR3)O I 26 GO RNWP2 RNWP3: MOVE (VAR3)O WITH TO RINK RETURN LOOK RSPROG: LOAD V VAR5 I 0 RESOLVE VAR4 (RINK)O MOVE (RINK)O WITH DESTROY SKIP2 UNLESS V II EQ 5 MOVE (VAR4)O WITH TO RINK PRINTRET NOWAYMESS RSP2: ADD V II I 1 ADD V VAR5 I 1 GOSUB CALC SKIP UNLESS V VAR5 EQ 4 GO RSP3 SKIP UNLESS V II EQ 5 GO RSP3 ADD S (VAR3)O I 26 DESCRIBE WITH (VAR3)O SUB S (VAR3)O I 26 GO RSP2 RSP3: MOVE (VAR3)O WITH TO RINK RETURN LOOK RSEPROG: LOAD V VAR5 I 0 RESOLVE VAR4 (RINK)O MOVE (RINK)O WITH DESTROY SKIP IF V JJ EQ 5 SKIP2 UNLESS V II EQ 5 MOVE (VAR4)O WITH TO RINK PRINTRET NOWAYMESS RSEP2: ADD V II I 1 ADD V JJ I 1 ADD V VAR5 I 1 GOSUB CALC SKIP UNLESS V VAR5 EQ 3 GO RSEP3 SKIP IF V JJ EQ 5 SKIP UNLESS V II EQ 5 GO RSEP3 ADD S (VAR3)O I 26 DESCRIBE WITH (VAR3)O SUB S (VAR3)O I 26 GO RSEP2 RSEP3: MOVE (VAR3)O WITH TO RINK RETURN LOOK RSWPROG: LOAD V VAR5 I 0 RESOLVE VAR4 (RINK)O MOVE (RINK)O WITH DESTROY SKIP IF V JJ EQ 1 SKIP2 UNLESS V II EQ 5 MOVE (VAR4)O WITH TO RINK PRINTRET NOWAYMESS RSWP2: ADD V II I 1 SUB V JJ I 1 ADD V VAR5 I 1 GOSUB CALC SKIP UNLESS V VAR5 EQ 3 GO RSWP3 SKIP IF V JJ EQ 1 SKIP UNLESS V II EQ 5 GO RSWP3 ADD S (VAR3)O I 26 DESCRIBE WITH (VAR3)O SUB S (VAR3)O I 26 GO RSWP2 RSWP3: MOVE (VAR3)O WITH TO RINK RETURN LOOK RWPROG: LOAD V VAR5 I 0 RESOLVE VAR4 (RINK)O MOVE (RINK)O WITH DESTROY SKIP2 UNLESS V JJ EQ 1 MOVE (VAR4)O WITH TO RINK PRINTRET NOWAYMESS RWP2: SUB V JJ I 1 ADD V VAR5 I 1 GOSUB CALC SKIP UNLESS V VAR5 EQ 4 GO RWP3 SKIP UNLESS V JJ EQ 1 GO RWP3 ADD S (VAR3)O I 26 DESCRIBE WITH (VAR3)O SUB S (VAR3)O I 26 GO RWP2 RWP3: MOVE (VAR3)O WITH TO RINK RETURN LOOK SAVEPROG: LOAD V WARVAR I 0 SKIP UNLESS P NOSAVE (PLAYER)R PRINTRET CANTSAVE RETURN RETRY SAVE CANT SAVENDPROG: LOAD V WARVAR I 0 SKIP UNLESS P NOSAVE (PLAYER)R PRINTRET CANTSAVE RETURN RETRY SAVEND CANT SAYPROG: PRINT SAYMESS SKIP IF M W2SP MAGICSPEC PRINTRET NHAPPENS RETURN RETRY IGNORE MAY ANY SCOREPROG: GOSUB SCORESUB ADD V VAR0 I 10 PRINTRET WOULDGET SCORESUB: SKIP UNLESS S ALTAR EQ 1 GO SCORELATE LOAD V VAR0 I 0 SKIP IF S SWORD GT 2 ADD V VAR0 I 10 SKIP UNLESS R (SWORD)R EQ SHRINE ADD V VAR0 I 5 SKIP IF P NOTAKE SCARECROW ADD V VAR0 I 10 SKIP UNLESS E (ORB)R ADD V VAR0 I 5 SKIP UNLESS R (ORB)R EQ SHRINE ADD V VAR0 I 5 SKIP IF E (SPROUT)R ADD V VAR0 I 10 SKIP UNLESS R (CHAIR)R EQ SHRINE ADD V VAR0 I 5 SKIP IF R (FOG)R EQ FOGROOM ADD V VAR0 I 10 SKIP UNLESS R (RING)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS P VISITED DEND6 ADD V VAR0 I 10 SKIP UNLESS R (AMBER)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS P VISITED BIGRM3 ADD V VAR0 I 5 SKIP UNLESS S MUSIC EQ 1 ADD V VAR0 I 5 SKIP IF E (BACCHUS)R ADD V VAR0 I 5 SKIP IF R (HELMET)R EQ CORR3 ADD V VAR0 I 5 SKIP IF R (WIZARD)R EQ BARN ADD V VAR0 I 5 SKIP IF S BARN EQ 0 ADD V VAR0 I 5 SKIP UNLESS R (CANDLESTICK)R EQ SHRINE ADD V VAR0 I 5 SKIP IF R (PLANT)R EQ AVENUE ADD V VAR0 I 10 SKIP UNLESS R (FISH)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS P VISITED LOFT ADD V VAR0 I 10 SKIP UNLESS P VISITED WAREND ADD V VAR0 I 10 SKIP UNLESS R (TUSK)R EQ SHRINE ADD V VAR0 I 5 SKIP IF R (WEB)R EQ WEBROOM ADD V VAR0 I 10 SKIP UNLESS R (SAPPHIRE)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS P VISITED MOORRIM ADD V VAR0 I 10 SKIP UNLESS R (BUST)R EQ SHRINE ADD V VAR0 I 5 SKIP IF R (HELEN)R EQ SPOOKRM ADD V VAR0 I 5 SKIP UNLESS R (PORTRAIT)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS R (PARROT)R EQ SHRINE ADD V VAR0 I 10 SKIP IF R (PENDANT)R EQ MONKR6 ADD V VAR0 I 10 SKIP UNLESS R (PENDANT)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS P VISITED DEND11 ADD V VAR0 I 10 SKIP UNLESS R (TAPESTRY)R EQ SHRINE ADD V VAR0 I 5 SKIP IF S LITROOM EQ 0 ADD V VAR0 I 5 SKIP IF R (RUBY)R EQ WWROOM ADD V VAR0 I 5 SKIP UNLESS R (RUBY)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS S GNOME EQ 1 ADD V VAR0 I 5 SKIP UNLESS P VISITED CORR7 ADD V VAR0 I 5 SKIP UNLESS R (PLATE)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS R (OPAL)R EQ SHRINE ADD V VAR0 I 5 SKIP IF V PHXVAR EQ 0 ADD V VAR0 I 5 SKIP UNLESS P VISITED STAIR1 ADD V VAR0 I 5 SKIP UNLESS P VISITED TJUNC2 ADD V VAR0 I 5 SKIP IF S GARGOYLE EQ 0 ADD V VAR0 I 10 SKIP UNLESS R (IKON)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS P VISITED UPROOM ADD V VAR0 I 10 SKIP UNLESS R (BONE)R EQ SHRINE ADD V VAR0 I 5 SKIP IF S HORSE EQ 0 ADD V VAR0 I 10 SKIP UNLESS E (EGG)R ADD V VAR0 I 10 SKIP UNLESS R (EGG)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS P VISITED CORR1 ADD V VAR0 I 10 SKIP IF S IDOL EQ 0 ADD V VAR0 I 10 SKIP UNLESS E (TOPAZ)R ADD V VAR0 I 10 SKIP UNLESS R (TOPAZ)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS E (SNAKE)R ADD V VAR0 I 10 SKIP UNLESS P VISITED REL1 ADD V VAR0 I 10 SKIP UNLESS E (JACINTH)R ADD V VAR0 I 15 SKIP UNLESS R (JACINTH)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS P VISITED HIPRM2 ADD V VAR0 I 10 SKIP UNLESS E (BELT)R ADD V VAR0 I 10 SKIP UNLESS R (BELT)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS S GORGON EQ 1 ADD V VAR0 I 10 SKIP UNLESS E (ONYX)R ADD V VAR0 I 10 SKIP UNLESS R (ONYX)R EQ SHRINE ADD V VAR0 I 5 SKIP IF R (FIGURINE)R EQ MNEMRM ADD V VAR0 I 10 SKIP UNLESS R (FIGURINE)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS P VISITED ROOMX ADD V VAR0 I 10 SKIP UNLESS P VISITED BACKS ADD V VAR0 I 15 SKIP UNLESS P VISITED POSTAD ADD V VAR0 I 10 SKIP UNLESS P VISITED ROOMZ ADD V VAR0 I 10 SKIP UNLESS R (BLOODSTONE)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS R (EMERALD)R EQ SHRINE ADD V VAR0 I 5 SKIP UNLESS R (SCEPTRE)R EQ SHRINE ADD V VAR0 I 5 ADD V VAR0 V WBONUS ADD V VAR0 V MGBONUS RETURN SCORELATE: SKIP2 UNLESS R (PLAYER)R EQ ASNETRAS LOAD V VAR0 I 589 RETURN LOAD V VAR0 I 545 SKIP UNLESS P VISITED CORR1 ADD V VAR0 I 10 SKIP IF S IDOL EQ 0 ADD V VAR0 I 10 RETURN SECALL: SUB V VAR0 S SECROOM SKIP2 IF V VAR0 EQ 0 PRINT NOWAYMESS RETURN ABORT PRINTRET FINDSEC SECEPROG: LOAD V VAR0 I 2 GO SECALL SECNEPROG: LOAD V VAR0 I 1 GO SECALL SECNWPROG: LOAD V VAR0 I 6 GO SECALL SECSEPROG: LOAD V VAR0 I 3 GO SECALL SECSWPROG: LOAD V VAR0 I 4 GO SECALL SECWPROG: LOAD V VAR0 I 5 GO SECALL SETPRICE: SKIP IF V VAR1 EQ 0 RETURN SETPRC2: LOAD V VAR1 R 100 ADD V VAR1 I 20 LOAD V VAR0 V VAR1 SKIP3 IF V VAR0 LT 81 SUB V VAR0 I 81 SKIP IF V VAR0 LT 81 RETURN SKIP3 IF V VAR0 LT 27 SUB V VAR0 I 27 SKIP IF V VAR0 LT 27 RETURN SKIP3 IF V VAR0 LT 9 SUB V VAR0 I 9 SKIP IF V VAR0 LT 9 RETURN SKIP3 IF V VAR0 LT 3 SUB V VAR0 I 3 SKIP IF V VAR0 LT 3 RETURN SKIP3 IF V VAR0 LT 1 SUB V VAR0 I 1 SKIP IF V VAR0 LT 1 RETURN GO SETPRC2 SETTUNE: SKIP UNLESS P VISITED CONCHALL RETURN LOAD S CONCHALL R 2 ADD S CONCHALL I 1 RETURN SHAKEPROG: SKIP IF P NOTAKE ()O GO WAVEPROG SKIP IF P TOUCHABLE ()O PRINTRET CANTDO SKIP IF R (PLAYER)R EQ ()R PRINTRET DONTSEE SKIP IF R ()O EQ GATE PRINTRET SHAKEBAD SKIP IF S GATE EQ 0 PRINTRET SHAKESHAKE LOAD S GATE I 1 PRINTRET SHAKEOPEN SHEETPROG: SKIP UNLESS P VISITED LOFT RETURN SKIP4 UNLESS R (WIZARD)R EQ BARN PRINT WIZBLAST MOVE PLAYER WITH TO CORR5 LOAD S CORR5 I 1 RETURN ABORT SKIP2 UNLESS H HELMET PLAYER SKIP UNLESS S HELMET EQ 1 PRINTRET SHEETJAB PRINT SHEETKILL GO DIEPROG SITPROG: SKIP UNLESS M W2EX SKIP IF M W2SP DSPEC PRINTRET NOTIMESIT RETURN RETRY NONE CANT SPOOKPROG: SKIP UNLESS R (HELEN)R EQ SPOOKRM SKIP IF H BUST PLAYER RETURN MOVE HELEN WITH DESTROY PRINTRET HELENGO STATPROG: ADD S WIDEPASS I 1 SKIP UNLESS S WIDEPASS EQ 1 PRINTRET BEWARM1 SKIP UNLESS S WIDEPASS EQ 3 PRINTRET BEWARM4 SKIP UNLESS S WIDEPASS EQ 5 PRINTRET BEWARM3 PRINTRET BEWARM2 STEPPROG: PRINTRET CHASEDMS SWEEPROG: SKIP2 UNLESS M W2EX SKIP IF M W2SP FLOORSPEC RETURN RETRY NONE CANT SKIP IF H BROOM PLAYER PRINTRET NOBROOM SKIP UNLESS R (PLAYER)R EQ BARN SKIP IF S BARN EQ 0 PRINTRET SWEEPFLOOR LOAD S BARN I 1 PRINTRET FINDTRAP SWIMPROG: SKIP UNLESS R (PLAYER)R EQ STREAM GO SWIMSTREAM SKIP UNLESS R (PLAYER)R EQ WWROOM PRINTRET CANTSWIM SKIP2 IF R (PLAYER)R EQ LAKE1 SKIP IF R (PLAYER)R EQ LAKE2 PRINTRET NOWATER PRINT GHOULMESS GO DIEPROG SWIMSTREAM: MOVE PLAYER WITH TO RNULL MOVE PLAYER WITHOUT TO STREAM SKIP IF V WOLFCT EQ 0 LOAD V WBONUS I 10 LOAD V WOLFCT I 0 LOAD V OBJHELD I 0 PRINTRET BATHE / Subroutine to try to take the object referred to by the / reference in VAR0. OBJHELD is updated if it is taken, and / var4 is set to: / 1 if the object was taken. / 2 if it was untakeable. / 3 if it wasn't taken because the player couldn't carry it. TAKESUB: SKIP IF R (VAR0)O EQ PLAYER / Can't take himself! SKIP2 UNLESS P NOTAKE (VAR0)O / Is it untakeable? LOAD V var4 I 2 RETURN SKIP3 IF R (VAR0)O EQ TURNIP SKIP2 IF R (VAR0)O EQ GOAT SKIP IF R (VAR0)O EQ WOLF GO TAKEXX SKIP2 UNLESS E (PLAYER)D LOAD V VAR4 I 3 RETURN SKIP2 UNLESS R (VAR0)O EQ WOLF LOAD V WOLFCT I 50 PRINT WOLFBITE GO TAKEYY TAKEXX: LOAD V var4 V STRENGTH / Check STRENGTH SUB V var4 V OBJHELD / against OBJHELD. SKIP2 IF V var4 GT 0 LOAD V var4 I 3 RETURN TAKEYY: MOVE (VAR0)O WITH TO PLAYER / Move the object. ADD V OBJHELD I 1 / Update OBJHELD. LOAD V var4 I 1 RETURN / Main TAKE program. TAKEPROG: / Command decoding section. SKIP IF M W2EX / Is it "TAKE"? GO TAKEFIRST SKIP UNLESS M W2SP ALLSPEC / Is it "TAKE ALL"? GO TAKEALL SKIP UNLESS M W2SP INVSPEC / Is it "TAKE INVENTORY"? GO INVPROG SKIP UNLESS M W2SP WATERSPEC GO FILLBOT SKIP IF M W2OB / Must be "TAKE object". RETURN RETRY NONE CANT / Induce "I don't understand / that!" if not. / Now check it's OK to take the given object. SKIP IF R (PLAYER)R EQ ()R / In the same room? PRINTRET DONTSEE SKIP UNLESS R ()O EQ DUMB GO LIFTDUMB / Entry point for Magic Take command. MTPROG: SKIP UNLESS R PLAYER EQ ()U / Already holding it? PRINTRET ALRHELD RESOLVE VAR0 ()O / Now use TAKESUB to take it. SKIP2 UNLESS R ()O EQ SCARECROW SKIP UNLESS P NOTAKE SCARECROW GO DIESCARE GOSUB TAKESUB SKIP UNLESS V var4 EQ 2 / Untakeable? PRINTRET CANTTAKE SKIP UNLESS V var4 EQ 3 / Hands full? PRINTRET HANDSFULL PRINTRET OKMESS / Command was "TAKE". Try to take the first object in the room. TAKEFIRST: RESOLVE VAR0 (PLAYER)R / Find first object in room. RESOLVE VAR0 (VAR0)O TAKEF1: SKIP UNLESS V VAR0 EQ 0 / Does object exist? PRINTRET NOTHNGHERE GOSUB TAKESUB / Try taking it. SKIP UNLESS V var4 EQ 1 / Successful? PRINTRET OKMESS SKIP UNLESS V var4 EQ 3 / Hands full? PRINTRET HANDSFULL / This object wasn't takeable. Try the next object in the room. ADD V VAR0 I 1536 / Modify reference to point to / next object in room. RESOLVE VAR0 (VAR0)O / Then resolve it. GO TAKEF1 / And try to take the object. / Command was "TAKE ALL". Try taking each object in the room. VAR3 / keeps track of the number of objects taken. TAKEALL: LOAD V VAR3 I 0 / Now we have a loop to try each object in turn. var5 always contains / a reference to the next object to be tried. RESOLVE VAR0 (PLAYER)R / Find first object in room. RESOLVE VAR0 (VAR0)O / N.B. This object always exists, as the player is an object in the room. TAKEA1: LOAD V var5 V VAR0 / Find next object from this one. ADD V var5 I 1536 RESOLVE var5 (var5)O GOSUB TAKESUB / Try taking this object. SKIP2 UNLESS V var4 EQ 3 / Hands full? PRINT HANDSF2 PRINTRET TOOKOBJ2 VAR3 SKIP UNLESS V var4 EQ 1 / Was object taken? ADD V VAR3 I 1 LOAD V VAR0 V var5 / Loop back for next object, SKIP IF V VAR0 EQ 0 / if it exists. GO TAKEA1 PRINTRET TOOKOBJ1 VAR3 TERSEPROG: LOAD V TERSEVAR I 0 PRINTRET TERSE0MESS STANDARDPROG: LOAD V TERSEVAR I 1 PRINTRET TERSE1MESS VERBOSEPROG: LOAD V TERSEVAR I 2 PRINTRET TERSE2MESS THROWPROG: SKIP UNLESS M W2SP WATERSPEC GO THROWATER SKIP UNLESS M W2SP WINESPEC GO THROWINE SKIP IF M W2OB RETURN RETRY NONE CANT SKIP IF H ()O PLAYER PRINTRET NOTHELD SKIP IF R ()O EQ WOLF SKIP UNLESS R ()O EQ GOAT PRINTRET CANTDO SUB V OBJHELD I 1 MOVE ()O WITH TO (PLAYER)R SKIP2 UNLESS R ()O EQ SNAKE SKIP UNLESS R (PLAYER)R EQ ZOLARM GO THROWSNAKE SKIP2 UNLESS R ()O EQ STRAW SKIP UNLESS R (PLAYER)R EQ (HORSE)R GO FEDGG SKIP UNLESS R ()O EQ BELT LOAD S ()O I 0 SKIP4 IF R ()O EQ SUNGLASS SKIP3 IF R ()O EQ BADGE SKIP2 IF R ()O EQ PENDANT SKIP IF R ()O EQ HELMET SKIP UNLESS R ()O EQ RING LOAD S ()O I 0 SKIP UNLESS R (PLAYER)R EQ LANDY2 GO THROWASH SKIP4 UNLESS R (PLAYER)R EQ (WELL)R MOVE ()O WITH TO WELLBASE SKIP UNLESS P TREASURE ()O LOAD S WELLBASE I 1 PRINTRET THROWELL SKIP2 UNLESS R (PLAYER)R EQ HIPRM2 MOVE ()O WITH TO RNULL PRINTRET LOSEOBJ SKIP2 UNLESS R (PLAYER)R EQ STREAM MOVE ()O WITH TO RNULL PRINTRET STREAMLOST SKIP IF R (PLAYER)R EQ LAKE1 SKIP2 UNLESS R (PLAYER)R EQ LAKE2 MOVE ()O WITH TO RNULL PRINTRET THROWLAKE SKIP UNLESS R (PLAYER)R EQ WEBROOM GO THROWEB PRINTRET OKMESS THROWASH: MOVE ()O WITH TO RNULL SKIP IF R ()O EQ PHOENIX PRINTRET ASHOBJ LOAD V VAR0 R 4 ADD V VAR0 I 1 LOAD V PHXVAR V VAR0 PRINTRET ASHPOX VAR0 THROWATER: SKIP IF H BOTTLE PLAYER PRINTRET NOTHELD SKIP IF S BOTTLE EQ 1 PRINTRET NOTHELD LOAD S BOTTLE I 0 SKIP IF R (PLAYER)R EQ (WIZARD)R PRINTRET POUR21 MOVE WIZARD WITH DESTROY PRINTRET WIZQUENCH THROWEB: SKIP IF R (WEB)R EQ (PLAYER)R PRINTRET OKMESS SKIP UNLESS R ()O EQ LAMP SKIP IF S LAMP EQ 1 PRINTRET OKMESS MOVE WEB WITH DESTROY PRINT WHOOSHWEB RETURN LOOK THROWINE: SKIP IF H BOTTLE PLAYER PRINTRET NOTHELD SKIP IF S BOTTLE EQ 2 PRINTRET NOTHELD LOAD S BOTTLE I 0 SKIP IF R (PLAYER)R EQ (WIZARD)R PRINTRET POUR22 MOVE WIZARD WITH DESTROY PRINTRET WIZQUENCH THROWSNAKE: LOAD S SNAKE I 1 LOAD S GORGON I 1 SET NOTAKE SNAKE PRINTRET SNAKEGRAB TIDUSPROG: LOAD V VAR0 I 4 GO AAMTZ TOOPROG: LOAD V VAR0 I 3 GO MIRPROG TOUTMOVE: LOAD V VAR0 I 0 ADD V VAR0 V NTOUT ADD V VAR0 V NETOUT ADD V VAR0 V ETOUT ADD V VAR0 V SETOUT ADD V VAR0 V STOUT ADD V VAR0 V SWTOUT ADD V VAR0 V WTOUT ADD V VAR0 V NWTOUT ADD V VAR0 V UTOUT ADD V VAR0 V DTOUT SKIP2 UNLESS V VAR0 EQ 10 LOAD V TOUTCT I 0 RETURN LOAD V VAR0 R 2 SKIP2 UNLESS V VAR0 EQ 0 PRINT LOOPMESS RETURN ABORT SKIP2 UNLESS V VAR0 EQ 1 MOVE PLAYER WITH DIR G RETURN ABORT MOVE PLAYER WITH DIR M RETURN ABORT TOUTNPROG: LOAD V NTOUT I 1 GO TOUTMOVE TOUTNEPROG: LOAD V NETOUT I 1 GO TOUTMOVE TOUTEPROG: LOAD V ETOUT I 1 GO TOUTMOVE TOUTSEPROG: LOAD V SETOUT I 1 GO TOUTMOVE TOUTSPROG: LOAD V STOUT I 1 GO TOUTMOVE TOUTSWPROG: LOAD V SWTOUT I 1 GO TOUTMOVE TOUTWPROG: LOAD V WTOUT I 1 GO TOUTMOVE TOUTNWPROG: LOAD V NWTOUT I 1 GO TOUTMOVE TOUTUPROG: LOAD V UTOUT I 1 GO TOUTMOVE TOUTDPROG: LOAD V DTOUT I 1 GO TOUTMOVE TRAPPROG: SKIP UNLESS S BARN EQ 2 RETURN PRINT NOWAYMESS RETURN ABORT TREEPROG: SKIP UNLESS S SWORD EQ 3 LOAD S SWORD I 4 RETURN TRINPR: PRINT IMPRECISE RETURN ABORT TRINREQ: ASK WHICHEXIT LOAD V VAR0 I 0 SKIP UNLESS M W2SP ASPEC LOAD V VAR0 I 1 SKIP UNLESS M W2SP BSPEC LOAD V VAR0 I 2 SKIP UNLESS M W2SP CSPEC LOAD V VAR0 I 3 SKIP UNLESS M W2SP DSPEC LOAD V VAR0 I 4 SKIP UNLESS M W2SP ESPEC LOAD V VAR0 I 5 SKIP UNLESS M W2SP FSPEC LOAD V VAR0 I 6 SKIP UNLESS M W2SP GSPEC LOAD V VAR0 I 7 SKIP UNLESS M W2SP HSPEC LOAD V VAR0 I 8 SKIP UNLESS M W2SP ISPEC LOAD V VAR0 I 9 SKIP UNLESS M W2SP JSPEC LOAD V VAR0 I 10 SKIP UNLESS M W2SP KSPEC LOAD V VAR0 I 11 SKIP UNLESS M W2SP LSPEC LOAD V VAR0 I 12 SKIP UNLESS M W2SP MSPEC LOAD V VAR0 I 13 SKIP UNLESS M W2SP NSPEC LOAD V VAR0 I 14 SKIP UNLESS M W2SP OSPEC LOAD V VAR0 I 15 SKIP UNLESS M W2SP PSPEC LOAD V VAR0 I 16 SKIP UNLESS M W2SP QSPEC LOAD V VAR0 I 17 SKIP UNLESS M W2SP RSPEC LOAD V VAR0 I 18 SKIP UNLESS M W2SP SSPEC LOAD V VAR0 I 19 SKIP UNLESS M W2SP TSPEC LOAD V VAR0 I 20 SKIP UNLESS M W2SP USPEC LOAD V VAR0 I 21 SKIP UNLESS M W2SP VSPEC LOAD V VAR0 I 22 SKIP UNLESS M W2SP WSPEC LOAD V VAR0 I 23 SKIP UNLESS M W2SP XSPEC LOAD V VAR0 I 24 SKIP UNLESS M W2SP YSPEC LOAD V VAR0 I 25 SKIP UNLESS M W2SP ZSPEC LOAD V VAR0 I 26 SKIP UNLESS V VAR0 EQ 0 GO TRINREQ SUB V VAR0 S O26 SKIP2 IF V VAR0 EQ 0 PRINT TROLLDIE GO DIEPROG PRINT SAGEVISIT MOVE PLAYER WITH TO BACKS MOVE GOAT WITH TO BACKS RETURN UPHOLEPROG: SKIP UNLESS R (CHAIR)R EQ HOLEROOM SKIP2 UNLESS H CHAIR PLAYER PRINT HOLEHIGH RETURN ABORT PRINTRET CHAIRJUMP WAKEPROG: SKIP IF R (PLAYER)R EQ ()R PRINTRET DONTSEE SKIP IF R ()O EQ SNAKE PRINTRET NOSLEEP PRINTRET NOTWAKE WARMOVE: SUB V VAR0 S SIGN MOVE PLAYER WITH TO FORK3 ADD V WARVAR I 1 SKIP3 UNLESS E (WARSAFE)O LOAD V var4 R 1 SKIP UNLESS V var4 EQ 0 MOVE (WARSAFE)O WITH TO WARSAFE2 WARLOOP: SKIP2 UNLESS E (WARREN)O MOVE (WARREN)O WITH TO WARSAFE GO WARLOOP SKIP3 UNLESS E (WARSAFE2)O LOAD V var4 R 1 SKIP UNLESS V var4 EQ 0 MOVE (WARSAFE2)O WITH TO WARREN SKIP2 IF V VAR0 EQ 0 LOAD S SIGN I 0 RETURN ABORT MOVE PLAYER WITH TO WARREN SKIP3 UNLESS V WARVAR EQ 8 MOVE PLAYER WITH TO WAREND LOAD S SIGN I 0 RETURN ABORT LOAD S SIGN R 7 ADD S SIGN I 1 RETURN ABORT WARPROG: LOAD V WARVAR I 0 LOAD S SIGN R 7 ADD S SIGN I 1 RETURN WASHPROG: SKIP IF R ()R EQ (PLAYER)R PRINTRET DONTSEE PRINTRET TOOCOMPLEX WAVEARMS: SKIP UNLESS E (PLAYER)D PRINTRET BADWAVE SKIP IF R (PLAYER)R EQ (SPROUT)R PRINTRET GOODWAVE MOVE SPROUT WITH DESTROY UNSET NOTAKE BOOK UNSET NOTAKE CHAIR SET CLIMBABLE CHAIR PRINTRET TURNSPROUT WAVEPROG: SKIP IF M W2EX GO WAVEARMS SKIP UNLESS M W2SP ARMSPEC GO WAVEARMS SKIP IF M W2OB RETURN RETRY NONE CANT SKIP IF H ()O PLAYER PRINTRET NOTHELD PRINTRET NHAPPENS WEARGLASS: SKIP IF H ()O PLAYER PRINTRET NOTHELD SKIP UNLESS S ()O EQ 1 PRINTRET ALRWORN LOAD S ()O I 1 SKIP2 IF R (PLAYER)R EQ REL4 SKIP IF R (PLAYER)R EQ REL2 PRINTRET OKMESS PRINT OKMESS LOAD S (PLAYER)R I 1 RETURN LOOK WEARHELM: SKIP IF H ()O PLAYER PRINTRET NOTHELD SKIP UNLESS S ()O EQ 1 PRINTRET ALRWORN LOAD S ()O I 1 PRINTRET OKMESS WEARPROG: SKIP UNLESS R ()O EQ SUNGLASS GO WEARGLASS SKIP3 IF R ()O EQ BELT SKIP2 IF R ()O EQ BADGE SKIP IF R ()O EQ PENDANT SKIP UNLESS R ()O EQ HELMET GO WEARHELM SKIP IF R ()O EQ RING PRINTRET CANTDO SKIP IF H RING PLAYER PRINTRET NOTHELD SKIP UNLESS S RING EQ 1 PRINTRET ALRWORN SKIP2 IF S LITROOM EQ 0 LOAD S RING I 1 PRINTRET OKMESS SKIP2 IF R (PLAYER)R EQ LITROOM PRINT SHADKILL GO DIEPROG LOAD S RING I 1 LOAD S LITROOM I 1 PRINTRET SHADFLEE WEBPROG: SKIP IF R (WEB)R EQ WEBROOM RETURN PRINT NOWAYMESS RETURN ABORT WEEBLEPROG: MOVE PLAYER WITH TO PRETEMPLE LOAD S ALTAR I 1 MOVE ORB WITH TO PRETEMPLE MOVE SHIELD WITH TO PRETEMPLE MOVE HELMET WITH TO PRETEMPLE MOVE SWORD WITH TO PRETEMPLE LOAD S SWORD R 2 UNSET NOTAKE SWORD MOVE LAMP WITH TO PRETEMPLE PRINTRET OKMESS WEEPPROG: PRINTRET NOCONVINCE WELCPROG: PRINT HELLO SKIP UNLESS P VISITED FORT RETURN ASKANY GIVENAME TEXT SECONDWORD WITH SKIP UNLESS Q INSTRUC PRINTRET INSTRMESS RETURN WISHPROG: SKIP IF R (PLAYER)R EQ WELLROOM PRINTRET NHAPPENS SKIP IF S WELLBASE EQ 1 PRINTRET NOFREEWISH SKIP IF S WELL EQ 0 PRINTRET NOWISHES PRINT WISHMESS WISH2: ASK WHATWISH SKIP2 UNLESS M W2SP GSPEC / feather fall LOAD S WELL I 1 PRINTRET GRANTED SKIP2 UNLESS M W2SP DSPEC / water walking LOAD S WELL I 2 PRINTRET GRANTED SKIP2 UNLESS M W2SP CSPEC / pass without trace LOAD S WELL I 3 PRINTRET GRANTED SKIP2 UNLESS M W2SP ESPEC / accordion LOAD S WELL I 4 PRINTRET GRANTED SKIP3 UNLESS M W2SP BSPEC / gold plate LOAD S WELL I 5 MOVE PLATE WITH TO WELLROOM PRINTRET GRANTED SKIP3 UNLESS M W2SP FSPEC / tongues LOAD S WELL I 6 LOAD S SPROUT I 1 PRINTRET GRANTED SKIP IF M W2SP ASPEC / wine GO WISH3 LOAD S WELL I 7 SKIP IF R (BOTTLE)R EQ (PLAYER)R MOVE BOTTLE WITH TO (PLAYER)R MOVE BACCHUS WITH DESTROY LOAD S BOTTLE I 2 PRINTRET GRANTED WISH3: GO WISH2 WNPROG: LOAD V VAR0 I 1 GO WARMOVE WNEPROG: LOAD V VAR0 I 2 GO WARMOVE WEPROG: LOAD V VAR0 I 3 GO WARMOVE WSEPROG: LOAD V VAR0 I 4 GO WARMOVE WSPROG: LOAD V VAR0 I 5 GO WARMOVE WSWPROG: LOAD V VAR0 I 6 GO WARMOVE WWPROG: LOAD V VAR0 I 7 GO WARMOVE WNWPROG: LOAD V VAR0 I 8 GO WARMOVE ZIMPROG: LOAD V VAR0 I 5 GO AAMTZ ZOLPROG: SKIP2 IF S GORGON EQ 1 PRINT PETRIFY2 GO DIEPROG PRINTRET PASSZOLA / / WORDS SECTION / ------------- / !WORDS A NONE CANT ASPEC ACCORDION OBJECT CANT ACCORDION ACHU OBEY ACHUPROG CANT MAGICSPEC ADVERT OBJECT CANT ADVERT ALL NONE CANT ALLSPEC ALTAR OBJECT CANT ALTAR AMBER OBJECT CANT AMBER AMIXAM OBEY AMIPROG CANT MAGICSPEC AMUSE OBEY CHEERPROG REQUEST OBJ ANNOK OBEY ANNOKPROG CANT MAGICSPEC ARAC PRINT ARACMESS CANT ARMS NONE CANT ARMSPEC ATOM OBEY ATOPROG CANT MAGICSPEC ATTACK OBEY KILLPROG REQUEST OBJ AWAKE OBEY WAKEPROG REQUEST OBJ BACCHUS OBJECT CANT BACCHUS BACK RETURN CANT B BSPEC 1 BADGE OBJECT CANT BADGE BALE OBJECT CANT STRAW BANDAGE OBEY BANDPROG MAY OBJ DUSTER BARN MOVE CANT BARN BARREL OBJECT CANT BARREL BATHE OBEY SWIMPROG CANT BEEF OBJECT CANT BEEF BELL OBJECT CANT BELL BELLS OBJECT CANT DUMB BELT OBJECT CANT BELT BLOCK OBJECT CANT AMBER BLOODSTONE OBJECT CANT BLOODSTONE BONE OBJECT CANT BONE BOOK OBJECT CANT BOOK BOTTLE OBJECT CANT BOTTLE BOULDER OBJECT CANT ROCKS BOX OBJECT CANT POSTBOX BREAK OBEY BREAKPROG REQUEST OBJ BRIEF OBEY TERSEPROG CANT BRONZE OBJECT CANT TOKEN BROOM OBJECT CANT BROOM BRUSH OBEY BRUSHPROG MAY SPECIAL BROOM BULLSEYE OBEY LAMPPROG MAY REC LAMP BURN OBEY BURNPROG REQUEST OBJ BUST OBJECT CANT BUST C NONE CANT CSPEC CABARWIS PRINT CABARMESS CANT CABBAGE OBJECT CANT CABBAGE CADOC PRINT NHAPPENS CANT MONK1 CALL OBEY SAYPROG REQUEST ANY CANDLESTICK OBJECT CANT CANDLESTICK CARMEL NONE CANT SPROUT CHAIR OBJECT CANT CHAIR CHEER OBEY CHEERPROG REQUEST OBJ CLEAN OBEY CLEANPROG MUST OBJ CLIMB OBEY CLIMBPROG MAY REC CLOSE OBEY CLOSEPROG REQUEST REC CLOTH OBJECT CANT DUSTER COIN OBJECT CANT COIN COLANDER OBJECT CANT COLANDER COLUMN OBJECT CANT COLUMN CRY OBEY WEEPPROG CANT CRYSTAL OBJECT CANT FIGURINE CURE OBEY CHEERPROG REQUEST OBJ CUT OBEY CUTPROG REQUEST OBJ DEMIGOD OBJECT CANT BACCHUS DEMNOS OBEY DEMPROG CANT DIG OBEY DIGPROG CANT DOFF OBEY REMOVEPROG REQUEST OBJ DON OBEY WEARPROG REQUEST OBJ DOOR OBJECT CANT DOOR DOORSPEC DOWN MOVE CANT D DSPEC 1 DRINK OBEY DRINKPROG REQUEST SPECIAL DROP OBEY DROPPROG MAY REC DUMBBELL OBJECT CANT DUMB 4 DUMBELL OBJECT CANT DUMB DUST OBEY DUSTPROG REQUEST REC DUSTER OBJECT CANT DUSTER DWARF OBJECT CANT FLINN EAST MOVE CANT E ESPEC 1 EAT OBEY EATPROG REQUEST OBJ EGG OBJECT CANT EGG EIGHTY OBEY EIGHTYPROG MAY SPECIAL EIGHTSPEC ELECTRUM OBJECT CANT COIN EMERALD OBJECT CANT EMERALD EMPTY OBEY EMPTYPROG REQUEST OBJ ENTERTAIN OBEY CHEERPROG REQUEST OBJ EXIT OBEY EXITPROG CANT F NONE CANT FSPEC FAIRSERVICE PRINT FAIRMESS CANT FAIRSPEC FEED OBEY FEEDPROG REQUEST OBJ FIFTY OBEY FIFTYPROG MAY SPECIAL FIGHT OBEY KILLPROG REQUEST OBJ FIGURINE OBJECT CANT FIGURINE FILL OBEY FILLPROG REQUEST OBJ FISH OBJECT CANT FISH FIVE NONE CANT FIVESPEC FLOOR NONE CANT FLOORSPEC FLY OBEY FLYPROG MAY REC FOG OBJECT CANT FOG FORTRESS MOVE CANT FORT 4 FORTY OBEY FORTYPROG MAY SPECIAL FOUNTAIN OBJECT CANT FOUNTAIN FOUR NONE CANT FOURSPEC FYLEET MOVE CANT FORT G NONE CANT GSPEC GARGOYLE OBJECT CANT GARGOYLE GATE OBJECT CANT GATE GCARDSOUT PRINT NHAPPENS CANT GCSPEC GET OBEY TAKEPROG MAY REC GHOST OBJECT CANT SPROUT GIANT OBJECT CANT GIANT GLASS OBJECT CANT SUNGLASS GNOME OBJECT CANT GNOME GO IGNORE REQUEST DIR GOAT OBJECT CANT GOAT GOLD OBJECT CANT NOBLE GORGON OBJECT CANT GORGON GREEN OBJECT CANT KNIGHT GROUND NONE CANT FLOORSPEC GUDGEONS OBEY GUDPROG CANT MAGICSPEC H NONE CANT HSPEC HALGAMIR PRINT HALGMESS CANT HALL MOVE CANT HALL HANDS NONE CANT ARMSPEC HAY OBJECT CANT STRAW HEAD OBJECT CANT BUST HEAL OBEY CHEERPROG REQUEST OBJ HEART OBJECT CANT HEART HELMET OBJECT CANT HELMET 4 HELP OBEY HELPPROG CANT HILDEBRAND PRINT HILDMESS CANT HIPPOGRIFF OBJECT CANT HIPPOGRIFF HORSE OBJECT CANT HORSE HTOMMAM PRINT NHAPPENS CANT MAGICSPEC HTOOT PRINT NHAPPENS CANT MAGICSPEC HUMPTY OBJECT CANT HUMDUM HURGENPOR OBEY HURGPROG CANT I NONE CANT ISPEC ICON OBJECT CANT IKON IDOL OBJECT CANT IDOL IKON OBJECT CANT IKON INSERT OBEY PESTPROG REQUEST OBJ INVENTORY OBEY INVPROG CANT INVSPEC 3 IVORY OBJECT CANT TUSK J NONE CANT JSPEC JACINTH OBJECT CANT JACINTH JADE OBJECT CANT EGG JUMP OBEY JUMPPROG MAY DIR K NONE CANT KSPEC KARGELERT PRINT KARGMESS CANT 4 KILL OBEY KILLPROG REQUEST OBJ KILLWORTH OBJECT CANT SWORD KNEEL OBEY KNEELPROG MAY DIR KNIGHT OBJECT CANT KNIGHT L NONE CANT LSPEC LADY OBJECT CANT HELEN LAMENT OBEY WEEPPROG CANT LAMP OBEY LAMPPROG MAY REC LAMP LANTERN OBEY LAMPPROG MAY REC LAMP LARDER MOVE CANT LARDER LIBRARY MOVE CANT LIBRARY LIFT OBEY LIFTPROG REQUEST OBJ LIGHT OBEY LIGHTPROG REQUEST OBJ LOOK OBEY LOOKPROG CANT M NONE CANT MSPEC MACHINE OBJECT CANT SLOTULE MAGNUS OBJECT CANT ONULL / never there MAMMOTH OBEY MAMPROG CANT MAGICSPEC MAMOV OBEY MMPROG REQUEST OBJ MARA OBEY MARAPROG CANT MAGICSPEC MARCEL OBEY MARCPROG MAY SPECIAL MARE OBJECT CANT HORSE MAT OBJECT CANT MAT MATAK OBEY MTPROG REQUEST OBJ MAXIMA PRINT NHAPPENS CANT MAGICSPEC MIRROR OBJECT CANT MIRROR MKINFO PRINT NHAPPENS CANT MKSPEC MNEM MOVE CANT MNEMRM MONGOOSE OBEY MONPROG CANT MAGICSPEC MOTA PRINT NHAPPENS CANT MAGICSPEC MOURN OBEY MOURNPROG MAY SPECIAL MOVE IGNORE REQUEST DIR MUSIC OBJECT CANT MUSIC NE MOVE CANT NE NIGHTMARE OBJECT CANT HORSE NINE NONE CANT NINESPEC NINETY OBEY NINETYPROG MAY SPECIAL NOBLE OBJECT CANT NOBLE NORMAL OBEY STANDARDPROG CANT NORTH MOVE CANT N NSPEC 1 NOTE OBJECT CANT NOTE NW MOVE CANT NW O NONE CANT OSPEC ODULFORG OBJECT CANT GNOME OFF OBEY OFFPROG CANT ONOFFSPEC OMELETTE OBJECT CANT OMLET ON OBEY ONPROG CANT ONOFFSPEC ONE NONE CANT ONESPEC ONION OBJECT CANT ONION ONYX OBJECT CANT ONYX OOTTAT OBEY OOTPROG CANT MAGICSPEC OPAL OBJECT CANT OPAL OPEN OBEY OPENPROG REQUEST REC ORB OBJECT CANT ORB ORIENTAL OBJECT CANT TOPAZ OTAMOT OBEY OTAPROG CANT MAGICSPEC P NONE CANT PSPEC PANCRAS PRINT SAINTMESS CANT PANE OBJECT CANT PANE PAPER OBJECT CANT MUSIC PARROT OBJECT CANT PARROT PAY OBEY PESTPROG REQUEST OBJ PDSREPAIR PRINT NHAPPENS CANT PDSPEC PEACH OBEY PEACHPROG CANT MAGICSPEC PENDANT OBJECT CANT PENDANT PHOENIX OBJECT CANT PHOENIX PHX OBJECT CANT PHOENIX PIANO OBJECT CANT ACCORDION PIECE OBJECT CANT PIECE PLANT OBJECT CANT PLANT PLATE OBJECT CANT PLATE PLATINUM OBJECT CANT BUST PLAY OBEY PLAYPROG REQUEST OBJ POLYCARP PRINT NHAPPENS CANT MONK3 PORTRAIT OBJECT CANT PORTRAIT POST OBEY PESTPROG REQUEST OBJ POSTBOX OBJECT CANT POSTBOX POSTER OBJECT CANT ADVERT PRAY OBEY PRAYPROG CANT PROUST PRINT ANAGMESS CANT PROUSTSPEC PULL OBEY PULLPROG REQUEST OBJ PUSH OBEY PUSHPROG REQUEST OBJ QUIT OBEY QUITPROG CANT QSPEC 1 R NONE CANT RSPEC READ OBEY READPROG REQUEST OBJ REMOVE OBEY REMOVEPROG REQUEST OBJ RETURN RETURN CANT RIDE OBEY RIDEPROG REQUEST OBJ RING OBEY RINGPROG MAY OBJ RING ROCKS OBJECT CANT ROCKS 4 ROOM NONE CANT FLOORSPEC ROPE OBJECT CANT ROPE ROSEBLADE OBJECT CANT SWORD ROSES OBJECT CANT PLANT 4 ROUSE OBEY WAKEPROG REQUEST OBJ RUB OBEY DUSTPROG REQUEST REC RUBY OBJECT CANT RUBY RUNSETJD PRINT NHAPPENS CANT RUSPEC SAGE OBJECT CANT ONULL / never there SAPPHIRE OBJECT CANT SAPPHIRE SAVE OBEY SAVEPROG CANT SAVEND OBEY SAVENDPROG CANT SAY OBEY SAYPROG REQUEST ANY SCARECROW OBJECT CANT SCARECROW SCEPTRE OBJECT CANT SCEPTRE SCORE OBEY SCOREPROG CANT SE MOVE CANT SE SEAT OBJECT CANT CHAIR SEVENTY OBEY SEVENTYPROG MAY SPECIAL SEVENSPEC SHAKE OBEY SHAKEPROG REQUEST OBJ SHEET OBJECT CANT ONULL SHIELD OBJECT CANT SHIELD SHOUT OBEY SAYPROG REQUEST ANY SHRINE MOVE CANT SHRINE SHUT OBEY CLOSEPROG REQUEST REC SIGN OBJECT CANT SIGN SILVER OBJECT CANT PIECE SIT OBEY SITPROG MAY SPECIAL SIX NONE CANT SIXSPEC SIXTY OBEY SIXTYPROG MAY SPECIAL SKELETON OBJECT CANT SPROUT SLOTMACHINE OBJECT CANT SLOTULE 4 SNAKE OBJECT CANT SNAKE SOB OBEY WEEPPROG CANT SOUTH MOVE CANT S SSPEC 1 SPLEEN OBJECT CANT SPLEEN SPOOK OBJECT CANT HELEN SPROUT OBJECT CANT SPROUT STAFF OBJECT CANT STAFF STANDARD OBEY STANDARDPROG CANT STATUE OBJECT CANT STATUE STEW OBJECT CANT ONULL STICK OBJECT CANT STAFF STONE OBJECT CANT STONE STOP OBEY QUITPROG CANT STRAW OBJECT CANT STRAW STREAM MOVE CANT STREAM SUET OBJECT CANT ONULL SUNGLASS OBJECT CANT SUNGLASS SW MOVE CANT SW SWEEP OBEY SWEEPROG MAY SPECIAL SWIM OBEY SWIMPROG CANT SWORD OBJECT CANT SWORD SYMBOL OBJECT CANT SYMBOL T NONE CANT TSPEC TAKE OBEY TAKEPROG MAY REC TANAHIL PRINT TANMESS CANT TAPESTRY OBJECT CANT TAPESTRY TATTOO PRINT NHAPPENS CANT MAGICSPEC TEMPLE MOVE CANT TEMPLE TERSE OBEY TERSEPROG CANT THINK PRINT OKMESS CANT THIRTY OBEY THIRTYPROG MAY SPECIAL THORLAC PRINT NHAPPENS CANT MONK2 THORN OBJECT CANT PLANT THREE NONE CANT THREESPEC THROW OBEY THROWPROG REQUEST REC TIDUS OBEY TIDUSPROG CANT MAGICSPEC TLSEXTSCAN PRINT NHAPPENS CANT TLSPEC TOAD OBJECT CANT WIZARD / indistinguishable TOE OBJECT CANT TOE TOKEN OBJECT CANT TOKEN TOMATO PRINT NHAPPENS CANT MAGICSPEC TOOTH OBEY TOOPROG CANT MAGICSPEC TOPAZ OBJECT CANT TOPAZ TRAPDOOR OBJECT CANT TRAPSPEC 4 TREES OBJECT CANT TREESPEC 4 TROLL OBJECT CANT ONULL TROPEZ PRINT SAINTMESS CANT TUG OBEY PULLPROG REQUEST OBJ TURNIP OBJECT CANT TURNIP TUSK OBJECT CANT TUSK TWENTY OBEY TWENTYPROG MAY SPECIAL TWO NONE CANT TWOSPEC UP MOVE CANT U USPEC 1 V NONE CANT VSPEC VALENTINE PRINT SAINTMESS CANT VERBOSE OBEY VERBOSEPROG CANT VITUS PRINT SAINTMESS CANT WAIL OBEY WEEPPROG CANT WAIT PRINT OKMESS CANT WAKE OBEY WAKEPROG REQUEST OBJ WAND OBJECT CANT WAND WASH OBEY WASHPROG REQUEST OBJ WATER OBJECT CANT WATERSPEC WAVE OBEY WAVEPROG MAY REC WEAR OBEY WEARPROG REQUEST OBJ WEB OBJECT CANT WEB / WEEBLE OBEY WEEBLEPROG CANT WEED OBJECT CANT PLANT WEEP OBEY WEEPPROG CANT WEIGHT OBJECT CANT DUMB WELL OBJECT CANT WELL WEST MOVE CANT W WSPEC 1 WHITTLE OBJECT CANT SWORD WINDOW OBJECT CANT PANE WINE OBJECT CANT WINESPEC WIPE OBEY DUSTPROG REQUEST REC WISH OBEY WISHPROG CANT WIZARD OBJECT CANT WIZARD WOLF OBJECT CANT WOLF WRITER OBJECT CANT SPROUT X NONE CANT XSPEC Y NONE CANT YSPEC Z NONE CANT ZSPEC ZIM OBEY ZIMPROG CANT MAGICSPEC ZOLA OBJECT CANT GORGON ZYGMUND PRINT NOZYG CANT / / MESSAGES SECTION / ---------------- / !MESSAGE ACCORDM1 There is a piano-accordion here. !MESSAGE ACCORDM2 A piano-accordion. !MESSAGE ADVERTM1 A poster is attached to the wall here. !MESSAGE AMBERM1 There is a large block of amber here! !MESSAGE AMBERM2 A block of amber. !MESSAGE ASNET1 You are in a small sanctuary, whose only exit is blocked by fallen rocks. On the floor is a square marked as follows: --- --- --- | Y | 1 | G | ---+---+--- | 3 | 5 | 7 | ---+---+--- | B | 9 | R | ---+---+--- Here the Y,G,B and R denote pictures of dragons (yellow, green, blue and red) and the numbers are large and painted in white. A voice intones repeatedly the following verse: Enchanted square, dweomered well: Ye need two words to 'scape this cell. !SWITCH ASNEX0 ASNEX1 ASNEX2 ASNEX3 !MESSAGE ASNEX0 A number now I ask of you: First digit red, the second blue. !MESSAGE ASNEX1 A number now I ask of you: First digit green, the second blue. !MESSAGE ASNEX2 To leave alive, a number's said: First digit green, the second red. !MESSAGE ASNEX3 To leave alive, a number's said: First digit blue, the second red. !MESSAGE AVENM1 You are in a long east-west avenue, surrounded by thick hedges. To the east it descends into a tunnel, leading to the barn. !MESSAGE AVENM2 You are in the avenue. !MESSAGE BACCH1 There is some kind of demi-god here, who strongly resembles the Bacchus of legend. He is sitting on the floor, looking very depressed. Even your sunny smiles are not enough to cheer him up. !MESSAGE BACKSM1 You are in a dingy street behind the imposing court buildings. The only exit is north, since the way south is blocked off by forbidding-looking buildings and walls. !MESSAGE BACKSM2 You are at the southern end of the dingy street. !MESSAGE BACRM1 You are in a large room which looks as though somebody has held a wild party here recently. Various debris lies scattered round about, none of it remotely useful. !MESSAGE BACRM2 You are in the room where the wild party was held. !MESSAGE BADGEM1 There is a tin badge here, bearing the words "Hippogriff Rider". !MESSAGE BADGEM2 !SWITCH BADGEM20 BADGEM21 !MESSAGE BADGEM20 A tin badge (carried). !MESSAGE BADGEM21 A tin badge (worn). !MESSAGE BARNM1 You are in a room, which, although underground, strongly resembles a barn. The roof, floor and walls are all made of wood. There are passages out to east and west and steps up to a hayloft above you. !SWITCH BARN00 BARN01 BARN02 !MESSAGE BARNM2 You are in the barn. !SWITCH MNULL BARN01 BARN02 !MESSAGE BARN00 The floor is covered with dust and the room smells very musty. !MESSAGE BARN01 In the floor there is a closed trapdoor. !MESSAGE BARN02 In the floor there is an open trapdoor. !MESSAGE BARRELM1 There is a huge barrel in the corner. !MESSAGE BEEFM1 There is a rather tired-looking piece of beef here. !MESSAGE BEEFM2 A piece of beef. !MESSAGE BELLRM1 You are in a large chamber with corridors leading out to the east and west. High above you there is an enormous bell. !MESSAGE BELLRM2 You are in the bellroom. !MESSAGE BELTM1 There is a jewelled belt here! !MESSAGE BELTM2 !SWITCH BELT20 BELT21 !MESSAGE BELT20 A jewelled belt. !MESSAGE BELT21 A jewelled belt (which you are wearing). !MESSAGE BIGRMM11 BUG GR1 !MESSAGE BIGRMM12 You move to the NW corner of the giant room. !MESSAGE BIGRMM21 You are standing in the middle of the northern wall of a huge square room. A passage leads off to the north here. !SWITCH BIGG1 !MESSAGE BIGRMM22 You are in the middle of the north wall of the giant room. A passage leads off to the north here. !MESSAGE BIGRMM31 You are standing in the northeastern corner of a huge square room. Two giants are standing in the room; in the northwest corner there is one dressed in blue; in the southwest corner, another dressed entirely in red. They are taking turns at hurling boulders about, and the ground is littered with rocks as a result of this. !SWITCH MNULL BIGWRD1 BIGWRD2 BIGWRD3 BIGWRD4 BIGWRD5 !MESSAGE BIGRMM32 You are in the northeast corner of the giant room. !SWITCH MNULL BIGWRD1 BIGWRD2 BIGWRD3 BIGWRD4 BIGWRD5 !MESSAGE BIGRMM41 BUG GR4 !MESSAGE BIGRMM42 You move to the middle of the west wall of the giant room. !MESSAGE BIGRMM51 You are standing in the centre of a huge square room. !SWITCH BIGG1 !MESSAGE BIGRMM52 You are in the centre of the giant room. !MESSAGE BIGRMM61 You are standing in the centre of the eastern wall of a huge square room. !SWITCH BIGG1 !MESSAGE BIGRMM62 You are in the centre of the east wall of the giant room. !MESSAGE BIGRMM71 BUG GR7 !MESSAGE BIGRMM72 You move to the SW corner of the giant room. BUG GR7 !MESSAGE BIGRMM81 You are in the centre of the southern wall of a huge square room. A passage leads off to the south here. !SWITCH BIGG1 !MESSAGE BIGRMM82 You are in the centre of the southern wall of the giant room. A passage leads off to the south here. !MESSAGE BIGRMM91 You are in the southeastern corner of a huge square room. !SWITCH BIGG1 !MESSAGE BIGRMM92 You are in the southeast corner of the giant room. !MESSAGE BIGG1 Two giants are standing in the room; in the northwest corner there is one dressed in blue; in the southwest corner, another dressed entirely in red. They are taking turns at hurling boulders about, and the ground is littered with rocks as a result of this. !MESSAGE BIGWRD1 On the wall is scratched the word ACHU. !MESSAGE BIGWRD2 On the wall is scratched the word ANNOK. !MESSAGE BIGWRD3 On the wall is scratched the word MARA. !MESSAGE BIGWRD4 On the wall is scratched the word TIDUS. !MESSAGE BIGWRD5 On the wall is scratched the word ZIM. !MESSAGE BLOODM1 Twinkling up at you is a wondrous bloodstone! !MESSAGE BLOODM2 A bloodstone. !MESSAGE BONEM1 There is a bone here, which clearly belonged to no ordinary dog, for it is inlaid with precious stones! !MESSAGE BONEM2 A jewelled bone. !MESSAGE BOOKM1 There is a large book here, whose cover bears the word 'DEMNOS'. !MESSAGE BOOKM2 A book entitled 'DEMNOS'. !MESSAGE BOTTM1 !SWITCH BOTTM10 BOTTM11 BOTTM12 !MESSAGE BOTTM10 There is an empty bottle here. !MESSAGE BOTTM11 There is a bottle of water here. !MESSAGE BOTTM12 There is a bottle of wine here. !MESSAGE BOTTM2 !SWITCH BOTTM20 BOTTM21 BOTTM22 !MESSAGE BOTTM20 An empty bottle. !MESSAGE BOTTM21 A bottle of water. !MESSAGE BOTTM22 A bottle of wine. !MESSAGE BROOMM1 There is a broom here. !MESSAGE BROOMM2 A broom. !MESSAGE BUSTM1 There is a platinum bust of the late King Hildebrand here! !MESSAGE BUSTM2 A platinum bust. !MESSAGE CABBAGM1 There is a rather dry cabbage here. !MESSAGE CABBAGM2 An old cabbage. !MESSAGE CANDM1 There is a silver candlestick here! !MESSAGE CANDM2 A silver candlestick. !MESSAGE CARYM1 You are in a maze of chambers, with exits to north, south, east and west. !MESSAGE CELLM1 You are in a secret cell under the floor of the barn. The only exit is up and back into the barn. !MESSAGE CELLM2 You are in the cell under the floor of the barn. !MESSAGE CHAIRM1 There is an antique chair here! !MESSAGE CHAIRM2 An antique chair. !MESSAGE CLEARM1 You are in a clearing in the forest. The birds sing, and the bees hum, no doubt discussing your adventuring prospects with each other. The ground appears to be newly-tilled. The fort lies to your east. !MESSAGE CLEARM2 You are in the forest clearing. !MESSAGE COINM1 There is an electrum coin here. !MESSAGE COINM2 An electrum coin. !MESSAGE COLANDM1 There is an iron colander here. !MESSAGE COLANDM2 A colander. !MESSAGE COLUMNM !SWITCH COLM0 COLM1 !MESSAGE COLM0 Guarding the east and west exits are pairs of stone columns. !MESSAGE COLM1 Guarding the north and south exits are pairs of stone columns. !MESSAGE CONCHM1 You are in a large elliptical room, whose only exit is to the east. At the western end there is an exceptionally large postbox, prominently labelled H.R. after the late king Hildebrand. The room is otherwise empty, which is somewhat surprising, for you can hear angelic choirs singing a voiceless chant over and over again ... !SWITCH CONCHM10 CONCHM11 CONCHM12 CONCHM13 !MESSAGE CONCHM2 You are in the large elliptical room with the postbox and the unending chant ... !SWITCH CONCHM10 CONCHM11 CONCHM12 CONCHM13 !MESSAGE CONCHM10 ... but the chant is now too cacophonous for you to be able to fathom out a tune from it. !MESSAGE CONCHM11 ||----GGG--------------------------|| || G G || ||---G--G--------------------------|| || G G || ||----G-------O--------------------|| || G G || ||--GGGGG--------------------------|| || GGG O || ||-G--G----------O--O--------------|| GG !MESSAGE CONCHM12 ||----GGG--------------------------|| || G G || ||---G--G-----------O--------------|| || G G || ||----G-------O--------------------|| || G G O || ||--GGGGG--------------O-----------|| || GGG || ||-G--G-------------------O--------|| GG !MESSAGE CONCHM13 ||----GGG--------------------------|| || G G || ||---G--G--------------------------|| || G G O || ||----G-------------O--O-----------|| || G G O O || ||--GGGGG--------------------O-----|| || GGG || ||-G--G-------------------------O--|| GG !MESSAGE CORRM1 You are in a corridor which enters from the east and twists to leave by the south. !MESSAGE CORRM2 You are in the east-south corridor. !MESSAGE CORR2M1 You are in a narrow passage which runs north-west to south-east. An archway leads south at this point. !MESSAGE CORR2M2 You are in a narrow NW-SE passage with an archway S. !MESSAGE CORR3M1 You are at a point where the passage turns, entering from the north-west and leaving eastwards. !MESSAGE CORR3M2 You are at the turn in the passage. !MESSAGE CORR4M1 You are in a low north-south corridor. !MESSAGE CORR4M2 You are in a north-south corridor. !MESSAGE CORR5M1 !SWITCH CORR510 CORR511 !MESSAGE CORR510 You are in a small corridor which enters from the west and turns to leave by the southeast. A winding corridor leads north here. !MESSAGE CORR511 You are in a small corridor. The only exits are to the to the north and southeast, as a mass of burning debris blocks the western exit. !MESSAGE CORR5M2 !SWITCH CORR520 CORR521 !MESSAGE CORR520 You are in a west to southeast corridor with winding passage north. !MESSAGE CORR521 You are in a west to southeast corridor, winding passage north, western exit blocked by burning debris. !MESSAGE CORR6M1 You are in a low north-south corridor, joined here by a passage from the west. !MESSAGE CORR6M2 You're in the low N-S corridor, joined here by a passage west. !MESSAGE CORR7M1 You are in a small corridor which enters from the NE and turns to exit by the SE. There is also a small hole in the west wall. !MESSAGE CORR7M2 You are in the small turning corridor with the hole in the wall. !MESSAGE CORR8M1 You are in a passage which enters from the NW and curves to leave by the south. !MESSAGE CORR8M2 You are in a curving NW-S passage. !MESSAGE CORR9M1 You are at a three-pronged fork, where a corridor enters from the east and exits to south, west and southwest through low tunnels. !MESSAGE CORR9M2 You are at the three-pronged fork. !MESSAGE CORR10M1 You are in a cavern with green walls; there are exits to the east, south, southwest and northeast. !MESSAGE CORR10M2 You're in a cavern with green walls. !MESSAGE CORR11M1 You are in a small damp chamber, from which exits lead to the west, northwest, north, northeast and south. !MESSAGE CORR11M2 You are in a small damp chamber. !MESSAGE CORR12M1 You are in a low east-west corridor, which opens up into a room further west. !MESSAGE CORR12M2 You are in the low east-west corridor. !MESSAGE DENDM1 You are at a dead end. The only exit is by the way you got here. !MESSAGE DEND5M1 You are at the end of the corridor. The only exit is back to the west, although there seems to be some sort of passage high above you. !MESSAGE DEND5M2 You are at the end of the corridor, below the gallery. !MESSAGE DEND6M1 You are in a dingy little basement flat (i.e. a dungeon). Some steps lead up to the east, and that's the nicest feature about the architecture. !MESSAGE DEND6M2 You are in the basement flat. !MESSAGE DRONERM1 You are in a bottle-shaped room, whose neck and only exit is north. The room is lit by lamps high above. There is a persistent droning sound going on, perhaps made by some creature, perhaps a property of the acoustics. !MESSAGE DRONERM2 You are in the bottle-shaped room with the droning sound. !MESSAGE DUMBM1 There is a set of heavy dumb-bells here. !MESSAGE DUST1 There is a yellow duster here. !MESSAGE DUST2 A duster. !MESSAGE EGGM1 There is a jade egg here, inscribed in emeralds with the word "?"! !MESSAGE EGGM2 A jade egg, inscribed "?". !MESSAGE EMERALD1 There is a scintillating emerald here! !MESSAGE EMERALD2 An emerald. !MESSAGE FIGURIN1 There is a crystal figurine here! !MESSAGE FIGURIN2 A crystal figurine. !MESSAGE FISHM1 There is an elegantly carved wooden fish here, whose eyes consist of huge pearls! !MESSAGE FISHM2 A pearly wooden fish. !MESSAGE FLINNM1 At the eastern exit stands a bearded dwarf, dressed in very light armour and carrying a formidable spear! !MESSAGE FOGRM1 !SWITCH FOGRM10 FOGRM11 !MESSAGE FOGRM10 You are in a large room, on the edge of a cloud of evil-smelling fog which fills up the room, driving you back whenever you attempt to enter it. The only way out is to the east. !MESSAGE FOGRM11 You are in a large rectangular room which was formerly full of fog but is now rather bleak-looking. There are exits to the east, west and south. !MESSAGE FOGRM2 !SWITCH FOGRM20 FOGRM21 !MESSAGE FOGRM20 You are in the fog-filled room. !MESSAGE FOGRM21 You are in the room which was formerly fog-filled. !MESSAGE FORESTM1 You have wandered into a vast pine forest. !MESSAGE FORESTM2 You are lost in the forest. !MESSAGE FORK1M1 You are in a place where the passage forks. It enters from the east and exits to the west and southwest. !MESSAGE FORK1M2 You're at the fork in the passage. !MESSAGE FORK2M1 You are at an irregular crossroads to the west of the room with the strange glowing. Passages lead off to east, west, south and northwest. !MESSAGE FORK2M2 You are at the irregular crossroads. !MESSAGE FORK3M1 The corridor forks again here: the main passage goes north to southeast, and another corridor joins it from the west. !MESSAGE FORK3M2 You are at the north-southeast and west fork. !MESSAGE FORTM1 You are in the ruins of the ancient fortress of Fyleet. Around you lies a thick pine forest, which appears to have been cleared a bit to your west; there are also paths to the east and north, while to the south some steps lead down into the ground. !MESSAGE FORTM2 You are in the ruins of the fortress of Fyleet. !MESSAGE GARGR11 You are in a high corridor, which to the east is lined with gargoyles. The passage also continues westwards. !MESSAGE GARGR12 You are in a passage to the west of the gargoyles. !MESSAGE GARGR21 You are in a high chamber. High above you the walls are lined with gargoyles, which stare down at you malevolently. There are passages leading out to east and west. !MESSAGE GARGR22 You are in the gargoyle chamber. !MESSAGE GARGR31 You are in a high corridor, which to the west is lined with gargoyles. The passage continues also to the east. !MESSAGE GARGR32 You are in a high passage to the east of the gargoyles. !MESSAGE GATERMM1 You are in a short passage, leading east and west between two gateways. At the western end, some steps lead downwards into gloom. !MESSAGE GATERMM2 You are in the passage with two gateways. !MESSAGE GATEM1 !SWITCH GATE10 GATE11 !MESSAGE GATE10 A heavy locked iron gate blocks your way west. !MESSAGE GATE11 An iron gate is swinging on its hinges at the western exit. !MESSAGE GLADEM1 The avenue enters from the east, leads into a glade and continues further west. !MESSAGE GLADEM2 You are in the glade. !MESSAGE GNOMEM1 !SWITCH GNOMEM10 GNOMEM11 GNOME12 !MESSAGE GNOMEM10 Odulforg the gnome is lying here, injured. !MESSAGE GNOMEM11 Odulforg the gnome is standing here. !MESSAGE GNOME12 There is a dead gnome here. !MESSAGE GNOMEM2 The remains of Odulforg the gnome. !MESSAGE GOATM1 There is a goat placidly browsing here. !MESSAGE GOATM2 A goat (which you are dragging along somehow!) !MESSAGE GORGONM1 !SWITCH GORG10 GORG11 !MESSAGE GORG10 There is a gorgon-like creature in the room. Fortunately she is in profile, rather than staring at you at present, but even the sight of her serpentine tresses is a little off-putting! !MESSAGE GORG11 There is a gorgon here, who is engaged in rapt contemplation of a snake similar to those squirming on top of her head. !MESSAGE GRAVEM1 The avenue ends at a well-tended grave, surmounted by a large gravestone, which bears the following legend: !SWITCH STONEMESS !MESSAGE GRAVEM2 You are at the grave of Fairservice. !MESSAGE HALLM1 You are in a grand hall, no doubt used a ceremonial chamber by somebody at some time. However it has now been looted of its treasures and nothing of value has remained. Passages lead off in all eight horizontal directions. !MESSAGE HALLM2 You are in the grand hall. !MESSAGE HEARTM1 The fossilised heart of Valentine lies here. !MESSAGE HEARTM2 The heart of Valentine. !MESSAGE HELENM1 With you in the room is some sort of spook - she resembles a young lady with a ghastly white face. !MESSAGE HELMETM1 There is a Teutonic war-helmet here, complete with a vicious spike on top. !MESSAGE HELMETM2 !SWITCH HELM0 HELM1 !MESSAGE HELM0 A spiked helmet (carried). !MESSAGE HELM1 A spiked helmet (which you are wearing.) !MESSAGE HIPRMM1 You are in a dusty quarry, whose walls are totally unclimbable. Two tunnels lead into the cliff here, one to the northwest and one to the northeast. !MESSAGE HIPRMM2 You are in the dusty quarry. !MESSAGE HIPRM21 You are on a ledge up in the mountains. There is no way of climbing down safely from here. A tunnel leads south into the hillside. !MESSAGE HIPRM22 You are on the ledge in the mountains. !MESSAGE HOLERMM1 You are in a room ten feet high with a hole in the ceiling. There is a corridor leading off to the west, and a passage southeast which smells faintly of incense. !MESSAGE HOLERMM2 You are in the room with the hole in the ceiling. !MESSAGE HORSEM1 !SWITCH HORSE10 HORSE11 !MESSAGE HORSE10 There is a huge creature here which can only be described as some sort of Nightmare! It resembles a huge horse, breathing noxious vapours at you, and it rears up in anger as you enter! !MESSAGE HORSE11 There is a large horse peacefully grazing here. !MESSAGE HUMP1M1 You are in a long dark north-south tunnel. A symbol of Hurgenpor is enscribed on the wall here. !MESSAGE HUMP2M1 You are in a north-south tunnel whose floor is extremely hot, so that you do not feel inclined to linger. !MESSAGE HUMP2M2 You are in the tunnel with the hot floor. !MESSAGE HUMP3M1 You are at a T-junction. A tunnel leads north, and two wider tunnels lead east and west. !MESSAGE HUMP3M2 You are at the T-junction south of Humpty Dumpty's wall. !MESSAGE HUMDUMM1 !SWITCH HUMDUM10 HUMDUM11 !MESSAGE HUMDUM10 Seated on a ledge high up on the wall is a large round creature, perhaps the famous Mr Humpty Dumpty himself. !MESSAGE HUMDUM11 Wobbling ever more unstably on a ledge above you is the famous Mr Humpty Dumpty. !MESSAGE IDOLM1 !SWITCH IDOL10 IDOL11 !MESSAGE IDOL10 A huge stone idol of Demnos stands before you, blocking the way south. !MESSAGE IDOL11 The remnants of a stone idol stand here. !MESSAGE IDOLRM1 You are in a chamber which must be dedicated to the god Demnos, as the unpleasant scenes depicted on the walls indicate. There are exits to the north and south. !MESSAGE IDOLRM2 You are in the idol chamber of Demnos. !MESSAGE IKONM1 There is an ancient ikon here. Although it depicts scenes of human sacrifice, it must be priceless to a connoisseur! !MESSAGE IKONM2 A distasteful ikon. !MESSAGE JACINTH1 There is a pile of jacinths here! !MESSAGE JACINTH2 Some jacinths. !MESSAGE LAKE1M1 You are on the north side of a deep lake about fifty feet wide. There is a passage leading north, and on the far side of the lake another passage leads south. Strange forms can be seen swimming in the water. !MESSAGE LAKE1M2 You are at the north side of the lake. !MESSAGE LAKE2M1 You are on the south side of a deep lake about fifty feet wide. There is a passage leading south, and on the far side of the lake another passage leads north. Strange forms can be seen swimming in the water. !MESSAGE LAKE2M2 You are at the south side of the lake. !MESSAGE LAMPM1 !SWITCH LAMP10 LAMP11 !MESSAGE LAMP10 There is a bullseye lantern here, which is off. !MESSAGE LAMP11 There is a bullseye lantern here, which is on. !MESSAGE LAMPM2 !SWITCH LAMP20 LAMP21 !MESSAGE LAMP20 A lantern (off). !MESSAGE LAMP21 A lantern (on). !MESSAGE LANDY1M1 You are on a landing, which leads north to a downward staircase and continues further to the south (passing near an abyss) as well as to the west. !MESSAGE LANDY1M2 You are on the landing between the stairs and the abyss. !MESSAGE LANDY2M1 You are in a north-south corridor. A few yards from you there is a deep abyss, in which a faint red glow can be seen far away. !MESSAGE LANDY2M2 You are near the abyss. !MESSAGE LANDY3M1 The corridor ends here at a sheer drop of about thirty feet. It seems that you must either jump or go back to the north. !MESSAGE LANDY3M2 You are at the end of the corridor by the sheer drop. !MESSAGE LARDERM1 This room appears to be nothing more than a larder of some sorts. (Even adventurers have to eat sometimes!) The only exit is west. !MESSAGE LARDERM2 You are in the larder. !MESSAGE LIBM1 You are in the Carmel Sprout memorial library. Fans of the great man seem to be numerous, as there is little in the way of reading matter here. The only exit is to the west. !MESSAGE LIBM2 You are in the library. !MESSAGE LITRM1 You are in a large rectangular room, which is magically lit by a bright glowing in the air near the centre of the ceiling. There are archways leading out to the north, south, east and west. !MESSAGE LITRM2 You are in the room with the magical glowing. !MESSAGE LOFTM1 You are in a long-disused hayloft. The only way out is down to the barn below. !MESSAGE LOFTM2 You are in the hayloft. !MESSAGE MATDUM1 There was a mat here, but a passer-by seems to have spirited it away! !MESSAGE MATM1 There is a two-foot-square mat here, inscribed with ancient theurgical runes. !MESSAGE MATM2 A mat. !MESSAGE MAZEM1 You are in a maze of twisting passages. For some reason this place makes you feel rather confused. !MESSAGE MAZEM2 You are in a confusing maze of passages. !MESSAGE MIRRMM1 You are in a large chamber whose east wall is decorated with paintings of heroes running away from monsters. Should you wish to do the same, the ways out from here are by the north or the west. !MESSAGE MIRRMM2 You are in the chamber decorated with wall-paintings. !MESSAGE MIRRORM1 !SWITCH MIRROR0 MIRROR1 MIRROR2 MIRROR3 !MESSAGE MIRROR0 A large mirror covers the southern wall, but the glass is too dirty for you to see anything in it. !MESSAGE MIRROR1 In the mirror on the southern wall you can see the word ATOM. !MESSAGE MIRROR2 In the mirror on the southern wall you can see the word MAMMOTH. !MESSAGE MIRROR3 In the mirror on the southern wall you can see the word TOOTH. !MESSAGE MNEMRMM1 You are in the cavern of Mnem; this is a large humid area where the atmosphere is warm and moist. You find it hard to concentrate on the job in hand. The only exit is northwards. !MESSAGE MNEMRMM2 You are in the cavern of Mnem. !MESSAGE MONKR1M1 You are in the monastery of the mystic monks of Fyleet. The walls are decorated with scenes of processing monks. There are also exits to the north, northeast and south. !MESSAGE MONKR1M2 You are at the entrance to the monastery. !MESSAGE MONKR2M1 You are in the sanctum of the evil monk Cadoc. There are exits to the north and southeast. !MESSAGE MONKR2M2 You are in Cadoc's sanctum. !MESSAGE MONKR3M1 You are in a curving corridor in the monastery, which exits to the northwest and northeast. !MESSAGE MONKR3M2 You are in a curving corridor in the monastery. !MESSAGE MONKR4M1 You are in the cell of the wicked friar Thorlac. There are exits to the north and southwest. !MESSAGE MONKR4M2 You are in Thorlac's cell. !MESSAGE MONKR5M1 You are in a passage in the monastery which curves from south to northwest. !MESSAGE MONKR5M2 You are in a curving passage in the monastery. !MESSAGE MONKR6M1 You are in the headquarters of the chief monk, Polycarp the black. There are exits to southeast and southwest. !MESSAGE MONKR6M2 You are in Polycarp's headquarters. !MESSAGE MOORM1 You are in a small chamber with no visible exits. On one wall there is a picture of a hero being eaten by a something which might be a Jabberwock. !MESSAGE MOORM2 You are through the looking-glass. !MESSAGE MUSICM1 There are some papers here, containing squiggly writing. !MESSAGE MUSICM2 Some papers containing squiggly writing. !MESSAGE NCORRM1 You are in a winding north-south corridor, which is slightly wider at this point. !MESSAGE NCORRM2 You are in the winding corridor. !MESSAGE NOBLEM1 There is a small golden noble here. !MESSAGE NOBLEM2 A golden noble. !MESSAGE NOTEM1 There is a currency note here. !MESSAGE NOTEM2 A currency note. !MESSAGE NPRMM1 You are in a gloomy-looking chamber; twisting tunnels wind their way out to northwest and southwest, and there is an imposing-looking portal in the west wall. !MESSAGE NPRMM2 You are in the gloomy-looking chamber. !MESSAGE ODULRM1 !SWITCH ODRMM0 ODRMM1 !MESSAGE ODRMM0 You are in a deep cellar. The only exit is a closed door in the west wall, twenty feet above ground level, although there are the beginnings of an escape tunnel to the east. !MESSAGE ODRMM1 You are in a deep cellar. There is a newly-dug escape tunnel leading off to the east, and a closed door high in the wall to the west. !MESSAGE ODULRM2 You are in the cellar. !SWITCH MNULL ODRM21 !MESSAGE ODRM21 An escape tunnel leads to the east. !MESSAGE OMESS !SWITCH MNULL OM1 OM2 OM3 OM4 OM5 OM6 OM7 OM8 OM9 OM10 OM11 OM12 OM13 OM14 OM15 OM16 OM17 OM18 OM19 OM20 OM21 OM22 OM23 OM24 OM25 OM26 OM27 OM28 OM29 OM30 OM31 OM32 OM33 OM34 OM35 OM36 OM37 OM38 OM39 OM40 OM41 OM42 OM43 OM44 OM45 OM46 OM47 OM48 OM49 OM50 OM51 OM52 !MESSAGE OM1 Flashing above you in the air is a large letter A. !MESSAGE OM2 Flashing above you in the air is a large letter B. !MESSAGE OM3 Flashing above you in the air is a large letter C. !MESSAGE OM4 Flashing above you in the air is a large letter D. !MESSAGE OM5 Flashing above you in the air is a large letter E. !MESSAGE OM6 Flashing above you in the air is a large letter F. !MESSAGE OM7 Flashing above you in the air is a large letter G. !MESSAGE OM8 Flashing above you in the air is a large letter H. !MESSAGE OM9 Flashing above you in the air is a large letter I. !MESSAGE OM10 Flashing above you in the air is a large letter J. !MESSAGE OM11 Flashing above you in the air is a large letter K. !MESSAGE OM12 Flashing above you in the air is a large letter L. !MESSAGE OM13 Flashing above you in the air is a large letter M. !MESSAGE OM14 Flashing above you in the air is a large letter N. !MESSAGE OM15 Flashing above you in the air is a large letter O. !MESSAGE OM16 Flashing above you in the air is a large letter P. !MESSAGE OM17 Flashing above you in the air is a large letter Q. !MESSAGE OM18 Flashing above you in the air is a large letter R. !MESSAGE OM19 Flashing above you in the air is a large letter S. !MESSAGE OM20 Flashing above you in the air is a large letter T. !MESSAGE OM21 Flashing above you in the air is a large letter U. !MESSAGE OM22 Flashing above you in the air is a large letter V. !MESSAGE OM23 Flashing above you in the air is a large letter W. !MESSAGE OM24 Flashing above you in the air is a large letter X. !MESSAGE OM25 Flashing above you in the air is a large letter Y. !MESSAGE OM26 Flashing above you in the air is a large letter Z. !MESSAGE OM27 You pass under a flashing letter A, and your momentum carries you on. !MESSAGE OM28 You pass under a flashing letter B, and your momentum carries you on. !MESSAGE OM29 You pass under a flashing letter C, and your momentum carries you on. !MESSAGE OM30 You pass under a flashing letter D, and your momentum carries you on. !MESSAGE OM31 You pass under a flashing letter E, and your momentum carries you on. !MESSAGE OM32 You pass under a flashing letter F, and your momentum carries you on. !MESSAGE OM33 You pass under a flashing letter G, and your momentum carries you on. !MESSAGE OM34 You pass under a flashing letter H, and your momentum carries you on. !MESSAGE OM35 You pass under a flashing letter I, and your momentum carries you on. !MESSAGE OM36 You pass under a flashing letter J, and your momentum carries you on. !MESSAGE OM37 You pass under a flashing letter K, and your momentum carries you on. !MESSAGE OM38 You pass under a flashing letter L, and your momentum carries you on. !MESSAGE OM39 You pass under a flashing letter M, and your momentum carries you on. !MESSAGE OM40 You pass under a flashing letter N, and your momentum carries you on. !MESSAGE OM41 You pass under a flashing letter O, and your momentum carries you on. !MESSAGE OM42 You pass under a flashing letter P, and your momentum carries you on. !MESSAGE OM43 You pass under a flashing letter Q, and your momentum carries you on. !MESSAGE OM44 You pass under a flashing letter R, and your momentum carries you on. !MESSAGE OM45 You pass under a flashing letter S, and your momentum carries you on. !MESSAGE OM46 You pass under a flashing letter T, and your momentum carries you on. !MESSAGE OM47 You pass under a flashing letter U, and your momentum carries you on. !MESSAGE OM48 You pass under a flashing letter V, and your momentum carries you on. !MESSAGE OM49 You pass under a flashing letter W, and your momentum carries you on. !MESSAGE OM50 You pass under a flashing letter X, and your momentum carries you on. !MESSAGE OM51 You pass under a flashing letter Y, and your momentum carries you on. !MESSAGE OM52 You pass under a flashing letter Z, and your momentum carries you on. !MESSAGE OMLETM1 There is an enormous omelette here. !MESSAGE ONIONM1 There is a weary-looking onion here. !MESSAGE ONIONM2 An onion. !MESSAGE ONYXM1 There is a large onyx here! !MESSAGE ONYXM2 An onyx. !MESSAGE OPALM1 There is a massive opal here! !MESSAGE OPALM2 A large opal. !MESSAGE ORBM1 A jewel-encrusted orb lies here, once the property of the legendary Halgamir! !MESSAGE ORBM2 The orb of Halgamir. !MESSAGE PANEM1 On the northern wall there is a window pane in which you can see !SWITCH PANE0 PANE1 PANE2 !MESSAGE PANE0 the word MAXIMA. !MESSAGE PANE1 the word TATTOO. !MESSAGE PANE2 the word TOMATO. !MESSAGE PARROTM1 There is a jewel-studded parrot here! !MESSAGE PARROTM2 A jewel-studded parrot. !MESSAGE PENDM1 There is a valuable pendant here, property of the chief monk, Polycarp! !MESSAGE PENDM2 !SWITCH PEND20 PEND21 !MESSAGE PEND20 A monkish pendant (carried). !MESSAGE PEND21 A monkish pendant (which you are wearing.) !MESSAGE PHXM1 There is a crashed phoenix here (dead, I'm afraid.) !MESSAGE PHXM2 A dead phoenix. !MESSAGE PIECEM1 There is a silver piece here. !MESSAGE PIECEM2 A silver piece. !MESSAGE PLANTM1 An angry-looking weed bars your way west! It takes up the entire width of the avenue, rustling its thorny stems in a menacing manner! !MESSAGE PLATEM1 There is a golden plate here! !MESSAGE PLATEM2 A golden plate. !MESSAGE PNRMM1 You are in a cheerful-looking chamber; twisting tunnels wind their way out to northeast and southeast, and there is an imposing-looking portal in the east wall. !MESSAGE PNRMM2 You are in the cheerful-looking chamber. !MESSAGE PORTM1 There is an ancient portrait here, which depicts an old man and is entitled "CABARWIS"! !MESSAGE PORTM2 A portrait of Cabarwis. !MESSAGE POSTADM1 You are in a seedily-decorated chamber: there are some tatty old carpets on the floor, some filthy curtains of sacking hanging from the ceiling, and a colour scheme in brown and black. There is an exit south to more luxurious regions. !MESSAGE POSTADM2 You are in the seedily-decorated chamber. !MESSAGE POSTERM1 You are at the north end of the dingy street. High walls block you in all directions except south. !MESSAGE POSTERM2 You're at the north end of the dingy street. !MESSAGE PRELIB1 You are in a small ante-room: arches lead to the east and west. !MESSAGE PRELIB2 You're in the ante-room. !MESSAGE PRETEM1 You are outside the temple of Demnos. Unearthly sounds emanate from the worshippers in the temple, which is to your west. You may also escape by going north. !MESSAGE PRETEM2 You are outside the temple of Demnos. !MESSAGE REL1M1 You are in a chamber decorated with pictures of holidaymakers sitting on sandy beaches. There are exits to northwest, southeast, south and east. !MESSAGE REL1M2 You are in the chamber with the seaside pictures. !MESSAGE REL2M1 You are in a chamber decorated with pictures of madly pirouetting dancers. There are exits to north and east. !SWITCH MNULL REL21 !MESSAGE REL2M2 You are in the chamber decorated with pictures of dancers. !SWITCH MNULL REL21 !MESSAGE REL21 Through your sunglasses you can see a concealed exit in the northeastern wall. !MESSAGE REL3M1 You are in a room decorated with pictures of angry travellers, who seem to be embarking on some steam-driven engine. There are exits to the west and south. !MESSAGE REL3M2 You are in the room decorated with pictures of angry travellers. !MESSAGE REL4M1 You are in a featureless northwest-southeast passage. !SWITCH MNULL REL41 !MESSAGE REL41 Through your sunglasses you can see a concealed exit in the southwestern wall. !MESSAGE REL5M1 You are in a room decorated with scenes of lovers. There are exits to the north, west and northwest. !MESSAGE REL5M2 You are in the room decorated with scenes of lovers. !MESSAGE RINGM1 There is a plain golden ring here! !MESSAGE RINGM2 !SWITCH RING20 RING21 !MESSAGE RING20 A ring (which you are carrying). !MESSAGE RING21 A ring (which you are wearing). !MESSAGE RINKM1 !SWITCH MNULL RINK11 RINK12 RINK13 RINK14 RINK15 RINK16 RINK17 RINK18 RINK19 !MESSAGE RINK11 You are in the northwestern corner of a huge cavern. Life is rather !SWITCH RINKM2 !MESSAGE RINKM2 disconcerting right now, as the ground appears to be moving up and down of its own accord, distorting the local space-time geometry rather badly. !MESSAGE RINK12 You are somewhere by the northern wall of a huge cavern. Life is !SWITCH RINKM2 !MESSAGE RINK13 You are in the northeastern corner of a huge cavern. Life is rather !SWITCH RINKM2 !MESSAGE RINK14 You are somewhere by the western wall of a huge cavern. Life is !SWITCH RINKM2 !MESSAGE RINK15 You are somewhere in the middle of a huge cavern. Life is extremely !SWITCH RINKM2 !MESSAGE RINK16 You are somewhere by the eastern wall of a huge cavern. Life is !SWITCH RINKM2 !MESSAGE RINK17 You are in the southwestern corner of a huge cavern. Life is rather !SWITCH RINKM2 !MESSAGE RINK18 You are somewhere by the southern wall of a huge cavern. Life is !SWITCH RINKM2 !MESSAGE RINK19 You are in the southeastern corner of a huge cavern. Life is rather !SWITCH RINKM2 !MESSAGE ROOM1M1 You are in a small square room. Light streams in from an archway to the south. There are steps leading up to the north, and a closed door to the east. !MESSAGE ROOM1M2 You're in the small square room. !MESSAGE ROOMXM1 You are in a small ante-room; Space all around you feels distorted, rather as if you were in a Hall of Mirrors. The laws of Geometry themselves seem to be having an off-day. There is some sort of exit to the southwest, but I wouldn't count on your ever finding your way back here again! !MESSAGE ROOMXM2 !SWITCH ROOMXM1 !MESSAGE ROOMZM1 You are in a lavishly-decorated cavern: curtains hang from the ceiling, there are fitted carpets and a tasteful colour scheme and so forth. An exit leads south into less luxurious regions. !SWITCH MNULL ROOMZ1 ROOMZ2 !MESSAGE ROOMZM2 You are in the lavishly-decorated chamber. !SWITCH MNULL ROOMZ1 ROOMZ2 !MESSAGE ROOMZ1 On one wall of the room is written: DEMONS + DEMONS ------- ZYGMUND ------- and on another is written '45647298'. !MESSAGE ROOMZ2 On one wall of the room is written: DEMONS + DEMONS ------- ZYGMUND ------- and on another is written '02942287'. !MESSAGE ROPEM1 A heavy rope hangs down near the southern wall. !MESSAGE ROPERMM1 You are in a very high chamber with green walls. It seems to be some sort of cul-de-sac, for the only exit is to the north. !MESSAGE ROPERMM2 You are in the high cul-de-sac with green walls. !MESSAGE RUBYM1 !SWITCH RUBY10 RUBY11 !MESSAGE RUBY10 There is