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

[Battle] [Giga Impact, Hyper Beam, Frenzy Plant etc] Emerald Battle Engine Upgrade not recharging

46
Posts
17
Years
    • Seen Jan 23, 2024
    So I used the OLD battle engine upgrade for Pokemon Emerald: https://www.pokecommunity.com/showthread.php?t=374338

    To get the Physical Special Split, Fairy Type, and updated moves and abilities list, however the Recharge moves such as Hyper Beam all have no wait period after use.

    In the original moveset tables the value of [50] designates the move effect as recharge after use.
    In the battle engine upgrades new tables, the value of [27] is set for the recharge however it fails to function. Does anyone know how to fix this by chance?

    96 00 5A 05

    150 Base Power, Normal Type, 90 Acc, 5 PP are the hex values for Hyper Beam and Giga Impact locations in the Rom
     
    Last edited:
    46
    Posts
    17
    Years
    • Seen Jan 23, 2024
    If anyone can point me to the HEX locations in Emerald for the Attack Effect routines that would be really helpful. I want to see if it is possible to locate the "Recharge" effect HEX codes and fill them in the updated effect tables if at all possible...

    00 Deals damage. No additional effect
    01 Deals fixed damage based on a formula
    02 Changes single user stats
    03 Changes single target stats
    04 May change single user stat
    05 May change single target stat
    06 Changes multiple user stats
    07 Changes multiple target stats
    08 May change multiple user stats
    09 Confuses target
    0A May confuse target
    0B May flinch target
    0C Puts the target to sleep
    0D Poisons target
    0E Badly poisons target
    0F Paralyze target
    10 Burns target
    11 Freezes target
    12 May inflict non volatile status
    13 Recoil attack
    14 Crash attack
    15 Lunar dance effect
    16 Memento
    17 Explode
    18 Deals damage and drains foe's HP
    19 Restore user's HP
    1A Restore foe's HP
    1B Charge
    1C Transfer condition to target
    1D Roost
    1E Gravity
    1F Identification
    20 Deals damage and restore foe's status
    21 Deals damage and breaks protection
    22 Protection moves
    23 Deals damage and switch out
    24 Sucker punch
    25 Attract
    26 Captivate
    27 Recharge needed

    This is the updated Attack Effects tables for the Emerald Battle Engine Upgrade leading up to the recharge effect, however [27] (It's [50]in the normal games) or the Recharge routine seems to be broken. Again any help fixing this would be much appreciated.
     
    46
    Posts
    17
    Years
    • Seen Jan 23, 2024
    This is the code for the recharge type effects in the original move table:

    00 01 5E 8A 2D 08 00 00 2E 35 43 02 02 DD 28 2E 8A 2D 08
    Here is some data in the Emerald Battle Engine Upgrade with information on repointers with regard to Hex Locations and Move Data:

    I've located the updated move effects table for the battle engine upgrade which beings @
    The location of the effect for these charge moves (Hyper Beam, Giga Impact, etc) in the battle engine upgrade is at

    The actual code for the effect @ F0 21 C0 ends up being
    2E 35 43 02 02 F1 28 92 39 F0 08

    To my understanding, changing the F1 to DD should fix this but it does not seem to be working either.

    Since the original is 19 bytes, I can't just plug in the Hyper Beam effect from the original move table to make it work so if anyone know how to make the recharge effect from scratch and place it in a new pointer to get this going it would be extremely helpful!
     
    Last edited:
    2
    Posts
    1
    Years
    • Seen Apr 15, 2023
    If you're compiling the Emerald Battle Engine Upgrade from the master, make this change. Worked for me, but I haven't bug tested it thoroughly yet:

    In the file "battlescripts_for_moves.s", on line 1772, remove "| 0x80" from the end of the line. So it should go from reading this way to this way:
    > setbyte EffectChooser 0x31 | 0x40 | 0x80
    > setbyte EffectChooser 0x31 | 0x40
     
    Back
    Top