public override void OnSpeech(SpeechEventArgs e)
        {
            #region Here is the list of Random Words you can use
            string dat_Facet              = TalkingNPCsXMLReader.RandomName("dat_Facet");
            string dat_TownRegion         = TalkingNPCsXMLReader.RandomName("dat_TownRegion");
            string dat_DungeonRegion      = TalkingNPCsXMLReader.RandomName("dat_DungeonRegion");
            string dat_NoHousingRegion    = TalkingNPCsXMLReader.RandomName("dat_NoHousingRegion");
            string dat_Other              = TalkingNPCsXMLReader.RandomName("dat_Other");
            string dat_Shrine             = TalkingNPCsXMLReader.RandomName("dat_Shrine");
            string dat_article1           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_article2           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_noun1              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun2              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun3              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun4              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_verb1              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verb2              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verbing1           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verbing2           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verb3rd1           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verb3rd2           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verbed1            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_verbed2            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_preposition1       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_preposition2       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_adj1               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_adj2               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_Greeting           = TalkingNPCsXMLReader.RandomName("dat_Greeting");
            string dat_Language1          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language2          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language3          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Armor              = TalkingNPCsXMLReader.RandomName("dat_Armor");
            string dat_Creature1          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Creature2          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Room1              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Room2              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Furniture1         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Furniture2         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Liquid1            = TalkingNPCsXMLReader.RandomName("dat_Liquid");
            string dat_Number1            = TalkingNPCsXMLReader.RandomName("dat_Number");
            string dat_PlayingCards       = TalkingNPCsXMLReader.RandomName("dat_PlayingCards");
            string dat_MinocShop          = TalkingNPCsXMLReader.RandomName("dat_MinocShop");
            string dat_MinocShopQuestItem = TalkingNPCsXMLReader.RandomName("dat_MinocShopQuestItem");
            #endregion

            string playername = e.Mobile.Name;
            string speech     = e.Speech.ToLower();

            #region Player says "Hi"
            for (int i = 0; i < Greetings.Length; i++)
            {
                if (speech == Greetings[i])
                {
                    switch (Utility.Random(4))  //picks one of the following
                    {
                    case 0:
                    { Say(String.Format("{0} {1}, I am {2} a {3} do you want to assist?", dat_Greeting, playername, dat_verb1, dat_Creature1)); break; }

                    case 1:
                    { Say(String.Format("That {0} bottle. Oh, {1} {2}!", dat_adj1, dat_Greeting, playername)); break; }

                    case 2:
                    { Say(String.Format("{0}{1} are so..ah, uhm. {2} {3}", dat_adj1, dat_Creature1, dat_Greeting, playername)); break; }

                    case 3:
                    { Say(String.Format("{0} {1} {2}, AGH! My spell! {3} you are so distracting.", dat_Language1, dat_Language2, dat_Language3, playername)); break; }
                    }
                }
            }
            #endregion

            #region Player says "Yes" or some other response
            for (int i = 0; i < Response.Length; i++)
            {
                if (speech == Response[i])
                {
                    if (m_ItemHasBeenReturned == true)
                    {
                        switch (Utility.Random(4))  //picks one of the following
                        {
                        case 0:
                        {
                            Say(String.Format("{0} help me find my {1} bottle.  It should be around here somewhere, just hand it to me.", playername, dat_noun1));
                            break;
                        }

                        case 1:
                        {
                            dat_article1 = char.ToUpper(dat_article1[0]) + dat_article1.Substring(1);
                            Say(String.Format("{0} somewhere around here I have a {1} bottle.", playername, dat_noun1));
                            break;
                        }

                        case 2:
                        {
                            dat_article1 = char.ToUpper(dat_article1[0]) + dat_article1.Substring(1);
                            Say(String.Format("I am {0} a {1} potion and need my {2} bottle.", dat_verb1, dat_adj1, dat_noun1));
                            break;
                        }

                        case 3:
                        {
                            dat_article1 = char.ToUpper(dat_article1[0]) + dat_article1.Substring(1);
                            Say(String.Format("Maybe some blood of {0} would work.  No I need a bottle of {1}.", dat_Creature1, dat_noun1));
                            break;
                        }
                        }


                        //Choose Item Location
                        int x = Location.X + Utility.RandomMinMax(-5, 5);
                        int y = Location.Y + Utility.RandomMinMax(-5, 5);
                        int z = Map.GetAverageZ(x, y);

                        if (Map.CanFit(x, y, Location.Z, 1))
                        {
                            Item item = new Bottle();
                            item.Name = String.Format("{0} bottle", dat_noun1);
                            item.MoveToWorld(new Point3D(x, y, Location.Z), Map);
                            m_ItemHasBeenReturned = false;
                            ProfessorItemTimer t = new ProfessorItemTimer();
                            t.Start();
                        }
                        else if (Map.CanFit(x, y, z, 1))
                        {
                            Item item = new Bottle();
                            item.Name = String.Format("{0} bottle", dat_noun1);
                            item.MoveToWorld(new Point3D(x, y, z), Map);
                            m_ItemHasBeenReturned = false;
                            ProfessorItemTimer t = new ProfessorItemTimer();
                            t.Start();
                        }
                    }
                    else
                    {
                        Say(String.Format("A bottle, {0} or {1}.  Hurry any bottle will due!", dat_adj1, dat_noun1));
                    }
                }
            }
            #endregion
        }
        public override void OnMovement(Mobile m, Point3D oldLocation)
        {
            #region Here is the list of Random Words you can use
            string dat_Facet              = TalkingNPCsXMLReader.RandomName("dat_Facet");
            string dat_TownRegion         = TalkingNPCsXMLReader.RandomName("dat_TownRegion");
            string dat_DungeonRegion      = TalkingNPCsXMLReader.RandomName("dat_DungeonRegion");
            string dat_NoHousingRegion    = TalkingNPCsXMLReader.RandomName("dat_NoHousingRegion");
            string dat_Other              = TalkingNPCsXMLReader.RandomName("dat_Other");
            string dat_Shrine             = TalkingNPCsXMLReader.RandomName("dat_Shrine");
            string dat_article1           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_article2           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_noun1              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun2              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun3              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun4              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_verb1              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verb2              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verbing1           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verbing2           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verb3rd1           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verb3rd2           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verbed1            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_verbed2            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_preposition1       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_preposition2       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_adj1               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_adj2               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_Greeting           = TalkingNPCsXMLReader.RandomName("dat_Greeting");
            string dat_Language1          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language2          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language3          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Armor              = TalkingNPCsXMLReader.RandomName("dat_Armor");
            string dat_Creature1          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Creature2          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Room1              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Room2              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Furniture1         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Furniture2         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Liquid1            = TalkingNPCsXMLReader.RandomName("dat_Liquid");
            string dat_Number1            = TalkingNPCsXMLReader.RandomName("dat_Number");
            string dat_PlayingCards       = TalkingNPCsXMLReader.RandomName("dat_PlayingCards");
            string dat_MinocShop          = TalkingNPCsXMLReader.RandomName("dat_MinocShop");
            string dat_MinocShopQuestItem = TalkingNPCsXMLReader.RandomName("dat_MinocShopQuestItem");
            #endregion

            #region NPC welcomes Player
            if (m_Talked == false)
            {
                if (m.InRange(this, 3) && m is PlayerMobile)
                {
                    //The Welcome
                    switch (Utility.Random(3))  //picks one of the following
                    {
                    case 0:
                    {
                        //m.Name = char.ToUpper(m.Name[0]) + m.Name.Substring(1);
                        Sentence = String.Format("What would happen if I mixed {0} with {1}?", dat_noun1, dat_noun2);
                        break;
                    }

                    case 1:
                    {
                        m.Name   = char.ToUpper(m.Name[0]) + m.Name.Substring(1);
                        Sentence = String.Format("This {0} potions will {1} the {2}", dat_adj1, dat_verb1, dat_DungeonRegion);
                        break;
                    }

                    case 2:
                    {
                        Sentence = String.Format("After {0} my microscope, I can {2} the {2}.", dat_verb1, dat_verb2, dat_Other);
                        break;
                    }
                    }
                    m_Talked = true;
                    Say(Sentence, this);
                    this.Move(GetDirectionTo(m.Location));
                    ProfessorTimer t = new ProfessorTimer();
                    t.Start();
                }
            }
            #endregion
        }
        public override void OnSpeech(SpeechEventArgs e)
        {
            #region Here is the list of Random Words you can use
            string dat_Facet              = TalkingNPCsXMLReader.RandomName("dat_Facet");
            string dat_TownRegion         = TalkingNPCsXMLReader.RandomName("dat_TownRegion");
            string dat_DungeonRegion      = TalkingNPCsXMLReader.RandomName("dat_DungeonRegion");
            string dat_NoHousingRegion    = TalkingNPCsXMLReader.RandomName("dat_NoHousingRegion");
            string dat_Other              = TalkingNPCsXMLReader.RandomName("dat_Other");
            string dat_Shrine             = TalkingNPCsXMLReader.RandomName("dat_Shrine");
            string dat_article1           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_article2           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_noun1              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun2              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun3              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun4              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_verb1              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verb2              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verbing1           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verbing2           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verb3rd1           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verb3rd2           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verbed1            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_verbed2            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_preposition1       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_preposition2       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_adj1               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_adj2               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_Greeting           = TalkingNPCsXMLReader.RandomName("dat_Greeting");
            string dat_Language1          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language2          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language3          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Armor              = TalkingNPCsXMLReader.RandomName("dat_Armor");
            string dat_Creature1          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Creature2          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Room1              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Room2              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Furniture1         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Furniture2         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Liquid1            = TalkingNPCsXMLReader.RandomName("dat_Liquid");
            string dat_Number1            = TalkingNPCsXMLReader.RandomName("dat_Number");
            string dat_PlayingCards       = TalkingNPCsXMLReader.RandomName("dat_PlayingCards");
            string dat_MinocShop          = TalkingNPCsXMLReader.RandomName("dat_MinocShop");
            string dat_MinocShopQuestItem = TalkingNPCsXMLReader.RandomName("dat_MinocShopQuestItem");
            #endregion

            string playername = e.Mobile.Name;
            string speech     = e.Speech.ToLower();

            #region Player says "Hi"
            for (int i = 0; i < Greetings.Length; i++)
            {
                if (speech == Greetings[i])
                {
                    switch (Utility.Random(4))  //picks one of the following
                    {
                    case 0:
                    { Say(String.Format("{0} {1}, do you want to play your favorite game?", dat_Greeting, playername, dat_verb1, dat_Creature1)); break; }

                    case 1:
                    { Say(String.Format("Would you like some {0} cookies?", dat_adj1)); break; }

                    case 2:
                    { Say(String.Format("I use a thimble to help sew that {0} coat.", dat_adj1)); break; }

                    case 3:
                    { Say(String.Format("May I sew up that {0} hole in your sock?", dat_adj1)); break; }
                    }
                }
            }
            #endregion

            #region Play says "Yes" or some other response
            for (int i = 0; i < Response.Length; i++)
            {
                if (speech == Response[i])
                {
                    if (m_ItemHasBeenReturned == true)
                    {
                        switch (Utility.Random(4))  //picks one of the following
                        {
                        case 0:
                        {
                            Say(String.Format("{0} hide your eyes, while I hide the {1} thimble.  Then bring it to me.", playername, dat_adj1));
                            break;
                        }

                        case 1:
                        {
                            dat_article1 = char.ToUpper(dat_article1[0]) + dat_article1.Substring(1);
                            Say(String.Format("{0} somewhere around here I have a {1} thimble.", playername, dat_adj1));
                            break;
                        }

                        case 2:
                        {
                            dat_article1 = char.ToUpper(dat_article1[0]) + dat_article1.Substring(1);
                            Say(String.Format("Hot or Cold, find the hidden {0} thimble.", dat_adj1));
                            break;
                        }

                        case 3:
                        {
                            dat_article1 = char.ToUpper(dat_article1[0]) + dat_article1.Substring(1);
                            Say(String.Format("Be a good {0} and find my {1} thimble.", dat_Creature1, dat_adj1));
                            break;
                        }
                        }


                        //Choose Item Location
                        int x = Location.X + Utility.RandomMinMax(-5, 5);
                        int y = Location.Y + Utility.RandomMinMax(-5, 5);
                        int z = Map.GetAverageZ(x, y);

                        if (Map.CanFit(x, y, Location.Z, 1))
                        {
                            Item item = new GoldRing();
                            item.Name = "Thimble";
                            item.MoveToWorld(new Point3D(x, y, Location.Z), Map);
                            m_ItemHasBeenReturned = false;
                            GrandmaItemTimer t = new GrandmaItemTimer();
                            t.Start();
                        }
                        else if (Map.CanFit(x, y, z, 1))
                        {
                            Item item = new GoldRing();
                            item.Name = "Thimble";
                            item.MoveToWorld(new Point3D(x, y, z), Map);
                            m_ItemHasBeenReturned = false;
                            GrandmaItemTimer t = new GrandmaItemTimer();
                            t.Start();
                        }
                    }
                    else
                    {
                        Say(String.Format("A thimble, {0} or {1}.  Hurry any thimble will due!", dat_adj1, dat_adj2));
                    }
                }
            }
            #endregion
        }
        public override void OnMovement(Mobile m, Point3D oldLocation)
        {
            #region Here is the list of Random Words you can use
            string dat_Facet              = TalkingNPCsXMLReader.RandomName("dat_Facet");
            string dat_TownRegion         = TalkingNPCsXMLReader.RandomName("dat_TownRegion");
            string dat_DungeonRegion      = TalkingNPCsXMLReader.RandomName("dat_DungeonRegion");
            string dat_NoHousingRegion    = TalkingNPCsXMLReader.RandomName("dat_NoHousingRegion");
            string dat_Other              = TalkingNPCsXMLReader.RandomName("dat_Other");
            string dat_Shrine             = TalkingNPCsXMLReader.RandomName("dat_Shrine");
            string dat_article1           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_article2           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_noun1              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun2              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun3              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun4              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_verb1              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verb2              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verbing1           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verbing2           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verb3rd1           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verb3rd2           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verbed1            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_verbed2            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_preposition1       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_preposition2       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_adj1               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_adj2               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_Greeting           = TalkingNPCsXMLReader.RandomName("dat_Greeting");
            string dat_Language1          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language2          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language3          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Armor              = TalkingNPCsXMLReader.RandomName("dat_Armor");
            string dat_Creature1          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Creature2          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Room1              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Room2              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Furniture1         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Furniture2         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Liquid1            = TalkingNPCsXMLReader.RandomName("dat_Liquid");
            string dat_Number1            = TalkingNPCsXMLReader.RandomName("dat_Number");
            string dat_PlayingCards       = TalkingNPCsXMLReader.RandomName("dat_PlayingCards");
            string dat_MinocShop          = TalkingNPCsXMLReader.RandomName("dat_MinocShop");
            string dat_MinocShopQuestItem = TalkingNPCsXMLReader.RandomName("dat_MinocShopQuestItem");
            #endregion

            #region NPC Welcomes Player
            if (m_Talked == false)
            {
                if (m.InRange(this, 3) && m is PlayerMobile)
                {
                    string Sentence   = "";
                    string playername = m.Name;

                    //The Welcome
                    switch (Utility.Random(3))  //picks one of the following
                    {
                    case 0:
                    {
                        //m.Name = char.ToUpper(m.Name[0]) + m.Name.Substring(1);
                        Sentence = String.Format("Welcome to Grandma's House, I missed you {0} {1}.", dat_adj1, playername);
                        break;
                    }

                    case 1:
                    {
                        m.Name   = char.ToUpper(m.Name[0]) + m.Name.Substring(1);
                        Sentence = String.Format("{0}, I have a {1} cake {2} for you.", playername, dat_adj1, dat_verb1);
                        break;
                    }

                    case 2:
                    {
                        Sentence = String.Format("I'm glad you left {0} and came to see dear old grandma.", dat_TownRegion);
                        break;
                    }
                    }
                    m_Talked = true;
                    Say(Sentence, this);
                    this.Move(GetDirectionTo(m.Location));
                    GrandmaTimer t = new GrandmaTimer();
                    t.Start();
                }
            }
            #endregion
        }
        public override void OnMovement(Mobile m, Point3D oldLocation)
        {
            #region Here is the list of Random Words you can use
            string dat_Facet              = TalkingNPCsXMLReader.RandomName("dat_Facet");
            string dat_TownRegion         = TalkingNPCsXMLReader.RandomName("dat_TownRegion");
            string dat_DungeonRegion      = TalkingNPCsXMLReader.RandomName("dat_DungeonRegion");
            string dat_NoHousingRegion    = TalkingNPCsXMLReader.RandomName("dat_NoHousingRegion");
            string dat_Other              = TalkingNPCsXMLReader.RandomName("dat_Other");
            string dat_Shrine             = TalkingNPCsXMLReader.RandomName("dat_Shrine");
            string dat_article1           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_article2           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_noun1              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun2              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun3              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun4              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_verb1              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verb2              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verbing1           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verbing2           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verb3rd1           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verb3rd2           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verbed1            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_verbed2            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_preposition1       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_preposition2       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_adj1               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_adj2               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_Greeting           = TalkingNPCsXMLReader.RandomName("dat_Greeting");
            string dat_Language1          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language2          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language3          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Armor              = TalkingNPCsXMLReader.RandomName("dat_Armor");
            string dat_Creature1          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Creature2          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Room1              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Room2              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Furniture1         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Furniture2         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Liquid1            = TalkingNPCsXMLReader.RandomName("dat_Liquid");
            string dat_Number1            = TalkingNPCsXMLReader.RandomName("dat_Number");
            string dat_PlayingCards       = TalkingNPCsXMLReader.RandomName("dat_PlayingCards");
            string dat_MinocShop          = TalkingNPCsXMLReader.RandomName("dat_MinocShop");
            string dat_MinocShopQuestItem = TalkingNPCsXMLReader.RandomName("dat_MinocShopQuestItem");
            #endregion

            #region NPC Welcomes Player
            if (m_Talked == false)
            {
                if (m.InRange(this, 3) && m is PlayerMobile)
                {
                    switch (Utility.Random(5))  //picks one of the following
                    {
                    case 0:
                    {        //madlib
                        Sentence = String.Format("The old {0} sang '{1} {2} of {3}'.", dat_noun1, dat_Language1, dat_Language2, dat_Creature1);
                        Sentence = Sentence + String.Format("{0} {1} {2} {3} ", dat_Language1, dat_Language2, dat_Creature1, dat_Language3);
                        Sentence = Sentence + String.Format("{0} {1} {2} {3 }", dat_Language2, dat_Language3, dat_Creature2, dat_Language1);
                        Sentence = Sentence + String.Format("{0} {1} {2} {3}.", dat_Language1, dat_Creature1, dat_Language3, dat_Language2);
                        break;
                    }

                    case 1:
                    {        //madlib - Tennis Pirate http://www.writing.com/main/madlibs.php/item_id/1125009?blank_1=NOUN&blank_exists_1=1&blank_2=ADJ&blank_exists_2=1&blank_3=CAR&blank_exists_3=1&blank_4=PLURALNOUN&blank_exists_4=1&blank_5=CAR&blank_exists_5=1&blank_6=PART&blank_exists_6=1&blank_7=VERB-PAST&blank_exists_7=1&item_id=1125009&action=complete
                        // "Grab your NOUN," called my dad. "We're going on a road trip!"
                        //My sister and I were used to our parents' spontaneous,
                        //ADJ decisions to take the family CAR for a drive, so we didn't worry.
                        //We piled our suitcases and PLURALNOUN into the back of the CAR,
                        //then climbed in ourselves. Our dad revved the PART, shifted into reverse,
                        //and VERB-PAST out of the driveway.
                        Sentence = String.Format("'Grab your {0}', called my {1}.  'We are going on a road trip!' ", dat_Armor, dat_Creature1);
                        Sentence = Sentence + String.Format("My {0} sister and I were used to our parents' spontaneous, ", dat_adj1);
                        Sentence = Sentence + String.Format("{0} decisions to take the family {1} for a drive, so we did not worry. ", dat_adj2, dat_noun1);
                        Sentence = Sentence + String.Format("We pile out bags and {0}s into the back of the {1}, ", dat_noun2, dat_noun1);
                        Sentence = Sentence + String.Format("then climbed in ourselves. Our {0} grabbed the reings, ", dat_Creature1);
                        Sentence = Sentence + String.Format("and we {0} out of the barn.", dat_verbed1);
                        break;
                    }

                    case 2:
                    {        //madlib - Puppy - http://www.writing.com/main/madlibs/item_id/1195190#sw
                        //You aint nothin but a ANIMAL2
                        //VERB -ing all the NOUN2.
                        //You aint nothin but a ANIMAL2
                        //VERB -ing all the NOUN2.
                        //Well, you aint never caught a ANIMAL1
                        //And you aint no FRIEND1 of mine.
                        Sentence = String.Format("You aint nothin but a {0}, ", dat_Creature1);
                        Sentence = Sentence + String.Format("{0} all the {1}. ", dat_verbing1, dat_noun2);
                        Sentence = Sentence + String.Format("You ain't nothin' but a {0}, ", dat_Creature1);
                        Sentence = Sentence + String.Format("{0} all the {1}.", dat_verbing1, dat_noun2);
                        Sentence = Sentence + String.Format("Well, you ain't never caught a {0}. ", dat_Creature2);
                        Sentence = Sentence + String.Format("And you ain't no {0} of mine.", dat_noun1);
                        break;
                    }

                    case 3:
                    {        //madlib - BRAD BAILEY'S http://members.aol.com/gametown2/games/Madlib.html
                        //One day while I was VERB1 in the ROOM1 a ADJECTIVE1 NOUN1 fell through the roof.
                        //It immediately jumped on the FURNITURE1 and knocked over the NOUN2.
                        //Then it ran out the door into the ROOM2 and VERB2 a NOUN3 off the FURNITURE2.
                        //It then knocked a glass of LIQUID1 off the coffee table.
                        //After NUMBER1 minutes of chasing the NOUN1 through the house
                        //I finally caught it and put it outside. It quickly climbed the nearest NOUN4.
                        Sentence = String.Format("One day while I was {0} in the {1} a {2} {3} fell throught the roof. ", dat_verb1, dat_Room1, dat_adj1, dat_noun1);
                        Sentence = Sentence + String.Format("It immediately jumped on the {0} and knocked over the {1} ", dat_Furniture1, dat_noun2);
                        Sentence = Sentence + String.Format("It then knocked a glass of {0} off the coffee table. ", dat_Liquid1);
                        Sentence = Sentence + String.Format("After {0} minutes of chasing the {1} through the house ", dat_Number1, dat_noun1);
                        Sentence = Sentence + String.Format(" I finally caught it and put it outside.  It quickly climbed in the nearest {0}.", dat_noun4);
                        break;
                    }

                    case 4:
                    {        //madlib - Borealis Hummingbird http://www.writing.com/main/madlibs.php/item_id/1003828?blank_7=PLACE&blank_exists_7=1&blank_6=PASTVERB&blank_exists_6=1&blank_5=ADJECTIVE&blank_exists_5=1&blank_4=OBJECT&blank_exists_4=1&blank_2=EMOTION&blank_exists_2=1&blank_1=NAME&blank_exists_1=1&blank_3=ANIMAL&blank_exists_3=1&item_id=1003828&action=complete
                        //NAME was a very EMOTION ANIMAL.
                        //NAME had a OBJECT which was ADJECTIVE.
                        //The ADJECTIVE OBJECT PASTVERB to PLACE,
                        //and NAME went to look for it.
                        //NAME finally reached PLACE,
                        //but the OBJECT was nowhere to be found.
                        //Eventually NAME went home and found the ADJECTIVE OBJECT in the sock drawer.
                        Sentence = Sentence + String.Format("{0} was a very {1} {2}. ", m.Name, dat_adj1, dat_Creature1);
                        Sentence = Sentence + String.Format("{0} has a {1} which was {2}. ", m.Name, dat_Armor, dat_adj1);
                        Sentence = Sentence + String.Format("The {0} {1} {2} to {3}, ", dat_adj1, dat_Armor, dat_verbed1, dat_Other);
                        Sentence = Sentence + String.Format("and {0} went to look for it. ", m.Name);
                        Sentence = Sentence + String.Format("{0} finally reached {1} ", m.Name, dat_Other);
                        Sentence = Sentence + String.Format("but the {0} was nowhere to be found. ", dat_Armor);
                        Sentence = Sentence + String.Format("Eventually {0} went home and found the ", m.Name);
                        Sentence = Sentence + String.Format("{0} {1} in the sock drawer.", dat_adj1, dat_Armor);
                        break;
                    }
                    }
                    m_Talked = true;
                    Say(Sentence, this);
                    this.Move(GetDirectionTo(m.Location));
                    BardSingerTimerTimer t = new BardSingerTimerTimer();
                    t.Start();
                }
            }
            #endregion
        }
        public override void OnSpeech(SpeechEventArgs e)
        {
            #region Here is the list of Random Words you can use
            string dat_Facet              = TalkingNPCsXMLReader.RandomName("dat_Facet");
            string dat_TownRegion         = TalkingNPCsXMLReader.RandomName("dat_TownRegion");
            string dat_DungeonRegion      = TalkingNPCsXMLReader.RandomName("dat_DungeonRegion");
            string dat_NoHousingRegion    = TalkingNPCsXMLReader.RandomName("dat_NoHousingRegion");
            string dat_Other              = TalkingNPCsXMLReader.RandomName("dat_Other");
            string dat_Shrine             = TalkingNPCsXMLReader.RandomName("dat_Shrine");
            string dat_article1           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_article2           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_noun1              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun2              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun3              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun4              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_verb1              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verb2              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verbing1           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verbing2           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verb3rd1           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verb3rd2           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verbed1            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_verbed2            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_preposition1       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_preposition2       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_adj1               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_adj2               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_Greeting           = TalkingNPCsXMLReader.RandomName("dat_Greeting");
            string dat_Language1          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language2          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language3          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Armor              = TalkingNPCsXMLReader.RandomName("dat_Armor");
            string dat_Creature1          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Creature2          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Room1              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Room2              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Furniture1         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Furniture2         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Liquid1            = TalkingNPCsXMLReader.RandomName("dat_Liquid");
            string dat_Number1            = TalkingNPCsXMLReader.RandomName("dat_Number");
            string dat_PlayingCards       = TalkingNPCsXMLReader.RandomName("dat_PlayingCards");
            string dat_MinocShop          = TalkingNPCsXMLReader.RandomName("dat_MinocShop");
            string dat_MinocShopQuestItem = TalkingNPCsXMLReader.RandomName("dat_MinocShopQuestItem");
            #endregion

            string playername = e.Mobile.Name;
            string speech     = e.Speech.ToLower();

            #region Player says "Hi"
            for (int i = 0; i < Greetings.Length; i++)
            {
                if (speech == Greetings[i])
                {
                    switch (Utility.Random(4))  //picks one of the following
                    {
                    case 0:
                    { Say(String.Format("{0} {1}, do you want to play your favorite game?", dat_Greeting, playername, dat_verb1, dat_Creature1)); break; }

                    case 1:
                    { Say(String.Format("Would you like to play {0} cards?", dat_adj1)); break; }

                    case 2:
                    { Say(String.Format("People come from {0} to play cards here.", dat_TownRegion)); break; }

                    case 3:
                    { Say(String.Format("{0}, {1} want to play?", playername, dat_Greeting)); break; }
                    }
                }
            }
            #endregion

            #region Play says "Yes" or some other response
            for (int i = 0; i < Response.Length; i++)
            {
                if (speech == Response[i])
                {
                    if (m_ItemHasBeenReturned == true)
                    {
                        switch (Utility.Random(4))  //picks one of the following
                        {
                        case 0:
                        {
                            Say(String.Format("{0} draw a card and let me see it.", playername));
                            break;
                        }

                        case 1:
                        {
                            dat_article1 = char.ToUpper(dat_article1[0]) + dat_article1.Substring(1);
                            Say(String.Format("{0} my {1} card vs your {2} card..", playername, dat_adj1, dat_adj1));
                            break;
                        }

                        case 2:
                        {
                            dat_article1 = char.ToUpper(dat_article1[0]) + dat_article1.Substring(1);
                            Say(String.Format("Place your card back into my deck and let's see if you a winner.", dat_adj1));
                            break;
                        }

                        case 3:
                        {
                            dat_article1 = char.ToUpper(dat_article1[0]) + dat_article1.Substring(1);
                            Say(String.Format("Be a good {0} and deal the cards.", dat_Creature1, dat_adj1));
                            break;
                        }
                        }


                        //Choose Item Location
                        int x = Location.X - 1;
                        int y = Location.Y;
                        int z = Map.GetAverageZ(x, y);

                        if (Map.CanFit(x, y, Location.Z, 1))
                        {
                            Item item = new PlayingCards();
                            item.Name = dat_PlayingCards;
                            item.MoveToWorld(new Point3D(x, y, Location.Z), Map);
                            m_ItemHasBeenReturned = false;
                            HighCardBettyItemTimer t = new HighCardBettyItemTimer();
                            t.Start();
                        }
                        else if (Map.CanFit(x, y, z, 1))
                        {
                            Item item = new PlayingCards();
                            item.Name = dat_PlayingCards;
                            item.MoveToWorld(new Point3D(x, y, z), Map);
                            m_ItemHasBeenReturned = false;
                            HighCardBettyItemTimer t = new HighCardBettyItemTimer();
                            t.Start();
                        }
                    }
                    else
                    {
                        Say(String.Format("Let me see the card, {0} or {1}.  Hurry any card will due!", dat_adj1, dat_adj2));
                    }
                }
            }
            #endregion
        }
