Global hint_menu = wasp_hints;

!START STUFF

Constant Story  "Sting of the Wasp";
Constant Headline "^Interactive Damage-Control^by Jason Devlin.^(First time players
should type ABOUT)^";
Constant SACK_OBJECT = purse;
!Constant DEBUG;
Constant MAX_CARRIED = 3;
Constant DEATH_MENTION_UNDO;
Constant MANUAL_PRONOUNS;

Constant MAX_SCORE = 20;
Constant TASKS_PROVIDED;
Constant AMUSING_PROVIDED;




Constant NUMBER_TASKS = 20;

Array task_scores -> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1;



Release 1;      Serial "040622";

!FOR pname
Replace MakeMatch;
Replace Identical;
Replace NounDomain;
Replace TryGivenObject;

!FOR DoMenu
Replace DoMenu;
Replace LowKey_Menu;


Include "Parser";

Include "pname";
Include "smartcantgo";
Include "locksmith";


!LIBRARY MESSAGES

Object  LibraryMessages
with    before [;
                       Wear:
                               if (lm_n == 1)
                                       "Who are you, Sarah Jessica Parker?";
                               else
                                       return false;
                       Touch:
                               if (lm_n == 3)
                                       "You don't have time for that. Too bad,
                                       because you've heard some mighty good things
                                       about yourself.";
                               if (lm_n == 1) {
                                       if (noun has female)
                                               "She wouldn't appreciate that.";
                                       if (noun has male && noun ~= charles or scott)
                                               "You don't think he'd appreciate
                                               that. Well, he probably would, but you still shouldn't do
                                               it.";
                                       if (noun has male && noun == charles or scott)
                                               "He wouldn't appreciate that.";
                               }
                               else
                                       return false;
                       Search:
                               if (noun has female)
                                       "You're not a lady cop, and this isn't
                                       Cinemax After Dark.";
                               if (noun has male && noun ~= charles or scott)
                                                                               "You don't think he'd appreciate
                                                                               that. Well, he probably would, but you still
                                                                               shouldn't do it.";
                                                                       if (noun has male && noun == charles or scott)
                                               "He wouldn't appreciate that.";
                               else
                                       return false;
                       WaveHands:
                               "Waving is generally a sign of enthusiasm. As such,
                               you never do it.";
                       Wave:
                               "You'd rather not.";
                       Dig:
                               "You only dig up dirt in the metaphorical sense.";
                       Pray:
                               "You're not getting on your knees unless there's a
                               fur coat in it for you.";
                       Sleep:
                               "There's no time for that now!";
                       Sorry:
                               "You don't apologize even when you're wrong. What
                               chances does someone have of getting one out of you
                               when you're right?";
                       Swim:
                               "As great as you look in swimwear, there's no way
                               you're going to touch public water.";
                       Answer:
                               "If you want to say something, type TALK TO (SOMEONE)
                               ABOUT (SOMETHING).";
                       Attack:
                               "What? And break a nail?";
                       Blow:
                               "Save it for Keith.";
                       Burn:
                               "What, you're a pyro? Couldn't you have a more
                               fashionable neurosis?";
                       Buy:
                               "Most things at Pine Meadows are covered by your
                               dues.";
                       Climb:
                               "Not in that skirt, you don't.";
                       Cut:
                               "Ever since Frank made you cut up your platinum card,
                               you haven't had the heart to do it to anything
                               else.";
                       Eat:
                               "You're on the Kate Moss diet, so unless that's
                               cigarettes or celery, put it down.";
                       Fill:
                               "You'd rather not.";
                       Give:
                               "What are you, Mother Theresa? They can get their
                               own.";
                       Jump:
                               "Jazzercise went out in the eighties.";
                       JumpOver:
                               "You were too cool to play leapfrog as a kid, what
                               makes you think you'll take it up now?";
                       LookUnder:
                               "Bending over has already gotten you in to one
                               awkward position today.";
                       Pull,Push,Turn:
                               if (lm_n == 1 or 2)
                                       "You do manual labour? Get real.";
                               if (lm_n == 4)
                                       "That would be less than courteous. Of
                                       course, that isn't such a problem for you,
                                       but with all that's happened today you'd
                                       prefer not to make anymore enemies than
                                       absolutely necessary.";
                               else
                                       return false;
                       Rub:
                               "Nope, no genie. Guess you'll just have to do things
                               the old-fashioned way.";
                       Show:
                               "What is this? Show and tell?";
                       Sing:
                               "Me me me me!";
                       Smell:
                               "Whatever smell is there is overpowered by your
                               characteristic fragrance: Self-Obsession, by Calvin
                               Klone.";
                       Strong:
                               "Yikes! Save it for the sailors.";
                       Swing:
                               "If only Frank were in to that.";
                       Taste:
                               "Your tongue isn't going on that!";
                       Think:
                               "It's too late for that now; the time for thinking
                               was before you agreed to have sex in the basement!";
                       ThrowAt:
                               "You prefer to throw fits.";
                       WakeOther:
                               "Nope, they're not sleeping. They really are that
                               dull.";
                       Yes:
                               "Saying ~yes~ is what got you in to this whole
                               mess!";
                       No:
                               "You save all your no's for Frank and his busy
                               hands.";
                       Miscellany:
                               if (lm_n == 39)
                                       "That is beneath your concern.";
                               if (lm_n == 19) {
                                       if (banquet has visited)
                                       "All things considered, you did a pretty good
                                       job getting ready. Your clothes are whole;
                                       your hair is fixed, and your makeup is done
                                       reasonably well. However, the current
                                       situation is taking its toll and beads of
                                       sweat roll down from your forehead.";
                                       if (behind_club has visited)
                                       "The fall took its toll on your appearance.
                                       Your skirt was ripped, but you managed to
                                       capitalize on that by tearing it a little
                                       more and turning it in to a fashionable slit.
                                       Although you tried, you failed to get all the
                                       twigs and thorns out of your hair. Still, you
                                       look a lot better than most of the people
                                       around here.";
                                       if (makeup.applied == false && clothes has
                                       open)
                                       "Your lipstick is smeared, your cheeks are
                                       flushed, and your mascara is running. At
                                       least the fact that your blouse is open
                                       should draw attention away from your face.";
                                       if (makeup.applied == false && clothes hasnt
                                       open)
                                       "Your face is a mess. Good thing you're never
                                       far from your makeup.";
                                       if (makeup.applied == true && clothes has
                                       open)
                                       "The job you did on your makeup is pretty
                                       good, considering the lighting in the closet.
                                       Now if you just button your blouse you can be
                                       on your way.";
                                       if (makeup.applied == true && clothes hasnt
                                       open)
                                       "Pure dynamite! Not bad for twenty thousand.
                                       Your ass is high, your tummy is tight, and
                                       your skin hasn't a line or blemish. It's a
                                       shame you'll have to do it all over again in
                                       a year. Oh well, no one said beauty was
                                       easy.";
                                       }
                                       else
                                       return false;
                       ];

!FOR USING MS.

[ BeforeParsing x;
 for (wn=2 : wn<parse->1 : wn++)
 if (buffer->(parse->(4*wn + 1)) == '.' &&
   (parse-->(2*wn - 3) == 'mrs' or 'ms' &&
   parse-->(2*wn + 1) == 'winters' or 'stratham' or 'winnecott' or 'williams' or
   'fordham' or 'william') ||
   (parse-->(2*wn - 3) == 'mr' &&
   parse-->(2*wn + 1) == 'burton' or 'knowles')) {
     buffer->(parse->(4*wn + 1)) = ' ';
     x++;
 }
 if (x) @tokenise buffer parse;
];


Include "Verblib";
Include "utility";
Include "domenu";
Include "AltMenu";
Include "Hints";

Include "dirs_2";

!HINTS AND HELP MENU

Menu    wasp_hints "Sting of the Wasp: Hints and Info"
with    description
                       "Please select one of the following items:",
               number 1;

Hint    amusing_things "Some amusing things to do"
with    description
                       "AMUSING THINGS TO DO";

HintTopic       disclaimer "Disclaimer" wasp_hints;

Hint    "This game contains some strong language and sexual references. However, if
you made it through the introduction, you've probably seen the worst.
^^This is not a pornographic game.
^^Additionally, throughout the course of the game you will likely screw over (note
that I did not say ~screw~) a
variety of people, berate others, and generally be an all around nasty person. If you
are not comfortable playing this type of character, you may quit at any time.
^^The quotation at the beginning of the game is adapted from the American Heritage
Dictionary." disclaimer;


Menu    general_info "General Info about the Game and Author" wasp_hints
with    banner_tags "N=Go Down" "P=Go up" "Enter=Select" " Q=[bug]" "Q=back" 8 7;

HintTopic       about_the_game "Game and Author" general_info;

Hint    "About the Game" about_the_game
with    description
                       "Sting of the Wasp was started in the jobless summer of 2004
                       on June 22nd, went in to Beta around July 13th, and was
                       released for IFComp 2004. It should be impossible to get the
                       game into an unwinnable state, except in the endgame (where
                       you are advised to save immediately). If you do find a way to
                       get stuck, please e-mail me and I will fix it.
                       ^^At the time of this writing, I am going in to my second
                       year of a Bachelor's of Science, Major in Biology, Minor in
                       Chemistry at Malaspina University in the sleepy little town
                       of Nanaimo, British Columbia. I can be reached at
                       jdevlin1984@@64hotmail.com (please forgive the tacky birth
                       year, but at least now you know how old I am) and am more
                       than happy to receive bug reports, comments, insults, or
                       lavish jewelry.
                       ^^After some consideration, I decided not to implement body
                       parts. You'll just have to find another way to have your
                       fun." ;

HintTopic       thank_you "Thank Yous" general_info;

Hint    "Thank Yous" thank_you
with    description
                       "I'd like to thank the following people, for without them,
                       this game wouldn't have been possible:
                       ^^Graham Nelson for Inform and the DM4, which while daunting
                       at first, gave me the abilities to write this game.
                       ^^Roger Firth and Sonja Kesserich, whose Inform Beginner's
                       Guide made the previous attemptable.
                       ^^All of you at r*if for keeping Interactive Fiction alive
                       long enough for me to find it (and really this isn't
                       pandering for votes. Well, maybe a little).
                       ^^Everyone on ifMUD who provided help when I was too
                       impatient to wait for a reply from raif, especially inky who
                       was always there with a friendly hello.
                       ^^Neil Cerutti (pname.h), L. Ross Raszewski (hints.h and
                       supporting files which I modified slightly), Roger Firth
                       (smartcantgo.h), Emily Short (locksmith.h) and Gunther
                       Schmidl (dirs_2) for their extremely helpful library
                       contributions.
                       ^^Stephen Granade and Mark Musante for their work with the
                       annual IFComp.
                       ^^And of course my betatesters Andy Ko, Jan Klinkhammer,
                       Aaron Reed, Drew Mochak, and Tommy Herbert, whose work showed
                       me that finishing the game is only half the battle. Any
                       problems that remain are solely due to my shortcomings as a
                       writer and programmer.
                       ^^This game is dedicated to Dara Barker, whose sass, class,
                       and ass provided the inspiration for Julia.";

Menu    general_hints "General Tips and New Verbs" wasp_hints
with    banner_tags "N=Go Down" "P=Go up" "Enter=Select" " Q=[bug]" "Q=back" 8 7;

HintTopic       general_hints2 "General Tips" general_hints;

Hint    "General Tips" general_hints2
with    description
                       "While I want this game to be as beginner-friendly as
                       possible, writing an entire set of instructions to playing
                       Interactive Fiction is beyond me. Instead, I suggest you take
                       a look at Fredrik Ramsberg's excellent guide to playing IF at
                       http://www.microheaven.com/IFGuide as it can teach you far
                       better than I ever could.";

HintTopic       new_verbs "New Verbs" general_hints;

Hint    "New Verbs" new_verbs
with    description
                       "Most of the new verbs implemented are not needed to complete
                       the game, but rather they exist to allow a little more
                       natural speech. For example, you can SPILL or POUR one thing
                       on something else, but the same could be accomplished by PUT.
                       However, one new verb is necessary to complete the game;
                       hopefully it should be obvious when to use it. At at least
                       one point, you will need to BLACKMAIL (someone) WITH
                       (something), where the something is a word.
                       ^^Additionally, to prevent the headaches associated with
                       getting different responses from ASKing someone about
                       something and TELLing them, the verb TALK TO (someone) ABOUT
                       (something) is implemented. Although you can still use ask
                       and tell (they'll both give you the same response,
                       however).";

Menu    all_hints "Hints" wasp_hints
with    banner_tags "N=Go Down" "P=Go up" "Enter=Select" " Q=[bug]" "Q=back" 8 7;

Menu    getting_started "Getting Started" all_hints
with    banner_tags "N=Go Down" "P=Go up" "Enter=Select" " Q=[bug]" "Q=back" 8 7;

HintTopic       trying_to_do "What am I trying to do?" getting_started;

Hint    "Have fun, for starters." trying_to_do;
Hint    "Reread the introduction." trying_to_do;
Hint    "Sounds like someone took a picture of you while you were, shall we say,
indisposed." trying_to_do;
Hint    "You want to get the photo before it ruins your marriage." trying_to_do;

HintTopic       get_the_photo "How do I get the photo?" getting_started;

Hint    "Well that's the whole game, isn't it?" get_the_photo;
Hint    "Maybe Keith saw something." get_the_photo;
Hint    "He's at the Pro Shop." get_the_photo;

HintTopic       leave_closet "How do I leave the closet?" getting_started;

Hint    "Appearances are very important at Pine Meadows." leave_closet;
Hint    "You might want to fix yourself up a little." leave_closet;
Hint    "Like with some makeup." leave_closet;
Hint    "(it's in your purse)" leave_closet;
Hint    "You might want to button your blouse too." leave_closet;

HintTopic       getting_in_office "How do I get in to the office?";

Hint    "With a key." getting_in_office;
Hint    "The registrar probably has it in his pocket." getting_in_office;
Hint    "Although he may not have his pocket with him." getting_in_office;
Hint    "Look in Charles's locker." getting_in_office;

HintTopic       get_past_cynthia "How do I get past Cynthia?";

Hint    "This is a rather large puzzle. You might want to wander around a bit and try
some other things first." get_past_cynthia;
Hint    "Her Coquille Saint Jacques seems promising." get_past_cynthia;
Hint    "Perhaps you can find a way to poison it." get_past_cynthia;
Hint    "Or something a little more natural." get_past_cynthia;
Hint    "Like an allergy." get_past_cynthia;
Hint    "Something as important as that would surely be in some record somewhere."
get_past_cynthia;
Hint    "Charles's office, for example." get_past_cynthia;

HintTopic       reading_log "What do I do in the Spa lobby?";

Hint    "First off, if the pilates class is still going on, wander around a bit until
five." reading_log;
Hint    "You want to read the log book, but the receptionist won't let you."
reading_log;
Hint    "You'll have to cause a distraction." reading_log;
Hint    "Perhaps you could help Ms. Williams with her colouring." reading_log;
Hint    "Have you searched the utility closet thoroughly?" reading_log;
Hint    "Ms. Williams' hair looks pretty brittle; that bleach would wreak havoc on
it." reading_log;
Hint    "But you can't put it directly in to her hair. Perhaps a more subtle way."
reading_log;
Hint    "Like in her dye." reading_log;
Hint    "Uh oh, she can still see you." reading_log;
Hint    "There are two ways to do this part. One with the rocks, the other with the
salad. Take your pick." reading_log;
Hint    "Some steam might help." reading_log;
Hint    "Pour some water on the rocks." reading_log;

HintTopic       in_office "What should I do in the office?";

Hint    "First you'll have to ensure yourself some privacy." in_office;
Hint    "Close the door..." in_office;
Hint    "... and lock it." in_office;
Hint    "Now you can dig up some dirt on people." in_office;
Hint    "The important one to look up is Cynthia." in_office;
Hint    "Now get out quick before Charles gets in." in_office;

HintTopic       charles_office "Charles won't let me look in the records or use the
phone!";

Hint    "Right, you'll have to persuade him somehow." charles_office;
Hint    "You can catch more flies with honey than vinegar." charles_office;
Hint    "But you're not trying to catch flies, so let's go see if we can find some
vinegar." charles_office;
Hint    "If you already looked up the desk in the cabinets, you can blackmail him
with that. Otherwise, don't worry, there's another way." charles_office;
Hint    "Since he's no longer in the whirlpool, you might try there." charles_office;
Hint    "That young man is quite rude." charles_office;
Hint    "And you certainly don't buy all that assistant nonsense." charles_office;
Hint    "But in addition to being rude, he's also quite secretive. You'll have to
find someway to loosen his tongue (and not Charles's way)." charles_office;
Hint    "Taking his clothes might teach him some respect." charles_office;
Hint    "Now blackmail Charles with that info, and he'll be more than happy to
oblige." charles_office;

HintTopic       get_into_kitchen "How do I get in to the kitchen?";

Hint    "There are two ways of doing this." get_into_kitchen;
Hint    "One involves getting rid of Cissy, the other gives her a reason to think you
have business in there." get_into_kitchen;
Hint    "Do you see Cissy's outfit?" get_into_kitchen;
Hint    "It'd be a shame if something were to happen to it." get_into_kitchen;
Hint    "But what? Something in the room should do the trick." get_into_kitchen;
Hint    "Or something in the waiter." get_into_kitchen;
Hint    "Ask the waiter for some wine." get_into_kitchen;
Hint    "Spill the wine on Cissy." get_into_kitchen;

HintTopic       in_kitchen "What do I do in the kitchen?";

Hint    "Have you been to the office?" in_kitchen;
Hint    "If not, go there now and what you need to do should become clear."
in_kitchen;
Hint    "You need some peanuts, or, barring that, something with peanuts in it."
in_kitchen;
Hint    "Where would something like that be? The cupboards might be a good start."
in_kitchen;
Hint    "But the cooks won't just let you tamper with the food." in_kitchen;
Hint    "Push over the pots to distract them." in_kitchen;
Hint    "Now put the peanut sauce in the Coquille Saint Jacques.";

HintTopic       what_with_melissa "What do I do with Melissa?";

Hint    "Have you smelled her and the access hall?" what_with_melissa;
Hint    "Or talked to Keith?" what_with_melissa;
Hint    "Melissa took the photo, but she won't give it up without a fight."
what_with_melissa;
Hint    "If only you had something to blackmail her with." what_with_melissa;
Hint    "If you haven't looked in her locker, do so now." what_with_melissa;
Hint    "Blackmail her with that." what_with_melissa;
Hint    "Hmm, looks like she'll just deny it. You need some proof the Percodan is
hers" what_with_melissa;
Hint    "Maybe her doctor could help you out." what_with_melissa;
Hint    "You'll have to call him from Charles's office (see ~Charles wont let me use
the phone!~." what_with_melissa;
Hint    "Once you have proof, you'll need some weight behind your threats."
what_with_melissa;
Hint    "Perhaps someone who has certain authority in the club." what_with_melissa;
Hint    "Someone old, with power, and anachronistic views." what_with_melissa;
Hint    "Like Roger." what_with_melissa;
Hint    "Ask Roger about the pills." what_with_melissa;
Hint    "Now your threats have some back-up. Go to Melissa and blackmail her again."
what_with_melissa;

HintTopic       what_now "What do I do now?";

Hint    "Have you blackmailed Melissa?" what_now;
Hint    "She's not spiteful enough to have done it on her own. Perhaps someone put
her up to it?" what_now;
Hint    "Someone she's looks up to, maybe even emulates." what_now;
Hint    "And since you've destroyed pretty much everyone else, that leaves..."
what_now;
Hint    "Beverly." what_now;
Hint    "Ask Beverly about the photo." what_now;
Hint    "If she beats you to the banquet, undo and find a way to slow her down."
what_now;
Hint    "Go to her locker and pour bleach on her clothes." what_now;

HintTopic       endgame "Endgame";

Hint    "You might want to save before doing anything." endgame;
Hint    "The photo's so close you can almost taste, and touch, it." endgame;
Hint    "But Beverly won't let you. Once again, you need to create a scene." endgame;
Hint    "Accidental is the look we're going for." endgame;
Hint    "Try burning the menu." endgame;
Hint    "If the drinks aren't finished, you've lost the game. Undo." endgame;
Hint    "Wait till the drinks are done and then burn the menu." endgame;
Hint    "Now take the photo and burn it." endgame;
Hint    "Congratulations, you've saved your marriage!" endgame;


!TEMPORARY DEFINITIONS

Object  label;
Object  toggle;
Object  menu_style;
Object  sup_bar;


!NEW ATTRIBUTES

Attribute       smelled;
Attribute       contaminated;
Attribute       worker;
Attribute       burning;

!CLASSES

Class   Room
with    name 'wall' 'walls' 'floor' 'ground',
               cant_go [; SmartCantGo(); ],
has             light;

Class   Stuff
with
has             static scenery;

Class   NPC
with
has             animate;

!---------------------------------------------------------------------------
!UTILITY ROOM
!---------------------------------------------------------------------------

Room    utility_closet "Utility closet"
with    description [;
                       if (self hasnt visited) "This is the first time you've been
                       in this closet, and hopefully it will be the last. Keith
                       assured you that no one ever comes down here. And now you can see
                       why.  The concrete walls are oppressively close, made more so
                       by the smell of bleach and chemicals coming from a filthy
                       shelf against the far wall. Various brooms clutter
                       the room, displaying none of the pleasant tidiness
                       characteristic of the rest of Pine Meadows. All this can be
                       escaped through a door to the south.";
                       else "The concrete walls of this closet are oppressively
                       close, made more so by the smell of bleach and chemicals
                       coming from a filthy shelf against the far wall. Various
                       brooms clutter the room, displaying none of the
                       pleasant tidiness characteristic of the rest of Pine Meadows.
                       All this can be escaped through a door to the south.";
                       ],
               south_attempted false,
               before [;
                                       Go:
                                               if (noun == s_obj or out_obj) {
                                               if (clothes has open && makeup.
                                               applied == false) {
                                               if (self.south_attempted == false) {
                                               self.south_attempted = true;
                                               "Just before you walk out, you catch
                                               a glimpse of yourself in the metal
                                               door.  It isn't pretty. You hang back
                                               -- the last thing you need right now
                                               is to be seen in such a state.";
                                               }
                                               else
                                               "You really should fix yourself up
                                               before you leave.";
                                               }
                                               if (clothes has open) "As much as
                                               you'd like to parade your chest
                                               around in public, it just wouldn't go
                                               over too well in this place.";
                                               if (makeup.applied == false) "The
                                               last thing you need right now is to
                                               be seen without your makeup.";
                                               else return false;
                                               }
                                               else
                                               return false;
                                       Smell:
                                       if (noun == nothing)
                                               "The pungent smell of chlorine fills
                                               your nostrils, burning the delicate membranes
                                               inside.";
                                       else
                                               return false;
                                       Listen:
                                       if (noun == nothing)
                                               "The footsteps have gone.";
                                       else
                                               return false;
                       ],
               initial [;
               if (self hasnt visited) "^The next few minutes are a blur.  Keith
               juts his tongue down your throat, but, without you reciprocating, it
               feels like he's searching for cavities. The rhythms of your body no
               longer coincide with his. In fact, the only rhythm left in your body
               is the pounding of your heart, the warm throbbing of blood in your
               ears. He must notice your discomfort as soon he backs off and starts
               buttoning his shirt.  ^^~Well, I gotta get back to the Pro Shop,
               babe,~  he says, grabbing his shades. ~Stop by later.~ With that, he
               takes off down the hall, leaving you, still stunned, slumped against
               the wall.";
               ],
               s_to access_hall,
               out_to access_hall,
has             ;

Object  shelf "shelf" utility_closet
with    name 'shelf' 'filthy' 'sagging' 'shelves' 'metal',
               description "A filthy metal shelf hangs on the far wall, sagging from
               the weight of the cleaning supplies it struggles to support.",
               before [;
               Search,Examine:
                       if (bleach hasnt moved) {
                       move bleach to utility_closet;
                       Achieved(0);
                       "A filthy metal shelf hangs on the far wall, sagging from the
                       weight of the cleaning supplies it struggles to support.
                       Although most of them are foreign to you, you do recognize
                       one bottle as bleach.";
                       }
                       else

                       return false;
               ],
has             supporter scenery static transparent;

Stuff   broom "brooms" utility_closet
with    name 'broom' 'mop' 'mops' 'brooms' 'wooden',
               description "Do people even still use these things? They're so dirty
               and utilitarian. Like those who use them, you suppose.",
               before [;
                       Take,Push:
                       "Brooms are for witches, and despite accusations to the
                       contrary, you are not one.";
                       ]
has             pluralname;

Object  bleach "bleach"
with    pname '.x' 'bottle' 'bleach' 'peroxide' 'chemical' 'chemical' 'clorox'
'chlorine'  'jug' 'of' 'old' 'javex',
               article "some",
               initial
                       "The main source of that smell, an old bottle of bleach,
                       rests on the filthy shelf at the back of the closet.",

               description
                       "Although cleaning has never been your forte, judging by the
                       label and its numerous warnings, you would say this bottle
                       contained bleach.",
               before [;
                       Empty:
                               "You don't want to spill the bleach just anywhere.";
                       EmptyT:
                               <<Insert self second>>;
                       Open:
                       "Better not, if it were to get on your clothes they would be
                       ruined.";
                       Drink:

                       "Although it would certainly give you the shiny white smile
                       every girl dreams of, you'd rather keep your lips for that
                       conventional look.";
                       Smell: "The pungent smell of chlorine fills your nostrils,
                       burning the delicate membranes inside.";
               ],

has             ;

Stuff   cleaning_supplies "cleaning supplies" shelf
with    pname '.x' 'bleach' 'cleaning' 'supplies' 'javex' 'chemicals',
               description
               "Just some assorted bottles of chemicals that people use to fight off
               the ever-approaching threat of dirtiness.",

               before [;
                       Take: "Nah, let the cleaning staff handle that.";
                       Smell: "The pungent smell of chlorine fills your nostrils,
                       burning the delicate membranes inside.";
                       Examine,Search:
                       if (bleach hasnt moved) {
                       move bleach to utility_closet;
                       Achieved(0);
                       "Just some assorted bottles of chemicals that people use to
                       fight off the ever-approaching threat of dirtiness. While
                       most of the labels could be written in Greek as far as you're
                       concerned, one stands out to you as bleach.";
                       }
                       else

                       return false;
                       ],
has             pluralname;

Stuff   walls "walls"
with    article "some",
               name 'walls' 'wall' 'concrete',
               found_in utility_closet access_hall,
               description "There's nothing special about the walls.  Except that
               they're unadorned concrete, a rarity in Pine Meadows.";

Stuff   utility_door "metal door"
with    name 'door' 'metal' 'doorway',
               description "You can just barely make out your reflection in it.",
               found_in utility_closet access_hall,
               before [;
                       Open: "It's already open.";
                       Close: "There's no need to close the door.";
                       Enter:
                               if (player in utility_closet)
                                       <<Go s_obj>>;
                               else
                                       <<Go n_obj>>;
               ],
has             lockable;




Object  clothes "ensemble"
with    pname '.x' 'my' '.x' 'your' 'clothes' 'clothing' 'skirt' 'blouse' 'shoes'
'ensemble' 'outfit' 'couture' 'haute' 'pumps' 'silk' 'shirt' 'Prada' 'Yves',
               article "your",
               description [;
                       if (clothes has open) "Nothing but the best for you.  Pumps
                       from Prada, skirt by Yves Saint Laurent, a gorgeous silk
                       blouse from the much-coveted Vera Wang collection which is
                       currently hanging about your shoulders, exposing your three
                       thousand dollar chest.";
                       else {
                       if (behind_club hasnt visited)
                       "Nothing but the best for you.  Pumps from Prada, skirt by
                       Yves Saint Laurent, a gorgeous silk blouse from the
                       much-coveted Vera Wang collection.  Too bad it'll all have to
                       be replaced in two weeks.";
                       else
                       "It's tragic really, the damage done by the fall. Oh well,
                       these clothes were two weeks old; it's about time they were
                       replaced.";
                       }
               ],
               before [;
                       Receive:
                               if (noun == bleach or wine)
                                       "That would ruin your clothes!";
                               else
                                       return false;
                       Search:
                               "You find something of interest. Well, to men at
                               least.";
                       Disrobe,Open:
                               if (location == office && charles in office)
                               "Last time you tried that you spent the night in a Connecticut
                               holding cell.";
                               if (location == whirlpool && scott.blackmailed == false)
                               "~Shit, girl,~ the young man says, averting his eyes, ~no one wants
                               to see that.~
                               ^^Phah. Try telling that to Keith or Frank.";
                               if (location == whirlpool && scott.blackmailed == true)
                               "~Please, girl,~ Scott pleads, ~it's bad enough I have to see
                               Charles's breasts.~";
                               if (location == pro_shop)
                               "~Ah,~ Keith says, smiling. ~Have you finally come around about the
                               counter?~
                               ^^On second thought, maybe this isn't such a good idea.";
                               if (location == driving_range) {
                                       (deadflag = 3);
                                       "Roger intercepts your advance with a
                                       wrinkled hand. ~Don't try your charms on me.
                                       Consider your membership revoked.~
                                       ^^Getting kicked out isn't so bad, it's the
                                       fact that everyone knows why that is. After
                                       all, undressing before an eighty-four year-old is
                                       hardly considered genteel, unless of course
                                       you're in the will.";
                               }
                               if (location == garden && melissa in garden)
                               "~Hey,~ Melissa protests, ~I don't know what you heard, but that time
                               in Bryn Mawr was a one time thing!~";
                               else
                               "That's gotten you in to enough trouble today.";
                       Drop,ThrowAt:
                               "You wouldn't be caught dead without your clothes.";
                       Tie:
                               if (self has open) {
                               give self ~open;
                               "You hastily button up your blouse, careful not to
                               break a nail.";
                               }
                               else
                               "Your blouse is already buttoned.";
               ],
               after [;
                       Close:  "You hastily button up your blouse, careful not to
                       break a nail.";

               ],
has             clothing open openable;

Object  watch "watch"
with    article "your",
               name 'platinum' 'diamond' 'diamonds' 'watch' 'wrist' 'time' 'arm'
               'forearm' 'rolex' 'cartier',
               examined false,
               before [;
                       Drop,ThrowAt,Disrobe:
                               "Even though it does remind you of Frank, you'd still
                               rather hold on to it.";
                       Listen:
                               "Ticking or beeps would be tacky; this watch does neither.";
               ],
               description [;
                       if (self.examined == false) {
                               self.examined = true;
                               "Frank felt so guilty after spending a month in Tokyo
                               that he bought you this. Honestly, you enjoyed the
                               time apart, but that didn't stop you from playing up
                               the guilt. So far, that little ploy has gotten you a
                               mink stole, a diamond necklace, and a Bentley, but
                               this watch takes the cake. Whoever said that flagrant
                               displays of wealth were tacky must not have seen
                               this. Exquisitely crafted from platinum and diamonds,
                               the only downfall this watch has is that the gems
                               tend to obstruct your view of its face, making it
                               somewhat difficult to read the actual time. Still,
                               it's a small price to pay to be seen sporting such a
                               piece.";
                       }
                       else {
                               if (banquet has visited)
                               "Looking closely at your watch, you see that it is
                               just past six-thirty.";
                               if (melissa.blackmailed == true)
                               "Looking closely at your watch, you see that it is
                               about ten past six.";
                               if (pro_shop has visited)
                               "Looking closely at your watch, you see that it is
                               almost six.";
                               if (behind_club has visited)
                               "Looking closely at your watch, you see that it is
                               about half past five.";
                               if (spa has visited)
                               "Looking closely at your watch, you see that it is
                               sometime after five.";
                               if (dining_golf has visited)
                               "Looking closely at your watch, you see that it is
                               just after five.";
                               if (dining_golf hasnt visited)
                               "Looking closely at your watch, you see that it is
                               sometime before five.";

                       }

               ],
has             clothing;

Object  purse "Louis Vuitton bag" utility_closet
with    article "your",
               pname  '.x' 'your' '.x' 'my' 'Louis' 'vuitton' 'satchel' 'purse'
               'bag' 'hand' 'handbag',
               initial "Tossed to the side in the throes of passion, your bag, a
               fabulous Louis Vuitton original, lays on the ground.",
               description
                       "A Louis Vuitton original, your purse can practically carry
                       anything, which comes in handy but is absolute hell when you
                       have to find your keys.",
               react_before [;
                       Take:
                               if (wine in player) {
                                       remove wine;
                                       move wine to player;
                                       return false;
                               }
                               else
                                       return false;
               ],
               before [;
                       Receive:
                               if (noun == wine) {
                                       remove wine;
                                       move wine to player;
                                       "Red wine would ruin your bag.";
                               }
                               else
                                       return false;
               ],
has             container openable open;

Object  makeup "make-up" purse
with    article "your",
               pname '.x' 'up' 'make-up' 'makeup' 'eyeliner' 'lipstick' 'lipliner'
               'blush' 'eyeshadow' 'make',
               description "Survival gear for the modern woman; you never leave home
               without it.",
               applied false,
               before [;
                       Eat: "What are you, a two-year-old?";
                       PutOn:
                               if (second == player_body) {
                               if (self.applied == false) {
                               self.applied = true;
                               "Using your compact, you carefully apply your makeup,
                               adding a little more powder than usual to your cheeks
                               to hide the flush.";
                               }
                               else
                               "Sometimes less is more.";
                               }
                               else
                               return false;
                       Wear,Tie:
                               if (self.applied == false) {
                               self.applied = true;
                               "Using your compact, you carefully apply your makeup,
                               adding a little more powder than usual to your cheeks
                               to hide the flush.";
                               }
                               else
                               "Sometimes less is more.";
                       Drop,ThrowAt:
                               "You wouldn't be caught dead without your makeup.";
                       ],
has             clothing;

Object  tickets "pair of banquet tickets" purse
with    article "a",
               name 'banquet' 'tickets' 'passes' 'ticket' 'pass' 'of' 'pair',
               description
                       "Knowing that the banquet would be the gala event of the
                       season, you bought these months ago. They have today's date
                       on them.",
               before [;
                       Drop,ThrowAt,PutOn,Insert: "You better hold on to these. You
                       couldn't show your face around here if you didn't show up to
                       support the latest-wretched-cause-of-the-month.";
               ],
has             pluralname;

!---------------------------------------------------------------------------
!ACCESS HALL
!---------------------------------------------------------------------------

Room    access_hall "Access hall"
with    description [;
               if (self hasnt visited) "A short, dimly lit hallway between the
               utility closet to the north and the stairs to the rest of the club
               leading south and up. While the dominant smell here is, as in the
               closet, chlorine, some other fragrance, a sweeter one, is mingled
               with it.";
               else "A short, dimly lit hallway between the utility closet to the
               north and the stairs to the rest of the club leading south and up.
               ^^A faint smell lingers in the hall.";
               ],
               before [;
                       Smell:
                       if (noun == nothing or self) {
                       if (melissa has smelled) {
                       melissa.melissa_suspected = true;
                       Achieved(17);
                       "Turning up your nose ever so slightly, you sniff the air.
                       Although it is almost entirely wiped out by the smell of
                       chlorine, you definitely detect the hint of something.
                       Chanel #5, same as Melissa's scent.";

                       }
                       else {
                       if (access_hall hasnt smelled) {
                       give access_hall smelled;
                       print_ret "Turning up your nose ever so slightly, you sniff
                       the air.  Although it is almost entirely wiped out by the
                       smell of chlorine, you definitely detect the hint of
                       something.  Chanel #5?  Dior Addict Eau Fraiche?  Something.
                       Whoever it was now has you in quite an awkward position, and
                       likely a picture of the same. If only you had something to
                       put you back on top.";
                       }
                       else
                       "Turning up your nose ever so slightly, you sniff the air.
                       Although it is almost entirely wiped out by the smell of
                       chlorine, you definitely detect the hint of something.
                       Chanel #5?  Dior Addict Eau Fraiche?  Something. Whoever was
                       spying on you sure has expensive tastes. Not that that tells
                       you much in Pine Meadows.";
                       }
                       }
                       else
                       return false;
               ],
               each_turn [;
                       if (access_hall has smelled && melissa has smelled)
                               melissa.melissa_suspected = true;
                       else
                               return false;
               ],
               after [;
                       Go: if (noun == n_obj or d_obj)
                               print "The stairs turn sharply north as you
                               descend.^";
                               return false;
               ],
               n_to utility_closet,
               s_to west_hall,
               u_to west_hall,
               ;

Object  access_stairs_u "stairs"
with    name 'stairs' 'steps' 'access' 'stairway' 'stairwell' 'dingy' 'concrete',
               description "A dingy access stairwell leads up from the access hall
               to the western hall.",
               before [;
                       Climb,Enter: print "Although your heels are over three inches
                       high, you easily enter and navigate the narrow steps.";
                       if (location == access_hall) PlayerTo(west_hall);
                       return true;
                       ],
               found_in access_hall,
has             scenery static enterable;

!---------------------------------------------------------------------------
!WEST HALL
!---------------------------------------------------------------------------

Room    west_hall "Western wing"
with
               description
                       "This is the newest addition to Pine Meadows, built to house
                       the new spa to the west. In stark contrast to the well-lit,
                       tan stucco walls, a dingy concrete stairwell descends to
                       south.  To the north, a rather uninspired doorway leads to
                       the office of the club manager. The hall itself extends to
                       the east.",
               each_turn [;
                       if (self has visited)
                               move getting_in_office to all_hints;
                       else
                               return true;
               ],
               before [;
                       Go:
                       if (noun == s_obj) {
                               print "The stairs turn sharply north as you
                               descend.^";
                               return false;
                       }
                       if(noun == n_obj && charles_door hasnt locked or open) {
                       print "You open the door and walk in.^";
                       give charles_door open;
                       PlayerTo(office);
                       return true;

               }
                       if(noun == n_obj && charles_door has locked) {
                               if (charles_key in player && office hasnt visited) {
                                       print "You unlock the door and walk in,
                                       checking first to see if you're alone.^";
                                       give charles_door open;
                                       give charles_door ~locked;
                                       PlayerTo(office);
                                       return true;
                               }
                               else
                                       return false;
                               }
                       else
                       return false;

               ],
               after [;
                       Go: if (noun == s_obj or u_obj && behind_club hasnt visited)
                       {
                               print "The stairs turn sharply north as you
                               ascend.^";
                               return false;
                               }
                               else
                               return false;
               ],
               d_to access_hall,
               s_to access_hall,
               w_to spa_lobby,
               e_to centre_hall,
               n_to charles_door,
has             ;

Object  access_stairs_d "stairs"
with    name 'stairs' 'steps' 'access' 'stairway' 'stairwell' 'dingy' 'concrete',
               description "A dingy access stairwell leads up from the access hall
               to the western hall.",
               before [;
                       Climb,Enter: print "Although your heels are over three inches
                       high, you easily enter and navigate the narrow steps.";
                       if (location == west_hall) PlayerTo(access_hall);
                       return true;
                       ],
               found_in west_hall,
has             scenery static enterable;

!---------------------------------------------------------------------------
!SPA LOBBY
!---------------------------------------------------------------------------

Room    spa_lobby "Spa lobby"
with    each_turn [;
                       if (self has visited)
                               move reading_log to all_hints;
                       else
                               return true;
               ],
               description [;
                       if (self hasnt visited)
                               "Pine Meadows's most recent addition, the spa was
                               built during the natural beauty craze of the late
                               nineties, when holistic was in and plastic surgery
                               was out. Frankly, you never could understand why it
                               was so popular. The smell of damp seaweed and
                               aromatherapy float in from the south, where the
                               actual spa lies. To the north and west, with a
                               functionalism that seems out of place next to the
                               distinctively modern architecture of the spa, are the
                               women's and men's change facilities, respectively.
                               ^^The crowning achievement of some hack designer, a desk, dominates
                               the room, trying to
                               give some sense of purpose to the poor soul whose job
                               it is to man it.";
                       else
                               "Pine Meadows's most recent addition, the spa was
                               built during the natural beauty craze of the late
                               nineties, when holistic was in and plastic surgery
                               was out. Frankly, you never could understand why it
                               was so popular. The smell of damp seaweed and
                               aromatherapy float in from the south, where the
                               actual spa lies. To the north and west, with a
                               functionalism that seems out of place next to the
                               distinctively modern architecture of the spa, are the
                               women's and men's change facilities, respectively.
                               ^^The crowning achievement of some hack designer, a desk, dominates
                               the room, trying to
                               give some sense of purpose to the poor soul whose job
                               it is to man it.";
               ],
               before [ w;
                       Smell:
                                       if (noun == nothing)
                                       "Oh that's a nice blend: kelp and
                                       sandalwood. Really now, if you wanted to
                                       vomit you would just make love to Frank.";
                                       else
                                       return false;
                       Consult:
                               if (noun == nothing) {

                               wn = consult_from;
                               w = NextWord();
                                       switch (w) {
                               'johnathan':
                                       "Melissa's husband is rarely here; he doesn't
                                       seem to have a locker.";
                               'Tyler', 'Aidan', 'Madison':
                                       "Children aren't allowed at the club.";
                               'Julia', 'Hawthorne', 'self', 'me', 'myself':
                                       "While you already know your locker number
                                       and combination by heart, you think it might
                                       be fun to look it up. Yep, #11, combination
                                       38-25-34, same as always. What's this?
                                       ~Problem skin, cream and oats treatment
                                       recommended.~ Come on, one botched botox
                                       injection three years ago, you'd think they'd
                                       let it drop.";
                               'Cynthia', 'Fordham':
                                       move cynthia_locker to women_change;
                                       "#18, combination 23-44-46 (if only her
                                       measurements were the same).";
                               'Charles', 'Burton':
                                       list.charles_consulted = true;
                                       move charles_locker to men_change;
                                       "Here it is. #32, combination 62-34-42.
                                       ~Standing appointment each day from three
                                       o'clock to five-thirty. May be used by Mr.
                                       Burton or Scott.~";
                               'Roger', 'Knowles':
                                       move rogers_locker to men_change;
                                       "Here it is. #2, combination 87-54-63. That
                                       #2 must mean he got one of the first lockers
                                       to be issued by the club.";
                               'Frank', 'husband':
                                       "Since Frank is rarely at the club, he never
                                       bothered to get a locker.";
                               'Melissa', 'Stratham', 'mel':
                                       move melissa_locker to women_change;
                                       "#67, combination 33-73-42. ~Problem
                                       facelift, avocado cream mask recommended.~
                                       Hah! So much for that summer in Napa.";
                               'Cissy', 'Cecilia', 'Winnecott':
                                       "Cissy doesn't seem to use the spa
                                       facilities.";
                               'Beverly', 'Winters', 'bev':
                                       move beverly_locker to women_change;
                                       "Here it is. #3, combination 16-43-81.
                                       ~Anti-aging treatment, twice a week.
                                       Appointment to be verified each Monday.~";
                               'Keith':
                                       "The help don't get lockers.";
                               'Williams', 'ms':
                                       "~Brittle hair, only use 30 millilitres of
                                       peroxide each treatment.~ She doesn't seem to
                                       have a locker.";
                               'Scott':
                                       "Scott doesn't have a locker.";
                               default:
                                       "That name doesn't seem to be on the list.";
                               }
                               }
                               else
                               return false;
               ],
               e_to west_hall,
               s_to spa,
               n_to women_change,
               w_to men_change,
has             ;

Object  desk "reception desk" spa_lobby
with    article "the",
               name 'desk' 'counter' 'chrome' 'steel' 'mahogany',
               description "A stainless steel and mahogany monstrosity, the desk
               reflects the gentle light coming in through the skylight.
               Surprisingly, or maybe not seeing as the spa's popularity has fallen
               with plastic surgery's resurgence, there is no computer on the desk;
               its job instead being done by a simple log book.",
               before [;
                       Enter:
                               "And be mistaken for the help? No thank you.";
               ],
has             static scenery supporter;

Object  list "client list" desk
with    article "the",
               name 'list' 'manifest' 'client' 'paper' 'names' 'log' 'book'
               'information',
               description "The client list for Pine Meadows Spa, it contains the
               names and locker information, as well as ~beauty profiles,~ of
               practically every full member, part member, and former member of the
               club. If you want to find anyone in particular, you'll have to look
               them up individually.",
               charles_consulted false,
               before [ w;
                       Take:
                               "That belongs on the desk.";
                       Consult:
                               wn = consult_from;
                               w = NextWord();
                                       switch (w) {
                               'johnathan':
                                       "Melissa's husband is rarely here; he doesn't
                                       seem to have a locker.";
                               'Tyler', 'Aidan', 'Madison':
                                       "Children aren't allowed at the club.";
                               'Julia', 'Hawthorne', 'self', 'me', 'myself':
                                       "While you already know your locker number
                                       and combination by heart, you think it might
                                       be fun to look it up. Yep, #11, combination
                                       38-25-34, same as always. What's this?
                                       ~Problem skin, cream and oats treatment
                                       recommended.~ Come on, one botched botox
                                       injection three years ago, you'd think they'd
                                       let it drop.";
                               'Cynthia', 'Fordham':
                                       move cynthia_locker to women_change;
                                       "#18, combination 23-44-46 (if only her
                                       measurements were the same).";
                               'Charles', 'Burton':
                                       self.charles_consulted = true;
                                       move charles_locker to men_change;
                                       "Here it is. #32, combination 62-34-42.
                                       ~Standing appointment each day from three
                                       o'clock to five-thirty. Permission from
                                       client to be used by Scott.~";
                               'Roger', 'Knowles':
                                       move rogers_locker to men_change;
                                       "Here it is. #2, combination 87-54-63. That
                                       #2 must mean he got one of the first lockers
                                       to be issued by the club.";
                               'Frank', 'husband':
                                       "Since Frank is rarely at the club, he never
                                       bothered to get a locker.";

                               'Melissa', 'Stratham', 'mel':
                                       move melissa_locker to women_change;
                                       "#67, combination 33-73-42. ~Problem
                                       facelift, avocado cream mask recommended.~
                                       Hah! So much for that summer in Napa.";
                               'Cissy', 'Cecilia', 'Winnecott':
                                       "Cissy doesn't seem to use the spa
                                       facilities.";
                               'Beverly', 'Winters', 'bev':
                                       move beverly_locker to women_change;
                                       "Here it is. #3, combination 16-43-81.
                                       ~Anti-aging treatment, twice a week.
                                       Appointment to be verified each Monday.~";
                               'Keith':
                                       "The help don't get lockers.";
                               'Williams', 'ms':
                                       "~Brittle hair, only use 30 millilitres of
                                       peroxide each treatment.~ She doesn't seem to
                                       have a locker.";
                               'Scott':
                                       "Scott doesn't have a locker.";
                               default:
                                       "That name doesn't seem to be on the list.";
                               }
                       ],
has             static scenery supporter;


Stuff   skylight "skylight" spa_lobby
with    name 'light' 'sky' 'skylight' 'window',
               description "The only source of light in the room, a panoramic
               skylight dominates the ceiling. Good thing too, as artificial light
               is not a friend to the people that frequent this place.",
has             ;

Stuff   price_list "price list" spa_lobby
with    pname 'list' 'price' 'sign' 'services',
               description "Emperor kelp wrap, $120; avocado cream mask, $80;
               fugutoxin treatment, $160; sounds like the menu the last time you
               went out for sushi, only slightly less expensive.",
has             ;

NPC             receptionist "receptionist" spa_lobby
with    name 'secretary' 'receptionist' 'woman' 'hairdresser',
               initial [;
                       if (spa_lobby hasnt visited)
                               "Desperately trying to look important, a receptionist
                               peers down a hawkish nose at a log book, scribbling
                               in corrections at a furious speed.";
                       else
                               print (string) random("Desperately trying to look
                               important, the receptionist peers down a hawkish nose
                               at a log book, scribbling in corrections at a furious
                               speed.^", "The receptionist glances around and
                               sighs.^", "Looking east and not seeing a flock of
                               members coming to use the spa, the receptionist sighs
                               and drops her shoulders a little.^");
               ],
               description
                       "Tall, thin, and oh so Madison Avenue, the spa receptionist
                       serves as a living advertisement for her business's services.
                       And like most advertisements, she grossly misrepresents the
                       truth. Her looks come from the tried and true: surgery,
                       make-up, and anorexia. Not the herbal wraps and mud baths she
                       pushes on her customers.",
               before [;
                       Smell:
                               "Her scent is overpowered by the stench wafting in
                               from the spa.";
               ],
               seen_west_attempted false,
               react_before [;
                       Consult: "~I'm sorry Mrs. Hawthorne, but that is
                       confidential,~ she says, ~If you've forgotten your
                       combination you can ask me.~";
                       Go:
                       if (noun == w_obj && self.seen_west_attempted == false) {
                               self.seen_west_attempted = true;
                               "~Umm, Mrs. Hawthorne?~ the receptionist says, giving
                               you an odd look. ~That's the men's change room.~
                               ^^You mumble something about allergies and come back
                               to the lobby.";
                               }
                       if (noun == w_obj && self.seen_west_attempted == true)
                               "Not with the receptionist watching.";
                       if (noun == s_obj && cynthia.order_heard == false)
                               "~I'm sorry, Mrs. Hawthorne, but there is a pilates
                               class until five, you'll have to wait until then,~
                               the receptionist says.";
               ],
               life [;
                       Order:
                               "~I'm sorry, Mrs. Hawthorne, but I'm really very
                               busy,~ she says as she doodles in the log book.";
                       Kiss:
                               "She's not your type. You prefer someone with a
                               little more meat on their bones (not to mention somewhere else).";
                       Show,Give:
                               if (noun == cucumber)
                                       "~Oh that would be perfect for Ms. Williams
                                       facial. We ran out of out supply ages ago.~";
                               if (noun == bleach)
                                       "She recoils from the sight of the bottle.
                                       ~That is far too harsh for our clients' hair.
                                       We only use a chlorine-based, lightening
                                       product.~
                                       ^^In other words, bleach.";
                               if (noun == salad)
                                       "~I couldn't possibly. Too fattening,~ she
                                       says, waving the salad away with the bones
                                       she calls fingers.";
                               else
                                       "You better watch out: people knowing about you and Keith is
                                       enough for them to think you're a Democrat. If you start giving
                                       things to the working class, it'll only look worse.";
                       Ask,Tell: switch (second) {
                               'cell', 'cellular', 'mobile', 'phone', 'telephone',
                               'calling', 'phoning':
                                       "~Would you happen to have a phone that I
                                       could use?~ you ask as politely as you can
                                       stomach.
                                       ^^~I'm sorry, Mrs. Hawthorne, but the spa has
                                       no phone: the ringing would disturb our
                                       clients. You might check in the office,
                                       though.~
                                       ^^What clients?";
                               'music', 'sounds', 'of', 'nature', 'CD':
                                       "~What's with that music in the spa?~ you
                                       ask, rather perplexed as to how it could
                                       possibly be of use.
                                       ^^~It helps our clients relax.~
                                       ^^If Ms. Williams gets any more relaxed,
                                       she'd be dead.";
                               'steam', 'rocks', 'rock', 'stone', 'stones':
                                       "~Isn't that steam in the sauna a little
                                       much?~
                                       ^^~No, it's wonderful for driving out
                                       impurities.~
                                       ^^And people, you imagine.";
                               'women^s', 'change', 'rooms', 'facilities', 'room',
                               'changing':
                                       "~Could you direct me to the change
                                       facilities?~
                                       ^^She points north wordlessly.";
                               'desk', 'mahogany', 'chrome', 'steel', 'monstrosity':
                                       "~Your desk is lovely,~ you say, almost
                                       choking on your words.
                                       ^^~Isn't it simply magnificent? It's a
                                       Fergmen.~";
                               'aromatherapy', 'scent', 'smell', 'sandalwood':
                                       "Crinkling your nose, you ask: ~Are you sure
                                       kelp and sandalwood is the most soothing
                                       blend to have in a spa?~
                                       ^^~Well, Ms. Williams seems to enjoy it.~";
                               'holistic', 'natural':
                                       "~Tell me more about your holistic
                                       treatments,~ you say, yawning.
                                       ^^~Here at the Pine Meadows Spa we treat the
                                       whole person, not just the outside.~
                                       ^^Funny, you haven't seen any advertisements
                                       about sit-ups for the soul or personality
                                       exfoliators.";
                               'herbal', 'wraps', 'wrap', 'mud', 'bath', 'baths':
                                       "~So, are these wraps and baths any good?~
                                       you ask incredulously.
                                       ^^~They're an absolutely wonderful treatment.
                                       100% natural. Far better than plastic
                                       surgery,~ she says, scratching delicately at
                                       a plastic nose.";
                               'list', 'manifest', 'client', 'paper', 'names',
                               'log', 'book':
                                       "~What's with that book?~
                                       ^^~That's the spa's log book. It contains the
                                       locker combinations and beauty profiles of
                                       members.~";
                               'time', 'watch', 'clock':
                                       if (dining_golf hasnt visited)
                                               "~Do you happen to know the time?~
                                               ^^~It's a little before five.~";
                                       else
                                               "~Do you happen to know the time?~
                                               ^^~It's just after five.";
                               'Pine', 'Meadows', 'club', 'job', 'work', 'working':
                                       "~So, how do you like Pine Meadows?~
                                       ^^~It's a lovely place to work. Everyone here
                                       is so nice.~
                                       ^^God, all this holistic crap must mess with
                                       her perception.";
                               'avocado', 'cream', 'mask', 'masque':
                                       "~Tell me more about this avocado cream
                                       mask.~
                                       ^^~We mix eighteen parts avocado with seven
                                       parts yak butter and spread it on for three
                                       hours.~
                                       ^^Sounds delicious.";
                               'fugotoxin', 'treatment', 'fugu', 'fugo', 'toxins',
                               'toxin', 'fugutoxin':
                                       "~How does this fugu treatment work?~ you
                                       ask, skeptical.
                                       ^^~Well, we squeeze the fugu until all the
                                       toxins are in the spines. The spines are then
                                       placed wherever there is pain until it
                                       miraculously fades away.~
                                       ^^God, you have trouble imagining people
                                       putting such poisons in their bodies. Oh
                                       yeah, you have a botox treatment later this
                                       week.";
                               'emperor', 'kelp', 'wrap', 'seaweed', 'carrageenan':
                                       "~Tell me about this emperor kelp wrap.~
                                       ^^The receptionist perks up when she sees
                                       your interest. ~Well first we heat the kelp
                                       to one-hundred and ten degrees, then you are
                                       lathered down with carrageenan, finally you
                                       are wrapped and placed in the steam room for
                                       seventy-five minutes. When you emerge you'll
                                       be a whole new person.~
                                       ^^That, or a butterfly.";
                               'spa', 'services', 'massage', 'makeover', 'manicure',
                               'pedicure', 'appointment':
                                       "~What services does your spa offer?~
                                       ^^Barely looking up, the receptionist points
                                       to a sign on the far wall. Please, it's
                                       Capelli D'Oro or nothing.";
                               'combination', 'Julia', 'Hawthorne', 'locker', 'me',
                               'my':
                                       "~Could you please tell me my locker
                                       combination?~ you ask, trying to be as
                                       pleasant as possible.
                                       ^^~One moment, Mrs. Hawthorne,~ she says,
                                       flipping through the log book. ~Yes, it's
                                       right here. Locker #11, combination
                                       38-25-34.~";
                               'Charles', 'Whirlpool', 'Burton', 'registrar':
                               "~Do you know where Charles is?~
                               ^^~Mr. Burton is currently enjoying the whirlpool at
                               the moment. He's asked not to be disturbed.~
                               ^^Great, your club dues at work.";
                               'Williams', 'female', 'patron', 'ms', 'dye',
                               'hairdresser', 'hairdressing', 'coloring',
                               'colouring', 'dyeing':
                               "~Shouldn't you start doing Ms. Williams's dye job?~
                               Hey, if you don't keep the help in line, who will?
                               ^^~I'll get to her colouring just as soon as I finish
                               this,~ the receptionist says, although you can't
                               imagine what is so important. She probably just
                               enjoys making her squirm.";
                               'Cynthia', 'Fordham', 'Frank', 'Beverly', 'Winters',
                               'Melissa', 'Stratham', 'Cissy', 'Winnecott',
                               'Cecilia', 'bev', 'mel', 'roger', 'knowles':
                               "You ask about one of the spa patrons.
                               ^^~I'm sorry Mrs. Hawthorne, but the stylist-client
                               relationship is one of strictest confidence.~
                               ^^True, they are the priests and therapists of the
                               new millenium.";
                               'Pilates', 'Exercise':
                               "~Isn't pilates a little two-thousand-two?~ you ask,
                               raising an eyebrow.
                               ^^~But, it's wonderful for fighting off the ravages
                               of age.~
                               ^^Please, you'll take a facelift over physical
                               exertion and day.";
                               'yoga', 'jazzercise':
                               "~Do you offer yoga or jazzercise here?~ you ask,
                               wondering just how tacky this spa is.
                               ^^~Please, Mrs. Hawthorne. What is this, the
                               eighties?~";
                               'receptionist', 'herself', 'secretary', 'self',
                               'woman':
                               "~How are you today?~ you ask, trying to be as nice
                               as possible.
                               ^^~I'm fine. A little tired, but you know how it is.~

                               ^^Is she actually suggesting you've ever looked
                               tired? It's definitely time to see Dr. Rickers
                               again.";
                               'busy', 'being':
                               "~You say you're busy?~
                               ^^~I'm sorry, Mrs. Hawthorne, but I am too busy to
                               answer a question about being too busy.~";
                               'surgery', 'plastic', 'nose', 'anorexia', 'make-up',
                               'makeup', 'make', 'up':
                               "You ask the receptionist about one of your preferred
                               beauty methods.
                               ^^~I would never use that; I prefer the natural
                               approach,~ she says, scratching her plastic chin with
                               a frail hand and leaving a groove in her concealer.";
                               }
                               "~I'm really very sorry Mrs. Hawthorne, but I am
                               incredibly busy,~ she says in a questionably trendy
                               accent.";
                       ],
has             female animate worker;

Object  spa_far "spa" spa_lobby
with    name 'spa' 'chair' 'pilates' 'exercise' 'exercisers',
               description [;
                       if (dining_golf hasnt visited)
                               "The spa is filled with middle-aged women desperately
                               trying to sweat the old out.";
                       else
                               "You have a clear view of a hairdresser's chair from
                               here.";
               ],
               before [;
                       Smell,Examine:
                               return false;
                       default:
                               "You'll have to get closer.";
               ],
has             scenery;


!---------------------------------------------------------------------------
!SPA
!---------------------------------------------------------------------------

Room    spa "Spa"
with    name 'spa',
               description [;
                       if (self hasnt visited)
                       "Just two years ago, this place would have been packed at
                       this time of day. Now hardly anyone comes in here, and you
                       can hardly blame them. It feels more like some hellish jungle
                       than a spa. The smell is subtle but gnaws at you nonetheless.
                       A bed of rocks, heated to drive up sweat and drive out
                       impurities, gives the room a heavy, fevered feeling, making
                       you wonder why they even bothered considering there is
                       already a whirlpool to the south. For those club members who
                       have given up on trying to hide the fact that they dye their
                       hair, a hairdresser's station sits to one side, from which
                       you have a clear view of the lobby and its desk to the north.
                       And all this set to some ~Sounds of Nature~ CD. Already, your
                       hair is going limp from all the humidity.";
                       else
                       "Just two years ago, this place would have been packed at
                       this time of day. Now hardly anyone comes in here, and you
                       can hardly blame them. It feels more like some hellish jungle
                       than a spa. The smell is subtle but gnaws at you nonetheless.
                       A bed of rocks, heated to drive up sweat and drive out
                       impurities, gives the room a heavy, fevered feeling, making
                       you wonder why they even bothered considering there is
                       already a whirlpool to the south. For those club members who
                       have given up on trying to hide the fact that they dye their
                       hair, a hairdresser's station sits to one side, from which
                       you have a clear view of the lobby and its desk to the north.
                       And all this set to some ~Sounds of Nature~ CD.";
               ],
               before [;
                       Go:
                               if (noun == s_obj) {
                               if (behind_club hasnt visited)
                                       return false;
                               else {
                                       if (whirlpool_door hasnt open) {
                                       give whirlpool_door open;
                                       print "You open the door and walk in.^";
                                       return false;
                                       }
                                       else
                                       return false;
                               }
                               }
                               else
                                       return false;

                       Smell:

                                                       if (noun == nothing)
                                                       "Oh that's a nice
                                                       blend: kelp and sandalwood.
                                                       Really now, if you wanted to
                                                       vomit you would just make
                                                       love to Frank.";
                                                       else
                                                       return false;
                                       Listen:
                                       if (noun == nothing)
                                       "Ugh, cicadas. Yeah, nothing gets someone in
                                       a nice, relaxed mood like hearing what sounds
                                       like the eighth plague.";
                                       else
                                       return false;
               ],
               each_turn [;
                       if (dye has contaminated && steam notin spa && female_patron
                       in spa) {
                               Achieved(2);
                               move loose_hairs to spa;
                               remove receptionist;
                               remove female_patron;
                               remove dye;
                               "^Just then, the receptionist, who apparently doubles
                               as the hairdresser with the spa's drop in popularity,
                               comes in. ~Ready for your colouring, Ms. Williams?~
                               ^^~Of course I am, I've been waiting for hours.~ Her
                               voice grates on you as it scrapes out past her
                               ancient vocal cords.
                               ^^~I am sorry about that, it's just we're so busy,
                               and--.~
                               ^^~Just get on with it, you don't get paid to talk.~
                               ^^With that, the hairdresser goes about mixing the
                               dye with some peroxide she brought with her (in
                               addition to the liberal dousing of bleach you put in
                               there) and puts it in Ms. Williams already fragile
                               hair. For a few minutes it seems as though the bleach
                               has no effect, but then, just as you're about the
                               leave, you notice a few strands coming out in the
                               hairdresser's hands until finally it starts coming
                               out in goopy clumps.
                               ^^~What's going on up there?~
                               ^^~Uh, ah, I don't know. I used the same proportions
                               as always.~
                               ^^~You idiot!~ the old crone shrieks, fishing a hand
                               through what remains of her hair. ~My hair! My hair!~
                               ^^The hairdresser apologizes profusely, leading Ms.
                               Williams out with a towel on her head.";
               }
                       else
                       return false;
                       ],
               n_to spa_lobby,
               s_to whirlpool_door,
has             ;

Object  desk_far "desk" spa
with    article "the",
               name 'desk' 'reception' 'counter' 'receptionist^s' 'secretary^s'
               'chrome',
               description [;
                       if (receptionist in spa_lobby)
                               "From here you can easily see the receptionist at the
                               desk, but now, without you there, she's gone on to
                               filing her nails.";
                       else
                               "No less monstrous from back here, the desk sits
                               empty in the lobby.";
               ],
has             scenery;




Object  sink "sink" spa
with    name 'sink' 'basin' 'hairdresser^s' 'station' 'chair' 'seat' 'dryer' 'brim',
               description [;
               if (dye in sink)
               "An all-in-one sink, chair, and hair dryer, the hairdresser's station
               is a testament to the fact that the spa doesn't service enough people
               to get the standard banks of equipment that more profitable ones do.
               While in itself an adequate piece of equipment, you would rather have
               one machine do each job and do it right.
               ^^On the brim of the sink rests a bottle of dye.";
               else
               "An all-in-one sink, chair, and hair dryer, the hairdresser's station
               is a testament to the fact that the spa doesn't service enough people
               to get the standard banks of equipment that more profitable ones do.
               While in itself an adequate piece of equipment, you would rather have
               one machine do each job and do it right.";
               ],
has             scenery supporter;

Object  dye "dye" sink
with    article "some",
               pname '.x' 'bottle' 'dye'  'colouring' 'coloring' 'color' 'colour'
               'of',
               description "You would die before being caught putting this in your
               hair. As to whether you would actually put it in or not, only your
               stylist knows for sure.",
               before [;
                       Open:
                               "The bottle is perpetually open.";
                       Close:
                               "It's not that kind of bottle.";
                       Take: "You would die before being caught putting this in your
                       hair. As to whether you would actually put it in or not, only
                       your stylist knows for sure.";
                       Receive:
                                       if (noun == bleach && dye hasnt contaminated)
                                       {
                                       if (steam in spa) {
                                       give dye contaminated;
                                       "Concealed by the steam, you make your way
                                       over to the sink and carefully pour some
                                       bleach in to the dye.";
                                       }
                                       if (cucumber in female_patron) {
                                       give dye contaminated;
                                       "With Ms. Williams's eyes covered by the
                                       cucumber slices, you make your way over to
                                       the sink and carefully pour some bleach in to
                                       the dye.";
                                       }
                                       }
                                       if (noun == bleach && dye has contaminated)
                                       "There's enough bleach in there already";
                                       else
                                       "That would have little effect.";

                       ],
has             scenery container supporter;

Object  rocks "bed of rocks" spa
with    name 'bed' 'rocks' 'rock' 'stone' 'stones' 'fire' 'of',
               description "Heated by some unknown source, the rocks cause the air
               above them to shimmer like a mirage. On the floor beside the bed of
               rocks is a bucket of water.",
               before [;
                       Receive:
                               if (noun == film) {
                                       remove film;
                                       "The film shrivels and wrinkles before
                                       erupting into flame.";
                               }
                               else
                                       "You don't want to destroy that.";
                       Touch,Take,Push,Pull: "As you reach towards the rocks, you
                       realize that it would be folly to touch them. That they cause
                       the air above to shimmer is evidence enough of their heat.";
               ],
has             scenery supporter burning;

Object  bucket "bucket of water" spa
with    name 'bucket' 'water' 'ladle' 'pail' 'oak' 'panels' 'of',
               description "Trying to capture some of the supposed ambience of
               colonial America, this bucket is constructed of well-fitted oak
               panels. Hooked on to the side of the bucket is a ladle.",
               before [;
                       Receive:
                       "You don't want to put anything in the bucket.";
                       Take: "You don't want to carry the ladle or bucket all over
                       the club.";
                       Drink: "You only drink Perrier.";
                       Transfer,EmptyT,PutOn,Insert:
                               if (second == rocks) {
                               move steam to spa;
                               "You plunge the ladle in to the bucket and pour the
                               water on to the rocks. A loud hiss ensues as a cloud
                               of steam fills the room.";
                               }
                               else
                               "You don't want to get that wet.";

                       ],
               react_before [;
                       SignUp:
                               "If you wanted to lie in a pool of someone else's
                               filth, you'd have a bath with Frank and make his
                               day.";
               ],
has             scenery;

Object  steam "cloud of steam"
with    name 'cloud' 'steam' 'mist' 'of',
               initial "The jungle image is now complete as steam wraps its way
               around the plants, partially obscuring your vision.",
               description "Twisting about throat and nose, the steam is almost
               suffocating in its warmth and thickness, partially obscuring your
               view of the room.",
               before [;
                       Examine:
                               return false;
                       Smell:
                               "The steam chokes at your nose.";
                       default:
                               "It's just some steam.";
               ],
               each_turn [;

                       StartTimer(self,2);
               ],
               time_left,
               time_out [;
                       if (location == spa) {
                       remove self;
                       "As fast as it appeared, the steam dissipates, allowing you
                       to see clearly again.";
                       }
                       else
                       remove self;
               ],
has             static;

Object  whirlpool_door
with    article "the",
               name 'sauna' 'door' 'cedar' 'sign' 'up' 'sheet' 'spa' 'to'
               'whirlpool' 'the',
               short_name [;
                       if (location == spa)
                               print "door to the whirlpool";
                       else
                               print "door to the spa";
                       return true;
               ],
               description [;
                       if (location == spa && charles notin office)
                               "A heavy cedar door blocks the way to the whirlpool.
                               There is no window in it, probably a good thing as
                               the last thing you want to see is some of the older
                               members of the club wallowing in a pool of their own
                               sweat. Speaking of which, the sign-up sheet currently
                               says that Charles Burton is inside and will be for
                               most of the afternoon. You suppress an involuntary
                               shudder, thinking of the jets pounding water against
                               Charles's sagging skin.";
                       if (location == spa && charles in office)
                               "A heavy cedar door blocks the way to the whirlpool.
                               There is no window in it, probably a good thing as
                               the last thing you want to see is some of the older
                               members of the club wallowing in a pool of their own
                               sweat. Charles's name is still on the sign-up list.";
                       else
                               "The door leads to the spa.";
               ],
               before [;
                       Open:
                       if (behind_club hasnt visited)
                       "The whirlpool is currently occupied. Besides, if you wanted
                       to lie in a pool of someone else's filth, you'd have a bath
                       with Frank and make his day.";
                       else
                       return false;
                       Knock:
                       if (behind_club hasnt visited)
                       "~Wait your turn!~ Charles, sounding a little panicked, calls
                       out.";
                       else
                       "~Someone's in here,~ a young man calls out irritably.";
                       Write: "If you wanted to lie in a pool of someone else's
                       filth, you'd have a bath with Frank and make his day.";
               ],
               react_before [;
                       Listen:
                               if (noun == self && behind_club hasnt visited)
                               "Above the roar of the water and the excessively
                               sappy ~Sounds of Nature~ CD, you think you can hear
                               the thumps and moans of ecstasy. Guess you're not the
                               only indulging in a little afternoon delight today!";
                               if (noun == self && behind_club has visited)
                               "All you hear is the bubbling of the whirlpool behind
                               the door.";
                               return false;
                       ],
               found_in spa whirlpool,
               door_dir [;
                       if (location == spa) return s_to;
                       else                             return n_to;
               ],
               door_to [;
                       if (location == spa) return whirlpool;
                       else                             return spa;
               ],
has             scenery door openable lockable;


Stuff   mud_bowl "mud" spa
with    article "some",
               name 'mud' 'dirt' 'bacteria' 'microbes' 'face',
               description "You spend a good deal of your time trying to avoid dirt,
               why some people would want to wear it is unfathomable.",
               before [;
                       Take,Touch: "You feel dirty enough just looking at it.";
               ],
has             ;

Stuff   spa_plants "plants" spa
with    name 'plants' 'ficus' 'jade' 'leaves' 'branch' 'branches',
               description "These plants have seen better days. All the steam from
               the whirlpool and all the heat from the rocks have taken their toll.
               It's probably for the best. When will people learn that nature
               belongs outside?",
               before [;
                                       Take,Attack:
                                               "While you enjoy senseless
                                               destruction of nature as much as the
                                               next Republican, now is not the
                                               time.";
               ],
has             pluralname;

NPC             female_patron "Ms. Williams" spa
with    name 'female' 'patron' 'woman' 'Ms' 'Williams' 'crow^s' 'feet',
               initial "Ms. Williams, face covered in mud, sits at the hairdresser's
               station waiting for her weekly colouring.",
               description [;
                       if (cucumber notin self)
                       "A fearsome sight, Ms. Williams has opted for a peculiar
                       strategy in fighting the ravages of time: none. When she
                       smiles, a rare event, the crow's feet (although ostrich might
                       be more fitting by comparison) lace across her face like
                       webs. If it weren't for her weekly dye job you might think
                       she were over a hundred.";
                       else
                       "A fearsome sight, Ms. Williams has opted for a peculiar
                       strategy in fighting the ravages of time: none. When she
                       smiles, a rare event, the crow's feet (although ostrich might
                       be more fitting by comparison) lace across her face like
                       webs. If it weren't for her weekly dye job you might think
                       she were over a hundred.
                       ^^Like two silver dollars over the eyes of a corpse, a pair
                       of cucumber slices rests on Ms. Williams's face.";

               ],
               contaminate_attempted false,
               before [;
                       Smell:
                               "Mothballs and ribbon candy. Guess even money can't
                               ward off the smell of the elderly.";
                       Receive:
                               if (noun == bleach)
                                       "Perhaps a more subtle way.";
                               if (noun == cucumber) {
                                       move noun to self;
                                       "~Oh thank you, Julia,~ Ms. Williams croons.
                                       ~These will be perfect for my eyes. That
                                       idiot at the desk doesn't know half as much
                                       about beauty as you,~ she says, laying the
                                       slices on her eyes.";
                               }
                               else
                                       return false;
               ],
               react_before [;
                       Insert,PutOn:
                               if (noun == bleach && second == dye) {
                                       if (cucumber notin self && steam notin spa &&
                                       self.contaminate_attempted == false) {
                                       self.contaminate_attempted = true;
                                               "~Umm, Julia,~ Ms. Williams says, ~I know you know your way
                                               around beauty supplies, but if you could just let the
                                               hairdresser do it.~
                                               ^^You won't be able to do anything to the dye with Ms.
                                               Williams watching.";
                                       }
                                       if (cucumber notin self && steam notin spa &&
                                       self.contaminate_attempted == true)
                                               "Not with Ms. Williams watching.";
                                       else
                                               return false;

                               }
                               else
                                       return false;
               ],
               life [;
                       Order:
                               "~Sorry, Julia, but I have more important things to
                               do,~ she says, laying back in her chair and listening
                               to the music.";
                       Give,Show:
                               if (cucumber in self || steam in spa)
                                       "Ms. Williams can't see anything.";
                               else {
                               if (noun == cucumber) {
                                       move cucumber to self;
                                       "~I thought you could use some cucumber to
                                       complete your facial,~ you say, handing her
                                       the slices.
                                       ^^~Oh thank you, Julia,~ Ms. Williams croons.
                                       ~These will be perfect for my eyes. That
                                       idiot at the desk doesn't know half as much
                                       about beauty as you,~ she says, laying the
                                       slices on her eyes.";
                               }
                               else
                                       "Ms. Williams shrugs.";
                               }
                       Kiss:
                               "If you're going to start kissing woman, you might
                               want to pick someone a little less wrinkled.";
                       Attack:
                               "She already dyes her hair. You don't need to make
                               her life any worse.";

                       Ask,Tell:
                               switch (second) {
                               'cucumber', 'cucumbers', 'slice', 'slices':
                               "~So what good is cucumber, anyway?~
                               ^^~Cucumber is wonderful for bags under your eyes.~
                               ^^Since you'd rather avoid looking like a salad,
                               you'll stick to your surgery.";
                               'mud', 'dirt', 'mask', 'masque':
                               "~Do you actually think having dirt on your face is
                               any good?~ you ask pointedly.
                               ^^~The pores love it.~
                               ^^Oh, you thought it was the poor who loved it.";
                               'smell', 'sandalwood', 'seaweed', 'scent',
                               'aromatherapy':
                               "~What do you think of the aromatherapy in here?~ you
                               ask, wondering if maybe it's just you.
                               ^^~Frankly, I'm glad I lost my sense of smell years
                               ago.~
                               ^^Lucky her.";
                               'Receptionist', 'hairdresser', 'secretary':
                               "~What's with that receptionist? Who does she think
                               she is?~
                               ^^~I don't know, but she was supposed to be in here
                               ages ago to do my hair.~";
                               'Pine', 'Meadows', 'club':
                               "~Do you remember when this place used to be
                               entertaining?~
                               ^^~Please, Julia, I'm not that old. It's dreadful now
                               though, isn't it?~ she says wistfully. ~Back in my
                               day we kept the riff-raff out and everyone was
                               happier.~";
                               'dye', 'colouring', 'coloring', 'color', 'colour',
                               'job', 'dyeing', 'hair', 'hairs':
                               "~So why do you dye your hair?~ She can't honestly
                               believe it makes her look younger.
                               ^^~After a while, you just have to give up and let
                               nature take its course, except for your hair of
                               course.~
                               ^^Blasphemy! You'll fight off age tooth and claw.
                               Well, as long as you have teeth, you suppose.";
                               'CD', 'C.D.', 'music', 'cicada', 'cicadas', 'sounds',
                               'sound', 'of', 'nature':
                               "~Isn't this music a little much?~
                               ^^~Yes, it is soothing, isn't it? The only catch is
                               you actually have to listen to it,~ she says, glaring
                               at you as much is possible with a mask of mud.";
                               'steam', 'sweat', 'rocks', 'water', 'rock', 'stones',
                               'stone':
                               "~Do you honestly think this steam is any good?~
                               ^^~The sweat is absolutely wonderful for the pores.~
                               ^^Ick. You prefer getting sweaty the old-fashioned
                               way.";
                               'plant', 'plants', 'ficus', 'leaves':
                               "~What do you think of these plants?~ you ask,
                               brushing an obtrusive branch out of the way.
                               ^^~They really complete the atmosphere, don't they?
                               It's just like a real jungle in here.~
                               ^^Funny, by her inflection, it sounds like she thinks
                               that's a good thing.";
                               'pilates', 'exercise':
                               "~Wasn't it annoying sitting in here with pilates
                               going on?~
                               ^^~Yes. All those fit bodies. I can barely remember
                               being able to touch my toes,~ she says, voice
                               scraping across your ears.";
                               'whirlpool', 'charles', 'pool', 'burton',
                               'registrar', 'door', 'pool':
                               "~Do you know where Charles is?~
                               ^^~He's in the whirlpool with his assistant.~";
                               'assistant', 'helper':
                               "~Tell me about this assistant,~ you say, never one
                               to shy away from what might be some good gossip.
                               ^^~He's an Adonis. What a handsome man like that is
                               doing trying to be an accountant, I'll never know.~";
                               'ms', 'williams', 'woman', 'patron':
                               "~And how are you today, Ms. Williams?~
                               ^^~Oh, I'm fine,~ she says, raising her voice, ~or I
                               would be if that damned hairdresser would hurry
                               up.~";


                               }
                               "~Shhh! I can't hear the CD,~ she says, pointing to
                               the ceiling even though the sound is coming from some
                               hidden speaker. To maintain the illusion of a steamy
                               jungle, no doubt.";
                       ],
has             proper animate female transparent;

Object  hair "Ms. Williams' hair" female_patron
with    name 'Williams^' 'William^s' 'williams^s' 'hair',
               description
                       "Dry and brittle, Ms. Williams's hair looks as though it
                       might fall out at the slightest provocation.",
               before [;
                       Pull:
                               "If you're going to get in to a catfight, you might
                               choose someone a little more titillating.";
                       Receive:
                               if (noun == bleach)
                                       "Perhaps you could find a more subtle way to
                                       get the bleach into her hair.";
                               else
                                       return false;
               ],
has             scenery proper;

Object  loose_hairs "strands of hair"
with    name 'hair' 'hairs' 'strand' 'strands' 'clump' 'clumps' 'of' 'gray',
               initial
                       "Strands of gray hair form a trail through the spa, left
                       after you gave Ms. Williams the Sin@'ead O'Conner look.",
               description [;
                       if (self hasnt moved)
                               "Ms. Williams's hair forms a slimy trail through the
                               spa.";
                       else
                               "You cleaned the bleach off as best you could, but
                               the hairs are still a little slimy.";
               ],
               after [;
                       Take:
                               if (self hasnt moved)
                                       "Gingerly, you pick up a few hairs and rinse
                                       them off in the bucket, pushing the rest
                                       under the chair with your foot.";
                               else
                                       return false;
               ],
has             pluralname;

!---------------------------------------------------------------------------
!WHIRLPOOL
!---------------------------------------------------------------------------

Room    whirlpool "Whirlpool room"
with
               description
                       "Cramped and humid, the whirlpool room is dominated by a
                       large tub of bubbling water. The steam coming from it is
                       almost unbearable; it flattens your hair and clings to your
                       skin. Even worse, there seems to be no ventilation other than
                       from the door to the north, beside which is a row of hooks
                       for hanging clothes.",
               before [;
                       Smell:
                               if (noun == nothing)
                               "The room is filled with the smell of chlorine and
                               sweat.";
                               else
                               return false;
               ],
               each_turn [;
                       if (scott.blackmailed == true)
                               Achieved(1);
                       else
                               return false;
               ],
               n_to whirlpool_door,
               out_to whirlpool_door,
has             ;

Object  pool "whirlpool" whirlpool
with    name 'whirl' 'pool' 'whirlpool' 'tub' 'of' 'large' 'bath' 'vat' 'water'
'bubbling',
               description
                       "With all its water steaming and bubbling, the whirlpool
                       looks more like the birthing pool of some sci-fi monster
                       rather than a relaxation device.",
               before [;
                       Enter,Touch:
                               "You'd rather not. Just knowing Charles was in there,
                               likely naked, makes your skin crawl.";
                       Receive:
                               if (noun == scott_clothes) {
                               scott.blackmailed = true;
                               move scott_clothes to whirlpool;
                               "~Listen!~ you hiss, holding the clothes out over the
                               water. ~Either you tell me what I want to know or I
                               drop these in.~
                               ^^~What? You're crazy!~
                               ^^~Am I?~ You dunk one leg into the water.
                               ^^~Ok, wait, wait. Alright, what do you want to
                               know?~
                               ^^~Well, who the hell you are, for starters.~
                               ^^~Ok, I'm Scott. Charles's new 'assistant.' I'd
                               shake your hand, but I'm a little indisposed at the
                               moment.~
                               ^^~I'll let it slide,~ you say, politely averting
                               your eyes. ~Do you always bathe naked with your
                               employers?~
                               ^^~Bathe naked, sleep naked, play Parcheesi naked,~
                               he shrugs his shoulders. ~Whatever they pay me for.
                               It's all the same to me.~
                               ^^You knew it. Charles was always a little
                               well-manicured, even for Pine Meadows. ~So he pays
                               you for your services?~
                               ^^~Of course, you have seen him, haven't you?~ The
                               two of you share a collective shudder.
                               ^^~Alright, that's enough.~ Satisfied you have enough
                               information, you hang his clothes back on the hooks.
                               ^^~Anytime.~";
                               }
                               if (noun == bleach && scott.blackmailed == false)
                               "That's a little cruel, even for you.";
                               if (noun == bleach && scott.blackmailed == true)
                               "Although Scott might appreciate you sterilizing the
                               tub after Charles was in there, he'd probably
                               appreciate keeping his skin more.";
                               else
                               "There's no way subjecting any of your stuff to that
                               water.";
               ],
has             scenery;

Object  scott "Scott" whirlpool
with    name 'Scott' 'boy' 'man' 'assistant' 'balls',
               initial [;
                       if (self.blackmailed == false)
                       "A young man reclines in the pool, naked.";
                       else
                       print (string) random("Scott uncrosses and recrosses his
                       legs, lingering a little longer than necessary in between.^",
                       "Scott absentmindedly scratches the inside of his thigh,
                       drawing you eyes towards it. Damn, this kid knows his
                       stuff.^", "Scott reclines in the pool.^", "Scott reclines in
                       the pool.^");
               ],
               description [;
                       if (self.blackmailed == false)
                               "With his bleached hair and chiseled features, this
                               guy looks like he stepped right out of Honcho.";
                       else
                               "Scott lies back with his eyes closed, although not
                               completely. He seems to like the fact that you're
                               staring at him.";
               ],
               scott_first_seen false,
               blackmailed false,
               leave_with_clothes false,
               each_turn [;
                       if (self.scott_first_seen == false) {
                               self.scott_first_seen = true;
                               "^The man sits up with a start but does nothing to
                               conceal his nudity. ~Who the hell are you?~ he
                               demands. Without waiting for a reply, he lies back.
                               ~Nevermind. I don't care. Charles said I could stay
                               here all afternoon, so fuck off.~";
                       }

                       else
                               return false;
               ],
               react_before [;
                       Go:
                               if (scott_clothes in player && noun == n_obj) {
                               self.blackmailed = true;
                               move scott_clothes to whirlpool;
                               "~Listen!~ you hiss, holding the clothes out of the
                               young man's reach. ~Either you tell me what I want to
                               know or I walk out with these clothes right now.~
                               ^^~What? You're crazy!~
                               ^^~Am I?~ You walk towards the door.
                               ^^~Ok, wait, wait. Alright, what do you want to
                               know?~
                               ^^~Well, who the hell you are, for starters.~
                               ^^~Ok, I'm Scott. Charles's new 'assistant.' I'd
                               shake your hand, but I'm a little indisposed at the
                               moment.~
                               ^^~I'll let it slide,~ you say, politely averting
                               your eyes. ~Do you always bathe naked with your
                               employers?~
                               ^^~Bathe naked, sleep naked, play Parcheesi naked,~
                               he shrugs his shoulders. ~Whatever they pay me for.
                               It's all the same to me.~
                               ^^You knew it. Charles was always a little
                               well-manicured, even for Pine Meadows. ~So he pays
                               you for your services?~
                               ^^~Of course, you have seen him, haven't you?~ The
                               two of you share a collective shudder.
                               ^^~Alright, that's enough.~ Satisfied you have enough
                               information, you hang his clothes back on the hooks.
                               ^^~Anytime.~";
                               }
                               else
                               return false;
               ],

               before [ w;
                       Handle:
                               "Very funny, but just because he's not keeping it in
                               his pants doesn't mean you shouldn't.";
                       Smell:
                               "He smells like sweat and chlorine.";
                       Blackmail:
                               wn = consult_from;
                               w = NextWord();
                               switch (w) {
                                       'clothes', 'clothing', 'pants', 'shirt':
                                       if (self.blackmailed == false) {
                                       self.blackmailed = true;
                                       move scott_clothes to hooks;
                                       "~Listen!~ you hiss, holding the clothes out
                                       of the young man's reach. ~Either you tell me
                                       what I want to know or I walk out with these
                                       clothes right now.~
                                       ^^~What? You're crazy!~
                                       ^^~Am I?~ You begin to walk towards the door.
                                       ^^~Ok, wait, wait. Alright, what do you want
                                       to know?~
                                       ^^~Well, who the hell you are, for starters.~
                                       ^^~Ok, I'm Scott. Charles's new 'assistant.'
                                       I'd shake your hand, but I'm a little
                                       indisposed at the moment.~
                                       ^^~I'll let it slide,~ you say, politely
                                       averting your eyes. ~Do you always bathe
                                       naked with your employers?~
                                       ^^~Bathe naked, sleep naked, play Parcheesi
                                       naked,~ he shrugs his shoulders. ~Whatever
                                       they pay me for. It's all the same to me.~
                                       ^^You knew it. Charles was always a little
                                       well-manicured, even for Pine Meadows. ~So he
                                       pays you for your services?~
                                       ^^~Of course, you have seen him, haven't
                                       you?~ The two of you share a collective
                                       shudder.
                                       ^^~Alright, that's enough.~ Satisfied you
                                       have enough information, you hang his clothes
                                       back on the hooks.
                                       ^^~Anytime.~";
                                       }
                                       else
                                       "You've already gotten all you need out of
                                       Scott.";

                               }
                               "He's not afraid of that.";
               ],
               life [;
                       Kiss:
                               "You have enough trouble juggling Keith and Frank,
                               throwing him in there would be just too many balls
                               to handle.";
                       Attack:
                               "Better not, looks like he could take you.";
                       Order:
                               "~Don't think I'm one of those penguins you can boss
                               around,~ he says, snorting derisively.";
                       Show,Give:
                               if (self.blackmailed == false) {
                                       if (noun == scott_clothes)
                                               "~Hey, put those back.~";
                                       else
                                               "The young man sneers.";
                               }
                               else {
                                       if (noun == watch)
                                               "~Shit, girl. That's some nice ice,~
                                               Scott says, gripping your wrist and
                                               holding the watch up to sparkle in
                                               the light. He may be crude but at
                                               least he has good taste, Charles
                                               excluded, of course.";
                                       if (noun == clothes)
                                               "~The pumps are a little dated, but
                                               then again, no one's looking at your
                                               feet,~ he says, giving a nod of
                                               approval at your chest.";
                                       if (noun == pills or wine)
                                               "~I'd love to join you, but Charles
                                               won't pay me if I can't get it up.~";
                                       else
                                               return false;


                               }
                       Ask,Tell:
                               if (self.blackmailed == false)
                                       "~Fuck off, I don't have to talk to you.~";
                               else
                                       switch(second) {
                                               'cell', 'cellular', 'mobile',
                                               'phone', 'telephone', 'calling',
                                               'phoning':
                                               "~Do you happen to have a phone I
                                               could borrow?~ you ask, trying to
                                               sound pleasant.
                                               ^^~Sorry, girl, but I don't carry a
                                               cell anymore. You know how clingy men
                                               can be.~
                                               ^^~Do I ever. Here's a tip: never get
                                               married.~";
                                               'pill', 'pills', 'percodan', 'drug',
                                               'drugs', 'tablets', 'caplets',
                                               'Cabernet', 'Sauvignon', 'wine',
                                               'red', 'drink':
                                               "~I'd love to join you, but Charles
                                               won't pay me if I can't get it up.~";
                                               'Pine', 'Meadows', 'club':
                                               "~So, how are you liking it here?~
                                               ^^~It's ok, I guess. Not a bad place
                                               to earn a buck.~";
                                               'keith', 'lover', 'affair',
                                               'adultery', 'rumor', 'rumour',
                                               'rumors', 'rumours', 'gossip',
                                               'julia', 'hawthorne':
                                               "Eager to know how far the gossip has
                                               spread, you ask Scott about what he's
                                               heard.
                                               ^^~Oh, so you're the chick who's
                                               banging the Pro Shop guy? Congrats,
                                               he's hot,~ Scott says, giving you an
                                               impressed nod.";
                                               'Charles', 'Burton', 'registrar':
                                               "~So what's it like working for
                                               Charles?~
                                               ^^~Ugh, it's bad enough I have to
                                               think of him when he's here. Don't
                                               make me do it when he's not.~";
                                               'Charles^s', 'preferences',
                                               'services', 'hoeing', 'job', 'hoe',
                                               'whoring', 'oral', 'sex', 'sexual',
                                               'charles^', 'work', 'prostitute':
                                               "Scott proceeds to go in to what he
                                               does with graphic detail. At first
                                               you are horrified, but when the shock
                                               dies down, you find it quite
                                               fascinating. You leave the
                                               conversation with a few new tricks
                                               that Keith might enjoy.";
                                               'whirl', 'pool', 'whirlpool', 'tub',
                                               'of', 'large', 'bath', 'vat',
                                               'water', 'bubbling', 'steam':
                                               "~What's this like, anyway?~ you ask,
                                               gesturing disdainfully at the water.
                                               ^^~It's great to have sex in. I can
                                               barely tell whether it's the water
                                               touching me or Charles.~
                                               ^^Hey, that'd come in handy next time
                                               you want something out of Frank.";
                                               'Cynthia', 'Fordham', 'Beverly',
                                               'Winters', 'Melissa', 'Stratham',
                                               'Cissy', 'Winnecott', 'Cecilia',
                                               'bev', 'mel':
                                               "~Hmm, I might have met her, but I
                                               really wouldn't know. Have you
                                               noticed that all the women here are
                                               pretty much exactly the same?~";
                                               'roger', 'knowles':
                                               "~Have you heard much about this
                                               Roger fellow?~
                                               ^^~Oh yeah, Charles warned me about
                                               him. Apparently he's pretty
                                               old-fashioned,~ --Scott leans forward
                                               conspiratorially-- ~but then again
                                               you'd be surprised at how many
                                               'old-fashioned' guys employ my
                                               services.~ He then lists off about
                                               half-a-dozen names of certain
                                               well-respected politicians and
                                               businessmen.";
                                               'senator', 'politician',
                                               'politicians', 'businessmen',
                                               'well-respected':
                                               "~Politicians, you say?~ you ask,
                                               more than a little intrigued.
                                               ^^~Our little secret, ok, girl?~ he
                                               says with a wink.";
                                               'frank', 'husband':
                                               "~Believe me, I know your pain, I'm
                                               married to a man who would make
                                               Charles look like a dream.~
                                               ^^~Oh, so you know what I'm talking
                                               about then. The things we do for love
                                               of money.~";
                                               'money', 'cash', 'wages', 'fee':
                                               "~So, how's the money in sleeping
                                               with Charles?~
                                               ^^~Why, you thinking of branching
                                               out? Well, I do alright,~ he says,
                                               glancing at your watch, ~not as well
                                               as you though.~";
                                               'clothes', 'his', 'clothing',
                                               'poly-cotton', 'poly', 'cotton',
                                               'blend':
                                               "~Your clothes are~ --you pause,
                                               looking for the right word--
                                               ~interesting.~
                                               ^^~Cazh, aren't they?~
                                               ^^Ugh, you thought that word died out
                                               in the nineties.";
                                       }

                                       "~If you don't mind, I'm trying to boil off
                                       Charles's touch.~";
               ],
has             proper male animate;

Object  scott_clothes "clothes" whirlpool
with    name 'clothes' 'clothing' 'pants' 'shirt' 'poly' 'cotton' 'scott^s',
               initial

                       "Some clothes hang on one of the hooks.",
               description
                       "My God! A poly-cotton blend in this place? What is Pine
                       Meadows coming to?",
               before [;
                       Receive:
                               if (noun == bleach or wine) {
                                       if (scott.blackmailed == false) {
                                       scott.blackmailed = true;
                                       "~Listen!~ you hiss, holding ", (the) noun, "
                                       tilted over the man's clothes. ~Either you
                                       tell me what I want to know or I walk out
                                       with these clothes right now.~
                                       ^^~What? You're crazy!~
                                       ^^~Am I?~ You bring ", (the) noun, " closer.
                                       ^^~Ok, wait, wait. Alright, what do you want
                                       to know?~
                                       ^^~Well, who the hell you are, for starters.~
                                       ^^~Ok, I'm Scott. Charles's new 'assistant.'
                                       I'd shake your hand, but I'm a little
                                       indisposed at the moment.~
                                       ^^~I'll let it slide,~ you say, politely
                                       averting your eyes. ~Do you always bathe
                                       naked with your employers?~
                                       ^^~Bathe naked, sleep naked, play Parcheesi
                                       naked,~ he shrugs his shoulders. ~Whatever
                                       they pay me for. It's all the same to me.~
                                       ^^You knew it. Charles was always a little
                                       well-manicured, even for Pine Meadows. ~So he
                                       pays you for your services?~
                                       ^^~Of course, you have seen him, haven't
                                       you?~ The two of you share a collective
                                       shudder.
                                       ^^~Alright, that's enough.~ Satisfied you
                                       have enough information, you hang his clothes
                                       back on the hooks.
                                       ^^~Anytime.~";
                                       }
                                       else
                                       "You've already gotten all you need out of
                                       Scott.";
                                       }
                       Search:
                               "~Hey, cut that out!~ You ignore him but find nothing
                               of interest anyway.";
                       Take:
                               if (scott.blackmailed == false) {
                                       print "~Hey, what are you doing? I need
                                       those,~ the man cries.
                                       ^^You ignore him and take the clothes.^";
                                       move scott_clothes to player;
                                       return true;

                               }
                               else
                                       "You've already gotten everything you need
                                       out of Scott, you don't need to touch that
                                       again.";
                               Touch:
                                       "The cheap fabric grates against your skin.";
                               Wear:
                                       "Cotton doesn't even look good on the bush.
                                       You'll stick to silk.";
               ],
has             pluralname clothing worker;

Object  hooks "row of hooks" whirlpool
with    name 'row' 'hook' 'hooks' 'peg' 'pegs' 'wooden' 'of',
               description
                       "Somewhat warped from all the steam, the hooks serve to hold
                       the clothes of those who do not have lockers.",
has             scenery supporter;

Object  whirlpool_steam "steam" whirlpool
with    name 'steam' 'humid' 'humidity' 'mist' 'cloud' 'of',
               description
                       "It clings to your clothes and flattens your hair.",
               before [;
                       Examine:
                               return false;
                       Smell:
                               "The steam chokes at your nose.";
                       default:
                               "It's just some steam.";
               ],
has             scenery proper;


!---------------------------------------------------------------------------
!WOMEN'S CHANGE
!---------------------------------------------------------------------------

Room    women_change "Women's change room"
with    name 'combination' 'lock' 'dial',
               description [;
                       if (self hasnt visited)
                       "Your heels click loudly on the tiles, echoing down the banks
                       of lockers that line the sides of the room. With the pool
                       closed until summer and tennis verging on the pass@'e, the
                       only use the women of Pine Meadows have for this room is the
                       lockers. The showers lie, unused, to the north.";
                       else
                       "With the pool closed until summer and tennis verging on the
                       pass@'e, the only use the women of Pine Meadows have for this
                       room is the lockers. The showers lie, unused, to the north.";
               ],
               before [;
                       SetTo:
                               "If you know the combination, you can just open the
                               locker.";
                       Shower:
                               "You don't have time!";
               ],
               out_to spa_lobby,
               s_to spa_lobby,
               n_to "You don't have the time to shower.",
has             ;


Object  julia_locker "your locker" women_change
with    pname '.x' '#11' '.x' '11' '.x' 'your' '.x' 'Hawthorne^s' '.x''Hawthorne'
'.x''Julia' '.x''Julia^s' '.x''my' '.x''mine' 'locker',
               description
                       "Your locker looks like all the rest, except for the #11 on a
                       plate.",
               initial
                       "Your locker, #11, sits against the left wall.",
               before [;
                       Lock:
                               "The lockers lock automatically when you close
                               them.";

                       Open,Unlock:
                               if (self hasnt open) {
                                       give self open;
                                       print "38 left, 24 right, 34 left, just like
                                       your measurements. Inside is a change of
                                       clothes.^";
                                       return true;
                               }
                               else
                               return false;
               ],
has             openable static container proper;

Object  change_of_clothes "change of clothes" julia_locker
with    name 'change' 'clothes' 'backup' 'clothing' 'of',
               initial
                       "A change of clothes sits in your locker.",
               description [;
                       if (self hasnt worn)
                       "While the thought of changing without your vanity desk and
                       six angled mirrors is by no means appealing, you've kept a
                       spare set of clothes in your locker since last year when
                       Frank spilled red wine all over you.";
                       else
                       "You only kept these clothes around in case of an emergency.
                       And while today has certainly qualified, you wish you had had
                       a little more foresight in choosing them. You bought them
                       months ago before your diet had kicked in. Now you are
                       practically swimming in them.";
               ],
               react_before [;
                       Change:
                       if (behind_club hasnt visited)
                                                       "Besides from a little sweat, your ensemble is in
                                                       good condition. There's no need to change right
                                                       now.";
                                                       else
                                                       "Although those bushes took their toll, the worst
                                                       might be yet to come. You should probably save these
                               clothes for the banquet.";
               ],
               before [;
                       Take,Wear,Change:
                               if (banquet hasnt visited) {
                               if (behind_club hasnt visited)
                               "Besides from a little sweat, your ensemble is in
                               good condition. There's no need to change right
                               now.";
                               else
                               "Although those bushes took their toll, the worst
                               might be yet to come. You should probably save these
                               clothes for the banquet.";
                               }
                               else
                               "You already have them on.";
                       Drop,ThrowAt,Disrobe,Remove:
                               "While removing your clothes would certainly cause
                               the distraction you need, it might arouse Frank. And
                               that's the last thing you want right now.";
               ],

has             clothing;

Object  cynthia_locker "Cynthia's locker"
with    pname '.x' 'Cynthia' '.x' 'Cynthia^s' '.x' 'Fordham' '.x' 'Fordham^s'  '.x'
'#18' '.x' '18' 'locker',
               initial
                       "Cynthia's locker, #18, stands against the wall.",
               description
                       "The locker looks like all the rest, except for the #18 on a
                       plate.",
               opened false,
               before [;
                       Lock:
                               "The lockers lock automatically when you close
                               them.";

                       Open,Unlock:
                       if (self hasnt open) {
                       if (camera in self) {
                       give self open;
                       self.opened = true;
                       print "Turning the dial to 23-44-46, you hear a gentle click.
                       The swings open to reveal a small camera sitting in the
                       bottom of the locker.^";
                       return true;
                       }
                       else {
                       give self open;
                       "Turning the dial to 23-44-46, you hear a gentle click, and
                       the door swings open.";
                       }
                       }
                       else
                       return false;
               ],
has             static openable container proper;

Object  women_lockers "lockers" women_change
with    name 'lockers' 'bank' 'banks' 'row' 'locks' 'locker',
               description
                       "What is it about locked things that makes them so
                       irresistible?",
               before [;
                       Open,Unlock:
                               "You don't know the combination.";
               ],
has             scenery pluralname;

Object  camera "camera" cynthia_locker
with    name 'camera' 'small' 'instant' 'cam',
               description
                       "It's a small, instant camera.",
               before [;
                       Open,Search:
                               "You flip open the small hatch on the side where the
                               film is supposed to go. It's empty.";
                       Receive:
                               if (noun == film)
                                       "You probably should get rid of the film.";
                               else
                                       "The hatch is too small.";
               ],
has             ;

Object  melissa_locker "Melissa's locker"
with    pname '.x' 'Melissa' '.x' 'Melissa^s' '.x' 'Stratham' '.x' 'Stratham^s' '.x'
'#67' '.x' '67' '.x' 'mel' 'locker',
               initial
                       "You see Melissa's locker, #67, against the wall.",
               description
                       "The locker looks like all the rest, except for the #67 on a
                       plate.",
               after [;
                       Lock:
                               "The lockers lock automatically when you close
                               them.";

                       Open:
                               if (pills in melissa_locker) {
                               Achieved(5);
                               "You flip the dial through 33-73-42 and the locker
                               swings open to reveal a small bottle of pills.";
                               }
                               else
                               return false;

               ],
has             static openable container proper;

Object  pills "bottle of Percodan" melissa_locker
with    name 'bottle' 'of' 'pill' 'pills' 'percodan' 'drug' 'drugs' 'tablets'
'caplets' 'label',
               description
                       "Ah, this takes you back. The bottle contains a number of
                       small white pills. On the side is a label that says:
                       ~Percodan. Highly addictive. Do not take for longer than five
                       days or dependency may result.~ Below that is a date for
                       several months ago and the name and phone number of one Dr.
                       Ferguson. Curiously, the name of the patient is scratched
                       out.",
               number_known false,
               after [;
                       Examine,Search:
                               self.number_known = true;
               ],
               before [;
                       EmptyT:
                               <<Insert self second>>;
                       Open,Empty:
                               "Best not, you might lose them.";
                       Eat:
                               "Please, pill-popping is so pass@'e.";
               ],
has             ;

Object  beverly_locker "Beverly's locker"
with    pname '.x' 'Bev''.x'  'Bev^s''.x'  'Beverly''.x'  'Beverly^s''.x'
'Winters''.x'  'Winters^' '.x' '3//' '.x' '#3' 'locker',
               initial
                       "Beverly's locker, #3, sits in the banks.",
               description
                       "The locker looks like all the rest, except for the #3 on a
                       plate.",
               before [;
                       Lock:
                               "The lockers lock automatically when you close
                               them.";
                       Open,Unlock:
                               if (self hasnt open) {
                                       give self open;
                                       print "You turn the dial to 16-43-81 and here
                                       a small click as the door swings open and
                                       reveals some of Beverly's trademark
                                       clothes.^";
                                       return true;
                                       }
                               else
                                       return false;
               ],

has             static openable container proper;

Object  beverly_clothes "Beverly's clothes" beverly_locker
with    name  'Beverly^s' 'Bev^s' 'clothes' 'clothing' 'Ralph' 'Lauren' 'skirt'
'sweater' 'pumps',
               description [;
                       if (self.bleach_stained == true || self.wine_stained == true)
                               "A sweater, some pumps, a pleated skirt. When Beverly
                               wears this stuff she looks like she stepped right out
                               of a Ralph Lauren catalogue, from four years ago.
                               ^^There is a slight stain on the skirt.";
                       else
                               "A sweater, some pumps, a pleated skirt. When Beverly
                               wears this stuff she looks like she stepped right out
                               of a Ralph Lauren catalogue, from four years ago.";
               ],
               bleach_stained false,
               wine_stained false,
               before [;
                       Take:
                               "Please, if you wanted to see yourself in these
                               clothes, you'd look in a photo album from four years
                               ago, when they were fashionable.";
                       Receive:
                               if (noun == bleach) {
                                       if (self.bleach_stained == true)
                                               "You've already put enough bleach on
                                               them.";
                                       if (self.wine_stained == true)
                                               "No time for cold feet now. Besides,
                                               everyone knows you use club soda for
                                               red wine.";
                                       else
                                               Achieved(16);
                                               self.bleach_stained = true;
                                               print "Careful not to completely ruin
                                               them, you pour a little of the bleach
                                               on to the clothes.^";
                                               return true;
                               }

                               if (noun == wine) {
                                       if (self.wine_stained == true)
                                               "You've already put enough wine on
                                               them.";
                                       if (self.bleach_stained == true)
                                               "You've already ruined the clothes
                                               enough.";
                                       else
                                               Achieved(16);
                                               self.wine_stained = true;
                                               "Careful not to completely ruin them,
                                               you pour a little of the wine on to
                                               the clothes.";
                               }
                               if (noun == loose_hairs)
                                       "Although you'd love to see Beverly's
                                       reaction when she puts on the clothes and
                                       thinks she's shedding gray hairs, it'd be
                                       fleeting. Perhaps there's a more damaging
                                       solution.";
                               else
                                       "You don't want to put that on her clothes.";
               ],



has             clothing static proper pluralname;

!---------------------------------------------------------------------------
!MEN'S CHANGE
!---------------------------------------------------------------------------



Room    men_change "Men's change room"
with    name 'combination' 'lock' 'dial',
               initial
                       "Checking first to make sure no one is looking, you enter the
                       men's change room.",
               description
                       "Despite everything you've heard about men's bath and change
                       facilities, this room is remarkably similar to the women's
                       one you're more familiar with. Same tiles, same lockers. In
                       fact, if it weren't for the direction you entered through,
                       you wouldn't be able to tell the difference.",
               before [;
                       Smell:
                               if (noun == nothing)
                                       "Hmm, guess all you've heard about men's change rooms has been
                                       wrong; it doesn't smell that bad in here.";
                               else
                               return false;
                       SetTo:
                               "If you know the combination, you can just open the
                               locker.";
                       Shower:
                               "Being naked where you're not supposed to be has
                               caused enough trouble already.";
               ],
               out_to spa_lobby,
               e_to spa_lobby,
               w_to "There's nothing in there you want to see.",
has             ;

Object  charles_locker "Charles's locker"
with    name '#32' '32' 'Charles' 'Charles^s' 'charles^' 'locker' 'plate' 'Burton'
'Burton^s' 'lock' 'combination',
               description
                       "This locker looks the same as all the rest, except for the
                       #32 on the plate.",
               initial
                       "There it is, Charles's locker, #32.",
               before [;
                       Lock:
                               "The lockers lock automatically when you close
                               them.";
                       Open,Unlock:
                               if (list.charles_consulted == false)
                               "You don't know the combination.";
                               if (self hasnt open) {
                               give self open;
                               print "You check to see you're alone and then enter
                               62-34-42 on the combination lock. Inside is Charles's
                               clothing.^";
                               return true;
                               }
                               else
                               return false;
               ],

has             proper openable static container;

Object  rogers_locker "Roger's locker"
with    name 'Roger' 'Roger^s' 'Knowles' 'Knowles^s' 'locker' '2//' '#2',
               initial
                       "Roger's locker, #2, sits against on wall.",
               description
                       "This locker looks the same as all the rest, except for the
                       #2 on the plate.",
               before [;
                       Lock:
                               "The lockers lock automatically when you close
                               them.";

                       Open,Unlock:
                               if (self hasnt open) {
                                       give self open;
                                       print "You check to see that you're alone and
                                       then enter 87-54-63 on the lock. The door
                                       opens to reveal some of Roger's golf
                                       stuff.^";
                                       return true;
                               }
                               else
                               return false;
               ],
has             proper openable static container;

Object  rogers_stuff "Roger's stuff" rogers_locker
with    name 'Roger' 'Roger^s' 'Knowles' 'Knowles^s' 'stuff' 'things' 'tees' 'tee'
'golf' 'shirt' 'card',
               description
                       "A spare golf shirt, some tees, a score card. Nothing the
                       least bit interesting.",
               before [;
                       Take:
                               "Nah. If you want this kind of stuff, Keith will give
                               it to you for free. You really got yourself a winner
                               there.";
                       Wear:
                               "If you didn't want people seeing your cleavage, you
                               wouldn't have spent three thousand dollars on it.";
               ],
has             proper scenery clothing;

Object  men_lockers "lockers" men_change
with    name 'lockers' 'bank' 'banks' 'row' 'locks' 'locker' 'Roger' 'Roger^s'
'Knowles' 'Knowles^s' 'Charles' 'Charles^s' 'charles^' 'Burton' 'Burton^s',
               description
                       "What is it about locked things that makes them so
                       irresistible?",
               before [;
                       Open,Unlock:
                               "You don't know the combination.";

               ],
has             scenery pluralname;

Object  charles_clothes "Charles's clothes" charles_locker
with    name 'Charles' 'Charles^s' 'charles^' 'clothes' 'Burton' 'Burton^s' 'pocket'
'pockets' 'clothing',
               description
                       "Looking at Charles's clothes baffles you. Despite being all
                       top of the line, on Charles they look cheap and out-of-place.
                       Some people just aren't meant to be rich.",
               before [;
                       Take: "You don't want them.";
                       Search:
                               if (charles_key hasnt moved) {
                               Achieved(3);
                               move charles_key to player;
                               "You begin fishing through the pockets of Charles's
                               clothes. Just when you think you've gone through
                               every pocket three times, you find it: the key to
                               Charles's office. You pocket it quickly.";
                               }
                               else
                               "There's nothing else in his clothes.";
                       Receive:
                               "You don't want to put anything in his clothes.";
                       Wear:
                               "These clothes don't even look good on Charles.";

                       ],

has             clothing proper;



Key             charles_key "key"
with    pname '.x' 'Charles^s' '.x' 'registrar^s' '.x' 'charles^' 'key',
               description
                       "Small and made of steel, the key to Charles's office fits in
                       the palm of your hand.",
has             ;


!---------------------------------------------------------------------------
!CHARLES OFFICE
!---------------------------------------------------------------------------

Room    office "Office of the Registrar"
with    name 'paper' 'papers' 'course' 'green' 'golf' 'range' 'chair',
               description [;
                       if (office hasnt visited)
                       "You haven't seen this room since you joined the club years
                       ago. Frank handles all the dues, and Charles isn't your first
                       choice among people to socialize with. The office itself
                       seems to be a lot more luxurious than before. Maybe last time
                       you were just distracted by the fear of your application
                       being denied, or, more likely, Charles's perpetually tacky
                       air just drained all the class out of the place. Either way,
                       you have to say that now you like its bold charm, so unlike
                       its owner.
                       ^^Clearly the focus of the layout, a magnificently restored
                       antique oak desk stands near the back of the room,
                       illuminated by a spacious window overlooking the golf course.
                       Somewhat less impressive, a wise move considering they might
                       detract from the desk, are a row of cabinets leading from the
                       door to the south, along the wall, to the window at the far
                       side of the room.
                       ^^Charles could come back any minute. Better make it quick.";
                       else
                       "Clearly the focus of the layout, a magnificently restored
                       antique oak desk stands near the back of the room,
                       illuminated by a spacious window overlooking the golf course.
                       Somewhat less impressive, a wise move considering they might
                       detract from the desk, are a row of cabinets leading from the
                       door to the south, along the wall, to the window at the far
                       side of the room.";
                       ],
               cynthia_consulted false,
               desk_consulted false,
               melissa_consulted false,
               doctor_called false,
               before [ w;
                       Call:
                               if (charles notin office)
                               "Better not, someone might hear you.";
                               else {
                               wn = consult_from;
                               w = NextWord();
                               switch (w) {
                                       'frank', 'husband':
                                               "It's bad enough talking to him when
                                               he's around.";
                                       '911', 'emergency', 'fire', 'police':
                                               "You've tried before, but the
                                               authorities just don't see fashion
                                               disasters as being as serious as you
                                               do.";
                                       'doctor', 'dr', 'doc', 'ferguson',
                                       'melissa^s':
                                       if (pills.number_known == true) {
                                       if (self.doctor_called == false) {
                                               Achieved(18);
                                               self.doctor_called = true;
                                               "Suspicious about those pills, you
                                               call up doctor Ferguson.
                                               ^^~Hi, Dr. Ferguson. This is Angie
                                               from Dr. Leeds office,~ you say in as
                                               nasal a voice as you can muster. ~I'm
                                               calling in regards to a patient of
                                               yours, one Melissa Stratham.~
                                               ^^~Yes, what can I do for you?~ he
                                               asks, more than a little perturbed to
                                               be disturbed.
                                               ^^~Well, Mrs. Stratham told us that
                                               you gave her a prescription for
                                               Percodan to be renewed indefinitely
                                               and--~
                                               ^^~What? She's still taking them?
                                               They're highly addictive!~ he says
                                               with concern, more likely from fear
                                               of malpractice than genuine
                                               compassion.
                                               ^^~Alright, Dr. Ferguson. I'll notify
                                               Betty Ford right away.~
                                               ^^With that, you hang up the phone
                                               and ignore Charles's odd looks.";
                                       }
                                       else
                                               "You've gotten all you need from Dr.
                                               Ferguson.";
                                       }
                                       else
                                       "You don't have the number.";
                               }
                                       "You don't have the number.";
                       }
                       Jump:
                               if (window hasnt open)
                                       "But the window is closed.";
                               else
                                       "There's got to be a safer way out of the
                                       office.";
                       Hide:
                               if (charles notin office)
                                       "You try crawling under the desk, but figure
                                       that if Charles does come in, your face will
                                       be where only cater-waiters and hustlers have
                                       been before. Then, you climb on top of the
                                       cabinets, but realize that Charles isn't
                                       quite that short. Finally, you try hiding
                                       behind a pencil, but you have a few more
                                       months on your diet before you can pull that
                                       off. Dejected, you go about finding a better
                                       way to avoid getting caught.";
                               else
                                       return false;
                       Go: if (window hasnt open && noun == d_obj or out_obj) {
                               print "But the window isn't open.";
                               return true;
                               }
                               if (window has open && noun == d_obj or out_obj){
                               PlayerTo(bushes);
                               return true;
                               }
                               if (noun == s_obj && behind_club hasnt visited)
                               "Better not, someone might see you if you leave that
                               way.";
                               if (charles in self && noun == d_obj or out_obj)
                               "Charles might think that a little odd, especially
                               with the trellis broken.";
                               else
                               return false;
                       Consult:
                               if (charles notin office) {
                               if (charles_door has locked && charles_door hasnt
                               open) {
                               if (noun == nothing) {
                                       noun = cabinet;
                                       wn = consult_from;
                                       w = NextWord();
                                               switch (w) {
                                       'Julia', 'Hawthorne', 'frank':
                                               "Hmm, what's this? The account Frank
                                               has been using to pay for dues isn't
                                               anyone that you recognize. How dare
                                               he? A marriage is supposed to be
                                               about trust!";
                                       'Cynthia', 'Fordham':
                                               if (self.cynthia_consulted == false)
                                               {
                                               (self.cynthia_consulted = true);
                                               cupboards.allergy_known = true;
                                               Achieved(4);
                                               "Cynthia's financial records are
                                               boring, even for accounting forms;
                                               however, towards the end, you find a
                                               health notice. Well, well, it looks
                                               like someone's allergic to peanuts.
                                               ^^Just as you close the cabinet, you
                                               hear faint footsteps outside the
                                               door. ~Who's in there?~ You hear
                                               Charles call as he thuds on the
                                               door.";
                                               }
                                               if (self.cynthia_consulted == true)
                                               "Cynthia's financial records are
                                               boring, even for accounting forms;
                                               however, towards the end, you find a
                                               health notice. Well, well, it looks
                                               like someone's allergic to peanuts.";
                                       'Charles', 'Burton':
                                               "Eighty thousand dollars a year. Well
                                               now you see why it costs three
                                               dollars for a glass of Perrier.";
                                       'desk', 'furniture', 'requisition',
                                       'invoice', 'table', 'form':
                                               self.desk_consulted = true;
                                               "Interesting. It's an invoice from an
                                               antique dealer in Manhattan. Eight
                                               thousand dollars for a new desk?
                                               That's a little pricy even for Pine
                                               Meadows. You wonder how it was ever
                                               approved.";
                                       'Melissa', 'Stratham', 'Johnathan', 'mel':

                                               "The cheques are made out from her
                                               husband. She may be young, but at
                                               least she knows how to work it.";
                                       'Beverly', 'Bev', 'Winters':
                                               "What's this? A note from Beverly's
                                               mother to Charles reminding him of
                                               Beverly's fiftieth birthday that is
                                               approaching soon. Well it's about
                                               time: she's been forty-five for six
                                               years now.";
                                       'Cissy', 'Cecilia', 'Winnecott':
                                               "Cissy's records are as bloated and
                                               boring as she is.";
                                       'Roger', 'Knowles':
                                               "Roger's files list him as the
                                               primary shareholder of the club,
                                               giving him the ability to make
                                               membership decisions completely at
                                               his own discretion.";
                                       'Williams', 'William', 'ms':
                                               "Ms. Williams's cheques go back to
                                               the fifties, when the club first
                                               opened.";
                                       'Keith':
                                               "Ten thousand dollars a year. No
                                               wonder he takes you to basements
                                               instead of the Four Seasons.";
                                       'Scott', 'assistant':
                                               "Hmm, there's a work invoice for an
                                               assistant here, but the hours are
                                               erratic and many of them occur late
                                               at night.";
                                       default:
                                               "That name doesn't seem to be on
                                               file.";
                               }
                               }
                               }
                               else
                                       "You'd best ensure you have some privacy
                                       before you go rifling through the cabinets.";
                               }
                               else
                                       if (noun == nothing) {
                                       noun = cabinet;
                                       wn = consult_from;
                                       w = NextWord();
                                               switch (w) {
                                       'Julia', 'Hawthorne', 'frank':
                                               "Hmm, what's this? The account Frank
                                               has been using to pay for dues isn't
                                               anyone that you recognize. How dare
                                               he? A marriage is supposed to be
                                               about trust!";
                                       'Cynthia', 'Fordham':
                                               if (self.cynthia_consulted == false)
                                               {
                                               (self.cynthia_consulted = true);
                                               cupboards.allergy_known = true;
                                               Achieved(4);
                                               "Cynthia's financial records are
                                               boring, even for accounting forms;
                                               however, towards the end, you find a
                                               health notice. Well, well, it looks
                                               like someone's allergic to peanuts.
                                               ^^Just as you close the cabinet, you
                                               hear faint footsteps outside the
                                               door. ~Who's in there?~ You hear
                                               Charles call as he thuds on the
                                               door.";
                                               }
                                               if (self.cynthia_consulted == true)
                                               "Cynthia's financial records are
                                               boring, even for accounting forms;
                                               however, towards the end, you find a
                                               health notice. Well, well, it looks
                                               like someone's allergic to peanuts.";
                                       'Charles', 'Burton':
                                               "Eighty thousand dollars a year. Well
                                               now you see why it costs three
                                               dollars for a glass of Perrier.";
                                       'desk', 'furniture', 'requisition',
                                       'invoice', 'table', 'form':
                                               self.desk_consulted = true;
                                               "Interesting. It's an invoice from an
                                               antique dealer in Manhattan. Eight
                                               thousand dollars for a new desk?
                                               That's a little pricy even for Pine
                                               Meadows. You wonder how it was ever
                                               approved.";
                                       'Melissa', 'Stratham', 'Johnathan', 'mel':
                                               "The cheques are made out from her
                                               husband. She may be young, but at
                                               least she knows how to work it.";
                                       'Beverly', 'Bev', 'Winters':
                                               "What's this? A note from Beverly's
                                               mother to Charles reminding him of
                                               Beverly's fiftieth birthday that is
                                               approaching soon. Well it's about
                                               time: she's been forty-five for six
                                               years now.";
                                       'Cissy', 'Cecilia', 'Winnecott':
                                               "Cissy's records are as bloated and
                                               boring as she is.";
                                       'Roger', 'Knowles':
                                               "Roger's files list him as the
                                               primary shareholder of the club,
                                               giving him the ability to make
                                               membership decisions completely at
                                               his own discretion.";
                                       'Williams', 'William', 'ms':
                                               "Ms. Williams's cheques go back to
                                               the fifties, when the club first
                                               opened.";
                                       'Keith':
                                               "Ten thousand dollars a year. No
                                               wonder he takes you to basements
                                               instead of the Four Seasons.";
                                       'Scott', 'assistant':
                                               "Hmm, there's a work invoice for an
                                               assistant here, but the hours are
                                               erratic and many of them occur late
                                               at night.";
                                       default:
                                               "That name doesn't seem to be on
                                               file.";
                               }
                               }
               ],
               each_turn [;


                       if (charles notin office)
                               move in_office to all_hints;
                               Achieved(10);
                               StartTimer(self,3);
                       if (charles in office)
                               StopTimer(self);
                       if (charles_door has locked)
                               StopTimer(self);
                       if (self.desk_consulted == true)
                               Achieved(1);
               ],
               time_left,
               time_out [;
                       if (charles_door has open && location == office){
                               (deadflag = 3);
                               "^You hear Charles shout from behind. ~Julia!~
                               ^^Uh oh, you forgot to close the door. ~Mr. Burton,
                               I- I was just.~ ^^~I don't care what you were doing.
                               You broke in to my locker and stole my key! I'm
                               calling the police.~
                               ^^The criminal charges are just a slap on the wrist,
                               but the humiliation of being dragged from the club in
                               cuffs more than makes up for it.";
                       }
                       if (charles_door hasnt open && charles_door hasnt locked &&
                       location == office) {
                               print "^You hear Charles shout from behind. ~Julia!~
                               ^^Uh oh, you forgot to lock the door. ~Mr. Burton, I-
                               I was just.~ ^^~I don't care what you were doing. You
                               broke in to my locker and stole my key! I'm calling
                               the police.~
                               ^^The criminal charges are just a slap on the wrist,
                               but the humiliation of being dragged from the club in
                               cuffs more than makes up for it.";
                               (deadflag = 3);
                       }
                       else
                       return false;
               ],
               cant_go "You can only leave to the south or down through the
               window.",
               s_to charles_door,
               out_to [;
                       if (behind_club hasnt visited)
                               <<Enter window>>;
                       else
                               <<Enter charles_door>>;
               ],
has             ;

Object  charles_door
with    name 'door'  'Charles^s' 'charles^' 'office' 'lock' 'plate' 'knob' 'doorway',
               article "the",
               short_name [;
                       if (behind_club hasnt visited) {
                       if (location == west_hall)
                               print "door to Charles's office";
                       else
                               print "door to the western wing";
                       return true;
                       }
                       else
                               print "broken door";
                       return true;
                       ],
               description [;
                       if (behind_club hasnt visited) {
                       if (location == west_hall)
                               "Simple, unassuming, and wooden, just like its owner,
                               Charles Burton, this door leads to the office of the
                               registrar where new members join, current members are
                               gouged, and the records of such are kept. ";
                       else
                               "The door leads back to the western wing.";
                       }
                       else
                               "The door hangs loosely on its hinges, a gaping hole
                               where the knob once was.";
               ],
               door_dir [;
                       if (location == west_hall) return n_to;
                       else                                       return s_to;
               ],
               door_to [;
                       if (location == west_hall)      return office;
                       else                                            return
                       west_hall;
               ],
               before [;
                       Unlock,Open:
                               if (location == office)
                                       "That's probably not a good idea; you might
                                       get caught if you go out that way.";
                               else
                                       return false;
                       Knock:
                               if (behind_club hasnt visited)
                                       "There's no reply. Charles must be out.";
                               else
                                       "~Come in,~ You hear Charles call out.";
                       Lock:
                               if (behind_club hasnt visited) {
                               if (charles_key in player) {
                               give charles_door ~open;
                               give charles_door locked;
                               "The door clicks gently as the key turns in the
                               lock.";

                               }
                               else
                                       return false;
                               }
                               else
                                       "The lock broke off when the door was forced
                                       open.";

               ],
               with_key charles_key,
               found_in office west_hall,
has             scenery door openable lockable locked;



Object  charles_desk "Charles's desk" office
with    name 'desk' 'Charles^s' 'charles^' 'table' 'oak',
               description
                       "Absolutely gorgeous and without a scratch on it. Which is to
                       be expected, seeing as very little work actually gets done at
                       it. Most members have their banks automatically pay their
                       dues for them and since country clubs have declined in
                       popularity recently, new members are few and far between. Why
                       Charles would have been granted a new desk is beyond you.",
               before [;
                       Open,Search:
                               "You quickly rifle through the desk but find nothing
                               of interest.";
                       Enter:
                               if (charles notin office)
                                       "You don't have the time.";
                               else
                                       "Fran Drescher is the bane of the upper
                                       class, to emulate her would be the utmost
                                       degradation.";
               ],
               react_before [;
                       Go,Enter,Climb:
                               if ((cabinet.cynthia_consulted == false && office.
                               cynthia_consulted == false) && charles notin office)
                                       "After all the trouble you've gone through
                                       getting in here, you better make sure you
                                       have everything you need from here before
                                       leaving.";
                               if ((cabinet.cynthia_consulted == true || office.
                               cynthia_consulted == true) && noun == d_obj or
                               out_obj){
                                       if (window has open) {
                                       StopDaemon(self);
                                       PlayerTo(bushes);
                                       return true;
                                       }
                                       else
                                       "But the window isn't open.";
                               }
               ],



               each_turn [;
                       if((cabinet.cynthia_consulted == true || office.
                       cynthia_consulted == true) && charles notin office)
                               StartDaemon(self);


               ],
               number_of_turns 0,
               daemon [;
                       if (location == behind_club)
                               StopDaemon(self);
                       self.number_of_turns = self.number_of_turns + 1;
                       switch (self.number_of_turns) {

                               1: "^~Get out of there before I call the police!~
                               Charles yells in his characteristic nasal way, in an
                               uncharacteristically demanding tone.";
                               2: "^~I'm serious! Open this door now!~";
                               3: "^~That's it, I'm coming in.~ You hear a meagre
                               thud as Charles hurls himself against the door.";
                               4: "^Crash! Yikes, that thud wasn't nearly as meagre.
                               Charles must have some help.";
                               default: StopDaemon(self);
                                       (deadflag = 3);
                                       "^The next hit tears the lock from the door
                                       and sends it skittering across the floor. You
                                       whirl around and freeze at the sight of a
                                       young man, wearing only pants, and Charles
                                       looking at you quizzically.
                                       ^^The criminal charges are no big deal, but
                                       being seen by the whole club being pulled
                                       from the office in cuffs is too much to
                                       bear.";
                               }
               ],



has             proper scenery supporter;

Object  cabinet "cabinets" office
with    name 'cabinets' 'cabinet' 'cupboard' 'dresser' 'file' 'files' 'records'
'record',
               description
                       "The payment records on all the past and present members of
                       the club occupy three cabinets against the east side of the
                       office. Another one houses all the other financial and
                       extraneous records.",
               cynthia_consulted false,
               melissa_consulted false,
               desk_consulted false,
               before [ w;
                               Close:
                                       "That's not necessary.";
                               Open,Search:
                                       "If you want to dig up some dirt on someone,
                                       look them up by name.";
                               Consult:
                                       if (charles notin office) {
                                       if (charles_door has locked && charles_door
                                       hasnt open) {
                                       wn = consult_from;
                                       w = NextWord();
                                               switch (w) {
                                       'Julia', 'Hawthorne', 'frank':
                                               "Hmm, what's this? The account Frank
                                               has been using to pay for dues isn't
                                               anyone that you recognize. How dare
                                               he? A marriage is supposed to be
                                               about trust!";
                                       'Cynthia', 'Fordham':
                                               if (self.cynthia_consulted == false)
                                               {
                                               (self.cynthia_consulted = true);
                                               cupboards.allergy_known = true;
                                               Achieved(4);
                                               "Cynthia's financial records are
                                               boring, even for accounting forms;
                                               however, towards the end, you find a
                                               health notice. Well, well, it looks
                                               like someone's allergic to peanuts.
                                               ^^Just as you close the cabinet, you
                                               hear faint footsteps outside the
                                               door. ~Who's in there?~ You hear
                                               Charles call as he thuds on the
                                               door.";
                                               }
                                               if (self.cynthia_consulted == true)
                                               "Cynthia's financial records are
                                               boring, even for accounting forms;
                                               however, towards the end, you find a
                                               health notice. Well, well, it looks
                                               like someone's allergic to peanuts.";
                                       'Charles', 'Burton':
                                               "Eighty thousand dollars a year. Well
                                               now you see why it costs three
                                               dollars for a glass of Perrier.";
                                       'desk', 'furniture', 'requisition',
                                       'invoice', 'table', 'form':
                                               self.desk_consulted = true;
                                               "Interesting. It's an invoice from an
                                               antique dealer in Manhattan. Eight
                                               thousand dollars for a new desk?
                                               That's a little pricy even for Pine
                                               Meadows. You wonder how it was ever
                                               approved.";
                                       'Melissa', 'Stratham', 'Johnathan', 'mel':
                                               "The cheques are made out from her
                                               husband. She may be young, but at
                                               least she knows how to work it.";
                                       'Beverly', 'Bev', 'Winters':
                                               "What's this? A note from Beverly's
                                               mother to Charles reminding him of
                                               Beverly's fiftieth birthday that is
                                               approaching soon. Well it's about
                                               time: she's been forty-five for six
                                               years now.";
                                       'Cissy', 'Cecilia', 'Winnecott':
                                               "Cissy's records are as bloated and
                                               boring as she is.";
                                       'Roger', 'Knowles':
                                               "Roger's files list him as the
                                               primary shareholder of the club,
                                               giving him the ability to make
                                               membership decisions completely at
                                               his own discretion.";
                                       'Williams', 'William', 'ms':
                                               "Ms. Williams's cheques go back to
                                               the fifties, when the club first
                                               opened.";
                                       'Keith':
                                               "Ten thousand dollars a year. No
                                               wonder he takes you to basements
                                               instead of the Four Seasons.";
                                       'Scott', 'assistant':
                                               "Hmm, there's a work invoice for an
                                               assistant here, but the hours are
                                               erratic and many of them occur late
                                               at night.";

                                       default:
                                               "That name doesn't seem to be on
                                               file.";
                               }
                               }
                               else
                               "You'd best ensure you have some privacy before you
                               go rifling through the cabinets.";
                               }
                               else {
                                       wn = consult_from;
                                       w = NextWord();
                                               switch (w) {
                                       'Julia', 'Hawthorne', 'frank':
                                               "Hmm, what's this? The account Frank
                                               has been using to pay for dues isn't
                                               anyone that you recognize. How dare
                                               he? A marriage is supposed to be
                                               about trust!";
                                       'Cynthia', 'Fordham':
                                               if (self.cynthia_consulted == false)
                                               {
                                               (self.cynthia_consulted = true);
                                               cupboards.allergy_known = true;
                                               Achieved(4);
                                               "Cynthia's financial records are
                                               boring, even for accounting forms;
                                               however, towards the end, you find a
                                               health notice. Well, well, it looks
                                               like someone's allergic to peanuts.
                                               ^^Just as you close the cabinet, you
                                               hear faint footsteps outside the
                                               door. ~Who's in there?~ You hear
                                               Charles call as he thuds on the
                                               door.";
                                               }
                                               if (self.cynthia_consulted == true)
                                               "Cynthia's financial records are
                                               boring, even for accounting forms;
                                               however, towards the end, you find a
                                               health notice. Well, well, it looks
                                               like someone's allergic to peanuts.";
                                       'Charles', 'Burton':
                                               "Eighty thousand dollars a year. Well
                                               now you see why it costs three
                                               dollars for a glass of Perrier.";
                                       'desk', 'furniture', 'requisition',
                                       'invoice', 'table', 'form':
                                               self.desk_consulted = true;
                                               "Interesting. It's an invoice from an
                                               antique dealer in Manhattan. Eight
                                               thousand dollars for a new desk?
                                               That's a little pricy even for Pine
                                               Meadows. You wonder how it was ever
                                               approved.";
                                       'Melissa', 'Stratham', 'Johnathan', 'mel':
                                               "The cheques are made out from her
                                               husband. She may be young, but at
                                               least she knows how to work it.";
                                       'Beverly', 'Bev', 'Winters':
                                               "What's this? A note from Beverly's
                                               mother to Charles reminding him of
                                               Beverly's fiftieth birthday that is
                                               approaching soon. Well it's about
                                               time: she's been forty-five for six
                                               years now.";
                                       'Cissy', 'Cecilia', 'Winnecott':
                                               "Cissy's records are as bloated and
                                               boring as she is.";
                                       'Roger', 'Knowles':
                                               "Roger's files list him as the
                                               primary shareholder of the club,
                                               giving him the ability to make
                                               membership decisions completely at
                                               his own discretion.";
                                       'Williams', 'William', 'ms':
                                               "Ms. Williams's cheques go back to
                                               the fifties, when the club first
                                               opened.";
                                       'Keith':
                                               "Ten thousand dollars a year. No
                                               wonder he takes you to basements
                                               instead of the Four Seasons.";
                                       'Scott', 'assistant':
                                               "Hmm, there's a work invoice for an
                                               assistant here, but the hours are
                                               erratic and many of them occur late
                                               at night.";
                                       default:
                                               "That name doesn't seem to be on
                                               file.";
                               }
                               }
                       ],

has             scenery pluralname;


Object  window "office window"
with    name 'window' 'pane' 'view',
               description [;
                       if (location == office && window hasnt open)
                               "The window provides a wonderful view of the golf
                               course. In fact, from up here, you can barely see how
                               ill-kept the green is or how polluted the water.";
                       if (location == office && window has open && behind_club
                       hasnt visited)
                               "The window provides a wonderful view of the golf
                               course. In fact, from up here, you can barely see how
                               ill-kept the green is or how polluted the water.
                               Poking your head out, you see a trellis wrapped in
                               ivy reaching up and around the window, starting at
                               the base of the building.";
                       if (location == office && window has open && behind_club has
                       visited)
                               "The window provides a wonderful view of the golf
                               course. In fact, from up here, you can barely see how
                               ill-kept the green is or how polluted the water.
                               Poking your head out, you see a few rusty staples and
                               a couple of broken boards: all that remains of the
                               trellis.";
                       if (behind_club.charles_looking == true)
                               "It's difficult to see through the bushes, but you
                               are just able to see Charles leaning out the window,
                               looking down at where you fell.";
                       else
                               "You see no one in the window.";
               ],
               before [;
                       Search:
                       if (location == office && window hasnt open)
                               "The window provides a wonderful view of the golf
                               course. In fact, from up here, you can barely see how
                               ill-kept the green is or how polluted the water.";
                       if (location == office && window has open && behind_club
                       hasnt visited)
                               "The window provides a wonderful view of the golf
                               course. In fact, from up here, you can barely see how
                               ill-kept the green is or how polluted the water.
                               Poking your head out, you see a trellis wrapped in
                               ivy reaching up and around the window, starting at
                               the base of the building.";
                       if (location == office && window has open && behind_club has
                       visited)
                               "The window provides a wonderful view of the golf
                               course. In fact, from up here, you can barely see how
                               ill-kept the green is or how polluted the water.
                               Poking your head out, you see a few rusty staples and
                               a couple of broken boards: all that remains of the
                               trellis.";
                       if (behind_club.charles_looking == true)
                               "It's difficult to see through the bushes, but you
                               are just able to see Charles leaning out the window,
                               looking down at where you fell.";
                       else
                               "You see no one in the window.";
                       Enter:
                       if (location == office && window has open){
                       PlayerTo(bushes);
                       StopDaemon(charles_desk);
                       return true;
                       }
                       if (location == office && window hasnt open)
                       "But the window is closed.";
                       else
                       "With the trellis broken, there is no way to reach the
                       window.";
                       Climb:
                                                       if (location == office &&
                                                       window has open) {
                                                       PlayerTo(bushes);
                                                       StopDaemon(charles_desk);
                                                       return true;
                                                       }
                                                       if (location == office &&
                                                       window hasnt open)
                                                       "But the window is closed.";
                                                       else
                               "The trellis is little more than broken wood and ivy
                               now. You'll have to find some other way in to the
                               office.";
               ],


               found_in behind_club office,
has             openable scenery;

NPC             charles "Charles"
with    name 'Charles' 'Man' 'Burton' 'mr' 'registrar',
               initial [;
                       if (self.charles_seen == false) {
                               self.charles_seen = true;
                       "Charles sits at his desk, pushing some papers around to at
                       least give the impression that he's worth the money the club
                       pays him.";
                       }
                       else
                       print (string) random("Charles sits at his desk, pushing some
                       papers around to at least give the impression that he's worth
                       the money the club pays him.^", "Charles glances up at you
                       nervously.^", "Looking at the stack of papers on his desk,
                       Charles sighs dramatically.^");
               ],
               charles_seen false,     !FOR INITIAL
               seen_charles false, !FOR DAEMON
               blackmailed false,
               each_turn [;
                       if (self.seen_charles == false) {
                               self.seen_charles = true;
                               "^~Julia!~ Charles says nasally. ~So good to see you.
                               Can I help you with anything?~";
                       }
                       else
                               return false;
               ],
               description

                       "Although his skin sags and his hair hangs in gray wisps
                       around his scalp, Charles has a certain vibrancy to him.",
               react_before [;
                       Close:
                               if (noun == charles_door)
                                       "~Please leave the door open, Julia.~";
                               else
                                       return false;
                       Call:
                               if (self.blackmailed == false) {
                               move charles_office to all_hints;
                               "~I'm sorry, Julia, but the phone is for official
                               business only.~";
                               }
                               else
                               return false;
                       Consult:
                               if (self.blackmailed == false && noun == cabinet or
                               nothing) {
                               move charles_office to all_hints;
                               "~Sorry, Julia, but those files are confidential,~ he
                               says as you reach for the cabinet.";
                               }
                               else
                               return false;
                       Go:
                               if (noun == d_obj or out_obj)
                                       "Charles might think that a little odd.";
                               else
                                       return false;
                       Enter:
                               if (noun == charles_door)
                                       return false;
                               if (noun == window or out_obj)
                                       "Charles might think that a little odd.";
                       Climb:
                               "Charles might think that a little odd.";
               ],
               before [ w;
                       Blackmail:
                               if (self.blackmailed == true)
                               "You've already gotten all you need out of him. No
                               need to humiliate him further.";
                               else {
                               wn = consult_from;
                               w = NextWord();
                               switch (w) {
                                       'desk', 'invoice', 'requisition', 'form':
                                       if (self.blackmailed == false && (cabinet.
                                       desk_consulted == true || office.
                                       desk_consulted == true)) {
                                               Achieved(19);
                                               self.blackmailed = true;
                                                       "~This is a beautiful desk,
                                                       Charles. Wherever did you get
                                                       it?~ you say, gently gliding
                                                       your finger across the edge.
                                                       ^^~Well, I, um. I got it from
                                                       a place in Queens. The club
                                                       said I deserved it.~ He mops
                                                       a bit of sweat off his brow.
                                                       ^^~Really? It's absolutely
                                                       exquisite. In fact, it is
                                                       identical to the one I saw in
                                                       Manhattan.~
                                                       ^^~Um, you see, this one is
                                                       an imitation. It's quite a
                                                       common design.~
                                                       ^^~Uh huh,~ you say, giving
                                                       Charles a disbelieving stare.
                                                       ^^For a few moments, Charles
                                                       tugs at his tie, getting more
                                                       and more flushed. ~Yes, well,
                                                       as you can see, I'm very
                                                       busy,~ he says, pushing
                                                       around his papers some more.
                                                       ^^~Uh huh,~ you repeat, never
                                                       taking your eyes off of him.
                                                       ^^Finally, he cracks.
                                                       ~Alright, alright, I did get
                                                       it in Manhattan. I was just
                                                       so beautiful, I couldn't
                                                       resist.~ He sounds almost
                                                       relieved to get it off his
                                                       chest. ~You won't tell
                                                       anyone, will you?~ he
                                                       implores, eyes moist.
                                                       ^^~Well, that depends,~ you
                                                       say cryptically.
                                                       ^^~On what?~ A gulp.
                                                       ^^You glance over at the
                                                       phone.
                                                       ^^~Alright,~ he says, ~Just
                                                       don't tell anyone I let you.~
                                                       ^^~Thanks, Charlie.~";
                                               }
                                       if (self.blackmailed == false && (cabinet.
                                       desk_consulted == false && office.
                                       desk_consulted == false))
                                                       "While the desk looks
                                                       suspicious, you don't
                                                       actually have any evidence
                                                       that it isn't a legitimate
                                                       purchase.";
                                       'Scott', 'assistant', 'whirlpool', 'pool',
                                       'young', 'man', 'gay', 'being', 'homosexual',
                                       'hoe', 'ho', 'prostitute':

                                       if (whirlpool hasnt visited)
                                       "Those sounds from behind the door really
                                       aren't enough to blackmail him with.";
                                       if (scott.blackmailed == false)
                                       "Although you have a pretty good idea who
                                       that young man was, since you don't know for
                                       sure, you keep your mouth shut.";
                                       if (scott.blackmailed == true)
                                       Achieved(19);
                                       self.blackmailed = true;
                                       "~My, my Charles, you look absolutely
                                       flushed. Have you been in the whirlpool?~ you
                                       ask gently.
                                       ^^~Well, yes I have, Julia.~ --his cheeks get
                                       a little redder-- ~It's marvelous. You really
                                       must try it sometime.~
                                       ^^~Were you in for long? I saw the door and
                                       it said you were signed up for the whole
                                       afternoon. I'm only asking because prolonged
                                       exposure can be terrible for the skin, let
                                       alone the health.~ Your lips pout out a
                                       little with feigned concern.
                                       ^^~Um, well, I was only in for an hour or so,
                                       I'm letting my assistant use the rest of my
                                       time.~ Charles tugs a little at his bow tie.
                                       ^^~Oh, so you finally found someone to work
                                       'under' you?~ you ask, your emphasis almost
                                       tacky.
                                       ^^~Yes, his name's Scott. He's worth every
                                       penny the club pays him.~
                                       ^^~Oh yes, Scott. I spoke to him.~ Charles
                                       face drops. ~He has some very interesting
                                       things to say.~
                                       ^^Charles face glistens with sweat. ~Please,
                                       Julia. Don't tell anyone, I'll give you
                                       anything you want.~ He pleads.
                                       ^^~Alright, let me in to those cabinets and
                                       let me use your phone.~
                                       ^^~But that is-~
                                       ^^~Or I could just go talk to Mr. Knowles.~
                                       ^^~Ok, ok. Just as long as you don't tell
                                       anyone I let you,~ Charles says resignedly
                                       and goes back to working on his papers, even
                                       less believably than before.";

                                       }

                                               "Charles isn't afraid of that.";
                       }
               ],
               life [;
                       Order:
                               "~I'm a little busy at the moment, Julia,~ he says,
                               looking over the stack of papers and sighing
                               dramatically.";
                       Kiss:
                               if (scott.blackmailed == false)
                               "Ick, why not just kiss a baseball glove instead?
                               Besides, rumor has it he swings the other way.";
                               if (scott.blackmailed == true)
                               "Knowing where his lips have been, you'd rather
                               not.";
                       Attack:
                               "That'd get you kicked out of the club for sure.";
                       Give,Show:
                               if (noun == charles_key)
                                       "Better not.";
                               if (noun == pills) {
                                       if (phone.doctor_called == false && office.
                                       doctor_called == false)
                                               "~I won't tell him, but you better
                                               not let Mr. Knowles know you take
                                               them,~ Charles says, shaking his
                                               head.";
                                       else
                                               "~So Melissa's taking Percodan. What
                                               a shame.~";
                               }
                               else
                                       "~I'm sorry, Julia, but I'm rather busy right
                                       now.~";
                       Ask,Tell:
                               if (self.blackmailed == true)
                               "~Please, Julia. I've let you look at the records,
                               isn't that enough?~";
                               else
                               switch(second) {
                                       'key', 'burglary', 'burglar', 'break-in',
                                       'break', 'in':
                                       "~I heard a ruckus in here earlier,~ you say
                                       with feigned concern, ~is everything alright,
                                       Charles, dear?~
                                       ^^~Oh yes, I don't know what that way all
                                       about. I try as hard as possible to get out
                                       of this office, why someone would want to
                                       break in is beyond me.~";
                                       'Roger', 'Knowles':
                                       "~So, what do you think of Mr. Knowles?~ you
                                       ask, carefully neutral.
                                       ^^~Well, he's the real power in the club. I
                                       can't make any major decisions without his
                                       approval.~";
                                       'pill', 'pills', 'percodan', 'drug', 'drugs',
                                       'tablets', 'caplets':
                                       "~I won't tell him, but you better not let
                                       Mr. Knowles know you take them,~ Charles
                                       says, shaking his head.";
                                       'phone', 'telephone', 'call', 'calls':
                                       "~Oh, Charles, hon, would you mind if I used
                                       your phone?~
                                       ^^~I'm sorry, Julia, but the phone is for
                                       official business only.~";
                                       'police', 'cops', 'authorities', '911':
                                       "~I wonder what's taking the police so long,~
                                       you say.
                                       ^^~I know!~ Charles says, surprised. ~You'd
                                       think that with all the rich folks here they
                                       wouldn't take so long.~";
                                       'Pine', 'Meadows', 'club':
                                       "~What do you think of Pine Meadows, lately?~
                                       ^^~I've really turned this place around, if I
                                       do say so myself.~
                                       ^^Although it sounds more like he's trying to
                                       convince himself than you.";
                                       'Charles', 'Burton', 'himself', 'self':
                                       "~How are you, Charles, dear?~
                                       ^^~I'm fine, so nice of you to ask.~";
                                       'pool', 'whirlpool', 'spa':
                                       if (whirlpool hasnt visited)
                                       "~I hear you were in the whirlpool earlier.~
                                       ^^~Oh my yes, there's nothing quite like it.
                                       Really, Julia, you should try it sometime,~
                                       he says, eyes glazing over fondly.";
                                       else
                                       "Charles pretends not to hear you.";
                                       'scott', 'assistant', 'helper', 'boyfriend', 'hustler', 'hoe',
                                       'prostitute':
                                       if (whirlpool hasnt visited)
                                       "~So how's that new assistant working out?~
                                       ^^~Great fellow, he's been such a help, what
                                       with all that needs doing around here.~";
                                       if (scott.blackmailed == false)
                                       "~My, so I met your new assistant in the
                                       whirlpool,~ you say. ~Charming fellow.~
                                       ^^~Oh yes, and he's been working so hard
                                       lately. I thought he deserved to use my
                                       whirlpool time.~";
                                       if (scott.blackmailed == true)
                                       "~So I was talking to Scott, and he had some
                                       of the most interesting things to say.~
                                       ^^~Um, ah.~ Charles tugs at his bow tie. ~I
                                       don't know what you're talking about.~";

                                       'keith', 'lover', 'affair', 'adultery',
                                       'rumor', 'rumour', 'rumors', 'rumours',
                                       'gossip', 'basement', 'picture', 'photo', 'pic', 'camera',
                                       'photograph':
                                       "~I suppose, by now, that you must have heard
                                       about Keith and I.~
                                       ^^~Well, yes. It's really none of my
                                       business,~ he says, blushing, ~but if in the
                                       future you could refrain from doing it in the
                                       basement, that'd be great. Pine Meadows is a
                                       family place.~";
                                       'salary', 'pay', '$80000', 'eighty',
                                       'thousand', 'eighty thousand', 'money':
                                       "~I say, you sure earn a lot of money here.~
                                       ^^~Well, with all the hard work I do, I'm
                                       worth every penny.~";
                                       'Cynthia', 'Fordham', 'Melissa', 'Stratham',
                                       'Beverly', 'Winnecott', 'Winters', 'Cecilia',
                                       'Cissy', 'Frank', 'Williams', 'ms':
                                       "~I'm sorry, Julia, but as registrar I'm
                                       privy to a lot of personal information that
                                       I'm not allowed to divulge to anyone.~";
                                       'window', 'view', 'golf', 'course':
                                       "~I simply adore the view from up here,~ you
                                       say, looking out and seeing the ruined
                                       trellis.
                                       ^^~Well yes, it is quite soothing to see all
                                       that well pruned nature.~";
                                       'restored', 'antique', 'oak', 'desk',
                                       'table':
                                       "~I simply love your desk,~ you say sweetly.
                                       ^^~I just picked it up last week, isn't it
                                       magnificent?~";
                                       'cabinets', 'cabinet', 'row', 'file',
                                       'files':
                                       "~Do you mind if I have a look in those files
                                       over there?~ you say, pointing at the
                                       cabinets.
                                       ^^~I'm sorry, Julia, but those files are
                                       confidential.~";
                                       'paper', 'papers', 'paperwork':
                                       "~My, my, that's a lot of paperwork,~ you
                                       say.
                                       ^^~True, I am absolutely swamped,~ he says,
                                       rearranging the papers on his desk
                                       slightly.";
                               }
                                       "~I'm sorry, Julia, but I'm really quite
                                       busy.~";
               ],
has             animate proper male;

Object  phone "telephone" charles_desk
with    name 'phone' 'telephone' 'receiver' 'button' 'buttons' 'jack' 'cord',
               description
                       "With rules against cell phones and a desire for leaving the
                       outside world outside, this is the only phone at Pine
                       Meadows.",
               doctor_called false,
               before [ w;
                       Take:
                               "You don't want it. Besides, there's only one jack in
                               Pine Meadows.";
                       Call:
                               if (charles notin office)
                               "Better not, someone might hear you.";
                               else {
                               wn = consult_from;
                               w = NextWord();
                               switch (w) {
                                       'frank', 'husband':
                                               "It's bad enough talking to him when
                                               he's around.";
                                       '911', 'emergency', 'fire', 'police':
                                               "You've tried before, but the
                                               authorities just don't see fashion
                                               disasters as being as serious as you
                                               do.";
                                       'doctor', 'dr', 'doc', 'ferguson',
                                       'melissa^s':
                                       if (pills.number_known == true) {
                                       if (self.doctor_called == false) {
                                               Achieved(18);
                                               self.doctor_called = true;
                                               "Suspicious about those pills, you
                                               call up Dr. Ferguson.
                                               ^^~Hi, Dr. Ferguson. This is Angie
                                               from Dr. Leeds office,~ you say in as
                                               nasal a voice as you can muster. ~I'm
                                               calling in regards to a patient of
                                               yours, one Melissa Stratham.~
                                               ^^~Yes, what can I do for you?~ he
                                               asks, more than a little perturbed to
                                               be disturbed.
                                               ^^~Well, Mrs. Stratham told us that
                                               you gave her a prescription for
                                               Percodan to be renewed indefinitely
                                               and--~
                                               ^^~What? She's still taking them?
                                               They're highly addictive!~ he says
                                               with concern, more likely from fear
                                               of malpractice than genuine
                                               compassion.
                                               ^^~Alright, Dr. Ferguson. I'll notify
                                               Betty Ford right away.~
                                               ^^With that, you hang up the phone
                                               and ignore Charles's odd looks.";
                                       }
                                       else
                                               "You've gotten all you need from Dr.
                                               Ferguson.";
                                       }
                                       else
                                               "You don't have the number.";
                               }
                                       "You don't have the number.";
                       }
               ],
has             static;
!---------------------------------------------------------------------------
!BEHIND CLUB
!---------------------------------------------------------------------------

Room    behind_club "Behind the club"
with    cant_go
                       "With the trellis destroyed, the only way you can go is
                       through the trail to the southwest.",
               initial [;
                       if (wine notin player) {
                       StartDaemon(self,3);
                       move charles_window to self;
                       "As soon as your head ducks below the windowsill, you hear
                       Charles (obviously with some assistance) break open the door
                       and shriek: ~The window, they've gone out the window!~
                       ^^Quickly, you begin to climb down the trellis, careful not
                       to get your heels snagged in the ivy. However, you're more
                       adept at navigating a concrete jungle than a real one, and
                       soon one of your pumps gets caught on a particularly nasty
                       weed. You kick wildly for a few moments, but it's to no
                       avail; you lose your balance and tumble in to the bushes
                       below, dragging the wreckage of the trellis with you.";
                       }
                       else
                       StartDaemon(self,3);
                       move charles_window to self;
                       remove wine;
                       "As soon as your head ducks below the windowsill, you hear
                       Charles (obviously with some assistance) break open the door
                       and shriek: ~The window, they've gone out the window!~
                       ^^Quickly, you begin to climb down the trellis, careful not
                       to get your heels snagged in the ivy. However, you're more
                       adept at navigating a concrete jungle than a real one, and
                       soon one of your pumps gets caught on a particularly nasty
                       weed. You kick wildly for a few moments, but it's to no
                       avail; you lose your balance and tumble in to the bushes
                       below, dragging the wreckage of the trellis with you.
                       ^^Unfortunately, the glass of wine doesn't fair as well as
                       you and is lost in the fall: the wine spilled and the glass
                       shattered.";

               ],
               description [;

                       if (self has visited)
                       "Yours are probably the first feet to tread here since the
                       trellis was installed. The bushes have none of the carefully
                       manicured branches or unnaturally bright flowers of their
                       cousins in the garden. Instead, they are twisted with many
                       sharp little thorns. They thin a little to the southwest.";
                       else
                       "Ow! While the bushes cushion your fall, preventing any
                       serious damage, their thorns still manage to tear at your
                       clothes and cling at your hair. As you pluck the spikes from
                       your face, you hear Charles screaming from the window
                       above.";
               ],
               after [;
                       Wait: if (self.charles_looking == true)
                               "Although the thorns continue to poke in to your soft
                               skin, you decide you'd rather put up with that for a
                               few minutes than let Charles see you.";


               ],
               charles_looking true,

               each_turn [;
                        if (player notin bushes && self.charles_looking == true){
                        print "^Without the cover of the bushes, Charles easily sees
                        you. The criminal charges are no big deal, but being seen by
                        the whole club being pulled from the bushes by the police is
                        almost too much to bear.";
                        (deadflag = 3);
                        }
                        if (self has visited)
                               move charles to office;
                        else
                        return false;

               ],
               turns_in_bushes 0,
               daemon [;
                       self.turns_in_bushes = self.turns_in_bushes + 1;
                       switch (self.turns_in_bushes) {
                       1:
                               return false;
                       2:
                               "^~Can you see them?~ You hear a voice ask from
                               above.
                               ^^~No, they're in the bushes,~ Charles replies.";
                       3:
                               "^~Well is there any more you want me to do?~
                               ^^~Nah, go back to the whirlpool, I'll take care of
                               things here.~";
                       default:
                       StopDaemon(self);
                       Achieved(6);
                       remove charles_window;
                       self.charles_looking = false;
                       "^~That's it! I'm going to call the police,~ you hear Charles
                       call to you from above. At least he's gone from the window
                       now.";
                       }
               ],
               before [;
                       Go:
                               if (noun == sw_obj) {
                                       print "You battle your way through the
                                       underbrush for what must literally be minutes
                                       until you arrive in the garden.^";
                                       return false;
                               }
                               else
                                       return false;
                       Hide:
                               if (self.charles_looking == true)
                               "Although the thorns continue to poke in to your soft
                               skin, you decide you'd rather put up with that for a
                               few minutes than let Charles see you.";
               ],
               sw_to garden,
has             ;

Object  charles_window "Charles"
with    name 'charles' 'burton' 'mr' 'registrar',
               description
                       "It's difficult to see through the bushes, but you are just
                       able to see Charles leaning out the window, looking down at
                       where you fell.",
               before [;
                       Examine:
                               return false;
                       default:
                               "He's too far away.";
               ],
has             scenery animate proper male;

Object  trellis "trellis"
with    name 'trellis' 'ivy' 'lattice' 'ladder',
               description [;
                       if (location == office && behind_club hasnt visited)
                       "Poorly maintained and wrapped in ivy, the trellis leads down
                       the side of the building, disappearing in to the thorn bushes
                       below.";
                       if (location == office && behind_club has visited)
                       "All that remains of the trellis is a few rusted staples and
                       a broken board or two.";
                       else
                       "The trellis lies in a mangled heap at the base of the
                       wall.";
               ],
               before [;
                       Climb:
                               if (location == office && window has open) {
                               PlayerTo(bushes);
                               StopDaemon(charles_desk);
                               return true;
                               }
                               if (location == office && window hasnt open)
                               "But the window is closed.";
                               else
                               "The trellis is little more than broken wood and ivy
                               now. You'll have to find some other way in to the
                               office.";
               ],
               found_in office behind_club,
has             scenery;

Object  bushes "thorn bushes" behind_club
with    name 'bushes' 'branches' 'briars' 'brambles' 'leaves' 'thorn' 'bush'
'thorns',
               description
                       "Although the same kind grow in the garden in front of the
                       club, those ones are kept in check with meticulous grooming.
                       These, without a gardener to tend to them, have grown wildly,
                       as if making up for the complacency of their sisters.",
               before [;
                                       Take,Attack:
                                               "While you enjoy senseless
                                               destruction of nature as much as the
                                               next Republican, now is not the
                                               time.";
               ],
               react_before [;
                       Go:
                               if (player in bushes)
                               "You'll have to get out of the bushes first.";
                               else
                               return false;
               ],
               react_after [;
                       Exit:
                               StopDaemon(behind_club);
                               give charles_door ~lockable;
                               give charles_door ~locked;
                               remove charles_clothes;
               ],
has             pluralname scenery enterable transparent;

Object  trail "trail" behind_club
with    name 'trail' 'path' 'thinning' 'thin',
               description "It'd be slow going, but you could probably get through
               it if you tried.",
               before [;
                       Enter:
                               print "You battle your way through the underbrush for
                               what must literally be minutes until you arrive in
                               the garden.^";
                               PlayerTo(garden);
                               return true;
               ],
has             scenery;

!---------------------------------------------------------------------------
!CENTRE HALL
!---------------------------------------------------------------------------

Room    centre_hall "Foyer"
with    description
                       "Putting the club's best foot forward is clearly the purpose
                       of the foyer. A stately crystal chandelier scatters daylight
                       into kaleidoscopic patterns. Two verdant plants stand next to
                       a set of double doors to the north, their leaves extended as
                       if to usher people in to the banquet hall. To the south, next
                       to the exit to the gardens, is a bulletin board. The hall
                       continues to the west and east.",

               after [;
                       Go: if(noun == w_obj)
                               print "You make your way through the east wing to the
                               foyer.^";
               ],
               w_to west_hall,
               s_to garden,
               e_to garden_path,
               n_to "The hall is closed until tonight's banquet.",
has             ;

Object  foyer_plants "plants" centre_hall
with    name 'plant' 'plants' 'leaves' 'pot' 'potted' 'copper' 'urns',
               description
                       "Normally you aren't all that fond of plants, but these two
                       have a subdued elegance that you find pleasing.",
               before [;
                                       Take,Attack:
                                               "While you enjoy senseless
                                               destruction of nature as much as the
                                               next Republican, now is not the
                                               time.";
               ],
has             scenery pluralname;

Object  chandelier "chandelier" centre_hall
with    name 'chandelier' 'light' 'lights' 'crystal' 'brass' 'quartz',
               description
                       "Exquisitely crafted from quartz and brass, the chandelier
                       has a stately charm reminiscent of Romanov Russia, before the
                       rabble rose with all their drab olives and fireless reds.",
has             scenery;

Stuff   bulletin_board "bulletin board" centre_hall
with    name 'bulletin' 'message' 'board' 'cork' 'post',
               description [;
               if (announcement has moved)
               "Although seemingly impossible, somehow this cork bulletin board,
               with its oak border and brass inlay, manages to appear elegant. I
               guess all it takes to make a silk purse out of a sow's ear is money.
               A fact illustrated by many of Pine Meadows's patrons. The bulletin
               board has nothing interesting on it.";
               else
               "Although seemingly impossible, somehow this cork bulletin board,
               with its oak border and brass inlay, manages to appear elegant. I
               guess all it takes to make a silk purse out of a sow's ear is money.
               A fact illustrated by many of Pine Meadows's patrons. On the bulletin
               board is an announcement.";
               ],
has             ;


Object  announcement "banquet announcement" centre_hall
with    article "the",
               name 'message' 'announcement' 'banquet' 'note' 'notice',
               description "This note announces the charity banquet going on
               tonight. It's supposed to be the gala event of the season and, as
               such, you bought your tickets months in advance. The doors open at
               six-thirty followed by the ~Opening speech by Julia Hawthorne;
               Philanthropist of the Year~ at quarter to seven. The donation seemed
               like a good idea at the time but with all that's happened today,
               you're kind of regretting it.",
               after [;
                       Examine:
                               program.speech_known = true;
               ],
has             concealed;

Object  banquet_door "door to the banquet hall" centre_hall
with    name 'door' 'doors' 'double' 'banquet' 'oak' 'heavy' 'doorway' 'to' 'the'
'hall',
               article "the",
               description
                       "Heavy oak doors with brass inlay block the way to the
                       banquet hall. Too bad the hall itself isn't so tasteful.",
               before [;
                       Open:
                               "The doors are locked until the banquet.";
                       Close:
                               "The doors are already closed.";
                       Listen:
                               "You hear the help bustle about preparing the room
                               for tonight.";
                       Knock:
                               "No one answers.";
               ],
has             scenery lockable locked openable;

!---------------------------------------------------------------------------
!GARDEN
!---------------------------------------------------------------------------

Room    garden "Garden"
with
               each_turn [;
                       if (self has visited)
                               move what_with_melissa to all_hints;
                       else
                               return true;
               ],
               description
                       "Being this far out in the country, the garden is really the
                       only place at Pine Meadows where nature exists, yet isn't out
                       of control. The topiary is subtle, no garish animals or
                       ambitious creations. Flowers line the drive to the south,
                       down which the valet service lies. A path, hedged with rose
                       bushes, curves round the club to the northeast, and the club
                       itself lies to the north.",
               before [;
                                       Smell:
                                       if (noun == nothing)
                                       "Ugh, that's what roses smell like?
                                       Where's the benzaldehyde? the phenetol?";
                                       else
                                       return false;
               ],

               n_to centre_hall,
               s_to "If you leave the club without getting that film you'll be
               ruined.",
               ne_to garden_path,
               cant_go [;
                       if (melissa in self)
                               "~Really, Julia,~ Melissa smirks as you try to push
                               into the shrubbery. ~I'm surprised someone with your
                               reputation has such an affinity for bushes.~";
                       else
                               "You're ragged enough without tramping through the
                               bushes again.";
               ],
has             ;

Object  topiary "topiary" garden
with    name 'trees' 'carvings' 'topiary' 'shrubs' 'bushes' 'twists' 'spirals'
'garden' 'moderne' 'shrubbery',
               article "the",
               description
                       "The ultimate triumph of man over the wildness of nature, the
                       topiary is carved in to various twists and spirals. Although
                       a little moderne for your tastes, at least it's in keeping
                       with the overall trend of Pine Meadows.",
               before [;
                       Take,Attack:
                               "While you enjoy senseless destruction of nature as
                               much as the next Republican, now is not the time.";
               ],
has             scenery;

Object  flowers "rose bushes"
with    name 'flowers' 'rose' 'bushes' 'hedge' 'hedges' 'path' 'trail' 'flower'
'bush' 'pink',
               description
                       "Hedges of rose bushes frame the sides of the path, their
                       little pink flowers swaying in a cool breeze.",
               before [;
                       Take,Attack: "While you enjoy senseless destruction of nature
                       as much as the next Republican, now is not the time.";
                       Smell: "Ugh, that's what roses smell like? Where's the
                       benzaldehyde? the phenetol?";
               ],
               found_in garden garden_path,
has             scenery;

Object  drive "drive" garden
with    name 'road' 'street' 'pavement' 'drive' 'way' 'valet' 'driveway' 'service',
               article "the",
               description
                       "The drive winds its way down the hill.",
has             scenery;

Object  bench "wooden bench" garden
with    name 'bench' 'chair' 'iron' 'cedar' 'seat' 'wooden',
               description
                       "Elegantly crafted of wrought iron and cedar, the bench
                       serves only those few members of the club that can tolerate
                       nature for more than a few moments at a time.",
               before [;
                       Enter:
                       if (melissa in garden)
                               "As you go to sit down, Melissa slides her handbag
                               over, indicating her displeasure at your attempt.";
                       else
                               "You'd rather not. You're one of those members that
                               can't stand nature.";
               ],
has             scenery supporter enterable;

NPC             melissa "Melissa" garden
with    name 'Melissa' 'Stratham' 'mel' 'woman' 'pearls' 'pumps' 'sweater',
               initial [;
                       if (garden hasnt visited)
                               "Melissa Stratham, wife to Johnathan Stratham, sits
                               here on a bench, delicately leafing through a
                               paperback novel.
                               ^^As she sees you enter, she looks up and grins
                               impishly. ~Oh, Julia,~ she says, closing her book for
                               a moment. ~I'm surprised to see you here. I thought
                               you preferred to do your hoeing in the basement.~";
                       else
                               print (string) random("Melissa's head droops for a
                               moment before she shakes herself awake.^","Melissa
                               continues to read her book.^", "Melissa continues to
                               read her book.^", "Melissa continues to read her
                               book.^", "Getting to a particularly steamy passage,
                               Melissa fans her neck vigorously.^", "Getting to a
                               particularly steamy passage, Melissa fans her neck
                               vigorously.^", "Melissa glances at you and
                               smirks.^");
               ],
               description
                       "Quite a few years your junior, Melissa is remarkably bold in
                       your presence, owing, no doubt, to the influence of that
                       shrew, Beverly Winters. Melissa even dresses like her:
                       pearls, pumps, sweater knotted about her shoulders. She would
                       have done so much better to have followed in your footsteps,
                       at least then she could have had a sense of style.",
               melissa_known false,
               melissa_suspected false,
               blackmailed false,
               seen_from_bushes false,
               seen_bleach false,
               hall_said false,
               seen_hair false,
               each_turn [;
                       if (access_hall has smelled && melissa has smelled) {
                               self.melissa_suspected = true;
                               Achieved(17);
                       }
                       if (behind_club has visited && self.seen_from_bushes ==
                       false) {
                               self.seen_from_bushes = true;
                               "^~My, my. First the basement, now the bushes? Ever
                               heard of a bed?~ Melissa says, smirking.";
                               }
                       if (bleach in player && self.seen_bleach == false) {
                               self.seen_bleach = true;
                               "^Melissa glances down at the bottle in your hands.
                               ~Oh, so that's what you're using to bleach your hair
                               now. Well that explains the split ends.~";
                               }
                       if (loose_hairs in player && self.seen_hair == false) {
                               self.seen_hair = true;
                               "^~Well, well,~ Melissa clucks, looking down at the
                               loose hairs in your hand, ~Keith is friskier than I
                               thought.~";
                       }
                       else
                               return false;
               ],
               before [ w;
                       Receive:
                               if (noun == bleach)
                                       "You'd rather avoid the three to five in
                                       Riker's.";
                               if (noun == wine)
                                       "It'd be hard to make it look accidental
                                       here.";
                       Smell:
                               if (access_hall has smelled) {
                                       give melissa smelled;
                                       "You raise your nose ever so slightly and
                                       sniff. Chanel #5, definitely the same as in
                                       the hall.";
                               }
                               else {
                                       give melissa smelled;
                                       "Chanel #5, a little common for your tastes,
                                       in fact you vaguely remember smelling it, but
                                       you can't place where.";
                               }
                       Blackmail:
                               if (self.melissa_known == true || self.
                               melissa_suspected == true) {
                                       wn = consult_from;
                                       w = NextWord();
                                               switch (w) {
                                               'pill', 'pills', 'bottle',
                                               'Ferguson', 'dr', 'doctor',
                                               'prescription', 'percodan', 'drug',
                                               'drugs', 'roger', 'knowles':
                                               if (phone.doctor_called == false &&
                                               office.doctor_called == false)
                                               "~I don't care where you found them,
                                               those pills aren't mine,~ Melissa
                                               says.
                                               ^^If you're going to blackmail her
                                               with the pills, you better get some
                                               proof first.";
                                               if (roger.opinion_known == false)
                                               "You tell Melissa about your
                                               conversation with Dr. Ferguson.
                                               ^^~Oh, please. This is the new
                                               millenium. Who cares if I indulge in
                                               a little Percodan now and then?~";
                                               else
                                               remove melissa;
                                               move what_now to all_hints;
                                               Achieved(12);
                                               self.blackmailed = true;
                                               move film to player;
                                               "~Oh, Melissa,~ you say, smiling, ~I
                                               was just talking to Roger Knowles,
                                               you know, primary shareholder of the
                                               club, the man with the power to make
                                               or break? Well, he had some of the
                                               most interesting things to say about,
                                               how did he put it, oh yes, 'junkies.'
                                               I just thought you might--~
                                               ^^~Cut the crap, Julia, what do you
                                               want?~ she says, her boldness
                                               replaced by anger.
                                               ^^~Now, now. No need for such
                                               language,~ you say, enjoying your
                                               moment. ~Just give me the film and no
                                               one need know your dirty little
                                               secret.~
                                               ^^~Fine, take it,~ she says, pulling
                                               a roll of film from her handbag and
                                               tossing it at you. With that, she
                                               stomps off from the garden. However,
                                               as she does, she calls back to you, a
                                               hint of satisfaction in her voice.
                                               ~But if you want the photo itself,
                                               you might want to talk to the person
                                               who's behind all this.~
                                               ^^~Who?~ you ask, painfully aware of
                                               how little time is left until the
                                               banquet.
                                               ^^~Who do you think? Who stands to
                                               gain the most by you and Frank
                                               splitting up? Besides Frank of
                                               course.~ And with that, she's gone.";

                                       'facelift', 'face', 'lift', 'plastic',
                                       'surgery', 'cosmetic', 'napa', 'mask', 'masque', 'avocado':
                                               "You could, but she could do the same
                                               to you, just a lot better.";
                                       'Charles', 'burton', 'registrar':
                                               "~Oh please, we both know Charles has
                                               no power here.~";
                                       }
                                       "~Now why would that scare me?~ Melissa says,
                                       and returns to her book.";
                               }
                               else
                                       "As fun as it would be to ruin her life
                                       without cause, you probably should have
                                       something in mind that you want before you do
                                       it.";
               ],
               lied_about_cynthia false,
               life [;

                       Show,Give:
                               if (noun == bleach)
                                       "^Melissa glances down at the bottle in your
                                       hands. ~Oh, so that's what you're using to
                                       bleach your hair now. Well that explains the
                                       split ends.~";
                               if (noun == loose_hairs)
                                       "^~Well, well,~ Melissa clucks, looking down
                                       at the loose hairs in your hand, ~Keith is
                                       friskier than I thought.~";
                               if (noun == pills) {
                                       if (phone.doctor_called == false && office.
                                       doctor_called == false)
                                               "~I don't care where you found them,
                                               those aren't mine,~ she says,
                                               shifting slightly in her seat.
                                               ^^It's your word against hers right
                                               now, and with your reputation for
                                               gossip, you'll definitely need proof
                                               before she'll admit that the
                                               Percodan's hers.";
                                       else
                                               "You tell Melissa about your little
                                               conversation with Dr. Ferguson.
                                               ^^~So they're mine. No one but the
                                               most backwards fossil would care
                                               about my little indulgence.~";
                               }
                               if (noun == camera) {
                                       if (self.melissa_suspected == true && self.
                                       melissa_known == false)

                                               "~It wasn't me. The camera is
                                               Cynthia's.~";
                                       if (self.melissa_known == true)
                                               "You confront Melissa, knowing that
                                               it was she in the hall.
                                               ^^~Well I've always had a knack for
                                               photography. I'm just glad I could
                                               finally put it to good use,~ she
                                               says, smiling smugly.";
                                       else
                                               self.lied_about_cynthia = true;
                                               "~Oh, that's nice. Cynthia has a
                                               model just like it.~";
                               }
                               else
                                       "~Now why would I care about that?~";

                       Kiss:
                               "Hey, I don't know what you heard, but that time in
                               Bryn Mawr was a one-time thing!";
                       Attack:
                               "You should probably try to avoid criminal charges.";
                       Order:
                               "~Save it for the help, Julia,~ Melissa sneers,
                               peering at you from behind her book.";
                       Ask,Tell:
                               switch(second) {
                                       'cell', 'cellular', 'mobile', 'phone',
                                       'telephone', 'calling', 'phoning':
                                       "~Do you happen to have a cell I could borrow
                                       for a moment?~ you say, swallowing your
                                       pride.
                                       ^^~Please, Julia. I come to Pine Meadows to
                                       get away from the world, there's no way I'd
                                       bring my cell here.~";
                                       'dining', 'area', 'outside', 'eating':
                                       "~So, Melissa, why aren't you in the dining
                                       area?~
                                       ^^~Ugh, the food there is atrocious. Not to
                                       mention the company,~ she says, then,
                                       glancing up at you, ~of course, it's starting
                                       to not look so bad.~";
                                       'clothes', 'clothing', 'style', 'pearls',
                                       'pumps', 'sweater', 'saks', 'fifth',
                                       'avenue':
                                       "~What's with all this?~ you ask, gesturing
                                       up and down with a well manicured hand.
                                       ^^~Don't you just love it? Beverly took me to
                                       Saks Fifth Avenue.~
                                       ^^Please, Saks is so nineteen-ninety-eight.";
                                       'julia', 'me', 'self', 'hawthorne':
                                       "~I'm fabulous, aren't I?~
                                       ^^~Well, you're no Beverly, but at least you
                                       aren't a nouveau.~
                                       ^^That's funny, coming from her.";
                                       'bench', 'seat', 'chair':
                                       "~Really, Melissa, isn't that bench rather
                                       hard?~
                                       ^^~Yes, it's a little uncomfortable,~ she
                                       says, shifting slightly, ~but it beats
                                       sitting in the dining area.~";
                                       'handbag', 'hand', 'bag', 'purse',
                                       'delicate':
                                       "~That's some purse you have there.~
                                       ^^~Isn't it just exquisite?~ she says,
                                       dangling her purse delicately from her
                                       finger.
                                       ^^~Well it's something,~ you mumble.";
                                       'trees', 'carvings', 'topiary', 'shrubs',
                                       'bushes', 'twists', 'spirals', 'moderne':
                                       "~So, Melissa, what do you think of the
                                       topiary?~
                                       ^^~Don't you just love it? It really speaks
                                       to the truth of the human condition,~ she
                                       says, turning her nose up more than you would
                                       have thought possible.
                                       ^^Hardly, but then again you wouldn't know.
                                       You only go to galleries to get away from
                                       Frank.";
                                       'Ferguson', 'dr', 'doctor':
                                       "~So who is this Dr. Ferguson I've been
                                       hearing so much about? A new surgeon?~
                                       ^^~Hardly, he was my GP a few months back.~";
                                       'roger', 'knowles':
                                       "~So what do you know of Roger Knowles?~
                                       ^^~Ugh,~ she says, wrinkling her nose, ~that
                                       man is an ogre.~";
                                       'pill', 'pills', 'bottle', 'prescription',
                                       'percodan', 'drug', 'drugs':
                                               if (phone.doctor_called == false &&
                                               office.doctor_called == false)
                                                       "~Melissa, darling, I'm
                                                       concerned,~ you say sweetly,
                                                       ~I found some pills in your
                                                       locker.~
                                                       ^^~I don't care where you
                                                       found them, they aren't
                                                       mine,~ she says, shifting
                                                       slightly in her seat.";
                                               else
                                                       "You tell Melissa about your
                                                       little conversation with Dr.
                                                       Ferguson.
                                                       ^^~So they're mine. No one
                                                       but the most backwards fossil
                                                       would care about my little
                                                       indulgence.~";

                                       'access', 'hall', 'spy', 'spying',
                                       'basement', 'closet':
                                       if (self.melissa_suspected == true && self.
                                       melissa_known == false)
                                               "~What were you doing in the
                                               basement? And don't deny it, it
                                               reeked of Chanel, just like you.~
                                               ^^~Really, Julia. This paranoia is
                                               most unbecoming. A lot of people wear
                                               Chanel #5,~ Melissa says, shifting in
                                               her seat slightly.";
                                       if (self.melissa_known == true) {
                                               if (self.hall_said == false) {
                                               self.hall_said = true;
                                               "~What were you doing in the
                                               basement?~ you ask, slowly.
                                               ^^~I don't--~ Melissa starts.
                                               ^^~Enough!~ you growl, momentarily
                                               losing your composure. ~I know it was
                                               you in the hall.~
                                               ^^~Alright, so you know it was me.
                                               You'll never get the film though,~
                                               she says, patting her handbag
                                               assuredly.";
                                               }
                                               else
                                               "You already know it was Melissa. Now
                                               to find some leverage against her.";
                                               }
                                       else
                                               "~What were you doing in basement?~
                                               you demand, calm but firm.
                                               ^^~I don't know what you're talking
                                               about,~ she says, returning to her
                                               book.";
                                       'perfume', 'fragrance', 'smell', 'odor',
                                       'scent', 'chanel', '#5':
                                       give melissa smelled;
                                       "~That's a charming fragrance, Melissa.
                                       Whatever is it?~
                                       ^^~It's Chanel #5, do you like it?~
                                       ^^~Well, no. But then again, I have taste,~
                                       you reply snidely.";
                                       'Cynthia', 'Fordham':
                                       "~What do you know of Cynthia?~
                                       ^^~I'd watch your step around her. She's a
                                       sly one.~";
                                       'hoeing', 'keith', 'lover', 'boyfriend',
                                       'rumors', 'rumours', 'rumor', 'rumour':
                                       if (melissa.melissa_known == false)
                                       "~I suppose you heard about Keith and I.~
                                       ^^~Oh that, you know how this place is. News
                                       spreads fast.~";
                                       else
                                       "~You're the one who told everyone about
                                       Keith and I, aren't you?~
                                       ^^~Alright, so you know it was me, what of
                                       it?~";
                                       'picture', 'photo', 'photograph', 'film',
                                       'camera':
                                       if (melissa.melissa_known == false)
                                       "~Have you heard of a certain photo making it
                                       about the club?~
                                       ^^~Oh yes, I heard someone had taken a photo
                                       of you as you were, indisposed. There's just
                                       no privacy any more is there?~";
                                       else
                                       "~You're the one who took the photo, aren't
                                       you?~
                                       ^^~Well I've always had a knack for
                                       photography. I'm just glad I could finally
                                       put it to good use,~ she says, smiling
                                       smugly.";
                                       'paper', 'paperback', 'novel', 'romance',
                                       'novella', 'book', 'Danielle', 'Steel':
                                       "~That's quite a book you have there.~
                                       ^^~Do you like it? I thought you might. It's
                                       about a wealthy heiress and her affair with
                                       the stableboy.~ She pauses, thoughtfully.
                                       ~Hey, perhaps you could write your own. You
                                       know, update it for the modern world. I'm
                                       sure you have enough material.~";
                                       'Cissy', 'Cecilia', 'Winnecott':
                                       "~My God, did you see what Cissy was
                                       wearing?~
                                       ^^~Oh, that woman. She just does not know
                                       interesting photography. Cynthia on the other
                                       hand...~ Melissa lets her words trail off
                                       deliberately.";
                                       'Bev', 'Beverly', 'Winters':
                                       "~You've taken quite a shine to Beverly,
                                       haven't you?~
                                       ^^~Well yes I have. It was so kind of her to
                                       take me under her wing. Now there's a woman
                                       who knows how to get what she wants.~";
                                       'Frank':
                                       "~So what do you think of my husband?~
                                       ^^~Well he will certainly spice up the
                                       banquet. He is going to be there, isn't he?
                                       It just won't be any fun without him.~";
                                       'nouveau', 'nouveaus', 'new', 'money',
                                       'riche':
                                       "~The nouveaus are just everywhere these
                                       days.~
                                       ^^~Yes, terrible, aren't they? Pine Meadows
                                       just hasn't been the same since they started
                                       flocking in.~
                                       ^^Please, where does she get off? Marrying
                                       old money doesn't make one old money.";
                                       'Charles', 'Charlie', 'Burton':
                                       "~That Charles is something else, isn't he?~
                                       ^^~Don't get me started. That man is such a
                                       bore. I dread each time I have to pay my dues
                                       and listen to him speak.~";
                                       'banquet', 'tonight', 'dinner', 'charity',
                                       'announcement':
                                       "~Are you looking forward to the banquet?~
                                       ^^~Well yes I am. It promises to be quite
                                       interesting, don't you think?~";
                                       'country', 'garden', 'flowers', 'flower',
                                       'roses', 'rose', 'bush', 'bushes':
                                       "~You're rather fond of this garden, aren't
                                       you?~ you ask, with only the slightest hint
                                       of derision.
                                       ^^~Delightful, is it not? It's the only
                                       refuge from those dreadful bores in the
                                       dining area.~";
                                       'john', 'johnny', 'jonathan', 'johnathan',
                                       'husband':
                                       "~So where is your husband, anyway?~
                                       ^^~He's gone to London for business until the
                                       end of the month. It's like I never get to
                                       see him any more. How is a girl supposed to
                                       stay faithful?~ --she glances at you-- ~Well
                                       I guess I'm asking the wrong person.~";
                                       'facelift', 'face', 'lift', 'plastic',
                                       'surgery', 'cosmetic', 'napa', 'mask', 'masque', 'avocado':
                                       "~It seems you facelift's healing nicely,~
                                       you say with a grin.
                                       ^^~Oh let's not get in to all that,~ she
                                       says, glancing at your chest, your lips, your
                                       eyes, your nose, your tummy, your forehead,
                                       your cheeks, and your ass.";
                                       'Pine', 'Meadows', 'club':
                                       "~So how are you liking Pine Meadows?~
                                       ^^~Beverly tells me it used to be fun here.
                                       That must have been back in your era.~";
                                       'melissa', 'mel', 'herself', 'her', 'self':
                                       "~And how are you doing, Melissa?~
                                       ^^~Oh, you know, keeping busy.~";
                               }
                               "~Please, Julia. I'm trying to read.~ Melissa says,
                               barely glancing up.";
               ],
has             animate proper female transparent;

Object  book "Melissa's book" melissa
with    name 'paper' 'paperback' 'novel' 'romance' 'novella' 'Danielle' 'Steel'
'book' 'Mel^s' 'melissa^s',
               description
                       "It's the latest Danielle Steel: something about a wealthy
                       heiress and a stableboy.",
               before [;
                       Take:
                               "Please, these books are for people without sex
                               lives. You have two (or would have if you slept with
                               Frank).";
               ],
has             scenery proper;

Object  film "film"
with    name 'film' 'negative' 'negatives',
               description
                       "Here it is: the film. Now you just need to get your hands on
                       that photo and this whole mess will be over.",
               before [;
                       Attack:
                               remove self;
                               "With a certain violent satisfaction, you tear the
                               film to shreds and toss it away.";
               ],
has             ;

Object  handbag "Melissa's handbag" bench
with    name 'bag' 'handbag' 'purse' 'Melissa^s' 'mel^s' 'hand',
               description
                       "Small and delicate, the handbag barely looks strong enough
                       to hold anything.",
               before [;
                       Take,Touch,Push,Pull:
                               "~Tut, tut, Julia. No you don't~ Melissa says,
                               snatching the bag.";
               ],
has             scenery proper;



!---------------------------------------------------------------------------
!GARDEN PATH
!---------------------------------------------------------------------------

Room    garden_path "Garden path"
with    name 'junction',
               description
                       "Serving as little more than a junction, the path here leads
                       from the garden in the southwest to the outside dining area
                       in the north and northeast. The club itself lies to the west
                       and the tennis court to the east. To the southeast is the
                       pool, but it is closed for the season.",
               before [;
                       Smell:
                       if (noun == nothing)
                       "Ugh, that's what roses smell like? Where's the
                       benzaldehyde? the phenetol?";
                       else
                       return false;
               ],

               after [;
                                       Go:


                                               if(noun == e_obj)
                                               print "You make your way through the
                                               east wing to the garden path.^";

               ],
               w_to centre_hall,
               sw_to garden,
               e_to court,
               n_to dining_kitchen,
               ne_to dining_golf,
               se_to "The pool is closed for the season.",
has             ;

Object  swimming_pool "pool" garden_path
with    article "the",
               name 'pool' 'water' 'swimming',
               description
                       "You used to love the pool, or rather being seen at the pool,
                       but now it has gone the way of tennis, golf, the spa, and
                       everything else you ever found amusing at Pine Meadows. The
                       charm of this place is really wearing thin.",
               before [;
                       Examine: ;
                       default:
                               "The pool is too far away to interact with.";
               ],
has             scenery;


!---------------------------------------------------------------------------
!TENNIS COURT
!---------------------------------------------------------------------------

Room    court "Tennis court"
with    name 'raquet' 'racket',
               description
                       "Since tennis became pass@'e, this court is mainly used by
                       those few members who actually enjoy the game. In fact, due
                       to the reduced use, the club has even begun letting
                       non-members play on it. You've never been that fond of tennis
                       and with the rabble about, you're loath to even stay on the
                       court. Hardly a big loss. The net droops, the benches are
                       peeling, and the rubber floor sticks to your pumps. Although
                       you are fenced in on most sides, thankfully, you can still
                       leave to the more agreeable outside dining areas to the
                       northwest and north, or the garden path to the west.",

               w_to garden_path,
               nw_to dining_kitchen,
               n_to dining_golf,
               cant_go [;
                       if (wine in player)
                               "~That's the downside to drinking in the day,~
                               Beverly says as you clang into the fence, wine in
                               hand. ~That, and you can't drink as much in the
                               evening.~";
                       else
                               "~Really, Julia,~ Beverly says as you crash into a
                               fence. ~You're getting clumsy in your old age.~";
               ],
has             ;

Object  net "net" court
with    article "the",
               name 'net' 'nets' 'divider' 'rayon' 'dropping',
               description
                       "The net droops, and your spirits with it. It's fashioned
                       from cheap rayon, not the delicate silk it was made of back
                       when you used to play. You feel trapped just looking at it.",
has             scenery;

Object  floor "floor" court
with    article "the",
               name 'floor' 'ground' 'rubber',
               description
                       "Soft with the heat, the rubber floor of the tennis court
                       sticks to your heels, leaving little impressions after your
                       steps.",
has             scenery;

Object  benches "benches" court
with    name 'bench' 'benches' 'seat' 'seats' 'paint' 'peeled' 'grime' 'peeling',
               description
                       "The only thing sadder than playing a sport that's passed its
                       prime is watching a sport that's passed its prime. Judging
                       from the thick layer of grime on the benches, it seems that
                       the people of Pine Meadows might not be as sad as you
                       thought.",
               before [;
                       Enter: "The benches are disgusting.";
               ],
has             pluralname scenery supporter;

Object  fence "fence" court
with    article "the",
               name 'fence' 'gate' 'fences',
               description
                       "Combined with the spindly net, the fence makes this area
                       seem far more enclosed than it actually is.",
has             scenery;

Object  machine "serving machine" court
with    name 'serving' 'machine' 'balls' 'ball',
               description
                       "Once top of the line, the serving machine has seen better
                       days. Its turning mechanism has broken, so now it just shoots
                       out balls at the same speed and same course every time. Good
                       for Beverly's score, bad for everyone else.",
               before [;
                       SwitchOn,SwitchOff,Push,Pushdir,Pull,Turn:
                               "Better not touch it, you might ruin its
                               predictability and Beverly's game.";
               ],
has             scenery;

NPC             beverly_court "Beverly" court
with    name 'Beverly' 'Woman' 'Winters' 'Bev',
               initial [;
                       if (court hasnt visited)
                       "Beverly Winters, a long time member of the club, hops from
                       foot to foot, waiting for a ball to come out of a serving
                       machine at the other end of the court.
                       ^^Barely turning, Beverly starts talking. ~Well, hello,
                       Julia,~ she says, still not facing you. ~Tonight's banquet
                       should be interesting. No?~";
                       else
                       "Beverly hops from foot to foot, waiting for a ball to come
                       out of a serving machine at the other end of the court.";
               ],
               description
                       "Just a couple of years your senior, Beverly joined the club
                       a few months before you. This was back in the prime of Pine
                       Meadows, before the computer boom, before the stock market
                       became a playground for anyone with a couple thousand, before
                       peasant blouses and the anti-fur movement; those were the
                       days. Back then, the only thing to do was engage in dramatic
                       rivalries. And what a rivalry you formed. Playful at first,
                       it soon degenerated in to a spat worthy of the Hatfields and
                       McCoys, that is if the two of you were troglodytic mountain
                       folk. After dying down for a couple of years, the rivalry
                       flared up again when you caught her flirting with Frank at
                       one of last year's charity auctions. Normally you would have
                       been happy to have his hands occupied for a few hours, but
                       the insult was too great to ignore.",
               before [ w;
                       Smell:
                               "The smells of antiperspirant and sweat battle it out
                               over Beverly. Unfortunately the antiperspirant is
                               winning.";
                       Receive:
                               if (noun == bleach)
                                       "While it certainly would be fun, Beverly
                                       wouldn't hesitate to call the police.";
                               if (noun == wine)
                                       "Beverly does love her wine, but she'd prefer
                                       to drink it.";
                       Blackmail:
                               wn = consult_from;
                               w = NextWord();
                               switch (w) {
                                       'birthday', '50th', 'fiftieth', '45',
                                       'forty-five', 'note', 'age', 'old', '50':
                                       "~Oh well, the cat will be out of the bag in
                                       a week anyway, so who cares if you tell
                                       people now?~";
                               }
                                       "She's not afraid of that.";
               ],
               life [;
                       Kiss:
                               "You're not getting anywhere near her acid tongue.";
                       Attack:
                               "You two prefer more subtle ways of expressing your
                               rivalry.";
                       Order:
                               "~Really, Julia. Save it for the help.~";
                       Show,Give:
                               if (noun == loose_hairs)
                                       "^~My, my, my, Julia,~ Beverly says, seeing
                                       the strands of hair in your hands. ~I knew
                                       you were old, but losing your hair?
                                       Really.~";
                               if (noun == pills)
                                       "~So you're an adulterer and a pill-popper?
                                       Frank's just the luckiest man in the world,
                                       isn't he?~";
                               if (noun == wine)
                                       "~I'd love to, but I want to be as sharp as
                                       possible for tonight's banquet.~";
                               if (noun == camera)
                                       "~First Cynthia, now you. When will you
                                       people realize no one cares about your
                                       cameras?~";
                               if (noun == film) {
                                       if (beverly_clothes.wine_stained == true ||
                                       beverly_clothes.bleach_stained == true) {
                                       remove pills;
                                       remove bleach;
                                       remove salad;
                                       remove cucumber;
                                       remove tickets;
                                       remove loose_hairs;
                                       remove announcement;
                                       remove charles_key;
                                       remove camera;
                                       remove film;
                                       remove wine;
                                       remove clothes;
                                       move change_of_clothes to player;
                                       give change_of_clothes worn;
                                       Achieved(13);
                                       print "~I guess this is what you're after,~
                                       Beverly says, fishing in to her shirt and
                                       pulling out a photo. ~Sorry about all I've
                                       put you through today, it's just I couldn't
                                       afford to let you know I had it until the
                                       banquet. You've proved quite resourceful so
                                       far. Who knows? Had you known it were me from
                                       the start, you might have just been able to
                                       stop me.~ She puts the photo back in her
                                       blouse. ~Really, Julia, Frank and all his
                                       money deserve to be with someone a little
                                       more faithful than you. And once he sees this
                                       photo he'll realize who that is. Men are so
                                       easy to bend when vulnerable, don't you
                                       agree?~
                                       ^^~Oh well,~ she says, turning off the
                                       machine and wiping the sweat from her brow.
                                       As she does, Beverly glances at her watch.
                                       ~My, my. Look at the time. I must be getting
                                       ready for the banquet. Oh yeah, I forgot to
                                       tell you. I talked to Charles and told him
                                       about how it had been so long since I had
                                       seen Frank and he was more than willing to
                                       seat us all together. Isn't that wonderful?~
                                       ^^~See you there,~ she says, throwing her
                                       purse over her shoulder and walking off.
                                       ^^Beverly was right, the banquet is almost
                                       starting, which means Frank will be arriving
                                       soon. You run as fast as you can without
                                       breaking a sweat to the bathroom, toss your
                                       stuff in your locker, and go about making
                                       yourself look as presentable as possible.
                                       Quickly, you get the extra clothes from your
                                       locker, put them on, and go about fixing your
                                       makeup. Within twenty minutes (a Pine Meadows
                                       record) you are ready and speed your way to
                                       the banquet hall, drawing more than a little
                                       bit of attention: running is as rare as
                                       running shoes amongst these people.
                                       ^^Luckily, your speed pays off and you get to
                                       the banquet just in time. Frank is just
                                       arriving and Beverly is nowhere to be seen,
                                       apparently your tampering with her clothes
                                       slowed her down long enough. Just as the
                                       doors open, Beverly comes racing down the
                                       hall with a sweater tied around her waist,
                                       casting you a dirty look as she does. With
                                       that, you are all ushered in to the hall.^";
                                       move banquet_menu to player;
                                       PlayerTo(banquet);
                                       return true;
                                       }
                                       else {
                                       (deadflag = 3);
                                       print "~I guess this is what you're after,~
                                       Beverly says, fishing in to her blouse and
                                       pulling out a photo. ~Sorry about all I've
                                       put you through today, it's just I couldn't
                                       afford to let you know I had it until the
                                       banquet. You've proved quite resourceful so
                                       far. Who knows? Had you known it were me from
                                       the start, you might have just been able to
                                       stop me.~ She puts the photo back in her
                                       blouse. ~Really, Julia, Frank and all his
                                       money deserve to be with someone a little
                                       more faithful than you. And once he sees this
                                       photo he'll realize who that is. Men are so
                                       easy to bend when vulnerable, don't you
                                       agree?~
                                       ^^~Oh well,~ she says, turning off the
                                       machine and wiping the sweat from her brow.
                                       As she does, Beverly glances at her watch.
                                       ~My, my. Look at the time. I must be getting
                                       ready for the banquet. Oh yeah, I forgot to
                                       tell you. I talked to Charles and told him
                                       about how it had been so long since I had
                                       seen Frank and he was more than willing to
                                       seat us all together. Isn't that wonderful?~
                                       ^^~See you there,~ she says, throwing her
                                       purse over her shoulder and walking off.
                                       ^^Beverly was right, the banquet is almost
                                       starting, which means Frank will be arriving
                                       soon. You run as fast as you can without
                                       breaking a sweat to the bathroom, toss your
                                       stuff in your locker, and go about making
                                       yourself look as presentable as possible.
                                       Quickly, you get the extra clothes from your
                                       locker, put them on and go about fixing your
                                       makeup. Within twenty minutes (a Pine Meadows
                                       record) you are ready and speed your way to
                                       the banquet hall, drawing more than a little
                                       bit of attention: running is as rare as
                                       running shoes amongst these people.
                                       ^^Unfortunately, Beverly is quicker than you
                                       are. Although she looks an absolute wreck,
                                       she does get ready faster than you. As you
                                       speed towards the hall, you see Beverly
                                       showing the photo to Frank amongst a crowd of
                                       people. From down the hall, Frank casts you a
                                       hurt glance before he leaves Pine Meadows,
                                       and your life, forever.";

                                       return true;
                                       }
                               }
                               else
                                       "~Really, Julia. Why would anyone be
                                       interested in that?~";
                       Ask,Tell:
                               switch(second) {
                                       'bra', 'brazier', 'brassiere', 'halter',
                                       'top', 'halter-top', 'chest', 'breasts',
                                       'breast':
                                       "~Oh dear, Beverly,~ you say, glancing at her
                                       chest, ~you're not going to let your surgeon
                                       get away with that, are you?~
                                       ^^She says nothing but shifts her bra
                                       again.";
                                       'cell', 'cellular', 'mobile', 'phone',
                                       'telephone', 'calling', 'phoning':
                                       "~Beverly, darling, can I use your cell?~ you
                                       ask.
                                       ^^~I don't have my cell with me, and if I
                                       did, why would I let you use it?~
                                       ^^~Maybe to do something nice for a change?~
                                       ^^~Oh, please. Being nice is for the help.~";
                                       'floor', 'court', 'bench', 'benches', 'net',
                                       'nets', 'fences', 'fence':
                                       "~This court really is falling apart. You fit
                                       right in.~
                                       ^^~You and me both, hon,~ she says, looking
                                       up and down at your wardrobe and hastily done
                                       make-up";
                                       'rabble', 'nouveau', 'nouveaus', 'new',
                                       'money', 'riche':
                                       "~Ugh, the nouveaus have absolutely infested
                                       this place.~
                                       ^^~They're dreadful, aren't they? I'm just
                                       glad my glares are enough to keep them away.~
                                       ^^~Are you sure it's not your smell?~ you
                                       mumble.
                                       ^^~What was that?~
                                       ^^~I said, 'I'm sure; you do it so well.'~";
                                       'pill', 'pills', 'percodan', 'drug', 'drugs',
                                       'tablets', 'caplets':
                                       "~So I found some Percodan and--~ she cuts
                                       you off.
                                       ^^~So you're an adulterer and a pill-popper?
                                       Frank's just the luckiest man in the world,
                                       isn't he?~
                                       ^^~Honestly, they're not mine!~
                                       ^^~Whatever you need to tell yourself,
                                       hon.~";
                                       'Cabernet', 'Sauvignon', 'wine', 'red',
                                       'drink':
                                       "~Would you like some wine?~ you ask.
                                       ^^~I'd love to, but I want to be as sharp as
                                       possible for tonight's banquet.~
                                       ^^~Really, that never stopped you before.
                                       Remember the New Year's party?~
                                       ^^She pretends not to hear.";
                                       'Pine', 'Meadows', 'club':
                                       "~This place sure has changed, hasn't it?~
                                       ^^~I'll say,~ she replies. ~Remember when
                                       this place used to be fun?~ she asks, almost
                                       with a hint of camaraderie.";
                                       'keith', 'lover', 'affair', 'adultery',
                                       'rumor', 'rumour', 'rumors', 'rumours',
                                       'gossip':
                                               "~I guess you know about Keith and
                                               I,~
                                               ^^~Oh yes, I heard about that. Poor
                                               Frank. Of course, he'll never believe
                                               any of the gossip. Unless someone
                                               shows him proof...~";
                                       'anti', 'aging', 'anti-aging', 'treatment':
                                               "~I was so glad to learn you've
                                               finally decided to do something about
                                               that baseball mitt you call a face.~
                                               ^^~Well we can't all be getting
                                               facelifts every six months,~ she
                                               snaps.
                                               ^^~Well you could if you had a rich
                                               enough husband.~
                                               ^^~Give it time,~ she mutters.";
                                       'birthday', '50th', 'fiftieth', '45',
                                       'forty-five', 'note', 'age', 'old':
                                               "~Happy fiftieth, Beverly, doll,~ you
                                               say, smiling. ~I was beginning to
                                               think you'd be forty-five forever.~
                                               ^^~That's it. I'm shipping mother off
                                               to the home as soon as I get back.~";
                                       'Cynthia', 'Fordham':
                                               "~So, what do you think of Cynthia?~
                                               ^^~I'd watch your step around her;
                                               she's a snake.~";
                                       'Melissa', 'Stratham', 'mel':
                                               "~I see you've done quite a number on
                                               Melissa.~
                                               ^^~Well, I know you wanted to mould
                                               her in to your own image, but what
                                               could I do? You can't argue with good
                                               taste.~";
                                       'Beverly', 'Bev', 'winters', 'herself':
                                               if (behind_club has visited)
                                               "~How are you doing, Beverly? You
                                               look positively exhausted.~
                                               ^^~No, I'm doing well.~ She glances
                                               at your ruffled clothes and smeared
                                               makeup. ~Better than you, I
                                               imagine.~";
                                               else
                                               "~How are you holding up, dear?~
                                               ^^~I'm doing well. Better than you
                                               must be, I imagine.~";
                                       'Tennis', 'game', 'playing', 'machine',
                                       'balls', 'ball', 'serving':
                                               "~I can't believe you still play this
                                               game, it is so pass@'e.~
                                               ^^~Well, I understand you've moved on
                                               to a different kind of balls,~
                                               Beverly says coyly. ~Ah well, this
                                               will always be the game for me.~";
                                       'Cissy', 'Cecilia', 'Winnecott':
                                               "~So what do you think of Cissy?~
                                               ^^~I'm just glad she hates tennis.~";
                                       'Charles', 'Charlie', 'Burton', 'registrar':
                                               "~So what do you think of Charles?~
                                               ^^~Ugh, that man is insufferable.~";
                                       'julia', 'me', 'hawthorne', 'self', 'myself':
                                       "~What do you think of me?~
                                       ^^~Well we've had our problems, but I would
                                       never do anything to endanger our
                                       'friendship,'~ she says with all the warmth
                                       of a raw fish.";
                                       'Roger', 'Knowles':
                                               "~That Roger's an odd one, isn't he?~
                                               ^^~I'll say so. He's a bit of an
                                               anachronism, even here. Personally, I
                                               just think it comes from his
                                               loneliness.~";
                                       'loneliness', 'roger^s':
                                               "~You say Roger's lonely?~
                                               ^^~Well it's been a long time for him
                                               since, you know. I'm sure all he
                                               needs is a little affection.~";
                                       'Banquet', 'tonight', 'dinner',
                                       'announcement':
                                               "~Are you looking forward to
                                               tonight's banquet?~
                                               ^^~My Lord, yes. It should be very
                                               interesting.~";
                                       'photo', 'photograph', 'photos',
                                       'photographs', 'picture', 'camera', 'film',
                                       'Melissa', 'Stratham', 'mel':
                                       if (melissa.melissa_known == true && melissa.
                                       blackmailed == false)
                                               "~So I found out it was Melissa who
                                               took the photo.~
                                               ^^~I hope you aren't suggesting that
                                               I put her up to it. She does have a
                                               mind of her own, you know.~";
                                       if (melissa.blackmailed == true) {
                                               if (beverly_clothes.wine_stained ==
                                               true || beverly_clothes.
                                               bleach_stained == true) {
                                       remove pills;
                                       remove bleach;
                                       remove salad;
                                       remove cucumber;
                                       remove tickets;
                                       remove loose_hairs;
                                       remove announcement;
                                       remove charles_key;
                                       remove camera;
                                       remove film;
                                       remove wine;
                                       remove clothes;
                                       move change_of_clothes to player;
                                       give change_of_clothes worn;
                                       Achieved(13);
                                       print "~I guess this is what you're after,~
                                       Beverly says, fishing in to her blouse and
                                       pulling out a photo. ~Sorry about all I've
                                       put you through today, it's just I couldn't
                                       afford to let you know I had it until the
                                       banquet. You've proved quite resourceful so
                                       far. Who knows? Had you known it were me from
                                       the start, you might have just been able to
                                       stop me.~ She puts the photo back in her
                                       blouse. ~Really, Julia, Frank and all his
                                       money deserve to be with someone a little
                                       more faithful than you. And once he sees this
                                       photo he'll realize who that is. Men are so
                                       easy to bend when vulnerable, don't you
                                       agree?~
                                       ^^~Oh well,~ she says, turning off the
                                       machine and wiping the sweat from her brow.
                                       As she does, Beverly glances at her watch.
                                       ~My, my. Look at the time. I must be getting
                                       ready for the banquet. Oh yeah, I forgot to
                                       tell you. I talked to Charles and told him
                                       about how it had been so long since I had
                                       seen Frank and he was more than willing to
                                       seat us all together. Isn't that wonderful?~
                                       ^^~See you there,~ she says, throwing her
                                       purse over her shoulder and walking off.
                                       ^^Beverly was right, the banquet is almost
                                       starting, which means Frank will be arriving
                                       soon. You run as fast as you can without
                                       breaking a sweat to the bathroom, toss your
                                       stuff in your locker, and go about making
                                       yourself look as presentable as possible.
                                       Quickly, you get the extra clothes from your
                                       locker, put them on and go about fixing your
                                       makeup. Within twenty minutes (a Pine Meadows
                                       record) you are ready and speed your way to
                                       the banquet hall, drawing more than a little
                                       bit of attention: running is as rare as
                                       running shoes amongst these people.
                                       ^^Luckily, your speed pays off and you get to
                                       the banquet just in time. Frank is just
                                       arriving and Beverly is nowhere to be seen,
                                       apparently your tampering with her clothes
                                       slowed her down long enough. Just as the
                                       doors open, Beverly comes racing down the
                                       hall with a sweater tied around her waist,
                                       casting you a dirty look as she does. With
                                       that, you are all ushered in to the hall.^";
                                       move banquet_menu to player;
                                       PlayerTo(banquet);

                                       return true;
                                       }
                                       else {
                                       (deadflag = 3);
                                       print "~I guess this is what you're after,~
                                       Beverly says, fishing in to her blouse and
                                       pulling out a photo. ~Sorry about all I've
                                       put you through today, it's just I couldn't
                                       afford to let you know I had it until the
                                       banquet. You've proved quite resourceful so
                                       far. Who knows? Had you known it were me from
                                       the start, you might have just been able to
                                       stop me.~ She puts the photo back in her
                                       blouse. ~Really, Julia, Frank and all his
                                       money deserve to be with someone a little
                                       more faithful than you. And once he sees this
                                       photo he'll realize who that is. Men are so
                                       easy to bend when vulnerable, don't you
                                       agree?~
                                       ^^~Oh well,~ she says, turning off the
                                       machine and wiping the sweat from her brow.
                                       As she does, Beverly glances at her watch.
                                       ~My, my. Look at the time. I must be getting
                                       ready for the banquet. Oh yeah, I forgot to
                                       tell you. I talked to Charles and told him
                                       about how it had been so long since I had
                                       seen Frank and he was more than willing to
                                       seat us all together. Isn't that wonderful?~
                                       ^^~See you there,~ she says, throwing her
                                       purse over her shoulder and walking off.
                                       ^^Beverly was right, the banquet is almost
                                       starting, which means Frank will be arriving
                                       soon. You run as fast as you can without
                                       breaking a sweat to the bathroom, toss your
                                       stuff in your locker, and go about making
                                       yourself look as presentable as possible.
                                       Quickly, you get the extra clothes from your
                                       locker, put them on and go about fixing your
                                       makeup. Within twenty minutes (a Pine Meadows
                                       record) you are ready and speed your way to
                                       the banquet hall, drawing more than a little
                                       bit of attention: running is as rare as
                                       running shoes amongst these people.
                                       ^^Unfortunately, Beverly is quicker than you
                                       are. Although she looks an absolute wreck,
                                       she does get ready faster than you. As you
                                       speed towards the hall, you see Beverly
                                       showing the photo to Frank amongst a crowd of
                                       people. From down the hall, Frank casts you a
                                       hurt glance before he leaves Pine Meadows,
                                       and your life, forever.";
                                       return true;
                                       }
                                       }
                                       else
                                               "~Someone took a photo of Keith and I
                                               in the basement.~
                                               ^^~A photograph, you say? How very
                                               Enquirer of you.~";
                                       'Frank', 'husband':
                                               "~You haven't seen Frank in a while,
                                               have you?~
                                               ^^~No I haven't. How is your husband,
                                               anyway? We have so much catching up
                                               to do.~";
                               }
                                       if (self.called_whore == false) {
                                               self.called_whore = true;
                                               "~Really, Julia. Sometimes you are
                                               such a whore,~ Beverly mutters.
                                               ^^~What was that?~
                                               ^^~I said: 'Really, Julia. Sometimes
                                               you are such a bore.'~";
                                               }
                                               else

                                               "~Really, Julia. Must you always be
                                               such a frightful bore?~";
               ],
               called_whore false,
               wine_said false,
               seen_hair false,
               each_turn [;
                       if (wine in player && self.wine_said == false) {
                               self.wine_said = true;
                               "^Beverly glances down at the wine in your hand.
                               ~Getting started a little early, don't you think?~";
                       }
                       if (loose_hairs in player && self.seen_hair == false) {
                               self.seen_hair = true;
                               "^~My, my, my, Julia,~ Beverly says, seeing the
                               strands of hair in your hands. ~I knew you were old,
                               but losing your hair? Really.~";
                       }

                       else
                               print (string) random("^Beverly smacks a ball across
                               the court.^","^A rather aggressive serve by the
                               machine thwacks Beverly on the thigh.^", "^Beverly
                               pauses between serves, tucking her hair behind her
                               ears.^", "^In a strangely crude move, Beverly shifts
                               her bra uncomfortably.^", "", "");
               ],
has             female animate proper transparent container;

Object  bra "bra" beverly_court
with    name 'bra' 'brazier' 'brassiere' 'halter' 'top' 'halter-top' 'chest'
'breasts' 'breast' 'bev^s' 'beverly^s',
               article "Beverly's",
               description
                       "Beverly's chest looks lumpier than usually.",
               before [;
                       Examine,Search:
                               "Beverly's chest looks lumpier than usually.";
                       default:
                               "Beverly wouldn't appreciate that.";
               ],
has             ;

!---------------------------------------------------------------------------
!OUTSIDE DINING I
!---------------------------------------------------------------------------

Room    dining_kitchen "Outside dining (next to the kitchen)"
with
               description [;
               if (kitchen hasnt visited)
                       "This is what it's all about: stale food and staler gossip.
                       However, despite all that, the outside dining offered by Pine
                       Meadows is really the only thing that interests you at the
                       club. The tables are full; the place is busy. The members
                       don't seem to be eating all that much though, no doubt saving
                       their appetites for the banquet tonight. To the west is the
                       server's entrance to the kitchen where all manner of food is
                       prepared. The dining area extends to the east, and to the
                       south and southeast are the garden path and tennis court
                       respectively.";
               else
                       "This is what it's all about: stale food and staler gossip.
                       The tables are full; the place is busy. The members
                       don't seem to be eating all that much though, no doubt saving
                       their appetites for the banquet tonight. To the west is the
                       server's entrance to the kitchen where all manner of food is
                       prepared. The dining area extends to the east, and to the
                       south and southeast are the garden path and tennis court
                       respectively.";
               ],
               after [;
                       Go:
                               if(noun == n_obj or nw_obj or w_obj && cissy in
                               dining_kitchen && cissy.cissy_spoken >= 1)
                                       print "As if you never left, Cissy starts
                                       back on her photos.^";
               ],
               before [;
                       Listen:
                               if (noun == cissy)
                                       "Generally, people try to ignore Cissy,
                                       rather than listen to her.";
                               if (cissy in dining_kitchen)
                                       "All other sounds seem insignificant under
                                       the onslaught of Cissy's chattering.";
                               else
                                       "Chatting, plates clunking, the occasional
                                       scream at a waiter: all standard at Pine
                                       Meadows.";
               ],
               s_to garden_path,
               se_to court,
               e_to dining_golf,
               w_to kitchen,
               cant_go [;
                       if (cissy in self) {
                               StopDaemon(cissy);
                               "~Oh dear,~ Cissy says as you bump into a low wall.
                               ~Julia, you really should try some Ginkgo biloba.
                               I've been taken it for months now and I hardly ever
                               crash into walls anymore.~";
                       }
                       else
                               "You can only go west, east, south, or southeast.";
               ],
has             ;

Object  tables "tables"
with    name 'tables' 'table' 'chairs' 'chair' 'cloths' 'tablecloth',
               description
                       "While you are fairly sure that the tables or chairs haven't
                       been replaced or refurbished in years, at least the
                       tablecloths have been kept up to the times. If you can't have
                       something nice, you can at least put it in a nice package,
                       you suppose.",
               before [;
                       Enter:
                               "You don't have the time.";
               ],
               found_in dining_kitchen dining_golf,
has             pluralname scenery supporter;

Object  diners "diners"
with    name 'diner' 'diners' 'people' 'men' 'women' 'members' 'nouveaus' 'nouveau'
'new' 'money' 'riche',
               description
                       "These nouveaus wouldn't know the difference between eggs
                       Florentine and eggs Benedict.",
               life [;
                       Kiss: "With all the garlic in today's cuisine, you're not
                       willing to chance it.";
                       Ask,Tell: "Even if you didn't mind appearing gauche, you
                       wouldn't want to interrupt these people and risk actually
                       having to talk to them.";
               ],
               found_in dining_kitchen dining_golf,

has             scenery animate pluralname;

NPC             waiter "waiter" dining_kitchen
with    name 'waiter' 'server' 'man' 'garcon',
               article "the",
               initial [;
                       if (dining_kitchen hasnt visited)
                               "A waiter bustles about, tray of wine glasses in
                               hand, trying desperately to keep up with drink orders
                               from demanding patrons.";
                       else
                               print (string) random("A waiter bustles about
                               frantically, trying desperately to keep up with drink
                               orders from demanding patrons.^", "The waiter pauses
                               for a moment to wipe some sweat from his forehead,
                               before the scream of a patron brings him back to
                               activity.^", "The waiter takes a sip from one of the
                               finished drinks and seems to calm down a bit.^");
               ],
               description
                       "Tuxedoes aren't active wear, and the waiter exemplifies
                       perfectly why this is so. His cummerbund prevents him from
                       turning his waist; his whole ensemble clings to him with
                       sweat. In fact, his bow tie seems so tight that his eyes bug
                       out and his face is flushed.",
               salad_on_floor false,
               each_turn [;
                       if (salad in dining_kitchen && self.salad_on_floor == false)
                       {
                               self.salad_on_floor = true;
                               "^The waiter deftly avoids the salad. You don't work
                               for years around drunken socialites without learning
                               how to watch your step.";
                       }
                       else
                               return false;
               ],
               before [;
                       Push,Pull,PutOn:
                               "You 'accidentally' jostle into the waiter, but he
                               catches himself before spilling any of the drinks.
                               You don't work for years around drunken socialites
                               without learning to watch your step.";
               ],
               seen_hairy_salad false,
               react_before [;
                       Buy:
                               "~Everything here is complementary, Mrs. Hawthorne.
                               If you would like something you can simply ask me for
                               it,~ says the waiter.";
                       OrderSomething:
                               switch (noun) {
                                               tray:
                                                       if (wine has moved)
                                                               "~I'm sorry Mrs.
                                                               Hawthorne, but there
                                                               is really only enough
                                                               for one per member
                                                               right now.~";
                                                       else
                                                               move wine to player;
                                                               "~Here you go, Mrs.
                                                               Hawthorne,~ he says,
                                                               handing you a glass
                                                               of wine, his
                                                               experience such that
                                                               barely a ripple
                                                               passes across its
                                                               surface.";

                                               dummy_peanut:
                                                       "~I'm sorry, Mrs. Hawthorne,
                                                       but we don't serve peanuts
                                                       here. There might be some
                                                       sauce in the kitchen
                                                       though.~";
                                               wine:
                                                       if (wine has moved)
                                                               "~I'm sorry Mrs.
                                                               Hawthorne, but there
                                                               is really only enough
                                                               for one per member
                                                               right now.~";
                                                       else
                                                               move wine to player;
                                                               "~Here you go, Mrs.
                                                               Hawthorne,~ he says,
                                                               handing you a glass
                                                               of wine, his
                                                               experience such that
                                                               barely a ripple
                                                               passes across its
                                                               surface.";
                                               food:
                                                               "~I'm sorry Mrs.
                                                               Hawthorne, but the
                                                               kitchen is very
                                                               backed up at the
                                                               moment,~ he says,
                                                               before getting back
                                                               to his job.";
                                               default:
                                                               "~I'm sorry, Mrs.
                                                               Hawthorne, but I'm
                                                               afraid that's not
                                                               available.~";
                                                               }


               ],
               life [;
                               Order:
                                       "~I'm sorry, Mrs. Hawthorne, but I'm here
                                       just to serve drinks.~";
                               Give,Show:
                                       if (noun == salad) {
                                               if (loose_hairs notin salad)
                                                       "~Oh yes, our cucumber salad
                                                       is one of the hottest things
                                                       on the menu, people can't
                                                       seem to order it fast enough.
                                                       Eating it on the other
                                                       hand...~ the waiter says
                                                       looking down at the bowl.";
                                               if (loose_hairs in salad) {
                                                       StopDaemon(Cissy);
                                                       self.seen_hairy_salad = true;
                                                       remove salad;
                                                       "You stomp (as much is
                                                       possible in three-inch heels)
                                                       up to the waiter and thrust
                                                       the salad in to his face.
                                                       ~Excuse me, garcon,~ you
                                                       spit. ~I believe you sold me
                                                       a hair with a salad around
                                                       it.~
                                                       ^^~Um, oh, ooh,~ the waiter
                                                       sputters. ~I'm sorry Mrs.
                                                       Hawthorne. Let me just go in
                                                       to the kitchen and get you a
                                                       fresh one.~
                                                       ^^~No, no. That simply will
                                                       not do,~ you say, hamming it
                                                       up more than a little. ~I
                                                       must speak with the head chef
                                                       at once!~
                                                       ^^~But of course, Mrs.
                                                       Hawthorne. Go right ahead, we
                                                       pride ourselves on our
                                                       outstanding customer
                                                       relations.~";

                                               }
                                       }
                                       else
                                               "~I'm sorry, Mrs. Hawthorne, but I
                                               can't help you with that. If you have
                                               a complaint about the food, bring it
                                               to me, and I'll do what I can.~";
                               Kiss:
                                       "Your reputation is bad enough without you
                                       kissing the waiters.";
                               Ask,Tell: switch (second) {
                                               'cell', 'cellular', 'mobile',
                                               'phone', 'telephone', 'calling',
                                               'phoning':
                                               "~Excuse me, young man, but do you
                                               know where I could find a phone?~
                                               ^^~Well, we don't allow cellular
                                               phones in the dining area. You might
                                               want to try the office.~";
                                               'Pine', 'meadows', 'club', 'work',
                                               'working':
                                                       "~How do you like working at
                                                       Pine Meadows?~
                                                       ^^~It's alright, I suppose,
                                                       but I'm only here until my
                                                       acting career takes off.~
                                                       ^^Eight years and counting.";
                                               'wine', 'drink', 'liquor', 'drinks':
                                                       "~Could you tell me about the
                                                       wine?~
                                                       ^^~Today's wine is a lovely
                                                       Cabernet Sauvignon from
                                                       Bordeaux. Your favourite if I
                                                       remember correctly,~ the
                                                       waiter says, barely missing a
                                                       step.";
                                               'food', 'meal', 'lunch':
                                                       "~Is there any way I could
                                                       get some food?~
                                                       ^^~I'm sorry Mrs. Hawthorne,
                                                       but the kitchen is very
                                                       backed up at the moment,~ he
                                                       says, before getting back to
                                                       his job.";

                                               }
                                               "~I'm sorry Mrs. Hawthorne, but I'm
                                               very busy,~ he says, bustling over to
                                               a particularly loud table.";
                               AskFor: switch (noun) {
                                               tray:
                                                       if (wine has moved)
                                                               "~I'm sorry Mrs.
                                                               Hawthorne, but there
                                                               is really only enough
                                                               for one per member
                                                               right now.~";
                                                       else
                                                               move wine to player;
                                                               "~Here you go, Mrs.
                                                               Hawthorne,~ he says,
                                                               handing you a glass
                                                               of wine, his
                                                               experience such that
                                                               barely a ripple
                                                               passes across its
                                                               surface.";
                                               dummy_peanut:
                                                       "~I'm sorry, Mrs. Hawthorne,
                                                       but we don't serve peanuts
                                                       here. There might be some
                                                       sauce in the kitchen
                                                       though.~";
                                               wine:
                                                       if (wine has moved)
                                                               "~I'm sorry Mrs.
                                                               Hawthorne, but there
                                                               is really only enough
                                                               for one per member
                                                               right now.~";
                                                       else
                                                               move wine to player;
                                                               "~Here you go, Mrs.
                                                               Hawthorne,~ he says,
                                                               handing you a glass
                                                               of wine, his
                                                               experience such that
                                                               barely a ripple
                                                               passes across its
                                                               surface.";
                                               food:
                                                               "~I'm sorry Mrs.
                                                               Hawthorne, but the
                                                               kitchen is very
                                                               backed up at the
                                                               moment,~ he says,
                                                               before getting back
                                                               to his job.";
                                               default:
                                                               "~I'm sorry, Mrs.
                                                               Hawthorne, but I'm
                                                               afraid that's not
                                                               available.~";
                               }

                       ],
               orders [;
                       Give: switch (noun) {
                               tray:
                                       if (wine has moved)
                                               "~I'm sorry Mrs. Hawthorne, but there
                                               is really only enough for one per
                                               member right now.~";
                                       else
                                               move wine to player;
                                               "~Here you go, Mrs. Hawthorne,~ he
                                               says, handing you a glass of wine,
                                               his experience such that barely a
                                               ripple passes across its surface.";
                               dummy_peanut:
                                       "~I'm sorry, Mrs. Hawthorne, but we don't
                                       serve peanuts here. There might be some sauce
                                       in the kitchen though.~";
                               wine:
                                       if (wine has moved)
                                               "~I'm sorry Mrs. Hawthorne, but there
                                               is really only enough for one per
                                               member right now.~";
                                       else
                                               move wine to player;
                                               "~Here you go, Mrs. Hawthorne,~ he
                                               says, handing you a glass of wine,
                                               his experience such that barely a
                                               ripple passes across its surface.";
                               food:
                                               "~I'm sorry Mrs. Hawthorne, but the
                                               kitchen is very backed up at the
                                               moment,~ he says, before getting back
                                               to his job.";
                               default:
                                               "~I'm sorry, Mrs. Hawthorne, but I'm
                                               afraid that's not available.~";
                               }

                       ],
has             animate transparent male worker;

Object  wine "glass of Cabernet Sauvignon" waiter
with    pname '.x' 'drinks' '.x' 'glasses' 'Cabernet' 'Sauvignon' 'wine' 'red'
'drink' 'glass' 'of',
               article "a",
               description
                       "Although Merlot is currently receiving wider commendations,
                       you suspect it's more due to how easy it is to pronounce its
                       name rather than any aesthetic superiority.",
               after [;
                       Drop:
                               print "You set the wine down, careful not to spill
                               it.^";
                               return true;
               ],
               before [;
                       EmptyT:
                               <<Insert self second>>;
                       Receive:
                               if (noun == bleach)
                                       "Well that would certainly give it some kick,
                                       but you decide against it.";
                               if (noun == pills)
                                       "Whoa! Easy there, Liza.";
                               else
                                       "You'd rather not.";
                       Take:
                               if (self in waiter)
                                       "You're rude, but not that rude. Try asking
                                       the waiter for some wine instead.";
                               else
                                       return false;
                       Drink:
                               "Better not, you need to be as sharp as possible if
                               you're going to get that film.";
                       Smell:
                               "You swirl the glass and sniff delicately. A good
                               year.";
                       Taste:
                               "You swirl just the slightest bit around in your
                               mouth. Rich and heady, with just a soupcon of oak.";
                       ThrowAt:
                               "You're such a drama queen. A more subtle approach
                               might be more appropriate.";

                       Insert:
                               if (noun == purse)
                                       "You don't want to ruin your purse.";
                               else
                                       return false;
               ],

has             edible;

Object  tray "drinks" waiter
with    name 'tray' 'drinks' 'glasses' 'empty' 'full',
               description
                       "The waiter carries a tray of drinks, some empty, some
                       full.",
               before [;
                       Take:
                               "You're rude, but not that rude. Try ordering
                               instead.";
               ],
has             scenery pluralname;

NPC             cissy "Cissy" dining_kitchen
with    name 'Cissy' 'Winnecott' 'Cecilia' 'clothes' 'pant' 'suit' 'pantsuit' 'woman'
'cissy^s' 'fuchsia' 'cecilia^s',
               initial [;
                       if (dining_kitchen hasnt visited)
                               "Oh great, Cecilia Winnecott is here, the most
                               frightfully irritating woman you have ever had the
                               displeasure to meet. You attempt to duck out before
                               she sees you but it's too late.
                               ^^~Yoohoo, Julia! Over here.~ As if you could miss
                               her. Her bright fuchsia pantsuit practically sears
                               your retinas. Cissy sashays up to you, her jacket
                               barely able to contain those three Danishes you saw
                               her wolf down this morning.";
                       else
                               "Cissy stands here in all her fuchsia
                               splendour.";
               ],
               description
                       "A hundred-eighty pound woman packed in a hundred-sixty pound
                       Chanel reject. You've got to hand it to her though, all that
                       fuchsia really does detract from what it covers.",
               each_turn [;
                               StartDaemon(self);
               ],
               cissy_spoken 0,
               kitchen_attempted 0,
               seen_hairy_salad false,
               before [;
                       Push,Pull:
                               "You jostle into Cissy. ~Oops!~ she says. ~I tell
                               you, you gotta get some Gingko.~";
                       Smell:
                               "Your nose is overrun with both Dolce and Gabbana.";
                       Listen:
                               "Generally, people try to ignore Cissy, rather than
                               listen to her.";

                       Receive: if (noun == wine) {
                                               remove cissy;
                                               move wine to waiter;
                                               StopDaemon(self);

                                               "Pretending to catch your heel on a
                                               crack, you launch yourself forward
                                               towards Cissy, spilling the deep, red
                                               wine over her clothes.
                                               ^^~My clothes!~ she cries, trying
                                               desperately to sop up the rapidly
                                               setting wine. ~This was a gift from
                                               my husband.~ You guess he bought it
                                               as a not so subtle hint.
                                               ^^~Don't worry Cissy, a little club
                                               soda and that will come right out.~ A
                                               lie, sure, but you have to stop her
                                               from sobbing somehow. Besides, you
                                               did her a favour, that monstrosity
                                               wasn't helping anyone.
                                               ^^When Cissy sees that nothing she
                                               can do here will stop the stain, she
                                               begins to walk out. ~Oh dear, guess
                                               I'll go home to change. I'll see you
                                               at the banquet tonight. Ciao.~";

                               }
                               if (noun == bleach)
                                       "While it would make your opinion of her
                                       clothes painfully obvious, you fear the pain
                                       would be more obvious than the opinion.";
                               else
                               "Putting that Cissy would achieve nothing.";
               ],
               monica_said false,
               react_before [;
                       Go:
                       if (noun == e_obj or s_obj or se_obj) {
                               if (self.monica_said == false) {
                               self.monica_said = true;
                               StopDaemon(self);
                               print "^~I'm dreadfully sorry, Cissy, but I have some
                               things to do,~ you say, rubbing your temples in
                               attempt to ward off the migraine you know is coming.^
                               ^~Ciao!~ Please, one month in Tuscany and she thinks
                               she's Monica Bellucci.^";

                               }
                               else {
                               if (self.cissy_spoken >= 1) {
                               StopDaemon(self);
                               print "^~You're not leaving already are you?~ Cissy
                               asks, lips pouted. ~Oh well, you must come back to
                               see the rest of my photos soon.~^";
                               }
                               else {
                               StopDaemon(self);
                               return false;
                               }
                               }
                       }
                       if (noun ~= w_obj or e_obj or s_obj or se_obj)
                               return false;
                       if (noun == w_obj && (waiter.seen_hairy_salad == true ||
                       self.seen_hairy_salad == true) ) {
                               StopDaemon(self);
                               print "Cissy, knowing about the outrageous salad
                               situation, gives you an encouraging pat on the
                               shoulder as you walk towards the kitchen.^";
                               return false;
                               }
                       if (noun == w_obj && self.kitchen_attempted == 0) {
                               move get_into_kitchen to all_hints;
                               StopDaemon(self);
                               self.kitchen_attempted = 1;
                               print_ret "~Umm, Julia, hon. That's the kitchen,~
                               says Cissy, giving you a peculiar look. You can't
                               blame her. Most people, if they want to complain,
                               just scream at the waiters in front of everyone.";
                       }
                       if (noun == w_obj && self.kitchen_attempted == 1) {
                               StopDaemon(self);
                               print_ret "Better not with Cissy still here.";
                       }
               ],
               daemon [;

                                       self.cissy_spoken = self.cissy_spoken + 1;
                                       switch (self.cissy_spoken) {

                                               1: "
                                               ^~Oh, Julia. It's been ages. You
                                               simply must see our pictures from
                                               Tuscany,~ she says, and before you
                                               can decline, she pulls a stack of
                                               photos from her purse.";
                                               2: "^~Here's my eldest, Tyler, isn't
                                               he handsome?~ Cissy croons, showing
                                               you a photo of a rather dirty little
                                               boy with a finger up his nose.";
                                               3: "^~Oh ooh, here's Madison. Isn't
                                               she darling?~
                                               ^^~She's absolutely breathtaking,~
                                               you say.";
                                               4: "^~And this is our villa, isn't it
                                               just to die for?~ ^^Frankly, you
                                               agree. You'd die before setting foot
                                               in such a dismal little hovel.";
                                               5: "^~Aww, look at little Aidan.
                                               Isn't he a treasure?~
                                               ^^My God, doesn't this woman ever
                                               stop breeding?";
                                               default:
                                                       print (string) random("^Cissy
                                                       continues to prattle on about
                                                       her oh so fascinating
                                                       life.^", "^Cissy continues to
                                                       prattle on about her oh so
                                                       fascinating life.^", "^Cissy
                                                       continues to prattle on about
                                                       her oh so fascinating
                                                       life.^", "^Cissy shows you
                                                       another photo of her
                                                       ever-growing family.^",
                                                       "^Cissy tells you about
                                                       another 'famous' relative's
                                                       accomplishments.^");
                                       }
               ],
               life [;
                       Kiss:
                               "Uck, there's still bits of Danish around her mouth.
                               You'd think someone with so much practice eating
                               wouldn't miss so much.";
                       Give,Show:
                               if (noun == loose_hairs) {
                                       StopDaemon(self);
                                       "~Oh, you're shedding, Julia. You really
                                       should try some cod liver oil,~ Cissy says,
                                       fondly stroking her hair.";
                               }
                               if (noun == salad) {
                                       if (loose_hairs in salad) {
                                               if (self.seen_hairy_salad == false) {
                                               self.seen_hairy_salad = true;
                                               StopDaemon(self);
                                               "~My God!~ Cissy shrieks, seeing the
                                               numerous hairs poking out through the
                                               lettuce. ~You should show that to the
                                               waiter at once. They simply can't get
                                               away with this.~";
                                               }
                                               else
                                               "Cissy's already seen the salad.";
                                               }
                                       else {
                                               StopDaemon(self);
                                               "~Oh, you have much stronger
                                               willpower than me. I never could
                                               restrain myself when it came to
                                               food,~ she says, plucking some Danish
                                               from her chin and popping it hungrily
                                               in to her mouth.";
                                       }
                               }
                               if (noun == camera) {
                               StopDaemon(self);
                               "~Oh, isn't that charming, you're a photographer too!
                               We must trade techniques sometime,~ she says,
                               bubbling with excitement.";
                               }
                               if (noun == wine) {
                               StopDaemon(self);
                               "~Please, help yourself. I would join you, but my
                               spiritual coach, Guru Upneet Bhadur Singh Rai, told
                               me that alcohol blocks eight of your chakras and...~
                               Ten minutes and three migraines later, Cissy finishes
                               with ~...and that's why I can't join you.~";
                               }
                               if (noun == pills) {
                                       StopDaemon(self);
                                       "~I couldn't possibly. I'm on an organic
                                       regiment: can't have any of those toxins.~";
                               }
                               else
                               "Although Cissy has many flaws, being poor is not one
                               of them. She doesn't want anything you have.";
                       Order:
                               "Save your bossing for the help.";

                       Ask,Tell:
                               StopDaemon(self);
                               switch (second) {
                                               'fuchsia', 'pant', 'suit', 'pantsuit', 'clothes':
                                               "~That's quite the outfit, Cissy,~ you say, barely able to
                                               keep down your bile.
                                               ^^~Why, thank you, Julia. My husband picked it up in Milan.
                                               It really catches the eye, doesn't it?~
                                               ^^Catches and won't let go.";
                                               'cell', 'cellular', 'mobile',
                                               'phone', 'telephone', 'calling',
                                               'phoning':
                                               "~Do you happen to have a phone on
                                               you, Cissy?~
                                               ^^~Oh, I would never use a cell. They
                                               cause brain cancer, you know.~";
                                               'pill', 'pills', 'percodan', 'drug',
                                               'drugs', 'tablets', 'caplets':
                                               "~What do you make of Percodan?~
                                               ^^~I can't touch it. I'm on an
                                               organic regiment; can't have any of
                                               those toxins.~";
                                               'danish', 'danishes', 'pastry',
                                               'pastries':
                                               "~How were those Danishes?~
                                               ^^~Oh they were delicious,~ she says,
                                               licking her lips.";
                                               'Pine', 'meadows', 'club':
                                               "~What do you think of Pine Meadows?~
                                               ^^~Oh, it's a lovely place to spend
                                               my time when I'm not in Tuscany. Oh,
                                               that reminds me,~ she says, pulling
                                               out another stack of photos.";
                                               'Tyler', 'Aidan', 'Madison', 'child',
                                               'kid', 'kids', 'children':
                                               "You make a passing comment about her
                                               kids.
                                               ^^~Children are an absolute treasure,
                                               aren't they?~ she says, looking at
                                               her photos fondly. ~Really Julia, you
                                               simply must have one one of these
                                               days.~
                                               ^^Any thought you ever had of having
                                               a child went up in smoke after seeing
                                               her 'charming' brood.";
                                               'photo', 'photos', 'photograph',
                                               'photographs', 'film', 'camera', 'picture', 'pictures':
                                               "You subtilely feel Cissy out about
                                               the photo, but she doesn't get it.
                                               ^^~They're spectacular, aren't they?
                                               I took them all myself,~ she says,
                                               admiring a blurry photo of what looks
                                               to be an ape, or her husband.";
                                               'Cissy', 'Cecilia', 'Winnecott', 'name':
                                               "~How's Cissy, today?~
                                               ^^~Who?~ she says, noticeably
                                               confused. ~Oh right, me, I'm fine.~";
                                               'Tuscany', 'villa', 'vacation':
                                               "~You're really quite fond of
                                               Tuscany, aren't you?
                                               ^^~Well, one simply must get away
                                               sometimes. While some might like good
                                               old American living, personally, I
                                               prefer a little Old World charm.~
                                               ^^Cissy's socially awkward enough in
                                               the States, you can't imagine how
                                               she'd fare somewhere she hadn't lived
                                               all her life.";
                                               'keith', 'lover', 'affair',
                                               'adultery', 'rumor', 'rumour',
                                               'rumors', 'rumours', 'gossip':
                                               "~I suppose you've heard about Keith
                                               and I.~
                                               ^^~Oh, that. Well, I wasn't going to
                                               bring it up; it's vulgar, really.
                                               Besides, I don't believe a word of
                                               it.~";
                                               'Cynthia', 'Fordham':
                                               "~So what do you think of Cynthia?~
                                               ^^~She's a dreadful gossip, that
                                               woman.~ Cissy leans in a bit closer,
                                               ~Who, by the way, is going back for
                                               another collagen treatment in a
                                               week.~";
                                               'Melissa', 'Stratham', 'mel':
                                               "~What do you think of Melissa?~
                                               ^^~A charming woman. If only that
                                               shrew Beverly hadn't gotten her
                                               talons in to her. She might have been
                                               the next you, Miss Philanthropist of
                                               the Year.~
                                               ^^Oh right, that. By the way these
                                               people talk, you might think fifty
                                               thousand dollars was a lot of
                                               money.";
                                               'waiters', 'waiter', 'server',
                                               'service':
                                               "~That waiter is something else,
                                               isn't he?~
                                               ^^~Isn't he simply adorable? I wish
                                               all men would wear tuxedoes.~";
                                               'food', 'foods', 'dish', 'dishes',
                                               'meal', 'meals', 'pasta':
                                               "~What food would you recommend
                                               here?~
                                               ^^~You simply must try the pasta
                                               primavera. That's Italian for spring,
                                               you know.~
                                               ^^Right, because you have to have a
                                               decrepit villa in Tuscany before you
                                               can be expected to know that.";
                                               'julia', 'me', 'myself':
                                               "~How do you feel about me?~
                                               ^^~Oh you're a wonderful woman, these
                                               people could stand to learn a thing
                                               or two from you.~";
                                               'Frank', 'husband', 'Hawthorne':
                                               "~What do you think of Frank?~
                                               ^^~Oh, you've got yourself a keeper
                                               there. He really does worship the
                                               ground you walk on.~
                                               ^^You must admit: that's nice. It
                                               makes him all the easier to walk all
                                               over.";
                                               'wine', 'Cabernet', 'Sauvignon',
                                               'drink', 'drinks':
                                               "~Would you like some wine?~
                                               ^^~I would join you, but my spiritual
                                               coach, Guru Upneet Bhadur Singh Rai,
                                               told me that alcohol blocks eight of
                                               your chakras and...~ Ten minutes and
                                               three migraines later, Cissy finishes
                                               with ~...and that's why I can't join
                                               you.~";
                                               'banquet', 'dinner', 'tonight',
                                               'supper', 'charity', 'noblesse',
                                               'oblige', 'speech', 'announcement':
                                               program.speech_known = true;
                                               "You mention the banquet to Cissy.
                                               ^^~Oh yes, you have that speech as
                                               Philanthropist of the Year, don't
                                               you? Really, Julia, you are such an
                                               inspiration. You could really teach
                                               these nouveaus,~ she glances around
                                               the dining area disdainfully, ~a
                                               thing or two about noblesse oblig@'e.~
                                               ^^Where does she get off with that
                                               tone? Her family made its money from
                                               inventing the egg carton.";
                                               'eggs', 'egg', 'cartons', 'carton',
                                               'container':
                                               "~Didn't your family make its money
                                               in egg cartons?~
                                               ^^~Well you know my
                                               great-grandfather, Sir Arthur
                                               Chesterbald Winnecott, invented them,
                                               right? Oh he was a brilliant man.~
                                               ^^Cissy proceeds to relate to you how
                                               the modern egg-carton evolved through
                                               a series of steps. First in boxes,
                                               then in little cardboard cups, and
                                               finally the styrofoam ones we've
                                               grown to know and love. Somehow,
                                               through the magic that is Cissy, she
                                               manages to make it more boring than
                                               you thought possible.";
                                               'Sir', 'Arthur', 'Chesterbald',
                                               'great-grandfather', 'great',
                                               'grandfather':
                                               "~Tell me a little about your
                                               great-grandfather.~
                                               ^^~Oh, he was a great man.~";
                                               'nouveau', 'new', 'money', 'riche',
                                               'nouveaus':
                                               "~How do you feel about all these
                                               nouveaus in here?~
                                               ^^~They're absolutely dreadful,
                                               aren't they? They really know nothing
                                               of the responsibilities that come
                                               with money.~ Cissy shakes her head
                                               dramatically.";
                                               'assistant', 'charles', 'burton',
                                               'registrar', 'scott':
                                               "~How do you feel about Charles?~
                                               ^^~What a dedicated man, that
                                               Charles. He's been putting so many
                                               hours in with that new assistant of
                                               his.~";
                                               'Beverly', 'winters', 'shrew', 'bev':
                                               "~What do you think of Beverly?~
                                               ^^She shudders. ~Ugh, don't mention
                                               that horrible woman to me.~
                                               ^^Cissy recently found out all the
                                               bad things Beverly says behind her
                                               back. Fortunately, she thinks Beverly
                                               is the only one who says them.";
                                               }
                                               "Cissy has the memory span of a
                                               goldfish. Unless it was related
                                               directly to what she's talking about,
                                               she would forget her own name.";

                       ],
has             proper animate female transparent;

Object  photos "Cissy's photos" cissy
with    name 'photo' 'photos' 'stack' 'picture' 'pictures' 'photograph' 'photographs'
'cissy^s' 'cecilia^s',
               description
                       "Why does anyone think people want to see their pictures?
                       Well, since you're looking, I guess that's a stupid
                       question.",
               before [;
                       Take:
                               "You can see them as much as you like from here,
                               which isn't much at all.";
               ],
has             concealed proper;

Object  food "food"
with    name 'food' 'meal' 'lunch' 'plates' 'plate' 'cutlery' 'meals',
               article "some",
               description [;
                       if (kitchen hasnt visited)
                       "Ranging from veal chops to steamed vegetables, the food here
                       is possibly Pine Meadows only redeeming quality these days.";
                       else
                       "After seeing the kitchen, this food makes you feel like a
                       child who's been backstage at a magic show. But instead of
                       your sense of wonder being erased it's your appetite.";
               ],
               before [;
                       Eat:

                               "Other people's half-eaten food isn't exactly your
                               idea of fine dining.";

               ],
               found_in dining_kitchen dining_golf waiter,
has             scenery;

Object  dummy_peanut "peanuts" waiter
with    pname '.x' 'peanut' '.x' 'peanuts',
               before [;
                       default:
                               "There are no peanuts here.";
               ],
has             scenery;

!---------------------------------------------------------------------------
!OUTSIDE DINING II
!---------------------------------------------------------------------------

Room    dining_golf "Outside dining (next to the Pro Shop)"
with    description [;
               if (kitchen hasnt visited)
                       "This is what it's all about: stale food and staler gossip.
                       However, despite all that, the outside dining offered by Pine
                       Meadows is really the only thing that interests you at the
                       club. The tables are full; the place is busy. The members
                       don't seem to be eating all that much though, no doubt saving
                       their appetites for the banquet tonight. To the west is the
                       server's entrance to the kitchen where all manner of food is
                       prepared. The dining area extends to the east, and to the
                       south and southeast are the garden path and tennis court
                       respectively.";
               else
                       "This is what it's all about: stale food and staler gossip.
                       The tables are full; the place is busy. The members
                       don't seem to be eating all that much though, no doubt saving
                       their appetites for the banquet tonight. To the west is the
                       server's entrance to the kitchen where all manner of food is
                       prepared. The dining area extends to the east, and to the
                       south and southeast are the garden path and tennis court
                       respectively.";
               ],
               before [;
                       Listen:
                               if (noun == players && cynthia in self)
                                       "The bridge players gossip, but with
                                       Cynthia's eyes boring in to you, you find it
                                       hard to concentrate on what they're saying.";
                               if (noun == players && cynthia notin self)
                                       "You listen, but the gossip isn't anything
                                       you haven't heard before.";
                               else
                                       "Chatting, plates clunking, the occasional
                                       scream at a waiter: all standard at Pine
                                       Meadows.";
               ],
               w_to dining_kitchen,
               s_to court,
               sw_to garden_path,
               ne_to pro_shop,
               cant_go [;
                       if (cynthia in self)
                               "~Really, Julia. I think all that time on your back
                               has interfered with your sense of direction,~ Cynthia
                               says as you bump in to a low wall.";
                       else
                               "You can go only northeast, west, southwest, or
                               south.";
               ],
has             ;

Object  players "bridge players" dining_golf
with    name 'player' 'players' 'women' 'bridge' 'group' 'card' 'cards' 'game'
'whisk',
               initial [;
                       if (self.first_time == false) {
                               self.first_time = true;
                               "A group of women sit here playing bridge and
                               chatting.
                               ^^~Beep beep~ My God! Digital watches at Pine
                               Meadows? Cartier must be rolling over in his grave.";
                       }
                       else
                               "A group of women sit here playing bridge and
                               chatting.";
               ],
               description
                       "A group of women sit around a table, playing bridge and
                       chatting.",
               first_time false,
               each_turn [;
                       StartDaemon(self);
               ],
               bridge_chatting 0,

               life [;
                       Order:
                               "~Really, Julia,~ one of the bolder women says,
                               ~we're a little busy right now.~";
                       Ask,Tell:
                               switch (second) {
                                       'joining', 'join', 'play', 'playing':
                                               "~Sorry, Julia, but we already have a
                                               full group,~ one of them says,
                                               looking at you snidely from behind
                                               her cards.";
                                       'bridge', 'game', 'card', 'cards':
                                               "~Well, we must have some way of
                                               occupying ourselves while our
                                               husbands are away. After all, not
                                               everyone likes sleeping with the
                                               help,~ one of them says.";
                               }
                               "~Really, Julia,~ one of them says, ~we're a little
                               busy right now.~";
               ],
               daemon [;
                       self.bridge_chatting = self.bridge_chatting + 1;
                       switch (self.bridge_chatting) {
                               1:
                                       "^~So I was up at the golf course and do you
                                       want to know what I heard Roger say?~ one of
                                       the bridge players says dramatically.
                                       ^^~No,~ another replies, ~but I'm sure you'll
                                       tell us anyway.~";
                               2:
                                       "^~He said 'No grandson of mine is going to
                                       be a doper.' And then he disowned him,~ the
                                       first one says, waiting for a gasp. When she
                                       sees none is forthcoming, she continues, ~I
                                       mean, it was just a little pot, nothing to
                                       freak out over.~
                                       ^^The second rolls her eyes incredulously.
                                       ~Really, now. Why don't you just stop shaving
                                       your legs and move to British Columbia
                                       already?~";
                               3:
                                       "^~She was in the basement?~ one asks,
                                       horrified.
                                       ^^~I guess that's what passes for courting
                                       among the help,~ says another.";
                               4:
                                       "^~Still, you'd think she'd be a little more
                                       discrete. I mean Frank's only been gone for a
                                       day.~
                                       ^^~Personally, I think she wanted to get
                                       caught. She always has enjoyed the
                                       limelight.~";
                               5:
                                       "^~Oh well. Did you see what Cissy was
                                       wearing?~
                                       ^^~How could you miss it?~";
                               default:
                                       StopDaemon(self);
                       }
               ],
               react_before [w;
                       Go:
                               StopDaemon(self);
                               return false;
                       Play:
                               wn = consult_from;
                               w = NextWord();
                                       switch (w) {
                                       'bridge', 'card', 'cards', 'whisk', 'game':
                                       "^You don't have the time. Besides, you're
                                       not eighty.";
                               }
                               return false;
               ],

has             pluralname animate;

NPC     cynthia "Cynthia" dining_golf
with    name 'Cynthia' 'Fordham' 'woman',
               initial [;
                       if (cynthia_food.food_contaminated == true)
                       return true;
                       else {
                       if (dining_golf hasnt visited)
                       "Cynthia Fordham, a woman whose wrath makes even you cringe,
                       sits in a high back chair.";
                       else
                       print (string) random("Cynthia waits impatiently for her
                       meal.^", "Cynthia waits impatiently for her meal.^", "Cynthia
                       waits impatiently for her meal.^", "Cynthia glares at the
                       nouveaus surrounding her.^", "Glancing towards you, Cynthia
                       gives a full-toothed smile.^");
                       }
               ],
               description
                       "A shrewd vindictive woman, Cynthia is probably not the best
                       person for you to have maliciously outbid on every major item
                       at last year's largest charity auction. You couldn't resist
                       though, she had been wearing plaid.",
               seen_bleach false,
               golf_attempted false,
               order_heard false,
               peanut_seen false,
               hair_seen false,
               each_turn [;

                       if (cynthia_food.food_contaminated == true && player in
                       dining_golf) {
                               remove cynthia_food;
                               remove cynthia;
                               "^You arrive just as Cynthia sits down to eat her
                               Coquille Saint-Jacques. Your glee can barely be
                               contained as she raises a slimy piece of shellfish to
                               her lips and delicately nibbles at it.
                               ^^A few minutes pass while Cynthia eats her meal and
                               when she is done, she finishes it off with a delicate
                               licking of her lips. That's when she notices what you
                               have been seeing the whole time. Her lips, reacting
                               furiously to the peanut sauce, have begun to swell,
                               ballooning up to twice their regular size with no
                               sign of stopping.
                               ^^~Myb bwips, bwat's bappebing?~ she blubbers. Oh
                               well, at least she won't need that collagen anymore.
                               ^^Soon the paramedics arrive to take her away from
                               the crowd of gawking club members and elated waiters,
                               leaving you to resume your business.";
                       }
                       if (bleach in player && self.seen_bleach == false && self.
                       order_heard == true) {
                               self.seen_bleach = true;
                               "^~Well, well, Julia. So what? Now you're not just
                               sleeping with the help, you're doing their work as
                               well?~ Cynthia says in a fairly loud whisper as she
                               glances down at the bottle of bleach in your hands.";
                       }
                       if (self.order_heard == false) {
                               self.order_heard = true;
                               move get_past_cynthia to all_hints;
                               move cynthia_food to kitchen;
                               "^~I told you, I ordered Coquille Saint Jacques
                               half-an-hour ago. What are you, deaf?~ Cynthia
                               screams at a cowering waiter who then flees to the
                               safety of the kitchen.
                               ^^Just then, she glances over to you. ~Oh, there you
                               are, Julia,~ she says, her voice dripping with
                               saccharine venom. ~I hear you have a way with the
                               help.~ --she winks, a little too obviously-- ~Perhaps
                               you could work your charm on that waiter for me.~";
                       }
                       if (peanut in player && self.peanut_seen == false) {
                               self.peanut_seen = true;
                               "^Cynthia eyes the peanut sauce warily.";
                       }
                       if (loose_hairs in player && self.hair_seen == false) {
                               self.hair_seen = true;
                               "^Cynthia smirks at the strands of hair in your hand.
                               ~Really, Julia. If you're going to be shedding could
                               you at least do it away from where people are eating.
                               I mean if your hair were to get in to the food,
                               someone would have to go into the kitchen and
                               complain.~";
                       }
                       else
                               return false;
               ],
               react_before [;
                               Go:
                                       if (noun == ne_obj && self.golf_attempted ==
                                       false) {
                                       self.golf_attempted = true;
                                       "^~Oh, off to see Keith, are we?~ Cynthia
                                       says, eyes burrowing in to you.
                                       ^^Normally, you wouldn't be cowed by
                                       Cynthia's acid tongue but with that film
                                       floating around, you don't want to chance
                                       it.";
                                       }
                                       if (noun == ne_obj && self.golf_attempted ==
                                       true)
                                       "^Cynthia looks up at you eagerly as you walk
                                       towards the golf course. Better not give her
                                       any ammo against you.";
                                       if (noun == w_obj or s_obj or sw_obj) {
                                       print "^~Aww, leaving so soon? Well we must
                                       do this again sometime,~ Cynthia calls out
                                       after you.^";
                                       return false;
                                       }
                                       else
                                       return false;
                               Take:
                                       if (noun == salad && noun hasnt moved) {
                                               move noun to player;
                                               "~Come now, Julia,~ Cynthia clucks.
                                               ~I heard Frank cut up your platinum
                                               card, but must you really resort to
                                               taking leftovers?~
                                               ^^You ignore her and take it.";

                                       }
                                       else
                                               return false;
               ],
               before [;
                       Receive:
                               if (noun == bleach)
                                       "You'd rather avoid the three to five in
                                       Riker's.";
                               if (noun == wine)
                                       "Cynthia eyes you and the wine warily. You
                                       might be able to pull it off on someone else,
                                       but Cynthia's too sharp for that.";
                               if (noun == peanut)
                                       "~Get that away from me!~ Cynthia shrieks at
                                       the sight of the peanut sauce.";
                       Smell:
                               if (access_hall has smelled)
                                       "Careful not to look like a bloodhound, you
                                       raise your nose and sniff delicately. Amidst
                                       the smells of wine and food, you detect the
                                       faint scent of Bellagio. Definitely not the
                                       scent from hall.";
                               else
                                       "Careful not to look like a bloodhound, you
                                       raise your nose and sniff delicately. Amidst
                                       the smells of wine and food, you detect the
                                       faint scent of Bellagio.";
                       Blackmail:
                               "She's not afraid.";
               ],
               life [;
                       ThrownAt:
                               if (noun == peanut)
                                       "~Get that away from me!~ Cynthia shrieks at
                                       the sight of the peanut sauce.";
                               else
                                       return false;
                       Order:
                               "~My, my, a little bossy, aren't we? No wonder Keith
                               likes you.~";
                       Kiss:
                               "Hey, I don't know what you heard, but that time in
                               Bryn Mawr was a one-time thing!";
                       Attack:
                               "Oooh, you'd love to, but that would get your kicked
                               out of Pine Meadows for sure, then you'd never get
                               that film.";
                       Show,Give:
                               if (noun == loose_hairs)
                                       "^Cynthia smirks at the strands of hair in
                                       your hand. ~Really, Julia. If you're going to
                                       be shedding, could you at least do it away
                                       from where people are eating? I mean if your
                                       hair were to get in to the food, someone
                                       would have to go into the kitchen and
                                       complain.~";
                               if (noun == bleach)
                                       "~Really, Julia. I do believe the help are
                                       rubbing off on you.~";
                               if (noun == pills)
                                       "~Oh, well that explains how you're able to
                                       let Frank touch you.~";
                               if (noun == peanut)
                                       "~Get that away from me!~ Cynthia shrieks at
                                       the sight of the peanut sauce.";
                               if (noun == camera) {
                                       if (melissa.lied_about_cynthia == false)
                                               "~An instant camera? That's a little
                                               tacky, even for you, Julia.~";
                                       else
                                               "~I don't know what you're talking
                                               about. I've never seen that camera
                                               before,~ Cynthia denies vehemently.";
                               }
                               else
                                       "Cynthia sneers.";

                       Ask,Tell:
                               switch (second) {
                                               'salad', 'cucumber', 'diet':
                                               "~Someone seems to have been unable to stick to their diet.~
                                               ^^~It appears so. Still, you have to admire the attempt what
                                               with surgery just being a phone call away.~";
                                               'collagen', 'lips', 'injections',
                                               'treatment':
                                               "~So, I hear you're going in for
                                               collagen injections.~
                                               ^^~Well, yes I am. Some of us use our
                                               lips for more than entertaining the
                                               help.~";
                                               'cell', 'cellular', 'mobile',
                                               'phone', 'telephone', 'calling',
                                               'phoning':
                                               "~Do you have a cell I could borrow?~
                                               you ask, trying to be as nice as
                                               possible.
                                               ^^~Even if I did have one, I wouldn't
                                               lend it to you: it has a vibrating
                                               ring.~";
                                               'coquille', 'saint', 'jacques':
                                                       "~So, you like slimy
                                                       molluscs?~
                                                       ^^~Well yes I do. You're not
                                                       the only one who likes things
                                                       spineless.~";
                                               'pill', 'pills', 'percodan', 'drug',
                                               'drugs', 'tablets', 'caplets':
                                                       "~What do you think of
                                                       Percodan?~
                                                       ^^~I haven't done it in
                                                       years. Oh, well that explains
                                                       how you're able to let Frank
                                                       touch you.~";
                                               'time', 'the', 'watch', 'clock':
                                                       "~Do you happen to know the
                                                       time?~
                                                       ^^~Why don't you just look at
                                                       your watch?~ Cynthia snaps.
                                                       ~After all, you make all of
                                                       us do it.~";
                                               'allergy', 'allergies', 'peanut',
                                               'peanuts':
                                                       "~So I hear you're allergic
                                                       to peanuts.~
                                                       ^^~Yes I am. If I even touch
                                                       a peanut my body bloats up to
                                                       the size of Cissy's.~";

                                               'keith', 'lover', 'affair',
                                               'adultery', 'rumor', 'rumour',
                                               'rumors', 'rumours', 'gossip':
                                                       "~So you must have heard and
                                                       Keith and I.~
                                                       ^^~Well, yes. I know a woman
                                                       must have her hobbies,~
                                                       Cynthia says coquettishly.
                                                       ~It's a shame yours will
                                                       destroy your marriage.~";

                                               'picture', 'photo', 'photograph',
                                               'film', 'camera':
                                               if (cynthia_locker.opened == false)
                                                       "~Have you heard anything
                                                       about a photo today?~
                                                       ^^~Oh yes, I heard someone
                                                       took a picture of you. What a
                                                       shame.~";
                                               else
                                                       "~I found a camera in your
                                                       locker!~ you yell. ~You must
                                                       have taken that photo!~
                                                       ^^~How dare you talk to me
                                                       like that! I don't care where
                                                       you said you found it, that's
                                                       not my camera,~ she says,
                                                       pausing for a moment.
                                                       ~Besides, if you can break in
                                                       to my locker, doesn't it
                                                       stand to reason that someone
                                                       else might have as well?~";
                                               'Cissy', 'Cecilia', 'Winnecott',
                                               'fuchsia':
                                                       "~What do you think of
                                                       Cissy?~
                                                       ^^~I'm just glad she's not
                                                       talking to me.~";
                                               'food', 'meal', 'meals', 'dish',
                                               'dishes':
                                                       "~How's the food today?~
                                                       ^^~It's dreadful, really,~
                                                       she says, glancing
                                                       disdainfully at someone's
                                                       meal.";
                                               'bridge', 'players', 'player':
                                                       "~What's with those women
                                                       playing bridge?~
                                                       ^^~They come here to gossip.
                                                       They're fun to listen to but
                                                       not much else.~";
                                               'Pine', 'Meadows', 'club':
                                                       "~What do you think of Pine
                                                       Meadows?~
                                                       ^^~It's a shame what's
                                                       happened to the place,~ she
                                                       says, almost wistfully.
                                                       ~Nouveaus.~ She rolls her
                                                       eyes in the direction of the
                                                       diners.";
                                               'nouveau', 'riche', 'new', 'money',
                                               'nouveaus', 'diners':
                                                       "~What do you think of these
                                                       nouveaus?~
                                                       ^^~They're dreadful. Those
                                                       computer ones are the worst.
                                                       All that money without a
                                                       stitch of class.~ Cynthia
                                                       glances at a particularly
                                                       poorly-dressed young man.";
                                               'Cynthia', 'Fordham', 'self':
                                                       "~And how are you today,
                                                       Cynthia?~
                                                       ^^~I am fabulous,~ Cynthia
                                                       says, somehow managing to
                                                       look down her nose at you,
                                                       even though she is sitting
                                                       and you are standing.";
                                               'Julia', 'Hawthorne', 'me',
                                               'clothes', 'ensemble':
                                                       "~What do you think of my
                                                       wardrobe?~
                                                       ^^~Really, Julia, you're
                                                       looking a little dated to
                                                       me,~ she says, glancing down
                                                       at your clothes.";
                                               'charity', 'auction', 'outbid',
                                               'outbidding':
                                                       "~I just wanted to apologize
                                                       to you for last year's
                                                       charity auction,~ you say,
                                                       trying to ease a little of
                                                       the tension.
                                                       ^^~Don't give it another
                                                       thought, it's water under the
                                                       bridge.~
                                                       ^^Somehow, you don't buy
                                                       it.";
                                               'waiter', 'waiters', 'service',
                                               'server', 'servers', 'help':
                                                       "~How do you feel about the
                                                       service?~
                                                       ^^~Well, the help take
                                                       forever do to anything. Well,
                                                       I guess that's a plus for
                                                       you.~";
                                               'Melissa', 'Stratham', 'mel':
                                                       "~What do you think of
                                                       Melissa?~
                                                       ^^~A little bit of a
                                                       follower, that one, but I
                                                       prefer her over these ones
                                                       any day,~ Cynthia says,
                                                       glancing around
                                                       disdainfully.";
                                               'Charles', 'Charlie', 'Burton':
                                                       "~What do you think of
                                                       Charles?~
                                                       ^^~Really, Julia. The only
                                                       thing worse than being a bore
                                                       is talking about one.~";
                                               'Frank', 'husband':
                                                       "~What do you think of my
                                                       husband?~
                                                       ^^~Frankly,~ she pauses,
                                                       thinking herself the funniest
                                                       person in the world. ~I never
                                                       got what you saw in him. I
                                                       mean he's pale, he's flabby,
                                                       he's a bad dresser. He's not
                                                       even that rich.~
                                                       ^^How dare she. Sure the
                                                       first part is true, but not
                                                       rich? What is she suggesting,
                                                       you married out of love?";
                                               'Beverly', 'Bev', 'Winters':
                                                       "~How do you feel about
                                                       Beverly?~
                                                       ^^~She's a little
                                                       manipulative, even for my
                                                       tastes.~";
                                               'Banquet', 'dinner', 'tonight, ':
                                                       "~Are you ready for tonight's
                                                       banquet?~
                                                       ^^~Oh yes,~ Cynthia sighs,
                                                       ~ahh, the noblesse oblig@'e.
                                                       Really, being rich is such a
                                                       chore.~ She fans herself with
                                                       her hand weakly.";
                                               'health', 'notice':
                                                       "You mention the health
                                                       notice you found in the
                                                       cabinets.
                                                       ^^~How do you know about
                                                       that?~ she asks aggressively.
                                                       ^^~I have my ways.~";
                                               }
                                               "~Really, Julia, can't we talk about
                                               something a little more
                                               interesting?~.";

                       ],


has             animate female proper;

Object  salad "half-eaten salad" dining_golf
with    name 'salad' 'lettuce' 'bowl' 'half' 'eaten' 'half-eaten' 'halfeaten'
'vinegar' 'sour' 'vegetables' 'vegetable',
               initial
                       "Apparently someone lacked the willpower to stick to their
                       diet, as a bowl of half-eaten salad sits on the table,
                       forgotten.",
               description [;
                       if (cucumber in self && loose_hairs notin self)
                               "Little more than limp, wilted lettuce leaves and
                               sour vinegar, the salad looks like it was picked at
                               slightly, and then discarded. Nice way to spend
                               twelve bucks.
                               ^^Amongst the lettuce is a pair of cucumber slices.";
                       if (cucumber in self && loose_hairs in self)
                               "Little more than limp, wilted lettuce leaves and
                               sour vinegar, the salad looks like it was picked at
                               slightly, and then discarded. Nice way to spend
                               twelve bucks.
                               ^^Amongst the lettuce is a pair of cucumber slices
                               with a number of hairs wrapped around it.";
                       if (cucumber notin self && loose_hairs in self)
                               "Little more than limp, wilted lettuce leaves and
                               sour vinegar, the salad looks like it was picked at
                               slightly, and then discarded. Nice way to spend
                               twelve bucks.
                               ^^Strands of Ms. Williams's hair are laced around the
                               leaves.";
                       else
                               "Little more than wilted lettuce leaves and vinegar,
                               the salad looks like is was picked at slightly, and
                               then discarded. Nice way to spend twelve bucks.";
               ],
               after [;
                       Drop:
                               if (location == dining_kitchen)
                                       "You place the salad on the ground in one of
                                       the waiter's busiest routes.";
                               else
                                       return false;
               ],
               before [;
                       Eat:
                               "If you wanted to put something limp and wilted in
                               your mouth... Ok, that one's a little dirty even for
                               you.";
                       Receive:
                               if (noun == loose_hairs) {
                                       move loose_hairs to salad;
                                       "You lay the hairs on the salad and toss it
                                       around a little to make it look more
                                       natural.";

                               }
                               if (noun == cucumber) {
                                       move cucumber to salad;
                                       "You put the cucumber back in the salad.";
                               }
                               if (noun == pills)
                                       "Although a bunch of Percodan would certainly
                                       make the salad more appealing, it would look
                                       a little odd.";
                               else
                                       "Nothing you could add would make this salad
                                       more appealing.";
               ],
               invent [;
                       if (cucumber notin self && loose_hairs notin self) {
                               print "a half-eaten salad";
                               return true;
                       }
                       if (cucumber notin self && loose_hairs in self) {
                               print "a very, hairy salad";
                               return true;
                       }
                       if (cucumber in self && loose_hairs notin self) {
                               print "a cucumber salad";
                               return true;
                       }
                       if (cucumber in self && loose_hairs in self) {
                               print "a hairy salad with some cucumber";
                               return true;
                       }
                       else
                               return false;
               ],
has             transparent container open;

Object  cucumber "pair of cucumber slices" salad
with    article "a",
               name 'pair' 'slices' 'slice' 'cuke' 'cucumber' 'of',
               description [;
                       if (self in salad)
                               "The cucumber is holding up better than the lettuce,
                               but not by much.";
                       else
                               "Just two round slices of cucumber, about the size of
                               silver dollars.";
               ],
               before [;
                       Eat:
                               "Half-eaten food isn't quite your idea of fine
                               dining.";
                       Taste:
                               "They taste like cucumbers. That is, nothing.";
               ],
has             pluralname;

!---------------------------------------------------------------------------
!KITCHEN
!---------------------------------------------------------------------------

Room    kitchen "Kitchen"
with    name 'kitchen',
               each_turn [;
                       if (self has visited) {
                               Achieved(7);
                               move in_kitchen to all_hints;
                       }
                       else
                               return true;
               ],
               description
                       "For all the years you've been a member of Pine Meadows,
                       you've never had a reason to visit the kitchen before today.
                       And you are thankful for that. If you had been here years ago
                       you certainly wouldn't have been so quick to eat the food.
                       Gray slabs of meat lie along the counters and hang from
                       cupboards; enormous pots, some empty, some full, sit on
                       stoves. All this under a barrage of pedestrian smells that
                       assault your nose. A set of large, locked doors lead west to
                       the banquet hall and a smaller opening on the opposite wall
                       leads back out to the dining area.",
               before [;
                       Smell:
                               if (noun == nothing)
                               "It reminds you of that trip through little Italy but
                               without the pleasant distraction of body odor and
                               cheap cologne.";
                               else
                               return false;
               ],
               out_to dining_kitchen,
               e_to dining_kitchen,
               w_to "The doors are locked until tonight's banquet.",
;

Object  kitchen_door "door" kitchen
with    name 'door' 'doors' 'entrance' 'banquet' 'hall',
               article "the",
               description
                       "Before today, you've only seen these doors from the other
                       side. From the banquet hall they are stately and made of oak,
                       but apparently it's only panelling. From here you see that
                       they are just the standard metal fare.",
               before [;
                       Open,Unlock:
                               "The doors are locked until tonight's banquet.";
               ],

has             openable lockable locked scenery;

Object  unprepared_food "unprepared food" kitchen
with    name 'food' 'meat' 'gray' 'unprepared' 'counter' 'counters' 'slabs',
               article "the",
               description
                       "Looking at this food makes you feel like a child backstage
                       at a magic show. But instead of your sense of wonder being
                       erased it's your appetite.",
               before [;
                       Smell:
                               "It reminds you of that trip through little Italy but
                               without the pleasant distraction of body odor and
                               cheap cologne.";
                       Eat:
                               "You prefer your salmonella cooked.";
                       Take,Touch:
                               "If you're going to touch cold, lumpy meat you might
                               as well touch Frank.";
                       Receive:
                               if (noun == peanut or bleach)
                                       "You don't want to contaminate the unprepared
                                       food.";
                               else
                                       "That would do little good.";
               ],
has             scenery;

Object  meals "prepared meals" kitchen
with    name 'meal' 'dish' 'meals' 'dishes' 'prepared' 'food',
               article "the",
               description
                       "Unbelievable. Just a short while ago, these were the nasty
                       slabs of meat and bubbling liquids that turned your stomach.
                       Now they look almost edible.",
               before [;
                       Smell:
                               "Smells almost appetizing.";
                       Take,Touch:
                               "Those belong to other people.";
                       Receive:
                               if (noun == peanut or bleach)
                                       "You don't want to contaminate that prepared
                                       food.";
                               else
                                       "That would do little good.";
               ],

has             scenery;

Object  cynthia_food "Coquille Saint Jacques"
with    name 'Coquille' 'Saint' 'St' 'Jacques' 'Cynthia^s' 'food' 'plate' 'steaming'
'of' 'slimy' 'molluscs',
               article "the",
               initial
                       "Amongst the many exotic dishes, you see a steaming plate of
                       Coquille Saint Jacques.",
               description
                       "Leave it to Cynthia to order something so pretentious.",
               food_contaminated false,
               before [;
                       Smell: "For slimy molluscs, they don't smell half-bad.";
                       Eat: "No, you want to ensure this gets to Cynthia.";
                       Take:
                               "Cynthia might be suspicious if you were to serve her
                               the food yourself.";
                       Receive:
                               if (noun == peanut) {
                                       self.food_contaminated = true;
                                       Achieved(8);
                                       remove peanut;
                                       "With the cooks distracted, you sneak the
                                       peanut sauce in to Cynthia's food and discard
                                       the bottle.";
                               }
                               if (noun == bleach)
                                       "You don't want to poison her. Well, you do,
                                       but it'd probably be more trouble than it's
                                       worth.";
                               if (noun == loose_hairs)
                                       "Besides from causing a little annoyance, a
                                       few loose hairs in Cynthia's wouldn't do
                                       much.";
                               if (noun == pills)
                                       "Percodan would take far too long to affect
                                       her.";
                               else
                                       "That might be fun, but it won't get the job
                                       done.";
               ],
has             ;

Object  cupboards "cupboards" kitchen
with    name 'cupboard' 'cupboards' 'dresser' 'dressers' 'cabinet' 'cabinets',
               description
                       "Without even the pretension of being anything but
                       utilitarian, the steel cupboards exist only to hide the baser
                       ingredients of the kitchen.",
               after [;
                       Open: "The cooks look at you suspiciously but say nothing.
                       You're well known among the kitchen staff for your temper.
                       The cupboards are packed with a bewildering array of
                       foodstuffs.";
               ],
               allergy_known false,
               before [;
                       Search: if (cupboards has open) {
                               if (self.allergy_known == false)
                                       "You're as out of place in the kitchen as
                                       Frank is in a Speedo. Without a clue as to
                                       what to look for, you give up.";
                               else {
                                       if (peanut hasnt moved) {
                                       move peanut to player;
                                       "Here we go, Thai peanut sauce. You slip it
                                       in to your pocket while the cooks aren't
                                       looking.";
                                       }
                                       else
                                       "You find nothing else of interest.";
                               }
                               }
                               else
                                       "But the cupboards are closed.";
               ],
has             scenery openable pluralname transparent;

Object  foodstuffs "foodstuffs" cupboards
with    name 'foodstuff' 'foodstuffs' 'spices' 'sauces' 'soups',
               description
                       "Spices, sauces, soups: the variety is astounding.",
               before [;
                       Examine,Search:
                               if (cupboards.allergy_known == false)
                                       "You're as out of place in the kitchen as
                                       Frank is in a Speedo. Without a clue as to
                                       what to look for, you give up.";
                               else {
                                       if (peanut hasnt moved) {
                                       move peanut to player;
                                       "Here we go, Thai peanut sauce. You slip it
                                       in to your pocket while the cooks aren't
                                       looking.";
                                       }
                                       else
                                       "You find nothing else of interest.";
                               }
                       Take:
                               "Let the chef do the cooking, you stick to
                               complaining.";
               ],
has             scenery pluralname;


Object  peanut "peanut sauce"
with    name 'peanut' 'sauce' 'thai' 'peanuts',
               article "some",
               description
                       "~Thai Peanut Sauce~ With the consistency and colour of baby
                       food, after going through the baby, it's a wonder anyone puts
                       this on their meals.",
               before [;
                       Eat:
                               "Nah, it probably tastes worse than it looks, which
                               is saying a lot.";
                       Open:
                               "It might get all over your clothes if you open it.";
                       Empty:
                               "You don't want to spill it just anywhere.";
                       EmptyT:
                               if (second == unprepared_food or meals or
                               cynthia_food or pots && pots.cooks_cleaning == false)
                                       "~Please, Mrs. Hawthorne,~ says one of the
                                       cooks, ~leave the food to us.~";
                               if (second == cynthia_food && pots.cooks_cleaning ==
                               true) {
                                       cynthia_food.food_contaminated = true;
                                       Achieved(8);
                                       remove peanut;
                                       "With the cooks distracted, you sneak the
                                       peanut sauce in to Cynthia's food and discard
                                       the bottle.";
                               }
                               else
                                       "You don't want to spill it on that.";
               ],
has             ;

Object  cooks "cooks" kitchen
with    name 'cook' 'cooks' 'chef' 'chefs' 'men' 'women',
               article "the",
               initial [;
                       if (pots.cooks_cleaning == true)
                       return true;
                       else
                       print (string) random("Desperate to keep up with constant
                       orders floating in from impatient diners, the cooks scramble
                       about, tossing you questioning glances now and then.^",
                       "Desperate to keep up with constant orders floating in from
                       impatient diners, the cooks scramble about, tossing you
                       questioning glances now and then.^", "Desperate to keep up
                       with constant orders floating in from impatient diners, the
                       cooks scramble about, tossing you questioning glances now and
                       then.^", "When he thinks you aren't looking, one of the cooks
                       spits in to a steaming plate of something.^");
               ],
               description
                       "Harried and hurried, the cooks rush about the kitchen.",
               react_before [;
                       Insert,PutOn:
                               if (second == unprepared_food or meals or
                               cynthia_food or pots && pots.cooks_cleaning == false)
                                       "~Please, Mrs. Hawthorne,~ says one of the
                                       cooks, ~leave the food to us.~";
                               else
                                       return false;
               ],
               life [;
                       Kiss:
                               "Better not draw attention to yourself.";
                       Ask,Tell,Order:
                               "The cooks are a little too busy to listen to you.";
                       Attack:
                               "You prefer to attack the help verbally.";
               ],
has             animate pluralname;

Object  pots "pots and pans" kitchen
with    name 'pot' 'pan' 'pots' 'pans' 'stove' 'stoves' 'mess' 'and',
               description [;
                       if (self.cooks_cleaning == false)
                               "Balanced on the stove, several pots stand
                               dangerously close to falling over.";
                       else
                               "The pots are scattered about the stove.";
               ],
               react_before [;
                       Go:
                               self.turns_cooks_cleaning = 0;
                               self.cooks_cleaning = false;
                               StopDaemon(self);
                               return false;
               ],
               before [;
                       Push,Pull:
                               if (self.cooks_cleaning == false) {
                               self.cooks_cleaning = true;
                               StartDaemon(self);
                               "Pretending to move with a complete lack of grace,
                               you clumsily lurch in to a large pot, sending it
                               crashing to the floor.";
                               }
                               else
                               "You've created enough of a scene for the moment.";
                       Take:
                               "The pots are rather heavy. You might be able to
                               knock them over but lifting them is out of the
                               question.";
                       Receive:
                               if (noun == peanut or bleach)
                                       "You don't want to contaminate whatever's in
                                       the pots.";
                               else
                                       "That would do little good.";

               ],
               cooks_cleaning false,
               turns_cooks_cleaning 0,
               daemon [;
                       self.turns_cooks_cleaning = self.turns_cooks_cleaning + 1;
                       switch (self.turns_cooks_cleaning) {
                               1: "^Momentarily, the cooks are shocked by the crash,
                               but after that wears off they proceed to clean up the
                               mess you made, casting dirty looks your way but
                               remaining silent nonetheless. Being feared certainly
                               has its advantages.";
                               2: "^Apparently you made quite a mess. The cooks are
                               still cleaning it up.";
                               3: "^The cooks are just about finished.";
                               default:
                               StopDaemon(self);
                               self.turns_cooks_cleaning = 0;
                               self.cooks_cleaning = false;
                               "^With overly exasperated sighs, the cooks finish
                               cleaning and get back to work.";
               }
               ],

has             scenery pluralname;

!---------------------------------------------------------------------------
!PRO SHOP
!---------------------------------------------------------------------------

Room    pro_shop "Pro Shop"
with    name 'pro' 'shop' 'proshop' 'store' 'door',
               description
                       "Since Pine Meadows instituted the policy of allowing day
                       memberships, the shop has been enjoying a lot more business.
                       Well, enjoying is probably the wrong word. The only people
                       who frequent the shop are amateur social climbers trying to
                       impress clients or lonely housewives eager to get a little
                       attention from Keith. Luckily, none of them seem to be
                       around, leaving you to see how cramped the shop actually is.
                       All manner of rackets, clubs, and balls crowd the walls; an
                       obtrusive counter divides the room arbitrarily, and to the
                       north a door leads to the driving range, too small to open up
                       the place at all.",
               after [;
                       Go:
                               if (noun == ne_obj)
                                       print "You walk down the paved path until you
                                       come to the Pro Shop.^";
                                       return false;
               ],
               sw_to dining_golf,
               n_to driving_range,
has             ;

Object  mechandise "merchandise" pro_shop
with    name 'racket' 'rackets' 'club' 'clubs' 'irons' 'iron' 'ball' 'tennis' 'balls'
'merchandise',
               article "the",
               description
                       "You can't believe you used to enjoy playing with these
                       things.",
               before [;
                       Take: "Nah, you gave up these games years ago.";
               ],
has             scenery;

Object  counter "counter" pro_shop
with    name 'counter' 'top' 'divider' 'table',
               description
                       "You can't count the times Keith has suggested doing it on
                       this thing. And you can't believe how appealing it sounds.",
               before [;
                       Enter: "Although Keith would love it, that's a little Sex and
                       the City for your taste.";
               ],
has             scenery supporter;

NPC             keith "Keith" pro_shop
with    name 'keith' 'lover' 'man' 'boyfriend',
               initial [;
                       if (self.keith_scared == true)
                       "Keith paces back and forth, absentmindedly fiddling with
                       things.";
                       else {
                       if (pro_shop hasnt visited)
                       "Keith smiles up at you as you enter.";
                       else
                       print (string) random("Keith stands here, smiling at you
                       polishing a golf club suggestively.^", "Keith counts his tips
                       and sighs.^", "Keith polishes the counter and winks at
                       you.^", "Keith rubs his chest and smiles at you.^");
                       }
               ],
               description
                       "Tall, well-muscled, and the most sexually virile man you've
                       ever known, Keith rubs his hand across his chest absently
                       when he catches you looking at him. You suppress a shudder
                       and involuntarily lick your lips.",
               keith_first_seen false,
               keith_scared false,
               seen_pills false,
               each_turn [;
                       if (self.keith_first_seen == false) {
                       self.keith_first_seen = true;
                       Achieved(9);
                       "^~Hey babe, good to see ya,~ Keith says, smiling. ~I was
                       beginning to think you might not make it.~";
                       }
                       if (self.seen_pills == false && pills in player) {
                               self.seen_pills = true;
                               "^~You better be careful with those around Mr.
                               Knowles,~ Keith says, glancing at the pills and
                               jerking his thumb towards the driving range. ~He's in
                               a huff ever since he found out about his grandson.~";
                       }

               ],
               react_before [;
                       Buy:
                               "~Come on, you know I'll give you anything you want,~
                               Keith says, trying to be gallant.
                               ^^Unfortunately, you want none of this merchandise.
                               Why couldn't you be sleeping with someone with money?
                               (And don't say Frank because you're not actually
                               sleeping with him)";
               ],
               before [;
                       Touch:
                               "You'd love to, but that's gotten you in to enough
                               trouble today.";
                       Blow:
                               "Nah. Even if you wouldn't get caught, pleasing
                               others is not your M.O.";
               ],
               life [;
                       Order:
                               "~Ooh, I love it when you take control,~ Keith says,
                               grinning, ~but I'm a little busy right now.~";
                       Show,Give:
                               if (noun == film) {
                                       if (melissa.blackmailed == true || keith.
                                       keith_scared == true)
                                       "~Oh good, you got it. I was afraid I might
                                       lose my job,~ he says, his shoulders
                                       loosening up.";
                                       else
                                               "~What's that, some film?~ he asks.";
                               }
                               else
                                       "Keith stares blankly at ", (the) noun, ". Oh
                                       well, it's not the size his brain that
                                       interests you.";
                       Kiss:
                               "You'd love to, but that's gotten you in to enough
                               trouble today.";
                       Attack:
                               "And risk hurting that beautiful face?";
                       Ask,Tell:
                               switch(second) {
                               'cell', 'cellular', 'mobile', 'phone', 'telephone',
                               'calling', 'phoning':
                               "~Keith, this is important, do you have a phone
                               here?~
                               ^^~Sorry, babe, we don't got one.~";
                               'tennis', 'golf', 'sports':
                                       "~For all the time you spend here, I don't
                                       think I've ever seen you play any of the
                                       sports offered at the club. Do you like them?
                                       ^^~They're ok, I guess, but I can think of a
                                       better way to get sweaty,~ he says, eyeing
                                       you and licking his lips.";

                               'pro', 'shop', 'proshop', 'store', 'business':
                                       "~How's business today?~
                                       ^^~It's pretty slow actually. Roger's been
                                       the only one to come through here in
                                       hours.~";
                               'racket', 'rackets', 'club', 'clubs', 'irons',
                               'iron', 'ball', 'balls', 'merchandise':
                                       "~What's with all these sports things?~
                                       ^^~Well they're not the funnest things to
                                       play with,~ he says, eyeing your blouse
                                       suggestively.";
                               'counter', 'top', 'divider', 'table':
                                       "~Have you changed your mind?~ he asks,
                                       running his hand across the counter.";
                               'amateur', 'social', 'climbers', 'lonely',
                               'housewives', 'regulars':
                                       "~So have the regulars been around today?~
                                       ^^~Haven't been many around, so the coast is
                                       clear if you want to...~ he says, licking his
                                       lips.";
                               'grandson', 'grand', 'son', 'pot', 'drugs',
                               'marijuana':
                                       "~What have you heard about Roger's
                                       grandson?~
                                       ^^~Oh, you must have heard? Roger disowned
                                       his grandson for smoking some pot.~";
                               'keith', 'himself', 'self':
                               if (keith.keith_scared == false)
                                       "~How are you, anyway?~
                                       ^^~I'm doing good now that you're here,
                                       babe,~ he says with a sappy grin on his
                                       face.";
                               else
                                       "~How are you feeling?~
                                       ^^~Well, I was doing good till you told me
                                       about that photo.~";
                               'Pine', 'meadows', 'club', 'working', 'work':
                                       "~So how do you like working here?~
                                       ^^~It'd be intolerable if you weren't here,
                                       babe,~ he says, looking at you fondly.";
                               'hall', 'access', 'spy', 'spying', 'basement',
                               'closet', 'melissa', 'mel', 'Stratham':
                               if (melissa.blackmailed == true)
                                       "~Melissa told me someone put her up to
                                       taking the photo. And I was thinking
                                       since...~
                                       ^^~You're not suggesting I put her up to it,
                                       are you?~ he interrupts, sounding a little
                                       hurt. ~You know I love you babe, but Frank
                                       would ruin me if he found out about us. I
                                       have as much to lose in this as you do.~";
                               if (melissa.melissa_known == false) {
                               Achieved(17);
                               melissa.melissa_known = true;
                                       "~Keith, this is important,~ you ask, leaning
                                       forward on the counter, ~when you left the
                                       basement after, you know, did you happen to
                                       see anyone around?~
                                       ^^~Sure, I saw Mrs. Stratham leaving down the
                                       hall, towards the garden,~ he says, clearly
                                       unaware of the implication.";
                               }
                               else
                               keith.keith_scared = true;
                                       "~Listen, Melissa was spying on us. She took
                                       a picture and if it gets to Frank, you'll be
                                       fired, and I'll be looking for a new
                                       husband.~ He casts you a hopeful glance.
                                       ^^Dream on, you think.";
                               'photo', 'picture', 'pic', 'camera', 'flash',
                               'click', 'film':
                               if (melissa.blackmailed == false) {
                                       keith.keith_scared = true;
                                       "~Listen, Keith, someone was in the access
                                       hall while we were in the closet and they
                                       took a photo.~
                                       ^^~You mean someone took a picture of us
                                       while we were fucking?~ You cringe at his
                                       vulgarity. ~Shit, what are we going to do?~
                                       ^^~Don't worry, I'll take care of it,~ you
                                       say, hoping it's not a lie.";
                               }
                               else
                                       "~Melissa told me someone put her up to
                                       taking the photo. And I was thinking
                                       since...~
                                       ^^~You're not suggesting I put her up to it,
                                       are you?~ he interrupts, sounding a little
                                       hurt. ~You know I love you babe, but Frank
                                       would ruin me if he found out about us. I
                                       have as much to lose in this as you do.~";
                               'Frank', 'husband', 'marriage':
                                       "~About Frank...~
                                       ^^~Why don't you leave him already? Then we
                                       could finally be together. Just don't tell
                                       him about us, he'd ruin me.~ With that, he
                                       leans forward dramatically. ~I could give you
                                       the moon.~
                                       ^^No, what he could give you would be more
                                       painfully trite lines like that.";
                               'Charles', 'burton':
                                       "~What do you think of Charles?~
                                       ^^~That guy freaks me out. Always brushing up
                                       against me and stuff.~";
                               'me', 'Julia', 'sex':
                                       "~You're one wild girl.~";
                               'Cynthia', 'Fordham':
                                       "~Do you know what Cynthia's been up to
                                       today?~
                                       ^^~She's been in the dining area all day, as
                                       far as I know.~";
                               'salary', 'pay', 'ten', 'thousand', 'ten thousand',
                               '10,000', '$10,000', 'tips', 'jar':
                                       "~You don't make that much, do you?~
                                       ^^~Yeah, I know, but as soon as my acting
                                       career takes off we'll be living large.~
                                       ^^Yeah, that's gonna happen. You saw him in
                                       Hamlet one time, and he brought a whole new
                                       meaning to the word tragedy. By the end, you
                                       wished you were in the play so that at least
                                       you could have been killed off and put out of
                                       your misery.";
                               'hamlet', 'shakespeare', 'play', 'theatre', 'acting',
                               'actor':
                                       "~That was some play you were in.~
                                       ^^~I was great, wasn't I?~ he says.
                                       ^^God, he's so desperate for approval.";
                               'roger', 'knowles', 'driving', 'range':
                                       "~Have you seen Roger today?~
                                       ^^~Yeah, Roger's up at the driving range
                                       right now.~";
                               'beverly', 'winters', 'cissy', 'cecilia', 'williams',
                               'winnecott', 'bev', 'ms':
                                       "~Sorry, babe. You know I don't move in the
                                       same circles as you.~";
                       }
                       "~Sorry, babe. I don't know nothing about that.~";
               ],
has             animate proper male worker;

!---------------------------------------------------------------------------
!DRIVING RANGE
!---------------------------------------------------------------------------

Room    driving_range "Driving range"
with    description
                       "With the banquet just a few hours away, most people aren't
                       willing to work up a sweat. As such, the driving range is all
                       but uninhabited. While most of the course is just grass, the
                       range has concrete walks, sparing you from the torture that
                       is walking on grass in heels. The Pro Shop lies to the
                       south.",
               s_to pro_shop,
               cant_go
                       "The rest of the golf course doesn't interest you. Besides,
                       soft dirt and grass are hell in heels.",
has             ;

Object  pro_shop_far "Pro Shop" driving_range
with    name 'pro' 'shop' 'store',
               article "the",
               description
                       "From this far away, the Pro Shop looks as cramped as it felt
                       inside.",
               before [;
                       Go,Enter:
                       PlayerTo(pro_shop);
               ],
has             scenery;

Object  concrete "walk" driving_range
with    name 'concrete' 'walk' 'walkway' 'pavement' 'cement',
               article "the",
               description
                       "Ahh, the miracle of concrete. Where would we be without
                       it?",
has             scenery;

Object  grass "grass" driving_range
with    article "some",
               name 'grass' 'weeds' 'dirt',
               description
                       "Ugh, nature.",
has             scenery;

Object  range "driving range" driving_range
with    article "the",
               name 'driving' 'range' 'net' 'green' 'links',
               description
                       "Stretching a long ways off and ending in a large net, the
                       driving range is for those members who are either too old or
                       too lazy to actually play the holes.",
has             scenery;

Object  playing_equipment "club and some balls" driving_range
with    name 'club' 'ball' 'balls' 'bucket' 'Roger^s' 'iron' 'and' 'some',
               description
                       "Roger's playing equipment; it's almost as old as the man
                       himself.",
               before [;
                       Take:
                               "Roger probably wouldn't like that.";
               ],
has             scenery;

NPC             roger "Roger" driving_range
with    name 'Roger' 'Knowles' 'man' 'golfer' 'mr',
               initial
                       "Roger Knowles, a man who puts the 'old' in old money, stands
                       here, occasionally hitting a ball off in to the green.",
               description
                       "While Pine Meadows's members have never been known for their
                       progressive politics, Roger Knowles is considered a little
                       old-fashioned even here. You'd be wise to watch your step
                       around him; he's never liked you and, being a primary
                       shareholder of the club, is likely to expel you should you
                       disturb him too much.",
               julia_seen false,
               kiss_tried false,
               opinion_known false,

               each_turn [;
                       print (string) random("^Roger sights up and smacks a ball
                       clear across the green.^","^Thwack! A particularly bad slice.
                       ~Damn it!~^","","","","");
                       if (self.julia_seen == false) {
                               self.julia_seen = true;
                               print "^~Oh, Julia, it's you,~ Roger says, looking
                               up. As he returns his concentration to the game, he
                               continues, ~What do you want?~^";
                       }
               ],
               before [;
                       Blackmail:
                               "Best not, you might anger him.";
               ],
               life [;
                       Order:
                               "Better not. He's probably the only man you can't
                               bend to your will.";
                       Show:
                               if (noun == pills)
                                       "Better not, he might think they're yours.";
                               else
                                       return false;
                       Attack:
                               "Beating up an old man is despicable even for you.";
                       Kiss:

                                       (deadflag = 3);
                                       "Roger intercepts your advance with a
                                       wrinkled hand. ~Don't try your charms on me.
                                       Consider your membership revoked.~
                                       ^^Getting kicked out isn't so bad, it's the
                                       fact that everyone knows why that is. After
                                       all, kissing an eighty-four year-old is
                                       hardly considered genteel, unless of course
                                       you're in the will.";
                       Ask,Tell:
                               switch(second) {
                                       'cell', 'cellular', 'mobile', 'phone',
                                       'telephone', 'calling', 'phoning':
                                       "~Do you happen to have a phone I could
                                       borrow?~
                                       ^^~No. Phones only serve to interrupt you
                                       when you're doing something fun. Just like
                                       nosy socialites.~";
                                       'golf', 'golfing', 'driving', 'range',
                                       'links', 'green', 'game':
                                       "~You really love golf, don't you?~
                                       ^^~Yes, it's a very soothing sport. Or at
                                       least it usually is,~ he says, glaring at
                                       you.";
                                       'pill', 'pills', 'bottle', 'prescription',
                                       'percodan', 'drug', 'drugs', 'grandson',
                                       'grand', 'son', 'doper', 'dopers', 'junkies',
                                       'junkie', 'junky':
                                       Achieved(11);
                                       self.opinion_known = true;
                                       "You carefully feel Roger out about drugs.
                                       ^^~Damn junkies,~ he spits, ~they're ruining
                                       this country and this club. I will not have
                                       those people at Pine Meadows.~";

                                       'Pine', 'meadows', 'club':
                                       "~You've been here longer than anyone, how do
                                       you like it?
                                       ^^~This place really has gone down hill,
                                       along with the rest of America. Back in my
                                       day, a man was able to play a game of golf
                                       without getting disturbed.~";

                                       'primary', 'shareholder', 'discretion',
                                       'membership', 'decisions':
                                       "~What's it like having all that power?~
                                       ^^~Well, one of the great things about being
                                       the primary shareholder is that I can revoke
                                       the membership of anyone who bothers me too
                                       much,~ he says, glaring at you.";
                                       'Melissa', 'mel', 'Stratham', 'Johnathan',
                                       'Melissa^s':
                                       if (phone.doctor_called == false && office.
                                       doctor_called == false)
                                       "~Julia, I have no need of your gossip.~";
                                       else
                                       "You better not, blackmail only works if you
                                       haven't actually revealed the information.";
                                       'Cynthia', 'Fordham', 'Cissy', 'Winnecott',
                                       'Beverly', 'Winters',  'Frank', 'keith',
                                       'lover', 'affair', 'adultery', 'rumor',
                                       'rumour', 'rumors', 'rumours', 'gossip':
                                       "~Julia, I have no need of your gossip.~";
                                       'Charles', 'Scott', 'desk', 'Burton',
                                       'Registrar', 'gay', 'hoe', 'invoice',
                                       'homosexual':
                                       if (scott.blackmailed == false)
                                       "~Julia, I have no need of your gossip.~";
                                       else
                                       "Best not. You can get more out of Charles if
                                       you blackmail him directly.";
                                       'film', 'photo', 'photograph', 'camera':
                                       "That's probably not such a good idea.";

                               }
                       "~God, Julia, say something important or leave me alone,~ he
                       spits, casting you a baleful glare.";
               ],
has             animate proper male;

!---------------------------------------------------------------------------
!BANQUET HALL
!---------------------------------------------------------------------------

Room    banquet "Banquet hall (at your table)"
with    name 'pearls',
               description [;
                       if (fire notin self)
                       "Well, here you are, seated at a table in what amounts to the
                       most horrifically uncomfortable chair you have ever been
                       upon. An ostentatious centerpiece, surrounded by candles with
                       a program leaning against it, sits in the middle of the
                       table, its baby's breath bouncing perilously close to the
                       flames. All around you, the din of diners talking, plates
                       clunking, and air-conditioners whirring, fade in to the
                       background, allowing you to concentrate on the problem at
                       hand.";
                       else
                       "With the fire blazing, your attention is better spent not
                       looking around the room.";
               ],

               burn_unsuccessful false,
               burn_successful false,
               before [;
                       Listen:
                               if (fire notin banquet)
                               "The banquet hall is alive with the sounds of people
                               chatting, air-conditioners whirring, and plates
                               clunking, but all that fades away beneath the sound
                               of your heart pumping in your ears.";
                               else
                               "Frantic screams die away beneath the crackle of the
                               fire.";
                       Go:
                               if(fire notin banquet)
                               "If you leave now, Beverly will surely take the
                               opportunity to show the photo to Frank.";
                               else
                               "You should probably ensure the photo is destroyed
                               first.";
                       Burn:
                                       if (self.burn_unsuccessful == true)
                                       "Better not, you already look like enough of
                                       a pyro.";
                                       else {

                                       if (noun == banquet_menu or program) {
                                       if (drinks.drinks_finished == false) {
                                       self.burn_unsuccessful = true;
                                       remove drinks;
                                       remove noun;
                                       StopDaemon(drinks);
                                       "Trying to make it look as accidental as
                                       possible, you put ", (the) noun, " in to the
                                       flame. Within seconds it is flaring away,
                                       causing quite a scene.
                                       ^^~Your ", (name) noun, "!~ Frank shouts,
                                       jumping to his feet, surprisingly gallant.
                                       Quickly, he grabs one of the glasses from the
                                       table and dashes water over the burgeoning
                                       fire. It goes out with a hiss, leaving a
                                       puddle of ashy water and charred paper. ~That
                                       was close,~ he wheezes, wiping the sweat from
                                       his forehead.
                                       ^^~Yes, a little too close,~ Beverly mutters,
                                       eyeing you suspiciously and moving her purse
                                       beneath her chair.
                                       ^^A team of waiters, hitherto immobilized
                                       with shock, move in to action. Within a few
                                       moments, the table is restored and people
                                       start getting back to waiting for their meals
                                       and gossiping amongst themselves.";
                                       }
                                       else {
                                       self.burn_successful = true;
                                       remove banquet_menu;
                                       remove program;
                                       remove candles;
                                       move fire to banquet;
                                       StopDaemon(drinks);
                                       "Trying to make it look as accidental as
                                       possible, you put ", (the) noun, " in to the
                                       flame. At first, no one notices the small
                                       flame, and by the time they do, it's too late
                                       for them to do anything.
                                       ^^~Your ", (name) noun, "!~ Frank shrieks,
                                       pointing frantically and lurching back from
                                       the table. His foot catches on the leg of his
                                       chair, and he is sent sprawling in to a
                                       dessert cart. Another time and you might have
                                       found that funny, but you've had your fill of
                                       schadenfreude for today.
                                       ^^Beverly, for once losing her icy composure,
                                       scrabbles away from the table as fast as she
                                       can.
                                       ^^The fire begins to spread.";

                                       }
                                       }
                                       if (noun == photo) {
                                               if (photo notin player)
                                                       "You have to be holding the
                                                       photo first.";
                                               else {
                                                       move amusing_things to
                                                       wasp_hints;
                                                       Achieved(15);
                                                       (deadflag = 2);
                                                       "With a rather dramatic
                                                       flourish (hey, you deserve
                                                       it) you crumple up the photo
                                                       and toss it in to the fire.
                                                       As it burns, so does
                                                       Beverly's hope of destroying
                                                       your marriage. Not that she
                                                       stops trying, though. Frank
                                                       tells you later that week
                                                       about a phone call from her,
                                                       but without any proof, his
                                                       blind adoration of you wins
                                                       out over suspicion.
                                                       ^^The fire that resulted
                                                       during the banquet ended up
                                                       destroying a good portion of
                                                       the building. Good riddance,
                                                       you say, the club was past
                                                       its prime and it was more
                                                       fitting that it go out with
                                                       flare rather than dwindle
                                                       away to mediocrity.
                                                       ";


                                                       }
                                       }
                                       else
                                       "Something of a pyro, are we?";
                                       }
               ],
               each_turn [;
                       if (self has visited)
                               move endgame to all_hints;
                       if (self.burn_unsuccessful == true)
                               StartDaemon(self);
                       else
                               return false;
               ],
               turns_after_burn 0,
               daemon [;
                       self.turns_after_burn = self.turns_after_burn + 1;
                       switch (self.turns_after_burn) {
                       1:
                               return false;
                       2:
                               return false;
                       3:
                               return false;
                       4:
                               "^Suddenly, from the stage, the ceiling, and behind,
                               speakers screech to life. ~Testing.~ Charles voice
                               sounds out from all corners of the room, a good deal
                               less servile when pumped out at a hundred and ten
                               decibels.";
                       5:
                               "^~Now, to say a few words before the banquet, here's
                               Julia Hawthorne, this year's philanthropist of the
                               year,~ Charles says, gesturing to you with a wide
                               sweep of his hand while an enormous circle of light
                               falls on you from a spotlight above. ~Let's give her
                               a hand, everybody!~ A round of applause ensues.";
                       6:
                               (deadflag = 4);
                               "^You have no other choice. The time for action is
                               over. Dejected, you make your way to the stage,
                               hoping that Beverly chooses to prolong your anxiety
                               for awhile longer and not show Frank the photo. Of
                               course, hope is all you can do.
                               ^^When you reach the stage, you cast a glance towards
                               your table, just long enough to see Beverly showing
                               something to Frank. As you begin your speech, Frank
                               leaves the table, and your life, forever.";
                       }
               ],

has             ;

Object  fire "fire"
with    name 'fire' 'flame' 'flames',
               description
                       "The fire rages out of control.",
               each_turn [;
                       if(self in banquet) {
                       Achieved(14);
                       StartDaemon(self);
                       }
                       else
                       return false;
               ],
               before [;
                       Enter:
                               "That's not such a good idea, especially since you're
                               more than 10% plastic.";
                       Listen:
                               "The fire crackles and hisses.";
                       Smell:
                               "The pleasant smell of burning wood and paper mingles
                               with the stench of burnt plastic.";
                       Receive,ThrownAt:
                                       if (noun == photo) {
                                               if (photo notin player)
                                                       "You have to be holding the
                                                       photo first.";
                                               else {
                                                       move amusing_things to
                                                       wasp_hints;
                                                       Achieved(15);
                                                       (deadflag = 2);
                                                       "With a rather dramatic
                                                       flourish (hey, you deserve
                                                       it) you crumple up the photo
                                                       and toss it in to the fire.
                                                       As it burns, so does
                                                       Beverly's hope of destroying
                                                       your marriage. Not that she
                                                       stops trying, though. Frank
                                                       tells you later that week
                                                       about a phone call from her,
                                                       but without any proof, his
                                                       blind adoration of you wins
                                                       out over suspicion.
                                                       ^^The fire that resulted
                                                       during the banquet ended up
                                                       destroying a good portion of
                                                       the building. Good riddance,
                                                       you say, the club was past
                                                       its prime and it was more
                                                       fitting that it go out with
                                                       flare rather than dwindle
                                                       away to mediocrity.
                                                       ";
                                                       }
                                                       }

               ],
               turns_burning 0,
               react_before [;
                       Tell,Ask,Order:
                               "No time for that now!";
                       Smell:
                               "The pleasant smell of burning wood and paper mingles
                               with the stench of burnt plastic.";
               ],
               daemon [;
                       self.turns_burning = self.turns_burning + 1;
                       switch(self.turns_burning) {
                               1:
                                       remove centerpiece;
                                       "^The fire spreads to the centrepiece, the
                                       cheap plastic leaves curling and spouting out
                                       plumes of foul-smelling smoke.";
                               2:

                                       "^The flames web across the tablecloth,
                                       scorching the table underneath and sending
                                       waves of heat in to your face. You feel your
                                       nose soften. Dr. Rickers said it would take
                                       at least twice this much heat; that son of a
                                       bitch is so sued.";
                               3:
                                       "^The fire licks at the table, sending out
                                       smoke that makes your head swim.";
                               4:
                                       (deadflag = 6);
                                       "^The table collapses in to a pile of flaming
                                       kindling, sending a scent reminiscent of your
                                       trip upstate in to the air.
                                       ^^All the smoke finally gets to you. Your
                                       mind clouds over for a moment, and your knees
                                       buckle from under you. The last thing you
                                       remember is pitching headlong in to the fire.
                                       ^^When you awaken a few days later, you learn
                                       that Frank never saw the photo. But your
                                       satisfaction is short lived. With all the
                                       scars on your face, that's probably the last
                                       photo in which you looked decent. Well maybe
                                       not decent.";
                       }
               ],
has             scenery burning;

Object  chair "chair" banquet
with    name 'chair' 'seat',
               description
                       "Upholstered seat and wooden back, while aesthetically
                       pleasing, is a somewhat inadequate design for comfort. You
                       find it impossible to get settled, although that's probably
                       due more to the awkwardness of the situation instead of the
                       awkwardness of the chair's design.",
               before [;
                       Enter:
                               "You're already sitting.";
               ],
               react_before [;
                       GetOff,Exit:
                               if(fire notin banquet)
                               "If you leave, Beverly will surely take the
                               opportunity to show the photo to Frank.";
                               else
                               "You get off the chair.";
               ],
has             scenery;

Object  table "table" banquet
with    name 'table' 'cloth' 'tablecloth',
               description [;
                       if (fire in banquet)
                       "The cheap cedar is burning well.";
                       else
                       "While you would have preferred a simple white table cloth,
                       this lace one serves just as well to cover the cheap, cedar
                       fold-out underneath.";
               ],
               before [;
                       Push,Pull,PushDir:
                               "That would create too much of a scene, accidental is
                               the look we're going for.";
               ],
has             scenery supporter transparent;

Object  centerpiece "centerpiece" banquet
with    name 'centerpiece' 'centrepiece' 'piece' 'bouquet' 'flowers' 'flower'
'baby^s' 'breath',
               description
                       "Egad, from a cursory glance, the centerpiece appeared to be
                       fresh-cut flowers, but on closer inspection, it's plastic!
                       You knew this place was going down hill, but plastic?",
               before [;
                       Burn:
                               "It'd be hard to burn that without looking too
                               obvious. Maybe try something that could look a little
                               more accidental.";
                       Smell:
                               "Being plastic, the flowers don't smell quite as nice
                               as you would hope.";
                       Touch,Pull,Push,Take:
                               "You'd rather not.";
               ],
has             scenery;

Object  candles "candles" banquet
with    name 'candle' 'candles' 'fire' 'flame',
               article "the",
               description
                       "I guess Charles thinks that if the banquet is lit with
                       these, people won't be able to see how tacky the whole thing
                       is.",
               before [;
                       Take:
                               "That would look a little odd.";
                       Receive:
                               if (banquet.burn_unsuccessful == true)
                                       "Better not, you already look like enough of
                                       a pyro.";
                                       else {

                                       if (noun == banquet_menu or program) {
                                       if (drinks.drinks_finished == false) {
                                       banquet.burn_unsuccessful = true;
                                       remove drinks;
                                       remove noun;
                                       StopDaemon(drinks);
                                       "Trying to make it look as accidental as
                                       possible, you put ", (the) noun, " in to the
                                       flame. Within seconds it is flaring away,
                                       causing quite a scene.
                                       ^^~Your ", (name) noun, "!~ Frank shouts,
                                       jumping to his feet, surprisingly gallant.
                                       Quickly, he grabs one of the glasses from the
                                       table and dashes water over the burgeoning
                                       fire. It goes out with a hiss, leaving a
                                       puddle of ashy water and charred paper. ~That
                                       was close,~ he wheezes, wiping the sweat from
                                       his forehead.
                                       ^^~Yes, a little too close,~ Beverly mutters,
                                       eyeing you suspiciously and moving her purse
                                       beneath her chair.
                                       ^^A team of waiters, hitherto immobilized
                                       with shock, move in to action. Within a few
                                       moments, the table is restored and people
                                       start getting back to waiting for their meals
                                       and gossiping amongst themselves.";
                                       }
                                       else {
                                       banquet.burn_successful = true;
                                       remove banquet_menu;
                                       remove program;
                                       remove candles;
                                       move fire to banquet;
                                       StopDaemon(drinks);
                                       "Trying to make it look as accidental as
                                       possible, you put ", (the) noun, " in to the
                                       flame. At first, no one notices the small
                                       flame, and by the time they do, it's too late
                                       for them to do anything.
                                       ^^~Your ", (name) noun, "!~ Frank shrieks,
                                       pointing frantically and lurching back from
                                       the table. His foot catches on the leg of his
                                       chair, and he is sent sprawling in to a
                                       dessert cart. Another time and you might have
                                       found that funny, but you've had your fill of
                                       schadenfreude for today.
                                       ^^Beverly, ever the ice queen, backs away and
                                       cautiously maintains her distance, not
                                       willing to abandon her purse just yet.
                                       ^^The fire begins to spread.";
                                       }
                                       }
                                       if (noun == photo) {
                                               if (photo notin player)
                                                       "You have to be holding the
                                                       photo first.";
                                               else {
                                                       move amusing_things to
                                                       wasp_hints;
                                                       Achieved(15);
                                                       (deadflag = 2);
                                                       "With a rather dramatic
                                                       flourish (hey, you deserve
                                                       it) you crumple up the photo
                                                       and toss it in to the fire.
                                                       As it burns, so does
                                                       Beverly's hope of destroying
                                                       your marriage. Not that she
                                                       stops trying, though. Frank
                                                       tells you later that week
                                                       about a phone call from her,
                                                       but without any proof, his
                                                       blind adoration of you wins
                                                       out over suspicion.
                                                       ^^The fire that resulted
                                                       during the banquet ended up
                                                       destroying a good portion of
                                                       the building. Good riddance,
                                                       you say, the club was past
                                                       its prime and it was more
                                                       fitting that it go out with
                                                       flare rather than dwindle
                                                       away to mediocrity.
                                                       ";
                                                       }
                                       }
                                       else
                                       "Something of a pyro, are we?";
                                       }

               ],
has             scenery burning;

NPC             waiters "waiters" banquet
with    name 'waiter' 'waiters' 'server' 'servers',
               description
                       "Ahh, failed actors. Where would the service industry be
                       without them?",
               react_before [;
                       OrderSomething:
                               "~I'm sorry, Mrs. Hawthorne, but we're really very
                               busy,~ a waiter says on his way to another table.
                               ~Someone will be around to take your order soon
                               though.";
               ],
               life [;
                       Kiss:
                               "In front of Frank? So instead of Beverly giving him
                               the photo you'll give him a live demonstration?";
                       Ask,Order,Tell:
                               "~I'm sorry, Mrs. Hawthorne, but we're really very
                               busy,~ a waiter says on his way to another table.
                               ~Someone will be around to take your order soon
                               though.";
                       Attack:
                               "Come on, the service isn't that slow.";
               ],
has             scenery animate pluralname worker;

Object  background_stuff "banquet" banquet
with    name 'diners' 'diner' 'air' 'conditioner' 'conditioners' 'plates' 'hall'
'banquet' 'background' 'people',
               description
                       "You don't have time to be worrying about that.",
               before [;
                       Examine:
                               return false;
                       default:
                               "You don't have time to be worrying about that.";
               ],
has             scenery;

Object  banquet_menu "menu"
with    name 'menu' 'order' 'menus' 'list',
               description
                       "The situation is enough to make you lose your appetite. And
                       if it weren't, having seen the kitchen earlier certainly
                       would.",
               first_turn false,
               each_turn [;
                       if (self.first_turn == false) {
                       self.first_turn = true;
                       "^You nervously flip the menu over in your hands,
                       absent-mindedly pretending to read.";
                       }
                       else
                       return false;
               ],
has             ;

NPC             frank "Frank" banquet
with    name 'Frank' 'husband' 'hubby' 'wallet',
               initial [;
                       if (fire notin banquet)
                               "Frank sits to one side, gazing fondly at you.";
                       else
                               "Frank gibbers ineffectually as the fire rages out of
                               control.";
               ],
               description [;
                       if (fire notin banquet)
                       "Looking at Frank, you wonder what ever attracted you to him
                       in the first place. His skin is pale, his hair is limp, his
                       body is flabby, and his clothes are outdated. Then you glance
                       down at the bulge in his pants and remember: it was the size
                       of his wallet.";
                       else
                       "Frank gibbers ineffectually as the fire rages out of
                       control.";
               ],
               before [;
                       Touch:
                               "I don't think he'd appreciate that. Well, he would,
                               but you sure wouldn't.";
               ],
               life [;
                       Order:
                               "Normally you revel in bossing Frank around, but
                               today it might be a little risky.";
                       Show,Give:
                               if (noun == photo)
                                       "You haven't come this far just to give him
                                       the photo.";
                               else
                                       "Frank smiles blankly.";
                       Kiss:
                               "You haven't kissed him in months. To do so now might
                               raise suspicion, and something else you're not too
                               fond of.";
                       Attack:
                               "If you don't destroy that photo, he'll be hurting
                               enough.";
                       Ask,Tell:
                               switch(second) {
                                       'Keith', 'lover', 'affair', 'photo',
                                       'photograph', 'picture', 'pic', 'adultery',
                                       'adulterer':
                                       (deadflag = 4);
                                       "First casting a defiant look at Beverly, you
                                       turn to Frank, take his hand in yours, and
                                       pinch your thigh to get some authentic tears
                                       flowing.
                                       ^^~Frank, I have to tell you something...~
                                       ^^After what seems like hours of tears,
                                       pleads, and yells, things finally settle
                                       down. It's over. Not that it's the worst loss
                                       or anything, you just wish you hadn't signed
                                       that pre-nupt.";
                               }
                                       "You're too nervous to talk to him now.";
                       ],

has             proper animate male;

NPC             beverly_banquet "Beverly" banquet
with    name 'Beverly' 'Winters' 'bev',
               initial [;
                       if (location hasnt visited)
                               "Beverly eyes you suspiciously and pulls her purse a
                               little closer.";
                       else {
                       if (fire notin banquet)
                               "Beverly sits to the other, twiddling her pearls and
                               smiling.";
                       else
                               "Beverly stands paralyzed, not knowing whether to
                               dive for her purse or dive for the door.";
                       }
               ],
               description [;
                       if (fire notin banquet)
                       "For all her bravado on the tennis court, Beverly seems to be
                       a tad nervous. It's a lot easier to threaten to cause a scene
                       and ruin a marriage than to actually do so. But if she's held
                       on this long, there's no way she'll bow out now. In fact, you
                       can see her hand dangling below the table, ready to fish out
                       the photo from her purse at any moment.";
                       else
                       "Beverly stands paralyzed, not knowing whether to dive for
                       her purse or dive for the door.";
               ],
               life [;
                       Order:
                               "Best not to provoke her.";
                       Kiss:
                               "Ahh, convince Frank you're a complete nympho by
                               kissing Beverly and then maybe he won't consider your
                               affair an act of betrayal and instead carry you off
                               to the sexual-dysfunction clinic in his arms and
                               you'll all live happily ever after, is that your
                               plan? Dream on.";
                       Attack:
                               "Beverly could pull out that photo faster than you
                               could hit her.";
                       Ask,Tell:
                               "You have nothing to say to her.";

               ],

has             proper female animate;

Object  beverly_purse "Beverly's purse" banquet
with    name  'bev^s' 'Beverly^s' 'purse' 'bag' 'handbag' 'hand',
               description [;
                       if (photo in self)
                       "Beverly's purse lies open on the floor, the photograph
                       tantalizingly visible on top, obviously to remind you of
                       Beverly's plan.";
                       else
                       "Beverly's purse lies open on the floor, but without the
                       photo, it's of little interest to you.";
               ],
               before [;
                       Search:
                               "Beverly's purse lies open on the floor, the
                               photograph tantalizingly visible on top, obviously to
                               remind you of Beverly's plan.";
                       Take:
                               "It's not her purse you want.";
                       Close:
                               if (photo in self)
                                       "That would only make the photo harder to
                                       get.";
                               else
                                       "You have more pressing things to consider.";
               ],

has             scenery open openable container proper;

Object  photo "photo" beverly_purse
with    name 'photo' 'photograph' 'pic' 'picture',
               article "the",
               description
                       "It's no Annie Leibowitz, but you can still clearly make out
                       both you and Keith. Hmm, you didn't realize you were so
                       flexible.",
               before [;
                       Take:
                               if (banquet.burn_successful == false)
                               "~Tut, tut, Julia,~ Beverly whispers, ~you needn't
                               provoke me, I'll show Frank in due time.~";
                               else {

                               print "With everyone distracted by the raging fire,
                               you grab the photo. Damn it's hot.^";
                               move photo to player;

                               return true;
                               }
               ],

has             concealed;


Object  drinks "drinks" table
with    name 'drinks' 'Beverly^s' 'Frank^s' 'drink' 'wine' 'water',
               description
                       "The others' drinks are on the table.",
               before [;
                       Drink:
                               "You must be really thirsty. You'll just have to wait
                               for the waiter.";
                       Take:
                               "You don't want to anger either of them.";
               ],
               each_turn [;
                       if (self.number_of_sips == 0)
                       StartDaemon(self);
               ],
               number_of_sips 0,
               drinks_finished false,
               daemon [;
                       self.number_of_sips = self.number_of_sips + 1;
                       switch (self.number_of_sips) {
                       1:
                               "^Beverly takes a sip of her drink.";
                       2:
                               return false;
                       3:
                               "^Frank sips at his drink nervously.";
                       4:
                               "^Glancing up towards the stage, you see Charles
                               preparing the podium for the speakers.";
                       5:
                               return false;
                       6:
                               "^Frank gulps down the rest of his drink.";
                       7:
                               self.drinks_finished = true;
                               "^Draining her glass, Beverly licks the rim with
                               relish. She always was a bit of a lush.";
                       8:
                               "^~Here, Beverly, let me get that for you,~ Frank
                               says, taking the empty glasses and calling over the
                               waiter.
                               ^^~Oh, Frank. You're such a gentleman. How does Julia
                               ever keep her hands off of you?~ she says, handing
                               him her glass.
                               ^^Frank chuckles. He always does that when he's
                               nervous.";
                       9:
                               remove drinks;
                               "^A waiter comes by and removes the empty glasses,
                               ignoring all requests for new drinks.";

                       10:
                               return false;
                       11:
                               return false;
                       12:
                               return false;
                       13:
                               return false;
                       14:
                               "^Suddenly, from the stage, the ceiling, and behind,
                               speakers screech to life. ~Testing.~ Charles voice
                               sounds out from all corners of the room, a good deal
                               less servile when pumped out at a hundred and ten
                               decibels.";
                       15:
                               "^~Now, to say a few words before the banquet, here's
                               Julia Hawthorne, this year's philanthropist of the
                               year,~ Charles says, gesturing to you with a wide
                               sweep of his hand while an enormous circle of light
                               falls on you from a spotlight above. ~Let's give her
                               a hand, everybody!~ A round of applause ensues.";
                       16:
                               (deadflag = 4);
                               "^You have no other choice. The time for action is
                               over. Dejected, you make your way to the stage,
                               hoping that Beverly chooses to prolong your anxiety
                               for awhile longer and not show Frank the photo. Of
                               course, hope is all you can do.
                               ^^When you reach the stage, you cast a glance towards
                               your table, just long enough to see Beverly showing
                               something to Frank. As you begin your speech, Frank
                               leaves the table, and your life, forever.";
                       }


               ],
has             scenery pluralname;

Object  speakers "speakers" banquet
with    name 'speaker' 'speakers',
               description
                       "You almost forgot these were here. Surprising, considering
                       the force with which they shook the room last time. You can
                       still make out cracks in the walls from the time some idiot
                       forgot to set the volume to medium.",
               before [;
                                       Examine:
                                               return false;
                                       default:
                                               "Now's not the time.";
               ],
has             scenery pluralname;

Object  stage "stage" banquet
with    name 'stage' 'podium',
               article "the",
               description
                       "Ah, the stage. Normally you can't get enough of it, but
                       today it fills you with dread.",
               before [;
                       Examine:
                               return false;
                       default:
                               "Now's not the time.";
               ],
has             scenery;

Object  program "program" table
with    name 'program' 'programme',
               speech_known false,
               description [;
                       if (self.speech_known == false) {
                               self.speech_known = true;
                               "Damnit, with all that's happened today, it
                               completely slipped your mind. But there it is, right
                               in front of you. ~Opening speech by Julia Hawthorne;
                               Philanthropist of the Year.~ You better make your
                               move quick, before you have to go on stage. Serves
                               you right for doing something nice.";
                       }
                       else
                               "With black calligraphy on goldenrod, the program
                               look like an angry wasp. It announces the ~Opening
                               speech by Julia Hawthorne, Philanthropist of the
                               Year~ that you have to make at quarter to seven.
                               Whatever you're going to do, you better do it
                               quick.";
               ],
has             concealed;

NPC             charles_banquet "Charles" banquet
with    name 'Charles' 'Burton' 'Charlie',
               description
                       "Charles hustles about the stage, preparing it for the
                       upcoming speech.",
               before [;
                       Examine:
                               ;
                       default:
                               "Charles is too far away to interact with.";
               ],
               life [;
                       default:
                               "Charles is too far away to interact with.";
               ],
has             scenery male proper;

!---------------------------------------------------------------------------
!MISCELLANY
!---------------------------------------------------------------------------

Object  player_body "body"
with    article "your",
               pname 'face' 'eyes' 'lips' 'breasts' 'breast' 'chest' 'legs' 'tummy'
               'ass' 'hips' 'cheeks' 'hands' 'nails' 'hands',
               description
                       "Absolute perfection.",
               found_in [;
                       return true;
               ],
               before [;
                       Examine:
                               return false;
                       Tie:
                               <<Wear makeup>>;
                       default:
                               "You don't need to do that.";
               ],
has             concealed;

Object  pine_meadows "Pine Meadows"
with    name 'pine' 'meadows' 'club' 'country',
               description
                       "Despite its name, you can see surprisingly few pines and
                       even fewer meadows.",
               found_in behind_club garden garden_path court dining_kitchen
               dining_golf range,
               before [;
                       Enter:
                               "Use a compass direction instead.";
                       Examine:
                               return false;
                       default:
                               "You don't need to do that.";
               ],
has             proper scenery;

Object  court_far "tennis court"
with    article "the",
               name 'tennis' 'court' 'fence' 'fences',
               description
                       "You can't see much from here.",
               before [;
                       Enter:
                               "Use a compass direction instead.";
                       Examine:
                               return false;
                       default:
                               "It's too far.";
               ],
               found_in garden_path dining_golf dining_kitchen,
has     scenery;

Object  garden_far "garden"
with    article "the",
               name 'garden',
               description
                       "You can't see much from here.",
               before [;
                       Enter:
                               "Use a compass direction instead.";
                       Examine:
                               return false;
                       default:
                               "It's too far.";
               ],
               found_in garden_path,
has     scenery;

Object  dining_far "dining area"
with    article "the",
               name 'dining' 'area',
               description
                       "You can't see much from here.",
               before [;
                       Enter:
                               "Use a compass direction instead.";
                       Examine:
                               return false;
                       default:
                               "It's too far.";
               ],
               found_in garden_path court,
has     scenery;

Object  pro_far "pro shop"
with    article "the",
               name 'proshop' 'shop' 'pro' 'store',
               description
                       "You can't see much from here.",
               before [;
                       Enter:
                               "Use a compass direction instead.";
                       Examine:
                               return false;
                       default:
                               "It's too far.";
               ],
               found_in dining_golf,
has     scenery;


!ENTRY POINT ROUTINES

[ Warning k;
 @erase_window -1; print "^^^^^^^^^^^^^";
 k = 0->33; if (k > 30) k = (k-30)/2;
 style bold; font off; spaces(k);
 print "            ^";
 style roman; print "^^"; spaces(k);
 print "^^^^^^^";

 font on;
 box   "              WARNING:"
               ""
               "This game contains sexual references"
               "and some strong language. If you are"
               "uncomfortable with this, please close"
               "your interpreter now. Otherwise, press"
               "any key to continue."
               ""
               "Despite the first scene, this is not a"
               "pornographic game."
               ;
 @read_char 1 -> k;
 @erase_window -1;
];

[ TitlePage i;
 @erase_window -1; print "^^^^^^^^^^^^^";
 i = 0->33; if (i > 30) i = (i-30)/2;
 style bold; font off; spaces(i);
 print "            ^";
 style roman; print "^^"; spaces(i);
 print "^^^^^^^";

 font on;
 box "Wasp or WASP (w@^osp)"
       ""
       " 1)"
       ""
       "  Any of numerous social insects"
       "  with mouths adapted for biting"
       "  or sucking, and in the females"
       "  an ovipositor modified as a sting."
       ""
       " 2)"
       ""
       "  A white, usually Protestant"
       "  member of the American upper"
       "  social class."
       ""
       "     --American Heritage Dictionary";
 @read_char 1 -> i;
 @erase_window -1;
];

[ PrintTaskName task_number;
       switch (task_number) {
               0: "finding the bleach";
               1: "getting some dirt on Charles";
               2: "giving Ms. Williams a new look";
               3: "finding the key";
               4: "learning of Cynthia's allergy";
               5: "finding the pills";
               6: "hiding from Charles";
               7: "getting in to the kitchen";
               8: "contaminating Cynthia's meal";
               9: "visiting Keith";
               10: "entering the office";
               11: "learning of Roger's attitudes";
               12: "blackmailing Melissa";
               13: "confronting Beverly";
               14: "putting the spark back in your marriage";
               15: "burning the photo";
               16: "staining Beverly's clothes";
               17: "finding out who took the picture";
               18: "calling Dr. Ferguson";
               19: "blackmailing Charles";

       }

];

[ PrintRank;
 print ", earning you the rank of ";
 if (score == 20) "Diva.";
 if (score >= 15) "Dowager.";
 if (score >= 10) "Socialite.";
 if (score >= 5) "Debutante.";
 "Nouveau.";
];

!##ENTER and ##OPEN ACTION MY OWN
[ ChooseObjects obj code;
 if (code < 2) { if (obj has scenery or animate or static) return 2; rfalse; }
 if (action_to_be == ##Eat && obj has edible) return 3;
 if (action_to_be == ##Enter && obj has supporter) return 3;
 if (action_to_be == ##Open && obj has openable) return 3;
 if (action_to_be == ##Change && obj has clothing) return 3;
 if (obj hasnt scenery) return 2;
 return 1;
];

[ Amusing;
print
       "Have you tried:
       ^^  Kissing everyone?
       ^^  Trying all the generally unused verbs?
       ^^  Eating the salad?
       ^^  Telling Frank about Keith?
       ^^  Doing nothing after starting the fire?
       ^^  Asking Cynthia about nouveaus?
       ^^  Finding an alternate way of getting into the kitchen?
       ^^  Finding an alternate way of avoiding Ms. Williams seeing you?
       ^";

];


[ Initialise;
       Warning();

       TitlePage();
       location = utility_closet;
       move clothes to player;
       give clothes worn;
       move watch to player;
       give watch worn;
       lookmode = 2;

       "^~Oh, Julia! Where did you learn that?~ Keith whispers breathlessly.
       ^^All tongue and fingers, he kisses the milky skin above your breasts, while
       your hands slide their way up and down his sculpted chest, so eager with lust
       that your watch occasionally snags on a stray chest hair. Your lips,
       glistening like two fresh strawberries laced with dew, hungrily roam across
       his neck. And your hips! Well, that's better left to the imagination.
        ^^Normally, you wouldn't even consider seeing Keith at Pine Meadows, but
        Frank's in Boston and won't be back until tonight's banquet.  And when the
        cat's away...
        ^^Just then, a low shelf wedges itself in to your back, jarring you from
        your reverie. That's when you hear it.
        ^^A click. A flash. The tell-tale tapping of heels on concrete.
        ^";

];

[ DeathMessage;
       if (deadflag == 3) print "You've been stung by a wasp";
       if (deadflag == 4) print "Your marriage is ruined";
       if (deadflag == 2) print "You saved your marriage";
       if (deadflag == 6) print "Too bad, you fell out of the frying pan and in to
       the fire";

];

!NEW VERBS

[ WriteSub; "You don't have a pen."; ];

[ ThreatenSub;
               if (noun has pluralname)
               "", (The) noun, " aren't afraid of you.";
               else
               "", (The) noun, " isn't afraid of you."; ];

[ KnockSub; "No reply."; ];

[ BlackmailSub; "", (The) noun, " isn't afraid."; ];

[ PlaySub; "You've never been one for playing games. Come on, who are you kidding?";
];

[ ShowerSub; "You're not close enough to the showers."; ];

[ HideSub; "There's nothing to hide from."; ];

[ OrderSomethingSub; "There's no one here to order something from."; ];

[ XyzzySub; "Nothing happens. Guess if you want to travel someplace exotic, you'll
have to do it the old-fashioned way and sleep with Frank."; ];

[ UseSub; "That verb is too vague. Try something more specific."; ];

[ DummyBlackSub; "Try typing BLACKMAIL (someone) WITH (some words)."; ];

[ CallSub; "There's no phone here."; ];

[ ChangeSub;
if (noun == nothing)
       "You don't need to change right now.";
if (noun has clothing)
       "You don't need to change right now.";
else
       "You can't change that.";
];

[ SmileSub; "That's the thing about botox, you can't."; ];

[ LaughSub; "You're laughing on the inside."; ];

[ HandleSub; "You feel nothing unexpected."; ];

[ TimeSub; <<Examine watch>>; ];

[ MakeupSub;
       if (makeup in player)
               <<Wear makeup>>;
       else
               "You have to have your makeup with you before you can do that.";
];

[ SexSub; "That's gotten you into enough trouble today!"; ];

[ SignUpSub; "There's nothing to sign up on."; ];

!GRAMMAR AND EXTENDED

Include "Grammar";

Extend 'lock' first * noun=DefaultLockTest -> DefaultLock;
Extend 'unlock' first * noun=DefaultLockTest -> DefaultUnlock;

Verb 'undress'
* held -> Disrobe;

Extend 'push'
* "over" noun -> Push
* noun "over" -> Push;

Verb    'sign'
* "up" -> SignUp
* "up" "on" noun -> SignUp;

Extend only 'burn' 'light' replace
* noun -> Burn
* noun "with" burning -> Burn;

Extend 'blow' first
* noun -> Blow;

Extend 'fuck' first
* creature -> Sex;

Extend 'screw' first
* creature -> Sex;

Verb 'have'
* "sex" "with" creature -> Sex;

Extend 'fuck'
* creature -> Sex;

Extend 'sleep'
* "with" creature -> Sex;


Verb    'makeup' 'make-up'
* 'self' -> Makeup
* 'face' -> Makeup
* 'my' 'face' -> Makeup
* 'eyes' -> Makeup
* 'me' -> Makeup
*       -> Makeup;

Verb    'frisk'
* creature -> Search;

Verb    'mix'
* held "with" noun -> Insert;

Verb    'time'
*       -> Time;

Verb    'handle'
* noun  -> Handle;

Verb    'laugh' 'chuckle' 'guffaw'
*       -> Laugh
* "at" noun -> Laugh;
Verb    'smile' 'frown'
*       -> Smile;

Verb    'change'
*               -> Change
* noun  -> Change;

Extend 'sit'
* "at" noun -> Enter;

Verb    'call' 'dial' 'phone'
* topic "on" noun -> Call
* topic "with" noun -> Call
* topic -> Call;

Verb    'bump' 'jostle'
* noun  -> Push
* "into" noun -> Push;

Verb    'use' 'utilize'
* noun -> Use
* noun "on" noun -> Use
* noun "with" noun -> Use;

Verb    'xyzzy'
*       -> Xyzzy;

Extend  'empty'
* noun "in" noun -> EmptyT
* noun "into" noun -> EmptyT;


Verb    'do'
* "up" noun -> Close;



Verb    'order'
* noun -> OrderSomething
* noun "from" creature -> OrderSomething;


Verb    'unbutton'
* noun  -> Open;

Verb    'hide'
*               -> Hide
* "behind" noun -> Hide
* "under" noun -> Hide;

Verb    'shower'
*               -> Shower;

Verb    'talk'
*  "to" creature "about" topic -> Tell
*  "with" creature "about" topic -> Tell;

Extend  'pick'
*       noun    -> Take;

Verb 'blackmail' 'threaten'
*       creature -> DummyBlack
*       creature "about" topic -> Blackmail
*       creature "with" topic -> Blackmail;


Verb    'button'
*       noun    -> Close;

Verb    'apply'
*       noun    -> Wear
* noun "to" noun -> PutOn;

Extend 'touch'
* "up" noun -> Wear;

Verb    'write'
* "on" noun     -> Write;

Verb 'berate' 'boss' 'scare' 'yell' 'scream' 'shriek'
*       noun    -> Threaten
* "at" noun     -> Threaten
* noun "around" -> Threaten;

Verb    'knock' 'rap'
* "on" noun     -> Knock
* "over" noun -> Push
* noun "over" -> Push;

Verb    'spill'
* noun "in" noun -> PutOn
* noun "on" noun -> PutOn;

Verb    'play'
* "with" noun -> Play
* topic         -> Play;

Extend  'ask'
* creature "for" topic -> Ask;

Verb    'pour'
* noun "on" noun -> PutOn
* noun "in" noun -> Insert;

Extend  'look'
* "up" topic    -> Consult
* topic "up" "in" noun -> Consult;

Extend  'climb'
* "through" noun -> Enter
* noun "of" noun -> Enter
* noun noun -> Enter;