From 7ad9c451913719e0fc8d5e05bdad3264ee1f9830 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Bastos=20Dias?= <80102738+andrebastosdias@users.noreply.github.com> Date: Thu, 25 Sep 2025 20:28:06 +0100 Subject: [PATCH] Fix gender validation (#11449) https://www.smogon.com/forums/threads/bug-report-validator.3771139/ --- sim/team-validator.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sim/team-validator.ts b/sim/team-validator.ts index e58c9596a2..c97329d77d 100644 --- a/sim/team-validator.ts +++ b/sim/team-validator.ts @@ -635,6 +635,11 @@ export class TeamValidator { item = dex.items.get(set.item); ability = dex.abilities.get(set.ability); + if (!['M', 'F'].includes(set.gender)) set.gender = ''; + if (this.gen <= 5 || ruleTable.has('obtainablemisc')) { + set.gender = species.gender || set.gender; + } + const { outOfBattleSpecies, tierSpecies } = this.getValidationSpecies(set); if (ability.id === 'battlebond' && toID(species.baseSpecies) === 'greninja') { if (ruleTable.has('obtainablemisc')) { @@ -1087,12 +1092,8 @@ export class TeamValidator { } if (!problems.length) { - if (!set.gender) { - if (this.gen <= 5 || ruleTable.has('obtainablemisc')) { - set.gender = species.gender || ['M', 'F'][Math.floor(Math.random() * 2)]; - } else { - set.gender = 'N'; - } + if (this.gen > 5 && !ruleTable.has('obtainablemisc')) { + set.gender ||= 'N'; } if (adjustLevel) set.level = adjustLevel; return null;