protected bool Equals(Rate rate) { return(RateOut.Equals(rate.RateOut) && RateIn.Equals(rate.RateIn) && Transmute.Equals(rate.Transmute) && Played.Equals(rate.Played)); }
public override async Task <bool> MainTask() { if (Items == null || !Items.Any()) { Core.Logger.Error("[TransmuteTag] No items were specified. Use: <Transmute recipe=\"UpgradeRareItem\"><Items><Item id=\"0\" quantity =\"0\" /></Items></Transmute>"); return(true); } if (!GameUI.KanaisCubeWindow.IsVisible) { Core.Logger.Error("[TransmuteTag] Kanai's Cube window must be visible"); return(true); } if (Recipe == 0) { Core.Logger.Error("[TransmuteTag] You must specifiy a recipe to use: <Transmute recipe=\"UpgradeRareItem\"... valid values are: ConvertCraftingMaterialsFromRare, AugmentAncientItem, ConvertGems, RemoveLevelRequirement, ConvertCraftingMaterialsFromMagic, ExtractLegendaryPower, OpenPortalToCow, OpenPortalToGreed, ConvertCraftingMaterialsFromNormal, ConvertSetItem, ReforgeLegendary, UpgradeRareItem"); return(true); } var transmuteGroup = new List <TrinityItem>(); foreach (var item in Items) { var backpackItems = Core.Inventory.Backpack.ByActorSno(item.Id); if (backpackItems == null || !backpackItems.Any()) { if (item.Quality != TrinityItemQuality.Invalid) { backpackItems = Core.Inventory.Backpack.ByQuality(item.Quality); } if (backpackItems == null || !backpackItems.Any()) { Core.Logger.Error($"[TransmuteTag] {item} was not found in backpack"); return(true); } } var stacks = Core.Inventory.GetStacksUpToQuantity(backpackItems, item.Quantity); transmuteGroup.AddRange(stacks); } if (!await Transmute.Execute(transmuteGroup, Recipe)) { Core.Logger.Error("[TransmuteTag] Trasmute Failed."); return(true); } return(true); }
public async Task <bool> Task() { if (Items == null || !Items.Any()) { Logger.LogError("[TransmuteTag] No items were specified. Use: <Transmute><Items><Item id=\"0\" quantity =\"0\" /></Items></Transmute>"); _isDone = true; return(false); } if (!GameUI.KanaisCubeWindow.IsVisible) { Logger.LogError("[TransmuteTag] Kanai's Cube window must be visible"); _isDone = true; return(false); } var transmuteGroup = new List <ACDItem>(); foreach (var item in Items) { var backpackItem = Inventory.Backpack.ByActorSNO(item.Id); if (backpackItem == null) { Logger.LogError("[TransmuteTag] Item Id={0} was not found in backpack", item.Id); _isDone = true; return(false); } var stacks = Inventory.GetStacksUpToQuantity(backpackItem, item.Quantity); transmuteGroup.AddRange(stacks); } if (!await Transmute.Execute(transmuteGroup)) { Logger.LogError("[TransmuteTag] Trasmute Failed."); _isDone = true; return(false); } _isDone = true; return(true); }