!------------------------------------------------------------------------------ ! ! ! 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 ! ! OTHEROBJ.INF ! ============ ! Various objects of the game that are nowhere at the beginning and ! topics to ask about ! ! !------------------------------------------------------------------------------ !------------------------------------------------------------------------------ Object Envelope "handwritten envelope" with initial "A handwritten envelope, recently delivered, is lying on the table.", description [; print " ^"; print " ^"; print " CANAAN CT POST OFFICE^"; print " * JULY 06 * 08:00 * ^"; print " ^"; print " Mrs. Marshall Robner ^"; print " 506 Lake View Rd. ^"; print " Maitland, Ct. ^"; rtrue; ], name "handwritten" "envelope", capacity 2, space 2, size 2, weight 1, before [; Open: if(Mrs_Robner in location) { move Envelope to Mrs_Robner; "Mrs. Robner grabs the envelope from you. ~That,~ she says, ~is none of your business!~"; } give self general; rfalse; Close: if (self hasnt general) rfalse; give self ~open; "You close the envelope carefully, but it still looks like it has been opened."; Read: << EXAMINE self >>; Give: << SHOW self second >>; ], has container openable legible topic; !------------------------------------------------------------------------------ Object -> Letter "letter" with name "letter", size 2, weight 1, description [; print "~Dear Leslie,^"; print " I am sorry to learn that Marshall has been despondent again. His obsessive interest in business must be causing you terrible anguish. It doesn't surprise me that he talks of suicide when he's in this state, but the thought of the business going to Baxter after he's gone will keep him alive.^"; print " So George has finally gone too far? It's hard to believe, after all those empty threats, that Marshall actually followed through. It serves that little leech right, if you ask me. This means that, should the unthinkable happen, you will be provided for as you deserve.^"; print " I'll see you Friday as usual.^^"; print " Love,^"; print " Steven~^"; rtrue; ], before [; Read: << EXAMINE self >>; ], has legible; !------------------------------------------------------------------------------ Object Newspaper "Daily Herald" with parse_name [i flag type; for (: flag == 0: i++) { flag = 1; switch(NextWord()) { 'newspaper', 'daily', 'herald': flag = 0; type = 0; 'second', 'section': flag = 0; type = 1; } } self.which_section = type; return i-1; ], weight 2, size 3, which_section 0, ! Is the player referring to "newspaper" (0) or to "second section" (1)? initial "Leaning against the front door is today's issue of the Daily Herald.", description [; if(self.which_section == 0) "The Daily Herald is a local paper in two sections. In your cursory look at the first, you find a brief obituary for Mr. Robner. It details his career, including the formation of Robner Corp. A few years ago, Mr. Robner and the Robner Corp. were given a prestigious award for works in the community. At that time Robner said ~I am proud to accept this award for the Corporation. Robner Corp. is my whole life, and I will continue to guide it for the public interest as long as I live.~ Robner himself had won great public acclaim for his charitable works."; else "In your study of the second section, a small item in the financial section catches your eye. A merger between Robner Corp. and Omnidyne is set to be concluded shortly. There is a picture of Mr. Baxter with Omnidyne president Starkwell, both smiling broadly. Baxter is quoted as saying that the deal will enable the financially ailing Robner Corp. to continue to produce the highest-quality products. The article points out that Marshall Robner, who founded Robner Corp. but is no longer its major stockholder, had been found dead yesterday morning, an apparent suicide victim. Baxter is quoted as saying that Robner was in full agreement with the terms of the merger."; ], before [; Take: if(self in player && self.which_section == 1) "You already have the whole newspaper."; Drop: if(self in player && self.which_section == 1) "You shouldn't leave pieces of the paper lying around. At least leave the whole thing."; Read: self.description(); rtrue; ExamCare: self.which_section = 1; self.description(); self.which_section = 0; rtrue; ], has legible; !------------------------------------------------------------------------------ Object Lab_Report "lab report" with name "lab" "report", weight 2, size 2, description [; print "Dear Inspector,^^"; print " In response to your request for analysis of the ceramic fragment, we have found evidence of a drug called Methsparin, which is usually sold in this country under the name ~LoBlo~. It is a blood pressure lowering agent used primarily in Europe, which explains the oversight in our blood analysis of the deceased. A double check reveals a high blood level of Methsparin. While the amount of Methsparin in the blood isn't dangerous in itself, a strong reaction between it and various other drugs has been well documented. As you may have gathered, one of those drugs is Amitraxin (Ebullion). The effect of Methsparin is to displace Amitraxin from protein binding, leaving more free in the blood and simulating an overdose.^"; print " Your new evidence leads me to conclude that the cause of death was Amitraxin toxicity secondary to ingestion of Methsparin and Amitraxin in combination.^^"; print " Sincerely,^"; print " Arthur Chatworth, Pathologist^"; rtrue; ], before [; Read: << EXAMINE self >>; ], has legible; !------------------------------------------------------------------------------ Object Present_Will "present will" with name "present" "will", has topic; !------------------------------------------------------------------------------ Object Fragment "fragment" with name "fragment" "piece" "of" "porcelain", weight 1, size 1, before [; Clean: give self general; print "As you wipe off the piece of porcelain, you notice that it is a fragment of some very beautiful piece, handsomely painted"; if (Kitchen_China has general) print ". The markings are identical to those you saw on the china in the kitchen"; "."; Fingerprint: "It's covered with dirt and mud. You realize that there would be no good fingerprints on it."; ], description [; if(self has general) ! The player has cleaned it { print "The fragment is beautifully hand-painted"; if (Kitchen_China has general) print ", exactly like those you saw in the kitchen"; "."; } "The piece of porcelain is filthy, coated with dried mud. You can barely make out some design underneath the dirt."; ]; !------------------------------------------------------------------------------ Object Dunbar_Body "body of Ms. Dunbar", with deathtime 0, name "body" "of" "Ms" "Dunbar" "corpse", initial [; give self general; "Sprawled on the floor is the body of Ms. Dunbar."; ], description [; if (the_time > self.deathtime + 30) "The body is still quite warm."; "The corpse is most gruesome. Ms. Dunbar was apparently shot in the head at close range, leaving a most distasteful mess."; ], before [; Take: "That would be rather tasteless."; Kiss, Molest: "You are disgusting."; Accuse: "That doesn't seem to be a good idea now she's dead."; Follow: << follow Mr_Robner >>; ], life [; default: "That doesn't make sense: She's dead."; ], has static animate; !------------------------------------------------------------------------------ Object Smoking_Gun "smoking gun" with name "smoking" "gun", weight 3, size 2, initial "Lying beside the body is a smoking gun.", description [; if (self hasnt moved) "The pistol is bloody and has clearly been used recently."; "The pistol has bloodstains on it. It has recently been fired."; ]; !------------------------------------------------------------------------------ Object Suicide_Note "suicide note" with name "suicide" "note", weight 1, size 2, initial "Next to the body, near a pool of blood, is a note.", description [; give self moved; ! Indictate the player has read it "The note is written in thin blue ink in a very unsteady hand and is smeared with blood from your touch. It says:^^ \ ~I killed Mr. Robner. Please forgive me.~"; ], before [; Analyse: "The handwriting is very shaky and would be impossible to compare with samples on file. The blood makes the finding of fingerprints impossible."; Read: << EXAMINE self >>; ], has legible; !------------------------------------------------------------------------------ Object Blue_Pen "blue pen" with name "blue" "pen", weight 2, size 2, before [; Write: give self general; "The pen makes a mark in a fine blue line."; Find: if (self has moved || TestScope(self)) "You should know."; if (Suicide_Note hasnt moved) "You're the detective."; if (location == Dunbar_Bedroom) "It doesn't seem to be around here."; "There isn't one here."; ], has findable concealed; !------------------------------------------------------------------------------ Object Black_Button "black button" with name "black" "button", before [; Push: if (Hidden_Door hasnt open) { give Hidden_Door open; if (George notin Hidden_Closet) "The leftmost shelf quietly swings out against the balcony window."; if(GeorgeNewWill.count < 11) { move George to End_Of_Hallway; StopDaemon(GeorgeNewWill); GeorgeNewWill.stage = 7; ! George will not try to get the new will again after this has happened NPC_Path(George, George_Bedroom); George.npc_met = turns; "As the bookshelf swings open, you see George carefully dialing a combination into a large wall safe. He turns in panic and, with an exclamation, knocks you down and bolts out of the library."; } else { give safe open; move New_Will to George; give George transparent; GeorgeNewWill.stage = 8; ! George will wait a while and then return to his room, giving up. GeorgeNewWill.count = 0; ! reset this, we need it now to determine how long George will stay with the player print "As the shelf swings open, George spins to face you. His expression, first seemingly wild with happiness, changes to one of panic and horror. He jerks around, trying feebly to conceal a piece of paper in his hands. He jumps toward you, then recoils in fear. Finally, sobbing, he crumples to the floor, clutching the paper beneath him. A large combination safe, imbedded in a wall, is lying open. You enter the hidden closet.^^"; PlayerTo(Hidden_Closet, 2); rtrue; } } else { give Hidden_Door ~open; "The bookshelf on the left quietly swings shut."; } ], has scenery; !------------------------------------------------------------------------------ Object Wet_Piece_Of_Paper "wet piece of paper" with name "wet" "piece" "of" "paper", weight 2, size 2, description "The paper was once some sort of document. It is now smeared and completely unreadable.", before [; Read: << EXAMINE self >>; ], has legible; !------------------------------------------------------------------------------ Object Holes "holes" with name "holes", describe "There are holes in the soft dirt near your feet.", description "There are two holes here, each about two inches by four inches. They are at least three inches deep and the soil is compacted around them.", count 0, before [; Find: if (self in location) "They're right here!"; if (location == Among_The_Roses && Mr_McNabb.show_holes == 1 or 2) { if (random(100) > 50) "The rose garden is vast and full of thorny roses. You might look for the rest of the day before you find them."; else "The garden is rather big, even just the area you are searching now, and the holes were small. They're not here, but are probably nearby."; } if (Mr_McNabb.show_holes > 0) "They're among the roses, or have you forgotten?"; "What hole?"; Dig: if (second) "Trying to dig with ", (the) second, " doesn't seem to make much sense."; << Search self >>; Search, DigNear: if(Fragment has moved) "Aside from dirt, organic fertilizer, and small crawly creatures, you turn up nothing but roses."; self.count++; switch(self.count) { 1: "You are making quite a mess, but you do run across some tiny pieces of a hard, shiny substance, which drop from your fingers and back onto the ground."; 2: "Although everything is coming up roses, you haven't found anything unusual except for a few pieces of a hard substance which fall back to the ground."; 3: move Fragment to player; give Fragment moved; "Ouch! You cut your finger on a sharp edge as you dig. You search carefully in the dirt, now that you are sure something is there, and pull up a piece of porcelain, covered with dirt and dried mud."; } Receive: if (noun == Ladder) { Among_The_Roses.u_to = Library_Balcony; Library_Balcony.d_to = Among_The_Roses; move Ladder to location; "The ladder fits perfectly in the holes! You slowly release the ladder and it rests on the railing of the balcony above."; } ], has static concealed topic findable; !------------------------------------------------------------------------------ Object Ticket_Stub "ticket stub" with name "ticket" "stub", weight 1, size 1, initial "Lying on the ground is what appears to be a ticket stub.", description [; print " ^"; print " Hartford ^"; print " Philharmonic ^"; print " Orchestra ^"; print " ^"; print " July 7, 1982 ^"; print " ^"; print " - 8PM - ^"; print " ^"; print " Row R / Seat 7^"; print " ^"; rtrue; ], has topic; !------------------------------------------------------------------------------ Object Air "air" with name "air", before [; Smell: if (location == Among_The_Roses or Garden_Path) "The smell of roses permeates everything."; if (location == West_Lawn or North_Lawn or Library_Balcony or West_Side_Of_House) "A breeze carries the faint smell of roses through the air."; if (location ofclass Outside || location == Bedroom_Balcony) "The air is clear and fresh here."; if(DoorSmell(location)) rtrue; "The air is rather musty here."; default: SurelyYouJest(); rtrue; ], found_in [; rtrue; ], has concealed static; !------------------------------------------------------------------------------ Object Focus "Focus" with name "focus", has topic; !------------------------------------------------------------------------------ Object Phonecall "phonecall" with name "phonecall" "call", has topic; !------------------------------------------------------------------------------ Object Merger "merger" with name "merger" "omnidyne", has topic; !------------------------------------------------------------------------------ Object Concert "concert" with name "concert", has topic; !------------------------------------------------------------------------------ Object Murder "murder" with name "murder" "killing", has topic; !------------------------------------------------------------------------------ Object Suicide "suicide" with name "suicide", has topic; !------------------------------------------------------------------------------ Object Weather "weather" with name "weather", has topic; !------------------------------------------------------------------------------ Object Search_Warrant "search warrant" with name "search" "warrant", before [; Take, Find: "Knowing the courts, it would take weeks to get one."; default: L__M(##Miscellany, 30); rtrue; ], found_in [; rtrue; ], has concealed static;