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

Adding new evolution methods [FR]

persian_17

Trainer
31
Posts
16
Years
  • Yeah, it would just always be mega evolved, even in the overworld. Also it would allow players to have 6 mega evolved pokemon on their team, wouldn't require a mega ring, and probably would have to be a simple asm routine to change the index number based on a hold item (which I have made and still need to clean up before publishing) rather than an evolution routine.

    I think we'd need more than that.

    my idea is to have only 1 universal stone that will serve as a mega stone for all, and will be given only one in-game, ithink it is alright for a pokemon to stay mega evolved out of the battle, but i dont know what to do for x and y variants of charizard and mewtwo :(

    i have another idea, what about a reverse type of nincada's evolution,
    e.g. Slowpoke will evolve to slowbro if you have a shellder in the team. but shellder will be removed to the team after slowpoke evolved.
     
    Last edited by a moderator:

    daniilS

    busy trying to do stuff not done yet
    409
    Posts
    10
    Years
    • Seen Jan 29, 2024
    i have another idea, what about a reverse type of nincada's evolution,
    e.g. Slowpoke will evolve to slowbro if you have a shellder in the team. but shellder will be removed to the team after slowpoke evolved.

    I think it would be easier to edit the Mantyke-Mantine evo for that.
     

    daniilS

    busy trying to do stuff not done yet
    409
    Posts
    10
    Years
    • Seen Jan 29, 2024
    But the remoraid stays in the party right? its better if shellder and slowpoke will be joined like what should happen

    That's why I said edit. randomfillertoreachcharacterminimum
     

    kearnseyboy6

    Aussie's Toughest Mudder
    300
    Posts
    15
    Years
    • Seen Jun 22, 2019
    But the remoraid stays in the party right? its better if shellder and slowpoke will be joined like what should happen

    In the last section I explain how to make it compatible with G3HS, simply for KK552's convention and you can make any pokemon evolve with any pokemon. If you want the pokemon to disappear after evolution, well that's a whole kettle of fish.
     

    Lance32497

    LanceKoijer of Pokemon_Addicts
    792
    Posts
    9
    Years
  • Step 2 (Creating evolution routines; ASM needed)
    Spoiler:
    Spoiler:
     

    Lance32497

    LanceKoijer of Pokemon_Addicts
    792
    Posts
    9
    Years
  • bl decrypt
    decrypt: push {r0-r7}
    mov r1, #0x ##
    ldr r2, decryptpoke
    bx r2
    decryptpoke: .word 0x0803FBE9

    also, I dont know what do you mean in #0x ## is that a variable for a certain byte, example #0x16 that refers to a fairy or something,

    How should I insert that in a Rom? Is that necessary to write? and Is that seperated in the first asm?
     

    kearnseyboy6

    Aussie's Toughest Mudder
    300
    Posts
    15
    Years
    • Seen Jun 22, 2019
    How can I insert this routine in my rom, because it is not he same in the tutorial given by other here..... He/She says that to call that routine in a rom, I must call that using XSE..... Just a noob question...xD

    I dont get that, so after I wrote THE RAIN EVO METHOD in THUMB assembler, I need to right that again inTHUMB ASSEMBLER? then after what will I do? Do I need to edit hex or something....sorry for the questions, I just want to know how to compile that and make it works.


    another that confuses my mind.... I tried to edit that in G#HS but nothing happened... and Will you give me a link for KK552's syntax for the ini file . another one, will you give me a clearer example of what will I edit in the ini file... for example in evomethod blah blah blah, I just replace the offset of offset I placed my asm or something........


    sorry for the questions
    Firstly all routines you compile you must put anywhere in the ROM with free space that ends in either 0,4,8,C. You then take that location and put it in the next entry of the table you repointed in step 1. No SXE is needed.

    Then open up the ini, and follow the format for G3HS (there is only 'level','item','trade') to add your own entries.
     

    Lance32497

    LanceKoijer of Pokemon_Addicts
    792
    Posts
    9
    Years
  • Firstly all routines you compile you must put anywhere in the ROM with free space that ends in either 0,4,8,C. You then take that location and put it in the next entry of the table you repointed in step 1. No SXE is needed.

    Then open up the ini, and follow the format for G3HS (there is only 'level','item','trade') to add your own entries.

    sorry, but can you give the link on how to edit .ini file?
    and my second question...How can I perform bl routine

    TIA
     

    Chronosplit

    I play for keeps!
    492
    Posts
    13
    Years
    • Seen May 1, 2024
    Question, I'm curious if anyone's tried this.

    Let's say I used the methods here to introduce leveling up as male only, and made Kirlia level-up as a male in to evolve into Gallade. But I leave Gardevoir's evolution at plain level-up as any gender, except at a higher level. Let's say Gallade is at 25 and Gardevoir is at 30.

    Will the world explode if I left things like this? What happens if someone wants to raise a Male Gardevoir under these conditions?

    Oh, and do I need to change an item into an evolutionary stone in order to use it for leveling-up while holding an item?
     
    Last edited:

    MrDollSteak

    Formerly known as 11bayerf1
    858
    Posts
    15
    Years
  • Question, I'm curious if anyone's tried this.

    Let's say I used the methods here to introduce leveling up as male only, and made Kirlia level-up as a male in to evolve into Gallade. But I leave Gardevoir's evolution at plain level-up as any gender, except at a higher level. Let's say Gallade is at 25 and Gardevoir is at 30.

    Will the world explode if I left things like this? What happens if someone wants to raise a Male Gardevoir under these conditions?

    Oh, and do I need to change an item into an evolutionary stone in order to use it for leveling-up while holding an item?

    It wouldn't work, Gardevoir would need to be female. You can't have Level Up and Friendship evolutions for the same reason. I'm pretty sure that the game doesn't know how to differentiate between the two evolutions if they activate at the same time (if you had a lvl 29 male kirlia that hit 30)
     

    kearnseyboy6

    Aussie's Toughest Mudder
    300
    Posts
    15
    Years
    • Seen Jun 22, 2019
    It wouldn't work, Gardevoir would need to be female. You can't have Level Up and Friendship evolutions for the same reason. I'm pretty sure that the game doesn't know how to differentiate between the two evolutions if they activate at the same time (if you had a lvl 29 male kirlia that hit 30)

    Not exactly, the game can use 1 variable argument (visible in G3HS) which can be a level, hold item, map name, weather, move etc.

    There are two branching locations as well:

    Check for appropriate level: levelcheckloc: .word 0x08043017
    Go straight to the evolution (no levelcheck): evolutionloc: .word 0x0804310D

    Also specifics relating to the properties of the pokemon ie: gender, stats, happiness etc can all be decrypted from the pokemon. So yes you can decrypt happiness and then compare it and send it to the levelcheck location.
     

    ~SAGE

    Peruvian Rom Hacker
    39
    Posts
    9
    Years
  • when i apply the .ips in my rom, the rom crashs,
    why?
    i've installed the patch of jonkane with 870pkm,
    cold u tell me what new types of evolution are included in this new patch?
     

    kearnseyboy6

    Aussie's Toughest Mudder
    300
    Posts
    15
    Years
    • Seen Jun 22, 2019
    when i apply the .ips in my rom, the rom crashs,
    why?
    i've installed the patch of jonkane with 870pkm,
    cold u tell me what new types of evolution are included in this new patch?

    No idea, you will have to discuss that with jonkane and ask where he repointed everything in his patch.
     

    anonyboy

    Pokemon Aerial Emerald Creator&Pokemon Hybrid Co-C
    286
    Posts
    10
    Years
  • No idea, you will have to discuss that with jonkane and ask where he repointed everything in his patch.

    Basically he dosen't need to ask, he just need to go to the offset 0x42fc0 and then to the pointer located there.

    i don't know if i should put this here but whatever. for emerald, the table that needs to be copied to free space is at 0x6D198. and the offset that needs to be changed to the repointed table is at 0x6D194. for ruby, the table that needs to be copied to free space is at 0x3F58C. and the offset that needs to be changed to the repointed table is at 0x3F588. however i do not know where the limiting bytes are for either of them

    Try Changing In emerald 0x6D180 and in ruby it is 0x3F574.
     
    Last edited by a moderator:
    252
    Posts
    11
    Years
    • Seen Jul 6, 2019
    can any one tell me what's wrong with this routine, it's for specific map name evolution in emerald

    Spoiler:

    i figure it may have something to do with the numbers at the bottom, but i'm not good with asm
    I just looked at your map bank offset in VBA's memory viewer, and it seems like your offset is wrong. (It had a FF byte in it, and it didn't change when I went from Petalburg City to Route 102) I'll try and find the correct map bank offset, and I'll notify you if I find it.
    EDIT: the map bank offset seems to be 0x020322E4. Try that, and see if it works. If it doesn't work, the offsets for the levelcheckloc or the noevo could be wrong. (or the evolutions work differently for em, but I highly doubt that)
    EDIT2: *facepalm
    I misunderstood which routine you were using. I thought you were using the map bank routine, instead of the map name routine. Sorry about that. That being said though, you probably still have the wrong map name offset, since the ram offsets for fr and em are usually different.
     
    Last edited:
    116
    Posts
    16
    Years
  • can any one tell me what's wrong with this routine, it's for specific map name evolution in emerald

    Spoiler:

    i figure it may have something to do with the numbers at the bottom, but i'm not good with asm

    The map ram of Emerald is 0x0203732C. I spent a few hours to find it out last time. I had been tested it and worked properly.
     
    Last edited:
    116
    Posts
    16
    Years
  • I just looked at your map bank offset in VBA's memory viewer, and it seems like your offset is wrong. (It had a FF byte in it, and it didn't change when I went from Petalburg City to Route 102) I'll try and find the correct map bank offset, and I'll notify you if I find it.
    EDIT: the map bank offset seems to be 0x020322E4. Try that, and see if it works. If it doesn't work, the offsets for the levelcheckloc or the noevo could be wrong. (or the evolutions work differently for em, but I highly doubt that)
    EDIT2: *facepalm
    I misunderstood which routine you were using. I thought you were using the map bank routine, instead of the map name routine. Sorry about that. That being said though, you probably still have the wrong map name offset, since the ram offsets for fr and em are usually different.

    It was fixed. The map ram is 0x0203732C. Could you tell me how to change the map bank and map number into hex code if I using the map bank routine in Emerald? Thanks in advance.
     

    anonyboy

    Pokemon Aerial Emerald Creator&Pokemon Hybrid Co-C
    286
    Posts
    10
    Years
  • It was fixed. The map ram is 0x0203732C. Could you tell me how to change the map bank and map number into hex code if I using the map bank routine in Emerald? Thanks in advance.
    could you find the decryptpoke offset for emerald? if we have it that means we could port the existing evolution routines from FR to Emerald.
     
    Back
    Top