Symbiosis activation timing
TL;DR: Based on my current knowledge, Symbiosis always activates right after the ally’s item is consumed, EXCEPT after Gen 6 during move executions, where it waits for the execution to end.
I usually don’t report things here (I report them on the PRs), but I discovered something very cool that may raise more questions and encourage people to explore it further. I’m also not used to recording videos, so I’ll have to explain it in writing.
I was fixing some Symbiosis bugs. So far, we knew that:
- In Gen 6, if Eject Button activates, Symbiosis would activate before the Pokémon switched out;
- After Gen 6, if Eject Button activates, Symbiosis would not activate (the Pokémon would switch out first);
- There was a bug reported that, in Gen 9, if Power Herb is consumed, Symbiosis would only activate after the move finished.
That made me ask a question: what if in Gen 6, Symbiosis activates right after the item is consumed, and after Gen 6, it only activates after the move is completely executed?
I searched the Bulbapedia page for Symbiosis (
https://bulbapedia.bulbagarden.net/wiki/Symbiosis_(Ability)#Effect), and it said exactly this for Gems:
Generation VI
If the ally of a Pokémon with Symbiosis consumes a
Gem by using a move, Symbiosis activates immediately.
Generation VII
If the ally of a Pokémon with Symbiosis consumes a
Gem by using a move, Symbiosis does not activate until after the move is executed.
But Gems have some weird interactions, so I tested it myself.
I tested Florges with Symbiosis and Life Orb, paired with Venusaur with Power Herb. When Venusaur used Solar Beam in Pokémon X, it would receive the Life Orb before the move executed and would take the recoil. In Pokémon Ultra Sun, it would only get the Life Orb after the move executed and would not take any recoil.
The last question I had was: "what about switches?"
In this video,
DarkFE shows that Symbiosis activates right after Booster Energy is consumed, even before Quark Drive activates.
So, my current thesis is:
Symbiosis always activates right after the ally’s item is consumed, EXCEPT after Gen 6 during move executions, where it waits for the execution to end.
This is it for me—I have a kinda difficult time testing things because of my lack of knowledge about software (especially for the Switch games), but feel free to test and report things so I can implement them :))
Edit: The PR that implements this is here
https://github.com/smogon/pokemon-showdown/pull/10898