• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • 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.

[Script] [ASM & Hex] Gen 3 - A (half-failed) in-game mirror trade hack

11
Posts
5
Years
    • Seen Oct 25, 2018
    I am working on making a script and a Thumb routine to let you trade your own Pokemon back to yourself.

    It doesn't work for post-Gen-1 evolutions. I am looking for some help with this. Gen I evolutions work just fine (Kadabra, Haunter, etc.)

    Below I will explain my findings, and what I did.

    • From JPAN's special script research and this RAM map, I guessed that special 0xfe is just going to trade you whichever Pokemon stored at the Opponent Pokemon Slot #1 RAM space. An experiment shows that this is the case.
    • Therefore I wrote a Thumb routine that simply copy the Pokemon in Party Slot #1 to Opponent Party Slot #1. This did enable me to trade to myself the same Pokemon at Party Slot #1.
      (Thank HackMew for the detailed tutorials, and Univ. of Waterloo for the Thumb instruction set!)
    • But the Pokemon taken from your party to trade is the one whose slot number is stored in variable 0x8009 before the trade. So, I set 0x8009 to 0x00.
    • At this point, the script and the routine effectively trade the first Pokemon in the party for itself. This is enough to evolve Gen 1 Pokemons.
    • kalarie later points out that I would need National Dex to ever evolve anything into Gen 2 and above Pokemons, so I used PKHex to enable that in my test save file. I also threw in special 0x16f into my script just to be sure.
    And to test all of this, I applied all that to an unmodified Fire Red ROM base.

    So here are my scripts and Thumb routine:

    Thumb routine
    Spoiler:

    XSE script
    Spoiler:

    And this is a video of it at work:


    For your reference, I also attached:
    • Thumb routine
    • Compiled routine binary
    • XSE Script
    • A save file with some handy test cases

    I wonder what went wrong. My only suspicion left is the removal of held item during the trade. But that would not make any sense.


    Original sad post:
    Spoiler:
     

    Attachments

    • mirror_trade_180531.asm
      381 bytes · Views: 2
    • mirror_trade_180531.bin
      28 bytes · Views: 2
    • mirror_trade_180531.rbc.txt
      209 bytes · Views: 1
    • FR.sav
      128 KB · Views: 1
    Last edited:
    476
    Posts
    6
    Years
    • Seen Feb 26, 2020
    Lolwut? All you have to do is change the evolution method. What it evolves into is irrelevant since the game only stores evolution data in the Pokémon that evolves, and it only stores the data for what it evolves into. If you change how it evolves, then that's it. Also, I don't recommend PGE, it's known to break things.
     
    760
    Posts
    15
    Years
    • Seen yesterday
    If I remember correctly you need to have the national dex activated to make pokemon past number 151 (mew) evolve, also through trading (Like Poliwhirl -> Politoed, Onix -> Steelix. That might have to do something with your issue?

    To activate the national dex, use special 0x16F in a script.
     
    11
    Posts
    5
    Years
    • Seen Oct 25, 2018
    If I remember correctly you need to have the national dex activated to make pokemon past number 151 (mew) evolve, also through trading (Like Poliwhirl -> Politoed, Onix -> Steelix. That might have to do something with your issue?

    To activate the national dex, use special 0x16F in a script.
    Oryou can just enable Non-Kantonian evolution.

    This was the reason I could never get Scizor, Steelix or their friends, or Deoxys via an evolution ever. Moon Stones work wonders now.
    However, turns out it was not the only reason my mirror trade failed to work.

    I am suspecting the fact that the Held Item got deleted... But that is natural for Evolution Items, isn't it?

    Lolwut? All you have to do is change the evolution method.
    I didn't know of the National Dex check before, so I tried making the evolution method Moon Stone, which failed. But now I learned what was actually wrong with that.

    I still want to look into this a little more though. Feels more "natural" evolving these Pokemons with a trade. Also, it is undoubtedly a more interesting hack :D

    ---

    Also, I just realized I failed to attach the scripts and savefiles I said I would, so my apology for the inconvenience.
     
    Last edited:
    Back
    Top