title_screen = "* Adams ADVENTURE * Version TI/001.2", " Adventure Box 3435 Longwood FL 32750", "", " This program will allow you to have an", "adventure without ever leaving your", "armchair! You will find yourself in a", "strange new world. You'll be able to", "examine, take, and otherwise manipulate", "the objects you find there. You will", "also be able to travel from location to", "location.", "", " I'll be your puppet in this adventure.", "You command me with 2 word English", "sentences. I have a vocabulary of over", "120 words, so if one word doesn't work,", "try another!", "", " Some commands I know are: HELP, QUIT,", "SAVE GAME, SCORE, and TAKE INVENTORY.", "", " The author has worked for over a year", "on this program, so please don't copy or", "accept a pirated copy! Now press ENTER!" ; word_length = 4; light_time = 175; max_load = 7; flag flag_00; flag flag_01; flag flag_02; flag flag_03; flag flag_04; flag flag_05; flag flag_06; flag flag_07; flag flag_08; flag flag_09; flag flag_10; flag flag_11; flag flag_12; flag flag_13; flag flag_14; flag (night) flag_15; flag (runout) flag_16; flag flag_17; flag flag_18; flag flag_19; flag flag_20; flag flag_21; flag flag_22; flag flag_23; flag flag_24; flag flag_25; flag flag_26; flag flag_27; flag flag_28; flag flag_29; flag flag_30; flag flag_31; timreg tr_00; timreg tr_01; timreg tr_02; timreg tr_03; timreg tr_04; timreg tr_05; timreg tr_06; timreg tr_07; timreg tr_08; timreg tr_09; timreg tr_10; timreg tr_11; timreg tr_12; timreg tr_13; timreg tr_14; timreg tr_15; roomreg rr_00; roomreg rr_01; roomreg rr_02; roomreg rr_03; roomreg rr_04; roomreg rr_05; roomreg rr_06; roomreg rr_07; roomreg rr_08; roomreg rr_09; roomreg rr_10; roomreg rr_11; roomreg rr_12; roomreg rr_13; roomreg rr_14; roomreg rr_15; noun(north) nort; noun(south) sout; noun(east) east; noun(west) west; noun(up) up; noun(down) down; verb(go) go; verb(drop) drop; verb(get) get, take; # 101 messages alias msg_000 = ""; alias msg_001 = "OK."; alias msg_002 = "I see"; alias msg_003 = "Welcome to Adventure 9, 'GHOST TOWN',"; alias msg_004 = "by Scott Adams dedicated to the Cherens."; alias msg_005 = "I've nothing to do that with."; alias msg_006 = "Sorry, I can't."; alias msg_007 = "I found"; alias msg_008 = "Wear?"; alias msg_009 = "BARF!"; alias msg_010 = "something"; alias msg_011 = "nothing special."; alias msg_012 = "It reminds me of"; alias msg_013 = "You've made"; alias msg_014 = "BONUS points out of a possible 50 in"; alias msg_015 = "It's full of sage brush and tumbleweed, and is impassable."; alias msg_016 = "moves."; alias msg_017 = "The dry wash is burnt clear."; alias msg_018 = "Flying glass slices me up!"; alias msg_019 = "Crack!"; alias msg_020 = "north."; alias msg_021 = "It's pointing to the"; alias msg_022 = "horseshoe."; alias msg_023 = "The doors are closed, the windows barred!"; alias msg_024 = "With what?"; alias msg_025 = "The inside bolt is latched!"; alias msg_026 = "Magnet!"; alias msg_027 = "doesn't seem to do it!"; alias msg_028 = "Ding-Ding."; alias msg_029 = "A bell rings somewhere."; alias msg_030 = "My hand passes thru!"; alias msg_031 = "The ghost stands, bows, vanishes!"; alias msg_032 = "Silly, wrong type keys!"; alias msg_033 = "Odd,"; alias msg_034 = "goes THUNK!"; alias msg_035 = "falls out."; alias msg_036 = "The candle blew out!"; alias msg_037 = "Very pretty."; alias msg_038 = "It shoots a stream of water."; alias msg_039 = "It already is."; alias msg_040 = "Drop *TREASURES* then say SCORE."; alias msg_041 = "I hear"; alias msg_042 = "What?"; alias msg_043 = "Too steep!"; alias msg_044 = "feels strange."; alias msg_045 = "it's my size."; alias msg_046 = "Don't collect $200 then don't pass GO! CONTRAPOSITIVE."; alias msg_047 = "happens."; alias msg_048 = "How?"; alias msg_049 = "It's mine, dig roof!"; alias msg_050 = "GHOSTLY VOICE WHISPERS:"; alias msg_051 = "Vain..."; alias msg_052 = "The match flares up ..."; alias msg_053 = "and then goes out."; alias msg_054 = "It's getting"; alias msg_055 = "Sunset!"; alias msg_056 = "I feel refreshed."; alias msg_057 = "Nights are cold! I caught Pneumonia!"; alias msg_058 = "Try: SLEEP"; alias msg_059 = "It worked!"; alias msg_060 = "It's gone."; alias msg_061 = "The snake won't let me."; alias msg_062 = "That felt good!"; alias msg_063 = "Too big!"; alias msg_064 = "It's locked!"; alias msg_065 = "Good Morning!"; alias msg_066 = "Good Night."; alias msg_067 = "It's fireproof."; alias msg_068 = "He won't budge."; alias msg_069 = "left!"; alias msg_070 = "dark!"; alias msg_071 = "It bit through the hat!"; alias msg_072 = "I'm bitten by a snake!"; alias msg_073 = "I'm not Alice!"; alias msg_074 = "He bucks, I'm thrown!"; alias msg_075 = "Whoosh!"; alias msg_076 = "TOO CLOSE! Pieces of me rain down for days!"; alias msg_077 = "Boom!"; alias msg_078 = "... .... ._ _._ . _ ___ .__. .__. . ._."; alias msg_079 = "SPARK! * * *"; alias msg_080 = "Click."; alias msg_081 = "Is he a ghost? Anyway wrong idea."; alias msg_082 = "THERE'S NOT EVEN A KEYHOLE!"; alias msg_083 = "Masking tape"; alias msg_084 = "The floorboards sure are creaky."; alias msg_085 = "a loose plank here."; alias msg_086 = "salt peter."; alias msg_087 = "I won a prize!"; alias msg_088 = "Sorry, I can't reach a nail."; alias msg_089 = "I may need to say a magic word here."; alias msg_090 = "After a long ride..."; alias msg_091 = "He rides off without me."; alias msg_092 = "Geronimo says: 'It's easy! Happy Landings!'"; alias msg_093 = "is missing."; alias msg_094 = "rotten eggs."; alias msg_095 = "something."; alias msg_096 = "in the saloon."; alias msg_097 = "scared them off!"; alias msg_098 = "OK. Skritch..."; alias msg_099 = "Something"; alias msg_100 = "Nothing special"; # 38 rooms room rm_001 "I am in a Ghost Town.", e_to rm_017, w_to rm_002; room rm_002 "I am in a Ghost Town.", e_to rm_001, w_to rm_003; room rm_003 "I am in a Ghost Town.", e_to rm_002, w_to rm_004; room rm_004 "I am in a Ghost Town.", e_to rm_003, w_to rm_006; room rm_005 "I am in a stable.", s_to rm_004; room rm_006 "I am in a road.", e_to rm_004, w_to rm_007; room rm_007 "I am in a fork in the road.", n_to rm_009, s_to rm_008, e_to rm_006; room rm_008 "I'm on a ridge above a narrow ravine. I see mountains in the distance.", n_to rm_007; room rm_009 "I am in a large field.", s_to rm_007; room rm_010 "I am in a ravine.", u_to rm_008; room rm_011 "I am in a saloon.", s_to rm_002; room rm_012 "I am in a hidden office.", e_to rm_011; room rm_013 "I am in a Jail.", n_to rm_001; room rm_014 "I am in a cell.", n_to rm_013; room rm_015 "I am in a Dry Goods store.", n_to rm_002; room rm_016 "I am in a Barbershop.", s_to rm_001; room rm_017 "I am in a road.", e_to rm_020, w_to rm_001; room rm_018 "I'm on a ridge above a ravine.", w_to rm_032; room rm_019 "I am in a stall.", s_to rm_005; room rm_020 "I'm on Boot Hill.", w_to rm_017; room rm_021 "I am in a Mine.", u_to rm_010, d_to rm_022; room rm_022 "I am in a Mine.", s_to rm_023, u_to rm_021; room rm_023 "I am in a Mine.", n_to rm_022; room rm_024 "I am in a Telegraph office.", s_to rm_003; room rm_025 "I'm on back of 'Ole Paint.", d_to rm_019; room rm_026 "I am in a warm bed."; room rm_027 "I am in a hotel room.", w_to rm_028; room rm_028 "I am in a lobby.", n_to rm_003, e_to rm_027; room rm_029 "I am in a grave.", u_to rm_020; room rm_030 "I'm flat on my back in a manure pile."; room rm_031 "I am in a storeroom.", n_to rm_019; room rm_032 "I am in a mountain trail.", e_to rm_018; room rm_033 "I am in a line shack.", s_to rm_032; room rm_034 "I am in a root cellar.", u_to rm_033; room rm_035 "I'm behind the counter.", n_to rm_028; room rm_036 "I am in a hidden canyon."; room rm_037 "I am in a teepee.", n_to rm_036; room rm_038 "I am in a lot of trouble!"; item itm_000 (stri) "Worn out fiddle strings" void; item itm_001 "Barbershop" rm_001; item itm_002 "Jail" rm_001; item itm_003 "Saloon" rm_002; item itm_004 "Stable" rm_004; item itm_005 "Stall" rm_005; item itm_006 "Manure pile" rm_005; item itm_007 (shov) "Shovel" rm_015; item itm_008 (crys) "White crystals" void; item (light) itm_009 (cand) "Lit candle" void; item itm_010 (sulf) "Yellow powder" void; item itm_011 (char) "Sagebrush charcoal" rm_010; item itm_012 "Pile of gunpowder" void; item itm_013 "Entrance to a mine" rm_010; item itm_014 (matc) "Matches" rm_015; item itm_015 "Mirror" rm_011; item itm_016 "'ole Paint" rm_019; item itm_017 "Broken mirror" void; item itm_018 "Hole in the wall" void; item itm_019 (comp) "Compass" rm_015; item itm_020 (hors) "Horseshoe" rm_019; item itm_021 (manu) "Male cow manure" void; item itm_022 (bell) "Large bell" rm_011; item itm_023 "Wraithlike figure playing equally ghostly piano" void; item itm_024 "Piano with set of keys" void; item itm_025 (map) "Map" void; item itm_026 (cand) "Unlit candle" rm_022; item itm_027 (bull) "*SILVER BULLET*" rm_021; item itm_028 (derr) "*GOLDEN DERRINGER*" rm_013; item itm_029 "Open door" void; item itm_030 (sign) "Sign-`Ring for ROOM service`" rm_035; item itm_031 "Locked door" rm_013; item itm_032 "Dry-Goods store" rm_002; item itm_033 (sign) "Sign" rm_015; item itm_034 (spur) "*SILVER SPURS*" rm_025; item itm_035 (hat) "Stetson hat" rm_016; item itm_036 "Which I'm wearing" void; item itm_037 (key) "Small key" void; item itm_038 (tape) "Roll of tape" void; item itm_039 "Taped up mirror" void; item itm_040 (gold) "*GOLD NUGGET*" void; item itm_041 "Telegraph office" rm_003; item itm_042 (matc) "Empty matchbook" void; item itm_043 "Bed" void; item itm_044 "Hotel" rm_003; item itm_045 (snak) "Rattlesnake" rm_020; item itm_046 "Open grave" void; item itm_047 (coin) "*GOLD COIN*" rm_029; item itm_048 (worm) "Purple worm" rm_029; item itm_049 (worm) "Purple Slime" void; item itm_050 "Telegraph key" rm_024; item itm_051 "2 loose wires" void; item itm_052 "Spliced wire" void; item itm_053 (wire) "Pieces of wire" void; item itm_054 "Large safe" rm_024; item itm_055 (box) "*CASHBOX*" rm_035; item itm_056 ($200) "*$200*" void; item itm_057 (go) "*ORIENTAL GO BOARD*" rm_012; item itm_058 "Hole kicked in wall & bare hoof print" void; item itm_059 (keg) "Keg of nails" rm_031; item itm_060 (keg) "Empty keg" void; item itm_061 (keg) "Keg of gunpowder" void; item itm_062 (nail) "Nails" void; item itm_063 "Telegraph key" rm_033; item itm_064 "Smoking open safe" void; item itm_065 "Line shack" rm_032; item itm_066 (plan) "Plank" void; item itm_067 "Hole in floor" void; item itm_068 (pelt) "*PELTS*" rm_034; item itm_069 "Counter" rm_028; item itm_070 "Ghostly square dance" void; item itm_071 (cup) "*SILVER CUP*" void; item itm_072 (bag) "*BAG GOLD DUST*" void; item itm_073 (hamm) "Hammer" rm_014; item itm_074 "TeePee" rm_036; item itm_075 "Indian ghost" void; item itm_076 (tom) "*SACRED TOM TOM*" rm_037; item itm_077 (neck) "*TURQUOISE NECKLACE*" rm_037; act auto 3 { exists (itm_009); # Lit candle msg_036; # "The candle blew out!"; swap itm_009, itm_026; # Lit candle # Unlit candle } act auto 100 { here (itm_070); # Ghostly square dance avail (itm_009); # Lit candle zap itm_070; # Ghostly square dance msg_099; # "Something"; msg_097; # "scared them off!"; } act auto 100 { !set (flag_01); timer 0; swap tr_02; timer 12; swap tr_06; msg_003; # "Welcome to Adventure 9, 'GHOST TOWN',"; msg_004; # "by Scott Adams dedicated to the Cherens."; on flag_01; timer 25; swap tr_03; timer 170; swap tr_07; goto rm_024; select_rv; goto rm_011; timer 1; swap_rv 1; goto rm_001; } act auto 100 { add 1; swap tr_07; sub 1; try { le (25); !set (flag_15); gt (0); msg_054; # "It's getting"; msg_070; # "dark!"; } try { le (0); on flag_15; on flag_17; } try { swap tr_07; swap tr_03; sub 1; swap tr_03; } try { in (rm_010); !set (flag_17); off flag_15; } } act auto 100 { swap tr_07; try { le (0); !set (flag_21); msg_055; # "Sunset!"; on flag_21; } try { swap tr_07; } } act auto 100 { set (flag_17); !exists (itm_070); # Ghostly square dance in (rm_011); !avail (itm_009); # Lit candle drop itm_070; # Ghostly square dance } act auto 100 { set (flag_17); !in (rm_011); !exists (itm_070); # Ghostly square dance move rm_011, itm_070; # Ghostly square dance } act auto 20 { gt (225); on flag_06; } act auto 20 { !set (flag_12); swap tr_03; try { le (0); msg_028; # "Ding-Ding."; msg_029; # "A bell rings somewhere."; move rm_011, itm_023; # Wraithlike figure playing equally ghostly piano } try { le (0); timer 30; swap tr_04; timer 10; swap tr_04; } try { swap tr_03; } } act auto 100 { !set (flag_17); exists (itm_070); # Ghostly square dance zap itm_070; # Ghostly square dance } act auto 100 { exists (itm_023); # Wraithlike figure playing equally ghostly piano swap tr_04; sub 1; try { le (0); zap itm_023; # Wraithlike figure playing equally ghostly piano } try { swap tr_04; } } act auto 4 { !exists (itm_024); # Piano with set of keys msg_050; # "GHOSTLY VOICE WHISPERS:"; msg_051; # "Vain..."; } act auto 100 { set (flag_18); off flag_18; swap tr_06; sub 1; try { le (0); swap itm_014, itm_042; # Matches # Empty matchbook } try { swap tr_06; } } act auto 100 { has (itm_061); # Keg of gunpowder has (itm_009); # Lit candle msg_077; # "Boom!"; msg_076; # "TOO CLOSE! Pieces of me rain down for days!"; die; } act auto 15 { in (rm_002); !exists (itm_071); # *SILVER CUP* exists (itm_070); # Ghostly square dance msg_041; # "I hear"; msg_010; # "something"; msg_096; # "in the saloon."; } act auto 100 { has (itm_036); # Which I'm wearing !has (itm_035); # Stetson hat zap itm_036; # Which I'm wearing } act auto 100 { set (flag_16); off flag_16; zap itm_009; # Lit candle } act auto 100 { has (itm_045); # Rattlesnake msg_072; # "I'm bitten by a snake!"; die; } act auto 100 { in (rm_038); on flag_08; ignore; } act auto 100 { set (flag_08); on flag_09; } act auto 100 { set (flag_09); off flag_09; swap tr_02; msg_013; # "You've made"; .timer; msg_014; # "BONUS points out of a possible 50 in"; swap tr_02; .timer; msg_016; # "moves."; .score; } act auto 100 { set (flag_08); quit; } act auto 100 { swap tr_02; try { set (flag_06); sub 3; off flag_06; } try { set (flag_02); add 3; off flag_02; } try { set (flag_03); add 10; off flag_03; } try { set (flag_05); add 1; off flag_05; } try { swap tr_02; } } act go slee { msg_058; # "Try: SLEEP"; } act go moun { msg_048; # "How?"; } act go ravi { in (rm_008); !set (flag_10); msg_006; # "Sorry, I can't."; msg_015; # "It's full of sage brush and tumbleweed, and is impassable."; } act go ravi { in (rm_008); set (flag_10); msg_001; # "OK."; goto rm_010; } act go hole { here (itm_018); # Hole in the wall msg_001; # "OK."; goto rm_012; } act go jail { here (itm_002); # Jail !set (flag_11); msg_006; # "Sorry, I can't."; msg_023; # "The doors are closed, the windows barred!"; } act go jail { here (itm_002); # Jail set (flag_11); exists (itm_056); # *$200* msg_001; # "OK."; goto rm_013; } act go stor { here (itm_032); # Dry-Goods store msg_001; # "OK."; goto rm_015; } act go door { here (itm_029); # Open door msg_001; # "OK."; goto rm_014; } act go stab { here (itm_004); # Stable goto rm_005; msg_001; # "OK."; } act go salo { here (itm_003); # Saloon goto rm_011; msg_001; # "OK."; } act go barb { here (itm_001); # Barbershop goto rm_016; msg_001; # "OK."; } act go ravi { in (rm_018); msg_006; # "Sorry, I can't."; msg_043; # "Too steep!"; } act go stal { here (itm_005); # Stall msg_001; # "OK."; goto rm_019; } act go tele { avail (itm_041); # Telegraph office msg_001; # "OK."; goto rm_024; } act go pain { here (itm_016); # 'ole Paint msg_001; # "OK."; goto rm_025; } act go hors { here (itm_016); # 'ole Paint msg_001; # "OK."; goto rm_025; } act go mine { here (itm_013); # Entrance to a mine on flag_15; goto rm_021; msg_001; # "OK."; } act go bed { here (itm_043); # Bed msg_001; # "OK."; goto rm_026; } act go hote { here (itm_044); # Hotel msg_001; # "OK."; goto rm_028; } act go grav { here (itm_046); # Open grave msg_001; # "OK."; goto rm_029; } act go jail { here (itm_002); # Jail set (flag_11); !exists (itm_056); # *$200* msg_050; # "GHOSTLY VOICE WHISPERS:"; goto rm_013; msg_046; # "Don't collect $200 then don't pass GO! CONTRAPOSITIVE."; } act go mirr { msg_006; # "Sorry, I can't."; msg_073; # "I'm not Alice!"; } act go pain { in (rm_025); msg_089; # "I may need to say a magic word here."; } act go hole { here (itm_058); # Hole kicked in wall & bare hoof print msg_001; # "OK."; goto rm_031; } act go shac { here (itm_065); # Line shack msg_001; # "OK."; goto rm_033; msg_084; # "The floorboards sure are creaky."; } act go hole { here (itm_067); # Hole in floor msg_001; # "OK."; goto rm_034; } act go coun { here (itm_069); # Counter msg_001; # "OK."; goto rm_035; } act go teep { here (itm_074); # TeePee msg_001; # "OK."; goto rm_037; } act go hors { in (rm_025); msg_089; # "I may need to say a magic word here."; } act go manu { msg_009; # "BARF!"; msg_006; # "Sorry, I can't."; } act save game { swap tr_02; sub 2; swap tr_02; save; } act quit any { on flag_08; on flag_09; } act get manu { here (itm_006); # Manure pile msg_009; # "BARF!"; msg_001; # "OK."; get itm_021; # Male cow manure on flag_06; } act get key { here (itm_024); # Piano with set of keys !here (itm_037); # Small key msg_032; # "Silly, wrong type keys!"; } act get key { avail (itm_037); # Small key get itm_037; # Small key msg_001; # "OK."; } act get pain { here (itm_016); # 'ole Paint msg_042; # "What?"; msg_006; # "Sorry, I can't."; msg_063; # "Too big!"; } act get up { in (rm_026); msg_001; # "OK."; goto rm_027; } act get key { avail (itm_050); # Telegraph key msg_006; # "Sorry, I can't."; } act get safe { here (itm_054); # Large safe msg_006; # "Sorry, I can't."; msg_063; # "Too big!"; } act get wire { avail (itm_053); # Pieces of wire get itm_053; # Pieces of wire msg_001; # "OK."; } act get wire { avail (itm_051); # 2 loose wires zap itm_051; # 2 loose wires steal itm_053; # Pieces of wire msg_001; # "OK."; } act get inve { .inv; } act get gunp { here (itm_012); # Pile of gunpowder !avail (itm_060); # Empty keg msg_005; # "I've nothing to do that with."; } act get gunp { here (itm_012); # Pile of gunpowder avail (itm_060); # Empty keg zap itm_012; # Pile of gunpowder swap itm_060, itm_061; # Empty keg # Keg of gunpowder msg_001; # "OK."; } act get plan { !exists (itm_066); # Plank steal itm_066; # Plank drop itm_067; # Hole in floor msg_001; # "OK."; } act get plan { here (itm_066); # Plank get itm_066; # Plank msg_001; # "OK."; } act get up { in (rm_030); msg_001; # "OK."; goto rm_005; } act get nail { avail (itm_059); # Keg of nails get itm_062; # Nails swap itm_059, itm_060; # Keg of nails # Empty keg } act shoo any { avail (itm_045); # Rattlesnake avail (itm_028); # *GOLDEN DERRINGER* zap itm_045; # Rattlesnake msg_038; # "It shoots a stream of water."; msg_059; # "It worked!"; msg_060; # "It's gone."; } act shoo any { avail (itm_028); # *GOLDEN DERRINGER* msg_001; # "OK."; msg_038; # "It shoots a stream of water."; } act inve any { .inv; } act drop on { msg_008; # "Wear?"; } act look mirr { here (itm_015); # Mirror msg_001; # "OK."; msg_037; # "Very pretty."; } act look comp { avail (itm_019); # Compass avail (itm_020); # Horseshoe msg_001; # "OK."; msg_021; # "It's pointing to the"; msg_022; # "horseshoe."; } act look comp { avail (itm_019); # Compass msg_001; # "OK."; msg_021; # "It's pointing to the"; msg_020; # "north."; } act look hat { avail (itm_035); # Stetson hat msg_001; # "OK."; msg_002; # "I see"; msg_045; # "it's my size."; } act look matc { avail (itm_014); # Matches swap tr_06; .timer; msg_069; # "left!"; swap tr_06; } act look door { here (itm_002); # Jail msg_082; # "THERE'S NOT EVEN A KEYHOLE!"; } act look floo { in (rm_033); !exists (itm_066); # Plank msg_001; # "OK."; msg_002; # "I see"; msg_085; # "a loose plank here."; } act look safe { here (itm_064); # Smoking open safe !exists (itm_072); # *BAG GOLD DUST* msg_001; # "OK."; drop itm_072; # *BAG GOLD DUST* msg_007; # "I found"; msg_095; # "something."; } act look any { msg_001; # "OK."; msg_002; # "I see"; msg_011; # "nothing special."; } act help any { msg_006; # "Sorry, I can't."; } act scor any { on flag_09; } act say how { here (itm_075); # Indian ghost msg_048; # "How?"; msg_092; # "Geronimo says: 'It's easy! Happy Landings!'"; goto rm_030; try { le (100); on flag_03; } } act say gidd { in (rm_025); !set (flag_20); msg_001; # "OK."; .noun_nl; msg_068; # "He won't budge."; } act say gidd { in (rm_025); set (flag_20); msg_001; # "OK."; .noun_nl; msg_090; # "After a long ride..."; delay; msg_074; # "He bucks, I'm thrown!"; msg_091; # "He rides off without me."; off flag_20; goto rm_036; zap itm_016; # 'ole Paint } act say any { msg_001; # "OK."; .noun_nl; } act mix fuse { msg_048; # "How?"; } act mix any { avail (itm_008); # White crystals avail (itm_010); # Yellow powder avail (itm_011); # Sagebrush charcoal msg_001; # "OK."; zap itm_008; # White crystals zap itm_010; # Yellow powder zap itm_011; # Sagebrush charcoal drop itm_012; # Pile of gunpowder try { le (80); on flag_03; } } act mix any { msg_006; # "Sorry, I can't."; msg_099; # "Something"; msg_093; # "is missing."; } act smel sulf { avail (itm_010); # Yellow powder msg_001; # "OK."; msg_012; # "It reminds me of"; msg_094; # "rotten eggs."; } act smel manu { msg_009; # "BARF!"; msg_006; # "Sorry, I can't."; } act smel crys { avail (itm_008); # White crystals msg_001; # "OK."; msg_012; # "It reminds me of"; msg_086; # "salt peter."; } act burn any { in (rm_008); !set (flag_10); avail (itm_014); # Matches msg_001; # "OK."; msg_017; # "The dry wash is burnt clear."; on flag_10; on flag_18; } act burn cand { avail (itm_026); # Unlit candle avail (itm_014); # Matches msg_001; # "OK."; swap itm_026, itm_009; # Unlit candle # Lit candle on flag_18; } act burn matc { avail (itm_014); # Matches swap tr_06; on flag_18; msg_098; # "OK. Skritch..."; try { set (flag_15); off flag_15; .room; msg_052; # "The match flares up ..."; delay; delay; delay; on flag_15; msg_053; # "and then goes out."; } try { swap tr_06; } } act burn map { avail (itm_014); # Matches avail (itm_025); # Map on flag_18; zap itm_025; # Map msg_001; # "OK."; } act burn map { avail (itm_009); # Lit candle avail (itm_025); # Map msg_001; # "OK."; zap itm_025; # Map } act burn gunp { here (itm_012); # Pile of gunpowder avail (itm_009); # Lit candle msg_001; # "OK."; zap itm_012; # Pile of gunpowder msg_075; # "Whoosh!"; } act burn gunp { here (itm_012); # Pile of gunpowder avail (itm_014); # Matches on flag_18; msg_001; # "OK."; zap itm_012; # Pile of gunpowder msg_075; # "Whoosh!"; } act burn gunp { avail (itm_061); # Keg of gunpowder avail (itm_009); # Lit candle msg_001; # "OK."; msg_077; # "Boom!"; msg_076; # "TOO CLOSE! Pieces of me rain down for days!"; die; } act burn gunp { avail (itm_061); # Keg of gunpowder avail (itm_014); # Matches msg_001; # "OK."; msg_077; # "Boom!"; msg_076; # "TOO CLOSE! Pieces of me rain down for days!"; die; } act burn any { avail (itm_014); # Matches msg_067; # "It's fireproof."; } act burn any { avail (itm_009); # Lit candle msg_067; # "It's fireproof."; } act burn any { msg_006; # "Sorry, I can't."; msg_005; # "I've nothing to do that with."; } act open door { here (itm_002); # Jail !set (flag_11); msg_024; # "With what?"; msg_025; # "The inside bolt is latched!"; } act open pian { here (itm_024); # Piano with set of keys !set (flag_13); msg_099; # "Something"; msg_035; # "falls out."; on flag_13; drop itm_025; # Map } act open door { here (itm_031); # Locked door avail (itm_037); # Small key msg_001; # "OK."; swap itm_031, itm_029; # Locked door # Open door } act open door { here (itm_031); # Locked door msg_064; # "It's locked!"; } act open keg { msg_039; # "It already is."; } act open safe { here (itm_054); # Large safe msg_006; # "Sorry, I can't."; msg_064; # "It's locked!"; } act open door { here (itm_002); # Jail set (flag_11); msg_039; # "It already is."; } act load derr { avail (itm_028); # *GOLDEN DERRINGER* msg_001; # "OK."; msg_039; # "It already is."; } act with hors { here (itm_002); # Jail !set (flag_11); avail (itm_020); # Horseshoe msg_026; # "Magnet!"; on flag_11; msg_059; # "It worked!"; try { le (30); on flag_02; } } act with any { here (itm_002); # Jail !set (flag_11); .noun; msg_027; # "doesn't seem to do it!"; } act with nail { avail (itm_060); # Empty keg avail (itm_062); # Nails zap itm_062; # Nails swap itm_060, itm_059; # Empty keg # Keg of nails msg_001; # "OK."; } act with gunp { avail (itm_060); # Empty keg avail (itm_012); # Pile of gunpowder zap itm_060; # Empty keg swap itm_012, itm_061; # Pile of gunpowder # Keg of gunpowder msg_001; # "OK."; } act with any { msg_006; # "Sorry, I can't."; .noun; msg_027; # "doesn't seem to do it!"; } act dig any { !has (itm_007); # Shovel msg_006; # "Sorry, I can't."; msg_005; # "I've nothing to do that with."; } act dig manu { has (itm_007); # Shovel here (itm_006); # Manure pile !exists (itm_008); # White crystals msg_007; # "I found"; msg_095; # "something."; drop itm_008; # White crystals } act dig roof { avail (itm_007); # Shovel in (rm_023); !exists (itm_040); # *GOLD NUGGET* drop itm_040; # *GOLD NUGGET* msg_007; # "I found"; msg_095; # "something."; try { le (80); on flag_03; } } act dig any { avail (itm_045); # Rattlesnake msg_061; # "The snake won't let me."; } act dig any { !here (itm_045); # Rattlesnake in (rm_020); msg_001; # "OK."; drop itm_046; # Open grave } act dig any { in (rm_009); !exists (itm_012); # Pile of gunpowder !exists (itm_010); # Yellow powder msg_001; # "OK."; drop itm_010; # Yellow powder msg_007; # "I found"; msg_095; # "something."; } act dig any { has (itm_007); # Shovel msg_007; # "I found"; msg_011; # "nothing special."; } act hit ghos { here (itm_023); # Wraithlike figure playing equally ghostly piano msg_006; # "Sorry, I can't."; msg_030; # "My hand passes thru!"; } act hit bell { avail (itm_022); # Large bell in (rm_027); !exists (itm_043); # Bed msg_075; # "Whoosh!"; msg_002; # "I see"; msg_095; # "something."; drop itm_043; # Bed } act hit bell { avail (itm_022); # Large bell msg_001; # "OK."; msg_028; # "Ding-Ding."; msg_050; # "GHOSTLY VOICE WHISPERS:"; msg_051; # "Vain..."; } act hit tom { avail (itm_076); # *SACRED TOM TOM* !exists (itm_075); # Indian ghost msg_077; # "Boom!"; msg_077; # "Boom!"; drop itm_075; # Indian ghost msg_059; # "It worked!"; } act hit tom { avail (itm_076); # *SACRED TOM TOM* exists (itm_075); # Indian ghost msg_077; # "Boom!"; msg_077; # "Boom!"; } act hit ghos { here (itm_075); # Indian ghost msg_006; # "Sorry, I can't."; msg_030; # "My hand passes thru!"; } act play any { here (itm_024); # Piano with set of keys !set (flag_13); msg_001; # "OK."; msg_033; # "Odd,"; msg_010; # "something"; msg_034; # "goes THUNK!"; } act play any { here (itm_024); # Piano with set of keys set (flag_13); msg_001; # "OK."; msg_037; # "Very pretty."; } act play pian { here (itm_023); # Wraithlike figure playing equally ghostly piano msg_006; # "Sorry, I can't."; msg_030; # "My hand passes thru!"; } act kill snak { avail (itm_045); # Rattlesnake msg_061; # "The snake won't let me."; } act kill worm { avail (itm_048); # Purple worm msg_001; # "OK."; swap itm_048, itm_049; # Purple worm # Purple Slime msg_062; # "That felt good!"; on flag_05; } act clap any { here (itm_023); # Wraithlike figure playing equally ghostly piano on flag_12; swap itm_023, itm_024; # Wraithlike figure playing equally ghostly piano # Piano with set of keys on flag_02; msg_031; # "The ghost stands, bows, vanishes!"; } act clap any { msg_001; # "OK."; } act read sign { avail (itm_033); # Sign msg_001; # "OK."; msg_040; # "Drop *TREASURES* then say SCORE."; } act read map { avail (itm_025); # Map msg_001; # "OK."; msg_049; # "It's mine, dig roof!"; } act unli cand { avail (itm_009); # Lit candle msg_001; # "OK."; swap itm_026, itm_009; # Unlit candle # Lit candle } act list any { here (itm_023); # Wraithlike figure playing equally ghostly piano msg_037; # "Very pretty."; } act list any { msg_001; # "OK."; msg_041; # "I hear"; msg_011; # "nothing special."; } act brea mirr { here (itm_015); # Mirror msg_019; # "Crack!"; msg_018; # "Flying glass slices me up!"; die; } act brea mirr { here (itm_039); # Taped up mirror msg_001; # "OK."; swap itm_039, itm_017; # Taped up mirror # Broken mirror drop itm_018; # Hole in the wall } act brea any { msg_006; # "Sorry, I can't."; } act jump ravi { in (rm_008); msg_001; # "OK."; goto rm_018; } act jump ravi { in (rm_018); msg_001; # "OK."; goto rm_008; } act jump any { msg_042; # "What?"; } act shak hat { avail (itm_035); # Stetson hat !exists (itm_037); # Small key drop itm_037; # Small key on flag_02; msg_099; # "Something"; msg_035; # "falls out."; } act shak topp { msg_081; # "Is he a ghost? Anyway wrong idea."; } act tape mirr { avail (itm_038); # Roll of tape here (itm_015); # Mirror msg_001; # "OK."; swap itm_015, itm_039; # Mirror # Taped up mirror } act tape any { avail (itm_038); # Roll of tape msg_083; # "Masking tape"; msg_027; # "doesn't seem to do it!"; } act wear hat { has (itm_035); # Stetson hat steal itm_036; # Which I'm wearing msg_001; # "OK."; try { !exists (itm_037); # Small key msg_033; # "Odd,"; msg_010; # "something"; msg_044; # "feels strange."; } } act wear spur { has (itm_034); # *SILVER SPURS* msg_001; # "OK."; } act find any { msg_006; # "Sorry, I can't."; } act cros any { in (rm_008); msg_048; # "How?"; } act slee any { swap tr_07; timer 175; swap tr_07; msg_066; # "Good Night."; off flag_17; off flag_21; delay; delay; try { in (rm_026); msg_065; # "Good Morning!"; msg_056; # "I feel refreshed."; off flag_15; } try { !in (rm_026); msg_057; # "Nights are cold! I caught Pneumonia!"; die; } try { !exists (itm_000); # Worn out fiddle strings move rm_011, itm_000; # Worn out fiddle strings } } act conn wire { avail (itm_051); # 2 loose wires msg_001; # "OK."; swap itm_051, itm_052; # 2 loose wires # Spliced wire try { le (30); on flag_03; } } act move key { !exists (itm_052); # Spliced wire msg_001; # "OK."; msg_100; # "Nothing special"; msg_047; # "happens."; } act move safe { here (itm_054); # Large safe !exists (itm_051); # 2 loose wires !exists (itm_052); # Spliced wire !exists (itm_053); # Pieces of wire msg_001; # "OK."; drop itm_051; # 2 loose wires } act move safe { here (itm_054); # Large safe msg_001; # "OK."; } act move pain { here (itm_016); # 'ole Paint msg_068; # "He won't budge."; } act move pian { here (itm_024); # Piano with set of keys msg_001; # "OK."; } act move key { exists (itm_052); # Spliced wire here (itm_050); # Telegraph key msg_080; # "Click."; msg_079; # "SPARK! * * *"; msg_078; # "... .... ._ _._ . _ ___ .__. .__. . ._."; try { avail (itm_061); # Keg of gunpowder msg_079; # "SPARK! * * *"; msg_077; # "Boom!"; msg_076; # "TOO CLOSE! Pieces of me rain down for days!"; die; } try { avail (itm_012); # Pile of gunpowder msg_079; # "SPARK! * * *"; msg_075; # "Whoosh!"; zap itm_012; # Pile of gunpowder } } act move bed { here (itm_043); # Bed !set (flag_19); msg_001; # "OK."; drop itm_038; # Roll of tape on flag_19; } act move bed { here (itm_043); # Bed msg_001; # "OK."; } act move key { avail (itm_063); # Telegraph key exists (itm_052); # Spliced wire msg_080; # "Click."; select_rv; try { here (itm_061); # Keg of gunpowder swap itm_041, itm_064; # Telegraph office # Smoking open safe msg_077; # "Boom!"; zap itm_052; # Spliced wire } try { here (itm_012); # Pile of gunpowder zap itm_012; # Pile of gunpowder } try { select_rv; } } act move key { avail (itm_063); # Telegraph key !exists (itm_052); # Spliced wire msg_100; # "Nothing special"; msg_047; # "happens."; } act pass go { !exists (itm_056); # *$200* avail (itm_057); # *ORIENTAL GO BOARD* drop itm_056; # *$200* msg_050; # "GHOSTLY VOICE WHISPERS:"; msg_059; # "It worked!"; } act wait any { add 45; swap tr_07; sub 45; swap tr_07; } act clea any { msg_048; # "How?"; } act cove snak { here (itm_045); # Rattlesnake avail (itm_035); # Stetson hat msg_001; # "OK."; msg_072; # "I'm bitten by a snake!"; msg_071; # "It bit through the hat!"; die; } act empt keg { avail (itm_059); # Keg of nails msg_001; # "OK."; swap itm_060, itm_059; # Empty keg # Keg of nails drop itm_062; # Nails } act empt keg { avail (itm_061); # Keg of gunpowder msg_001; # "OK."; swap itm_060, itm_061; # Empty keg # Keg of gunpowder drop itm_012; # Pile of gunpowder } act danc any { here (itm_070); # Ghostly square dance !exists (itm_071); # *SILVER CUP* msg_001; # "OK."; steal itm_071; # *SILVER CUP* .inv; msg_037; # "Very pretty."; msg_087; # "I won a prize!"; } act danc any { msg_001; # "OK."; msg_037; # "Very pretty."; msg_100; # "Nothing special"; msg_047; # "happens."; } act fill keg { avail (itm_060); # Empty keg msg_001; # "OK."; msg_024; # "With what?"; } act shoe any { avail (itm_062); # Nails here (itm_016); # 'ole Paint avail (itm_020); # Horseshoe avail (itm_073); # Hammer msg_001; # "OK."; zap itm_020; # Horseshoe zap itm_062; # Nails on flag_20; } act shoe any { here (itm_016); # 'ole Paint avail (itm_059); # Keg of nails msg_088; # "Sorry, I can't reach a nail."; } act shoe any { here (itm_016); # 'ole Paint msg_006; # "Sorry, I can't."; msg_099; # "Something"; msg_093; # "is missing."; } act knoc ghos { here (itm_023); # Wraithlike figure playing equally ghostly piano msg_006; # "Sorry, I can't."; msg_030; # "My hand passes thru!"; } act knoc pian { here (itm_023); # Wraithlike figure playing equally ghostly piano msg_006; # "Sorry, I can't."; msg_030; # "My hand passes thru!"; } act knoc any { msg_001; # "OK."; msg_100; # "Nothing special"; msg_047; # "happens."; } act spur any { has (itm_034); # *SILVER SPURS* in (rm_025); msg_074; # "He bucks, I'm thrown!"; goto rm_030; move rm_019, itm_058; # Hole kicked in wall & bare hoof print } act spur any { msg_100; # "Nothing special"; msg_047; # "happens."; } treasure=rm_015; initial=rm_001;