Two questions:
1) In a Type (pet families) sort order for the queue, would you prefer as a secondary sort:
a) Ascending levels
b) Descending levels
c) The order they exist in the unsorted queue
Letting the user choose a secondary sort is very doable, but it'd be for a future update. I want the queue to be simple to understand and use before packing a bunch more stuff into the queue menu.
2) How attached are you guys to the leveling pet "navigation" buttons in the current pet area? That's the little gold left/right arrows that appear when you hover over a loaded leveling pet, to change to a different pet.
I realize that even with leveling pet criterea there are times you want to change what pet to load. The always-at-top method sort of prohibits the prev/next buttons: Even in an unsorted queue, if a pet is chosen as the new active leveling pet, it goes to the top of the queue and the pet that was previously at top is now second. Choosing next again will choose the pet that just left. So it'd be swapping two pets instead of traversing the queue.
I can rotate the whole queue so the active pet remains at top and old active one goes to bottom, but that seems counter to using the queue as a preferential list.
I can also skip over pets that were loaded, but it wouldn't be obvious which pet will load next.
The next/previous concept also gets weird with multiple leveling pets in a team.
At the moment I'm leaning to just removing the buttons entirely. It takes one click to expand the window if it wasn't already expanded and then a double-click on a pet in the queue to choose a new one. It seems like the added complexity for the convenience of those buttons is not a good tradeoff.
As an aside, I have the reworked queue working now (mostly, working on pet criterea this week) and aside from this snag I'm very very happy with the results. The code and behavior is a lot more straightforward than the slot+queue+sort+rotate house of cards it was before.
If curious here's the current plans:
The overall behavior of the queue is streamlined to:
- The leveling slot above the queue will always contain the top-most pet in the queue. Always.
- The queue can be sorted in four different orders: Ascending (low to high level), Median (closest to level 10.5), Descending (high to low level), and Type (Humanoid then Dragonkin etc).
- While the queue is sorted, all pets except the top-most pet are sorted. This allows sorting the queue and still keeping a current leveling pet at the top you're working on.
- If Full Sort is enabled, then even the top pet is included in the sort and it can change as pets gain xp or get added to the queue.
Support for multiple leveling slots:
- When saving a team, any loaded pets that are also in the queue will reserve those slots for future leveling pets. Each loaded leveling pet will have a gold border.
- When a team loads, each leveling slot will be filled from the top-most pets in the queue.
Leveling pet criterea:
- When saving a team that contains leveling pets, a button will appear in the lower left of the save dialog to expand for these options:
- Minimum Health: To ensure a leveling pet will survive the fight, this will skip any pets whose max health falls below the entered value.
- Allow Magic and Mechanical: This option allows even low-health Magic and Mechanical pets to be loaded, since they can always survive one hit.
- Maximum Level: To prevent wasting xp, you can choose to set an upper level. This can be a partial amount. For instance a level 23.5 pet is level 23 with 50% xp towards 24.
- If pets in the queue can't be found to meet all of these criterea, it will choose the top-most pets in the queue not already chosen.
Notable changes from previous versions:
- For those who used Auto Rotate+Ascending or Auto Rotate+Median, Full Sort+Ascending and Full Sort+Median will have the same behavior.
- The old forced rotate behavior of Auto Rotate+Unsorted and Auto Rotate+Descending has been removed.
- The Previous/Next buttons on the current leveling pet have been removed.
Pet types as criterea will likely be for a future update also. I hope to have these changes in an update this coming weekend now that work has slowed down with some time off for the holidays.