• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • There is an important update regarding account security and 2FA. Please click here for more information.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.
  • Imgur has blocked certain regions from viewing any images uploaded to their site. If you use Imgur, please consider replacing any image links/embeds you may have on PokéCommunity so everyone can see your images. Click here to learn more.

[ASM & Hex] [FireRed] About a Pokémon (not) moving on wake-up (RBY Sleep mechanics)

Hello folks, I hope you're fine!

I have a question about Binary Hacking, on Pokémon FireRed.

Is it possible to restore the Generation 1 behavior for sleep? If so, how could I do it (eg: BSP/scripting? Hex edit?)?

More specifically, what I want to achieve is: in Generation 1 core games, a Pokémon does not attack after waking up. It will only attack on the next turn.

Other significant changes:
- In RBY, Sleep could last from 1 to 7 turns (later gens: 1 to 6 turns on Generation 2, 1 to 4 turns on Generation 3)
- The move Rest made the user sleep for 2 turns instead of 3 (including the turn when the user used Rest). In both cases, the user will attack on the 4th turn after Rest (but the wake up turn is 3 for RBY and 4 for later gens).

I don't think it would be possible with scripting, as BSP only works with the effect of a move, not with the cancellers themselves.
I also searched this forum (and other sources on Google), but I never found any information concerning this.

Do you guys have any ideas on how to solve this without resorting to decomps (as it would be hard to make everything from scratch, although using decomps to find offsets to change might be useful)?
 
Last edited:
Back
Top