! You have decided to take a mail-order course (in vacuum repair, ! basketweaving, chicken plucking, or monkey butlering) to improve ! your lot in life. But can you get your homework done and still ! attend a shooting of the Antiques Roadshow and/or When Bankers ! Attack, in which you are to be a featured player? Bonus points ! for including the colors scarlet, rose, paisley, or pastrami. ! Extra double bonus points for including a cardboard cut-out ! of Graham Nelson. You have two hours, starting at 9:30 MUDtime. ! Go! Constant Story "Help! My Vacuum Cleaner Is Broken!"; Constant Headline "^A speedIF 15 entry^ Copyright 2001 by Admiral Jota.^"; Constant MAX_SCORE = 1; Release 1; Include "Parser"; Include "VerbLib"; [ Initialise; location = startroom; move vacuum to player; move tv to player; StartDaemon(tv); "^^^^^Today is the day you bring your antique vacuum cleaner to the Antiques Roadshow. You are supposed to be fifth! But you dropped it! It's broken! And it's all your fault! And now you're going to be late! Run! No, I mean it, run!^"; ]; Object startroom "Long Road" with name 'long' 'road', description "This is a very long road. Houses are on either side. They're standing still, while the road runs north and south. Just to the south is your home. In the distance to the north is the television studio.", n_to roomtwo, s_to "NO! YOU'RE GOING THE WRONG WAY!", has light; Object houses "passing houses" with name 'houses' 'house' 'blue' 'house' 'white' 'passing', description "Big wooden boxes. They hold people and couches and stuff. Some of them are pastrami-colored. Don't ask.", found_in startroom roomtwo roomthree, has scenery pluralname; Object yourhouse "your home" with name 'your' 'my' 'house' 'houses' 'home', description "It's to the south. You're not going south. So it doesn't matter.", found_in startroom roomtwo roomthree, has scenery; Object tvstudio "television studio" with name 'television' 'tv' 'studio', description "It's to the north. You're almost there. Keep running!", found_in startroom roomtwo roomthree, has scenery; Object roomtwo "Long Road" with name 'long' 'road', description "This is still a very long road. Houses, despite not moving, have apparently followed you. A ways to the south is your home. A ways to the north is the studio. A ways to the east is someone's backyard, but you'd have to climb over their fence to get there, and I didn't implement a fence.", n_to roomthree, e_to "You fool! There is no backyard! You're wasting time!", s_to "NO! TURN AROUND! GO NORTH! GOOOOOO NOOOOOORTH!", has light; Object -> mailbox "mailbox" with name 'mailbox' 'mail' 'box', description "It's west of a scarlet house. Not a white house. So there.", after [; Open: "Opened. You mail-stealer you!"; ], has static openable container; Object -> -> letter "letter" with name 'letter' 'mail' 'order' 'mail-order' 'course', description [; give self general; "Hello Repairman!^^Welcome to the Acme Vacuum-Repair Course!^^ This is lesson one! You can fix any vacuum cleaner at all very easily! Just fix the vacuum cleaner with a screwdriver! That's right! FIX THE VACUUM CLEANER WITH A SCREWDRIVER!^^ Now please buy lesson two! My children need to eat! Please!!!"; ]; Object roomthree "Long Road" with name 'long' 'road', description "Yes, it's still a long road, but you're almost here! Well, you are here, but here is not where you want to be. You are almost there! The television studio is just to the north. Your house would be visible in the distance behind you if you turned around, but don't turn around! That's the wrong way!", n_to studio, s_to "NOOOOO! WHY WON'T YOU LISTEN TO ME?!?!?", has light; Object -> screwdriver "screwdriver" with name 'screwdriver' 'screw' 'driver', description "It's a screwdriver. I hope you needed one. If not, leave it where it is!"; Object studio "TV Studio" with name 'studio', description "You're here! The host is further down the row, but you can hear everything that happens on your portable TV. You have a table here. You must now wait for the host!", s_to "NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO!", cant_go "Don't go anywhere! The host is coming!", has light; Object -> table "table" with name 'table', description "It's a table. It's yours. You take off its mask! It's yor tabel!", has supporter scenery; Object tv "portable television set" with name 'portable' 'television' 'set' 'tv', description "It's a little TV set. It can't be turned off. It's playing the Antiques Roadshow. All the time! Muahahaha! Erm. Sorry.", before [; SwitchOff: "You can't! I told you!"; Drop, Insert: "No! You must hear the plot updates!"; ], daemon [; self.number--; if (self.number >= 0) print "^A voice from your little television set says, ~"; switch(self.number) { 19: "Welcome to the Antiques Roadshow!~"; 18: "Our first presenter is a Mary Donnesbin from New Lugen. What do you have for us, Miss Donnesbin?~"; 17: "It's a combination tea-hook/butter knife. I inherited it from my grandmother.~"; 16: "My. It appears to be solid silver. I'd say it's worth at least sixteen ordinary tea-hooks. Treasure it always.~"; 15: "Next we have some interesting works of art here... where did you say you found those?~"; 14: "Um. My, er, great-grandfather found them... er, at an auction. Yeah, that's it.~"; 13: "You just painted those this morning, didn't you?~"; 12: "Well... OK, yes. I did.~"; 11: "They're wonderful. Fantastic use of paisley. I'd estimate that they're worth about fifteen hundred dollars apiece to a collector.~"; 10: "What's this on the next table? Why, is that an original Bonobomiddally?~"; 9: "What's a Bonobomiddally? I'm just the janitor. This is here's my broom. That dog's my dog.~"; 8: "Oh. But... the workmanship! I've never seen such a lifelike toy in my life! Is that genuine fur?~"; 7: "Hey! Get away from my dog! Spike, kill!~"; 6: "Eeeagh! Ow! Yeeowch! Marvellous! Just-- eeeeow!~"; 5: "Our fourth presenter today is Mr. John Cater. What did you bring us?~"; 4: "It's a cardboard cut-out of Graham Nelson.~"; 3: "Is it an antique cut-out?~"; 2: "No.~"; 1: "Oh.~"; 0: "Let's see who our fifth presenter is today, shall we?~"; default: if (location ~= studio) { deadflag = 3; "^A voice from your little television set says, ~I guess our fifth presenter didn't make it today. Oh well. Who's at the next table, then?~^^ Oh no! You're too late! You'll never get to be on Antiques Roadshow!"; } if ((vacuum notin studio) && (vacuum notin table) && (vacuum notin player)) { deadflag = 3; "^The host finally walks up to your table. ~What do you have to show us?~ You slowly realize that you forgot the vacuum cleaner.^^ How embarrassing! You have been humiliated on public television! THE SHAME!"; } if (vacuum hasnt general) { deadflag = 3; "^The host finally walks up to your table. ~What do you have to show us?~ You proudly present your vacuum cleaner. The host looks at it. ~It's broken.~ You pretend that's intentional. ~It's worthless.~^^ You are doomed to live destitute because you skipped work to come here and got fired and didn't make any money from selling your valuable antique vacuum cleaner!"; } deadflag = 2; score++; "^The host finally walks up to your table. ~What do you have to show us?~ You proudly present your vacuum cleaner. ~My. This is quite a piece. What craftmanship. What age. And it appears to be still functional! Well. This is clearly worth a great deal.~ You beam. ~You... you must be a great lover antiques. Would you... would you marry me?~^^ You marry the host from the Antiques Roadshow! And you live happily ever after! The end! And then you return the letter to the person you stole it from!"; } ], number 20; Object vacuum "vacuum cleaner" with name 'vacuum' 'cleaner' 'broken' 'fixed', description [; if (self hasnt general) "It's an antique vacuum cleaner. But it's broken. IT'S WORTHLESS!"; "It's an antique vacuum cleaner. And it's fixed. IT'S PRICELESS!"; ]; [ DeathMessage; if (deadflag == 3) print "You have lost!"; rtrue; ]; [ AboutSub; "You have decided to take a mail-order course (in vacuum repair, basketweaving, chicken plucking, or monkey butlering) to improve your lot in life. But can you get your homework done and still attend a shooting of the Antiques Roadshow and/or When Bankers Attack, in which you are to be a featured player? Bonus points for including the colors scarlet, rose, paisley, or pastrami. Extra double bonus points for including a cardboard cut-out of Graham Nelson. You have two hours, starting at 9:30 MUDtime. Go!"; ]; [ FixSub; if (noun ~= vacuum) "That's not broken!"; if (letter hasnt general) "You don't know how to fix the vacuum cleaner! Yet!"; if (second ~= screwdriver) "You can't fix anything with that!"; give vacuum general; "OK! It's fixed! GOOD JOB!"; ]; Verb "xyzzy" "about" "info" * -> About; Verb "repair" * noun "with" held -> Fix; Include "Grammar"; Extend only "fix" replace * noun "with" held -> Fix;