Skip to content

Toggle Trainer Sight

Brandon Lourenco edited this page Sep 6, 2020 · 2 revisions

Toggling Trainers "Seeing" You

Credit to ghoulslash

Likely more useful for a debug menu feature, this may have utility for game events. Note that this only prevents them from noticing you. Talking directly to the trainer will still initiate the battle.

Create a flag to toggle trainer sight

Open include/constants/flags.h. Replace an unused flag with FLAG_SYS_TOGGLE_TRAINER_BATTLES. For example:

#define FLAG_UNUSED_0x881                           (SYSTEM_FLAGS + 0x21) // Unused Flag

becomes

#define FLAG_SYS_TOGGLE_TRAINER_BATTLES             (SYSTEM_FLAGS + 0x21)

Prevent the trainers from seeing you

Open src/trainer_see.c. Find CheckForTrainersWantingBattle And replace with the following:

bool8 CheckForTrainersWantingBattle(void)
{
    u8 i;
    
    if (FlagGet(FLAG_SYS_TOGGLE_TRAINER_BATTLES))
        return FALSE;
    
    gNoOfApproachingTrainers = 0;
    //etc...

Finally, set your flag via a script or function, and watch the magic (not) happen!

Clone this wiki locally