private void CreateBagListFromRulesTwo() { foreach (var rule in RuleList) { BagList.Add(BagMakerTwo(rule)); } }
private void ProcessEvalList() { // Get the index from the list if (EvalList.Count > 0) { Counter++; int index = EvalList.Dequeue(); // Get the bag Bag bag = BagList[index]; // enqueue the bag's contents' indices to the EvalList as many times as stated in the rule foreach (var item in bag.Containers) { if (item != "no other bag") { int amt = Int32.Parse(item[0].ToString()); string word = item.Trim('1', '2', '3', '4', '5', '6', ' '); for (int i = 0; i < amt; i++) { Bag thing = BagList.Where(x => x.Name == word).FirstOrDefault(); EvalList.Enqueue(BagList.IndexOf(BagList.Where(x => x.Name == word).FirstOrDefault())); } } } } }
private void ClearProperties() { RuleList.Clear(); BagList.Clear(); NodeList.Clear(); ChildList.Clear(); }
public override void displayPlayer(PlayerInfo _pInfo) { string output = ""; output += new ClientInfoList(_pInfo, _options).DisplayShort(_sep); output += _sep; output += new BagList(_pInfo, _options).Display(_sep); SendOutput(output); }
private void InitBagInfo() { BagList.Items.Clear(); EquipList.Items.Clear(); this.BagList.BeginUpdate(); this.EquipList.BeginUpdate(); RepeatedField <BagItem> bags = player.Bags.Bag; for (int i = 0; i < bags.Count; i++) { ListViewItem item = new ListViewItem(); //imgList.Images.Add(Image.FromFile(dicId2File[bags[i].ItemID])); if (!dicId2File.ContainsKey(bags[i].ItemID)) { continue; } item.Text = Path.GetFileNameWithoutExtension(dicId2File[bags[i].ItemID]) + ":" + bags[i].Count; item.ImageIndex = bags[i].ItemID; BagList.Items.Add(item); } BagList.LargeImageList = imgList; BagList.Show(); RepeatedField <EquipItem> equips = player.Bags.Equipment; for (int i = 0; i < equips.Count; i++) { ListViewItem item = new ListViewItem(); //imgList.Images.Add(Image.FromFile(dicId2File[bags[i].ItemID])); if (!dicId2File.ContainsKey(equips[i].ItemID)) { continue; } item.Text = Path.GetFileNameWithoutExtension(dicId2File[equips[i].ItemID]) + ":" + equips[i].Count; item.ImageIndex = equips[i].ItemID; EquipList.Items.Add(item); } EquipList.LargeImageList = imgList; EquipList.Show(); this.BagList.EndUpdate(); this.EquipList.EndUpdate(); }
public override void displayPlayer(PlayerInfo _pInfo) { string output = ""; output += new ClientInfoList(_pInfo, _options).Display(_sep); output += _sep; output += new StatsList(_pInfo, _options).Display(_sep); output += _sep; output += new BuffList(_pInfo, _options).Display(_sep); output += _sep; output += new SkillList(_pInfo, _options).Display(_sep); output += _sep; output += new QuestList(_pInfo, _options).Display(_sep); output += _sep; output += new SpawnpointList(_pInfo, _options).Display(_sep); output += _sep; output += new WaypointList(_pInfo, _options).Display(_sep); output += _sep; output += new FavoriteRecipeList(_pInfo, _options).Display(_sep); output += _sep; output += new UnlockedRecipeList(_pInfo, _options).Display(_sep); output += _sep; output += new CraftingQueue(_pInfo, _options).Display(_sep); output += _sep; output += new ToolbeltList(_pInfo, _options).Display(_sep); output += _sep; output += new EquipmentList(_pInfo, _options).Display(_sep); output += _sep; output += new BagList(_pInfo, _options).Display(_sep); output += _sep; // todo: // friends // tracked friends // _pdf.trackedFriendEntityIds //List<int> // claims (_ppd.LPBlocks) // list owned storage containers and doors for the players SendOutput(output); }
public void CheckForItems() { //Added to Make sure our list matches what we are looking for. LoadList(ItemName, _removeListPath); LoadList(BagList, _bagListPath); // NB: Since we will be modifying the Me.BagItems list indirectly through WoWclient directives, // we can't use it as our iterator--we must make a copy, instead. List <WoWItem> itemsToVisit = Me.BagItems.ToList(); var groups = itemsToVisit.GroupBy(v => v); foreach (var group in groups) { Dlog("Value {0} has {1} items", group.Key, group.Count()); } foreach (WoWItem item in itemsToVisit) { if (!item.IsValid) { continue; } bool isQuestItem = IsQuestItem(item); if (BagList.Contains(item.Name)) { Slog("{0} is a bag, ignoring.", item.Name); return; } if (OpnList.Contains(item.Name) && item.IsOpenable && MrItemRemover2Settings.Instance.EnableOpen == "True") { Slog("{0} can be opened. Opening.", item.Name); Lua.DoString("UseItemByName(\"" + item.Name + "\")"); } if (OpnList.Contains(item.Name) && item.StackCount == 1) { Slog("{0} can be combined, so we're combining it.", item.Name); Lua.DoString("UseItemByName(\"" + item.Name + "\")"); } if (Combine3List.Contains(item.Name) && item.StackCount >= 3) { uint timesToUse = (uint)(Math.Floor((double)(item.StackCount / 3))); Slog("{0} can be combined {1} times, so we're combining it.", item.Name, timesToUse); for (uint timesUsed = 0; timesUsed < timesToUse; timesUsed++) { Lua.DoString("UseItemByName(\"" + item.Name + "\")"); Thread.Sleep(SpellManager.GlobalCooldownLeft); } } if (Combine5List.Contains(item.Name) && item.StackCount >= 5) { uint timesToUse = (uint)(Math.Floor((double)(item.StackCount / 5))); Slog("{0} can be combined {1} times, so we're combining it.", item.Name, timesToUse); for (uint timesUsed = 0; timesUsed < timesToUse; timesUsed++) { Lua.DoString("UseItemByName(\"" + item.Name + "\")"); Thread.Sleep(SpellManager.GlobalCooldownLeft); } } if (Combine10List.Contains(item.Name) && item.StackCount >= 10) { uint timesToUse = (uint)(Math.Floor((double)(item.StackCount / 10))); Slog("{0} can be combined {1} times, so we're combining it.", item.Name, timesToUse); for (uint timesUsed = 0; timesUsed < timesToUse; timesUsed++) { Lua.DoString("UseItemByName(\"" + item.Name + "\")"); Thread.Sleep(SpellManager.GlobalCooldownLeft); } } if (MrItemRemover2Settings.Instance.EnableRemove == "True" && MrItemRemover2Settings.Instance.RemoveFood == "True") { if (!KeepList.Contains(item.Name) && FoodList.Contains(item.Name)) { Slog("{0} was in the Food List and We want to Remove Food. Removing.", item.Name); Lua.DoString("ClearCursor()"); item.PickUp(); Lua.DoString("DeleteCursorItem()"); } } if (MrItemRemover2Settings.Instance.EnableRemove == "True" && MrItemRemover2Settings.Instance.RemoveDrinks == "True") { if (!KeepList.Contains(item.Name) && DrinkList.Contains(item.Name)) { Slog("{0} was in the Drink List and We want to Remove Drinks. Removing.", item.Name); Lua.DoString("ClearCursor()"); item.PickUp(); Lua.DoString("DeleteCursorItem()"); } } //if item name Matches whats in the text file / the internal list (after load) if (ItemName.Contains(item.Name) && !KeepList.Contains(item.Name)) { //probally not needed, but still user could be messing with thier inventory. //Printing to the log, and Deleting the Item. Slog("{0} Found Removing Item", item.Name); item.PickUp(); Lua.DoString("DeleteCursorItem()"); //a small Sleep, might not be needed. } if (MrItemRemover2Settings.Instance.DeleteQuestItems == "True" && item.ItemInfo.BeginQuestId != 0 && !KeepList.Contains(item.Name)) { Slog("{0}'s Began a Quest. Removing", item.Name); item.PickUp(); Lua.DoString("DeleteCursorItem()"); } string goldString = MrItemRemover2Settings.Instance.GoldGrays.ToString(CultureInfo.InvariantCulture); int goldValue = goldString.ToInt32() * 10000; string silverString = MrItemRemover2Settings.Instance.SilverGrays.ToString(CultureInfo.InvariantCulture); int silverValue = silverString.ToInt32() * 100; string copperString = MrItemRemover2Settings.Instance.CopperGrays.ToString(CultureInfo.InvariantCulture); int copperValue = copperString.ToInt32(); if (((MrItemRemover2Settings.Instance.DeleteAllGray == "True" && item.Quality == WoWItemQuality.Poor && item.ItemInfo.SellPrice <= (goldValue + silverValue + copperValue)) || (MrItemRemover2Settings.Instance.DeleteAllWhite == "True" && item.Quality == WoWItemQuality.Common) || (MrItemRemover2Settings.Instance.DeleteAllGreen == "True" && item.Quality == WoWItemQuality.Uncommon) || (MrItemRemover2Settings.Instance.DeleteAllBlue == "True" && item.Quality == WoWItemQuality.Rare)) && (item.BagSlot != -1 && !isQuestItem && !KeepList.Contains(item.Name) && !BagList.Contains(item.Name) && (ItemName.Contains(item.Name)))) { switch (item.Quality) { case WoWItemQuality.Poor: Slog("{0}'s Item Quality was {1} and only worth {2} copper. Removing.", item.Name, WoWItemQuality.Poor, item.ItemInfo.SellPrice); break; case WoWItemQuality.Common: Slog("{0}'s Item Quality was {1}. Removing.", item.Name, WoWItemQuality.Common); break; case WoWItemQuality.Uncommon: Slog("{0}'s Item Quality was {1}. Removing.", item.Name, WoWItemQuality.Uncommon); break; case WoWItemQuality.Rare: Slog("{0}'s Item Quality was {1}. Removing.", item.Name, WoWItemQuality.Rare); break; } Lua.DoString("ClearCursor()"); item.PickUp(); Lua.DoString("DeleteCursorItem()"); } } }
// Add how many boxes? //foreach(string item in newRuleList) //{ // string thing = item.Trim(trimCharsHhTwo); // int amount = int.Parse(thing[0].ToString()); // for(int i = 1; i<= amount; i++) // { // formattedRuleList.Add(item.Trim(trimCharsHhTwo)); // } //} private int GetBagIndex(string bag) { return(BagList.IndexOf(BagList.Where(x => x.Name == bag).FirstOrDefault())); }
private List <Bag> GetParentBagsByChild(string child) { return(BagList.Where(x => x.Containers.Contains(child)).ToList()); }
public void CheckForItems() { //Added to Make sure our list matches what we are looking for. LoadList(ItemName, _removeListPath); LoadList(BagList, _bagListPath); // NB: Since we will be modifying the Me.BagItems list indirectly through WoWclient directives, // we can't use it as our iterator--we must make a copy, instead. List <WoWItem> itemsToVisit = Me.BagItems.ToList(); foreach (WoWItem item in itemsToVisit) { if (!item.IsValid) { continue; } bool isQuestItem = IsQuestItem(item); if (BagList.Contains(item.Name)) { Slog("{0} is a bag, ignoring.", item.Name); return; } if (OpnList.Contains(item.Name) && item.IsOpenable && MrItemRemover2Settings.Instance.EnableOpen == "True") { Slog("{0} can be used/opened. Using/Opening.", item.Name); Lua.DoString("UseItemByName(\"" + item.Name + "\")"); } if (Combine3List.Contains(item.Name) && item.StackCount >= 3) { Slog("{0} can be combined, so we're combining it.", item.Name); Lua.DoString("UseItemByName(\"" + item.Name + "\")"); } if (Combine5List.Contains(item.Name) && item.StackCount >= 5) { Slog("{0} can be combined, so we're combining it.", item.Name); Lua.DoString("UseItemByName(\"" + item.Name + "\")"); } if (Combine10List.Contains(item.Name) && item.StackCount >= 10) { Slog("{0} can be combined, so we're combining it.", item.Name); Lua.DoString("UseItemByName(\"" + item.Name + "\")"); } if (MrItemRemover2Settings.Instance.EnableRemove == "True" && MrItemRemover2Settings.Instance.RemoveFood == "True") { if (!KeepList.Contains(item.Name) && FoodList.Contains(item.Name)) { Slog("{0} was in the Food List and We want to Remove Food. Removing.", item.Name, item.ItemInfo.SellPrice); Lua.DoString("ClearCursor()"); item.PickUp(); Lua.DoString("DeleteCursorItem()"); } } if (MrItemRemover2Settings.Instance.EnableRemove == "True" && MrItemRemover2Settings.Instance.RemoveDrinks == "True") { if (!KeepList.Contains(item.Name) && DrinkList.Contains(item.Name)) { Slog("{0} was in the Drink List and We want to Remove Drinks. Removing.", item.Name, item.ItemInfo.SellPrice); Lua.DoString("ClearCursor()"); item.PickUp(); Lua.DoString("DeleteCursorItem()"); } } //if item name Matches whats in the text file / the internal list (after load) if (ItemName.Contains(item.Name) && !KeepList.Contains(item.Name)) { //probally not needed, but still user could be messing with thier inventory. //Printing to the log, and Deleting the Item. Slog("{0} Found Removing Item", item.Name); item.PickUp(); Lua.DoString("DeleteCursorItem()"); //a small Sleep, might not be needed. } if (MrItemRemover2Settings.Instance.DeleteQuestItems == "True" && item.ItemInfo.BeginQuestId != 0 && !KeepList.Contains(item.Name)) { Slog("{0}'s Began a Quest. Removing", item.Name); item.PickUp(); Lua.DoString("DeleteCursorItem()"); } if ((MrItemRemover2Settings.Instance.DeleteAllGray == "True" && item.Quality == WoWItemQuality.Poor) || (MrItemRemover2Settings.Instance.DeleteAllWhite == "True" && item.Quality == WoWItemQuality.Common) || (MrItemRemover2Settings.Instance.DeleteAllGreen == "True" && item.Quality == WoWItemQuality.Uncommon) || (MrItemRemover2Settings.Instance.DeleteAllBlue == "True" && item.Quality == WoWItemQuality.Rare)) { } //Process all Gray Items if enabled. if (MrItemRemover2Settings.Instance.DeleteAllGray == "True" && item.Quality == WoWItemQuality.Poor) { //Gold Format, goes in GXX SXX CXX string goldString = MrItemRemover2Settings.Instance.GoldGrays.ToString(CultureInfo.InvariantCulture); int goldValue = goldString.ToInt32() * 10000; string silverString = MrItemRemover2Settings.Instance.SilverGrays.ToString(CultureInfo.InvariantCulture); int silverValue = silverString.ToInt32() * 100; string copperString = MrItemRemover2Settings.Instance.CopperGrays.ToString(CultureInfo.InvariantCulture); int copperValue = copperString.ToInt32(); if (item.BagSlot != -1 && !isQuestItem && item.ItemInfo.SellPrice <= (goldValue + silverValue + copperValue) && !KeepList.Contains(item.Name) && !BagList.Contains(item.Name)) { Slog("{0}'s Item Quality was Poor and only worth {1} copper. Removing.", item.Name, item.ItemInfo.SellPrice); Lua.DoString("ClearCursor()"); item.PickUp(); Lua.DoString("DeleteCursorItem()"); } } //Process all White Items if enabled. if (MrItemRemover2Settings.Instance.DeleteAllWhite == "True" && item.Quality == WoWItemQuality.Common) { if (item.BagSlot != -1 && !isQuestItem && !KeepList.Contains(item.Name) && !BagList.Contains(item.Name) && !FoodList.Contains(item.Name) && !DrinkList.Contains(item.Name)) { Slog("{0}'s Item Quality was Common. Removing.", item.Name); Lua.DoString("ClearCursor()"); item.PickUp(); Lua.DoString("DeleteCursorItem()"); } } //Process all Green Items if enabled. if (MrItemRemover2Settings.Instance.DeleteAllGreen == "True" && item.Quality == WoWItemQuality.Uncommon) { if (item.BagSlot != -1 && !isQuestItem && !KeepList.Contains(item.Name) && !BagList.Contains(item.Name)) { Slog("{0}'s Item Quality was Uncommon. Removing.", item.Name); Lua.DoString("ClearCursor()"); item.PickUp(); Lua.DoString("DeleteCursorItem()"); } } //Process all Blue Items if enabled. if (MrItemRemover2Settings.Instance.DeleteAllBlue == "True" && item.Quality == WoWItemQuality.Rare) { if (item.BagSlot != -1 && !isQuestItem && !KeepList.Contains(item.Name) && !BagList.Contains(item.Name)) { Slog("{0}'s Item Quality was Rare. Removing.", item.Name); Lua.DoString("ClearCursor()"); item.PickUp(); Lua.DoString("DeleteCursorItem()"); } } } }