I'm trying to make it so that Hyper Beam will act in the glitchy way it does in RBY.
So that if an opponent faints after Hyper Beam is used, no recharge is required.
Can anybody give me some pointers on where to begin?
You can begin and end in class PokeBattle_Move_0C2. The attacker's effects[PBEffects::HyperBeam] is set to 2 if the attack does damage. So long as this value is greater than 0, the Pokémon with it is recharging and can't move (it's reduced by 1 at the end of each turn). You want instead to set the value if the attack does damage and the opponent survived the attack.