! Escape from Shady Pines Retirement Home ! ! Project for CIS587, Computer Game Design & Implementation ! at UofM Dearborn Summer 2000. ! Written by Michael Westra ! Constant Story "Escape from Shady Pines Retirement Home"; Constant Headline "^Project for CIS587, Computer Game Design & Implementation^ at UofM Dearborn Summer 2000.^Written by Michael Westra^^"; Include "parser"; Include "verblib"; Include "grammar"; [ TalkSub; "There is no one here to talk to, so you talk to your self for several minutes and feel better."; ]; Extend "speak" * "to" noun -> Talk * "with" noun -> Talk * noun -> Talk; Verb "talk" * "to" noun -> Talk * "with" noun -> Talk * noun -> Talk; [ FixSub; "What would YOU fix? You're all thumbs!^^"; ]; Verb "repair" * noun "with" noun -> Fix * noun -> Fix; Extend "fix" * noun "with" noun -> Fix * noun -> Fix; [ PutSub; "Watch where you're putting that ", (the) noun, "!^^"; ]; Verb "slip" * noun "in" noun -> Put * noun "into" noun -> Put; !Extend "put" ! * noun "in" noun -> MyPut ! * noun "into" noun -> MyPut; [ Initialise; location = Start_Room; print "^^^^^It's a warm summer day when you wake up, only to discover that you have been committed... to a retirement home. Your kids have been threatening to do this for quite some time 'for your own good.' You never imagined they would actually go through with it, however. There is only one thing to do now... that is to escape and give those ungrateful children a good piece (of what you don't know).^^"; ]; Object Dummy_Room "Holder Room", has scenery enterable, with name "forbidden room", description "room used to hold invisible objects"; !---------------------------------------------------------------------- Object Start_Room "Your new bedroom", has light scenery enterable, with name "room", description "The summer sun shines in through the bared windows on your bedroom window, almost mocking you in your predicament. This small, unimpressive room contains a typical hospital bed, vintage 1950's hotel furniture in the form of a dresser and night stand. Other than these few furnishings and a few 'institutional' wall decorations, your room is vacant. There is an exit to the south.", s_to Hall_1; !---------------------------------------------------------------------- Object Hall_1 "Hallway", has light scenery enterable, with name "hallway" "hall", description "You are at the end of a hallway. There is a small window here, but much to small fit through. The walls are covered with a gray tile that matches the gray speckled floor tiling. The ceiling contains standard institutional florescent lights, complete with about half blinking on and off incessantly. The hallway extends to the west and you notice doors to the north and south.", n_to Start_Room, s_to Vet_Room, w_to Hall_2; Object Hall_2 "Hallway", has light scenery enterable, with name "hallway" "hall", description "You are in a hallway. The walls are covered with a gray tile that matches the gray speckled floor tiling. The ceiling contains standard institutional florescent lights, complete with about half blinking on and off incessantly. The hallway extends to the east and west and you notice doors to the north and south.", n_to Para_Room, s_to Sink_Room, e_to Hall_1, w_to Hall_3; Object Hall_3 "Hallway", has light scenery enterable, with name "hallway" "hall", description "You are in a hallway. The walls are covered with a gray tile that matches the gray speckled floor tiling. The ceiling contains standard institutional florescent lights, complete with about half blinking on and off incessantly. The hallway extends to the west and you notice doors to the north and south.", ! remove double doors for 2nd way to escape -- out of scope for assignment... ! , a set of locked and bared double doors lies to the east, n_to Maint_Room, s_to Nurse_Room, e_to Hall_2; ! Was going to implement a 2nd escape option, but didn't have time... ! w_to Desk_Room; !---------------------------------------------------------------------- Object Vet_Room "Grizzled Veteran's Room", has light scenery enterable, with name "bedroom" "room", description "You are in a bedroom much like your own. A grizzled old man in an Army dress uniform sits on the bed eyeing you. The man has large chiseled features and numerous scares that attest to his battle hardened overall look. His sergeants uniform appears to have seen better days and is now a thread bare frame for several war metals that sag on it. The only exit is to the north.", before [; Talk: "You walk over to the old veteran and strike up a rather one sided conversation. Over the period of what seems like hours he details his adventures in the South Pacific back in the Second World War. Towards the end of the conversation he mentions that he has a son and mumbles something about 'no good hippy beat-nic', then abruptly terminates the conversation and asks you to leave him alone."; ], n_to Hall_1; Object Veteran "Battle Hardened Army Sergeant" Vet_Room, has scenery container animate, with name "vet" "veteran" "army" "sergeant" "man", description "A grizzled old man in an Army dress uniform sits on the bed eyeing you. The man has large chiseled features and numerous scares that attest to his battle hardened overall look. His sergeants uniform appears to have seen better days and is now a thread bare frame for several war metals that sag on it.", life [; Attack: "You don't think that is a fight you could win."; Kiss: "I don't think he would be into that sort of thing."; Give,Show: if ((noun == WarMedal) && (WarMedal in player)) { move Pill to player; remove WarMedal; print "The veteran excitedly grabs the war metal from your hands and in the process drops several of his pills into your hand. (He obviously was palming those pills that the nurse thought he was taking.) He begins to recount the story of when he met Harry S. Truman. You quietly sneak out of the room, but he doesn't seem to notice as you can hear him continuing the story from the hallway.^^"; PlayerTo(Hall_1); rtrue; } ]; Object Pill "Strange orange pill" Dummy_Room, with name "pill" "orange" "downer" "down-er" "pills", description "You look at the strange orange pill on the side you see several letters and numbers, but don't know what they mean."; !---------------------------------------------------------------------- Object Sink_Room "Elderly Woman's Room", has light scenery enterable, ! general if the sink is fixed... with name "bedroom" "room", description [; print "Another bedroom virtually the same as yours except that this one has a private bathroom (so this is what the deluxe accommodations look like). "; if (self hasnt general) print "Still, the bathroom doesn't appear to be that luxurious because the sink drips every several seconds."; "An elderly woman sits reading what appears to be a mystery novel in a small chair in the corner next to the only source of light originating from the slightly opened window. She seems quite engrossed in her reading and doesn't seem to notice your presence. The only exit is to the north."; ], before [; Talk: if (Sink_Room has general) { "The woman doesn't seem to hear you, or has simply decided to ignore you."; } else { "You walk up to the and attempt to begin a conversation, but the woman only says 'I hope you fix the sink correctly this time, I'm sick of hearing that infernal dripping day and night. That incompetent Veteran tried to fix it several days ago, but only made it worse.'"; } ], n_to Hall_2; Object ElderlyWoman "Elderly woman reading a book" Sink_Room, has scenery animate, with name "woman" "elderly" "lady", description "An elderly woman sits reading what appears to be a mystery novel in a small chair in the corner next to the only source of light originating from the slightly opened window. She seems quite engrossed in her reading and doesn't seem to notice your presence.", life [; Kiss,Attack: print "You walk up to the woman and slap the book out of her hands. What proceeds is the worst beating you've ever experienced. When you finally come-to in your bedroom, you hope you've learned a lesson about attacking those that *seem* weaker than you...^^^"; PlayerTo(Start_Room); rtrue; ]; Object WarMedal "Purple Heart of Valor" Dummy_Room, with name "medal" "heart" "purple" "valor" "metal", description "This is a Purple Heart war medal. On the back it is inscribed: 'To Sergeant Harry Smith from Harry S. Truman'."; Object Sink "White Porcelain Sink" Sink_Room, has scenery, with name "sink" "white" "porcelain", description "This is a standard porcelain sink common in many institutions of this type. It is completely unremarkable.", before [; Fix: if (Sink_Room has general) { "The sink doesn't need to be fixed."; } else if ( (noun == Sink) && (Toolbox in player) ) { move WarMedal to player; give Sink_Room general; "You use a large wrench on the sink for several hours (you were never that good with your hands), but eventually fix the sink and the water dripping ceases. In the course of fixing the sink you notice a shiny metal object which turns out to be a slightly grungy war medal.^"; } else { "You couldn't possibly fix the sink. You don't have the correct tools.^"; } ]; Object Book "book" Sink_Room, with name "book" "tome", description "A book titled 'Ayn Rand, Friedrich Nietzsche, Carl Marx, and other discredited works that no one takes seriously' by L. Ron Hubbard. Looks like light bed-time reading."; !---------------------------------------------------------------------- Object Maint_Room "Maintenance Room", has light scenery enterable, with name "room", description [; print "A dark dank smelly janitor's closet greets you as you enter. The smell of garbage that has had time to reach its full potential is almost overpowering. A janitor sitting on his mop bucket "; if (self hasnt general) print "with his feet resting on his trusty toolbox "; if (Janitor has general) print "appears to be unconscious. "; else print "quietly reads a comic book in the back corner while occasionally taking a break to sip on his coffee cup."; "There are metal shelves filled with the sort of supplies you'd expect in a maintenance closet. A solid metal door with the words 'Fire Exit, DO NOT BLOCK' is on the far wall. It leads to the outside (and freedom), but is padlocked shut. The entrance you came in through is to the south."; ], before [; Insert,Drop,Put: if ((second == Cup) && (Pill in player)) { give Janitor general; remove Pill; print "You slip the pill into the Janitors coffee, which he drinks. A few minutes later he decides to take his afternoon nap early..."; rtrue; } Kiss,Attack,Talk: if (Janitor has general) { "You don't wish to risk waking him up (or catching anything)."; } else { "The janitor looks up only briefly to inform you that 'he don't mix with da locals' and then returns to reading his fine literature."; } ], s_to Hall_3; Object Janitor "Fat, Lazy Janitor" Maint_Room, has scenery animate, ! general if janitor is unconscious with name "janitor" "man", description [; print "A man not much younger than yourself, but much fatter, sits on a mop bucket"; if (Maint_Room hasnt general) print " with his feet propped up on his trusty toolbox"; print ". While you rarely have seen an individual larger than he, you've never seen someone so entirely dedicated to his work. This must be where Teemsters go to retire."; if (Janitor has general) print " He appears to be unconscious at the moment."; rtrue; ], life [; Give,Show: if ((noun == Book) && (Book in player)) { move toolbox to player; give Maint_Room general; "The Janitor glances at the book you offer him and smiles. 'Ya, dat lady has been buggin me all week to fix that der sink of hers. I guess'in I should be starting on it, but wait, maybe you can help.'^^At this he reveals a large black toothed smile and hands you the toolbox. He chuckles to himself as he goes back to reading his 'book'."; } ]; Object Cup "Janitor's Coffee Cup" Maint_Room, has container open scenery, with name "cup" "mug" "glass" "coffee" "coffee cup", ! initial "You see a Janitor's Coffee Cup", description "A grease stained Styrofoam cup containing what appears to be either motor oil or very bad coffee.", before [; Take: "You don't want that cup of coffee! You don't know what cooties you'll catch from that janitor."; ]; Object Toolbox "Handyman's toolbox" Maint_Room, with name "tool" "box" "toolbox" "tools", description "The Janitor's trusty toolbox. They look strangely 'right' together, like a Timmy and Lassie, Tammie Fae Baker and make-up...^^ hmm, well, you get the point.", before [; Take: if (Janitor hasnt general) { "The janitor has his feet propped up on this, and he doesn't look like he's in any mood to move for you."; } else { move toolbox to player; give Maint_Room general; "Taken."; } ]; Object M_Door "solid metal door" Maint_Room, has scenery, with name "metal" "door" "solid", description "A solid metal door with the words 'Fire Exit, DO NOT BLOCK' is on the far wall. It leads to the outside (and freedom), but is padlocked shut.", before [; Unlock: if (Janitor hasnt general) { "You fiddle with the padlock and the janitor looks up from his magazine and scowls to indicate that you had better not continue what you're doing if you know what's good for you."; } else if (Key in player) { deadflag = 2; "You use the Nurses' master key to unlock the padlock and the door opens. The sun streams in and warms you. You step through the door to freedom...^^"; } else { "You fiddle with the padlock but to no avail. If only you had the key..."; } ]; !---------------------------------------------------------------------- Object Nurse_Room "Another Bedroom", ! general if nurse is not in the room has light scenery enterable, with name "room", description [; print "This room has all sorts of strange gizmos with lights flashing various numbers and making various beeps. (Those infernal contraptions.) All of the machines seem to be hooked up to the patient lying unconscious in the bed. "; if (Nurse_Room hasnt general) print " A nurse sits in the chair monitoring the patient's condition. "; "The only exit is to the north."; ], before [; Attack,Kiss,Talk: if (Nurse_Room hasnt general) { "The nurse tells you that Mr. Smith isn't in any condition to play and that he has to get his rest now."; } else { "You attempt to do that to the unconscious man, but nothing seems to happen."; } ], n_to Hall_3; Object Nurse "Nurse" Nurse_Room, has scenery animate, with name "nurse" "woman" "lady", description "One of the few dedicated individuals at this facility. She wears the typical nurses garb and a kindly, but stern face. A few blond hairs that have turned partially gray protrude out from under her nurses cap. When she notices your presence, she admonishes you to remain quite, lest you disturb this patient."; Object Sick_Man "Dying Man" Nurse_Room, has scenery animate, with name "man" "patient", description "This guy looks like he isn't long before he shuffles off this mortal coil. He has tubes pumping fluid coming out of every orifice and some that doctors have artificially made. He doesn't seem to notice you or the nurse that usually is next to his side. He never seems to gain consciousness, but rather seems to rustle for a few moments, followed by a few more of silence. You definitely don't want to go like this, you'd much rather go down fighting to get out of this place..."; Object Key "Key ring with several keys" Nurse_Room, with name "ring" "key" "keys" "keyring", description "These appear to be a set of Nurses 'master keys'. You bet that they would unlock most of the doors in this building.", before [; Take: if (Nurse_Room hasnt general) "You attempt to walk up to the table with the keys and take them. The nurse sitting in the chair grabs them away from you, scowls, and tells you to leave."; ]; !---------------------------------------------------------------------- Object Para_Room "Meticulously arranged bedroom", ! general if nurse is in the room has light scenery enterable, with name "room", description [; print "This is a room like any of the others. The furniture consists of a bed and wooden vanity. The objects on the vanity are meticulously laid in their proper place. A wild-eyed middle aged man sits at the top of his bed rocking rhythmically back and forth with his eyes fixated on a point at the end of his bed. "; if (Para_Room has general) print " A nurse sits in the chair monitoring the patient's condition. "; "The only exit is to the South."; ], before [; Attack,Kiss: "He looks pretty desperate and crazy, you don't think you'd better try that..."; Talk: if (Para_Room has general) { print "The nurse turns to you and says 'Don't you think you've done enough to disturb poor Mr. Mulder today? I just managed to calm him down again, so PLEASE leave!' As you leave, you vaguely remember that name, Mulder, Mulder, first name Fox or something like that. He was well known from something.... oh well, must not be important.^"; PlayerTo(Hall_2); rtrue; } else { "You sit with the man for several hours as he details how aliens walk among us and how the government is trying to cover it up. He says that the government put him in this 'facility' to keep him quiet and how aliens are really behind it all. You don't remember the rest as you begin to day dream when he recounts how the Kennedy conspiracy was merely a plot to keep this or that secret. What a wack job you think to yourself when he has finally talked himself out..."; } ], s_to Hall_2; Object Para_Man "Paranoid Man" Para_Room, has scenery animate, with name "paranoid" "man" "patient", description [; print "A wild-eyed middle aged man sits at the top of his bed rocking rhythmically back and forth with his eyes fixated on a point at the end of his bed. "; if (Para_Room has general) { "The man lies in a fetal position humming softly to himself. I hope you're happy about what you've done to poor Mr. Mulder?!"; } else { "He doesn't seem to notice you're presence."; } ]; Object Vanity "Meticulously Arranged Wooden Vanity" Para_Room, ! has container, with name "vanity" "dresser" "wooden", description "An ordinary wooden vanity. The objects on top of it appear to have been meticulously arranged to the point, in fact, that little white tape outlines the proper position of each object. The person who did this must have had a lot of time on his hands and probably wouldn't appreciate you disturbing this delicate balance...^The vanity is closed.", before [; Open,Take,Touch,Push,Pull,Attack: give Para_Room general; give Nurse_Room general; move Nurse to Para_Room; print "You open the vanity. The man across the room begins screaming 'You're one of them. You're one of them.' A few seconds later the nurse enters the room to calm him down has he rocks methodically back and forth in a fetal position. She turns to you and wisps you out the door.^"; PlayerTo(Hall_2); rtrue; ];