diff --git a/server/team-validator-async.ts b/server/team-validator-async.ts index 3781809d3cc0..40bbe8e69312 100644 --- a/server/team-validator-async.ts +++ b/server/team-validator-async.ts @@ -54,7 +54,7 @@ export const PM = new QueryProcessManager<{ team, }); problems = [ - `Your team crashed the validator. We'll fix this crash within a few minutes (we're automatically notified),` + + `Your team crashed the validator. We'll fix this crash within a few hours (we're automatically notified),` + ` but if you don't want to wait, just use a different team for now.`, ]; } diff --git a/sim/battle.ts b/sim/battle.ts index 14ee865d8caa..ceb7e881fd11 100644 --- a/sim/battle.ts +++ b/sim/battle.ts @@ -2611,7 +2611,7 @@ export class Battle { getTeam(options: PlayerOptions): PokemonSet[] { let team = options.team; if (typeof team === 'string') team = Dex.fastUnpackTeam(team); - if ((!this.format.team || this.deserialized) && team) return team; + if (team) return team; if (!options.seed) { options.seed = PRNG.generateSeed(); diff --git a/sim/team-validator.ts b/sim/team-validator.ts index 5f974f6ef6ec..923e2513a7e6 100644 --- a/sim/team-validator.ts +++ b/sim/team-validator.ts @@ -230,10 +230,22 @@ export class TeamValidator { let problems: string[] = []; const ruleTable = this.ruleTable; if (format.team) { + if (team) { + return [ + `This format doesn't let you use your own team.`, + `If you're not using a custom client, please report this as a bug. If you are, remember to use \`/utm null\` before starting a game in this format.`, + ]; + } return null; } - if (!team || !Array.isArray(team)) { - return [`You sent invalid team data. If you're not using a custom client, please report this as a bug.`]; + if (!team) { + return [ + `This format requires you to use your own team.`, + `If you're not using a custom client, please report this as a bug.`, + ]; + } + if (!Array.isArray(team)) { + throw new Error(`Invalid team data`); } let [minSize, maxSize] = format.teamLength && format.teamLength.validate || [1, 6];