• 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!
  • Serena, Kris, Dawn, Red - which Pokémon protagonist is your favorite? Let us know by voting in our grand final 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.

[Battle] How do you give Hyper Beam its old gen 1 reset effect in Pokefirered?

  • 1
    Posts
    2
    Years
    • Seen Nov 7, 2023
    I would like to give Hyper beam it's old generation 1 effect where Hyper beam doesn't need to recharge after killing the foe or substitute. I'm using pokefirered.

    I think I need to edit the recharge effect in these files:
    data\battle_scripts_1.s
    src\battle_script_commands.c

    How do I go about this? I'm reading Fell Stinger from the pokeemerald battle engine and reading the same files as a reference because it has a similar effect. I assume I have to edit battlescript_FaintTarget on data/battle_scripts_1.s and add some if statements or something for the recharge effect. Yeah I'm getting lost.
     
    I would like to give Hyper beam it's old generation 1 effect where Hyper beam doesn't need to recharge after killing the foe or substitute. I'm using pokefirered.

    I think I need to edit the recharge effect in these files:
    data\battle_scripts_1.s
    src\battle_script_commands.c

    How do I go about this? I'm reading Fell Stinger from the pokeemerald battle engine and reading the same files as a reference because it has a similar effect. I assume I have to edit battlescript_FaintTarget on data/battle_scripts_1.s and add some if statements or something for the recharge effect. Yeah I'm getting lost.

    Start by looking at how fell stinger works:
    BattleScript_FaintTarget uses the command tryactivatefellstinger, which is defined here. It calls a "various" function with the id VARIOUS_TRY_ACTIVATE_FELL_STINGER. That will then activate this bit of code in Cmd_various that checks if the effect should be applied and applies it.

    You could similarly add a new command that is used in BattleScript_FaintTarget and checks if you fainted the opponent with hyper beam and removes the recharge flag set in BattleScript_EffectRecharge. This bit of code might help you with that.
     
    Back
    Top