! You're Fired ! Aaron Stokes ! CIS 487 ! Project 3 ! Interactive Text project Constant Story "You're Fired"; Constant Headline "^If you hate your boss, kill him, if you love your job do it.^If you want to kill everyone in sight be my guest. Just make sure you survive. ^by Aaron Stokes^"; Constant DEBUG; ! Player can only carry two items at a time Constant MAX_CARRIED 4; Constant Max_moves 10; Constant MAX_SCORE 1310; Include "parser"; Include "verblib"; Include "grammar"; ! Other characters global fifiMood = 0; !fifiMood = 3 = dead global bossMood = 0; !mood and moral determines whether you life, die, or kill the boss. ! if itPerson == 1 he was killed global itPerson = 0; global pat = 0; global jb = 0; global jan = 0; global hasRing = 0; global sar = 0; global ros = 0; global yes = 0; global nep = 0; global and = 0; ! Player stats global stressLevel = 0; global warrantLevel = 0; global workersMoral = 0; global mazeMoves = 0; global hasgun = 0; global numFiles = 0; ! Mission stats global mission1 = 0; ! Find the computer service person global mission2 = 0; ! Feed the boss's dog. global mission3 = 0; ! Find all the files. ! haskissed global kissedSarah = 0; global kissedPat = 0; !bonusMissions global unlimitedMoral = 0; ! Everybody will like you no matter what global happyBoss = 0; ! Boss will never be mad at you global innocent = 0; ! You can never be arrested. [Initialise; location = yourCubicle; deadflag = 0; print "^^It is 8'O'clock. Your day is about to begin and quitting time isnt until 5.^It seems that the a hole you called a boss left you a list of tasks to do.^^Suddenly you start to think to yourself ~I'm crazy I'm insane I'll show him. First I'll have to get workers on my side, or kill them to shut them up, then I'll go and knock off the big cheese.~^^Little do you know, that there are people in this building crazier than you. First there is Patty Pep, she's hot but, try to stay away from crazy girls. Next there is Joe blow, he hates dogs, in fact you have ideas of killing the bosses dog Fifi. Then you have the boss idiot nephew Seymour, Killing him will really make the boss made. Finally you have your fellow colleagues Sarah, Randall, Andy, Janitor, idiot number 2 Kyle and the computer service person who don't know what a mouse is.^^^Yep your live sucks. Up to now that is.^^^^"; ]; !------------------------------------Rooms-------------------------------------- ! Room: A plain hallway Object hallway "hallway" has light with name "hall" "hallway", description "It's just a plain hallway. To the west is a door to the boss's office.^To the north is a door to the file room. And to the south is a door to the lobby", e_to hallDoor1, w_to hallDoor3, n_to hallDoor2, s_to hallDoor4; ! Room: The never ending maze of cubicles Object cubicleMaze "C-Wing" has light with name "maze" "cube_maze" "Labyrinth" "c" "cwing" "c-wing", description "Welcome to the never ending labyrinth of cubicles, some say a fellow worker went in so far that he got lost and never returned. Your cubicle is called the door to hell.", w_to hallDoor1, e_to yourCubicle; ! Room: Boss Office Object boss_Office "Boss Office" has light with name "boss office" "boss" "office", description "A dark and horrible room where employees go in but don't come out", e_to hallway; ! Room: File Room Object file_room "File Room" has light with name "file room", description "Room of secrets. Some never to be seen by human eyes again.", s_to hallDoor2; ! Room: Cubicle (inside of C-Wing) Object yourCubicle "your cubicle" has light with name "cube" "cubicle" "box", description "Your cubicle is nice and cozy. To the east you see the maze enter with caution.^To the west you see civilization the hallway.", e_to andyCubicle, n_to sarahCubicle, w_to cubicleMaze; ! Room: lobby Object lobby "lobby" has light with name "lobby", description "Probably the best looking part in the building. The lobby fools a lot of people.^To the east you see a door to the kitchen. To the south you see a door leading outside to the courtyard.", n_to hallDoor4, s_to lobbyDoor1, e_to lobbyDoor2; Object kitchen "kitchen" has light with name "kitchen", description "Is probably the dirtiest Kitchen in the world.", w_to lobbyDoor2; ! Room: court yard Object courtyard "courtyard" has light with name "court" "courtyard" "yard", description "The front of the building. To the west you see the dog yard.", n_to lobbyDoor1, w_to dogYard; ! Room: Dog Yard Object dogYard "dog yard" has light with name "dog" "dog yard" "yard", description "Everybody in the office hates this place. All you can hear is that whining mutt FiFi.", e_to courtyard, before[; Listen: "You here Fi Fi whining."; ]; !------------------------------------Doors-------------------------------------- Object hallDoor1 "hallway Door to the C-wing." has scenery door openable with name "hallway" "cwing" "door", description "A door to the hallway.", found_in cubiclemaze hallway, door_dir[; if (location == cubicleMaze) return w_to; else return e_to; ], door_to [; if (location == cubicleMaze) return hallway; else return cubicleMaze; ]; Object hallDoor2 "hallway Door to the file room" has scenery door openable lockable locked with name "hallway" "file" "room" "door", description "A door to the hallway.", with_key fileroom_key, found_in file_room hallway, door_dir[; if (location == file_room) return s_to; else return n_to; ], door_to [; if (location == file_room) return hallway; else return file_room; ]; Object hallDoor3 "hallway Door to the boss's office" has scenery door openable with name "hallway" "door" "boss" "office", description "A door to the hallway.", found_in boss_Office hallway, door_dir[; if (location == boss_office) return e_to; else return w_to; ], door_to [; if (location == boss_office) return hallway; else return boss_office; ]; Object hallDoor4 "hallway Door to the lobby" has scenery door openable with name "hallway" "door" "lobby", description "A door to the hallway.", found_in lobby hallway, door_dir[; if (location == lobby) return n_to; else return s_to; ], door_to [; if (location == lobby) return hallway; else return lobby; ]; Object lobbyDoor1 "lobby Door to the courtyard" has scenery door openable with name "lobby" "courtyard" "court" "yard" "door", description "A door to the hallway.", found_in lobby courtYard, door_dir[; if (location == lobby) return s_to; else return n_to; ], door_to [; if (location == lobby) return courtyard; else return lobby; ]; Object lobbyDoor2 "lobby Door to the kitchen" has scenery door openable with name "lobby" "door" "kitchen", description "A door to the hallway.", found_in lobby courtYard, door_dir[; if (location == lobby) return e_to; else return w_to; ], door_to [; if (location == lobby) return kitchen; else return lobby; ]; !------------------------------------Maze--------------------------------------- Object sarahCubicle "Sarah's cubicle" has light with name "Sarah" "Cubicle", description [; if (self hasnt visited) print "^^This is your first time here.^^"; "Welcome top Sarah's cubicle.^"; ], before[; mazeMoves = mazeMoves + 1; ], n_to RandallCubicle, e_to conferenceCubicle, s_to yourCubicle; Object RandallCubicle "Randall's cubicle" has light with name "Randall" "Cubicle", description [; if (self hasnt visited) print "^^This is your first time here.^^"; "Welcome top Randall's cubicle.^"; ], before[; mazeMoves = mazeMoves + 1; ], s_to sarahCubicle; Object conferenceCubicle "conference cubicle" has light with name "Sarah" "Cubicle", description [; if (self hasnt visited) print "^^This is your first time here.^^"; "This is the conference cubicle, WTF is a conference cubicle.^"; ], before[; mazeMoves = mazeMoves + 1; ], n_to yesCubicle, s_to andyCubicle, w_to sarahCubicle, e_to skeletonCubicle; Object yesCubicle "Yes Man cubicle" has light with name "yes man""yes""man""Cubicle", description [; if (self hasnt visited) print "^^This is your first time here.^^"; "This is the Yes Man cubicle. You might want to cut your stay here a little short^"; ], before[; mazeMoves = mazeMoves + 1; ], e_to emptyCubicle2, w_to emptyCubicle3, s_to conferenceCubicle; Object emptyCubicle3 "empty cubicle" has light with name "empty" "cubicle", description[; if (self hasnt visited) print "^^This is your first time here.^^"; "This cubicle is empty.^"; ], before[; mazeMoves = mazeMoves + 1; ], n_to exitCubicle, e_to yesCubicle; Object andyCubicle "Andy's cubicle" has light with name "Andy""Cubicle", description [; if (self hasnt visited) print "^^This is your first time here.^^"; "Welcome top Andy's cubicle.^"; ], before[; mazeMoves = mazeMoves + 1; ], e_to emptyCubicle, n_to conferenceCubicle, w_to yourCubicle; Object emptyCubicle "empty cubicle" has light with name "empty" "cubicle", description[; if (self hasnt visited) print "^^This is your first time here.^^"; "This cubicle is empty.^"; ], before[; mazeMoves = mazeMoves + 1; ], n_to skeletonCubicle, w_to andyCubicle; Object emptyCubicle2 "empty cubicle" has light with name "empty" "cubicle", description[; if (self hasnt visited) print "^^This is your first time here.^^"; "This cubicle is empty.^"; ], before[; mazeMoves = mazeMoves + 1; ], n_to janitorCloset, w_to yesCubicle, s_to nephewCubicle; Object janitorCloset "janitor closet" has light with name "janitor" "closet", description[; if (self hasnt visited) print "^^This is your first time here.^^"; "This isn't a cubicle it's a closet.^"; ], before[; mazeMoves = mazeMoves + 1; ], s_to emptyCubicle2; Object nephewCubicle "nephew Cubicle" has light with name "nephew" "cubicle", description[; if (self hasnt visited) print "^^This is your first time here.^^"; "The boss's nephew. Why wonder he's so far in the C-Wing^"; ], before[; mazeMoves = mazeMoves + 1; ], s_to skeletonCubicle, n_to emptyCubicle2; Object skeletonCubicle "skeleton cubicle" has light with name "skeleton" "cubicle", description[; if (self hasnt visited) print "^^This is your first time here.^^"; "You see dead people. really.^"; ], before[; mazeMoves = mazeMoves + 1; ], w_to conferenceCubicle, n_to nephewCubicle, s_to emptyCubicle; Object exitCubicle "exit cubicle" has light with name "skeleton" "cubicle", description[; if (self hasnt visited) print "^^This is your first time here.^^"; "You see a light to the north.^"; ], !Bonus for completing the maze after[; if(mission1 == 0) { !Completed the maze within the alloted time. if(mazeMoves <= Max_Moves) { workersMoral = workersMoral + 10; bossMood = bossMood + 10; Score = Score + 140; print "Mission: Find the computer service person completed^Moral Boost + 10^ Boss Mood + 10 (The boss is happy with your performance) ^"; } !Completed the maze after time expiered if(mazeMoves > Max_Moves) { workersMoral = workersMoral + 10; Score = Score + 120; if (happyboss == 0) { Score = Score - 20; bossMood = bossMood - 10; } stressLevel = stressLevel + 10; print "Mission: Find the computer service person: completed^ Moral Boost + 10^stressLevel + 10 (You took to long)^Boss Mood - 10 (You took to long and pissed him off) ^"; } mission1 = 1; } ], n_to cubicleMaze, s_to emptyCubicle3; !------------------------------------Objects------------------------------------ ! Cubicle Objects Object memo1 "memo" yourCubicle with name "memo", description "It says if you want to live 9,13,18. The rest of the message has been torn."; Object memo2 "memo" lobby with name "memo", description "The first part of the message has been torn. It reads 19,20,21."; Object task_list "task list" yourCubicle with name "tasks" "task" "task_list" "task list" "list", description[; if (mission1 == 0) print "Find IT person"; if (mission2 == 0) print "Feed the boss’s dog"; if (mission3 == 0) print "File records"; if (mission1 == 1 && mission2 == 1 && mission2 == 1) print "Theres no need to look at the memo."; ]; Object computer "computer" yourCubicle has static with name "computer", description [; if (hasgun == 0) "It's processing the print job you tried yesterday. You want to break the thing badly."; else "Well it isn't doing anything now, you broke it."; ], before[; Take: "It's to heavy for you to take."; Attack: if (hasgun == 0) { hasgun = 1; move gun to player; "You find a gun"; } else "It's already in pieces."; ]; object gun ".22 calibur" yourCubicle has concealed with name "gun" "calibur" ".22", description "Can you say killing spree."; ! Maze Objects (All cubicles) Object skeleton "skeleton" skeletonCubicle has static supporter with name "skeleton", description "He must be the missing dude, sucks to be him"; object ring "30 years of service ring" skeleton with name "ring" "30" "service", description "Is given to people who have worked for a very long time."; Object sarah "Sarah" sarahCubicle has animate female proper with name "Sarah", description[; if(sar == 1) "You killed innocent little sarah"; else "She knows how people feel."; ], before[; talk: if(sar == 0) { if (workersMoral < 0) print "Stop abusing your fellow workers.^"; else if (workersMoral < 40 || workersMoral > 0) print "You need more support."; else if (workersMoral >= 40) print "Keep this up and you can take him on.^"; }else print "You can't speak to dead people. Well you can but you won't get a response^"; ], life[; attack: if (sar == 0 && hasgun == 1 && stressLevel < 40) { Score = Score + 20; if (innocent == 0) warrantLevel = warrantLevel + 1; if (unlimitedMoral == 0) { workersMoral = workersMoral - 10; Score = Score - 20; } sar = 1; gameOver(); if (deadflag == 0) { "You killed sarah why.^ warrant level + 1 (three and thats the chair)^ workers moral - 10 (They are starting to hate you. Don't kill one of your own.)"; } }else if (hasgun == 0) "What are you going to do, you can't fight, and you have no gun"; else if (stressLevel > 40) "You're to stressed to do anything."; else "she's already dead"; kiss: if (sar == 0 && kissedSarah == 0) { if(workersMoral < 40) { Score = Score - 20; if (innocent == 0) warrantLevel = warrantLevel + 1; if (unlimitedMoral == 0) workersMoral = workersMoral - 10; stressLevel = stressLevel + 10; gameOver(); if (deadflag == 0) { "Thats sexual harrasment, She slaps you with incredible force.^ warrant level + 1 (three and thats the chair)^ stress level + 10^ workers moral - 10"; } }else if (workersMoral > 40) { if (unlimitedMoral == 0) workersMoral = workersMoral + 10; stressLevel = stressLevel - 10; Score = Score + 20; kissedSarah = 1; "She is ready to fight too. Beware of inter-office relationships. They always ends in failure.^ stressLevel - 10^workersMoral + 20"; } }else if (kissedSarah == 1) "You kissed her already do I need to get the hose."; else "You have real problems buddy."; ]; Object Randall "Randall" RandallCubicle has animate male proper with name "Randall", description[; if(ros == 1) "You killed Randall, damn you"; else "He can get you off the hook if you have bribe money."; ], before[; talk: if(ros == 0) { if (warrantLevel == 0) "I think you’re not killing enough people"; else if (warrantLevel == 1) "I think you can kill two more people."; else if (warrantLevel == 2) "I think you should get me a bribe."; }else print "You can't speak to dead people. Well you can but you won't get a response^"; ], life[; attack: if (ros == 0 && hasgun == 1 && stressLevel < 40) { Score = Score + 20; if (innocent == 0) warrantLevel = warrantLevel + 2; if (unlimitedMoral == 0) { Score = Score - 20; workersMoral = workersMoral - 10; } ros = 1; gameOver(); if (deadflag == 0) { "You killed a cop, technically he is a rent a cop but still a cop.^ warrant level + 2 (three and thats the chair)^workers moral - 10 (They are starting to hate you. Don't kill one of your own.)"; } }else if (hasgun == 0) "What are you going to do, you can't fight, and you have no gun"; else if (stressLevel > 40) "You're to stressed out to do anything."; else "He's already dead"; give: if (ros == 0) { if (noun == bribe) { warrantLevel = 0; move noun to Randall; Score = Score + 10; "You have been cleared of all charges^ Warrant level is not at 0.^"; } } kiss: if (ros == 0) "I don't think he like other men"; else "Do you really want to kiss a dead person"; ]; object yesMan "Kyle the yes man" yesCubicle has male proper animate with name "Kyle" "Yes" "man", description[; if(yes == 0) "The only thing he says is yes. The company lost millions because of him.^ Even the boss wants him dead."; else "Everybody is happy that Kyle lies there motionless"; ], before[; talk: if(yes == 0) print "I think some one is trying to kill me."; else print "You can't speak to dead people. Well you can but you won't get a response^"; ], life[; attack: if (yes == 0 && hasgun == 1 && stressLevel < 40) { if (innocent == 0) warrantLevel = warrantLevel + 1; workersMoral = workersMoral + 10; bossMood = bossMood + 30; yes = 1; Score = Score + 80; gameOver(); if(deadflag == 0) { "You killed Mr. Yes sir. Good job.^ warrant level + 1 (three and thats the chair)^ workers moral + 10 (In this case it's okay)^ bossMood + 30 (He might give you a promotion for that one.)"; }else "Thats the chair for you buddy. At least everyone is happy that you killed Kyle."; }else if (hasgun == 0) "What are you going to do, you can't fight, and you have no gun"; else if (stressLevel > 40) "You're to stressed out to do anything."; else "He's already dead"; kiss: if (yes == 0) { if (unlimitedMoral == 0) { Score = Score - 20; workersMoral = workersMoral - 10; } "He says yes and kiss you back.^ Workers Moral - 10 (Bad move guy what would people think)."; } else "Do you really want to kiss a dead person"; ]; Object nephew "Matt the dumb boss's nephew" nephewCubicle has male proper animate with name "Matt" "dumb" "boss" "nephew", description[; if(nep == 0) "He's the boss's nephew. Poor guy."; else "Sucks to be you, you will be blamed for his death."; ], before[; talk: if(nep == 0) print "Touch me and you will be sorry."; else print "You can't speak to dead people. Well you can but you won't get a response^"; ], life[; attack: if (nep == 0 && hasgun == 1 && stressLevel < 40) { Score = Score + 20; if (innocent == 0) warrantLevel = warrantLevel + 1; if (happyBoss == 0) { bossMood = bossMood - 30; Score = Score - 60; } stressLevel = stressLevel + 10; yes = 1; gameOver(); if(deadflag == 0) { "You killed the boss's nephew, you idiot.^ Warrant level + 1 (three and thats the chair)^ Boss's mood - 30 (uh, you shouldn't have did that.)^ Stress Level + 10"; }else "Thats the chair for you buddy."; }else if (hasgun == 0) "What are you going to do, you can't fight, and you have no gun"; else if (stressLevel > 40) "You're to stressed out to do anything."; else "He's already dead"; kiss: if (nep == 0) { if (happyBoss == 0) { Score = Score - 20; bossMood = bossMood - 10; } stressLevel = stressLevel - 10; "He runs to tell the boss.^ Boss Mood - 10 (Bad move guy).^ Stress Level - 10^"; } else "Do you really want to kiss a dead person"; ]; object andy "Andy" andyCubicle has male proper animate with name "andy", description[; if(and == 0) "Everybody loves this guy."; else "Sucks to be you, you will be blamed for his death."; ], before[; talk: if(and == 0) { if (workersMoral < 60) print "Talk to me later when you get a lot of support"; if (unlimitedMoral == 0) { if (workersMoral >= 60) { Score = Score + 200; print "Nice job getting support. Here.^ You now have unlimited worker support."; unlimitedMoral = 1; } } else print "I've done every thing I can do to help you."; }else print "You can't speak to dead people. Well you can but you won't get a response^"; ], life[; attack: if (and == 0 && hasgun == 1 && stressLevel < 40) { Score = Score + 20; if (innocent == 0) warrantLevel = warrantLevel + 1; if (unlimitedMoral == 0) { Score = Score - 80; workersMoral = workersMoral - 30; } and = 1; gameOver(); if(deadflag == 0) { "You killed the one man every one loved.^ warrant level + 1 (three and thats the chair)^ workers moral - 30 (uh, you shouldn't have did that.)"; }else "Thats the chair for you buddy."; }else if (hasgun == 0) "What are you going to do, you can't fight, and you have no gun"; else if (stressLevel > 40) "You're to stressed out to do anything."; else "He's already dead"; kiss: if (and == 0) "I don't think he likes other men"; else "Do you really want to kiss a dead person"; ]; object janitor "the janitor" janitorCloset has male proper animate with name "janitor", description [; if (jan == 0) { if (hasRing == 1) "He's finally at peace."; else "Worked here for over 40 years and has nothing to show for it."; } else "The old man is dead"; ], before[; talk: if (jan == 0) { if (hasRing == 0) "I want something for my time here."; else "Thank you. Here's a tip, there is a weapon somewhere in you cubicle look for it."; } ], life[; attack: if (jan == 0 && hasgun == 1 && stressLevel < 40) { Score = Score + 20; if (innocent == 0) warrantLevel = warrantLevel + 1; if (unlimitedMoral == 0) { Score = Score - 20; workersMoral = workersMoral - 10; } jan = 1; gameOver(); if(deadflag == 0) { "You killed the janitor you bastard.^ warrant level + 1 (three and thats the chair)^ workers moral - 10 (They are starting to hate you. Don't kill one of your own.)"; }else "Thats the chair for you buddy"; }else if (hasgun == 0) "What are you going to do, you can't fight, and you have no gun"; else if (stressLevel > 40) "You're to stressed out to do anything."; else "He's already dead"; kiss: if (jan == 0) "Back away, he's starting to tell a long story."; else "Do you really want to kiss a dead person"; give: if (noun == ring) { workersMoral = workersMoral + 10; Score = Score + 20; move noun to janitor; hasRing = 1; "He's now at peace.^ Workers Moral + 10^"; } ]; Object servicePerson "Computer Service Person" exitCubicle has male proper supporter animate with name "Computer" "service" "person" "CSP", description [; if (itPerson == 0) "I guess he really didn't need your help."; else if (itPerson == 1) "Is he dead...... Yep he's dead"; ], before[; talk: if (itPerson == 0) "Not all dogs like dog food."; else "He's deader than a door knob."; ], life[; attack: if (itPerson == 0 && hasgun == 1 && stressLevel < 40) { Score = Score + 20; if (innocent == 0) warrantLevel = warrantLevel + 1; if (unlimitedMoral == 0) { Score = Score - 20; workersMoral = workersMoral - 10; } itPerson = 1; gameOver(); if(deadflag == 0) { "You killed the CSP you bastard.^ warrant level + 1 (three and thats the chair)^ workers moral - 10 (They are starting to hate you. Don't kill one of your own.)"; }else "Thats the chair for you buddy"; }else if (hasgun == 0) "What are you going to do, you can't fight, and you have no gun"; else if (stressLevel > 40) "You're to stressed out to do anything."; else "He's already dead"; kiss: if (itPerson == 0) "I don't think he like other men"; else "Do you really want to kiss a dead person"; ]; ! ugly Pictures Object picture9 "ugly picture" yourCubicle has static with name "picture9""ugly""picture", description "A ugly picture with the number on it 9"; Object picture13 "ugly picture" andyCubicle has static with name "picture13""ugly""picture", description "A ugly picture with the number on it 13"; Object picture12 "ugly picture" emptyCubicle has static with name "picture4""ugly""picture", description "A ugly picture with the number on it 12"; Object picture14 "ugly picture" skeletonCubicle has static with name "picture14""ugly""picture", description "A ugly picture with the number on it 14"; Object picture11 "ugly picture" sarahCubicle has static with name "picture11""ugly""picture", description "A ugly picture with the number on it 11"; Object picture18 "ugly picture" conferenceCubicle has static with name "picture18""ugly""picture", description "A ugly picture with the number on it 18"; Object picture10 "ugly picture" RandallCubicle has static with name "picture10""ugly""picture", description "A ugly picture with the number on it 10"; Object picture19 "ugly picture" yesCubicle has static with name "picture19""ugly""picture", description "A ugly picture with the number on it 19"; Object picture16 "ugly picture" nephewCubicle has static with name "picture16""ugly""picture", description "A ugly picture with the number on it 16"; Object picture17 "ugly picture" emptyCubicle2 has static with name "picture17""ugly""picture", description "A ugly picture with the number on it 17"; Object picture15 "ugly picture" janitorCloset has static with name "picture15""ugly""picture", description "A ugly picture with the number on it 15"; Object picture20 "ugly picture" emptyCubicle3 has static with name "picture20""ugly""picture", description "A ugly picture with the number on it 20"; Object picture21 "ugly picture" exitCubicle has static with name "picture20""ugly""picture", description "A ugly picture with the number on it 21"; ! File Room objects Object fileCabinent "File Cabinent" file_room has static container openable with name "file" "cabinent", description "Find all files and put them here.", before[; Receive: if (noun == file1 || noun == file2 || noun == file3 || noun == file4 || noun == file5) { if (numFiles <= 5) { numFiles = numFiles + 1; if (numFiles == 5) { bossMood = bossMood + 10; Score = Score + 120; mission3 = 1; "Mission: Filing Complete^ Boss Mood + 10^"; } } } else { move noun to player; "Only files should go into the cabinet."; } ]; ! Files Object file1 "File #1" cubicleMaze with name "file" "files" "records", description "File number 1 out of 5."; Object file2 "File #2" Kitchen with name "file" "files" "records", description "File number 2 out of 5."; Object file3 "File #3" Lobby with name "file" "files" "records", description "File number 3 out of 5."; Object file4 "File #4" JanitorCloset with name "file" "files" "records", description "File number 4 out of 5."; Object file5 "File #5" skeletonCubicle with name "file" "files" "records", description "File number 5 out of 5."; ! Office Objects Object watermelon "watermelon" boss_Office with name "watermelon" "water" "melon", description "Is a nice ripe melon"; Object daBoss "Boss" boss_Office has male proper animate with name "boss", description "He's big, he's rich, he's pissed", before[; Talk: if(bossMood > 50 && happyBoss == 0) { Score = Score + 200; happyBoss = 1; "I glad you know how things work around here. Take this and get out of my face.^ The boss can't hate you now."; } else if (mission1 == 1 || mission2 == 1 || mission3 == 1 && innocent == 0) { Score = Score + 200; innocent = 1; "I think someone is trying to kill me. Kill them first.^ You now have a unlimited warrant level."; } else ".......... I don't think he wants to speak to you."; ], life[; attack: if (workersMoral >= 40 && hasgun == 1 && stressLevel < 40) { deadflag = 2; summary(); "A group of workers joins you in killing that fat SOB. There you stand dancing on his dead corpse."; }else if (workersMoral >= 40 && hasgun == 0) { deadflag = 1; summary(); "Yeah.... You get this far and you have no gun. Everybody runs away as the boss kills you."; }else if (workersMoral < 0) { deadflag = 1; summary(); "The A hole laughs at you as you get your but kicked by your own co-workers"; }else if (bossMood < 0) { deadflag = 1; summary(); "Calls security and fires you. You try to attack him but you are killed by security."; } else if (stressLevel > 40) "You're to stressed out to do anything."; else "He ignores you. Man you're weak."; give: if (noun == bribe) { bossMood = bossMood + 10; move noun to daBoss; "He takes your money, and grins.^ Boss Mood + 10"; } ]; Object bribe "bribe" boss_Office with name "bribe", description "Works well with the boss, and cops."; Object fileroom_key "File room key" lobby with name "file" "room" "fileroom" "key", description "Opens the file room door."; ! court yard Objects Object funnyGrapes "funny grapes" courtYard with name "funny" "grapes", description "Looks good, but there is something weird about them."; object sign "sign" courtYard has static with name "sign", description "It says 'Enter at your own risk' To bad you didn't see that before the interview."; ! Kitchen Objects Object dogFood "dog food" kitchen with name "dog" "food" "dog food", description "So vile that a dog wouldn't eat it."; ! Dog Yard Object fifi "Fi Fi" dogYard has animate female proper with name "fi" "dog" "fifi", description[; if (fifiMood == 0) "Fifi is hungry you better feed it."; if (fifiMood == 1) "I think you made it angry."; if (fifiMood == 2) "She likes you now"; if (fifiMood == 3) "Murdered her and no one cares, except Patty."; ], before[; Talk: if (fifiMood == 3) "Woof."; else "For one you want to talk to a dog, for two you want to talk to a dead dog."; ], life[; attack: if(hasgun == 0) "You need a gun to kill the mutt."; else if(fifiMood == 0 || fifiMood == 2) { Score = Score + 20; workersMoral = workersMoral + 10; if (happyBoss == 0) { Score = Score - 20; bossMood = bossMood - 20; } fifiMood = 3; "You killed FiFi you ..... Well only the boss liked that dog good job.^ Stress Level - 10 ^ workers moral + 10 ^ boss Mood - 20"; }else if(fifiMood == 1) "You can't kill her now that she's mad at you. Better not get to close."; else if (fifiMood == 3) "She's already dead"; give: if (noun == dogFood) { stressLevel = stressLevel + 10; if (happyBoss == 0) bossMood = bossMood - 10; fifiMood = 1; move noun to fifi; "Fifi starts to growl at you.^ Mission: Feed the bosses dog (Failed)^ Stress Level + 10^ bossMood + 10"; }else if (noun == funnyGrapes) { stressLevel = stressLevel + 10; if (happyBoss == 0) { Score = Score - 20; bossMood = bossMood - 20; } fifiMood = 3; move noun to fifi; "FiFi starts to breath hard and falls over dead. At least you didn't kill him on purpose. ^ Mission: Feed the bosses dog (Failed)^ Stress Level + 10^ bossMood + 10"; } if (noun == watermelon) { Score = Score + 120; bossMood = bossMood + 10; fifiMood = 2; mission2 = 1; move noun to fifi; "The dog is finally satisfied. What kind of dog eats watermelon ^ Mission: Feed the bosses dog (completed)^ bossMood + 10"; } else "The damage is done"; kiss: if (fifiMood == 0 || fifiMood == 1) { deadflag = 1; summary(); "Fifi can't stand you any more. The dog leaps at your throat and kills you. It really sucks to be you."; }else if (fifiMood == 2) "She licks your face"; else "Do you really want to kiss a dead per.... I mean dog."; ]; Object joe "Joe Blow" dogYard has animate male proper with name "Joe" "Blow" "Mr. Blow", description[; if (jb == 1) "Didn't see that coming, he's dead."; else { if (fifiMood == 3) "He's dancing with joy."; if (fifiMood == 2 || fifiMood == 1) "I don't think you want to talk to him right now"; if (fifiMood == 0) "He looks at the dog as if he was ready to slice his head off at any moment."; } ], before[; Talk: if (jb == 0) { if (fifiMood == 3) "I'm happy that fifi is finally dead"; if (fifiMood == 2 || fifiMood == 1) { deadflag = 1; summary(); "Should have killed the dog. Instead Joe kills you."; } if (fifiMood == 1) "Not only is he mad at the dog but he's now mad at you too."; if (fifiMood == 0) "He looks at the dog as if he was ready to slice his head off at any moment."; } else "For one you want to talk to a dog, for two you want to talk to a dead dog."; ], life[; attack: if (jb == 0 && hasgun == 1 && stressLevel < 40) { Score = Score + 20; if (innocent == 0) warrantLevel = warrantLevel + 1; if (unlimitedMoral == 0) { Score = Score - 20; workersMoral = workersMoral - 10; } jb = 1; gameOver(); if (deadflag == 0) { "You killed Joe Blow you bastard.^ warrant level + 1 (three and thats the chair)^ workers moral - 10 (They are starting to hate you. Don't kill one of your own.)"; }else "Thats the chair for you buddy."; }else if (hasgun == 0) "You can't fight, what are you going to do with a weapon."; else if (stressLevel > 40) "You're to stressed to do anything."; else "He's already dead"; kiss: if (jb == 0) "I don't think he likes other men."; else "Do you really want to kiss a dead person"; ]; Object patty "Patty Pep" dogYard has animate female proper with name "Pat" "Patty" "Ms Pep" "Pep", description[; if(pat == 1) "You killed that dog loving freak"; else { if (fifiMood == 3) "She is mad I don't think you want to talk you."; if (fifiMood == 2) "She actually looks like she likes you."; if (fifiMood == 1) "For some reason she still like this ugly mut."; if (fifiMood == 0) "She loves all dogs (including the ugly ones)."; } ], before[; Talk: if (pat == 0) { if (fifiMood == 3) "Don't talk to me right now"; if (fifiMood == 2) "....Hi. She grins at you"; if (fifiMood == 1 || fifiMood == 0) "I think I saw some grapes in the court yard."; } ], life[; attack: if (pat == 0 && hasgun == 1 && stressLevel < 40) { score = score + 20; if (innocent == 0) warrantLevel = warrantLevel + 1; if (unlimitedMoral == 0) { Score = Score - 20; workersMoral = workersMoral - 10; } pat = 1; gameOver(); if (deadflag == 0) { "You killed pat you bastard.^ warrant level + 1 (three and thats the chair)^ workers moral - 10 (They are starting to hate you. Don't kill one of your own.)"; } }else if (hasgun == 0) "You can't fight. What are you going to do with out a weapon"; else if (stressLevel > 40) "You're to stressed to do anything."; else "she's already dead"; kiss: if (pat == 0 && kissedPat == 0) { if(fifiMood == 0 || fifiMood == 1) { if (innocent == 0) warrantLevel = warrantLevel + 1; if (unlimitedMoral == 0) { Score = Score - 20; workersMoral = workersMoral - 10; } stressLevel = stressLevel + 10; gameOver(); if (deadflag == 0) { Score = Score - 20; "Thats sexual harassment, She slaps you with incredible force.^ warrant level + 1 (three and thats the chair)^ stress level + 10^ workers moral - 10"; } } else if (fifiMood == 2) { workersMoral = workersMoral + 20; Score = Score + 50; kissedPat = 1; stressLevel = stressLevel - 10; "She likes guys who like dogs. Beware of inter-office relationships. They always ends in failure.^ stressLevel - 10^ workersMoral + 20"; } else if (fifiMood == 3) { deadflag = 1; summary(); "That was a very bad idea. The crazy woman shoots you. She stairs at you while you bleed to death."; } }else if (kissedPat == 1) "You kissed her already, don't make me get the hose."; else "You have real problems buddy."; ]; [gameOver; if (warrantLevel >= 3) { summary(); deadflag = 1; } return true; ]; [summary; print "Game Over^Stats^Stress Level: "; print stressLevel; print "^Workers Moral: "; print workersMoral; print "^Warrant Level: "; print warrantLevel; print "^Boss Mood: "; print bossMood; print "^Final Rank: "; if (Score < 0) print "Homeless Bum^^"; else if (Score > 0 && Score <= 200) print "Unemployed^^"; else if(Score > 200 && Score <= 400) print "Loyal Servent^^"; else if(Score > 400 && Score <= 600) print "Motavation Speaker^^"; else if(Score > 600 && Score <= 800) print "Team player^^"; else if(Score > 800 && Score <= 1000) print "Small time killer^^"; else if(score > 1000) print "Serial Killer^^"; ]; [talkSub;]; verb "talk" * 'to' noun -> talk * noun -> talk;