FusionBot v8.0.8 #111
Secludedly
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Fix Priority Methods that Interfere w/ Shiny Variables
v8.0.8
Typically, when the user requests
Shiny: Yesbut the encounter ALM picks is shiny-locked, ALM returns the Pokemon non-shiny without trying any other encounter using its SetShinyBoolean. Then in APILegality, ALM checks legality and returns a successful encounter that's non-shiny. A non-shiny PKM on a shiny-locked encounter is legally valid, so ALM just stops and returns it as Regenerated without it being shiny. No retry, no error. Just a silent push, ignoring the shiny request.Some people running FusionBot would use the default GameVersionPriority & PrioritizeEncounters, which prioritized Static encounters over Egg and Mystery. With Static set higher in the priority list, ALM accepts it using the logic stated above, forcing users to receive non-shiny requests.
GameVersionPriority should follow the PriorityOrder over anything else, relying on the bot host to set the PriorityOrder in the Hub/Config, setting the order from top-to-bottom for each bot with your personal preference.
PrioritizeEncounters should also order the encounters to be more free and open to accept more variables by following the order:
0. Slot
To fix it for those not running in the same Priority cases, TryGetAsShiny was implemented next to TryGetAsWildOrEgg. The bot will now temporarily set
PriorityList = [Slot, Egg, Mystery, Trade, Static]AND temporarily sets APILegality'sGameVersionPriority = PriorityOrder(so the user's custom priority list is respected even if they picked NewestFirst). The call to GetLegal will return the PKM instance only if it's both shiny AND legal.Added a re-entry guard so the GetLegal call doesn't infinitely retry.
Basically, no matter how a user configures PrioritizeEncounters or GameVersionPriority, shiny requests for species capable of being shiny will keep working, because the bot always has a backup search path that's good for a shiny result.
As an example, my Z-A bot's order is:
0. ZA
etc.
Basically, I prioritize the game my bot is running as the first in the list, then set the best fitting order to my own needs in a similar way as above. I mostly try to keep a majority of it going down by generation.
This discussion was created from the release FusionBot v8.0.8.
Beta Was this translation helpful? Give feedback.
All reactions