Esempio n. 1
0
        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();
            }
        }
Esempio n. 2
0
        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();
            }
        }
Esempio n. 3
0
        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;
        }