public void WriteItems(LogicObjects.LogicEntry entry) { LBItemSelect.ItemHeight = Convert.ToInt32(LogicObjects.MainTrackerInstance.Options.FormFont.Size * 1.7); var UsedLogic = Instance.Logic; var options = Instance.Options; LBItemSelect.Items.Clear(); List <string> Duplicates = new List <string>(); for (var i = 0; i < UsedLogic.Count; i++) { var ItemName = UsedLogic[i].ProgressiveItemName(LogicObjects.MainTrackerInstance); UsedLogic[i].DisplayName = ItemName; if ((!UsedLogic[i].IsFake) && ((UsedLogic[i].GetItemsNewLocation(UsedLogic) == null && !UsedLogic[i].Aquired) || Instance.Options.IsMultiWorld || !options.RemoveObtainedItemsfromList) && (!UsedLogic[i].Unrandomized(2)) && !Duplicates.Contains(ItemName) && UsedLogic[i].ItemName != null && Utility.FilterSearch(UsedLogic[i], TXTSearch.Text, UsedLogic[i].DisplayName) && (entry.ItemSubType == UsedLogic[i].ItemSubType || (entry.IsEntrance() && UsedLogic[i].IsEntrance()) || entry.ItemSubType == "ALL")) { LBItemSelect.Items.Add(UsedLogic[i]); Duplicates.Add(ItemName); } } }
public static bool ItemBelongsToMe(this LogicObjects.LogicEntry entry) { if (!LogicObjects.MainTrackerInstance.Options.IsMultiWorld) { return(true); } if (entry.IsEntrance()) { return(true); } return(entry.PlayerData.ItemBelongedToPlayer == -1 || entry.PlayerData.ItemBelongedToPlayer == LogicObjects.MainTrackerInstance.Options.MyPlayerID); }
public static bool EntranceConnectionValid(LogicObjects.LogicEntry x, LogicObjects.LogicEntry ExitToCheck, LogicObjects.TrackerInstance lt) { return(x.Available && !x.IsFake && !x.IsWarpSong() && (x.IsEntrance() || lt.Options.IncludeItemLocations)); }