Constant Story "The Knight Trials"; Constant Headline "^An Inform Adventure^by Pete Kinnunen^"; Constant DEBUG; Include "parser"; Include "verblib"; Include "grammar"; Global Ramp_Closed = 1; Global Ramp_Fixed = 0; Global Door_Blocked = 1; Global Cave_Blocked = 1; Global Temple_Closed = 1; Global Examined_Datapad = 0; Global Task_Flesh = 0; Global Task_Courage = 0; Global Task_Skill = 0; Global Task_Self = 0; Global Has_Crystal = 0; Verb "sense" "focus" * noun -> Sense; [ SenseSub; "You feel nothing out of the ordinary in the force."; ]; verb "craft" *noun ->Craft; [CraftSub; "You have nothing to craft here.";]; !--------Landing Site---------! object LOC_Landing_Site "Landing Site" has light with name "landing" "home base", description "You are standing in the new clearing where you came to your ~gentle~ landing. Your shuttle lays not to far from you, it's a miracle you survived. The hole in the jungle canopy created by your marvelous entry is the only light you have. A small pathway seems to lead north.", initial [; if (self hasnt visited) { print "----------------------------------^You wake up, unable to see anything. Groping around in the darkness you eventually find the release hatch. The canopy pops open, and you gracefully tumble out of the machine. After a few moments to collect yourself, you assess your surroundings. Around you is a lush jungle, of which you managed to create a new clearing and the wreak of your shuttle sits proudly in the middle of it. You silently give thanks to the Force that you managed to survive and prepare yourself to embark on your Knight Trials.^ ----------------------------------^"; } ], n_to LOC_Winding_Pathway; Object LOC_Landing_Site_Shuttle "wreaked shuttle" LOC_Landing_Site has static concealed supporter with name "shuttle" "wreak" "canopy", description "My shuttle, what a wreak. It seems that the canopy closed behind me.", before [; Open: if(self hasnt general) { give self general; move Item_Rations to player; move Item_Glowrod to player; move Item_Damaged_Lightsaber to player; "You open up the canopy to your shuttle and begin to rummage around inside. It seems like most of your supplies and gear were damaged pretty bad in the crash but you manage to find some rations, a functioning glowrod, and what remains of your training lightsaber."; } else "There's nothing of value inside."; ]; !-----------Winding Pathway-------------! object LOC_Winding_Pathway "Winding Pathway" has light with name "pathway", description "You stumble around through what seems to be a pathway of some sorts. Eventually, you reach a point where it branches to the north, south and west", n_to LOC_Clearing, s_to LOC_Landing_Site, w_to LOC_Crash_Site; !-----------Clearing------------! object LOC_Clearing "Clearing" has light with name "center", description "Struggling through the undergrowth, you eventually find youself in a large clearing. In the center of it is an immense tree.", u_to LOC_Tree_Top, s_to LOC_Winding_Pathway, n_to LOC_Temple_Exterior; object DR_Clearing_Tree "Big Tree" LOC_Clearing has scenery door static with name "tree" "large tree" "immense tree" "large" "immense", description "You look at the tree at the center of the clearing, it definitly goes above the jungle canopy. Perhaps you can head up it to assess your surroundings.", door_dir u_to, door_to LOC_Tree_Top; !---------Tree Top-------------! object LOC_Tree_Top "Tree Top" has light with name "tree" "top", description[; if (self hasnt visited) { print "You deftly leap from branch to branch till your above the rest of the jungle canopy. The sight is almost breathtaking, the vastness of green before you. Further to the north you can see what seems to be some temple ruins. Not to far to the west you see some mountains and what looks to be another crash site. After looking at the landscape you notice a few branches away there is some form of bird sitting on its nest, you decide to sit down on a branch not to far away"; } else { "After leaping up to the top, you sit down on a branch not to far away from a creature's nest."; } ], d_to LOC_Clearing; object LOC_Tree_Top_Creature "creature" LOC_Tree_Top has animate with name "bird" "creature", description "This creature looks close enough to a bird, even though it has two heads. You notice that in the thing's claws is a bundle of wires and such, it must have pried it from something nearby. He/she looks almost like it's hungry.", life[; Give,ThrowAt: if(noun ~= Item_Rations) { if (action == ##ThrowAt) { move noun to LOC_Clearing; print "You toss ", (the) noun, " at ", (the) self, " which flies up for a moment to dodge ", (the) noun, " and you watch it plummet to the ground below."; rtrue; } else print (The) self, " examines ", (the) noun, " with one of it's heads. "; } else{ print "You lob ", (The) noun, " into the air, and the ", (the) self, " quickly flies after it and lets go of what it was holding...which tumbles to the jungle floor."; move Item_Miscellaneous_Electronics to LOC_Clearing; rtrue; } ]; !--------Crash Site----------! object LOC_Crash_Site "Crash Site" has light with name "crash", description "Before you sits the remains of some ancient freighter that crashed quite a while back. The jungle has definitly claimed it as it's own. You see that there is a pathway to the west and to the east.", before [; Go: if (noun == in_to){ if(Ramp_Closed == 1) { print "The ramp is up, you can't enter the ship till it's lowered."; rtrue; } } ], e_to LOC_Winding_Pathway, w_to LOC_Mountain_Foot, in_to LOC_Ship_Enterance; object LOC_Crash_Site_Shipwreak "ship wreak" LOC_Crash_Site has scenery static with name "wreak" "freighter" "wreaked freighter" "ship" "wreaked ship", description "You examine the wreaked ship more closely. Most of the ship is covered in vines, and a few parts seem to have begun to rust out. From the looks of it this maybe at most 50 years old. A little further down the way you notice a what looks like the enterance ramp that could take you inside."; object DR_Ship_Ramp "ship ramp" LOC_Crash_Site has scenery door openable static with name "ramp" "in" "interior", description[; if(Ramp_Closed == 1) { print "The ship's ramp is up and covered with vines and obviously hasn't been open for some time."; } if(Ramp_Closed == 0) { print "The ship's ramp is down, allowing you to travel up into the frieghter."; } ], before [; Open: if(Ramp_Fixed == 0) { print "Upon closer inspection you realize that the circuitry for opening the door has been removed by one of the wonderful lifeforms here."; rtrue; } if (Ramp_Fixed == 1) { print "You hear some old motors begin to activate. The ramp begins to drop slowly, pulling itself free of the vines. "; Ramp_Closed = 0; rfalse; } Go: if(Ramp_Closed == 1) { print "The ramp is up, you can't enter the ship till it's lowered."; rtrue; } ], door_dir in_to, door_to LOC_Ship_Enterance; !----------Mountain Foot --------------! object LOC_Mountain_Foot "Foot of the Mountain" has light with name "foot" "mountain", description "You exit the jungle finally to see the foot of a large mountain range infront of you. It is obvious that you can't climb over this mountain, but you do see a cave enterence before you. ^ Your can either enter the cave or go to east to the crash site.", e_to LOC_Crash_Site, in_to LOC_Cave_Enterence; object DR_Cave_Inside "The enterence way into the cave" LOC_Mountain_Foot has scenery door static with name "cave" "enterence", description "You see a cave enterence before you, It definitly looks dark inside.", door_dir in_to, door_to LOC_Cave_Enterence; !-----------Cave Enterence-------------! object LOC_Cave_Enterence "Cave Enterence" with name "cave" "enterence", description [; if(self hasnt visited) { print "The cave is definitly dark and dank, your glowrod barely lights up the whole enterence way."; } else { print "You find yourself back at the enterenceway, and to be honest your not to sure how."; } print "You can see what seems to be three passageways before you. One going left, One going right and one going down the center. You can also exit to the outside the way you came in."; ], e_to LOC_Cave_Enterence, n_to LOC_Cave_Enterence, w_to LOC_Cave_Two, out_to LOC_Mountain_Foot; object DR_Right_Passage1 "the right passage" LOC_Cave_Enterence has scenery door static with name "right", description "It's dark, you can't see where it leads.", door_dir e_to, door_to LOC_Cave_Enterence; object DR_Center_Passage1 "the center passage" LOC_Cave_Enterence has scenery door static with name "center", description "It's dark, you can't see where it leads.", door_dir n_to, door_to LOC_Cave_Enterence; object DR_Left_Passage1 "the left passage" LOC_Cave_Enterence has scenery door static with name "left", description "It's dark, you can't see where it leads.", door_dir w_to, door_to LOC_Cave_Two; object DR_Cave_Outside "The exit to the outside" LOC_Cave_Enterence has scenery door static with name "outside" "exit", description "You can see the way back outside.", door_dir out_to, door_to LOC_Mountain_Foot; !-----------Cave Two-----------------! object LOC_Cave_Two "Further into the cave" with name "cave", description [; if(self hasnt visited) { print "You find yourself in a similar position to the enterence way. This seems to be another hub of passageways."; } else { print "You find yourself back at second hub, perhaps it is time to invenst in a compass."; } print "You can see what seems to be three passageways before you. One going left, One going right and one going down the center. "; ], e_to LOC_Cave_Three, n_to LOC_Cave_Two, w_to LOC_Cave_Enterence; object DR_Right_Passage2 "the right passage" LOC_Cave_Two has scenery door static with name "right", description "It's dark, you can't see where it leads.", door_dir e_to, door_to LOC_Cave_Three; object DR_Center_Passage2 "the center passage" LOC_Cave_Two has scenery door static with name "center", description "It's dark, you can't see where it leads.", door_dir n_to, door_to LOC_Cave_Two; object DR_Left_Passage2 "the left passage" LOC_Cave_Two has scenery door static with name "left", description "It's dark, you can't see where it leads.", door_dir w_to, door_to LOC_Cave_Enterence; !-----------Cave Three---------------! object LOC_Cave_Three "Even further into the cave" with name "cave", description [; if(self hasnt visited) { print "Yet another hub... how predictable."; } else { print "You find yourself back at what you can only assume is the third hub. This place seems to deny all laws space."; } if(Cave_Blocked == 1) { print "It's odd this time, you only are able to make out two passageways, one to the right and one to the left."; } if(Cave_Blocked == 0) { print "You can now see three passageways before you. One going left, One going right and one the recently cleared one going down the center."; } ], e_to LOC_Cave_Two, n_to LOC_Cave_Crystal, w_to LOC_Cave_Three; object DR_Right_Passage3 "the right passage" LOC_Cave_Three has scenery door static with name "right", description "It's dark, you can't see where it leads.", door_dir e_to, door_to LOC_Cave_Two; object DR_Center_Passage3 "the center passage" LOC_Cave_Three has scenery door static with name "center", description [; if(Cave_Blocked == 1) { print "Where you would assume the center passage would be, you find a huge bolder blocking the path."; } else { print "Peering down the passage you can almost make out a twinkle of lights."; } ], before [; Go: if(Cave_Blocked == 1) { print "There's a huge bolder that you have no way of getting around."; rtrue; } ], door_dir n_to, door_to LOC_Cave_Crystal; object LOC_Cave_Three_Bolder "A large Bolder" LOC_Cave_Three has scenery static with name "bolder" "rock", description [; if(Door_Blocked == 1) print "This is one huge rock, there is no way you could lift this..."; else print "The bolder now sits out of the way of all the passages."; ], before [; Sense: print "You sit down on the cave floor, and extend your sences. You feel the ebb and flow of the force, you draw upon that to strengthen yourself. You feel like that bolder should be no problem now"; give self general; rtrue; Push: if(self hasnt general) { print "You try to phsically push the bolder, then you try to use the force. Nothing seems to work. Perhaps you need to clear your mind and focus."; rtrue; } else { Cave_Blocked = 0; print "You draw upon all the strength you have, you can feel beads of sweat roll down your forhead. Then, suddenly you can feel the bolder moving, slowly at first but it builds up momentum and rolls out of the way of the center passage.^ You have completed the Trial of Skill"; score = score + 1; rtrue; } ]; object DR_Left_Passage3 "the left passage" LOC_Cave_Three has scenery door static with name "left", description "It's dark, you can't see where it leads.", door_dir w_to, door_to LOC_Cave_Three; !-----------Crystal Cave---------------! object LOC_Cave_Crystal "Force Crystal Cavern" has light with name "cavern", description "As you enter the what turns out to be a large cavern, you can feel the force become stronger. Light is being emited from a myriad of crystals. Your certain you can find a new crystal here. ^All you can do is head back out of the cavern using the passageway behind you.", out_to LOC_Cave_Enterence; object LOC_Cave_Crystal_Crystals "Force crystals" LOC_Cave_Crystal has scenery static with name "crystals", description "You examine all the different crystals here, you can feel them call out to you. You can see blue, green, yellow, and white crystals scattered on the walls."; object LOC_Cave_Crystal_Blue "blue force crystal" LOC_Cave_Crystal has supporter static with name "blue", description "It's a blue force crystal, you can feel the power behind it.", before [; Take: if(Has_Crystal == 1) { print "You have already selected a crystal"; rtrue; } else { Has_Crystal = 1; move Item_Force_Crystal to player; ! Crystal_Color = blue; "You focus your thoughts, and feel a specific crystal call out to you. As you reach for it you open your eyes and see the glowing blue crystal pulsating. When you touch it, you feel it instantly attune to you."; } ]; object LOC_Cave_Crystal_Yellow "yellow force crystal" LOC_Cave_Crystal has supporter static with name "yellow", description "It's a yellow force crystal, you can feel an aura of a watchman behind it.", before [; Take: if(Has_Crystal == 1) { print "You have already selected a crystal"; rtrue; } else { Has_Crystal = 1; move Item_Force_Crystal to player; ! Crystal_Color = yellow; "You focus your thoughts, and feel a specific crystal call out to you. As you reach for it you open your eyes and see the glowing yellow crystal pulsating. When you touch it, you feel it instantly attune to you."; } ]; object LOC_Cave_Crystal_Green "green force crystal" LOC_Cave_Crystal has supporter static with name "green", description "It's a green force crystal, you can feel a sence of guidance behind it.", before [; Take: if(Has_Crystal == 1) { print "You have already selected a crystal"; rtrue; } else { Has_Crystal = 1; move Item_Force_Crystal to player; ! Crystal_Color = green; "You focus your thoughts, and feel a specific crystal call out to you. As you reach for it you open your eyes and see the glowing green crystal pulsating. When you touch it, you feel it instantly attune to you."; } ]; object LOC_Cave_Crystal_White "white force crystal" LOC_Cave_Crystal has supporter static with name "white", description "It's a white force crystal, you can feel the power behind it.", before [; Take: if(Has_Crystal == 1) { print "You have already selected a crystal"; rtrue; } else { Has_Crystal = 1; move Item_Force_Crystal to player; ! Item_Force_Crystal.Crystal_Color = white; "You focus your thoughts, and feel a specific crystal call out to you. As you reach for it you open your eyes and see the glowing white crystal pulsating. When you touch it, you feel it instantly attune to you."; } ]; object DR_Cavern_Exit "Exit the crytal cavern" LOC_Cave_Crystal has scenery door static with name "passageway", description "It's dark, you can't see where it leads.", door_dir out_to, door_to LOC_Cave_Enterence; !-----------Ship Enterance-------------! object LOC_Ship_Enterance "Ship Enterance" has light with name "enterance" "entry way", description "From what you can see the interior of this ship doesn't look much better than the outside. The sunlight reveals a narrow corridor, obviously this enterance wasn't for cargo. You can see a hallway at one end, but you'll need some form of light to continue on. The other end has the ramp leading down to the outside.", out_to LOC_Crash_Site, w_to LOC_Ship_Hallway1; object DR_Ship_Enterance_Hallway "Hallway" LOC_Ship_Enterance has scenery door static with name "hallway" "pathway" "corridor", description "This corridor leads further into the ship.", door_dir w_to, door_to LOC_Ship_Hallway1; object DR_Ramp_Ship "ship ramp" LOC_Ship_Enterance has scenery door static with name "ramp" "in" "interior", description "It's the ramp that leads to the outside", door_dir out_to, door_to LOC_Crash_Site; !----------Ship Hallway1------------! object LOC_Ship_Hallway1 "Ship Hallway1" with name "hallway1" "hallway", description[; if (self hasnt visited) { print "As the corridor you have been traveling down, the sunlight begins to dissapate and your forced to rely on the soft amber light of your glowrod. As you enter the hallway, you are greeted by what would seem to have been a battle. The walls are scoured with blaster marks, and bodies lay in different positions thoughout the hall. The bodies have all decomposed, all that is left is their skeletons and clothes."; } else{ print "The hallway has several corpses, all that remains are their skeletons wrapped in their cloathing. To the north the bulkhead has collapsed, blocking the way to what you would assume is the cockpit. There is a doorway to another room, the hallway continues south further into the ship and there is the passage to the enterence."; } ], s_to LOC_Ship_Hallway2, w_to LOC_Ship_Medbay, e_to LOC_Ship_Enterance; object LOC_Ship_Hallway1_Bulkhead "Bulkhead" LOC_Ship_Hallway1 has static scenery with name "bulkhead", description "It looks like the bulkhead collapesd in, perhaps you can get around it from the outside"; object DR_Ship_Hallway1_Medbay "Doorway" LOC_Ship_Hallway1 has scenery door openable static with name "door" "doorway" "medbay", description "Your able to make out the word Medbay on the scarred door.", door_dir w_to, door_to LOC_Ship_Medbay; object DR_Hallway1_Ship_Enterance "Hallway" LOC_Ship_Hallway1 has scenery door static with name "enterence" "entry way" "enterence way" "pathway" "corridor", description "This corridor leads back towards the outside.", door_dir e_to, door_to LOC_Ship_Enterance; object DR_Hallway1_Hallway2 "Further Down The Hall" LOC_Ship_Hallway1 has scenery door static with name "more hallway" "further down the hall" "further into the ship" "hallway", description "This corridor leads further into the ship.", door_dir s_to, door_to LOC_Ship_Hallway2; object LOC_Ship_Hallway1_Bodies "Bodies" LOC_Ship_Hallway1 has scenery static with name "bodies" "corpses", description "From the looks of their cloathing, most of these bodies belonged to mercenaries. You do notice one that's wearing a more regal outfit, a captive perhaps? It's hard to tell what exactly happened to most of the bodies here due to decompositon. You can see what looks to be blaster marks on some of them, but others are nearly cut in two.", before [; Take: "What am I supossed to do with these dead bodies?"; ]; object LOC_Ship_Hallway1_SithBody "SithBody" LOC_Ship_Hallway1 has scenery static with name "prisoner body" "captive body" "sith body" "captive" "prisoner" "sith", description[; if(self hasnt general) { print "You examine this body a bit closer, and something seems a bit off. You assume it was a male the way the outfit is cut, but the patterns give you an uneasy feeling. Suddenly you realize this is no royal anybody, this man is wearing the robes of a Sith. You step back for a moment to collect yourself. At that point your glowrod's light reflects off of something in the sith's hand. You pick up the object and decide you've had enough of this man."; give self general; move Item_Strange_Box to player; } else { print "You see no need to look at that Sith's body any more."; } ], before [; Take: "Why would I want a dead Sith's body?"; ]; !----------Ship Medbay------------! object LOC_Ship_Medbay "Medbay" with name "Medbay" "medbay", description "The medbay is a shamble. From the looks of it most of the medical supplys have either expired or were destroyed in the crash. You notice one cabinet seems to still be intact though. Your only way out is through the doorway back into the hallway.", e_to LOC_Ship_Hallway1; object LOC_Ship_Medbay_Cabinet "Cabinet" LOC_Ship_Medbay has static scenery with name "cabinet" "medical cabinet", description "This cabinet is still closed, so perhaps there's something worthwhile inside.", before [; Open: if(self hasnt general) { print "You open the cabinet, and it seems like someone or something already beat you to it. Most of the bottles are empty or missing, but you do manage to find a bottle of some sort of sedative and a syringe."; move Item_Syringe to player; move Item_Sedative to player; give self general; rtrue; } else { print "You open the cabinet, but you find nothing of value."; rtrue; } ]; object DR_Medbay_Ship_Hallway1 "Doorway" LOC_Ship_Medbay has scenery door openable static with name "door" "doorway" "hallway", description "This doorway leads back to the hallway.", door_dir e_to, door_to LOC_Ship_Hallway1; !----------Ship Hallway2-----------! object LOC_Ship_Hallway2 "Ship Hallway2" with name "hallway2" , description[; print "The hallway continues deeper into the ship, corpses scattered here and there. Scorch-marks, most likely from blasters, run up and down the hallway. There must have been some battle here. "; if(Door_Blocked == 1) { print "At the end of the hallway there is what looks to be a large doorway into what would be the cargo hold. The doorway is half jammed open, but there is rubble blocking the way in. The only other way to go is back to the first hallway."; } if(Door_Blocked == 0) { print "At the end of the hallway is a large doorway into the cargo hold. The doorway is jammed open but you should be able to squeeze by. The only other way to go is back to the first hallway."; } if(Examined_Datapad == 1) { print " You think this is the place that the pilot's journal mentioned. Perhaps you can sense something out of place if you focus."; } Go: if(noun == s_to) { if(Door_Blocked == 1) { print "There's to much rubble in the way, you can't get through."; rtrue; } } ], before [; Sense: "You extend your senses, and suddenly you notice that there's a hidden doorway in the wall."; ], s_to LOC_Ship_Cargo_Hold, w_to LOC_Ship_Sith_Sanctum, n_to LOC_Ship_Hallway1; object LOC_Ship_Hallway2_Rubble "Rubble" LOC_Ship_Hallway2 has scenery static with name "rubble", description "There seems to be a pile of junk that must have come from the cargo hold wedged in the doorway.", before [; Push: Door_Blocked = 0; print "You focus your abilities, then with one force blast you scatter the rubble into the cargo hold."; move self to LOC_Limbo; rtrue; ]; object DR_Ship_Hallway2_CargoDoor "Cargo Door" LOC_Ship_Hallway2 has scenery door static with name "door" "cargo door" "doorway", description [; if(Door_Blocked == 1) { print "The doorway is blocked by some rubble, you won't be able to get past."; } if(Door_Blocked == 0) { print "The doorway is clear, albeit a little tight. You should be able to squeeze by."; } ], before [; Go: if(Door_Blocked == 1) { print "There's to much rubble in the way, you can't get through."; rtrue; } ], door_dir s_to, door_to LOC_Ship_Cargo_Hold; object DR_Hallway2_Hallway1 "Back Towards the enterence" LOC_Ship_Hallway2 has scenery door static with name "back" "towards the enterence" "hallway", description "This corridor leads back towards the enterence.", door_dir n_to, door_to LOC_Ship_Hallway1; object DR_Hallway2_SecretDoor "Secret Door" LOC_Ship_Hallway2 has scenery door static openable with name "secret" "hidden" "sanctum" "door2" "passage", description[; if(self hasnt general) { "You look at a fairly non-descript section of the wall but you sensed something here."; } else { "Before you is a hidden passage into what must have been the Sith's secret sanctum." ; } ], before [; Open: if(self hasnt general) { print "You extend your senses with the force. Eventually, you feel a hidden mechanism inside the wall which you activate. Right around that area, a doorway opens."; give self general; } ], door_dir w_to, door_to LOC_Ship_Sith_Sanctum; !--------------Sith's Sancutum-------------! object LOC_Ship_Sith_Sanctum "Sith Sanctum" has light with name "sanctum" "sith", Description "Your standing in the place where that a Sith must have used to meditiate. The walls give an errie red glow, which is odd to you since the power was out thoughout the rest of the ship. Your hesitant, but perhaps if you focus you might sense what was happening here.^Your only way back it through the secret passage.", before [; Sense: if(self hasnt general) { print "You sit down in the center of the room andextend your senses. You can feel the precence of a spirit. You're able to withstand it long enough to glean some of its memories. As you stand up, you notice a small pannel, and your compelled to pick it up."; give self general; move Item_Strange_Panel to player; move Item_Sith_Memmories to player; } else { print "You dare not risk disturbing that spirit again."; } ], w_to LOC_Ship_Hallway2; object DR_SecretDoor_Hallway2 "Secret Door" LOC_Ship_Sith_Sanctum has scenery door static openable with name "secret" "hidden" "sanctum" "door" "passage", description "Before you is a hidden passage out of the Sith's secret sanctum." , door_dir w_to, door_to LOC_Ship_Hallway2; !--------------Ship Cargo Hold-------------! object LOC_Ship_Cargo_Hold "Cargo Hold" has light with name "cargo hold" "hold", description [; if(self hasnt visited) { "It takes a few moments, but you realize that you can see without your glowrod. Above you daylight seeps in through a decent sized hole though the hull of the ship. The hold has crates of ore scattered all over, there are even some droids in disrepair as well. Your eyes then wander over to the far side of the hold, and you spot a very large cage. A cage that has been busted open and looks like nothings inside. ^You might be able to get outside through the hole or you could head through the door into the rest of the ship."; } else { "This cargo hold is in shambles. The hold has crates of ore scattered all over, there are even some droids in disrepair, and a large broken cage in the corner. ^You might be able to get outside through the hole or you could head through the door into the rest of the ship."; } ], initial [; if(Door_Blocked == 1) { print "As drop into the cargo hold, you suddenly have a very bad feeling. You look at the door to the hallway and infront of it is laying a huge monster of some sort. As it notices you, it stands up from the carcase that it dragged in here and eyes you menacingly. There's no way you can get past it."; if(Item_Syringe notin player) { deadflag = 1; "The sith spawn slowly moves towards you. You then realize you have nothing to fight it with. You attempt to dodge its bite, but it catches your leg, snaping it in two. Needless to say, your not making it out alive."; } } ], u_to LOC_Ship_Exterior, n_to LOC_Ship_Hallway2; object LOC_Ship_Cargo "Cargo" LOC_Ship_Cargo_Hold has static scenery with name "cargo" "crates" "ore", description "You rummage around though the crates of cargo, but you fail to find anything usefull other then piles of ore.", before [; Take: "Ore...what would I do with ore...."; ]; object LOC_Ship_Cargo_Hold_Droids "Droids" LOC_Ship_Cargo_Hold has static scenery with name "droids" "malfunctioning droids", description[; print "You look over the old droids, most of them you can barely make out what model they were."; if(Item_Powercore notin player) { print "Eventually you find an R2 chassis that's getting power, even though its head is wedged under a crate of some type of ore. Perhaps that powercore could be useful."; } ], before [; Take: "Yes, the last thing I need is another broken thing to add to my collection."; ]; object LOC_Ship_Cargo_Hold_Cage "Cage" LOC_Ship_Cargo_Hold has static scenery with name "cage" "broken cage" "very large cage", description "You look inside the cage and see a pile of bones, some seem to even be human. Whatever was in here you'd probably not want to meet.", before [; Take: "Hernia city, here I come."; Enter: "So why would I want to enter the cage with HUMAN bones?"; ]; object Sith_Monster "Sith Monster" has animate with name "monster" "sith monster" "sith spawn", Description "This monster stands on all fours, has very large claws and a sharp set of teeth as well. It eyes you menecingly, it looks like it wants a piece of you.", before [; ], life[; Give,ThrowAt: if(noun ~= Item_Syringe) { if (action == ##ThrowAt) { move noun to LOC_Ship_Cargo_Hold; print "You wind up and throw ", (the) noun, " at ", (the) self, ". ", (the) noun, " hits him, bounces off...and now the monster seems a bit mad."; rtrue; } else print "You think a bit wiser about trying to hand ", (the) self, " ", (the) noun, "."; } else{ if(Item_Syringe hasnt general) { print "Why would you throw an empty syring at", (the) self, "?"; rtrue; } else { print "You think about throwing this syringe at ", (the) self, " but you realize you have no way of making sure the sedative is injected. "; } } Attack: if (noun == self){ if (Item_Syringe hasnt general) { print "Besides trying to give the monster an air bubble in its bloodstream, there really isn't a reason to attempt this attack."; return true; } else { print "You heft the syringe like a dagger, your thumb poised over the plunger. The monster bears it's teath and roars. ^ Are you sure you want to do this? (Y or N)"; if(YesOrNo()) { print "You let out a yell as you run towards the beast. It attempts to grab you with it's jaws, but you deftly leap out of the way and onto its back. Before it can throw you off, you jam the syringe into it's neck, and slam down the plunger. The beast throws you off of itself, lets out a roar and leaps out of the hole in the ceiling. ^You have completed the Trial of Courage."; score = score + 1; move Item_Syringe to LOC_Limbo; move self to LOC_Limbo; Task_Courage = 1; Door_Blocked = 0; return true; } else { print "You relax your musscels and rethink your strategy."; return true; } } } ]; object DR_CargoDoor_Ship_Hallway2 "Cargo Door" LOC_Ship_Cargo_Hold has scenery door static with name "door" "cargo door" "doorway", description "The doorway is clear, albeit a little tight. You should be able to squeeze by and go back to the hallway.", before [; Go: if(Door_Blocked == 1) { print "That beast is blocking your way and I don't think he'll just let you pass."; rtrue; } ], door_dir n_to, door_to LOC_Ship_Hallway2; object DR_CargoHold_Exterior_Hole "Hole" LOC_Ship_Cargo_Hold has scenery door static with name "hole" "outside", description "The hole in the hull is big enough for you to leap out of.", door_dir u_to, door_to LOC_Ship_Exterior; !-----------Ship Exterior-----------! object LOC_Ship_Exterior "On top of the ship" has light with name "exterior" "top of ship", description [; if(self hasnt visited) { print "Ah...you can finally breath fresh air again. "; } print "You're standing on the top of the wreaked freighter. From here your able to see where the bulkhead collapsed inside, you might be able to make your way in from there. You also have the hold down into the cargo hold."; ], in_to LOC_Ship_Cockpit, d_to LOC_Ship_Cargo_Hold; object DR_Exterior_Hole_CargoHold "Hole" LOC_Ship_Exterior has scenery door static with name "hole" "inside", description "The hole in the hull is big enough for you to leap down into the ship.", door_dir d_to, door_to LOC_Ship_Cargo_Hold; object DR_Exterior_Bulkhead "Bulkhead" LOC_Ship_Exterior has scenery door static with name "collapesd bullkhead" "bulkhead" "into the ship" "inside", description "There's a narrow hole into the ship that you can barely squeze though.", door_dir in_to, door_to LOC_Ship_Cockpit; !-----------Ship Cockpit----------! object LOC_Ship_Cockpit "Ship's Cockpit" has light with name "cockpit" "ships cockpit", description "You sqeeze though the hole in the bulkhead to find yourself practically inside the cockpit. You see the ship's doomed pilot died in his seat, skeletel hands still grasping the controls. There are no lights on any of the control panels, so you can assume there is no power running into here. ^The transparisteel is still intact, so your only way out is back the way you came, through the bulkead.", initial[; if(self hasnt visited) { move Sith_Monster to LOC_Ship_Cargo_Hold; Door_Blocked = 1; } ], out_to LOC_Ship_Exterior; object LOC_Ship_Cockpit_Pilot "Ship's Pilot" LOC_Ship_Cockpit has scenery static with name "corpse" "dead pilot" "pilot^s corpse" "pilot", description[; if (self hasnt general) { print "You move up to inspect the dead pilot. You reach forward and grap his chair, slowly turning it around. As his skull comes into view, you see what looks to be some form of hole smack dab in the center of his head, poor fellow. Suddenly, a large centiped crawls out of his eye socket, causing you to jump back in suprise. As you do that, you hear a metalic clang as something hits the floor."; move Item_Data_Log to LOC_Ship_Cockpit; give self general; Item_Data_Log.data_pad_on = 0; } else { "You see no more need to disturb the pilot's body."; } ]; object DR_Bulkhead_Exterior "Bulkhead" LOC_Ship_Cockpit has scenery door static with name "collapesd bullkhead" "bulkhead" "out of the ship" "outside", description "There's a narrow hole back out of the ship that you can barely squeze though.", door_dir out_to, door_to LOC_Ship_Exterior; !-----------Temple Exterior--------------! object LOC_Temple_Exterior "Ruined Temple Exterior" has light with name "temple exterior", description "You exit the jungle into a large clearing scattered with fallen trees and in the center sits the ruins of a large temple. You can feel the force in this area, this place is very important.^You can see the enterance not to far away, or you could go back south to the clearing.", before [; Go: if(Item_Tree in player) { move Item_Tree to LOC_Temple_Exterior; print "You don't want to lug a tree around with you."; } if(noun == in_to && Temple_Closed == 1) { print "The doorway is still blocked"; return true; } ], in_to LOC_Temple_Enterence, s_to LOC_Clearing; object LOC_Temple_Exterior_Temple "Temple" LOC_Temple_Exterior has scenery with name "temple", description "You look at the ruins before you, and you can feel like this is the place that you need to go to complete your trials"; object DR_Temple_Exterior_Interior "The doorway into the Temple" LOC_Temple_Exterior has scenery door static openable with name "doorway" "door" "enterence", description[; if(Temple_Closed == 1) { print "There is a large stone door blocking the enterence, your not to sure how to open it."; } else { print "The stone door has been pried open revealing the temple beyond"; } ], before [; Go: if(Temple_Closed == 1) { print "There is a stone door blocking your way."; rtrue; } Push: if(Temple_Closed == 1) { print "You are going to need something to pry this door open."; } Open: if(Temple_Closed == 1) { if(Item_Tree in player) { print "You heft up the fallen tree that you picked up and manage to wedge it into the doorway. You spend a large amount of time struggling with the door then suddenly something losens and the door opens enough for you to get though.^You completed the Trial of Flesh"; score = score + 1; Temple_Closed = 0; move Item_Tree to LOC_Limbo; } else { print "Your going to need to find something large that you can open this door with."; } } else { print "It's already open."; rtrue; } ], door_dir in_to, door_to LOC_Temple_Enterence; !---------Temple Enterence------! object LOC_Temple_Enterence "Temple Enterence" has light with name "enterence" "temple", description "You enter the temple and your overwelmed with the sence of force here. You realize that this would be a perfect place to craft your lightsaber. There is a doorway to the heart of the temple and an exit to the exterior.", before [; Craft: if(noun == Item_Damaged_Lightsaber){ if(Item_Force_Crystal in player && Item_Powercore in player && Item_Precision_Lens in player && Item_Damaged_Lightsaber) { print "You focus and start to assemble your lightsaber. You insert the powercore into your damaged handle, followed by setting your crystal then finally adding your lens. You stand up, and ignite your lightsaber.^ You have Crafted Your Lightsaber"; move Item_Force_Crystal to LOC_Limbo; move Item_Powercore to LOC_Limbo; move Item_Precision_Lens to LOC_Limbo; move Item_Damaged_Lightsaber to LOC_Limbo; move Item_Finised_Lightsaber to player; score = score + 1; rtrue; } else { if(Item_Finised_Lightsaber in player) { print "You already crafted your lightsaber."; rtrue; } else { print "You are missing some parts."; rtrue; } } } ], out_to LOC_Temple_Exterior, in_to LOC_Temple_Heart; object DR_Temple_Interior_Exterior "The doorway into the Temple" LOC_Temple_Enterence has scenery door static with name "exit", description "This doorway leads to the outside", door_dir out_to, door_to LOC_Temple_Exterior; object DR_Temple_Heart "The doorway to the Temple's heart" LOC_Temple_Enterence has scenery door static with name "doorway" "door" "heart", description "This doorway leads into the Temple's heart.", before [; Go: print "Are your sure you want to enter the heart of the temple?(y/n)"; if(YesOrNo()) { print "You push open the doorway and head into the temple's heart."; rfalse; } else { print "You hesitate, perhaps there is more you can do?"; rtrue; } ], door_dir in_to, door_to LOC_Temple_Heart; !----------Temple's Heart -----------! Object LOC_Temple_Heart "Temple's Heart" has light with name "heart" "temple" "room", description [; print "You enter the heart of the temple, and see a huge antechamber. In the center sits a figure in dark robes. He stands up and says to you ~It took you long enough, now it is time for you to die~ and ignites a lightsaber. "; if(Item_Finised_Lightsaber notin player) { deadflag = 1; "He dashes right at you and you realize you have nothing to defend yourself with, the last thing you feel is a warm sensation as his blade goes straight though your heart."; } ]; object Sith_Master "Sith Master" LOC_Temple_Heart has animate with name "master" "sith" , Description "The sith stands before you with a red lightsaber drawn and ready to strike you down.", before [; ], life[; ThrowAt: if(noun == Item_Finised_Lightsaber) { print "You whip your lightsaber at him, it spins quickly towords him. Regretfully he avoids your toss and you pull your lightsaber back to you."; } else{ print "You throw your ", noun, "at him and he promptly cuts it in half."; move noun to LOC_Limbo; } Attack: if (noun == self){ if (Item_Finised_Lightsaber has light) { print "You need to ignight your lightsaber to fight him."; return true; } else { print "You ready your lightsaber, leap right at him. You two parry and dodge back and forth, occasionally locking sabers. Eventually you see an opening and strike at his hand, severing it at the wrist. He is now at your mercy, do you strike him down? (Y or N)"; if(YesOrNo()) { deadflag = 1; "As you raise your lightsaber, he laughs and says ~You fool, you shall now feel the power of the dark side.~ He raises his remaining hand and shoots blue bolts of lightning at you, sending you into darkness."; } else { deadflag = 2; "You decide to spare his misreable life, and as you turn your back you can hear him getting up. ~How dare you turn your back on me!!!~ he shouts and raises his remaing hand. You brace yourself for what will happen next only to see a flash of green and the Sith Master split in the middle.^^ You look over and see your master standing in a recess that you didn't notice. ~Amazing job padawan, or should I call you knight now?~"; } } } ]; !-----------Items---------------! Object Item_Tree "a fallen tree" LOC_Temple_Exterior has supporter concealed with name "tree" "log", description "It's a eight foot long log."; object Item_Miscellaneous_Electronics "circuit board and wires" with name "electronics" "circuit board" "wires" "circuit" "circuit board and wires", description "These seem to have been removed from some type of control pannel, they might be important", before [; Insert: if(player in LOC_Crash_Site && second == DR_Ship_Ramp) { print "After some careful tinkering, you manage to rewire the control panel. Nothing like a little elbow grease to make things run again."; Ramp_Fixed = 1; move self to LOC_Limbo; rtrue; } ]; object Item_Rations "rations" has supporter with name "food" "grub" "rations" "ration", description "Some fairly unappetizing rations"; object Item_Glowrod "Glowrod" has supporter switchable ~on with name "glowrod", description "Glowrods, great sources of light in those dark places.", after [; SwitchOn: give self light; "You turn on the glowrod, it hums and emits an amber glow."; SwitchOff: give self ~light; "You turn off the glowrod and the glow fades."; ]; object Item_Damaged_Lightsaber "Damaged Lightsaber" has supporter with name "lightsaber" "damaged lightsaber" "training lightsaber" "training" "damaged", description "This is the lightsaber your master gave you when you became his Padawan. Regretfully, it's of no use to you in it's current state, but it would be a good basis for your new lightsaber. You would need a new crystal, lens, and power supply to make your lightsaber."; object Item_Strange_Box "Strange Box" has container openable lockable locked supporter with name "strange box" "box" "sith box", description[; if (self hasnt general) { print "This box is made of a strange material, it feels like marble but very lightwieght. It has four panels with a strange writing on it, you can only assume it is some Sith language. You notice that there seems to be a place for one more pannel, though it seems to be missing."; } else { print "This box is made of a strange material, it feels like marble but very lightwieght. It has five complete panels with some Sith writing on it, and it seems to be unlocked."; } ], before [; Unlock: if(Item_Strange_Panel in player) { print "You take a few moments examining the panel till you decide which way is right. You set the panel in slowly, afraid of what might happen. As soon as the panel sits into place, you see a brief flash of light and hear a click."; move Item_Strange_Panel to LOC_Limbo; give self general; rfalse; } Open: print "You push down on the newly placed center panel, causing the top to spread apart like a flower budding. Once it's open you see wrapped in cloth seems to be a lens of some sort."; move Item_Precision_Lens to self; ], with_key Item_Strange_Panel; object Item_Precision_Lens "Precision Lens" has supporter with name "precision lens" "lens", description "Upon examining this lense closely, you can see that it has been expertly crafted. Whomever made this put alot of effort forth."; object Item_Strange_Panel "strange panel" with name "strange panel" "panel", description [; if(Item_Strange_Box in player) { print "This object you picked up seems to be the missing panel for the Sith's box."; } else { print "In your hand you hold a small stone panel, it seems to have some strange writing on it."; } ]; object Item_Powercore "Powercore" LOC_Ship_Cargo_Hold has supporter concealed with name "powercore" "power core" "core", description "This powercore seems to still have a good charge, perhaps things are starting to go my way."; Object Item_Syringe "Syringe" has supporter with name "syringe" "needle", description [; print "This is a fairly crude device used to inject things like medicine or drugs with. It may come in handy."; if (self has general) { print "The syringe is filled with a sedative you've found."; } ], before [; Insert: if(second == Item_Sedative && self hasnt general) { print "You insert the syringe into the sedative bottle, pulling what's remains into the syringe."; give self general; move Item_Sedative to LOC_Limbo; return true; } ]; Object Item_Force_Crystal has supporter with name "crystal", description "It is the force crystal you selected from the cave. Its attuened to you."; Object Item_Sedative "Bottle of Seditive" has supporter with name "seditive" "drugs" "bottle of seditive", description "This bottle cointains a seditive that you recognize. All you can say is that this stuff is very potent."; Object Item_Data_Log "a personal datapad" has supporter switchable ~on with name "datapad" "personal datapad", data_pad_on, description[; if(self.data_pad_on == 0) { "You look at this datapad, it must have belonged to the ships departed pilot, I wonder what's in here...perhaps I should turn it on."; } else if(self.data_pad_on == 1) { print "From the looks of it, the pilot kept a journal of the happenings on the ship. The only notable journal entry mentions a Sith, Darth Wraith. ~That Sith gives me the willies. He just seems to come and go as he pleases, and has such an un-nerving aura around him. He also seems to dissapear in that hallway by the cargo hold. Jonas thinks he's got some hidden place that he finds with his force..."; Examined_Datapad = 1; } ], after [; SwitchOn: self.data_pad_on = 1; "You turn on the data pad, now you can see what's inside."; SwitchOff: self.data_pad_on = 0; print "You shut the datapad off, probably good to conserve its energy."; ]; object Item_Sith_Memmories "memories of a dead Sith" has supporter with name "memories", Description "You focus on the Sith's memmories to puzzle out why he came here. You find out that he intended to craft his own lightsaber and came here to obtain a crystal. From the looks of it, there should be a cave not to far away. For some odd reason the pattern Left, Right, Center is promient in his mind as well, but your unsure why."; object Item_Finised_Lightsaber "Your crafted Lighsaber" has supporter switchable ~on with name "lightsaber", description "It's your own crafted lightsaber.", after [; SwitchOn: give self light; "You turn your lightsaber, the blade extends and hums."; SwitchOff: give self ~light; "You turn off your lightsaber, the blade retracts."; ]; object LOC_Limbo "Limbo"!--- to store used items. with name "limbo"; ! ---------- Initialization ------------! [ Initialise; location = LOC_Landing_Site; !-- set starting location to the landing site !--- initial story sequence print "^^ You lay contained in a small shuttle plummeting down towards an unknown planet. You are a Jedi Padawan, a novice in the ways of the force. Your master, Alendar Rask has decided that it is time for you to face the trials of becoming a Jedi Knight. Alandar informed you that you must face the Trial of Flesh, the Trial of Courage, the Trial of Skill and the Trial of Self and also construct your own lightsaber along the way.^^"; print "You mull over the tasks at hand as your shuttle begins to enter the atmosphere. It begins to shake violently, and for some odd reason your velocity isn't decreasing. Gauges are flashing red, and no matter what you hit nothing seems to work. Soon the force becomes too much to bear, and you begin to black out. ^^"; ];