I looked through Trinity code and I made a couple small changes that -I THINK- have fixed it for me
It still won't use the item list, but I made it so it will stash only ancients, normal legendaries get salvaged. Very straight forward, no questions asked but - very important - I have no idea how it will handle gems/ramalandi gift etc. I think it just leaves them in the bags. Not ideal but I've been having issues where the stash would simply get filled up with normal legendaries untill there was no more slot aviable and the bot would stop, so for me this is better than nothing.
I'll see if i can go through the code a bit more in-depth in the next days but it's a lot of lines of code so that's what i came up with for now.
How to do this: AT YOUR RISK!! As I said it's a very dumb hard-coded check i'm adding, I let the bot run for a couple of rifts and a few forced town runs and it does what it's supposed to do. BACKUP THOSE FILES first, or be able to revert the changes if needed.
1) Open Plugins/Trinity/Components/Coroutines/Town/SalvageItems.cs and on line 46, between:
if(i.IsUnidentified)
return false;
AND
if(!i.IsSalvageable)
return false;
ADD:
if (!i.IsAncient)
return true;
2) Open Plugins/Trinity/Components/Coroutines/Town/StashItems.cs, and around line 35:
There's a few checks, and I moved the first few around and I added an IsAncient check.
It looks like this now:
if (Core.Player.IsInventoryLockedForGreaterRift)
return false;
if (i.IsUnidentified)
return true;
if (!i.IsAncient)
return false;
if (Cache.ContainsKey(i.AnnId))
return Cache[i.AnnId];
if (i.IsProtected())
return false;
Basically moved the inventory locked check first, unidentified 2nd and added isancient as 3rd.
As I said, that's what I could come up with in half hour ish, and so far it works. It probably will cause some issues with Ramalandi's gift and gems but I don't think it's enough to break it, but we'll see.
I'll update if i can come up with a more secure one while we wait for devs to fix it themselves
It still won't use the item list, but I made it so it will stash only ancients, normal legendaries get salvaged. Very straight forward, no questions asked but - very important - I have no idea how it will handle gems/ramalandi gift etc. I think it just leaves them in the bags. Not ideal but I've been having issues where the stash would simply get filled up with normal legendaries untill there was no more slot aviable and the bot would stop, so for me this is better than nothing.
I'll see if i can go through the code a bit more in-depth in the next days but it's a lot of lines of code so that's what i came up with for now.
How to do this: AT YOUR RISK!! As I said it's a very dumb hard-coded check i'm adding, I let the bot run for a couple of rifts and a few forced town runs and it does what it's supposed to do. BACKUP THOSE FILES first, or be able to revert the changes if needed.
1) Open Plugins/Trinity/Components/Coroutines/Town/SalvageItems.cs and on line 46, between:
if(i.IsUnidentified)
return false;
AND
if(!i.IsSalvageable)
return false;
ADD:
if (!i.IsAncient)
return true;
2) Open Plugins/Trinity/Components/Coroutines/Town/StashItems.cs, and around line 35:
There's a few checks, and I moved the first few around and I added an IsAncient check.
It looks like this now:
if (Core.Player.IsInventoryLockedForGreaterRift)
return false;
if (i.IsUnidentified)
return true;
if (!i.IsAncient)
return false;
if (Cache.ContainsKey(i.AnnId))
return Cache[i.AnnId];
if (i.IsProtected())
return false;
Basically moved the inventory locked check first, unidentified 2nd and added isancient as 3rd.
As I said, that's what I could come up with in half hour ish, and so far it works. It probably will cause some issues with Ramalandi's gift and gems but I don't think it's enough to break it, but we'll see.
I'll update if i can come up with a more secure one while we wait for devs to fix it themselves