IV Functionality for Pal Calc #22
Labels
enhancement
New feature or request
help wanted
Community feedback is needed to resolve
more info required
on hold
Based on the following chain of Reddit comments:
TheIdget
This is a really cool app. I imagine it'd take a lot of work, but it'd be cool to one day see this also factor in IVs.
tylercamp
I’d like to add that but I’m not sure how it should factor in to the overall calculation.
Maybe it should just show the max possible IVs for the final child along with each breeding result in the results list on the right, and allow you to sort by that? Doesn’t directly solve the problem but would definitely help
TheIdget
I've thought about this for a bit now and think I have a couple ideas, since I don't think there's a singular great solution to this:
(1) Regardless of anything else, I do think that IVs should act as a tiebreaker when there are multiple otherwise equally-valid shortest chains.
(2) Add a parameter to set minimum parent IVs for reaching your desired Pal, along with a warning that high values may lead to overly long chains or have no possible solutions.
(3) Add the option to breed for IVs instead of passive skills. You could still include preferred skills (to work as a tiebreaker), but the focus is getting highest IVs.
(4) While the other 3 could work in tandem, this is a separate idea entirely that's a bit more abstract: Add a checkbox called "Prioritize IVs" that also unlocks some sliders (or just a singular one) that determines how much weight is put on the IV preference (vs passive skills etc.). This seems like the most challenging sort of path to take but could have some elegant results if done right.
tylercamp
(1) is currently already applied when it comes to picking between multiple options for a specific owned pal, but I don’t think it’s done as a tie-breaker for equivalent paths, that would be worth adding
(2) would be pretty straightforward to add
(3) could be done indirectly as a combination of (1), (2), leaving required passives empty, the ability to sort by max IV at the end of breeding, and a minimum required value for the max possible IV on a child at the end of breeding
(4) is tough to do “right” since it’s arbitrary weighting, but the code is already set up to reduce the list of results based on different parameters like num wild pals, breeding time, etc., so another filter could be added to that for IVs.
The relevance for (4) is that I was considering exposing this as a reorderable list so you could influence that pruning process. It would be a bit more complex to work with than simple sliders, but would be more straightforward to understand than some abstract and arbitrary sliders
I suggest opening a new issue on GitHub and copy/pasting or linking the convo here https://github.com/tylercamp/palcalc/issues
The pruning steps I’d be exposing in UI can be seen here near the end of the file: https://github.com/tylercamp/palcalc/blob/main/PalCalc.Solver/ResultPruning/PruningRulesBuilder.cs
Each step takes the list and either reorders it or reduces it to a smaller list, and the steps are ran in order. If we put an “IV pruning” step at the top of the list that would force the system to prioritize IVs over the other methods
The text was updated successfully, but these errors were encountered: