Just patch
the function to increment the instruction pointer and set the multiplier to 1 instead of doing what it currently does. i.e.:
Code:
static void Cmd_critcalc(void)
{
gCritMultiplier = 1;
gBattlescriptCurrInstr++;
}
I know you're probably asking about binary, but fortunately you could just compile this and inject it into your ROM and repoint
the command in the battle script table. Or even just work out where the original code is (the
pokeemerald.map
file will tell you the offset if you make the function non-static) and replace the first non-
push
instruction with a branch directly to the
gCritMultiplier = 1;
line.
EDIT: Also, instead of 1/256, looks like the table contains u16s so you could have a 1/65536 chance. But obviously that's not removing them.