private void CheckOwnerFlag() { if (Owner != null && !Owner.Deleted) { // need to check to see if any other questtoken items are owned // search the Owners top level pack for an xmlquest List <Item> list = XmlQuest.FindXmlQuest(Owner); if (list == null || list.Count == 0) { // if none remain then flag the ower as having none Owner.SetFlag(XmlQuest.CarriedXmlQuestFlag, false); } } }
private List <QuestStringHolder> FilteredHolders(string search, bool active, bool completed, bool notstarted, bool basequests, bool questsystems) { List <QuestStringHolder> holders = new List <QuestStringHolder>(); if (search.Length > 0) { foreach (var quest in Quests.QuestHolders) { if (!holders.Contains(quest) && (Insensitive.Contains(quest.Description, search) || Insensitive.Contains(quest.Name, search) || (quest.MobileName != null && Insensitive.Contains(quest.MobileName, search)))) { holders.Add(quest); } } } else { holders = Quests.QuestHolders; } List <QuestStringHolder> playerHolders = new List <QuestStringHolder>(); if (!active || !completed || !notstarted) { if (active) { foreach (var quest in holders) { if (!playerHolders.Contains(quest) && IsActiveQuest(mPlayer, quest)) { playerHolders.Add(quest); } } } if (completed) { foreach (var quest in holders) { if (!playerHolders.Contains(quest) && IsCompletedQuest(mPlayer, quest)) { playerHolders.Add(quest); } } } if (notstarted) { foreach (var quest in holders) { if (!playerHolders.Contains(quest) && (!IsActiveQuest(mPlayer, quest) && !IsCompletedQuest(mPlayer, quest))) { playerHolders.Add(quest); } } } } else { playerHolders = holders; } holders = new List <QuestStringHolder>(); if (basequests) { foreach (var quest in playerHolders) { if (!holders.Contains(quest) && quest.QuestType == "Base") { holders.Add(quest); } } } if (questsystems) { foreach (var quest in playerHolders) { if (!holders.Contains(quest) && quest.QuestType == "System") { holders.Add(quest); } } } if (active) { List <Item> items = XmlQuest.FindXmlQuest(mPlayer); if (items != null && items.Count > 0) { foreach (var item in items) { if (item is XmlQuestHolder) { XmlQuestHolder xml = (XmlQuestHolder)item; holders.Add(new QuestStringHolder(xml.GetType(), xml.Name, xml.Description1, "XML", "Xml", xml.Objective1)); } } } } return(holders); }