!------------------------------------------------------------------------------ ! ! ! D E A D L I N E ! ! ! Inform Port ! ! ! This material contains elements based on the game Deadline. ! It is used with permission as instructive material. ! Original Deadline material is (c) 1982, 1999 Activision, Inc. ! Deadline and Activision are registered trademarks of Activision, Inc. ! All rights reserved. ! ! Inform Port written by Volker Lanz. Please do not distribute modified ! versions of these files. ! You can contact me via e-mail: volker.lanz@gmx.net ! ! ENDOFGAME.INF ! ============= ! Routines for the end of the game ! ! !------------------------------------------------------------------------------ !------------------------------------------------------------------------------ [ BehavedBadly; print "Your mind becomes confused amidst strange screaming, yelling, and the pangs of your conscience. ~How could I have done it?~ you ask yourself, as you hear the distant sound of police sirens. Sergeant Duffy and two other officers enter and grab you rather unceremoniously. They take you to a waiting car, where, forlorn and disgusted, you begin to ponder prison life. ~Perhaps,~ you think, ~I shouldn't have done that.~^"; EndOfGame(0); ]; !------------------------------------------------------------------------------ [ EndOfGame status i; for(::) { new_line; if (status == 0) print "The case has ended"; else print "You have solved the case"; print ". You might like to RESTART your investigation over from scratch, RESTORE a saved position"; if (status == 0) print ", UNDO your last move"; #ifndef NOHINTS; print ", ask for a HINT"; #endif; print " or QUIT the story entirely.^>"; read buffer parse; new_line; i = parse-->1; if (i == QUIT1__WD or QUIT2__WD) quit; else if (i == RESTART__WD) @restart; else if (i == RESTORE__WD) RestoreSub(); else if (i == 'help' or 'hint') { give hint_menu ~locked; give hint_menu general; HelpSub(); } else if (status == 0 && i == UNDO1__WD or UNDO2__WD or UNDO3__WD) { if (undo_flag == 0) L__M(##Miscellany,6); else if (undo_flag == 1) jump UndoFailed2; @restore_undo i; if (i == 0) { .UndoFailed2; L__M(##Miscellany,7); } } else L__M(##Miscellany,8); } ]; !------------------------------------------------------------------------------ [ ArrestSub a b; ! If the player tries to arrest more than two people, we don't allow it if (multiple_object-->0 > 2) return(ArrestFarFetched()); ! Checking if player tries to arrest two persons or one person only ! Setting up a and b respectively if(multiple_object-->0 == 2) ! The player has given two objects, so we'll copy them to a and b { a = multiple_object-->1; b = multiple_object-->2; } else { a = noun; if (~~ TestScope(a)) print_ret (The) a, " isn't here!"; b = 0; } if (a == Duffy || b == Duffy) "Oh, come on! Not trusty Sergeant Duffy!"; if (a == player || b == player) "You can't arrest yourself."; ! If Duffy is at the lab analyzing something, we can't arrest anyone if(DuffyTimer.time_left >= 0) print_ret (string) DuffyBusy; ! Now we check if both objects are animate if (a hasnt animate) return(ArrestNonAnimate(a)); if (b && b hasnt animate) return(ArrestNonAnimate(b)); ! If it's before 9 o'clock, we don't allow any arrests if (the_time < 9*60) "It is rather early in the case to be making hasty judgments."; ! If the player hasn't been in the house at all, we don't allow ! any arrests if (Foyer hasnt visited) return(ArrestFarFetched()); ! If player tries to arrest Dunbar and she's dead, we have to say that if (a == Dunbar_Body || b == Dunbar_Body) "Ms. Dunbar is dead."; if ((a == Ms_Dunbar || b == Ms_Dunbar) && parent(Ms_Dunbar) == 0) { if (Dunbar_Body hasnt general) { give Dunbar_Body general; "Sergeant Duffy rushes into view. ~Ms. Dunbar is dead! She has shot herself in her room! Come quickly!~ He dashes off."; } "Ms. Dunbar is dead."; } ! Now we have a look at whom the player tries to arrest; there are only a few ! possibilities that we allow: ! Ms. Dunbar ! Ms. Dunbar and Mr. Baxter ! Mr. Baxter ! Mr. Baxter and George ! George ! Mrs. Robner switch(a) { Ms_Dunbar: if (b == Mr_Baxter) return(ArrestBaxterDunbar()); else if (b == 0) return(ArrestDunbar()); Mr_Baxter: if (b == Ms_Dunbar) return(ArrestBaxterDunbar()); else if (b == George) return(ArrestGeorgeBaxter()); else if (b == 0) return(ArrestBaxter()); George: if (b == Mr_Baxter) return(ArrestGeorgeBaxter()); else if (b == 0) return(ArrestGeorge()); Mrs_Robner: if (b == 0) return(ArrestRobner()); } ! The player tried to arrest someone else, so if he tried to arrest ! two people, we give the standard message... if (b ~= 0) return(ArrestFarFetched()); ! ... and if he tried to arrest only one person, we say he doesn't ! have enough evidence. "You realize that you don't have enough evidence to convict ", (the) a, " so you resolve to continue the investigation."; ]; !------------------------------------------------------------------------------ [ ArrestBaxterDunbar; ! If it's before 11 am, we don't allow arresting Baxter and Dunbar if (the_time < 11*60) "You realize the arrest would be a trifle premature, since you're not even sure that a murder was committed."; if (parent(Mr_Baxter) && parent(Ms_Dunbar)) print "Sergeant Duffy dutifully appears and escorts both Ms. Dunbar and Mr. Baxter from the grounds.^"; ! First of all, has the player all things to win the game? Then let him win! if (Lab_Report has moved && Stack_Of_Papers has moved && Pad has general && Ticket_Stub has baxter_shown && Ticket_Stub has dunbar_shown) { Klutz("September 5"); print "Congratulations on your superb handling of the Robner case. As you have probably heard, a jury convicted Mr. Baxter and Ms. Dunbar today of the murder of Mr. Robner. Thanks to you, the murderers will be behind bars, possibly for the rest of their lives. Thanks for a job brilliantly done. Which reminds me of another fascinating case I would like to assign you to...^^ Coming soon: Another INTERLOGIC Mystery from Infocom^"; WonGame(); } ! The player hasn't won since he doesn't have all ingredients for an ironclad case ! Let's go through all these and see what he's missed... ! He hasn't seen the lab report. if (Lab_Report hasnt moved) { Klutz("August 19"); print "The District Attorney has decided not to seek an indictment in the Robner case. He points out that it has never been proven that a murder was committed, despite the deep suspicions to the contrary. Thanks for your help on this case. It's too bad we couldn't find out more about the circumstances surrounding the death of Mr. Robner.^^"; } ! He hasn't seen the stack of papers else if (Stack_Of_Papers hasnt moved) { Klutz("September 2"); print "A grand jury looking into the death of Mr. Robner has decided not to indict the accused. They felt that the lack of motive as well as the contorted hypothesis involving the actual mechanism of the murder of Mr. Robner was not convincing. Personally, I think you're on the right track, but I must admit that the evidence is meager. Thank you for helping in the case.^^"; } ! He hasn't seen the note on the pad else if (Pad hasnt general) { Klutz("October 4"); print "The jury in the Robner case has declined to convict Mr. Baxter and Ms. Dunbar. Appearances indicate that the verdict was difficult, and that several jury members were convinced that the two were guilty. However, no evidence was presented directly relating the Focus case with the murder of Mr. Robner. This left the question of motive unresolved. I appreciate your efforts in the case and am sorry to report this outcome to you.^^"; } ! He hasn't shown the ticket stubs to Dunbar and Baxter alone, so he doesn't ! have the conflicting stories else { Klutz("October 6"); print "The jury in the Robner case has declined to convict Mr. Baxter and Ms. Dunbar. Although most of the jury was convinced of their guilt, it seems that one or two felt there was some reasonable doubt about the proposed conspiracy. Their main concern was the lack of evidence that Baxter was near the grounds on the night of the murder. His alibi of having been to the symphony was confirmed by several people. Although this doesn't mean that he didn't go back to the Robner estate later, it nevertheless was not convincing. Thank you for your excellent efforts. It is sad to think that we may have let the murderers slip between our fingers.^^"; } EndOfGame(0); ]; !------------------------------------------------------------------------------ [ ArrestGeorgeBaxter; if (Lab_Report hasnt moved) "You realize that there is no evidence that a murder has been committed and decide not to go ahead with the arrest."; if (parent(George) && parent(Mr_Baxter)) print "Sergeant Duffy dutifully appears and escorts both George and Mr. Baxter from the grounds.^"; if ((New_Will has moved || (New_Will.destruction_seen == 1 && Wet_Piece_Of_Paper has moved)) && Stack_Of_Papers has moved && Pad has general) { Klutz ("November 12"); print "The district attorney, after extensive interrogation of George Robner and Mr. Baxter, has declined to seek an indictment against them. He agrees that there has been foul play in the death of Mr. Robner and that both suspects have motives for the crime. However, no coherent theory could be proposed which involved the two of them conspiring to murder Mr. Robner. On the other hand, it seems unlikely that either of them alone could have committed the crime. I am sorry that your work has gone for naught.^^"; } else { Klutz ("August 1"); print "The district attorney has declined to indict George Robner and Mr. Baxter in the death of Marshall Robner, noting that there is no link between the accused, except hatred, and that all of the evidence is circumstantial. I wish you luck on your future cases.^^"; } EndOfGame(0); ]; !------------------------------------------------------------------------------ [ ArrestDunbar; print "Sergeant Duffy enters the room solemnly. He places handcuffs on Ms. Dunbar and leads her off. She is sobbing hysterically.^^"; Klutz ("August 10"); if (Lab_Report has dunbar_shown or baxter_shown) print "What a tragedy! Ms. Dunbar, released on bail during her trial for the murder of Mr. Robner, was found dead this morning, the victim of an apparent suicide. Her death is all the more distressing as the district attorney was trying to arrange some plea-bargaining deal with her in exchange for information implicating an unnamed accomplice. I am sorry to be the one to let you know. Thanks for your hard work on the Robner case.^^"; else print "I wanted to let you know the disposition of the Robner case. Ms. Dunbar was acquitted today, the jury citing a lack of motive and only circumstantial evidence. I am extremely sorry.^^"; EndOfGame(0); ]; !------------------------------------------------------------------------------ [ ArrestBaxter; if (Dunbar_Body in Dunbar_Bedroom) { print "Sergeant Duffy enters the room solemnly. He places a pair of handcuffs on Mr. Baxter, who is stiff and unspeaking. ~Let's not have any trouble, now.~ Duffy remarks to Baxter. With that, he leads him from your view and into a police car waiting near the south lawn.^^"; if (Stack_Of_Papers has moved && Pad has general) { Klutz("August 10"); print "Congratulations on your work in the Robner case. As I'm sure you are aware, Mr. Baxter was found guilty "; if ((Blue_Pen has general && Suicide_Note has moved) || Mr_Baxter.seen_escape == 1) print "of two counts of first-degree murder and has been sentenced to two consecutive terms of life imprisonment. My only regret is that Dunbar couldn't stand trial with him. We may never know the complete story behind the Robner murder. But once again, thanks.^^"; else print "of first-degree murder in the death of Ms. Dunbar. Unfortunately, Baxter remained tight-lipped throughout the proceedings, and except for the revelation that Baxter and Dunbar were lovers, there was no motive established for her murder. The jury acquitted Mr. Baxter in the murder of Mr. Robner, as a motive had not been established. I am indeed sorry that a proper conclusion to the case could not have been made.^^"; EndOfGame(0); } else { Klutz ("August 13"); print "I heard today that the jury in the Robner case has voted to acquit Mr. Baxter of both murders at the Robner house.^"; if (Stack_Of_Papers has moved) { print "While it was clear that Baxter had committed numerous crimes in the Focus case, the jury was unconvinced of the relation between that and the murders. They felt that Ms. Dunbar had committed the first murder, although I can't imagine any scenario in which that would be possible, and had committed suicide in desperation. These explanations leave much to be desired, but what's done is done. I can't help feeling that there is more to this case than has been discovered. Thank you for your work.^^"; EndOfGame(0); } print "The jury believed the more probable story: that Ms. Dunbar committed the first murder and then committed suicide when her guilt became clear to you. I don't really believe this any more than you do, but the evidence is vague, you must agree. Thanks again for handling the case.^^"; EndOfGame(0); } } if (Stack_Of_Papers has moved && Pad has general && Lab_Report has moved) { print "Trusty Sergeant Duffy enters and places Mr. Baxter under arrest. They leave, Baxter remaining calm.^^"; Klutz ("August 11"); print "I am sorry to report that Mr. Baxter was acquitted yesterday of the murder of Mr. Robner. In speaking to the District Attorney, I gathered that the jury was almost convinced of Baxter's guilt, given that he had both motive and a means to enter the house using the ladder. However, the theory had a number of serious flaws, including the means by which Baxter could have administered the drug either without Robner's knowledge or without a struggle. I must confess that I too am baffled. I am convinced that Baxter is guilty, but I fear we will never know for certain.^^"; EndOfGame(0); } if (Lab_Report has moved) { print "Duffy enters and places Mr. Baxter under arrest, then leads him away without fuss.^^"; Klutz ("August 11"); print "I am indeed sorry that Mr. Baxter was acquitted yesterday of the murder of Mr. Robner. From the District Attorney, I gather that the jury was completely unconvinced by our case. They found neither sufficient motive nor any plausible means of introducing the fatal medicine into Mr. Robner's drink. I must confess to being baffled by this case. Perhaps we shall never know the true story of Mr. Robner's murder.^^"; EndOfGame(0); } StandardRefusal(Mr_Baxter, 0); ]; !------------------------------------------------------------------------------ [ StandardRefusal who flag; if (parent(who)) print "Sergeant Duffy dutifully appears and escorts ", (name) who, " from the grounds.^^"; Klutz ("July 26"); print "I am sorry to inform you that the District Attorney's office has declined to seek an indictment against "; print (name) who; if (who == George) print " Robner"; print " in the case of the death of Mr. Robner, against your recommendation. It is still not clear that Mr. Robner was murdered, although, as you point out, there are a number of suspicious characters in the Robner household."; if (~~flag) print " Additionally, Mr. Baxter seems to have had no clear motive for killing Mr. Robner."; new_line; if (who == Mr_Baxter) print "Mr. Baxter has threatened to sue the department for malicious arrest, but we feel that he will prefer to avoid the publicity.^"; print " Please be more careful in the future!^^"; EndOfGame(0); ]; !------------------------------------------------------------------------------ [ ArrestGeorge; if (New_Will has moved || (New_Will.destruction_seen == 1 && Wet_Piece_Of_Paper has moved)) { print "Faithful Sergeant Duffy enters and handcuffs George, who spits at you. ~You filthy, stinking...~ is all you hear as George is carted off struggling.^^"; Klutz ("August 4"); print "I am sorry to inform you that George Robner was acquitted in the death of his father today. It seems the evidence, consisting mainly of a new will which George admitted under pressure that he was trying to destroy, was insufficient for the jury to return a guilty verdict. Although I suspect that George may have committed the crime, his arrest was a bit premature.^^"; EndOfGame(0); } StandardRefusal (George, 1); ]; !------------------------------------------------------------------------------ [ ArrestRobner; if (Lab_Report has moved) { print "Sergeant Duffy enters and leads Mrs. Robner away.^^"; Klutz ("August 2"); print "I am sorry to inform you that the grand jury investigating the murder charge against Mrs. Robner declined to indict her, citing a lack of evidence linking her with the execution of the crime. Please try to be more cautious when making arrests in the future.^^"; EndOfGame(0); } StandardRefusal (Mrs_Robner, 1); ]; !------------------------------------------------------------------------------ [ Klutz d; print "^Text of a letter from Police Commissioner Klutz dated ", (string) d, ":^^"; print "Dear Inspector,^^ "; rtrue; ]; !------------------------------------------------------------------------------ [ ArrestNonAnimate o; "Sergeant Duffy enters, strokes his chin, and in a rather puzzled voice says ~Excuse me, sir, but it would cause quite a stir at the station to be charging ", (a) o, " with murder!~ He leaves quietly."; ]; !------------------------------------------------------------------------------ [ ArrestFarFetched; "You realize that this arrest is quite farfetched and would result only in your humiliation."; ]; !------------------------------------------------------------------------------ [ WonGame; print "^You have solved the case! If you would like, you may see the author's summary of the story. We would advise you to come up with your own first! Would you like to see the author's summary? (Y/N) > "; if (YesOrNo()==1) { print "^Mr. Robner's work was his life, as pointed out by a number of the principals. George knew that his father had lost control of the company, and a story in the newspaper indicated that Baxter intended to sell the company to a multi-national conglomerate, presumably to advance his career. Baxter admitted to the merger plans, but indicated that Mr. Robner was in complete agreement. This is contrary to what George and Mrs. Robner said. The note pad found in the library was Robner's last, desperate attempt to save the company, in which Robner threatened to expose Baxter's involvement in the Focus scandal. Baxter denied getting the note, but it was not in the trash. The papers detailing Baxter's criminality in the scandal were kept locked in a safe in a hidden closet near the library. Only George and Marshall Robner knew the whereabouts of the safe.^ \ Baxter planned to murder his partner, aided by the fact that Robner was known to be depressed, even suicidal. He enlisted the help of his lover, Dunbar, one of whose medicines was found to interact fatally with the pills Robner was taking. The relationship of Baxter and Dunbar was kept quiet, although Mrs. Rourke had an inkling of it. After the concert in Hartford which both Baxter and Dunbar attended, they returned to the Robner estate. Dunbar placed some LoBlo in Robner's tea. After Robner died, Baxter used the ladder from the shed to enter the library and exchange the incriminating cup for a clean one (counting the china in the kitchen reveals that a cup is missing). Coming down the ladder, Baxter presumably dropped the cup and inadvertently left one piece on the ground in the rose garden, near the ladder holes that McNabb found while tending his roses.^"; } EndOfGame(1); ];