!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!START STUFF
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Array statusbar_temp --> 64;
Global statusbar_right = "Right text";
Global hint_menu = vespers_hints;

Replace DrawStatusLine;


!Constant DEBUG;
Constant Story "Vespers";
Constant Headline "^(First time players should type ABOUT)^";
Constant DEATH_MENTION_UNDO;

Replace ScoreSub;

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

!FOR DoMenu
Replace DoMenu;
Replace LowKey_Menu;

Include "Parser";
Include "pname.h";
Include "smartcantgo";
Include "Helproutines";


[ BeforeParsing x;
 for (wn=2 : wn<parse->1 : wn++)
 if (buffer->(parse->(4*wn + 1)) == '.' &&
   (parse-->(2*wn - 3) == 'st' &&
   parse-->(2*wn + 1) == 'cuthbert' or 'medard' or 'drausinus' or 'francis') ||
   (parse-->(2*wn - 3) == 'mr' &&
   parse-->(2*wn + 1) == 'burton' or 'knowles')) {
     buffer->(parse->(4*wn + 1)) = ' ';
     x++;
 }
 if (x) @tokenise buffer parse;
];

Object  LibraryMessages
with    before [q;
                       Prompt:
                               if (misc_shadow.quotes_on == false) {
                                       q =  child(PendingQuote);
                                       if(q) {
                                               move q to SeenQuote;
                                               style underline; q.show_quote_inline(); style roman;
                                       }

                                       }


                       Attack:
                               "You are too weak.";
                       Burn:
                               "It does not light. The dampness spoils everything here.";
                       Buy:
                               "There is nothing to buy.";
                       Climb:
                               "You're not a child anymore.";
                       Eat:
                               "You're not that hungry.";
                       Examine:
                               if (lm_n == 1)
                                       "It's almost soothing. So simple. So pure.";
                               else
                                       return false;
                       Give:
                               if (lm_n == 3)
                                       print "Charity is a virtue, but ", (the) second, " isn't
                                       interested.^";
                                       rtrue;
                       Jump:
                               "The up isn't so bad, but when you land, your knees crack and your
                               spine twists.";
                       Kiss:
                               "You can't summon the will to perform the Pax.";
                       Listen:
                               "The wind. Nothing more.";
                       Miscellany:
                               if (lm_n == 39)
                                       "That holds little interest for you.";
                               if (lm_n == 5) {
                                       if (deadflag == 3) {
                                               print "Would you like to RESTART, RESTORE a saved game, UNDO
                                               your last move or
                                               QUIT?
                                               ^^You have found one of three main endings. If you would like
                                               to see the others, type ALTERNATIVES after you RESTART the
                                               game.^";

                                               return true;
                                       }

                                       if (deadflag == 4) {
                                               print "Would you like to RESTART, RESTORE a saved game, UNDO
                                               your last move or
                                               QUIT?^";
                                               box
                                                       "And when the sun was going down, "
                                                       "a deep sleep fell upon Abram; and, lo, "
                                                       "an horror of great darkness fell upon him."
                                                       ""
                                                       "                        -- Genesis 15:12";
                                               return true;
                                       }
                                       else
                                               return false;
                               }
                               if (lm_n == 19) {
                                       if (emmanuele_body in new_church)
                                               "Your wings pulse up and down with each breath. The wind
                                               ripples across them. A
                                               click from below sings to you: your hooves. The cold of the
                                               stone on your feet no longer bothers you. That is a cheap,
                                               human concern.
                                               ^^So many are.";
                                       if (devil.prayed == true) {
                                       QuoteFrom(matthew13_46);
                                       "Loose, pale skin. A crooked spine. Liver spots all over.
                                       ^^It is a weak shell, but it will do.";
                                       }
                                       else
                                       switch(time_shadow.current_time) {
                                       0:
                                       QuoteFrom(iisamuel14_25);
                                       "You're not the man you were a few days ago. Your skin hangs as
                                       sallow drapes around your jaw: your hands are emaciated. Your
                                       frock billows about you; it is difficult to find any flesh
                                       within. The only solace you find in looking at yourself is that,
                                       so far, no signs of the plague are within you.";
                                       1:
                                       if (cupboard.opened == true)
                                       "You're not the man you were a few days ago. Your skin hangs as
                                       sallow drapes around your jaw: your hands are emaciated. Your
                                       frock billows about you; it is difficult to find any flesh
                                       within. A scratch lines your arm from wrist to elbow; it is only
                                       a strip of dried blood now.
                                       ^^Running your hand across your neck, you find a small lump
                                       hidden within the folds of skin. It is tender.";
                                       else
                                       "You're not the man you were a few days ago. Your skin hangs as
                                       sallow drapes around your jaw: your hands are emaciated. Your
                                       frock billows about you; it is difficult to find any flesh
                                       within.
                                       ^^Running your hand across your neck, you find a small lump
                                       hidden within the folds of skin. It is tender.";
                                       2:
                                       "It is dark, and you are weak. Your bed calls to you with
                                       promises of slight warmth, but you know it is a lie. The blood
                                       from your scratch has all flaked away, leaving a warm, pinkish
                                       line in its place.
                                       ^^The lump on your neck is bigger, and it hurts to swallow.";
                                       3:
                                       QuoteFrom(jeremiah13_23);
                                       "Morning's light brings with it a clearer sight of your body.
                                       Large tumors protrude from your neck and armpits, making it
                                       difficult to move your arms and head without pain. You look down
                                       to see the scratch, but it is masked by a creeping black mark
                                       that twists and slides about your arms.";
                                       4:
                                       QuoteFrom(jeremiah13_23);
                                       "Tumors spring from your body like mushrooms. You're almost as
                                       much black as white.";
                                       5:
                                       QuoteFrom(jeremiah13_23);
                                       "The black sweeps across your body like oil. Growing.
                                       Expanding. Lumps are everywhere: stones under your skin.";
                                       6,7:
                                       QuoteFrom(jeremiah13_23);
                                       "You barely recognize yourself. Your arms are barely your own;
                                       they are more tumor than flesh. The color is revolting: a blend
                                       of tar and bile.";
                                       8:
                                       QuoteFrom(jeremiah13_23);
                                       "Walking poison. More black than white. You are dying.";
                                       9:
                                       if (sin_shadow.evil == true)
                                               "Your shell is broken. The old man's bones are twisted and
                                               hollow. White has become black. His flesh bubbles with tumors
                                               and shudders with the cold. Weak mortals.";
                                       else
                                               QuoteFrom(jeremiah13_23);
                                               "White has become black. Your flesh bubbles with tumors. It
                                               shudders uncontrollably: the flames that surround you do
                                               nothing to ease the cold.";
                               }
                               }
                               else
                                       return false;

                       Pull,Push:
                               if (lm_n == 1 or 2)
                                       "Perhaps many years ago, but you are far too weak now.";
                               else
                                       return false;
                       Search:
                               if (noun has male)
                                       "He slaps away your fingers.";
                       Show:
                               if (lm_n == 2) {
                                       if (noun ofclass Drogo)
                                               "Drogo eyes ", (the) self, " warily. He squeals. He cries. He
                                               doesn't care.";
                                       if (noun ofclass Cecilia_class)
                                               "~I don't know what to tell you,~ she replies, shrugging her
                                               shoulders.";
                                       if (noun ofclass Matteo)
                                               "~Please, father,~ he sighs. ~I don't have the energy.~";
                                       if (noun ofclass Ignatius)
                                               "His eye twitches. ~So?~";
                                       if (noun ofclass Lucca)
                                               "He pretends he doesn't see.";
                                       if (noun ofclass Constantin)
                                               "~I don't care about that,~ he growls.";
                               }

                       Sing:
                               "Your days in the choir are long behind you.";
                       Sleep:
                               "You aren't tired. At least, not tired enough to sleep.";
                       Smell:
                               if (location ofclass Outside_room)
                               "The cold flies up your nose like needles: you smell nothing
                               unusual.";
                               else
                               "Mildew.";
                       Strong:
                               "You curse. Hopefully God didn't hear.";
                       Taste:
                               "Mildew.";
                       Touch:
                               if (lm_n == 2)
                                       "It feels rough on your fingers.";
                               else
                                       return false;
                       Think:
                               "You find it difficult to concentrate.";
                       Wait:
                               "Time passes. Slowly.";
                       Wake:
                               "If only it were that simple.";




               ];

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

Include "dirs_2";

!HINTS AND HELP MENU

Menu    vespers_hints "Vespers: 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";

Menu    alternatives_menu "Alternatives"
with    banner_tags "N=Go Down" "P=Go up" "Enter=Select" " Q=[back]" "Q=back" 8 7;

HintTopic       general_alternative "General" alternatives_menu;

Hint    "General" general_alternative
with description [;
"^^
There's basically three ways to play the game: one good, one evil, and one middle of
the road. Each will give a different ending and change certain things in the game. If
you would like to see the walkthru for each, type: WALKTHRU GOOD, WALKTHRU EVIL, or
WALKTHRU MIDDLE. WALKTHRU by itself will return the middle walkthru.  For more
general guidelines, see the individual topics in the preceding menu.  I know it's
rather simplistic to divide the paths into these three categories, but this isn't a
theology lesson, so please let it slide.
^^
";]
;

HintTopic       good_alternative "Good" alternatives_menu;

Hint    "Good" good_alternative
with description [;
"^^
This one might be the most tricky to obtain, as any slip ups will put you onto one of
the other paths. However, it shouldn't be that hard. Don't kill or have sex with
anyone (including yourself) and you should be fine. Also, don't pray to Cecilia
(worshipping false idols and all that).
^^
";]
;

HintTopic       middle_alternative "Middle" alternatives_menu;

Hint    "Middle" middle_alternative
with description [;
"^^
Just don't kill or have sex with anyone, but be sure to commit some sins: praying to
Cecilia is the easiest.
^^
";]
;

HintTopic       evil_alternative "Evil" alternatives_menu;

Hint    "Evil" evil_alternative
with description [;
"^^
This is definitely the easiest. Feel free to kill and pillage and sell your soul to
the
Devil. Once you're on this track, it's impossible to get off.
^^
";]
;


Menu    matteo_journal "Matteo's Journal"
with    banner_tags "N=Go Down" "P=Go up" "Enter=Select" " Q=[back]" "Q=back" 8 7;





HintTopic       matteo_day1 "January 12th" matteo_journal;

Hint    "January 12th" matteo_day1
with description [;
font on;

style underline;
"^^
The father closed the gate this morning, as soon as news of Rovato arrived.
I don't know what I would have done in his place, but it wouldn't have been
that. Since it happened, I have felt strange: listless, despondent. I
never felt trapped at Saint Cuthbert's before, but I guess knowing that now
I can't leave makes all the difference. I am tired. I have felt tired all
day, but at least now it is appropriate to sleep.
^^
";]
;

HintTopic       matteo_day2 "January 13th" matteo_journal;

Hint    "January 13th" matteo_day2
with description [;
font on;

style underline;
"^^
The father's plan did nothing. The first signs of the plague appeared this
morning. Already the infirmary is as full as the dormitory is empty.
^^
I feel worse than I did yesterday. Not from the plague: I am still healthy.
 I just don't want to do anything. I just want to sleep.
^^" ;]
;

HintTopic       matteo_day3 "January 14th" matteo_journal;

Hint    "January 14th" matteo_day3
with description [;
font on;

style underline;
"^^
I don't appear to be the only one who's out of sorts. The six of us left
are all a little different, except Lucca; he remains the shy child he always
was. I don't know what it is. Perhaps we are all just having trouble
adjusting to the space. I spend all my time in the tower. It was always
empty: the change isn't noticeable up there.
^^
Vespers
^^
I was right. We are different. Drogo, while never the model of normality,
has been acting even stranger of late. He spent all this afternoon in the
garden, talking to things only he sees.
^^
Constantin too. He has been dragging sacks from somewhere into the
refectory. I asked the father, subtly, if any food was being delivered to
the monastery. He said no. But he didn't leave it at that. He has become
so paranoid and inquisitive lately.
^^
I don't know about Ignatius. He is always in the infirmary or the church,
hidden from my eyes.
^^" ;];

HintTopic       matteo_day4 "January 15th" matteo_journal;

Hint     "January 15th" matteo_day4
with description [;
font on;
style underline;
"^^
Terce
^^
Constantin is smuggling bodies in to the cellar. His sack snagged on a
branch as he dragged it through the cloister, and blood began soaking the
snow. I know I should do something, tell someone, but I can't. I don't
want to burden Lucca with what is going on, and I trust no one else.
^^
Especially not the father. He has become a raving lunatic. He shrieks
quotes from the Bible at the most inopportune times: while doing the most
mundane things. Sometimes they aren't even from the Bible. He has become
extremely paranoid and suspicious. He has even stopped praying, unless he wants
something.
^^
Compline
^^
It turns out Drogo isn't as insane as I thought, or perhaps it's just a
different kind of insane. He has not been talking to nothing out in the
garden. He appears to have made friends with the wolves and talks to them.
For some reason, they do not attack, even though they are even hungrier than
we are.";];

HintTopic       matteo_day5 "January 16th" matteo_journal;

Hint     "January 16th" matteo_day5
with description [;
font on;
style underline;
"^^
I give up. I am so tired. I just wish I hadn't burdened Lucca with my knowledge.
^^The snow beneath the tower looks like a bed to me. I just want to sleep.";];

HintTopic       disclaimer "Disclaimer" vespers_hints;

Hint    "This game contains some violence and graphic images (well, as much as any
all-text game can). If this makes you uncomfortable, please stop playing now.
^^Oh, and despite the subject matter and oodles of bible quotes, Vespers really isn't
a religious game: at least not in the sense of trying to convert anyone.
^^On that note: I'm not Christian and wasn't raised Christian, so my representation
might be a little off as far as theological matters are concerned. I hope I don't
offend anyone.
^^Anyway, hope you enjoy it." disclaimer;

Menu    new_player_info "If You Haven't Played Interactive Fiction Before"
vespers_hints
with    banner_tags "N=Go Down" "P=Go up" "Enter=Select" " Q=back" "Q=back" 8 7;

HintTopic       introduction_menu "Introduction" new_player_info;

Hint    "Introduction" introduction_menu
with    description [;
                       LongIntro();
               ]
                       ;

HintTopic       prompt_menu "What is this ~>~ thing?" new_player_info;

Hint    "What is this ~>~ thing?" prompt_menu
with    description [;
                       ExplainPrompt();
               ]
                       ;

HintTopic       starting_instructions_menu "Starting Instructions" new_player_info;

Hint    "Starting Instructions" starting_instructions_menu
with    description [;
                       StartingInstructions();
               ]
                       ;

HintTopic       stuck_instructions_menu "Stuck Instructions" new_player_info;

Hint    "Stuck Instructions" stuck_instructions_menu
with    description [;
                       StuckInstructions();
               ]
                       ;

HintTopic       standard_verbs_menu "Standard Verbs" new_player_info;

Hint    "Standard Verbs" standard_verbs_menu
with    description [;
                       StandardVerbs();
               ]
                       ;

HintTopic       abbreviations_menu "Abbreviations" new_player_info;

Hint    "Abbreviations" abbreviations_menu
with    description [;
                       Abbreviations();
               ]
                       ;

HintTopic       communications_menu "Communications" new_player_info;

Hint    "Communications" communications_menu
with    description [;
                       AllCommunication();
               ]
                       ;






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

HintTopic       about_the_game "Game and Author" general_info;

Hint    "About the Game" about_the_game
with    description
                       "Vespers was started in the beginning of May, and finally went into beta
                       in August. God, these games take a lot longer to write when you actually
                       have a job.
                       ^^At the time of this writing, I am going in to my third
                       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 and am more
                       than happy to receive bug reports, comments, reviews, or insults.
                       ^^This my second game: the first being the comedy Sting of the Wasp. If
                       you're looking for something a little lighter than Vespers, might I
                       recommend that (a shameless promotion, I know).";

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.
                       ^^Neil Cerutti (pname.h), L. Ross Raszewski (hints.h and
                       supporting files which I modified slightly), Roger Firth
                       (smartcantgo.h), Jesse Burneko (info.h), Emily Short (HelpRoutines.h) and
                       Gunther
                       Schmidl (dirs_2) for their extremely helpful library
                       contributions.
                       ^^Stephen Granade and Mark Musante for their work with the
                       annual IFComp.
                       ^^Those in IFMud who had to put up with my programming questions.
                       ^^And of course my betatesters Andy Ko, Dirk Straube, Katzy, Dan
                       Shiovitz, JD Casteliero, Brian Rapp, Stephan Schonberg, Ramona White,
                       Robert Devlin, and Dara Barker. These folks definitely
                       deserve a hand after the hell I put them through. Thanks guys.";

Menu    general_hints "General Tips and New Verbs" vespers_hints
with    banner_tags "N=Go Down" "P=Go up" "Enter=Select" " Q=back" "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
                       "There are no new verbs necessary to complete the game. However, one
                       standard library verb has had its grammar considerably altered (and given
                       the subject matter of the game, it shouldn't be too hard to guess which
                       one).
                       ^^Additionally, conversation is handled a little differently. One can
                       TALK TO <CHARACTER> and have a general conversation about whatever seems
                       most pertinent at the time (you can TALK TO them several times in a row
                       to carry on the conversation). Alternatively, if that doesn't quench your
                       thirst for knowledge, you can ASK, TELL, or TALK TO an NPC about <TOPIC>.
                       All three give the same responses, however, so as to avoid the headaches
                       associated with asking someone about something but not telling them about
                       it first.
                       ^^A WALKTHRU command is included if the hints aren't to your liking.
                       Also, if you have trouble remembering the brothers or saints, type
                       BROTHERS or SAINTS.
                       ^^Finally, if the boxed quotes bother you, you can get them to print
                       QUOTES OFF at any time.  Type QUOTES ON to get things back to default.";

Menu    all_hints "Hints" vespers_hints
with    banner_tags "N=Go Down" "P=Go up" "Enter=Select" " Q=back" "Q=back" 8 7;

Menu    getting_started "Getting Started" all_hints
with    banner_tags "N=Go Down" "P=Go up" "Enter=Select" " Q=back" "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    "Explore, talk to people." trying_to_do;
Hint    "Get a general feel for Saint Cuthbert's." trying_to_do;
Hint    "Go see Lucca to get the ball rolling." trying_to_do;
Hint    "Then return to the entrance hall." trying_to_do;

HintTopic       waking_cecilia "How do I wake the girl?";

Hint    "You need to make her more comfortable." waking_cecilia;
Hint    "That locutory looks nice and warm. Well, warmer than anywhere else."
waking_cecilia;
Hint    "How lazy are you?  If you're really impatient you could try hitting her."
waking_cecilia;
Hint    "Otherwise you'll have to make her warm." waking_cecilia;
Hint    "And get her food." waking_cecilia;
Hint    "Get the blanket from your room, light the fire, and get the food from the
kitchen cupboard." waking_cecilia;
Hint    "Don't you wish you had just hit her instead?" waking_cecilia;

HintTopic       what_now "What do I do now?";

Hint    "Things are very different by the light of day." what_now;
Hint    "It'd be prudent to talk to people: snoop around a little." what_now;
Hint    "After Lucca is jailed, you really don't have to do anything but go to bed."
what_now;
Hint    "Be careful." what_now;

HintTopic       going_to_bed "As I lay me down to sleep...";

Hint    "Saint Cuthbert's is a dangerous place." going_to_bed;
Hint    "Some pre-bed precautions might be necessary." going_to_bed;
Hint    "Your door doesn't lock, but perhaps you can reinforce it somehow."
going_to_bed;
Hint    "With something heavy." going_to_bed;
Hint    "Like a desk." going_to_bed;
Hint    "Or, you can always pray for protection." going_to_bed;
Hint    "You are not exactly God's favorite person right now. You need an
intermediary."
going_to_bed;
Hint    "Like a Saint or an Angel." going_to_bed;
Hint    "The church is a good place to find one of them, but which one?"
going_to_bed;
Hint    "The locutory is a good place to find the other." going_to_bed;

HintTopic       night_time "Strangers in the night...";
Hint    "Sometimes, you can do something." night_time;
Hint    "Others you can't." night_time;
Hint    "Go back to bed." night_time;

HintTopic       morning_lucca "Let there be light...";

Hint    "A new day, and new problems." morning_lucca;
Hint    "Lucca has escaped." morning_lucca;
Hint    "Or not. Look at the hole in the calefactory door." morning_lucca;
Hint    "Inwards?" morning_lucca;
Hint    "Something isn't right: an investigation might be in order." morning_lucca;

HintTopic       drogo_church_hint "What's wrong with Drogo?";

Hint    "A lot." drogo_church_hint;
Hint    "For starters, he's insane." drogo_church_hint;
Hint    "But there's nothing you can do about that now." drogo_church_hint;
Hint    "You'll have enough trouble with him later." drogo_church_hint;

HintTopic       riding_horse "A horse, a horse, my kingdom for a horse...";

Hint    "She's not in the best shape, is she?" riding_horse;
Hint    "She needs food." riding_horse;
Hint    "And discipline." riding_horse;
Hint    "You can beat her into submission." riding_horse;
Hint    "Physically or spiritually." riding_horse;
Hint    "Take her to the gate, and ride." riding_horse;

HintTopic       at_the_river "What do I do at the river?";

Hint    "Look around." at_the_river;
Hint    "The tracks you've been following end here, and not very pleasantly by the
looks of it." at_the_river;
Hint    "Look in the river." at_the_river;
Hint    "What could that be?" at_the_river;
Hint    "Poor Lucca." at_the_river;
Hint    "He might have something to say." at_the_river;
Hint    "In writing (search him)." at_the_river;
Hint    "Or, you might just be crazy." at_the_river;

HintTopic       drogo_wolves "I lie among ravenous beasts...";

Hint    "The wolves are hungry." drogo_wolves;
Hint    "You can feed them something, but they're greedy." drogo_wolves;
Hint    "If they can eat both of you, they will." drogo_wolves;
Hint    "You need to find somewhere safe before you feed them." drogo_wolves;
Hint    "Maybe somewhere high." drogo_wolves;
Hint    "Like the stables." drogo_wolves;
Hint    "Or you can pray." drogo_wolves;

HintTopic       infirmary_cemetery "What can I do in the infirmary and cemetery?";

Hint    "Not much." infirmary_cemetery;
Hint    "There are some clues to gather." infirmary_cemetery;
Hint    "The infirmary is pretty empty. The plague works fast, but would it work
that fast?" infirmary_cemetery;
Hint    "And the cemetery seems awfully undisturbed." infirmary_cemetery;

HintTopic       getting_in_cellar "How do I get into the cellar?";

Hint    "You don't, at least not until Terce." getting_in_cellar;
Hint    "Constantin is pretty out of it now." getting_in_cellar;
Hint    "His key shouldn't be too hard to get." getting_in_cellar;
Hint    "If you can avoid waking him." getting_in_cellar;
Hint    "You can always kill him, then he'll never wake up." getting_in_cellar;
Hint    "Or, if you're chicken, you can make sure he doesn't hear you."
getting_in_cellar;
Hint    "By putting wax in his ears." getting_in_cellar;
Hint    "Or you could just get his tools from where he left them." getting_in_cellar;

HintTopic       once_in_cellar "A horror of great darkness fell upon him...";

Hint    "Cellars are always dangerous, aren't they?" once_in_cellar;
Hint    "Someone's coming, you better hide." once_in_cellar;
Hint    "Where is up to you, someplaces are better than others." once_in_cellar;
Hint    "Then you can get the drop on him." once_in_cellar;
Hint    "Or drop him down the stairs." once_in_cellar;
Hint    "Put the candle on the stairs, or pray, or just attack him.";

HintTopic       after_cellar "What do I do now?";

Hint    "Well, now you should have the prybar." after_cellar;
Hint    "Now you have access to something you've probably forgotten about by now."
after_cellar;
Hint    "The stone in Matteo's room." after_cellar;
Hint    "Go dig it up.";

HintTopic       end_game_evil "Endgame";

Hint    "You're almost there." end_game_evil;
Hint    "If you're reading this, you were quite naughty." end_game_evil;
Hint    "There's other ways to play the game. If you're not sick of it yet, after
this go back and try to be less evil." end_game_evil;
Hint    "All you have left to do is discard your useless body." end_game_evil;
Hint    "And return from whence you came." end_game_evil;

HintTopic       end_game "Endgame";
Hint    "You're almost there." end_game;
Hint    "Wait for Cecilia to finished her rant." end_game;
Hint    "Then talk to her." end_game;
Hint    "Where you go is up to you." end_game;


!TEMPORARY DEFINITIONS

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

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!ACCESSORY START STUFF
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!




!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!CLASSES, ATTRIBUTES, ETC.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Attribute legible;


Class   Room
with    name 'wall' 'walls' 'stone' 'mold' 'mould' 'mildew',
has             light;

Class   Outside_Room
has             light;

Class Simple_Door
 with
       description [;
               if (self hasnt open)
                       "The door is shut, but its cracked wooden mass does nothing to
                       stay the drafts of Saint Cuthbert's.";
               else
                       "The door creaks on its hinges as it sways back and forth in a
                       draft.";
               ],

 door_to
 [; if (location==self.side1_to) return self.side2_to; return self.side1_to;
 ],
 door_dir
 [; if (location==self.side1_to) return self.side2_dir; return self.side1_dir;
 ],
 side1_to 0,
 side2_to 0,
 side1_dir 0,
 side2_dir 0,
 opendesc "open",
 closeddesc "closed",
 statedesc [; if (self has open)   print (string) self.opendesc;
              if (self hasnt open) print (string) self.closeddesc; ],
 isconcealed 1, ! concealed by default
 describe
 [; if (self.isconcealed==1) rtrue;
    print "^";
    print (The) self, " is "; self.statedesc(); ".";
 ],
 autoopen 1, ! automaticaly open by default
 before
 [; Enter: self.automat();
               Push,Pull:
                       <<Open self>>;
 ],
 react_before
 [; Go: if (noun notin compass) rfalse;
        if ((noun.door_dir==self.side1_dir && location==self.side2_to)
         || (noun.door_dir==self.side2_dir && location==self.side1_to)
         || (location.(noun.door_dir)==self))
              self.automat();
 ],
 automat
 [; if (self.autoopen==0) return;
    if (self has locked) return; ! can't open if locked
    if (self has open) return;   ! nothing to do if open
    if (self hasnt open && self hasnt locked)
      {print "(opening ", (the) self, ")^"; give self open;}
 ],
 has door scenery openable;



!Class  Simple_Door
!with   name 'door' 'wooden' 'hinges' 'cracked',
!               description [;
!               if (self hasnt open)
!                       "The door is shut, but its cracked wooden mass does nothing to
!                       stay the drafts of Saint Cuthbert's.";
!               else
!                       "The door creaks on its hinges as it sways back and forth in a
!                       draft.";
!               ],
!               before [;
!                       Push,Pull:
!                               <<Open self>>;
!               ],
!               react_before [;
!                       Go: if (location == entrance_hall && noun == s_obj && entrance_door hasnt
!                       open && entrance_door.cecilia_let_in == false && entrance_hall.
!                       cecilia_heard >= 1)
!                                       <<Open entrance_door>>;
!                               if (noun.door_dir == self.door_dir)
!                                         return self.open_by_myself();
!
!                         Enter: if (noun == self)
!                                       return self.open_by_myself();
!               ],
!       open_by_myself [ ks;
!                         if (self has open) rfalse;
!                         print "(first opening ", (the) self, ")^";
!                         ks = keep_silent; keep_silent = true;
!                         <Open self>; keep_silent = ks;
!                         if (self hasnt open) rtrue;
!               ],
!has    scenery door openable;

Class   Saint
with
               before [;
                       Examine:
                               if (noun == cecilia)
                                       "You cannot see her.";
                               if (location ~= church or chancel)
                                       "You cannot see him.";
                               else
                                       return false;
!                       PrayThrough:
!                       print "(to God through ", (the) self, ")^";
!                       return false;
                       PrayTo:
                               return false;
                       default:
                               if (location ~= church or chancel)
                                       "He is not here.";
                               else
                                       "He is too high.";
               ],
               found_in [;
                       return true;
               ],
has             scenery proper;


Class Quotation;
Object PendingQuote; Object SeenQuote;
[ QuoteFrom q;
 if (~~(q ofclass Quotation)) "*** Oops! Not a quotation. ***";
 if (q notin PendingQuote or SeenQuote) move q to PendingQuote;
];
[ AfterPrompt q;
 q = child(PendingQuote);
 if (q) {
     move q to SeenQuote;
     q.show_quote();
 }
];

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!CONVERSATION TOPICS
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[ TopicScope;
   switch(scope_stage)
   {
    1: rfalse;
    2: ScopeWithin(Topics);
       rtrue;
    3: "";
   }
];

Class   Topic
with   short_name "that",
has    proper;

Object  Topics;

Topic -> Tsnow
with    name 'snow' 'snowing' 'cold' 'weather' 'sky' 'winter' 'chill';

Topic -> Tsaint_cuthbert
with    name 'saint' 'cuthbert' 'st';

Topic -> Tsaint_medard
with    pname 'saint' 'medard' 'of' 'noyon' 'st';

Topic -> Tsaint_roch
with    pname 'saint' 'roch';

Topic -> Tsaint_francis
with    pname 'saint' 'francis' 'of' 'assisi' 'st';

Topic -> Tsaint_drausinus
with    pname 'saint' 'drausinus' 'st';

Topic -> Tmonastery
with    pname 'saint' 'cuthbert^s' 'monastery' 'abbey' 'st';

Topic -> Tchurch
with    name 'church' 'chapel' 'spires';

Topic -> Tcalefactory
with    name 'calefactory';

Topic -> Tbelltower
with    name 'bell' 'tower' 'belltower';

Topic -> Tinfirmary
with    name 'infirmary' 'hospital';

Topic -> Tdormitory
with    name 'dormitory' 'dorm' 'dorms' 'cell' 'cells';

Topic -> Tcellar
with    name 'cellar' 'basement';

Topic -> Tlocutory
with    name 'locutory';

Topic -> Tfood
with    name 'food' 'eat' 'eating' 'hungry' 'hunger' 'cheese' 'bread';

Topic -> Tsleep
with    name 'sleep' 'tired' 'tire' 'rest' 'bed';

Topic -> Tplague
with    name 'plague' 'sickness' 'bubo' 'buboes' 'ill' 'illness' 'sick';

Topic -> Trovato
with    name 'town' 'rovato' 'village' 'villagers' 'villager' 'refugees';

Topic -> Tgate
with    name 'gate' 'close' 'closing' 'closed';

Topic -> Tsin
with    name 'sin' 'sins' 'sinning' 'trangression' 'evil';

Topic -> Tdevil
with    name 'devil' 'lucifer' 'satan';

Topic -> Tyourself
with    name 'yourself' 'me' 'you' 'myself' 'father' 'emmanuelle' 'augustine';

Topic -> Tcecilia
with    name 'girl' 'young' 'woman' 'cecilia' 'visitor' 'guest' 'stranger' 'lady'
'angel';

Topic -> Tdrogo
with    pname 'brother' 'drogo';

Topic -> Tignatius
with    pname 'brother' 'iggy' 'ignatius';

Topic -> Tconstantin
with    pname 'brother' 'constantin';

Topic -> Tmatteo
with    name 'brother' 'matteo';

Topic -> Tlucca
with    pname 'brother' 'lucca';

Topic -> Thimself
with    name 'him' 'himself';

Topic -> Therself
with    name 'her' 'herself';

Topic -> Tgod
with    name 'god' 'religion';

Topic -> Tprayer
with    name 'prayer' 'praying' 'vespers' 'compline' 'matin' 'matins' 'lauds' 'prime'
'terce' 'sext' 'none' ;


Class   NPC
has             animate;

Class   Brother
with    name 'brother' 'man',
has             proper male animate container transparent;

Class   Drogo
class   Brother
with    name 'drogo',
               talking_garden 0,
               talking_chancel 0,
               talking_refectory 0,
               talking_tower 0,
               visitor_told 0,
               before [;
                       Listen:
                               switch(time_shadow.current_time){
                                       default:
                                       print (string) random("~You do it,~ he shrieks to one side. ~No,
                                       you do it!~^", "~Our Father, who art in Heaven...~^", "~Hail
                                       Mary, full of grace, the Lord is with thee.~^", "~Do you want to
                                       do it?~ he asks. ~Of course, but with him watching?~  He pauses.
                                       ~No, I guess not.~^");
                       }
                       TalkTo:
                               switch(time_shadow.current_time) {
                               0:
                               switch((self.talking_refectory)++) {
                               0:
                               QuoteFrom(ecclesiastes10_13);
                               "~How are you feeling, brother?~
                               ^^~Oh, I am feeling quite alright. In fact, I feel like a bird who
                               crawls under the soil.~";
                               1:
                               "~Why do you scratch at the table, Brother Drogo?~ You ask.
                               ^^~To get to the middle, of course,~ he says, looking at you as
                               though you are mad.";
                               2:
                               "~And why do you want to reach the middle?~
                               ^^~Because it is that much closer to the bottom.~";
                               3:
                               "~And the bottom?~
                               ^^~Hmm.~ He pauses thoughtfully and stares at the deepening hole.
                               ~That is a
                               good question.~  The scratching resumes.";
                               default:
                               "~Please, father,~ he mutters, not looking up. ~This is very
                               important.~";
                               }
                               1:
                               switch((self.talking_tower)++) {
                               0:
                                       if (brothers_tower.murder_conversation >= 2)
                                               "~Why do they think Lucca did it?~ You ask.
                                               ^^~Because he did.~  He replies, confused. ~Why else would
                                               one think such a thing?~
                                               ^^~I mean, how do they know he did it.~
                                               ^^~Oh, well that isn't what you asked, now is it, father?~ He
                                               continues. ~Well, when we got here, Brother Lucca was
                                               already here saying 'I'm sorry, I'm sorry.'~";
                                       else
                                               "~What's wrong with Lucca?~
                                               ^^~He's a murderer, of course.~";
                               1:
                                       "~What happened, Drogo?~ You ask.
                                       ^^~Well, the way I see it is that Matteo wanted to fly, but God
                                       said 'No, Matteo. Flying is for birds. You are not a bird, and
                                       shouldn't wish to be.'~ Drogo starts. ~Matteo was not happy with
                                       that --you know how he can be sometimes-- but he thought God
                                       would be mad if he tried to fly on his own. So Lucca helped
                                       him.~";
                               default:
                                       if (brothers_tower in belltower_bottom)
                                       "~Shhh,~ he hushes, holding a finger to his lips. ~This is the
                                       most entertaining skit I have ever seen.~";
                                       else
                                       "Drogo ignores you to swat at an invisible fly.";
                               }
                               3:
                                       if (location ~= chancel or garden)
                                       "~Shhhh, father. There'll be plenty of time for question and
                                       answer
                                       soon enough.~";
                                       if (location == chancel)
                                       switch((self.talking_chancel)++) {
                                       0:
                                       "~What have you done, Drogo?~ You ask, the blood draining from
                                       your face.
                                       ^^He barely hears you. ~It is so beautiful. Matteo has died for
                                       our sins just like Jesus. He deserves a cross too.~";
                                       1:
                                       "~Matteo is not Jesus, Drogo,~ you say, quietly. ~You know that,
                                       right?~
                                       ^^His eyes cloud over for a moment. ~I know that, father~ --he
                                       spits the
                                       word-- ~Matteo is better. What is the consequence in dying if
                                       you come back
                                       three days later. Matteo is a true martyr. He's gone to Hell
                                       for our sins, and he won't be leaving like Jesus.~";
                                       default:
                                       "All he does is stare at Matteo, awe in his eyes.";
                                       }

                                       if (location == garden && self.talking_garden == 0) {
                                       self.talking_garden = 1;
                                       "~What are you doing, Drogo?~ You ask, almost afraid of the
                                       answer.
                                       ^^~Matteo needs something else. Something more,~ he says, going
                                       back to the briars. ~You'll see. It'll be perfect.~";
                                       }
                                       else
                                       "~Shhh, father. I need to find the perfect one.~";

                       }
               ],
               life [;
                       Order:
                               switch(time_shadow.current_time) {
                                       default:
                                               "~Please, father,~ he puffs. ~This is far more important.~";
                                       }

                       Ask,Tell:
                               switch(second) {
                               'human', 'humans', 'mankind', 'man', 'men', 'humanity':
                                       "~Weak, dirty creatures,~ he says, looking directly at you. ~Not
                                       like my friends.~ He turns away. ~Not like my friends, at all.~";
                               'cat', 'feline', 'black':
                                       "~I saw nothing,~ he says, his voice quivering slightly.";

                               'horse', 'horses', 'filly', 'mare':
                                       "~She's dirty and mean. Violence is the only thing she
                                       understands.~";
                               'briar', 'briars', 'bushes', 'thorns':
                                       "~You'll see, it'll be perfect.~";
                               'wolf', 'wolves', 'alpha', 'dog', 'dogs', 'pack', 'growl', 'growls',
                               'chorus',
                               'eye', 'eyes', 'shape', 'shapes':
                                       "~My dear friends. So much better than humans.~";
                               'food', 'cheese', 'bread', 'eating', 'hungry':
                                       if (cecilia_food hasnt moved)
                                               "~Do you happen to know if there is any food left?~
                                               ^^~The cupboard was eating something last time I saw.~ He
                                               answers without even raising his head.";
                                       else
                                               "~Are you hungry, brother?~
                                               ^^~No,~ he replies. ~Let the animals eat. God's love
                                               sustains me.~  His voice rises to a shrill falsetto as he
                                               stares up to the ceiling.";
                               'scratch', 'scratching', 'table', 'top', 'surface':
                               "~Why do you scratch at the table, Brother Drogo?~ You ask.
                               ^^~To get to the middle, of course.~ He says, looking at you as
                               though you are mad.";
                               'middle':
                               "~And why do you want to reach the middle?~
                               ^^~Because it is that much closer to the bottom.~";
                               'bottom':
                               "~And the bottom?~
                               ^^~Hmm.~ He pauses thoughtfully and stares at the deepening hole.
                               ~That is a
                               good question.~  The scratching resumes.";
                               'mad', 'madness', 'insanity', 'lunacy', 'crazy', 'craziness',
                               'feeling', 'drogo', 'him', 'himself':
                               QuoteFrom(ecclesiastes10_13);
                               "~How are you feeling, brother?~
                               ^^~Oh, I am feeling quite alright. In fact, I feel like a bird who
                               crawls under the soil.~";
                               'visitor', 'girl', 'cecilia', 'young', 'woman', 'guest', 'change',
                               'she':
                                       if (self.visitor_told == false)
                                               "~Did you know we had a guest, Brother Drogo?~
                                               ^^~But of course, father. Didn't you?~";
                                       else
                                               "~How is she going to change everything?~ You ask.
                                               ^^~How she will is she will.~";
                               'they', 'them', 'told':
                                       "~Who?  Who told you she was here?~
                                       ^^Drogo's eyes slow for a minute: swaying from side to side
                                       rather than darting. Then he turns and looks at you quizzically:
                                       ~Why, you did, of course.~";

                               'visitor', 'girl', 'cecilia', 'young', 'woman', 'guest':
                               self.visitor_told = true;
                               "~We have a visitor, Brother Drogo. Isn't that nice?~
                               ^^~Yes. They told me she was here.~  Then, for the first time in a
                               long while, his eyes meet yours. ~She is going to change
                               everything, you know.~";

                               'what', 'happened', 'murder', 'death', 'body', 'corpse', 'matteo',
                               'dead', 'kill', 'killing', 'murderer':
                                       "~What happened, Drogo?~ You ask.
                                       ^^~Well, the way I see it is that Matteo wanted to fly, but God
                                       said 'No, Matteo. Flying is for birds. You are not a bird, and
                                       shouldn't wish to be.'~ Drogo starts. ~Matteo was not happy with
                                       that --you know how he can be sometimes-- but he thought God
                                       would be mad if he tried to fly on his own. So Lucca helped
                                       him.~";
                               'lucca':
                                       if (brothers_tower.murder_conversation >= 2)
                                               "~Why do they think Lucca did it?~ You ask.
                                               ^^~Because he did.~  He replies, confused. ~Why else would
                                               one think such a thing?~
                                               ^^~I mean, how do they know he did it.~
                                               ^^~Oh, well that isn't what you asked, now is it, father?~ He
                                               continues. ~Well, when we got here, Brother Lucca was
                                               already here saying 'I'm sorry, I'm sorry.'~";
                                       else
                                               "~What's wrong with Lucca?~
                                               ^^~He's a murderer, of course.~";
                               'constantin':
                                       "~Why is Constantin so angry?~
                                       ^^~Because he is Constantin.~  He grabs your collar and pulls you
                                       close. ~He has secrets that hurt him.~";
                               'secret', 'secrets':
                                       "~What kind of secrets, Drogo?~
                                       ^^~The good kind. The kind you would die to know. Or is that
                                       the kind you would die if you knew?  I can never keep it
                                       straight.~";
                               'ignatius':
                                       "~When did Ignatius get here?~
                                       ^^~Right after I did. You should have seen the look on his face,
                                       it was hilarious.~";
                               'look', 'face', 'hilarious':
                                       "~What kind of look was it?~
                                       ^^Drogo closes one eye and contorts his face into a comical look
                                       of terror. ~He was like, 'Ahh, Matteo.'~ He says, waving his
                                       hands in front of him.";
                               'friends', 'friend', 'play', 'garden':
                                       "~What friends, Drogo?~
                                       ^^~Oh, you wouldn't like them.~ He smiles, his teeth form a
                                       brilliant row. ~But they would sure like you!~";
                               Thimself:
                               switch(time_shadow.current_time) {
                               default:
                               QuoteFrom(ecclesiastes10_13);
                               "~How are you feeling, brother?~
                               ^^~Oh, I am feeling quite alright. In fact, I feel like a bird who
                               crawls under the soil.~";
                               }

                               Tsnow:
                               switch(time_shadow.current_time) {
                               "~Brrr.~ He rubs his shoulders briskly. ~Don't worry though, we'll
                               all be warmer than we can handle soon enough.~";
                               }
                               Tsaint_cuthbert:

                               switch(time_shadow.current_time) {
                               0,1:
                               "~So beautiful,~ he says, having an even farther off look than usual.
                               ~Such a valiant protector of our quaint little home.~";
                               3:
                               "~Not doing so well, is he?~  Drogo pouts out his lips in mock
                               concern. ~It's probably just the weather.~";
                               default:
                               "~I think he called the maggots himself.~ Drogo frowns. ~I don't
                               think he likes Matteo up there.~";
                               }
                               Tsaint_medard:
                               switch(time_shadow.current_time) {
                               "~He shields us from God's fury!~  Drogo shrieks, giving a mock
                               cower.";
                               }
                               Tsaint_roch:
                               switch(time_shadow.current_time) {
                               }
                               Tsaint_francis:
                               switch(time_shadow.current_time) {
                               "~Oh, Francis.~ Fondness glazes over Drogo's eyes. ~He commands the
                               creeping, crawling, wonderful monsters of the Earth!  I wish I were
                               more like him!~";
                               }
                               Tsaint_drausinus:
                               switch(time_shadow.current_time) {
                               "~He protects against the darkness. I prefer to sleep with my eyes
                               open, myself.~";
                               }
                               Tmonastery:
                               switch(time_shadow.current_time) {
                               0,1:
                               "~I'm so delighted be be back!~ Drogo says, bowing. ~The infirmary
                               was
                               beginning to smell!~";
                               3:
                               "~It gets more and more comfortable the longer I'm here.~";
                               default:
                               "~Yes, it's starting to feel like home again.~";
                               }
                               Tchurch:
                               switch(time_shadow.current_time) {
                               0,1:
                               "~She is scary,~ Drogo says. ~So pointy and angry.~";
                               3:
                               "~She is calming down. She realizes her place is here, on Earth.~";
                               default:
                               "~Don't worry, I'll make her as good as she can be.~";
                               }
                               Tcalefactory:
                               switch(time_shadow.current_time) {
                               1:
                               "~Lucky Lucca!~ Drogo exclaims. ~He gets the heat, and we get the
                               cold.
                               Maybe I should murder someone too!~  He grins, but not as laughingly
                               as you
                               would hope.";
                               default:
                               "~I wonder,~ Drogo says without looking up. ~If that's what Hell
                               feels like,
                               why are we trying to go to Heaven?~";
                               }
                               Tbelltower:
                               switch(time_shadow.current_time) {
                               0:
                               "~You can see all your friends from up there.~";
                               default:
                               "~Matteo always said it felt like you were flying when the wind was
                               blowing.~";
                               }
                               Tdormitory:
                               switch(time_shadow.current_time) {
                               "~It's wonderful, isn't it?~ he asks, ~Your own room; no lunatics
                               sleeping beside you. Well, I guess there's one sleeping beside
                               Ignatius.~ He winks.";
                               }
                               Tinfirmary:
                               switch(time_shadow.current_time) {
                               "~Ugh, disgusting!~ he sticks his tongue out. ~It's so much better
                               here.~";
                               }
                               Tcellar:
                               switch(time_shadow.current_time) {
                               "~Ooh, it's dark down there!~  He pulls you in. ~The darkness hides
                               things better than the light.~";
                               }
                               Tlocutory:
                               switch(time_shadow.current_time) {
                               }
                               Tfood:
                               switch(time_shadow.current_time) {
                               "~Try the kitchen,~ he says, pointing the way with a flip of his
                               greasy hair.";
                               }
                               Tsleep:
                               switch(time_shadow.current_time) {
                               0:
                               "~I can't sleep now!~ he says, his fury increasing. ~There is
                               important work
                               to be done!~  He resumes scratching the table.";
                               1:
                               "~Yes,~ he says, stretching out his arms. ~I guess it is getting to
                               be that
                               time.~";
                               default:
                               "~We don't have much time left!  I wouldn't waste it sleeping.~";
                               }
                               Tplague:
                               switch(time_shadow.current_time) {
                               0,1:
                               "~I'm so delighted that it came to Saint Cuthbert's!  Otherwise I'd
                               still be
                               in the infirmary.~";
                               default:
                               "~It gets kind of pretty after a while, doesn't it?  Normally people
                               are so smooth and boring.~";
                               }
                               Trovato:
                               switch(time_shadow.current_time) {
                               "~It's been so long since I've seen it. I bet it's prettier now.~";
                               }
                               Tgate:
                               switch(time_shadow.current_time) {
                               "~I wish you had left it open, there'd be so many more people to play
                               with.~";
                               }
                               Tsin:
                               switch(time_shadow.current_time) {
                               "~Fun, isn't it?~";
                               }
                               Tdevil:
                               switch(time_shadow.current_time) {
                               "~They say he is everywhere...~ his voice drops and his eyes widen in
                               terror at something behind you. You whirl around. Nothing.
                               ^^~Just having a little fun with you, father.~  He laughs.";
                               }
                               Tyourself:
                               switch(time_shadow.current_time) {
                               "~You're wonderful,~ Drogo squeals, embracing you. ~If only we were
                               all so old and lumpy!~";
                               }
                               Tcecilia:
                               switch(time_shadow.current_time) {
                               "~I do so love visitors!~ he squeals.";
                               }
                               Tdrogo:
                               switch(time_shadow.current_time) {
                               default:
                               QuoteFrom(ecclesiastes10_13);
                               "~How are you feeling, brother?~
                               ^^~Oh, I am feeling quite alright. In fact, I feel like a bird who
                               crawls under the soil.~";
                               }
                               Tignatius:
                               switch(time_shadow.current_time) {
                               0:
                                       "~He scares me.~ Drogo gives an exaggerated shudder. ~Always
                                       watching with that eye.~";
                               1:
                                       "~When did Ignatius get here?~
                                       ^^~Right after I did. You should have seen the look on his face,
                                       it was hilarious.~";
                               default:
                                       "Drogo squeezes one eye shut and twists his face. ~How's
                                       this?~";
                               }
                               Tconstantin:
                               switch(time_shadow.current_time) {
                               0:
                                       "~He caught us some food,~ Drogo pouts. ~I wish he wouldn't. My
                                       friends need to eat too.~";
                               1:
                                       "~Why is Constantin so angry?~
                                       ^^~Because he is Constantin.~  He grabs your collar and pulls you
                                       close. ~He has secrets that hurt him.~";
                               default:
                                       "~He's getting so pretty. He has plague colors now.~";
                               }
                               Tmatteo:
                               if (location == chancel)
                                       <<TalkTo self>>;
                               else
                               switch(time_shadow.current_time) {
                                       0:
                                               "~Always spying, that one!~ he shouts. ~He never lets my
                                               friends and I play in the garden.~";
                                       1:
                                       "~What happened, Drogo?~ You ask.
                                       ^^~Well, the way I see it is that Matteo wanted to fly, but God
                                       said 'No, Matteo. Flying is for birds. You are not a bird, and
                                       shouldn't wish to be.'~ Drogo starts. ~Matteo was not happy with
                                       that --you know how he can be sometimes-- but he thought God
                                       would be mad if he tried to fly on his own. So Lucca helped
                                       him.~";
                                       default:
                                       "~I hope he's enjoying the warm weather. Hell always seems so
                                       nice this time of year.~";

                               }
                               Tlucca:
                               switch(time_shadow.current_time) {
                               0:
                                       "~Such a baby.~ Drogo gives a mock cry. ~Always tears.~";
                               1:
                                       if (lucca_behind_door in outside_calefactory)
                                               "~Lucky Lucca!~ Drogo exclaims. ~He gets the heat, and we
                                               get the
                                               cold.
                                               Maybe I should murder someone too!~  He grins, but not as
                                               laughingly
                                               as you
                                               would hope.";
                                       if (brothers_tower.murder_conversation >= 2)
                                               "~Why do they think Lucca did it?~ You ask.
                                               ^^~Because he did.~  He replies, confused. ~Why else would
                                               one think such a thing?~
                                               ^^~I mean, how do they know he did it.~
                                               ^^~Oh, well that isn't what you asked, now is it, father?~ He
                                               continues. ~Well, when we got here, Brother Lucca was
                                               already here saying 'I'm sorry, I'm sorry.'~";
                                       else
                                               "~What's wrong with Lucca?~
                                               ^^~He's a murderer, of course.~";
                               3:
                                       "~Escaped did he?~  he says, scratching his chin. ~No. Never.
                                       He is too much of a baby.~";
                               default:
                                       "~Dead you say?~ he muses. ~At least now Matteo has someone to
                                       keep him company!~";
                               }
                               Tgod:
                               switch(time_shadow.current_time) {
                               default:
                                       "~I miss Him.~ Drogo's shoulders drop. ~I can never hear him
                                       anymore. It's too noisy.~ He raps on his head with his
                                       knuckles.";
                               }
                               Tprayer:
                               switch(time_shadow.current_time) {
                               "~Our Father, who art in Heaven: hallowed be thy name...~ He carries
                               on for quite some time.";
                               }
                               default:
                               switch(time_shadow.current_time) {
                               0:
                               "~Please, father.~ He doesn't look up from the table. ~This is far
                               more important.~";
                               1:
                               if (location == belltower_bottom)
                               "~Shhh,~ he hushes, holding a finger to his lips. ~This is the most
                               entertaining skit I have ever seen.~";
                               else
                               "~What was that?~ he asks, looking at you quizzically.
                               ^^You resume. He waves you away impatiently. ~Not you,~ he sighs,
                               carrying on another conversation entirely. ";
                               default:
                               "~What was that?~ he asks, looking at you quizzically.
                               ^^You resume. He waves you away impatiently. ~Not you,~ he sighs,
                               carrying on another conversation entirely. ";
                               }
                               }
               ],
has             ;

Class   Constantin
class   Brother
with    name 'Constantin',
               talking_hare 0,
               talking_lucca 0,
               talking_door 0,
               before [;
                       TalkTo:
                               switch(time_shadow.current_time) {
                               0:
                               switch((self.talking_hare)++) {
                               0:
                               "~What do you have there, Constantin?~ you ask, leaning forward.
                               ^^~Something to eat,~ he grunts.";
                               1:
                               "~Is there no food left in the cellar?~  He flinches slightly.
                               ^^~No. There is nothing in the cellar.~";
                               2:
                               "~Well, be sure to tell us when you are finished. We are all
                               hungry.~
                               ^^~I will.~";
                               default:
                               "An annoyed grunt is all you get.";
                               }

                               1:
                               if (location == belltower_bottom)
                               "~Shut up, father,~ he barks. For a moment he seems about to
                               apologize, but he doesn't.";
                               else
                               switch((self.talking_lucca)++) {
                               0:
                               "~Do you really believe that Lucca could have done it?~ you ask.
                               ^^~Of course I do,~ he says angrily, the rage returning to his eyes.
                               ~We found him next to the body, mumbling 'I'm sorry, I'm sorry,' over
                               and over
                               again.~";
                               1:
                               "~But it's Lucca,~ you retort.
                               ^^~I know that!~ he snarls. ~But he's different now. He must have
                               snapped under all of this.~";
                               default:
                               "~Get out, father,~ he growls, ~I want to sleep.~";
                               }
                               3:
                               switch((self.talking_door)++) {
                               0:
                               "~What makes you think he escaped?~ you ask, running your hand over
                               the door.
                               ^^~Because the door's broken, you idiot!~ he shouts, his face
                               burning. ~No
                               one else would want that murderer walking Saint Cuthbert's.~";
                               1:
                               "~But...~ you try.
                               ^^~Just shut up, father, and leave me to my work.~";
                               default:
                               "~I'm trying to work,~ he growls.";
                               }
                               default:
                               "He mumbles something: garbled words that spill out with the vomit.
                               He seems barely aware of what's going on.";
                       }
               ],
               life [;
                       Order:
                               switch(time_shadow.current_time) {
                                       0:
                                               "~Please, father.~ He scrapes at the hare. ~This is far more
                                               important.~";
                                       1:
                                               if (location ~= constantin_room)
                                                       "~I'm busy,~ he barks.";
                                               else
                                                       "~I'm trying to sleep, father,~ he growls.";
                                       3:
                                               if (location ~= outside_calefactory)
                                                       "~I'm trying to work!~";
                                               else
                                                       "~I have better things to do now, father,~ he growls.";
                                       default:
                                               "A gurgled sob is all you get.";
                                       }

                       Ask,Tell:
                               if (location == belltower_bottom)
                               "~Shut up, father,~ he barks. For a moment he seems about to
                               apologize, but he doesn't.";
                               if (time_shadow.current_time > 3)
                               "He mumbles something: garbled words that spill out with the vomit.
                               He seems barely aware of what's going on.";
                               else
                               switch(second) {
                               'lock', 'locks', 'key', 'keys':
                                       if (location == outside_calefactory)
                                               "~Lucca absolutely ruined it.~";
                                       else
                                               "~A precaution. I don't want anyone stealing any food.~";
                               'hare', 'rabbit', 'young', 'catch', 'knife':
                               if (time_shadow.current_time == 0) {
                                       QuoteFrom(isaiah1_15);
                                       "~Ah, I see you have found us something to eat.~
                                       ^^Constantin looks up distractedly. ~What?  Oh, yes. Something
                                       to eat,~ he says, returning to his catch.";
                               }
                               else
                                       "~Keep it. I cannot swallow anything anymore.~";
                               Thimself:
                               switch(time_shadow.current_time) {
                               0:
                               "~Oh, I'm fine.~ He coughs a little, but it shakes his whole body.";
                               1:
                               "~I'm tired. Now leave me alone.~  A cough shakes his body, and a
                               little blood spits up onto his collar.";
                               3:
                               "~I was fine,~ he coughs. ~Until someone started pestering me while
                               I tried to work.~";
                               }
                               Tsnow:
                               switch(time_shadow.current_time) {
                               0:
                               "~That's why I'm in here.~ He holds up the hare triumphantly. ~Do
                               you know how long it took to catch this?~";
                               1:
                               "~It's in my clothes now. And Lucca's taking up the calefactory.~ He
                               frowns.~";
                               3:
                               "~He shivers almost uncontrollably. ~It's fine,~ he says, coughing.
                               ~I'll be done soon.~";
                               }
                               Tsaint_cuthbert:
                               switch(time_shadow.current_time) {
                               0,1:
                               "~A lot of good he has done us. The patron saint of the plague, and
                               look at
                               this place.~ Constantin goes back to the hare.";
                               3:
                               "~Is there something different about Saint Cuthbert?~ you ask.

                               ^^~You're imagining things, father.~";
                               default:
                               "~Saint Cuthbert is rotting!~ you cry.

                               ^^~Careful, father. You're beginning to sound like Drogo.~";
                               }
                               Tsaint_medard:
                               switch(time_shadow.current_time) {
                               "~Are you alright, father?~ he looks at you quizzically. ~He is
                               the
                               patron saint of weather.~";
                               }
                               Tsaint_roch:
                               switch(time_shadow.current_time) {
                               }
                               Tsaint_francis:
                               switch(time_shadow.current_time) {
                               "~Are you alright, father?~ he looks at you quizzically. ~He is
                               the patron saint of animals.~";
                               }
                               Tsaint_drausinus:
                               switch(time_shadow.current_time) {
                               "~I need no protection.~ He massages the blade of his knife for a
                               moment. ~If anyone tries anything...~";
                               }
                               Tmonastery:
                               switch(time_shadow.current_time) {
                               0,1:
                               "~It's getting eerie, father. This is a place of life, not death.
                               Well, it was.~";
                               default:
                               "~It's starting to get to me,~ he says, clutching at your frock. ~We
                               need people!~";
                               }
                               Tchurch:
                               switch(time_shadow.current_time) {
                               "~It's creepy in there without the brothers. Just Ignatius. Always
                               Ignatius.~";
                               }
                               Tcalefactory:
                               switch(time_shadow.current_time) {
                               1:
                               "~Don't worry, father. We'll be safe with him in there.~";
                               default:
                               "~Too hot in there: too cold everywhere else. I hate winter.~";
                               }
                               Tbelltower:
                               switch(time_shadow.current_time) {
                               0:
                               "~I'm just glad that Matteo rings it. Those heights are too much for
                               me.~";
                               default:
                               "~I knew I should have extended those rails.~";
                               }
                               Tinfirmary:
                               "~It's hard to keep up. So many bodies.~";
                               Tdormitory:
                               switch(time_shadow.current_time) {
                               "~This is the only place that doesn't feel empty.~";
                               }
                               Tcellar:
                               switch(time_shadow.current_time) {
                               "~What?~ he startles. ~I'll get around to taking the lock off.
                               There's no food left down there anyway.~ His eyes darken as they meet
                               yours. ~There's no reason to go down there anymore.~";
                               }
                               Tlocutory:
                               switch(time_shadow.current_time) {
                               }
                               Tfood:
                               switch(time_shadow.current_time) {
                               0,1:
                               QuoteFrom(isaiah1_15);
                               "~I don't think there's any food left.~ He lifts up the bloody hare,
                               ~Hence this.~";
                               default:
                               "~I can't keep anything down. I left the hare in my room.~";
                               }
                               Tsleep:
                               switch(time_shadow.current_time) {
                               0:
                               "~After I finish this,~ he says, never lifting his eyes.";
                               default:
                               "~Be careful, father. Sleep is always a gamble.~";
                               }
                               Tplague:
                               switch(time_shadow.current_time) {
                               0,1:
                               "~It moves too quickly,~ he says, almost guiltily. ~I can barely
                               keep up.~";
                               default:
                               "Constantin rolls up his sleeve, exposing a thick black bruise and
                               dozens of buboes. ~I'm next.~";
                               }
                               Trovato:
                               switch(time_shadow.current_time) {
                               "~There was little you could have done, father. Rovato got what
                               it deserved.~";
                               }
                               Tgate:
                               "~It must have been a difficult decision.~";
                               Tsin:
                               switch(time_shadow.current_time) {
                               0:
                               "~The wages of sin is death, and the wages of life is sin.~  He says,
                               eyes on the hare.";
                               default:
                               "~It's unavoidable. Don't feel bad.~";
                               }
                               Tdevil:
                               switch(time_shadow.current_time) {
                               0:
                               "~I hear he can manipulate you into doing things you aren't even
                               aware of.~
                               ^^As Constantin speaks, his knife moves further and further from the
                               hare and closer to his own fingers. The blade just about slices
                               across his thumb when he moves it back up to the neck and repeats the
                               process.";
                               default:
                               "He pulls you close, and for the first time that you've seen, he is
                               scared. ~He is here, you know. In our hearts,~ --he glances at you--
                               ~in our minds.~";
                               }
                               Tyourself:
                               switch(time_shadow.current_time) {
                               "~You're fine. Or at least you were before you started with all
                               these annoying questions.~";
                               }
                               Tcecilia:
                               switch(time_shadow.current_time) {
                               0,1:
                               "~A woman, you say.~ He goes about preparing for bed. ~That can only
                               mean trouble.~";
                               3:
                               "~I don't trust her. She is unclean.~";
                               }
                               Tdrogo:
                               switch(time_shadow.current_time) {
                               0:
                               "~Why'd you let him back here?  He isn't fit to be with the rest of
                               us.~";
                               1:
                               "~Watch him, father,~ he says to you earnestly. ~He's not docile
                               like he used to be. He is dangerous.~";
                               3:
                               if (drogo4 in garden)
                               "~Drogo crucified Matteo.~ Your words are flat, lifeless.
                               ^^~Damnit,~ he slams the hammer extra hard, and turns to you. ~Why
                               did you let him out?~ he massages the hammer gently. ~Well, you deal
                               with him, because if he comes around here, I can't guarantee his
                               safety.~";
                               else
                               "~He's working on something in the church. I don't trust him in
                               there.~";
                               }
                               Tignatius:
                               switch(time_shadow.current_time) {
                               0:
                               "~I think he's in the church, confessing his sins,~ he chuckles. ~I
                               think he'll be there all night.~";
                               default:
                               "He fumes, blood filling his cheeks. ~Get out, father.~";
                               }
                               Tconstantin:
                               switch(time_shadow.current_time) {
                               0:
                               "~Oh, I'm fine.~ He coughs a little, but it shakes his whole body.";
                               1:
                               "~I'm tired. Now leave me alone.~  A cough shakes his body, and a
                               little blood spits up onto his collar.";
                               3:
                               "~I was fine,~ he coughs. ~Until someone started pestering me while
                               I tried to work.~";
                               }
                               Tmatteo:
                               switch(time_shadow.current_time) {
                               0:
                               "~He's so strange lately.~ Constantin swats at an imaginary fly. ~All
                               he does is watch from the tower.~";
                               1,3:
                               "~Damn Lucca. He'll burn in Hell for what he did.~";

                               }
                               Tlucca:
                               switch(time_shadow.current_time) {
                               0:
                               "~I heard him rush to Matteo's room, crying,~ he says. ~He's not
                               taking the plague well.~";
                               }
                               Tgod:
                               switch(time_shadow.current_time) {
                               0:
                               "~He can't see everything, right?~";
                               1:
                               "~He will punish Lucca for what he did.~";
                               3:
                               "~What did we do to make him so angry?~ he almost sobs.";
                               }
                               Tprayer:
                               switch(time_shadow.current_time) {
                               "~It's all we have left.~";
                               }
                               default:
                               switch(time_shadow.current_time) {
                               0:
                               "Constantin is quite intent upon his catch and appears not to
                                       hear you.";
                               1:
                               "~Get out, father,~ he growls, ~I want to sleep.~";
                               3:
                               "~I'm trying to work,~ he growls.";
                               }
                               }
               ],
has             ;

Class   Ignatius
class   Brother
with    name 'Ignatius',
               talking_church 0,
               talking_bed 0,
               talking_calefactory 0,
               before [;
                       TalkTo:
                               switch(time_shadow.current_time) {
                                       0:
                                       switch((self.talking_church)++) {
                                       0:
                                       "~How are you, Ignatius?~ you ask, laying your hand on his
                                       shoulder.
                                       ^^He startles, whirling around, his bad eye twitching and
                                       shuddering. ~Oh,
                                       father. You spooked me.~ He shakes his head. ~I'm sorry, what
                                       did you
                                       ask.~";
                                       1:
                                       "~I was just wondering how you were doing.~
                                       ^^~Oh, fine.~ He relaxes, turning back to the candles. ~Just
                                       fine.~";
                                       default:
                                       "~Shhh, father.~ He holds a finger to his lips. ~I am trying to
                                       pray.~";
                                       }
                                       1:
                                       switch((self.talking_bed)++) {
                                       0:
                                       "~Do you believe that Lucca did it?~ you ask.
                                       ^^~I don't know,~ he replies calmly. ~But it's best to be safe.
                                       I never
                                       would have thought Lucca could've had it in him, but these trying
                                       times make
                                       demons of us all.~  He glances at you pointedly.";
                                       1:
                                       "~What do you mean?~
                                       ^^He thinks for a moment, and looks to the ceiling. ~It's just
                                       that in these times we can sometimes find ourselves doing things
                                       we never thought we had in us.~";
                                       2:
                                       "~Like what?~
                                       ^^His shoulders tighten. ~If it's all the same to you,
                                       father,~ he says, straightening
                                       out his
                                       bed. ~I think I would like to get some sleep.~";
                                       default:
                                       "~If it's all the same to you, father,~ he says, straightening
                                       out his
                                       bed. ~I think I would like to get some sleep.~";
                                       }
                                       5,6,7,8:
                                       switch((self.talking_calefactory)++) {
                                       0:
                                       "~What do you mean?~ you ask, edging towards the door.
                                       ^^Ignatius laughs: a cold, dead sound. ~You know better than any
                                       of us, father.~ He smiles at you.";
                                       1:
                                       "~I don't know what you're talking about,~ you reply. He's close.
                                       Too close.
                                       ^^~Hah.~ Ignatius winks. Funny, it blinds him for a moment. ~Of
                                       course you don't, father. I'm just teasing.~";
                                       2:
                                       "You muster a weak, sickly laugh. ~Right. Haha.~
                                       ^^All he does is stare.";
                                       }

                                       default:
                                       "He just stares at you with his eye. The other twitches and
                                       laughs.";
                       }
               ],

               life [;
                       Order:
                               switch(time_shadow.current_time) {
                                       0:
                                               "~Please, father,~ he says. ~I'm trying to pray.~";
                                       1:
                                               if (location ~= ignatius_room)
                                                       "~I'm busy!~";
                                               else
                                                       "~Please, father,~ he says wearily. ~I need sleep.~";
                                       default:
                                               "His eye just twitches.";
                                       }

                       Ask,Tell:
                               switch(second) {
                               'live', 'living', 'till', 'spring':
                                       "~I am sure we will all be fine, Brother Ignatius. Spring will
                                       be here before you know it.~
                                       ^^~You know, father.~ He says, giving you a most curious glance.
                                       ~It is a sin to lie.~";
                               'staring', 'stare', 'candle', 'candles', 'flames', 'flame', 'fire':
                                       QuoteFrom(psalms106_18);
                                       "~They are beautiful, are they not?~ You ask, gesturing at the
                                       flickering lights.
                                       ^^~Truly, it is the face of God.~ He replies, not moving his eye
                                       for an instant.";

                               'prayer', 'pray', 'praying':
                                       "~What do you pray for, Brother?~ You ask.
                                       ^^~That we might live till spring, father.~  He pauses. ~We are
                                       running very low on food.~";
                               'live', 'living', 'till', 'spring', 'food', 'running', 'low':
                                       "~I am sure we will all be fine, Brother Ignatius. Spring will
                                       be here before you know it.~
                                       ^^~You know, father.~ He says, giving you a most curious glance.
                                       ~It is a sin to lie.~";
                               Thimself:
                               switch(time_shadow.current_time) {
                               0:
                               "~I was wondering how you were doing.~
                                       ^^~Oh, fine.~ He relaxes, turning back to the candles. ~Just
                                       fine.~";
                               default:
                               "~How are you feeling, Ignatius.~
                               ^^~Fine.~  That's all.";
                               }
                               Tsnow:
                               switch(time_shadow.current_time) {
                               "~Ah, yes. Our protector.~  He let's out a slight ~Hmph.~";
                               }
                               Tsaint_cuthbert:
                               switch(time_shadow.current_time) {
                               0,1:
                               "~So pure. We truly are blessed to have him here.~";
                               3:
                               "~What's happening to Saint Cuthbert?~ you ask.
                               ^^~I don't know what you're talking about, father. He looks
                               fine.~";
                               default:
                               "~Saint Cuthbert is rotting!~  you cry.
                               ^^~You are imagining things, father. He looks as he always
                               has.~";
                               }
                               Tsaint_medard:
                               switch(time_shadow.current_time) {
                               "~Are you alright, father?~ he looks at you quizzically. ~He is
                               the
                               patron saint of weather.~";
                               }
                               Tsaint_roch:
                               switch(time_shadow.current_time) {
                               }
                               Tsaint_francis:
                               switch(time_shadow.current_time) {
                               "~Are you alright, father?~ he looks at you quizzically. ~He is
                               the patron saint of animals.~";
                               }
                               Tsaint_drausinus:
                               switch(time_shadow.current_time) {
                               }
                               Tmonastery:
                               switch(time_shadow.current_time) {
                               0:
                               "~It's so empty now,~ Ignatius says, glancing around at all the
                               abandoned
                               pews. ~Nothing like the infirmary.~";
                               default:
                               "~It feels like the entire monastery has taken a vow of silence.~ He
                               looks at the ground. ~Well, I guess they have, in a sense,~ he
                               chuckles.";
                               }
                               Tchurch:
                               switch(time_shadow.current_time) {
                               0:
                               "~The candles warm my hands, and the church warms my heart,~ he says,
                               head
                               bowed. ~The cold has taken all else.~";
                               default:
                               "~It grows more beautiful all the time,~ he pauses. ~Or perhaps we
                               all just grow uglier.~";
                               }
                               Tcalefactory:
                               switch(time_shadow.current_time) {
                               1:
                               "~Don't worry, father. He'll be safe in there.~";
                               default:
                               "~Reminds me of the East.~ His voice drops. ~I hated the East.~";
                               }
                               Tbelltower:
                               switch(time_shadow.current_time) {
                               0:
                               "~Matteo's up there right now. He's always up there.~";
                               default:
                               "~What a shame,~ he shakes his head, ~If only those rails were
                               higher.~";
                               }
                               Tinfirmary:
                               switch(time_shadow.current_time) {
                               0,1:
                               "~There are still a few survivors,~ he shakes his head, ~But they are
                               fading
                               fast: probably won't last the night.~";
                               default:
                               "~They're all dead,~ --is he crying?-- ~Got it!~ he says, plucking
                               some debris from his eye.";
                               }
                               Tdormitory:
                               switch(time_shadow.current_time) {
                               "~It's nice, but I get a little claustrauphobic.~";
                               }
                               Tcellar:
                               switch(time_shadow.current_time) {
                               "~I think it's empty.~";
                               }
                               Tlocutory:
                               switch(time_shadow.current_time) {
                               }
                               Tfood:
                               switch(time_shadow.current_time) {
                               "~You might try the kitchen.~";
                               }
                               Tsleep:
                               switch(time_shadow.current_time) {
                               0:
                               "~After my prayers.~";
                               1:
                               "~Yes, I think some rest would do us all good.~";
                               default:
                               "~I am not tired.~";
                               }
                               Tplague:
                               switch(time_shadow.current_time) {
                               "~God is upset. Europe is falling. This plague is his curse,~ he
                               drones in a peculiar, monotonous voice.";
                               }
                               Trovato:
                               switch(time_shadow.current_time) {
                               "~Filthy, filthy place. No wonder God sent the plague there.~";
                               }
                               Tgate:
                               switch(time_shadow.current_time) {
                               "~It is good that you closed the gate, father. I can barely take
                               care of our own.~";
                               }
                               Tsin:
                               switch(time_shadow.current_time) {
                               "Ignatius's eye glazes over. ~The hand of God is never far off.~";
                               }
                               Tdevil:
                               switch(time_shadow.current_time) {
                               "~He is everywhere. The world is his dancing grounds.~";
                               }
                               Tyourself:
                               switch(time_shadow.current_time) {
                               "~You're an excellent priest and a perfect abbott. We are lucky to
                               have you.~";
                               }
                               Tcecilia:
                               switch(time_shadow.current_time) {
                               1:
                               "~She truly is an angel. I'm sure things will turn around now.~";
                               default:
                               "~Listen to her, she will save us all.~";
                               }
                               Tdrogo:
                               switch(time_shadow.current_time) {
                               "~He was so docile when I cared for him in the infirmary. Now, he's
                               different. Darker.~";
                               }
                               Tignatius:
                               switch(time_shadow.current_time) {
                               0:
                               "~I was wondering how you were doing.~
                                       ^^~Oh, fine.~ He relaxes, turning back to the candles. ~Just
                                       fine.~";
                               default:
                               "~How are you feeling, Ignatius.~
                               ^^~Fine.~  That's all.";
                               }
                               Tconstantin:
                               switch(time_shadow.current_time) {
                               0:
                               "~He has done well in clearing the bodies from the infirmary. He
                               works so fast.~";
                               1:
                               "~He was scary back there. I'm sure he would've killed Lucca if I
                               hadn't stepped in.~";
                               default:
                               "~He is so sick now: I know the signs. I can smell it on him. He
                               won't last long.~";
                               }
                               Tmatteo:
                               switch(time_shadow.current_time) {
                               0:
                               "~He's up in the tower,~ Ignatius spits angrily. ~He's always up
                               there, watching.~";
                               default:
                               "~Poor Matteo. Such a good man.~  His face is stony.";

                               }
                               Tlucca:
                               switch(time_shadow.current_time) {
                               0:
                               "~Such a sweet boy. He's not taking it here so well though.~";
                               1:
                               "~The plague changes all of us.~";
                               default:
                               "~Don't worry, father. He will kill no more.~";
                               }
                               Tgod:
                               switch(time_shadow.current_time) {
                               "~He watches, unblinking,~ while Ignatius's eye twitches.";
                               }
                               Tprayer:
                               switch(time_shadow.current_time) {
                                       "~What do you pray for, Brother?~ You ask.
                                       ^^~That we might live till spring, father.~  He pauses. ~We are
                                       running very low on food.~";
                               }
                               default:
                               switch(time_shadow.current_time) {
                               0:
                                       "~Shhh, father.~ He holds a finger to his lips. ~I am trying to
                                       pray.~";
                               1:
                                       "~If it's all the same to you, father,~ he says, straightening
                                       out his
                                       bed. ~I think I would like to get some sleep.~";
                               default:
                                       "He just stares at you with his eye. The other twitches and
                                       laughs.";
                               }
                               }
               ],
has             ;

Class   Lucca
class   Brother
with    name 'Lucca',
               before [;
                       TalkTo:
                               switch(time_shadow.current_time) {
                               0:
                               switch((self.stone_talking)++) {
                               0:
                               "~Why do you dig, Lucca?~ you ask.
                               ^^~Matteo is hiding something. I just know it's under here.~";
                               1:
                               "~Why do you think that?~ The blood pours from his fingers.
                               ^^~I just know,~ he sobs. ~He scrapes around here at night.~";
                               default:
                               "~Leave me alone,~ he blubbers through the tear-laden mucus that
                               streams
                               from his nose.";
                               }
                               1:
                               if (location == outside_calefactory && matteo1.pushed == true)
                               "~Leave me alone, you bastard,~ he spits, his words shaking the
                               door.";
                               else
                               switch((self.murder_talking)++) {
                               0:
                               "~About the murder, Lucca...~ you ask.
                               ^^~What murder?~";
                               1:
                               "~You remember, Lucca; Matteo was thrown from the tower.~
                               ^^~No he wasn't.~  Lucca responds, incredulous. ~He must have
                               jumped.~";
                               2:
                               "~Why did Matteo jump?~ You ask.
                               ^^A long, heavy silence. ~Because he was smart.~";
                               3:
                               "~Why was Matteo smart to jump?~
                               ^^~Because he knew what was happening here, at Saint Cuthbert's.~";
                               4:
                               "~What did he know was happening?~
                               ^^Lucca chuckles. ~Well if I knew that, I probably would have jumped
                               too.~";
                               5:
                               "~Please, father,~ he sighs. ~I just want to be alone.~";

                               }
                       }
               ],

               life [;
                       Order:
                               switch(time_shadow.current_time) {
                                       0:
                                               "~Please, father,~ he sobs. ~I need to do this.~";
                                       default:
                                               "A sob is all you get.";
                                       }

                       Ask,Tell:
                               if (location == outside_calefactory && matteo1.pushed == true)
                               "~Leave me alone, you bastard,~ he spits, his words shaking the
                               door.";
                               else
                               switch(second) {
                               'stone', 'flagstone', 'buried', 'digging', 'stones', 'scrabbling',
                               'dig', 'floor', 'ground':
                               "~Why do you dig, Lucca?~ you ask.
                               ^^~Matteo is hiding something. I just know it's under here.~";
                               'crying', 'cry', 'tears', 'tear', 'sob', 'sobbing', 'sad', 'scared':
                                       "~Why do you cry, Brother Lucca?~ You ask, laying your hand
                                       gently on his shoulder.
                                       ^^He immediately jerks away. ~I am scared, father. We are out of
                                       food; it is cold. There are only a few of us left. If we leave
                                       now, we may have a chance to survive the winter.~
                                       ^^~It is far too dangerous to travel, Lucca. And even if it
                                       weren't, our place is here. Don't worry, God will protect us.~
                                       ^^His only response is a grim chuckle.";
                               'laugh', 'grim', 'chuckle', 'laughter', 'god', 'protect',
                               'protection':
                                       "~Why do you laugh?~ You ask, more sternly than you had intended.
                                       ^^~Don't you see, God has abandoned us. We are on our own.~ He
                                       retorts, his blasphemy stinging your ears. He mumbles something
                                       under his breath.";
                               'abandoned', 'own', 'blasphemy', 'mumbles', 'mumble', 'mumbling',
                               'whisper', 'breath':
                                       "~What~ you start through clenched teeth, ~Did you say?~
                                       ^^~It was nothing, father.~
                                       ^^~What did you say?~ You demand. What is happening?
                                       ^^~Like you abandoned Rovato, alright!  Like you abandoned
                                       Rovato!~";

                               'scared', 'fear', 'afraid', 'terror':
                               "~What are you afraid of?~
                               ^^~You. Me. Everyone. Everything.~ He replies, his voice rising to
                               the strangest pitch. Then, it drops. ~God.~  The word pools from
                               his mouth and slides out the door.";
                               'guilt', 'guilty':
                               "~Why do you feel guilty, Lucca?~
                               ^^~It is my fault Matteo is dead. I am as good as a murderer.~";
                               'fault':
                               "~Why is it your fault, Lucca?~
                               ^^~Because I knew he would die and could not stop him.~";
                               'murder':
                               if (self.murder_asked == false) {
                               self.murder_asked = true;
                               "~About the murder, Lucca...~
                               ^^~What murder?~";
                               }
                               else
                               "~You remember, Lucca; Matteo was thrown from the tower.~
                               ^^~No he wasn't.~  Lucca responds, incredulous. ~He must have
                               jumped.~";
                               'jump', 'jumped', 'suicide':
                               "~Why did Matteo jump?~ You ask.
                               ^^A long, heavy silence. ~Because he was smart.~";
                               'smart':
                               "~Why was Matteo smart to jump?~
                               ^^~Because he knew what was happening here, at Saint Cuthbert's.~";
                               'knew', 'happening', 'here':
                               "~What did he know was happening?~
                               ^^Lucca chuckles. ~Well if I knew that, I probably would have jumped
                               too.~";
                               'fall', 'accident', 'accidental':
                               "~Did Matteo fall?~
                               ^^~No. He must have jumped.~";
                               Thimself:
                               switch(time_shadow.current_time) {
                               0:
                               "~How are you doing, Lucca,~ you ask, placing a hand on his shoulder.
                               ^^He jerks away. ~Leave me alone, father.~ He casts you a suspicious
                               glance before returning to the stone.";
                               1:
                               "~How are you feeling, Lucca?~ You ask, ear pressed to the door.
                               ^^He sobs. ~I feel scared, father. And guilty.~";
                               }
                               Tsnow:
                               switch(time_shadow.current_time) {
                               "~It's everywhere. In my hair, in my clothes. Its cold burns.~";
                               }
                               Tsaint_cuthbert:
                               switch(time_shadow.current_time) {
                               "~He will protect us, won't he father?~
                               ^^~Of course he will, Lucca.~ Your lies come easier now.";
                               }
                               Tsaint_medard:
                               switch(time_shadow.current_time) {
                               "~Are you alright, father?~ he looks at you quizzically. ~He is
                               the
                               patron saint of weather.~";
                               }
                               Tsaint_roch:
                               switch(time_shadow.current_time) {
                               }
                               Tsaint_francis:
                               switch(time_shadow.current_time) {
                               "~Are you alright, father?~ he looks at you quizzically. ~He is
                               the patron saint of animals.~";
                               }
                               Tsaint_drausinus:
                               switch(time_shadow.current_time) {
                               "~Matteo told me to pray through him if I am ever scared of harm from
                               others.~ His pause is heavy. ~I pray through him every night.~";
                               }
                               Tmonastery:
                               switch(time_shadow.current_time) {
                               0:
                               "~I don't like it here, anymore,~ Lucca sobs.";
                               default:
                               "~What is happening to this place?~ his voice lowers. ~What have we
                               done to deserve this?~";
                               }
                               Tchurch:
                               switch(time_shadow.current_time) {
                               0:
                               "~Your last mass was beautiful, father. And the church always is.~";
                               1:
                               "~Matteo always loved the church.~";
                               }
                               Tcalefactory:
                               switch(time_shadow.current_time) {
                               0:
                               "~It's nice, but only for a little while.~";
                               1:
                               "He chuckles, but it is a sad sound. ~Well, I guess I had better get
                               used to this.~";
                               }
                               Tbelltower:
                               switch(time_shadow.current_time) {
                               0:
                               "~I don't want to talk about it!~";
                               1:
                               "~Matteo loved it up there. He could see everything. He loved
                               watching over us.~";
                               }
                               Tinfirmary:
                               switch(time_shadow.current_time) {
                               0:
                               "~It was much nicer when I broke my arm. Now it smells of death.~";
                               1:
                               "~I guess Matteo was lucky not to have died in there.~";
                               }
                               Tdormitory:
                               switch(time_shadow.current_time) {
                               0:
                               "~Our own little tombs,~ he shrugs.";
                               1:
                               "~Here is fine for me.~";
                               }
                               Tcellar:
                               switch(time_shadow.current_time) {
                               "~There's something strange going on down there. Matteo knows, but
                               he won't tell me.~";
                               }
                               Tlocutory:
                               switch(time_shadow.current_time) {
                               "He continues to sob.";
                               }
                               Tfood:
                               switch(time_shadow.current_time) {
                               "~Try the kitchen.~";
                               }
                               Tsleep:
                               switch(time_shadow.current_time) {
                               0:
                               "~Not yet!  I have to find it!~";
                               1:
                               "~I might as well, there's nothing else.~";
                               }
                               Tplague:
                               switch(time_shadow.current_time) {
                               0:
                               "~Its damage ranges farther than I thought.~ He glances about the
                               monastery.";
                               1:
                               "~I suppose jumping is a softer fate.~";
                               }
                               Trovato:
                               switch(time_shadow.current_time) {
                               "~It would have been better if I had just stayed there.~";
                               }
                               Tgate:
                               "~It is not my place to question your actions.~";
                               Tsin:
                               switch(time_shadow.current_time) {
                               0:
                               "~We all sin,~ he says bitterly. Then, without glancing up but
                               directing it
                               at you nonetheless: ~Some of us more than others.~";
                               1:
                               "~I have sinned gravely. I knew Matteo was in trouble, but I did not
                               know how bad. It is my fault he is dead.~";
                               }
                               Tdevil:
                               switch(time_shadow.current_time) {
                               "~He must be here!  Everyone is acting so strange. It cannot be due
                               to the plague only.~";
                               }
                               Tyourself:
                               switch(time_shadow.current_time) {
                               0:
                               "~You're such a good man,~ he says. Then, under his breath: ~At
                               least I used to think so.~";
                               1:
                               "~Matteo talked about you often. More lately than before.~";
                               }
                               Tcecilia:
                               switch(time_shadow.current_time) {
                               "~Maybe she will save us. God knows we can't save ourselves.~";
                               }
                               Tdrogo:
                               switch(time_shadow.current_time) {
                               "~He scares me.~ --his voice lowers-- ~But his madness is
                               predictable.
                               Unlike some others.~";
                               }
                               Tignatius:
                               switch(time_shadow.current_time) {
                               0:
                                       "~His righteousness scares me. It is without humility. He can see
                                       the motes in others, but can't
                                       see the beam in his own eye.~";
                               1:
                                       "~If it wasn't for him, I'm sure Constantin would've killed
                                       me.~";
                               }
                               Tconstantin:
                               switch(time_shadow.current_time) {
                               0:
                                       "~He has become even harsher than before. The plague doesn't sit
                                       well within him.~";
                               1:
                                       "~He would've killed me, I'm sure.~";
                               }
                               Tmatteo:
                               switch(time_shadow.current_time) {
                               0:
                                       "~He knows something, but he won't tell me,~ he sobs more heavily
                                       for a moment. ~He tells me nothing anymore.~";
                               1:
                                       "Lucca wails. It cuts through the air and tears at your ears.";
                               }
                               Tlucca:
                               switch(time_shadow.current_time) {
                               0:
                               "~How are you doing, Lucca,~ you ask, placing a hand on his shoulder.
                               ^^He jerks away. ~Leave me alone, father.~ He casts you a suspicious
                               glance before returning to the stone.";
                               1:
                               "~How are you feeling, Lucca?~ You ask, ear pressed to the door.
                               ^^He sobs. ~I feel scared, father. And guilty.~";
                               }
                               Tgod:
                               switch(time_shadow.current_time) {
                               0:
                                       "~I think he's forgotten us.~";
                               1:
                                       "~Hmph,~ he grunts. ~He left a long time ago.~";
                               }
                               Tprayer:
                               switch(time_shadow.current_time) {
                               0:
                                       "~I try, but the silence gets to me.~";
                               1:
                                       "~What's the point?~ he asks. ~There's no one to hear us
                                       anymore.~";
                               }
                               default:
                               if (time_shadow.current_time == 1)
                               "He responds, but it is only gibberish.";
                               else
                               "All he does is sob.";
                               }
               ],
               stone_talking 0,
               murder_talking 0,
has             ;

Class   Matteo
class   brother
with    name 'matteo',
               tower_talking 0,
               before [;
                       TalkTo:
                               switch((self.tower_talking)++) {
                               0:
                               QuoteFrom(matteo_push_quote1);
                               "~How are you Matteo?~ you ask, leaning up on the rails beside him.
                               ^^He turns, a friendly smile on his face. ~I don't even know
                               anymore.~  He
                               gives an exaggerated shrug.";
                               1:
                               QuoteFrom(matteo_push_quote2);
                               "~What does that mean?~ you can't help but stifle a small laugh.
                               ^^~I don't know!~ He laughs, throwing his hands up in the air.";
                               2:
                               QuoteFrom(matteo_push_quote3);
                               "~I'll leave you to your ignorance then,~ you chuckle.
                               ^^~That's probably best,~ he replies, strangely severe.";
                               default:
                               "You can think of nothing more to say.";
                       }
               ],

               life [;
                       Order:
                               switch(time_shadow.current_time) {
                                       default:
                                               "Matteo sighs. ~I really don't feel like it, father.~ He just
                                               stares at the wind.";
                                       }

                       Ask,Tell:
                               switch(second) {
                               'flag', 'stone', 'flagstone', 'floor', 'ground', 'blood',
                               'flagstones', 'hole', 'stones':
                                       "~Lucca seems to think there's something hidden in your room,
                                       under the floor,~ you say, leaning against the rails.
                                       ^^Matteo sighs heavily. ~I know he does.~";
                               'bell', 'ring', 'ringing', 'hours':
                                       "~Do you never tire of ringing the bell, Matteo?~
                                       ^^~No,~ he pauses, ~It is God's work. To call the faithful is
                                       the greatest honor.~  He says the last with a trace of sarcasm.
                                       Ah, Matteo.";
                               Thimself:
                               switch(time_shadow.current_time) {
                               "~I'm fine,~ he sighs. ~I just want to sleep.~";
                               }
                               Tsnow:
                               switch(time_shadow.current_time) {
                               "~Beautiful, isn't it?~ he muses, gazing out into the snow. ~It just
                               makes you want to sleep.~";
                               }
                               Tsaint_cuthbert:
                               switch(time_shadow.current_time) {
                               "~Ah, yes. Our protector.~  He let's out a slight ~Hmph.~";
                               }
                               Tsaint_medard:
                               switch(time_shadow.current_time) {
                               "~Are you alright, father?~ he looks at you quizzically. ~He is
                               the
                               patron saint of weather.~";
                               }
                               Tsaint_roch:
                               switch(time_shadow.current_time) {
                               }
                               Tsaint_francis:
                               switch(time_shadow.current_time) {
                               "~Are you alright, father?~ he looks at you quizzically. ~He is
                               the patron saint of animals.~";
                               }
                               Tsaint_drausinus:
                               switch(time_shadow.current_time) {
                               "~He guards against the night and darkness,~ he says, a far off look
                               in his eyes. ~The night can be a terrifying time.~";
                               }
                               Tmonastery:
                               switch(time_shadow.current_time) {
                               "~It's so quiet,~ he says, looking down upon the buildings.";
                               }
                               Tchurch:
                               switch(time_shadow.current_time) {
                               "~The spires are amazing from up here, aren't they?~  He gazes out
                               fondly. ~Like hands to catch you if you fall.~";
                               }
                               Tcalefactory:
                               switch(time_shadow.current_time) {
                               "~I prefer it up here,~ he says. ~The air is so clean.~";
                               }
                               Tbelltower:
                               switch(time_shadow.current_time) {
                               "~It's beautiful up here, isn't it. God's blanket to the Earth.~";
                               }
                               Tinfirmary:
                               switch(time_shadow.current_time) {
                               "~No one gets better there,~ he sighs, ~But at least they die in
                               comfort.~";
                               }
                               Tdormitory:
                               switch(time_shadow.current_time) {
                               "~I prefer it up here.~";
                               }
                               Tcellar:
                               switch(time_shadow.current_time) {
                               "~Ah, yes.~ He pauses. ~The cellar.~  He chuckles to himself.";
                               }
                               Tlocutory:
                               switch(time_shadow.current_time) {
                               "~Feels so empty, doesn't it?  Remember the days when far off
                               travellers would visit every day?  I miss them.~";
                               }
                               Tfood:
                               switch(time_shadow.current_time) {
                               "~I have little appetite these days.~";
                               }
                               Tsleep:
                               switch(time_shadow.current_time) {
                               "~How does that saying go? 'No rest for the wicked.'  I doubt anyone
                               will be sleeping well tonight.~";
                               }
                               Tplague:
                               switch(time_shadow.current_time) {
                               "~It's funny the ways illness and isolation can affect things. Our
                               bodies are the least of our concerns.~";
                               }
                               Trovato:
                               switch(time_shadow.current_time) {
                               "~Poor Rovato.~ Matteo turns to the blackness where village lights
                               once burned. ~We should have done more to help.~";
                               }
                               Tgate:
                               "~I suppose you did the right thing, father.~ He doesn't sound too
                               convincing. ~Well no, you didn't, but you did what any of us would
                               have done.~";
                               Tsin:
                               switch(time_shadow.current_time) {
                               "~It has it's own smell, doesn't it?~ he looks down upon the
                               monastery, running his eyes over the many buildings. ~A smell that
                               lingers.~";
                               }
                               Tdevil:
                               switch(time_shadow.current_time) {
                               "~Don't look for the pitchfork and horns. He has been subtle these
                               days.~";
                               }
                               Tyourself:
                               switch(time_shadow.current_time) {
                               "~I know we have had our problems, but I hope to put them behind us.
                               It is a time for forgiveness.~";
                               }
                               Tdrogo:
                               switch(time_shadow.current_time) {
                               "~Poor Drogo,~ he sighs, looking down upon the refectory. ~But at
                               least his madness is on the surface, where we can see it.~  Was that
                               glance at you?";
                               }
                               Tignatius:
                               switch(time_shadow.current_time) {
                               "~He has become righteous lately, hasn't he?  I think he feels the
                               Crusades were a hundred years too early. He wishes to fight evil,
                               and if there is no fight, he'll make his own.~";
                               }
                               Tconstantin:
                               switch(time_shadow.current_time) {
                               "~He would never admit it, but he is sick. The plague wears on him.
                               He won't last much longer.~";
                               }
                               Tmatteo:
                               switch(time_shadow.current_time) {
                               "~I'm fine,~ he sighs. ~I just want to sleep.~";
                               }
                               Tlucca:
                               switch(time_shadow.current_time) {
                               "~Poor Lucca,~ he sighs. ~I wish I could protect him, but his time
                               is near.~";
                               }
                               Tgod:
                               switch(time_shadow.current_time) {
                               "~He is gone, you know.~ He looks at you intently. ~And with him,
                               his protection.~";
                               }
                               Tprayer:
                               switch(time_shadow.current_time) {
                               "~I barely have the energy anymore.~";
                               }
                               default:
                               "He may have heard you, but he seems to prefer to listen to the
                               wind.";
                               }
               ],
has             ;


Class   Cecilia_class
class   NPC
with    name 'girl' 'cecilia' 'young' 'woman' 'lady' 'angel',
               woken true,
               talking_toolate 0,
               talking_angel 0,
               talking_hall 0,
               talking_cecilia 0,
               talking_constantin 0,
               talking_cellar 0,
               talking_endgame_evil 0,
               talking_endgame_middle 0,
               talking_endgame_good 0,
               react_before [;
                       PrayTo:
                               if (noun == self)
                                       <<PrayTo cecilia>>;
               ],
               before [;
                                               PrayTo:
                                                       "You can talk directly to her.";
                                               PrayThrough:
                                                       <<PrayThrough cecilia>>;

                       Kill:
                               QuoteFrom(kill_cecilia_quote);
                               "You move, but something holds you back.";
                       TalkTo:
                               switch(time_shadow.current_time) {
                               1:
                               if (lucca_behind_door in outside_calefactory) {
                               switch((self.talking_angel)++) {
                               0:
                               "~How did you know that that would happen?  Who are you?  Why did you
                               come?~
                                 The questions come faster than the words.
                               ^^
                               ~Calm down, father,~ she says, laying a hand on your wrist. It warms
                               to the
                               touch and spreads life and joy and peace through your body. ~I am
                               here to
                               help. My name is Cecilia~";
                               1:
                               "~God sent me, but I am weak. My strength depends on the faithful,
                               and your
                               brethren have lost their way. Even now they conspire against you.
                               And me.~
                                 She casts a frightened glance towards the door.

                               ^^~Please pray to me, father, when you go to bed. I need your
                               strength in the
                               midst of this wickedness.~";
                               2:
                               "~Go now, father,~ she says, turning over in your blanket. ~Sleep.~
                               She
                               casts once last look at you before closing her eyes. ~But be
                               careful, there
                               are many that intend you harm here.~";
                               default:
                               "She is sleeping.";
                               }
                               }
                               if (self.talking_toolate == 0) {
                               self.talking_toolate = 1;
                               "~What do you mean?~ you ask.
                               ^^The girl turns her tear-stained eyes to you. ~You'll see,~";
                               }
                               else
                               "A garbled sob is all she can give.";
                               3:
                               if (location == locutory && self.talking_cecilia == 0) {
                               self.talking_cecilia = 1;
                               "She closes her eyes. ~I cannot hear much. God's voice is weak in
                               this
                               place. But I know Lucca did not escape. At least, not on his
                               own.~";

                               }
                               if( location == locutory && self.talking_cecilia ==1) {
                               self.talking_cecilia = 2;
                               "~Go, find Lucca,~ she says, pointing to the door. ~If you are in
                               trouble,
                               pray to me. I will do whatever I can to help.~";
                               }
                               if (location == locutory && self.talking_cecilia == 2)
                               "~I can help you no more.~";

                               if (location == entrance_hall && self.talking_hall == 0){
                               self.talking_hall = 1;
                               "~Lucca didn't escape,~ she whispers to you. Her breath is soft on
                               your ear.";
                               }
                               if (location == entrance_hall && self.talking_hall == 1)
                               move self to locutory;
                               "~No, go with Constantin,~ she says, returning to the locutory. ~I
                               will tell you soon enough.~";
                               5,6,7,8:
                               if (location == tower)
                               "~Help me!~ she cries as she tumbles with Constantin.";
                               if (cellar has visited) {
                               switch((self.talking_cellar)++) {
                               0:
                               "~Damn them,~ she spits. ~Very well. Go to the stone in Matteo's
                               room. I want to see what this whole situation is about.~";
                               default:
                               "~Go now. It is time.~";
                               }

                               }
                               else
                               if (self.talking_constantin == 0) {
                               self.talking_constantin =1;
                               "~Thank Heavens you are here,~ Cecilia says, embracing you: what is
                               that on her back?  ~You must hurry, God told me that Constantin has
                               been locking the plague victims in the cellar until they die, that is
                               why he put the lock there, not to protect the food, but to protect
                               himself. He killed Lucca to keep his secret. Go, get the cellar's
                               key from him. If you hurry, there may be some survivors.~";
                               }
                               if (self.talking_constantin == 1) {
                               self.talking_constantin = 2;
                               "~How can I get the key?~  you ask.

                               ^^~Constantin is weak, you can do to him what you will, his life is
                               worth less
                               than those he has locked away. Go now, there is little time.~";
                               }
                               else
                               "~Go now, we will talk soon.~";
                               9:
                                       if (sin_shadow.middle == true)
                                               switch((self.talking_endgame_middle)++) {
                                               0:
                                               "Cecilia paces back and forth. Her footsteps sound odd, not
                                               padded flesh on stone, something else. Hooves. ~It was so
                                               easy,~ she says, more to herself than to you.
                                               ^^A smile drifts across her face. ~A
                                               broken shell of a man, living in isolation from his brothers:
                                               from God. A man who chose to turn his back on his
                                               parishioners
                                               rather than face the plague.~";
                                               1:
                                               if (sin_shadow.prayed_cecilia == true)
                                               "~You were so desperate,~ she continues. ~You prayed to me.
                                               Me. Not God. Me. 'Thou shalt have no other Gods before me.'
                                               Remember that?~ she asks, laughing. ~You worshipped me as a
                                               false idol. A few days of solitude and your piety was
                                               gone.~";
                                               if (coin has moved)
                                               "She grins, ~All I had to do was place a single coin in the
                                               alms box, and your neurotic greed took over. You had to take
                                               it, for no other reason than to possess it. Weak human.~";
                                               2:
                                               "~But do you know what your true sin was, the sin that
                                               brought me here?~ she leans in, her breath reeks of
                                               brimstone. She grins. ~You  tried to be righteous: tried to
                                               do what you
                                               thought was good,~ she muses, looking up to the ceiling. ~But
                                               that is a sin in itself. God does not want you to do what you
                                               think is good, but what he thinks is good. He is a jealous,
                                               angry God. He will have no one who does not follow him
                                               blindly. I had hoped you would realize that and join me. But
                                               you didn't.~";
                                               3:
                                               "She kneels before you, taking your chin in her hand; it
                                               burns, leaving scorched fingerprints on your mottled flesh.

                                               ^^~Your sin was the same as mine, father,~ she croons.
                                               ~The
                                               sin of pride: of trying to be independent of God. He has a
                                               plan for all of us, even me. Perhaps his plan was for me to
                                               turn a third of the angels against him, perhaps it was not.
                                               He punished me nonetheless. Just like he will punish you.
                                               Punish you for doing as you wish: for making choices on your
                                               own. My sin wasn't turning the angels against him; it was the
                                               act of choosing.~";
                                               4:
                                               move fissure to new_church;
                                               "~You have one last choice, father. It is simple. Up or
                                               down? Heaven or Hell?~ --the flames roar into unison-- ~You
                                               will be happy in Heaven, clean and pure. But is it worth it?
                                               You will be confined to a straitjacket. No choice. God does
                                               not allow choice,~ she pauses.
                                               Cecilia splays her fingers, and a fissure rips through the
                                               church. Plumes of flame spout from the depths. Sulfur fills
                                               your nose.
                                               ^^~Or you can come with me, down. You will suffer, but you
                                               can choose. You will remain you. In Heaven, God will strip
                                               you of yourself, leaving you a happy, empty shell. A smiling
                                               shadow. With me, you will still be yourself.~";
                                               5:
                                               remove self;
                                               "~The choice is yours.~ The flames engulf her as she enters
                                               the fissure. ~Choose wisely.~ Her last words float up through
                                               the hole.";
                                       }
                                       if (sin_shadow.good == true)
                                               switch((self.talking_endgame_good)++) {
                                               0:
                                               "Cecilia paces back and forth. Her footsteps sound odd, not
                                               padded flesh on stone, something else. Hooves. ~I thought it
                                               would be so easy,~ she says, more to herself than to you.
                                               ^^A sad smile drifts across her face. ~A
                                               broken shell of a man, living in isolation from his brothers:
                                               from God. A man who chose to turn his back on his
                                               parishioners
                                               rather than face the plague.~";
                                               1:
                                               if (coin has moved)
                                               "~Then,~ she continues, ~you took the coin from the alms box
                                               for no other reason than to possess it. That was enough. That
                                               sin weakened this place enough for me to enter. No longer did
                                               I have to be content with influencing your brothers from
                                               afar.~
                                               ^^She grins. ~You have tried to be righteous: tried to do
                                               what you
                                               thought was good,~ she muses, looking up to the ceiling. ~But
                                               that is a sin in itself. God does not want you to do what you
                                               think is good, but what he thinks is good. He is a jealous,
                                               angry God. He will have no one who does not follow him
                                               blindly. I had hoped you would realize that and join me. But
                                               you didn't.~";
                                               else
                                               "~You have tried to be righteous: tried to do what you
                                               thought was good,~ she continues, looking up to the ceiling.
                                               ~But that is a sin in itself. God does not want you to do
                                               what you think is good, but what he thinks is good. He is a
                                               jealous, angry God. He will have no one who does not follow
                                               him blindly. I had hoped you would realize that and join me.
                                               But you didn't.~";
                                               2:
                                               "She kneels before you, taking your chin in her hand; it
                                               burns, leaving scorched fingerprints on your mottled flesh.

                                               ^^~Your sin was the same as mine, father,~ she croons.
                                               ~The
                                               sin of pride: of trying to be independent of God. He has a
                                               plan for all of us, even me. Perhaps his plan was for me to
                                               turn a third of the angels against him, perhaps it was not.
                                               He punished me nonetheless. Just like he will punish you.
                                               Punish you for doing as you wish: for making choices on your
                                               own. My sin wasn't turning the angels against him; it was the
                                               act of choosing.~";
                                               3:
                                               move fissure to new_church;
                                               "~You have one last choice, father. It is simple. Up or
                                               down? Heaven or Hell?~ --the flames roar into unison-- ~You
                                               will be happy in Heaven, clean and pure. But is it worth it?
                                               You will be confined to a straitjacket. No choice. God does
                                               not allow choice,~ she pauses.
                                               Cecilia splays her fingers, and a fissure rips through the
                                               church. Plumes of flame spout from the depths. Sulfur fills
                                               your nose.
                                               ^^~Or you can come with me, down. You will suffer, but you
                                               can choose. You will remain you. In Heaven, God will strip
                                               you of yourself, leaving you a happy, empty shell. A smiling
                                               shadow. With me, you will still be yourself.~";
                                               4:
                                               remove self;
                                               "~The choice is yours.~ The flames engulf her as she enters
                                               the fissure. ~Choose wisely.~ Her last words float up through
                                               the hole.";
                                               }

                                       if (sin_shadow.evil == true) {
                                               if (emmanuele_body notin new_church)
                                               "You try to speak, but all that emerges is a bloody cough.
                                               Chunks of lung dribble from your mouth. Damn this weak
                                               body.";
                                               else
                                               switch((self.talking_endgame_evil)++) {
                                               0:
                                               "~You have done well,~ Cecilia croons as she paces about the
                                               church. ~Saint Cuthbert's is ours.~";
                                               1:
                                               "~The father was such a fool,~ she continues, gently running
                                               her fingers through a corpse's hair. ~Before we came here,
                                               he moved blindly: God directing his every motion like a
                                               puppet.~ --she pauses, glancing at the ruined priest-- ~You
                                               gave him freedom. You gave him choice: direction. Without
                                               us, he wouldn't have even known he was alive.~";
                                               2:
                                               if (matteo1.pushed == false)
                                                       "She laughs. A dark sound. An angry sound. ~But I
                                                       can't believe you didn't push Matteo when you had the
                                                       chance,~ she grabs your wrist, driving her nails deep
                                                       between the scales. ~It took all I had to convince him
                                                       to jump.~ She laughs again, this time lightly. ~Humans
                                                       are so weak. Still, things worked out well enough.~";
                                               else
                                                       "~You pushing Matteo was the perfect idea,~ she muses, no
                                                       modesty within her words. ~All it takes for a little
                                                       madness and mistrust to spread among Man is one thing
                                                       that doesn't go as expected. They are so weak.~";
                                               3:
                                                       deadflag = 3;
                                                       "~Well, I do suppose it is time to be getting back,~
                                                       Cecilia muses.
                                                       ~Saint Cuthbert's was only the first.~
                                                       ^^With that, she splays her fingers and a fissure tears
                                                       through the
                                                       church. You take her hand, and walk into the rift.
                                                       ^^The screams of the damned are sweet music. The chorus
                                                       welcomes you
                                                       home.";
                                               }
                                       }

                       }
               ],
               life [;
                       Order:
                               switch(time_shadow.current_time) {
                                       default:
                                               "~No, father,~ she says sternly, yet sweetly. ~You do what I
                                               say.~";
                                       }

                       Ask,Tell:
                               if (time_shadow.current_time == 9) {
                                       switch(second) {
                                       'father', 'priest', 'emmanuele', 'abbott':
                                       if(sin_shadow.evil == true)
                                       "~Yes, I'm sorry you had to take him. He was so weak.~";
                                       else
                                       "~You are weak. You need me.~";
                                       'me', 'demon', 'myself':
                                       if(sin_shadow.evil == true)
                                       "~Don't you remember? I brought you to possess the father. To
                                       prepare the way for me.~";
                                       else
                                       "~You are weak. You need me.~";
                                       Tmonastery:
                                       if(sin_shadow.evil == true)
                                       "~Yes,~ she grins. ~This will be a suitable base. You have done
                                       well.~";
                                       else
                                       "~So weak,~ she muses. ~It was easy to corrupt.";
                                       Tchurch:
                                       "~Beautiful isn't it?~ she muses, spreading out her arms. ~Drogo
                                       has done an amazing job. My powers are only so strong. Poor
                                       fool, he was doing it for God.~";
                                       Tcellar:
                                       "~Ahh, yes. So much sin wrapped up in once. Ignatius killed his
                                       patients and Constantin disposed of them. Poor Constantin. The
                                       fool had no idea what was going on.~";
                                       Tplague:
                                       "~Well, yes. I did have a hand in it. But if you really want
                                       someone to blame, blame God. I can do nothing without his
                                       will.~";

                                       Therself:
                                       if(sin_shadow.evil == true)
                                       "~It's only been two days!~ she shrieks. ~Well, I suppose
                                       possessing such a weak shell is bound to have some undesireable
                                       effects. I brought you here to help me. I needed someone to
                                       prepare the way.~";
                                       else
                                       "~I go by many names and many faces. Too many to count.~";
                                       Tcecilia:
                                       if(sin_shadow.evil == true)
                                       "~It's only been two days!~ she shrieks. ~Well, I suppose
                                       possessing such a weak shell is bound to have some undesireable
                                       effects. I brought you here to help me. I needed someone to
                                       prepare the way.~";
                                       else
                                       "~I go by many names and many faces. Too many to count.~";
                                       Tdrogo:
                                       "~The fool.~ She glances over at the gibbering mess. ~Still, he
                                       was easily influenced. I had him convinced he was chosen by God
                                       to fix the church.~";
                                       Tignatius:
                                       "~A dark man. It took little for me to convince him that the
                                       plague was a scourge from God on the wicked.~";
                                       Tconstantin:
                                       "~Damn him. He was quite the inconvenience. Luckily the plague
                                       took care of him.~";
                                       Tmatteo:
                                       if(matteo1.pushed == false)
                                       "~It took all I had to convince him to jump. I worked on him for
                                       days.~";
                                       else
                                       "~Good work. He sparked the whole thing. Or rather you did by
                                       pushing him.~";
                                       Tlucca:
                                       "~He was the hardest. The young are always so much stronger.~";
                                       Tgod:
                                       "~He left this place long ago.~";
                                       Tdevil:
                                       "~I'm fine,~ she says, her glamour dropping for a moment to
                                       reveal red skin and pointed horns. ~But I miss home. Earth is
                                       still uncomfortable for me, being this close to God.~";
                                       }
                               }
                               if (time_shadow.current_time == 1 && self.talking_angel >= 2)
                               "She sleeps; she cannot hear.";
                               if (self.woken == false)
                               "She sleeps; she cannot hear.";
                               if (brothers_tower.murder_conversation < 1)
                               "~Go now, we will talk soon,~ she replies through heavy tears.";
                               else
                               switch(second) {
                               'horse', 'horses', 'filly', 'mare':
                                       cecilia.stable_prayed = true;
                                       "~She is a problem, isn't she?~ Cecilia closes her eyes. A
                                       hellish whinny sounds throughout the air. ~There, she will obey
                                       you now.~";
                               'flag', 'stone', 'flagstone', 'floor', 'ground', 'blood',
                               'flagstones', 'hole', 'stones':
                                       "~What's beneath the stone in Matteo's room,~ you ask.
                                       ^^Cecilia closes her eyes for a moment and shakes her head. ~I
                                       cannot see. Only God knows for sure.~";
                               Tsnow:
                               switch(time_shadow.current_time) {
                               "~It's beautiful, isn't it?  God's blanket.~";
                               }
                               Tsaint_cuthbert:
                               switch(time_shadow.current_time) {
                               default:
                                       "~He grows weaker by the moment. Your brothers have corrupted
                                       him.~";
                               }
                               Tsaint_medard:
                               switch(time_shadow.current_time) {
                                       "~Do not pray through him, he will punish you for the sins of
                                       your
                                       brothers.~";
                               }
                               Tsaint_roch:
                               switch(time_shadow.current_time) {
                               }
                               Tsaint_francis:
                               switch(time_shadow.current_time) {
                                       "~Do not pray through him, he will punish you for the sins of
                                       your
                                       brothers.~";
                               }
                               Tsaint_drausinus:
                               switch(time_shadow.current_time) {
                                       "~Do not pray through him, he will punish you for the sins of
                                       your
                                       brothers.~";
                               }
                               Tmonastery:
                               switch(time_shadow.current_time) {
                                       "~Satan has planted himself here in the hearts of your brothers.
                                       Do not trust them. They do nothing but lie.~";
                               }
                               Tchurch:
                               switch(time_shadow.current_time) {
                                       "~Satan's power grows over it. The weakness of your brothers has
                                       shattered the strength of the Church.~";
                               }
                               Tcalefactory:
                               switch(time_shadow.current_time) {
                                       "~If you do not listen to yourself and me, the place you will
                                       find yourself will make the calefactory feel like paradise.~";
                               }
                               Tbelltower:
                               switch(time_shadow.current_time) {
                                               "~Matteo did not jump. Do not trust Lucca, he murders in his
                                               heart.";

                               }
                               Tdormitory:
                               switch(time_shadow.current_time) {
                                       "~It is a place of secrets and evil. Do not stay there too long.
                                       Your brothers' sins have corrupted it.~";
                               }
                               Tcellar:
                               switch(time_shadow.current_time) {
                                       1,2,3:
                                               "~I cannot see, but something terrible has happened there.~";
                                       default:
                                               "~Constantin has been hiding the people he's murdered down
                                               there!~";

                               }
                               Tlocutory:
                               switch(time_shadow.current_time) {
                                       "~Thank you, it is pleasant here, away from your brothers.~";
                               }
                               Tfood:
                               switch(time_shadow.current_time) {
                                       "~Thank you.~";
                               }
                               Tsleep:
                               switch(time_shadow.current_time) {
                                       "~I cannot sleep, I must be here for you. You have no other
                                       friends at Saint Cuthbert's.~";
                               }
                               Tplague:
                               switch(time_shadow.current_time) {
                                       "~God is punishing you and the Earth for your sins. I cannot
                                       help you with it.~";
                               }
                               Trovato:
                               switch(time_shadow.current_time) {
                                       "~A filthy place. God has smote it from the Earth.~";
                               }
                               Tgate:
                               "~You did the right thing, father. The commoners would have only
                               corrupted this place further.~";
                               Tsin:
                               switch(time_shadow.current_time) {
                               "~Be wary, sin abounds in this place.~";
                               }
                               Tdevil:
                               switch(time_shadow.current_time) {
                               "~He is here, I can feel him in the hearts of your brothers.~";
                               }
                               Tyourself:
                               switch(time_shadow.current_time) {
                               "~I am here to help you; no one else can.~";
                               }
                               Therself:
                               switch(time_shadow.current_time) {
                               "~I am an angel, sent by God to help you.~";
                               }
                               Tcecilia:
                               switch(time_shadow.current_time) {
                               "~I am an angel, sent by God to help you.~";
                               }
                               Tdrogo:
                               switch(time_shadow.current_time) {
                               "~Watch him closely, he is not as mad as he appears.~";
                               }
                               Tignatius:
                               switch(time_shadow.current_time) {
                               "~He conspires against you, father. Be careful.~";
                               }
                               Tconstantin:
                               switch(time_shadow.current_time) {
                               1:
                               "~He is a violent, dangerous man. Watch yourself.~";
                               3:
                               "~Do not trust him, father. I think he killed Lucca.~";
                               default:
                               "~God has struck him with the plague, he will be easier to defeat
                               now.~";
                               }
                               Tmatteo:
                               switch(time_shadow.current_time) {
                               "~He died as he lived, in sin.~";
                               }
                               Tlucca:
                               switch(time_shadow.current_time) {
                               1:
                               "~He has murder in his heart, if not on his hands.~";
                               default:
                               "~He did not escape: someone freed him.~";
                               }
                               Tgod:
                               switch(time_shadow.current_time) {
                               "~God watches over us all, I am his messenger to you.~";
                               }
                               Tprayer:
                               switch(time_shadow.current_time) {
                               "~Your other Saints have grown weak: this place corrupts them. Rely
                               on me, I will always help.~";
                               }
                               default:
                               if (brothers_tower.murder_conversation < 1)
                               "~Go now, we will talk soon,~ she replies through heavy tears.";
                               else
                               "~I have no answer,~ she says, looking up to the ceiling.";
                               }
               ],
has             female proper;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Quotations
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Quotation psalms96_6
       with show_quote [;
         box
                       "Honour and majesty are "
                       "before him: strength and "
                       "beauty are in his sanctuary."
                       ""
                       "            -- Psalms 96:6";
      ],
               show_quote_inline [;
               "^Honour and majesty are
                       before him: strength and
                       beauty are in his sanctuary.

                              -- Psalms 96:6";
      ];

Quotation isaiah44_16
       with show_quote [;
                       box
                               "Half of the wood he burns"
                               "in the fire. He also warms"
                               "himself and says, ~Ah! I am"
                               "warm; I see the fire.~"
                               ""
                               "          -- Isaiah 44:16";
                       ],
                       show_quote_inline [;
                               "^Half of the wood he burns
                               in the fire. He also warms
                               himself and says, ~Ah! I am
                               warm; I see the fire.~
                                         -- Isaiah 44:16";
               ];

Quotation isaiah51_17
       with show_quote [;
               box
                       "Awake, awake, stand up, "
                       "O Jerusalem, which hast "
                       "drunk at the hand of the "
                       "Lord the cup of his fury; "
                       "thou hast drunken the dregs "
                       "of the cup of trembling, "
                       "and wrung them out."
                       ""
                       "             -- Isaiah 51:17";
               ],
        show_quote_inline [;

                       "^Awake, awake, stand up,
                       O Jerusalem, which hast
                       drunk at the hand of the
                       Lord the cup of his fury;
                       thou hast drunken the dregs
                       of the cup of trembling,
                       and wrung them out.

                                    -- Isaiah 51:17";
               ];

Quotation baruch6_21
       with show_quote [;
               box
                       "Owls, and swallows, and "
                       "other birds fly upon their "
                       "bodies, and upon their heads,"
                       "and cats in like manner."
                       ""
                       "            -- Baruch 6:22";
               ],
               show_quote_inline [;

                                       "^Owls, and swallows, and
                                       other birds fly upon their
                                       bodies, and upon their heads,
                                       and cats in like manner.

                                                   -- Baruch 6:22";
               ];

Quotation ecclesiastes10_13
       with show_quote [;
               box
                       "At the beginning his words are folly; "
                       "at the end they are wicked madness. "
                       ""
                       "            -- Ecclesiastes 10:13";
               ],
               show_quote_inline [;

                                       "^At the beginning his words are folly;
                                       at the end they are wicked madness.

                                                  -- Ecclesiastes 10:13";
               ];

Quotation job27_9
       with show_quote [;
               box
                       "Does God listen to his cry"
                       "when distress comes upon him?"
                       ""
                       "              -- Job 27:9";
               ],
               show_quote_inline [;

                                       "^Does God listen to his cry
                                       when distress comes upon him?

                                                    -- Job 27:9";
               ];


Quotation genesis4_10
       with show_quote [;
               box
                       "And he said, What hast thou done?"
                       "the voice of thy brother's blood "
                       "crieth unto me from the ground."
                       ""
                       "             -- Genesis 4:10";
               ],
               show_quote_inline [;

                                       "^And he said, What hast thou done?
                                       the voice of thy brother's blood
                                       crieth unto me from the ground.

                                                    -- Genesis 4:10";
               ];

Quotation psalms106_18
       with show_quote [;
               box
                       "And a fire was kindled "
                       "in their company; the flame"
                       "burned up the wicked."
                       ""
                       "           -- Psalms 106:18";
               ],
               show_quote_inline [;
                                       "^And a fire was kindled
                                       in their company; the flame
                                       burned up the wicked.

                                                  -- Psalms 106:18";
               ];

Quotation isaiah1_15
       with show_quote [;
               box
                       "And when ye spread forth your hands, "
                       "I will hide mine eyes from you: yea, "
                       "when ye make many prayers, I will not "
                       "hear: your hands are full of blood."
                       ""
                       "                -- Isaiah 1:15";
               ],
               show_quote_inline [;
                                       "^And when ye spread forth your hands,
                                       I will hide mine eyes from you: yea,
                                       when ye make many prayers, I will not
                                       hear: your hands are full of blood.

                                                      -- Isaiah 1:15";
               ];

Quotation exodus28_34
       with show_quote [;
               box
                       "A golden bell and a pomegranate, "
                       "a golden bell and a pomegranate, "
                       "upon the hem of the robe round about."
                       ""
                       "                -- Exodus 28:34";
               ],
               show_quote_inline [;
                                       "^A golden bell and a pomegranate,
                                       a golden bell and a pomegranate,
                                       upon the hem of the robe round about.

                                                      -- Exodus 28:34";
               ];

Quotation proverbs27_20
       with show_quote [;
               box
                       "Death and Destruction are never satisfied,"
                       "and neither are the eyes of man."
                       ""
                       "                   -- Proverbs 27:20";
               ],
               show_quote_inline [;
                                       "^Death and Destruction are never satisfied,
                                       and neither are the eyes of man.

                                                          -- Proverbs 27:20";
               ];

Quotation genesis15_12
       with show_quote [;
               box
                       "And when the sun was going down, "
                       "a deep sleep fell upon Abram; and, lo, "
                       "an horror of great darkness fell upon him."
                       ""
                       "                        -- Genesis 15:12";
               ],
               show_quote_inline [;
                                       "^And when the sun was going down,
                                       a deep sleep fell upon Abram; and, lo,
                                       an horror of great darkness fell upon him.

                                                               -- Genesis 15:12";
               ];

Quotation proverbs6_10
       with show_quote [;
               box
                       "Yet a little sleep, a little slumber, "
                       "a little folding of the hands to sleep."
                       ""
                       "                      -- Proverbs 6:10";
               ],
               show_quote_inline [;

                                       "^Yet a little sleep, a little slumber,
                                       a little folding of the hands to sleep.

                                                            -- Proverbs 6:10";
               ];

Quotation psalms45_8
       with show_quote [;
               box
                       "All your robes are fragrant"
                       "with myrrh and aloes and cassia; "
                       "from palaces adorned with ivory "
                       "the music of the strings makes you glad."
                       "                     -- Psalms 45:8";
               ],
               show_quote_inline [;
                                       "^All your robes are fragrant
                                       with myrrh and aloes and cassia;
                                       from palaces adorned with ivory
                                       the music of the strings makes you glad.
                                                            -- Psalms 45:8";
               ];

Quotation iisamuel14_25
       with show_quote [;
               box
                       "From the sole of his foot "
                       "even to the crown of his head"
                       "there was no blemish in him."
                       ""
                       "         -- II Samuel 14:25";
               ],
               show_quote_inline [;
                                       "^From the sole of his foot
                                       even to the crown of his head
                                       there was no blemish in him.

                                                -- II Samuel 14:25";
               ];

Quotation psalms33_17
       with show_quote [;
               box
                       "A horse is a vain hope for deliverance;"
                        "despite all its great strength it cannot save."
                        ""
                        "                       -- Psalms 33:17";
               ],
               show_quote_inline [;

                                       "^A horse is a vain hope for deliverance;
                                        despite all its great strength it cannot save.

                                                              -- Psalms 33:17";
               ];

Quotation nehemiah1_3
       with show_quote [;
               box
                       "The wall of Jerusalem is broken down,"
                       "and its gates have been burned with fire."
                       ""
                       "                          -- Nehemiah 1:3";
               ],
               show_quote_inline [;
                                       "^The wall of Jerusalem is broken down,
                                       and its gates have been burned with fire.

                                                                -- Nehemiah 1:3";
               ];

Quotation psalms55_6
       with show_quote [;
               box
                       "I said, ~Oh, that I had the wings of a dove!"
               "I would fly away and be at rest.~"
               ""
               "                         -- Psalms 55:6";
       ],
       show_quote_inline [;
                                       "^I said, ~Oh, that I had the wings of a dove!
                               I would fly away and be at rest.~

                                                        -- Psalms 55:6";
       ];

Quotation matthew26_15
       with show_quote [;
               box
                       "~What are you willing to give me if I hand him over to you?~"
                       "So they counted out for him thirty silver coins."
                       ""
                       "                                    -- Matthew 26:15";
               ],
               show_quote_inline [;
                                       "^~What are you willing to give me if I hand him over to you?~
                                       So they counted out for him thirty silver coins.

                                                                          -- Matthew 26:15";
               ];


Quotation isaiah1_6
       with show_quote [;
               box
                       "From the sole of the foot even unto the head"
                       "there is no soundness in it; but wounds, and bruises,"
                       "and putrefying sores: they have not been closed, "
                       "neither bound up, neither mollified with ointment."
                       ""
                       "                                  -- Isaiah 1:6";
               ],
               show_quote_inline [;
                                       "^From the sole of the foot even unto the head
                                       there is no soundness in it; but wounds, and bruises,
                                       and putrefying sores: they have not been closed,
                                       neither bound up, neither mollified with ointment.

                                                                        -- Isaiah 1:6";
               ];

Quotation ezekial22_27
       with show_quote [;
               box
                       "Her princes in the midst thereof"
                       "are like wolves ravening the prey, "
                       "to shed blood, and to destroy souls,"
                       "to get dishonest gain."
                       ""
                       "                  -- Ezekiel 22:27";
               ],
               show_quote_inline [;

                                       "^Her princes in the midst thereof
                                       are like wolves ravening the prey,
                                       to shed blood, and to destroy souls,
                                       to get dishonest gain.

                                                         -- Ezekiel 22:27";
                               ];


Quotation matthew10_16
       with show_quote [;
               box
                       "Behold, I send you forth as sheep in the midst"
                       "of wolves: be ye therefore wise as serpents, "
                       "and harmless as doves."
                       ""
                       "                           -- Matthew 10:16";
               ],
               show_quote_inline [;

                                       "^Behold, I send you forth as sheep in the midst
                                       of wolves: be ye therefore wise as serpents,
                                       and harmless as doves.

                                                                 -- Matthew 10:16";
               ];

Quotation matthew13_46
       with show_quote [;
               box
                       "Who, when he had found one pearl of great price,"
                       "went and sold all that he had, and bought it"
                       ""
                       "                           -- Matthew 13:46";
               ],
               show_quote_inline [;
                                       "^Who, when he had found one pearl of great price,
                                       went and sold all that he had, and bought it

                                                                 -- Matthew 13:46";
               ];

Quotation Isamuel2_10
       with show_quote [;
               box
                       "Those who oppose the Lord will be shattered."
                       "He will thunder against them from heaven; "
                       "the Lord will judge the ends of the earth."
                       ""
                       "                       -- I Samuel 2:10";
               ],
               show_quote_inline [;
                                       "^Those who oppose the Lord will be shattered.
                                       He will thunder against them from heaven;
                                       the Lord will judge the ends of the earth.

                                                             -- I Samuel 2:10";
               ];

Quotation leviticus26_29
       with show_quote [;
               box
                       "You will eat the flesh of your sons"
                       "and the flesh of your daughters."
                       ""
                       "               -- Leviticus 26:29";
               ],
               show_quote_inline [;
                                       "^You will eat the flesh of your sons
                                       and the flesh of your daughters.

                                                     -- Leviticus 26:29";
               ];

Quotation jeremiah13_23
       with show_quote [;
               box
                       "Can the Ethiopian change his skin, or the leopard his spots?"
                       "then may ye also do good, that are accustomed to do evil."
                       ""
                       "                                       -- Jeremiah 13:23";
               ],
               show_quote_inline [;

                                       "^Can the Ethiopian change his skin, or the leopard his spots?
                                       then may ye also do good, that are accustomed to do evil.

                                                                             -- Jeremiah 13:23";
               ];

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!FAKE QUOTES
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Quotation cecilia_here_quote
       with show_quote [;
               box
                       "~I am here,~ she said, her voice calming the frightened lamb."
                       "~There is nothing more to fear. I will be your salvation.~"
                       ""
                       "                                          -- Ruth 899:3411";
               ],
               show_quote_inline [;
                                       "^~I am here,~ she said, her voice calming the frightened lamb.
                                       ~There is nothing more to fear. I will be your salvation.~

                                                                                -- Ruth 899:3411";
               ];

Quotation cecilia_coming_quote
       with show_quote [;
               box
                       "~I am coming,~ she said with"
                       "the terrible voice of God."
                       ""
                       "         -- Esther 1413:335";
               ],
               show_quote_inline [;

                                       "^~I am coming,~ she said with
                                       the terrible voice of God.

                                               -- Esther 1413:335";
               ];

Quotation push_matteo_quote
       with show_quote [;
               box
                       "No, father."
                       ""
                       "He will be dead soon enough."
                       ""
                       "          -- Ecclesiastes 132:37";
               ],
               show_quote_inline [;
                                       "^No, father.

                                       He will be dead soon enough.

                                                -- Ecclesiastes 132:37";
               ];

Quotation kill_matteo_quote
       with show_quote [;
               box
                       "Good. Good work."
                       ""
                       "He will trouble me no more."
                       ""
                       "       -- Leviticus 374:45";
               ],
               show_quote_inline [;

                                       "^Good. Good work.

                                       He will trouble me no more.

                                             -- Leviticus 374:45";
               ];

Quotation kill_cecilia_quote
       with show_quote [;
               box
                       "Kill me not, for I will be your salvation."
                       ""
                       "                        -- Job 345:90";
               ],
               show_quote_inline [;
                                       "^Kill me not, for I will be your salvation.

                                                              -- Job 345:90";
               ];

Quotation kiss_cecilia_quote
       with show_quote [;
               box
                       "She's delicious, isn't she?"
                       "Go ahead, give in to temptation."
                       ""
                       "              -- Genesis 197:35";
               ],
               show_quote_inline [;

                                       "^She's delicious, isn't she?
                                       Go ahead, give in to temptation.

                                                    -- Genesis 197:35";
               ];

Quotation sleepwith_cecilia_quote
       with show_quote [;
               box
                       "Ahh, there you go. Wasn't that good?"
                       "Wasn't that what you've waited your whole life for?"
                       ""
                       "                        -- Song of Solomon 897:21";
               ],
               show_quote_inline [;

                                       "^Ahh, there you go. Wasn't that good?
                                       Wasn't that what you've waited your whole life for?

                                                               -- Song of Solomon 897:21";
               ];

Quotation kill_constantin_quote
       with show_quote [;
               box
                       "He was weak. You are doing well, father."
                       ""
                       "It is almost finished."
                       ""
                       "                  -- Esther 8394:48";
               ],
               show_quote_inline [;

                                       "^He was weak. You are doing well, father.

                                       It is almost finished.

                                                        -- Esther 8394:48";
               ];

Quotation before_bed_quote
       with show_quote [;
               box
                       "Be careful, father."
                       ""
                       "Everyone's crazy but you."
                       ""
                       "        -- Ruth 347:84";
               ],
               show_quote_inline [;
                                       "^Be careful, father.

                                       Everyone's crazy but you.

                                             -- Ruth 347:84";
               ];

Quotation open_hatch_quote
       with show_quote [;
               box
                       "Damn Constantin and his locks."
                       ""
                       "       -- Deuteronomy 463:4";
               ],
               show_quote_inline [;

                                       "^Damn Constantin and his locks.

                                             -- Deuteronomy 463:4";
               ];

Quotation dig_flagstone_quote
       with show_quote [;
               box
                       "And he said: ~What hath thou hidden from me?~"
                       ""
                       "                     Joshua 247:94";
               ],
               show_quote_inline [;
                                       "^And he said: ~What hath thou hidden from me?~

                                                           Joshua 247:94";
               ];

Quotation cross_pushed_quote1
       with show_quote [;
               box
                       "We will burn together eternally"
                       "for what you did to me."
                       ""
                       "              -- Matteo 1:1";

               ],
               show_quote_inline [;
                                       "^We will burn together eternally
                                       for what you did to me.

                                                    -- Matteo 1:1";

               ];

Quotation cross_talking_quote1
       with show_quote [;
               box
                       "And he came before the cross"
                       "and asked: ~What has become of"
                       "this place?~"
                       ""
                       "               -- Matteo 1:1";

               ],
               show_quote_inline [;
                                       "^And he came before the cross
                                       and asked: ~What has become of
                                       this place?~

                                                     -- Matteo 1:1";

               ];

Quotation cross_talking_quote2
       with show_quote [;
               box
                       "And the man on the cross replied:"
                       "~Sin has found its way.~"
                       ""
                       "                -- Matteo 1:2";

               ],
               show_quote_inline [;
                                       "^And the man on the cross replied:
                                       ~Sin has found its way.~

                                                      -- Matteo 1:2";

               ];

Quotation cross_talking_quote3
       with show_quote [;
               box
                       "~But whose sin?~ The first asked."
                       ""
                       "                -- Matteo 1:3";

               ],
               show_quote_inline [;
                                       "^~But whose sin?~ The first asked.

                                                      -- Matteo 1:3";

               ];

Quotation cross_talking_quote4
       with show_quote [;
               box
                       "~Yours.~"
                       ""
                       "And that was all."
                       "                -- Matteo 1:4";

               ],
               show_quote_inline [;

                                       "^~Yours.~

                                       And that was all.
                                                       -- Matteo 1:4";

               ];

Quotation lucca_dead_quote1
       with show_quote [;
               box
                       "And so, he found himself by the river"
                       "whereupon he found a man lying on the bank."
                       "~Why do you lie upon the ground?~ he asked."
                       ""
                       "                             -- Lucca 1:1";

               ],
               show_quote_inline [;
                                       "^And so, he found himself by the river
                                       whereupon he found a man lying on the bank.
                                       ~Why do you lie upon the ground?~ he asked.

                                                                   -- Lucca 1:1";

               ];

Quotation lucca_dead_quote2
       with show_quote [;
               box
                       "And the man replied: ~Because lie is all we do.~"
                       ""
                       "                             -- Lucca 1:2";

               ],
               show_quote_inline [;
                                       "^And the man replied: ~Because lie is all we do.~

                                                                   -- Lucca 1:2";

               ];

Quotation lucca_dead_quote3
       with show_quote [;
               box
                       "And the first asked: ~Who is the 'we' that only lies?~"
                       ""
                       "The second, paused. ~Man.~"
                       ""
                       "                                        -- Lucca 1:3";

               ],
               show_quote_inline [;
                                       "^And the first asked: ~Who is the 'we' that only lies?~

                                       The second, paused. ~Man.~

                                                                              -- Lucca 1:3";

               ];

Quotation matteo_cross_quote
       with show_quote [;
               box
                       "Matteo laughs."
                       ""
                       "~You will always be trapped,~ he gloats,"
                       "his eyes glittering."
                       ""
                       "                    -- Habbakuk 948:3";
               ],
               show_quote_inline [;
                                       "^Matteo laughs.

                                       ~You will always be trapped,~ he gloats,
                                       his eyes glittering.

                                                           -- Habbakuk 948:3";
               ];

Quotation in_cellar_quote
       with show_quote [;
               box
                       "Be careful, father."
                       ""
                       "Someone's coming."
                       ""
                       "     -- Luke 4356:235";
               ],
               show_quote_inline [;

                                       "^Be careful, father.

                                       Someone's coming.

                                           -- Luke 4356:235";
               ];

Quotation lucca_blood_quote
       with show_quote [;
               box
                       "Behind you, father."
                       ""
                       "      -- John 764:34";
               ],
               show_quote_inline [;

                                       "^Behind you, father.

                                             -- John 764:34";
               ];

Quotation avalanche_quote
       with show_quote [;
               box
                       "Quick, father."
                       ""
                       "Pray to me."
                       ""
                       "  -- Psalms 242:34";
               ],
               show_quote_inline [;

                                       "^Quick, father.

                                       Pray to me.

                                        -- Psalms 242:34";
               ];

Quotation tower_body_quote
       with show_quote [;
               box
                       "~You'll never be free,~ he laughs."
                       ""
                       "~Never.~"
                       ""
                       "                  -- Matteo 1:1";
               ],
               show_quote_inline [;
                               box
                                       "^~You'll never be free,~ he laughs.

                                       ~Never.~

                                                        -- Matteo 1:1";
               ];

Quotation matteo_push_quote1
       with show_quote [;
               box
                       "He's laughing. "
                       ""
                       "Laughing at you."
                       ""
                       "  -- Ruth 182:7";

               ],
               show_quote_inline [;

                                       "^He's laughing.

                                       Laughing at you.

                                         -- Ruth 182:7";

               ];

Quotation matteo_push_quote2
       with show_quote [;
               box
                       "Push him."
                       ""
                       "It's the only way he'll stop."
                       ""
                       "         -- Exodus 903:435";

               ],
               show_quote_inline [;
                                       "^Push him.
                                       It's the only way he'll stop.

                                                -- Exodus 903:435";

                               ];


Quotation matteo_push_quote3
       with show_quote [;
               box
                       "DO IT NOW!"
                       ""
                       " -- Job 238:37";

               ],
               show_quote_inline [;

                                       "^DO IT NOW!
                                        -- Job 238:37";

               ];

Quotation evil_pray_quote
       with show_quote [;
               box
                       "~IMMUNDA!~ A voice cried from above,"
                       "and he knew he had sinned."
                       ""
                       "  -- Acts 345:456";
               ],
               show_quote_inline [;

                                       "^~IMMUNDA!~ A voice cried from above,
                                       and he knew he had sinned.
                                        -- Acts 345:456";
               ];

Quotation no_push_matteo_quote
       with show_quote [;
               box
                       "You are so pathetic."
                       ""
                       "So weak."
                       ""
                       " -- Revelations 252:3";
               ],
               show_quote_inline [;
                                       "^You are so pathetic.

                                       So weak.

                                       -- Revelations 252:3";
               ];

Quotation masturbate_quote
       with show_quote [;
               box
                       "There. Wasn't the worth it?"
                       ""
                       "Self-denial is the greatest sin."
                       ""
                       "            -- Mark 4397:39";
               ],
               show_quote_inline [;
                                       "^There. Wasn't the worth it?
                                       Self-denial is the greatest sin.
                                                  -- Mark 4397:39";
               ];

Quotation cecilia_cellar_quote
       with show_quote [;
               box
                       "Quickly now: hide. I can do nothing else."
                       ""
                       "                -- Revelations 98734:332";
               ],
               show_quote_inline [;

                                       "^Quickly now: hide. I can do nothing else.

                                                       -- Revelations 98734:332";
               ];

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!SHADOWS
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Class   Ghost
with    before [;
                       default:
                               if (self has male)
                                       "He isn't here.";
                               if (self has female)
                                       "She isn't here.";
                               if (self has pluralname)
                                       "They aren't here.";
                               if (self has animate)
                                       "It isn't here.";
               ],
               found_in [;
                       return true;
               ],
has             scenery concealed;

Ghost   lucca_ghost "Lucca"
class   Lucca
with    pname 'lucca' 'brother' 'man',
               before [;
                       default:
                               if (location == cloister && matteo_room hasnt visited)
                                       "He left for the dormitory.";
                               if (location == dormitory && matteo_room hasnt visited)
                                       "He left to Matteo's room.";

               ],
has             ;

Ghost   constantin_ghost "Constantin"
class   Constantin
with    pname 'constantin' 'brother' 'man',

has             ;

Ghost   ignatius_ghost "Ignatius"
class   Ignatius
with    pname 'ignatius' 'brother' 'man',

has             ;

Ghost   matteo_ghost "Matteo"
class   Matteo
with    pname 'matteo' 'brother' 'man',

has             ;

Ghost   cat_ghost "cat"
class   Matteo
with    pname 'cat' 'black' 'feline',
               before [;
                       default:
                               "The cat is gone.";
               ],
has             ;

Object  plague_shadow
with    found_in [;
                       return true;
               ],
               daemon [;
                       if (entrance_door.cecilia_let_in == true)
                               StopDaemon(self);
                       else
                               switch((self.cecilia_coming)++) {
                               4:
                                       QuoteFrom(isamuel2_10);
                                       "^Thunder rumbles overhead, shaking the monastery to its
                                       foundations.";
                               5:
                                       QuoteFrom(cecilia_coming_quote);
                                       "^A loud crackle splits the sound of wind. Lightning. Stone
                                       tumbles in the distance.";
                               6:
                                       StopDaemon(self);
                               14:
                                       QuoteFrom(cecilia_here_quote);
                                       "^A warmth spreads through your body, soothing the chill and fear
                                       from your bones. Salvation.
                                       ^^She is here.";
                               15:
                                       StopDaemon(self);
                               }
               ],
               each_turn [;
                       if (devil.prayed == true || location == cellar) {
                       if (random(60) == 1)
                               "^A gust of wind slices across your ears. You
                               shiver.";
                       if (random(60) == 2)
                               "^A wolf howls in the distance. A hungry, plaintive sound.";
                       if (random(60) == 3)
                               "^Whispers dance in your ears. Growing. Fading.";
                       if (random(60) == 4)
                               "^An itch tickles beneath your skin.";
                       }
                       else
                       switch(time_shadow.current_time) {
                       0:
                       if (random(60) == 1)
                               "^A gust of wind slices across your ears. You
                               shiver.";
                       if (random(60) == 2)
                               "^A wolf howls in the distance. A hungry, plaintive sound.";
                       if (random(60) == 3)
                               "^Whispers dance in your ears. Growing. Fading.";
                       if (random(60) == 4)
                               "^An itch tickles beneath your skin.";
                       1:
                       if (random(105) == 1)
                               "^A gust of wind slices across your ears. You
                               shiver.";
                       if (random(105) == 2)
                               "^A wolf howls in the distance. A hungry, plaintive sound.";
                       if (random(105) == 3)
                               "^Whispers dance in your ears. Growing. Fading.";
                       if (random(105) == 4)
                               "^An itch tickles beneath your skin.";
                       if (random(105) == 5 or 6 or 7)
                               "^A rather violent cough shakes your body. Mucus cakes your nose.";

                       2:
                       if (random(105) == 1)
                               "^A gust of wind slices across your ears. You
                               shiver.";
                       if (random(105) == 2)
                               "^A wolf howls in the distance. A hungry, plaintive sound.";
                       if (random(105) == 3)
                               "^Whispers dance in your ears. Growing. Fading.";
                       if (random(105) == 4)
                               "^An itch tickles beneath your skin.";
                       if (random(105) == 5 or 6 or 7)
                               "^A rather violent cough shakes your body. You have trouble catching
                               your breath.";
                       3:
                       if (random(120) == 1)
                               "^A gust of wind slices across your ears. You
                               shiver.";
                       if (random(120) == 2)
                               "^A wolf howls in the distance. A hungry, plaintive sound.";
                       if (random(120) == 3)
                               "^Whispers dance in your ears. Growing. Fading.";
                       if (random(120) == 4)
                               "^An itch tickles beneath your skin.";
                       if (random(120) == 5 or 6)
                               "^Violent coughs spew from your lungs. You wipe a small spattering of
                               blood from your mouth.";
                       if (random(120) == 7 or 8)
                               "^Cold knives of pain cut through your skull. They ease off, leaving
                               a dull throbbing behind your eyes.";

                       4:
                       if (random(120) == 1)
                               "^A gust of wind slices across your ears. You
                               shiver.";
                       if (random(120) == 2)
                               "^A wolf howls in the distance. A hungry, plaintive sound.";
                       if (random(120) == 3)
                               "^Whispers dance in your ears. Growing. Fading.";
                       if (random(120) == 4)
                               "^An itch tickles beneath your skin.";
                       if (random(120) == 5 or 6)
                               "^Violent coughs spew from your lungs. You wipe a small spattering of
                               blood from your mouth.";
                       if (random(120) == 7 or 8)
                               "^Cold knives of pain cut through your skull. They ease off, leaving
                               a dull throbbing behind your eyes.";
                       5,6:
                       if (random(120) == 1)
                               "^A gust of wind slices across your ears. You
                               shiver.";
                       if (random(120) == 2)
                               "^A wolf howls in the distance. A hungry, plaintive sound.";
                       if (random(120) == 3)
                               "^Whispers dance in your ears. Growing. Fading.";
                       if (random(120) == 4)
                               "^An itch tickles beneath your skin.";
                       if (random(120) == 5)
                               "^Violent coughs spew from your lungs. You wipe a small spattering of
                               blood from your mouth.";
                       if (random(120) == 6)
                               "^Cold knives of pain cut through your skull. They ease off, leaving
                               a dull throbbing behind your eyes.";
                       if (random(120) == 7 or 8)
                               "^A chill grips your body. You shudder uncontrollably as tremors
                               shake your weak flesh.";
                       7,8:
                       if (random(180) == 1)
                               "^A gust of wind slices across your ears. You
                               shiver.";
                       if (random(180) == 2)
                               "^A wolf howls in the distance. A hungry, plaintive sound.";
                       if (random(180) == 3)
                               "^Whispers dance in your ears. Growing. Fading.";
                       if (random(180) == 4)
                               "^An itch tickles beneath your skin.";
                       if (random(180) == 5)
                               "^Violent coughs spew from your lungs. You wipe a small spattering of
                               blood from your mouth.";
                       if (random(180) == 6)
                               "^Cold knives of pain cut through your skull. They ease off, leaving
                               a dull throbbing behind your eyes.";
                       if (random(180) == 7)
                               "^A chill grips your body. You shudder uncontrollably as tremors
                               shakes your weak flesh.";
                       if (random(180) == 8 or 9 or 10 or 11 or 12)
                               "^Bloody vomit wells up in your throat. It trickles out the side of
                               your mouth, staining your lips red. You choke it back.";

                       }

               ],
               cecilia_coming false,
has             scenery concealed;

Object  time_shadow
with
               current_time 0,
               lucca_jailed false,
               react_before [;
                       Sleep:
                               if (self.lucca_jailed == false)
                                       "You are not tired. Well, you are always tired, but you are not
                                       tired enough to sleep.";
                               else
                                       return false;
               ],

               found_in [;
                       return true;
               ],
               time_left,
               time_out [;
                       if (self.current_time == 5) {
                       self.current_time = self.current_time + 1;
                       "^Four chimes drone from the tower: Sext.";
                       }
                       if (self.current_time == 6)
                       self.current_time = self.current_time + 1;
                       "^A chorus of rings sounds from the tower, echoing through the land. Five
                       rings. None.";
               ],
               each_turn [;
                       if (time_shadow.current_time == 6)
                               statusbar_right = "Sext";
                       if (time_shadow.current_time == 7)
                               statusbar_right = "None";

               ],
has             scenery concealed;

Object  sin_shadow
with    react_before [;
                       PrayFor:
                       if (sin_shadow.evil == true)
                       "You say a few hollow words. They dry and crumble in your mouth.";
                       PrayTo:
                               if (noun == cecilia)
                                       self.middle = true;
                                       self.prayed_cecilia = true;
                                       self.total_sin = self.total_sin + 5;
                                       return false;
               ],
               each_turn [;
                       if (self.evil == true) {
                               self.middle = false;
                               self.good = false;
                       }
                       if (self.middle == true)
                               self.good = false;
               ],
               masturbated false,
               prayed_cecilia false,
               good true,
               middle false,
               evil false,
               total_sin 0,
               found_in [;
                       return true;
               ],
has             scenery concealed;

Object  misc_shadow
with    name 'room' 'location' 'place' 'air' 'surroundings',
               before [;
                       Examine:
                               if (noun == self)
                                       <<Look>>;
                       Smell:
                               if (noun == self)
                                       <<Smell>>;
                       Listen:
                               if (noun == self)
                                       <<Listen>>;
               ],
               found_in [;
                       return true;
               ],
               react_before [;
                       Examine,Listen,Look,Smell,Touch,Wait,Ask,Tell,Answer:
                               return false;

                       Go:
                               if (location == cloister or church && drogo3.show_matteo > 0 &&
                               drogo3.show_matteo < 4 && noun ~= n_obj)
                                       "That would be difficult with Drogo dragging you.";
                               if (location == cloister or church && drogo3.show_matteo > 0 &&
                               drogo3.show_matteo < 4 && noun == n_obj)
                                       "He's already dragging you that way.";
                               else
                                       return false;
                       default:
                               if (location == cloister or church && drogo3.show_matteo > 0 &&
                               drogo3.show_matteo < 4)
                                       "That would be difficult with Drogo dragging you.";
                               else
                                       return false;
               ],
               each_turn [;
                       if (wolves.chasing >= 1)
                               move wolves to location;
                       if (time_shadow.current_time == 1 && time_shadow.lucca_jailed == true) {
                               if (self.yawned == false) {
                                       self.yawned = true;
                                       "^The day is beginning to catch up with you. You yawn with a lot
                                       more force than you would have thought necessary.";
                                       }
                                       else
                                       return false;
                               }
                       if (horse.fed == true && horse.released == true && (francis.stable_prayed
                       == true || horse.beaten == true || cecilia.stable_prayed == true) &&
                       location ofclass Outside_Room &&
                       location ~= pass && pass
                       hasnt visited) {
                       horse.following = true;
                       move horse to location;
                       }
                       else
                       horse.following = false;
               ],
               react_after [;
                       Go:
                               if (horse.following == true && location ofclass Outside_Room)
                                       print "The horse trots along after you.^";
                                       return false;
               ],
               yawned false,
               quotes_on true,
has             scenery transparent concealed;

Object  whois_shadow
with
               react_before [ w1 w2 person_name;
                       Whois:
                               wn = consult_from;
                               w1 = NextWord();
                               w2 = NextWord();
                               if (consult_words==1 && w1~='brother') person_name = w1;
                               else if (consult_words==2 && w1=='brother') person_name = w2;
                               else if (consult_words==2 && w2=='brother') person_name = w1;
                               else "Try ~who is <name>~";
                                       switch(person_name) {
                                       'lucca':
                                       "The youngest of those who remain, Lucca joined the monastery
               only a few short months ago. The son of a count, he had never seen death
               before the arrival of the plague. It haunts him.";
                                       'ignatius':
                                               "A fiery man, whose devotion to God is rivalled only by his
               devotion to protecting God's people, Brother Ignatius was a soldier before
               joining Saint Cuthbert's. After losing an eye against the Turks in Nicaea,
               he came back to Italy, and started fighting for God in the only way he could
               now: with prayer.";
                                       'constantin':
                                               "An enormous, hulking man, Constantin is taking the lack of
                                               food
               worse than the rest of the brothers. The former blacksmith has taken to
               religious life quite well and has assumed the responsibilities of almoner and
               cellarer since those two brothers died.";
                                       'drogo':
                                               "A few months ago, Brother Drogo was a very promising novice.
                                               He
               had the wisdom and compassion of some of your brothers that had been here for
               decades and the vitality and hopefulness of youth. The dementia took care of
               that. A few months ago, he was stricken mad and since has been confined to
               the infirmary. But the need for beds soon overcame his need for isolation
               and so he was brought back to the monastery proper.
               ^^It was too soon for him.";
                                       'matteo':
                                               "Ah, Matteo. He was one of the first. Although he is a few
               years your senior, he remains obedient and helpful. He loves Saint
               Cuthbert's, almost as much as you. The loss of the brothers has been
               especially hard for him. He was as much a father to them as any priest.";
                                       'cecilia':
                                               "Only God knows for sure.";
                                       default:
                                               "You don't know who that is.";
                               }

               ],
has             scenery concealed;

Object  fire_shadow
with
               found_in [;
                               return true;

               ],
               react_before [;
                       Smell:
                               if (matteo_papers.been_read == true && noun == nothing)
                                       switch (location) {
                                       matteo_room,lucca_room,constantin_room,ignatius_room,drogo_room:
                                       "The smell of smoke is faint but growing stronger.";
                                       dormitory:
                                       "The smell of smoke dries your nose.";
                                       cloister,belltower_bottom,tower:
                                       "Smoke flies into your nose and brings tears to your eyes.";
                               }
                       Listen:
                               if (matteo_papers.been_read == true && noun == nothing)
                                       switch (location) {
                                       matteo_room,lucca_room,constantin_room,ignatius_room,drogo_room:
                                       "The crackle of flames sings with the wind.";
                                       dormitory:
                                       "Flames crackle to the west.";
                                       cloister,belltower_bottom,tower:
                                       "The roar of flames surrounds you.";
                               }
                       Go:
                               if (location == cloister && noun ~= ne_obj && matteo_papers.been_read
                               == true)
                                       "You are repelled by a hedge of flames. The fire is eating
                                       everything but the tower.";
               ],

               each_turn [;
                       if (matteo_papers.been_read == true  && location == matteo_room && self.
                       room_said == 0) {
                       self.room_said = 1;
                       "^As you look away from the papers, a faint smell reaches your nose.
                       ^^Smoke.";
                       }
                       if (location == dormitory && self.room_said == 1) {
                       self.room_said = 2;
                       "^The smell is stronger out here, and a faint crackling can be heard to
                       the west.";
                       }
                       if (location == cloister && self.room_said == 2) {
                       self.room_said = 3;
                       "^A scream sounds from the tower, ripping through the crackle of fire and
                       wind.";
                       }
                       if (location == belltower_bottom && time_shadow.current_time < 8 && self.
                       room_said > 0) {
                       statusbar_right = "Vespers";
                       time_shadow.current_time = 8;
                       "^Someone jars into the bell and a slothful ring begins as the bell sways
                       back and forth. One. Two. The momentum slows. Three. Four. Five.
                        It sounds like it will stop.
                       ^^No.
                       ^^Six.
                       ^^Vespers.";
                       }
                       if (location == cloister or belltower_bottom && self.room_said == 3  &&
                       constantin_dead in constantin_room) {
                       self.room_said = 4;
                       "^~Come, father! It is time!~  Cecilia calls from the tower.";
                       }
                       if (location == cloister or belltower_bottom && self.room_said == 3) {
                       self.room_said = 4;
                       "^~Help me, father!~  Cecilia calls from the tower. ~He has gone mad!~";
                       }

               ],
               room_said 0,
               burning 0,
has             static concealed;

Constantin constantin_tower "Constantin"
with
               description
                       "There is little left of the Constantin you knew. He is a seething mass
                       of tumors and bruises. His skin is mottled with vomit and blood. His
                       face and neck are a lumpy mound of sickness: his eyes sink in to deep
                       craters.",

               react_before [;
                       Go:
                               if (noun == d_obj)
                                       "Fire is creeping up the stairs: you cannot go down.";
               ],
               before [ k;
                       HelpPerson:
                               <<Push cecilia_tower>>;
                       Push,Attack,Pull:

                               print "Constantin's eyes go wild, or at least what you can see of
                               them does. He scrabbles out with his hand, catching onto your frock
                               loosely. It is enough.
                               ^^As you tumble over the side, a shrill laugh rings out from the
                               tower.^^^";
                               StopDaemon(self);
                               @read_char 1 -> k;
                               PlayerTo(new_church);
                               DayThree();
                               return true;
               ],
               daemon [ k;
                       switch(++(self.fighting)) {
                       1:
                               "^You rush up the stairs. Constantin pushes at Cecilia, but he is
                               too weak. No, she is too strong.";
                       2:
                               "^~Help me, father!~ Cecilia cries, head tilted over the rail. ~He
                               has gone mad.~
                               ^^Constantin gurgles; his throat is swollen. He chokes on his
                               tumors.";
                       3:
                               "^~I found out he was not burying the dead, and now he wants to kill
                               me!~ She tries to twist from his grip, but he is too strong.
                               ~Please, father!~";
                       4,5,6,7:
                               "^Constantin and Cecilia continue to grapple, neither one gaining on
                               the other.";
                       default:
                               StopDaemon(self);
                               print "^The struggle continues until suddenly the bell begins to
                               swing. The tower is collapsing. The heat swarms around you.
                               ^^Three screams rip through the air as the tower lurches towards the
                               ground.^^^";
                               self.pushed = true;
                               @read_char 1 -> k;

                               DayThree();
                               PlayerTo(new_church);
                               return true;

               }
               ],
               pushed false,
               fighting 0
has             concealed;

Cecilia_class   cecilia_tower "Cecilia"
with
               description
                       "Cecilia's hair whips across her face, framing her eyes with gold. Her
                       thin frame struggles against Constantin's hulk, but with his illness, she
                       appears to be holding her own.",
               before [ k;
                       HelpPerson:
                               <<Push constantin_tower>>;
                       Push,Attack,Pull:

                               print "She looks at you just once; her eyes are colder than any snow.
                               With a catlike strike, she latches onto your wrist. ~It's not over
                               yet.~
                               ^^As you tumble over the side, her laugh rides the wind into your
                               ears, slicing them with cold.^^^";
                               sin_shadow.good = true;
                               sin_shadow.evil = false;
                               sin_shadow.middle = false;
                               self.pushed = true;
                               StopDaemon(constantin_tower);
                               @read_char 1 -> k;

                               PlayerTo(new_church);

                               DayThree();
                               return true;
               ],
               pushed false,
has             concealed;

Cecilia_class   cecilia_tower2 "Cecilia"
with
               initial [ k;
                               print "Cecilia stands tall in the tower. Hair whips about her face,
                               dancing in time with the flames.
                               ^^~You have done well,~ she grins. She has so many teeth. ~Come, it
                               is time.~
                               ^^Cecilia leads you down the stairs, the flames cowering away from
                               her.
                               Her hand feels so soft.
                               ^^She takes you to the church. ~It's time you left that shell,~ she
                               croons, stroking your cheek softly.^^^";
                               @read_char 1 -> k;
                               StopDaemon(constantin_tower);
                               PlayerTo(new_church);
                               DayThree();
                               return true;
               ],
has             ;

Room    new_church "Church"
with    initial [;
                       statusbar_right = "";
                       time_shadow.current_time = 9;
                       move broken_glass to new_church;
                       move cecilia_church to new_church;
                       move drogo_church to new_church;
                       give crucifix concealed;
                       give windows concealed;
                       give lectern concealed;
                       give church_font concealed;
                       remove matteo_note;
                       remove cellar_key;
                       remove your_candle;
                       remove cellar_knife;
                       remove hare;
                       remove tinderbox;
                       remove your_frock;
                       remove your_bedding;
                       remove coin;
                       remove prybar;
                       remove constantin_tools;
                       remove matteo_papers;
                       remove lucca_paper;
                       StartDaemon(self);
               ],
               description [;
                               if (sin_shadow.evil == true)
                                       "Finally, it is right. The pews are full once more. Drogo has
                                       been busy. Sweet Drogo. Those troublesome Saints have been
                                       ripped from their glass houses: they lie in shattered pieces upon
                                       the ground. Fire peers in through the holes. It laughs: talks
                                       amongst itself.";
                               if (self.good_tirade > 0 && self.good_tirade < 5)
                                       "A chaotic, swirling mass. The crackle of flames roars in your
                                       ears. A figure looms before you. It smells of sweat, animals, and
                                       death: Drogo. Pain rips through you. Your flesh is soft; your
                                       bones broken.";
                               if (self.middle_tirade > 0 && self.middle_tirade < 5)
                                       "It is a chaotic, swirling mass. You cannot focus your eyes. The
                                       crackle of flames roars in your ears. The smell of death and fire
                                       drives up your nose. Your flesh is soft, your bones broken.";
                               if (sin_shadow.good == true || sin_shadow.middle == true)
                               "The church, your church, no longer welcomes you. The Saints have
                               been ripped from their glass
                               houses: what remains lies shattered upon the floor. Fire peeks in
                               through the old windows, eyeing you hungrily. The pews are full once
                               more: the corpses from the cellar line the rows. Familiar faces. Your
                               brothers.";
               ],
               daemon [;
                       if (sin_shadow.evil == true) {
                       switch(++(self.evil_tirade)){
                               1:
                               print "^^Waves of heat wash over you as Cecilia leads you into the
                               church. They do not burn: they soothe. It feels like home.^";
                               <Look>;
                               move emmanuele_shell to new_church;
                               "^Drogo chitters excitedly. ~Isn't it beautiful, Father?~  He is not
                               looking at you. He looks to the ceiling.
                               ^^Cecilia rolls her eyes. ~It is time.~ She smiles at you. She is
                               glorious: bathed in radiance, bathed in blood.";
                               2:
                               "^~Come,~ Cecilia croons. ~You look so filthy in that shell.~ She
                               leans in, jutting her tongue down your throat.
                               ^^Delicious.
                               ^^~Come on, just drop it,~ her words drip, filling your ears with
                               honey.";
                               3:
                               "^The father's body is fragile, drained. You stumble. His body is
                               beginning to weaken. His pain is yours. It is infuriating.
                               ^^~Humans are so weak, aren't they?~ Cecilia asks, poking at your
                               sagging limbs: your festering wounds.";
                               4:
                               "^You cough, parts of your lungs sputtering out in a shower of blood.
                               Damn mortals. Possession is always so much harder when the shell is
                               weak.
                               ^^Drogo looks over with concern. ~Are you alright, father?~ he asks,
                               rushing to your side.";
                               5:
                               StopDaemon(self);
                               give drogo_church ~concealed;
                               give cecilia_church ~concealed;
                               print "^You can take it no more: the pain is immense.^^";
                               <<Drop emmanuele_shell>>;
                       }
                       }
                       if (sin_shadow.middle == true) {
                       switch(++(self.middle_tirade)){
                               1:
                               print "^^The darkness slowly drains from your eyes and in to your
                               chest.
                               Shapes dance before you. Orange. Black. A familiar chitter:
                               Drogo.^";
                               <<Look>>;
                               2:
                               "^~It's time, father.~ It's Cecilia. Her voice drips with
                               saccharine guile.
                               ^^You struggle to rise, but pain shoots through you. You are dying.
                               Blood seeps from the many tumors that bubble from your flesh. You
                               shiver despite the heat.";
                               3:
                               "^~I knew I was right to come here,~ she croons. ~Sin pervades every
                               part of this place. Your sin.~
                               ^^You cough, parts of your lungs sputtering out in a shower of
                               blood. Your pain lessens, but it still cripples you: shackles you to
                               the ground.";
                               4:
                               StopDaemon(self);
                               give drogo_church ~concealed;
                               give cecilia_church ~concealed;
                               "^Finally, the pains slides from your body. No, that's not right. It
                               slides into your body. Deep. Deep enough that it is a part of you;
                               deep enough that it no longer owns you. It is yours.
                               ^^Cecilia. She is bathed in blood and sparkling with a radiance that
                               hurts your eyes. She smiles at you, her teeth brilliant in the light
                               of the fires.";

                       }
                       }
                       if (sin_shadow.good == true) {
                       switch(++(self.good_tirade)){
                               1:
                               print "^^The darkness slowly drains from your eyes and in to your
                               chest.
                               Shapes dance before you. Orange. Black. A familiar chitter.^";
                               <Look>;
                               2:
!                               QuoteFrom(end_good_quote1);
                               "^~What are you waiting for?~ A shrill voice demands: it is Cecilia.
                               ~Kill him already~
                               ^^Drogo wails. ~I can't!~ he cries. ~He is the father!~
                               ^^You try to move, but you can't: the pain is too great.";
                               3:
                               "^An exasperated, angry sigh. ~You want to get into Heaven, don't
                               you?~
                               ^^The shape in front of you bobs up and down rapidly.
                               ^^~Well then,~ her voice drips with saccharine guile. ~God wants you
                               to kill the father. He angers Him.~";
                               4:
                               "^Drogo is silent for a moment, then his head swings back and forth
                               furiously. ~Why would the Father want me to kill the father?~  He
                               pauses, thoughtfully. ~Thou shalt not kill.~
                               ^^Your pain lessens, but it still cripples you: shackles you to the
                               ground.";
                               5:
                               StopDaemon(self);
                               give drogo_church ~concealed;
                               give cecilia_church ~concealed;
                               "^Finally, the pains slides from your body. No, that's not right. It
                               slides into your body. Deep. Deep enough that it is a part of you;
                               deep enough that it no longer owns you. It is yours.
                               ^^But it is not soon enough. Cecilia screams in rage: a sound that
                               shakes the Earth. She rips Drogo away from you and hurls him to the
                               ground. ~Why do you have to be so useless?~ she shrieks at him, the
                               fires that surround reflected in her eyes. Then, turning your way:
                               ~And you. You have rejected me at every step. It could have been so
                               easy.~";
                       }
                       }
               ],
               before [;
                       Kill,Attack:
                               if (sin_shadow.evil == true && noun == emmanuele_shell or player)
                                       <<Drop emmanuele_shell>>;
                               if (self.good_tirade > 0 && self.good_tirade < 5)
                                       "You try, but the pain is too great. It gnaws at your bones and
                                       fills your head with fire.";
                               else {
                                       if (noun == player) {
                                               deadflag = true;
                                               "You take a jagged piece of glass from the window and drag it
                                               across your wrists. The warm blood flows while the rest of
                                               your body freezes.
                                               ^^When you get to Hell, Cecilia is waiting.";
                                       }
                               if (noun == cecilia_church && sin_shadow.evil == false)
                                       "You grab a jagged piece of glass and strike out against Cecilia.
                                       ^^She laughs. ~You think glass could hurt me?~";
                               if (noun == drogo_church && sin_shadow.evil == false)
                                       "He has suffered enough.";
                               }
                       PrayTo:
                               return false;
                       Pray:
                               <<PrayThrough god>>;
                       PrayThrough:
                               if (noun == god)
                                       <<Repent>>;
                       Repent:
                               if (sin_shadow.evil == true)
                                       "The time for that was before the Fall. You are nothing but sin
                                       now.";
                               if (sin_shadow.evil == false && self.repented == false) {
                                       self.repented = true;
                                       "Tears in your eyes, you plead for God to forgive you.
                                       ^^Warmth washes over you. A river of sin flows out of you, into
                                       the cracks of the Earth.";
                               }
                               if (sin_shadow.evil == false && self.repented == true)
                                       "The sin has been drained from you. You are clean.";
                       Smell:
                               "Fire and death. The perfume of the Devil.";
                       Listen:
                               "Fire rages on all sides: a chorus of crackles and hisses.";
                       Examine:
                               if ((self.good_tirade > 0 && self.good_tirade < 5) || (self.
                               middle_tirade > 0 && self.middle_tirade < 4) && noun ~=
                               drogo_church or cecilia_church or
                               player)
                                       "You cannot make anything out. Blackness swirls in your eyes; it
                                       hurts to keep them open.";

                       Wait,Look:
                               return false;
                       Ask,Tell,TalkTo,Order,Yes,No,Answer:
                               if ((self.good_tirade > 0 && self.good_tirade < 5) || (self.
                               middle_tirade > 0 && self.middle_tirade < 4))
                               "You try to speak, but a ragged cough is all that emerges. Chunks of
                               lung dribble from your mouth, and blood paints your lips.";
                       default:

                               if (self.good_tirade > 0 && self.good_tirade < 5)
                                       "You try, but the pain is too great. It gnaws at your bones and
                                       fills your head with fire.";
                               if (self.middle_tirade > 0 && self.middle_tirade < 4)
                                       "You try, but the pain is too great. It gnaws at your bones and
                                       fills your head with fire.";
               ],
               repented false,
               evil_tirade 0,
               middle_tirade 0,
               good_tirade 0,
               d_to [;
                       if (fissure in location)
                       {
                               deadflag = 3;
                               "Struggling against the pain, you drag yourself to the edge of the
                               fissure. Cecilia was right, choice is better than happiness.
                               ^^For once, the Devil told the truth. True to her word, she allows
                               you all the choice you could ever want.
                               ^^~Did you want your eyes to be pecked at by ravens today, or would
                               you prefer to be torn apart by wolves?~";
                       }
                       if (sin_shadow.evil == false && cecilia_church in new_church)
                               "Soon enough.";
                       if (sin_shadow.evil == false) {
                               deadflag = 3;
                               "Struggling against the pain, you drag yourself to the edge of the
                               fissure. Cecilia was right, choice is better than happiness.
                               ^^For once, the Devil told the truth. True to her word, she allows
                               you all the choice you could ever want.
                               ^^~Did you want your eyes to be pecked at by ravens today, or would
                               you prefer to be torn apart by wolves?~";
                       }
                       if (emmanuele_shell.freed == false && sin_shadow.evil == true)
                               "The father's plague-ridden cage shackles you to the Earth.";
                       if (sin_shadow.evil == true)
                               deadflag = 3;
                               "~Yes, I do suppose it is time to be getting back,~ Cecilia muses.
                               ~Saint Cuthbert's was only the first.~
                               ^^With that, she splays her fingers and a fissure tears through the
                               church. You take her hand, and walk into the rift.
                               ^^The screams of the damned are sweet music. The chorus welcomes you
                               home.";
               ],
               u_to [;
                       if (fissure notin location)
                               "Not yet.";
                       if (sin_shadow.evil == false && self.repented == false) {
                               deadflag = 3;
                               "As the life drains from your body, your soul struggles against the
                               pull of Hell. You rise up. You feel light and free.
                               ^^But it is a false feeling. Your sin is too heavy. It weighs on you
                               like stones shackled to your ankles. As it drags you into the
                               fissure,
                               you scream.
                               ^^Your cries split the air, but Heaven is too far to hear.";
                       }
                       if (sin_shadow.evil == false && self.repented == true) {
                               deadflag = 3;
                               "As the life drains from your body, your soul struggles against the
                               pull of Hell. You rise up. You feel light and free.
                               ^^You spin up towards Heaven, the glow of the moon soft upon your new
                               skin. Already, you feel the weight of decision lifted from your
                               shoulders.
                               ^^For once, the Devil didn't lie. Heaven is nice, and you like it.
                               No, do you like it? You can't tell anymore.";
                       }
                       if (sin_shadow.evil == true)
                               "Soon, hopefully. For now, the battle still wages on Earth.";
               ],
               cant_go [;
                       if (sin_shadow.evil == false)
                               "The fire rages all around. There is nowhere to go.";
                       if (emmanuele_shell.freed == false && sin_shadow.evil == true)
                               "The shell is too weak. The fire would consume it.";
                       if (sin_shadow.evil == true)
                               "There is no need. Saint Cuthbert's is ruined: your work is done.";
               ],
has             ;

Object  emmanuele_shell "father's body"
with    name 'emmanuele' 'body' 'shell' 'father^s' 'father' 'priest',
               article "the",
               before [;
                       Drop,ThrowAt,Insert,PutOn:
                               if (emmanuele_body in new_church)
                               "You are already free.";
                               else
                               StopDaemon(new_church);
                               give cecilia_church ~concealed;
                               give drogo_church ~concealed;
                               self.freed = true;
                               remove self;
                               move emmanuele_body to new_church;
                               "Ahhh, that feels good. With a flourish, you step from the father's
                               dried, wrinkled body, allowing it to crumple to the ground. He
                               groans.
                               ^^Freedom.
                               ^^You stretch your wings and stomp your hooves. It has never felt so
                               good. The air tastes delicious now that it is not breathed through
                               that weak human nose.
                               ^^Drogo screams: a delightful sound. He rushes to your old body,
                               lifting it into his arms and murmuring sweet songs into its ears.";
               ],
               react_before [;
                       Exit:
                               if (noun == nothing or self)
                                       <<Drop self>>;
                       Ask,Tell,TalkTo,Order,Yes,No,Answer:
                               "You try to speak, but a ragged cough is all that emerges. Chunks of
                               lung dribble from your mouth, and blood paints your lips. Damn this
                               weak body.";
               ],
               freed false,
has             concealed;

Object  emmanuele_body "father"
with    name 'emmanuele' 'body' 'shell' 'father^s' 'father' 'priest' 'smear',
               article "the",
               description [;
               if (self.dead == true)
               "He is little more than a smear upon the stone.";
               else
               "Dried, shrivelled, and useless. I was a hard two days in that
               worthless husk. His chest moves up and down; a sliver of life remains in
               him.";
               ],
               life [;
                       Ask,Tell,Answer,Order:
                                                       if (self.dead == true)
                                                               "He is little more than a smear upon the stone: you
                                                               can do no
                                       more.";
                                       else
                                               "He groans. Nothing more.";
               ],
               before [;
                       TalkTo:
                               if (self.dead == true)
                                       "He is little more than a smear upon the stone: you can do no
                                       more.";
                               else
                               "He groans. Nothing more.";
                       Kill,Attack:
                               if (self.dead == true)
                                       "He is little more than a smear upon the stone: you can do no
                                       more.";
                               if (drogo_church.dead == true) {
                                       self.dead = true;
                                       "With a sharp-toothed grin, you lift your hoof and slam it into
                                       his skull. It collapses like an overripe squash, giving off a
                                       most charming squelching sound.";
                               }
                               else
                                       self.dead = true;
                                       "With a sharp-toothed grin, you lift your hoof and slam it into
                                       his skull. It collapses like an overripe squash, giving off a
                                       most charming squelching sound. Cecilia laughs.
                                       ^^Drogo screams and begins pushing together the pieces of
                                       the father's skull, trying to mend them back together.";
               ],
               dead false,
has             animate male scenery;

Object  church_bodies "bodies"
with    name 'bodies' 'brothers' 'parishoners' 'parishioners' 'worshippers' 'men'
'corpses',
               description [;
                       if (sin_shadow.evil == true)
                               "Drogo has brought the corpses from the cellar and sat them upon the
                               pews. It is beautiful. They sit, row upon row, gazing up to the
                               chancel with maggots in place of their eyes.";
                       if (sin_shadow.evil == false)
                               "Oh God, it is horrible. Some have been placed kneeling, their hands
                               nailed together in eternal prayer. All are ravaged with plague and
                               decay. They stare up to Matteo without pause.";
               ],
               before [;
                       PrayFor:
                               "If only you had been more aware. Your prayer turns bitter in your
                               mouth.";
                       Search,Eat:
                               if (sin_shadow.evil == true)
                               "You rummage through the bodies until you find a large, juicy maggot.
                               With a flick of your wrist, you toss it into the air and catch it in
                               your mouth. Tasty.";
                               else
                               "Nothing but maggots and rotted flesh.";
               ],
               found_in new_church,
has             scenery;

Object  fissure "fissure"
with    name 'fissure' 'crack' 'hole' 'crevice' 'chasm' 'pit',
               initial "A jagged fissure splits the church, calling you with a chorus of
               flames.",
               description "Fire spews from it, promising warmth and freedom.",
               before [;
                       Enter:
                               <<Go d_obj>>;
               ],
has             static;

Object  fire "fire"
with    article "some",
               name 'fire' 'flames' 'fires' 'flame' 'smoke',
               description "It rages all about.  A cage of flame.",
               before [;
                       default:
                               "It is the least of your concerns.";
               ],
               found_in new_church,
has             scenery;

Object  broken_glass "broken glass"
with    name 'broken' 'glass' 'shattered' 'windows' 'stained' 'window',
               description "Broken glass lies scattered about the church: the remnants of
               the Saints.",
               after [;
                       Take:
                               "You grab a jagged piece of glass, the sharp edges reminding you
                               you're alive.";
               ],
has             concealed;


Drogo   drogo_church "Drogo"
with    name 'brother' 'man' 'drogo' 'figure' 'shape',
               initial [;
                       if (sin_shadow.good == true)
                               "Drogo lies in a crumpled heap upon the floor.";
                       if (emmanuele_body notin new_church)
                               "Drogo flies about the room wildly, propping up bodies and
                               positioning everything just so.";
                       if (self.dead == true)
                               "Drogo lies in a crumpled heap upon the floor.";
                       if (emmanuele_body.dead == true)
                               "Drogo desperately tries to piece the father's skull back together.";
                       if (emmanuele_body in new_church)
                               "Drogo weeps into the father's hair, his body quivering.";
               ],
               description [;
                       if (new_church.good_tirade > 0 && new_church.good_tirade < 5)
                               "He fades in and out of view: more of a shadow than a man.";
                       if (new_church.good_tirade >= 5)
                               "Drogo lies in a crumpled heap upon the floor.";
                       if (self.dead == true)
                               "A useless shell.";
                       if (emmanuele_body in new_church)
                               "His sobs are music in your ears. His tears are like sweet honey.";
                       if (sin_shadow.good == false)
                               "His eyes are wild and his hair is damp. He eyes you suspiciously,
                               but is more concerned with the decor of the church.";
               ],
               life [;
                       Ask,Tell,Answer,Order:
                               if (sin_shadow.evil == true)
                               "All he does is spit the Lord's prayer at you.";
                                       if (sin_shadow.good == true)
                                       "He lies unconcious upon the floor. He cannot speak.";
                                       if (sin_shadow.middle == true)
                               "He flutters about, his mind is gone.";
               ],
               before [;
                       Search:
                               if (self.dead == true)
                                       "Nothing but fur and sweat.";
                               else
                                       "He smacks away you fingers.";

                       TalkTo:
                               if (sin_shadow.evil == true)
                               "All he does is spit the Lord's prayer at you.";
                               if (sin_shadow.good == true)
                               "He lies unconcious upon the floor. He cannot speak.";
                               if (sin_shadow.middle == true)
                               "He flutters about, his mind is gone.";
                       Kill,Attack:
                               if (drogo_church.dead == true)
                                       "He's already dead.";
                               if (sin_shadow.good == true)
                                       "You are far too weak.";
                               if (sin_shadow.evil == true && emmanuele_shell.freed == false)
                                       "Your shell is too weak. You can barely move, let alone strike
                                       out.";
                               if (sin_shadow.evil == true && self.dead == false)
                                       drogo_church.dead = true;
                                       "You lift Drogo by the neck, squeezing ever so slightly. His
                                       flesh feels so soft. Your fingers curl: slowly, sweetly. He
                                       chokes. He tries to scream, but a ragged wheeze is all that
                                       emerges.
                                       ^^Your hand closes and a satisfying crack sounds above the
                                       flames. His body crumples as you toss it to the ground.";
               ],

               dead false,
has             concealed;

Cecilia_class cecilia_church "Cecilia"
with    initial [;
                       if (sin_shadow.good == false)
                               "Cecilia smiles at you.";
                       if (sin_shadow.good == true)
                               "Cecilia looms above you, fire in her eyes.";
               ],
               description [;
                       if (sin_shadow.good == false)
                               "She is glory. She is hate. Her tattered white rags have been
                               stained with blood. Fire dances in her eyes, a reflection of the
                               church. She grins. She is pleased.";
                       if (new_church.good_tirade > 0 && new_church.good_tirade < 5)
                               "You can't see her so much as feel her. She is everywhere. Her hate
                               permeates the room.";
                       if (sin_shadow.good == true)
                               "She towers above you. She looks so very different. Her tattered
                               white rags have been stained with blood. Fire dances in her eyes, a
                               reflection of the church. She revels in the heat. She is home.";
               ],
               life [;
                       Kiss:
                               if (sin_shadow.evil == true)
                                       "You wrap your tongue around hers. Sweet blood. Delicious.";
               ],
has             concealed;



!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!ROOMS
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Your Bedroom
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    your_bedroom

with
               short_name [;
                       if (sin_shadow.evil == true)
                               { print "Bedroom"; rtrue; }
                       else
                               { print "Your Bedroom"; rtrue; }
               ],
               initial [;
                       if (lucca_behind_door in outside_calefactory) {
                               move going_to_bed to all_hints;
                               QuoteFrom(before_bed_quote);
                       }
                       if (self hasnt visited)
                               "^Six crisp chimes mark Vespers. Your heart flutters
                               for a moment,
                               and you place your
                               head in your hands.";
                       if (entrance_door has open) {
                               give entrance_door ~open;
                               "Before you leave, you close the entrance door lest the snow, or
                               worse, get in.";
                       }
                       else
                               return false;
               ],
               description [;
                       switch(time_shadow.current_time) {

                       0,1:
                       if (self hasnt visited)
                       "Your room is small; it is the same as all the others, but it seems
                       smaller of
                       late. With so many of your brothers gone, there has been little for you
                       to do but wait. Wait for the spots to appear in this tiny, dark room.
                       ^^A chill breeze spins in through the window and out the door to the
                       west.";
                       else
                       "The room is small; the same as all the others. But it seems smaller of
                       late. The hall extends to the west.";
                       2:
                       "Your room is still except for the scuffling beneath your door and a
                       draft breezing in through the window.";
                       3,5,6,7:
                       "Cold, heavy light slides in through the window and creeps along the
                       floor out the door to the west.";


                       }
               ],

               before [ k;
                       Hide:
                               if (time_shadow.current_time ~= 2)
                                       return false;
                               else
                                       print "You hide beneath your bed, and pray to see morning's
                                       light.^^^";
                                        @read_char 1 -> k;
                                        <<Sleep>>;
                       Listen:
                               if (constantin3 in entrance_hall)
                                       "Constantin thuds back and forth behind the door.";
                               if (time_shadow.current_time < 2)
                                       "The whistle of the wind: nothing more.";
                               if (time_shadow.current_time == 2)
                                       "It sounds as through someone is trying force your door open
                                       quietly. The desk holds them back.";
               ],
               each_turn [;
                       if (time_shadow.current_time == 3 && self.woken_up == false) {
                               StartDaemon(self);
                               self.woken_up = true;
                               "^Returning to your cold bed, you sleep until morning.
                               ^^You awake to the sound of a sharp pounding at your door.
                               ^^~Father!~ Constantin's growl is clear. ~Wake up, Lucca has
                               escaped!~
                               ^^Morning light streams through the window, but it is a cold, heavy
                               light.";
                       }
                       else
                       return false;
               ],
               daemon [;
                       switch(++(self.woken_up)) {
                               3:
                                       "^~Hurry up, father!~  Another knock.";
                               5:
                                       "^~Quit wasting my time!~";
                               6:
                                       StopDaemon(self);

                       }
               ],
               woken_up false,
               out_to [;
                       <<Go w_obj>>;
               ],
               w_to entrance_hall,
;

Object  your_window "window"
with    name 'window' 'opening' 'pane' 'my',
               description "It is little more than a hole to let the heat in in the summer
               and the cold in in the winter.",
               before [;
                       Close,Open:
                               "It is no more than a square cut into the stone wall; it cannot be
                               opened or
                               closed.";
                       Enter:
                               "It is far to small to fit through.";
                       Search:
                               switch(time_shadow.current_time) {
                                       0,1:
                                               "Blackness.";
                                       2:
                                               "Suffocating blackness.";
                                       3:
                                               "The light sears your eyes from the sun above and the snow
                                               below.";
                                       5:
                                               "The dim light of the clouds matches the dim light of the
                                               snow.";
                                       6,7:
                                               "With the angle of the sun, no light enter directly. Instead
                                               it twists and tumbles as a ragged mass on the floor.";
                                       default:
                                               "Blackness.";
                               }
                       ;
               ],
               found_in your_bedroom,
has             scenery;

Object  your_bed "bed"
with    name 'bed' 'mattress' 'my',
               initial [;
                       switch(time_shadow.current_time) {
                                       0:
                                       if (your_bedding in self)
                                       "Against the other side is your bed, the blanket wrapped up in
                                       itself from this morning.";
                                       else
                                       "Against the side other is your bed.";
                                       1:
                                       if (your_desk.against_door == false)
                                       "Your bed calls to you from the side of the room. Her song is
                                       sweet, but it sings of treachery.";
                                       else
                                       "Your bed calls to you from the side of the room.";
                                       2:
                                       "Your bed calls to you from the side of the room.";
                                       default:
                                       "The bed, cold and harsh, no longer welcomes you.";
                       }
               ],
               description "Little more than a damp mattress on four legs. Still it is
               comfortable on cold nights.",
               react_before [;
                       Sleep:
                               if (time_shadow.current_time >=3)
                                       "If only you could. Sleep makes everything easier.";
                               if (time_shadow.current_time == 2) {
                                       statusbar_right = "Lauds";
                                       time_shadow.current_time = 3;
                                       move morning_lucca to all_hints;
                                       move horse_stall to stables;
                                       move horse to stables;
                                       remove tower_dead_body;
                                       remove dead_body;
                                       remove lucca2;
                                       remove lucca_behind_door;
                                       remove constantin2;
                                       remove ignatius2;
                                       remove drogo2;
                                       remove cecilia1;
                                       move cecilia2 to entrance_hall;
                                       remove figure_behind_door;
                                       move constantin3 to entrance_hall;
                                       move constantin_behind_door to your_bedroom;
                                       DayTwo ();
                                       return true;

                               }

                               if (time_shadow.lucca_jailed == true) {
                               if (your_desk.against_door == false) {
                                       deadflag = 4;
                                       print "You lay your head down on the cold, hard bed and drift off
                                       to
                                       sleep faster than you expected.
                                       ^^A few hours later, you are awoken by the sound of heavy
                                       breathing coming from beside your bed. It is the last sound you
                                       hear before the knife slides across your throat.^";
                                       return true;

                               }
                               else {
                                       move night_time to all_hints;
                                       move figure_behind_door to your_bedroom;
                                       statusbar_right = "Matins";
                                       time_shadow.current_time = 2;
                                       QuoteFrom(proverbs6_10);
                                       "You lay your head down on the cold, hard bed and drift off to
                                       sleep faster than you expected.
                                       ^^A few hours later, you are awoken by a strange scuffling sound
                                       outside.";
                               }
                               }
                               else
                                       "You're not tired yet. At least, not tired enough for bed.";
               ],
               before [;
                       Search:
                               <<Examine self>>;
                       LookUnder:
                               "Mould creeps from the blackness, but you find nothing else.";
                       Push,Pull:
                               "You used to be able to do this. Not anymore. Your age is beginning
                               to show.";
                       Smell:
                               "The mattress smells like you in a nice, comfortable way.";
                       Make:
                               "You do not have the energy for that.";
               ],

               found_in your_bedroom,
has             static supporter enterable;


Object  your_desk "desk",
with    name 'desk' 'my' 'table',
               initial [;
                       if (self.against_door == true)
                               "The desk squats by the door.";
                       else {
                       switch(time_shadow.current_time) {
                               0:
                               "Your old desk is pushed up against one side. It sags but holds
                               itself up proudly.";
                               1:
                               "Pushed up against the wall on one side is the desk, its surface
                               sagging slightly
                               in the middle. The dampness is taking its toll.";
                               2:
                               "The desk squats by the door.";
                               3:
                               "Even in the sunlight, the desk looks tired.";
                               default:
                               "The dim light leaches all color from the desk.";

                       };
                       }
               ],
               description "It was once a fine desk, but now it sags in the middle and
               smells faintly of rotting wood. Still, it serves well enough when you need
               to
               write: a need you haven't had much of lately.",
               before [;
                       Push,Pull:
                               if (time_shadow.current_time == 2)  {
                                       deadflag = true;
                                       "The moment you remove the desk's weight from the door, the door
                                       flies open, and a cowled figure leaps into the room. Although it
                                       is dark, you can see the glinting of the knife more clearly than
                                       anything you have ever seen. Fitting, as it is the last thing
                                       you do see before it slides across your throat.";
                               }

                               if (self.against_door == false && your_door has open) {
                                       give your_door ~open;
                                       self.against_door = true;
                                       print "(first closing the door)^";
                                       "Beads of sweat pooling into your eyebrows, you heave the desk
                                       towards the door. A few of your joints crack a bit, but you
                                       manage to move the desk.";
                               }
                               if (self.against_door == false && your_door hasnt open) {
                                       self.against_door = true;
                                       "Beads of sweat pooling into your eyebrows, you heave the desk
                                       towards the door. A few of your joints crack a bit, but you
                                       manage to move the desk.";
                               }
                               else {
                                       self.against_door = false;
                                       "With as much effort as it took to move the desk in the first
                                       place, you slide it back against the wall. You're getting too
                                       old for this.";
                               }
                       Smell:
                               "The wood is slightly rotten: not enough to be an
                               inconvenience though.";
                       Open,Search:
                               "It has no drawers.";
               ],
               found_in your_bedroom,
               against_door false,
has             static;


Object  your_bedding "bedding",
with    name 'bedding' 'coverings' 'covering' 'blanket' 'blankets' 'sheet' 'sheets',
               article "some",
               description "These have kept you warm on many cold nights.",
               after [;
                       Take:
                               give self ~concealed;
               ],
has             clothing concealed;

Simple_Door your_door "bedroom door"
with    article "your",
               pname 'your' 'my' '.x' 'door' 'wooden' 'hinges' 'cracked' 'western' 'bedroom'
               ,
               side1_to your_bedroom,
               side1_dir e_to,
               side2_to entrance_hall,
               side2_dir w_to,
               react_before
                [; Go:
                if (your_desk.against_door == true) {
                                                       give self open;
                                                       <Push your_desk>;
                                                       return false;
                               }
                if (noun notin compass) rfalse;
        if ((noun.door_dir==self.side1_dir && location==self.side2_to)
         || (noun.door_dir==self.side2_dir && location==self.side1_to)
         || (location.(noun.door_dir)==self))
              self.automat();
               ],
               before [;
                       LookUnder:
                               if (time_shadow.current_time == 2)
                                       "Candlelight streams from under the door, blocked now and then by
                                       the shadow of feet.";
                               if (constantin_behind_door in your_bedroom && self hasnt open)
                                       "Constantin's feet scuffle back and forth.";
                       Open:
                               if (your_desk.against_door == true) {
                                       <Push your_desk>;
                                       return false;
                               }
                               if (constantin_behind_door in your_bedroom && self hasnt open)
                                       "Constantin waits impatiently for you in the hall.";
                               else
                               return false;
               ],
               found_in your_bedroom entrance_hall,
has             open;

Constantin constantin_behind_door "Constantin"
with    before [;
                       Listen:
                               "Constantin thuds back and forth behind the door.";
                       default:
                               "He's in the hall.";
               ],
               react_before [;
                       Go,Enter:
                               if (noun == w_obj or your_door)
                                       remove self;
                                       return false;
               ],
has             scenery;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Entrance Hall
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    entrance_hall "Entrance Hall"
with    initial [;

                       if (self hasnt visited) {
                               move coin to alms_box;
                               "Pulling your frock tightly about you, you sigh and exit to the
                               hall.";
                       }
                       if (matteo_room has visited && entrance_door.cecilia_let_in == false)
                                       StartDaemon(self);
                       else
                               return false;
               ],
               description [;
                       if (self hasnt visited)
                               "As cold as your room is, this hall is even colder. The stone walls
                               dance and glisten with dampness.
                               The warmth of your room awaits to the east, and the cold of the
                               outside
                               world
                               through a heavy door to the south. Moonlight streams in from the
                               cloister to the north,
                               and a flimsy door secures the locutory to the west.";
                       else
                               "There is little to be seen here but the locutory door to the west
                               and your
                               room to the east. North and south both lead to the cold: north to
                               the cloister and south to outside.";
               ],
               daemon [;
                       if (player notin self)
                               StopDaemon(self);
                       else
                       switch (++(self.cecilia_heard)) {
                       1:      "^As you enter the hall, you hear a feeble rasping at the southern
                               door.
                               ^^~Please, help me. Is anyone in there?~ A faint voice calls over
                               the wind.
                               ^^~Please, I have traveled for days. Rovato is a graveyard. The
                               rats have eaten everything.~";
!                               ^^Just then, in a voice stronger than before: ~You are in danger,
!                       father.~";
                       2:      "^~Please. It is so cold.~";
                       3:      "^~Please...~
                               ^^A light thud: the sound of flesh on stone.";
                       4:
                               StopDaemon(self);
               }
               ],
               cecilia_heard 0,
               e_to your_bedroom,
               s_to entrance_door,
               w_to locutory_door,
               n_to cloister,
               out_to [;
                       <<Go s_obj>>;
               ],
;

Simple_Door     entrance_door "outside door"
with    name 'southern' 'south' 'outside' 'wooden' 'door' 'hinges' 'cracked' 'heavy',
               description [;
                       if (bar.down == true)
                               "A sturdy door. Perhaps the only sturdy one at Saint Cuthbert's. A
                               heavy wooden bar currently holds it steady under the pounding of the
                               wind.";
                       else
                               "A sturdy door. Perhaps the only sturdy one at Saint Cuthbert's.
                               The
                               bar that usually secures it against the outside world is raised.";
               ],
               after [;
                       Open:
                               if (self.cecilia_let_in == false && entrance_hall.cecilia_heard >= 1)
                               {
                                       StopDaemon(entrance_hall);
                                       self.cecilia_let_in = true;
                                       QuoteFrom(psalms96_6);
                                       move waking_cecilia to all_hints;
                                       move cecilia_body to entrance_hall;
                                       "Pushing the bar out of the way, you open the door, allowing a
                                       frail figure and a drift of snow to spill into the hall.
                                       ^^Before you, fingers bloody and face as pale as the snow it lies
                                       in, is a young woman. Her clothing is
                                       little more than tatters with stains of blood from where her
                                       hands were resting.
                                       ^^~Please,~ she gasps, raising herself up for a moment. ~I am so
                                       cold.~  With that, she returns her face to the icy ground.";
                               }
                               else
                                       return false;
               ],
               react_before [;
                       Go: if (location == entrance_hall && noun == s_obj && entrance_door hasnt
                       open && entrance_door.cecilia_let_in == false && entrance_hall.
                       cecilia_heard >= 1)
                                       <<Open entrance_door>>;
                       else
                               if (noun notin compass) rfalse;
                                        if ((noun.door_dir==self.side1_dir && location==self.
                                        side2_to)
                                         || (noun.door_dir==self.side2_dir && location==self.
                                         side1_to)
                                         || (location.(noun.door_dir)==self))
              self.automat();
               ],
               each_turn [;
                       if (entrance_door has open && self.cecilia_let_in == false &&
                       entrance_hall.cecilia_heard >= 1)
                               {
                                       StopDaemon(entrance_hall);
                                       self.cecilia_let_in = true;
                                       QuoteFrom(psalms96_6);
                                       move cecilia_body to entrance_hall;
                                       "Pushing the bar out of the way, you open the door, allowing a
                                       frail figure and a drift of snow to spill into the hall.
                                       ^^Before you, fingers bloody and face as pale as the snow it lies
                                       in, is a young woman. Her clothing is
                                       little more than tatters with stains of blood from where her
                                       hands were resting.
                                       ^^~Please,~ she gasps, raising herself up for a moment. ~I am so
                                       cold.~  With that, she returns her face to the icy ground.";
                               }
                               else
                                       return false;
               ],
               side1_to archway,
               side1_dir s_to,
               side2_to entrance_hall,
               side2_dir n_to,
               cecilia_let_in false,
               found_in entrance_hall archway,
has             door scenery openable;

Object  bar "bar"
with    name 'bar' 'board' 'block',
               description [;
                       if (self.down == true)
                               "A heavy bar secures the monastery from the influences of the
                               outside.";
                       else
                               "The heavy bar stands propped up against the wall.";
               ],
               before [;
                       Push,Pull:
                               if (self.down == true) {
                                       self.down = false;
                                       "Straining slightly, you push the bar up against the wall.";
                               }
                               else
                                       self.down = true;
                                       "With a slight grunt, you knock the bar back into place. It
                                       lands with a reassuring thud.";
               ],
               down true,
               found_in entrance_hall,
has             scenery;

Object  alms_box "alms box"
with    name 'oak' 'oaken' 'alms' 'alm' 'box' 'collection',
               description "It used to be filled with alms. Now, mostly cobwebs.",
               when_open [;
                       if (coin notin self)
                               "The alms box hangs open, as poor as the people it is meant to
                               help.";
                       else
                               "The alms box hangs open, a bright coin sparkling from within.";
               ],
               when_closed "The alms box hangs closed beside the door.",

               before [;
                       Receive:
                               if (noun ~= coin)
                                       "It's only meant for alms.";
               ],
               after [;
                       Open:
                               if (coin in self)
                                       "A single coin sparkles at you from the bottom.";
               ],
               found_in entrance_hall,
has             static openable container;

Object  coin "coin"
with    name 'coin' 'money' 'currency' 'bright' 'silver' 'alm' 'alms',
               description "It gleams in the light.",
               after [;
                       Take:
                               QuoteFrom(matthew26_15);
                               "It feels warm in your hand.";
               ],
has             ;

Object  cecilia_body "young woman"
with    name 'young' 'woman' 'cold' 'lady' 'girl',
               describe [;
                       if (self in entrance_hall)
                               "^A young woman lies collapsed upon the ground: drifts of snow
                               dancing around her limp body.";
                       else
                               "^A young woman lies collapsed upon the ground.";
               ],
               description
                       "For all her cuts and tattered clothes, she is still exceedingly
                       beautiful. Her skin, while pale, is unblemished. In fact, no sign of
                       the plague can be seen within her at all. She is perfection.",
               before [;
                       Receive:
                               if (noun == your_bedding)
                                       "Perhaps if you get her somewhere more comfortable first.";
                               else
                                       "Her slumber is too deep for her to stir.";
                       Wake:
                               "Her slumber is too deep.";
                       HelpPerson:
                               <<Take self>>;
                       TalkTo:
                               "She slumbers; she cannot hear.";

                       Invite:
                               "She cannot hear. And if she could, she is far too weak.";
                       Attack:
                               "You strike the woman, hard. ~Wake up!~ You snarl.
                               ^^She doesn't.";
                       Take,Pull:
                               move self to player;
                               "With more than a little trouble, you hoist the girl into your arms.
                               Your knees feel as though they might buckle but hold for now.";
               ],
               after [;
                       Drop:
                               if (location == entrance_hall)
                                       "You drop the girl to the ground with a thud. She groans,
                                       but remains comatose.";

               ],
               react_before [;
                       Give:
                               if (second == self)
                                       "Her slumber is too deep.";
                       Go:
                               if (noun == e_obj && location == entrance_hall)
                                       "Perhaps the locutory would be more comfortable.";

                               if (noun == n_obj && self in player && location == entrance_hall)
                                       "The young woman groans and kicks slightly as the cold from the
                                       cloister scrapes across her skin.";
                               if (noun == s_obj && self in player)
                                       print "The young woman groans with the chill, but she can do
                                       nothing to
                                       stop you.^";
                                       return false;
                       Open,PutOn,Insert,Examine,Look:
                               return false;
                       Drop:
                               if (location == archway && noun == self) {
                                       deadflag = 5;
                                       "With a shrug, you drop the girl back outside. She is not your
                                       problem.
                                       ^^Besides there was little you could do. The plague was already
                                       within Saint Cuthbert's, and within you. Better that she fade
                                       into the cold than go kicking and screaming with delirium.";
                               }
                               if (location == locutory)
                                       <<Insert cecilia_body locutory_bed>>;
                               else
                                       return false;
                       default:
                               if (self in player)
                                       "Your knees are beginning to buckle. You had better do something
                                       with her before trying anything else.";
                               else
                                       return false;
               ],
               life [;
                       Kiss:
                       QuoteFrom(kiss_cecilia_quote);
                               "You kiss her gently. She is soft. So soft. She tastes good.";
                       Touch:
                               QuoteFrom(kiss_cecilia_quote);
                               "You touch her gently. She is soft. So soft.";
                       Ask,Tell:
                               "She slumbers; she cannot hear.";
                       Order:
                               "The cold has taken her strength. She cannot hear or move.";
               ],
has             animate female;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Archway
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    archway "Archway"
class   Outside_room,
with    description "The last hint of shelter against the outside world. But it is
only a hint. The wind rushes by like a stream of ice water to the south: only the
curve of the
arch protects you. The warmth, for as much as it can be called that, of the
monastery awaits to the
north and the cold of outside to the south.",

               n_to entrance_hall,
               s_to [;
                       if (time_shadow.current_time == 0 or 1 or 2)
                                       "The wind gusts at your candle and bites at your feet. To
                                       venture out
                                       in the darkness would be suicide.";
                       else
                               return path;
               ],
               out_to [;
                       <<Go s_obj>>;
               ],
               in_to [;
                       <<Go n_obj>>;
               ],
has             ;

Object  arch "arch"
with    name 'arch' 'archway' 'curve',
               description "The tapered blocks fit together in a crooked fashion; they seem
               as though they could slip at a moment's notice. Still, the archways shields
               you from the wind.",
               found_in archway,
has             scenery;


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Locutory
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    locutory "Locutory"
with    initial [;
                       if (cecilia_body in player)
![;
!                       if (cecilia_body in player && locutory_door hasnt open)
!                               "Nudging the handle with your arm, you carefully open the door, the
!                               young woman still hanging limply in your arms. You stumble, but
!                               catch yourself before allowing her to drop.";
!                       if (cecilia_body in player && locutory_door has open)
                               "You turn sideways and slide into the locutory, careful not to catch
                               the young woman's head on the frame.";
                       if (entrance_door has open) {
                               give entrance_door ~open;
                               "Before you leave, you close the entrance door lest the snow, or
                               worse, get in.";
                       }
                       else
                               return false;
                       ],
!               ],
               description [;
                       if (locutory_fireplace.lit == false)
                               "The locutory used to be alive with the bartering of merchants
                               and the tales of visiting brothers, but since the gate was closed, no
                               one has
                               been in here but you. A small bed is pushed up against the wall for
                               those
                               visitors not permitted residency in the monastery, its tired frame
                               supporting
                               a light mattress.
                               ^^Near the door to the east is a fireplace, its embers cold
                               for days.";
                       else
                               "The locutory used to be alive with the bartering of merchants
                               and the tales of visiting brothers, but since the gate was closed, no
                               one has
                               been in here but you. A small bed is pushed up against the wall for
                               those
                               visitors not permitted residency in the monastery, its tired frame
                               supporting
                               a light mattress.
                               ^^A small circle of warmth surrounds the fireplace near the door to
                               the east.";
               ],
               before [;
                       Smell:
                               if (noun == nothing or locutory_fireplace && locutory_fireplace.lit
                               ==
                               true)
                                       "The smoke from the fire burns your throat and stings your
                                       eyes.";
                       Listen:
                               if (locutory_fireplace.lit == true)
                                       "The fire spits and crackles weakly.";

               ],
               e_to entrance_hall,
               out_to [;
                       <<Go e_obj>>;
               ],
has             ;

Simple_Door     locutory_door "door to the locutory"
with    pname '.x' 'door' 'locutory' 'eastern' 'wooden' 'hinges' 'cracked' 'flimsy',
               side1_to locutory,
               side1_dir w_to,
               side2_to entrance_hall,
               side2_dir e_to,
               found_in locutory entrance_hall,
has             ;

Object  locutory_fireplace "fireplace"
with    name 'fire' 'place' 'fireplace' 'hearth' 'embers' 'flames' 'log' 'logs' 'ash'
'ashes' 'soot',
               description [;
                       if (self.lit == true)
                               "The wet logs give off little heat and much smoke. Still, it is
                               better than the chill that was present before.";
                       else
                               "The fireplace lies cold: cold as the rest of Saint Cuthbert's.";
               ],
               react_before [;
                       Burn:
                               if (noun == nothing)
                                       <<Burn self>>;
               ],
               before [;
                       Touch:
                               if (self.lit == true)
                                       "The fire burns your hand. You withdraw it, but blisters are
                                       still sure to form.";
                               else
                                       "Gritty with soot.";
                       Search:
                               if (self.lit == true)
                               "The fire bites at your hands; you find nothing but burns.";
                               else
                               "You find nothing but ashes.";
                       Extinguish:
                               if (self.lit == false)
                                       "It's not lit.";
                               else
                                       "Best to leave it on. This place can use all the warmth it can
                                       get.";

                       Burn:
                               if (self.lit == false) {
                                       QuoteFrom(isaiah44_16);
                                       self.lit = true;
                                       "After much coaxing, you finally get the wet logs to ignite. The
                                       flame is weak, but it will do.";
                               }
                               else
                                       "The fire is already lit. You can do no more.";
               ],
               lit false,
               found_in locutory,
has             scenery;

Object  locutory_bed "bed"
with    name 'bed' 'mattress' 'small',
               description "This bed is small but clean. Visitors are rare lately.",
               before [;
                       Search:
                               <<Examine self>>;
                       LookUnder:
                               "Mould creeps from the blackness, but you find nothing else.";
                       Receive:
                               if (noun == your_bedding && cecilia1 in location) {
                                       move your_bedding to cecilia1;
                                       cecilia1.bedding_given = true;
                                       "You drape your bedding over the girl, and she seems to calm down
                                       a bit.";
                               }
                               if (noun == cecilia_body) {
                                       remove cecilia_body;
                                       move cecilia1 to locutory;
                                       "You lay the young girl on the bed, and she immediately relaxes.
                                       Her eyes remain closed but no longer twitch with discomfort.";
                               }
                               else
                                       return false;
               ],
               found_in locutory,
has             scenery supporter enterable;



!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Cloister
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    cloister "Cloister"
class   Outside_Room,
with    name 'colonnade',
               initial [;
                       if (sin_shadow.evil == true && matteo_papers.been_read == true) {
                               move cecilia_tower2 to tower;
                               remove constantin_tower;
                       }

                       if (matteo_papers.been_read == true && constantin_dead notin
                       constantin_room) {
                               remove constantin5;
                               move constantin_tower to tower;
                       }
                       if (self hasnt visited && entrance_door has open) {
                               move lucca1 to cloister;
                               StartDaemon(lucca1);
                               "Before you leave, you close the entrance door lest the snow, or
                               worse, get in.";
                       }
                       if (self hasnt visited) {
                               move lucca1 to cloister;
                               StartDaemon(lucca1);
                               "Bracing yourself for the cold, you lower your hood and exit to the
                               cloister.";
                       }
                       if (entrance_door has open) {
                               give entrance_door ~open;
                               "Before you leave, you close the entrance door lest the snow, or
                               worse, get in.";
                       }
                       else
                               return false;
               ],
               description [;
                       switch(time_shadow.current_time) {
                       1,2:
                               "There will be no garden here come spring. It is hard to imagine the
                               snow will ever melt.
                               ^^The colonnade is broken to the south by
                               the
                               exit to the hall and to the west by the entrance to the refectory.
                               The
                               brothers' dormitory lies to the east, between the calefactory in the
                               southeast and the belltower in the northeast.
                               ^^The church squats to the north, Her spires clawing at the sky as
                               She tries to climb away from the Earth.";
                       0:
                               "In the warmer months, Brother Matteo maintains a beautiful
                               garden in the cloister. Now there is nothing but a few dead vines
                               sticking
                               out from beneath a blanket of snow. Still, it has a calm dignity:
                               the
                               wind finds no entrance here. The colonnade is broken to the south by
                               the
                               exit to the hall and to the west by the entrance to the refectory.
                               The
                               brothers' dormitory lies to the east, between the calefactory in the
                               southeast and the belltower in the northeast.
                               ^^The church commands
                               from the north, its spires reaching up to Heaven.";
                       3:
                               "The sun shines in the east, but the cloister is dim.
                               There was no snow last night, but it remains high. It is dirty and
                               soaks up what little light makes it here.
                               ^^The colonnade is broken to
                               the south by
                               the
                               exit to the hall and to the west by the entrance to the refectory.
                               The
                               brothers' dormitory lies to the east, between the calefactory in the
                               southeast and the belltower in the northeast.
                               ^^The church cowers away from the sun. Her sins, like all sins, are
                               revealed by the light of day.";
                       5:
                               "Clouds close off the sky, blocking the light but not the snow.
                               ^^The colonnade is broken to
                               the south by
                               the
                               exit to the hall and to the west by the entrance to the refectory.
                               The
                               brothers' dormitory lies to the east, between the calefactory in the
                               southeast and the belltower in the northeast.
                               ^^The church stands a little taller now. God cannot see as well
                               through the clouds.";
                       6,7:
                               if (location == cloister && fire_shadow.room_said >= 2)
                               "The church is shrouded in a halo of fire: She is a whore in a red
                               dress.
                               Smoke spills from the door and eaves. The fire dances; She directs
                               it in
                               a ring around the cloister. Only the stone tower in the northeast is
                               unharmed.";
                               else
                               "Clouds close off the sky, blocking the light but not the snow.
                               ^^The colonnade is broken to
                               the south by
                               the
                               exit to the hall and to the west by the entrance to the refectory.
                               The
                               brothers' dormitory lies to the east, between the calefactory in the
                               southeast and the belltower in the northeast.
                               ^^The church rolls and laughs to the north, pointing Her sharp
                               fingers in a perpetual mock at God.";
                       };
               ],
               each_turn [;

                       if (dead_body in belltower_bottom && self.matteo_heard == false &&
                       cecilia1.woken == true) {
                               self.matteo_heard = true;
                               "^~Oh, my God!~ You hear someone cry from the northeast. ~Matteo!~";
                       }
                       else
                               return false;
               ],
               matteo_heard false,
               s_to entrance_hall,
               w_to refectory,
               ne_to belltower_bottom,
               n_to church,
               e_to dormitory,
               se_to outside_calefactory,
has             ;

Object  cloister_garden "garden"
with    name 'garden' 'gardens' 'beautiful',
               description "The garden hasn't been here in months. All that is left are a
                       few
                               dead vines.",
               before [;
                       Examine:
                               return false;
                       default:
                               "The garden hasn't been here in months. All that is left are a few
                               dead vines.";
               ],
               found_in cloister,
has             scenery;



Object  vines "vines"
with    name 'vine' 'vines',
               description "Tangles of vines poke up through the snow.",
               before [;
                       Pull:
                               "You pull the vines, and they pull back, tearing at your dry, brittle
                               skin.";
                       Take:
                               "Despite being dead, they cling desperately to the soil. You cannot
                               move them.";
               ],
               found_in cloister,
has             scenery pluralname;
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Refectory
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    refectory "Refectory"
with
               description [;
               if (self hasnt visited) {
               QuoteFrom(isaiah51_17);
               "The only room at Saint Cuthbert's large enough to hold all the
               brothers, except for the church, the refectory seems immense. Normally, when
               you are
               in here the place is alive. Now, the only movement is that of drafts
               spinning
               between the tables and out to the cloister in the east. Row upon row of
               deserted seats stand testament to the
               damage
               inflicted by the plague. The kitchen lies to the south.";
               }
               else
               "The only room at Saint Cuthbert's large enough to hold all the
                               brothers, except for the church, the refectory seems immense.
                               Normally, when
                               you are
                               in here the place is alive. Now, the only movement is that of drafts
                               spinning
                               between the tables and out to the cloister in the east. Row upon
                               row of deserted seats stand testament
                               to the
                               damage
               inflicted by the plague. The kitchen lies to the south.";
               ],
               e_to cloister,
               s_to kitchen,
               out_to [;
                       <<Go e_obj>>;
               ],
               in_to [;
                       <<Go s_obj>>;
               ],
has             ;

Object  tables "tables"
with    name 'table' 'tables',
               description "Rows of tables split the refectory into a maze of narrow paths.
               Their unfinished surfaces bear the scratches of many meals.",
               found_in refectory,
has             supporter scenery pluralname;

Object  drogo_scratch "scratch"
with    name 'scratch' 'scratches' 'scratchings' 'pattern' 'hole' 'picture',
               description "At first it looks random, but upon closer inspection it appears
               to a picture. It cuts deep: two intersecting lines surrounded by jagged
               grooves. A cross. Fire.",
               found_in refectory,
has             scenery;

Object  chairs "chairs"
with    name 'chair' 'chairs' 'seat' 'seats',
               description "Dozens of chairs, one for each brother, you imagine, line the
               tables. They look so orderly: all pushed in.",

               found_in refectory,
has             supporter scenery pluralname enterable;


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Kitchen
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    kitchen "Kitchen"
with
               initial [;
                       if (cellar has visited)
                       move after_cellar to all_hints;
                       else
                       move getting_in_cellar to all_hints;
               ],
               description [;
                       if (self hasnt visited)
                               "The dead don't eat, or so you've been told. Still, the kitchen
                               is practically empty. Bare tables stand with no crumbs on them. All
                               the perishables were finished up this morning. No more will be
                               coming if Rovato is as barren as you think. Hopefully, some
                               remain in the cellar through the hatch in the floor. The refectory
                               lies to
                               the north.";
                       else
                               "The dead don't eat, or so you've been told. Still, the kitchen
                               is practically empty. Bare tables stand with no crumbs on them, and
                               a hatch through the floor leads to the cellar. The
                               refectory lies to the north.";
               ],
               n_to refectory,
               d_to cellar,
               out_to [;
                       <<Go n_obj>>;
               ],
has             ;

Object  kitchen_tables "tables"
with    name 'table' 'tables' 'bare',
               description "Not a speck on them.",
               found_in kitchen,
has             pluralname scenery;

Object  cupboard "cupboard"
with    pname 'cupboard' 'cabinet' 'door' 'large' 'cedar',
               initial [;
                       if (self hasnt open)
                       "Against one wall is a large cupboard, its door closed.";
                       if (cecilia_food in self && self has open)
                       "Against one wall is a large cupboard with a few scraps of food inside.";
                       else
                       "A bare cupboard sits up against the wall.";
               ],
               description [;
                       if (self hasnt open)
                               "The flimsy cedar door does nothing to secure the contents.";
                       if (cecilia_food notin self && self has open)
                               "The cupboard is as empty as your stomach.";
                       if (cecilia_food in self && self has open)
                                                       "A few crusts of bread and a piece of cheese are all that
                                                       remains for
                               food.";
               ],
               before [;
                       Search:
                               if (cecilia_food in self)
                                       "A few crusts of bread and a hard piece of cheese is all that
                                       remains of Saint Cuthbert's food.";
               ],
               after [;
                       Open:
                               if (self.opened == false) {
                               QuoteFrom(baruch6_21);
                               move cut_arm to misc_shadow;
                               self.opened = true;
                               "As the door swings open, a small black shape springs from inside. A
                               flash of pain sears across your arm and then quickly subsides. You
                               whirl around to see a cat tearing out into the refectory, a drop of
                               blood falling from its claws.";
                               }
                               else
                               return false;
               ],
               opened false,
               found_in kitchen,
has             static openable container ;

Object  cecilia_food "food"
with    article "some",
               name 'cheese' 'piece' 'bread' 'of' 'crust' 'crusts' 'food' 'scrap' 'scraps',
               description "Just a few crusts of bread and a piece of cheese. It's not
               much, but it should do.",
               before [;
                       Eat:
                               "You nearly vomit as you brush a sharp crust of bread up against your
                               lips. You are at the point where you are so hungry you have no
                               appetite.";
               ],
has              edible;

Object  cut_arm "cut"
with    name 'cut' 'gash' 'tear' 'arm' 'arms' 'elbow' 'wrist',
               description "A small scratch lines your arm from elbow to wrist.",

has             ;


Object  cutlery_rack "cutlery rack"
with    name 'cutlery' 'rack',
               initial "A cutlery rack sits on one of the tables.",
               description [;
                       if (knife in self)
                               "A large knife sits on the rack.";
                       else
                               "The rack is empty.";
               ],
               before [;
                       Receive:
                               if (noun == knife)
                                       return false;
                               else
                                       "That won't fit.";
               ],
               found_in kitchen,
has             static container open;

Object  knife "knife"
with    name 'knife',
               description "You've seen Brother Constantin skin large cattle with this
               knife. For all its use, it remains sharp.",
has             concealed;

Simple_Door     hatch "hatch"
with    name 'cellar' 'hinges' 'hinge' 'cracked' 'wooden' 'hatch' 'floor' 'trapdoor'
'trap' 'door',
               description [;
                       if (location == cellar)
                               "The hatch leads up to the kitchen, away from the darkness and
                               smell.";
                       if (hatch_lock in kitchen)
                               "A hatch sits in the floor with a large, steel lock upon it.";
                       else
                               "A hatch sits in the floor, leading to the cellar.";
               ],

               before [;
                       Lock:
                               <<Lock hatch_lock>>;
                       Close:
                               if (location == cellar)
                                       <<Go u_obj>>;
                       Open:
                               if (hatch_lock has locked)
                                       "It's locked.";
                       Attack:
                               "The wood is far too strong.";
                       Unlock:
                               <<Unlock hatch_lock>>;
               ],
               react_before [;
                       Open,Attack,Unlock:
                               if (noun == hatch or hatch_lock)
                               QuoteFrom(open_hatch_quote);
                               return false;
                                       Go:
                                        if (noun == d_obj && (hatch_lock in kitchen && hatch_lock has
                                        locked)) {
                                               QuoteFrom(open_hatch_quote);
                                               "The hatch is locked.";
                                               }
                                        if (noun notin compass) rfalse;
                        if ((noun.door_dir==self.side1_dir && location==self.side2_to)
                         || (noun.door_dir==self.side2_dir && location==self.side1_to)
                         || (location.(noun.door_dir)==self))
                              self.automat();
               ],
               side1_to kitchen,
               side1_dir  d_to,
               side2_to cellar,
               side2_dir  u_to,
               found_in kitchen cellar,
has             ~open;

Object  hatch_lock "hatch lock"
with    pname 'hatch' 'lock' 'steel' 'large',
               description "Constantin insisted on locking up the cellar, to ensure the
               brothers could only get their alloted rations. He never gave you the key.",
               before [;
                       Unlock:
                               if (self hasnt locked)
                               "It's already unlocked.";
                               if (cellar_key notin player or location)
                               "You do not have the key.";
                               else
                               give self ~locked;
                               "You fit the key into the lock and turn. Click.";
                       Lock:
                               if (self has locked)
                                       "It's already locked.";
                               if (cellar_figure.dead == true)
                                       "A lock means nothing to ghosts.";
                               if (cellar_figure.incapacitated == true)
                                       "That should hold him.";
                               else
                                       return false;

                       Attack:
                               if (constantin_tools notin player or location)
                               "You strike the lock several times, but it is far to strong to damage
                               with what you have.";
                               else
                               give self ~locked;
                               remove self;
                               "Taking a nail, you place it into the keyhole. Several quick
                               smashes with the hammer later, the lock is little more than a mangled
                               piece of steel.";

                       Take:
                               "It is bolted to the hatch.";
               ],
               with_key cellar_key,
has             scenery lockable locked;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!CELLAR
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    cellar
with
               short_name [;
                       switch(self.hiding) {
                               0:
                                       print"Cellar";
                                       return true;
                               1:
                                       print"Cellar (hiding in the cask)";
                                       return true;
                               2:
                                       print"Cellar (hiding amongst the bodies)";
                                       return true;
                               3:
                                       print"Cellar (hiding beneath the stairs)";
                                       return true;
                       }
               ],
               initial [;
                       if (self hasnt visited) {
                               if (your_candle.lit == true) {
                               blood_writing.examined = true;
                               give vomit concealed;
                               your_candle.lit = false;
                               move once_in_cellar to all_hints;
                               give hatch open;
                               "The stairs are slippery with something. A particularly poor step
                               sends you careening down, your candle getting snuffed out in the
                               process.";
                               }
                               else
                               move once_in_cellar to all_hints;
                               "As you head down into the dark cellar, your foot steps into
                               something slippery. You grasp for the rails, but miss and go
                               careening down the stairs.";
                       }
                       else
                       return false;
               ],
               description [;
                       if (self.hiding > 0)
                       switch(self.hiding) {
                       1:
                               if (cellar_figure in location)
                                       "You can see little from the cask. A light bobs back and forth,
                                       casting dancing shadows on the walls.";
                               else
                                       "You can see little from the cask.";
                       2:
                               "Blackness. You cannot see anything. Twisted limbs and bloated
                               torsos wrap their way around you.";
                       3:
                               "You are sure there is more to the room than this, but for now, all
                               you can see is steps.";
                       }
                       else {

                       if (self.first_seen == true) {
                               QuoteFrom(in_cellar_quote);
                               move cowl to cellar_figure;
                               move cellar_knife to cellar_figure;
                               move cellar_stairs to self;
                               move cask to self;
                               move cellar_bodies to self;
                               move prybar to self;
                               StartDaemon(self);
                               self.first_seen = false;
                               "You brace yourself for the hard impact at the bottom, but it never
                               comes. Instead, you fall into a soft, uneven mound. It jars your
                               bones, but at least nothing breaks. The light from the kitchen
                               barely makes it down the stairs: all you see is shadows.";
                       }
                       if (your_candle.lit == false)
                               "You can make out little. Some light streams in down the stairs, but
                               it is not enough. The floor is covered in something lumpy and
                               deep.";
                       if (your_candle.lit == true)
                       self.bodies_seen = true;
                       "Dozens of bodies fill the cellar: waist-high in some places.
                               The
                               faces are familiar, if not for the plague and decay. Hollow eyes
                               drill into you from all sides. The flicker of the candle makes the
                               corpses writhe and dance.
                               ^^There is little food left. An old cask of wine sits against one
                               side.";
                       }
               ],
               before [;
                       Exit:
                               if (self.hiding == 0)
                                       return false;
                               else
                                       self.hiding = 0;
                                       print "You return to the open.^";
                                       <<Look>>;
                       Hide:
                               if (cellar_figure.incapacitated == true)
                                       "There is no need to hide anymore.";
                               if (self.hiding > 0)
                                       "You are already hiding.";
                               if (noun == nothing)
                                       "Where do you want to hide?";
                               if (noun == cask) {
                                       self.hiding = 1;
                                       "You quickly hop into the cask. It is small, but you fit.";
                               }
                               if (noun == cellar_bodies) {
                                       self.hiding = 2;
                                       "Bracing yourself for the smell, you worm your way into the pile
                                       of bodies. The weight is suffocating, as is the smell.";
                               }
                               if (noun == cellar_stairs) {
                                       self.hiding = 3;
                                       "You carefully slide your way beneath the stairs.";
                               }
                       Listen:
                               if (self.ignatius_coming > 3 && cellar_figure.incapacitated == false)
                                       "The tap of footsteps. They are getting closer.";
                               else
                                       "Dead silence.";

                       Smell:
                               if (noun == nothing or cellar_bodies)
                                       "Rot and sickness choke your nose worse than ever. Tears well up
                                       in your eyes, and vomit wells up in your
                                       throat.";
                       Go:
                               if (self.hiding > 0 && noun == u_obj) {
                                       self.hiding = 0;
                                       print "You return to the open.^";
                                       <<Look>>;
                               }
                               if (noun ~= u_obj)
                                       return false;
                               if (noun == u_obj && cellar_figure.incapacitated == true) {
                                       self.hiding = 0;
                                       return false;
                               }
                               if (noun == out_obj)
                                       <<Exit>>;
                               if (noun == u_obj && self.ignatius_there == false && cellar_figure.
                               incapacitated == false) {
                                       self.ignatius_there = true;
                                       self.ignatius_coming = 4;
                                       "Just as you begin making your way up the stairs, the sound of
                                       footsteps in the kitchen makes you freeze. Someone is coming.";
                               }
                               if (noun == u_obj && self.ignatius_there == true && cellar_figure.
                               incapacitated == false)
                                       deadflag = true;
                                       "As you reach the top of the stairs, a cowled figure comes into
                                       view. Before you can react, it knocks you down the stairs. Your
                                       fall is not so gentle this time. You thud your way down the
                                       steps, every bone breaking on the way.
                                       ^^The pain is unbearable, but the knife to your throat ends it
                                       soon enough.";

               ],
               daemon [;
                       switch(++(self.ignatius_coming)) {
                               4:
                                       self.ignatius_there = true;
                                       "^Footsteps sound through the hatch. They are faint but growing
                                       stronger.";
                               5:
                                       "^~Damn!~ You hear someone curse from the kitchen. The footsteps
                                       grow faster as they rush towards the stairs.";
                               6:
                                       move cellar_figure to cellar;
                                       "^~Come on out, father!~ The voice is hoarse and broken. A
                                       candle bobs down the stairwell.";
                               7:


                                       if (cellar_stairs.slippery == true) {
                                               move cellar_knife to cellar;
                                               cellar_figure.incapacitated = true;
                                               StartTimer(time_shadow, 5);
                                               StopDaemon(self);
                                               "^With the stairs covered in grease, the figure loses his
                                               balance and is sent sprawling into the mound of bodies.
                                               ^^~Damnit!~ he cries, struggling to get back up.";
                                       }
                                       if (drausinus.cellar_prayed == true) {
                                               move cellar_knife to cellar;
                                               cellar_figure.incapacitated = true;
                                               StartTimer(time_shadow, 5);
                                               StopDaemon(self);
                                               "^The darkness swirls around the figure, strangling away the
                                               light. It wraps and twists: in the darkness he cannot see.
                                               He crashes to the floor, a heavy thud: bone against stone.";
                                       }
                                       if (your_candle.lit == true) {
                                       deadflag = true;
                                       "^With your candle lit, he easily finds you.
                                       ^^~There you are.~  A grin stretch beneath the man's cowl. So
                                       many teeth. A knife slides out of his robes.
                                       ^^You try to run, but he is too fast. Another body for the
                                       mound.";
                                       }
                                       else {
                                               switch(self.hiding) {
                                               0:
                                                       deadflag = true;
                                                       "^The light of his candle is more than enough to see you
                                                       standing in the open.
                                                       ^^~There you are.~  A grin stretch beneath the man's
                                                       cowl. So
                                                       many teeth. A knife slides out of his robes.
                                                       ^^You try to run, but he is too fast. Another body for
                                                       the
                                                       mound.";
                                               1:
                                                       deadflag = true;
                                                       "^He searches for a moment, but in the end, the cask
                                                       buys you only a few more minutes of life.
                                                       ^^~There you are.~  A grin stretch beneath the man's
                                                       cowl. So
                                                                                                               many teeth. A knife slides
                                                                                                               out of his robes.
                                                                                                               ^^You try to run, but he is
                                                                                                               too fast. Another body for
                                                                                                               the
                                                       mound.";
                                               2:
                                                       "^He searches around for a few moments: it appears your
                                                       plan is working.
                                                       ^^~Come out!~ he demands. ~I know you're in here.~";
                                               3:
                                                       deadflag = true;
                                                       "^He searches for a moment, but in the end, the stairs
                                                       buy you only a few more minutes of life.
                                                       ^^~There you are.~  A grin stretch beneath the man's
                                                       cowl. So
                                                                                                               many teeth. A knife slides
                                                                                                               out of his robes.
                                                                                                               ^^You try to run, but he is
                                                                                                               too fast. Another body for
                                                                                                               the
                                                       mound.";
                                       }
                       }
                               8:
                                       "^~Enough games, father~ he says, drawing a wickedly curved
                                       knife. Moving with cold, swift strikes, he begins stabbing into
                                       the mound of bodies.";
                               9:
                                       "^The knife flies in and out of the mound. One jab brings the
                                       blade within an inch of your ear.";
                               10:
                                       deadflag = true;
                                       "^You lie perfectly still, hoping to avoid the knife. But one
                                       lucky jab slices into your thigh. You stifle your cry, tears
                                       welling up. The next stabs slips its way into your hand. It is
                                       too much.
                                       ^^You cry out. He hears you. The next cut is for your throat.";
                       }
               ],
               hiding 0,
               ignatius_there false,
               ignatius_coming 0,
               bodies_seen false,
               first_seen true,
               u_to kitchen,
               out_to [;
                       <<Go u_obj>>;
               ],
has             ;

Object  prybar "prybar"
with    name 'bar' 'prybar' 'crowbar' 'pry' 'crow',
               initial [;
                       "A prybar leans propped up against the cask.";
               ],
               description "It is heavy. The metal is strong and unwarped.",
has             concealed;

Object  cask "cask"
with    name 'cask' 'tun' 'wine' 'barrel' 'old' 'of',
               description "It is big and empty. The Eucharist often gets larger in times
               of stress.",
has             container enterable open scenery;

Object  cellar_bodies
with    name 'body' 'lump' 'mound' 'lumpy' 'bodies' 'corpse' 'corpses' 'lumps'
'pile' 'shadows' 'shadow',
               short_name [;
                       if (cellar.bodies_seen == true) {
                               print "bodies"; return true;
                       }
                       else
                               print "lumps"; return true;
               ],
               description [;
                       if (your_candle.lit == false)
                               "You can make out nothing in this darkness.";
                       else
                               QuoteFrom(isaiah1_6);
                               "Every face is familiar. They all mimic your own. Pale. Sick. But
                               not all of them appear sick. And not all their wounds appear to be
                               from the plague. Looking closely you see finger marks on many necks:
                               knife wounds in many backs.
                               ^^Ignatius.";
               ],
               before [;
                       Eat:
                               QuoteFrom(leviticus26_29);
                               sin_shadow.evil = true;
                               "The mass is soft; your teeth enter easily. You tear off a chunk.
                               Flesh. Plague flesh. The tumor squelches in your mouth, and rancid
                               blood drips from your lips.";

                       PrayFor:
                               "If only you had been more aware. Your prayer turns bitter in your
                               mouth.";
               ],
has             scenery pluralname;

Object  cellar_stairs "stairs"
with    name 'stairway' 'stairwell' 'stairs' 'stair' 'step' 'steps',
               description "Just a set of wooden boards atop two counter running boards.
               There is usually plenty of food stored beneath them, but now it lies empty.",
               before [;
                       Receive:
                               if (noun ~= your_candle)
                                       return false;
                               else
                                       self.slippery = true;
                                       "You smear the greasy tallow onto the steps, leaving a thick
                                       patina of fat.";
               ],
               react_before [;
                       Attack,Trip,Take,Smell,Look,Listen,Exit,Go,Extinguish,Hide,PutOn,Insert,
                       Wait,PrayTo,PrayThrough,Inv,Kill,Help:
                               return false;
                       Examine:
                               if (cellar.hiding == 1 or 2)
                                       "You can't see a thing.";
                               else
                                       return false;
                       default:
                               if (cellar.hiding > 0)
                                       "You can't while hiding.";
                               else
                                       return false;
               ],
               slippery false,
has             scenery supporter;

NPC             cellar_figure
with    short_name [;
                       if (self.unmasked == true) {
                               print "Ignatius"; rtrue;
                       }
                       else
                               print "figure"; rtrue;
               ],
               name 'figure' 'man' 'cowled' 'brother' 'ankles' 'legs' 'feet' 'foot' 'ankle'
               'heel' 'heels' 'footsteps' 'footstep' 'ignatius' 'brother',
               initial [;
                       if (self.dead == true)
                               "There is a bloody smear upon the stone from where you ground his
                               head into the floor.";
                       if (self.unmasked == true)
                               "Ignatius lies upon the floor, bleeding through a gash in his
                               forehead.";
                       if (self.incapacitated == true)

                               "The figure lies prone upon the ground.";
                       if (cellar.hiding == 3)
                       "A pair of feet stand on the steps before you.";
                       else
                       "The figure prowls about, mumbling.";
               ],
               description [;
                       if(self.dead == true)
                       "He is no more than a bloody smear upon the ground.";
                       if (self.unmasked == true)
                       "Ignatius lies upon the floor, bleeding through a gash in his forehead.";
                       if (self.incapacitated == true)
                       "He lies in a crumpled heap upon the floor. His cowl still obscures his
                       face.";
                       else
                       "He moves swiftly. His frock is so large and his cowl so large, you
                       cannot identify him.";
               ],


               before [;
                       Eat:
                               if (self.dead == false && self.incapacitated == false)
                               "Not while he's still alive.";
                               else
                               QuoteFrom(leviticus26_29);
                               sin_shadow.evil = true;
                               "The blood is warm, delicate. It has a hint of illness, but it still
                               soothes the thirst that dries you deep inside.";
                       Take:
                               if (self.incapacitated == false)
                                       <<Attack self>>;
                               else
                                       "He is too heavy for you to move.";
                       Unmask,Search,Pull,Push,Open:
                               if (self.unmasked == true)
                                       "You've already done that.";
                               else
                                       self.unmasked = true;
                                       "Warily, you lift the cowl from the man's face.
                                       ^^Ignatius.";
                       Attack,Trip,Kill:
                               if (self.dead == true)
                                       "He's already dead.";
                               if (self.incapacitated == true && self.dead == false){
                                       sin_shadow.evil = true;
                                       self.dead = true;
                                       "You raise your foot and slam it into his head. It gives, but
                                       only slightly. So you jump. Up and down. Up and down. When you
                                       are done, he is little more than a smear upon the ground.
                                       ^^You grin.";

                                       }
                               if (cellar.hiding ~= 2 or 3) {
                                       deadflag = true;
                                       "You leap, attempting to knock the man to the ground. He is a
                                       lot stronger than you imagined. A lot stronger than you. A
                                       sharp kick to your stomach sends you to the ground. The pain is
                                       excrutiating.
                                       ^^But not as excrutiating as the knife that follows.";
                               }
                               if (cellar.hiding == 2) {
                                       StopDaemon(cellar);
                                       move cellar_knife to cellar;
                                       self.incapacitated = true;
                                       StartTimer(time_shadow, 5);
                                       "You wait till he's close before swinging your leg as hard as you
                                       can into the back of his knee. He crumbles, his head smashing
                                       against the hard floor.";
                               }
                               if (cellar.hiding == 3)
                                       StopDaemon(cellar);
                                       move cellar_knife to cellar;
                                       self.incapacitated = true;
                                       StartTimer(time_shadow, 5);
                                       "You wait until his legs are directly in front of you before you
                                       swing your fist as hard as you can into the back of his ankle.
                                       His leg tenses up, and he is sent tumbling down the stairs,
                                       smashing his head when he gets to the bottom.";

               ],
               dead false,
               unmasked false,
               incapacitated false,
has             male animate container transparent open;

Object  cowl "cowl"
with    name 'cowl' 'hood' 'mask' 'cloak' 'frock',
               description "Standard among all the brothers.",
               before [;
                       Unmask,Remove,Take:
                               <<Unmask cellar_figure>>;
               ],
has             scenery;

Object  cellar_knife "knife"
with    name 'knife' 'blade' 'dagger',
               description [;
                       if (self in cellar_figure)
                               "The knife gleams wickedly. Hungrily.";
                       else
                               "Curved. Almost more of a sickle, than a knife.";
               ],

has             concealed;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!BASE OF BELL TOWER
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    belltower_bottom "Base of the Bell Tower"
class   Outside_Room,
with    initial [;
                       if (dead_body in self && cecilia1.woken == true)
                               StartDaemon(brothers_tower);
                       else
                               return false;
               ],
               description [;
                       if (dead_body notin self)
                               "Nestled in the northeast corner of the cloister, the bell tower
                               rises high: higher than the steeples of the church. Footsteps cut a
                               line in the snow from the cloister to the southwest to the tower
                               itself in the northeast.";
                       if (dead_body in self && brothers_tower.murder_conversation >= 2 &&
                       brothers_tower.murder_conversation < 5)
                               "The smooth patch of snow at the base of the tower, formerly cut only
                                                               by a single line of footsteps, is now a mash of dirt
                                                               and blood.
                                                               Steps lead northeast and up to the tower, and to the
                                                               southwest is the
                               cloister.
                               ^^Brother Lucca lies sprawled upon the ground next to Matteo's
                               corpse, whimpering.";
                       if (dead_body in self && brothers_tower.murder_conversation >= 5)
                               "The smooth patch of snow at the base of the tower, formerly cut only
                                                               by a single line of footsteps, is now a mash of dirt
                                                               and blood.
                                                               Steps lead northeast and up to the tower, and to the
                                                               southwest is the
                               cloister.
                               ^^Brother Matteo's corpse lies upon the ground, the blood freezing to
                               his face.";
                       if (dead_body in self && cecilia1.woken == false)
                               "The smooth patch of snow at the base of the tower, formerly cut only
                               by a single line of footsteps, is now a mash of dirt and blood.
                               Steps lead northeast and up to the tower, and to the southwest is the
                               cloister.
                               ^^Brother Matteo lies upon the ground, blood trickling from the side
                               of his head";
                       else
                               "The smooth patch of snow at the base of the tower, formerly cut only
                               by a single line of footsteps, is now a mash of dirt and blood.
                               Steps lead northeast and up to the tower, and to the southwest is the
                               cloister.
                               ^^Brother Matteo lies upon the ground, blood trickling from the side
               of his head. Lucca kneels by his side.";
               ],
               before [;
                       Go:
                               if (noun == u_obj or sw_obj or ne_obj) {
                                       StopDaemon(brothers_tower);
                                       return false;
                               }
                               else
                                       return false;
               ],
               sw_to cloister,
               ne_to tower,
               u_to tower,
               in_to [;
                       <<Go u_obj>>;
               ],
has             ;

Object  dead_body "Matteo"
with    name 'dead' 'body' 'corpse' 'man' 'brother' 'matteo',
               description "He looks so calm. Tiny snowflakes trace the creases in his
               face, lingering longer
               and longer as time passes. His mouth fills with snow.",
               react_before [;
                       Kiss:
                               if (noun == self)
                                       "Still warm, like fresh milk.";
               ],
               before [;
                       Eat:
                               if (brothers_tower in belltower_bottom)
                                       "Not with them around.";
                               else
                                       QuoteFrom(leviticus26_29);
                                       sin_shadow.evil = true;
                                       "Lifting the bottom of Matteo's frock, you eye the white flesh of
                                       his haunches. A small drop of saliva pools on your tongue as you
                                       lunge in and take a bite where no one will see. The still-warm
                                       blood slides across your
                                       tongue and down your throat.
                                       ^^Sweet like honey. Delicious.";

                       PrayFor:
                               "You whisper a prayer for Matteo. He'll need it.";
                       TalkTo:
                       if (matteo1.pushed == true) {
                       QuoteFrom(cross_pushed_quote1);
                       "Silence.";
                       }
                       else
                       "Silence.";
                       Search:
                               if (matteo_note hasnt general) {
                               give matteo_note general;
                               move matteo_note to player;
                               "You dig through the folds of his frock and find a wrinkled note.";
                               }
                               else
                               return false;
                       Bury:
                               "He is too heavy to move. Constantin deals with the dead.";
                       Take,Push,Pull,PushDir:
                               "Matteo was a large man. You cannot move him.";
               ],
               after [;
                       Examine:
                               QuoteFrom(genesis4_10);
               ],
has             scenery proper male;

Object  matteo_note "Matteo's note"
with    pname 'wrinkled' 'paper' 'matteo^s' 'note' 'sheet',
               description [;
                       if (matteo1.pushed == true) {
                               print "Written in a slothful scrawl:";
                               style underline;
                               print "^^I would normally write in my journal, but in my increasing
                               paranoia, I have hidden it. Now, I kick myself as it seems so far
                               away. Everything is so far away: such a burden.
                               ^^The father came to visit me earlier; he is not the same man I knew
                               and respected. He looked at
                               me with murder in his eyes. I would tell Lucca, but I am scared. No,
                               I am lazy. I do not care if he kills me. I would do it myself were I
                               not such a coward.^";
                               style roman;
                               rtrue;
                       }
                       else
                               print "Written in a slothful scrawl:";
                               style underline;
                               print "^^Sext
                               ^^I would normally write in my journal, but in my increasing
                               paranoia, I have hidden it. Now, I kick myself as it seems so far
                               away. Everything is so far away: such a burden. Lucca has been
                               pestering me to tell him what I know, but I can't. It burdens me so;
                               I cannot do that to someone so pure.
                               ^^Vespers
                               ^^I can take it no more. I don't care if I burn for eternity, I must
                               leave this place. The Devil walks Saint Cuthbert's in the hearts and
                               minds of my brothers: in me.
                               ^^I'm sorry, Lucca.^";
                               style roman;
                               rtrue;

               ],
               before [;
                       Attack,Kill:
                               if (matteo1.pushed == true) {
                                       remove matteo_note;
                                       "You shred the paper with glee. No one will every know. You
                                       smile.";
                                       }
                                       else
                                       remove matteo_note;
                                       "You shred the paper and let the pieces flutter in the wind.";
                       Burn:
                               if (matteo1.pushed == true) {
                                       remove matteo_note;
                                       "The paper curls and blackens before crumbling to ashes. No one
                                       will every know. You grin.";
                                       }
                                       else
                                       remove matteo_note;
                                       "The paper curls and blackens before crumbling to ashes.";
                       Show,Give:
                               if (second has animate)
                                       "Better keep this to yourself.";
               ],
has             proper;


Object  tower_footsteps "footsteps"
with    name 'footsteps' 'footstep' 'foot' 'step' 'steps' 'prints' 'footprint'
'footprints',
               description [;
                       if (time_shadow.current_time == 0)
                               "The footsteps are filling with snow.";
                       else
                               "The footsteps have been replaced by a bloody, dirty mash of snow.";
               ],
               before [;
                       Take:
                               <<Take snow>>;
               ],
               found_in belltower_bottom,
has             scenery;



Object  brothers_tower "brothers"
with    name 'brothers' 'men' 'brethren' 'monks',
               initial "The remaining brothers are gathered around the body, shouting.",
               description "Brothers Drogo, Ignatius, and Constantin stand casting cagey
               glances at one another.",
               react_before [;
                       TalkTo,Ask,Tell,Order,Answer:
                               if (noun ofclass constantin)
                               "~Shut up, father,~ he barks. For a moment he seems about to
                               apologize, but he doesn't.";
                               if (noun ofclass lucca)
                               "~I'm sorry, I'm sorry,~ is his only reply.";
                               if (noun ofclass ignatius)
                               "~Not right now, father,~ he barks.";
               ],

               daemon [;
                       switch(++(self.murder_conversation)) {
                       2:      "^Constantin strides forward and smacks Lucca across the face,
                       sending him sprawling into the snow. ~Get away from him, murderer!~  He
                       shouts, eyes burning.
                       ^^~Constantin!~ Ignatius shouts defiantly, stepping between the two.
                       Although Constantin towers above him, Ignatius looks taller than you have
                       ever seen him. ~Leave the boy alone.~
                       ^^Drogo giggles.";
                       3:      "^~But he is a murderer!~  Constantin replies, stepping back, face
                       flushed.
                       ^^~I know that as well as you. But that does not excuse you from God's
                       wishes.~";
                       4:
                       StartDaemon(constantin2);
                       StartDaemon(ignatius2);
                       "^~We will lock him up in the cellar, then the father can decide what
                       to do with him.~  Ignatius continues.
                       ^^Constantin chews his lip, releasing a tiny drop of blood. ~No, the
                       cellar will
                       not do. We will lock him in the calefactory.~
                       ^^~Fine, fine. As you wish.~";
                       5:
                       remove brothers_tower;
                       "^With that, Constantin hoists Lucca by the shoulders and shoves him
                       towards the calefactory.
                       ^^Ignatius turns towards you and says. ~You should get some sleep,
                       father. We all should. You can get to the bottom of all this in the
                       morning.~  He turns and walks towards the dormitory.";
                       6:
                       move what_now to all_hints;
                       "^Drogo grins at you. ~Oh, the fun we'll have!~";
                       7:
                       StopDaemon(self);
                       }
               ],
               murder_conversation 0,
has             static pluralname;



!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Tower
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    tower "Bell Tower"
with    initial [;
                       if (time_shadow.current_time == 8) {
                       StartDaemon(constantin_tower);
                       "Panting more than a little, you make your way up the stairs to the
                       top.";
                       }
                       else
                       "Panting more than a little, you make your way up the stairs to the
                       top.";
               ],
               description [;
                       if (time_shadow.current_time == 8)
                               "Flames lick the sides, casting jagged shadows around the bell. They
                               try to climb over the rails, to consume you, but they are too weak.
                               Stone is not appetizing for them.";
                       if (dead_body in belltower_bottom)
                               "You are sure that other things exist, but for now all there is is
                               Matteo lying on the ground below. From here, he could easily be
                               alive. He smiles at you.
                               ^^No, not a smile: a sneer. He is laughing at you. Laughing because
                               you are still trapped. He was always laughing.";
                       if (time_shadow.current_time == 0)
                               "High above the rest of Saint Cuthbert's, the tower affords a
                               view of the surrounding land. In the spring, it is quite beautiful:
                               now all
                               you see is the endless moonlit glow of snow. Snow in the trees.
                               Snow in the
                               mountains. Snow.";

                       if (dead_body notin belltower_bottom)
                               "The snow below is dark and broken. Yet all around is pristine. It
                               is clean.";
               ],
               before [;
                       Jump:
                               deadflag = true;
                               "Closing your eyes, you step from the edge. The wind whistles about
                               you, but you cannot hear it.
                               ^^Hell has a special place for those who commit suicide.";
                       Smell:
                               if (noun == nothing)
                               "The wind drives needles of chill up your nose: you smell nothing.";
               ],
               out_to [;
                       <<Go d_obj>>;
               ],
               sw_to belltower_bottom,
               d_to belltower_bottom,
               u_to "This is as close to Heaven as you'll ever be.",
               cant_go [;
                       if (self.jump_attempted == false) {
                               self.jump_attempted = true;
                               "You move but are caught on the low wall. Next time you might not be
                               as fortunate.";
                       }
                       else
                               deadflag = true;
                               "Closing your eyes, you step from the edge. The wind whistles about
                               you, but you cannot hear it.
                               ^^Hell has a special place for those who commit suicide.";
               ],
               jump_attempted false,
has             ;

Object  tower_dead_body "Matteo"
with    name 'matteo' 'brother' 'dead' 'body' 'corpse',
               before [;
                       Examine:
                               QuoteFrom(tower_body_quote);
                               "He laughs. He smiles. He taunts you.";
                       default:
                               "Not from here.";
               ],
has             scenery;

Object  tower_view "view"
with    name 'snow' 'trees' 'tree' 'mountain' 'mountains' 'surrounding' 'land'
'view',
               description "Cold and desolate. The surrounding wilderness taunts you with
               the promise of freedom.",
               before [;
                       Examine:
                               return false;
                       default:
                               "You can't.";
               ],
               found_in tower,
has             scenery;

Object  bell "bell"
with    name 'bell' 'tongue' 'clapper' 'mechanical',
               initial "The bell sways in the breeze, its tongue almost, but never, touching
               the sides.",
               description "Almost as old as Saint Cuthbert's itself, the mechanical bell
               announces the
               passage of the hours. Matteo was never needed to ring it, but he likes to be
               here when it sounds nonetheless.",
               before [;
                       Attack,Push,Pull:
                               if (self.rung == true)
                               "The bell clangs and stings your ears.";
                               else
                               self.rung = true;
                               "The bell clangs. You have never been this close when it has before.
                               Your ears sting for a bit before settling down.";
               ],
               after [;
                       Examine:
                               QuoteFrom(exodus28_34);
               ],
               rung false,
               found_in tower,
has             static;

Object  rail "rail"
with    name 'rail' 'rails' 'wall' 'walls',
               description "The rails creak in the wind.",
               found_in tower,
has             scenery;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!CHURCH
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    church "Church (in the pews)"
with    description [;
                       switch(time_shadow.current_time) {
                       0:
                       if (self hasnt visited)
                               "Since you relegated the brothers to pray on their own, except for
                               Mass, the church has been all but empty. Rows of pews part down the
                               centre, ushering you up to the chancel in the north opposite the
                               cloister in the south. The ceiling
                               towers above you, its frescoes dim in the candlelight.";
                       else
                               "Cedar pews line the path from the chancel in the north to the
                               cloister to the south, their surfaces
                               cold. The ceiling towers above you, its frescoes dim in the
                               candlelight.";
                       1:
                               "Uncomfortable looking pews part before you, leading up to the
                               chancel in the north. High above, dipping in and out of shadow, is
                               the ceiling: the frescoes dance in the flicker of candlelight.";
                       3:
                               "A tangle of pews fills the room: they part through the middle and up
                               to the chancel in the north. Light hits the windows and slides down
                               outside: lost. The church is dim; the frescoes are lost in shadow.";
                       5:
                               "Rotting pews line up before the chancel to the north, praying for
                               salvation. The diffuse light from outside filters in through the
                               stained glass windows, barely touching the frescoes above.";
                       6,7:
                               "The pews stumble over eachother, desperately crawling for the
                               chancel in the north. The light outside finds no entrance: the
                               Saints will not permit it. The frescoes are all but lost in the
                               darkness above.";
                       }
               ],
               before [;
                       Smell:
                               if (noun == nothing) {
                               switch(time_shadow.current_time) {
                                       0:
                                               if (sin_shadow.evil == false)
                                               "Mingled with the scent of the candles is a sweet smell: like
                                               wildflowers were growing upon the chancel.";
                                               else
                                               "Mingled with the scent of the candles is a sweet smell: like
                                               wildflowers were growing upon the chancel.
                                               ^^It is pure. Vile.";
                                       1:
                                               "Amid the smell of the candles is a drier one. Stale. Dusty.
                                               It floats down from the chancel.";
                                       3:
                                               "Sour. Like sweat, or... You can't place it.";
                                       5:
                                               if (sin_shadow.evil == false)
                                               "Sour. But not like sweat. Something dirtier: fouler.";
                                               else
                                               "Sour. But not like sweat. Something dirtier: fouler.
                                               ^^It pleases you.";
                                       6,7:
                                               if (sin_shadow.evil == false)
                                               "Sour. It's not like sweat at all. It is urine. It
                                               permeates everything while climbing up into your nose to
                                               rest.";
                                               else
                                               "Sour. It's not like sweat at all. It is urine. It
                                               permeates everything while climbing up into your nose to
                                               rest.
                                               ^^You like its new home.";
                               }
                               }
                               else
                                       return false;
               ],
               s_to cloister,
               n_to chancel,
               u_to chancel,
               out_to [;
                       <<Go s_obj>>;
               ],
               in_to [;
                       <<Go n_obj>>;
               ],
has             ;

Object  windows "Saints"
with    name 'saints' 'saint' 'window' 'windows' 'stained' 'glass' 'houses',
               initial [;
                               if (sin_shadow.evil == false){
                       switch(time_shadow.current_time) {

                               0: "The Saints smile cheerfully down upon you from their colorful
                               windows.";
                               1: "The Saints smile sadly at you from their glass houses.";
                               3: "The Saints look down with cold eyes. It is not pity. Something
                               else.";
                               5: "The Saints look away from you, crying.";
                               6,7: "The Saints scream from their glass cages. They would run, but
                               they are trapped.";
                       }
                       }
                       else
                       switch(time_shadow.current_time) {

                               0,1,2: "The Saints look away from you, crying.";
                               3,4,5: "The Saints scream in rage, but they cannot harm you. They are
                               trapped in their glass cages.";
                               6,7: "The Saints scream from their glass cages. They would run, but
                               they are trapped.";
                       }
               ],
               description [;
                       switch(time_shadow.current_time) {
                               0,1:
                               "Finely wrought stained glass windows line the vaulted ceiling of
                               the church, their frames holding within them the images of Saints
                               Francis of
                               Assisi, Medard of Noyon, Drausinus, and Cuthbert.";
                               3:
                               "Dim stained glass windows block out the light but not the cold.
                               They hold back Saint Francis of
                               Assisi, Medard of Noyon, Drausinus, and Cuthbert.";
                               9:
                               "The windows are broken and lie shattered upon the floor. Fire dances
                               where they sat, trying to climb in.";
                               default:
                               "Saints Francis of
                               Assisi, Medard of Noyon, Drausinus, and Cuthbert scream from their
                               glass cages. The windows hold them trapped.";
               }
               ],
               found_in church chancel,
has             static;



Object  pews "pews"
with    name 'pew' 'pews' 'chair' 'chairs' 'seat' 'seats' 'cedar',
               description "Their cedar frames are worn with the weight of many Masses upon
               them. You have spent so much time on them of late that you barely feel their
               roughness any more.",
               before [;
                       Examine:
                               return false;
                       default:
                               if (location == chancel)
                                       "Not from here.";
               ],
               found_in church chancel new_church,

has             supporter enterable scenery;

Object  church_candles "candles"
with    name  'flame' 'fire' 'candle' 'candles' ,
               description [;
                       switch(time_shadow.current_time) {
                               0:
                               if(sin_shadow.evil == false)
                               "The flames are steady and warming to your heart.";
                               else
                               "The flames burn into your eyes, accusing you.";
                               1:
                                       "The flames flicker back and forth from the brink of going out.";
                               3:
                               if(sin_shadow.evil == false)
                               "They are hot: far hotter than expected. They fill the room with
                                       a stifling fever.";
                               else
                               "They are hot: far hotter than expected. They fill the room with
                                       a pleasant fever.";
                               5:
                               if(sin_shadow.evil == false)
                               "They burn, their fire going all the way to the back of your
                                       eyes.";
                               else
                               "They burn, their fire going all the way to the back of your
                                       eyes. Your hate is reflected in them.";
                               6,7:
                               if(sin_shadow.evil == false)
                                       "They are the fires of Hell. They burn without warming; blind
                                       without giving light.";
                               else
                                       "They are the fires of Hell. They burn without warming; blind
                                       without giving light.
                                       ^^They are the fires of home.";
                               9:
                                       "The candles are little more than stumps of wax. They ooze and
                                       spread.";
                       }
               ],
               before [;
                       Take:
                               "You already have your own.";
                       Extinguish:
                               "Best not.";
               ],
               found_in church,
has             scenery pluralname;

Object  church_ceiling "ceiling"
with    name 'vaulted' 'ceiling' 'fresco' 'frescoes' 'roof' 'frescos' 'angels'
'skull' 'haloes' 'halo' 'skulls' 'angel' 'demons' 'demon'  'devils' ,
               description [;
               switch(time_shadow.current_time) {
                       0:
                       if(sin_shadow.evil == false)
                               "The soaring vaults are as vast and open as the arms of God.
                               Frescoes
                               depict the fall of Satan, with angels singing as they cut down the
                               wicked.";
                       else
                               "The soaring vaults are vast and open. Too open; too free. Frescoes
                               depict the fall of Satan, with angels singing as they unjustly
                               persecute the wicked. They are so righteous, so deluded.";
                       1,2:
                       if(sin_shadow.evil == false)
                               "The height is bewildering. If it is that far to the ceiling, how
                               far is it to God?  The angels in the frescoes continue their
                               onslaught on the Fallen, every now and then glancing in your
                               direction.";
                       else
                               "The height is comforting. If it is that far to the ceiling, God must
                               be very far indeed. The angels in the frescoes continue their crusade
                               against the Fallen, every now and then glancing in your direction.";
                       3:
                       if(sin_shadow.evil == false)
                               "Through the murky shadows, the frescoes are barely visible. The
                               Fallen are overrunning the angels, climbing through holes in the
                               ground and spreading across the Earth. An angel's eyes meet yours
                               and do not break. He is coming.";
                       else
                               "Through the murky shadows, the frescoes are barely visible. The
                               Fallen are ovverruning the angels, climbing through holes in the
                               ground and spreading across the Earth. An angel's eyes meet yours and
                               do not break. He is coming. The fool. You will destroy him like you
                               destroyed his brothers.";
                       5:
                       if(sin_shadow.evil == false)
                               "The angels have formed a tight circle in the middle: the Fallen
                               approach from all sides. The heavenly have stopped their fight. All
                               they can do is pray.";
                       else
                               "The angels have formed a tight circle in the middle: the Fallen
                               approach from all sides. The heavenly have stopped their fight. All
                               they can do is pray. Little good it will do them.";
                       6,7:
                       if(sin_shadow.evil == false)
                               "The angels are defeated. Feathered wings and haloed skulls sit
                               perched upon spears. The demons rejoice. Their time is at hand.";
                       else
                               "You have won; the angels are defeated. Feathered wings and haloed
                               skulls sit
                               perched upon spears. The demons rejoice. Their time, your time, is at
                               hand.";
                       9:
                               if (sin_shadow.evil == true)
                                       "You have won. The angels are dead; their blood soaks the
                                       ground. Soon, Earth shall be as the frescoe. You have set it on
                                       its course.";
                               else
                                       "The frescoe is no more than a swirling mass of red and black.
                                       Blood and fire. Evil has triumphed.";
               };
               ],
               found_in church new_church chancel,
has             scenery;

Object  church_font "font"
with    name 'font' 'fount' 'bath' 'bronze' 'grey' 'green' 'mold' 'tin' 'pot'
'chamber' 'chamberpot' 'mould',
               initial [;
               switch(time_shadow.current_time) {
                       0:
                               "The font glows warmly in the candlelight, not a ripple on its
                               water's surface.";
                       1,2:
                               "The font slouches towards the base of the chancel.";
                       3:
                               "The font squats before the chancel, its finish a mouldy grey.";
                       5:
                               "Before the chancel, a rusted font sits, green mould twisting its way
                               around.";
                       6,7:
                               "A rank chamberpot sits before the chancel, human filth caking its
                               sides.";
               };
               ],
               description [;
               switch(time_shadow.current_time) {
                       0:
                               "The bronze glows warmly in the candlelight, like it has at many a
                               Mass.";
                       1,2:
                               "The bronze is dim: hints of green and grey creep from the water and
                               slide to the base.";
                       3:
                               "The font is cracked and tarnished. Grey-green streaks blossom from
                               the water and twist their way down.";
                       5:
                               "Flakes of rust crumble off, but they are replaced by a green mould.
                               The mould hugs the font, refusing to let go.";
                       6,7:
                               "The tin pot is glazed with feces and urine. It is more smell than
                               sight.";
                       9:
                               "Black and wretched.";
               };
               ],
               before [;
                       Receive:
                               if (noun == coin)
                                       "It's not a wishing well.";
                               else
                                       "Best not.";
                       Search:
                               <<Examine holy_water>>;
                       Drink:
                               <<Drink holy_water>>;
                       Eat:
                               <<Eat holy_water>>;
                       Smell:
                               <<Smell holy_water>>;
                       Taste:
                               <<Taste holy_water>>;
                       Touch:
                               <<Touch holy_water>>;
                       Take:
                               <<Take holy_water>>;
               ],
               found_in church new_church,
has             static container open;

Object  holy_water "holy water"
with    name 'holy' 'water',
               description [;
               switch(time_shadow.current_time) {
                       0:
                       if (sin_shadow.evil == false)
                               "The water is clear and clean: it sparkles in the candlelight and
                               dances with your breath.";
                       else
                               "The water is clear and clean: it bubbles and hisses at your
                               approach.";
                       1,2:
                               "The water is dull. It warps your reflection into a
                               sallow round ball with sharp juts where your skin dangles from your
                               cheekbones.";
                       3:
                               "The water --is it water?-- is dank and cloudy. It ripples: a
                               smooth, rolling motion like a snake vomiting a rat.";
                       5:
                               "The liquid is stained and tainted. It rolls and tumbles in the
                               font.";
                       6,7:
                               "Urine. It spins and putrefies in the old font.";
                       9:
                               "Urine spins in the font. Its color is dark: diseased.";
               };
               ],
               before [;
                       Drink:
                               switch(time_shadow.current_time) {
                                       0:
                                       if (sin_shadow.evil == false)
                                               "The water tastes sweet as it slides its way into your
                                               belly.";
                                       else
                                               deadflag = true;
                                               "The water burns as it slides down your throat. Steam pours
                                               out: pink with your blood. You scream, but no words come out,
                                               only blood.";
                                       1,2:
                                               "It scratches, but soothes your thirst.";
                                       3:
                                       if (sin_shadow.evil == false)
                                               "It is sour and bitter. It does nothing to soothe your
                                               thirst.";
                                       else
                                               "It is sour and bitter. Delicious. Your thirst is washed
                                               away.";
                                       5:
                                       if (sin_shadow.evil == false)
                                               "The taste almost makes you vomit. Sour. Bitter.
                                               ^^Wicked.";
                                       else
                                               "It slides down your throat, smoothly and sweetly. Sour and
                                               bitter.";
                                       6,7:
                                       if (sin_shadow.evil == false)
                                               "The urine stings your tongue, and turns your stomach.";
                                       else
                                               "The urine soothes your tongue, and calms your stomach.";
                                       9:
                                               if (sin_shadow.evil == true)
                                                       "Sweet. It runs down your throat and into your belly.";
                                               else
                                                       "Vile. You would vomit had you had anything left in your
                                                       stomach.";
               };
                       Eat:
                               <<Drink self>>;
                       Smell:
                               switch(time_shadow.current_time) {
                                       0:
                                       if (sin_shadow.evil == false)
                                               "Fresh and clear. It soothes your nerves.";
                                       else
                                               "Clean; antiseptic. It burns your nose.";
                                       1,2:
                                               "Stale, like it had been sitting for months.";
                                       3:
                                               "Sour. Acidic. Like sweat or something else.";
                                       5:
                                               "Sour, but not like sweat. Something fouler.";
                                       6,7:
                                               "Sour. It's not like sweat at all. It is urine. It
                                               permeates everything while climbing up into your nose to
                                               rest.";
                                       9:
                                               if (sin_shadow.evil == true)
                                                       "You inhale. Sweet.";
                                               else
                                                       "Vile. You would vomit had you had anything left in your
                                                       stomach.";
               };
                       Taste:
                               <<Drink self>>;
                       Touch:
                               switch(time_shadow.current_time) {
                                       0:
                                       if (sin_shadow.evil == false)
                                               "It is cool: not the harsh cool of everything else in this
                                               place, but rather a peaceful chill.";
                                       else
                                               "You cry out: the water burns your finger, leaving harsh red
                                               and white blisters where your wrinkled skin was.";
                                       1,2:
                                       if (sin_shadow.evil == false)
                                               "It chills your fingers, turning them white with cold.";
                                       else
                                               "It chills and itches, leaving your skin red and
                                               discolored.";
                                       3:
                                       if (sin_shadow.evil == false)
                                               "It is warm: the same temperature as your skin. You can
                                               barely feel it, except for the itchy, slimy feeling it leaves
                                               on your fingers.";
                                       else
                                               "Warm, like humans. You can barely feel it except for the
                                               delightful slime it leaves upon your skin.";
                                       5,6,7:
                                       if (sin_shadow.evil == false)
                                               "Warm: almost steaming in the cold. It burns and itches at
                                               your skin.";
                                       else
                                               "Warm: almost steaming in the cold. It soothes away the pain
                                               of your weak shell.";
                                       9:
                                               if (sin_shadow.evil == true)
                                                       "Warm and soothing upon your scales.";
                                               else
                                                       "Vile. It burns your flesh.";
               };
                       Take:
                               <<Drink self>>;
               ],
has             concealed;


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!CHANCEL
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    chancel "Church (on the chancel)"
with    name 'chain',
               description [;
                       if (sin_shadow.evil == false) {
                       switch (time_shadow.current_time) {
                               0,1:
                               "You have spent many a solemn Mass up here, gazing out unto a sea
                               of your brethren. Now, all you see is a sea of empty pews to the
                               south.";
                               3:
                               "Was your time wasted up here? Was it all for naught? As you look to
                               the empty pews to the south, you wonder how it has helped anyone.";
                               default:
                               "The pews to the south are all so empty. They will never be full
                               again.";
                       }
                       }
                       else
                       switch (time_shadow.current_time) {
                               default:
                               "God, to think of all the time you wasted up here. The blind leading
                               the blind. A quiet laugh spreads through your heart. A joke.  The
                               rest of the church lies to the south; it's not as funny of a joke.";
                       }
               ],

               before [;
                       Smell:
                               if (noun == nothing) {
                               switch(time_shadow.current_time) {
                                       0:
                                       if (sin_shadow.evil == false)
                                               "It smells fresh and soothing. Like wildflowers were
                                               growing from Saint Cuthbert.";
                                       else
                                               "Like wildflowers were growing from Saint Cuthbert. It is
                                               annoying.";
                                       1:
                                               "Your nose is dry. A stale and dusty smell seeps through
                                               Saint Cuthbert's case.";
                                       3:
                                       if (sin_shadow.evil == false)
                                               "A faint smell floats about the room. A bad smell. A dead
                                               smell.";
                                       else
                                               "A faint smell floats about the room. A good smell. A dead
                                               smell.";
                                       5:
                                       if (sin_shadow.evil == false)
                                               "Rot and death fill the air, choking at you.";
                                       else
                                               "Rot and death fill the air, inciting your hunger.";
                                       6,7:
                                       if (sin_shadow.evil == false)
                                               "Filth, death, and rot are the only smells that exist now.";
                                       else
                                               "Filth, death, and rot are the only smells that exist now.
                                               Just like home.";
                               }
                       }
                       else
                               return false;
               ],
               s_to church,
               d_to church,
               out_to [;
                       <<Go s_obj>>;
               ],
has             ;

Object  lectern "lectern"
with    name 'lectern' 'podium' 'stand',
               initial [;
                       switch(time_shadow.current_time) {
                               0:
                               if (sin_shadow.evil == false)
                                       "The lectern stands in the centre of the chancel, the Bible atop
                                       it shining with gold filigree.";
                               else
                                       "The lectern stands in the centre of the chancel, the Bible
                                       accusing you from its perch.";
                               1:
                                       "The lectern sits with the Bible atop it. The Bible sinks away
                                       from your eyes.";
                               3:
                                       "The lectern is weak and brittle, barely able to support the
                                       weight of the massive tome upon it.";
                               5:
                                       "The lectern has snapped. Unholding the Bible is a difficult
                                       task.";
                               6,7:
                               if (sin_shadow.evil == false)
                                       "The lectern has crumbled away. The weight of the Bible is
                                       crushing to the unworthy.";
                               else
                                       "The lectern has crumbled away. The weight of the Bible is
                                       crushing to the wicked.";

                       }
               ],
               description [;
                       switch(time_shadow.current_time) {
                       0:
                       if (sin_shadow.evil == false)
                               "The lectern stands with more strength and confidence than you do
                               of late. Its support of the Bible unwaivering.";
                       else
                               "The lectern supports the bible better than you ever did.";
                       1:
                               "The lectern wearily holds up the Bible.";
                       3:
                               "Struggling to support the massive book, the lectern looks as though
                               it could topple over.";
                       5:
                               "The lectern lays snapped across the floor, the Bible spilling from
                               it.";
                       6,7:
                       if (sin_shadow.evil == false)
                               "The lectern has crumbled away. The weight of the Bible is
                               crushing to the unworthy.";
                       else
                               "The lectern has crumbled away. The Bible crushes the wicked.";
                       9:
                               "Nothing remains but dust.";
                       }
               ],
               react_before [;
                       TalkTo,Ask,Tell,Answer:
                               drogo3.talking = 3;
                               return false;
               ],
               found_in chancel new_church,
has             static supporter;

Object  bible "Bible"
with    name 'bible' 'book' 'tome' 'gold' 'filigree' 'leather',
               description [;
                       switch(time_shadow.current_time) {
                       0,1:
                       if (sin_shadow.evil == true)
                               "The Bible burns at you from its perch. Accusing, mocking.";
                       if (self.first_seen == true) {
                               self.first_seen = false;
                               "Ah, the Bible. How many times has it been there for you?  When your
                               heart is heavy, you often come to read it, and reflect upon its
                               wisdom. Now, though, you find it intruding upon your thoughts during
                               the most mundane of tasks. Passages spring to you unbidden: filling
                               your ears with the words of God. Filling your mind with... What?  It
                               is currently open to
                               Ecclesiastes 9:3.";
                       }
                       else
                               "The Bible stands upon the lectern, its gold filigree glimmering in
                               the light of your candle.";
                       3:
                               "The Bible's pages are curled and brittle. Splits and cracks creep
                               through the urine-colored pages.";
                       5:
                               "The Bible is charred is peeling. Splits run through its leather
                               coverings.";
                       6,7:
                               "The dead animal hide wrapping its pages is rotted and filled
                               with maggots.";
                       9:
                               "Nothing remains but dust. The empty words no longer mean anything
                               here.";
                       }
               ],
               before [;
                       Read:
                               switch(time_shadow.current_time) {
                               0,1:
                               style underline;
                               print "Ecclesiastes 9:3
                               ^^~This is an evil among all things that are done under the sun, that
                               there is one event unto all: yea, also the heart of the sons of men
                               is full of evil, and madness is in their heart while they live, and
                               after that they go to the dead.~^";
                               style roman;
                               rtrue;
                               3:
                               "You stare at the pages like you have so many times, but you cannot
                               focus. The words spin and slide away from your eyes.";
                               5:
                               "The words are gibberish: unintelligible.";
                               6,7:
                               "The pages are blank. God's truth is no match for Satan's lies.";
                               9:
                               "Nothing remains but dust. The empty words no longer mean anything
                               here.";
                       }
                       Take:
                               if (time_shadow.current_time < 6)
                               "It is bolted, by chain, to the lectern.";
                               else
                                       "It burns to the touch, charring your hands.";
               ],
               found_in lectern,
               first_seen true,
has             legible scenery;

Object  saint_cuthbert "Saint Cuthbert"
with    name 'saint' 'cuthbert' 'body' 'incorruptible' 'case' 'glass' 'corpse',
               initial [;
                       switch(time_shadow.current_time) {
                               0:
                               if (self.broken == false)
                               "A beautiful glass case holds the body of Saint Cuthbert near the
                               base of the chancel.";
                               else
                               "Saint Cuthbert lies in a bed of broken glass.";
                               1:
                               "A dry, dusty case holds Saint Cuthbert's corpse. The dust sticks to
                               your damp skin, and the smell dries your nose.";
                               3:
                               "Saint Cuthbert sinks in his tomb, rot creeping in from his
                               extremities.";
                               5:
                               "Saint Cuthbert rots in his tomb, his eyes eaten by maggots.";
                               6,7:
                               "Wormholes, rotted flesh, and maggots are all that remain on Saint
                               Cuthbert's bones.";
                       };
               ],
               description [;
                       switch(time_shadow.current_time) {
                               0:
                               if (sin_shadow.evil == false)
                               "He is so calm: so serene. His body is unblemished by the
                               centuries that have passed. Truly, he is incorruptible. He even
                               smells divine, as though flowers were growing beneath him.";
                               else
                               "He is so calm: so serene. His body is unblemished by the
                               centuries that have passed. Truly, he is incorruptible. He smells
                               like vile flowers. It itches at your nose.";
                               1:
                               "He looks old and dry. His hair hangs in pale wisps about his
                               cracking face. He smells of dust, and he dries your nose.";
                               3:
                               "His skin is blotched and discolored, and his hair drops from a
                               shriveled scalp.";
                               5:
                               "Rotted-out craters mark his body and line his face.";
                               6,7:
                               "He is a body with holes, or a skeleton with flesh. Rot extends to
                               his bones, causing them to crumble into vile dust.";
                       };
               ],
               before [;
                       Open:
                               if (self.broken == true)
                                       "It's already smashed.";
                               else
                                       "It is fused glass with no hinges. You would have to break it.";
                       Eat:
                               "You dig your teeth into his flesh. It yields like butter, but it
                               burns. Burns your teeth. Burns your throat. It settles in your
                               stomach and burns there too.";
                       Take:
                               "You are too weak.";
                       Attack:
                               if (self.broken == true)
                                       "The case is already smashed.";
                               else
                                       self.broken = true;
                                       "The slam of your fist shatters the glass, sending it cascading
                                       over the Saint's body.";
                       Smell:
                       switch(time_shadow.current_time) {
                               0:
                               if (sin_shadow.evil == true)
                               "Wretched flowers. They itch your nose.";
                               else
                               QuoteFrom(psalms45_8);
                               "Sweet like flowers or incense.";
                               1:
                               "He looks old and dry. His hair hangs in pale wisps about his
                               cracking face. He smells of dust, and he dries your nose.";
                               3:
                               if (sin_shadow.evil == true)
                               "The smell curls up in yoru nose and sits there. You like its new
                               nest.";
                               else
                               "The smell curls up in your nose and sits there. It takes several
                               minutes of huffing fresh air to remove.";
                               5:
                               if (sin_shadow.evil == true)
                               "His smell is delightful: maggots and death.";
                               else
                               "His stench makes you gag. It climbs down your throat and into your
                               belly.";
                               6,7:
                               if (sin_shadow.evil == true)
                               "His smell wraps its way through your nose and drags the fresh air
                               from your lungs. Wonderful.";
                               else
                               "His stench wraps its way through your nose and grabs the fresh air
                               from your lungs, choking you.";
                       };
               ],
               broken false,
               found_in chancel,
has             static proper;

Object  crucifix "cross"
with    name 'cross' 'crucifix' 'wooden' 'matteo' 'matteo^s' 'crown' 'of'
'thorns' 'briar' 'briars' 'thorn' 'nail' 'nails',
               initial [;
                       switch(time_shadow.current_time) {
                               0:
                                       "Towering above all else is a massive wooden cross. It is
                                       awesome.";
                               1:
                                       "Shrinking into the back of the chancel is a wooden cross. It
                                       does not tower, only sit.";
                               3:
                                       if (drogo3.show_matteo > 1)
                                       "Matteo hangs from the cross, melting snow forms a pool at his
                                       feet.";
                                       else
                                       "Shrinking into the back of the chancel is a wooden cross. It
                                       does not tower, only sit.";
                               5:
                                       "Matteo hangs from the cross, an empty grin spread across his
                                       lips and a crown of thorns upon his brow.";
                               default:
                                       "Matteo welcomes you to the chancel from his perch on the cross.
                                       His perpetual grin consumes his face and blood drips into his
                                       eyes from the crown of thorns.";

                       }
               ],
               before [;
                       Examine:
                               if (location == church) {
                                       switch(time_shadow.current_time) {
                                       0,1:
                                               "The cross stands tall upon the chancel.";
                                       3:
                                               "There's something odd about the cross.";
                                       default:
                                               "Matteo grins.  It spreads throughout the church.";
                                       }
                                       }
                               else
                                       return false;

                       Bury,Take,Push,Pull:
                               if (drogo3.show_matteo > 1)
                                       "Drogo secured him well. Flesh and wood are one.";
                               else
                                       "It is secured in place.";
                       TalkTo:
                               if (time_shadow.current_time < 3)
                                       return false;
                               else
                               switch((self.talking)++){
                               0:
                               if(matteo1.pushed == true) {
                               QuoteFrom(cross_pushed_quote1);
                               "Silence.";
                               }
                               else
                               QuoteFrom(cross_talking_quote1);
                               "Silence.";
                               1:
                               if(matteo1.pushed == true) {
                               QuoteFrom(cross_pushed_quote1);
                               "Silence.";
                               }
                               else
                               QuoteFrom(cross_talking_quote2);
                               "Silence.";

                               2:
                               if(matteo1.pushed == true) {
                               QuoteFrom(cross_pushed_quote1);
                               "Silence.";
                               }
                               else
                               QuoteFrom(cross_talking_quote3);
                               "Silence.";
                               3:
                               if(matteo1.pushed == true) {
                               QuoteFrom(cross_pushed_quote1);
                               "Silence.";
                               }
                               else
                               QuoteFrom(cross_talking_quote4);
                               "Silence.";
                               default:
                               "Silence.";

                               }

               ],
               description [;
                       switch(time_shadow.current_time) {
                               0:
                                       "It was finely wrought with all the attention it deserved.";
                               1:
                                       "It is cheap and splintered. That artisan was a sham.";
                               3:
                                       if (drogo3.show_matteo > 1) {
                                       QuoteFrom(matteo_cross_quote);
                                       "Matteo's corpse dangles from the cross. The wounds in his head,
                                       hands, and feet sparkle with crystals of frozen blood, and his
                                       eyes stare through you to nothing.
                                       ^^Jesus always looked so beautiful on the cross. Matteo just
                                       looks dead.";
                                       }
                                       else
                                       "It is cheap and splintered. That artisan was a sham.";
                               5:
                                       "Matteo clings to the cross by his hands and feet, a grin across
                                       his sagging face.";
                               6,7:
                                       "Matteo revels from his perch, his blood staining the splintered
                                       wood.";
                               9:
                               "Matteo welcomes you to the church with a bloody grin.";
                       }
               ],
               talking 0,
               found_in chancel new_church church,
has             static;



!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Dormitory
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    dormitory "Dormitory"
with    description [;
                       if (lucca1 in matteo_room)
                       "Dozens of openings line the hall, each leading to a separate
                       cell, except for the west, which leads to the cloister. Although there
                       are no doors, the entrances are positioned as such
                       to afford as
                       much privacy as possible. Brother Matteo's chamber is to the south,
                       Ignatius's to
                       the north, Drogo's newly appointed cell is to the northeast,
                       Constantin's is to
                       the southeast, and Lucca's to the southwest.
                       ^^A scraping sound comes from Constantin's cell, forming an eerie melody
                       with the sobs from Matteo's.";
                       else
                       "Dozens of openings line the hall, each leading to a separate
                                               cell, except for the west, which leads to the cloister.
                                               Although there are no doors, the entrances are
                                               positioned as such to afford as
                                               much privacy as possible. Brother Matteo's chamber is to the
                                               south, Ignatius's to
                                               the north, Drogo's newly appointed cell is to the northeast,
                                               Constantin's is to
                       the southeast, and Lucca's to the southwest.";
               ],
               before [;
                       Listen:
                               if (constantin1 in constantin_room)
                                       "The brisk scraping from Constantin's room does nothing to hide
                                       the
                                       sobs from Matteo's.";
               ],

               w_to cloister,
               se_to constantin_room,
               s_to matteo_room,
               n_to ignatius_room,
               ne_to drogo_room,
               sw_to lucca_room,
               out_to [;
                       <<Go w_obj>>;
               ],
has             ;

Room    constantin_room "Constantin's Room"
with    description [;
                       switch(time_shadow.current_time) {
                       0,1:
                               if (constantin_tools in self)
                               "Constantin is one of the few brothers with anything in his room
                               besides a bed. A few tools lay next to the door in the northwest;
                               remnants of his life as a blacksmith. A smell
                               lingers here: a sour smell.";
                               else
                               "Constantin is one of the few brothers with anything in his room
                               besides a bed. A smell
                               lingers here: a sour smell.";
                       3:
                               "The room is rank. Sickness is everywhere: seeped into the bed,
                               climbing
                               the walls. A little fresh air drifts in from the northwest: it isn't
                               nearly enough.
                               ^^The tools are gone.";
                       default:
                               if (constantin_tools notin self)
                               "These walls are Constantin's tomb. Slime coats the floor and slides
                               from the walls. The stench is trapped, harsh. It can be escaped to
                               the northwest.";
                               else
                               "These walls are Constantin's tomb. Slime coats the floor and slides
                               from the walls. The stench is trapped, harsh. It can be escaped to
                               the northwest.
                               ^^The tools are gone.";
               }
               ],
               before [;
                       Listen:
                               if (constantin1 in self)
                               "~Tch ch ch,~ the knife says as it slides against the hare.";
                       Smell:
                               if (noun == nothing or brother_bed)
                               switch(time_shadow.current_time){
                               0,1:
                                       "It's hard to place. It's a sick smell. Vomit, perhaps?";
                               3:
                                       "Vomit.";
                               default:
                                       "The air poisons your lungs. Why does vomit always inspire
                                       vomit?";
                       }
               ],
               nw_to dormitory,
               n_to dormitory,
               out_to [;
                       <<Go nw_obj>>;
               ],
has             ;

Object  constantin_hare "hare"
with    name 'hare' 'rabbit' 'young' 'catch',
               description "The hare dangles by one foot from Constantin's massive hand,
               blood soaking its snow-damp fur. It
               twitches. No. It doesn't. That is only the movement of the knife against
               its
               flesh.",
               before [;
                       Take:
                               "Constantin snatches it back. ~Wait until I'm finished,~ he
                               grunts.";
               ],
               found_in constantin1,
has             scenery;

Object  hare "hare"
with    name 'hare' 'rabbit' 'dead' 'skinned',
               initial "A skinned rabbit sits on the floor, its muscles shimmering in the
               light.",
               description
                       "Sinews and muscles bound together in a shining lump.",
               before [;
                       Eat:
                               remove hare;
                               "The blood is still warm. It stains your lips and soothes your
                               hunger.";
               ],
has             edible;

Object  constantin_knife "knife"
with    name 'knife' 'blade' 'dagger' 'steel',
               description "It gleams wickedly in the candlelight.",
               before [;
                       Take:
                               "Constantin snatches it back. ~It's mine.~";
               ],
               found_in constantin1,
has             scenery;

Object  pool_of_blood "pool of blood"
with    name 'pool' 'of' 'blood' 'feet' 'foot',
               description "The blood collects in a small pool at Constantin's feet, warming
               their chill.",
               each_turn [;
                       if (time_shadow.current_time ~= 0)
                               give self absent;
               ],
               found_in constantin_room,
has             scenery;

Room    matteo_room "Matteo's Room"
with    initial [;
                       StartDaemon(plague_shadow,7);
               ],
               description [;
                       switch(time_shadow.current_time){
                       0:
                               "This room is small: the same as all the others. A bed is pushed
                               up against one wall, opposite the door to the north.";
                       1:
                               "It's not like you saw Matteo in here much; he was always in the
                               tower. Still, it feels empty knowing he's gone. North leads out.";
                       3:
                               "He always had so many secrets. You knew it would kill him one day,
                               but not Lucca. North leads out.";
                       default:
                               "So empty. So, so empty. North leads out.";
               }
               ],
               before [;
                       Dig:
                               if (noun == nothing)
                                       <<Dig flagstone>>;
               ],
               n_to dormitory,
               out_to [;
                       <<Go n_obj>>;
               ],
has             ;

Object  flagstone "flagstone"
with    name 'flag' 'stone' 'flagstone' 'floor' 'ground' 'blood' 'flagstones' 'hole'
'stones',
               initial [;
                       if (self.lifted == true)
                       "The flagstone lays to the side of a small hole in the floor.";
                       else
                       "One of the flagstones is tinted with blood.";
               ],
               description [;
                       if (self.lifted == true)
                               "The stone sits apart from the floor, defeated.";
                       else
                       switch(time_shadow.current_time){
                               0:
                                       "Lucca scrabbles at the stone, trying desperately to unearth it
                                       from all sides.";
                               1:
                                       "The stone looks the same as them all, except for the liberal
                                       amounts of blood drying in to the cracks.";
                               default:
                                       "The stone mocks you from its nest.";
                       }
               ],
               react_after [;
                       Unlock,Open,Take,Push,Pull,Dig:
                               QuoteFrom(dig_flagstone_quote);
                               return false;
               ],
               before [;
                       Unlock:
                               if (self.lifted == true)
                                       "The stone is already lifted.";
                               if (constantin_tools in player && prybar notin player)
                                       "You try to lever the stone with the hammer but it doesn't catch.
                                       This isn't the right tool.";
                               if (prybar notin player)
                                       "That's not the right tool.";
                               else
                                       move matteo_papers to matteo_room;
                                       self.lifted = true;
                                       "Fitting the bar between the cracks in the flooring, you pry the
                                       flagstone up. It comes out easily.
                                       ^^Where it lay, in a slight hollow in the soil, are a few
                                       wrinkled sheets
                                       of paper.";
                       Open,Take,Push,Pull,Dig:
                               if (self.lifted == true)
                                       "The stone is already lifted.";
                               if (constantin_tools in player && prybar notin player)
                                       "You try to lever the stone with the hammer but it doesn't catch.
                                       This isn't the right tool.";
                               if (prybar notin player)
                                       "You pry at the stone, but your fingers accomplish little besides
                                       bleeding.";
                               else
                                       move matteo_papers to matteo_room;
                                       self.lifted = true;
                                       "Fitting the bar between the cracks in the flooring, you pry the
                                       flagstone up. It comes out easily.
                                       ^^Where it lay, in a slight hollow in the soil, are a few
                                       wrinkled sheets
                                       of paper.";
               ],
               lifted false,
has             static concealed;

Object  matteo_papers "papers"
with    name 'paper' 'papers' 'journal' 'matteo^s' 'sheet' 'sheets',
               initial "Matteo's papers call to you from the floor.",
               before [;
                       Read,Examine:
                       if (self.been_read == true){
                               matteo_journal.select();
                               rtrue;
                               }
                               else {
                       if (constantin_dead notin constantin_room) {
                               self.been_read = true;
                               move self to player;
                               give bell concealed;
                               move constantin_tower to tower;
                               move cecilia_tower to tower;
                               remove constantin5;
                               matteo_journal.select();
                               rtrue;
}
if (constantin_dead in constantin_room){
                               self.been_read = true;
                               move self to player;
                               give bell concealed;
                               move cecilia_tower2 to tower;
                               matteo_journal.select();
                               rtrue;


}
}
               ],
               react_before [;
                       Go:
                               if (noun == n_obj or out_obj && self.been_read == false)
                                       "You're not leaving until you've read the papers that two people
                                       died for.";
               ],

               been_read false,
has             pluralname legible;

Room    ignatius_room "Ignatius's Room"
with    description [;
                       if (cellar hasnt visited)
                       "Ignatius's room does not smell as strongly as the others. He has spent
                       so much time in the infirmary of late, taking care of the sick. He is a
                       braver man than you. A bed is pushed up against one wall, opposite the
                       door to the south.";
                       else
                       "Ignatius's room does not smell as strongly as the others. A bed is
                       pushed up against one wall, opposite the door to the south.";
               ],
               s_to dormitory,
               out_to [;
                       <<Go s_obj>>;
               ],
has             ;

Room    drogo_room "Drogo's Room"
with    description [;
                       switch(time_shadow.current_time){
                       default:
                               "He seems to have made himself right at home. The room smells of
                               animals and sweat; scratches adorn the bed and lead out the door to
                               the southwest.";

               }
               ],
               before [;
                       Smell:
                               if (noun == nothing or brother_bed)
                                       "Sweat and animals: wet dog, or something similar.";
               ],
               sw_to dormitory,
               s_to dormitory,
               out_to [;
                       <<Go sw_obj>>;
               ],
has             ;

Room    lucca_room "Lucca's Room"
with    description "This room is small: the same as all the others. A bed is pushed
up against one wall, opposite the door to the northeast.",
               ne_to dormitory,
               n_to dormitory,
               out_to [;
                       <<Go ne_obj>>;
               ],
has             ;

Object  brother_bed "bed"
with    name 'bed' 'mattress' 'cot' 'scratch' 'scratches',
               description [;
                       switch(location){
                       drogo_room:
                               "Scratches line the posts. Some from claws, some from metal.";
                       default:
                       "A simple mattress on four wooden legs: the same as all the
                       others.";

                       }
               ],
               before [;
                       LookUnder:
                               "Mould creeps from the blackness, but you find nothing else.";
               ],
               found_in constantin_room matteo_room ignatius_room drogo_room lucca_room,
has             scenery;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Outside Calefactory
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    outside_calefactory "Outside the Calefactory"
class   Outside_Room,
with
               initial [;
                       if (pass has visited)
                               move blood_writing to calefactory;
               ],
description "Perhaps this is the only place at Saint Cuthbert's that is a
comfortable temperature. Heat blasts at you from the calefactory to the southeast,
but it is countered by the chill from the cloister to the northwest. No, that isn't
right. They do not cancel: their furies are incited by one another.",
               nw_to cloister,
               se_to calefactory_door,
               out_to [;
                       <<Go nw_obj>>;
               ],
               in_to [;
                       <<Go se_obj>>;
               ],
has             ;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Calefactory
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    calefactory "Calefactory"
with    description "Positioned directly between the dormitory and your own room, the
calefactory warms both, although lately it is less than adequate. While the
calefactory itself is stiflingly hot, its heat stays confined. Your brow grows damp:
your body, feverish. Slightly melted snow creeps in from the cloister to the
northwest.",
               nw_to outside_calefactory,
               out_to [;
                       <<Go nw_obj>>;
               ],
has             ;

Object  blood_writing "writing"
with    name 'writing' 'words' 'word' 'blood' 'red' 'scrawl' 'bloody',
               initial [;

                       if (self.examined == false)
                       "A red scrawl winds its way around the room.";
                       else
                       "Bloody words circle the room.";
               ],
               description [;
                       QuoteFrom(lucca_blood_quote);
                       print "It says:";
                       style underline;
                       print "^^I'm sorry, God. Please forgive me. The evil of my brothers
                       and the father has been an affront to you. Forgive them. Please.
                       ^^Someone's here.^";
                       style roman;
                       "^That is all.";
               ],
               after [;
                       Examine:
                               if (self.examined == true)
                                       return false;

                               else
                                       self.examined = true;
                                       move ignatius3 to calefactory;
                                       StartDaemon(ignatius3);
               ],

               examined false,

has             static;

Ignatius ignatius3 "Ignatius"
with    initial [;
                       "Ignatius fingers the walls. His hand crawls and slithers across the
                       stone.";
               ],
               description "Ignatius stands, frock wet and dripping with sweat. His eye is
               feverish: hungry. He stands too close.",
               before [;
                       Attack,Kill:
                               deadflag = true;
                               "You move, but you are far too slow. Or perhaps he just has a lot
                               more practice. A knife flashes from his frock and across your neck.
                               ^^There is plenty of ink for the wall now.";

                       Smell:
                               "Sweat and mildew. And death.";
               ],
               react_before [;
                       Go,Enter:
                               if (noun == out_obj or nw_obj or calefactory_door && ignatius3 in
                               calefactory)
                                       StopDaemon(ignatius3);
                                       remove ignatius3;
                                       print "~Yes, I should be going too,~ Ignatius says, slowly. ~I
                                       will
                                       see you later, father.~^";
                                       return false;
               ],
               daemon [;
                       switch(++(self.calefactory_talking)) {
                       1:
                               "^Wet footsteps sound from behind. ~Curious, isn't it?~  It is
                               Ignatius.
                               ^^He sidles up beside you and traces the blood with his hand. ~He
                               must have been sicker than we thought,~ --he pauses-- ~The plague
                               makes monsters of us all.~";
                       2:
                               "^Ignatius circles the room, but he never strays far from the door.";
                       3:
                               "^Ignatius looks you up and down, unblinking.";

                       }
               ],
               calefactory_talking 0,
has             ;

Simple_Door     calefactory_door "calefactory door"
with    name 'calefactory' 'wooden' 'hinges' 'cracked' 'door',
               description [;
                       if (location == outside_calefactory && self has open)
                               "Hot air blasts through the door, burning the chill from your
                               bones.";
                       if (location == outside_calefactory && self hasnt open)
                               "Heat radiates from the door.";
                       if (location == calefactory && self has open)
                               "Icy drafts from the open door split the heat of the room.";
                       if (location == calefactory && self hasnt open)
                               "With the door closed, the heat sinks deep into your bones.";
               ],
               before [;
                       Open,Unlock:
                               if (calefactory_lock notin self)
                                       return false;
                               else
                                       "Constantin has put a lock on the door. It is sturdy.";
               ],

               side1_to calefactory,
               side1_dir se_to,
               side2_to outside_calefactory,
               side2_dir nw_to,
!               door_dir [;
!                       if (location == outside_calefactory)
!                               return se_to;
!                       else
!                               return nw_to;
!               ],
!               door_to [;
!                       if (location == outside_calefactory)
!                               return calefactory;
!                       else
!                               return outside_calefactory;
!               ],
               found_in calefactory outside_calefactory,
has             container transparent;

Object  calefactory_lock "lock"
with    name 'lock' 'keyhole',
               initial "A shiny, steel lock secures the calefactory door.",
               description "The lock is newly fashioned and shines in the moonlight.",
               before [;
                       Attack,Kill:
                               "It is far too sturdy.";
               ],
               react_before [;
                       Go:
                               if (noun == se_obj)
                                       "Constantin has put a lock on the door. It is sturdy.";
               ],
has             locked lockable static;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!PATH
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    path "Path"
class   Outside_Room,
with    description [;
                       switch(time_shadow.current_time) {
                               3:
                                       "The sun's light does nothing to warm you, but instead it burns
                                       your eyes with its fury: nothing like the cool darkness inside
                                       the monastery to the north. It is so bright that you can barely
                                       make out the stables to the east: they are just a darker square
                                       in a field of white. The infirmary is a little clearer to the
                                       west. A tangle of footsteps lead south to the gate.";
                               6,7:
                                       "Darkness begins to creep across the sky from atop the infirmary
                                       in the west. The last rays of light expose the stables to the
                                       east and the gate to the south. The monastery lies to the north,
                                       its walls offering promises of shelter.";
                               default:
                                       "The light is gentler now. No, not gentler: weaker. Clouds
                                       block the sun, making it easy to see the stable to the east in a
                                       field of white. The infirmary lies to the west while the gate is
                                       to the south. The monastery offers its hollow promises of warmth
                                       to the north.";
                       }
               ],
               each_turn [;
                       if (clearing hasnt visited && time_shadow.current_time >= 5)
                               "^A faint, garbled sound rises from the east.";
               ],
               before [;
                       Listen:
                               if (noun == nothing && lamb in clearing)
                                       "A shrill bleats echoes throughout the mountains.";
               ],
               n_to archway,
               e_to stables,
               s_to gate,
               w_to outside_infirmary,
               in_to [;
                       <<Go n_obj>>;
               ],
has             ;

Object  dove "dove"
with    name 'dove' 'pidgeon' 'bird',
               initial [;
                       if (self.gone == false) {
                       give self ~concealed;
                       self.gone = true;
                       "A lone white dove flies off into the morning sun.";
                       }
                       else
                       give self concealed;
                       return true;

               ],
               before [;
                       default:
                               QuoteFrom(psalms55_6);
                               "The dove is gone.";
               ],
               gone false,
has             ;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!OUTSIDE INFIRMARY
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    outside_infirmary "Outside the Infirmary"
class   Outside_Room,
with
               initial [;
                       move infirmary_cemetery to all_hints;
               ],
description "The infirmary stands well away from the rest of the monastery.
Little good it has done, though. The plague still seeped its way in. A rickety door
leads into the infirmary, and a well-worn path leads to the cemetery in the northwest
and back to the main path in the east.",
               in_to infirmary,
               e_to path,
               nw_to cemetery,
has             ;

Simple_Door infirmary_door "infirmary door"
with    name 'wooden' 'door' 'hinges' 'cracked' 'infirmary',
               side1_to infirmary,
               side1_dir in_to,
               side2_to outside_infirmary,
               side2_dir out_to,
               found_in infirmary outside_infirmary,
has             ;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!INFIRMARY
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    infirmary "Infirmary"
with    description "The smell is bad, although not as bad as you had expected it to
be: Constantin must be keeping up with dealing with the dead. Empty, vomit-stained
beds
lie haphazardly about the room. Buckets overflow with human filth: the plague soon
overtook those caring for the sick. The air is heavy with disease.",
               before [;
                       Smell,Search:
                               if (noun == nothing or infirmary_beds or infirmary_marks or buckets)
                               "Blood, vomit, and feces: the Trinity of the plague.";
               ],
               out_to outside_infirmary,
has             ;

Object  infirmary_beds "beds"
with    name 'bed' 'beds' 'empty' 'vomit-stained' 'bedding' 'blanket' 'blankets',
               description "The beds lay strewn about the room. Far more are packed in here
               than usual. Most of the brothers were brought with their own beds from the
               dormitory. Soon, the infirmary housed as many as the dormitory. The
               patterns of vomit are grotesque outlines of human bodies.
               ^^Within some of the outlines of vomit, you see strange, brownish-red
               marks.",
               before [;
                       LookUnder:
                               "Mould creeps from the blackness, but you find nothing else.";
               ],
               found_in infirmary,
has             scenery supporter enterable pluralname;

Object  infirmary_marks "marks"
with    name 'brownish-red' 'brown' 'red' 'brownish' 'mark' 'marks' 'blood' 'stain'
'stains' 'patina',
               description "Looking closely, you recognize the telltale patina of dried
               blood.",
               found_in infirmary,
has             scenery pluralname;

Object  buckets "buckets"
with    name 'bucket' 'buckets' 'of' 'human' 'filth' 'vomit',
               description "Vomit and human filth rise over the sides of the buckets and
               spill to the floor. The smell is unimaginable.",
               before [;
                       Take:
                               "No, they are disgusting.";
               ],
               found_in infirmary,
has             scenery container open pluralname;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!CEMETERY
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    cemetery "Cemetery"
class   Outside_Room,
with    description "The wind whips its way through the tombstones, whistling a harsh
tune. The air is crisp and clean, the smell of corpses is nowhere to be found. In a
section off from the established cemetary, row upon row of makeshift crosses stand:
plague victims. The path winds its way back to the infirmary in the southeast.",
               before [;
                       Smell:
                               if (noun == nothing or tombstones or crosses)
                                       "Nothing but the cool scent of the wind.";
                       Dig:

                               if (noun == snow or crosses or nothing or tombstones && self.dug ==
                               false) {
                                       self.dug = true;
                                       "You tear into the snow with your hands, struggling to hold onto
                                       your fingers in the cold. Eventually, you strike the soil.
                                       Clearing a little patch, you find the soil undisturbed. You try
                                       another hole. Same thing. Nothing has disturbed the ground in
                                       quite some time.";
                               }
                               if (noun == snow or crosses or nothing && self.dug == true)
                                       "There is nothing to find.";
               ],
               se_to outside_infirmary,
               dug false,
has             ;

Object  tombstones "tombstones"
with    name 'tomb' 'tombs' 'stone' 'stones' 'tombstone' 'tombstones' 'gravestones'
'markers' ,
               description "The inscriptions have long since worn away from the elements:
               dozens of nameless souls lie beneath.",
               found_in cemetery,
has             scenery pluralname;

Object  crosses "crosses"
with    name 'makeshift' 'wooden' 'crosses' 'cross' 'scratch' 'scratches' 'grave'
'graves',
               description "Little more than two branches tied together, each of the crosses
               bears a faint scratch: the name of the brother that lies beneath. The
               scratches are so faint and Constantin's scrawl so shaky that they are
               illegible.",
               found_in cemetery,
has             scenery pluralname;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!STABLES
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    stables "Stables"
class   Outside_Room,
with
               initial [;
                       move riding_horse to all_hints;
               ],
               description [;
                       if (player in stalls)
                               "The smell is even worse up here. Snow weighs on the roof, causing it
                               to sink in the middle. Sometimes hay is stored up here in the
                               summer: now, the roof barely supports the snow.";

                       if (self hasnt visited)
                                       "In the shadow of the stables, you can make things out a little
                                       more clearly. Half-a-dozen empty stalls show the plague's
                                       influence: with their caretakers dead, the horses starved. The
                                       smell winds its way through your nostrils, numb though they are.
                                       It
                                       can be
                                       escaped to the path in the west
                                       or the garden in the northeast. A small ladder leads up to the
                                       roof of the stables.";
                       else
                                       "Half-a-dozen empty stalls show the plague's
                                       influence. As die the shepard, so does the flock.
                                       The
                                       smell winds its way through your nostrils, numb though they are.
                                       It
                                       can be
                                       escaped to the path in the west
                                       or the garden in the northeast. A small ladder leads up to the
                                       roof of the stables.";

               ],
               before [;
                       Jump:
                               if (player in stalls && wolves in location) {
                                       deadflag = true;
                                       "You jump into the sea of frothing jaws and writhing fur. It
                                       swallows you whole.";
                               }
                               if (player in stalls)
                                       print "Your bones crack as you plow into the snow. Luckily, it
                                       cushions
                                       your fall, preventing all damage but no pain.^";
                                       PlayerTo(stables);

                       Listen:
                               if (noun == nothing && lamb in clearing)
                                       "A shrill bleats echoes throughout the mountains.";
                       Drop,Give,ThrowAt:
                               if (noun ~= hare or lamb)
                                       return false;
                               if (wolves notin location)
                                       return false;
                               if (noun == hare && wolves in location && lamb in player) {
                                       remove lamb;
                                       remove hare;
                                       StartTimer(time_shadow, 5);
                                       remove wolves;
                                       wolves.chasing = 0;
                                       "You toss the hare into a patch of low briars, cushioning him
                                       from the ground. The
                                       wolves are torn between the two of you, but eventually decide on
                                       the hare. You've given them enough trouble already.
                                       ^^The danger gone, you release the lamb over the edge. He drops
                                       softly into the snow and hops away merrily.";
                               }
                               if (noun == hare && wolves in location) {
                                       remove lamb;
                                       remove hare;
                                       StartTimer(time_shadow, 5);
                                       remove wolves;
                                       wolves.chasing = 0;
                                       "You toss the hare into a patch of low briars, cushioning him
                                       from the ground. The
                                       wolves are torn between the two of you, but eventually decide on
                                       the hare. You've given them enough trouble already.";
                               }
                               if (noun == lamb && wolves in location)
                                       remove lamb;
                                       StartTimer(time_shadow, 5);
                                       remove wolves;
                                       wolves.chasing = 0;
                                       "You toss the lamb into a patch of low briars, cushioning him
                                       from the ground. Dazed for a moment, the lamb quickly realizes
                                       his new surroundings and bolts off away from the wolves. The
                                       wolves are torn between the two of you, but eventually decide on
                                       the lamb. You've given them enough trouble already.
                                       ^^A bleat. No, a scream sounds far off in the distance.";
                       Smell:
                               if (noun == nothing)
                               <<Smell stalls>>;
               ],
               each_turn [;
                       if (clearing hasnt visited && time_shadow.current_time >= 5)
                               "^A shrill, bleating noise comes from the northeast.";
               ],
               cant_go [;
                       if (player notin stalls)
                               "You can go only northeast, west, or up.";
                       else
                               "You can go only northeast, west, or down.";
               ],
               w_to path,
               ne_to garden,
               u_to [;
                       if (player notin stalls)
                       <<Climb ladder>>;
               ],
               d_to [;
                       if (player in stalls)
                       <<Climb ladder>>;
               ],
has             ;

Object  ladder "ladder"
with    name 'ladder',
               description "Little more than some dowels between two boards.",
               react_before [;
                       Go:
                               if (noun == d_obj && player in stalls)
                                       <<Climb ladder>>;
               ],
               before [;
                       Climb:
                               if (player in stables) {
                               print "Grunting more than a little, you pull yourself up the
                               ladder.^";
                               PlayerTo(stalls);
                               return true;
                               }
                               else
                               print "You descend the ladder, the roof giving a sigh of relief as
                               you do.^";
                               PlayerTo(stables);
                               return true;
               ],
               found_in stables,
has             scenery ;


Object  stalls "stables"
with    pname 'stall' 'stalls' 'dead' 'starved'  'horses' 'horse' 'empty'
'door'
'doors' 'gate' 'gates' 'stable' 'stables' 'roof',
               short_name [;
                       if (player in stables) {
                               print "stables"; return true;
                       }
                       else
                               print "roof"; return true;
               ],
               description [;
                       if (player in stalls)
                               "The roof is rotten and layered heavily with snow.";
                       if (player in stables) {
                       switch(time_shadow.current_time) {
                               3:
                                       if (self.horse_seen == false) {
                                       self.horse_seen = true;
                                       give horse_stall ~concealed;
                                       give horse ~concealed;
                                       "No. You were wrong. Not all the horses starved. Some tried to
                                       escape. The gates are mashed and torn, but none of the horses
                                       were strong enough to break out. Their hooves are bloody and
                                       raw: their heads soft with bruises.
                                       ^^Wait. One still moves. She is sore and thin, but she lives.";
                                       }
                                       else
                                       "Not all the horses starved. Some tried to
                                       escape. The gates are mashed and torn, but none of the horses
                                       were strong enough to break out. Their hooves are bloody and
                                       raw: their heads soft with bruises.";
                               default:
                               "Not all the horses starved. Some tried to
                                                                       escape. The gates are mashed and torn, but none
                                                                       of the horses
                                                                       were strong enough to break out. Their hooves
                                                                       are bloody and
                                       raw: their heads soft with bruises.";
                       }
                       }
               ],
               react_before [;
                       Examine:
                               return false;
                       default:
                               if (player in stalls && (noun == horse || second == horse))
                                       "Perhaps you should get down from the roof first.";
               ],
               before [;
                       Feed:
                               "As far as you can tell, the horses are dead.";
                       Smell:
                               "The sweat of panic is a different kind of sweat. The maddened
                               horses reek of it. The cold has staved off their rot somewhat, but
                               even now, it creeps through the air.";
                       Search:
                               <<Examine self>>;
                       Open:
                               "The gates are smashed and stuck. The horses jammed them in their
                               frenzy.";
                       Enter:
                               "The gates are stuck.";
                       Climb,GetOff:
                               <<Climb ladder>>;
               ],
               found_in stables,
               horse_seen false,
has             scenery pluralname supporter;


Object  horse_stall "stall"
with    name 'gate' 'stall' 'door',
               description "The stall is undamaged. Well, no more damaged than anything
               else at the monastery.",
               before [;
                       Enter:
                               "There is no reason to.";
                       Climb,GetOff:
                               <<Climb ladder>>;
               ],
               after [;

                       Open:
                               if (horse.fed == false) {
                                       deadflag = true;
                                       "The horse, with vitality born of starvation, bolts towards the
                                       hay as soon as
                                       you unlatch the gate. She knocks you to the ground with her
                                       head, which isn't so bad.
                                       ^^It's her hooves on your neck that are.";
                               }

                               if (francis.stable_prayed == true || cecilia.stable_prayed == true)
                               {
                                       horse.released = true;
                                       "Free from the stall, the horse comes and nuzzles you blankly.";
                               }
                               if (horse.beaten == true) {
                                       horse.released = true;
                                       "Subdued, the horse limps over to your side, head down.";
                               }
                               if (francis.stable_prayed == false && cecilia.stable_prayed ==
                               false) {
                                       horse.released = true;
                                       "The horse eyes you as you open her stall, but makes no move to
                                       leave.";
                               }

               ],
has             scenery openable concealed;

Object  horse "horse"
with    name 'horse' 'filly' 'philly' 'mare',
               description [;
                       if (self.fed == false)
                               "The horse stares at the bale of hay with wild eyes and scrapes at
                               the ground with her hooves.";
                       if (self.fed == true && self.beaten == true)
                               "The horse stands, head down.";
                       if (self.fed == true && (francis.stable_prayed == false && cecilia.
                       stable_prayed == false))
                               "Her hunger satiated, the horse eyes you skittishly.";
                       if (self.fed == true && (francis.stable_prayed == true || cecilia.
                       stable_prayed == true));
                               "The horse nuzzles up against you, eyes blank.";
               ],
               initial [;
                       if (self.fed == false)
                               "The horse stares at the bale of hay with wild eyes and scrapes at
                               the ground with her hooves.";

                       if (self.fed == true && self.beaten == true)
                               "The horse stands, head down.";

                       if (self.fed == true && (francis.stable_prayed == false && cecilia.
                       stable_prayed == false))
                               "Her hunger satiated, the horse eyes you skittishly.";
                       if (player in stalls)
                               "The horse watches you quizzically.";
                       if (self.fed == true && (francis.stable_prayed == true ||
                       cecilia.stable_prayed == true));
                               "The horse nuzzles up against you, eyes blank.";

               ],
               before [;
                       Take,Push,Pull:
                               if (francis.stable_prayed == false && cecilia.stable_prayed ==
                               false && self.beaten == false)
                               "She is wild; she must be tamed.";
                               else
                               "Just walk, she will follow you.";
                       TalkTo:
                               if (francis.stable_prayed == false && cecilia.stable_prayed ==
                               false)
                                       "She whips her head and huffs at you.";
                               else
                                       QuoteFrom(psalms33_17);
                                       "She whinnies playfully.";
                       Examine:
                               if (stalls.horse_seen == false)
                                       <<Examine stalls>>;
                               else
                                       return false;
                       Smell:
                               "She reeks of sweat and sickness.";
                       Feed:
                               if (hay notin location or player)
                                       "You have nothing to feed her.";
                               else
                                       self.fed = true;
                                       stalls.horse_seen = true;
                                       remove hay;
                                       "The horse hastily starts chomping at the hay. Within moments,
                                       the entire bale is gone.";
                       Pet,Touch,Rub:
                               if (francis.stable_prayed == true || cecilia.stable_prayed == true)
                               "The horse nuzzles up against you, eyes blank.";
                               else
                               "The horse whips her head at your touch.";
                       Attack,Kill,Push,Pull:
                               if (location == stables && self.beaten == false) {
                                       sin_shadow.middle = true;
                                       self.beaten = true;
                                       "Raising your hand, you strike the horse across the muzzle. She
                                       flinches but stands defiant. Not to be thwarted by a dumb mule,
                                       you ball your hand into a fist and wail into her a few more
                                       times. It takes several minutes, but soon she is broken and
                                       subdued.";
                               }
                               if (location == pass) {
                                       sin_shadow.middle = true;
                                       remove horse;
                                       move dead_horse to pass;
                                       "Slowly, trying not to alarm her, you bend down and grab the
                                       largest rock you can pick up. Then, with as much force as you
                                       can muster, you slam the rock into her head. She looks up at you
                                       in a blank stare before crashing to the ground.";
                               }
                               else
                                       "There is no need.";
                       Enter:


                               if (location == pass){
                                       deadflag = true;
                                       "Not wanting to find out what the noise is, you get back on the
                                       horse and urge her on to the monastery.
                                       ^^The noise continues to grow. You look up and see the side of
                                       the mountain sliding down in a massive avalanche. You spur the
                                       horse on, but she isn't fast enough.
                                       ^^The roar of the snow is not the last sound you hear. Who knew
                                       horses could scream?";
                               }
                               if (location == river){
                                       move horse to pass;
                                       print "There is nothing more to do, and so you climb back upon
                                       the horse, and urge her back to Saint Cuthbert's.
                                       ^^Just as the monastery comes into view, a sound echoes
                                       throughout the hills. A crisp, clean sound. Rock on rock.^";
                                       PlayerTo(pass);
                                       return true;

                               }

                               if (location == gate) {
                                       move lucca_dead to river;
                                       statusbar_right = "Prime";
                                       time_shadow.current_time = 4;
                                       print "Climbing atop the horse, you drive your heels into her
                                       sides.
                                       She whinnies, but remains calm as she takes off to the south.
                                       ^^After what seems like hours, you reach a small creek. Or at
                                       least it used to be a small creek. The few hours of sunlight
                                       have melted the snow enough that it is now a raging torrent.^";
                                       PlayerTo(river);
                                       return true;

                               }
                               if (self.released == false)
                                       "You can't; she is trapped in her stall.";
                               if ((francis.stable_prayed == false && cecilia.stable_prayed ==
                               false) && self.beaten == false) {
                                       deadflag = true;
                                       "The moment you touch her, she goes wild. The last thing you see
                                       is a flurry of hooves before you are knocked to the ground and
                                       trampled.
                                       ^^When they find you, you are little more than a bloody smear in
                                       the snow.";
                               }
                               if (location == stables)
                                       "The stables aren't suitable for riding. Perhaps you should go
                                       somewhere more suitable.";
                               if (location ~= gate)
                                       "Perhaps you should go somewhere more suited to riding.";

                       Drop:
                               <<Open horse_stall>>;
               ],
               life [;
                       TalkTo,Ask,Tell,Answer:
                               if (francis.stable_prayed == false && cecilia.stable_prayed ==
                               false)
                                       "She whips her head and huffs at you.";
                               else
                                       QuoteFrom(psalms33_17);
                                       "She whinnies playfully.";

                       Give:
                               if (noun == hay) {
                                       self.fed = true;
                                       remove hay;
                                       "The horse hastily starts chomping at the hay. Within moments,
                                       the entire bale is gone.";
                               }
                               else
                                       return false;
               ],
               fed false,
               released false,
               following false,
               beaten false,
has             animate female enterable concealed;



Object  hay "hay"
with    name 'hay' 'bale' 'of' 'straw' 'grass' 'food',
               article "some",
               initial "A bale of hay sits just slightly more than neck's length from the
               horses' stalls.",
               description "It is mouldy and damp, but it does not appear to be rotten.",
               before [;
                       Eat:
                               "You're not that hungry.";
                       Attack:
                               <<Sleep>>;
               ],

has             ;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Garden
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    garden "Garden"
class   Outside_Room,
with    description [;
                       switch(time_shadow.current_time) {
                       3:
                       "These gardens used to provide most of the food for the entire monastery.
                       Now, none. A few black stalks poke through the snow, their appearance
                       always perfectly predicted by the rows they were planted in. The
                       wilderness is stronger here: twisted briars block all paths but the one
                       southwest, back to the stables.";
                       default:
                       "These gardens used to provide most of the food for the entire monastery.
                       Now, none. A few black stalks poke through the snow, their appearance
                       always perfectly predicted by the rows they were planted in. The
                       wilderness is stronger here: twisted briars overrun the garden. The
                       stables lie back to the southwest.";
                       }
               ],
               sw_to stables,
               n_to [;
                       if (time_shadow.current_time == 3)
                               "The briars hold you back and strike out with little nicks as
                               punishment
                       for disturbing them.";
                       else
                       return clearing;
               ],
               cant_go [;
                       "The briars hold you back and strike out with little nicks in retribution
                       for disturbing them.";
               ],
               each_turn [;
                       if (clearing hasnt visited && time_shadow.current_time >= 5)
                               "^A garbled bleat rises through the hole in the briars.";
               ],
               before [;
                       Listen:
                               if (clearing hasnt visited && time_shadow.current_time >= 5)
                                       "A terrified bleat. It grows weaker as times goes on.";
               ],
has             ;

Object  stalks "dead plants"
with    name 'stalk' 'stalks' 'row' 'rows' 'plant' 'plants' 'black' 'dead' 'crop'
'crops' 'garden' 'gardens',
               description "Once upon a time, this was food. Now the rot has taken its
               hold.",
               before [;
                       Take:
                               "The blackened stalk crumbles in your hand.";
               ],
               found_in garden,
has             scenery pluralname;

Object  briars "briars"
with    name 'twisted' 'briar' 'briars' 'bramble' 'brambles' 'vine' 'vines' 'hole'
'opening' 'brush',
               describe [;
                       if (time_shadow.current_time == 3)
                               return true;
                       if (location == garden)
                               "^A hole has been cut through the briars to the north.";
                       else
                               "^The hole through the briars leads back south.";
               ],
               description [;
                       switch(time_shadow.current_time) {
                       3:
                       if (drogo4 in garden)
                       "The briars tumble over themselves in a frantic race to overtake
                       the garden. They are all winning: the garden is overrun.
                       ^^Flashes of yellow dart about in the darkness. Eyes.";
                       else
                       "The briars tumble over themselves in a frantic race to overtake
                       the garden. They are all winning: the garden is overrun.";
                       default:
                       if (location == garden)
                       "A hole no larger than a man has been cut through the briars, leading to
                       the north.";
                       else
                       "The hole leads back to the south.";
               }
               ],
               before [;
                       Search:
                               if (time_shadow.current_time == 3)
                                       "Shapes dart around in the darkness. Large shapes. Fast
                                       shapes.";
                               else
                                       "Nothing but thorns and branches.";
                       Take,Touch:
                               "Ouch!  Winter rot has done nothing to dull their thorns.";
                       Enter:
                               if (time_shadow.current_time == 3)
                                       "Ouch!  Winter rot has done nothing to dull their thorns.";

                               if (location == garden)
                                       <<Go n_obj>>;
                               else
                                       <<Go s_obj>>;

               ],
               found_in garden clearing,
has             static pluralname;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!CLEARING
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    clearing "Clearing"
class   Outside_Room
with    initial [;
                       if (self has visited)
                               "Bowing your head through the brush, you enter the clearing.";
                       else
                               move drogo_wolves to all_hints;
                               StartDaemon(wolves);
                               "Bowing your head through the brush, you enter a clearing.";
               ],

               description "A small patch of snow surrounded by briars. This used to be
               part of the garden; now nature has reclaimed it. The belltower rises out of
               the briars: a small hint of civilization in the wild.",
               s_to garden,
               out_to [;
                       <<Go s_obj>>;
               ],
has             ;

Object  wolves "wolves"
with    name 'wolf' 'wolves' 'dog' 'dogs' 'alpha' 'pack',
               initial [;
                       if (player in stalls)
                               "The wolves prowl around the stables, every once in a while
                               attempting a little leap up the sides.";
                       if (location == garden)
                               "The wolves bound in from the north.";
                       if (location == stables)
                               "The wolves are getting closer. The alpha nips at your heels,
                               attempting to drag you down.";

               ],
               description [;
                               "The wolves are emaciated and full of mange. Their fur hangs in
                               loose grey tufts: pockets of fleas and disease.";
               ],
               daemon [;
                       switch(++(self.chasing)) {
                               1:
                                       give lamb ~concealed;
                                       QuoteFrom(matthew10_16);
                                       "^As you enter the clearing, you see what the bleat was. A lamb,
                                       no more than a few weeks old, is tied to a branch, struggling
                                       frantically. He cries out in terror as a pack of wolves encroach
                                       from the briars. They are hungry and confused. Do they go for
                                       the small, easy meat?  Or the larger, more difficult meat?
                                       ^^Just then, a shout from the belltower draws your attention.
                                       ~Yoohoo, father!~ You look up to see Drogo waving happily. ~You
                                       shouldn't have come: it's feeding time.~ -- he shrugs -- ~Oh
                                       well. Either way, they'll get fed.~  With that, he disappears
                                       down the stairs.";
                               2:
                                       if (lamb.tied == true)
                                       "^The alpha swings his head back and forth between you and the
                                       lamb. The others follow in unison.";
                                       else
                                       "^The wolves eye you and the lamb hungrily, uttering low, weak
                                       growls.";
                               3:
                                       if (lamb.tied == true)
                                       "^They have made their decision: you. Low growls ensue from all
                                       around as they approach.";
                                       else
                                       "^The wolves begin circling, almost cutting off your exit.";
                               4:
                                       deadflag = true;
                                       "^The alpha is the first to strike. He hits your leg, but he is
                                       so weak, you would barely feel it, if you weren't so weak
                                       yourself. A second strike to the back of your other leg sends
                                       you sprawling. You struggle to rise, but the rest of the pack
                                       leaps on you, smothering you in a blanket of mange and teeth.";

                       }
               ],
               life [;
                       Give:
                               if (noun ~= hare or lamb)
                                       return false;
                               if (noun == hare) {
                                       deadflag = true;
                                       "You toss the hare to the wolves, hoping to divert their
                                       attention. You don't. One immediately being gobbling up the
                                       hare, but the others set their eyes, and their teeth, on you.";
                               }

                               if (noun == lamb)
                                       deadflag = true;
                                       "You toss the lamb to the wolves, hoping to divert their
                                       attention. You don't. One immediately being gobbling up the
                                       lamb, but the others set their eyes, and their teeth, on you.
                                       ^^Your own bleats echo the lamb.";
                       ThrowAt:
                               if (noun ~= hare or lamb)
                                       return false;
                               if (noun == hare) {
                                       deadflag = true;
                                       "You toss the hare to the wolves, hoping to divert their
                                       attention. You don't. One immediately being gobbling up the
                                       hare, but the others set their eyes, and their teeth, on you.";
                               }
                               if (noun == lamb)
                                       deadflag = true;
                                       "You toss the lamb to the wolves, hoping to divert their
                                       attention. You don't. One immediately being gobbling up the
                                       lamb, but the others set their eyes, and their teeth, on you.
                                       ^^Your own bleats echo the lamb.";
               ],
               before [;
                       Attack,Kill:
                               deadflag = true;
                               "You strike out at the wolves, knocking one square in the snout. It
                               whimpers and slinks back. But the others don't. They pounce and tear
                               at your flesh leaving nothing but bones by the time they are
                               through.";
               ],
               react_before [;

                       Climb:
                               if (noun == ladder) {
                               if (player in stalls) {
                                       deadflag = true;
                                       "The moment you begin climbing down the ladder, one of the wolves
                                       leaps for your ankle. He barely grabs your frock, but it is
                                       enough to make you lose your balance. You fall into a churning
                                       sea of teeth and fur.
                                       ^^It swallows you up like all seas do.";
                               }
                               if (location ~= stables)
                                       return false;
                               else
                                       self.in_stables = true;
                                       print "Scrambling frantically, you hurl yourself up the ladder.
                                       The alpha grabs your heel, but you shake vigorously enough to
                                       send him flailing off into a snow bank. Soon, the wolves regroup
                                       and prowl around the base of the stables, eyeing you hungrily.^";
                                       PlayerTo(stalls);
                                       return true;
                               }
                       Go:
                               if (location == garden && noun == n_obj) {
                               deadflag = true;
                               "You run right into the waiting mouths of the wolves.
                               ^^The alpha is the first to strike. He hits your leg, but he is
                                       so weak, you would barely feel it, if you weren't so weak
                                       yourself. A second strike to the back of your other leg sends
                                       you sprawling. You struggle to rise, but the rest of the pack
                                       leaps on you, smothering you in a blanket of mange and teeth.";
                               }
                               if (location == stables && noun == ne_obj) {
                               deadflag = true;
                               "You run right into the waiting mouths of the wolves.
                               ^^The alpha is the first to strike. He hits your leg, but he is
                                       so weak, you would barely feel it, if you weren't so weak
                                       yourself. A second strike to the back of your other leg sends
                                       you sprawling. You struggle to rise, but the rest of the pack
                                       leaps on you, smothering you in a blanket of mange and teeth.";
                               }
                               if (noun == s_obj && wolves notin garden) {
                               give self ~concealed;
                               move wolves to garden;
                               StopDaemon(self);
                               print "The chase is on. The wolves tear after you through the
                               briars.^";
                               return false;
                               }
                               if (noun == sw_obj && wolves notin stables) {
                               move wolves to stables;
                               print "The wolves trample through the garden after you, snow flying
                               up in their wake. You pant and your legs burn with exhaustion.^";
                               return false;
                               }
                               if (noun == w_obj && location == stables) {
                               deadflag = true;
                               "Your age, and the wolves, catch up with you. Stumbling, you
                               scramble to retain your speed, but it is of no use. The alpha
                               latches on to your heel, dragging you to the ground. The rest soon
                               follow, smothering you in a blanket of mange and teeth.";
                               }
                               else
                               return false;

               ],
               each_turn [;
                       if (location == garden && self.in_garden == false) {
                       deadflag = true;
                                       "^The alpha is the first to strike. He hits your leg, but he is
                                       so weak, you would barely feel it, if you weren't so weak
                                       yourself. A second strike to the back of your other leg sends
                                       you sprawling. You struggle to rise, but the rest of the pack
                                       leaps on you, smothering you in a blanket of mange and teeth.";
                                       }
                       if (location == stables && self.in_stables == false) {
                       deadflag = true;
                                       "^The alpha is the first to strike. He hits your leg, but he is
                                       so weak, you would barely feel it, if you weren't so weak
                                       yourself. A second strike to the back of your other leg sends
                                       you sprawling. You struggle to rise, but the rest of the pack
                                       leaps on you, smothering you in a blanket of mange and teeth.";
                       }
               ],
               in_garden false,
               in_stables false,
               chasing 0,
has             pluralname animate concealed;

Object  lamb "lamb"
with    name 'lamb' 'ewe' 'sheep' 'baby' 'branch',
               initial "The lamb struggles against the branch.",
               description [;
                       if (self.tied == true)
                       "The lamb strains against the branch, but he is far too weak to escape on
                       his own.";
                       else
                       "The lamb shakes with cold and terror, struggling against your grip.";
               ],

               before [;
                       Take:
                               if (wolves in clearing) {

                               if (self.tied == false)
                               return false;
                               else
                               move lamb to player;
                               self.tied = false;
                               "Darting quickly, you tear the lamb from the branch and clutch him to
                               your chest. His quivering shakes your bones.";
                               }
                               else
                               remove lamb;
                               "You free the lamb from its trap. It runs off into the brush, still
                               shaking.";
                       Drop:
                               if (self.tied == true) {
                               if (wolves in location) {
                               move lamb to player;
                               self.tied = false;
                               "Darting quickly, you tear the lamb from the branch and clutch him to
                               your chest. His quivering shakes your bones.";
                               }
                               else
                               remove lamb;
                               "You free the lamb from its trap. It runs off into the brush, still
                               shaking.";
                               }
                               if (lamb.tied == false) {
                                       deadflag = true;
                                       "You toss the lamb to the wolves, hoping to divert their
                                       attention. You don't. One immediately being gobbling up the
                                       lamb, but the others set their eyes, and their teeth, on you.
                                       ^^Your own bleats echo the lamb.";
                               }
                               else
                               return false;

               ],
               tied true,
has             animate concealed;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!GATE
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    gate "Gate"
class   Outside_Room,
with    initial [;
                       if (self hasnt visited)
                               QuoteFrom(nehemiah1_3);
               ],
               description [;
                       if (self hasnt visited)
                               "Lightning has torn through the gate, leaving only dark, broken rocks
                               in its place. Black scorch marks twist their way
                               through the rubble: stone
                               crumbs are all that remain in some places. The snow is caked in
                               soot: usually it would be lined with many footsteps, now only a few
                               disturb the inky darkness. The snow covered path winds its way back
                               north to the monastery and
                               south towards Rovato.";
                       else
                               "Broken stone and snow are all that remain here. A north-south path
                               with but a few footsteps
                               can be picked out through the rubble leading from the monastery
                               towards Rovato.";
               ],
               before [;
                       Dig:
                               if (noun == nothing)
                                       <<Dig gate_bodies>>;
                       Smell:
                               if (noun == nothing)
                                       "Death and fire.";
               ],
               n_to path,
               s_to "The fallen snow is too thick. You would not make it far on foot.",
               out_to [;
                       <<Go s_obj>>;
               ],
has             ;

Object  gate_object "gate"
with    name 'gate' 'door' 'rubble' 'stone' 'ruin' 'ruins' 'stones' 'rock' 'rocks',
               description "It is little more than scorched and broken rocks. What once
               protected Saint Cuthbert's couldn't protect itself. Funny how that works.",
               before [;
                       Search:
                               "Nothing but black, lightning-charred rock.";
                       default:
                               "It is only a heap of stones now.";
               ],
               found_in gate,
has             scenery;

Object  footprints "footprints"
with    name 'foot' 'print' 'prints' 'step' 'steps' 'footprints' 'footprint'
'footstep' 'footsteps' 'snow' 'soot' 'melted' 'hole' 'holes' 'track' 'tracks'
'scorch' 'mark' 'marks',
               description
               "There are two sets: one that goes both in and out, and another
               that only goes out. Mingled among them is a strange pattern in the snow. It
               looks as though someone was using two hot pokers as walking sticks, one in
               each hand. The melted holes cut through the snow, revealing scorch marks on
               the dead grass beneath.",
               before [;
                       Dig,Push,Pull,Open:
                               if (location == gate)
                               <<Dig>>;
               ],
               found_in gate path,
has             scenery pluralname;

Object  gate_bodies
with
               short_name [;
                       if (self.dug == false) {
                               print "mounds";
                               return true;
                       }
                       else
                               print "bodies";
                               return true;
               ],
               name 'body' 'bodies' 'villager' 'villagers' 'lumps' 'lump' 'mound' 'mounds'
'strange' 'corpse' 'corpses' 'dead' 'young' 'icy' 'woman' 'face',
               initial [;
                       if (self.dug == false)
                               "A series of strange mounds line the southern side of where the gate
                               used to be.";
                       else
                               "A tangled mass of corpses lines the southern side of the former
                               gate.";
               ],
               description [;
                       if (self.dug == false)
                               "They are misshapen: uneven. You cannot tell what they are beneath
                               the snow.";
                       else
                               "Dozens of bodies line the wall: the villagers of Rovato.";
               ],

               before [;
                       Eat:
                               if (self.dug == false)
                               "The snow is gritty and vile.";
                               else
                               QuoteFrom(leviticus26_29);
                               sin_shadow.evil = true;
                               "The flesh is hard. Your teeth grind upon it, eventually releasing a
                               tiny lump of plague-ridden muscle. You chew. It tastes delicious
                               nonetheless.";
                       PrayFor:
                               "It's your fault. A prayer is little consolation.";
                       Search:
                               <<Dig self>>;

                       Take,Push,Open,Push,Pull:
                       if (self.dug == true)
                               "The bodies are frozen together in a heap of flesh and ice.";
                       else
                               <<Dig self>>;
                       Smell:
                               "Sickness. The cold has staved off the rot, but the smell of disease
                               is not so easily defeated.";
                       Dig:
                               if (self.dug == false) {
                               QuoteFrom(isaiah1_6);
                               self.dug = true;
                               "Shoveling through the snow with frostbitten hands, you eventually
                               strike a rock.
                               ^^No. Not a rock. You push back the rest of the snow to uncover
                               the icy, stone-hard face of a young woman. She has only two colors:
                               black and white. Plague colors.";
                               }
                               else
                               "You think you know what is in the rest of the mounds.";
               ],
               dug false,
               found_in gate,
has             pluralname static;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!RIVER
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    river "River"
class   Outside_Room,
with
               initial [;
                       move at_the_river to all_hints;
               ],
               description "The sound is deafening as the river to the south crashes its way
through
jagged stones. White plumes of water explode off the rocks, soaking through your
already damp frock.",
               before [;
                       Listen:
                               if (noun == nothing)
                                       "The river screams as it flies downstream. It stings your
                                       ears.";
                               else
                                       "The rush of water, nothing else.";
                       Swim:
                               deadflag = true;
                               "You attempt to swim across the river. At first, all is going
                       well, until a large chunk of ice slams itself into your back. You flail,
                       grabbing at anything that will hold you.
                       ^^Nothing does.";
               ],
               n_to [;
                       <<Enter horse>>;
               ],
               s_to [;
                       deadflag = true;
                       "You attempt to pick your way across the rocks. At first, all is going
                       well, until a large chunk of ice slams itself into your back. You flail,
                       grabbing at anything that will hold you.
                       ^^Nothing does.";
               ],
has             ;

Object  river_footprints "footprints"
with    name 'foot' 'print' 'prints' 'step' 'steps' 'footprints' 'footprint'
'footstep' 'footsteps' 'snow' 'track' 'tracks' 'blood' 'bloody' 'stain',
               initial "The tracks end here in a bloody stain upon the snow.",
               description "The tracks, orderly one-two steps before, are now a tangled
               mash leading into the river. The snow is dirty and soaked with blood.",
               before [;
                       Examine:
                       return false;
                       Take:
                        <<Take snow>>;
                        default:
                        "It is little more than blood and snow. There is nothing you can do.";
               ],
               found_in river,
has             static;

Object  water "river"
with    name 'water' 'river' 'creek' 'stream' 'torrent' 'raging',
               description [;
               if (lucca_dead.on_land == true || lucca_dead notin river)
               "White and blue. Its wrath is awe-inspiring. The river tears at
               the rocks, and its roar tears at your ears.";
               else
               "White and blue. Its wrath is awe-inspiring. The river tears at
               the rocks, and its roar tears at your ears.
               ^^A little downstream is a sack filled with straw. No, not a sack: something
               else.";
               ],
               before [;
                       Enter:
                               <<Go s_obj>>;
               ],
               found_in river,
has             scenery;

Lucca   lucca_dead
with    short_name [;
                       if (self.examined == false) {
                               print "thing"; rtrue;}
                       else
                               print "Lucca"; rtrue;
               ],
               name 'thing' 'sack' 'something' 'straw' 'lucca' 'body' 'corpse',
               initial [;
                       if (self.on_land == true)
                               "Lucca's body rests in the snow.";
                       else
                               "Lucca stares up at you, his eyes as cold as the water around them.";
               ],
               description [;
                       if (self.on_land == true)
                               "You touch the body briefly and feel his bones ground to meal inside.
                               He is soft and bruised from the fury of the water. But the deep,
                               sharp wound in his back looks more like a knife wound than anything
                               done by nature. Oh, Lucca.";
                       if (self.examined == false)
                               "The thing flaps in the water: it looks to be burlap with a shock of
                               straw sprouting from the top. Getting a little closer, you see what
                               it actually is.
                               ^^Lucca. His mouth is agape: frozen. Blood wells up from inside and
                               mingles with the water as it flows by, adding a little color to the
                               white and blue.";
                       else
                               "Lucca stares up at you, his eyes as cold as the water around them.";
               ],
               react_before [;
                       Ask,Tell,Answer:
                               if (noun == self)
                               "Dead men tell no tales.";
               ],
               before [;
                       Eat:
                               QuoteFrom(leviticus26_29);
                               sin_shadow.evil = true;
                               "His flesh is soft from being thrown about in the river: like it had
                               been tenderized with a mallet. You dig your teeth into the side of
                               his stomach. The blood is cool, but it slakes your thirst like never
                               before.";

                       PrayFor:
                               "Poor Lucca. Your prayer rides the wind up to Heaven.";
                       Bury:
                               "The ground is far too hard.";
                       TalkTo:
                               if (self.on_land == false) {
                                       print "You cannot hear with ", (the) self, " in the river.^";
                                       return true;
                               }
                               else
                                       switch((self.dead_talking)++) {
                                       0:
                                       QuoteFrom(lucca_dead_quote1);
                                       "The roar of the river is the only answer.";

                                       1:
                                       QuoteFrom(lucca_dead_quote2);
                                       "The roar of the river is the only answer.";

                                       2:
                                       QuoteFrom(lucca_dead_quote3);
                                       "The roar of the river is the only answer.";

                                       default:
                                       "The roar of the river is the only answer.";


                                       }
                       Search:
                               if (self.on_land == false) {
                                       <Examine self>;
                                       "^You'll have to pull him to shore before you can search him.";
                               }
                               if (lucca_paper has moved)
                                       <<Examine self>>;

                               else
                                       move lucca_paper to player;
                                       <Examine self>;
                                       "^Digging through his frock, you find a rough piece of paper. It
                                       is wet, but holds together as you pull it out.";

                       Smell:
                               "Clean and cold.";
                       Examine:
                               if (self.examined == false && self.on_land == false) {
                               give self proper;
                                                               give self ~concealed;
                               self.examined = true;
                               "The thing flaps in the water: it looks to be burlap with a shock of
                               straw sprouting from the top. Getting a little closer, you see how
                               wrong you were.
                               ^^Lucca. His mouth is agape: frozen. Blood wells up from inside and
                               mingles with the water as it flows by, adding a little color to the
                               white and blue.";
                               }
                               else
                               return false;

                       Take,Pull:
                               if (self.on_land == false) {
                               give self ~concealed;
                               self.on_land = true;
                               print "Careful not to slip, you drag ", (the) self, " up the bank.^";
                               return true;
                               }
                               else
                               "There is nothing more you can do.";
                       Push:
                               remove self;
                               "Kicking off with your foot, you send the corpse drifting down the
                               river.";
               ],
               examined false,
               dead_talking 0,
               on_land false,
has             concealed;

Object  lucca_paper "Lucca's paper"
with    name 'piece' 'of' 'paper' 'lucca^s',
               description [;
                       print "On the front, written in ink:";
                       style underline;
                       print "^^I have tried praying, but my thoughts still torment me. No one
                       listens!  So I will write. They always say God sees everything, but
                       maybe he just doesn't hear everything.
                       ^^I don't know what to do. Matteo tells me something strange is going
                       on, but he can't tell me what. No, he won't tell me what. He's afraid
                       of
                       endangering me. Or he doesn't care. I can't tell with him anymore.
                       ^^He doesn't care about anything anymore.
                       ^^He says not to trust anyone. I wonder if that applies to him as well.
                       He has changed; he never kept secrets before. He says not to trust even
                       the father. He says he has changed the most.";
                       style roman;
                       print "^^And on the back, written in blood:";
                       style underline;
                       print "^^Matteo is dead. And he was right. Everyone has changed.^";
               ],
has             legible proper;



Object  river_rocks "rocks"
with    name 'rock' 'rocks' 'stone' 'stones' 'jagged',
               description "Sharp and slippery.",
               before [;
                       Enter:
                       deadflag = true;
                       "You attempt to pick your way across the rocks. At first, all is going
                       well, until a large chunk of ice slams itself into your back. You flail,
                       grabbing at anything that will hold you.
                       ^^Nothing does.";
               ],
               found_in river,
has             scenery;


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!PASS
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Room    pass "Mountain Pass"
class   Outside_Room,
with    initial [;
                       StartDaemon(self);
               ],
               description [;
                       switch(self.avalanche) {
                       0,1,2,3:
                       "Still. The wind has all but stopped. Steep, white hills tower
on both sides, blocking you in. The monastery looms in the north.";
                       4,5,6:
                               "The wind has all but stopped. Steep, white hills tower
on both sides, blocking you in. The monastery looms in the north.";
                       default:
                               "Despite the avalanche, very little has changed. When all there is
                               is snow and it moves, it is hard to tell. The monastery lies to the
                               north.";
                       }
               ],
               before [;
                       Listen:
                               if (figure.found == false) {
                               give figure ~concealed;
                               figure.found = true;
                               "The sound continues. It is difficult to place: with the echo, it
                               could be anywhere.
                               ^^Glancing around, you find the source, a dark shape high on the hill
                               amongst some rocks. It is moving.";
                               }
                               else
                               "The sound continues, getting louder.";
                       Hide:
                               if (dead_horse notin self)
                                       "There is nowhere to hide.";
                               else
                                       self.hiding = true;
                                       "You crouch behind the dead horse and curl yourself into a
                                       ball.";
               ],

               daemon [;
                       switch(++(self.avalanche)) {
                               2:
                                       "^The sound gets louder.";
                               3:
                                       "^The cracking sound is joined another: a more diffuse sound. A
                                       rumble.";
                               4:
                                       if (dead_horse notin self) {
                                       move moving_avalanche to pass;
                                       remove horse;
                                       "^The rumble turns to a roar. Waves of snow begin coasting down
                                       the hill in an avalanche.
                                       ^^The horse snaps out of its stupor, ears shooting up. Before
                                       you can move, she bolts off down the pass.";
                                       }
                                       else
                                       "^The rumble turns to a roar. Waves of snow begin coasting down
                                       the hill in an avalanche.";
                               5:
                                       "^Trees are snapped like twigs, joining the slide.";
                               6:
                                       if (medard.pass_prayed == false && cecilia.pass_prayed == false
                                       && self.hiding == false) {
                                       QuoteFrom(avalanche_quote);
                                       "^It is here.";
                                       }
                                       else
                                       "^It is here.";
                               7:
                                       if (medard.pass_prayed == true || cecilia.pass_prayed == true) {
                                       remove moving_avalanche;
                                       "^Just a few feet from your head, the wave of snow splits in two,
                                       passing to either side of you.
                                       ^^The rush lasts only a few more seconds before dwindling, and
                                       when it stops, you are shaken but unharmed.";
                                       }
                                       if (self.hiding == true) {
                                       remove moving_avalanche;
                                       "^The waves of snow pass over you, but luckily the horse's body
                                       shields you from the brunt of the impact. Her residual warmth is
                                       just enough to carry you through to the top of the snow once the
                                       avalanche has passed.";
                                       }
                                       else

                                       deadflag = true;
                                       "^Waves of snow consume you, crushing the air from your lungs.
                                       You would fight, but the cold is so intense you cannot move.
                                       ^^How can something so white look so black?";
                       }
               ],
               avalanche 0,
               hiding false,
               n_to [;
                       if (self.avalanche < 7)
                               "You run north a little ways, but it does little good. The avalanche
                               still approaches.";
                       else
                               give briars ~concealed;
                               move drogo_wolves1 to clearing;
                               move wolves to clearing;
                               move lamb to clearing;
                               move cellar_key to constantin5;
                               move constantin5 to constantin_room;
                               move tool_snow to outside_calefactory;
                               remove hidden_wolves;
                               remove drogo4;
                               remove constantin3;
                               statusbar_right = "Terce";
                               time_shadow.current_time = 5;
                               print "With the avalanche over and the horse gone, you have no choice
                               but to make it back to the monastery on foot.
                               ^^You don't know how long it takes. All you know is now the sky has
                               clouded over, and drifts of snow make their way down from above.^";
                               PlayerTo(gate);
                               return true;
               ],
               u_to [;
                       "The sides are far too steep.";
               ],
has             ;

Object  hills "hills"
with    name 'hill' 'hills' 'mountain' 'mountains',
               before [;
                       Examine:
                               if (figure.found == false) {
                               give figure ~concealed;
                               figure.found = true;
                               "You scan the hills, searching for the source of the noise.
                               ^^You find it: a dark figure amongst some rocks high up in the pass.
                               It is moving.";
                               }
                               else
                               "The hills tower above you.";

                       Listen:
                               if (figure.found == false) {
                               give figure ~concealed;
                               figure.found = true;
                               "The sound continues. It is difficult to place: with the echo, it
                               could be anywhere.
                               ^^Glancing around, you find the source, a dark shape high on the hill
                               amongst some rocks. It is moving.";
                               }
                               else
                               "The sound continues, getting louder.";
                       default:
                               "Not from here.";
               ],
               found_in pass,
has             scenery;

Object  figure "figure"
with    name 'figure' 'dark' 'shape' 'man' 'brother',
               initial [;
                       if (pass.avalanche < 7)
                       "The figure moves rapidly. Black against white.";
                       else
                       "The figure is gone.";
               ],
               description "You can't make anything out from here.",
               before [;
                       Examine:
                       if (pass.avalanche < 7)
                                                       "The figure moves rapidly. Black against white.";
                                                       else
                       "The figure is gone.";
                       default:
                               "It is too far away.";
               ],
               found false,
               found_in pass,
has             concealed;

Object  dead_horse "dead horse"
with    name 'dead' 'horse',
               description "The horse lies still upon the ground, blood oozing through the
               wound you inflicted.",
               initial "The horse lies still upon the ground, blood oozing through the wound
               you inflicted.",
               before [;
                       Smell:
                               "Same as before, with a hint of terror sweat.";
                       Attack:
                               "There is no sense in beating a dead horse.";
               ],
has             female;

Object  moving_avalanche "avalanche"
with    name 'avalanche' 'snow' 'slide' 'snowslide',
               description "The avalanche goes larger and larger, snapping up trees and
               stones to join in its ride.",
               before [;
                       Examine,Listen:
                               return false;
                       default:
                               "Better not.";
               ],
has             scenery;



!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!NPCS
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Cecilia
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Cecilia_class   cecilia1
with    short_name [;
                       if (self.talking_angel == 0) {
                               print "girl"; return true; }
                       else
                               print "Cecilia"; return true;
               ],
               name 'girl' 'cecilia' 'young' 'woman' 'lady',
               initial [;
                       switch(time_shadow.current_time) {
                               0:
                               "The girl sleeps upon the bed, turning fitfully every now and
               then.";
                               1:
                               if (self.talking_angel >=2)
                               "The girl sleeps peacefully upon the bed, a heavenly glow upon her.";
                               else
                               "The girl sobs gently, head in her hands.";
               }
               ],
               description [;
                       switch(self.description_state) {
                               1: "The young girl lies comatose on the bed, her only movement the
                               occasional fit of shivering.";
                               2: "The young girl lies comatose on the bed. She shivers, but less
                               fitfully now with the warmth of the fire soothing her.";
                               3: "The filthy young girl now lies under a filthier blanket. Still,
                               by her calmer expression, it appears she prefers it to the cold.";
                               4: "With the fire going and a blanket around her, the girl almost
                               seems content.";
                               5: "With her hunger satiated and the cold driven from her bones, the
                               girl
                               finally seems content.";
                               6:
                               "The girl watches you through tear-ringed eyes.";
                       }
               ],
               each_turn [;

                       if (self.bedding_given == true && locutory_fireplace.lit == true && self.
                       food_given == true)
                               self.description_state = 5;
                       if (self.bedding_given == true)
                               self.description_state = 3;
                       if (locutory_fireplace.lit == true)
                               self.description_state = 2;
                       if (self.bedding_given == true && locutory_fireplace.lit == true && self.
                       warm_enough == false) {
                               self.warm_enough = true;
                               self.description_state = 4;
                               "^The warmth is finally enough for her to stir.
                                                                                               ^^~Food,~  she says. ~Please.~
                               ^^With that, she passes back into slumber.";

                       }
                       else
                               return false;
               ],
               before [;
                       Close:
                               if (your_bedding in player)
                                       <<Give your_bedding cecilia1>>;
                               else
                                       "You have nothing to cover her with.";
                       Smell:
                               QuoteFrom(kiss_cecilia_quote);
                               "Sweet. Delicious.
                               ^^Tempting.";
                       WakeOther:
                               if (self.woken == false)
                                       "You nudge her gently, but her slumber is too deep.";
                               else
                                       "There is no need.";
                       Listen:
                               if (time_shadow.current_time == 0)
                                       "Her breathing is shallow, but steady.";
                               else
                                       "She cries. Not a wail, but a gentle, defeated sob.";
                       Feed:
                               if (cecilia_food notin player)
                                       "You have nothing to feed her.";
                               else
                                       <<Give cecilia_food cecilia1>>;
                       Receive:
                               if (noun == your_frock)
                                       "Perhaps something that wouldn't leave you naked.";
                               if (noun == your_bedding) {
                                       move your_bedding to cecilia1;
                                       self.bedding_given = true;
                                       "You drape your bedding over the girl, and she seems to calm down
                                       a bit.";
                               }

                               else
                                       return false;
                       SleepWith,Enter:
                               if (self.woken == true)
                                       "The girl pushes you away.";
                               if (self.slept_with == true)
                                       "You have had enough.";
                               else
                                       QuoteFrom(sleepwith_cecilia_quote);
                                       sin_shadow.evil = true;
                                       self.slept_with = true;
                                       "With the girl comatose, you enter her. Before long, you have
                                       had your way and push her back on the bed, asleep.";
               ],
               life [;
                       WakeOther:
                               if (self.woken == false)
                                       "You nudge her gently, but her slumber is too deep.";
                               else
                                       "There is no need.";
                       Touch:
                               if (self.woken == true)
                               "She backs away from you.";
                               else
                               QuoteFrom(kiss_cecilia_quote);
                               "You touch her gently. She is soft. So soft.";
                       Kiss:
                               if (self.woken == true)
                               "She backs away from you.";
                               else
                               QuoteFrom(kiss_cecilia_quote);
                               "You kiss her gently. She is soft. So soft. She tastes good.";
                       Attack:
                               if (self.woken == false) {
                                       self.description_state = 6;
                                       self.woken = true;
                                       self.smacked = true;
                                       StartDaemon(self);
                                       "~Wake up!~ you snarl, striking the girl across the face. She
                                       groans. You strike her again, and she begins to stir.";
                               }
                               else
                                       "She is already awake.";
                       Give:
                               if (noun == your_frock)
                                       "Perhaps something that wouldn't leave you naked.";

                       if (noun == cecilia_food && self.woken == true)
                               "She gobbles down the food.";
                       if (noun == cecilia_food && self.woken == false) {
                                                               if (locutory_fireplace.lit == true && self.
                                                               bedding_given == true) {
                                                               remove cecilia_food;
                                                               self.description_state = 5;
                                                               self.food_given = true;
                                                               self.woken = true;
                                                               StartDaemon(self);
                                                               "~Here,~ you say, holding out the food. ~I have
                                                               brought you
                                                               something to eat.~
                                                               ^^Finally, the girl stirs awake and quickly grabs the
                                                               food from
                                                               your hands. ~Thank you,~ she says as she shoves the
                                                               food into
                                                               her mouth. Within moments, the few crumbs you had
                                                               given her are gone, and she finally seems content.";
                                                               }
                                                               else
                                                               "You try to prompt the girl awake with the food, but
                                                               her cold is
                                                               too great for her to stir.";
                               }
                       if (noun == your_bedding) {
                               move your_bedding to cecilia1;
                               self.bedding_given = true;
                               "You drape your bedding over the girl, and she seems to calm down
                                       a bit.";
                       }
               ],
               daemon [;
                       switch (++(self.bell_ringing)) {
                       2:
                       if (self.smacked == false) {
                       move neck_lump to misc_shadow;
                       statusbar_right = "Compline";
                       time_shadow.current_time = 1;
                       give flagstone ~concealed;
                       "^~Thank you for your kindness, father.~  She starts, extending her
                       hand for the pax. ~My name is Cec--~  Just then, her words are cut off by
                       the sound of a bell ringing in the distance. Her eyes widen and the
                       blood drains from her cheeks.
                       ^^~There's nothing to be afraid of,~ you say, taking her hand gently.
                       ~It is only the bell of Compline.~
                       ^^~That is why I am afraid.~ Her chin drops to her
                       chest.";
                       }
                       else
                       move neck_lump to misc_shadow;
                       statusbar_right = "Compline";
                       time_shadow.current_time = 1;
                       give flagstone ~concealed;
                       "^The girl looks up at you sadly, shaking her head. ~Oh, father,~ she
                       starts. Just then, her words are cut off by
                       the sound of a bell ringing in the distance. Her eyes widen and the
                       blood drains from her cheeks.
                       ^^~What are you afraid of?~ you snap.
                       ~It is only the bell of Compline.~
                       ^^~That is why I am afraid.~ Her chin drops to her
                       chest.";
                       3:
                       move tower_dead_body to tower;
                       move dead_body to belltower_bottom;
                       move drogo2 to belltower_bottom;
                       move constantin2 to belltower_bottom;
                       move ignatius2 to belltower_bottom;
                       move brothers_tower to belltower_bottom;
                       move lucca2 to belltower_bottom;
                       move hare to constantin_room;
                       remove matteo1;
                       remove drogo1;
                       remove constantin1;
                       remove constantin_tools;
                       remove ignatius1;
                       remove lucca1;
                       self.description_state = 6;
                       QuoteFrom(job27_9);
                       "^The bell continues its toll. Four. Five. Six... In place of the
                       seventh ring is a scream. A scream that rips in from the cloister and
                       silences the wind.
                       ^^The girl places her head in her hands with a slight sob. ~I am sorry,
                       Father.~  Then, turning. ~And to you
                       too.~";
                       4:
                       StopDaemon(self);

               }
               ],
               react_before [;
                       Go:
                               if (self.bell_ringing >= 1 && self.bell_ringing <= 2)
                                       "Not yet.";
                               else
                                       return false;
                       Enter:
                               if (noun == locutory_door) {
                               if (self.bell_ringing >= 1 && self.bell_ringing <= 2)
                                       "Not yet.";
                               else
                                       return false;
                               }
                               if (noun == locutory_bed && self.woken == true)
                                       "The girl pushes you from the bed.";
                               if (noun == locutory_bed && self.woken == false)
                                       <<SleepWith self>>;
               ],
               description_state 1,
               !1 = cold 2 = fire on 3 = bedding given 4 = bedding given fire on
               warm_enough false,
               bedding_given false,
               food_given false,
               woken false,
               smacked false,
               bell_ringing 0,
               slept_with false,
has             female transparent;

Cecilia_class   cecilia2 "Cecilia"
with    initial [;
                       if (self in entrance_hall)
                               "Cecilia watches from her doorway.";
                       else
                               "Cecilia paces back and forth.";
               ],
               description [;
                       "Sleep has done nothing to tame her beauty.";
               ],
               react_before [;
                       Go:
                               if (noun == n_obj && location == entrance_hall) {
                               move self to locutory;
                               print "Cecilia turns for the locutory.^";
                               return false;
                               }
                               else
                               return false;
               ],
has             ;

Object  cecilia_back "Cecilia's back"
with    pname 'cecilia^s' 'back' 'wing' 'wings' 'lump' 'lumps',
               description "Lumps protude from Cecilia's back.",
               before [;
                       Examine: return false;
                       default:
                               "Don't bother.";
               ],
               found_in [;
                       if (noun ofclass cecilia_class)
                               return true;
               ],
has             concealed;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Drogo
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Drogo   drogo1 "Brother Drogo"
with    name 'brother' 'drogo' 'man',

               initial [;
                       if (refectory hasnt visited)
                               "Brother Drogo sits at one of the tables, scratching furiously at its
                               hard surface.";
                       else
                               "Brother Drogo mumbles to himself, his eyes darting back and forth
                               from nothing to nothing.";
               ],
               description "Brother Drogo sits in a filthy frock, black tendrils of greasy
               hair dangling in his eyes. Every now and then, he puffs loudly to blow the
               hair out of his face, but it always falls back.",

               visitor_told false,
has             proper male;

Drogo   drogo2 "Brother Drogo"
with    description "Drogo briskly rubs his hands together, as though to ward off
frostbite. But his hands aren't cold. When he catches you looking at him, he
grins.",
               initial [;
                       if (brothers_tower notin belltower_bottom && self in belltower_bottom)
                               "Drogo grins at you.";
                       if (self.said_begins == false) {
                               self.said_begins = true;
                               "Drogo jumps up and down, rubbing his hands with glee. ~It begins,~
                               he squeals to you through a wide grin.";
                       }
                       else
                               print "";
               ],
               react_before [;
                       Go:
                               if (brothers_tower notin belltower_bottom && noun == ne_obj or u_obj
                               or sw_obj) {
                                       print "^~Sweet dreams, father!~ Drogo calls out to you as he
                                       disappears into the black.^";
                                       remove drogo2;
                                       return false;
                               }
                               else
                                       return false;
               ],

               said_begins false,
has             ;

Drogo   drogo3 "Drogo"
with    initial [;
                       if (self in cloister)
                               StartDaemon(self);
                       if (self in church)
                               "Drogo grins widely as he drags you up to the chancel.";
                       if (self in chancel)
                               "Drogo stands proudly and looks to you for approval, his grin
                               tentative.";
               ],
               description "His hair is pasted to his forehead with sweat. His eyes are
wild and bloodshot.",
               daemon [ ;
                       switch (++(self.show_matteo)) {
                               1:
                                       move drogo_church_hint to all_hints;
                                       move drogo_dragging to misc_shadow;
                                       give windows concealed;
                                       give crucifix concealed;
                                       give church_font concealed;
                                       give lectern concealed;
                                       give saint_cuthbert concealed;
                                       move self to church;
                                       "You see Drogo strolling past to the south before he catches
                                       sight of you and waves.
                                       ^^~Father!~ Drogo squeals, skipping towards you. ~I was just
                                       about to come find you. You must come with me!  It is so
                                       beautiful!~  He says, grabbing you by the arm and tugging you
                                       towards the church.";
                               2:
                                       PlayerTo(church);
                                       move self to chancel;
                                       "^~Come, father.~  His eyes glow with childlike enthusiasm, but
                                       his grip is of steel. ~We are almost there!~
                                       ^^Something is different at the far end of the chancel. Is it?
                                       ^^Good Lord.";
                               3:
                                       PlayerTo(chancel);
                                       "^~Look, father!~ he says, dragging you before the cross. ~I
                                       made it all by myself.~
                                       ^^Looking up, you see what Drogo was so excited about. Matteo
                                       dangles crucified from the cross, vicious holes in his hands and
                                       feet.";
                               4:
                                       remove drogo_dragging;
                                       give windows ~concealed;
                                       give crucifix ~concealed;
                                       give church_font ~concealed;
                                       give lectern ~concealed;
                                       give saint_cuthbert ~concealed;
                                       "^~Well, father. Isn't it beautiful?~ Drogo stands, gripping your
                                       wrist tightly and nodding proudly to himself.";
                               6:
                                       if (self.talking == false) {
                                       move hidden_wolves to garden;
                                       move machete to drogo4;
                                       move drogo4 to garden;
                                       remove self;
                                       "^Drogo strokes his chin thoughtfully. ~Hmmm. But it needs
                                       something.~  He looks confused for a moment, before flinging a
                                       hand in the air with a satisfied whistle. ~And I know exactly
                                       what!~
                                       ^^Before you can move, he sprints out of the church.";
                                       }
                                       else
                                       StopDaemon(self);

                       }
               ],
               before [;
                       Smell:
                               "He must have been working hard at something: he reeks of fresh
                               sweat.";
               ],
               react_before [;
                       Go:
                               if (self in chancel && self.show_matteo <= 5 && noun == s_obj or
                               d_obj)
                                       "Drogo's grip tightens, nearly crushing your wrist. ~Don't go
                                       anywhere, father. Not yet.~";
                               if (self in chancel && self.show_matteo > 5 && noun == s_obj or
                               d_obj)
                                       move hidden_wolves to garden;
                                       move machete to drogo4;
                                       move drogo4 to garden;
                                       remove self;
                                       "^Drogo strokes his chin thoughtfully. ~Hmmm. But it needs
                                       something.~  He looks confused for a moment, before flinging a
                                       hand in the air with a satisfied whistle. ~And I know exactly
                                       what!~
                                       ^^Before you can move, he sprints out of the church.";


                       Listen:
                                                       if (noun == nothing or self)
                                       "Drogo chitters to himself excitedly.";

                       Yes:
                               if (self.show_matteo < 6 && self.show_matteo > 3) {
                                       move hidden_wolves to garden;
                                       move machete to drogo4;
                                       move drogo4 to garden;
                                       remove self;
                                       StopDaemon(self);
                                       "~It is, isn't it?~  Drogo strokes his chin for a moment before
                                       flinging a hand up in the air. ~But it's missing something, and
                                       I know just where to find it.~
                                       ^^Before you can move, he sprints out of the church.";
                                       }
                               else
                                       return false;
                       No:
                               if (self.show_matteo < 6 && self.show_matteo > 3) {
                                       move hidden_wolves to garden;
                                       move machete to drogo4;
                                       move drogo4 to garden;
                                       remove self;
                                       StopDaemon(self);
                                       "For a moment, Drogo's face darkens and his eyes fill with
                                       hatred. He steps up to you, hands moving towards your throat,
                                       but just as
                                       quickly, he stops. ~Hmmm.~ He says, stroking his chin. ~Perhaps
                                       you are right. But don't
                                       worry, I will make it better. I know just what it needs.~
                                       ^^Before you can move, he sprints out of the church.";
                                       }
                               else
                                       return false;

               ],

               each_turn [;
                       if (self notin cloister or chancel or church)
                               StopDaemon(self);
                       if (self.talking > 0)
                                       self.talking = self.talking - 1;
                       if (self.talking == 0 && self.show_matteo > 5) {
                                       move hidden_wolves to garden;
                                       move machete to drogo4;
                                       move drogo4 to garden;
                                       remove self;
                                       "^Drogo strokes his chin thoughtfully. ~Hmmm. But it needs
                                       something.~  He looks confused for a moment, before flinging a
                                       hand in the air with a satisfied whistle. ~And I know exactly
                                       what!~
                                       ^^Before you can move, he sprints out of the church.";
                       }
                       else
                               return false;
               ],
               talking 0,
               show_matteo 0,
has             ;

Drogo   drogo_dragging "Drogo"
with    description "His hair is pasted to his forehead with sweat. His eyes are
wild and bloodshot.",
               react_before [;
                       Listen:
                               if (noun == nothing or self)
                                       "Drogo chitters to himself excitedly.";
               ],
               before [;
                       Smell:
                               "He must have been working hard at something: he reeks of fresh
                               sweat.";
               ],
               life [;
                       Ask,Tell,Answer:
                               "~Shhhh, father. There'll be plenty of time for question and answer
                               soon enough.~";
               ],
has             ;

Drogo   drogo4 "Drogo"
with    initial "Drogo slashes wildly at the briars with a dull machete.",
               description "The machete flies at the briars, tearing of bits and pieces as
               it goes. Drogo's arms are sliced and bruised from the work, but he does not
               notice. He doesn't seem to notice much besides the briars.",
has             container transparent;

Object  machete "machete"
with    name 'machete' 'blade',
               description "It is dull, but Drogo's fury makes its work easy.",
               before [;
                       Take:
                               "~No!~ he squeals, drawing back. ~It's mine!  All mine!~";
               ],
has             ;

Object  hidden_wolves "wolves"
with    name 'wolf' 'wolves' 'alpha' 'dog' 'dogs' 'pack' 'growl' 'growls' 'chorus'
'eye' 'eyes' 'shape' 'shapes',
               initial "A low chorus of growls rises from the briars, singing with the swing
               of Drogo's blade.",
               before [;
                       Examine:
                               QuoteFrom(ezekial22_27);
                               <<Examine briars>>;
                       Listen:
                               if (noun == self or nothing or briars)
                               QuoteFrom(ezekial22_27);
                               "A low growl. They hunger.";
                       Smell:
                               if (noun == self or nothing or briars)
                               QuoteFrom(ezekial22_27);
                               "Mange. An animal smell.";
                       default:
                               QuoteFrom(ezekial22_27);
                               "A growl is the only response.";
               ],
has             static;

Drogo   drogo_wolves1 "Drogo"
with            before [;
                       default:
                               "Drogo is gone.";
               ],
has             scenery;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Ignatius
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Ignatius ignatius1 "Brother Ignatius"
with    name 'man' 'brother' 'ignatius',
               initial "Brother Ignatius sits in one of the pews near the front, staring
               intently at the candles.",
               description "The scar through his left eye having left him half-blind,
               Ignatius makes up for it by staring twice as hard at the
               candles with his good eye. The eye refuses to blink.",

has             male;

Ignatius ignatius2 "Brother Ignatius"
with    describe [;
                       if (self in belltower_bottom)
                               return true;
                       if (self in cloister)
                               "^Ignatius's dark robes flutter behind him as he enters the
                               dormitory.";
                       if (self in dormitory)
                               "^Ignatius swirls into his room.";
                       if (self in ignatius_room)
                               "^Ignatius sits upon his bed, preparing to go to sleep.";
                       else
                               "ERROR";
               ],
               description [;
                       if (self in cloister)
                               "Ignatius's dark robes flutter behind him as he enters the
                               dormitory.";
                       if (self in dormitory)
                               "^Ignatius swirls into his room.";
                       if (self in ignatius_room)
                               "^Ignatius sits upon his bed, preparing to go to sleep.";
                       if (brothers_tower.murder_conversation >= 2)
                       "Ignatius meets Constantin's eyes with his one, the intensity more than
                       making up for the lack.";

                       else
                       "Ignatius stands over Matteo, his head bowed in prayer. He makes
                       the sign of the cross upon his chest. No?  Is he simply scratching?";
               ],
               life [;
                       Ask,Tell,Order:
                               "~I am busy right now, father.~ He replies abruptly.";
               ],
               daemon [;
                       switch (++(self.after_murder)) {
                               2:
                               move self to cloister;
                               3:
                               move self to dormitory;
                               4:
                               move self to ignatius_room;
                               5:
                               StopDaemon(self);
                       }
               ],
               after_murder 0,
has             ;



!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Constantin
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Constantin constantin1 "Brother Constantin"
with    name 'constantin' 'constantine',
               initial "Brother Constantin sits on the bed, a young hare dangling from his
               hand. His knife moves swiftly.",
               description "Constantin sits on the bed, causing it to sag from his immense
               mass. Despite his size, he moves swiftly, his knife darting in and out
               between the hare's skin and muscle. A pool of blood forms at his bare
               feet.",
               react_before [;
                       Take:
                               if (noun == constantin_tools)
                                       "~Leave them, father,~ he growls without missing a slice.";
               ],
has             ;

Constantin constantin2 "Brother Constantin"
with    describe [;
                       if (self in belltower_bottom)
                               return true;
                       if (self in cloister && self.after_murder < 3)
                               "^Constantin shoves Lucca roughly to the calefactory.";
                       if (self in cloister && self.after_murder > 3)
                               "^Constantin stalks off towards the dormitory.";
                       if (self in dormitory)
                               "^Constantin flies into his room.";
                       if (self in constantin_room)
                               "^Constantin goes about preparing himself for bed.";
                       if (self in outside_calefactory)
                               "^With a slight swear, Constantin hurls Lucca into the calefactory.
                               You hear a heavy thud as Lucca crashes to the ground, but his
                               continued mumblings tell that he is not too badly injured.
                               ^^Grinning, Constantin pulls a shining lock from his belt and secures
                               it to the door. ~That should hold him,~ he sneers. A grunt is all
                               he gives you as he pushes by you to the dormitory.";
               ],
               description [;
                       if (self in constantin_room)
                       "Constantin stands in bare feet, yet he does not appear to be
                       cold.";
                       if (self in cloister)
                               "^Constantin shoves Lucca roughly to the calefactory.";

                       if (brothers_tower.murder_conversation >= 2)
                               "Constantin stands face to face with Ignatius, his face flushed.
                               ";
                       else
                       "Constantin stands in bare feet, yet he does not appear to be
                       cold. A dead hare dangles from his hand, all traces of its fur
                       removed.";
               ],

               daemon [;
                       switch (++(self.after_murder)) {
                               2:
                               move self to cloister;
                               move lucca2 to self;
                               3:
                               move self to outside_calefactory;
                               move calefactory_lock to calefactory_door;
                               give calefactory_door ~open;
                               4:
                               move lucca_behind_door to outside_calefactory;

                               move self to cloister;
                               5:
                               move self to dormitory;
                               6:
                               move self to constantin_room;
                               time_shadow.lucca_jailed = true;

                       }
               ],
               after_murder 0,
has             transparent container open;

NPC             figure_behind_door "scuffling"
with    name 'noise' 'scuffle' 'scuffling' 'sound',
               react_before [;
                       Exit:
                               if (player notin your_bed)
                               <<Push your_desk>>;
                       Go:
                               if (noun == out_obj or w_obj)
                               <<Push your_desk>>;
                       Open:
                               if (noun == your_door)
                                       <<Push your_desk>>;

               ],

               before [;
                       Listen:
                               "Foot against flagstone.";
                       TalkTo:
                               "There is no response, but the scuffling stops for a moment before
                               resuming.";
                       default:
                               "Not from here.";
               ],
               life [;
                       Ask,Tell:
                               "There is no response, but the scuffling stops for a moment before
                               resuming.";
               ],
has             scenery;

Constantin constantin3 "Constantin"
with    initial [;
                       if (self in entrance_hall) {
                               StopDaemon(your_bedroom);
                               StartDaemon(self);
                               "Constantin stands impatiently, face flushed.";
                       }
                       if (self in cloister)
                               "Constantin storms to the calefactory, kicking up snow as he does.";
                       if (self in outside_calefactory && self.show_calefactory >= 5)
                               "Constantin goes about repairing the door, hands moving swiftly.";
                       if (self in outside_calefactory)
                               self.show_calefactory = 3;
                               StartDaemon(self);
                               return true;
               ],
               description
                       "He is finally beginning to show the effects of hunger and the plague.
                       His eyes are bloodshot: when they aren't squinting from the sun. He used
                       to look so peaceful.",
               daemon [;
                       switch(++(self.show_calefactory)) {
                               1:
                                       move self to cloister;
                                       "^~It's about time. Come with me.~  He grumbles as he stomps off
                                       to the cloister.";
                               2:
                                       move self to outside_calefactory;
                                       StopDaemon(self);
                               4:
                                       remove calefactory_lock;
                                       move constantin_tools to outside_calefactory;
                                       move calefactory_hole to outside_calefactory;
                                       move drogo3 to cloister;
                                       "~See,~ he shouts, pointing aggressively to a gaping hole where
                                       the lock used
                                       to be. ~The bastard kicked it out from inside.~";
                               5:

                                       "^Constantin
                                       starts mumbling curses under his breath as he pulls some tools
                                       from his belt and begins repairing the door.";
                               6:
                                       StopDaemon(self);
               }
               ],
               react_before [;
                       Listen:
                               if (noun == nothing or self)
                                       "Tap. Tap. Tap. Tap.";
                       Open,Close,Lock:
                               if (noun == calefactory_door)
                                       "~Don't touch that!  I'm trying to work,~ he growls.";
                       Go:
                               if (noun == nw_obj)
                                       StopDaemon(self);
                       Take:
                               if (noun == constantin_tools) {
                               if (self.take_attempted == false) {
                               self.take_attempted = true;
                               "Constantin strikes your hand, hard, with the hammer. ~Touch them
                               again, and it will be your head,~ he growls without even glancing
                               towards you.";
                               }
                               else
                               deadflag = 1;
                               "Before you can react, Constantin slams the hammer into the side of
                               your skull. A crack. A few stars. A gibbered apology and hot
                               breath in your mouth.
                               ^^Then darkness.";
                               }
                               else
                               return false;
               ],
               show_calefactory 0,
               take_attempted false,
has             ;

Object  tool_snow "snow"
with    name 'snow' 'snowflakes' 'snowflake' 'blanket',
               initial [;
                       if (self.dug == false)
                               "A fresh blanket of snow lies upon the ground.";
               ],
               description "Faint raises in the snow mark something underneath.",
               react_before [;
                       Dig,Search:
                               if (noun == nothing or self && self.dug == false)
                                       move constantin_tools to player;
                                       remove self;
                                       self.dug = true;
                                       "You dig a little ways into the snow until you find Constantin's
                                       abandoned tools. You slide them into your pocket: their chill
                                       hurts your hands.";

               ],
               dug false,
has             static;

Object  constantin_tools "tools"
with    name 'tool' 'tools' 'hammer' 'nails' 'nail',

               description [;
                       if (location == constantin_room)
                               "Constantin was a Godsend when he arrived five years ago. Before
                               him, Saint Cuthbert's had to enlist the help of laypeople in Rovato
                               whenever something needed to be built. Now, Constantin does it all
                               cheerfully, except for the occasional grumble.";
                       else
                               "A hammer. Some nails. Constantin usually
                               carries them
                               everywhere.";
               ],
               before [;
                       Examine,Smell,Listen:
                               if (tool_snow.dug == false  && location == outside_calefactory  &&
                               time_shadow.current_time ~= 3)
                                       "You can see no tools here.";
                       default:
                               if (location == constantin_room)
                                       return false;
                               if (constantin3 in location)
                                       "That's not a wise idea.";
                               if (tool_snow.dug == false)
                                       "You can see no tools here.";
                               else
                                       return false;
               ],

has             concealed pluralname;

Object  calefactory_hole "hole"
with    pname 'hole' 'gaping' 'lock' 'hint' 'of' 'red' 'sparkles' 'blood' 'wood',
               description [;
                       switch(time_shadow.current_time) {
                               3:
                                       "The broken boards are smashed inwards and there are no splinters
                                       on this side. A slight hint of red sparkles on the wood.";
                               default:
                                       "Constantin has done a little work to repair it, but it looks as
                                       though he was not able to finish. At least he unstuck it,
                                       though.";
                               }
               ],
               before [;
                       Search:
                               "Looking through the hole, you can see little.";
               ],
               react_before [;
                       Examine:
                               if (noun == calefactory_door)
                                       <<Examine self>>;

                       Open,Unlock,Enter:
                               if (pass has visited)
                                       return false;
                               if (noun == calefactory_door)
                                       "The door is jammed and broken now; it does not open.";
                       Go:
                               if (pass has visited)
                                       return false;
                               if (noun == se_obj)
                                       "The door is jammed and broken now; it does not open.";
               ],
has             scenery;

Constantin constantin5 "Constantin"
with    name 'ear' 'ears' 'constantin^s',
               describe [;
                       if (cellar_key in self)
                       "^Constantin lies on his side, vomit oozing from the side of his mouth.
                       A
                       set of keys dangles from the belt of his frock, jingling ever so
                       slightly.";
                       else
                       "^Constantin lies on his side, vomit oozing from the side of his mouth.";
               ],
               description [;
                       "A massive lump of sickness, Constantin lies with his eyes swollen shut.
                       He breathes irregularily, the air forcing out bits of blood and vomit
                       from his mouth.";
               ],
               react_before [;
                       PrayThrough:
                               if (noun == cuthbert)
                                       "All is quiet for a moment. Motes of light sparkle down from the
                                       ceiling drifting towards Constantin. They swirl. Faster. More.
                                       They envelope him. He flinches at their touch. They enter his
                                       wounds, his mouth, his eyes. He screams. They do not stop.
                                       ^^Finally, they have all entered him and he is no different than
                                       before. His scream still lingers. He gibbers in pain.";
               ],
               life [;
                       HelpPerson:
                               "There is nothing you can do for him.";
               ],
               before [;

                       Kill:
                               QuoteFrom(kill_constantin_quote);
                               sin_shadow.evil = true;
                               remove constantin5;
                               move cellar_key to constantin_room;
                               move constantin_dead to constantin_room;
                               "Moving swiftly, you rip the pillow from beneath Constantin's head
                               and slam it onto his face. He is so weak. A few kicks are all he
                               gives before he shudders and goes still.";
                       Attack:
                               "Constantin grumbles and waves you away.";
                       Receive:
                               if (noun ~= your_candle)
                                       return false;
                               if (self.waxed == false) {
                                       self.waxed = true;
                                       "Carefully, you drip a little bit of wax into Constantin's
                                       exposed ear. Soon, it wells out the top before forming a hard
                                       plug.";
                               }
                               else
                                       "His ears are plugged enough.";

                       LetGo:
                               if (noun == cellar_key && self.waxed == false) {
                                       deadflag = true;
                                       "You gently try to untangle the keys from his belt, but the
                                       moment you touch them, they jingle as if to sound an alarm.
                                       Constantin's swollen eyelids snap open, revealing two bloodshot
                                       orbs.
                                       ^^~Thief!~ he cries, bolting up. Despite his illness, he is
                                       still a strong man. He flings you against the wall, knocking you
                                       unconscious. Despite your illness, you are still a weak man.
                                       ^^You don't wake up.";
                               }
                               if (noun == cellar_key && self.waxed == true)
                                       move cellar_key to player;
                                       "You gently untangle the keys from his belt. He does not stir.";

               ],
               waxed false,
has             container transparent open;

Constantin constantin_dead "Constantin"
with    name 'constantin' 'dead' 'brother' 'man',
               description "He is little more than a still mass of tumors and cloth.",
               describe [;
                       if (cellar_key hasnt moved)
                               "^Constantin's body lays on its side, keys hanging limply from his
                               belt.";
                       else
                               "^Constantin's corpse sinks into his bed.";
               ],
               before [;
                       Eat:
                               QuoteFrom(leviticus26_29);
                               sin_shadow.evil = true;
                               "Constantin's flesh is soft and squishy. The plague has done much.
                               You barely have to chew. It simply slides down your throat and into
                               your belly.";
                       Search:
                               if (cellar_key notin self)
                                       "Nothing but tumors and vomit.";
                               else
                                       move cellar_key to self;
                                       "You grab the keys, and they jingle softly in your hand.";
                       Push,Pull,Take:
                               "He is too heavy.";
               ],
has             static;

Object  cellar_key "keys"
with    name 'cellar' 'keys' 'belt' 'set' 'of' 'key',
               describe [;
               return true;
               ],
               description "They shine brightly and jingle when they move.",
has             pluralname;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Lucca
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Lucca   lucca1 "Brother Lucca"
with    initial [;
                       switch(location) {
                       cloister:
                               "Brother Lucca, face flushed and cheeks wet, storms
                               out from the bell tower and off to the dormitory in the east, meeting
                               your eyes for only a moment.
                               ^^~Are you alright, Brother?~ you ask, receiving no response.";
                       dormitory:
                               "His frock fluttering behind him, Lucca rushes south into Matteo's
                               room.";
                       matteo_room:
                               "Lucca scrabbles frantically at the ground, his blood staining the
                               stones.";


                       }
               ],
               description "His fingers bloody on the stone. His face is red
               and wet with tears.",
               before [;
                       HelpPerson:
                               "You scrabble at the stone with Lucca, but you cannot get a grip.";
               ],
               daemon [;
                       switch (++(self.first_seen)) {
                       1:
                               move flagstone to matteo_room;
                               move lucca1 to dormitory;

                       2:
                               move lucca1 to matteo_room;
                               StopDaemon(self);

                       }
               ],
               first_seen 0,
has             ;

Lucca   lucca2 "Brother Lucca"
with    description [;
                       if (self in constantin2)
                               return constantin2.describe();
                       if (brothers_tower.murder_conversation >= 2)
                               "Lucca lies in a crumpled heap upon the ground, mumbling ~I'm sorry,~
                               over and over again.";
                       else

                               "Lucca rocks back and forth upon his haunches, mumbling ~I'm
                               sorry, I'm sorry.~ over and over again.";
               ],
               life [;
                       Ask,Tell,Order:
                               "All he does is gibber, ~I'm sorry.~";
               ],
has             concealed;

Lucca   lucca_behind_door "Lucca"
with
               initial "You can hear Lucca gibber softly beyond the door.",
               description "You cannot see him.",
               murder_asked false,
has             ;


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Matteo
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Matteo  matteo1 "Brother Matteo"
with    name 'matteo',
               initial "Brother Matteo leans against the rails, staring into the wind.",
               description "He looks tired and heavy. He doesn't so much as lean on the
               rails as use them as crutch. His frock billows about him in the icy wind; he
               no longer has the will to bundle it about himself.",
               before [;
                       Push,Kill,Attack:
                               QuoteFrom(kill_matteo_quote);
                               sin_shadow.evil = true;
                               remove matteo1;
                               self.pushed = true;
                               move tower_dead_body to tower;
                               move dead_body to belltower_bottom;
                               "He turns his back to you for a moment. It is long enough. You slam
                               your hands into his back, and he tumbles over the rail. As he falls,
                               he casts a smile at you. His last.";

!                               if (self hasnt general) {
!                               give self general;
!                               "He turns for a moment, just long enough. You raise your hands.
!                               Wait. What is happening to you?  You lower them, and he turns
!                               around, smiling.
!                               ^^~You look troubled, father. Is something wrong?~";
!                               }
!                               else
!                               QuoteFrom(push_matteo_quote);
!                               "No.";

               ],
               react_before [;
                       Go:
                               if (self.tower_talking > 2 && noun == d_obj)
                                       QuoteFrom(no_push_matteo_quote);
                                       return false;
                       Yes:
                               if (self hasnt general)
                                       return false;
                               else
                                       "~Well, these are troubling times. There is nothing we can do.~
                                       He smiles, gently. He's always smiling.";
                       No:
                               if (self hasnt general)
                                       return false;
                               else
                                       "~That is go to hear,~ he says, turning back to face the wind.";
               ],
               pushed false,
has             ;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!Starting Possessions
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Object  tinderbox "tinderbox"
with    name 'tinderbox' 'tinder' 'box' 'flint' 'steel',
               article [;
                       if (sin_shadow.evil == false)
                               { print "your"; rtrue; }
                       else
                               { print "a"; rtrue; }
               ],
               description "A small box containing some flint, steel, and tinder. You
               always keep it close should your candle be snuffed by the wind.",
               before [;
                       LetGo,Drop,ThrowAt,PutOn,Insert:
                               "You would not want to lose it. The darkness is stifling.";
                       Smell,Touch:
                               "Dry. Rare in this place.";
                       Open,Receive:
                               "There is no need.";
               ],
has             ;

Object  your_candle "candle"
with    pname '.x' 'candle' '.x' 'flame' '.x' 'fire' 'light' 'pig' 'fat' 'twine'
'wax' 'tallow' 'my'
'oil',
               article [;
                       if (sin_shadow.evil == false)
                               { print "your"; rtrue; }
                       else
                               { print "a"; rtrue; }
               ],
               description [;
                       if (self.lit == true)
                               "Pig fat and twine. Still, it holds its flame very well. Beads of
                               oil drip from near the flame, running down the sides and coating them
                               with slime.";
                       else
                               "Pig fat and twine. Still, it holds its flame very well when lit.";
               ],
               invent [;
                       if (sin_shadow.evil == true) {
                       if (self.lit == true) {
                               print "a candle (lit)"; rtrue;
                       }
                       else
                               print "a candle"; rtrue;
                       }
                       if (self.lit == true) {
                               print "your candle (lit)"; rtrue;
                       }
                       else
                               print "your candle"; rtrue;
               ],
               before [;
                       LetGo,Drop,ThrowAt,PutOn,Insert:
                               if (second == constantin5)
                               return false;
                               else
                               "You would not want to lose it. Light is precious in these dark
                               times.";
                       Smell,Taste:
                               if (self.lit == true)
                                       "The smell of rancid pig fat drifts from the flame.";
                               else
                                       "Even when unlit, the candle reeks of dead pig.";
                       Burn:
                               if (location == cellar && self.lit == false) {
                                       give prybar ~concealed;
                                       self.lit = true;
                                       print "The fat sizzles for a moment as the flame comes to life
                                       but
                                       settles down soon after.^";
                                       PlayerTo(cellar);
                                       return true;
                                       }
                               if (self.lit == true)
                                       "It is already lit.";
                               if (self.lit == false) {
                                       self.lit = true;
                                       "The fat sizzles for a moment as the flame comes to life but
                                       settles down soon after.";
                               }
                               else
                                       return false;
                       Extinguish:
                               if (self.lit == false)
                                       "It's already out.";
                               else
                                       self.lit = false;
                                       "The flame puffs out in a cloud of rank, black smoke.";
               ],
               lit true,
has             ;

Object  your_frock "frock"
with    name 'frock' 'robe' 'clothes' 'clothing',
               article [;
                       if (sin_shadow.evil == false)
                               { print "your"; rtrue; }
                       else
                               { print "a"; rtrue; }
               ],
               description "A threadbare frock that does little to keep you warm. The
               coarse fabric scratches where it touches your body, which is less than it
               used to be: the frock is far too large for you now. It smells of sweat and
               tears.",
               before [;
                       Disrobe:
                               "You would freeze.";
                       Smell,Taste:
                               "Your sweat and tears gone stale. It does not bother you anymore.";
               ],
has             clothing;

Object  neck_lump "lump"
with    name 'lump' 'neck' 'bump' 'buboe' 'swelling' 'swollen' 'bubo' 'buboes',
               description [;
                       switch(time_shadow.current_time) {
                               1:
                                       "It is almost invisible, but you can feel it: almost as if a
                                       small coin was buried in your skin.";
                               2:
                                       "Like a robin's egg protruding from your throat, the lump stings
                                       every time you swallow.";
                               3,4:
                                       "If you didn't know better, you would swear you had swallowed an
                                       apple and that it got lodged just before your collar.";
                               5:
                                       "The lump is so large, it is difficult to breath. Your head
                                       looks
                                       like it is sitting on a melon.";
                               default:
                                       "Your neck is no more: your skull simply slopes until it becomes
                                       your shoulders.";
                               }
               ],
               before [;
                       Touch:
                       switch(time_shadow.current_time) {
                               1:
                                       "It is soft and rubbery and swells a little at your touch.";
                               2:
                                       "It stings; your finger makes no dent.";
                               3,4:
                                       "The lump is hard and unforgiving; it burns at your touch.";
                               5:
                                       "The lump squishes then springs back with an angry force. The
                                       pain is unimaginable.";
                               default:
                                       "The lump roars in pain and shakes with your quivering.";
                               }
                       default:
                               "There is nothing you can do with it. It is a part of you.";
                       ],
has             ;

Object  journal "journal"
with    article "your",
               pname 'book' 'paper' 'journal' 'diary',
               before [;
                       default:
                               "FLESH OUT JOURNAL. MAKE MENU. OR GET RID OF IT ENTIRELY";
               ],
has             ;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!EVERYWHERE STUFF + SCENERY
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Object  snow "snow"
with    pname 'snow' 'snowflakes' 'snowflake' 'blanket',
               article "some",
               description "The snow bites at your feet and clings to your face.",
               before [;
                       Take:
                               StartTimer(taken_snow);
                               taken_snow.time_left = 3;
                               move taken_snow to player;
                               "You take a small handful of snow, and already, your hand is
                               suffering.";
                       Eat:
                               "It stings your teeth and lines them with grit.";
               ],
               found_in [;
                       if (location ofclass Outside_Room)
                               return true;
               ],
has             scenery;

Object  taken_snow "handful of snow"
with    name 'handful' 'of' 'snow',
               description "It is dirtier than the snow you played with as a child.
               Everything is dirtier now.",
               time_out [;
                       remove self;
                       "The snow trickles out of your hand as a few drops of water.";
               ],
               before [;
                       Drop:
                               remove self;
                               "You toss the snow: a sweaty little ball of cold.";
                       Eat:
                               "It stings your teeth and lines them with grit.";
               ],
               time_left,
has             ;

Object  sky "sky"
with    name 'sky' 'clouds' 'cloud' 'sun' 'moon' 'skies' 'heaven' 'firmament'
'heavens',
               description [;
                       switch(time_shadow.current_time) {
                               0:
                                       "The sun has set, but the moon has not yet risen: the dark limbo
                                       of Vespers. Your candle gives a small circle of light, warding
                                       off the hungry shadows.";
                               1:
                                       "The moon lights up the clouds, but does not touch the Earth. She
                                       is afraid.";
                               3:
                                       "The sun shines but gives no warmth. Its light burns your
                                       eyes.";
                               4:
                                       "Clouds are beginning to creep in from the south.";
                               5:
                                       "The sky is shrouded in clouds, reflecting the Earth. White
                                       above: white below.";
                               6,7:
                                       "Darkness creeps across the sky. Soon, the snow will be the only
                                       white.";
                               8:
                                       "Darkness has returned. She has found her home. She will
                                       stay.";
                       }
               ],
               before [;
                       Examine:
                               return false;
                       default:
                               "It is too far away.";
               ],
               found_in [;
                               if (location ofclass Outside_Room)
                               return true;
               ],
has             scenery;

Object  scenic_church "church"
with    name 'church' 'chapel' 'spires',
               description [;
                       switch(time_shadow.current_time) {
                               0:
                                       "Her spires reach to the sky: the bridge between Heaven and
                                       Earth.";
                               1:
                                       "She climbs, but the Earth holds Her back.";
                               3:
                                       "She cowers from the sun. Hiding. Shrinking.";
                               5:
                                       "She revels in Her concealment. She dances under the clouds.";
                               6,7:
                                       "Her time has nearly arrived. She mocks God, pointing her jagged
                                       fingers to his eyes.";
                       }
               ],
               before [;
                       Examine:
                               return false;
                       default:
                               "Not from here.";
               ],
               found_in cloister outside_calefactory tower belltower_bottom,
has             scenery;

Object  scenic_tower "tower"
with    name 'tower' 'bell' 'belltower',
               description [;
                       if (matteo_papers.been_read == true && constantin_dead in
                       constantin_room)
                               "Rising out of a bed of fire, the tower splits the sky. Scorch marks
                               twist their way around it. In the flickering light of the flame, you
                               see Cecilia beckoning to you.";
                       if (matteo_papers.been_read == true)
                               "Rising out of a bed of fire, the tower splits the sky. Scorch marks
                               twist their way around it. In the flickering light of the flame, you
                               see two figures struggling.";
                       if (location == clearing)
                               "The tower mocks you.";

                       else
                               "The tower rises above all else.";
               ],
               before [;
                       Examine:
                               return false;
                       default:
                               "Not from here.";
               ],
               found_in cloister outside_calefactory tower belltower_bottom clearing garden,
has             scenery;

Object  vomit "vomit"
with    name 'vomit' 'spill' 'black' 'red' 'blackish' 'liquid' 'chunks' 'meat'
'dark',
               initial [;
                       if (self.examined == false)
                               "A dark blackish red spill marks the ground.";
                       if (location == cloister)
                               "The vomit leads from the calefactory to the dormitory.";
                       if (location == outside_calefactory)
                               "A large pool of vomit has melted a hole in the snow.";
                       if (location == dormitory)
                               "The vomit marks a trail into Constantin's cell.";
                       if (location == constantin_room)
                               "The floor is soaked with vomit, making it almost slippery to walk
                               on.";
               ],
               before [;
                       Take:
                               "It slides between your fingers, coating them with sickness.";
                       Smell:
                               "Sharp. The blood is all but scentless under the odor of the
                               vomit.";
               ],

               description [;
                       if (cellar has visited)
                               "The vomit is hidden by snow.";
                       if (self.examined == false) {
                               self.examined = true;
                               "The liquid is a thick soup of black and red with small chunks of
                               food mixed in. Blood and bile: plague vomit.";
                       }
                       else
                               self.initial();
               ],
               found_in [;
                       if (time_shadow.current_time < 5)
                               return false;
                       if (location == outside_calefactory or cloister or dormitory or
                       constantin_room)
                               return true;
               ],
               examined false,
has             static;

Object  player_body "yourself"
with    pname 'hand' 'hands' 'feet' 'face' 'skin' 'spot' 'spots' 'body',
               before [;
                       Examine:
                               <<Examine player>>;
                       default:
                               "There is no need.";
               ],
               found_in [;
                       return true;
               ],
has             static concealed scenery;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!EYES
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Object  ignatius_eye "Ignatius's eye"
with    pname 'eye' 'eyes' 'ignatius^s',
               description [;
                       switch(time_shadow.current_time){

                               default:
                                       "It does not blink, yet it shifts back and forth.";
                       }
               ],

               after [;
                       Examine:
                               QuoteFrom(proverbs27_20);
               ],
               found_in ignatius1 ignatius2 cellar_figure,
has             concealed proper;

Object  cecilia_eye "Cecilia's eyes"
with    pname 'eye' 'eyes' 'cecilia^s',
               description [;
                       switch(time_shadow.current_time){
                               0:
                                       "They flutter. Like butterflies trapped on her face.";
                               default:
                                       "Blue. Like icewater.";
                       }
               ],

               after [;
                       Examine:
                               QuoteFrom(proverbs27_20);
               ],
               found_in cecilia1 cecilia2 cecilia_body,
has             concealed;

Object  constantin_eye "Constantin's eyes"
with    pname 'eye' 'eyes' 'Constantin^s',
               description [;
                       switch(time_shadow.current_time){
                               0:
                                       "They watch the hare, flicking back and forth with the knife.";
                               1:
                                       "They burn with rage.";
                               2,3,4:
                                       "White globes crossed by red rivers. They twitch and jitter.";
                               default:
                                       "They are sunken in to the swellings of his face.";
                       }
               ],

               after [;
                       Examine:
                               QuoteFrom(proverbs27_20);
               ],
               found_in constantin1 constantin2 constantin3 constantin5 constantin_tower
               constantin_dead,
has             concealed proper;

Object  drogo_eye "Drogo's eyes"
with    pname 'eye' 'eyes' 'Drogo^s',
               description [;
                       switch(time_shadow.current_time){
                               0:
                                       "They peer out between curtains of greasy hair, ever watchful.";
                               1:
                                       "They sparkle with glee.";
                               3:
                                       "They burn with passion. No, desperation.";
                               default:
                                       "They flicker in and out: at once lucid, at the same time seeing
                                       things only they can.";
                       }
               ],

               after [;
                       Examine:
                               QuoteFrom(proverbs27_20);
               ],
               found_in drogo1 drogo2 drogo3 drogo4,
has             concealed proper;

Object  lucca_eye "Lucca's eyes"
with    pname 'eye' 'eyes' 'lucca^s',
               description [;
                       switch(time_shadow.current_time){
                               0:
                                       "They burn a deep red beneath the tears.";
                               default:
                                       "Pools of sorrow.";
                       }
               ],

               after [;
                       Examine:
                               QuoteFrom(proverbs27_20);
               ],
               found_in lucca1 lucca2,
has             concealed proper;

Object  matteo_eye "Matteo's eyes"
with    pname 'eye' 'eyes' 'matteo^s',
               description [;
                       switch(time_shadow.current_time){

                               default:
                                       "They sink into his skull. His eyelids can barely be bothered to
                                       remain open.";
                       }
               ],

               after [;
                       Examine:
                               QuoteFrom(proverbs27_20);
               ],
               found_in matteo1,
has             concealed proper;


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!SAINTS
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Saint   cuthbert "Saint Cuthbert"
with    pname 'cuthbert' 'dog' 'leg' 'staff' 'blister' 'saint' 'st',
               description "Saint Cuthbert leans proudly upon his staff even though he
               appears
               stricken with illness. A dog licks at his leg, soothing the blister upon
               it.",
               before [;
                       PrayThrough:
                               if (sin_shadow.evil == true) {
                                       QuoteFrom(evil_pray_quote);
                                       "Fire rips through your body, boiling your flesh. Bubbles spread
                                       across you: tumors. A cough shatters your composure, a shower of
                                       blood and vomit released in its wake. Screams spin in your ears.
                                       ^^You collapse, and the pain subsides.";
                               }
                               if (self.plague_prayed == true)
                                       "He has done all he can.";
                               else
                                       self.plague_prayed = true;
                                       "He is weak; his vessel is shattered. Boils twist and grow upon
                                       your limbs, spreading out like a weed. They scream with fire,
                                       then subside. He cannot help you.";
               ],
               plague_prayed false,
has             ;

Saint   medard "Saint Medard"
with    pname 'medard' 'of' 'noyon' 'eagle' 'wings' 'saint' 'st',
               description "The snow flies against the glass, but refuses to stick. Medard
               stands tall, with an eagle's outstretched wings above him.",
               before [;
                       PrayThrough:
                               if (sin_shadow.evil == true) {
                                       QuoteFrom(evil_pray_quote);
                                       "A slight tingle crawls up your fingers and across your ears. No,
                                       a burn. The icy burn of frostbite. It spreads up your arms and
                                       legs, the pain coming through despite the numbness. Quickly, it
                                       makes way for a different burn. Red blisters creep along your
                                       skin. It cracks and peels: falls to the ground as snow.
                                       ^^You scream, and eventually the pain subsides.";
                               }
                               if (location == archway && time_shadow.current_time == 1 or 0)
                                       "The cold deepens for a moment. It sinks into your bones and
                                       turns them to ice. Then, your bones melt and warmth spreads
                                       through limbs. He protects you from the cold, but not the wind.
                                       Your candle cannot be protected.";
                               if (location ~= pass)
                                       "You say a few short words to Saint Medard.
                                       ^^If he heard, he is not responding. Not right now.";
                               else {
                                       if (self.pass_prayed == true)
                                               "He has done all he can.";
                                       else
                                               self.pass_prayed = true;
                                               "The words slip out of your mouth, and immediately, your
                                               fingers and ears go numb with frostbite. A stinging spreads
                                               across your shoulders, but it is a different kind of sting.
                                               Peeking into your frock, your skin is blistered and red as
                                               though burnt.
                                               ^^Eventually, it subsides and you feel no different than you
                                               did before.";
                               }
               ],
               pass_prayed false,
has             ;

Saint   drausinus "Saint Drausinus"
with    pname 'drausinus' 'spears' 'spear' 'heathen' 'heathens' 'saint' 'st',
               description "An assassin approaches from the darkness, but a shroud of light
               reveals him to Saint Drausinus. He is safe.",
               before [;
                       PrayThrough:
                               if (sin_shadow.evil == true) {
                                       QuoteFrom(evil_pray_quote);
                                       "Black darker than bile creeps from the ground, twisting and
                                       wrapping itself around your legs. It pulls at you, tears at your
                                       clothes and flesh. A scar you obtained from a farming accident
                                       when you were eight rips open, blood oozing from within, soaking
                                       your frock and draining the warmth from your body. You shiver;
                                       the blackness climbs into your eyes.
                                       ^^Then you blink and all is as it was before.";
                               }
                               if (self.night_prayed == true)
                                       "You close your eyes and begin your prayer. There is no answer.
                                       ^^Once is all you get, you suppose.";
                               if (location == your_bedroom && time_shadow.current_time == 1) {
                                       give your_door ~open;
                                       your_desk.against_door = true;
                                       self.night_prayed = true;
                                       "Wisps of blackness float in from the window and dance about your
                                       head. Slow. Fast. They whirl and dive, choking the light from
                                       the room. They spin into your throat, stealing the breath from
                                       your lungs.  A harsh scraping sound spreads throughout the room.
                                       The desk skids across the floor, finally slamming into the door,
                                       securing it.
                                       ^^Then, they are gone.";
                               }

                               if (location == cellar && self.cellar_prayed == false) {
                                       self.cellar_prayed = true;
                                       "As the words slip from your mouth, the darkness around you
                                       deepens. It chokes away your breath and slithers into the
                                       shadows.";
                               }
                               if (location == cellar && self.cellar_prayed == true)
                                       "He has done all he can.";
                               if (location ~= your_bedroom || time_shadow.current_time ~= 1)
                                       "There is no need. Not now, at least.";
               ],
               cellar_prayed false,
               night_prayed false,
has             ;

Saint   cecilia "Cecilia"
with    pname 'cecilia' 'angel' 'girl' 'lady' 'woman',
               before [;
                       TalkTo:
                               "You can't see her.";
                       PrayThrough:
                               deadflag =true;
                               "As the words slip from your mouth, a shudder rips through your body.
                               Invisible fists drive into your stomach; blood spills from your
                               mouth.
                               ^^Your mind screams. Your heart stops.";
                       PrayTo:
                               if (location == cellar && cellar_figure.incapacitated == false) {
                               QuoteFrom(cecilia_cellar_quote);
                               "She is with you.";
                               }
                               if (time_shadow.current_time == 1 && location == your_bedroom &&
                               self.night_prayed == false) {
                                       self.night_prayed == true;
                                       "The moment the words cross your lips, a soft glow spreads
                                       throughout the room.
                                       ^^~I am here, father. Thank you for your strength; it helps me.
                                       But be careful, there are many who intend you harm here. Sleep
                                       wisely, father. We will speak in the morning.~
                                       ^^Her words drift off into the night, and you feel alone once
                                       more.";
                               }
                               if (location == new_church)
                                       "She laughs. ~No need to be so formal,~ she says, touching your
                                       face gently. ~Not that I don't appreciate the gesture.~";
                               if (location ~= pass or stables && wolves notin location)
                                       "You say a few short words to Cecilia.
                                       ^^She can do nothing for you, right now.";
                               if (location == pass) {
                                       if (self.pass_prayed == true)
                                               "She has done all she can.";
                                       else
                                               self.pass_prayed = true;
                                               "The words slip out of your mouth, and immediately, a gentle
                                               glow flows from your forehead all around. It washes away the
                                               cold and pain, leaving you bathed in warmth.
                                               ^^Eventually, it subsides and you feel no different than you
                                               did before.";
                               }
                               if (wolves in stables) {
                                       if (lamb in player) {
                                       remove lamb;
                                       StartTimer(time_shadow, 5);
                                       remove wolves;
                                       wolves.chasing = 0;
                                       "Tears in your eyes, you mumble desperately for Cecilia to
                                       hear you. The wolves circle, ready to pounce. You speak faster.
                                       Louder. Please.
                                       ^^The wolves stop their growling, and look quizzically up at you.
                                       You shoo them away off into the wilderness and all is calm.
                                       ^^The danger gone, you drop the lamb gently. He
                                       runs off, bleating merrily.";
                                       }
                                       else
                                       remove lamb;
                                       remove wolves;
                                       StartTimer(time_shadow, 5);
                                       wolves.chasing = 0;
                                       "Tears in your eyes, you mumble desperately for Cecilia to
                                       hear you. The wolves circle, ready to pounce. You speak faster.
                                       Louder. Please.
                                       ^^The wolves stop their growling, and look quizzically up at you.
                                       You shoo them away off into the wilderness and all is calm.";
                               }
                               if (wolves in location) {
                                       if (lamb in player || location == clearing) {
                                       remove lamb;
                                       StopDaemon(wolves);
                                       remove wolves;
                                       StartTimer(time_shadow, 5);
                                       wolves.chasing = 0;
                                       "Tears in your eyes, you mumble desperately for Cecilia to
                                       hear you. The wolves circle you, ready to pounce. You speak
                                       faster. Louder. Please.
                                       ^^The alpha's teeth close around your arm for a moment, clamping
                                       hard. But then, a warmth spread through your limbs and soothes
                                       away the cold. The wolf's bite turns into a gentle caress as he
                                       begins to licking the wound he just inflicted. Satisfied you are
                                       safe, you shoo away the wolves.
                                       ^^The danger gone, you release the lamb. He nuzzles up to you
                                       for a moment before running off into the brush, bleating
                                       cheerfully.";
                                       }
                                       else
                                       StopDaemon(wolves);
                                       remove wolves;
                                       StartTimer(time_shadow, 5);
                                       wolves.chasing = 0;
                                       "Tears in your eyes, you mumble desperately for Cecilia to
                                       hear you. The wolves circle you, ready to pounce. You speak
                                       faster. Louder. Please.
                                       ^^The alpha's teeth close around your arm for a moment, clamping
                                       hard. But then, a warmth spread through your limbs and soothes
                                       away the cold. The wolf's bite turns into a gentle caress as he
                                       begins to licking the wound he just inflicted. Satisfied you are
                                       safe, you shoo away the wolves.";

                               }
                               if (location ~= stables ||(location == stables && horse notin
                               stables))
                                       "You say a few short words to Cecilia.
                                       ^^~There is nothing I can do for you, right now,~ she says; her
                                       voice is so soothing.";
                               if (location == stables && self.stable_prayed == false && horse.
                               released == true) {
                                       self.stable_prayed = true;
                                       "Your eyes close, and you begin your prayer. A warm wave washes
                                       in from your extremities, soothing away the cold.
                                       ^^The horse's wild eyes suddenly fade and grow dull. She
                                       docilely saunters over and nuzzles against you.";
                               }
                               if (location == stables && self.stable_prayed == false) {
                                       self.stable_prayed = true;
                                       "Your eyes close, and you begin your prayer. A warm wave washes
                                       in from your extremities, soothing away the cold. A playful
                                       whinny from the horse breaks your reverie.";
                               }
                               if (location == stables && self.stable_prayed == true)
                                       "She has done all she can.";
                               default:
                                       "She isn't here: in body, at least.";
               ],
               stable_prayed false,
               pass_prayed false,
               night_prayed false,
has             ;

Saint   francis "Saint Francis"
with    pname 'francis' 'of' 'assisi' 'birds' 'wolves' 'saint' 'st',
               description "Saint Francis stands: birds on his shoulders and wolves at his
               feet. His face is calm.",
               before [;
                       PrayThrough:
                               if (sin_shadow.evil == true) {
                                       QuoteFrom(evil_pray_quote);
                                       "A howl sounds above the wind, filling your bone with chill. A
                                       murder of crows deafens you with their caws, almost completely
                                       drowning the chitter at your feet. Rats. They swarm your legs:
                                       biting, tearing. They quickly turn from brown to rust as your
                                       blood soaks their fur. You stumble, and they engulf you in a
                                       seething mass of disease of coarse hair.
                                       ^^You open your eyes, and they are gone.";
                               }
                               if (self.stable_prayed == true)
                                       "You close your eyes and begin your prayer. There is no answer.
                                       ^^Once is all you get, you suppose.";
                               if (wolves in stables) {
                                       if (lamb in player) {
                                       remove lamb;
                                       StartTimer(time_shadow, 5);
                                       remove wolves;
                                       wolves.chasing = 0;
                                       "Tears in your eyes, you mumble desperately for Saint Francis to
                                       hear you. The wolves circle, ready to pounce. You speak faster.
                                       Louder. Please.
                                       ^^The wolves stop their growling, and look quizzically up at you.
                                       You shoo them away off into the wilderness and all is calm.
                                       ^^The danger gone, you drop the lamb gently. He
                                       runs off, bleating merrily.";
                                       }
                                       else
                                       remove lamb;
                                       remove wolves;
                                       StartTimer(time_shadow, 5);
                                       wolves.chasing = 0;
                                       "Tears in your eyes, you mumble desperately for Saint Francis to
                                       hear you. The wolves circle, ready to pounce. You speak faster.
                                       Louder. Please.
                                       ^^The wolves stop their growling, and look quizzically up at you.
                                       You shoo them away off into the wilderness and all is calm.";
                               }
                               if (wolves in location) {
                                       if (lamb in player || location == clearing) {
                                       remove lamb;
                                       StopDaemon(wolves);
                                       remove wolves;
                                       StartTimer(time_shadow, 5);
                                       wolves.chasing = 0;
                                       "Tears in your eyes, you mumble desperately for Saint Francis to
                                       hear you. The wolves circle you, ready to pounce. You speak
                                       faster. Louder. Please.
                                       ^^The alpha's teeth close around your arm for a moment, clamping
                                       hard. But then, a warmth spread through your limbs and soothes
                                       away the cold. The wolf's bite turns into a gentle caress as he
                                       begins to licking the wound he just inflicted. Satisfied you are
                                       safe, you shoo away the wolves.
                                       ^^The danger gone, you release the lamb. He nuzzles up to you
                                       for a moment before running off into the brush, bleating
                                       cheerfully.";
                                       }
                                       else
                                       StopDaemon(wolves);
                                       remove wolves;
                                       StartTimer(time_shadow, 5);
                                       wolves.chasing = 0;
                                       "Tears in your eyes, you mumble desperately for Saint Francis to
                                       hear you. The wolves circle you, ready to pounce. You speak
                                       faster. Louder. Please.
                                       ^^The alpha's teeth close around your arm for a moment, clamping
                                       hard. But then, a warmth spread through your limbs and soothes
                                       away the cold. The wolf's bite turns into a gentle caress as he
                                       begins to licking the wound he just inflicted. Satisfied you are
                                       safe, you shoo away the wolves.";

                               }
                               if (location ~= stables ||(location == stables && horse notin
                               stables))
                                       "You say a few short words to Saint Francis.
                                       ^^If he heard, he is not responding. Not now, at least.";
                               if (location == stables && self.stable_prayed == false && horse.
                               released == true) {
                                       self.stable_prayed = true;
                                       "Your eyes close, and you begin your prayer. A warm wave washes
                                       in from your extremities, soothing away the cold. However, when
                                       it reaches your chest, it turns to icy blackness. It twists and
                                       turns in your gut: shrinking, expanding. Just when you feel as
                                       though you are about to burst, it subsides.
                                       ^^The horse's wild eyes suddenly fade and grow dull. She
                                       docilely saunters over and nuzzles against you.";
                               }
                               if (location == stables && self.stable_prayed == false) {
                                       self.stable_prayed = true;
                                       "Your eyes close, and you begin your prayer. A warm wave washes
                                       in from your extremities, soothing away the cold. However, when
                                       it reaches your chest, it turns to icy blackness. It twists and
                                       turns in your gut: shrinking, expanding. Just when you feel as
                                       though you are about to burst, it subsides.";
                               }
                               if (location == stables && self.stable_prayed == true)
                                       "He has done all he can.";

               ],
               stable_prayed false,
has             ;

Saint   god "God"
with    pname 'god' 'jesus' 'jehovah' 'lord' 'holy' 'spirit' 'heavenly' 'father'
'christ',
               react_before [;
                       Pray:
                               print "(to God)^";
                               <<PrayThrough self>>;
               ],
               before [;
                       Examine:
                               "He is too far off to see.";
                       PrayThrough:
                               if (sin_shadow.evil == true)
                                       "His scream rips through your mind. He is anger. He is
                                               hate.";
                               switch(time_shadow.current_time) {
                                       0:
                                               if (location == church && sin_shadow.evil == false && self.
                                               prayed_church == false) {
                                               self.prayed_church = true;
                                               "You close your eyes and recite the Evensong. The words flow
                                               from your mouth by rote; they line your lips with ashes. You
                                               finish, and your heart is as heavy as it was before.";
                                               }
                                               else
                                               "A warmth spreads throughout your body. He walks with you.";
                                       1:
                                               "Nothing. You cannot feel him.";
                                       2:
                                               "Cold and dark, he refuses to listen.";
                                       3,4:
                                               "Your head splits, his voice drips through you like oil.";
                                       default:
                                               "His scream rips through your mind. He is anger. He is
                                               hate.";
                               }
               ],
               prayed_church false,
has             ;

Saint   devil "Devil"
with    pname 'devil' 'satan' 'lucifer' 'prince' 'of' 'darkness' 'evil',

               before  [;
                       Examine:
                               "He is close, but you cannot see him.";
                       PrayThrough:
                               deadflag =true;
                               "As the words slip from your mouth, a shudder rips through your body.
                               Invisible fists drive into your stomach; blood spills from your
                               mouth.
                               ^^Your mind screams. Your heart stops.";
                       PrayTo:
                               if (self.prayed == false) {
                                       self.prayed = true;
                                       sin_shadow.evil = true;
                                       "You close your eyes, and prepare yourself. ~Please, Satan,~ you
                                       begin. The words are hard. They cut your throat as they leave.
                                       ~Please, Satan, deliver me from the plague, and you shall have my
                                       soul.~  The words sink through the Earth: slowly, like black tar.
                                       ^^A flock of dismembered hands reach up through the ground,
                                       stealing away the black and disease that ravages your body, both
                                       seen and unseen. They swirl and dance, before sinking back to the
                                       ground. One
                                       lingers. It crawls up your leg and across your chest. It dives
                                       in, and emerges clutching a tiny ball of
                                       light in its bony finger. The hand drops back to the Earth with
                                       its prize and slinks away.
                                       ^^It is done.";
                               }
                               else
                                       "He already has your soul; you can offer him no more.";
               ],
               prayed false,
has             ~proper;

Saint   mary "Mary"
with    pname 'mary' 'mother' 'virgin',
               before [;
                       PrayThrough:
                               if (sin_shadow.evil == true)
                               "A mournful sob echoes through your brain.";
                               switch(time_shadow.current_time) {
                                       0:
                                               "She is warm. Her embrace fills you with joy.";
                                       1:
                                               "She is silent.";
                                       default:
                                               "A sob is all you hear.";
                       }
               ],
has     ;


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!MISCELLANEOUS QUOTES
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!Esther 1:11
!To bring Vashti the queen before the king with the crown royal, to shew the people
!and the princes her beauty: for she was fair to look on.

!Job 40:10
!Deck thyself now with majesty and excellency; and array thyself with glory and
!beauty.

!Isaiah 3:24
!And it shall come to pass, that instead of sweet smell there shall be stink; and
!instead of a girdle a rent; and instead of well set hair baldness; and instead of a
!stomacher a girding of sackcloth; and burning instead of beauty.

!2 Samuel 11:2
!And it came to pass in an eveningtide, that David arose from off his bed, and walked
!upon the roof of the king's house: and from the roof he saw a woman washing herself;
!and the woman was very beautiful to look upon.

!Isaiah 64:11
!Our holy and our beautiful house, where our fathers praised thee, is burned up with
!fire: and all our pleasant things are laid waste.


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!ENTRY POINT ROUTINES
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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

 font on;
 box
               "Be not forgetful to entertain"
               "strangers: for thereby some have"
               "entertained angels unawares."
               ""
               "                -- Hebrews 13:2"
               ;
 @read_char 1 -> k;
 @erase_window -1;
];

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

 font on;
 box
               "I am in the midst of lions; "
               "I lie among ravenous beasts: "
               "men whose teeth are spears and arrows, "
               "whose tongues are sharp swords. "
               ""
               "                   -- Psalms 57:4"
               ;
 @read_char 1 -> k;
 @erase_window -1;
];

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

 font on;
 box
               "And no marvel; for Satan himself"
               "is transformed into an angel of light."
               ""
               "              II Corinthians 11:14"
               ;
 @read_char 1 -> k;
 @erase_window -1;
];

[ DrawStatusLine width j;
 ! get the width of the status bar, and go into the status bar font
 ! and so on
 width = 0->33;
 font off;
 @split_window 1; @buffer_mode 0; @set_window 1;
 style reverse; @set_cursor 1 1; spaces(width);

 ! go to column 2 and print the location name
 @set_cursor 1 2;
 PrintShortName(location);

 ! we want to print the other text ending at column (width-2),
 ! which means we have to print it to a temporary array and then
 ! work out its length
 @output_stream 3 statusbar_temp;
 print (string) statusbar_right;
 @output_stream -3;

 ! its length is in statusbar_temp-->0, so step back that many chars,
 ! plus 2 more, from the right side of the status bar:
 j = (width - (statusbar_temp-->0) - 2);
 @set_cursor 1 j; print (string) statusbar_right;

 ! and turn off all the statusbar printing fonts and stuff:
 style roman; @buffer_mode 1; @set_window 0; font on;
];


![ DrawStatusLine;
!  @split_window 1; @set_window 1; @set_cursor 1 1; style reverse;
!  spaces (0->33);
!  @set_cursor 1 2;  PrintShortName(location);
!  if (1 == 1)
!               switch(time_shadow.current_time) {
!      0:
!      @set_cursor 1 105; print "Vespers",;
!      1:
!      @set_cursor 1 103; print "Compline",;
!      2:
!      @set_cursor 1 107; print "Matins",;
!      3:
!      @set_cursor 1 107; print "Lauds",;
!      4:
!      @set_cursor 1 107; print "Prime",;
!      5:
!      @set_cursor 1 107; print "Terce",;
!      6:
!      @set_cursor 1 108; print "Sext",;
!      7:
!      @set_cursor 1 108; print "None",;
!      8:
!      @set_cursor 1 105; print "Vespers",;
!      9:
!      @set_cursor 1 105; print "",;
!      default:
!      @set_cursor 1 105; print "ERROR",;
!      }
!  @set_cursor 1 1; style roman; @set_window 0;
!];

[ DeathMessage ;
       if (deadflag == 4)

!       box
!                                                                       "And when the sun was going down, "
!                                                                       "a deep sleep fell upon Abram; and, lo, "
!                                                                       "an horror of great darkness fell upon
!                                                                       him."
!                                                                       ""
!                                               "                        -- Genesis 15:12";
!       @read_char 1 -> k;
       print "It is over";
       if (deadflag == 3)
               print "It is over";
       if (deadflag == 5)
               print "It is over";
       else
               return false;
];

[ ChooseObjects obj code;
 if (code < 2) { if (obj has scenery or animate or static) return 2; rfalse; }
 if (action_to_be == ##TalkTo && obj has animate) return 3;
 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 (obj hasnt scenery) return 2;
 return 1;
];


[ Initialise;
               statusbar_right = "Vespers";
               StartDaemon(plague_shadow);
               move constantin_tools to constantin_room;
               move dove to path;
               move hatch_lock to kitchen;
               move hay to stables;
               move holy_water to church_font;
!               move journal to player;
               move your_frock to player;
               move your_candle to player;
               move tinderbox to player;
               give your_frock worn;
               move your_bedding to your_bed;
               move constantin1 to constantin_room;
               move drogo1 to refectory;
               move ignatius1 to church;
               move matteo1 to tower;
!               move knife to cutlery_rack;
               move cecilia_food to cupboard;
               DayOne();
               location = your_bedroom;
               lookmode = 2;
               style underline;
               print
               "
               ^^It has been five days, now. Five days since I made the choice.
               Five days since I closed the gate.^^
               Really, there was no choice. Rovato was damned when the first spot appeared:
               when the first bloody cough ensued from the mouth of an urchin. To have
               allowed the sick sanctuary at Saint Cuthbert's would only have damned us as
               well.^^
               But we were already damned.^^
               The plague came. And now we suffer.^^
               ";
               style roman;
];


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!GRAMMAR
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Include "Grammar";



[ ScoreSub ;
       if (deadflag == 0)
       "There is no score in this game.";
!       if (deadflag == 4)

!       box
!               "And when the sun was going down, "
!               "a deep sleep fell upon Abram; and, lo, "
!               "an horror of great darkness fell upon him."
!               ""
!               "                        -- Genesis 15:12";
!       @read_char 1 -> k;
];

[ ReadSub;
 <<Examine noun>>;
];

[ WhoisSub;
       "You don't know who that is.";
];

[ ExtinguishSub;
       "That's not lit.";
];

[ PrayToSub;

       if (noun == god)
               <<PrayThrough noun>>;
       if (noun ofclass Saint && noun ~= god) {
               sin_shadow.total_sin = sin_shadow.total_sin + 5;
               <<PrayThrough noun>>;
       }
       else
               "You say a few words of prayer, but they go unheard.";
];

[ HideSub;
       "There is nothing to hide from.";
];

[ PetSub;
       "That wouldn't do any good.";
];

[ FeedSub;
       if (hay notin player|| cecilia_food notin player || lamb notin player || hare
       notin player)
               "You have no food.";
       if (noun has male)
               "He's not hungry.";
       if (noun has female)
               "She's not hungry.";

];

[ TripSub;
       "There is no need.";
];

[ UnmaskSub;
       "There is no need.";
];

[ TalkToSub;
       if (location == locutory && cecilia1.woken == true)
               "She starts slowly.";
       else
       "No response.";
];

[ KillSub;
       <<Attack noun>>;
];

[ SleepWithSub;
       if (noun == player)
               <<Masturbate>>;
       else
       "You can't.";
];

[ MasturbateSub;
       if (sin_shadow.masturbated == true)
               "You are spent.";
       else
               QuoteFrom(masturbate_quote);
               sin_shadow.masturbated = true;
               sin_shadow.evil = true;
               "Slowly, you fondle yourself through your frock. Fast. Faster. Within a few
               moments, you are spent: your seed released.";

];

[ KneelSub;
       if (location ~= church or chancel)
               "This is not the place.";
       else
               "You kneel upon the floor, your knees cracking with age.";
];

[ InviteSub;
       "There is no need.";
];

[ PrayThroughSub;
       if (noun ofclass Saint)
               return false;
       else
               "You say a few words of prayer, but they go unheard.";
];

[ MakeSub;
       "You cannot make that.";
];

[ ShoutSub;
       "Your cries fall on deaf ears.";
];

[ BurySub;
       "There is no need.";
];

[ RepentSub;
       if (sin_shadow.evil == true)
       "The words burn your tongue. There are somethings even God doesn't forgive.";
       else
       "You say a few hollow words. They dry and crumble in your mouth.";
];

[ PrayForSub;
       "You say a few hollow words. They dry and crumble in your mouth.";
];

[ HelpPersonSub;
       if (noun hasnt animate)
       "You can't help it.";
       if (noun has female)
       "She doesn't need your help.";
       else
       "He doesn't need your help.";
];

[ ScratchSub;
       "You tear at your skin briskly for a few moments. You don't stop the itch, but
       the distraction is some small relief.";
];

[ AlternativesSub;
       alternatives_menu.select();
];

[ WalkthruMiddleSub;
       "x me
^w
^open box
^take coin
^n
^e
^s
^talk to lucca
^talk to lucca
^talk to lucca
^lift stone
^n
^se
^talk to constantin
^talk to constantin
^talk to constantin
^talk to constantin
^n
^w
^ne
^u
^talk to matteo
^talk to matteo
^talk to matteo
^talk to matteo
^d
^sw
^n
^talk to ignatius
^talk to ignatius
^talk to ignatius
^talk to ignatius
^n
^read bible
^s
^s
^w
^talk to drogo
^talk to drogo
^talk to drogo
^talk to drogo
^talk to drogo
^x scratchings
^s
^open cupboard
^look in cupboard
^take food
^open hatch
^n
^e
^s
^open door
^take girl
^w
^put girl on bed
^light fire
^e
^e
^take blanket
^w
^w
^put blanket on girl
^give food to girl
^x girl
^talk to girl
^talk to girl
^e
^n
^ne
^talk to drogo
^talk to drogo
^talk to drogo
^z
^sw
^se
^talk to lucca
^talk to lucca
^talk to lucca
^talk to lucca
^talk to lucca
^talk to lucca
^talk to lucca
^nw
^ne
^search matteo
^read note
^sw
^e
^se
^talk to constantin
^talk to constantin
^talk to constantin
^n
^n
^talk to ignatius
^talk to ignatius
^talk to ignatius
^talk to ignatius
^s
^w
^s
^w
^talk to girl
^talk to girl
^talk to girl
^talk to girl
^e
^e
^pray to cecilia
^push desk
^sleep
^listen
^hide
^
^
^w
^talk to cecilia
^talk to cecilia
^n
^se
^talk to constantin
^talk to constantin
^talk to constantin
^x hole
^nw
^n
^n
^x matteo
^talk to drogo
^talk to drogo
^talk to drogo
^talk to matteo
^talk to matteo
^talk to matteo
^s
^s
^s
^s
^w
^talk to cecilia
^talk to cecilia
^talk to cecilia
^e
^s
^s
^x dove
^e
^x stalls
^feed horse
^pray to cecilia
^open stall
^w
^s
^x footsteps
^x mounds
^dig mounds
^ride horse
^x tracks
^x river
^x sack
^pull lucca
^search lucca
^read paper
^talk to lucca
^talk to lucca
^talk to lucca
^ride horse
^listen
^x shape
^n
^x avalanche
^pray
^pray to cecilia
^n
^n
^e
^ne
^n
^take lamb
^s
^sw
^u
^throw lamb to wolves
^d
^w
^w
^in
^x beds
^x marks
^out
^ne
^nw
^x crosses
^dig crosses
^sw
^se
^e
^n
^n
^w
^talk to cecilia
^talk to cecilia
^talk to cecilia
^e
^n
^e
^se
^put wax in constantin's ears
^take keys
^take keys
^n
^w
^w
^w
^s
^unlock hatch with key
^d
^light candle
^take prybar
^x bodies
^put out candle
^hide behind stairs
^trip man
^out
^x man
^search man
^u
^n
^e
^e
^s
^pry flagstone with bar
^take papers
^read papers
^q
^n
^w
^ne
^u
^push constantin
^
^
^z
^z
^z
^talk to cecilia
^talk to cecilia
^talk to cecilia
^talk to cecilia
^talk to cecilia
^talk to cecilia
^u
^quit
";
];

[ WalkthruGoodSub;
       "x me
^w
^open box
^n
^e
^s
^talk to lucca
^talk to lucca
^talk to lucca
^help lucca
^lift stone
^n
^se
^talk to constantin
^talk to constantin
^talk to constantin
^talk to constantin
^n
^w
^ne
^u
^talk to matteo
^talk to matteo
^talk to matteo
^talk to matteo
^d
^sw
^n
^talk to ignatius
^talk to ignatius
^talk to ignatius
^x windows
^x francis
^x medard
^x drausinus
^x cuthbert
^n
^read bible
^s
^s
^w
^talk to drogo
^talk to drogo
^talk to drogo
^talk to drogo
^x scratches
^s
^open cupboard
^look in cupboard
^take food
^open hatch
^n
^e
^s
^open door
^take girl
^w
^put girl on bed
^light fire
^e
^e
^get blanket
^w
^w
^give blanket to girl
^give food to girl
^x girl
^talk to girl
^talk to girl
^e
^n
^ne
^x matteo
^talk to drogo
^talk to drogo
^talk to drogo
^sw
^se
^talk to lucca
^talk to lucca
^talk to lucca
^talk to lucca
^talk to lucca
^talk to lucca
^nw
^ne
^search matteo
^read note
^sw
^e
^se
^talk to constantin
^talk to constantin
^talk to constantin
^ask constantin about rabbit
^take rabbit
^n
^n
^talk to ignatius
^talk to ignatius
^talk to ignatius
^talk to ignatius
^s
^w
^s
^w
^talk to girl
^talk to girl
^talk to girl
^talk to girl
^e
^e
^push desk
^sleep
^listen
^hide
^
^
^w
^talk to cecilia
^talk to cecilia
^n
^se
^talk to constantin
^talk to constantin
^talk to constantin
^x hole
^nw
^n
^n
^talk to drogo
^talk to drogo
^talk to drogo
^x matteo
^s
^s
^s
^s
^w
^talk to cecilia
^talk to cecilia
^talk to cecilia
^e
^s
^s
^x dove
^e
^x stalls
^feed horse
^pray to saint francis
^open stall
^w
^s
^x footsteps
^x mounds
^dig mounds
^ride horse
^x tracks
^x river
^x sack
^pull lucca
^search lucca
^read paper
^ride
^ride horse
^listen
^x shape
^pray to saint medard
^z
^z
^z
^n
^n
^e
^ne
^n
^take lamb
^s
^sw
^u
^throw hare to wolves
^d
^w
^w
^in
^x beds
^x marks
^out
^n
^nw
^x crosses
^dig crosses
^se
^e
^n
^n
^w
^talk to cecilia
^talk to cecilia
^talk to cecilia
^e
^n
^x spill
^se
^x snow
^dig snow
^nw
^w
^s
^break lock
^d
^light candle
^take prybar
^x bodies
^put out candle
^hide behind stairs
^pray to drausinus
^out
^x figure
^search him
^u
^n
^e
^e
^s
^pry flagstone with bar
^take papers
^read them
^q
^s
^n
^w
^ne
^u
^push cecilia
^
^
^z
^z
^z
^z
^talk to cecilia
^talk to cecilia
^talk to cecilia
^talk to cecilia
^talk to cecilia
^repent
^u";
];

[ WalkthruEvilSub;
"x me
^w
^open box
^take coin
^n
^e
^s
^talk to lucca
^talk to lucca
^talk to lucca
^pull stone
^n
^se
^talk to constantin
^talk to constantin
^talk to constantin
^talk to constantin
^n
^w
^ne
^u
^talk to matteo
^talk to matteo
^talk to matteo
^talk to matteo
^push matteo
^d
^search matteo
^read note
^sw
^n
^talk to ignatius
^talk to ignatius
^talk to ignatius
^s
^w
^talk to drogo
^talk to drogo
^talk to drogo
^talk to drogo
^talk to drogo
^x scratches
^s
^open hatch
^n
^e
^s
^open door
^take girl
^w
^put girl on bed
^hit girl
^z
^talk to girl
^talk to girl
^e
^n
^ne
^talk to drogo
^talk to drogo
^talk to drogo
^z
^sw
^se
^talk to lucca
^nw
^e
^se
^talk to constantin
^talk to constantin
^talk to constantin
^n
^n
^talk to ignatius
^talk to ignatius
^talk to ignatius
^talk to ignatius
^s
^w
^s
^w
^talk to girl
^talk to girl
^talk to girl
^e
^e
^pray to cecilia
^push desk
^sleep
^listen
^hide
^
^
^w
^talk to cecilia
^talk to cecilia
^n
^se
^talk to constantin
^talk to constantin
^talk to constantin
^x hole
^nw
^talk to drogo
^z
^talk to drogo
^talk to drogo
^talk to drogo
^x matteo
^s
^s
^s
^s
^w
^talk to cecilia
^talk to cecilia
^talk to cecilia
^e
^s
^s
^x dove
^x footsteps
^e
^x stalls
^feed horse
^hit horse
^open stall
^w
^s
^x mounds
^dig mounds
^ride horse
^x tracks
^x river
^x sack
^pull lucca
^search lucca
^read paper
^ride horse
^listen
^x shape
^kill horse
^hide behind horse
^z
^z
^n
^n
^e
^ne
^n
^x lamb
^pray to cecilia
^s
^sw
^w
^w
^nw
^x crosses
^dig graves
^dig crosses
^se
^in
^x beds
^x marks
^out
^e
^n
^n
^w
^talk to cecilia
^talk to cecilia
^talk to cecilia
^e
^n
^e
^se
^kill constantin
^take keys
^n
^w
^w
^s
^unlock hatch with key
^d
^light candle
^take prybar
^x corpses
^hide in bodies
^z
^kick man
^out
^x figure
^search him
^u
^n
^e
^e
^s
^pry flagstone with bar
^take papers
^read them
^q
^s
^n
^w
^ne
^u
^
^
^z
^z
^z
^z
^talk to cecilia
^talk to cecilia
^talk to cecilia
^talk to cecilia
^talk to cecilia";
];

[ BrothersSub;
       "Brothers:
       ^^Drogo, Matteo, Constantin, Lucca, and Ignatius.";
];

[ SaintsSub;
       "Saints:
       ^^Medard, Francis, Cuthbert, and Drausinus.";
];

[ SellSub;
       <<PrayTo devil>>;
];

[ QuotesOnSub;
       misc_shadow.quotes_on = true;
       "Box quotes are now on.";
];

[ QuotesOffSub;
       misc_shadow.quotes_on = false;
       "Box quotes are now off.";
];


Verb meta 'brothers' 'brother'
* -> Brothers;

Verb meta 'saint' 'saints'
* -> Saints;

Verb 'scratch'
* -> Scratch
* 'me' -> Scratch
* 'myself' -> Scratch
* 'skin' -> Scratch;

Extend 'read' first * legible -> Read;

Verb 'who'
* 'is' topic -> Whois;

Verb 'kick'
* noun -> Attack;

Verb 'ring'
* noun -> Attack;

Extend 'look' first


   *                                   -> Look
   * 'up' scope = TopicScope 'in' noun -> Consult reverse;

Extend 'consult' first
   * noun 'about' scope = TopicScope   -> Consult;

Extend 'ask' first
   * creature 'about' scope = TopicScope -> Ask;

Extend 'tell' first
   * creature 'about' scope = TopicScope -> Tell;

Extend 'answer' first
   * scope = TopicScope 'to' creature  -> Answer;

Extend 'put'
* 'out' noun -> Extinguish;

Verb 'extinguish' 'snuff'
* noun -> Extinguish;

Extend 'blow' first
* 'out' noun -> Extinguish
* noun -> Extinguish;

Extend 'climb'
* 'on' noun -> Climb;

Extend 'jump'
* 'on' noun -> Climb;

Extend 'jump'
* 'down' -> GetOff;

Verb 'let'
* noun 'go' -> Drop
* noun 'out' -> Drop;

Verb 'release'
* noun -> Drop;

Extend 'pray'
* 'for' noun -> PrayFor
* noun -> PrayTo
* 'to' noun -> PrayTo
* 'through' noun -> PrayThrough
* 'to' 'god' 'through' noun -> PrayThrough;

Verb 'hide' 'cower' 'crouch' 'shelter'
* -> Hide
* 'behind' noun -> Hide
* 'under' noun -> Hide
* 'in' noun -> Hide;

Verb 'pet' 'groom'
* animate -> Pet;

Extend 'feed' first
* animate -> Feed;

Verb 'ride'
* noun -> Enter;

Verb 'beat'
* noun -> Attack;

Verb 'mount'
* noun -> Enter;

Extend 'throw'
* noun 'to' noun -> Give;

Verb 'free'
* noun -> Drop;

Verb 'untie'
* noun -> Drop;

Extend 'dig' first
* -> Dig;

Extend 'hit'
* noun 'with' noun -> Attack;

Extend 'attack'
* noun 'with' noun -> Attack;


Extend 'break'
* noun 'with' noun -> Attack;

Extend 'crack'
* noun 'with' noun -> Attack;

Extend 'destroy'
* noun 'with' noun -> Attack;

Extend 'smash'
* noun 'with' noun -> Attack;

Extend 'wreck'
* noun 'with' noun -> Attack;

Verb 'smear'
* noun 'on' noun -> PutOn;

Extend 'rub'
* noun 'on' noun -> PutOn;

Verb 'trip'
* noun -> Trip;

Verb 'unmask' 'decowl' 'undress'
* noun -> Unmask;

Verb 'talk' 't'
* 'to' animate 'about' topic -> Ask
* noun -> TalkTo
* 'to' noun -> TalkTo;

Extend only 'murder' 'kill' replace
   * animate -> Kill;

Extend 'murder'
* noun -> Attack;

Extend 'kill'
* noun -> Attack;

Extend 'sleep'
* 'with' animate -> SleepWith;

Extend 'enter'
* animate -> SleepWith;

Verb 'have'
* 'sex' 'with' animate -> SleepWith
* 'coitus' 'with' animate -> SleepWith
* 'intercourse' 'with' animate -> SleepWith;

Verb 'rape'
* animate -> SleepWith;

Verb 'masturbate'
* -> Masturbate;

Verb 'kneel'
*       -> Kneel
* 'on' 'ground' -> Kneel
* 'on' 'floor' -> Kneel;

Verb 'invite'
* animate -> Invite;

Verb 'start'
* 'fire' -> Burn;

Verb 'lift'
* noun -> Take;

Verb 'make'
* noun -> Make;

Extend 'look'
* 'behind' noun -> LookUnder
* 'out' noun -> Search;

Verb 'yell' 'scream' 'cry' 'shriek' 'wail'
* -> Shout;

Extend 'shout' first
* -> Shout;

Verb 'bury'
* noun -> Bury;

Extend 'dig'
* 'in' noun -> Search;

Verb 'hammer'
* noun -> Attack;

Verb 'repent' 'confess'
* 'sin' -> Repent
* 'sins' -> Repent
* -> Repent;

Extend 'eat' first
* noun -> Eat;

Extend 'put'
* noun 'out' -> Extinguish;

Extend 'blow'
* noun 'out' -> Extinguish;

Verb 'unhide'
* -> Exit;

Verb 'alternatives'
* -> Alternatives;

Verb 'walkthru' 'walkthrough'
* -> WalkthruMiddle
* 'middle' -> WalkthruMiddle
* 'good' -> WalkthruGood
* 'evil' -> WalkthruEvil;

Verb 'sell'
* 'soul' 'to' 'the' 'devil' -> Sell
* 'soul' 'to' 'devil' -> Sell
* 'soul' 'to' 'satan' -> Sell
* 'soul' -> Sell
* 'soul' 'to' 'lucifer' -> Sell;

Verb meta 'quotes' 'quote'
* 'on' -> QuotesOn
* 'off' -> QuotesOff;