!********************************************************************************************************************* !The Last Roman ! By: Steve Cooper ! Project: CIS 487 Fall 2005 !********************************************************************************************************************* !********************************************************************************************************************* !Constant Declarations !********************************************************************************************************************* Constant Story "The Last Roman"; Constant Headline "^Interactive Fiction Project - CIS 487 - Fall 2005^"; Constant DEBUG; Constant MAX_SCORE = 13; !********************************************************************************************************************* !Include Statements for libs from .h files in compiler !********************************************************************************************************************* Include "parser"; Include "verblib"; Include "grammar"; !********************************************************************************************************************* !Words to be added to reguar grammer !********************************************************************************************************************* Verb "Use" * noun -> use; [ UseSub; "You can't use ", (the) noun, "."; ]; Verb "Talk" * noun -> talk; [ TalkSub; "You can't talk to ", (the) noun, "."; ]; !********************************************************************************************************************* !Global declarations for status of items !********************************************************************************************************************* global doorstatus = False; global pathopen = False; global blindedguard = False; global HaveUniform = False; global TakeArmor = False; global TakeSword = False; global HasLetter = False; global MeetSenator = False; global HaveOrder = False; global HaveSword = False; global TakeForm = False; global ReturnSword = False; global Route = False; global TakeItems = False; global Passage = False; global BoardShip = False; global Fight = False; !********************************************************************************************************************* !On startup of game call this function. !********************************************************************************************************************* [ Initialise; location = Cell; print "You awake to find yourself confused. Confused about where you are but also who you are. You try to recall your life and only seem to have flashes of what you might have been. You try to recall for hours only to come to the conclusion that what you were doing is unfinished. ^^ You feel as though you were in a battle that must have been for your life. You can't help but think what happend to the other guy if there was a fight. After you regain your abilities fully you have one feeling that overcomes all others. ^^ I MUST DISCOVER WHO I WAS AND WHAT I MUST DO...^^^ CONTROLS: Examine, Take, Inv, Use, Open, Go, Drop, Talk, In, Out, North, East, South, West^^"; ]; !********************************************************************************************************************* !Cell Room statements. !********************************************************************************************************************* !CELL ROOM Object Cell "Cell" has light with name "Cell" "Jail", description "You are in a prison cell. The cell is large possibly meant to keep many people in. 'SHACKELS AND CHAINS' are all over the cell. A pile of 'BONES' appear to be lying there for some time. The only exit apperars to be the 'CELL DOOR' which leads 'EAST' to what must be the prison grounds.'", e_to CellDoor; !Bone Pick in Cell Object BonePicks "Bone Picks" Cell has concealed with name "Bone" "Bones" "Pick" "Picks", description "The bones appear to be broken in the pile, a few fragments might be useful.", before [; Use: if(doorstatus == True) { give self open; move BonePicks to Cell; print_ret "You pick the lock and you should be able to open the door."; }; ], after [; Take: if(self.BoneScore == False) { score = score + 1; self.BoneScore = True; } doorstatus = True; print_ret "You take a couple bones that are small tool like."; ], BoneScore False; !Shackels in Cell Object Shackels "Shackels" Cell has concealed with name "chains" "shackels" "shackel" "chain", description "Two shackels are laying on the floor attached to chains on the wall. They seem attached strong to the wall.", before [; Take: "You are not sure why you would want to take the shackels since they are attached to the wall."; ]; !Cell Door from Cell Object CellDoor "Cell Door" Cell has static door openable lockable locked with name "Cell" "Door" "Cell Door", description "The Cell door leads between the Cell and the Prison Camp.", when_closed "The passage between the Cell and the Prison Camp is block by the closed Cell Door.", when_open "The cell door between the cell and the Prison Camp is open.", door_to [; if (self in Cell) { return Camp; } else { return Cell; } ], door_dir [; if (self in Cell) { return e_to; } else { return w_to; } ], before [; Open: if(doorstatus == True) { give self open; move BonePicks to Cell; print_ret "The lock is picked and the door opens"; }; ], found_in Cell Camp; !********************************************************************************************************************* !Camp Room Statements !********************************************************************************************************************* !Camp ROOM Object Camp "Camp" has light with name "camp", description "You are hiding in the 'BUSH'. You have your cell to the 'WEST' and a path out of the Prison to the 'SOUTH'. You can't leave with the 'ROMAN GUARD' watching.", w_to CellDoor, s_to Guard; !Brush in Camp Object Bush "Bush" Camp has concealed with name "bush" "ground" "bushes", description "You are lying in the 'SAND' with 'ROCKS' and 'BUSHES' hiding you from the guard.", after [; Take: move Bush to Camp; print_ret "The bushes are the only thing hiding you."; ]; !Sand in Camp Object Sand "Sand" Camp has concealed with name "Sand" "Dirt", description "The sand is loose and easy to grab.", before [; Use: if(pathopen == False) { blindedguard = True; move Sand to Camp; print_ret "You charge the guard and throw the sand in his face. The guard is blinded by you leaving an opening."; }; ], after [; Take: "You grab some sand and put in you pocket."; ]; !Rock in Camp Object Rock "Rock" Camp has concealed with name "Rock" "Stone" "Rocks" "Stones", description "You see the rock is very hard.", before [; Use: if(pathopen == False) { if (blindedguard == True) { if(self.RockScore == False) { score = score + 1; self.RockScore = True; } pathopen = True; move Rock to Camp; print_ret "With the guard defenseless you take the rock and strike him over the head. The guard falls to the ground and you spare his life. The south path is now open to travel."; }; if (blindedguard == False) { print_ret "The guard is too alert for you to attack."; }; }; ], after [; Take: "You grab a fair sized rock."; ], RockScore False; !Uniform in Camp Object Uniform "Uniform" Camp has concealed with name "Uniform", description "This is a low ranking roman guard uniform.", before [; Drop: if (HaveUniform == True) { print_ret "You still feel you need the uniform."; } ], after [; Take: if(pathopen == True) { if(self.UniformScore == False) { score = score + 1; self.UniformScore = True; } HaveUniform = True; print_ret "You take the uniform."; } if(pathopen == False) { move Uniform to Camp; print_ret "You can't get the uniform from the guard with him aleart."; }; ], UniformScore False; !Guarding Exit to City Object Guard "Roman Prison Guard" Camp has static door openable open with name "Guard" "Roman" "Roman Guard" "Roman Prison Guard", description "By his 'UNIFORM' you can tell it is a roman guard. He seems to be protecting the south path from inside the prison which looks to be the only way out of the prison.", door_to [; if (self in Camp) { if (pathopen == False) { print "^^The guard is blocking your path.^"; return Camp; } if (pathopen == True) { print "^^With the guard out cold you can follow the path.^"; pathopen = False; return CPath; } } else { return Camp; } ], door_dir [; if (self in Camp) { return s_to; } else { return n_to; } ], found_in Camp CPath; !********************************************************************************************************************* !City Path Room statements !********************************************************************************************************************* !City Path ROOM Object CPath "City Path" has light with name "City Path" "Path", description "This appears to be a well traveled path from the prision to the city of Rome. Go 'SOUTH' to Rome or 'NORTH' to the Prison Camp you see the prison guard within the prison from here but can still enter the prison getting out is the hard part.", s_to City, n_to Guard; !********************************************************************************************************************* !City Room statements !********************************************************************************************************************* !City ROOM Object City "City of Rome" has light with name "City" "Rome", description "You are in the majestic city of Rome the center of the known world. The city is crowded and it appears you can travel with out worry. Within the city lies shops of many designs to go 'IN'. You also notice a meeting area where several of the towns people including a curious 'WISE MAN' seem to be conversing.^^ To the 'NORTH' is the path to the Prison Camp. The 'WEST' is another path out of town which word has it the army is camped. To the 'EAST' is the great 'COLISEUM'. The 'SOUTH' is the path to the palace grounds. There appears to be lookout towers that can be approached by going 'UP' within the city.", n_to CPath, w_to Army, e_to Coliseum, s_to PalaceGrounds, u_to Lookout, in_to Shop; !Wise Man in City Object WiseMan "Wise Man" City has concealed with name "Wise" "Man" "Wise Man" "Old Man", description "You notice a 'OLD WISE MAN' who is aged more years than you expect to live controlling a discussion among the crowd of people.", before [; Talk: print_ret "I use to be a senator in this great city until the caesar was away and the young minds took control of the senate and ran most of us old men out into the streets. Hail Caesar may he return someday soon.^^ If you want help go to the senate I can no longer help anyone."; ], after [; Take: move WiseMan to City; print_ret "What did you think you were going to do with the old man when you take him?"; ]; !********************************************************** !Shop Room statements in the City Room !********************************************************** !Shop in City Object Shop "Shop" has light with name "Shop" "Shops" "Store", description "You travel the streets of Rome looking at every shop you pass by until the weapons shop appears. You think to yourself this seems to be where I belong.^^ After entering the shop you notice racks. One rack for 'SWORDS' another for 'ARMOR'. The shop is well kept with a 'LARGE MAN' behind the counter.", out_to City; !Shop Keeper in Shop Object Keep "Shop Keep" Shop has concealed with name "Large" "Man" "Large Man" "Shop Keep" "Seller" "Keep" "Owner", description "The shop keep is a large man who seems to know what he is doing. You know not to try anything with a man like him.", before [; Talk: if(HaveUniform == False) { print_ret "I only service the roman soilders. Unless you can prove you are one leave my shop."; } if(HaveUniform == True) { if (TakeArmor == False) { TakeArmor = True; print_ret "I see you wear the uniform of the roman soilder. The army is ready to move out soon. Take this new armor I made and show your commander. I wish to market it to them and make my family rich. Bring back an order form from the commander at the camp and let me know how many suits of armor he wants. The armor is over on the 'ARMOR SHELF'."; } if (TakeArmor == True) { if (HaveOrder == True) { if (self.OrderPoint == False) { score = score + 1; self.OrderPoint = True; } if (HaveSword == True) { TakeSword = True; HaveSword = False; !move RustySword to Shop; print_ret "I see you have a rusty sword lay it on the rack and take a new sword even trade for the services you have done for me."; } if (HaveSword == False) { print_ret "You did great for me, need any swords sharpend or armor fixed you come to me."; } } if (HaveOrder == False) { print_ret "When will you get that order form for me? I have Kids to feed get me that order."; } } } ], after [; Take: move Keep to Shop; print_ret "He doesn't want to go with you."; ], OrderPoint False; !Armor in Shop Object Armor "Armor" Shop has concealed with name "Armor" "Armor Shelf" "Armors", description "The shelf is filled with top quaility armor that any warrior would be proud to use.", before [; Drop: if (TakeArmor == True) { print_ret "The armor may still have some use."; } ], after [; Take: if (TakeArmor == False) { move Armor to Shop; print_ret "You consider taking the armor and running but you feel that you can't get to the door and out before the shop keep shoots you with the bow he has on his table."; } if (TakeArmor == True) { score = score + 1; print_ret "You look over the shelf and notice the armor the shop keep told you to take. You remove the armor and try it on."; } ]; !Sword in Shop Object Sword "Sword" Shop has concealed with name "Sword" "Sword Shelf" "Swords", description "The shelf is filled with the best made swords that could cut through any foe.", before [; Drop: if (TakeSword == True) { print_ret "The sword may still have some use."; } ], after [; Take: if (TakeSword == False) { move Sword to Shop; print_ret "You look over the swords seeing one you could use and stop yourself from taking it after the shop keep motions to the bow on his table."; } if (TakeSword == True) { score = score + 1; move RustySword to Shop; ReturnSword = True; HaveSword = True; print_ret "You take the sword as agreed upon."; } ]; !********************************************************************************************************************* !Lookout Tower Room statements !********************************************************************************************************************* !Lookout Tower ROOM Object Lookout "Lookout Tower" has light with name "Lookout" "Tower" "Lookout Tower", description "You are atop the highest tower in the city and can see better the majesty that is Rome. You take in the view from all directions.^^ To the east you can see in to the coliseum that appears to be having a battle of two warriors while the crowd is cheering them on. The battle seems fearce but from your distance you can't tell what is going on.^^ To the west you can see the large number of Roman soilders camped out waiting to leave possibly by the shores that extend just beyond the camp.^^ To the south shows the great palace of the caesar. The grounds seem to be covered in gardens and a meeting hall that the locals say the senate meets to discuss the greatness of Rome, but few feel they do anything but line their pockets.^^ You peer 'DOWN' the stairs that you climbed and see the many shops and houses that seem to be built all around the city. Many towns people seem overworked and you experience a sadness that reminds you of something that you just can't tell.", d_to City; !********************************************************************************************************************* !Army Camp Statements !********************************************************************************************************************* !Army Camp ROOM Object Army "Army Camp" has light with name "Army" "Camp" "Army Camp", description "The army camp is filled with several tents. The solders are all out and practicing their combat. Several 'HELMETS' and 'RUSTY SWORDS' are cast to the ground. Many solders are occupied and you pass through the army camp with out anyone noticing you.^^ Within the camp you see the command tent to go 'IN'. Beyond the camp to the 'NORTH' you can see the shores with all the ships ready to disembark. Back to the 'EAST' is the city of Rome.", e_to City, n_to Shores, in_to CmdTent; !Rusty Sword Object in Army Object RustySword "Rusty Sword" Army has concealed with name "Sword" "Rusty Sword", description "The sword in worn and disguarded to the ground.", before [; Drop: HaveSword = False; ], after [; Take: if (ReturnSword == False) { HaveSword = True; print_ret "You retrieve the rusty sword from the ground."; } if (ReturnSword == True) { print_ret "You don't know of a need for a rusty sword."; } ]; !Helmets Object in Army Object Helmets "Helmets" Army has concealed with name "Helmet" "Helmets", description "The helmets are worn and disguarded to the ground.", after [; Take: move Helmets to Army; print_ret "You are not sure why you would want a broken helmet."; ]; !********************************************************** !Commander Tent statements in Army Room !********************************************************** !Commander Tent in Army Object CmdTent "Commanders Tent" has light with name "Tent" "Command Tent", description "The tent is filled with maps and charts that the commander is using for his next attack. The 'COMMANDER' himself is look over some maps in the corner of the tent. You can head back 'OUT' to the amry camp.", out_to Army; !Commander in CmdTent Object Commander "Commander" CmdTent has concealed with name "Commander", description "The commander is well decorated. You look at him and see something familar about him. Your first instinct is not to trust him.", before [; Talk: if(HasLetter == False) { print_ret "Just because you are in uniform doesn't mean you can just enter my command tent. Get out of here."; } if(HasLetter == True) { if (TakeArmor == True) { TakeForm = True; print_ret "I see you have orders from the senate. Those politicians really make me glad I can kill for a living. You want a requestion for new armor. Here take this 'REQUESTION FORM' back and return quickly, we leave soon for our next glorious victory."; } if (TakeArmor == False) { print_ret "I only deal with men in uniform. Get out of my tent. before I send you to the senate in pieces."; } } ], after [; Take: move Commander to CmdTent; print_ret "He doesn't want to go with you."; ]; !Requesition Form in CmdTent Object Form "Requisition Form" CmdTent has concealed with name "Form" "Requisition" "Requisition Form" "Requistion Forms", description "This is a form with order information.", before [; Drop: print_ret "You can use this item."; ], after [; Take: if (TakeForm == False) { move Form to CmdTent; print_ret "You can't just steal the form."; } if (TakeForm == True) { score = score + 1; HaveOrder = True; print_ret "You take the form with the requisiton for new armor."; } ]; !********************************************************************************************************************* !Shores Room statements !********************************************************************************************************************* !Shores ROOM Object Shores "Shores" has light with name "Shores" "Shore", description "The shores extend as far as you can see both directions. You see the army preparing to disembark with the 'DOCK CAPTAIN' overseeing the details. The only directions to go is on the 'SHIP' or 'SOUTH' to the army.", s_to Army; !Object Dock Captain in Shores Object DockCaptain "Dock Captain" Shores has concealed with name "Captain" "Dock Captain", description "He is in charge of overseeing all details pertaining to dock operations.", before [; Talk: if (Passage == False) { if (HaveUniform == False) { print_ret "This is a military dock. Get lost."; } if (HaveUniform == True) { print_ret "I see you are in uniform and ready to go but we don't leave yet."; } } if (Passage == True) { BoardShip = True; print_ret "I see you have the Ceasar's Ring you must be loyal. I am loyal as well I can get you aboard. Here are some 'TRANSFER ORDERS'"; } ], after [; Take: move DockCaptain to Shores; print_ret "He doesn't want to go with you."; ]; !Object Ship in Shores Object Ship "Ship" Shores has concealed with name "Ship" "Boat", description "Army ship departing to parts unknown.", after [; Take: move Ship to Shores; print_ret "Taking the ship is no a good idea."; ]; !Object Transfer Orders in Shores Object Transfer "Transfer Orders" Shores has concealed with name "Orders" "Transefer Orders", description "Orders to get you on a ship.", before [; Drop: print_ret "You need these orders to get on a ship."; Use: if (BoardShip == True) { deadflag = 2; print_ret "You gain entry to the army ship and sail away. You hope to find the Ceasar alive and well so you can right what is wrong."; } ], after [; Take: if (BoardShip == True) { print_ret "'USE' the orders to gain access to a ship."; } ]; !********************************************************************************************************************* !Coliseum Room statements !********************************************************************************************************************* !Coliseum ROOM Object Coliseum "Coliseum" has light with name "Coliseum", description "The coliseum is vast in its glory. Many battles have been fought here and much blood has been spilled. You enter the main grounds and into the center of the coliseum. The their is no battle but you feel as though you hear the roar of the crowd.^^ A man who has been called 'GLADIATOR' is standing behind you in grounds. He doesn't seem like he is looking to fight but stands ever ready to do battle.^^ The only way out of the coliseum is 'WEST' back into the city.", w_to City; !Object Gladiator in Coliseum Object Gladiator "Gladiator" Coliseum has concealed with name "Man" "Gladiator", description "He is always ready for battle and not a man who loses.", before [; Talk: if (HaveSword == False) { print_ret "I know you from once before. I am instructed to tell you nothing unless we battle. I will not fight you without a weapon. Find a sword and well shall battle winner get what they want. You win I will tell you what you so need. I win you will die. "; } if (HaveSword == True) { if (Fight == False) { Route = True; score = score + 1; Fight == True; print_ret "After a stand off battle neither man strikes a killing blow. You speak to the Gladiator who stops fighting due to the respect he now has for you.^^ After explanations he states that he use to be a General in the army of Rome and was taken from power be cast as a slave. His loss of power was due to his support for the Caesar and his hatred of the senate.^^ Although he has fought you in the past it is only because he is no longer a man but a slave and must do what he must to survive.^^ He tells you about a route to the ceasars rooms where the answers needed will be found."; } } if (Fight == True) { print_ret "You now know the way to ceasars room."; } ], after [; Take: move Gladiator to Coliseum; print_ret "He doesn't want to go with you."; ]; !********************************************************************************************************************* !Palace Grounds Room statements !********************************************************************************************************************* !Palace Grounds ROOM Object PalaceGrounds "Palace Grounds" has light with name "Palace" "Grounds" "Palace Grounds", description "As you enter the palace grounds you can see the meeting area for the senate to the 'WEST'. To the 'SOUTH' is ceasars palace that seems well protected.", n_to City, w_to Senate, s_to Lock; !Guarding Enterence to Caesar Room Object Lock "Caesar Door" PalaceGrounds has static door openable lockable locked with name "Caesar Room" "Door" "Caesars" "Caesars Room", description "The route leads between the Palace Grounds and Caesar's Room.", when_closed "The route between the Palace Grounds and Caesar's Room is blocked.", when_open "The route between the Palace Grounds and Caesar's Room is open", door_to [; if (self in PalaceGrounds) { return Caesar; } else { return PalaceGrounds; } ], door_dir [; if (self in PalaceGrounds) { return s_to; } else { return n_to; } ], before [; Open: if(Route == True) { give self open; print_ret "You see a route into the palace."; }; ], found_in PalaceGrounds Caesar; !********************************************************************************************************************* !Senate Room statements !********************************************************************************************************************* !Senate ROOM Object Senate "Senate Hall" has light with name "Senate", description "You enter the senate hall. Currently no senate session is being held. You look around and see four men all whom appear to be senators. Three men are standing in center of the hall. The 'YOUNG MAN' in the middle appears to be leading a disscussion with the other two men. The man on the left is a 'BALDING MAN' of moderate age. The man on the right is a 'HEAVY SET' man who appears to be ready to collapse at any moment from exustion. The fourth man in the hall is an 'OLDER MAN' who is sitting off to the side look out across rome.^^ The only way out of the senate hall appears to 'EAST' back to the Palace Grounds.", e_to PalaceGrounds; !SenatorOne in Senate Object SenateOne "Old Senator" Senate has concealed with name "Old" "Old Senator" "Corner", description "He is a wise looking man with several years of experience in debate. You feel nothing but respect for him.", before [; Talk: if (HasLetter == False) { score = score + 1; HasLetter = True; print_ret "I was once the highest and most respected among the senate. But now that the caesar has left and Rome is in the hands of the young so I must be silent.^^ I have seen you before and only know you to be trustworthy. The Commander of the army is not to be dealt with lightly. Take this 'LETTER' signed from the senate.^^ This 'LETTER' will give you authority to spread the word of the senate. Use this letter as you see fit to help you in your cause."; } if (HasLetter == True) { print_ret "I have given you the letter of senate be careful. There is nothing more I can do for you."; } ]; !Letter from Senate in Senate Object Letter "Senate Letter" Senate has concealed with name "Letter" "Senate Letter", description "This letter gives you the authority of the senate.", before [; Drop: if (HasLetter == True) { print_ret "You want to keep this letter with you it might be useful."; } ], after [; Take: if (HasLetter == False) { print_ret "No one gave you a letter."; } if (HasLetter == True) { score = score + 1; print_ret "You take the letter assured that it will be useful."; } ]; !SenatorTwo in Senate Object SenateTwo "Young Senator" Senate has concealed with name "Young" "Young Senator" "Middle", description "He looks to be a man who is new to the ways of politics but in no way ignorant of how to suceed. He seems to be controlling two of the other senators.", before [; Talk: if (MeetSenator == False) { score = score + 1; MeetSenator = True; print_ret "It's you! But how! This is not possible! I made sure you were never going to be a problem again. The gladiator made sure of that.^^ You don't know who I am any more do you? This is great, you are nothing more to Rome than a blind fool.^^ Go see Gladiator if you want him to finish the job. Otherwise you are nothing to me be gone from this place."; } if (MeetSenator == True) { print_ret "I said leave this place don't make me get a guard."; } ]; !SenatorThree in Senate Object SenateThree "Balding Senator" Senate has concealed with name "Balding" "Left" "Balding Man", description "He stands about as though he is familar with his surroundings.", before [; Talk: print_ret "The glory of Rome is in the Senate."; ]; !SenatorFour in Senate Object SenateFour "Heavy Set Senator" Senate has concealed with name "Heavy" "Right" "Heavy Man" "Heavy Set", description "He is a heavy set man who doesn't seem very influencing.", before [; Talk: print_ret "I speak for the people of Rome fairly and justly."; ]; !********************************************************************************************************************* !Caesar Room statements !********************************************************************************************************************* !Caesar ROOM Object Caesar "Caesar Room" has light with name "Caesar" "Caesars" "Casesars Room", description "Once entering the room you are taken in by a sense of familiarity. You know the documents you seek are hiding.^^ Within the room you see a 'LARGE PICTURE' straight ahead. A 'DESK' to the right. The 'BED' lies arcross the room from the desk. As you walk forward you feel some 'LOOSE FLOORBOARDS' in front of you.^^ The only way out of the room is back 'NORTH' through the passage to the Palace Grounds.", n_to Lock; !Large Picture in Caesar's Room Object LargePicture "Large Picture" Caesar has concealed with name "Large Picture" "Picture", description "The large picture is removable. You take down the picture and see more wall.", before [; Take: "You are not sure why you would want to take the picture. It is a nice picture but it is large and hard to carry."; ]; !Desk in Caesar's Room Object Desk "Desk" Caesar has concealed with name "Desk", description "You search through the desk. It seems as though someone has already taken everything out of the desk. You don't see anything of importance.", before [; Take: "The desk is to large to take."; ]; !Floorboards in Caesar's Room Object Floorboards "Floorboards" Caesar has concealed with name "Floorboard" "Floorboards", description "You feel where the loose floorboard is and pry a board up. You see nothing but dirt.", before [; Take: "Wood is nice but you don't need it."; ]; !Bed in Caesar's Room Object Bed "Bed" Caesar has concealed with name "Bed", description "The bed 'FRAME' is very large made of solid wood with large 'PILLARS'. The 'MATRESS' felt soft made only of the best materials.", before [; Take: "The bed is too large to take."; ]; !Pillars in Caesar's Room Object "Pillars" Caesar has concealed with name "Pillars" "Pillar", description "If you break off a pillar the top frame of the bed will fall.", before [; Take: "You don't need parts of a bed."; ]; !Mattress in Caesar's Room Object Mattress "Matress" Caesar has concealed with name "Mattress", description "You lay in the bed and it is indeed soft. Nothing could be in a mattress this soft.", before [; Take: "A mattress is really not needed."; ]; !Frame in Caesar's Room Object Frame "Frame" Caesar has concealed with name "Frame", description "You tap the side of the fame and find a hollow spot. In the hollow spot you find 'CAESAR'S RING' and a 'JOURNAL'", before [; Take: "You can't take the frame."; ], after [; Examine: TakeItems = True; ]; !Caesar's Ring in Caesar's Room Object CaesarRing "Caesar's Ring" Caesar has concealed with name "Ring" "Caesars Ring", description "This is the Ring of Caesar worn only by Caesar.", before [; Drop: if (TakeItems == True) { print_ret "This ring is to important to drop."; } ], after [; Take: if (TakeItems == False) { move CaesarRing to Caesar; print_ret "You don't know where the ring is."; } if (TakeItems == True) { score = score + 1; Passage = True; print_ret "You take the ring."; } ]; !Caesar's Journal in Caesar's Room Object Journal "Caesar's Journal" Caesar has concealed with name "Journal" "Caesars Journal", description "This appears to be a journal written by Ceasar just before he left. To read the journal the journal you must 'TAKE' the journal and 'USE' it.", before [; Use: if (TakeItems == True) { if (self.Read == False) { score = score + 1; self.Read = True; } move Journal to Caesar; print_ret "JOURNAL START:^ I know this to be my final days. My senate plots against me turning my guards to their view. The only protection I have left is my loyal guard Octus. But like much of my support he too is gone I fear they may have eliminated him.^^ The senate has taken control of the armies installing commanders loyal to their cause. They will so come for me. I know this they will not remove me from my power by force in the center of Rome. My best guess is that I will be taken to the distant battle grounds and the battle will be a defeat with the greatess loss being myself. This will allow the senate to gain power as well as my support which will be forged documents as one of my last acts.^^ If I never reach the people to give them the republic they deserve know this Rome will be free....^ END JOURNAL^^ As you read this what once was is now again. I AM OCTUS GUARDIAN OF ROME! You know now that the republic is in its greatess need of you. You must go will there is still time and save the Caesar from certain death in a distant land. The army shipping out must be sent for the Caesars demise.^^ I will follow the army and save Caesar and bring him back to same Rome. Or die trying."; } ], after [; Take: if (TakeItems == False) { move Journal to Caesar; print_ret "You don't know where the journal is."; } if (TakeItems == True) { print_ret "You take the journal."; } ], Read False;