mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-06-02 22:08:36 -05:00
Merge dc295bade3 into 3d25154b04
This commit is contained in:
commit
f236fddd7a
|
|
@ -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'],
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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"],
|
||||
},
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user