pokemon-showdown/config/formats.js
2016-09-25 04:18:01 +04:00

1115 lines
38 KiB
JavaScript

'use strict';
// Note: This is the list of formats
// The rules that formats use are stored in data/rulesets.js
exports.Formats = [
// XY Singles
///////////////////////////////////////////////////////////////////
{
name: "Random Battle",
desc: ["Randomized teams of level-balanced Pokémon with sets that are generated to be competitively viable."],
section: "ORAS Singles",
team: 'random',
ruleset: ['PotD', 'Pokemon', 'Sleep Clause Mod', 'HP Percentage Mod', 'Cancel Mod'],
},
{
name: "Unrated Random Battle",
section: "ORAS Singles",
team: 'random',
challengeShow: false,
rated: false,
ruleset: ['PotD', 'Pokemon', 'Sleep Clause Mod', 'HP Percentage Mod', 'Cancel Mod'],
},
{
name: "OU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3546114/\">OU Metagame Discussion</a>",
"&bullet; <a href=\"https://www.smogon.com/dex/xy/tags/ou/\">OU Banlist</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3571990/\">OU Viability Ranking</a>",
],
section: "ORAS Singles",
ruleset: ['Pokemon', 'Standard', 'Team Preview', 'Swagger Clause', 'Baton Pass Clause'],
banlist: ['Uber', 'Shadow Tag', 'Soul Dew'],
},
{
name: "Ubers",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3522911/\">Ubers Metagame Discussion</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3535106/\">Ubers Viability Ranking</a>",
],
section: "ORAS Singles",
ruleset: ['Pokemon', 'Standard', 'Swagger Clause', 'Team Preview', 'Mega Rayquaza Clause'],
banlist: [],
},
{
name: "UU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3582473/\">np: UU Stage 7.3</a>",
"&bullet; <a href=\"https://www.smogon.com/dex/xy/tags/uu/\">UU Banlist</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3555277/\">UU Viability Ranking</a>",
],
section: "ORAS Singles",
searchShow: false,
ruleset: ['OU'],
banlist: ['OU', 'BL', 'Drizzle', 'Drought'],
},
{
name: "UU (suspect test)",
section: "ORAS Singles",
ruleset: ['UU'],
banlist: ['Hydreigon'],
},
{
name: "RU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3583022/\">np: RU Stage 19</a>",
"&bullet; <a href=\"https://www.smogon.com/dex/xy/tags/ru/\">RU Banlist</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3558546/\">RU Viability Ranking</a>",
],
section: "ORAS Singles",
searchShow: false,
ruleset: ['UU'],
banlist: ['UU', 'BL2'],
},
{
name: "RU (suspect test)",
section: "ORAS Singles",
challengeShow: false,
ruleset: ['UU'],
banlist: ['UU', 'BL2'],
},
{
name: "NU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3576747/\">np: NU Stage 15</a>",
"&bullet; <a href=\"https://www.smogon.com/dex/xy/tags/nu/\">NU Banlist</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3555650/\">NU Viability Ranking</a>",
],
section: "ORAS Singles",
ruleset: ['RU', 'Baton Pass Speed Clause'],
banlist: ['RU', 'BL3'],
},
{
name: "PU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3575837/\">np: PU Stage 8</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3528743/\">PU Viability Ranking</a>",
],
section: "ORAS Singles",
ruleset: ['RU'],
banlist: ['RU', 'BL3', 'NU', 'BL4', 'Chatter'],
},
{
name: "LC",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3505710/\">LC Metagame Discussion</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3490462/\">LC Banlist</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3547566/\">LC Viability Ranking</a>",
],
section: "ORAS Singles",
maxLevel: 5,
ruleset: ['Pokemon', 'Standard', 'Team Preview', 'Little Cup'],
banlist: ['LC Uber', 'Gligar', 'Misdreavus', 'Scyther', 'Sneasel', 'Tangela', 'Dragon Rage', 'Sonic Boom', 'Swagger'],
},
{
name: "CAP",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3537407/\">CAP Metagame Discussion</a>",
"&bullet; <a href=\"https://www.smogon.com/dex/xy/formats/cap/\">CAP Banlist</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3545628/\">CAP Viability Ranking</a>",
],
section: "ORAS Singles",
ruleset: ['OU'],
banlist: ['Allow CAP'],
},
{
name: "Battle Spot Singles",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3527960/\">Battle Spot Singles Metagame Discussion</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3554616/\">Battle Spot Singles Viability Ranking</a>",
],
section: "ORAS Singles",
maxForcedLevel: 50,
teamLength: {
validate: [3, 6],
battle: 3,
},
ruleset: ['Pokemon', 'Standard GBU', 'Team Preview'],
requirePentagon: true,
},
{
name: "Battle Spot Special 17",
desc: ["&bullet; <a href=\"https://www.smogon.com/forums/threads/3576896/\">Battle Spot Special 17</a>"],
section: 'ORAS Singles',
forcedLevel: 50,
teamLength: {
validate: [1, 6],
battle: 1,
},
ruleset: ['Pokemon', 'Standard GBU', 'Team Preview'],
banlist: ['Abomasite', 'Absolite', 'Aerodactylite', 'Aggronite', 'Alakazite', 'Altarianite', 'Ampharosite', 'Audinite',
'Banettite', 'Beedrillite', 'Blastoisinite', 'Blazikenite', 'Cameruptite', 'Charizardite X', 'Charizardite Y', 'Diancite',
'Galladite', 'Garchompite', 'Gardevoirite', 'Gengarite', 'Glalitite', 'Gyaradosite', 'Heracronite', 'Houndoominite',
'Kangaskhanite', 'Latiasite', 'Latiosite', 'Lopunnite', 'Lucarionite', 'Manectite', 'Mawilite', 'Medichamite',
'Metagrossite', 'Mewtwonite X', 'Mewtwonite Y', 'Pidgeotite', 'Pinsirite', 'Sablenite', 'Salamencite', 'Sceptilite',
'Scizorite', 'Sharpedonite', 'Slowbronite', 'Steelixite', 'Swampertite', 'Tyranitarite', 'Venusaurite', 'Focus Sash',
],
requirePentagon: true,
},
{
name: "Custom Game",
section: "ORAS Singles",
searchShow: false,
canUseRandomTeam: true,
debug: true,
maxLevel: 9999,
defaultLevel: 100,
// no restrictions, for serious (other than team preview)
ruleset: ['Team Preview', 'Cancel Mod'],
},
// XY Doubles
///////////////////////////////////////////////////////////////////
{
name: "Random Doubles Battle",
section: "ORAS Doubles",
gameType: 'doubles',
team: 'random',
ruleset: ['PotD', 'Pokemon', 'HP Percentage Mod', 'Cancel Mod'],
},
{
name: "Doubles OU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3580680/\">np: Doubles OU Stage 5</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3498688/\">Doubles OU Banlist</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3535930/\">Doubles OU Viability Ranking</a>",
],
section: "ORAS Doubles",
gameType: 'doubles',
ruleset: ['Pokemon', 'Standard Doubles', 'Swagger Clause', 'Team Preview'],
banlist: ['Arceus', 'Dialga', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem-White', 'Lugia',
'Mewtwo', 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Salamencite', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom',
'Soul Dew', 'Dark Void', 'Gravity ++ Grass Whistle', 'Gravity ++ Hypnosis', 'Gravity ++ Lovely Kiss', 'Gravity ++ Sing', 'Gravity ++ Sleep Powder', 'Gravity ++ Spore',
],
},
{
name: "Doubles Ubers",
desc: ["&bullet; <a href=\"https://www.smogon.com/forums/threads/3542746/\">Doubles Ubers</a>"],
section: "ORAS Doubles",
gameType: 'doubles',
ruleset: ['Pokemon', 'Species Clause', 'Moody Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Evasion Abilities Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview'],
banlist: ['Unreleased', 'Illegal', 'Dark Void'],
},
{
name: "Doubles UU",
desc: ["&bullet; <a href=\"https://www.smogon.com/forums/threads/3542755/\">Doubles UU</a>"],
section: "ORAS Doubles",
gameType: 'doubles',
ruleset: ['Doubles OU'],
banlist: ['Aegislash', 'Amoonguss', 'Azumarill', 'Bisharp', 'Breloom', 'Charizard-Mega-Y', 'Charizardite Y', 'Conkeldurr',
'Cresselia', 'Diancie-Mega', 'Diancite', 'Dragonite', 'Ferrothorn', 'Garchomp', 'Gardevoir-Mega', 'Gardevoirite',
'Gengar', 'Greninja', 'Gyarados', 'Heatran', 'Hoopa-Unbound', 'Hydreigon', 'Jirachi', 'Kangaskhan-Mega', 'Kangaskhanite',
'Keldeo', 'Kyurem-Black', 'Landorus', 'Landorus-Therian', 'Latios', 'Ludicolo', 'Mawile-Mega', 'Mawilite',
'Milotic', 'Politoed', 'Rotom-Wash', 'Scizor', 'Scrafty', 'Shaymin-Sky', 'Suicune', 'Sylveon', 'Talonflame',
'Terrakion', 'Thundurus', 'Togekiss', 'Tyranitar', 'Venusaur', 'Volcanion', 'Weavile', 'Whimsicott', 'Zapdos',
],
},
{
name: "VGC 2016",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3558332/\">VGC 2016 Rules</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3558929/\">VGC 2016 Viability Ranking</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3500650/\">VGC Learning Resources</a>",
],
section: "ORAS Doubles",
gameType: 'doubles',
maxForcedLevel: 50,
teamLength: {
validate: [4, 6],
battle: 4,
},
ruleset: ['Pokemon', 'Species Clause', 'Nickname Clause', 'Item Clause', 'Team Preview', 'Cancel Mod'],
banlist: ['Illegal', 'Unreleased', 'Mew', 'Celebi', 'Jirachi', 'Deoxys', 'Deoxys-Attack', 'Deoxys-Defense', 'Deoxys-Speed', 'Phione', 'Manaphy',
'Darkrai', 'Shaymin', 'Shaymin-Sky', 'Arceus', 'Victini', 'Keldeo', 'Meloetta', 'Genesect', 'Diancie', 'Hoopa', 'Hoopa-Unbound', 'Volcanion', 'Soul Dew',
],
requirePentagon: true,
onValidateTeam: function (team) {
const legends = {'Mewtwo':1, 'Lugia':1, 'Ho-Oh':1, 'Kyogre':1, 'Groudon':1, 'Rayquaza':1, 'Dialga':1, 'Palkia':1, 'Giratina':1, 'Reshiram':1, 'Zekrom':1, 'Kyurem':1, 'Xerneas':1, 'Yveltal':1, 'Zygarde':1};
let n = 0;
for (let i = 0; i < team.length; i++) {
let template = this.getTemplate(team[i].species).baseSpecies;
if (template in legends) n++;
if (n > 2) return ["You can only use up to two legendary Pok\u00E9mon."];
}
},
},
{
name: "Battle Spot Doubles",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3560820/\">Battle Spot Doubles Metagame Discussion</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3560824/\">Battle Spot Doubles Viability Ranking</a>",
],
section: "ORAS Doubles",
gameType: 'doubles',
maxForcedLevel: 50,
teamLength: {
validate: [4, 6],
battle: 4,
},
ruleset: ['Pokemon', 'Standard GBU', 'Team Preview'],
requirePentagon: true,
},
{
name: "Doubles Custom Game",
section: "ORAS Doubles",
gameType: 'doubles',
searchShow: false,
canUseRandomTeam: true,
maxLevel: 9999,
defaultLevel: 100,
debug: true,
// no restrictions, for serious (other than team preview)
ruleset: ['Team Preview', 'Cancel Mod'],
},
// XY Triples
///////////////////////////////////////////////////////////////////
{
name: "Random Triples Battle",
section: "ORAS Triples",
gameType: 'triples',
team: 'random',
ruleset: ['PotD', 'Pokemon', 'HP Percentage Mod', 'Cancel Mod'],
},
{
name: "Smogon Triples",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3511522/\">Smogon Triples</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3540390/\">Triples Viability Ranking</a>",
],
section: "ORAS Triples",
gameType: 'triples',
ruleset: ['Pokemon', 'Species Clause', 'OHKO Clause', 'Moody Clause', 'Evasion Moves Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview'],
banlist: ['Illegal', 'Unreleased', 'Arceus', 'Dialga', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem-White',
'Lugia', 'Mewtwo', 'Palkia', 'Rayquaza', 'Reshiram', 'Xerneas', 'Yveltal', 'Zekrom',
'Soul Dew', 'Dark Void', 'Perish Song',
],
},
{
name: "Battle Spot Triples",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3533914/\">Battle Spot Triples Metagame Discussion</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3549201/\">Battle Spot Triples Viability Ranking</a>",
],
section: "ORAS Triples",
gameType: 'triples',
maxForcedLevel: 50,
teamLength: {
validate: [6, 6],
},
ruleset: ['Pokemon', 'Standard GBU', 'Team Preview'],
requirePentagon: true,
},
{
name: "Triples Custom Game",
section: "ORAS Triples",
gameType: 'triples',
searchShow: false,
canUseRandomTeam: true,
maxLevel: 9999,
defaultLevel: 100,
debug: true,
// no restrictions, for serious (other than team preview)
ruleset: ['Team Preview', 'Cancel Mod'],
},
// Other Metagames
///////////////////////////////////////////////////////////////////
{
name: "Mix and Mega",
desc: [
"Mega Stones and Primal Orbs can be used on almost any fully evolved Pok&eacute;mon with no Mega Evolution limit.",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3540979/\">Mix and Mega</a>",
],
section: "OM of the Month",
column: 2,
mod: 'mixandmega',
ruleset: ['Ubers', 'Baton Pass Clause'],
banlist: ['Dynamic Punch', 'Electrify', 'Zap Cannon'],
onValidateTeam: function (team) {
let itemTable = {};
for (let i = 0; i < team.length; i++) {
let item = this.getItem(team[i].item);
if (!item) continue;
if (itemTable[item] && item.megaStone) return ["You are limited to one of each Mega Stone.", "(You have more than one " + this.getItem(item).name + ")"];
if (itemTable[item] && (item.id === 'blueorb' || item.id === 'redorb')) return ["You are limited to one of each Primal Orb.", "(You have more than one " + this.getItem(item).name + ")"];
itemTable[item] = true;
}
},
onValidateSet: function (set) {
let template = this.getTemplate(set.species || set.name);
let item = this.getItem(set.item);
if (!item.megaEvolves && item.id !== 'blueorb' && item.id !== 'redorb') return;
if (template.baseSpecies === item.megaEvolves || (template.baseSpecies === 'Groudon' && item.id === 'redorb') || (template.baseSpecies === 'Kyogre' && item.id === 'blueorb')) return;
if (template.evos.length) return ["" + template.species + " is not allowed to hold " + item.name + " because it's not fully evolved."];
let uberStones = ['beedrillite', 'gengarite', 'kangaskhanite', 'mawilite', 'medichamite'];
if (template.tier === 'Uber' || uberStones.indexOf(item.id) >= 0) return ["" + template.species + " is not allowed to hold " + item.name + "."];
},
onBegin: function () {
let allPokemon = this.p1.pokemon.concat(this.p2.pokemon);
for (let i = 0, len = allPokemon.length; i < len; i++) {
let pokemon = allPokemon[i];
pokemon.originalSpecies = pokemon.baseTemplate.species;
}
},
onSwitchIn: function (pokemon) {
let oMegaTemplate = this.getTemplate(pokemon.template.originalMega);
if (oMegaTemplate.exists && pokemon.originalSpecies !== oMegaTemplate.baseSpecies) {
// Place volatiles on the Pokémon to show its mega-evolved condition and details
this.add('-start', pokemon, oMegaTemplate.requiredItem || oMegaTemplate.requiredMove, '[silent]');
let oTemplate = this.getTemplate(pokemon.originalSpecies);
if (oTemplate.types.length !== pokemon.template.types.length || oTemplate.types[1] !== pokemon.template.types[1]) {
this.add('-start', pokemon, 'typechange', pokemon.template.types.join('/'), '[silent]');
}
}
},
onSwitchOut: function (pokemon) {
let oMegaTemplate = this.getTemplate(pokemon.template.originalMega);
if (oMegaTemplate.exists && pokemon.originalSpecies !== oMegaTemplate.baseSpecies) {
this.add('-end', pokemon, oMegaTemplate.requiredItem || oMegaTemplate.requiredMove, '[silent]');
}
},
},
{
name: "BH Doubles",
desc: ["&bullet; <a href=\"https://www.smogon.com/forums/threads/3489849/\">Balanced Hackmons</a>"],
section: "OM of the Month",
gameType: 'doubles',
ruleset: ['Balanced Hackmons'],
banlist: [],
},
{
name: "Anything Goes",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3523229/\">Anything Goes</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3548945/\">AG Resources</a>",
],
section: "Other Metagames",
column: 2,
ruleset: ['Pokemon', 'Endless Battle Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod'],
banlist: ['Illegal', 'Unreleased'],
},
{
name: "Balanced Hackmons",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3489849/\">Balanced Hackmons</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3566051/\">BH Suspects and Bans</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3571384/\">BH Resources</a>",
],
section: "Other Metagames",
ruleset: ['Pokemon', 'Ability Clause', '-ate Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Endless Battle Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod'],
banlist: ['Groudon-Primal', 'Kyogre-Primal', 'Arena Trap', 'Huge Power', 'Moody', 'Parental Bond', 'Protean', 'Pure Power', 'Shadow Tag', 'Wonder Guard', 'Assist', 'Chatter'],
},
{
name: "1v1",
desc: [
"Bring three Pok&eacute;mon to Team Preview and choose one to battle.",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3496773/\">1v1</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3536109/\">1v1 Resources</a>",
],
section: 'Other Metagames',
teamLength: {
validate: [1, 3],
battle: 1,
},
ruleset: ['Pokemon', 'Moody Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Swagger Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview'],
banlist: ['Illegal', 'Unreleased', 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys', 'Deoxys-Attack', 'Dialga',
'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo',
'Palkia', 'Rayquaza', 'Reshiram', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom',
'Focus Sash', 'Kangaskhanite', 'Salamencite', 'Soul Dew', 'Perish Song', 'Chansey + Charm + Seismic Toss',
],
},
{
name: "Monotype",
desc: [
"All Pok&eacute;mon on a team must share a type.",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3544507/\">Monotype</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3575778/\">Monotype Viability Ranking</a>",
],
section: "Other Metagames",
ruleset: ['Pokemon', 'Standard', 'Baton Pass Clause', 'Swagger Clause', 'Same Type Clause', 'Team Preview'],
banlist: ['Aegislash', 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys', 'Deoxys-Attack', 'Dialga', 'Genesect', 'Giratina', 'Giratina-Origin', 'Greninja', 'Groudon',
'Ho-Oh', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo', 'Palkia', 'Rayquaza', 'Reshiram', 'Shaymin-Sky', 'Talonflame', 'Xerneas', 'Yveltal', 'Zekrom',
'Altarianite', 'Charizardite X', 'Damp Rock', 'Gengarite', 'Kangaskhanite', 'Lucarionite', 'Mawilite', 'Metagrossite', 'Sablenite', 'Salamencite', 'Slowbronite', 'Smooth Rock', 'Soul Dew',
],
},
{
name: "Almost Any Ability",
desc: [
"Pok&eacute;mon can use any ability, barring the few that are banned.",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3528058/\">Almost Any Ability</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3578707/\">AAA Resources</a>",
],
section: "Other Metagames",
ruleset: ['Pokemon', 'Standard', 'Ability Clause', 'Baton Pass Clause', 'Swagger Clause', 'Team Preview'],
banlist: ['Ignore Illegal Abilities',
'Arceus', 'Archeops', 'Bisharp', 'Chatot', 'Darkrai', 'Deoxys', 'Deoxys-Attack', 'Dialga', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh',
'Hoopa-Unbound', 'Keldeo', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Mamoswine', 'Mewtwo', 'Palkia', 'Rayquaza', 'Regigigas',
'Reshiram', 'Shaymin-Sky', 'Shedinja', 'Slaking', 'Smeargle', 'Snorlax', 'Suicune', 'Terrakion', 'Weavile', 'Xerneas', 'Yveltal', 'Zekrom',
'Blazikenite', 'Gengarite', 'Kangaskhanite', 'Lucarionite', 'Mawilite', 'Salamencite', 'Soul Dew', 'Shadow Tag', 'Dynamic Punch', 'Zap Cannon',
],
onValidateSet: function (set) {
let bannedAbilities = {'Aerilate': 1, 'Arena Trap': 1, 'Contrary': 1, 'Fur Coat': 1, 'Huge Power': 1, 'Illusion': 1, 'Imposter': 1, 'Parental Bond': 1, 'Poison Heal': 1, 'Protean': 1, 'Pure Power': 1, 'Simple':1, 'Speed Boost': 1, 'Wonder Guard': 1};
if (set.ability in bannedAbilities) {
let template = this.getTemplate(set.species || set.name);
let legalAbility = false;
for (let i in template.abilities) {
if (set.ability === template.abilities[i]) legalAbility = true;
}
if (!legalAbility) return ['The ability ' + set.ability + ' is banned on Pok\u00e9mon that do not naturally have it.'];
}
},
},
{
name: "STABmons",
desc: [
"Pok&eacute;mon can use any move of their typing, in addition to the moves they can normally learn.",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3547279/\">STABmons</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3558034/\">STABmons Viability Ranking</a>",
],
section: "Other Metagames",
ruleset: ['OU'],
banlist: ['Ignore STAB Moves', 'Diggersby', 'Kyurem-Black', 'Porygon-Z', 'Thundurus', 'Aerodactylite', 'Altarianite', "King's Rock", 'Metagrossite', 'Razor Fang'],
},
{
name: "Tier Shift",
desc: [
"Pok&eacute;mon below OU/BL get all their stats boosted. UU/BL2 get +5, RU/BL3 get +10, NU/BL4 get +15, and PU or lower get +20.",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3554765/\">Tier Shift</a>",
],
section: "Other Metagames",
mod: 'tiershift',
ruleset: ['OU'],
banlist: ['Damp Rock'],
},
{
name: "Inverse Battle",
desc: [
"Battle with an inverted type chart.",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3518146/\">Inverse Battle</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3526371/\">Inverse Battle Viability Ranking</a>",
],
section: "Other Metagames",
ruleset: ['Pokemon', 'Standard', 'Baton Pass Clause', 'Swagger Clause', 'Team Preview'],
banlist: ['Arceus', 'Blaziken', 'Darkrai', 'Deoxys', 'Deoxys-Attack', 'Deoxys-Defense', 'Deoxys-Speed', 'Diggersby', 'Giratina-Origin', 'Groudon',
'Ho-Oh', 'Hoopa-Unbound', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Mewtwo', 'Palkia', 'Rayquaza', 'Reshiram', 'Serperior',
'Shaymin-Sky', 'Snorlax', 'Xerneas', 'Yveltal', 'Zekrom', 'Gengarite', 'Kangaskhanite', 'Salamencite', 'Soul Dew', 'Shadow Tag',
],
onNegateImmunity: false,
onEffectiveness: function (typeMod, target, type, move) {
// The effectiveness of Freeze Dry on Water isn't reverted
if (move && move.id === 'freezedry' && type === 'Water') return;
if (move && !this.getImmunity(move, type)) return 1;
return -typeMod;
},
},
{
name: "LC UU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3562639/\">LC UU</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3562640/\">LC UU Viability Ranking</a>",
],
section: "Other Metagames",
maxLevel: 5,
ruleset: ['LC'],
banlist: ['Abra', 'Aipom', 'Anorith', 'Archen', 'Bunnelby', 'Carvanha', 'Chinchou', 'Cottonee', 'Croagunk', 'Diglett',
'Drifloon', 'Drilbur', 'Dwebble', 'Elekid', 'Ferroseed', 'Fletchling', 'Foongus', 'Gastly', 'Gothita', 'Honedge',
'Larvesta', 'Magnemite', 'Mienfoo', 'Munchlax', 'Omanyte', 'Onix', 'Pawniard', 'Ponyta', 'Porygon', 'Scraggy',
'Shellder', 'Snivy', 'Snubbull', 'Spritzee', 'Staryu', 'Stunky', 'Surskit', 'Timburr', 'Tirtouga', 'Vullaby',
'Corphish', 'Houndour', 'Pancham', 'Skrelp', 'Vulpix', 'Zigzagoon', 'Shell Smash', 'Sticky Web',
],
},
{
name: "2v2 Doubles",
desc: [
"Double battle where you bring four Pok&eacute;mon to Team Preview and choose only two.",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3547040/\">2v2 Doubles</a>",
],
section: "Other Metagames",
gameType: 'doubles',
searchShow: false,
teamLength: {
validate: [2, 4],
battle: 2,
},
ruleset: ['Doubles OU'],
banlist: ['Kangaskhanite', 'Perish Song'],
},
{
name: "Hidden Type",
desc: [
"Pok&eacute;mon have an added type determined by their IVs. Same as the Hidden Power type.",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3516349/\">Hidden Type</a>",
],
section: "Other Metagames",
searchShow: false,
mod: 'hiddentype',
ruleset: ['OU'],
},
{
name: "OU Theorymon",
desc: ["&bullet; <a href=\"https://www.smogon.com/forums/threads/3559611/\">OU Theorymon</a>"],
section: "Other Metagames",
mod: 'theorymon',
searchShow: false,
ruleset: ['OU'],
},
{
name: "Gen-NEXT OU",
section: "Other Metagames",
mod: 'gennext',
searchShow: false,
ruleset: ['Pokemon', 'Standard NEXT', 'Team Preview'],
banlist: ['Uber'],
},
// Randomized Metas
///////////////////////////////////////////////////////////////////
{
name: "[Seasonal] Fireworks Frenzy",
desc: ["&bullet; <a href=\"https://www.smogon.com/forums/threads/3491902/\">Seasonal Ladder</a>"],
section: "Randomized Metas",
column: 2,
team: 'randomSeasonalFireworks',
ruleset: ['Sleep Clause Mod', 'Freeze Clause Mod', 'HP Percentage Mod', 'Cancel Mod'],
onBegin: function () {
this.add('message', "A fireworks show is starting!");
// this.add('-weather', 'Fireworks'); // un-comment when the client supports custom named weathers
},
onResidual: function () {
if (this.isWeather('')) this.eachEvent('Weather');
},
onWeather: function (target) {
if (!target.hasType('Fire')) this.damage(target.maxhp / 16, target, null, 'exploding fireworks');
},
},
{
name: "Battle Factory",
section: "Randomized Metas",
team: 'randomFactory',
ruleset: ['Pokemon', 'Sleep Clause Mod', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Mega Rayquaza Clause'],
},
{
name: "Challenge Cup 1v1",
section: "Randomized Metas",
team: 'randomCC',
teamLength: {
battle: 1,
},
ruleset: ['Pokemon', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview'],
},
{
name: "Monotype Random Battle",
section: "Randomized Metas",
team: 'random',
searchShow: false,
ruleset: ['Pokemon', 'Same Type Clause', 'Sleep Clause Mod', 'HP Percentage Mod', 'Cancel Mod'],
},
{
name: "Hackmons Cup",
desc: ["Randomized teams of level-balanced Pok&eacute;mon with absolutely any ability, moves, and item."],
section: "Randomized Metas",
team: 'randomHC',
ruleset: ['Pokemon', 'HP Percentage Mod', 'Cancel Mod'],
},
{
name: "Doubles Hackmons Cup",
section: "Randomized Metas",
gameType: 'doubles',
team: 'randomHC',
searchShow: false,
ruleset: ['Pokemon', 'HP Percentage Mod', 'Cancel Mod'],
},
{
name: "Triples Hackmons Cup",
section: "Randomized Metas",
gameType: 'triples',
team: 'randomHC',
searchShow: false,
ruleset: ['Pokemon', 'HP Percentage Mod', 'Cancel Mod'],
},
// RoA Spotlight
///////////////////////////////////////////////////////////////////
{
name: "[Gen 3] NU",
desc: ["&bullet; <a href=\"https://www.smogon.com/forums/threads/3503418/\">ADV NU</a>"],
section: "RoA Spotlight",
column: 3,
mod: 'gen3',
ruleset: ['[Gen 3] OU'],
banlist: ['OU', 'BL', 'UU'],
},
// BW2 Singles
///////////////////////////////////////////////////////////////////
{
name: "[Gen 5] OU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3551993/\">BW2 OU Viability Ranking</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6431094/\">BW2 Sample Teams</a>",
],
section: "BW2 Singles",
column: 3,
mod: 'gen5',
ruleset: ['Pokemon', 'Standard', 'Evasion Abilities Clause', 'Baton Pass Clause', 'Swagger Clause', 'Team Preview'],
banlist: ['Uber', 'Drizzle ++ Swift Swim', 'Drought ++ Chlorophyll', 'Sand Stream ++ Sand Rush', 'Soul Dew'],
},
{
name: "[Gen 5] Ubers",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3550881/\">BW2 Ubers Viability Ranking</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6446463/\">BW2 Ubers Sample Teams</a>",
],
section: "BW2 Singles",
mod: 'gen5',
ruleset: ['Pokemon', 'Team Preview', 'Standard Ubers'],
banlist: [],
},
{
name: "[Gen 5] UU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3474024/\">BW2 UU Viability Ranking</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6431094/\">BW2 Sample Teams</a>",
],
section: "BW2 Singles",
mod: 'gen5',
ruleset: ['[Gen 5] OU'],
banlist: ['OU', 'BL', 'Drought', 'Sand Stream', 'Snow Warning'],
},
{
name: "[Gen 5] RU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3473124/\">BW2 RU Viability Ranking</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6431094/\">BW2 Sample Teams</a>",
],
section: "BW2 Singles",
mod: 'gen5',
ruleset: ['[Gen 5] UU'],
banlist: ['UU', 'BL2', 'Shell Smash + Baton Pass', 'Snow Warning'],
},
{
name: "[Gen 5] NU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3484121/\">BW2 NU Viability Ranking</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6431094/\">BW2 Sample Teams</a>",
],
section: "BW2 Singles",
mod: 'gen5',
ruleset: ['[Gen 5] RU'],
banlist: ['RU', 'BL3', 'Prankster + Assist'],
},
{
name: "[Gen 5] LC",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3485860/\">BW2 LC Viability Ranking</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6431094/\">BW2 Sample Teams</a>",
],
section: "BW2 Singles",
mod: 'gen5',
maxLevel: 5,
ruleset: ['Pokemon', 'Standard', 'Team Preview', 'Little Cup'],
banlist: ['Berry Juice', 'Soul Dew', 'Dragon Rage', 'Sonic Boom', 'LC Uber', 'Gligar', 'Murkrow', 'Scyther', 'Sneasel', 'Tangela'],
},
{
name: "[Gen 5] GBU Singles",
section: "BW2 Singles",
mod: 'gen5',
searchShow: false,
maxForcedLevel: 50,
teamLength: {
validate: [3, 6],
battle: 3,
},
ruleset: ['Pokemon', 'Standard GBU', 'Team Preview'],
banlist: ['Dark Void', 'Sky Drop'],
},
{
name: "[Gen 5] Random Battle",
section: "BW2 Singles",
mod: 'gen5',
searchShow: false,
team: 'random',
ruleset: ['Pokemon', 'Sleep Clause Mod', 'HP Percentage Mod', 'Cancel Mod'],
},
{
name: "[Gen 5] Custom Game",
section: "BW2 Singles",
mod: 'gen5',
searchShow: false,
canUseRandomTeam: true,
debug: true,
maxLevel: 9999,
defaultLevel: 100,
// no restrictions, for serious (other than team preview)
ruleset: ['Team Preview', 'Cancel Mod'],
},
// BW2 Doubles
///////////////////////////////////////////////////////////////////
{
name: "[Gen 5] Doubles OU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3533424/\">BW2 Doubles Metagame Discussion</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3533421/\">BW2 Doubles Viability Ranking</a>",
],
section: 'BW2 Doubles',
column: 3,
mod: 'gen5',
gameType: 'doubles',
ruleset: ['Pokemon', 'Standard', 'Evasion Abilities Clause', 'Team Preview'],
banlist: ['Arceus', 'Dialga', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem-White', 'Jirachi',
'Lugia', 'Mewtwo', 'Palkia', 'Rayquaza', 'Reshiram', 'Zekrom', 'Soul Dew', 'Dark Void', 'Sky Drop',
],
},
{
name: "[Gen 5] GBU Doubles",
section: 'BW2 Doubles',
mod: 'gen5',
gameType: 'doubles',
searchShow: false,
maxForcedLevel: 50,
teamLength: {
validate: [4, 6],
battle: 4,
},
ruleset: ['Pokemon', 'Standard GBU', 'Team Preview'],
banlist: ['Dark Void', 'Sky Drop'],
},
{
name: "[Gen 5] Doubles Custom Game",
section: 'BW2 Doubles',
mod: 'gen5',
gameType: 'doubles',
searchShow: false,
canUseRandomTeam: true,
debug: true,
maxLevel: 9999,
defaultLevel: 100,
// no restrictions, for serious (other than team preview)
ruleset: ['Team Preview', 'Cancel Mod'],
},
// DPP Singles
///////////////////////////////////////////////////////////////////
{
name: "[Gen 4] OU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3551992/\">DPP OU Viability Ranking</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6431088/\">DPP Sample Teams</a>",
],
section: "DPP Singles",
column: 4,
mod: 'gen4',
ruleset: ['Pokemon', 'Standard', 'Evasion Abilities Clause'],
banlist: ['Uber'],
},
{
name: "[Gen 4] Ubers",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3505128/\">DPP Ubers Viability Ranking</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6446464/\">DPP Ubers Sample Teams</a>",
],
section: "DPP Singles",
mod: 'gen4',
ruleset: ['Pokemon', 'Standard'],
banlist: ['Arceus'],
},
{
name: "[Gen 4] UU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3503638/\">DPP UU Viability Ranking</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6431088/\">DPP Sample Teams</a>",
],
section: "DPP Singles",
mod: 'gen4',
ruleset: ['Pokemon', 'Standard'],
banlist: ['Uber', 'OU', 'BL'],
},
{
name: "[Gen 4] LC",
desc: [
"&bullet; <a href=\"https://www.smogon.com/dp/articles/little_cup_guide\">DPP LC Guide</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6431088/\">DPP Sample Teams</a>",
],
section: "DPP Singles",
mod: 'gen4',
maxLevel: 5,
ruleset: ['Pokemon', 'Standard', 'Little Cup'],
banlist: ['LC Uber', 'Misdreavus', 'Murkrow', 'Scyther', 'Sneasel', 'Tangela', 'Yanma', 'Berry Juice', 'DeepSeaTooth', 'Dragon Rage', 'Sonic Boom'],
},
{
name: "[Gen 4] Custom Game",
section: "DPP Singles",
mod: 'gen4',
searchShow: false,
canUseRandomTeam: true,
debug: true,
maxLevel: 9999,
defaultLevel: 100,
// no restrictions
ruleset: ['Cancel Mod'],
},
// DPP Doubles
///////////////////////////////////////////////////////////////////
{
name: "[Gen 4] Doubles Custom Game",
section: "DPP Doubles",
column: 4,
mod: 'gen4',
gameType: 'doubles',
searchShow: false,
canUseRandomTeam: true,
debug: true,
maxLevel: 9999,
defaultLevel: 100,
// no restrictions
ruleset: ['Cancel Mod'],
},
// Past Generations
///////////////////////////////////////////////////////////////////
{
name: "[Gen 3] OU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3503019/\">ADV OU Viability Ranking</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6431087/\">ADV Sample Teams</a>",
],
section: "Past Generations",
column: 4,
mod: 'gen3',
ruleset: ['Pokemon', 'Standard'],
banlist: ['Uber', 'Smeargle + Ingrain'],
},
{
name: "[Gen 3] Ubers",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3536426/\">ADV Ubers Viability Ranking</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6446466/\">ADV Ubers Sample Teams</a>",
],
section: "Past Generations",
mod: 'gen3',
ruleset: ['Pokemon', 'Standard'],
banlist: ['Wobbuffet + Leftovers'],
},
{
name: "[Gen 3] Custom Game",
section: "Past Generations",
mod: 'gen3',
searchShow: false,
debug: true,
ruleset: ['Pokemon', 'HP Percentage Mod', 'Cancel Mod'],
},
{
name: "[Gen 2] OU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3503082/\">GSC OU Viability Ranking</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6431086/\">GSC Sample Teams</a>",
],
section: "Past Generations",
mod: 'gen2',
ruleset: ['Pokemon', 'Standard'],
banlist: ['Uber'],
},
{
name: "[Gen 2] Ubers",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3507552/\">GSC Ubers Discussion</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6431086/\">GSC Sample Teams</a>",
],
section: "Past Generations",
mod: 'gen2',
searchShow: false,
ruleset: ['Pokemon', 'Standard'],
},
{
name: "[Gen 2] Random Battle",
section: "Past Generations",
mod: 'gen2',
searchShow: false,
team: 'random',
ruleset: ['Pokemon', 'Standard'],
},
{
name: "[Gen 2] Custom Game",
section: "Past Generations",
mod: 'gen2',
searchShow: false,
debug: true,
ruleset: ['Pokemon', 'HP Percentage Mod', 'Cancel Mod'],
},
{
name: "[Gen 1] OU",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3486845/\">RBY OU Viability Ranking</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6431045/\">RBY Sample Teams</a>",
],
section: "Past Generations",
mod: 'gen1',
ruleset: ['Pokemon', 'Standard'],
banlist: ['Uber'],
},
{
name: "[Gen 1] Ubers",
desc: [
"&bullet; <a href=\"https://www.smogon.com/forums/threads/3541329/\">RBY Ubers Viability Ranking</a>",
"&bullet; <a href=\"https://www.smogon.com/forums/posts/6431045/\">RBY Sample Teams</a>",
],
section: "Past Generations",
mod: 'gen1',
searchShow: false,
ruleset: ['Pokemon', 'Standard'],
banlist: [],
},
{
name: "[Gen 1] OU (tradeback)",
section: "Past Generations",
mod: 'gen1',
searchShow: false,
ruleset: ['Pokemon', 'Sleep Clause Mod', 'Freeze Clause Mod', 'Species Clause', 'OHKO Clause', 'Evasion Moves Clause', 'HP Percentage Mod', 'Cancel Mod'],
banlist: ['Allow Tradeback', 'Uber', 'Unreleased', 'Illegal',
'Nidoking + Fury Attack + Thrash', 'Exeggutor + Poison Powder + Stomp', 'Exeggutor + Sleep Powder + Stomp',
'Exeggutor + Stun Spore + Stomp', 'Jolteon + Focus Energy + Thunder Shock', 'Flareon + Focus Energy + Ember',
],
},
{
name: "[Gen 1] Random Battle",
section: "Past Generations",
mod: 'gen1',
team: 'random',
ruleset: ['Pokemon', 'Sleep Clause Mod', 'Freeze Clause Mod', 'HP Percentage Mod', 'Cancel Mod'],
},
{
name: "[Gen 1] Challenge Cup",
section: "Past Generations",
mod: 'gen1',
team: 'randomCC',
searchShow: false,
ruleset: ['Pokemon', 'Sleep Clause Mod', 'Freeze Clause Mod', 'HP Percentage Mod', 'Cancel Mod'],
},
{
name: "[Gen 1] Stadium",
section: "Past Generations",
mod: 'stadium',
searchShow: false,
ruleset: ['Pokemon', 'Standard', 'Team Preview'],
banlist: ['Uber',
'Nidoking + Fury Attack + Thrash', 'Exeggutor + Poison Powder + Stomp', 'Exeggutor + Sleep Powder + Stomp',
'Exeggutor + Stun Spore + Stomp', 'Jolteon + Focus Energy + Thunder Shock', 'Flareon + Focus Energy + Ember',
],
},
{
name: "[Gen 1] Custom Game",
section: "Past Generations",
mod: 'gen1',
searchShow: false,
debug: true,
ruleset: ['Pokemon', 'HP Percentage Mod', 'Cancel Mod'],
},
];