Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Priority List seems to be overriding 'Ending Soonest' and 'Low Availability' selections in priority mode. #562

Closed
JourneyOver opened this issue Sep 20, 2024 · 5 comments
Labels
Help / Issue General or specific issues that just require some additional assistance to solve Solved This issue has been resolved

Comments

@JourneyOver
Copy link

JourneyOver commented Sep 20, 2024

something I've noticed recently (not sure if it's been an issue since this was implemented or not as I just recently noticed) is an issue where the Ending Soonest and Low Availability options don't seem to be working correctly, even after reverting commits 0105be7 and 3460979 since they still don't work correctly atm as noted in #558. TDM still appears to prioritize the order of the items in the priority list over everything else.

For example, I have both Albion and Dark and Darker on my list (I've tested with other games as well). Depending on which one is higher in the priority list, TDM always prioritizes that game, regardless of the remaining time. Currently, Dark and Darker is ending the soonest (both in terms of just ending soonest but also low availability), but if Albion is higher in the priority list, TDM still selects Albion as what it should mine when I select either Ending Soonest or Low Availability even though Dark and Darker is ending much sooner and has low availability.

While the inventory page sorts correctly based on the selected method, the actual farming continues to target whichever item is higher in my priority list, even when Ending Soonest or Low Availability is selected.

@JourneyOver
Copy link
Author

TDM.mp4

Throwing up a video of what I mean. Running straight from source with only the latest two commits reverted.

@DevilXD DevilXD added the Help / Issue General or specific issues that just require some additional assistance to solve label Sep 20, 2024
@DevilXD
Copy link
Owner

DevilXD commented Sep 20, 2024

TDM still appears to prioritize the order of the items in the priority list over everything else.

The meaning of the priority list did not change. The game at the top of the priority list is still going to be mined first, then the second one on it, and so on.

The old "Priority only" option constrained the miner to the contents of the priority list only, ignoring any game that didn't appear on the list. Unchecking it let the miner collect all games that were considered a valid mining target (all other conditions were met, account was linked, etc.), but any game not found on the priority list was assigned the same identical priority value. Having the same priority value meant the order the games/campaigns were mined in was arbitrary, and that meant that the miner would just mine "whatever", as long as it was possible to mine it. This is roughly how the old versions of the miner worked, before the priority list was added. Merely having your account linked usually meant the miner would try to mine it, and even with strategies such as "ending soonest" implemented (which was the case in the old, pre-priority-list miner), it wasn't really possible to just tell it that you mostly care about a few selected games, and the rest of the "trash" either isn't worth mining at all, or can be mined in any arbitrary order. This is how/why the priority and exclude lists were added, and the old way of mining has lost it's sorting order.

The a30e8d3 change replaces the "Priority only" checkbox with a selection box, where the "Priority list only" retains the functionality of having the checkbox checked (only priority list is mined in the defined order), but selecting anything else is like unchecking the old checkbox - the miner again considers everything that's a valid mining target (even games outside of the priority list), and tries to mine it. Now however, there's no more cases where a non-priority-list game would end up having an arbitrary order - all priority values are unique, regardless if a game is on the priority list or not. When not constrained by the priority list's order, the miner will pick the next game to mine according to the selected priority mode option, be it a game with a campaign that ends the soonest, or a game with a campaign that's the "tightest" on it's drop time to campaign time ratio.

In other words, the Priority mode that's selected applies only to the games not on the priority list. If you're okay with how the ancient-old-by-now version of the miner worked, and just let it pick the mining order for you, then the priority list has to remain empty, or be populated with games that you'd want to ignore the selected priority mode option for. Otherwise, any game you put on the priority list will be mined first according to the order on the list, and only once nothing from the list is available, it'll consider the other games in the selected order.

While the inventory page sorts correctly based on the selected method

The inventory sorting has remained just like it was before, with campaigns ending the soonest at the top. This is true regardless of which mode you have selected. Inventory order does not equal mining order, unless you have the "ending soonest" priority mode selected. I've briefly asked about the possibility of changing this order in #488, but ultimately decided that it's just best for the order to remain as-is.

This topic was discussed under #488, #433, #330, and others you can find cross-linked in each issue/PR. I was initially against the idea, as the priority list was specifically implemented to "upgrade" from automatic selection strategies, and give the user more control on the mining order. Pretty much all of the cases of "this new campaign is what I want" or "I don't want to miss out on these" were solved by just setting up your priority list appropriately beforehand. However, #433 made me realize that it'd be possible for both systems to co-exist together, and it was finally implemented.

Does this explain everything for you?

@JourneyOver
Copy link
Author

JourneyOver commented Sep 20, 2024

I dunno if you watched the video or not exactly but When not constrained by the priority list's order, the miner will pick the next game to mine according to the selected priority mode option, be it a game with a campaign that ends the soonest, or a game with a campaign that's the "tightest" on it's drop time to campaign time ratio.

The way I'm reading this is even if something is in my priority list it would still mine in whichever way I selected on the the dropdown be it ending soonest or whatever, so it wouldn't matter which items was in my priority list it would choose whichever is closest to the end if I was to choose Ending Soonest or Low Availability, but the way it's currently working at least from my testing is it does not do this.

I never keep it on the priority list only mode as I would prefer it to mine whatever was in my priority list but if something came up that was "ending soon" that was in my priority list then it would switch to that and start mining but it doesn't do this if things are in the priority list section and instead it just seemed to focus on how the priority list is laid out..

In other words, the Priority mode that's selected applies only to the games not on the priority list. If you're okay with how the ancient-old-by-now version of the miner worked, and just let it pick the mining order for you, then the priority list has to remain empty, or be populated with games that you'd want to ignore the selected priority mode option for. Otherwise, any game you put on the priority list will be mined first according to the order on the list, and only once nothing from the list is available, it'll consider the other games in the selected order

So the way I was thinking was not the correct way? and I just can't have anything in my priority list all with the Ending Soonest or Low Availability otherwise it'll just focus on how the priority list is laid out?

@DevilXD
Copy link
Owner

DevilXD commented Sep 20, 2024

The way I'm reading this is even if something is in my priority list it would still mine in whichever way I selected on the the dropdown be it ending soonest or whatever

You're reading it wrong then.

so it wouldn't matter which items was in my priority list it would choose whichever is closest to the end if I was to choose Ending Soonest or Low Availability

It would, the games from the priority list are mined first.

but the way it's currently working at least from my testing is it does not do this.

Yes, because as I've just described to you, the priority mode applies only to games that are not on the priority list. The priority list always specifies an order to mine the games in - if it wouldn't do that, it wouldn't be called "priority" list, but something else (like "suggested order list" or smth, idk). I've pointed this out several times in the issues I've linked in my previous message. Breaking the idea of the priority list not specifying the exact order to mine the games in makes zero sense at the very least. Priorities are priorities - if getting drops from a particular game isn't your priority, you can either place it lower down on the list, or remove it from the list entirely.

but if something came up that was "ending soon" that was in my priority list then it would switch to that and start mining

The miner won't do that, because the priority list is considered first, and then if you have a priority mode selected (that isn't "Priority list only"), the selected mode is applied to any other game that the miner considers a valid mining target (usually it's just that you have the account linked for a particular game/campaign).

Again, the ancient historical version of the miner had only the "ending soonest" sorting method, that was then completely replaced with the priority list, to give users more control over the order in which the drops are being mined. During the transition, the historical method of mining was quickly re-implemented without a particular sort/order in mind, and made available under the "Priority only" option, with the intention that "everything that isn't on the priority list isn't worth mining, but I want to let the miner get those anyway, as it may as well do something instead of being idle". Meeting this goal does not require any sorting, and it can just keep mining whatever is available at the time.

Now, both of these methods co-exist together, with the priority list still being considered first when choosing the order, but for any game that's not on the list, the new sorting methods are used. You can say that the priority list implementation was "fixed, after being broken for so long", because I should've fully re-implemented the old way of mining like this from the very beginning, but then again, the intention was that drops that aren't your priority didn't really matter, so the order didn't matter either.

So the way I was thinking was not the correct way?

Yes.

and I just can't have anything in my priority list all with the Ending Soonest or Low Availability otherwise it'll just focus on how the priority list is laid out?

Correct. If you want to let the miner choose the mining order for you, then you have to not specify the order via the priority list, as doing so overwrites the automatic selection method. Only games/campaigns you have your Twitch account linked to are considered valid mining targets, and that usually narrows down the mining list to a subset of games you care about. If a particular developer has multiple games (for ex. Blizzard having Overwatch and Hearthstone), and you'd care only about one of those games, you can use the Exclude list to let the miner know you're not interested in the other game, or any other game you'd put on the list in general. All other games you don't have the account linked to are automatically excluded.

@JourneyOver
Copy link
Author

Hmm alright, I believe I understand now. Guess I'll just start using the exclude list and guess this can be closed then.

@DevilXD DevilXD added the Solved This issue has been resolved label Sep 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Help / Issue General or specific issues that just require some additional assistance to solve Solved This issue has been resolved
Projects
None yet
Development

No branches or pull requests

2 participants