5 RANDOMIZE TIMER
10 rem COPYRIGHT 2000, CHRIS CHARLA. ALL RIGHTS RESERVED. THIS PROGRAM MAY BE FREELY DISTRIBUTED, PROV*ING THAT IT IS UNALTERED IN ANY WAY.
20 rem SPECIAL THANKS TO MIKE MIKA, FOR THE BASIC LESSONS AND THE PC CONVERSION. DEDICATED TO GUMPEI YOKOI. OH WAIT, THAT'S FOR GAME BOY.
30 rem Hi Carrie, Hi Oscar!
100 dim rm(51,4):dim ob(23,2):dim l$(23,2):dim vb$(36):dim vt(36)
110 er=0:r=4:rem ER IS OLD ROOM. R IS CURRENT ROOM #.
115 mt=1
116 tb=1
117 dd=4
118 cc=0
119 vu=1
120 ci=1
121 fu=5
122 td=1
123 pd=1
124 cb=1
125 jo=1
126 vi=1
127 si=1
128 mf=0
130 for x=1 to 51:for y=1 to 4
135 read rm(x,y)
140 next y:next x
150 for x=1 to 23:for y=1 to 2
160 read ob(x,y)
170 next y:next x
180 for z=1 to 23:for a=1 to 2
185 read l$(z,a)
200 next a:next z
210 for x=1 to 36:
220 read vb$(x)
230 next x
240 for x=1 to 36:
250 read vt(x)
260 next x
1000 cc=cc+1:if r=er then goto 1100:
1005 if er=51 and r=7 then goto 8010
1010 gosub 4000:
1030 rem: 
1040 for x=1 to 23
1050 if ob(x,2)=r then gosub 5200
1060 next x
1100 rem 
1101 if cc=w1 then goto 5000
1102 if cc=3 then goto 5010
1103 if cc=w2 then goto 5020
1104 if cc=w3 then goto 5030
1105 if cc=w4 then goto 5040
1106 if cc=w5 then goto 5050
1107 if fu<5 then fu=fu-1
1108 if fu=0 then goto 3570:rem blow shit up.
1109 if ob(1,2)=0 and ry=0 and r>6 then goto 7000
1110 if mf=1 then goto 7020
1111 if mf=5 then goto 7020
1112 if mf=9 then goto 7020
1113 if mf>0 and r>8 then goto 7030
1114 if mf>0 and ob(1,2)=100 then goto 7060
1115 if mf>0 then mf=mf+1
1200 input m$
1210 print ""
1220 l=len(m$):if l=0 then goto 1000
1225 m1$="":m2$="":m2=0:x=0
1230 for i=1 to l
1240 a$=mid$(m$,i,1):a=asc(a$):if a >= 97 and a <= 122 then a$=chr$(a-32)
1250 if a$ <> " " then goto 1260
1255 if m2$ <> "" then goto 1300
1257 x=1:goto 1290
1260 if x=0 then m1$=m1$+a$:goto 1290
1270 m2$=m2$+a$
1290 next i
1300 if m1$="" then print "Input, please!":goto 1000
1306 mg$=m1$
1307 ml$=left$(m1$,3)
1308 m1$=ml$
1312 mm$=left$(m2$,3)
1314 m2$=mm$
1317 if len(m1$)=1 then goto 5300
1320 for x=1 to 36
1330 if vb$(x)=m1$ then t=vt(x):goto 1350
1340 next x
1345 print "I'm sorry, I don't know how to ";mg$:goto 1000
1350 on t goto 2100,2200,2300,2500,2520,2600,2700,2800,2900,3000,3100,3200,3300,3400,3500,3600,3700,3800
2100 rem 
2110 if m1$="NOR" or m2$="NOR" then m1$="N":goto 1317
2120 if m1$="SOU" or m2$="SOU" then m1$="S":goto 1317
2130 if m1$="EAS" or m2$="EAS" then m1$="E":goto 1317
2140 if m1$="WES" or m2$="WES" then m1$="W":goto 1317
2150 print "I'm sorry, I didn't understand. You must 'go' a direction ('GO NORTH')."
2160 print "Or, you can simply type the direction ('NORTH') or letter ('N')."
2170 goto 1000
2200 ta=0
2202 if m2$="" then print "You mumble to yourself. Feel better?":goto 1000
2206 if r>8 then print "There's no one to talk to in here.":goto 1000
2207 if m2$="WAI" or m2$="CAT" then goto 2280
2209 if m2$="GUE" then goto 2270
2210 if m2$="COP" or m2$="POL" then print "You like to live dangerously, but you don't have a death wish!":goto 1000
2211 if m2$="MAR" or m2$="DAV" or m2$="SPY" then ta=5
2220 if ta=5 and r=7 and mt=1 then goto 2290
2222 if ta=5 and r=7 and mt=0 then print "Marchant looks away. 'Remember our deal, Cartright.'":goto 1000
2224 if ta=5 and r <> 7 then print "Marchant isn't here.":goto 1000
2230 print "I don't understand who you want to talk to.":goto 1000
2270 x=0:x=int(rnd(1)*3)
2272 if x=0 then print "'Isn't it exciting!' says a woman from the English embassy."
2273 if x=1 then print "'Why are you speaking to me?' asks a suspicious Vladistani."
2274 if x=2 then print "'Someone will pay for this outrage.' mutters a Morolian diplomat."
2276 goto 1000
2280 if ob(1,2) <> 0 then goto 2286
2281 if r<4 or r>5 then goto 2287
2282 print "Unless you want one of them to recognize you as an imposter and go to the"
2283 print "police, you should probably steer clear of your fellow waiters. Anyway they"
2284 print "might find that tux you have on under your waiter's uniform a little weird."
2285 goto 1000
2286 print "It's not polite for guests to talk to the help in Vladistan.":goto 1000
2287 print "There are no waiters around here.":goto 1000
2290 print "Marchant looks at you. 'Cartright. I thought zat was you in zee waiter outfeet."
2291 print "I suspect we have been sent here on similar errands by our superiors. "
2292 print "And now I suspect zat zis bomb threat may be your doing, no? It eez troubling.'"
2293 print "He pauses for a moment then turns to you. 'For one of us to accompleesh his "
2294 print "mission, the other must fail. I am thus tempted to turn you in. No doubt you "
2295 print "may be theenking the same thing. So I propose a truce of sorts. I will keep my"
2296 print "mouth shut about you, and you do zee same for me. Of course, like all bargins"
2297 print "in zees business, I cannot make any guarentees about the duration of our deal."
2298 mt=0:goto 1000
2300 if m2$="" then goto 2390
2310 for x=1 to 23:rem first, check fer objects
2320 if m2$=left$(l$(x,2),3) then goto 2340
2330 next x
2335 print "You don't see anything special.":goto 1000
2340 if x=10 then goto 2380
2342 if x=15 or x=17 then goto 2378
2345 if x=16 then goto 2382
2350 if x=21 then goto 2384
2351 if x=20 then goto 2385
2355 if x=2 then goto 2386
2356 if x=8 then goto 2365
2360 print "It's just an ordinary ";:print l$(x,2);:print ".":goto 1000
2365 if vi=0 and si=1 then print "There is some vinegar in the jar and ";:goto 2376
2366 if vi=1 and si=0 then print "There is some vinegar in the jar and ";:goto 2376
2367 if vi=1 and si=1 then print "The jar is empty, and ";:goto 2376
2368 if vi=0 and si=0 and jo=0 then print "The jar is open, and filled with a bubbling solution.":goto 1000
2369 if vi=0 and si=0 and jo=1 then print "The jar is closed, but there is bubbling inside.":goto 1000
2376 if jo=1 then print "the jar is closed.":goto 1000
2377 if jo=0 then print "the jar is open.":goto 1000
2378 print "It looks like ordinary cleanser of Eastern European design -- "
2379 print "meaning it looks rough and kind of gray.":goto 1000
2380 print "The note is in French. It says: Marchant, the Slava is the plastique."
2381 print "Good luck, Yves.":goto 1000
2382 print "At first it looked like cleanser, but on closer examination, it"
2383 print "actually bears a closer resemblance to modeling clay.":goto 1000
2384 print "These are the plans to the XJ-39 nuclear device!":print "They are printed on special, waxy, paper.":goto 1000
2385 print "It's a top secret Morolian codebook.":goto 1000
2386 print "It's loaded.":goto 1000
2390 er=0:goto 1000
2500 m1$="I":goto 1317
2520 rem
2530 if td=1 then print "As always, you are in top physical condition."
2540 if td=0 then print "You're a little shaken from the blast, but otherwise you feel fine."
2550 goto 1000
2600 if ob(5,2)=0 then goto 2620
2615 print "You need a knife before you can cut anything!":goto 1000
2620 if r=16 then goto 2650
2630 if r=51 then goto 2670
2640 if r=19 then goto 2648
2642 print "You can't cut anything here.":goto 1000
2648 print "Cutting the wires is pointless -- you need to really disable the transmitter.":goto 1000
2650 print "You cut the ropes holding the dumbwaiter up and it plunges down!":print ""
2660 r=50:goto 1000
2670 if ob(19,2)=0 then goto 3374
2680 if ob(19,2) <> 0 then goto 3373
2700 if m2$="COP" or m2$="POLICE" then goto 2750
2720 if m2$="ME" or m2$="SEL" then goto 2760
2730 if m1$="sho" then goto 2740
2735 print "You are a spy, not an assassin. Killing is not the way you do business.":goto 1000
2740 if ob(2,2)=0 then goto 2742
2741 print "You need a gun or rifle to shoot!":goto 1000
2742 print "The rifle misfires! The bullets must be 100 years old.":goto 1000
2750 if ci=0 then goto 2752
2751 print "You can't see anyone to shoot!":goto 1000
2752 print "Before you can react, the Vladistani officer delivers a well"
2753 print "placed bullet to your kneecap, and you go down hard.":goto 5052
2760 if ci=0 then goto 2765
2761 print:print "As you crack the cyanide pill in your tooth, you muse: the mission"
2762 print "is a failure, the XJ-39 is as good as in the Red's hands, but at"
2763 print "least you won't be around to see the Soviets take over...":goto 8000
2765 print:print "As you crack the cyanide pill in your tooth, you muse: the mission"
2766 print "is a failure, but at least the Vladistanis won't get the satisfaction"
2767 print "of tossing you to one of their meaty torturers. Your secrets die with you.":goto 8000
2800 if ob(22,2)=0 then goto 2815
2810 print "You don't have a shovel!":goto 1000
2815 if r=46 then goto 2840
2817 if r=45 then goto 2876
2820 if r<50 and r>37 then print "You dig a little into the dirt floor, but it fails to accomplish much here."
2825 if r<38 then print "You need dirt to dig in."
2830 goto 1000
2840 print "You dig out some dirt from the soft cellar floor just under the":print "massive vault door.":print:dd=dd-1
2850 if dd=3 then print "There is now a little hole under the massive door.":goto 1000
2855 if dd=2 then print "The hole under the door is getting much bigger now.":goto 1000
2857 if dd=1 then print "The hole under the door is almost big enough to crawl through!":goto 1000
2860 if dd=0 then print "The hole under the door is big enough to crawl through! "
2865 if dd=0 then goto 2875
2867 if dd=-1 then print "Any more digging and you could collapse the hole!":goto 1000
2869 if dd=-2 then print "The hole under the door collapses!":dd=5:rm(46,1)=0:goto 1000
2870 goto 1000
2875 rm(46,1)=45:goto 1000
2876 print "You dug under the door, now don't try to get cute.":goto 1000
2900 if m2$="ALL" then goto 2955
2910 for x=1 to 23
2915 if m2$=left$(l$(x,2),3) then 2930
2920 next x
2925 print "You can drop what you can't take!":goto 1000
2930 if ob(x,2)=0 then 2945
2940 print "You aren't holding that!":goto 1000
2945 if x=1 then goto 2960
2946 if x=16 and r=33 then goto 2970
2947 if x=13 and r=33 and ob(16,2)=33 then 2972
2948 if jo=0 and ob(8,2)=0 and x=7 then goto 2980
2949 if jo=0 and ob(8,2)=0 and x=6 then goto 2985
2950 ob(x,2)=r:print "Dropped.":goto 1000
2955 print "sorry, you need to drop every item individually.":goto 1000
2960 ob(1,2)=100:print "You stash the jacket behind some bushes, revealing your tux."
2965 print "Now you're ready to mingle with the guests!":goto 1000
2970 ob(16,2)=33:print "You pull the Slava out of the box and mold it into one of the"
2971 print "support beams of the radio tower.":goto 1000
2972 ob(13,2)=33:print "You insert the blasting cap into the plastique, with the fuse"
2973 print "sticking out, ready to light.":goto 1000
2980 ob(7,2)=100:vi=0:print "You drop the vinegar into the open jar.":goto 1000
2985 ob(6,2)=100:si=0:print "You drop the baking soda into the open jar.":goto 1000
3000 if m2$="ALL" then goto 3055
3010 for x=1 to 23
3015 if m2$=left$(l$(x,2),3) then 3030
3020 next x
3025 print "Sorry, you can't take that.":goto 1000
3030 if r=ob(x,2) then 3045
3035 if ob(x,2)=0 then goto 3050
3040 print "You can't see the ";:print l$(x,2);:print " here.":goto 1000
3045 ob(x,2)=0:print "You take the ";:print l$(x,2);:print ".":goto 3060
3050 print "You're already holding it!":goto 1000
3055 print "Sorry, you need to 'TAKE' each item individually.":goto 1000
3060 ob(x,1)=0
3065 if x=9 then print "As you pick up the coat you notice a handwritten message on a slip";:goto 3085
3070 if x=12 then goto 3072
3071 goto 1000
3072 print "You grab the attache case and open it, to reveal, along with a copy of"
3075 print "Le Monde, which you discard, a small blasting cap with a length of fuse"
3080 print "coming from one end.":ob(13,2)=0:goto 1000
3085 print " of paper in an inner pocket.":ob(10,2)=0:goto 1000
3100 if m2$="JAR" then goto 3150
3120 if r=11 then goto 3140
3140 print "You gently close the French door you came in.":goto 1000
3150 if ob(8,2)=0 then goto 3153
3151 if ob(8,2)=r then goto 3153
3152 print "You can't see any jar here.":goto 1000
3153 if jo=1 then goto 3170
3160 jo=1:print "You close the jar tightly.":goto 1000
3170 print "The jar is already closed!":goto 1000
3200 if r=13 then goto 3230
3220 if r=14 or r=46 then goto 3229
3221 if r=51 then goto 3228
3222 print "There's nothing to unlock here.":goto 1000
3228 print "You don't have a key for the iron padlock.":goto 1000
3229 print "You haven't got the combination.":goto 1000
3230 if ob(14,2)=0 then goto 3240
3235 print "You haven't got the key!":goto 1000
3240 print "You unlock the cloak room with the key."
3250 rm(13,2)=15:goto 1000
3300 if m2$="JAR" then goto 3340
3302 if r=46 then goto 3320
3303 if m2$="PAD" or m2$="LOC" or m2$="DOO" then goto 3370
3304 if m2$="WIR" then goto 3322
3305 if m2$="TOW" or m2$="RAD" then goto 3324
3310 print "You can't break anything here.":goto 1000
3320 print "The blast door withstands your best efforts.":goto 1000
3322 print "You snap the wires, but you can't be sure they are the ONLY wires...":goto 1000
3324 if r=33 then goto 3325:print "You can't see that here.":goto 1000
3325 print "You'll need more than brute strength to take down the radio tower.":goto 1000
3340 if ob(8,2)=0 then goto 3350
3341 if ob(8,2)=r then goto 3350
3342 print "You can't see the jar here.":goto 1000
3350 if vi=0 and si=0 and jo=1 then goto 3360
3351 if vi=0 and si=0 and jo=0 then goto 3357
3352 if vi=0 and si=1 then goto 3355
3353 if vi=1 and si=0 then goto 3355
3354 print "You smash the jar. It doesn't make as loud a noise as you'd expect.":ob(8,2)=100:goto 1000
3355 print "You smash the jar, spilling its contents.":ob(8,2)=100:goto 1000
3357 print "You smash the open jar, spilling its contents. The soda and vinegar foams"
3358 print "for a while on the floor.":ob(8,2)=100:goto 1000
3360 print "You smash the closed jar on the floor. The stored up gasses make a"
3361 print "surprisingly loud POP! A moment later, your wrist radio buzzes."
3362 print "'I don't know what you did in there,' says K, 'but they picked it"
3363 print "up on their listening devices, and they now seem convinced that there's"
3364 print "some kind of explosive activity going on in there. I think the"
3365 print "authorities will stay out for the time being.'":ob(8,2)=100:vu=0:goto 1000
3370 if r=51 then goto 3372
3371 print "Despite your best efforts, you fail.":goto 1000
3372 if ob(19,2)=0 then goto 3374
3373 print "You don't have the right tool to do that!":goto 1000
3374 print "You snap off the old padlock.":rm(51,3)=7:goto 1000
3400 if m2$="JAR" then goto 3450
3420 if m2$="DOO" then goto 3430
3425 if m2$="SLA" or m2$="SUD" or m2$="STA" then goto 3440
3430 print "The door doesn't budge.":goto 1000
3440 print "You open the box, look inside, then close it again.":goto 1000
3450 if ob(8,2)=0 then goto 3455
3451 if ob(8,2)=r then goto 3455
3452 print "What jar?":goto 1000
3455 if jo=0 then goto 3470
3460 jo=0:print "You open the jar.":goto 1000
3470 print "The jar is already open!":goto 1000
3500 if m2$="FUS" or m2$="BLA" or m2$="CAP" then goto 3545
3502 if r=41 then goto 3514
3503 if ob(11,2) <> 0 then goto 3512
3504 for x=1 to 23:if m2$=left$(l$(x,2),3) then goto 3507
3505 next x
3506 print "You can't burn that.":goto 1000
3507 if x=21 then goto 3510
3508 if x=16 then goto 3511
3509 print " There's no point in burning the ";:print l$(x,2);:print ".":goto 1000
3510 print "The plans are printed on some kind of flame retardant paper.":print "You'll need more heat to destroy them.":goto 1000
3511 print "The matches are ineffective on the plastique. You need to find":print "something with more power.":goto 1000
3512 print "You don't have anything to burn anything with!":goto 1000
3514 for x=1 to 23
3515 if m2$=left$(l$(x,2),3) then goto 3518
3516 next x
3517 print "You can't burn that here.":goto 1000
3518 if x=16 then goto 3523
3519 if x=21 then goto 3528
3520 if x=20 then goto 3530
3521 print "You toss the ";:print l$(x,2);:print " in the furnace, where it is consumed."
3522 ob(x,2)=100:goto 1000
3523 print:print "The next thing to go through your mind after you toss the Slava into"
3524 print "the furnace is the furnace door itself. The Slava was actually plastique,"
3525 print "and you are dead."
3526 if pd=0 then print "At least the plans are destroyed, so your mission wasn't a total failure."
3527 goto 8000
3528 print "You toss the plans in the furnace with gusto. Let's see the Ruskies try to":print "rebuild the plans from the ashes! The XJ-39 remains American technology!"
3529 print "Your primary mission is complete. Now to escape with your life...":ob(21,2)=100:pd=0:goto 1000
3530 print "The code book burns quickly. You'd never have gotten it past Marchant, anyway.":ob(20,2)=100:cb=0:goto 1000
3545 if ob(13,2)=r or ob(13,2)=0 then goto 3551
3546 print "You don't have the blasting cap!":goto 1000
3551 if ob(11,2) <> 0 then print "You haven't got any matches!":goto 1000
3552 print "You light the fuse on the end of the blasting cap. ":fu=4:goto 1000
3570 print:print "You hear the pop of the blasting cap going off!"
3571 if ob(16,2)=ob(13,2) then goto 3575
3572 ob(13,2)=100:goto 1000
3575 print "The blasting cap sets off the plastique!"
3576 if ob(16,2) <> 0 then 3578
3577 print:print "Unfortunately, you were holding the plastique. You gaze for a moment at":print "the fountain of blood shooting from your wrists before everything goes black.":goto 8000
3578 if ob(16,2)=33 then goto 3583
3579 if ob(16,2)=r then goto 3596
3580 ob(13,2)=100:ob(16,2)=100:vu=0:print "That ought to convince them there was a reason for the bomb threat!"
3581 print:print "*** Your radio crackles. 'We heard the explosion, but the tower is still there."
3582 print "We better hope the plans weren't ready for transfer...":goto 1000
3583 if r=33 then goto 3590
3584 print "A moment after the main blast, you hear the satisfying sound of"
3585 print "transmission tower falling.":vu=0:ob(13,2)=100:ob(16,2)=100:td=0
3586 print:print "*** Your radio crackles. 'Nice work, Cartright.'":goto 1000
3590 print:print "As you fly through the air towards the ground, after being blown"
3591 print "off the roof by the blast, it occurs to you that there may have been"
3592 print "safer places to stand after you lit the fuse. Really, though, falling"
3593 print "two stories is the least of your problems. Getting away from the cops"
3594 print "with your legs blown off will be a much bigger challenge...":goto 8000
3596 print:print "The blast sounds especially loud because you're in the same room as it!":print "Blinded and disorientated by the flash, you don't even"
3597 print "notice the fountain of blood shooting from your neck.":print "You just get very, very sleepy...":goto 8000
3600 print "Sorry, you can't use the word USE. An accepted verb list follows:"
3611 print "Go, North, South, East, West, Talk, Read, Look, Search, Examine,"
3612 print "Inventory, Health, Diagnose, Cut, Shoot, Kill, Dig, Put, Drop, "
3613 print "Remove, Get, Take, Close, Unlock, Break, Pry, Smash, Bend, Open,"
3614 print "Light, Burn, and Use (well, sorta).":goto 1000
3700 home
3720 for x=1 to 2000:next x
3730 print "Okay, you asked for it..."
3740 input po$
3750 home
3760 print "You are in a maze of twisty little passageways, all alike."
3770 print "Exits lead in all directions."
3780 input po$
3790 print "Just kidding...":input po$
3795 er=0:home:goto 1000
3800 print "What would your betrothed, Carrie Shepherd, think if she knew you,"
3810 print "Drake Cartright, master spy, resorted to profanity as soon as"
3820 print "things got tough? Pull yourself together, man!"
3830 goto 1000
3999 end
4000 if r>25 then goto 4020
4010 on r goto 4040,4045,4050,4055,4060,4065,4070,4075,4080,4085,4090,4095,4100,4105,4110,4115,4120,4125,4130,4135,4140,4145,4150,4155,4160
4020 g=r:g=g-25
4026 on g goto 4165,4170,4175,4180,4185,4190,4195,4200,4205,4210,4215,4220,4225,4230,4235,4240,4245,4250,4255,4260,4265,4270,4275,4280,4285,4290
4040 print "You are on the front lawn of the house, just east of the driveway.          ":goto 4340
4045 print "This is the front of the Morolian Ambassador's mansion. To your north is"
4046 print "the front door.":goto 4340
4050 print "You are standing on the front lawn of the estate, just west of the driveway."
4051 print "Several guests are here, waiting for the valets to bring their cars.":goto 4340
4055 print "The back service lot. Nervous caterers mill around, exchanging gossip about"
4056 print "the bomb threat. Police are questioning some of them, but your skills and"
4057 print "your waiter jacket let you mingle with the help without being singled out.":goto 4340
4060 print "You are in the backyard. You can see into the Game Room from here, but you'd"
4061 print "need a ladder to get in from this spot. South of here, you can see."
4062 print "guests chatting in their finery -- a far cry from your waiter's jacket.":goto 4340
4065 print "The backyard. To your west is the back service lot. Tittering guests have"
4066 print "congregated here. The bomb threat and heavy police response has made this THE"
4067 print "event of Vladistan's bleak social season.":goto 4340
4070 print "The heaviest concentration of guests and police are here, east of the house.":print "Most of the guests are diplomats, but one your recognize: Davide Marchant, with"
4071 print "the French Intelligence service. He must be here on an op of his own.":print "Possibly he's after the XJ-39 plans too. The front lawn is south, but to the "
4072 print "east, there appear to be a set of doors that lead to the cellar. Not wanting":print "to be recognized by Marchant, it's tough to look too closely.":goto 4340
4075 print "Here, west of the house, only a few guests are gathered. You spy an open"
4076 print "French door leading to the ball room. This may be your big chance.":goto 4340
4080 print "This is the Parlor and Smoking Room. Hunting trophies and traditional"
4081 print "Morolian hunting horns adorn the walls, and the air is still heavy with"
4082 print "cigar and pipe smoke.":goto 4340
4085 print "The grand foyer of the mansion is well named -- twenty foot ceilings and a "
4086 print "grand chandelier make this one of the more brilliant rooms in all of"
4087 print "Vladistan. A majestic double staircase to the north leads up, and to the "
4088 print "east and west are the living and ball rooms respectively.":goto 4340
4090 print "The grand ballroom. The game room is north, a service hall east, and "
4091 print "the main foyer is south.":if w0=1 then goto 4092:goto 4340
4092 w0=0:w1=cc+5:goto 4340
4095 print "The game room. Morolian games tend to run to blood sports, but a pool."
4096 print "table has been installed in a nod to local sensibilities. ":goto 4340
4100 print "This is the service hall. The kitchen is north, and the cloakroom is south":goto 4340
4105 print "The kitchen is rarely used. An old dumbwaiter is north and stairs to the"
4106 print "cellar are east.":goto 4340
4110 print "This is the cloak room. The only exit is north. ":goto 4340
4115 print "With great effort you squeeze yourself into the dumbwaiter. The controls are "
4116 print "outside, but here inside you can see the ropes that actually move the platform.":goto 4340
4120 print "North Hall. North, stairs lead down. The hallways continues south, and doors"
4121 print "lead east and west.":goto 4340
4125 print "The ambassador's wife's bedroom. It is surprisingly austere.":goto 4340
4130 print "The ambassador's office. Wires lead from a typewriter-like machine north out"
4131 print "a set of French doors here to a roof deck.":goto 4340
4135 print "After the opulence of the downstairs, this hallway is almost austere."
4136 print "There are exits in all directions.":goto 4340
4140 print "This east/west hallway is distinguished by a framed print of Morolian"
4141 print "shepherds.":goto 4340
4145 print "This west end of the hall features a framed print of Oscar D'Agistino, a"
4146 print "scientist of Morolian-Italian descent who worked with Fermi.":goto 4340
4150  print "The only bathroom upstairs. A small linen closet is south.":goto 4340
4155  print "The south hall features a print of the pride of Morolian"
4156  print "industrial accomplishment: a coal-fired power plant.":goto 4340
4160  print "This guest room is coated in dust.":goto 4340
4165  print "The Ambassador's bedroom. It's decorated in gaudy gold lame and"
4166  print "red velvet.":goto 4340
4170  print "The servants' quarters. This military style barracks features"
4171 print "narrow cots. A closet is south.":goto 4340
4175  print "This is a dusty closet.":goto 4340
4180  print "Linen closet.":goto 4340
4185  print "A faint odor of urine hangs in the air of this unused bedroom.":goto 4340
4190  print "The sitting room is decorated with cross-stitched renditions of Morolia's"
4191  print "national foods, including blood dumplings and steaming mare's milk.":goto 4340
4195  print "This is a small roof deck. To the west is the radio tower.":goto 4340
4200  print "You are at the base of a tall radio tower (you can probably see to"
4201  print "Moscow from the top, you think grimly).":goto 4340
4205  print "The other main entertainment room, the living room is decorate with"
4206  print "gold velvet couches and rugs of Morolian yak fur, died royal purple.":goto 4340
4210  print "This magnificent walk in closet is packed with gilded uniforms of the"
4211  print "Morolian Foreign Service.":goto 4340
4215  print "Tiny closet.":goto 4340
4220  print "As bleak as its description, this closet is.":goto 4340
4225  print "This old cellar room is filled with cobwebs.":goto 4340
4230  print "The western end of the cellar hallway.":goto 4340
4235  print "Apparently this is an interrogation room (or else the Ambassador's pretty kinky)."
4236  print "Various implements of torture that you thought went out with the Plague litter"
4237  print "the room, including a rack.":goto 4340
4240  print "This room is dominated by a massive black furnace: a gaping hole in the side"
4241  print "reveals white hot flames.":goto 4340
4245  print "The hallway goes east and west here, and a passage heads north.":goto 4340
4250  print "You're in a dirt-floored north/south hallway.":goto 4340
4255  print "This was probably the kitchen storeroom at one time, judging from the"
4256  print "old orange crates and what not littering the floor. A door in the west"
4257  print "wall probably used to lead up, but it is firmly boarded shut.":goto 4340
4260  print "A high-tech warren of East German VAX clones, the hum of air conditioning"
4261 print "and massive reel to reel tape drives makes it hard to even think in here."
4262  print "Clearly, this is where the bulk of the espionage happens in Vladistan.":goto 4340
4265  print "The hall continues east and west from here. An imposing door lies north.":goto 4340
4270  print "This dirt floored room is entirely empty.":goto 4340
4275  print "This room is filled with garbage of every imaginable kind.":goto 4340
4280  print "Given its contents, you could probably (if you were feeling charitable)"
4281  print "call this room 'garden storage,' but you'd probably be just as accurate"
4282  print "calling it 'more garbage' or 'dingy cellar room.'":goto 4340
4285  print "You are crammed into the dumbwaiter, which is wedged into the bottom"
4286  print "of its shaft. One lone cut rope swings piteously.":goto 4340
4290  print "You are on some sloping stairs that lead to the lawn. Doors close"
4291  print "above your head.":goto 4340
4340 er=r:return
5000 if vu=0 then goto 1000
5001 print:print "***Your one-way wrist radio crackles to life. It's K, with a message:"
5002   print "Cartright, the bomb scare won't hold the police back very "
5003   print "long. You need to make a boom in there, even if its a small  "
5004   print "one, to keep them outside.***":w2=cc+10:goto 1000
5010 print:print "***Your one-way wrist radio crackles to life. It's K, with a message:"
5011   print "Cartright, we've received word that a French agent may be on the"
5012   print "premises. We don't know why he's there. Avoid him or talk to him":print "at your discretion, but remember, ";
5013   print "when it comes to nuclear secrets,":print "we have no allies.***":goto 1000
5020 print:print "***Your one-way wrist radio crackles to life. It's K, with a message:"
5021   print "'We may have an opportunity to kill two birds with one stone here."
5022   print "Now that you're in, see if you can destroy the radio tower on the "
5023   print "roof. Good luck.'*** ":w3=cc+40
5024   print:print "A moment later the radio crackles again. 'Cartright, K. Bit of a"
5025   print "wrinkle for you. It appears the tower there is a reverse packet."
5026   print "radio transmitter. The XJ-39 data may be waiting for the Russians to"
5027   print "call in. You must, I repeat MUST, bring that radio tower down! K out.'":goto 1000
5030   if vu=0 then goto 1000
5031 print:print "***Your one-way wrist radio crackles to life. 'Cartright!,' barks"
5032   print "K, 'the cops haven't detected a blast and they're about to come in!"
5033   print "GET OUT! But if you can't, make sure you are not taken alive."
5034   w4=cc+3 goto 1000
5040   if vu=0 then goto 1000
5041  print:print "***Your wrist radio crackles to life, but you don't need to listen"
5042   print "to know what K is about to say -- you can hear the cops coming"
5043   print "into the building. It's only a matter of time before they get you."
5044   ci=0:w5=cc+3:goto 1000
5050   print:print "Uh-oh. You are face to face with two of Vladistan's finest, joined"
5051   print "by a very angry looking Morolian Marine."
5052   print "Images of a rat-infested prison cell and all the torture you can"
5053   print "stand rush to your head."
5054   print "Of course the agency will deny all knowledge of your actions. As "
5055   print "far as they're concerned, what you're about to get is probably just"
5056   print "punishment for not killing yourself as soon as you realized the cops"
5057   print "were inside. As they drag you away, you wonder how long you can hold"
5058   print "before they break you...":goto 8000
5200 for x=1 to 23
5220 if ob(x,2)=r and ob(x,1)=1 then print l$(x,1)
5230 if ob(x,2)=r and ob(x,1)=0 then print "You see a ";l$(x,2)
5240 next x
5250 return
5300 if m1$="I" then goto 5420
5320 if m1$="L" then er=0:goto 1000
5325 if m1$="N" then goto 5345
5330 if m1$="S" then goto 5355
5335 if m1$="E" then goto 5365
5340 if m1$="W" then goto 5375
5341 print "I'M SORRY, BUT YOUR INPUT WASN'T UNDERSTOOD.":goto 1000
5345 if rm(r,1)<1 then b=1:goto 5385
5353 er=r:r=rm(er,1):goto 1000
5355 if rm(r,2)<1 then b=2:goto 5385
5363 er=r:r=rm(er,2):goto 1000
5365 if rm(r,3)<1 then b=3:goto 5385
5373 er=r:r=rm(er,3):goto 1000
5375 if rm(r,4)<1 then b=4:goto 5385
5383 er=r:r=rm(er,4):goto 1000
5385 for x=1 to 4
5387 if rm(r,x)=-1 and b=x then print "There're too many people around to sneak in that way.":goto 1000
5388 if rm(r,x)=-2 and b=x then print "You could go out that way, but you'd probably be (unfortunately but correctly)":print "shot as a spy.":goto 1000
5389 if rm(r,x)=-3 and b=x then print "The door between the cellar and kitchen is locked tight.":goto 1000
5390 if rm(r,x)=-4 and b=x then print "Impossible. You'd be too conspicuous, and the doors are locked on the inside.":goto 1000
5391 if rm(r,x)=-5 and b=x then print "You scramble up the dusty shoot, but it is cemented over at the top. ":goto 1000
5392 if rm(r,x)=-6 and b=x then print "The door to the cloak room is locked.":goto 1000
5393 if rm(r,x)=-7 and b=x then print "That's the way you got in, but there's too many people there now to go out.":goto 1000
5394 if rm(r,x)=-8 and b=x then print "The door to the north is sealed shut with a massive vaulted blast door.":print "It looks strong enough to defeat even your safe cracking skills.":goto 1000
5395 if rm(r,x)=-9 and b=x then print "The cellar doors are sealed with a strong iron padlock.":goto 1000
5396 next x
5399 for x=1 to 4:if rm(r,x)=0 then j=int(rnd(1)*3)
5400 if j=0 then print "You can't go that way.":goto 1000
5402 if j=1 then print "That's not an exit":goto 1000
5404 if j=2 then print "Despite your best efforts, you fail to find an exit that way.":goto 1000
5406 if j=3 then print "Nope, pick another direction.":goto 1000
5410 next x
5420 rem *
5425 print "You are holding the following:":b=0
5430 for x=1 to 23
5440 if ob(x,2)=0 then print "A ";l$(x,2):b=b+1
5450 next x
5460 if b=0 then print "NOTHING."
5470 goto 1000
7000 print:print "'Why is that waiter mingling with the guests?' you hear a suspicious"
7010 print "voice say behind you.":mf=mf+1:ry=1:goto 1000
7020 print:print "You notice a man following you.":mf=mf+1:goto 1000
7030 print:print "Just as you step inside the hose, the man who's been following you"
7040 print "signals to some police, who quickly surround you and haul you off for"
7050 print "questioning...":goto 8000
7060 print:print "After stashing the waiter's jacket and revealing your tux, you slip"
7070 print "away from your tail and melt into the crowd.":mf=0:goto 1000
8000 print:print "Game over.":end
8010 print:print
8020 print:print "You burst through the celler doors, directly into a crowd of guests."
8030     print "Among them is Marchant. 'Ahh, Cartright,' he says, as he turns to his left,"
8040     print "indicating rapidly approaching men in uniform. 'I zink your mission ees at an"
8050     print "end, one way or another.'"
8060 if ob(21,2)=0 then eg1=1
8070 if ob(21,2) <> 0 and pd=1 then eg1=2
8080 if pd=0 then eg1=3
8090 if td=1 then eg2=1
8100 if td=0 then eg2=0
8110 if ob(20,2)=0 then eg3=1
8120 if ob(20,2) <> 0 and cb=1 then eg3=2
8130 if cb=0 then eg3=3
8135 if eg1=1 then print
8140 if eg1=1 then print "He reaches inside your tux. 'I will take thees,' he says as he grabs the plans."
8145 if eg1=1 then print "He looks briefly at the plans. 'Thees is not the codebook I was sent to steal,'"
8147 if eg1=1 then print "he says. He looks up at you. 'But I think it may be even more valuable, no?'"
8149 if eg1=2 then print
8150 if eg1=2 then print "He looks at you. 'I see from your eyes that you did not find what you came for.'"
8155 if eg1=3 then print
8160 if eg1=3 then print "He pauses. 'You have the look of a man who has completed his mission. It is a"
8170 if eg1=3 then print "look only one in our line of work could see.'"
8175 if eg3=1 then print
8180 if eg3=1 then print "He eyes you briefly, then reaches over and snatches the small Morolian codebook"
8190 if eg3=1 then print "out of your pants pocket. 'The codebook! Wonderful! Cartright,' he beams, 'you"
8200 if eg3=1 then print "have done my mission for me! Merci,' he says as he tucks it away in his coat."
8205 if eg3=2 then print
8210 if eg3=2 then print "Marchant looks at you and frowns. 'You didn't get it did you? Damnit,"
8220 if eg3=2 then print "Cartright. After zis show you put on tonight, how will I get inzide to get zat "
8230 if eg3=2 then print "codebook now, eh? You, my friend, have made my life tres difficile ce soir.'"
8240 if eg3=2 then print "He sighs. 'Ah well, you must do your job just as I must do mine, no?'"
8242 if eg3=3 then print
8245 if eg3=3 then print "He grabs you. 'The codebook, you deedn't destroy it, did you.' You nod."
8250 if eg3=3 then print "Marchant winces. 'My my mission... blown.' He sighs and pulls himself together."
8260 if eg3=3 then print "'Ahh well. Zat is the way, sometimes, the game ends up, eh?'"
8270 input x$
8280 print:print "Before you can do anything, the police are upon you. As they reach for you,"
8290 print "Marchant steps forward. 'Do not touch him,' he says in perfect Vladistani."
8300 print "'This man is with me. He has the full protection of France, and should be"
8310 print "treated as a dipolat, with full immunity. Come with me, mon ami,' he says to"
8320 print "you, and takes you by the arm. As you walk away from the mansion, he leans in."
8330 print "'You owe me one,' he says."
8340 if td=1 then print "'Merci,' you say 'I just wish I had destroyed the tower...'"
8350 print:print:print "THE END."
9999 end
10000 data 7,0,0,2,-1,0,1,3,8,0,2,0,0,-1,6,5,0,8,4,0,0,7,0,4,6,1,-4,0,5,3,11,0,-2,34,-2,-2,17,-2,34,11
10010 data 12,10,13,-7,-2,11,-2,-2,14,-6,34,11,16,13,-3,0,13,0,0,0,0,14,0,0,10,20,19,18,0,0,17,0,32,0,0,17,17,24,21,22
10020 data 0,26,27,20,31,30,20,0,0,29,24,0,20,0,25,23,0,36,0,24,21,35,0,0,0,28,0,21,27,0,0,0,23,0,0,0,22,37,0,0
10030 data 0,22,0,0,0,19,0,33,0,0,32,0,9,10,-2,13,26,0,0,0,25,0,0,0,30,0,0,0,0,39,0,0,38,40,42,0,39,0,0,0
10040 data 42,-5,0,0,43,41,46,39,50,42,0,44,0,0,43,-3,0,46,0,0,-8,47,48,42,46,0,0,0,49,0,51,46,0,48,0,0,0,43,0,0,0,0,-9,48
10050 data 0,0,1,12,1,12,1,12,1,12,1,14,1,14,1,14,1,9,0,100,1,9,1,15,0,100,1,28,1,29,1,29,1,29,1,38,1,38,1,45,1,45,1,49,1,49
10060 data "WAITER'S JACKET","JACKET","On the wall is an antique hunting rifle.","RIFLE","On the pool table sits an ivory ball.","BALL"
10070 data "A pool cue sits on the floor where it was hastily dropped.","POOL CUE","In a special case rests a Morolian hunting knife.","KNIFE"
10080 data "A box of soda is on the floor.","SODA","A bottle of vinegar is on the counter.","VINEGAR","A small mason jar is on the stove.","JAR"
10085 data "A well made coat is draped across a chair here.","COAT"
10090 data "MESSAGE","MESSAGE","A book of matches sits in an ashtray.","MATCHES","An case with the initials DM on it catches your attention.","CASE"
10100 data "BLASTING CAP","BLASTING CAP","In the dust of the servants's closet you notice a key.","KEY","A box of Sudski sits on the floor.","SUDSKI","A box of Slava soap sits on the floor.","SLAVA"
10110 data "An unused bottle of StalinClean (Russia's #1 soap) rests here.","STALINCLEAN","A crowbar rusts in the corner.","CROWBAR","Bolt cutters hang from a hook in the ceiling."
10120 data "BOLTCUTTER","A Morolian Codebook sits unguarded by the console.","CODEBOOK","There! Atop a manila folder lie the plans for the XJ-39!"
10130 data "PLANS","A well used gardening shovel sits in the corner.","SHOVEL","A broken rake lies on the floor.","RAKE"
10140 data "GO","NOR","SOU","EAS","WES","TAL","REA","LOO","EXA","SEA","INV","HEA","DIA","CUT","SHO","KIL"
10150 data "DIG","PUT","DRO","REM","GET","TAK","CLO","UNL","BRE","PRY","SMA","BEN","OPE","LIG","BUR","USE","XYZ","FUC","SHI","PIS"
10160 data 1,1,1,1,1,2,3,3,3,3,4,5,5,6,7,7,8,9,9,9,10,10,11,12,13,13,13,13,14,15,15,16,17,18,18,18