示例#7
0
        public override void OnMovement(Mobile m, Point3D oldLocation)
        {
            #region Here is the list of Random Words you can use
            string dat_Facet              = TalkingNPCsXMLReader.RandomName("dat_Facet");
            string dat_TownRegion         = TalkingNPCsXMLReader.RandomName("dat_TownRegion");
            string dat_DungeonRegion      = TalkingNPCsXMLReader.RandomName("dat_DungeonRegion");
            string dat_NoHousingRegion    = TalkingNPCsXMLReader.RandomName("dat_NoHousingRegion");
            string dat_Other              = TalkingNPCsXMLReader.RandomName("dat_Other");
            string dat_Shrine             = TalkingNPCsXMLReader.RandomName("dat_Shrine");
            string dat_article1           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_article2           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_noun1              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun2              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun3              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun4              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_verb1              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verb2              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verbing1           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verbing2           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verb3rd1           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verb3rd2           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verbed1            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_verbed2            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_preposition1       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_preposition2       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_adj1               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_adj2               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_Greeting           = TalkingNPCsXMLReader.RandomName("dat_Greeting");
            string dat_Language1          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language2          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language3          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Armor              = TalkingNPCsXMLReader.RandomName("dat_Armor");
            string dat_Creature1          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Creature2          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Room1              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Room2              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Furniture1         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Furniture2         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Liquid1            = TalkingNPCsXMLReader.RandomName("dat_Liquid");
            string dat_Number1            = TalkingNPCsXMLReader.RandomName("dat_Number");
            string dat_PlayingCards       = TalkingNPCsXMLReader.RandomName("dat_PlayingCards");
            string dat_MinocShop          = TalkingNPCsXMLReader.RandomName("dat_MinocShop");
            string dat_MinocShopQuestItem = TalkingNPCsXMLReader.RandomName("dat_MinocShopQuestItem");
            #endregion

            #region NPC Welcomes Player
            if (m_Talked == false)
            {
                if (m.InRange(this, 3) && m is PlayerMobile)
                {
                    //The Welcome
                    switch (Utility.Random(3))  //picks one of the following
                    {
                    case 0:
                    {
                        //m.Name = char.ToUpper(m.Name[0]) + m.Name.Substring(1);
                        Sentence = String.Format("We have the {0} quest for you.", dat_adj1);
                        break;
                    }

                    case 1:
                    {
                        m.Name   = char.ToUpper(m.Name[0]) + m.Name.Substring(1);
                        Sentence = String.Format("{0} the {1} found a {2}.", dat_Creature1, dat_noun1, dat_Armor);
                        break;
                    }

                    case 2:
                    {
                        Sentence = String.Format("{0} was missing from {1} and found near {2}", dat_Armor, dat_TownRegion, dat_DungeonRegion);
                        break;
                    }
                    }
                    m_Talked = true;
                    Say(Sentence, this);
                    this.Move(GetDirectionTo(m.Location));
                    QuestGiverTimer t = new QuestGiverTimer();
                    t.Start();
                }
            }
            #endregion
        }
