Constant Story "Yay Games"; Constant Headline "^An interactive awards ceremony.^ Program code by David Welbourn (dswxyz@@64look.ca)^ (Type ABOUT if you wish to learn a little more about this game.)^"; Release 1; Serial "040228"; Constant MAX_SCORE = 0; Constant DIALECT_US = 1; Constant DEATH_MENTION_UNDO; Constant NO_PLACES; Global applaudok = 1; Global bravook = 1; Global cheerok = 1; Global clapok = 1; Global hurrayok = 1; Global huzzahok = 1; Global whistleok = 1; Global woook = 1; Global wootok = 1; Global yayok = 1; Global yippeeok = 1; Global congratsok = 1; Global did4a = 0; Global did5a = 0; Global did6a = 0; Global did7a = 0; Include "Parser"; Include "VerbLib"; !------------------------------------------------------------- Object Auditorium "Massive Auditorium" with cant_go "There's no obvious exit in that direction.", description "The ballroom chosen for the 2003 Xyzzy Awards has been decorated in luxurious style: gold leaf marks the wainscoting below the paintings of famous IF scenes, while the ceiling has a elaborate mural depicting the History of the Implementors. Elegantly-clad waiters glide here and there serving canapes off silver platters, but all eyes eventually return to the stage up front and its velvet curtain. The exit, should you wish to take a stroll in the garden, lies to the west.", w_to "You can't bear to miss the rest of the ceremony.", out_to [; return self.w_to(); ], has light; Object chalkboard "chalkboard listing the winners" Auditorium with name 'chalk' 'board' 'chalkboard' 'winners', phase 0, description [; print "The winners^------------------^"; if (self.phase > 4) print "BEST USE OF MEDIUM: ASCII and the Argonauts (Rob Wheeler)^"; if (self.phase > 5) print "BEST INDIVIDUAL PC: Episode in the Life of an Artist (Peter Eastman)^"; if (self.phase > 6) print "BEST INDIVIDUAL NPC: Triage in Slouching Towards Bedlam (Dan Ravipinto and Star Foster)^"; if (self.phase > 7) print "BEST INDIVIDUAL PUZZLE: The Purple Room in The Recruit (Mike Sousa)^"; if (self.phase > 8) print "BEST NPCS: City of Secrets (Emily Short)^"; if (self.phase > 9) print "BEST PUZZLES: Gourmet (Aaron Reed)^"; if (self.phase > 11) print "BEST SETTING: Slouching Towards Bedlam (Dan Ravipinto and Star Foster)^"; if (self.phase > 12) print "BEST STORY: Slouching Towards Bedlam (Dan Ravipinto and Star Foster)^"; if (self.phase > 13) print "BEST WRITING: Narcolepsy (Adam Cadre)^"; if (self.phase > 14) print "BEST GAME: Slouching Towards Bedlam (Dan Ravipinto and Star Foster)^"; rtrue; ], before [; Take: "You can't pick that up!"; ], daemon [; switch (self.phase) { 0: if (people notin location) { move people to Auditorium; move inky to Auditorium; move Jota to Auditorium; do1a(); } else "^You wonder what Jota's wearing."; 1: Do2a(); 2: Do3a(); 3: Do4a(); 4: Do5a(); 5: Do6a(); 6: Do7a(); 7: deadflag = 2; "^Hooray, and yippee, I do believe you've got the right idea. Woo and woot!! You can now Stop playing this game and go read the real transcript of the award ceremony which begins at http://brasslantern.org/community/comps/txyzzyp03-1.html. Yay!!!!"; } ], has static; object waiters "waiters" Auditorium with name 'waiters', description "The waiters are discreetly supplied with a variety of tasty foods.", before [; Take: "You can't pick that up!"; ], has scenery pluralname animate; object canapes "canapes" Auditorium with name 'canapes' 'foods' 'food' 'canape', description "The waiters are discreetly supplied with a variety of tasty foods.", before [; Eat: print (string) random("Yum. Fresh sushi.^","Yum. Brie on a cracker.^","Yum. Devilled eggs.^","Yum. Mini-pizzas.^", "Yum. Food on a stick. Food always tastes better on a stick.^"); rtrue; ], has pluralname scenery; object wainscoting "wainscoting" Auditorium with name 'wainscoting' 'wainscotting' 'gold' 'leaf', description "*Note: all uses are wainscottish", has scenery; object murals "murals" Auditorium with name 'murals' 'scenes' 'famous' 'ancient' 'modern' 'if' 'walls' 'mural' 'painting' 'paintings', description [; print "You choose one of the murals at random:^"; switch (random(12)) { 12: "An adventurer, heavily burdened with treasure, stands at one end of a bridge. A bear, collared with a golden chain, stands beside him. The troll guarding the bridge quivers in fear."; 1: "A man in a Stellar Patrol uniform blithely walks the corridors of an abandoned space station, while a playful robot follows merrily behind."; 2: "The mural shows a distant overhead view of a large sundial. Either the sundial is of a geographical scale, or else the person wandering around on it is very, very small."; 3: "A person sits strapped to an uncomfortable-looking metal chair. Across the desk is an older gentleman with a cruel look in his eye."; 4: "A hapless enchanter tries falteringly to read something from his spellbook, while a rainbow-colored turtle sits nearby."; 5: "A young woman dressed in white tries to scale a model pyramid, in order to place a small metal flag -- or is it an antenna? -- on top of it."; 6: "A six-legged robot climbs up a stack of shelves, filled with the useless parts of other, less fortunate machines."; 7: "Outside a white house with a boarded-up front door, an adventurer idly looks through a leaflet."; 8: "Two men in primitve clothing stand across from one another. They seem to be having trouble making themselves understood."; 9: "Someone whose face is unclear is strapped into a large sphere. Two other people, a man and a woman, work on nearby computer consoles."; 10: "This one is an abstract work, utilizing the six primary colors of light in a very moving and provocative way."; 11: "A small spaceship launches out of a poc-marked asteroid, intended for an unknown destination."; } ], before [; Take: "The walls are conveniently immobile."; ], has scenery pluralname; Object stage "stage" Auditorium with name 'stage' 'logs' 'tips', description "The stage's surface is fairly highly-polished despite being made of fallen timbers, and there's even room for an orchestra pit in front. There is a podium on the stage.", before [; Enter: "You run for the stage, dreaming of glory, but are suddenly pulled back by many pairs of strong hands. A stern security team directs you back to the seating area."; Take: "How ridiculous."; ], has scenery enterable; Object curtain "curtain" Auditorium with name 'curtain', description "Some people might say there's a trifle too much glitter and heavy fabric, but clearly those people have never been to the Oscars.", has scenery; Object podium "podium" Auditorium with name 'podium', description "Polished fine-grained wood, very nice. Silver runes are inlaid into the surface: tiny wands, stars, scrolls, axes, and the like, which all together form the outline of a brass lantern, the official symbol of the XYZZY awards.", has scenery; Object Jota "Jota" with name 'jota', description [; print "Jota stands about 6'2~, with broad shoulders and a large frame. His long brown hair is tied up in a ponytail, and his beard is neatly trimmed. Today he wears a dashing black tuxedo, complete with a dark blue cummerbund and matching bow-tie.^"; if (chalkboard.phase == 0) { chalkboard.phase = 1; do1b(); } rtrue; ], has animate male proper; Object inky "inky" with name 'inky', description "inky has a vaguely distracted look about himself, as if he's constructing a giant machine in the dimension just next door.", has animate male proper; Object lpsmith "lpsmith" with name 'lpsmith', description "Lucian has the calm demeanor of someone who has no idea what is going on, but is good at faking it.", has animate male proper; Object people "people" with name 'people' 'players' 'men' 'women', article "many other", description "Anyone in particular you want to look at?", has animate pluralname; Object seat "seat" Auditorium with name 'seats' 'chairs' 'cushions' 'seating' 'seat' 'chair' 'cushion', description [; print "You see nothing special about the seating."; if (player notin self) print " But maybe you'd like to sit down?"; "^"; ], after [; Enter: print "You sit down somewhere comfy.^^"; if (chalkboard.phase == 1) { chalkboard.phase = 2; } rtrue; ], has scenery enterable supporter; [ Do1a; "^Many many people arrive from the west.^ inky looks at Jota.^ inky says (to Jota), ~hey, nice cummerbund~"; ]; [ Do1b; print "^DavidW looks at Jota.^Rob looks at Jota.^FanBoy looks at Jota.^ Bishop looks at Jota.^Kwi looks at Jota.^Storme looks at Jota.^ Jacqueline looks at Jota.^zebulon looks at Jota.^maga looks at Jota.^"; print "JessK looks at Jota^Scott looks at Jota.^Rob says, ~let the gold balls roll~^ zarf does not look at Jota^two-star looks at Jota.^ Gunther says, ~too! many! golden! spheres!~^ Random-Q-Hacker does not look at Jota.^ Bishop exclaims, ~Everybody stare!~^"; print "Artis looks away from Jota.^kyria79 looks at Jota.^ inky erases the chalkboard, cleaning things up for this year.^ Chrysoula looks at Jota.^zebulon tries to avoid staring^"; ]; [ Do2a; print "^"; print (string) random("FanBoy glues himself to the ceiling.", "Kwi pulls a chair out of his box, sits", "alkahest looks around. It's her first XYZZY award ceremony ...", "yhlee finds herself a floor cushion and sits, gratefully/gracefully.", "zebulon checks watch, clears his throat, expectantly", "Jacqueline leaves her auditorium chair and finds a floor cushion next to Yoon.", "zebulon snaps his fingers, causing a chair of pure light to appear in mid-air.^Gunther says (to zebulon), ~OW MY EYES~", "Jearl just fricking sits down. God.", "Random-Q-Hacker sits in three of the chairs.", "maga says, ~if y'all aren't going to use the real chairs, I'm going to stretch out.~^ Jacqueline says (to maga), ~Indeed. Join us here. There's cushions aplenty.~"); print "^"; rtrue; ]; [ Do3a; if (seat hasnt general) { give seat general; move lpsmith to Auditorium; "^eileen dims the lights^ lpsmith steps forward to the front stage.^ lpsmith exclaims, ~Hello and welcome to the Annual XYZZY awards for the Games of 2003!~^ lpsmith exclaims, ~Our thanks again to Eileen Mullin, founder of XYZZYnews for hosting the event. The year just wouldn't be the same without it!~"; } else "^Er. Perhaps some sort of response is expected here...?"; ]; [ Do4a; if (did4a == 0) { did4a = 1; print "^lpsmith exclaims, ~So, we begin again, as we do every year, with our first award: Best Use of Medium!~^ lpsmith exclaims, ~And here to present, the dynamic duo, Earth and Sky!~^^"; print "There is a WHOOSH from above, and a blue-white blur speeds towards the stage. It stops being a blur at the podium, and instead becomes Sky, a college-aged woman in a thick blue body stocking with white streaks. ^Artis exclaims, ~Yay sky!~ ^Matthew exclaims, ~Wow, what an entrance!~"; print "^Sky says, ~Uh, hi everybody. I'm supposed to be presenting this award with my brother Austin. I'm not sure where he--~"; print "^^KERRRRASH! Bricks fly from the back of the stage, and through the sudden hole in the back wall steps Earth, a man in his twenties wearing another body stocking, this one grey with orange streaks."; print "^^Earth exclaims, ~Oh yeah! Let's present an award! The nominees are... ^Earth says, ~ASCII and the Argonauts, by J. Robinson Wheeler~ ^Sky says, ~City of Secrets, by Emily Short~ ^Earth says, ~Narcolepsy, by Adam Cadre~ ^Sky says, ~Slouching Towards Bedlam, by Daniel Ravipinto and Star Foster~ ^Earth says, ~...and To Hell in a Hamper, by J. J. Guest~"; print "^^Sky says, ~...and the XYZZY goes to...~^"; print "KA-BOOM! There is a brilliant lightning flash that blinds you for a moment, and when your vision returns, water vapor trails hang in the air, forming letters that read: ^atholbrose anticipates... ^J_J_Guest bites nails ^ASCII And The Argonauts, by J. Robinson Wheeler"; DoFanBoy(); } else { "^How will you, the audience member, show your appreciation now?"; } ]; [ Do5a; if (did5a == 0) { did5a = 1; print "^lpsmith says, ~Next up, we have the award for Best Individual PC.~"; print "^^Pierre steps to the podium ^Pierre bows professionally. ^Pierre says, ~Good afternoon.~ ^Pierre says, ~I have taken your host's kind invitation to come here and present the 2003 award for Best Individual PC, but first I have some business to attend to.~ ^Pierre says, ~It is a matter of grave -- dare I say, criminal -- concern, regarding a certain egregious culinary error that was brought to my attention.~ ^Pierre says, ~Involving something known as 'Cheez Whiz'.~"; print "^^Rob says, ~hee hee hee~ ^inky says (to Pierre), ~it's Sargent's fault!~ ^Sargent says (to inky), ~Those were bacon bars, I swear!~"; print "^^Pierre says, ~Yes. Yes. And I thought it my solemn duty to rectify this situation by presenting something much more palatable. Hence:~ ^Pierre says, ~Courgette & Brie soup: Add diced Brie to courgettes and onion simmered in chicken or vegetable stock. Purie, reheat and garnish with extra diced brie and crispy grilled bacon, cut into strips.~ ^Pierre says (to Sargent), ~And I expect you to be more responsible with your culinary choices in the future.~"; print "^^Pierre says, ~Now, on to the other matter at hand, the nominees for Best Individual PC (player character) are:~ ^Pierre says, ~The PC in Episode in the Life of an Artist, by Peter Eastman.~ ^Pierre says, ~The chef in Gourmet, by Aaron Reed.~ ^Pierre says, ~Eugene Oregon in Narcolepsy, by Adam Cadre.~ ^Pierre says, ~Enra in Shadows on the Mirror, by Chrysoula Tzavelas.~ ^Pierre says, ~And lastly, Dr. Thomas Xavier in Slouching Towards Bedlam, by Daniel Ravipinto and Star Foster.~"; print "^^Pierre says, ~And the winner is....~ ^FanBoy starts drumroll. ^Pierre takes out a snuffbox ^Jearl swwons from the excitement ^Pierre opens his snuffbox, causing his envelope to open and burst with confetti ^Pierre reads his envelope ^Pierre says, ~The PC in Episode in the Life of an Artist, by Peter Eastman.~"; DoFanBoy(); } else { "^How will you, the audience member, show your appreciation now?"; } ]; [ Do6a; if (did6a == 0) { did6a = 1; print "^lpsmith says, ~Well, without further ado, on to our next award which is...~ ^lpsmith exclaims, ~Best Individual NPC, as presented by Dan Shiovitz, aka 'inky'!~ ^inky says, ~hi everyone!~ ^Gunther says, ~you hear AWARD from WEST~ ^inky says, ~Boldo was scheduled to do this, but I'm afraid he's kind of laid up at the moment after a mishap trying to get the Jewelled Eye of Wossname~"; print "^^NamelessAdventurer exclaims, ~boo! boo!~ ^Kwi says, ~Aiee!~ ^NamelessAdventurer climbs up on stage. ^inky asks (of Nameless), ~hey, what are you doing?~"; print "^NamelessAdventurer asks, ~boo! what is this? a *player* giving the Best NPC award?~ ^NamelessAdventurer exclaims, ~NPC rights! Viva la NPC!~ ^inky says (to Nameless), ~hey hey wait -- you're a *PC*, not an NPC~ ^NamelessAdventurer exclaims, ~Hey, I've done my time! I've got a union card!~"; print "^NamelessAdventurer whips out his resume, with entries like ~Frobozz Magic Support~ and ~Enchanter~ prominently circled ^Sky says, ~There's an NPC union? Uh-oh...~ ^inky asks (of Nameless), ~I was an NPC too! What about ~Are you a Chef?~ and ~Badlands Machine~?~ ^inky says (to Nameless), ~ok, ok, look, I'm sure we can work something out; let's just go backstage for a sec~"; print "^^(they leave. inky returns) ^inky says, ~Uh, I'm sorry, NamelessAdventurer is currently having a mishap trying to get the Jewelled Eye of Wossname~ ^inky says, ~I'm sure he'll be back soon~ ^BoingBall says, ~hahaha~"; print "^^inky says, ~in the meantime, let's hear those nominees~ ^inky says, ~for Best Individual NPC, we have ...~ ^inky says, ~the Bookseller in City of Secrets, by Emily Short~ ^inky says, ~Corvallis Oregon in Narcolepsy, by Adam Cadre~ ^inky says, ~Iona in Scavenger, by the on-vacation Quintin Stone~ ^inky says, ~Galen in Shadows on the Mirror, by Chrysoula Tzavelas~ ^inky says, ~and Triage in Slouching Towards Bedlam, by Daniel Ravipinto and Star Foster~"; print "^^inky opens the envelope and looks inside with a puzzled expression. ^inky says, ~aiee!~ ^(From inky) A large mechanical leg comes out of the envelope! ^(From inky) Followed by the rest of Triage!"; DoFanBoy(); } else { "^How will you, the audience member, show your appreciation now?"; } ]; [ Do7a; if (did7a == 0) { did7a = 1; print "^inky says (to Triage), ~uh .. I'll just be seeing after NamelessAdventurer, bye~ ^inky flees backstage ^peccable pushes the emerald. It starts glowing. ^Sarcasmo follows peccable up the stairs ^peccable gestures toward the award. ^peccable says, ~Ok...it says...~"; font off; print "^CAT:TRIAGE.MESSA ^GE.UTIL:RESPONSE ^REPLY.PART:THANK.YOU. ^VERY.MUCH.I.AM.H ^ONORED.TO.RECEIV ^E.THIS.AWARD...."; font on; print "^Bishop falls over. ^Paul exclaims, ~Great speech! Yay Triage!~"; print "^^lpsmith says, ~Next up! 'Best Individual Puzzle'.~ ^lpsmith exclaims, ~And here to present, Adam Cadre!~ ^Adam says, ~The descriptions are pretty vague, so I'm including transcripts of the relevant portion after announcing each nominee~ ^Adam says, ~The nominees are:~"; print "^^Adam says, ~Escaping the quicksand in Max Blaster and Doris de Lightning Against the Parrot Creatures of Venus by Dan Shiovitz and Emily Short~"; style underline; print "^^Oh no! You have fallen into quicksand! ^^>THRASH AROUND ^You only sink further into the quicksand! Only your head remains above the surface!"; print "^^>SCREAM ^Your scream attracts the attention of a malicious-looking adventurer, who grins and laces up a pair of steel-toed kickin' boots. ~Terry, please, oh god you can't--~ you gasp, but it is too late."; style roman; print "^^Matthew falls over. ^Gunther cheers. ^DavidW says, ~hahaha~ ^Paul exclaims, ~Yay puzzle parodies!~"; print "^^Adam says, ~Making the sandwich in Max Blaster and Doris de Lightning Against the Parrot Creatures of Venus by Dan Shiovitz and Emily Short~"; style underline; print "^^>PUT LETTUCE ON BREAD ^Done. ^^>PUT TOMATOES ON BREAD ^Done. ^^>PUT CHEESE ON BREAD ^Which cheese do you mean, the Montgomery Cheddar, the Emmenthal Reserve, or the Cave-Aged Gruyere? ^^>VELVEETA ^^C:@@92>"; style roman; print "^^maga says, ~huzzah~ ^Jearl asks, ~what kind of cruel world makes such a confounding sandwich?~ ^Gunther says, ~HA HA HA~ ^inky says, ~I coded the part with the tomatoes!~"; print "^^Adam says, ~Creating the black powder in Risorgimento Represso by Michael J. Coyne~"; style underline; print "^^They said you'd never be able to land a job at the finest restaurant in town, but you proved them wrong. And now, after fifteen long years as a dishwasher, you have finally been promoted to assistant waiter. There's just one line you need to learn. You practice it in the mirror every night. ~Would you like some fresh ground pepper on your risotto?~ ~Would you like some fresh ground pepper on your risotto?~"; print "^^>DROP RISOTTO ^You place the risotto on the table in front of the customer. ^^>SAY LINE ^~Would you like some fresh black powder on your risorgimento?~"; print "^^...dammit. ^^~Er, I think so?~ the customer says uncertainly. ^^>GRIND PEPPER ^You create the black powder. Half an hour later you are back washing dishes."; style roman; print "^^Kwi says, ~Woo!~ ^^Adam says, ~Getting into the farm in Risorgimento Represso by Michael J. Coyne~"; style underline; print "^^>ENTER FARM ^~Well, all raht, yew kin stay the naht,~ the farmer says. ~Jes make sure yew stay 'way from mah innocent yit busty dawter Lurlene. Whut'd yew say yer name wuz, agin?~ ^^>GIVE BUSINESS CARD TO FARMER ^The farmer squints at the card. ~All raht,~ he says, ~I'll git yer room ready for yew, Mr. Makane.~"; style roman; print "^^DavidW says, ~ha ha ha ha~ ^Photon falls over laughing. ^two-star gasps. ~Oh, no...~ ^^Adam says, ~The Purple Room in The Recruit by Mike Sousa~"; style underline; print "^^ARRGH!! That dirty commie's bullet grazes your left thigh right as you plug him between the eyes with your assault rifle. But what did you expect? They always put the new recruits on the front lines."; print "^^>N^Purple Room^You are in a room with some sort of animate cartoon character in the form of a slender young woman, dressed all in purple, with purple hair and a slight purple tinge to her skin. ~Hello, I'm Purple!~ she says. ~Welcome back to your Young Lady's Illustrated Primer!~"; print "^^>SAY I AM NOT A YOUNG LADY ^~You've no doubt come to me to talk about the changes your body is going through as you blossom into womanhood,~ Purple says. ~But don't worry, honey, because I'm here to answer any questions you might have!~"; print "^^>SAY I AM 22 YEARS OLD AND MALE ^~For instance,~ Purple says, ~My sensors detect that you are bleeding. Don't worry! This is perfectly normal. It's all part of a process called menstruation!~"; print "^^>SAY I AM BLEEDING BECAUSE I WAS SHOT ^~See, every month the lining of your uterus thickens in case you become pregnant,~ Purple explains. ~But if that month's egg is not fertilized, the uterus discards the lining, which is where the blood comes from!~"; print "^^>SHOOT PURPLE ^Your commanding officer emerges from a hidden doorway ^as Purple screams and dies. ~Good work, soldier!~ he says. ~For both exercising your Second Amendment rights and protecting your country from the scourge of sex education, please accept this medal from the Bush Administration!~"; style roman; print "^^JoshuaH appluads. ^alkahest exclaims, ~HAHAHAHAH!~ ^^Adam says, ~And the winner is... the Recruit by Mike Sousa!~"; DoFanBoy(); } else { "^How will you, the audience member, show your appreciation now?"; } ]; [ DoFanBoy n; n = 0; print "^FanBoy"; if (applaudok == 0) { print " applauds"; n = 1; } if (bravook == 0) { print " yells ~Bravo!~"; n = 1; } if (cheerok == 0) { if (n) print " and"; print " cheers"; n = 1; } if (clapok == 0) { if (n) print " and"; print " claps"; n=1; } if (hurrayok == 0) { if (n) print " and"; print " says ~hooray~"; n= 1; } if (huzzahok == 0) { if (n) print " and"; print " says ~huzzah~"; n=1; } if (whistleok == 0) { if (n) print " and"; print " whistles"; n =1; } if (woook == 0) { if (n) print " and"; print " says ~woo~"; n=1; } if (wootok == 0) { if (n) print " and"; print " says ~woot~"; n=1; } if (yayok == 0) { if (n) print " and"; print " says ~yay~"; n=1; } if (yippeeok == 0) { if (n) print " and"; print " yells ~yippee~"; n=1; } if (congratsok == 0) { if (n) print " and"; print " congratulates the winner"; n=1; } " on behalf of everyone."; ]; [ Initialise; location = Auditorium; score = 0; print "^^^^^^^^^"; StartDaemon(chalkboard); ]; [ AboutSub; "This game was written for SpeedIF Century. The rules were: ~Pick something that happened during the XYZZY ceremonies -- the halftime, the haiku, soup, Justin Timberlake -- and write a speedIF based on it. You have two hours.~ Obviously, I took a little longer than that.^^Many thanks must go to Stephen Granade for posting the transcript of the ceremony in an unbelievably quick time, and to all the organizers, presenters, audience members, and auditorium decorators whose words I shamelessly lifted and edited. Bravo. Also, yay Adam Cadre's presentation, which was one of the funniest things I've read in a long time. Huzzah! And a hearty congratulations go to all the winners."; ]; [ XyzzySub; "That's what we're here for, yes."; ]; [ GenericCheer; if (chalkboard.phase == 2) print "FanBoy gives you an odd look, then smiles mischieviously.^"; chalkboard.phase = chalkboard.phase + 1; ]; [ ApplaudSub; if (applaudok) { if (chalkboard.phase >= 2) applaudok = 0; print "You applaud!^Everyone else applauds as well.^"; GenericCheer(); rtrue; } else "Sorry. FanBoy already applauded for you. Try something else."; ]; [ BravoSub; if (bravook) { if (chalkboard.phase >= 2) bravook = 0; print "You yell ~Bravo~^The group around you shouts ~Bravo~ as well. Whoa. Opera night applause.^"; GenericCheer(); rtrue; } else "Sorry. FanBoy already yelled ~Bravo~ or you. Try something else."; ]; [ CheerSub; if (cheerok) { if (chalkboard.phase >= 2) cheerok = 0; print "You cheer!^The room echoes with everyone cheering!^"; GenericCheer(); rtrue; } "Sorry. FanBoy already cheered for you. Try something else."; ]; [ ClapSub; if (clapok) { if (chalkboard.phase >= 2) clapok = 0; print "You clap loudly!^Everyone else claps too!^"; GenericCheer(); rtrue; } "Sorry. FanBoy already clapped for you. Try something else."; ]; [ HurraySub; if (hurrayok) { if (chalkboard.phase >= 2) hurrayok = 0; print "You exclaim ~hooray!~^Many people in the auditorium shout ~hooray!~^"; GenericCheer(); rtrue; } "Sorry. FanBoy already said 'hooray' for you. Try something else."; ]; [ HuzzahSub; if (huzzahok) { if (chalkboard.phase >= 2) huzzahok = 0; print "You exclaim ~huzzah!~^Likewise, others in the room exclaim ~huzzah!~^"; GenericCheer(); rtrue; } "Sorry. FanBoy already said 'huzzah' for you. Try something else."; ]; [ WhistleSub; if (whistleok) { if (chalkboard.phase >= 2) whistleok = 0; print "You whistle through your fingers. Your eardrums pound as everyone else whistles too, the copycats.^"; GenericCheer(); rtrue; } "Sorry. FanBoy already whistled for you. Try something else."; ]; [ WooSub; if (woook) { if (chalkboard.phase >= 2) woook = 0; print "You exclaim ~woo!~^~Woo!~ ~Woo!~ ~Woo!~^"; GenericCheer(); rtrue; } "Sorry. FanBoy already said 'woo' for you. Try something else."; ]; [ WootSub; if (wootok) { if (chalkboard.phase >= 2) wootok = 0; print "You exclaim ~woot!~^More woots fill the room in appreciation.^"; GenericCheer(); rtrue; } "Sorry. FanBoy already said 'woot' for you. Try something else."; ]; [ YaySub; if (yayok) { if (chalkboard.phase >= 2) yayok = 0; print "You exclaim ~YAY!~^All around you, everyone else goes ~yay!~^"; GenericCheer(); rtrue; } "Sorry. FanBoy already said 'yay' for you. Try something else."; ]; [ YippeeSub; if (yippeeok) { if (chalkboard.phase >= 2) yippeeok = 0; print "You exclaim ~yippee!!~^The crowd insanely yells ~YIPPEE!!!~^"; GenericCheer(); rtrue; } "Sorry. FanBoy already said 'yippee' for you. Try something else."; ]; [ CongratsSub; if (congratsok) { if (chalkboard.phase >= 2) congratsok = 0; print "You enthusiastically congratulate the winner.~^Everyone else pipes in with ~Congrats!~ and ~Congratulations!~^"; GenericCheer(); rtrue; } "Sorry. FanBoy already congratulated the winners for you. Try something else."; ]; !------------------------------------------------------------- Include "Grammar"; Verb meta 'about' 'info' * -> About; Verb 'xyzzy' * -> Xyzzy; Verb 'applaud' * -> Applaud; Verb 'bravo' * -> Bravo; Verb 'cheer' * -> Cheer; Verb 'clap' * -> Clap; Verb 'congrats' 'congratulations' * -> Congrats; Verb 'hurray' 'hooray' * -> Hurray; Verb 'huzzah' * -> Huzzah; Verb 'whistle' * -> Whistle; Verb 'woo' * -> Woo; Verb 'woot' * -> Woot; Verb 'yay' * -> Yay; Verb 'yippee' * -> Yippee; [ IsFood; if (noun == canapes) rtrue; rfalse; ]; Extend 'eat' first * noun=IsFood -> Eat;