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

Quick Research & Development Thread

1
Posts
6
Years
    • Seen Dec 12, 2020
    gen vi exp share system (em):

    4A4BE - 02 21
    4A594 - 01 22
    4A634 - 01 20

    ok this should be finalized
    no more crap from me ahaha

    Hey, buddy. I am new at this. is this code a cheat? or how can i add this to my game?
     
    277
    Posts
    9
    Years
  • Base Stats In Red/Blue/Yellow

    Hey! I randomly opened this thread in the rom hacking help section and was surprised to not see a good answer. I thought telling someone to just hack firered instead was kinda dumb, so I said to myself surely there's a tool for editing base stats. I did some googling, went to sketendo, and I couldn't find anywhere that had a tool for editing pokemon. Then I tried googling for offset(s) of the pokemon table, couldn't find anything in 10 seconds, got lazy and just decided to look up the Pokemon's stats in hex in HxD. I got them! Through looking at the data, I found that the stats table starts at 0x383df (the same in Red/Blue/Yellow) ordered from Bulbasaur to Mewtwo. The stats are in this order: HP, Attack, Defense, Speed, Special. I was confused for a sec because I thought special would be before speed, but it isn't and even bulbepedia knew this. In between the stats of different Pokemon, there was consistently 0x18 bytes of filler, so I decided to make a script to find where each pokemon's stats would be. I just started at 0x383df and went up 1C bytes (I thought it'd be 0x18 + 0x5 = 0x1D, but I forgot computing starts at 0) and got the location of every pokemon's stats but mew. Mew I heard was added to the game super last minute, and the only instance of 0x64 x 5 is at 0x425C in Red/Blue and 0x39447 in Yellow.

    Tldr I used a script to find where the base stats of each pokemon in RBY is and here is the results, which I later verified.
    Spoiler:
     
    Last edited:
    81
    Posts
    7
    Years
    • Seen today
    [Ruby]

    Pokemons receive EXP after capturing

    Spoiler:


    cik0m5fnl26xvjtzg.jpg


    59osr9sqfkun8gpzg.jpg
     
    Last edited:
    650
    Posts
    6
    Years
  • Using Dizzy's Hacked Engine to Check a Pokemon's Level

    Recently I wanted to have a way to check a pokemon's level for an NPC dialog to branch off depending on if your pokemon was leveled beyond a certain point. I couldn't find a way to do this in Emerald so I figured out a way to do it myself using Dizzy's Hacked Engine and figured I should post it in case others want to do something similar.
    Spoiler:

    Now this is a really basic script that just tells you a pokemon's level, you'd need to compare the result to a predetermined value and can go from there pretty easily.
     

    Li Yun

    "Does the truth exist or is it all a lie and the w
    204
    Posts
    3
    Years
  • Expand object effect tables and limiter - Emerald
    Offset: 0x06BE74, Change A5 28 3B D8 to 00 00 00 00

    Video:
     
    Last edited:
    116
    Posts
    16
    Years
  • [Emerald] Receive the National Dex Directly Without Modifying the Script

    Go to 0x9D42C, put 01 20 70 47.

    Credits: Sagiri and Lunos

    [Emerald] Fire Red Style Fishing (Remove having to reel in while Fishing)

    From 0x8CA20 to 0x8CA62, replace them with the following bytes.

    Spoiler:


    From 0x8CB6C to 0x8CBA3, replace with the following bytes.

    Spoiler:


    Credit: All belong to NobodySociety (originally from: https://www.pokecommunity.com/showpost.php?p=10228943&postcount=1)

    [Emerald] Berry Trees No Longer Disappear Until the Player Picks Them

    Go to 0xE17DE, put 04.

    From 0xE1870 to 0xE191B, replace with the following bytes.

    Spoiler:


    Credit: All belong to Buffel Saft (originally from: https://www.pokecommunity.com/showpost.php?p=10142996&postcount=63)
     

    Momoro

    I'm gonna put some dirt in your eye..
    269
    Posts
    4
    Years
  • I was facing the same problem a few days ago. Repoint the battle script at 0x2DBD84 is not means to replace the original one with the new one directly in the address.

    Firstly, you can place all the machine code in 0xECC060 like this:
    attachment.php



    Then replace the two pointers here from 84 BD 2D 08 to 60 C0 EC 08:
    attachment.php


    attachment.php


    Finally, replace the bytes at 0x3DE7C with B5 DE 03 08. It may working properly now.

    (even though this post is old) The attachments no longer exist, so could you elaborate on which pointers to change? And how would I place all the machine code in 0xECCC060? (the attachment, too, is gone) Thanks 🙂
     
    7
    Posts
    4
    Years
    • Seen Apr 30, 2024
    Nidoran Gender Symbol [FR]

    I don't know if this bothers anyone else, but I never liked how the Nidorans get special treatment with regards to the gender symbol (because it's part of their name, they don't have one, unless you nickname them).

    You can get rid of this but putting 00 at all of the following locations:

    Code:
    0x08136238
    0x0813623C
    0x081218E4
    0x081218E8
    0x08049718
    0x0804971C

    You'll probably want to remove the gender symbols from their species names if you use this, or else it'd essentially be duplicated (once in their name, and then the standard one every Pokémon gets).

    This doesn't fix ones for when you use the PC, but i found the offsets to fix them. Just put 00 on those offsets.

    [FR]
    Code:
    0x08093DE8
    0x08093DEC

    Also Emerald equivalents if you want to get rid of them there also. Same thing, put 00 on those offsets.

    [Em]
    Code:
    0x081B2C1C
    0x081B2C20
    0x0807422E
    0x08074232
    0x081C27E4
    0x081C27E8
    0x08093DE8
    0x08093DEC
     
    7
    Posts
    2
    Years
    • Seen Jan 31, 2022
    Double underwater movement speed [EM]

    In the vanilla game, moving around underwater is painfully slow (it's the same speed as walking). Doubling the movement speed matches that of running and surfing, which players have grown accustomed to.

    At 0x08AF4E, replace 05 4C 21 78 08 20 08 40 00 28 06 D0 28 1C 00 F0 EC FB 29 E0 00 00 90 75 03 02 10 20 08 40 00 28 1F D1 with 07 4C 21 78 08 20 08 40 00 28 03 D1 10 20 08 40 00 28 06 D0 28 1C 00 F0 E8 FB 25 E0 00 00 90 75 03 02.

    Credits: me

    Disable random PokéNav calls from trainers [EM]

    Every so often, trainers will interrupt your adventure, giving you a call to tell you about the incredible level 3 Zigzagoon they just caught. These calls have no effect on trainer rematches and serve no hidden purpose. All of the match call dialogue can still be accessed if you initiate the calls yourself via the PokéNav menu, meaning nothing is lost when random calls are disabled. Additionally, this has no effect on story-related calls.

    To disable random PokéNav calls from trainers, make the following changes:

    At 0x195E8E, replace 01 with 00.

    At 0x195EAC, replace 02 with 00.

    The byte at 0x195EAC controls the match call chance when the Pokémon in your first party slot has the LightningRod ability (by default, it doubles the base chance).

    Credits: me

    Fix Pokéblock throw bug in Safari Zone [EM]

    In Ruby/Sapphire/Emerald, instead of the escape factor having a minimum value of 1 (5% chance to flee) like the catch factor, the game is coded to set the escape factor to 1 if it would become negative due to a thrown Pokéblock. This means it is possible for the player to throw Pokéblocks such that a Pokémon's escape factor becomes exactly 0, and the Pokémon will have a 0% chance to escape. This can be fixed with a single byte change.

    At 0x03F0CB, replace D2 with D8.

    Credits: pret/pokeemerald #bugfix
     
    Last edited:

    Prof. Leon Dias

    Let your memes be dreams
    118
    Posts
    11
    Years
  • This is probably something you could find by yourself but it's nice to have it in one place I guess.

    0xE991F8 - Trainer Card Tileset
    0x3CC6F0 - Trainer Card Front Tilemap
    0x3CC984 - Trainer Card Back Tilemap
    0x3CCEC8 - Trainer Card Background Tilemap
    0x3CD5E8 - Badges
    0x3CC368 - Trainer Card Stickers
    0xE99198 - Palettes (first is the Trainer Card itself (and the stickers? I think), then the background for males, then the background for females)

    Wanted to add to this:
    I found the palettes for the trainer card with a different amount of stars.
    0 stars- E99198
    1 star- 3CD050
    2 stars- 3CD110
    3 stars- 3CD1D0
    4 stars- idk, but probably around there.

    This should help people who want to customize the trainer card further.
     
    31
    Posts
    3
    Years
  • Upon reading all the Research Database here.... there is still one thing i really wanted to know and how to do it.... it was how to fix the trainer fixing... i hope you can share your guide or tutorials sir on how to implement this on Fire Red..i already have some tools.... thanks in advance sirs!!!...
     
    173
    Posts
    4
    Years
    • Seen Feb 4, 2024
    Does anyone know how to make X Item (e.g. X Attack) raise by 2 instead of 1 in EM? I searched the forum but no correct result :(
     
    173
    Posts
    4
    Years
    • Seen Feb 4, 2024
    How can I do these thing:
    Use a healing item like Potion to a Pokemon and not back to bag automaticly like BW in FR or EM? And how to remove (or skip) FR's item using animation?
    Use any HM moves without ask, just do it directly (e.g. cut tree directly) like Unbound.
     
    48
    Posts
    7
    Years
  • For FireRed:
    Changing the byte at 0x56150 from 0x01 to 0x00 makes it so that the game will never override surf music. It should also work for bike music since the checks for both music are done simultaneously but I have not checked the case for the bike music.
     

    ScripNewbie

    Mystc Creator
    38
    Posts
    3
    Years
    • Seen Jan 27, 2023
    Edit Color In Textbox

    Fire Red
    Hello i know everyone know about this but i just found a way to change the color in color textbox like:

    Spoiler:


    Spoiler:


    Spoiler:


    If you change index 4 it will the change the:
    \c\h01\h04 in PKSV
    [Red_fr] in XSE
    If you change the index 4 into green,
    the command \c\h01\h04, [Red_fr] will be a green color in textbox.
     
    Last edited:
    990
    Posts
    4
    Years
  • Hello i know everyone know about this but i just found a way to change the color in color textbox like

    Pksv Example:
    \c\h01\h04- Red
    \c\h01\h06- Green​

    You can literally edit that color!
    Open APE and your rom there
    Go to offset 471DEC(not compressed)
    And edit it, careful thou i don't know if it affect anything inside the game but i'm pretty sure it's safe to edit, just to be safe just edit the 4,5,6,7,8,9 index
    If you change index 4 it will the change the \c\h01\h04..
    Example you edit the 4rth index to green the command
    \c\h01\h04 will be a green color in textbox.
    I know almost all of you know about this but maybe some of them not so, there you go.

    Merged your thread with this one, since you just state a small thing. And please write which game this is for, thanks!
     
    Last edited:

    ScripNewbie

    Mystc Creator
    38
    Posts
    3
    Years
    • Seen Jan 27, 2023
    Merged your thread with this one, since you just state a small thing. And please write which game this is for, thanks!

    Thanks for doing that!
    Can i request a thing?
    Do you know an asm that calls a script, i mean asm that calls a script not script that calls asm.
    Because i can't figure out what to do in cfru (void*), it's asking an asm not the script itself, but i want to run some script on it, thanks if you know!
     
    990
    Posts
    4
    Years
  • Thanks for doing that!
    Can i request a thing?
    Do you know an asm that calls a script, i mean asm that calls a script not script that calls asm.
    Because i can't figure out what to do in cfru (void*), it's asking an asm not the script itself, but i want to run some script on it, thanks if you know!

    I don't understand your question, sorry. D:
    Can you elaborate a little more?
     
    Back
    Top