pagefaultgames / pokerogue

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

[BUG] Spliced Transform #2481

Closed MetallurgyBlockworks closed 2 days ago

MetallurgyBlockworks commented 4 months ago

Describe the bug A lock-up occurs if a spliced Ditto transforms into another Pokemon during a double battle. The battle continues normally, but once the Dittosplice gains experience it locks up.

This bug has been replicated on two different floors transforming into four different Pokemon during double battles.

To Reproduce

  1. Splice a Shiny 1 Ditto with a Spidops
  2. Enter a double battle
  3. Transform into either opposing Pokemon
  4. Win the battle

Expected behavior The Ditto gains the experience and life moves on.

Screenshots / Videos image

image

image

image

image (Game is frozen at this screen.)

SivWatt commented 2 months ago

Bumped into this bug splicing shiny Ditto with another Pokemon (Solrock #338). This will always happen when winning any fight with transformed spliced Ditto in court. For me it happened in classic wave 200.

Snailman11 commented 2 months ago

Grand Transform Aggregated Issues (Fusion Transform Softlock, Form Not Saved, {Stat changes not copied(imposter), pp not reduced, delayed type change fixed in https://github.com/pagefaultgames/pokerogue/pull/3462}) https://discord.com/channels/1125469663833370665/1267976989957029900/1267976989957029900

LoaneShark commented 3 weeks ago

Can confirm that it is still happening, in my case I spliced an imposter ditto into the second slot (first slot is a shiny furret with pickup passive). It was also during a classic mode run, one which I still have going. It does not have to be in doubles, it seems independent of what encounter type you are in -- I have been able to reproduce it in singles vs. wild pokemon, trainer battles, boss battles, etc.

To be more specific, the game softlocks if any of these 3 things happen happen: 1) You check the summary of the ditto fusion while it is transformed (and on the field) 2) You win a battle / try to change areas while the ditto fusion is transformed (and therefore on the field) 3) You try to teach it a move or encounter an event that checks your moves while it is transformed

Basically anything that opens the summary screen or tries to check the movelist of the ditto fusion while it is transformed into something else. My furretto happened to have all 4 move slots filled, in this case.