From 60a4698695be4b5c94cd81fe268d34009f5be47c Mon Sep 17 00:00:00 2001 From: dot-Comfey <84290266+dot-Comfey@users.noreply.github.com> Date: Wed, 13 Aug 2025 13:35:48 -0700 Subject: [PATCH] Allow past gen moves to be learned via HOME relearner (#11362) --- sim/team-validator.ts | 5 ++++- test/sim/team-validator/misc.js | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/sim/team-validator.ts b/sim/team-validator.ts index 4c0333f8c9..4d98e022d1 100644 --- a/sim/team-validator.ts +++ b/sim/team-validator.ts @@ -2530,6 +2530,7 @@ export class TeamValidator { } } + let canUseHomeRelearner = false; for (let learned of sources) { // Every `learned` represents a single way a pokemon might // learn a move. This can be handled one of several ways: @@ -2557,7 +2558,7 @@ export class TeamValidator { } continue; } - if (learnedGen < this.minSourceGen) { + if (learnedGen < this.minSourceGen && !canUseHomeRelearner) { if (!cantLearnReason) { cantLearnReason = `can't be transferred from Gen ${learnedGen} to ${this.minSourceGen}.`; } @@ -2570,6 +2571,8 @@ export class TeamValidator { continue; } + if (learnedGen === 9 && learned.charAt(1) !== 'S') canUseHomeRelearner = true; + if ( baseSpecies.evoRegion === 'Alola' && checkingPrevo && learnedGen >= 8 && (dex.gen < 9 || learned.charAt(1) !== 'E') diff --git a/test/sim/team-validator/misc.js b/test/sim/team-validator/misc.js index 37680fe8c7..de1a5c43f0 100644 --- a/test/sim/team-validator/misc.js +++ b/test/sim/team-validator/misc.js @@ -241,4 +241,12 @@ describe('Team Validator', () => { assert.equal(accepted, allowed); }); + + it('should allow moves learned via HOME relearner', () => { + const team = [ + { species: 'bronzor', level: 1, ability: 'levitate', moves: ['hypnosis'] }, + { species: 'porygon', level: 25, ability: 'trace', moves: ['triattack'], evs: { hp: 1 } }, + ]; + assert.legalTeam(team, 'gen9ubers'); + }); });