示例#8
0
        public override void OnSpeech(SpeechEventArgs e)
        {
            #region Here is the list of Random Words you can use
            string dat_Facet              = TalkingNPCsXMLReader.RandomName("dat_Facet");
            string dat_TownRegion         = TalkingNPCsXMLReader.RandomName("dat_TownRegion");
            string dat_DungeonRegion      = TalkingNPCsXMLReader.RandomName("dat_DungeonRegion");
            string dat_NoHousingRegion    = TalkingNPCsXMLReader.RandomName("dat_NoHousingRegion");
            string dat_Other              = TalkingNPCsXMLReader.RandomName("dat_Other");
            string dat_Shrine             = TalkingNPCsXMLReader.RandomName("dat_Shrine");
            string dat_article1           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_article2           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_noun1              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun2              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun3              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun4              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_verb1              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verb2              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verbing1           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verbing2           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verb3rd1           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verb3rd2           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verbed1            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_verbed2            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_preposition1       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_preposition2       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_adj1               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_adj2               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_Greeting           = TalkingNPCsXMLReader.RandomName("dat_Greeting");
            string dat_Language1          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language2          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language3          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Armor              = TalkingNPCsXMLReader.RandomName("dat_Armor");
            string dat_Creature1          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Creature2          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Room1              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Room2              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Furniture1         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Furniture2         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Liquid1            = TalkingNPCsXMLReader.RandomName("dat_Liquid");
            string dat_Number1            = TalkingNPCsXMLReader.RandomName("dat_Number");
            string dat_PlayingCards       = TalkingNPCsXMLReader.RandomName("dat_PlayingCards");
            string dat_MinocShop          = TalkingNPCsXMLReader.RandomName("dat_MinocShop");
            string dat_MinocShopQuestItem = TalkingNPCsXMLReader.RandomName("dat_MinocShopQuestItem");
            #endregion

            string playername = e.Mobile.Name;
            string speech     = e.Speech.ToLower();

            #region Player says "Hi"
            for (int i = 0; i < Greetings.Length; i++)
            {
                if (speech == Greetings[i])
                {
                    switch (Utility.Random(4))  //picks one of the following
                    {
                    case 0:
                    { Say(String.Format("{0}, {1} found {2}, would you like to look for something too?", dat_Greeting, dat_Creature1, dat_Armor)); break; }

                    case 1:
                    { Say(String.Format("A quest for {0} {1}?  Just say 'YES'!", dat_adj1, playername)); break; }

                    case 2:
                    { Say(String.Format("{0} I have may quest for you, do you wish to join?", playername)); break; }

                    case 3:
                    { Say(String.Format("{0}, there are so many quest, just ask for one.", playername)); break; }
                    }
                }
            }
            #endregion

            #region Play says "Yes" or some other response
            for (int i = 0; i < Response.Length; i++)
            {
                if (speech == Response[i])
                {
                    if (m_ItemHasBeenReturned == true)
                    {
                        QuestGiverItemTimer t = new QuestGiverItemTimer();
                        t.Start();

                        switch (Utility.Random(4))  //picks one of the following
                        {
                        case 0:
                        {
                            playername = char.ToUpper(playername[0]) + playername.Substring(1);
                            string TheQuest = String.Format("QUEST: ({0} Minute Limit) - {1} is searching for a {2} near the {3} in Minoc.  Find it before {4} and return it to the Quest Giver.", m_CountDown, playername, dat_MinocShopQuestItem, dat_MinocShop, playername);
                            World.Broadcast(0x35, true, TheQuest);
                            e.Mobile.SendGump(new QuestTemplate(dat_MinocShopQuestItem, TheQuest));
                            break;
                        }

                        case 1:
                        {
                            string TheQuest = String.Format("QUEST: ({0} Minute Limit) - Find the {1} near the {2} in Minoc and return it to the Quest Giver, before {3} does.", m_CountDown, dat_MinocShopQuestItem, dat_MinocShop, playername);
                            World.Broadcast(0x35, true, TheQuest);
                            e.Mobile.SendGump(new QuestTemplate(dat_MinocShopQuestItem, TheQuest));
                            break;
                        }

                        case 2:
                        {
                            string TheQuest = String.Format("QUEST: ({0} Minute Limit) - Help {1} in Minoc find the {2} near the {3}, return it to the Quest Giver.", m_CountDown, playername, dat_MinocShopQuestItem, dat_MinocShop);
                            World.Broadcast(0x35, true, TheQuest);
                            e.Mobile.SendGump(new QuestTemplate(dat_MinocShopQuestItem, TheQuest));
                            break;
                        }

                        case 3:
                        {
                            string TheQuest = String.Format("QUEST: ({0} Minute Limit) - Lost in Minoc, is a {1}.  Said to be near the {2}, {3} is seeking it out.  Are you?  Take it to the Quest Giver.", m_CountDown, dat_MinocShopQuestItem, dat_MinocShop, playername);
                            World.Broadcast(0x35, true, TheQuest);
                            e.Mobile.SendGump(new QuestTemplate(dat_MinocShopQuestItem, TheQuest));
                            break;
                        }
                        }

                        //Choose Item Location
                        #region Randomly Pick Location
                        switch (dat_MinocShop)  //picks one of the following
                        {
                        case "Warrior's Battle Gear":
                            x = 2525;
                            y = 578;
                            z = 0;
                            break;

                        case "Healing Hand":
                            x = 2576;
                            y = 603;
                            z = 0;
                            break;

                        case "Bank of Minoc":
                            x = 2505;
                            y = 560;
                            z = 0;
                            break;

                        case "The Forgery":
                            x = 2470;
                            y = 569;
                            z = 5;
                            break;

                        case "The Slaughtered Cow":
                            x = 2472;
                            y = 458;
                            z = 15;
                            break;

                        case "Gears and Gadgets":
                            x = 2472;
                            y = 458;
                            z = 15;
                            break;

                        case "The Oak Throne":
                            x = 2510;
                            y = 482;
                            z = 15;
                            break;

                        case "The Stretched Hide":
                            x = 2523;
                            y = 536;
                            z = 0;
                            break;

                        case "The Barnacle":
                            x = 2470;
                            y = 413;
                            z = 15;
                            break;

                        case "Minoc Town Hall":
                            x = 2428;
                            y = 536;
                            z = 0;
                            break;

                        case "The Mystical Lute":
                            x = 2432;
                            y = 555;
                            z = 0;
                            break;

                        case "The New World Order":
                            x = 2482;
                            y = 440;
                            z = 15;
                            break;

                        case "The Old Miners' Supplies":
                            x = 2459;
                            y = 432;
                            z = 15;
                            break;

                        case "The Golden Pick Axe":
                            x = 2500;
                            y = 440;
                            z = 0;
                            break;

                        case "The Survival Shop":
                            x = 2534;
                            y = 560;
                            z = 0;
                            break;

                        case "The Matewan":
                            x = 2459;
                            y = 492;
                            z = 15;
                            break;

                        case "Stables":
                            x = 2521;
                            y = 379;
                            z = 23;
                            break;

                        case "Counselor's Guild":
                            x = 2436;
                            y = 443;
                            z = 15;
                            break;

                        default:      //if all else fails drop item near by
                        {
                            x = Location.X + Utility.RandomMinMax(-5, 5);
                            y = Location.Y + Utility.RandomMinMax(-5, 5);
                            z = Map.GetAverageZ(x, y);
                            break;
                        }
                            #endregion
                        }

                        x = x + Utility.RandomMinMax(-5, 5);
                        y = y + Utility.RandomMinMax(-5, 5);

                        if (Map.CanFit(x, y, Location.Z, 1))
                        {
                            Item item = new OrnateAxe();
                            item.Name = dat_MinocShopQuestItem;
                            item.MoveToWorld(new Point3D(x, y, Location.Z), Map);
                            m_ItemHasBeenReturned = false;
                        }
                        else if (Map.CanFit(x, y, z, 1))
                        {
                            Item item = new OrnateAxe();
                            item.Name = dat_MinocShopQuestItem;
                            item.MoveToWorld(new Point3D(x, y, z), Map);
                            m_ItemHasBeenReturned = false;
                        }
                    }
                    else
                    {
                        e.Mobile.SendGump(new QuestTemplate(dat_MinocShopQuestItem, TheQuest));
                        Say(String.Format("The quest item has not been found. "));
                    }
                }
            }
            #endregion
        }
