Skip to content

1.10.3

Latest

Choose a tag to compare

@Insektaure Insektaure released this 11 Jun 17:22
· 1 commit to main since this release

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.