• 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.
  • Our friends from the Johto Times are hosting a favorite Pokémon poll - and we'd love for you to participate! Click here for information on how to vote for your favorites!
  • Akari, Red, Kris, May - which Pokémon protagonist is your favorite? Let us know by voting in our semifinal favorite protagonist poll!
  • 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.

[Other] How to modify which ROAMING beast to get, in FRLG?

LegendChu

❤ CAREFREE, BUT CARING ❤
  • 14,123
    Posts
    11
    Years
    How do I change what "Roaming Beast", I get according to the Starter I choose in FR/LG. I mean, say what if I want to change the three "Roaming Beasts" Raikou/Entei/Suicune, to say Groudon/Kyogre/Rayquaza or for that matter any other trio combination. Is there any way to do that?

    Pika Pika :chu:
     
    Last edited:
    Can Advance Starter really do that? I have that tool & no I don't think so-_-, I mean it can only change your & your Rival's starters, levels etc, right!

    I was actually talking about changing the Roaming Beast in FRLG, say if I choose Bulbasaur as my starter, I want Kyogre to roam in the wild instead of Entei (ya I know, Kyogre roaming around in the grass would be stupid, but just for e.g.) or say if I choose Squirtle, I want Groudon to roam in the wild, instead of Raikou.

    Is that possible, I mean can any tool do that?

    Pika Pika :chu:
     
    There isn't a tool that can do that. It just has to be a script, and this kind of script would be pretty difficult. This tutorial probably won't help you, but if you need to learn some scripting your good. :) But you need to be more specific, because there was no way we could have known you wanted roaming Legendaries.
     
    There isn't a tool that can do that. It just has to be a script, and this kind of script would be pretty difficult. This tutorial probably won't help you, but if you need to learn some scripting your good. :) But you need to be more specific, because there was no way we could have known you wanted roaming Legendaries.

    I think he just means editing the index number of the existing roaming legendaries instead of completely making new ones, it would be alot easier too.
     
    Ok well what you'll want to do is to set a variable according to what Pokemon you choose as your starter. ie if you choose charmander set the variable 0x40a0 to 0x1 or bulbasuar to 0x2 or squirtle 0x3.(just as examples)
    then setup a roaming pokemon script using THIS asm routine. Then in your script that determines when the roaming pokemon is started have something along this format:
    Code:
    .......
    compare 0x40a0 0x2
    if 0x0 goto @charmander
    if 0x1 goto @bulbasuar
    if 0x2 goto @squirtle
    ....
    
    #org @charmander
    setvar 0x8000 0x[Species ID]
    setvar 0x8001 0x[Level]
    setvar 0x8003 0x[Map table index (to be explained in a later section)]
    callasm 0x[this routine +1]
    
    #org @bulbasuar
    setvar 0x8000 0x[Species ID]
    setvar 0x8001 0x[Level]
    setvar 0x8003 0x[Map table index (to be explained in a later section)]
    callasm 0x[this routine +1]
    
    #org @squirtle
    setvar 0x8000 0x[Species ID]
    setvar 0x8001 0x[Level]
    setvar 0x8003 0x[Map table index (to be explained in a later section)]
    callasm 0x[this routine +1]
     
    Guys, guys, guys. You don't need to call new routines that spawn legends, you don't need new vars that will keep track of the chosen starter. You don't need to write new difficult scripts. And to me, it was perfectly clear what he wanted from the first post.

    Anyways, the roaming legends are set during the script at 0x170FA5 (Celio event and stuff) by special 0x129. To activate them from a different moment, remove the special from that script and place it somewhere else. It will activate a roaming beast based on var 0x4031, which contains the number of the starter you've chosen.

    Now, to modify what roamer you get, there are two options:
    1. If the index numbers of the roamers you want are not higher than 0xFF, you can put the three indexes at the bytes at 08141CAA, 08141CB4 and 08141CB8 in the order 2, 0, 1 based on the value of var 0x4031.
    2. If the index numbers of the roamers you want are higher than 0xFF, put them at the halfwords at 083F5D2C, 083F5D2E and 083F5D30 in the order 0, 1, 2 based on the value of var 0x4031 and write the four bytes 06 1C 0B E0 to 08141C9E.
     
    Guys, guys, guys. You don't need to call new routines that spawn legends, you don't need new vars that will keep track of the chosen starter. You don't need to write new difficult scripts. And to me, it was perfectly clear what he wanted from the first post.

    Anyways, the roaming legends are set during the script at 0x170FA5 (Celio event and stuff) by special 0x129. To activate them from a different moment, remove the special from that script and place it somewhere else. It will activate a roaming beast based on var 0x4031, which contains the number of the starter you've chosen.

    Now, to modify what roamer you get, there are two options:
    1. If the index numbers of the roamers you want are not higher than 0xFF, you can put the three indexes at the bytes at 08141CAA, 08141CB4 and 08141CB8 in the order 2, 0, 1 based on the value of var 0x4031.
    2. If the index numbers of the roamers you want are higher than 0xFF, put them at the halfwords at 083F5D2C, 083F5D2E and 083F5D30 in the order 0, 1, 2 based on the value of var 0x4031 and write the four bytes 06 1C 0B E0 to 08141C9E.
    I didnt realize that there was that already in Fire Red. Lol
     
    Am I seriously the only one who got the question?

    I'm lost at why no one undestood the question.. The title literally says 'how to modify which beast to get in FRLG'. What other roaming legends are in FRLG?

    Ok well what you'll want to do is to set a variable according to what Pokemon you choose as your starter. ie if you choose charmander set the variable 0x40a0 to 0x1 or bulbasuar to 0x2 or squirtle 0x3.(just as examples)
    then setup a roaming pokemon script using THIS asm routine. Then in your script that determines when the roaming pokemon is started have something along this format:
    Code:
    .......
    compare 0x40a0 0x2
    if 0x0 goto @charmander
    if 0x1 goto @bulbasuar
    if 0x2 goto @squirtle
    ....
    
    #org @charmander
    setvar 0x8000 0x[Species ID]
    setvar 0x8001 0x[Level]
    setvar 0x8003 0x[Map table index (to be explained in a later section)]
    callasm 0x[this routine +1]
    
    #org @bulbasuar
    setvar 0x8000 0x[Species ID]
    setvar 0x8001 0x[Level]
    setvar 0x8003 0x[Map table index (to be explained in a later section)]
    callasm 0x[this routine +1]
    
    #org @squirtle
    setvar 0x8000 0x[Species ID]
    setvar 0x8001 0x[Level]
    setvar 0x8003 0x[Map table index (to be explained in a later section)]
    callasm 0x[this routine +1]

    I just realized you're making a completely new roaming legend script :/ Did people really not know that there are already romaing legends in FRLG?
     
    I just realized you're making a completely new roaming legend script :/ Did people really not know that there are already romaing legends in FRLG?
    Nope.:) I've never played fr so i had no idea.
     
    Ok well what you'll want to do is to set a variable according to what Pokemon you choose as your starter. ie if you choose charmander set the variable 0x40a0 to 0x1 or bulbasuar to 0x2 or squirtle 0x3.(just as examples)
    then setup a roaming pokemon script using THIS asm routine. Then in your script that determines when the roaming pokemon is started have something along this format:
    Code:
    .......
    compare 0x40a0 0x2
    if 0x0 goto @charmander
    if 0x1 goto @bulbasuar
    if 0x2 goto @squirtle
    ....
    
    #org @charmander
    setvar 0x8000 0x[Species ID]
    setvar 0x8001 0x[Level]
    setvar 0x8003 0x[Map table index (to be explained in a later section)]
    callasm 0x[this routine +1]
    
    #org @bulbasuar
    setvar 0x8000 0x[Species ID]
    setvar 0x8001 0x[Level]
    setvar 0x8003 0x[Map table index (to be explained in a later section)]
    callasm 0x[this routine +1]
    
    #org @squirtle
    setvar 0x8000 0x[Species ID]
    setvar 0x8001 0x[Level]
    setvar 0x8003 0x[Map table index (to be explained in a later section)]
    callasm 0x[this routine +1]

    That was to make an arbitrary Pokemon to roam :)
     
    Okay, I modified the question a bit, hopefully its more understandable now.

    Scripting is something I haven't really got a hang of yet, coz I think its the hardest part of hacking. But from what I can understand from the discussion is, that it IS possible to change the Roaming Beasts, right?

    The Roaming Beasts actually start roaming, only after you deliver the Sapphire to Celio on One Island, right, so if I add joexv:'s script (I don't know where to put it though), WITHOUT altering the original script, will that make another Pokemon roam around in Hoenn. I mean for e.g., my Starter is Squirtle, which means Raikou will roam in Hoenn, after the Celio event. Now if I input joexv:'s method & input this data (I don't know what to put in the 3rd & 4th lines)~_~

    #org @squirtle
    setvar 0x8000 0x195 (Groudon's Hex No.)
    setvar 0x8001 0x50
    setvar 0x8003 0x[Map table index (to be explained in a later section)]
    callasm 0x[this routine +1]

    Now will this make, both Raikou AND Groudon (at Lv.50) roam in Kanto?

    Pika Pika :chu:
     
    Okay, I modified the question a bit, hopefully its more understandable now.

    Scripting is something I haven't really got a hang of yet, coz I think its the hardest part of hacking. But from what I can understand from the discussion is, that it IS possible to change the Roaming Beasts, right?

    The Roaming Beasts actually start roaming, only after you deliver the Sapphire to Celio on One Island, right, so if I add joexv:'s script (I don't know where to put it though), WITHOUT altering the original script, will that make another Pokemon roam around in Hoenn. I mean for e.g., my Starter is Squirtle, which means Raikou will roam in Hoenn, after the Celio event. Now if I input joexv:'s method & input this data (I don't know what to put in the 3rd & 4th lines)~_~

    #org @squirtle
    setvar 0x8000 0x195 (Groudon's Hex No.)
    setvar 0x8001 0x50
    setvar 0x8003 0x[Map table index (to be explained in a later section)]
    callasm 0x[this routine +1]

    Now will this make, both Raikou AND Groudon (at Lv.50) roam in Kanto?

    Pika Pika :chu:
    Why not just use the solution I posted?
     
    Okay, I modified the question a bit, hopefully its more understandable now.

    Scripting is something I haven't really got a hang of yet, coz I think its the hardest part of hacking. But from what I can understand from the discussion is, that it IS possible to change the Roaming Beasts, right?

    The Roaming Beasts actually start roaming, only after you deliver the Sapphire to Celio on One Island, right, so if I add joexv:'s script (I don't know where to put it though), WITHOUT altering the original script, will that make another Pokemon roam around in Hoenn. I mean for e.g., my Starter is Squirtle, which means Raikou will roam in Hoenn, after the Celio event. Now if I input joexv:'s method & input this data (I don't know what to put in the 3rd & 4th lines)~_~

    #org @squirtle
    setvar 0x8000 0x195 (Groudon's Hex No.)
    setvar 0x8001 0x50
    setvar 0x8003 0x[Map table index (to be explained in a later section)]
    callasm 0x[this routine +1]

    Now will this make, both Raikou AND Groudon (at Lv.50) roam in Kanto?

    Pika Pika :chu:

    For the last time... There are already roaming legends in FRLG.. So you don't need to do this, just use the info daniilS gave to edit the existing ones. Hex editing is a lot more straight forward, anyways.
     
    Back
    Top