• 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.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Trading Card Game 2 protagonist in the poll by clicking here.
  • 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.

[Battle] How do you modify Emerald to remove the RNG from battling and change how Sleep works?

  • 428
    Posts
    5
    Years
    A while back I made a Pokemon Essentials game that tried to remove a lot of RNG from battling. Crits didn't happen randomly, Flinches didn't happen randomly, Crits were guaranteed to only happen when STAB moves hit super-effectively, and STAB criticals caused flinching like the mechanic in Persona 4 where hitting a foe with something they're weak to knocks them down. Anything that removes control over your Pokemon like Sleep/Freeze/Confuse was removed and changed to Burn-style HP loss over time with a stat penalty. All moves had perfect accuracy, evasion/accuracy altering effects were removed, some RNG-based abilities and moves were altered (I don't think I got them all), and OHKO moves like Fissure were removed.

    That's possible in Pokemon Emerald Decompilation hacking, right? Would it even be possible to remove the RNG that determines move damage and adjust the Pokemon catching formula to massively increase the effect low health has on capture rates?
     
    A while back I made a Pokemon Essentials game that tried to remove a lot of RNG from battling. Crits didn't happen randomly, Flinches didn't happen randomly, Crits were guaranteed to only happen when STAB moves hit super-effectively, and STAB criticals caused flinching like the mechanic in Persona 4 where hitting a foe with something they're weak to knocks them down. Anything that removes control over your Pokemon like Sleep/Freeze/Confuse was removed and changed to Burn-style HP loss over time with a stat penalty. All moves had perfect accuracy, evasion/accuracy altering effects were removed, some RNG-based abilities and moves were altered (I don't think I got them all), and OHKO moves like Fissure were removed.
    That's possible in Pokemon Emerald Decompilation hacking, right?
    With these projects you have the entire source code that composes the whole game, so yes, it's naturally possible.
    Would it even be possible to remove the RNG that determines move damage and adjust the Pokemon catching formula to massively increase the effect low health has on capture rates?
    Yes.
    https://github.com/pret/pokeemerald/blob/master/src/battle_script_commands.c#L9804-L9950
    https://github.com/pret/pokeemerald/blob/master/src/battle_script_commands.c#L1638-L1651

    If you're using the Pokeemerald-expansion, Cmd_handleballthrow is in the same place though it's slightly modified as a result of containing newer Poké Ball effects.
    Meanwhile, the random factor in the damage formula was rewritten and relocated alongside the rest of the damage calculation functions.
    https://github.com/rh-hideout/pokeemerald-expansion/blob/master/src/battle_util.c#L9419-L9454
     
    Back
    Top