public override void HandleResponse(string Response, ref string OutMessage) { bool bSuccess = true; if (bStarted == false) { bStarted = true; } if (iNode == 1) { iNode = 2; } else if (iNode == 2) { iNode = 3; } if (Response == "REMEMBER! BEWARE THE LOBSTER!!!") { OutMessage += "\"No thanks!\" you say, rejecting her offer.\n\n" + "\"What? NO! NO NO NO! It'll come after me now!\"\n\n" + "\"What'll come after you?\"\n\n" + "A Giant Enemy Lobster appears. The House Owner has a moment " + "to scream, then the lobster hits her in a " + "weak spot for massive damage. There is a massive amount of magical " + "blowback and an enormous explosion.\n\n" + "You regain consciousness up in the branches of a tree.\n"; World.MoveTo(World._UpATree, null, true, ref OutMessage, ref bSuccess); World._BackDoor.Add(World._lobster); World._crazyGuy.hiOwner.Remove(World._crazyGuy); World._crazyGuy.hiOwner = null; World.MakeRuins(); EndConversation(); } if (Response == "But...") { OutMessage += "You hesitate just a little too long.\n\n" + "\"It's coming for you now,\" the House Owner says solemnly.\n\n" + "\"What's coming after me?\"\n\n" + "A Giant Enemy Lobster appears and tries to hit you in a weak spot for " + "massive damage. Using your newly-acquired parkour skills, you run like " + "the wind, bouncing from tree to tree, until finally you come to a stop " + "inside the Cave Entrance. Outside, the Giant Enemy Lobster is trying " + "reach you and hit you for massive damage, but is a bit too big.\n\n" + "A voice sounds in your head. \"You came so close... yet you also " + "failed. You shall not be allowed to leave.\"\n"; World.MoveTo(World._caveEntrance, null, true, ref OutMessage, ref bSuccess); World._caveEntrance.NorthwestLoc = World._blocked; World._caveEntrance.Add(World._lobster); World._crazyGuy.hiOwner.Remove(World._crazyGuy); World._crazyGuy.hiOwner = null; EndConversation(); } }
public override void HandleResponse(string Response, ref string OutMessage) { bStarted = true; bool bSuccess = false; if (Response == "Go to Maze Entrance") { // OutMessage += "You walk through the twisty little tunnels and end up " + // "back at the Maze Entrance.\n"; // The _mazeEntrance.PreMove already does something like that. World.MoveTo(World._mazeEntrance, null, true, ref OutMessage, ref bSuccess); EndConversation(); } if (Response == "Go to High Ledge") { OutMessage += "You walk through the twisty little tunnels and they get " + "*very* narrow and you have to really squeeze through the last bits, " + "and you end up back at the High Ledge.\n"; World.MoveTo(World._highLedge, null, true, ref OutMessage, ref bSuccess); EndConversation(); } if (Response == "Holy Basket") { OutMessage += "You walk through the twisty little tunnels until you get " + "to the \"Holy Basket\" site.\n"; World.MoveTo(World._holyBasketSite, null, true, ref OutMessage, ref bSuccess); EndConversation(); } if (Response == "Abandoned Shrine") { OutMessage += "You walk through the twisty little tunnels until you get " + "to the abandoned shrine.\n"; World.MoveTo(World._abandonedShrineSite, null, true, ref OutMessage, ref bSuccess); EndConversation(); } if (Response == "Stay here") { OutMessage += "You decide to stay stuck and wandering around mostly " + "directionlessly in this very confusing maze.\n"; EndConversation(); } }
public override void DoAction(Item i, Item item2, bool Suppress, ref string OutMessage, ref bool bSuccess) { bSuccess = false; if (oTarget != null) { // Restriction check // Base this on the player's bCanMove if (World._player.bCanMove == false) { OutMessage += World._player.sCantMoveMsg + "\n"; } OutMessage += "You jump to " + oTarget.sDefiniteName; if ((oFrom != null) && (World._player.CurrentLocation == World._stalagmiteCave) ) { OutMessage += " from " + oFrom.sDefiniteName; } // Jumping from High Ledge to the precarious platform if ((oFrom == null) && (World._player.CurrentLocation == World._highLedge) ) { OutMessage += " from the high ledge"; World.MoveTo(World._stalagmiteCave, null, true, ref OutMessage, ref bSuccess); if (bSuccess) { // World._player.sState = ""; } else { OutMessage += ", but for some reason it doesn't work! You have a " + "new quest - you must inform the programmer at once!\n"; } } // Landing and making noise if (oTarget == World._ledge) { OutMessage += ". As you land, you crash into the side of the rockface " + "and disturb a bunch of pebbles, which clatter to the ground far " + "below."; } else if (oTarget == World._precariousPlatform) { OutMessage += ". As you land, the platform wobbles and grinds " + "against its precarious perch, making an enormous clatter."; } else { OutMessage += ". As you land, you make quite some noise."; } // From the PP you can make it to the High Ledge if (oTarget == World._precariousPlatform) { OutMessage += " Above you, just within jumping reach, is the top of the " + "rock face."; } OutMessage += "\n"; // You always make noise, so if the Crazy Old Guy is patrolling, make him // hurry back. if (World._highLedge.bVisited == false) { OutMessage += "\nYou hear a voice from above. \"Hey! What's all that " + "noise?\" it shouts.\n"; World._crazyGuy.iDirection = -1; } // Finally, set the player's state. World._player.sState = "On " + oTarget.sName; } // End points if (oTarget == null) { // Jumping down if (oFrom == World._stalagmiteBase) { OutMessage += "You jump down to the rocky floor of the Stalagmite Cave.\n"; World._player.sState = ""; } if (oFrom == World._precariousPlatform) { World.MoveTo(World._highLedge, null, true, ref OutMessage, ref bSuccess); if (bSuccess) { OutMessage += "You jump up, just making it to the top of the rockface.\n"; World._player.sState = ""; } else { OutMessage += "You leap for the top of the rockface, and for some " + "unknown reason you don't make it! You have a new quest - you " + "must inform the programmer at once!\n"; } } } bSuccess = true; }