public async Task LowerItemsById() { await RetainerRoutine.ReadRetainers(PullListItems); await Coroutine.Sleep(1000); foreach (var slot in InventoryManager.FilledSlots.Where(i => i.IsHighQuality && ItemsToLower.Contains(i.RawItemId))) { RetainerRoutine.LogLoud($"Lowering {slot}"); slot.LowerQuality(); await Coroutine.Sleep(1000); } await Coroutine.Sleep(1000); await RetainerRoutine.ReadRetainers(RetainerRoutine.DumpItems()); }
internal static async Task DumpItemsByCategories(ItemUiCategory[] categories) { var myItems = InventoryManager.FilledSlots.Where(i => categories.Contains(i.Item.EquipmentCatagory) && i.Item.MyItemRole() != MyItemRole.Map); foreach (var slot in myItems) { if (InventoryManager.GetBagsByInventoryBagId(RetainerBagIds).FirstOrDefault(i => i.FreeSlots > 1) != null) { RetainerRoutine.LogLoud($"Want to move DUMP {slot} - {slot.Count}"); slot.Move(InventoryManager.GetBagsByInventoryBagId(RetainerBagIds).First(i => i.FreeSlots > 1).GetFirstFreeSlot()); //slot.RetainerEntrustQuantity((int) slot.Count); await Coroutine.Sleep(700); } else { RetainerRoutine.LogLoud($"Not Enough room in retainer"); } } await RetainerRoutine.DumpItems(); }