• 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!
  • 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.

[ASM & Hex] [EMERALD] Is it possible to make it so you can't catch any pokemon?

  • 8
    Posts
    6
    Years
    • Seen Aug 8, 2018
    This is my first post here (hope it's' the right section), I've been lurking for a while, is it possible to make it so you can't catch any pokemon? No matter what ball, even master balls?
     
    I'm not sure why you would want to do this, but assuming you want this to be for the entire game, then you would just set the catch rate to 0 for everything, and then de facto remove Master Balls from the game (by making them unobtainable)
     
    or I think removing every ball could work too, but that works I guess, I just didn't want to go through the effort of editing catch rates of everything to 0 :/
     
    or I think removing every ball could work too, but that works I guess, I just didn't want to go through the effort of editing catch rates of everything to 0 :/

    Editing the catch rate would take a maximum of half an hour. Editing the scripts in every map of the game t make Pok?Balls unobtainable would take hours, at best.
     
    Removing Poke Balls is really easy and will be necessary for your hack to make any sense (why would poke balls be in marts if the catch rate is 0). All you have to do is open the script of the shopkeepers with XSE and remove the line in the script that lists the Poke balls. I believe ultra balls are ID 2, great balls are 3, and poke balls are 4. You can also just check with a tool like Item Manager.

    You will also need to look at a guide that will show you the various locations of poke balls scattered around the map so you can change those but that is even easier as there are not actually very many.
     
    Removing Poke Balls is really easy and will be necessary for your hack to make any sense (why would poke balls be in marts if the catch rate is 0). All you have to do is open the script of the shopkeepers with XSE and remove the line in the script that lists the Poke balls. I believe ultra balls are ID 2, great balls are 3, and poke balls are 4. You can also just check with a tool like Item Manager.

    You will also need to look at a guide that will show you the various locations of poke balls scattered around the map so you can change those but that is even easier as there are not actually very many.

    That would take HOURS. It would be easier to make all catch rates 0 and include dialog that mentions that "Pok?Balls produced recently seem to not be working" or something. Either way, this is actually a terrible idea to implement, because what if the player encounters a shiny?
     
    This is my first post here (hope it's' the right section), I've been lurking for a while, is it possible to make it so you can't catch any pokemon? No matter what ball, even master balls?

    The Emerald Battle Engine Upgrade can do that just by setting a flag which you define in its config file. This would allow you to make Pokemon catchable or uncatchable whenever you wanted.
     
    I modified a routine and posted it in ASM Resource Thread.. I think this might help you.

    TOGGLING CAPTURABILITY OF POKEMON: EM

    Basically, it is a port of FBI's Toggling Capturability Routine available only on Fire Red to Emerald. This port makes a certain Pokemon uncapturable by just setting var 8000 to 0x1. This only works on Emerald .

    How to insert:

    First compile the following ASM code and insert into free space:
    Spoiler:


    Here is a compiled version:
    Code:
    05 48 01 68 03 4A 12 78 01 2A 01 D0 03 48 00 47 03 48 00 47 D8 75 03 02 EC 2F 02 02 5D 63 05 08 2B 63 05 08

    Now navigate to 0x5631E and insert the following:

    Code:
    01 48 00 47 00 00 XX XX XX 08

    Where XX+1 XX XX is the reverse hex pointer to where you inserted the above routine. That's it :)

    NOTE: This only prints the text "The TRAINER blocked the ball! Don't be a Thief!". I suggest changing this to "The ball is Blocked! This Pokemon cannot be caught!"


    Optional:
    Insert the following in free-space location in your ROM:

    AAAAAA:
    Code:
    CE DC D9 00 BC BB C6 C6 00 DD E7 00 D6 E0 E3 D7 DF D9 D8 AB FF

    BBBBBB:
    Code:
    CE DC DD E7 00 CA E3 DF D9 E1 E3 E2 00 D7 D5 E2 E2 E3 E8 00 D6 D9 00 D7 D5 E9 DB DC E8 AB FF

    In 0x5CC64C, insert the reverse pointer of AAAAAA (do not add 1)
    In 0x5CC650, insert the reverse pointer of BBBBBB (do not add 1)


    NOTE: This will replace the "The TRAINER blocked the BALL" and "Don't be a thief!" strings.

    [PokeCommunity.com] [EMERALD] Is it possible to make it so you can't catch any pokemon?
    [PokeCommunity.com] [EMERALD] Is it possible to make it so you can't catch any pokemon?



    All credits goes to FBI.
     
    Last edited:
    Back
    Top