Fixed: Pokemon moved between saves kept the wrong handler
Until now, moving a Pokemon through the bank into another save file did a raw copy - nothing about the Pokemon was adapted to its new trainer.
In the games, anytime a Pokemon changes owners through a trade, the receiving trainer is registered as its handling trainer.
Skipping that step caused real problems:
- Friendship didn't work correctly.
The game reads friendship from the OT or the handler depending on who currently holds the Pokemon. A transferred Pokemon pointed at the wrong field, so friendship gained on the new save could be lost, and friendship evolutions (Eevee → Sylveon, Golbat → Crobat, etc.) could behave unexpectedly.
- Legality issues.
A Pokemon whose OT doesn't match the save but which claims to still be with its OT is flagged by legality checkers and looks suspicious to Pokemon HOME.
- Same name ≠ same trainer.
Two saves with the same trainer name are still different trainers - the games compare TID/SID, gender, and more, not just the name.
pkHouse now does the same.
What happens now
Placing a Pokemon into a save behaves exactly like a real in-game trade:
- If the Pokemon belongs to the save's trainer (same game version, TID/SID, name, gender, plus language in SV/Z-A), it's simply marked as being back with its OT.
- If it's a different trainer, that trainer is registered as the handler: handler name/gender/language are set, handler friendship resets to the species' base value, and stale handler memories are cleared. The original OT data is never touched.
- No friendship loss on round-trips: moving a Pokemon bank ↔ save repeatedly does not keep resetting the friendship it earned with its current handler.
- Eggs traded to a different trainer are marked as link-traded with today's date, like the games do (including BDSP's quirk of also updating the handler, and SV's Jacq gift-egg exception).
- Let's Go: friendship is carried over instead of reset, so CP values are unaffected.
Applies to all supported games with handler data:
Legends: Z-A, Scarlet/Violet, Sword/Shield, Brilliant Diamond/Shining Pearl, Legends: Arceus, Let's Go Pikachu/Eevee.
FireRed/LeafGreen are unaffected - Gen 3 has no handler concept, so transfers there were already correct.
Warning: Existing Pokemon already sitting in your saves are not modified: the update applies whenever a Pokemon is next placed into a save.