!% -SD !------------------------------------ ! ESCAPE OF THE PRINCE ! by John P. Baugh ! CIS 587 - Dr. Bruce Maxim !------------------------------------ !---------------------- Constant Story "Escape of the Prince"; Constant Headline "^An Interactive Fiction ^by J.P. Baugh^"; Release 3; Serial "040804"; !keep track of releases !--------------------------------------------------------------------- !--------------------------------------------------------------------- ! GAME CONSTANTS and VARIABLES !--------------------------------------------------------------------- !--------------------------------------------------------------------- Global exWindow = 0; ! Counter for how many times we've examined the window Global bedMoved = false; ! Have I moved the bed yet? Global rugMoved = false; ! Have I moved the rug yet? Global torchTake = false; ! Did I take the torch? Global hitGuard = false; ! Did I hit the guard yet? Global takeSword = false; ! Did I take the sword yet? Global hasKey = false; ! Do I have the key? Global hasAxe = false; ! Do I have the axe? Global escapeC = false; ! Have I helped my protector escape yet? Global prisonCount = 0; ! How many times have we visited prison? Global guardsKilled = false; ! Have we killed the guards of the Northern Hallway? Global burnSignW = false; ! Have we 'burned' the west sign yet? Global burnSignE = false; ! Have we 'burned' the east sign yet? !--------------------------------------------------------------------- Include "Parser"; Include "VerbLib"; Include "Grammar"; !--------------------------------------------------------------------- !--------------------------------------------------------------------- ! entry point routines !--------------------------------------------------------------------- !--------------------------------------------------------------------- [ Initialise; location = initRoom; ]; !--------------------------------------------------------------------- !--------------------------------------------------------------------- ! VERBS AND VERB ROUTINES !--------------------------------------------------------------------- !--------------------------------------------------------------------- Verb 'lift' * -> Lift * noun -> Lift; Verb 'smack' * noun -> Smack; Verb 'maxim' * -> Maxim; Extend 'hit' replace * noun -> Hit * noun 'with' noun ->Hit; Extend 'attack' * noun 'with' noun ->Hit; Extend 'give' * noun 'to' noun ->Give; Verb 'talk' * noun ->Talk * 'to' noun ->Talk; [ LiftSub; print_ret "There's really no reason to lift that"; ]; [ SmackSub; print_ret "Smacking something won't really help you here.";]; [ HitSub; print_ret "Doing that probably won't help you.";]; [ MoveSub; print_ret "Let's concentrate on the problem at hand. Stop fooling around.";]; [ MaximSub; print_ret "I'm not quite sure what you mean by that exaclty...";]; [ TalkSub; print_ret "Talking isn't necessary right now. Let's try to get out of here.";]; !--------------------------------------------------------------------- !--------------------------------------------------------------------- ! Object classes !--------------------------------------------------------------------- !--------------------------------------------------------------------- Class Room has light; Class Prop with before [; Examine: return false; default: print_ret "I don't think performing that action on ", (the) self, " will be helpful."; ]; !--------------------------------------------------------------------- !--------------------------------------------------------------------- ! Rooms !--------------------------------------------------------------------- !--------------------------------------------------------------------- !----------------------------------- !-------- | Initial Room | --------- !----------------------------------- Room initRoom "A small room with a window" with description "You open your eyes and find that there is a piercing pain in the back of your head. You wonder what happened, and you sit up in bed. You proceed to look around the room.^ ~This must be some kind of castle keep,~ you say to yourself,^ ~There is one like this in my father's castle.~ As you look around, you see a large door, a window, and a large, ornate rug on the floor. ^~Hmmph!~ you say to yourself, ~ Not exactly the proper dwelling for a prince! ~^"; !----------------------------------- !-------- | Bed | --------- !----------------------------------- Prop bed "bed" initRoom with name 'bed', description "It's a simple bed... not like the one in your room at your father's castle.^ ~Perhaps this is the type of bed peasants sleep upon?~, you ask yourself. ~It is certainly not appropriate for a prince.", before [; Push: if (bedMoved == false) { print "You move the bed to the opposite corner of the room"; bedMoved = true; } else if (bedMoved == true) { print "You move the bed back over the rug"; bedMoved = false; } return true; ], has scenery; !----------------------------------- !-------- | Large Door | --------- !----------------------------------- Prop large_door "large door" initRoom with name 'door' 'large' 'large-door' 'entrance', description "The gigantic door is quite intimidating. A boy of your size could never hope to open it.^ ~Hmmm,~ you say to yourself, ~I'm starting to remember now. I was brought here against my will and they locked that door behind me!~", before [; Enter, Open: print_ret "You can't go out through the door. It's locked, and you can hear a guard outside."; Exit: print_ret "You can't exit that way - the door is locked. The guard is outside the door."; ], has scenery; !----------------------------------- !-------- | Window | --------- !----------------------------------- ! -- global exWindow counts how many times we've examined the window Prop window "window" initRoom with name 'window' 'portal', before [; Examine: if (exWindow == 0) { print "The small window has bars on it. You must be very high above the ground."; } else if (exWindow == 1) { print "You can see two armies fighting one another!"; } else { print "The invading army appears to be your father's Royal Guard! The defending army is dressed in all black, with red on their chests..."; } exWindow = exWindow + 1; !increment global tracking variable return true; Open: print_ret "The bars prevent you from opening the window."; default: print_ret "The window is covered in bars, and you don't think that it will provide a way out."; ], has scenery; !----------------------------------- !-------- | Large rug | --------- !----------------------------------- Prop rug "rug" initRoom with description "The large rug sits in the middle of the room. It seems to be uneven, with a large, rectangular area sticking up, just under the bed. ~This room seems poorly constructed~, you say to yourself.", name 'rug' 'throwrug' 'carpet' 'ornate', before [; lift: if (bedMoved == false) { print_ret "It appears that the bed is in the way."; } else if (bedMoved == true) { print "You move the rug out of the way. Aha! It looks like a trapdoor!"; rugMoved = true; } return true; ], has scenery; !----------------------------------- !-------- | trapdoor | --------- !----------------------------------- Prop trapdoor initRoom with name 'trap' 'trapdoor' 'manhole', before [; examine: print_ret "It is a simple door leading underground."; enter, open: if (rugMoved == false) { print_ret "What? There is no trapdoor in the room. You shake your head and rub your face, knowing that you must be going crazy. ~That would be the day! A trapdoor in the middle of a prison cell,~ you say to yourself."; } else if (rugMoved == true) { print "You open the door and enter through the ground^"; PlayerTo(ug_hallway); return true; } ! end else-if rugMoved default: if (rugMoved == false) { print_ret "Trapdoor? There doesn't seem to be a trapdoor in here."; } else if (rugMoved == true) { print_ret "There seems to be a trapdoor under the rug you just moved."; } ], has scenery concealed; !------------------------------------------ !-------- | Underground Hallway | --------- !------------------------------------------ Room ug_hallway "underground hallway" with n_to [; if(hitGuard == false) { print_ret "The guard is standing there. You cannot exit"; } else { print "You go through the door.^"; PlayerTo(small_intersection); return true; } ], description [; if (hitGuard == false) { "^The trapdoor seems to have brought you down into some kind of underground hallway or tunnel of some kind. It extends for several feet. Torches line the hallway, providing light. You see a guard at the end of the hallway. ~Oh dear,~ you say to yourself, ~I knew it couldn't be this easy.~ Luckily, the guard has his back to you. He is facing another door at the other end of the hallway. The trapdoor is closed above you.^"; } else { "^The door is ahead of you, and the guard is laying on the ground, out cold."; } ]; !----------------------------------- !-------- | trapdoor2 | --------- !----------------------------------- Prop trapdoor2 "trapdoor" ug_hallway with name 'trap' 'trapdoor', description "It's the trapdoor that brought you to this underground room.", before [; enter, open: print "You enter the trapdoor"; PlayerTo(initRoom); return true; ], has scenery; !----------------------------------- !-------- | torch | -------------- !----------------------------------- Prop torch "torch" ug_hallway with name 'torch' 'lighter' 'flashlight' 'unsecured', before [; Examine: if (torchTake == false && player in ug_hallway) { print "There is a line of torches in the underground hallway. There seems to be an unsecured torch to your left."; } else if (torchTake == true && player in ug_hallway) { print " You already took the unsecured torch. There is no need to worry about the others."; } else { print "The torch shines brightly."; } return true; Take: if (torchTake == false) { print "You take the torch"; } else if (torchTake == true) { print "You already have a torch"; } move self to player; torchTake = true; !set status of torch as taken. return true; Drop: if (player in ug_hallway) { print "You put the torch back in its place on the wall with the others."; move self to location; torchTake = false; return true; } else { print "You drop the torch."; torchTake = false; move self to location; return true; } ], has concealed; !----------------------------------- !-------- | guard | -------------- !----------------------------------- Prop guard "guard" ug_hallway with name 'guard' 'warrior' 'gaurd' 'keeper' 'prisonguard', before [; Examine: if ( hitGuard == false) { print_ret "A very large man. He is probably a feared warrior. He dwarfs your 14 year old body. There is no way you could take him without a weapon... and a bit of surprise on your side."; } else { if(takeSword == false) { print_ret "He seems to have a very fine sword. Maybe all those hours of personal sword training from Master Mordrid will come in use afterall..."; } else { print_ret "The large man is now very unconcious."; }!end inner-if } ! EASTER EGG Smack: print_ret "Yeah, why don't I just go over there and smack the guard, and ask, ~Who's yo' daddy?~. I'm sure he'd appreciate it."; Attack, Burn, Hit: if (torchTake == true && hitGuard == false) { print "You slowly sneak up behind the guard and then hit him in the head as hard as you can. ~OUGGHHHHHH!~, he says as he falls to the ground. You hit him a couple more times just to make sure he's out. ~Okay... That takes care of that~, you say to yourself."; hitGuard = true; } else if (torchTake == false && hitGuard == false) { print "Yeah sure. Why don't I just hit him? His muscles are bigger than my entire body. I don't think so."; } else if (torchTake == true && hitGuard == true) { print "He's completely out."; if (takeSword == false) { print"Maybe he has something on him that could be of use..."; } } return true; ], has scenery animate male; !----------------------------------- !-------- | sword | -------------- !----------------------------------- Prop sword "sword" ug_hallway with name 'sword' 'broadsword' 'weapon', before [; Examine: if (hitGuard == false && takeSword == false) { print_ret "Take the sword from the guard? Yes, perhaps I should just walk up to him and ask him if I can have it... No, we'll have to find a better way to get it from him if we want it."; } else if (hitGuard == true && takeSword == false) { print "It's a very fine sword."; !move self to player; !takeSword = true; return true; } else if (hitGuard == true && takeSword == true) { print "It's a very fine sword."; return true; } Take: if (takeSword == false && hitGuard == false) { print_ret "I can't just take it from him..."; } else if (takeSword == false && hitGuard == true) { print "You take the sword from the guard, and stare at its fine, sharp blade."; move self to player; takeSword = true; return true; } else if (takeSword == true && player ) { print_ret "You already possess the sword."; } Give: if (takeSword == true) { if (second == cyneheard) { print "~Sire, I am not a skilled swordsman. I am a fine warrior, but only with the axe!~"; return true; } else { print_ret "It would be best to keep this fine sword."; } } Drop: print_ret "You can't bring yourself to drop this fine sword. ~I'm sure it will come in handy~, you say to yourself."; ], has concealed; !----------------------------------- !-------- | door | --------------- !----------------------------------- Prop ug_door "door" ug_hallway with n_to [; if(hitGuard == false) { print_ret "You can't make it to the door. The guard is in front of it."; } else if (hitGuard == true) { print "You go through the door.^"; PlayerTo(small_intersection); } ], name 'door' 'portal', description "A large door separating this hallway from what lies beyond.", before [; Examine: print_ret "A large door separating this hallway from what lies beyond."; move,enter,open: if (hitGuard == false) { print_ret "You can't make it to the door. The guard is in front of it."; } else if (hitGuard == true) { print "You go through the door."; PlayerTo(small_intersection); } return true; ], has scenery; !------------------------------------------ !-------- | Small Intersection | --------- !------------------------------------------ Room small_intersection "small intersection" with description "This small intersection branches off into four directions. There are doors all around you, to the north, south, east, and west. To the south, you will end up in the underground hallway. ", w_to supply_room, e_to before_prison, s_to ug_hallway, n_to northExit; !------------------------------------------ !-------- | Supply Room | ---------------- !------------------------------------------ Room supply_room "supply room" with e_to small_intersection, description "The door has ~Supply Room~ written on it. You go through and enter a small room. ~Hmm..,~ you say to yourself. ~It appears that most of the supplies have been taken...~. You then notice a large chest in the corner of the room. To the west is the small intersection from which you came."; !------------------------------------ !-------- | chest | --------------- !------------------------------------ Prop chest "chest" supply_room with name 'chest' 'treasure' 'treasurechest', description "A large wooden treasure chest. It appears to be unlocked.", before [; Examine: print "It's a wooden chest, and appears to have had the top broken off of it. "; if (hasKey==false && hasAxe==false) { print_ret "There is a key and a hand axe inside."; } else if (hasKey==false) { print_ret "There is a key inside."; } else if (hasAxe==false) { print_ret "There is a hand axe inside."; } else { print_ret "The chest is empty."; } open: print_ret "It doesn't seem you need to. The top was broken off of it."; close: print_ret "There is no top to it, so you can't break it off"; ], has scenery; !------------------------------------ !-------- | axe | ---------------- !------------------------------------ Prop hand_axe "hand axe" supply_room with name 'hand' 'axe' 'handaxe' 'cleaver' 'battleaxe', e_to small_intersection, description "A sharp handaxe used for battle.", before [; Examine: print_ret "A sharp handaxe used for battle."; take: if(hasAxe == false) { print "You take the hand axe"; move hand_axe to player; hasAxe = true; return true; } else { print_ret "You already took the axe."; } give: if(second == cyneheard) { print "You give the axe to Cyneheard. ~Thank you sire~, he says."; move hand_axe to cyneheard; escapeC = true; !Once Cyneheard has the axe, he will leave the cell with you. return true; } else { print_ret "I wouldn't give such a fine axe away to just anyone."; } drop: print_ret "I'm sure this axe will come in handy. There's no way I'm dropping it."; ], has concealed; !------------------------------------ !-------- | key | ---------------- !------------------------------------ Prop key "key" supply_room with name 'key' 'bocardo', description "It's a key with the word ~BOCARDO~ incribed on it. ~If I remember my Latin correctly, BOCARDO means ~prison~~", before [; Examine: print_ret "The key says ~BOCARDO~ on it. I believe this means ~prison~ in Latin."; take: if(hasKey == false) { print "You take the key"; move key to player; hasKey = true; return true; } else { print_ret "You already took the key"; } drop: print_ret "This key will most certainly unlock something important. I will keep it."; ], has concealed; !----------------------------------------------- !---------- | before_prison | ----------------- !----------------------------------------------- Room before_prison "In front of the prison" with w_to small_intersection, e_to [; if (hasKey ==true) { print "You unlock the door and go inside."; PlayerTo(prison); return true; } else { print_ret "The door is locked. You can't go that way."; } ], description "You stand in front of a large door to what seems to be a prisoner's cell."; !----------------------------------------------- !---------- | Prison Door | ------------------- !----------------------------------------------- Prop prison_door "prison door" before_prison with name 'prisondoor' 'door', description "It's a large wooden door, and appears to be to a prison cell", before [; Examine: print_ret "It's a large wooden door with a keyhole. It appears to be to a prison cell."; Open: if(hasKey == false) { print_ret "It appears to be locked."; } else { print "You unlock the door and go inside."; PlayerTo(prison); return true; } Unlock: if(hasKey == false) { print_ret "You would need a key to unlock it."; } else { print "You unlock the door and go inside."; PlayerTo(prison); return true; } ], has scenery light; !------------------------------------------ !---------- | Prison | ------------------- !------------------------------------------ Room prison "prison" with w_to before_prison, description [; if(escapeC == false) { if(prisonCount == 0) { prisonCount = prisonCount + 1; !increment prisonCount "It appears to be a prison cell with a large wooden door. ^^~Is that you, Lord Irminric?!~ says the voice.^ ~Cyneheard?!!, you say, ~Is that really you?!!~^^ ~Indeed it is. We were captured while in the forest while on the hunt, and drugged so that we would fall asleep. I awoke in this cell. How did you get out of your cell, sire?~^ ~'Tis a long story~, you say, ~but we should get out of here,~^ ~I must have a weapon to be of any help, sire. I will not leave this cell until I have a weapon. It would be unwise.~, said Cyneheard.^"; } else { "~Lord Irminric, have you brought me an axe yet?~"; }! end inner-else block } else { "^ The prison cell is empty."; } ]; !------------------------------------------------------------ !---------- | Cyneheard | ---------------------------------- !------------------------------------------------------------ Prop cyneheard "Cyneheard" prison with name 'cyneheard' 'protector', before [; Examine: print_ret "Cyneheard is your faithful protector and personal guard. He is a master with axes. His rough features are proof of his long war-plagued life. His long, blonde hair and muscular body strike fear into the hearts of adversaries. ~Sire, we must hurry. We haven't much time.~"; Talk: print_ret "~Sire, we must get out of here. There is no time to make conversation.~"; Hit: print_ret "You would never hit your friend and protector."; ], found_in [; if(escapeC == true) ! We helped him escape (he has the axe), so he's with us. { return true; } else { if(location == prison) { return true; } else { return false; } } ], has animate male proper concealed; !------------------------------------------------------ !---------- | Northern Hall-Exit | ------------------- !------------------------------------------------------ Room northExit "The Northern Exit" with s_to small_intersection, n_to [; if(escapeC == false) ! Is Cyneheard with me? { print_ret "~The guard from earlier had his back turned to me, ~ you say to yourself. ~I would not be so lucky this time. I would need help with these two.~"; } else if (escapeC == true) ! Cyneheard is with me. { if (takeSword == true) ! I took possess the sword { print "~Okay~, you say, ~Let's run them through. You take the right guard, I'll take the left~^ ~Agreed, sire. Let us charge headfirst into our destiny!~^^..."; PlayerTo(northHallway); return true; } else ! I don't have the sword { print_ret "~Sire, there's no way I can kill both of them by myself. You'll need a weapon. You are a fine swordsman, even if you're only a boy. Master Mordrid taught you well...^Try to think if you saw a sword or dagger around here somewhere...~"; } ! end inner else } !end outer else ], description "You stand in a small area before a large door. The large door has a small opening covered with bars. You peer through and see two large soldiers facing in your direction. You quickly pull back from the bars. ~Whew, ~ you say to yourself, ~It doesn't appear that they saw me.~"; !------------------------------------------------------------------------ !---------- | Northern Hall Door | ------------------- !------------------------------------------------------------------------ Prop northDoor "door" northExit with name 'door' 'portal' 'exit' 'northexit', description "The exit into a hallway beyond this section of the castle.", before [; Open, Unlock: if(escapeC == false) ! Is Cyneheard with me? { print_ret "~The guard from earlier had his back turned to me, ~ you say to yourself. ~I would not be so lucky this time. I would need help with these two.~"; } else if (escapeC == true) ! Cyneheard is with me. { if (takeSword == true) ! I took possess the sword { print "~Okay~, you say, ~Let's run them through. You take the right guard, I'll take the left~^ ~Agreed, sire. Let us charge headfirst into our destiny!~^^..."; PlayerTo(northHallway); return true; } else ! I don't have the sword { print_ret "~Sire, there's no way I can kill both of them by myself. You'll need a weapon. You are a fine swordsman, even if you're only a boy. Master Mordrid taught you well...^Try to think if you saw a sword or dagger around here somewhere...~"; } ! end inner else } !end outer else ], has scenery light; !------------------------------------------------------ !---------- | The Northern Hallway | ------------------ !------------------------------------------------------ Room northHallway "The Northern Hallway" with e_to [; print_ret "There is a large door leading to the east. You can't just go that way. You must open definately make an effort to open the door first."; ], w_to [; print_ret "There is a large door leading to the west. You can't just go that way. You must opne definately make an effort to open the door first."; ], description [; if(guardsKilled == false) ! We have not killed the guards yet { print_ret "~What are you doing here? How did you escape?! Let us teach them a lesson they shalln't forget!~ says one of the guards."; } else ! We killed the guards { print_ret "The guards lay dead on the floor."; } ], before [; Maxim: print_ret "A voice calls from the heavens... ~Hey! Maybe you should cut their heads off!! C'mon! Cut their heads off... you know you want to!~^^ ~That was strange~ says Cyneheard."; ]; !------------------------------------------ !---------- | Guards | ------------------- !------------------------------------------ Prop North_Guards "guards" northHallway with name 'guard' 'guards' 'warriors' 'left' 'right', before [; Attack, Hit: if(guardsKilled == false) { print "You draw your sword and enter a fierce hand-to-hand assault against the guard, as Cyneheard attacks the other. ^~What makes ye think ye can defeat me?~, asks the guard, ~Ye haven't even any hair on thine chin yet... too bad ye never will, for after I am finished with ye, thine life will be gone!!~^ ^ The guard swings his sword at your head, and you duck as it grazes the top of your hair.^ While the guard is off balance you run him through with your sharp sword and he drops to his knees. The blood flows from his wound, as he drops his weapon. ^ ~Perhaps... ye shall grow thine first beard afterall...~ he says as he slumps to the ground.^^^ Cyneheard turns around as you look up and you notice that he is withdrawling his axe from deep within the other guard's head. ^ ~Quick work, eh sire?~^^ ~Yes, but where do we go from here?~, you ask.^^ ~It appears there are two possible ways to go from here sire. You can open the East door or the West door.~ ~Yes, but which do we choose? One could lead us to the guard quarters, and the other could be the way out of here... Wait! There is a small sign in the middle of them. It says 'Let fire be your guide'... How peculiar.~^^ "; guardsKilled = true; } else { print_ret "You have already disposed of the guards."; } return true; Examine: if (guardsKilled == false) { print_ret"The guards stand with swords drawn, ready to attack. ^~Hurry sire, attack the left guard~, says Cyneheard"; } else { print_ret "The guards lie dead on the floor, one with a wound to the chest, the other with a splitting headache."; } ], has scenery animate male; !------------------------------------------ !---------- | West Door | ---------------- !------------------------------------------ Prop West_Door "West Door" northHallway with name 'west' 'westdoor' 'western' 'door', before [; Burn: if (torchTake == false) { print_ret "You have nothing to burn the door with."; } else { print "You move the torch across the door. Letters begin to appear..^^ ~ Soldier Barracks~^^"; burnSignW = true; return true; } Examine: if(guardsKilled == false) { print_ret "You can't get close enough to examine the door"; } else { if(burnSignW == false) { print_ret "The door is made of some strange metallic material, and glows as the light from the torches in the outer hallway hit it. You can tell there is something written on it, but you cannot decipher it."; } else { print_ret "The door reads ~Soldier Barracks~"; } } Open, Unlock: if(guardsKilled == false) { print_ret "The guards are guarding the doors, and therefore, you can't pass."; } else { print "You enter the West Door."; PlayerTo(barracks); return true; } ]; !------------------------------------------ !---------- | East Door | ---------------- !------------------------------------------ Prop East_Door "East Door" northHallway with name 'east' 'eastdoor' 'eastern' 'door', before [; Burn: if (torchTake == false) { print_ret "You have nothing to burn the door with."; } else { print "You move the torch across the door. Letters begin to appear..^^ ~ Exit~^^"; burnSignE = true; return true; } Examine: if(guardsKilled == false) { print_ret "You can't get close enough to examine the door"; } else { if(burnSignE == false) { print_ret "The door is made of some strange metallic material, and glows as the light from the torches in the outer hallway hit it. You can tell there is something written on it, but you cannot decipher it."; } else { print_ret "The door reads ~Exit~"; } }! end else guardsKilled Open, Unlock: if(guardsKilled == false) { print_ret "The guards are guarding the doors, and therefore, you can't pass."; } else { print "You enter the East Door."; PlayerTo(outside); return true; } ]; !------------------------------------------------------ !---------------- | Barracks | ------------------------ !------------------------------------------------------ Room barracks "Soldier Barracks" with after [; ! Give player amnesia exWindow = 0; bedMoved = false; rugMoved = false; torchTake = false; hitGuard = false; takeSword = false; hasKey = false; hasAxe = false; escapeC = false; prisonCount = 0; guardsKilled = false; burnSignE = false; burnSignW = false; !clear out important inventory move sword to ug_hallway; move torch to ug_hallway; move key to supply_room; move hand_axe to supply_room; PlayerTo(initRoom); !restore player to initial location; ], description [; "~Sire, we have made a grave mistake!~ Cyneheard says as six soldiers draw their swords and close in.^ ~Ah, the prisons have escaped I see. Well, let us give them each the potion of Forgetfullness and return them to their quarters.~ says one of the guards. Two guards force a thick, black, bitter liquid down your throat and you start to feel weak. ~Oh no, not again...~ you say to yourself as you lose conciousness.^^"; ]; !------------------------------------------------------ !---------------- | Outside | ------------------------- !------------------------------------------------------ Room outside "Outside the Castle" with after [; deadflag = 2; ! Yay, we escaped the castle ], description [; " You open the door and the sunlight hits your face.^ When your eyes focus, you notice a mounted knight surrounded by five infantrymen, who immediately bow as you exit through the door.^ ~Lord Irminric, we have come for you, sire. We have decimated Garmond's forces, and will now take you home. Your father, the great King Arturus awaits. Praise be to Maxim! Long live Prince Irminric!~^^ ~It appears we are free, My Lord~, says Cyneheard,^ ~Your father will hear of your ability and your great bravery and skill!^ Wait... is that hair on your chin?~^ You touch your face and discover a few stiff hairs protruding from your chin.^ ~Indeed it is, ~ you laugh, ~Perhaps our guard friend was correct...~^^ You, Cyneheard and your escort are taken away and back to your father's castle.^ From captivity you have freed yourself and your friend and personal guard. Indeed one day you will be a great king... "; ];