Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.

TrollandToad.com
Reply
 
Thread Tools
  #1    
Old October 15th, 2012 (9:41 PM). Edited January 31st, 2013 by itman.
itman itman is offline
Back to ROM hacking. :D
     
    Join Date: May 2007
    Age: 23
    Nature: Adamant
    Posts: 100
    This is a tutorial on how to add new moves to Pokemon Fire Red without replacing old ones, and a start on creating new move effects. This info was founded by Jambo51, and the original thread can be found here:

    http://www.pokecommunity.com/showthread.php?t=263479

    Due to it being a tad confusing to some (because it was never written to be a tutorial in the first place), I thought I would make it easier to follow because this is huge, and I feel like many hacks could benefit from this. This is for Fire Red BPRE 1.0 (aka FR US 1.0) by the way. To know if you have a BPRE ROM, load it up and watch the title screen. If the "Presents" after the Gamefreak symbol doesn't show up, you have BPRE. I hope this makes it easier for people to understand how to do it.

    What's needed:
    1. FIre Red BPRE 1.0 ROM (aka FR US 1.0)
    2. A Hex Editor (I'll be using Hex Workshop).
    3. Pokemon Game Editor by Gamer2020. (Download it here: http://www.pokecommunity.com/showthread.php?t=265635).
    4. As Jambo excellently puts it, *PATIENCE*.


    PART ONE - ADDING NEW MOVES WITHOUT REPLACING EXISTING ONE

    Step One
    Spoiler:
    Open up your ROM in a hex editor (once again, I'll be using hex workshop).

    Spoiler:





    Step Two

    Spoiler:
    Goto address 0x250C04.

    This is the address of the original move data, which we are going to be moving to a different location.

    Spoiler:









    Step Three

    Spoiler:
    Edit > Select Block > 4260 Bytes. Copy.

    Spoiler:









    Step Four

    Spoiler:
    Open up Free Space Finder and search for 4260 Bytes of Free Space. Goto that address. For this example, we'll use 0x900000.

    Free Space = FF's. Basically, anything from 0x780000 - 0xFFFFFF is free space.

    Spoiler:






    Step Five

    Spoiler:
    Paste the original move data in the new location.

    IMPORTANT: Paste OVER the FF's. So go to Edit > Select Block > 4260, and then paste there. DO NOT PASTE WITHOUT HIGHLIGHTING THE FF'S FIRST.

    WRITE DOWN THIS ADDRESS!!! So in my case, I'd write down 0x900000 = Move data.

    Spoiler:














    Step Six

    Spoiler:
    Change all the original pointers to the original move data to your new location.

    This means, basically, that anything that is directed to the old location will be sent to the new location. So, in my case, 0x900000 is the new location. I want to first go to Edit > Find .

    Spoiler:





    That is what will show up. Since the old table was located at 0x250C04, any pointer to that data will look like this:

    Spoiler:
    04 0C 25 08


    So we want to search for that string of bytes in the ROM.

    Spoiler:


    And then replace EVERY one with our new pointer, in my case, 0x900000, which becomes:

    Spoiler:
    00 00 90 08


    *Quick lesson on pointers.*

    1. First look at your offset. Example offset: 0x594039
    2. Break it into sets of two's: 59 40 39
    3. Take the last byte and put it first: 39 59 40
    -Remember, the two numbers together is one byte, so don't rearrange the byte itself, just the order.
    4. Take the last byte and put it between the two other bytes: 39 40 59
    5. Add 08 to the end: 39 40 59 08

    Another example real quick:
    0xA9EBB0 becomes B0 EB A9 08
    Basically you're just reversing the bytes and adding 08.

    *End of quick lesson*

    So once again, we're replacing all of the pointers to 0x250C04 to 900000. Just keep on searching for that string and replacing them until there are no more left to be replaced.

    Seriously, there are A LOT, so BE PATIENT.

    Spoiler:









    Step Seven

    Spoiler:
    Edit > Find (again).

    There are ALSO pointers in the ROM to 0x250C08...for PP data. So, we once again have to replace all of those pointers with your new pointer + 4. So, 0x900000 + 4 is 0x900004.


    So the pointers to 0x250C08 will look like this: 08 0C 25 08

    And the replacement pointer of 0x900004 looks like this: 04 00 90 08

    Spoiler:











    Now replace all of those! There are a lot of these too, so be patient.



    Step Eight

    Spoiler:
    Go back to the original move table data (0x250C04) and copy (12*number of new attacks) you want to add.
    The maximum that the table can hold is 511. There are already 354 moves though. So in this example, I want to to the maximum; 511-354 is 157. So 12*157 is 1884.

    Now do Edit > Select Block > 1884 and copy that data.

    Spoiler:









    Step Nine

    Spoiler:
    Return to where you put your new move data from before (in my case 0x900000). Go to the end of the data (where the FF's begin again). Once again; Edit > Select Block > 1884. And then paste.

    Spoiler:


















    Step Ten

    Spoiler:
    Goto address 0x247094. Edit > Select Block > 4615.
    Copy that data.

    This is the data for attack names.

    Spoiler:















    Step Eleven

    Spoiler:
    Open up Free Space Finder and search for 4615 bytes of free space. To make things easier, you can put this data right after the move data. Write down the offset you inserted this at! In my case, I'm pasting it at 0x901800.

    Spoiler:












    Step Twelve

    Spoiler:
    Much like before, we need to change all of the pointers associated with the old location and direct them to our new location. Edit > Find.

    Any pointer to 0x247094 will look like 94 70 24 08

    So that's what we'll search.
    Once again, there's more than one!

    I'll be replacing mine with 00 18 90 08.

    Spoiler:












    Step Thirteen

    Spoiler:
    Go back to 0x247094 and copy (13*number of new attacks) bytes. We'll add this onto the end of the other table just like we did with the move data. Once again, we want the table to support up to 511 moves, so 157*13 is 2041.

    Now do Edit > Select Block > 2041, and copy that data.

    Spoiler:












    Step Fourteen

    Spoiler:
    Return back to your new location for the attack names data (mine was 0x901800) and go to the end of the data. Once at the bottom, once again, Edit > Select Block > 2401 and paste.


    Spoiler:












    Step Fifteen

    Spoiler:
    Goto 0x1C68F4. Edit > Select Block > 1420. Copy.

    This is the animation data. The new moves wouldn't work without some sort of animation to go along with them...

    Spoiler:









    Step Sixteen

    Spoiler:
    Open up Free Space Finder and search for 1420 bytes. (Or if you know you have room, paste this data right after the new attack names data). Edit > Select Block > 1420 and paste the data. MAKE SURE the offset you paste the data on ends with a 0, 4, 8, or C, OR IT WILL NOT WORK. So the offset I'm pasting mine it is 0x90336C.

    Spoiler:












    Step Seventeen

    Spoiler:
    Edit > Find > F4 68 1C 08

    Yep, you guessed it, we have to change the pointer to that data to the one of our new one. I'm pretty sure there is only one, but check just to be safe. So I will change it to 0x90336C.

    So my pointer will look like this: 6C 33 90 08.

    Spoiler:












    Step Eighteen

    Spoiler:
    Go back to 0x1C68F4 and copy (4*number of new attacks) bytes. 157*4 is 628. So Edit > Select Block > 628. Copy.

    Spoiler:









    Step Nineteen

    Spoiler:
    Once again, you can open Free Space Finder and search for 628 free blocks, or to make things easier once again, just post this directly underneath the third set of data that you just placed (the animation data).

    A note, each move will have an animation. As of now, each move will inherit the animations of the first however many attacks you added, so new attack number 1 (#335) will have pound's animation, etc...

    Spoiler:












    Step Twenty

    Spoiler:
    Open up Pokemon Game Editor's INI (Should be in a folder that says "ini" that came with the program).

    Or you can open up Pokemon Game Editor, go to "Help", and click "Edit roms.ini".

    Spoiler:



    Step Twenty-One

    Spoiler:
    Change the offsets so it knows where the new location of your attack data and such is.

    The only things we need to change are these three things:

    NumberOfAttacks=354
    AttackData=&H250C04
    AttackNames=&H247094

    We want to change those to our new offsets. Here is what mine will look like (and yours too, if you followed the tutorial).

    NumberOfAttacks=511
    AttackData=&H900000
    AttackNames=&H901800

    Spoiler:


















    Step Twenty-Two

    Spoiler:
    Lastly, there is one limiter in the ROM. If it is not disabled, instead of saying "Bulbasaur used VenoShock!", it will say "Bulbasaur used a POISON move!".

    Go to 0xD75Fc and overwrite whatever is there with:

    00 00 00 00 00 00

    Spoiler:






    From Here...

    Spoiler:
    You can now easily edit these moves in Pokemon Game Editor's built in Attack Editor. To put these moves into existing movesets, use Pokemon Game Editor's built in Pokemon Editor.




    PART 2 - CREATING NEW MOVE EFFECTS

    Step One

    Spoiler:
    Open up your ROM in your hex editor and go to
    address 0x1D65A8. Edit > Select Block > 856. Copy.

    This is the move effect table. Right now it only goes up to 213, but by rewriting it we can make it support up to 255 (256, since 0 counts) pointers.


    Spoiler:









    Step Two

    Spoiler:
    Open up Free Space Finder and search for 856 bytes of free space. Go to that location (I'll use 0x910000 in my example). Edit > Select Block > 856. Paste.


    Spoiler:












    Step Two and a Half (hehe)

    Spoiler:
    Edit > Find > A8 65 1D 08 (again, changing the pointers from the original table to our new table). I would be changing them to 00 00 91 08 (By now, I hope everyone understands how pointers work!). Replace them all.

    Spoiler:









    Step Three

    Spoiler:
    Go to the end of your new move effects table. The last pointer, which is 5F 86 1D 08 is actually marking the end of the table. So the pointer before that (which is FB 85 1D 08) is actually the last effect in the table (#213).

    We want to add a new effect, so what we are going to to is overwrite the last pointer (5F 86 1D 08) with a new pointer. Normally you would make your move effect first, and then search for free space to put it, and then make your new pointer, but for the sake of this tutorial we are going to say that my new move will be located at 0x920000.

    Spoiler:












    Step Four

    Spoiler:
    Here is where we actually make new move effects.

    Just a briefing, we can't (yet) create COMPLETELY new move effects, but we can combine and edit any of the existing ones available. With much testing and experimenting, you can create almost all of the moves from Gen 1V and V. I managed to create a working U-Turn/Volt Tackle even from editing Baton Pass's script (look at the end of this tutorial for move effects already created).

    For this tutorial, I am going to make the move Hammer Arm.

    Hammer Arm's effect is simple - After using it, your speed gets lowered by one. Hmmm...

    Let's think for a second. What other moves have effects that can help us create this one...in reality, there are MANY. Let's go with another move that lowers your stats...

    There are many, but let's go with Psycho Boost (after using Psycho Boost, your special attack is lowered by two.

    Go to the location of your new move effect table. (If you followed this tutorial, it's at 0x910000). To find where Psycho Boost's pointer is, we need to first find what effect number it uses.

    Chaos Rush posted a list of them for us in the other thread. It saves everyone A LOT of trouble, so I'll post it here.

    Spoiler:
    0 = no added effect
    1 = puts target to sleep
    2 = posion the target
    3 = abosrbs half the damage inflicted (Absorb, Mega Drain, etc.)
    4 = burn the target
    5 = freeze the target
    6 = paralyze the target
    7 = Selfdestruct, Explosion
    8 = takes 1/2 of damage inflicted on sleeping foe (Dream Eater)
    9 = Mirror Move
    10 = raises user's Attack
    11 = raises user's Defense
    12 = raises user's Speed
    13 = raises user's Special Attack
    14 = raises user's Special Defense
    16 = raises user's evasion
    17 = never misses
    18 = lowers opponent's Attack
    19 = lowers opponent's Defense
    20 = lowers opponent's Speed
    21 = lowers opponent's Special Attack
    22 = lowers opponent's Special Defense
    23 = lowers opponent's Accuracy
    24 = lowers opponent's evasion
    25 = Haze (there's many effects associated exclusively with this move)
    26 = Bide
    27 = Thrash/Petal Dance/Outrage
    28 = Whirlwind/Roar effect
    29 = happens 2-5 times
    30 = Conversion
    31 = may cause flinching
    32 = Recover 1/2 of maximum HP
    33 = badly poisons foe
    34 = Pay Day
    35 = Light Screen
    36 = may freeze, paralyze, or burn
    37 = Rest
    38 = 1-hit KO
    39 = takes 2 turns + high critical hit ratio (Razor Wind)
    40 = always cuts half of foe's current HP
    41 = always do 40 HP damage (Dragon Rage)
    42 = Bind/Fire Spin/Clamp/Whirlpool effect
    43 = high critical hit ratio
    44 = hits twice (Double Kick)
    45 = if miss, then user receives 1/8 of damage it would have dealt (Jump Kick)
    46 = stops stat changes (Mist)
    47 = raises user's critical-hit ratio
    48 = recoil damage, 1/4 of damage (Take Down)
    49 = Confuse target
    50 = sharply raises users Attack
    51 = sharply raises users Defense
    52 = sharply raises users Speed
    53 = sharply raises users Special Attack
    54 = sharply raises users Special Defense
    57 = Transform
    58 = sharply reduces foe's Attack
    59 = sharply reduces foe's Defense
    60 = sharply reduces foe's Speed
    61 = sharply reduces foe's Special Attack
    62 = sharply reduces fow's Special Defense
    65 = Reflect
    66 = poisons the target (again, for some reason)
    67 = paralyzes the target (again, for some reason)
    68 = lower opponent's Attack
    69 = lower opponent's Defense
    70 = lower opponent's Speed
    71 = lower opponent's Special Attack
    72 = lower opponent's Special Defense
    73 = lower opponent's accuracy
    75 = takes 2 turns, may cause opponent to flinch
    76 = may Confuse target
    77 = hits twice, may poison opponent (Twineedle)
    78 = never misses, but attacks second
    79 = Substitute
    80 = immobile next turn (Hyper Beam)
    81 = raises user's Attack every time is hit (Rage)
    82 = Mimic
    83 = Metronome
    84 = steals opponent HP every turn (Leech Seed)
    85 = Splash
    86 = Disable
    87 = damage is equal to user's level (Seismic Toss/Night Shade)
    88 = amount of damage done varies (Psywave)
    89 = Counter
    90 = Encore
    91 = Pain Split
    92 = can only use this attack if user is asleep (Snore)
    93 = Conversion 2
    94 = next move after will not miss (Mind Reader)
    95 = Sketch
    97 = Sleep Talk
    98 = Destiny Bond
    99 = inflicts more damage if user has less HP (Flail, Reversal)
    100 = Spite (cuts opponent's PP)
    101 = False Swipe (will never make opponent faint)
    102 = heals all status problems
    103 = always attacks first
    104 = attacks 3 times, gets stronger each time (Triple Kick)
    105 = steal foe's held item
    106 = prevents foe from fleeing/switching
    107 = inflicts 1/4 damage on sleeping foe (Nightmare)
    108 = raises user's evasion, receives double damage from Stomp
    109 = Curse
    111 = Protect/Detect
    112 = Spikes
    113 = Foresight
    114 = Perish Song
    115 = Sandstorm
    116 = Endure
    117 = Rollout/Ice Ball
    118 = Swagger
    119 = Fury Cutter
    120 = Attract
    121 = higher attack power if Pokemon happiness is higher
    122 = Present
    123 = higher attack power if Pokemon happiness is lower
    124 = prevents all status problems from user
    125 = thaw out if frozen, may burn target (Flame Wheel/Sacred Fire)
    126 = Magnitude
    127 = Baton Pass
    128 = Pursuit
    129 = Rapid Spin (removes Fire Spin, Whirlpool, etc.)
    130 = always do 20 HP damage (SonicBoom)
    132 = Morning Sun
    133 = Synthesis
    134 = Moonlight
    135 = Hidden Power
    136 = Rain Dance
    137 = Sunny Day
    138 = 10% chance of raising user's Defense (Steel Wing)
    139 = may raise user's Attack (Metal Claw)
    140 = may raise user's Attack, Defense, Speed, Special Attack, and Special Defense
    142 = maximizes Attack, HP is cut in half (Belly Drum)
    143 = Psych Up
    144 = Mirror Coat (special version of Counter)
    145 = takes 2 turns, raises user's Defense (Skull Bash)
    146 = may flinch opponent, double the damage if opponent uses Fly or Bounce
    147 = does double the damage if opponent is using Dig
    148 = Future Sight
    149 = does double the damage is opponent is using Fly or Bounce
    150 = may cause flinching + attack power is doubled if opponent used Minimize
    151 = takes 2 turns, unless Sunny Day is in effect. Only 1/2 the damage if Rain Dance, Sandstorm, or Hail
    152 = Thunder (there's many effects associated exclusively with this move)
    153 = Teleport
    154 = Beat Up
    155 = takes 2 turns
    156 = raises user's Defense, power of Rollout and Ice Ball is now doubled
    157 = Softboiled/Milk Drink (Recover, but usable out of battle)
    158 = Attacks first, causes flinching (Fake Out)
    159 = Prevents sleep, attacks for 2-5 turns (Uproar)
    160 = Stockpile
    161 = Spit Up
    162 = Swallow
    164 = Hail
    165 = Torment
    166 = Confuses foe, but raises foe's Special Attack
    167 = Burns the foe, but doesn't affect Fire types
    168 = Memento
    169 = Boosts Attack when burned, paralyzed, or poisoned
    170 = takes 2 turns, but if hit user flinches (Focus Punch)
    171 = Stronger against paralyzed foes, but heals the paralysis (SmellingSalt)
    172 = Makes foes attack only the user (Follow Me)
    173 = Nature Power
    174 = Next electric move used is now stronger (Charge)
    175 = Taunt
    176 = Helping Hand
    177 = Trades held items with foe
    178 = copies opponent's special ability
    179 = Wish
    180 = attacks randomly with one of partner's moves (Assist)
    181 = Ingrain
    182 = lowers user's Attack and Defense
    183 = Magic Coat
    184 = Recycle
    185 = double the damage if user was hurt by opponent in the same turn
    186 = destroyes Light Screen and Reflect (Brick Break)
    187 = Yawn
    188 = opponent loses held item (Knock Off)
    189 = Endeavor
    190 = the higher user's HP, the more damage
    191 = user swaps abilities with opponenet (Skill Swap)
    192 = Imprison
    193 = Refresh
    194 = Grudge
    195 = Snatch
    196 = more damage on heavier foes (Low Kick)
    197 = Secret Power
    198 = recoil damage, 1/3 of damage (Double-Edge)
    199 = confuses all Pokemon on the scene (Teeter Dance)
    200 = high critical hit ratio + may cause burn (Blaze Kick)
    201 = Mud Sport
    202 = damage + badly poison target
    203 = type and power depends on weather (Weather Ball)
    204 = sharply lowers Special Attack after use (Overheat)
    205 = lower's opponent's Attack and Defense (Tickle)
    206 = raises user's Defense and Special Defense (Cosmic Power)
    207 = can hit an opponent using Fly or Bounce (Sky Uppercut)
    208 = raises user's Attack and Defense (Bulk Up)
    209 = high critical hit ratio + poison
    210 = Water Sport
    211 = raises user's Special Attack and Special Defense (Calm Mind)
    212 = raises user's Attack and Speed (Dragon Dance)
    213 = Camouflage


    According to this list, Psycho Boost uses effect number 204 (Same effect as Overheat). Now multiply 204*4, which is 816.

    Edit > Select Block > 816.

    Scroll to the end of your selected bytes. The pointer RIGHT AFTER the end of the selected blocks is the one we're looking for. This is because '0' is also a move effect. So the pointer of Psycho Boost's effect is 1B 84 1D 08, or address 0x1D841B.

    Go to address 0x1D841B

    Spoiler:















    Step Five

    Spoiler:
    Now you are at the move effect for Psycho Boost. To know where the data ends, you need to navigate back to the pointer for Psycho Boost (where we just were before) and see the next closest pointer. I can see that another move effect has a pointer to 0x1D8426, so I know that Psycho Boost's effect is from addresses 0x1D841B to 0x1D8425.

    Spoiler:



    Step Six

    Spoiler:
    This is the data for Psycho Boost.

    Addresses 0x1D841B - 0x1D8425

    Spoiler:
    2E 85 3E 02 02 FB 28 00 69 1D 08


    As of right now, the user of this move will have their special attack lowered two stages. But we want the user's speed to be lowered one stage! In this case, all we need to change is a single byte.

    To note, most moves end with the pointers 00 69 1D 08 (0x1D6900) or 4E 69 1D 08 (0x1D694E).

    If your attack does damage, it'll use the first. If it doesn't, it'll use the second.

    Now, the byte we need to change is the one I bolded:

    Spoiler:
    2E 85 3E 02 02 FB 28 00 69 1D 08


    That byte (FB) is soley responsible for the special attack drop. Now, how do we turn it into a speed drop?

    Here is a list of what you can do by changing this byte. These are the ones that work 100% of the time. Meaning, these effects will ALWAYS happen. There are more (I didn't test from 00-C0) but I'm sure they are the same effects, just with less of a chance of happening. I know 01 has a 10% chance of putting an opponent to sleep, 03 has a 10% chance of burning an opponent, etc...

    Spoiler:

    C1: Puts yourself to sleep.
    C2: Poisons yourself.
    C3: Burns yourself.
    C4: Freezes yourself.
    C5: Paralyzes yourself.
    C6: Badly poisons yourself.
    C7: Confuses yourself.
    C9: Freezes opponent.
    CA: Uproar's effect.
    CB: Payday's effect.
    CD: Sand Tomb's effect.
    CE: 1/4 Recoil damage.
    CF: Raises users attack one level.
    D0: Raises users defense one level.
    D1: Raises users speed one level.
    D2: Raises users special attack one level.
    D3: Raises users special defense one level.
    D4: Raises users accuracy one level.
    D5: Raises users evasion one level.
    D6: Lowers users attack one level.
    D7: Lowers users defense one level.
    D8: Lowers users speed one level.
    D9: Lowers users special attack one level.
    DA: Lowers users special defense level.
    DB: Lowers users accuracy level.
    DC: Lowers users evasion one level.
    DD: Takes a turn to recover (Hyper Beam, etc...)
    DF: Thief's effect
    E2: Users stats all raise one level (Except Accuracy and Evasion).
    E5: Users attack and defense lower one level.
    E6: 1/3 Recoil.
    E7: Users attack raises two levels.
    E8: Users defense raises two levels.
    E9: Users speed raises two levels.
    EA: Users special attack raises two levels.
    EB: Users special defense raises two levels.
    EC: Users accuracy raises two levels.
    ED: Users evasion raises two levels.
    EE: Users attack lowers two levels.
    EF: Users defense lowers two levels.
    F0: Users speed lowers two levels.
    F1: Users special attack lowers two levels.
    F2: Users special defense lowers two levels.
    F3: Users accuracy lowers two levels.
    F4: Users evasion lowers two levels.
    F5: Outrage's effect.
    F6: Knock Off's effect.
    FB: Users special attack lowers two levels.


    Anyway, we want one that ALWAYS lowers speed. So if you look, D8 ALWAYS lowers the users speed by one level. So our new move code is:

    Spoiler:
    2E 85 3E 02 02 D8 28 00 69 1D 08


    Yay! We now have a working Hammer Arm!

    So all we have to do is put this code where the we made the pointer for earliar in the move effect table (0x920000 in my case).

    Spoiler:





    Now, in Pokemon Game Editor, simply change the move effect of any move to 214 and it will use this effect!


    But what if we want to add multiple effects?
    For example, Flare Blitz?

    Jambo51 made a way to do so.


    DON'T MOVE ON UNLESS YOU UNDERSTAND EVERYTHING ELSE!

    Spoiler:
    I'll use his example from his thread.

    Flare Blitz not only causes recoil, but also has a chance to burn the opponent

    For these kinds of moves that require multiple effects, a different code is required.

    If your attack does damage (in this case it will), start out with this code:

    Spoiler:
    00 01 5E 69 1D 08 00 00 02 03 04 05 06 07 09 0A 0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00


    This is our current code for Flare Blitz. All it does right now is cause damage.

    Now, we need to add the recoil effect!

    Remember how before we found Psycho Boost's effect location? Well in this case, we need to find an existing effect for recoil. Flare Blitz deals 1/3 recoil damage...hmmm...Double Edge does too!

    Double Edge's effect (according to Chaos Rush's list) is number 198. So 198*4 is 792. So starting at the top of your new effect table;
    Edit > Select Block > 792. The pointer after the highlighted area is the correct one. In this case, it's 3A 83 1D 08, or 0x1D833A.

    Go to that location! However, before we go, let's see if we can find where the next closest pointer is to that location, so we know where double edge's effect ends. Right after it is the pointer to 0x1D8345, so we know that the last byte of Double Edge's effect is at 0x1D8344. Make sense? :)

    This is what the code for double edge's effect is:

    Spoiler:
    2E 85 3E 02 02 E6 28 00 69 1D 08


    You might be saying "Hmm...that looks exactly like the Hammer Arm code we just made, just with the byte set at E6!" That is exactly right. And if you look, E6 means it ALWAYS does 1/3 recoil damage. This makes sense now!

    Now we add that onto the other code from before. We don't need the pointer at the end, however; we'll make our own later at the end of our custom move. So we can gedt rid of the 28 00 69 1D 08 (28 means "goto" in this case...we don't need that either).

    Flare Blitz's current code should look like this:

    Spoiler:
    00 01 5E 69 1D 08 00 00 02 03 04 05 06 07 09 0A 0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00 2E 85 3E 02 02 E6


    Now, we simply add a "15" after it. 15 is used to execute the effect, in this case executing the recoil damage.

    Now our code looks like this:

    Spoiler:
    00 01 5E 69 1D 08 00 00 02 03 04 05 06 07 09 0A 0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00 2E 85 3E 02 02 E6 15


    We need the chance to burn now! Now here's the goodnews: this is much easier to do. Changing our special byte to 03 makes it so there's a 10% chance to burn. SO, we can just take the recoil code, and change that byte that we all desperately love to 03.

    Spoiler:
    2E 85 3E 02 02 03 28 00 69 1D 08


    We can now add that code onto our current Flare Blitz one. Once again, we'll remove the 28 00 69 1D 08, and add a 15 at the end.
    Here is what it should look like as of now:

    Spoiler:
    00 01 5E 69 1D 08 00 00 02 03 04 05 06 07 09 0A 0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00 2E 85 3E 02 02 E6 152E 85 3E 02 02 03 15


    And lastly, once you have finished your move, you add a goto command (28) and have it goto address 0x1D6947, or 47 69 1D 08.

    So our final code for Flare Blitz is this:

    Spoiler:
    00 01 5E 69 1D 08 00 00 02 03 04 05 06 07 09 0A 0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00 2E 85 3E 02 02 E6 15 2E 85 3E 02 02 03 15 28 47 69 1D 08


    Now you have one fully functional Flare Blitz!

    A note: All effects, like per se a chance to flinch and burn, must share the same chance of happening! (Limitation of game's code). FURTHERMORE, do not make it so there's a chance of two status allignments happening at the same time: it will not work!



    Now, for more complicated moves, other moves need to be dissected and experimented with to be found. The Hammer Arm code is my own, while the Flare Blitz code is Jambo's. Here are a few more. If you have successfully made a move effect, please let me know and I'll update it to this post.

    Spoiler:
    U-Turn/Volt Tackle - Made by Me (Itman)

    Spoiler:
    00 01 5E 69 1D 08 00 00 02 03 04 05 06 07 09 0A 0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00 4F 81 47 69 1D 08 50 01 F2 7D 1D 08 E2 01 3A 51 01 02 58 01 4C 01 4D 01 73 01 10 03 00 4E 01 01 3A 52 01 28 4E 69 1D 08 28 47 69 1D 08



    Wake-Up Slap - Made by Me (Itman)

    Spoiler:
    1D 00 00 00 00 01 00 69 1D 08 2E 85 3E 02 02 A3 1C 00 07 00 00 00 77 04 90 08 28 00 69 1D 08 2E D2 3F 02 02 02 28 00 69 1D 08



    Hammer Arm - Made by me (Itman)

    Spoiler:
    2E 85 3E 02 02 D8 28 00 69 1D 08



    Flare Blitz - Made by Jambo51

    Spoiler:
    00 01 5E 69 1D 08 00 00 02 03 04 05 06 07 09 0A 0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00 2E 85 3E 02 02 E6 15 2E 85 3E 02 02 03 15 28 47 69 1D 08


    Quiver Dance -Made by pawell6

    Spoiler:
    00 02 03 1D 00 00 00 00 01 F2 7D 1D 08 1C 00 07 00 00 00 B0 69 1D 08 84 CC 69 1D 08 1C 00 FF 00 00 00 F2 7D 1D 08 01 F2 7D 1D 08 00 00 1F 00 20 00 39 8B 1D 08 09 0A 2E 85 3E 02 02 52 15 2E 85 3E 02 02 53 15 2E 85 3E 02 02 51 15 28 47 69 1D 08


    Coil - Made by Garuga17

    Spoiler:
    00 02 03 1D 00 00 00 00 01 F2 7D 1D 08 1C 00 07 00 00 00 B0 69 1D 08 84 CC 69 1D 08 1C 00 FF 00 00 00 F2 7D 1D 08 01 F2 7D 1D 08 00 00 1F 00 20 00 39 8B 1D 08 09 0A 2E 85 3E 02 02 CF 15 2E 85 3E 02 02 D0 15 2E 85 3E 02 02 D4 15 28 47 69 1D 08


    Close Combat - Made by pawell6

    Spoiler:
    00 01 5E 69 1D 08 00 00 02 03 04 05 06 07 09 0A 0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00 2E 85 3E 02 02 D7 15 2E 85 3E 02 02 DA 15 28 47 69 1D 08


    Note: this guide does not cover assigning different animations other than the inherited ones. I will add it soon once I figure out how to do it. ;)

    EDIT: Take a look at this thread to make custom animations, by Chaos Rush: http://www.pokecommunity.com/showthread.php?t=281520

    EDIT2: Everyone do this too. Update PGE's ini file (Open up PGE, goto Help > Update > ROM ini file). Then, go to where we were changing the pointers for the attack data and such, and there should be a new pointer at the bottom that says "AttackAnimationPointer". Change that to your new location for the attack animations (the one originally at 0x1C68F4, in my examples I placed it at 0x90336C).
    Reply With Quote

    Relevant Advertising!

      #2    
    Old October 16th, 2012 (3:24 PM). Edited October 16th, 2012 by timson733333.
    timson733333's Avatar
    timson733333 timson733333 is offline
    Woah.
       
      Join Date: Mar 2007
      Location: Stealth!
      Gender: Male
      Nature: Quiet
      Posts: 130
      WHOA

      whoawhoawhoawhoawhoa

      This is amazing. I love how you adapted Jambo's tutorial into an easy, picture-followable tutorial. And adding the effects - I don't have time to do it right now but this will be VERY VERY VERY useful in the future. Thank you!

      but I base most of my experiments on Ruby and all of this is for FireRed

      /ragemovetofirered
      __________________
      ROM hacking since 2008... and failing miserably still.


      Learning how to hex edit. I'm not advanced in any way, and rely on tools most of the time.

      deviantArt | YouTube
      Reply With Quote
        #3    
      Old October 16th, 2012 (3:31 PM).
      Chaos Rush's Avatar
      Chaos Rush Chaos Rush is offline
         
        Join Date: May 2007
        Gender: Male
        Posts: 1,303
        In case anyone is wondering about attack animations, here is what I've documented on it:
        http://www.pokecommunity.com/showthread.php?t=281520

        Hopefully with itman's tutorial, we'll finally start seeing more hacks with Gen IV/V/custom moves. I linked to my thread so people won't make new moves using existing animations, because custom animations are cool
        __________________
        Reply With Quote
          #4    
        Old October 16th, 2012 (4:06 PM).
        TheOrangePichu's Avatar
        TheOrangePichu TheOrangePichu is offline
        Currently working on new hack
           
          Join Date: Jun 2011
          Location: Earth
          Gender: Male
          Nature: Jolly
          Posts: 49
          Funny, I was just thinking of this the other day. Finally, now with Jambo's patch, Rush's Pokemon Sprites, and now the ability to insert new moves, we can finally have 4th and 5th gen Pokemon and there moves in Pokemon Fire Red! Now if only we could add new abilities...
          __________________
          Credit to UmbraDragonX on deviantart for the icon!

          Reply With Quote
            #5    
          Old October 16th, 2012 (4:39 PM).
          FirEmerald's Avatar
          FirEmerald FirEmerald is offline
          Pokemon reverse engineer
             
            Join Date: Aug 2012
            Age: 20
            Gender: Male
            Posts: 46
            Did you know that someone made a repointer for pokemon GBA games that would simplify this process?
            Reply With Quote
              #6    
            Old October 17th, 2012 (4:43 AM).
            Jambo51's Avatar
            Jambo51 Jambo51 is offline
            Glory To Arstotzka
               
              Join Date: Jun 2009
              Gender: Male
              Nature: Quiet
              Posts: 732
              Excellent tutorial, sir. Although, I did notice you forgot to change the animations pointer in PGE's ini, which could lead to bugs down the line.

              Quote:
              Originally Posted by TheOrangePichu View Post
              Funny, I was just thinking of this the other day. Finally, now with Jambo's patch, Rush's Pokemon Sprites, and now the ability to insert new moves, we can finally have 4th and 5th gen Pokemon and there moves in Pokemon Fire Red! Now if only we could add new abilities...
              We CAN add abilities (as I have done in my 649 Patch Project). Unfortunately, however, the vast majority can only be inserted at an ASM level, making it largely inaccessible to most hackers. Some can be inserted at the Battle Scripting level though, such as adding the Multitype clause to Transform.
              __________________
              Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
              Reply With Quote
                #7    
              Old October 20th, 2012 (4:59 PM).
              timson733333's Avatar
              timson733333 timson733333 is offline
              Woah.
                 
                Join Date: Mar 2007
                Location: Stealth!
                Gender: Male
                Nature: Quiet
                Posts: 130
                Step 14 should say "2041", not "2401." Just a little note.
                __________________
                ROM hacking since 2008... and failing miserably still.


                Learning how to hex edit. I'm not advanced in any way, and rely on tools most of the time.

                deviantArt | YouTube
                Reply With Quote
                  #8    
                Old October 20th, 2012 (5:54 PM).
                LCCoolJ95's Avatar
                LCCoolJ95 LCCoolJ95 is offline
                Limited Capacity
                   
                  Join Date: May 2009
                  Location: The World That Never Was
                  Age: 22
                  Gender: Male
                  Nature: Naive
                  Posts: 527
                  I tried doing this for Ruby, but you lost me at Step 15. Where is the Attack Animation offset?
                  __________________
                  "The greatest obstacle in life is Yourself. Overcome it, and you will achieve the greatest accomplishment of all." -Art Beins, 1982

                  Pokémon Theta Emerald EX: https://www.pokecommunity.com/showthread.php?t=386240
                  Reply With Quote
                    #9    
                  Old October 20th, 2012 (6:04 PM).
                  timson733333's Avatar
                  timson733333 timson733333 is offline
                  Woah.
                     
                    Join Date: Mar 2007
                    Location: Stealth!
                    Gender: Male
                    Nature: Quiet
                    Posts: 130
                    Quote:
                    Originally Posted by LCCoolJ95 View Post
                    I tried doing this for Ruby, but you lost me at Step 15. Where is the Attack Animation offset?
                    It's not in roms.ini. You have to find it yourself. Same thing happened to me, so I moved to FireRed :/

                    Also, when we select, is 4260 bytes in hex or in decimal?
                    __________________
                    ROM hacking since 2008... and failing miserably still.


                    Learning how to hex edit. I'm not advanced in any way, and rely on tools most of the time.

                    deviantArt | YouTube
                    Reply With Quote
                      #10    
                    Old October 21st, 2012 (6:21 AM). Edited April 11th, 2013 by DoesntKnowHowToPlay.
                    DoesntKnowHowToPlay's Avatar
                    DoesntKnowHowToPlay DoesntKnowHowToPlay is offline
                    Tiny Umbrella with Lots and Lots of Good
                       
                      Join Date: Jan 2012
                      Posts: 258
                      This looks like it will be very helpful for people to start learning, but I'd like to point out that that Hammer Arm script will not pierce Clear Body like in the vanilla games- you have to do a little more work. (This is actually quite important as one of the most well-known users of Hammer Arm is Metagross.)

                      Using JPAN's old thread on Battle Scripts, I was able to piece together one that does:

                      Edit: This script is old and will fail on misses/hitting immunities, look on page 4 for a better one

                      Spoiler:
                      00 01 5E 69 1D 08 00 00 02 03 04 05 06 07 09 0A 0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00 20 01 00 03 00 47 69 1D 08 2E DF 3F 02 02 00 48 01 08 09 2E DE 3F 02 02 93 89 C1 ED 84 1D 08 13 7C E5 3F 08 12 40 00 28 47 69 1D 08


                      And the decompiled logic for those wondering what I'm doing:

                      Spoiler:

                      HAMMER ARM- (after damage)
                      20 - Jump if stat modifier
                      - 01 (user)
                      - 00 stat equal to
                      - 03 speed
                      - 00 (-6)
                      - 47 69 1D 08
                      2E - set byte
                      - DF 3F 02 02
                      - 00
                      48 - Display stat mod animation
                      - 01
                      - 08
                      - 09
                      2E - set byte
                      - DE 3F 02 02
                      - 93
                      89 - change stats
                      - C1 (user, can't fail)
                      - ED 84 1D 08 (does this matter?)
                      13 - print from table
                      - 7C E5 3F 08
                      12 - wait for text
                      - 40 00
                      28 - jump
                      - 47 69 1D 08


                      Also, a bit of cautionary advice- if any of the effects you're inserting are important enough that you want the AI to use them in battle, make sure they replace appropriate effects. For example, there was a Japanese hack that replaced Nightmare's somewhat useless effect with one similar to Relic Song (10% chance to inflict Sleep), which is fun for the player, but was useless for the AI because it would only use the attack if either it was their only option or the foe was already asleep. I currently have no idea how the AI treats effects in unused slots, so be careful with those.
                      __________________

                      Yet Another Fire Red Hack

                      Physical/Special Split
                      Reply With Quote
                        #11    
                      Old October 21st, 2012 (11:18 AM).
                      LCCoolJ95's Avatar
                      LCCoolJ95 LCCoolJ95 is offline
                      Limited Capacity
                         
                        Join Date: May 2009
                        Location: The World That Never Was
                        Age: 22
                        Gender: Male
                        Nature: Naive
                        Posts: 527
                        Quote:
                        Originally Posted by timson733333 View Post
                        It's not in roms.ini. You have to find it yourself. Same thing happened to me, so I moved to FireRed :/

                        Also, when we select, is 4260 bytes in hex or in decimal?
                        I tried using a technique that incorporated using Fire Red's hex values. I was going to copy the beginning of the hex values and find them in the Ruby rom. It didn't work. Though, I found the first two hex values of the animations from Fire Red and in Ruby. The rest didn't match up though...
                        __________________
                        "The greatest obstacle in life is Yourself. Overcome it, and you will achieve the greatest accomplishment of all." -Art Beins, 1982

                        Pokémon Theta Emerald EX: https://www.pokecommunity.com/showthread.php?t=386240
                        Reply With Quote
                          #12    
                        Old October 25th, 2012 (8:57 PM).
                        Chaos Rush's Avatar
                        Chaos Rush Chaos Rush is offline
                           
                          Join Date: May 2007
                          Gender: Male
                          Posts: 1,303
                          Quote:
                          Originally Posted by LCCoolJ95 View Post
                          I tried using a technique that incorporated using Fire Red's hex values. I was going to copy the beginning of the hex values and find them in the Ruby rom. It didn't work. Though, I found the first two hex values of the animations from Fire Red and in Ruby. The rest didn't match up though...
                          Pointers are going to be different between ROMs. The Attack Animation offset is a table, and a table in terms of ROM hacking, is a collection of pointers that the game refers to. So obviously tables will be completely different, but they will be in the same format. In order to find the Attack Animation Table in Ruby, what you should do is this:

                          1. Go to the offset of the table in a FireRed ROM
                          2. Go to the offset that the first pointer lists in the table
                          3. NOW search for that hex data in a Ruby ROM
                          4. Look at the offset that the search took you in the Ruby ROM, then convert it to a pointer
                          5. Search for your new pointer in the Ruby ROM
                          6. You should now be at the Animation Table for Ruby
                          __________________
                          Reply With Quote
                            #13    
                          Old October 27th, 2012 (6:29 PM).
                          Yogi1881's Avatar
                          Yogi1881 Yogi1881 is offline
                             
                            Join Date: Oct 2012
                            Gender: Male
                            Nature: Bold
                            Posts: 4
                            Would this apply to Hm's as well?
                            And would this allow you to give tms an Hm's effect (i.e. Tm Dig actually Digging with the same effects of Dive)
                            Reply With Quote
                              #14    
                            Old October 28th, 2012 (12:01 AM).
                            Chaos Rush's Avatar
                            Chaos Rush Chaos Rush is offline
                               
                              Join Date: May 2007
                              Gender: Male
                              Posts: 1,303
                              @itman: Your Wake-Up Slap script doesn't work. If the opponent is not asleep, it works fine. But if the opponent is asleep, the game freezes.
                              __________________
                              Reply With Quote
                                #15    
                              Old October 28th, 2012 (8:19 AM).
                              itman itman is offline
                              Back to ROM hacking. :D
                                 
                                Join Date: May 2007
                                Age: 23
                                Nature: Adamant
                                Posts: 100
                                Quote:
                                Originally Posted by Chaos Rush View Post
                                @itman: Your Wake-Up Slap script doesn't work. If the opponent is not asleep, it works fine. But if the opponent is asleep, the game freezes.
                                I just tested it and it worked for me. All I did was edit smellingsalt's effect to check for sleep and then wake them up. So all I changed was two bytes.
                                Reply With Quote
                                  #16    
                                Old November 9th, 2012 (5:59 PM). Edited November 10th, 2012 by LCCoolJ95.
                                LCCoolJ95's Avatar
                                LCCoolJ95 LCCoolJ95 is offline
                                Limited Capacity
                                   
                                  Join Date: May 2009
                                  Location: The World That Never Was
                                  Age: 22
                                  Gender: Male
                                  Nature: Naive
                                  Posts: 527
                                  I've successfully added 125 or more moves to the game. The question is, how come every time I try to use that move in game, the move does crap? Seriously, I tried using Blue Flare, but the game just reset itself, and when I tried using Bolt Strike, the game froze. And, when I tried to check out the description in the Summary window of either move, a bunch of random symbols and numbers appeared, freezing the game. Can someone please help me with this? I'm trying to make a Black 2/White 2 demake for Ruby, and I need the extra moves to work. :/

                                  Maybe it's because there is no animation data...where is the tutorial for that?
                                  __________________
                                  "The greatest obstacle in life is Yourself. Overcome it, and you will achieve the greatest accomplishment of all." -Art Beins, 1982

                                  Pokémon Theta Emerald EX: https://www.pokecommunity.com/showthread.php?t=386240
                                  Reply With Quote
                                    #17    
                                  Old November 11th, 2012 (12:26 PM). Edited November 11th, 2012 by dreamengine.
                                  dreamengine's Avatar
                                  dreamengine dreamengine is offline
                                     
                                    Join Date: Aug 2012
                                    Gender: Male
                                    Posts: 68
                                    Does anyone else have errors with PGE when trying to edit the newer versions of Psywave, Focus Energy, and Reflect? It's weird, but yeah...

                                    Also, when using the moves WITHOUT removing the limiter it says Bulbasaur used a NORMAL move when trying to use a move I added. When I got rid of the limiter it made it so that even the trainer I'm battling's pokemon moves say that. For example it'd be like Bulbasaur used a normal move. Foe Charmander used a normal move. help? lol

                                    On to trying move effects =.= I fail

                                    EDIT: Where did the the offset 0x1D6947 come from for the flare blitz part?
                                    __________________
                                    I support...
                                    Reply With Quote
                                      #18    
                                    Old November 11th, 2012 (5:29 PM).
                                    timson733333's Avatar
                                    timson733333 timson733333 is offline
                                    Woah.
                                       
                                      Join Date: Mar 2007
                                      Location: Stealth!
                                      Gender: Male
                                      Nature: Quiet
                                      Posts: 130
                                      Quote:
                                      Originally Posted by dreamengine View Post
                                      Also, when using the moves WITHOUT removing the limiter it says Bulbasaur used a NORMAL move when trying to use a move I added. When I got rid of the limiter it made it so that even the trainer I'm battling's pokemon moves say that. For example it'd be like Bulbasaur used a normal move. Foe Charmander used a normal move. help? lol
                                      At 0xD75FC, you are supposed to overwrite the bytes with 00 00 00 00 00 00. Not 00 00 00 00 00 00 00 00. Overwriting the last two will make every move say "X used a move!" This is another error in the guide that should be fixed.
                                      __________________
                                      ROM hacking since 2008... and failing miserably still.


                                      Learning how to hex edit. I'm not advanced in any way, and rely on tools most of the time.

                                      deviantArt | YouTube
                                      Reply With Quote
                                        #19    
                                      Old November 11th, 2012 (8:56 PM).
                                      itman itman is offline
                                      Back to ROM hacking. :D
                                         
                                        Join Date: May 2007
                                        Age: 23
                                        Nature: Adamant
                                        Posts: 100
                                        Quote:
                                        Originally Posted by timson733333 View Post
                                        At 0xD75FC, you are supposed to overwrite the bytes with 00 00 00 00 00 00. Not 00 00 00 00 00 00 00 00. Overwriting the last two will make every move say "X used a move!" This is another error in the guide that should be fixed.
                                        *Fixed. ;) Thanks for letting me know, I didn't even realize I put too many 00's lol.
                                        Reply With Quote
                                          #20    
                                        Old November 12th, 2012 (8:52 AM).
                                        dreamengine's Avatar
                                        dreamengine dreamengine is offline
                                           
                                          Join Date: Aug 2012
                                          Gender: Male
                                          Posts: 68
                                          Quote:
                                          Originally Posted by timson733333 View Post
                                          At 0xD75FC, you are supposed to overwrite the bytes with 00 00 00 00 00 00. Not 00 00 00 00 00 00 00 00. Overwriting the last two will make every move say "X used a move!" This is another error in the guide that should be fixed.
                                          :D thank youu. I was thinking that I probably screwed up somewhere. After all I am very bad at this.
                                          Reply With Quote
                                            #21    
                                          Old November 23rd, 2012 (3:54 AM). Edited November 23rd, 2012 by SchokoInc.
                                          SchokoInc SchokoInc is offline
                                             
                                            Join Date: Nov 2012
                                            Posts: 20
                                            Thanks for the amazing tutorial it worked perfectly for me :)
                                            Still i have one major problem that prevents me from fully using and editing my moves :(
                                            As the GameEditor doesn't work for me i use several other editors like YAPE (which also lets me fix the pointers and allowed me to add my new moves to my pokemon even if they are now just named Pound or Karate Chop) but i haven't found a move editor yet that let's me change the .ini to repoint the move table and makes it editable :(
                                            When i opened up the .ini for A-tack the offsets shown for names/data are

                                            [Nameoffset]
                                            offset=2388129

                                            [Dataoffset]
                                            offset=2427908

                                            which is quite confusing and changing them to my new offsets scrambles everything up :(
                                            (YAPE had the correct offsets for moves in the .ini and changing went perfectly so there is nothing wrong with the rom itself)

                                            EDIT: While not fixing the problem itself i solved the problem by overwriting the ORIGINAL move data instead of the newly created ones :)
                                            Reply With Quote
                                              #22    
                                            Old November 24th, 2012 (3:20 AM).
                                            Jambo51's Avatar
                                            Jambo51 Jambo51 is offline
                                            Glory To Arstotzka
                                               
                                              Join Date: Jun 2009
                                              Gender: Male
                                              Nature: Quiet
                                              Posts: 732
                                              Quote:
                                              Originally Posted by dreamengine View Post
                                              EDIT: Where did the the offset 0x1D6947 come from for the flare blitz part?
                                              It's part of the main Battle Script Attack Handler, all moves branch back to it at some stage. In this case, it's the relevant part needed to execute the remaining effects and faints and such.

                                              Quote:
                                              Originally Posted by SchokoInc View Post
                                              Thanks for the amazing tutorial it worked perfectly for me
                                              Still i have one major problem that prevents me from fully using and editing my moves
                                              As the GameEditor doesn't work for me i use several other editors like YAPE (which also lets me fix the pointers and allowed me to add my new moves to my pokemon even if they are now just named Pound or Karate Chop) but i haven't found a move editor yet that let's me change the .ini to repoint the move table and makes it editable
                                              When i opened up the .ini for A-tack the offsets shown for names/data are

                                              [Nameoffset]
                                              offset=2388129

                                              [Dataoffset]
                                              offset=2427908

                                              which is quite confusing and changing them to my new offsets scrambles everything up
                                              (YAPE had the correct offsets for moves in the .ini and changing went perfectly so there is nothing wrong with the rom itself)

                                              EDIT: While not fixing the problem itself i solved the problem by overwriting the ORIGINAL move data instead of the newly created ones
                                              You can't use any editor apart from PGE for the new moves or for applying them. No older editor supports them properly. YAPE especially, is a bad choice of editor for this new move stuff!
                                              __________________
                                              Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
                                              Reply With Quote
                                                #23    
                                              Old November 24th, 2012 (5:39 AM).
                                              Skystrike's Avatar
                                              Skystrike Skystrike is offline
                                              Dark Shadow
                                              • Silver Tier
                                               
                                              Join Date: Sep 2008
                                              Location: internet
                                              Gender: Male
                                              Nature: Quiet
                                              Posts: 1,538
                                              The tutorial works perfectly, I'm just having a problem with repointing animations on one of the new moves. I saw Chaos Rush's post on Roost, and I decided to put it in my game. For the animation pointer, I just copied FeatherDance's animation pointer. After I finish the introduction scene, and it sends me to the hero's room in Pallet Town, the game either:
                                              1) VBA displays a BIOS error(?!)
                                              2) It becomes completely silent and black. I can't continue in the game.

                                              I think this has to do with the fact also that all the animation pointers are not 'normal' pointers...
                                              __________________

                                              I lack toast and am tolerant
                                              Reply With Quote
                                                #24    
                                              Old November 25th, 2012 (12:41 PM).
                                              dreamengine's Avatar
                                              dreamengine dreamengine is offline
                                                 
                                                Join Date: Aug 2012
                                                Gender: Male
                                                Posts: 68
                                                I'm trying to make the effects for Thunder fang, ice fang, and fire fang, but when I do I feel like the effect rates are really low. The flinch works fine almost too much because it seems like it's every other move, but the paralyze, freeze, and burn almost never happen. I'm not quite sure what to do because there's no effect that make paralyze freeze and burn happen 100% of the time. Here is my code for thunder fang.

                                                Thunder Fang
                                                Spoiler:
                                                01 5E 69 1D 08 00 00 02 03 04 05 06 07 09 0A 0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00 2E 85 3E 02 02 08 15 2E 85 3E 02 02 05 15 28 47 69 1D 08
                                                Reply With Quote
                                                  #25    
                                                Old December 19th, 2012 (11:17 PM).
                                                PokemonMasters's Avatar
                                                PokemonMasters PokemonMasters is offline
                                                Always Remember Forever&After
                                                   
                                                  Join Date: Jun 2012
                                                  Location: Nuvema Town, Unova
                                                  Gender: Male
                                                  Nature: Calm
                                                  Posts: 403
                                                  For some reason, whenever I apply the hacked engine before I do this, it doesnt work.
                                                  __________________

                                                  +ForeverDash on PC's Battle Server | Pair | VM/PM |Partner In Crime
                                                  Reply With Quote
                                                  Reply

                                                  Quick Reply

                                                  Join the conversation!

                                                  Create an account to post a reply in this thread, participate in other discussions, and more!

                                                  Create a PokéCommunity Account

                                                  Sponsored Links
                                                  Thread Tools

                                                  Posting Rules
                                                  You may not post new threads
                                                  You may not post replies
                                                  You may not post attachments
                                                  You may not edit your posts

                                                  BB code is On
                                                  Smilies are On
                                                  [IMG] code is On
                                                  HTML code is Off

                                                  Forum Jump


                                                  All times are GMT -8. The time now is 7:36 PM.