Beispiel #1
0
        private static void AnswerOnNpcQuestion(ZoneCharacter character, byte answer)
        {
            NPC     npc = (character.Question.Object as NPC);
            MobInfo mob = DataProvider.Instance.GetMobInfo(npc.ID);
            string  NpcFunction;

            DataProvider.Instance.ShineNpcTable.TryGetValue(mob.Name + "\t" + npc.Map.MapInfo.ShortName + "\t" + npc.Position.X + "\t" + npc.Position.Y, out NpcFunction);
            if (NpcFunction != null)
            {
                switch (answer)
                {
                case 0: break;

                case 1:
                    if (NpcFunction.Split('\t')[1] == "1" && NpcFunction.Split('\t')[2] == "Merchant" && NpcFunction.Split('\t')[3] == "SoulStone")
                    {
                        SendSellHPSP(character);
                    }
                    else if (NpcFunction.Split('\t')[1] == "1" && NpcFunction.Split('\t')[2] == "Merchant" && NpcFunction.Split('\t')[3] == "Item")
                    {
                        SendSellItems(character, mob.Name);
                    }
                    break;

                default:
                    Log.WriteLine(LogLevel.Warn, "Invalid gate question response.");
                    break;
                }
            }
            else
            {
                Log.WriteLine(LogLevel.Error, "NpcHandler :: Can not find NpcAction for {0} on M: {1}", mob.Name, npc.Map.MapInfo.FullName);
            }
        }