示例#9
0
        public override void OnMovement(Mobile m, Point3D oldLocation)
        {
            #region Here is the list of Random Words you can use
            string dat_Facet              = TalkingNPCsXMLReader.RandomName("dat_Facet");
            string dat_TownRegion         = TalkingNPCsXMLReader.RandomName("dat_TownRegion");
            string dat_DungeonRegion      = TalkingNPCsXMLReader.RandomName("dat_DungeonRegion");
            string dat_NoHousingRegion    = TalkingNPCsXMLReader.RandomName("dat_NoHousingRegion");
            string dat_Other              = TalkingNPCsXMLReader.RandomName("dat_Other");
            string dat_Shrine             = TalkingNPCsXMLReader.RandomName("dat_Shrine");
            string dat_article1           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_article2           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_noun1              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun2              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun3              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun4              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_verb1              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verb2              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verbing1           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verbing2           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verb3rd1           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verb3rd2           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verbed1            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_verbed2            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_preposition1       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_preposition2       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_adj1               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_adj2               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_Greeting           = TalkingNPCsXMLReader.RandomName("dat_Greeting");
            string dat_Language1          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language2          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language3          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Armor              = TalkingNPCsXMLReader.RandomName("dat_Armor");
            string dat_Creature1          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Creature2          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Room1              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Room2              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Furniture1         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Furniture2         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Liquid1            = TalkingNPCsXMLReader.RandomName("dat_Liquid");
            string dat_Number1            = TalkingNPCsXMLReader.RandomName("dat_Number");
            string dat_PlayingCards       = TalkingNPCsXMLReader.RandomName("dat_PlayingCards");
            string dat_MinocShop          = TalkingNPCsXMLReader.RandomName("dat_MinocShop");
            string dat_MinocShopQuestItem = TalkingNPCsXMLReader.RandomName("dat_MinocShopQuestItem");
            #endregion

            #region NPC Welcomes Player
            if (m_Talked == false)
            {
                if (m.InRange(this, 3) && m is PlayerMobile)
                {
                    switch (Utility.Random(3))  //picks one of the following
                    {
                    case 0:
                    {
                        //Sentence = ( FirstArticle + " " + FirstNoun + " " + Verb + " " + Preposition + " " + SecondArticle + " " + LastNoun + ".");
                        m.Name   = char.ToUpper(m.Name[0]) + m.Name.Substring(1);
                        Sentence = String.Format("{0} do you know where {1} is?", m.Name, dat_Shrine);
                        break;
                    }

                    case 1:
                    {
                        //Sentence = ( FirstNoun + " " + Verb + " " + Article + " " + Adjective + " " + LastNoun + ".");
                        dat_TownRegion = char.ToUpper(dat_TownRegion[0]) + dat_TownRegion.Substring(1);
                        Sentence       = String.Format("{0} is a {1} {2} who lives in {3}.", m.Name, dat_adj1, dat_noun1, dat_TownRegion);
                        break;
                    }

                    case 2:
                    {
                        //Sentence = ( First Article + " " +  FirstNoun + " could " + Verb + " " + Adjective + " " + Player + ".");
                        dat_article1 = char.ToUpper(dat_article1[0]) + dat_article1.Substring(1);
                        Sentence     = String.Format("{0} {1} could {2} {3}.", dat_article1, dat_noun1, dat_verb1, m.Name);
                        break;
                    }
                    }
                    m_Talked = true;
                    Say(Sentence, this);
                    this.Move(GetDirectionTo(m.Location));
                    StoryTellerTimer t = new StoryTellerTimer();
                    t.Start();
                }
            }
            #endregion
        }
        public override void OnMovement(Mobile m, Point3D oldLocation)
        {
            #region Here is the list of Random Words you can use
            string dat_Facet              = TalkingNPCsXMLReader.RandomName("dat_Facet");
            string dat_TownRegion         = TalkingNPCsXMLReader.RandomName("dat_TownRegion");
            string dat_DungeonRegion      = TalkingNPCsXMLReader.RandomName("dat_DungeonRegion");
            string dat_NoHousingRegion    = TalkingNPCsXMLReader.RandomName("dat_NoHousingRegion");
            string dat_Other              = TalkingNPCsXMLReader.RandomName("dat_Other");
            string dat_Shrine             = TalkingNPCsXMLReader.RandomName("dat_Shrine");
            string dat_article1           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_article2           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_noun1              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun2              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun3              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun4              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_verb1              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verb2              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verbing1           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verbing2           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verb3rd1           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verb3rd2           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verbed1            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_verbed2            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_preposition1       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_preposition2       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_adj1               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_adj2               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_Greeting           = TalkingNPCsXMLReader.RandomName("dat_Greeting");
            string dat_Language1          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language2          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language3          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Armor              = TalkingNPCsXMLReader.RandomName("dat_Armor");
            string dat_Creature1          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Creature2          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Room1              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Room2              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Furniture1         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Furniture2         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Liquid1            = TalkingNPCsXMLReader.RandomName("dat_Liquid");
            string dat_Number1            = TalkingNPCsXMLReader.RandomName("dat_Number");
            string dat_PlayingCards       = TalkingNPCsXMLReader.RandomName("dat_PlayingCards");
            string dat_MinocShop          = TalkingNPCsXMLReader.RandomName("dat_MinocShop");
            string dat_MinocShopQuestItem = TalkingNPCsXMLReader.RandomName("dat_MinocShopQuestItem");
            #endregion

            #region NPC welcomes Player
            if (m_Talked == false)
            {
                if (m.InRange(this, 3) && m is PlayerMobile)
                {
                    string Sentence = "";

                    switch (Utility.Random(3))  //picks one of the following
                    {
                    case 0:
                    {
                        //Sentence = Welcome Player
                        m.Name   = char.ToUpper(m.Name[0]) + m.Name.Substring(1);
                        Sentence = String.Format(" {0} {1}", dat_Greeting, m.Name);
                        break;
                    }

                    case 1:
                    {
                        //Sentence = Player do you know where Shrine is?
                        Sentence = String.Format("{0} do you know where {1} is?", m.Name, dat_Shrine);
                        break;
                    }

                    case 2:
                    {
                        //Sentence = Player have you visisted Town?
                        Sentence = String.Format("{0} have you visisted {1}?", m.Name, dat_noun1);
                        break;
                    }
                    }
                    m_Talked = true;
                    Say(Sentence, this);
                    this.Move(GetDirectionTo(m.Location));
                    ConversationalistTimer t = new ConversationalistTimer();
                    t.Start();
                }
            }
            #endregion
        }
        public override void OnSpeech(SpeechEventArgs e)
        {
            #region Here is the list of Random Words you can use
            string dat_Facet              = TalkingNPCsXMLReader.RandomName("dat_Facet");
            string dat_TownRegion         = TalkingNPCsXMLReader.RandomName("dat_TownRegion");
            string dat_DungeonRegion      = TalkingNPCsXMLReader.RandomName("dat_DungeonRegion");
            string dat_NoHousingRegion    = TalkingNPCsXMLReader.RandomName("dat_NoHousingRegion");
            string dat_Other              = TalkingNPCsXMLReader.RandomName("dat_Other");
            string dat_Shrine             = TalkingNPCsXMLReader.RandomName("dat_Shrine");
            string dat_article1           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_article2           = TalkingNPCsXMLReader.RandomName("dat_article");
            string dat_noun1              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun2              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun3              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_noun4              = TalkingNPCsXMLReader.RandomName("dat_noun");
            string dat_verb1              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verb2              = TalkingNPCsXMLReader.RandomName("dat_verb");
            string dat_verbing1           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verbing2           = TalkingNPCsXMLReader.RandomName("dat_verbing");
            string dat_verb3rd1           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verb3rd2           = TalkingNPCsXMLReader.RandomName("dat_verb3rd");
            string dat_verbed1            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_verbed2            = TalkingNPCsXMLReader.RandomName("dat_verbed");
            string dat_preposition1       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_preposition2       = TalkingNPCsXMLReader.RandomName("dat_preposition");
            string dat_adj1               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_adj2               = TalkingNPCsXMLReader.RandomName("dat_adj");
            string dat_Greeting           = TalkingNPCsXMLReader.RandomName("dat_Greeting");
            string dat_Language1          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language2          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Language3          = TalkingNPCsXMLReader.RandomName("dat_Language");
            string dat_Armor              = TalkingNPCsXMLReader.RandomName("dat_Armor");
            string dat_Creature1          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Creature2          = TalkingNPCsXMLReader.RandomName("dat_Creature");
            string dat_Room1              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Room2              = TalkingNPCsXMLReader.RandomName("dat_Room");
            string dat_Furniture1         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Furniture2         = TalkingNPCsXMLReader.RandomName("dat_Furniture");
            string dat_Liquid1            = TalkingNPCsXMLReader.RandomName("dat_Liquid");
            string dat_Number1            = TalkingNPCsXMLReader.RandomName("dat_Number");
            string dat_PlayingCards       = TalkingNPCsXMLReader.RandomName("dat_PlayingCards");
            string dat_MinocShop          = TalkingNPCsXMLReader.RandomName("dat_MinocShop");
            string dat_MinocShopQuestItem = TalkingNPCsXMLReader.RandomName("dat_MinocShopQuestItem");
            #endregion

            //Mobile pm = (Mobile)e;
            string speech = e.Speech.ToLower();
            //string ArmorName = "";
            //int x;
            //int y;
            //int z;

            #region Player says "Hi"
            for (int i = 0; i < Greetings.Length; i++)
            {
                if (speech == Greetings[i])
                {
                    switch (Utility.Random(6))  //picks one of the following
                    {
                    case 0:
                    { Say(String.Format("{0} do you know where {1} is?", e.Mobile.Name, dat_Shrine)); break; }

                    case 1:
                    { Say(String.Format("{0} do you know where {1}s are?", e.Mobile.Name, dat_noun1)); break; }

                    case 2:
                    { Say(String.Format("{0} have you visisted {1}?", e.Mobile.Name, dat_noun1)); break; }

                    case 3:
                    { Say(String.Format("{0} do you know where I can find {0}?", e.Mobile.Name, dat_Armor)); break; }

                    case 4:
                    { Say(String.Format("{0} do you need some armor?", e.Mobile.Name, dat_Armor)); break; }
                    }
                }
            }
            #endregion

            #region Play says "Yes"
            if (speech == "yes")
            {
                switch (Utility.Random(3))  //picks one of the following
                {
                case 0:
                    //Player did you go to Yew Cave and find fuzzy orcs?
                { Say(String.Format("{0} did you go to {1} and find {2} {3}?", e.Mobile.Name, dat_Other, dat_article1, dat_noun1)); break; }

                case 1:
                    //Player when you go to Yew did you see any fuzzy orcs.
                { Say(String.Format("{0} when you go to {1}, did you see any {2} {3}", e.Mobile.Name, dat_TownRegion, dat_article1, dat_noun1)); break; }

                case 2:
                    //Do you think fuzzy orcs live near Britain Graveyard
                { Say(String.Format("Do you think {0} {1}s and {2}s live near {3}'?", dat_adj1, dat_noun1, dat_noun2, dat_DungeonRegion)); break; }
                }
            }
            #endregion

            #region Play says "No"
            if (speech == "no")
            {
                switch (Utility.Random(3))  //picks one of the following
                {
                case 0:
                    //Player watch out for fuzzy orcs saying "Hi".
                { Say(String.Format("{0}, watch out for {1} {2} saying, '{3}'.", e.Mobile.Name, dat_adj1, dat_noun1, dat_Greeting)); break; }

                case 1:
                { Say(String.Format("Can you help me find {0} near {1}?", dat_Armor, dat_DungeonRegion)); break; }

                case 2:
                { Say(String.Format("Have you been able to {0} a {1}?", dat_verb1, dat_Creature1)); break; }
                }
            }
            #endregion

            #region Player says "What"
            for (int i = 0; i < What.Length; i++)
            {
                if (speech == What[i])
                {
                    switch (Utility.Random(3))  //picks one of the following
                    {
                    case 0:
                    {        //Sentence = Player is a little ocr who lives in Minoc
                        dat_article1 = char.ToUpper(dat_article1[0]) + dat_article1.Substring(1);
                        Say(String.Format("{0} is a {1} {2} who lives in {3}.", e.Mobile.Name, dat_adj1, dat_noun1, dat_TownRegion));
                        break;
                    }

                    case 1:
                    {        //Sentence = A orc could beat player
                        dat_article1 = char.ToUpper(dat_article1[0]) + dat_article1.Substring(1);
                        Say(String.Format("{0} {1} could {2} {3}.", dat_article1, dat_noun1, dat_verb1, e.Mobile.Name));
                        break;
                    }

                    case 2:
                    {        //Sentence = I over heard Player say, "asdf asdf asd"  to a orc
                        dat_article1 = char.ToUpper(dat_article1[0]) + dat_article1.Substring(1);
                        Say(String.Format("I over heard {0} say, '{1} {2} {3}' to a {4}.", e.Mobile.Name, dat_Language1, dat_Language2, dat_Language3, dat_Creature1));
                        break;
                    }
                    }
                }
            }
            #endregion

            //#region Player says "Armor"
            //for (int i = 0; i < Armor.Length; i++)
            //    if (speech == Armor[i])
            //    {
            //        switch (Utility.Random(7))  //picks one of the following
            //        {
            //            //Leather Chest,Leather Gloves,Leather Gorget,Leather Legs,Leather Shorts,Leather Skirt,Leather Cap
            //            case 0: { pm.DropItem(new LeatherChest()); ArmorName = "Leather Chest"; break; }
            //            case 1: { Item item = new LeatherGloves(); ArmorName = "Leather Gloves"; break; }
            //            case 2: { Item item = new LeatherGloves(); ArmorName = "Leather Gorget"; break; }
            //            case 3: { Item item = new LeatherLegs(); ArmorName = "Leather Legs"; break; }
            //            case 4: { Item item = new LeatherShorts(); ArmorName = "Leather Shorts"; break; }
            //            case 5: { Item item = new LeatherSkirt(); ArmorName = "Leather Skirt"; break; }
            //            case 6: { Item item = new LeatherCap(); ArmorName = "Leather Cap"; break; }
            //        }

            //        switch (Utility.Random(4))  //picks one of the following
            //        {
            //            case 0:
            //                { Say(String.Format("Try this {0}, it will {1} a {2} {3}.", ArmorName, dat_verb1, dat_adj1, dat_Creature1)); break; }
            //            case 1:
            //                { Say(String.Format("Let my find a {0} piece of leather.", dat_adj1)); break; }
            //            case 2:
            //                { Say(String.Format("{0} is the best I have {1}", ArmorName, e.Mobile.Name)); break; }
            //            case 3:
            //                { Say(String.Format("Take my {0}, it will help against {1} and {2}.", ArmorName, dat_Creature1, dat_Creature2)); break; }
            //        }
            //    }
            //#endregion
        }