This commit is contained in:
dot-Comfey 2026-06-02 21:52:50 -05:00 committed by GitHub
commit f236fddd7a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 17 additions and 12 deletions

View File

@ -142,6 +142,7 @@ export const Formats: import('../sim/dex-formats').FormatList = [
mod: 'gen9',
bestOfDefault: true,
ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 9', 'VGC Timer', 'Limit Two Restricted'],
banlist: ['Raichu-Alola + Volt Tackle'],
restricted: ['Restricted Legendary'],
},
{
@ -150,6 +151,7 @@ export const Formats: import('../sim/dex-formats').FormatList = [
searchShow: false,
bestOfDefault: true,
ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 9', 'VGC Timer', 'Limit Two Restricted'],
banlist: ['Raichu-Alola + Volt Tackle'],
restricted: ['Restricted Legendary', 'Mythical'],
},
{

View File

@ -2798,7 +2798,7 @@ export const Learnsets: import('../sim/dex-species').LearnsetDataTable = {
upperhand: ["9M"],
uproar: ["8M"],
voltswitch: ["9M", "8M", "7M"],
volttackle: ["8S1", "7T"],
volttackle: ["9R", "8S1", "7T"],
wildcharge: ["9M", "8M", "7M", "7L50"],
wish: ["8E"],
},
@ -2893,7 +2893,7 @@ export const Learnsets: import('../sim/dex-species').LearnsetDataTable = {
upperhand: ["9M"],
uproar: ["8M"],
voltswitch: ["9M", "8M", "7M"],
volttackle: ["8S1", "7T"],
volttackle: ["9R", "8S1", "7T"],
wildcharge: ["9M", "8M", "7M", "7L50"],
wish: ["8E"],
},
@ -2988,7 +2988,7 @@ export const Learnsets: import('../sim/dex-species').LearnsetDataTable = {
upperhand: ["9M"],
uproar: ["8M"],
voltswitch: ["9M", "8M", "7M"],
volttackle: ["8S1", "7T", "7S0"],
volttackle: ["9R", "8S1", "7T", "7S0"],
wildcharge: ["9M", "8M", "7M", "7L50"],
wish: ["8E"],
},
@ -3083,7 +3083,7 @@ export const Learnsets: import('../sim/dex-species').LearnsetDataTable = {
upperhand: ["9M"],
uproar: ["8M"],
voltswitch: ["9M", "8M", "7M"],
volttackle: ["8S1", "7T", "7S0"],
volttackle: ["9R", "8S1", "7T", "7S0"],
wildcharge: ["9M", "8M", "7M", "7L50"],
wish: ["8E"],
},
@ -3178,7 +3178,7 @@ export const Learnsets: import('../sim/dex-species').LearnsetDataTable = {
upperhand: ["9M"],
uproar: ["8M"],
voltswitch: ["9M", "8M", "7M"],
volttackle: ["8S1", "7T"],
volttackle: ["9R", "8S1", "7T"],
wildcharge: ["9M", "8M", "7M", "7L50"],
wish: ["8E"],
},
@ -3273,7 +3273,7 @@ export const Learnsets: import('../sim/dex-species').LearnsetDataTable = {
upperhand: ["9M"],
uproar: ["8M"],
voltswitch: ["9M", "8M", "7M"],
volttackle: ["8S1", "7T"],
volttackle: ["9R", "8S1", "7T"],
wildcharge: ["9M", "8M", "7M", "7L50"],
wish: ["8E"],
},
@ -3368,7 +3368,7 @@ export const Learnsets: import('../sim/dex-species').LearnsetDataTable = {
upperhand: ["9M"],
uproar: ["8M"],
voltswitch: ["9M", "8M", "7M"],
volttackle: ["8S1", "7T"],
volttackle: ["9R", "8S1", "7T"],
wildcharge: ["9M", "8M", "7M", "7L50"],
wish: ["8E"],
},

View File

@ -2721,6 +2721,8 @@ export class TeamValidator {
// available as long as the source gen was or was before this gen
if (learned.charAt(1) === 'R') {
moveSources.restrictedMove = moveid;
// Gen 9 is not the actual source for Volt Tackle on Cap Pikachu
if (learnedGen === 9 && species.baseSpecies === "Pikachu") continue;
}
limit1 = false;
moveSources.addGen(learnedGen);
@ -2786,17 +2788,17 @@ export class TeamValidator {
if (canUseHomeRelearner) {
const fullSources = [];
let learnsetData = this.getExternalLearnsetData(species.id, 'gen8bdsp');
if (!['nincada', 'spinda'].includes(species.id) && learnsetData?.learnset?.[move.id]) {
fullSources.push(...learnsetData.learnset[move.id]);
if (!['nincada', 'spinda'].includes(species.id) && learnsetData?.learnset?.[moveid]) {
fullSources.push(...learnsetData.learnset[moveid]);
}
learnsetData = this.getExternalLearnsetData(species.id, 'gen8legends');
if (learnsetData?.learnset?.[move.id]) {
fullSources.push(...learnsetData.learnset[move.id]);
if (baseSpecies.id !== 'raichualola' && learnsetData?.learnset?.[moveid]) {
fullSources.push(...learnsetData.learnset[moveid]);
}
for (const source of fullSources) {
// Non-event sources from BDSP/LA should always be legal through HOME relearner,
// assuming the Pokemon's level is high enough
if (source.charAt(1) === 'S') continue;
if ('RS'.includes(source.charAt(1))) continue;
if (source.charAt(1) === 'L' && level < parseInt(source.substr(2))) continue;
return null;
}

View File

@ -249,6 +249,7 @@ describe('Team Validator', () => {
// Darkrai from Pokemon GO with Dream Eater learned via BDSP TM
{ species: 'darkrai', level: 15, ability: 'baddreams', moves: ['dreameater'], evs: { hp: 1 } },
{ species: 'phione', level: 46, ability: 'hydration', moves: ['takeheart'], evs: { hp: 1 } },
{ species: 'raichualola', ability: 'surgesurfer', moves: ['volttackle'], evs: { hp: 1 } },
];
assert.legalTeam(team, 'gen9ubers');
});