mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-05-09 12:36:41 -05:00
961 lines
30 KiB
JavaScript
961 lines
30 KiB
JavaScript
// 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",
|
|
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",
|
|
section: "ORAS Singles",
|
|
|
|
searchShow: false,
|
|
ruleset: ['Pokemon', 'Standard', 'Team Preview', 'Swagger Clause', 'Baton Pass Clause'],
|
|
banlist: ['Uber', 'Soul Dew', 'Gengarite', 'Kangaskhanite', 'Lucarionite', 'Mawilite', 'Salamencite']
|
|
},
|
|
{
|
|
name: "OU (suspect test)",
|
|
section: "ORAS Singles",
|
|
|
|
ruleset: ['Pokemon', 'Standard', 'Team Preview', 'Swagger Clause', 'Baton Pass Clause'],
|
|
banlist: ['Uber', 'Soul Dew', 'Gengarite', 'Kangaskhanite', 'Lucarionite', 'Mawilite', 'Salamencite', 'Landorus']
|
|
},
|
|
{
|
|
name: "OU (no Mega)",
|
|
section: "ORAS Singles",
|
|
|
|
ruleset: ['OU'],
|
|
onBegin: function () {
|
|
for (var i = 0; i < this.p1.pokemon.length; i++) {
|
|
this.p1.pokemon[i].canMegaEvo = false;
|
|
}
|
|
for (var i = 0; i < this.p2.pokemon.length; i++) {
|
|
this.p2.pokemon[i].canMegaEvo = false;
|
|
}
|
|
}
|
|
},
|
|
{
|
|
name: "Ubers",
|
|
section: "ORAS Singles",
|
|
|
|
ruleset: ['Pokemon', 'Standard', 'Swagger Clause', 'Team Preview', 'Mega Rayquaza Ban Mod'],
|
|
banlist: []
|
|
},
|
|
{
|
|
name: "UU",
|
|
section: "ORAS Singles",
|
|
|
|
searchShow: false,
|
|
ruleset: ['OU'],
|
|
banlist: ['OU', 'BL', 'Alakazite', 'Altarianite', 'Diancite', 'Heracronite', 'Galladite', 'Gardevoirite', 'Lopunnite', 'Medichamite',
|
|
'Metagrossite', 'Pinsirite', 'Drizzle', 'Drought', 'Shadow Tag'
|
|
]
|
|
},
|
|
{
|
|
name: "UU (suspect test)",
|
|
section: "ORAS Singles",
|
|
|
|
ruleset: ['OU'],
|
|
banlist: ['OU', 'Alakazite', 'Altarianite', 'Diancite', 'Heracronite', 'Galladite', 'Gardevoirite', 'Lopunnite', 'Medichamite',
|
|
'Metagrossite', 'Pinsirite', 'Drizzle', 'Drought', 'Shadow Tag', 'Crawdaunt', 'Diggersby', 'Hawlucha', 'Klefki', 'Scolipede',
|
|
'Smeargle', 'Staraptor', 'Terrakion', 'Thundurus-Therian', 'Togekiss', 'Venomoth', 'Volcarona', 'Weavile', 'Zygarde'
|
|
]
|
|
},
|
|
{
|
|
name: "RU",
|
|
section: "ORAS Singles",
|
|
|
|
searchShow: false,
|
|
ruleset: ['UU'],
|
|
banlist: ['UU', 'BL2', 'Galladite', 'Houndoominite', 'Pidgeotite']
|
|
},
|
|
{
|
|
name: "RU (suspect test)",
|
|
section: "ORAS Singles",
|
|
|
|
challengeShow: false,
|
|
ruleset: ['UU'],
|
|
banlist: ['UU', 'BL2', 'Galladite', 'Houndoominite', 'Pidgeotite']
|
|
},
|
|
{
|
|
name: "NU",
|
|
section: "ORAS Singles",
|
|
|
|
searchShow: false,
|
|
ruleset: ['RU'],
|
|
banlist: ['RU', 'BL3', 'Cameruptite', 'Glalitite', 'Steelixite']
|
|
},
|
|
{
|
|
name: "NU (suspect test)",
|
|
section: "ORAS Singles",
|
|
|
|
challengeShow: false,
|
|
ruleset: ['RU'],
|
|
banlist: ['RU', 'BL3', 'Cameruptite', 'Glalitite', 'Steelixite']
|
|
},
|
|
{
|
|
name: "LC",
|
|
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: "Anything Goes",
|
|
section: "ORAS Singles",
|
|
|
|
ruleset: ['Pokemon', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview'],
|
|
banlist: ['Unreleased', 'Illegal']
|
|
},
|
|
/*{
|
|
name: "CAP Plasmanta Playtest",
|
|
section: "ORAS Singles",
|
|
|
|
ruleset: ['CAP Pokemon', 'Standard', 'Team Preview', 'Swagger Clause', 'Baton Pass Clause'],
|
|
banlist: ['Uber', 'Gengarite', 'Kangaskhanite', 'Lucarionite', 'Soul Dew',
|
|
'Tomohawk', 'Necturna', 'Mollux', 'Aurumoth', 'Malaconda', 'Cawmodore', 'Volkraken', 'Syclant', 'Revenankh', 'Pyroak', 'Fidgit', 'Stratagem', 'Arghonaut', 'Kitsunoh', 'Cyclohm', 'Colossoil', 'Krilowatt', 'Voodoom'
|
|
]
|
|
},*/
|
|
{
|
|
name: "Battle Spot Singles",
|
|
section: "ORAS Singles",
|
|
|
|
maxForcedLevel: 50,
|
|
ruleset: ['Pokemon', 'Standard GBU', 'Team Preview GBU'],
|
|
requirePentagon: true,
|
|
validateTeam: function (team, format) {
|
|
if (team.length < 3) return ['You must bring at least three Pokémon.'];
|
|
},
|
|
onBegin: function () {
|
|
this.debug('cutting down to 3');
|
|
this.p1.pokemon = this.p1.pokemon.slice(0, 3);
|
|
this.p1.pokemonLeft = this.p1.pokemon.length;
|
|
this.p2.pokemon = this.p2.pokemon.slice(0, 3);
|
|
this.p2.pokemonLeft = this.p2.pokemon.length;
|
|
}
|
|
},
|
|
{
|
|
name: "Battle Spot Special 10",
|
|
section: "ORAS Singles",
|
|
|
|
maxForcedLevel: 50,
|
|
ruleset: ['Battle Spot Singles'],
|
|
requirePentagon: true,
|
|
validateTeam: function (team, format) {
|
|
if (team.length < 3) return ['You must bring at least three Pokémon.'];
|
|
},
|
|
onBegin: function () {
|
|
this.debug('cutting down to 3');
|
|
this.p1.pokemon = this.p1.pokemon.slice(0, 3);
|
|
this.p1.pokemonLeft = this.p1.pokemon.length;
|
|
this.p2.pokemon = this.p2.pokemon.slice(0, 3);
|
|
this.p2.pokemonLeft = this.p2.pokemon.length;
|
|
},
|
|
onModifyPokemon: function (pokemon) {
|
|
pokemon.negateImmunity['Type'] = true;
|
|
},
|
|
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: "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: 'randomDoubles',
|
|
ruleset: ['PotD', 'Pokemon', 'HP Percentage Mod', 'Cancel Mod']
|
|
},
|
|
{
|
|
name: "Doubles OU",
|
|
section: "ORAS Doubles",
|
|
|
|
gameType: 'doubles',
|
|
searchShow: false,
|
|
ruleset: ['Pokemon', 'Standard Doubles', 'Team Preview'],
|
|
banlist: ['Arceus', 'Dialga', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo',
|
|
'Palkia', 'Rayquaza', 'Reshiram', 'Xerneas', 'Yveltal', 'Zekrom', 'Salamencite', 'Soul Dew', 'Dark Void',
|
|
'Gravity ++ Grass Whistle', 'Gravity ++ Hypnosis', 'Gravity ++ Lovely Kiss', 'Gravity ++ Sing', 'Gravity ++ Sleep Powder', 'Gravity ++ Spore'
|
|
]
|
|
},
|
|
{
|
|
name: "Doubles OU (suspect test)",
|
|
section: "ORAS Doubles",
|
|
|
|
gameType: 'doubles',
|
|
ruleset: ['Pokemon', 'Standard Doubles', 'Team Preview'],
|
|
banlist: ['Arceus', 'Dialga', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo',
|
|
'Palkia', 'Rayquaza', 'Reshiram', '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",
|
|
section: "ORAS Doubles",
|
|
|
|
gameType: 'doubles',
|
|
ruleset: ['Pokemon', 'Species Clause', 'Moody Clause', 'OHKO Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview'],
|
|
banlist: ['Unreleased', 'Illegal', 'Dark Void']
|
|
},
|
|
{
|
|
name: "Doubles UU",
|
|
section: "ORAS Doubles",
|
|
|
|
gameType: 'doubles',
|
|
ruleset: ['Doubles OU'],
|
|
banlist: ['Aegislash', 'Amoonguss', 'Azumarill', 'Bisharp', 'Breloom', 'Camerupt', 'Chandelure', 'Charizard', 'Conkeldurr',
|
|
'Cresselia', 'Diancie', 'Dragonite', 'Excadrill', 'Ferrothorn', 'Garchomp', 'Gardevoir',
|
|
'Gengar', 'Greninja', 'Gyarados', 'Heatran', 'Hitmontop', 'Hydreigon', 'Kangaskhan', 'Keldeo',
|
|
'Kyurem-Black', 'Landorus', 'Landorus-Therian', 'Latios', 'Ludicolo', 'Mamoswine', 'Mawile', 'Metagross', 'Mew',
|
|
'Politoed', 'Rotom-Wash', 'Sableye', 'Scizor', 'Scrafty', 'Shaymin-Sky',
|
|
'Suicune', 'Sylveon', 'Talonflame', 'Terrakion', 'Thundurus', 'Togekiss',
|
|
'Tyranitar', 'Venusaur', 'Weavile', 'Whimsicott', 'Zapdos'
|
|
]
|
|
},
|
|
{
|
|
name: "Doubles NU",
|
|
section: "ORAS Doubles",
|
|
|
|
gameType: 'doubles',
|
|
searchShow: false,
|
|
ruleset: ['Doubles UU'],
|
|
banlist: ['Snorlax', 'Machamp', 'Lopunny', 'Galvantula', 'Mienshao', 'Infernape', 'Aromatisse',
|
|
'Clawitzer', 'Kyurem', 'Flygon', 'Lucario', 'Alakazam', 'Gastrodon', 'Bronzong', 'Chandelure',
|
|
'Dragalge', 'Mamoswine', 'Genesect', 'Arcanine', 'Volcarona', 'Aggron', 'Manectric', 'Salamence',
|
|
'Tornadus', 'Porygon2', 'Latias', 'Meowstic', 'Ninetales', 'Crobat', 'Blastoise', 'Darmanitan',
|
|
'Sceptile', 'Jirachi', 'Goodra', 'Deoxys-Attack', 'Milotic', 'Victini', 'Hariyama', 'Crawdaunt',
|
|
'Aerodactyl', 'Abomasnow', 'Krookodile', 'Cofagrigus', 'Druddigon', 'Escavalier', 'Dusclops',
|
|
'Slowbro', 'Slowking', 'Eelektross', 'Spinda', 'Cloyster', 'Raikou', 'Thundurus-Therian', 'Swampert',
|
|
'Nidoking', 'Aurorus', 'Granbull', 'Braviary'
|
|
]
|
|
},
|
|
{
|
|
name: "Battle Spot Doubles (VGC 2015)",
|
|
section: "ORAS Doubles",
|
|
|
|
gameType: 'doubles',
|
|
maxForcedLevel: 50,
|
|
ruleset: ['Pokemon', 'Standard GBU', 'Team Preview VGC'],
|
|
banlist: ['Tornadus + Defiant', 'Thundurus + Defiant', 'Landorus + Sheer Force'],
|
|
requirePentagon: true,
|
|
validateTeam: function (team, format) {
|
|
if (team.length < 4) return ['You must bring at least four Pokémon.'];
|
|
},
|
|
onBegin: function () {
|
|
this.debug('cutting down to 4');
|
|
this.p1.pokemon = this.p1.pokemon.slice(0, 4);
|
|
this.p1.pokemonLeft = this.p1.pokemon.length;
|
|
this.p2.pokemon = this.p2.pokemon.slice(0, 4);
|
|
this.p2.pokemonLeft = this.p2.pokemon.length;
|
|
}
|
|
},
|
|
{
|
|
name: "Doubles Challenge Cup",
|
|
section: "ORAS Doubles",
|
|
|
|
gameType: 'doubles',
|
|
team: 'randomCC',
|
|
searchShow: false,
|
|
ruleset: ['Pokemon', 'HP Percentage Mod', 'Cancel Mod']
|
|
},
|
|
{
|
|
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: 'randomDoubles',
|
|
ruleset: ['PotD', 'Pokemon', 'HP Percentage Mod', 'Cancel Mod']
|
|
},
|
|
{
|
|
name: "Smogon Triples",
|
|
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",
|
|
section: "ORAS Triples",
|
|
|
|
gameType: 'triples',
|
|
maxForcedLevel: 50,
|
|
ruleset: ['Pokemon', 'Standard GBU', 'Team Preview'],
|
|
requirePentagon: true,
|
|
validateTeam: function (team, format) {
|
|
if (team.length < 6) return ['You must have six Pokémon.'];
|
|
}
|
|
},
|
|
{
|
|
name: "Triples Challenge Cup",
|
|
section: "ORAS Triples",
|
|
|
|
gameType: 'triples',
|
|
team: 'randomCC',
|
|
searchShow: false,
|
|
ruleset: ['Pokemon', 'HP Percentage Mod', 'Cancel Mod']
|
|
},
|
|
{
|
|
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: "2v2 Doubles",
|
|
section: "OM of the Month",
|
|
column: 2,
|
|
|
|
gameType: 'doubles',
|
|
ruleset: ['Doubles OU'],
|
|
banlist: ['Perish Song'],
|
|
validateTeam: function (team, format) {
|
|
if (team.length > 4) return ['You may only bring up to four Pokémon.'];
|
|
},
|
|
onBegin: function () {
|
|
this.p1.pokemon = this.p1.pokemon.slice(0, 2);
|
|
this.p1.pokemonLeft = this.p1.pokemon.length;
|
|
this.p2.pokemon = this.p2.pokemon.slice(0, 2);
|
|
this.p2.pokemonLeft = this.p2.pokemon.length;
|
|
}
|
|
},
|
|
{
|
|
name: "[Seasonal] You are (not) prepared",
|
|
section: 'OM of the Month',
|
|
|
|
team: 'randomSeasonalMay2015',
|
|
mod: 'seasonal',
|
|
gameType: 'triples',
|
|
ruleset: ['HP Percentage Mod', 'Sleep Clause Mod', 'Cancel Mod'],
|
|
onBegin: function () {
|
|
this.add('raw|<b><font color="red">IMPORTANT!</font></b> All moves on this seasonal are custom. Use the command <b>/seasonaldata</b>, <b>/sdata</b>, or <b>/sdt</b> to know what they do.');
|
|
this.add('raw|More information can be found <a href="http://www.smogon.com/forums/threads/3491902/page-12#post-6202283">here</a>');
|
|
},
|
|
onModifyMove: function (move) {
|
|
// Shows legit name after use...
|
|
var legitNames = {
|
|
recover: "Cura", softboiled: "Curaga", reflect: "Wild Growth", acupressure: "Power Shield",
|
|
holdhands: "Rejuvenation", luckychant: "Fairy Ward", followme: "Taunt", meditate: "Sacrifice",
|
|
helpinghand: "Cooperation", spite: "Slow Down", aromaticmist: "Healing Touch", healbell: "Penance",
|
|
fakeout: "Stop", endure: "Last Stand", withdraw: "Barkskin", seismictoss: "Punishment",
|
|
flamethrower: "Flamestrike", fireblast: "Conflagration", thunderbolt: "Moonfire", thunder: "Starfire",
|
|
toxic: "Corruption", leechseed: "Soul Leech", icebeam: "Ice Lance", freezeshock: "Frostbite",
|
|
aircutter: "Hurricane", muddywater: "Storm", furyswipes: "Fury", scratch: "Garrote", slash: "Mutilate",
|
|
smog: "Poison Gas", protect: "Evasion", matblock: "Sacred Shield"
|
|
};
|
|
if (move.id in legitNames) {
|
|
move.name = legitNames[move.id];
|
|
}
|
|
},
|
|
onFaint: function (pokemon) {
|
|
var message = {
|
|
'Amy': 'French?', 'Princess Leia': 'Why, you stuck up, half-witted, scruffy-looking Nerf herder.',
|
|
'Scruffy': "Scruffy's gonna die the way he lived. [Turns page of Zero-G Juggs magazine.] Mmhm.",
|
|
'Yoda': 'Wrath leads to the dark side.', 'Bender': 'DEATH TO ALL HUMANS!', 'Gurren Lagann': 'Later, buddy.',
|
|
'Lagann': "Eh, I guess I'm no one.", 'Rei Ayanami': 'Man fears the darkness, and so he scrapes away at the edges of it with fire.',
|
|
'Slurms McKenzie': 'I will keep partying until the end.', 'C3PO': 'Oh, dear!',
|
|
'Hermes': 'I can still... limbo...', 'Professor Farnsworth': 'Bad news, everyone!', 'Kif': 'Sigh.',
|
|
'Jar Jar Binks': "Better dead here than deader in the Core. Ye gods, whatta meesa sayin'?",
|
|
'R2D2': '*beep boop*', 'Asuka Langley': 'Disgusting.', 'Chewy': 'GRARARWOOWRALWRL',
|
|
'Fry': 'Huh. Did everything just taste purple for a second?', 'Han Solo': 'I should have shot first...',
|
|
'Leela': 'Yeeee-hAW!', 'Luke Skywalker': 'I could not use the force...',
|
|
'Nibbler': 'I hereby place an order for one cheese pizza.',
|
|
'Shinji Ikari': 'It would be better if I never existed. I should just die too.', 'Zoidberg': 'Why not Zoidberg?',
|
|
'Anti-Spiral': 'If this is how it must be, protect the universe at all costs.', 'Gendo Ikari': 'Everything goes according to the plan.',
|
|
'Kaworu Nagisa': 'Dying of your own will. That is the one and only absolute freedom there is.',
|
|
'Jabba the Hut': 'Han, ma bukee.', 'Lilith': '...', 'Lrrr': "But I'm emperor of Omicron Persei 8!",
|
|
'Mommy': 'Stupid!', 'Bobba Fett': "I see now I've done terrible things.", 'Zapp Brannigan': "Oh, God, I'm pathetic. Sorry. Just go...",
|
|
'An angel': ',,,', 'Darth Vader': "I'm sorry, son.", 'Emperor Palpatine': 'What the hell is an "Aluminum Falcon"?',
|
|
'Fender': '*beeps*', 'Storm Trooper': 'But my aim is perfect!'
|
|
}[pokemon.name];
|
|
this.add('-message', pokemon.name + ': ' + message);
|
|
}
|
|
},
|
|
{
|
|
name: "CAP",
|
|
section: "Other Metagames",
|
|
column: 2,
|
|
|
|
ruleset: ['OU'],
|
|
banlist: ['Allow CAP']
|
|
},
|
|
{
|
|
name: "Battle Factory",
|
|
section: "Other Metagames",
|
|
|
|
team: 'randomFactory',
|
|
ruleset: ['Pokemon', 'Sleep Clause Mod', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod']
|
|
},
|
|
{
|
|
name: "Battle Cup 1v1",
|
|
section: "Other Metagames",
|
|
|
|
team: 'randomBC',
|
|
ruleset: ['Pokemon', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview 1v1'],
|
|
onBegin: function () {
|
|
this.debug('Cutting down to 1');
|
|
this.p1.pokemon = this.p1.pokemon.slice(0, 1);
|
|
this.p1.pokemonLeft = this.p1.pokemon.length;
|
|
this.p2.pokemon = this.p2.pokemon.slice(0, 1);
|
|
this.p2.pokemonLeft = this.p2.pokemon.length;
|
|
}
|
|
},
|
|
{
|
|
name: "Challenge Cup",
|
|
section: "Other Metagames",
|
|
|
|
team: 'randomCC',
|
|
ruleset: ['Pokemon', 'HP Percentage Mod', 'Cancel Mod']
|
|
},
|
|
{
|
|
name: "Balanced Hackmons",
|
|
section: "Other Metagames",
|
|
|
|
ruleset: ['Pokemon', 'Ability Clause', '-ate Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod'],
|
|
banlist: ['Arena Trap', 'Huge Power', 'Parental Bond', 'Pure Power', 'Shadow Tag', 'Wonder Guard', 'Assist', 'Chatter']
|
|
},
|
|
{
|
|
name: "1v1",
|
|
section: 'Other Metagames',
|
|
|
|
ruleset: ['Pokemon', 'Moody Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Swagger Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview 1v1'],
|
|
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', 'Soul Dew'
|
|
],
|
|
validateTeam: function (team, format) {
|
|
if (team.length > 3) return ['You may only bring up to three Pokémon.'];
|
|
},
|
|
onBegin: function () {
|
|
this.p1.pokemon = this.p1.pokemon.slice(0, 1);
|
|
this.p1.pokemonLeft = this.p1.pokemon.length;
|
|
this.p2.pokemon = this.p2.pokemon.slice(0, 1);
|
|
this.p2.pokemonLeft = this.p2.pokemon.length;
|
|
}
|
|
},
|
|
{
|
|
name: "Monotype",
|
|
section: "Other Metagames",
|
|
|
|
ruleset: ['Pokemon', 'Standard', 'Baton Pass Clause', 'Swagger Clause', 'Same Type Clause', 'Team Preview'],
|
|
banlist: ['Arceus', 'Blaziken', 'Darkrai', 'Deoxys', 'Deoxys-Attack', 'Dialga', 'Giratina', 'Giratina-Origin', 'Greninja', 'Groudon', 'Ho-Oh',
|
|
'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo', 'Palkia', 'Rayquaza', 'Reshiram', 'Talonflame', 'Xerneas', 'Yveltal', 'Zekrom',
|
|
'Gengarite', 'Kangaskhanite', 'Lucarionite', 'Mawilite', 'Metagrossite', 'Salamencite', 'Shaymin-Sky', 'Slowbronite', 'Soul Dew'
|
|
]
|
|
},
|
|
{
|
|
name: "Tier Shift",
|
|
section: "Other Metagames",
|
|
|
|
mod: 'tiershift',
|
|
ruleset: ['OU'],
|
|
banlist: ['Shadow Tag', 'Chatter']
|
|
},
|
|
{
|
|
name: "PU",
|
|
section: "Other Metagames",
|
|
|
|
ruleset: ['NU'],
|
|
banlist: ['NU', 'BL4', 'Altarianite', 'Beedrillite', 'Lopunnite', 'Chatter', 'Shell Smash + Baton Pass']
|
|
},
|
|
{
|
|
name: "Inverse Battle",
|
|
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', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Mewtwo', 'Palkia', 'Rayquaza', 'Reshiram', 'Serperior',
|
|
'Shaymin-Sky', 'Snorlax', 'Xerneas', 'Yveltal', 'Zekrom', 'Gengarite', 'Kangaskhanite', 'Salamencite', 'Soul Dew'
|
|
],
|
|
onModifyPokemon: function (pokemon) {
|
|
pokemon.negateImmunity['Type'] = true;
|
|
},
|
|
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: "Almost Any Ability",
|
|
section: "Other Metagames",
|
|
|
|
ruleset: ['Pokemon', 'Standard', 'Baton Pass Clause', 'Swagger Clause', 'Team Preview'],
|
|
banlist: ['Ignore Illegal Abilities', 'Arceus', 'Archeops', 'Bisharp', 'Darkrai', 'Deoxys', 'Deoxys-Attack', 'Dialga', 'Giratina', 'Giratina-Origin',
|
|
'Groudon', 'Ho-Oh', 'Keldeo', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Mamoswine', 'Mewtwo', 'Palkia',
|
|
'Rayquaza', 'Regigigas', 'Reshiram', 'Shedinja + Sturdy', 'Slaking', 'Smeargle + Prankster', 'Terrakion', 'Weavile', 'Xerneas', 'Yveltal',
|
|
'Zekrom', 'Blazikenite', 'Gengarite', 'Kangaskhanite', 'Lucarionite', 'Mawilite', 'Salamencite', 'Soul Dew', 'Chatter'
|
|
],
|
|
validateSet: function (set) {
|
|
var bannedAbilities = {'Aerilate': 1, 'Arena Trap': 1, 'Contrary': 1, 'Fur Coat': 1, 'Huge Power': 1, 'Imposter': 1, 'Parental Bond': 1, 'Protean': 1, 'Pure Power': 1, 'Shadow Tag': 1, 'Simple':1, 'Speed Boost': 1, 'Wonder Guard': 1};
|
|
if (set.ability in bannedAbilities) {
|
|
var template = this.getTemplate(set.species || set.name);
|
|
var legalAbility = false;
|
|
for (var i in template.abilities) {
|
|
if (set.ability === template.abilities[i]) legalAbility = true;
|
|
}
|
|
if (!legalAbility) return ['The ability ' + set.ability + ' is banned on Pokémon that do not naturally have it.'];
|
|
}
|
|
}
|
|
},
|
|
{
|
|
name: "STABmons",
|
|
section: "Other Metagames",
|
|
|
|
ruleset: ['Pokemon', 'Standard', 'Baton Pass Clause', 'Swagger Clause', 'Team Preview'],
|
|
banlist: ['Ignore STAB Moves', 'Arceus', 'Blaziken', 'Deoxys', 'Deoxys-Attack', 'Dialga', 'Diggersby', 'Genesect', 'Giratina', 'Giratina-Origin',
|
|
'Greninja', 'Groudon', 'Ho-Oh', 'Keldeo', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Mewtwo', 'Palkia',
|
|
'Porygon-Z', 'Rayquaza', 'Reshiram', 'Shaymin-Sky', 'Sylveon', 'Xerneas', 'Yveltal', 'Zekrom', 'Aerodactylite', 'Altarianite',
|
|
'Gengarite', 'Kangaskhanite', "King's Rock", 'Lopunnite', 'Lucarionite', 'Mawilite', 'Metagrossite', 'Razor Fang', 'Salamencite', 'Slowbronite',
|
|
'Soul Dew'
|
|
]
|
|
},
|
|
{
|
|
name: "LC UU",
|
|
section: "Other Metagames",
|
|
|
|
maxLevel: 5,
|
|
ruleset: ['LC'],
|
|
banlist: ['Abra', 'Aipom', 'Archen', 'Bunnelby', 'Carvanha', 'Chinchou', 'Cottonee', 'Croagunk', 'Diglett',
|
|
'Drilbur', 'Dwebble', 'Elekid', 'Ferroseed', 'Fletchling', 'Foongus', 'Gastly', 'Gothita', 'Houndour', 'Larvesta', 'Magnemite', 'Mienfoo',
|
|
'Munchlax', 'Omanyte', 'Onix', 'Pawniard', 'Ponyta', 'Porygon', 'Pumpkaboo-Super', 'Scraggy', 'Shellder', 'Skrelp', 'Snivy',
|
|
'Snubbull', 'Spritzee', 'Staryu', 'Surskit', 'Timburr', 'Tirtouga', 'Vullaby', 'Vulpix', 'Zigzagoon', 'Shell Smash'
|
|
]
|
|
},
|
|
{
|
|
name: "Averagemons",
|
|
section: "Other Metagames",
|
|
|
|
mod: 'averagemons',
|
|
searchShow: false,
|
|
ruleset: ['Pokemon', 'Standard', 'Baton Pass Clause', 'Evasion Abilities Clause', 'Swagger Clause', 'Team Preview'],
|
|
banlist: ['Sableye + Prankster', 'Shedinja', 'Smeargle',
|
|
'DeepSeaScale', 'DeepSeaTooth', 'Eviolite', 'Gengarite', 'Kangaskhanite', 'Light Ball', 'Mawilite', 'Medichamite', 'Soul Dew', 'Thick Club',
|
|
'Arena Trap', 'Huge Power', 'Pure Power', 'Shadow Tag'
|
|
]
|
|
},
|
|
{
|
|
name: "Hidden Type",
|
|
section: "Other Metagames",
|
|
|
|
searchShow: false,
|
|
mod: 'hiddentype',
|
|
ruleset: ['OU']
|
|
},
|
|
{
|
|
name: "Middle Cup",
|
|
section: "Other Metagames",
|
|
|
|
searchShow: false,
|
|
maxLevel: 50,
|
|
defaultLevel: 50,
|
|
validateSet: function (set) {
|
|
var template = this.getTemplate(set.species || set.name);
|
|
if (!template.evos || template.evos.length === 0 || !template.prevo) {
|
|
return [set.species + " is not the middle Pokémon in an evolution chain."];
|
|
}
|
|
},
|
|
ruleset: ['Pokemon', 'Standard', 'Team Preview'],
|
|
banlist: ['Chansey', 'Frogadier', 'Eviolite']
|
|
},
|
|
{
|
|
name: "OU Theorymon",
|
|
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']
|
|
},
|
|
{
|
|
name: "Monotype Random Battle",
|
|
section: "Other Metagames",
|
|
|
|
team: 'randomMonotype',
|
|
searchShow: false,
|
|
ruleset: ['Pokemon', 'Same Type Clause', 'Sleep Clause Mod', 'HP Percentage Mod', 'Cancel Mod']
|
|
},
|
|
|
|
// BW2 Singles
|
|
///////////////////////////////////////////////////////////////////
|
|
|
|
{
|
|
name: "[Gen 5] OU",
|
|
section: "BW2 Singles",
|
|
column: 3,
|
|
|
|
mod: 'gen5',
|
|
ruleset: ['Pokemon', 'Standard', 'Evasion Abilities Clause', 'Team Preview'],
|
|
banlist: ['Uber', 'Drizzle ++ Swift Swim', 'Soul Dew']
|
|
},
|
|
{
|
|
name: "[Gen 5] Ubers",
|
|
section: "BW2 Singles",
|
|
|
|
mod: 'gen5',
|
|
ruleset: ['Pokemon', 'Team Preview', 'Standard Ubers'],
|
|
banlist: []
|
|
},
|
|
{
|
|
name: "[Gen 5] UU",
|
|
section: "BW2 Singles",
|
|
|
|
mod: 'gen5',
|
|
ruleset: ['[Gen 5] OU'],
|
|
banlist: ['OU', 'BL', 'Drought', 'Sand Stream', 'Snow Warning']
|
|
},
|
|
{
|
|
name: "[Gen 5] RU",
|
|
section: "BW2 Singles",
|
|
|
|
mod: 'gen5',
|
|
ruleset: ['[Gen 5] UU'],
|
|
banlist: ['UU', 'BL2', 'Shell Smash + Baton Pass', 'Snow Warning']
|
|
},
|
|
{
|
|
name: "[Gen 5] NU",
|
|
section: "BW2 Singles",
|
|
|
|
mod: 'gen5',
|
|
ruleset: ['[Gen 5] RU'],
|
|
banlist: ['RU', 'BL3', 'Prankster + Assist']
|
|
},
|
|
{
|
|
name: "[Gen 5] LC",
|
|
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', 'Scyther', 'Sneasel', 'Tangela']
|
|
},
|
|
{
|
|
name: "[Gen 5] GBU Singles",
|
|
section: "BW2 Singles",
|
|
|
|
mod: 'gen5',
|
|
validateSet: function (set) {
|
|
if (!set.level || set.level >= 50) set.forcedLevel = 50;
|
|
return [];
|
|
},
|
|
onBegin: function () {
|
|
this.debug('cutting down to 3');
|
|
this.p1.pokemon = this.p1.pokemon.slice(0, 3);
|
|
this.p1.pokemonLeft = this.p1.pokemon.length;
|
|
this.p2.pokemon = this.p2.pokemon.slice(0, 3);
|
|
this.p2.pokemonLeft = this.p2.pokemon.length;
|
|
},
|
|
ruleset: ['Pokemon', 'Standard GBU', 'Team Preview GBU'],
|
|
banlist: ['Sky Drop', 'Dark Void']
|
|
},
|
|
{
|
|
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",
|
|
section: 'BW2 Doubles',
|
|
column: 3,
|
|
|
|
mod: 'gen5',
|
|
gameType: 'doubles',
|
|
ruleset: ['Pokemon', 'Standard', 'Evasion Abilities Clause', 'Team Preview'],
|
|
banlist: ['Unreleased', 'Illegal', 'Dark Void', 'Soul Dew', 'Sky Drop',
|
|
'Mewtwo',
|
|
'Lugia',
|
|
'Ho-Oh',
|
|
'Kyogre',
|
|
'Groudon',
|
|
'Rayquaza',
|
|
'Dialga',
|
|
'Palkia',
|
|
'Giratina', 'Giratina-Origin',
|
|
'Arceus',
|
|
'Reshiram',
|
|
'Zekrom',
|
|
'Kyurem-White'
|
|
]
|
|
},
|
|
{
|
|
name: "[Gen 5] GBU Doubles",
|
|
section: 'BW2 Doubles',
|
|
|
|
mod: 'gen5',
|
|
gameType: 'doubles',
|
|
onBegin: function () {
|
|
this.debug('cutting down to 4');
|
|
this.p1.pokemon = this.p1.pokemon.slice(0, 4);
|
|
this.p1.pokemonLeft = this.p1.pokemon.length;
|
|
this.p2.pokemon = this.p2.pokemon.slice(0, 4);
|
|
this.p2.pokemonLeft = this.p2.pokemon.length;
|
|
},
|
|
maxForcedLevel: 50,
|
|
ruleset: ['Pokemon', 'Standard GBU', 'Team Preview VGC'],
|
|
banlist: ['Sky Drop', 'Dark Void']
|
|
},
|
|
{
|
|
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']
|
|
},
|
|
|
|
// Past Generations
|
|
///////////////////////////////////////////////////////////////////
|
|
|
|
{
|
|
name: "[Gen 4] OU",
|
|
section: "Past Generations",
|
|
column: 3,
|
|
|
|
mod: 'gen4',
|
|
ruleset: ['Pokemon', 'Standard'],
|
|
banlist: ['Uber']
|
|
},
|
|
{
|
|
name: "[Gen 4] Ubers",
|
|
section: "Past Generations",
|
|
|
|
mod: 'gen4',
|
|
ruleset: ['Pokemon', 'Standard'],
|
|
banlist: ['Arceus']
|
|
},
|
|
{
|
|
name: "[Gen 4] UU",
|
|
section: "Past Generations",
|
|
|
|
mod: 'gen4',
|
|
ruleset: ['Pokemon', 'Standard'],
|
|
banlist: ['Uber', 'OU', 'BL']
|
|
},
|
|
{
|
|
name: "[Gen 4] LC",
|
|
section: "Past Generations",
|
|
|
|
mod: 'gen4',
|
|
maxLevel: 5,
|
|
ruleset: ['Pokemon', 'Standard', 'Little Cup'],
|
|
banlist: ['Berry Juice', 'DeepSeaTooth', 'Dragon Rage', 'Sonic Boom', 'Meditite', 'Misdreavus', 'Murkrow', 'Scyther', 'Sneasel', 'Tangela', 'Yanma']
|
|
},
|
|
{
|
|
name: "[Gen 4] Custom Game",
|
|
section: "Past Generations",
|
|
|
|
mod: 'gen4',
|
|
searchShow: false,
|
|
canUseRandomTeam: true,
|
|
debug: true,
|
|
maxLevel: 9999,
|
|
defaultLevel: 100,
|
|
// no restrictions
|
|
ruleset: ['Cancel Mod']
|
|
},
|
|
{
|
|
name: "[Gen 3] OU",
|
|
section: "Past Generations",
|
|
|
|
mod: 'gen3',
|
|
ruleset: ['Pokemon', 'Standard'],
|
|
banlist: ['Uber', 'Smeargle + Ingrain']
|
|
},
|
|
{
|
|
name: "[Gen 3] Ubers",
|
|
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",
|
|
section: "Past Generations",
|
|
|
|
mod: 'gen2',
|
|
ruleset: ['Pokemon', 'Standard'],
|
|
banlist: ['Uber']
|
|
},
|
|
{
|
|
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",
|
|
section: "Past Generations",
|
|
|
|
mod: 'gen1',
|
|
ruleset: ['Pokemon', 'Standard'],
|
|
banlist: ['Uber']
|
|
},
|
|
{
|
|
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: ['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']
|
|
}
|
|
];
|