public bool CheckQuest(PlayerMobile player)
        {
            for (int i = 0; i < _Quests.Length; i++)
            {
                BaseQuest quest = null;

                for (var index = 0; index < player.Quests.Count; index++)
                {
                    var q = player.Quests[index];

                    if (q.GetType() == _Quests[i])
                    {
                        quest = q;
                        break;
                    }
                }

                if (quest != null)
                {
                    if (quest.Completed)
                    {
                        if (quest.GetType() != typeof(TeachingSomethingNewQuest))
                        {
                            quest.GiveRewards();
                        }
                        else
                        {
                            player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.Complete, false, true));
                        }

                        return(true);
                    }

                    player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.InProgress, false));
                    quest.InProgress();

                    return(false);
                }
            }

            BaseQuest questt = new TamingPetQuest
            {
                Owner   = player,
                Quester = this
            };

            player.CloseGump(typeof(MondainQuestGump));
            player.SendGump(new MondainQuestGump(questt));

            return(true);
        }
        public override void OnDoubleClick(Mobile m)
        {
            if (PetTrainingHelper.Enabled && m is PlayerMobile && m.InRange(Location, 5))
            {
                var player = m as PlayerMobile;

                for (int i = 0; i < _Quests.Length; i++)
                {
                    var quest = player.Quests.FirstOrDefault(q => q.GetType() == _Quests[i]);

                    if (quest != null)
                    {
                        if (quest.Completed)
                        {
                            if (quest.GetType() != typeof(TeachingSomethingNewQuest))
                            {
                                quest.GiveRewards();
                            }
                            else
                            {
                                player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.Complete, false, true));
                            }
                        }

                        else
                        {
                            player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.InProgress, false));
                            quest.InProgress();
                        }

                        return;
                    }
                }

                BaseQuest questt = new TamingPetQuest();
                questt.Owner   = player;
                questt.Quester = this;
                player.CloseGump(typeof(MondainQuestGump));
                player.SendGump(new MondainQuestGump(questt));
            }
        }
Exemple #3
0
        public bool CheckQuest(PlayerMobile player)
        {
            for (int i = 0; i < _Quests.Length; i++)
            {
                BaseQuest quest = player.Quests.FirstOrDefault(q => q.GetType() == _Quests[i]);

                if (quest != null)
                {
                    if (quest.Completed)
                    {
                        if (quest.GetType() != typeof(TeachingSomethingNewQuest))
                        {
                            quest.GiveRewards();
                        }
                        else
                        {
                            player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.Complete, false, true));
                        }

                        return(true);
                    }
                    else
                    {
                        player.SendGump(new MondainQuestGump(quest, MondainQuestGump.Section.InProgress, false));
                        quest.InProgress();
                    }

                    return(false);
                }
            }

            BaseQuest questt = new TamingPetQuest();

            questt.Owner   = player;
            questt.Quester = this;
            player.CloseGump(typeof(MondainQuestGump));
            player.SendGump(new MondainQuestGump(questt));

            return(true);
        }