Constant Story "Neighbor from Hell"; Constant Headline "^A Horror Story by Rich Hojnacki^"; Include "Parser"; Include "Verblib"; ! -----------------Living room objects ------------------------------ Object LivingRoom "Living Room" with name "chair" "bookcase" "tv", description "This must be the living room. If a dozen people used this room as a garbage dumping grounds, the room would probably be cleaner. Every square inch of the room is covered in a yellowish film. Random bits of garbage and junk occupy most of the floor. A mottled carpet lurks underneath the sea of garbage. In this dump of a room, you spot a TV, a chair and a bookcase. To the south lies the kitchen.^", s_to Kitchen has light; Object TV "TV" LivingRoom with name "TV" "television", description "A television from the cold war era squats against the wall. It looks like it served a couple stints in Fallujah. Every surface is defaced in some way, scraped, dented or discolored. You can't even imagine a homeless person taking this television for free. A rerun of The Twilight Zone is playing.^" has concealed static; Object Bookcase "Bookcase" LivingRoom has concealed static ! general if you've found the knight's cross medallion under it with name "Bookcase", description "The bookcase leaning against the wall displays a variety of trinkets on it's crooked shelves. You note that your neighbor owns a large collection of ash trays, every one overflowing with the corpses of cigarettes long since extinguished. Along with the refuse of cancer snacks, yellowed papers and garbage populate the shelves.", before [; Search: if (self hasnt general) { give self general; move knight_med to player; "You brush aside a pile of rubbish and a few overfilled ashtrays to discover a small metal object. It appears to be a medallion. You have a feeling it'll be useful later, so you pocket it."; } ]; Object chair "chair" LivingRoom with name "chair" "recliner", description "A pile of rubbish occupies the space immediately in front of the TV. On second glance, it's a chair. Or once was a chair. Torn to tatters, the former-chair looks like it would collapse if anyone were to sit in it.^" has concealed static; Object knight_med "Knight's Cross medallion" with name "knight" "cross", description "A small metal disc with what appears to be the german Knight's Cross engraved on it."; ! -----------------Kitchen objects ------------------------------ Object Kitchen "Kitchen" with name "table" "microwave", description "This must be the kitchen. A large, battered table dominates the center of the room while a microwave stands guard in the corner. To the north lies the living room. To the west lies the bathroom.^", n_to LivingRoom, w_to Bathroom has light; Object table "table" Kitchen has concealed static ! general if you've found the eagle medallion on it with name "table", description "On top of the table rests an amazingly large and diverse pile of junk - all manner of paper, printed advertisement, magazine and trinket litter the surface. Something glimmers from a gap.", before [; Search: if (self hasnt general) { give self general; move eagle_med to player; "You stripe pile after pile of junk from the table, depositing them onto the floor. You find a small metal object. It appears to be a medallion. You pocket it."; } ]; Object microwave "microwave" Kitchen has concealed static ! general if you've found the wolf medallion in it with name "microwave", description "The battered microwave looks as if it were dropped from a plane. A yellowish film covers every surface.", before [; Search: if (self hasnt general) { give self general; move wolf_med to player; "You touch the microwave's ancient handle. The door falls to the ground with a clatter. After you nearly suffer a heart attack, you notice a small metal object inside. It appears to be a medallion. You pocket it."; } ]; Object eagle_med "Eagle medallion" with name "eagle", description "A small metal disc with what appears to be an eagle engraved on it."; Object wolf_med "Wolf medallion" with name "Wolf", description "A small metal disc with what appears to be a wolf engraved on it."; ! -----------------Bathroom objects ------------------------------ Object Bathroom "Bathroom" with name "toilet" "shower" "sink", description "You enter the bathroom. It is unspeakably filthy. You see a toilet, a shower and a sink. To the east lies the kitchen. To the north lies the bedroom.^", e_to Kitchen, n_to Bedroom has light; Object toilet "toilet" Bathroom with name "toilet", description "The toilet is chipped and very dirty. Cockroaches inhabit the space around it.^" has concealed static; Object sink "sink" Bathroom with name "sink", description "The sink is cracked. It doesn't look as if water has flowed from the faucet in years. A tide of dirty and dust immaculately coat the sides of the sink save for the tracks of insects.^" has concealed static; Object shower "shower" Bathroom has concealed static ! general if you've found the glo-stick in it with name "shower", description "The shower appears to be a monument to dirt. Mold has marched all the way to the ceiling. There are large chunks of broken tile piled up in the bottom.", before [; Search: if (self hasnt general) { give self general; move glo_stick to player; "You brave a look inside the shower. The tattered curtain falls to the ground at your slightest touch. Lying in a pile of broken tile and other garbage, you notice a long green cylinder. You pick it up. It is a chemical glo-stick. Not being able to resist the temptation, you snap it and it bathes the room in a green glow. You attach the activated glo-stick to your necklace."; } ]; Object glo_stick "Glo-Stick" with name "glow" "stick", description "A brightly shining beacon of hope that hangs about your neck."; ! -----------------Bedroom objects ------------------------------ object Bedroom "Bedroom" with name "bed" "safe" "door", description "You find yourself in a bedroom. It's not as filthy as the rest of the house. A safe rests in the corner. The bed is made. To the south lies the bathroom. To the east lies the closet.^", s_to Bathroom, e_to Closet has light; Object bed "bed" Bedroom has concealed static ! general if you've found the star medallion under it with name "bed", description "The bed is made. Notebooks and other objects are crammed under it.", before [; Search: if (self hasnt general) { give self general; move star_med to player; "You peer under the bed against your better judgement. Something large and with too many legs scampers away from your face. You notice an object in the middle of a pile of notebooks. You pick up the disc and pocket it."; } ]; Object safe "safe" Bedroom has concealed static ! general if you've opened the safe with name "safe", description "The dusty safe has four circular indentations in the door. You wonder what it could hold...", before [; Open,Search,Examine: if (knight_med in player && star_med in player && wolf_med in player && eagle_med in player) { if (self hasnt general) { give self general; remove eagle_med; remove wolf_med; remove star_med; remove knight_med; move skull_key to player; "You place the four medallions in their slots on the door of the safe. The door clicks open. Inside the safe is a skull key. You've played enough Doom to understand that you always take skull keys. You pocket it."; } } else "The door to the safe won't budge."; ]; Object star_med "Star Medallion" with name "star", description "A small metal disc with what appears to be a star engraved on it."; Object skull_key "Skull Key" with name "skull", description "An eldritch key, fashioned from slick, dark metal. One end sports a skull-shaped knob, the other a sophisticated set of notches."; ! -----------------Closet objects ------------------------------ object Closet "Closet" with name "Trapdoor", description "The closet is cast in shadow, a dim light entering from the bedroom. Moth-eaten clothes that were in fashion 20 years ago are draped about rusty hangars. On the floor is what appears to be a trapdoor. You have trouble thinking clearly after hearing the click-clack sound of claws on granite below you in the basement.^", w_to Bedroom has light; object Trapdoor "Trapdoor" Closet has concealed static with name "Trapdoor", description "The trapdoor to the basement is covered in clawmarks. Torchlight from below glows from the slits and around the edges. You can hear the breathing of a large creature down in the basement. Don't tell me you want to go down there...", before [; Search: if (skull_key in player) { PlayerTo(Basement); } else "You try to open the trapdoor, but it won't budge. You notice a keyhole on the side."; ]; ! -----------------Basement objects ------------------------------ Object Basement "Basement" with name "Pentagram", description "You slowly descend the stairs into the basement. Something down here makes a chuffing sound as it gets scent of you. As you reach the last stair, you spot the outline of something not-human in the corner. The dim torchlight glints off of it's eyes. An endtable lies on the other side of the staircase. Strange, glowing markings mar the floor and walls.^", has light; object Monster "Monster" Basement has concealed static with name "Monster", description "It's horrible. Roughly 7 feet in height. Armored scales covering it's body. Reptilian face. Dagger-like fangs fill it's mouth. It's digits end in claws.", before [; Search: if (glo_stick in player) { "It's horrible. Roughly 7 feet in height. Armored scales covering it's body. Reptilian face. Dagger-like fangs fill it's mouth. It's digits end in claws.You stare it straight in the eyes. It's gaze is concentrated on the glo-stick around your neck. It doesn't seem to want to attack you, yet."; } else { deadflag = true; "It's horrible. Roughly 7 feet in height. Armored scales covering it's body. Reptilian face. Dagger-like fangs fill it's mouth. It's digits end in claws. The monster stares at you. You feel your legs turn to jello. The monster seems to move in slow motion as it covers the distance between you and it. It devours you noisily, making a great and bloody mess."; } ]; object Endtable "Endtable" Basement has concealed static with name "Endtable", description "The end table is covered in sharp, blood soaked instruments. Candles and various plants are strewn about. In the middle is a stack of papers. As you glance at the items on the table, the monster looks at you quizzically.", before [; Search: if (glo_stick in player) { if (self hasnt general) { give self general; move docs to player; deadflag = 2; "You pick up a packet of documents detailing your maniac neighbor's experiments in summoning demons. This should be quite helpful in getting your neighbor evicted. (City Ordinance 438.5a strictly forbids the summoning of demons within city limits). You run out of this hell house as fast as your legs can carry you. After bursting out of the front door, you hop in your car and drive into town."; } } else { deadflag = true; "The monster stares at you. It's horrible. Roughly 7 feet in height. Armored scales covering it's body. Reptilian face. Dagger-like fangs fill it's mouth. It's digits end in claws.You feel your legs turn to jello. The monster seems to move in slow motion as it covers the distance between you and it. It devours you noisily, making a great and bloody mess."; } ]; Object docs "Documents" with name "Documents", description "A thick packet of paper describing your maniac neighbor's experiments in summoning demons."; [Initialise; location = LivingRoom; "^^^^^^You tromp through the front door, exasperated. Your efforts to alert your neighbor via the doorbell and doorknocker yielded no success. You reflect on the events that have brought you here tonight; a particularly loud bellowing noise that woke you from your sleep. This isn't the first time you've had such problems with your neighbor. For weeks you've heard loud scratching noises and other strangeness emanating from your neighbor's place. When cornered and confronted with the complaint of noise, your neighbor denies any such trangression with a puzzled look on his face. You don't particularly care that your neighbor isn't home tonight, you will risk breaking and entering to finally put an end to this nonsense.^"; ]; Include "Grammar";