-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Dont copy opponent personality when swapping mon sprite during Mega Evolution #2852
Dont copy opponent personality when swapping mon sprite during Mega Evolution #2852
Conversation
…vo, primal reversion etc.
Looking at other uses of
I think the proper way to handle this would be to add an additional parameter to pass if the enemy personality should be tracked on that specific use. |
After giving it a bit more of an investigation and testing a few scenarios, I feel as though I'm assuming the shiny appearance that is shown after refreshing the battle scene (e.g. opening and closing the bag) is the correct one - it is always the original shiny state, and not the opponent's. Of course I could still add the extra parameter to Btw, all uses of
They all currently behave identically and exhibit the same problem. Only Transform, Imposter and weather form changes for Castform (and Cherrim?) are treated differently. |
The issue is that in Gen 4+ Transform uses the opponent's personality:
|
I've updated the PR to include the new parameter for I also found and fixed the bug where a transformed Pokemon would revert back to its original palette when reloading the battle scene. Also for good measure, I've added a battle config option to toggle whether Transform copies the opponent's shiny state, since I personally quite like the Gen 3 behavior. |
I always forget how much better shiny Mega Garchomp looks over its non-mega shiny. The way I actually noticed this was when I raised the Shiny Odds to 1/2 for some testing. A trainer opponent had a regular Gyarados that mega evolved into its shiny mega, even though I was not using any shinies. I checked the code and found it was taking the personality value of my Pokemon, and it happened to land on the 50% shiny chance for its own OT id. |
Description
The Mega Evolution/Primal Reversion transformation animation uses
HandleSpeciesGfxDataChange
to swap sprites to the new species, but always passesTRUE
into thetrackEnemyPersonality
param. This causes the opposing mon's personality to be used when swapping sprite palettes resulting in an issue where a shiny Pokemon will almost always mega evolve into its non-shiny colours (since its personality determines shiny). This is only cosmetic; opening a menu such as bag and then closing again will display the correct sprite palette again.This change will pass in false for the
trackEnemyPersonality
param ifmegaEvo
is non-zero so that its proper shiny/non-shiny palette will be used.Images
Discord contact info
Ultimate_Bob#2163