!\--------------------------------------------------------------------------- GARBAGE.HUG A ridiculous number (20, actually) of garbage bags and their (mostly) red-herring contents for Guilty Bastards by Kent Tessman (c) 1998 (To be included by "gb1.hug") NOTE: dull_orange_garbagebag contains the only useful evidence; its contents are defined in gb1.hug. ---------------------------------------------------------------------------\! #set GARBAGE_INCLUDED !---------------------------------------------------------------------------- ! CLASSES !---------------------------------------------------------------------------- class garbagebag_class { nouns "bag", "sack" article "a" long_desc { print CArt(self); ". It is "; if self is open "open"; else "closed"; " and "; if child(self) "there's something in it." else "empty." } holding 0 capacity 100 plural_is garbagebags is openable, not open, container } plural_class garbagebags "garbage bags" { article "some" noun "bags" adjective "garbage", "trash" single_noun "bag" ! There are more elegant ways to do this (e.g., some sort of loop ! adding each object) but this is the most direct: plural_of ordinary_green_garbagebag, bright_green_garbagebag, \ bright_red_garbagebag, black_garbagebag, \ dark_gray_garbagebag, bright_yellow_garbagebag, \ reddish_brown_garbagebag, white_garbagebag, \ light_gray_garbagebag, bright_orange_garbagebag, \ olive_garbagebag, dull_orange_garbagebag, \ dark_brown_garbagebag, light_brown_garbagebag, \ bluish_green_garbagebag, yellowy_brown_garbagebag, \ maroon_garbagebag, charcoal_garbagebag, \ dark_blue_garbagebag, ordinary_red_garbagebag } class junk { after { object DoShow, DoGive { CThe(xobject) " looks at "; The(self) " and frowns. \"Did you get that out of the trash?\"" } } analysis "It's plainly just garbage, they say."; } junk foodscraps { before { object DoEat {"You're really aiming for a new low, aren't you?"} object DoSmell {"It smells...well, it smells pretty damned gross."} } } !---------------------------------------------------------------------------- ! GARBAGE BAGS AND CONTENTS !---------------------------------------------------------------------------- garbagebag_class ordinary_green_garbagebag "ordinary green garbage bag" { in dumpster adjectives "ordinary", "green", "garbage", "trash" article "an" } junk toothpastetube "empty toothpaste tube" { in ordinary_green_garbagebag noun "tube", "paste" adjectives "empty", "toothpaste", "tube" article "an" long_desc "A major brand that, not surprisingly, claims to fight cavities better than all the rest combined." is openable, open } junk lightbulb "broken light bulb" { in ordinary_green_garbagebag noun "bulb", "lightbulb" adjectives "broken", "light" article "a" long_desc "Once a 60-watt, now a zero-watt." } !---------------------------------------------------------------------------- garbagebag_class bright_green_garbagebag "bright green garbage bag" { in dumpster adjectives "bright", "green", "garbage", "trash" } junk canofsoup "empty soup can" { in bright_green_garbagebag noun "soup", "label" adjectives "empty", "soup", "can", "habitant", "pea" article "an" long_desc { "The label reads: \"Habitant Pea Soup.\" (Reputed to be the best French-Canadian pea soup going.)" PrintFootnote(13) } is readable capacity 10 holding 0 is container, open } junk oldnewspaper "old newspaper" { in bright_green_garbagebag nouns "paper", "newspaper", "reporter" adjectives "old", "news", "hollywood", "copy", "issue" article "an" long_desc "It's an out-of-date copy of The Hollywood Reporter. This particular issue (from almost a year ago) mentions Rocket Pictures as being ripe for a takeover." is readable analysis "There's nothing special about it, other than one of the technicians remembers winning a whole lot of money on a couple of the races."; } !---------------------------------------------------------------------------- garbagebag_class bright_red_garbagebag "bright red garbage bag" { in dumpster adjectives "bright", "red", "garbage", "trash" } junk deadbattery "dead battery" { in bright_red_garbagebag noun "battery", "corrosion" adjectives "dead", "discharged", "used", "lifeless" long_desc "AA, the size you'd pop in a pager or television remote control--although this one is corroded and lifeless." size 2 } junk loveletter "crumpled love letter" { in bright_red_garbagebag nouns "letter", "poem" adjective "love", "crumpled" article "a" is readable long_desc "Obviously whoever it was written to didn't react in the best possible way, seeing as the note has been balled up and chucked in the garbage. It reads:\n\n \"Darling--\n\n I don't want anyone to ever come between us. What happened between you and him or her and me doesn't matter to me. If I can't have you, I don't know what I'll do.\n\n Roses are red\n \_ Violets are blue\n Tell me you love me\n \_ Or I'll jump off a building\"\n\n Seems to be written in a man's hand." size 5 analysis "They didn't find anything peculiar. One woman there said it sounded like something her ex-husband would write, though."; } !---------------------------------------------------------------------------- garbagebag_class black_garbagebag "black garbage bag" { in dumpster adjectives "black", "garbage", "trash" } junk emptyjar "empty jar" { in black_garbagebag nouns "jar" adjective "empty" article "an" long_desc "There's not much to tell other than it probably used to hold something--but you can't tell what that might've been by looking at it." before { object DoSmell {"It smells vaguely of rubbing alcohol."} } analysis "They say it used to contain...rubbing alcohol."; } junk padofpaper "pad of paper" { in black_garbagebag nouns "paper", "genitalia", "genitals", "doodle" adjective "pad", "male", "dirty" article "a" long_desc { if self is not special "The pad is blank--most of the sheets have been torn off. There's an impression left from the pad from previous usage, but you can't make out what it is." else "Your shading of the impression left on the pad from previous usage has revealed what seems to be-- \n\n--a picture of crudely doodled male genitalia." } is readable before { xobject DoRubOn { if object ~= oldpencil { print "Rubbing "; The(object); " on the pad doesn't really accomplish anything." return true } if self is special "There's no need to keep doing that. You're not likely to get any more dirty doodles, if that's what you're hoping for." else { "You rub the pencil on the blank pad. "; self is special run self.long_desc } } } analysis { if self is special "Well, they think that as a representation of male genitals, this isn't a particularly good one."; else run junk.analysis } } !---------------------------------------------------------------------------- garbagebag_class dark_gray_garbagebag "dark gray garbage bag" { in dumpster adjectives "dark", "gray", "grey", "garbage", "trash" } compound "soda", "!" junk bottlecap "Dr. Soda! bottlecap" { in dark_gray_garbagebag nouns "cap", "bottlecap" adjectives "bottle", "dr.", "soda", "soda!" article "a" size 2 long_desc "A little plastic bottlecap that exclaims \"Dr. Soda!\"" } junk oldpencil "old, dull pencil" { in dark_gray_garbagebag noun "pencil" adjectives "old", "dull" article "an" long_desc "Old and dull, but still sharp enough to write with." } routine DoRubOn { if not xobject { "You'll have to be a little more specific about exactly why you'd like to "; print word[1]; " with what." return } print "You rub "; The(object); " on "; The(xobject); ", to little effect." return true } routine DoRubWith ! i.e., reverse phrasing of DoRubOn { Perform(&DoRubOn, xobject, object) } !---------------------------------------------------------------------------- garbagebag_class bright_yellow_garbagebag "bright yellow garbage bag" { in dumpster adjectives "bright", "yellow", "garbage", "trash" } junk mapofparis "tourist map of Paris" { in bright_yellow_garbagebag noun "paris" adjective "tourist", "map" article "a" long_desc "It is, indeed, a map of Paris. Doesn't look particularly well-used, though." is readable } junk crumpledpaper "crumpled piece of paper" { in bright_yellow_garbagebag noun "paper" adjective "crumpled", "piece" article "a" long_desc "\"Things to do:\n\n 1. Find map\n 2. Phone airport to check parking\n 3. Health forms...\"\n\n and so on." is readable } !---------------------------------------------------------------------------- garbagebag_class reddish_brown_garbagebag "reddish brown garbage bag" { in dumpster adjectives "reddish", "brown", "reddish-brown", "garbage", "trash" } foodscraps bananapeel "banana peel" { in reddish_brown_garbagebag noun "peel" adjective "banana" article "a" long_desc "Ever notice how a banana peel is an essential part of any generic garbage assortment?" } compound ".", "22" junk shellcasing "empty shell casing" { in reddish_brown_garbagebag noun "casing", "bullet" adjectives "empty", "shell", "small", "caliber", "22", ".22" article "an" long_desc "A small caliber. It's empty, meaning it has obviously been fired. Or maybe the bullet just fell out." size 2 analysis "It's a .22 shell. Fired sometime in the last week. That's about all they could tell."; } !---------------------------------------------------------------------------- garbagebag_class white_garbagebag "white garbage bag" { in dumpster adjectives "white", "garbage", "trash" } junk bra "bra" { in white_garbagebag noun "bra", "brassiere", "underwear", "lingerie" adjective "bra", "34b", "white" article "a" long_desc "A bra, a white bra, size 34B." before { object DoWear { "If you're supposed to be wearing a bra, chances are you already are. And if you're not, chances are you shouldn't be just nonchalantly trying one on." } object DoBurn { "Very funny." } } is clothing analysis "You've gotta stop sending me to the lab with stuff like this. They basically laughed me out the door."; } junk emptymatchbook "matchbook" { in white_garbagebag nouns "matches", "matchbook" adjective "empty" article "a" long_desc { "It's just a matchbook. "; if self is not open "It's closed." else { "It's empty, but inside is written a phone number: \ (310) 555-1917." self.name = "empty matchbook" self.article = "an" } } is openable size 2 analysis "They didn't find anything special about the matchbook. \ That phone number inside is for a massage parlor. The kind where you clear your throat before the word 'massage'."; } !---------------------------------------------------------------------------- garbagebag_class light_gray_garbagebag "light gray garbage bag" { in dumpster adjectives "light", "gray", "grey", "garbage", "trash" } foodscraps spaghetti "handful of cold spaghetti" { in light_gray_garbagebag nouns "spaghetti", "pasta", "noodles" adjectives "cold", "handful" article "a" long_desc "Looks like it's that last half-serving of spaghetti that got cooked and nobody ate." analysis "They ran a bunch of tests on it, and ultimately concluded it was somewhat overcooked. But that, they said, is not necessarily a crime."; } junk suspiciousphoto "suspicious-looking photograph" { in light_gray_garbagebag nouns "photo", "photograph", "picture", "snapshot" adjectives "suspicious", "looking", "suspicious-looking" article "a" long_desc "You can't quite make out what they're doing in the photo, but it sure looks suspicious." size 5 analysis "No one could put his finger on it, but everybody thought it was kinda suspicious."; } !---------------------------------------------------------------------------- garbagebag_class bright_orange_garbagebag "bright orange garbage bag" { in dumpster adjectives "bright", "orange", "garbage", "trash" } junk voidcheck { in bright_orange_garbagebag name { ! Overdone cross-cultural gag if self is not special or random(2) = 1 return "void check" else return "void cheque" } nouns "check", "cheque" adjectives "void", "voided" article "a" long_desc { "Strangely, who it's made out to, who it's from, the amount, and the signature have all been scratched out in heavy black pen." PrintFootnote(15) } size 5 is readable after { object DoLook { ! Once the check/cheque has been examined once, its ! spelling begins randomly hopping back and forth ! across the Atlantic. self is special return false } } analysis "Well, they didn't get very far. Basically things broke down into an argument over spelling it 'check' vs. 'cheque'."; } junk emptypillbottle "empty pill bottle" { in bright_orange_garbagebag nouns "bottle", "pillbox" adjectives "empty", "pill", "plastic" article "an" long_desc "Empty and plastic." is container before { xobject DoPutIn {"That's not going to accomplish much."} } analysis "The bottle contains traces of a not-uncommon prescription diet pill."; } !---------------------------------------------------------------------------- garbagebag_class olive_garbagebag "olive garbage bag" { in dumpster adjectives "olive", "garbage", "trash" } foodscraps redherring "dead fish" { in olive_garbagebag noun "fish", "herring" adjectives "dead", "red" article "a" long_desc { "It's a red herring." PrintFootnote(16) } } junk screenplay "screenplay" { in olive_garbagebag nouns "screenplay", "script", "play" article "a" long_desc "Hollywood is practically littered with screenplays, so it's not entirely unfitting that you should find one in a dumpster. This particular script seems to be about a television actress who gets murdered by--\n\n--well, you don't know, because the last few pages are torn out." before { object DoOpen {Perform(&DoLook, self)} } is readable, openable analysis "They didn't find anything peculiar. Although one of the technicians felt that the plot meandered and the main character spent a lot of time doing unproductive investigating."; } !---------------------------------------------------------------------------- ! *** The dull orange garbage bag is the real goal amidst a dumpster full ! of red herrings--i.e., it's the same as the ones in Cindy's apartment. garbagebag_class dull_orange_garbagebag "dull orange garbage bag" { in dumpster adjectives "dull", "orange", "garbage", "trash" parse_rank 2 ! for disambiguating where the box of dull orange ! garbage bags is concerned (and the component ! single_garbagebag) } ! *** The contents of dull_orange_garbagebag are defined in gb1.hug. !---------------------------------------------------------------------------- garbagebag_class dark_brown_garbagebag "dark brown garbage bag" { in dumpster adjectives "dark", "brown", "garbage", "trash" } foodscraps friedegg "fried egg" { in dark_brown_garbagebag noun "egg" adjective "fried" article "a" long_desc { "Exactly that: a fried egg."; if self in player " And please note, you \Iare\i holding someone else's old, fried egg." else print newline } } junk postcard "postcard" { in dark_brown_garbagebag noun "postcard", "card", "stain" adjective "post" article "a" long_desc "A typical shot of the Hollywood sign. The postcard is blank except for a stain that might be either blood or ketchup." size 5 analysis "It's definitely ketchup."; } !---------------------------------------------------------------------------- garbagebag_class light_brown_garbagebag "light brown garbage bag" { in dumpster adjectives "light", "brown", "garbage", "trash" } junk racingform "racing form" { in light_brown_garbagebag noun "form" adjectives "racing" article "a" is readable long_desc "It's from just over a week ago, giving the races and odds for--coincidentally--the last time you lost all that money at the track." } junk deadflower "dead flower" { in light_brown_garbagebag noun "flower", "daisy" adjective "dead" article "a" long_desc "The flower's pretty far gone, but it looks like once upon a time it was a daisy or something similar." analysis "They said there's nothing special about it: died of natural causes. But one of the guys just broke down into tears. Something about dead flowers, he said."; } !---------------------------------------------------------------------------- garbagebag_class bluish_green_garbagebag "bluish-green garbage bag" { in dumpster adjectives "bluish", "green", "bluish-green", "garbage", "trash" } junk unmarkedkey "unmarked brass key" { in bluish_green_garbagebag noun "key" adjectives "unmarked", "brass" article "an" long_desc "Nothing distinguishing about it by looking at it--nothing to suggest what it might open." before { xobject DoUnlock { CThe(self) " doesn't fit "; print The(object); "." } } size 5 } junk pager "pager" { in bluish_green_garbagebag noun "pager", "beeper", "display" adjectives "small", "black", "alphanumeric" article "a" misc "" is readable long_desc { "The pager a small alphanumeric model, black in color and about half the size of a deck of cards. Must've been thrown in the garbage by accident--unless someone was trying to get rid of it." if self.misc = "" "\nThe display shows no recent messages." else { "\nThe most recent message is: \""; print self.misc; "\"" } } after { object DoGet { Activate(pager_daemon) return false } } analysis "They couldn't really determine anything from the pager, other than the fact that whoever it belongs to runs a pretty strange life."; } ! The pager_daemon only runs if the player is physically holding the pager: daemon pager_daemon {} event in pager_daemon { if pager not in player { Deactivate(pager_daemon) return } ! Pager goes off an average of once an hour if random(60) = 1 { local s s = random(10) select s case 1 pager.misc = "The plane is coming in at 3:30." case 2 pager.misc = "Meet me after work. I've told my wife I have to work late." case 3 pager.misc = "You are overdue on your pager bill." case 4 pager.misc = "Please call. --Rick" case 5 pager.misc = "Please call. --Rick's brother" case 6 pager.misc = "Our friends from Italy won't be able to meet until Wednesday." case 7 pager.misc = "This is your last warning. --Mr. F" case 8 pager.misc = "I have a job for you. No questions asked, buy it pays well. --Mike" case 9 pager.misc = "I want my money back. This monkey sucks. --Martin Harrigan" case 10 pager.misc = "Happy birthday!" event_flag = true "\nThe pager you're carrying beeps several times. The alphanumeric display flashes: \""; print pager.misc; "\"" } } !---------------------------------------------------------------------------- garbagebag_class yellowy_brown_garbagebag "yellowy brown garbage bag" { in dumpster adjectives "yellowy", "brown", "yellowish", "yellowy-brown", \ "yellowish-brown", "garbage", "trash" } junk size6shoe "size-6 high-heeled shoe" { in yellowy_brown_garbagebag nouns "shoe", "heel" adjectives "woman's", "women's", "ladies'", "size-6", "high", \ "heeled", "high-heeled" article "a" long_desc "A shoe. A single shoe. Found in the garbage. \ Mysterious--very mysterious indeed. (Or maybe not so mysterious at all.)" } junk watch "cheap digital watch" { in yellowy_brown_garbagebag nouns "watch", "time" adjectives "cheap", "digital" article "a" long_desc { "The watch reads "; HoursMinutes(counter-45) ", which ain't exactly right." } is clothing size 10 analysis "They didn't find anything peculiar other than the fact that no one there was able to set the damned thing."; } routine DoSetWatch { "It doesn't seem to have any buttons or anything which which to set the time. It's about that cheap." } !---------------------------------------------------------------------------- garbagebag_class charcoal_garbagebag "charcoal-colored garbage bag" { in dumpster adjectives "charcoal", "colored", "charcoal-colored", "garbage", \ "trash" } junk phonebill "phone bill" { in charcoal_garbagebag nouns "bill", "statement" adjectives "phone", "telephone" article "a" long_desc "It lists a bunch of calls to a bunch of numbers that you don't recognize. Mind you, the calls seem to be to the same numbers over and over again." analysis "They didn't find anything notable about either this number or any of the numbers called."; is readable } junk bourbonbottle "empty bourbon bottle" { in charcoal_garbagebag nouns "bottle", "bourbon" adjectives "empty", "bourbon" article "an" long_desc "It's a bottle of what used to be Knob Creek, which is damned fine bourbon, in case you're asking." before { object DoDrink {"The Knob Creek is, sadly, all gone."} } } !---------------------------------------------------------------------------- garbagebag_class maroon_garbagebag "maroon garbage bag" { in dumpster adjectives "maroon", "garbage", "trash", "purple" } junk pianowire "piano wire" { in maroon_garbagebag noun "wire" adjective "piano" article "a" long_desc { "At least a piano wire is what it looks like. A long, thin metal wire." PrintFootnote(17) } analysis "They say it's C7. (So you were right about the piano wire part.)"; } junk resume "crumpled resume" { in maroon_garbagebag noun "resume" adjective "someone's", "crumpled" article "someone's" is readable long_desc "It lists:\n\n \UEducation\u\n UCLA Theater School\n Victor Archenismill's Actor's Studio\n \UExperience\u\n \"Hamlet\" (Summer Community Theater) - The Second Murderer\n Smith's Coffee (TV spot) - Corky the Coffee Bean\n Limousine driver - various employers\n Waiter - various employers\n Short-order cook - various employers\n\n (The unfortunate reality of a struggling actor in Los Angeles.)" } !---------------------------------------------------------------------------- garbagebag_class dark_blue_garbagebag "dark blue garbage bag" { in dumpster adjectives "dark", "blue", "garbage", "trash" } junk dirtymagazine "dirty magazine" { in dark_blue_garbagebag nouns "magazine", "mag" adjectives "dirty", "skin", "porn", "porno" article "a" long_desc "Now, I know you of all people have of course \Inever\i seen anything like this before, so just believe me when I tell you it doesn't have a whole hell of a lot to do with your current business." is readable analysis "There's nothing remarkable about this particular skin mag, other than the fact that it's a skin mag. But the boys in the lab thank you."; } junk cigarettebutt "cigarette butt" { in dark_blue_garbagebag noun "butt", "light" ! "cigaret" is a rare-ish 1930s American spelling, I think adjectives "cigarette", "cigaret", "lipstick", "camel" article "a" long_desc "The cigarette is red-tipped from someone's lipstick." analysis "The cigarette is a Camel Light. The lipstick is Serious Cerise(tm)."; } !---------------------------------------------------------------------------- garbagebag_class ordinary_red_garbagebag "ordinary red garbage bag" { in dumpster adjectives "ordinary", "red", "garbage", "trash" article "an" } junk maltesefalcon "sculpture" { in ordinary_red_garbagebag nouns "falcon", "bird", "sculpture", "statue" adjective "maltese", "falcon", "bird" article "a" long_desc "It's a small sculpture of a bird. Maybe a falcon. Maybe even a Maltese Falcon." } junk spyshopreceipt "receipt" { in ordinary_red_garbagebag nouns "receipt" adjectives "spy", "shop", "receipt", "from" article "a" long_desc "It's a receipt from The Spy Shop, which is, so far as you know, one of those places where one can buy listening devices and other spy-ish paraphernalia that No Paranoid Person Should Be Without. It's for $49.95, by the way." is readable }