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;