Constant Story "Rough Night"; Constant Headline "^What a night...I think...^ Rough Night - Version 1^ By Christopher Furton^"; Serial "980103"; Release 1; Constant MAX_SCORE 150; Include "Parser"; Include "VerbLib"; Global ladydead=0; Global dudedead=0; [ Initialise; location = MotelRoom; print "^^^^^You slowly wake up finding yourself in an unknown room. You quickly realize that you are in motel, but why. Your memory of the past night is gone! Obviously you were 'with' someone, but who? Better question, why are there bruises all over your body?^ Your GOAL: Find out who you slept with!^^"; ]; [ PrintRank; print ", earning you the rank of "; if (score >= 100) "the greatest."; if (score >= 80) "above average."; if (score >= 60) "average."; if (score >= 40) "below average."; if (score >= 20) "the barely living."; "."; ]; ! ----------------------------------------------------------------- ! Objects !_*_*_*_* Motel Room 77 *_*_*_*_* !*********************** Object MotelRoom "The Motel Room" with description "You are standing in a dirty motel room. There is a door to the south.", s_to YourMotelRoomDoor, out_to YourMotelRoomDoor, has light; !*********************************** Object -> NightStand "nightstand" with name "nightstand" "stand", description "The night stand is made of wood. There are deep cuts in the wood and various other marks.", has static light supporter; Attribute legible; !********************************** Object Letter "torn napkin" NightStand with name "napkin", description "The napkin appears to have some writting on it. Maybe you should read it.", before [; Consult,Read: score=score+5; "~Thank you for the good time! Your memory should eventually return...I hope. 'Signed' -Your One Night Stand~"; Tear: remove Letter; "You rip the napkin into tiny pieces that blow away in the wind."; ] has legible; !*********************************** object bed "bed" MotelRoom has static supporter enterable with name "bed", with description "The bed is filthy! There are burn holes in the sheets and various stains everywhere. The bed posts have rope like marks on them. Hmmm, it almost looks like someone was tied to it!", before [; lookunder: if (self hasnt general) { give self general; move CarKeys to player; score=score+10; "Trying not to touch the bed, you look underneath it and see a set of car keys. You take the car keys..."; } ], has light; !*********************************** Object CarKeys "several keys on a ring" with name "keys" "keyring", description "Several Keys on a key ring with a keychain that reads ~Ford~.", under Bed, after [; Examine: score=score+5;] has ~light; !*********************************** Object YourMotelRoomDoor "Door to Motel Room 77" with name "door", description "The door is made of wood.", when_open "The door is open.", when_closed "The door is closed.", door_to [; if (location==MotelRoom) return FrontofMotel; return MotelRoom; ], door_dir [; if (location==MotelRoom) return s_to; return n_to; ], found_in MotelRoom FrontofMotel, with_key yourMotel_key, has static door openable ~open lockable ~locked; !****************************** Object Closet "closet" MotelRoom with name "closet", description "A small closet with the door broken off...what a fine quality establishment!", has light static openable container open; !******************************* Object Wallet "wallet" Closet with name "wallet", description "Its your wallet...and it looks like your missing your credit card!", after [; take: score=score+5;] has; !******************************* Object ghb "small vile" Closet with name "ghb" "vile" "drug", description "A small vile with a few drops of some liquid in it. You look closely at the label and realize it is GHB. The Date Rape Drug. ^ Now you want revenge!", after [; Take: give self general; score=score+5; ] has; !_*_*_*_* Motel Area *_*_*_*_* !*********************** Object FrontofMotel "Outside Motel" with description "You are standing outside the Motel Room. To the east are more rooms. A dirt sidewalk leads to the west and a parking lot to the south.", n_to YourMotelRoomDoor, in_to YourMotelRoomDoor, e_to OtherMotelRooms, w_to OutsideMainOffice, s_to ParkingLot, give YourMotelRoomDoor ~open locked, has light; !*********************** Object OtherMotelRooms "More Motel Rooms" with description "You are standing in front of another Motel Room. There is a sign on the door which reads 'Do not Disturb'. It looks like every door has a similar sign on it.", w_to FrontofMotel, n_to FinalRoom, in_to FinalRoom, has light; !******************************* Object rock "rock" OtherMotelRooms with name "rock" "stone", description "a small rock. Just about large enough to break a car window with!", has; !*********************************** Object OtherMotelRoomDoor "Door to Motel Room 78" with name "other" "motelroom" "door", description "The door is made of wood.", found_in OtherMotelRooms, with_key otherMotel_key, has static door openable lockable locked; !*********************** Object OutsideMainOffice "In front of the Motel's Main Office" with description "You are standing outside the main office of the Motel. The front window is cracked with a flashing neon sign that says 'OPEN'. Another sign reads 'Rooms by the hour'. To the north is an open door with a strong odor creaping out.", e_to FrontofMotel, in_to MainOffice, n_to MainOffice, has light; !*********************************** Object MotelOfficeDoor "Door to the Motel's Office" with name "motel^s office" "office" "door", description "The door is made of wood.", when_open "The door is open.", when_closed "The door is closed.", door_to [; if (location==MainOffice) return OutsideMainOffice; return MainOffice; ], door_dir [; if (location==MainOffice) return s_to; return n_to; ], found_in MainOffice OutsideMainOffice, has static door openable open; !*********************** Object MainOffice "Inside the Hotel's Main Office" with description "You enter the Main Office of the Motel. Cockroaches quickly scatter in all directions. The office is cluttered with pizza boxes, beer cans, and cigarette butts. A foul odor overwhelms you. ", s_to OutsideMainOffice, out_to OutsideMainOffice, has light; !*************************** Object lady "female" MainOffice with name "lady" "Motel Owner" "owner" "motel" "slut" "female", description "A disgusting looking, slutty female stands behind the counter. She puffs on her cigarette, blows it in your face, and attempts to look seductive. She stairs at you as if she wants to talk.", before [; Talk: score=score+5; "^You : ~Hello~ ^Owner: ~What can I do for you sweet thing?~ ^You : ~Well, I was hopeing you could tell me who was in room 77 with me last night?~ ^Owner: ~Once minute hun, I have the records right here...~ ^She flips through the records sitting on the counter ^Owner: ~Oh, I can't tell you...sorry~ ^You : ~What can I do to find out who it was?~ ^Owner: ~I can't tell... you'd have to kill me first~ ^You : ~Alright then, thanks for nothing.~^ "; Murder: if (gun has general){ score=score+20; ladydead=1; move paper to OutsideMainOffice; remove lady; "You take your 9mm and fire two shots at the motel owner. She drops dead. The slide of the gun locks to the read...your out of bullets. Now you are a killer...nice job!";} else deadflag=1; "You don't have anyting to kill her with! She runs up to you, grabs your head and sticks it into her armpit. Moments later, you fall to the ground...unconsious..."; ] has animate; !*************************** Object counter "counter" MainOffice with name "counter" "desk", description "A waist high counter cluttered with junk. There is a small drawer in the counter." has static; !*************************** Object drawer "drawer" MainOffice with name "drawer", description "A drawer inside the counter.", before [; Open: if (ladydead==0) "You can't rummage through the office with her here! Get rid of her!";] has container openable ~open concealed; !******************************* Object creditcard "credit card" drawer with name "credit" "card", description "a credit card with your name on it... I guess its yours huh?", after [; take: score=score+5;] has; !******************************* Object yourMotel_key "#77 key" drawer with name "77" "77 key" "#77 key" "key"; !******************************* Object otherMotel_key "#78 key" drawer with name "78" "78 key" "#88 key" "key", after [; take: score=score+5;]; !************************************ Object record "record" drawer with name "record" "file", description "The Motel's ~guest list~. It contains information about the motel's occupancy. There is lots of good reading here.", before [; Consult,Read: score=score+15; "You search through the records and finally find who paid for the room...you. The identification used belonged to a Mr. Ima Sicko!^^ Now you are really angry. Not only were you taken advantage of, but it was by another guy. You would do anything to Kill him!"; Tear: remove Letter; "You rip the files into tiny pieces that blow away in the wind."; ] has legible; !*&*&*&*& Final Room *&*&*&*&**& !*********************** Object FinalRoom "Inside Room #78" with description "You enter room #78 looking for the bastard that put you through this hell. This room is just as nasty as room 77! ", s_to OtherMotelRooms, out_to OtherMotelRooms, has light; !*********************************** object -> anotherbed "bed" has static supporter enterable with name "bed", with description "The bed is filthy! There are burn holes in the sheets and various stains everywhere. The bed posts have rope like marks on them. Hmmm, it almost looks like someone was tied to it!", has light; !*************************** Object dude "guy" FinalRoom with name "guy" "dude" "fag" "homo" "queer" "male" "sicko" "ima", description "This must be Mr. Ima Sicko!! He is a fat, hairy, smelly guy in his late 50's. He is wearing nothing but a thong...you feel like you are about to puke.", before [; Talk: "^You : ~Hey you sick freak~ ^Sicko: ~What are you doing here?.~ ^You : ~Seeking Revenge!!!.~"; Murder: if (brokenglass has general) {score=score+25; dudedead=1; remove dude; "You take the broken glass and stab Ima Sicko. His body falls to the ground, severely bleeding... Finally got your revenge huh... time to go home and tell your wife some crazy lie.";} else deadflag=1; "You don't have anyting to kill him with!^ He charges at you and slams into you with his fat gut. You fall to floor... your unconsious..."; ] has animate; Attribute breakable; !********************************** Object beerbottle "Beer Bottle" FinalRoom with name "bottle" "beer" "bottles" "beerbottles" "beer bottle" "beer bottles" "Colt" "Colt 45", description "A 1/2 empty bottle of warm Colt 45... must have been a cheap date.", before [; Throw,Break: move brokenglass to location; score=score+10; remove beerbottle; "You break the bottle against the wall. Sharp, weapon like glass shards fall to the ground."; Drink: score=score-20; "You down the rest of the Colt 45. ^~Wow, that didn't taste too bad~. You feel your stomach twisting and turning while you quickly grab the bottle and puke back into the wide mouthed top. Was it worth it??"; ] has breakable; !*********************** Object ParkingLot "Motel Parking Lot" with description "A parking lot. There are several cars parked sporatically in the lot. If only you could remember which one is yours! The entrance to the lot is in the east.", n_to FrontOfMotel, e_to lot4, has light; !_*_*_*_* Parking Lot *_*_*_*_* Object lot1 "parking space" with description "A parking space. More spaces to the south and west.", w_to lot2, s_to lot5, has light; Object Car1 "Dodge Neon" with name "Dodge" "Neon" "cars", description "A dirty blue Dodge Neon.", found_in lot1, has static door openable ~open lockable locked container ~open transparent; Object lot2 "parking space" with description "A parking space. More spaces to the north, west, and east.", w_to lot3, e_to lot1, n_to lot4, has light; Object Car2 "Cargo Van" with name "Cargo" "Van" "cars", description "A rusty cargo van. It appears as if the original color was white.", found_in lot2, has static door openable ~open lockable container ~open transparent locked; Object lot3 "parking space" with description "A parking space. Another space to the east.", e_to lot2, has light; Object Car3 "Jeep Wrangler" with name "Jeep" "Wrangler" "cars", description "a Jeep Wrangler that looks like its been off-roading one too many times.", found_in lot3, has static door openable ~open lockable container ~open transparent ~locked; Object lot4 "parking space" with description "A parking space. More spaces is to the South and West", w_to ParkingLot, s_to lot2, has light; Object Car4 "VW Beetle" with name "VW" "Beetle" "cars", description "a heavily dented VW Beetle.", found_in lot4, has static door openable ~open lockable container ~open transparent locked; Object lot6 "parking space" with description "A parking space. Another space to the north-east.", ne_to lot5, in_to InCar, has light; Object Car6 "Ford Mustang" with name "Ford" "Mustang" "cars", description "A clean Ford Mustang.", when_open "The Ford Mustang is Open...someone might steal it.", found_in lot6, with_key CarKeys, has static light door openable ~open lockable container locked transparent; Object lot5 "parking space" with description "A parking space. Another Space to the North and South-west.", n_to lot1, sw_to lot6, has light; Object Car5 "Chevy Cavalier" with name "Chevy" "Cavalier" "cars", description "An old model Chevy Cavalier...with a flat tire.", found_in lot5, has static door openable ~open lockable container ~open transparent locked; !****************************** Object InCar "Inside Mustang" with description "Wow, you keep your car spotless... ", before[; Start: score=score+5; deadflag=2; "You start the car and drive home. Your trip home is pleasant, except for trying to think up a crazy lie to tell your wife.";] has light; !******************************* Object Window "window" Car1 with name "window", description "a window", before [; Break: "Do you actually think you can break that with your hand???."; ] has breakable concealed; !******************************* Object gun "gun" Car1 with name "gun" "beretta" "9mm", description "A shinny stainless steel Beretta 9mm handgun...fully loaded of course.", after [; Take: give self general; score=score+10; Drop: give self ~general; ] has; !*#*#*#*#*#**#*#*#*# Object hiddenObjects "hidden" with name "not here", description "Just a figment of your imagination.", has concealed; !********************************** Object paper "crumbled piece of paper" hiddenObjects with name "paper" "note", description "A crumbled piece of paper with scribbled writting on it. You can barely read what it says.", before [; Consult,Read: score=score+10; "~To My drug supplier, I drugged some guy last night and took him to room 77. I need more drugs though. Stop by room 78 tonight and sell me more. signed 'Ima Sicko'~^^ Hmmm, Ima Sicko's drug dealer must have dropped this... now I can get my revenge!"; Tear: remove paper; "You rip the paper into tiny pieces that blow away in the wind."; ] has legible; !*********************************** Object brokenglass "bunch of borken pieces of glass" hiddenObjects with name "glass" "broken" "broken glass" "shards" "weapon", description "What is left of the Colt 45 bottle. This would make a perfect weapon!", after [; Take: give self general; score=score+10; Drop: give self ~general;] has; ! ------------------------------------------------------------------ ! Functions Section ! ------------------------------------------------------------------ [ ReadSub; <>; ]; [ TearSub; "You can't tear that"; ]; [ ThrowSub; "Why do you want to throw that?? "; ]; [ BreakSub; "Why do you want to break that?? "; ]; [ BreakWindowSub; if (second == rock) give Car1 open; if (second == rock) score=score+10; if (second == rock) remove Window; if (second == rock) "You step back and throw the rock at the window. The window shatters. Your so devious!"; if (second ~= rock) "Your joking!?! There is no way to break it with that!"; ]; [ TalkSub; "How do you plan on talking to that?"; ]; [ MurderSub; "You can't kill that... it just wouldn't me right."; ]; [ StartSub; "You can't start that.";]; ! ------------------------------------------------------------------ ! Grammer Section ! ------------------------------------------------------------------ Include "Grammar"; Extend "break" * noun "with" noun -> BreakWindow; Extend "read" first * legible -> Read; Verb "tear" * noun -> Tear; Extend "break" first * breakable -> Break; Verb "talk" * noun -> Talk; Extend "talk" * "to" noun -> Talk; Extend only "murder" "kill" "attack" "destroy" "torture" replace * animate -> Murder; Verb "start" * -> Start;