mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-05-18 11:14:39 -05:00
Previously, we split gen 2-5 egg move validation into two phases, `checkLearnset` where we searched for a valid father, and `reconcileLearnset` where we made sure the father could learn the move combination. Egg move validation has now been completely moved out of these functions and into `validateSource`, which calls `findEggMoveFathers`. The new algorithm no longer requires `C` moves to be hardcoded into `learnsets.js`, now doing a more thorough check validation for the father's move combination. This should be slower than before, but net performance should be massively improved due to two other optimizations in this refactor: - We no longer do any father-searching if the moveset can be obtained any other way - in particular, this means no more father validation in gen 6+ where all egg move combinations are legal anyway. - We only check fully-evolved pokemon as fathers (because anything a prevo can learn, its evos can learn, too - yes, we remember to make exceptions for Salazzle, Combee, and future-gen evos) In addition, `/learn` should now provide significantly better information for egg move breeding, since it uses a more thorough check instead of the validator's short-circuiting the moment it finds a valid father. This also improves some baby-only move validation, specifically fixing the issue with Seismic Toss Charm Chansey.
42 lines
1.4 KiB
JavaScript
42 lines
1.4 KiB
JavaScript
'use strict';
|
|
|
|
/**@type {{[k: string]: ModdedFormatsData}} */
|
|
let BattleFormats = {
|
|
obtainablemoves: {
|
|
inherit: true,
|
|
banlist: [
|
|
// https://www.smogon.com/forums/threads/implementing-all-old-gens-in-ps-testers-required.3483261/post-5420130
|
|
// confirmed by Marty
|
|
'Kakuna + Poison Sting + Harden', 'Kakuna + String Shot + Harden',
|
|
'Beedrill + Poison Sting + Harden', 'Beedrill + String Shot + Harden',
|
|
|
|
// https://www.smogon.com/forums/threads/rby-and-gsc-illegal-movesets.78638/
|
|
'Nidoking + Fury Attack + Thrash',
|
|
'Exeggutor + Poison Powder + Stomp', 'Exeggutor + Sleep Powder + Stomp', 'Exeggutor + Stun Spore + Stomp',
|
|
'Eevee + Tackle + Growl',
|
|
'Vaporeon + Tackle + Growl',
|
|
'Jolteon + Tackle + Growl', 'Jolteon + Focus Energy + Thunder Shock',
|
|
'Flareon + Tackle + Growl', 'Flareon + Focus Energy + Ember',
|
|
],
|
|
},
|
|
standard: {
|
|
effectType: 'ValidatorRule',
|
|
name: 'Standard',
|
|
ruleset: ['Sleep Clause Mod', 'Freeze Clause Mod', 'Species Clause', 'OHKO Clause', 'Evasion Moves Clause', 'HP Percentage Mod', 'Cancel Mod'],
|
|
banlist: [
|
|
'Hypnosis + Mean Look',
|
|
'Hypnosis + Spider Web',
|
|
'Lovely Kiss + Mean Look',
|
|
'Lovely Kiss + Spider Web',
|
|
'Sing + Mean Look',
|
|
'Sing + Spider Web',
|
|
'Sleep Powder + Mean Look',
|
|
'Sleep Powder + Spider Web',
|
|
'Spore + Mean Look',
|
|
'Spore + Spider Web',
|
|
],
|
|
},
|
|
};
|
|
|
|
exports.BattleFormats = BattleFormats;
|