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 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 }