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.53k stars 1.81k forks source link

[Bug] Slumbering Snorlax bypasses Snorlax's sleep status on turn 1 #4584

Open PigeonBar opened 1 month ago

PigeonBar commented 1 month ago

Describe the bug

On turn 1 (after Snorlax uses Snore twice for free), it can use regular moves (e.g. Crunch) without them being called via Sleep Talk, even though Snorlax is asleep.

Reproduction

  1. Have a Ghost-type Pokemon (immune to Snore) that can get KO'd by Snorlax's Crunch (in order to bait out Crunch instead of Sleep Talk)
  2. Encounter Slumbering Snorlax.
  3. Choose to fight against Snorlax.
  4. Watch Snorlax KO your Ghost-type using Crunch (without Sleep Talk) on turn 1.

Expected behavior

  1. Snorlax's Crunch should fail unless called by Sleep Talk.
  2. Snorlax's AI should select Sleep Talk instead of Crunch due to being asleep.

Screenshots / Videos

Normal footage of the bug:

https://github.com/user-attachments/assets/0ad7f258-f475-47de-9f14-51c5d62abf89

Also bypasses semi-invulnerability:

https://github.com/user-attachments/assets/6185fb17-d44f-4dc0-ae9c-dd465c6a6e8a

Session export file

20241004 Bypass Sleep.prsv.txt

User data export file

No response

Additional context

https://github.com/user-attachments/assets/061a1c0d-e0f9-4739-9562-b69c156b493b

PigeonBar commented 1 month ago

Update: Bug occurs even if your Pokemon is not immune to Snore:

https://github.com/user-attachments/assets/148b34c8-7b22-44cb-956d-2ef9076fd90f