there are just a couple last details that can be easily changed to make this mod better.
firstly, the "caught" victory music begins playing after a pokemon is caught, and remains for the rest of the battle. there are a couple of things that must be done to fix this.
first, in include/constants/battle_string_ids.h, scroll down to the "BATTLESTRINGS_COUNT" line. we'll be adding a new string to this table, so we'll need to give it a #define with the next available ID, and we'll need to increase the size of the table also.
in my case, before the BATTLESTRINGS_COUNT line, the last string was "#define STRINGID_TRAINER2WINTEXT 380". i added my new string as 381 like so:
Code:
#define STRINGID_GOTCHAPKMNCAUGHTNOBGM 381
and then, i increased the BATTLESTRINGS_COUNT number by one, from 381 to 382.
next, go to src/battle_message.c. just before "const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT - BATTLESTRINGS_TABLE_START] =", add a new line:
Code:
static const u8 sText_GotchaPkmnCaughtNoBgm[] = _("Gotcha!\n{B_OPPONENT_MON1_NAME} was caught!{WAIT_SE}{RESUME_MUSIC}\p");
this string on its own will resume the trainer battle music after the capture jingle is finished. feel free to rewrite the dialogue however you like.
to use this new message, go back to data/battle_scripts_2.s and find the BattleScript_BallThrowSteal we added earlier, and change printstring STRINGID_GOTCHAPKMNCAUGHT to printstring STRINGID_GOTCHAPKMNCAUGHTNOBGM. the battle music should continue on as expected.
finally, there's a super quick change you can make to deal with the opponent's health box, which currently sticks on the screen til the next pokemon overwrites it. in src/battle_script_commands.c, inside the if statement we added to cmd_givecaughtmon earlier, just add this one line:
Code:
SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gBattlerTarget]);
the health box in the top-left should now just vanish instantly.