pagefaultgames / pokerogue

A browser based Pokémon fangame heavily inspired by the roguelite genre.
https://pokerogue.net
GNU Affero General Public License v3.0
3.89k stars 1.56k forks source link

[Feature] Implement Synchronize #2694

Open Jancojicanoder opened 5 days ago

Jancojicanoder commented 5 days ago

Is your feature request related to a problem? Please describe. Synchronize is cursed, every time someone wants to implement it, they either disappear or they see #872 and they desist, thinking it's almost done... but it has no progress for a month, the game has changed a lot so I doubt this is going to be merged

Describe the Feature Someone please take over and implement Synchronize to the game

Additional context From Bulbapedia: When a Pokémon with Synchronize is burned, paralyzed, or poisoned by another Pokémon, that Pokémon will be inflicted with the same status condition. Synchronize will not inflict confusion, sleep, or freeze.

Even if Synchronize would have no effect due to the other Pokémon already having a status condition or the other Pokémon's type, Ability, or team condition (e.g. Safeguard), it will still activate (revealing it as the Pokémon's Ability), but have no effect. Synchronize can affect a Pokémon behind a substitute. Synchronize can be activated by other Pokémon's Abilities, such as Static, but cannot be activated by the Toxic Orb or Flame Orb.

If a Pokémon with Synchronize has a Berry that cures the status condition it was just inflicted with, Synchronize will activate before the Berry is eaten.

If Psycho Shift is used by a burned, paralyzed, poisoned, or badly poisoned Pokémon targeting a Pokémon with Synchronize, Synchronize now activates before Psycho Shift cures the user of its status condition. Therefore, Synchronize will fail to inflict the status condition anew in such a case.

If multiple Pokémon receive a status from the same move, Synchronize now gets an opportunity to activate for any Pokémon that has it, regardless of what order they received the status in. Synchronize can now cause another Pokémon's Synchronize to activate, but if this happens, the original Pokémon therefore already has a status condition, and it will merely cause an ability message to appear with no other effect.

Toxic Spikes do not activate this Ability unless a Pokémon on the field directly causes a Pokémon with Synchronize to switch in, such as by using the moves Roar or Whirlwind.

There are some pokemon that has Synchronize as their only ability, like Mew, and Mew... and... Mew, poor Mew, please help Mew, thanks

flx-sta commented 5 days ago

Someone could take over where that dev left off. May 14 could mean a lot of new bugs might be appearing to that person.

I'm gonna leave the bulba link here: https://bulbapedia.bulbagarden.net/wiki/Synchronize_(Ability)

yilinggk commented 2 days ago

Going to pick up where 872 left off. Adding some tests and figuring out how the interaction with psycho shift works