bool affected_by_substitute(u8 substitute_bank) { if (battle_participants[substitute_bank].status2.substitute) { if (!(hitmarker & HITMARKER_IGNORE_SUBSTITUTE || disable_structs[substitute_bank].substitute_hp == 0 || (check_ability(bank_attacker, ABILITY_INFILTRATOR) && bank_attacker != substitute_bank) || find_move_in_table(current_move, sound_moves))) { return true; } } return false; }
u8 affected_by_substitute(u8 substitute_bank) { if (battle_participants[substitute_bank].status2.substitute) { if (!(hitmarker & HITMARKER_IGNORE_SUBSTITUTE || disable_structs[substitute_bank].substitute_hp == 0 || (has_ability_effect(bank_attacker, 0, 1) && battle_participants[bank_attacker].ability_id == ABILITY_INFILTRATOR && bank_attacker != substitute_bank) || find_move_in_table(current_move, &sound_moves[0]))) { return true; } } return false;; }