public static bool ShouldDrop(TrinityItem i) { if (Cache.ContainsKey(i.AnnId)) { return(Cache[i.AnnId]); } if (i.IsProtected()) { return(false); } var action = ItemEvaluationType.Keep; if (StashItems.ShouldStash(i)) { action = ItemEvaluationType.Keep; } else if (SellItems.ShouldSell(i)) { action = ItemEvaluationType.Sell; } else if (SalvageItems.ShouldSalvage(i)) { action = ItemEvaluationType.Salvage; } var decision = Combat.TrinityCombat.Loot.ShouldDrop(i, action) && !i.IsAccountBound; Cache.Add(i.AnnId, decision); return(decision); }
public static bool ShouldSalvage(TrinityItem i) { if (!i.IsValid) { return(false); } if (Core.Player.IsInventoryLockedForGreaterRift) { return(false); } if (Cache.ContainsKey(i.AnnId)) { return(Cache[i.AnnId]); } if (i.IsProtected()) { return(false); } if (i.IsUnidentified) { return(false); } if (!i.IsSalvageable) { return(false); } var decision = Combat.TrinityCombat.Loot.ShouldSalvage(i) && !StashItems.ShouldStash(i); Cache.Add(i.AnnId, decision); return(decision); }