inFluenceiV

formats for prism

Sep 28th, 2014
276
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 27.26 KB | None | 0 0
  1. // Note: This is the list of formats
  2. // The rules that formats use are stored in data/rulesets.js
  3.  
  4. exports.Formats = [
  5.  
  6. //Random Formats
  7. ////////////////////////////////////////////////////////////////////
  8.  
  9.  
  10.  
  11. {
  12. name: "S",
  13. section: "Prism Singles",
  14.  
  15. ruleset: ['Pokemon', 'Standard', 'Sleep Clause Mod', 'Species Clause', 'Evasion Clause Mod'],
  16. banlist: ['Sould Dew'],
  17.  
  18. },
  19. {
  20. name: "A",
  21. section: "Prism Singles",
  22.  
  23. ruleset: ['Pokemon', 'Sleep Clause Mod', 'Standard', 'Soul Dew', 'HP Percentage Mod', 'Species Clause'],
  24. banlist: ['Blaziken', 'Darkrai', 'Deoxys', 'Deoxys Attack', 'Dialga','Gengarite', 'Genesect', 'Giratina', 'Groudon', 'Ho-oh', 'Lugia', 'Lucario', 'Kyogre', 'Kyurem-W', 'Mawile', 'Mewtwo', 'Palkia', 'Kangaskhan', 'Rayquaza', 'Reshiram', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom', 'Charizard', 'Landorus', 'Landorus-Therian', 'Thundurus', 'Keldeo', 'Rotom-W', 'Tyranitar', 'Medicham', 'Talonflame', 'Ferrothorn', 'Garchomp', 'Heatran', 'Pinsir'],
  25.  
  26. },
  27. {
  28. name: "Random Monotype Battle",
  29. section: "Random Formats",
  30.  
  31. team: 'random',
  32. ruleset: ['Pokemon', 'Sleep Clause Mod', 'HP Percentage Mod', 'Same Type Clause']
  33. },
  34. {
  35. name: "Random Monotype",
  36. section: "Random Tiers",
  37.  
  38. mod: 'randommonotypeside',
  39. team: 'randomMonoside',
  40. ruleset: ['Pokemon', 'HP Percentage Mod']
  41. },
  42. {
  43. name: "Random CAP Battle",
  44. section: "Random Formats",
  45.  
  46. team: 'random',
  47. ruleset: ['Pokemon', 'Sleep Clause Mod', 'HP Percentage Mod', 'CAP Pokemon', 'Standard', 'Team Preview', 'Swagger Clause', 'Baton Pass Clause']
  48. },
  49. {
  50. name: "Truly Random Battle",
  51. section: "Random Formats",
  52.  
  53. team: 'randomCC',
  54. ruleset: ['Pokemon', 'HP Percentage Mod']
  55. },
  56.  
  57.  
  58. // XY Singles
  59. ///////////////////////////////////////////////////////////////////
  60.  
  61. {
  62. name: "Random Battle",
  63. section: "XY Singles",
  64.  
  65. team: 'random',
  66. ruleset: ['PotD', 'Pokemon', 'Sleep Clause Mod', 'HP Percentage Mod']
  67. },
  68. {
  69. name: "Unrated Random Battle",
  70. section: "XY Singles",
  71.  
  72. team: 'random',
  73. challengeShow: false,
  74. rated: false,
  75. ruleset: ['Random Battle']
  76. },
  77. {
  78. name: "OU",
  79. section: "XY Singles",
  80.  
  81. ruleset: ['Pokemon', 'Standard', 'Team Preview', 'Swagger Clause', 'Baton Pass Clause'],
  82. banlist: ['Uber', 'Soul Dew', 'Gengarite', 'Kangaskhanite', 'Lucarionite', 'Mawilite']
  83. },
  84. {
  85. name: "Ubers",
  86. section: "XY Singles",
  87.  
  88. searchShow: false,
  89. ruleset: ['Pokemon', 'Standard Ubers', 'Swagger Clause', 'Team Preview'],
  90. banlist: []
  91. },
  92. {
  93. name: "Ubers (suspect test)",
  94. section: "XY Singles",
  95.  
  96. challengeShow: false,
  97. ruleset: ['Pokemon', 'Standard Ubers', 'Swagger Clause', 'Team Preview'],
  98. banlist: []
  99. },
  100. {
  101. name: "UU",
  102. section: "XY Singles",
  103.  
  104. ruleset: ['OU'],
  105. banlist: ['OU', 'BL', 'Alakazite', 'Heracronite', 'Gardevoirite', 'Medichamite', 'Drizzle', 'Drought', 'Shadow Tag']
  106. },
  107. {
  108. name: "RU",
  109. section: "XY Singles",
  110.  
  111. ruleset: ['UU'],
  112. banlist: ['UU', 'BL2']
  113. },
  114. {
  115. name: "NU",
  116. section: "XY Singles",
  117.  
  118. ruleset: ['RU'],
  119. banlist: ['RU', 'BL3']
  120. },
  121. {
  122. name: "LC",
  123. section: "XY Singles",
  124.  
  125. maxLevel: 5,
  126. ruleset: ['Pokemon', 'Standard', 'Team Preview', 'Little Cup'],
  127. banlist: ['Dragon Rage', 'Sonic Boom', 'Swagger', 'LC Uber', 'Gligar', 'Misdreavus']
  128. },
  129. {
  130. name: "LC UU",
  131. section: "XY Singles",
  132.  
  133. searchShow: false,
  134. maxLevel: 5,
  135. ruleset: ['LC'],
  136. banlist: ['Abra', 'Aipom', 'Archen', 'Bellsprout', 'Bunnelby', 'Carvanha', 'Chinchou', 'Clamperl', 'Cottonee', 'Cranidos',
  137. 'Croagunk', 'Diglett', 'Drilbur', 'Dwebble', 'Elekid', 'Ferroseed', 'Fletchling', 'Foongus', 'Gastly', 'Honedge',
  138. 'Houndour', 'Magnemite', 'Meditite', 'Mienfoo', 'Misdreavus', 'Omanyte', 'Onix', 'Pawniard', 'Ponyta', 'Porygon',
  139. 'Riolu', 'Scraggy', 'Shellder', 'Slowpoke', 'Snubbull', 'Spritzee', 'Staryu', 'Taillow', 'Timburr', 'Tirtouga',
  140. 'Trubbish', 'Vullaby', 'Vulpix', 'Zigzagoon'
  141. ]
  142. },
  143. {
  144. name: "Battle Spot Singles",
  145. section: "XY Singles",
  146.  
  147. onBegin: function () {
  148. this.debug('cutting down to 3');
  149. this.p1.pokemon = this.p1.pokemon.slice(0, 3);
  150. this.p1.pokemonLeft = this.p1.pokemon.length;
  151. this.p2.pokemon = this.p2.pokemon.slice(0, 3);
  152. this.p2.pokemonLeft = this.p2.pokemon.length;
  153. },
  154. maxForcedLevel: 50,
  155. ruleset: ['Pokemon', 'Standard GBU', 'Team Preview GBU'],
  156. banlist: [], // The necessary bans are in Standard GBU
  157. validateTeam: function (team, format) {
  158. if (team.length < 3) return ['You must bring at least three Pokémon.'];
  159. }
  160. },
  161. {
  162. name: "Battle Spot Special 5",
  163. section: "XY Singles",
  164.  
  165. maxForcedLevel: 50,
  166. ruleset: ['Pokemon', 'Standard GBU', 'Team Preview GBU'],
  167. validateTeam: function (team, format) {
  168. if (team.length < 6) return ['You must have six Pokémon.'];
  169. for (var i = 0; i < team.length; i++) {
  170. var item = toId(team[i].item);
  171. if (item) return ["Pokémon cannot hold items for the Special format of this season."];
  172. }
  173. }
  174. },
  175. /*{
  176. name: "CAP Volkraken Playtest",
  177. section: "XY Singles",
  178.  
  179. ruleset: ['CAP Pokemon', 'Standard', 'Team Preview'],
  180. banlist: ['Uber', 'Soul Dew', 'Gengarite', 'Kangaskhanite', 'Lucarionite', 'Tomohawk', 'Necturna', 'Mollux', 'Aurumoth', 'Malaconda', 'Cawmodore', 'Syclant', 'Revenankh', 'Pyroak', 'Fidgit', 'Stratagem', 'Arghonaut', 'Kitsunoh', 'Cyclohm', 'Colossoil', 'Krilowatt', 'Voodoom']
  181. },*/
  182. {
  183. name: "Custom Game",
  184. section: "XY Singles",
  185.  
  186. searchShow: false,
  187. canUseRandomTeam: true,
  188. debug: true,
  189. maxLevel: 9999,
  190. defaultLevel: 100,
  191. // no restrictions, for serious (other than team preview)
  192. ruleset: ['Team Preview']
  193. },
  194.  
  195. // XY Doubles
  196. ///////////////////////////////////////////////////////////////////
  197.  
  198.  
  199. {
  200. name: "Random Doubles Battle",
  201. section: "XY Doubles",
  202.  
  203. gameType: 'doubles',
  204. team: 'randomDoubles',
  205. ruleset: ['PotD', 'Pokemon', 'Sleep Clause Mod', 'HP Percentage Mod']
  206. },
  207. {
  208. name: "Smogon Doubles",
  209. section: "XY Doubles",
  210.  
  211. gameType: 'doubles',
  212. ruleset: ['Pokemon', 'Standard Doubles', 'Team Preview'],
  213. banlist: ['Soul Dew', 'Dark Void',
  214. 'Mewtwo', 'Lugia', 'Ho-Oh', 'Kyogre', 'Groudon', 'Rayquaza', 'Dialga', 'Palkia', 'Giratina', 'Giratina-Origin',
  215. 'Arceus', 'Reshiram', 'Zekrom', 'Kyurem-White', 'Xerneas', 'Yveltal'
  216. ]
  217. },
  218. {
  219. name: "Smogon Doubles Ubers",
  220. section: "XY Doubles",
  221.  
  222. gameType: 'doubles',
  223. searchShow: false,
  224. ruleset: ['Pokemon', 'Species Clause', 'Moody Clause', 'OHKO Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Team Preview'],
  225. banlist: ['Unreleased', 'Illegal', 'Dark Void']
  226. },
  227. {
  228. name: "Smogon Doubles UU",
  229. section: "XY Doubles",
  230.  
  231. gameType: 'doubles',
  232. searchShow: false,
  233. ruleset: ['Smogon Doubles'],
  234. banlist: ['Abomasnow', 'Aegislash', 'Aerodactyl', 'Amoonguss', 'Aromatisse', 'Azumarill', 'Bisharp', 'Breloom', 'Chandelure', 'Charizard',
  235. 'Conkeldurr', 'Cresselia', 'Dragonite', 'Dusclops', 'Excadrill', 'Ferrothorn', 'Garchomp', 'Gardevoir', 'Genesect', 'Gengar',
  236. 'Greninja', 'Gyarados', 'Heatran', 'Hitmontop', 'Infernape', 'Kangaskhan', 'Klefki', 'Kyurem-Black', 'Landorus-Therian', 'Latios',
  237. 'Lucario', 'Mamoswine', 'Manectric', 'Mawile', 'Meowstic', 'Politoed', 'Rotom-Wash', 'Salamence', 'Scizor', 'Scrafty',
  238. 'Shaymin-Sky', 'Sylveon', 'Talonflame', 'Terrakion', 'Thundurus', 'Togekiss', 'Tyranitar', 'Venusaur', 'Volcarona', 'Whimsicott', 'Zapdos'
  239. ]
  240. },
  241. {
  242. name: "Battle Spot Doubles",
  243. section: "XY Doubles",
  244.  
  245. gameType: 'doubles',
  246. onBegin: function () {
  247. this.debug('cutting down to 4');
  248. this.p1.pokemon = this.p1.pokemon.slice(0, 4);
  249. this.p1.pokemonLeft = this.p1.pokemon.length;
  250. this.p2.pokemon = this.p2.pokemon.slice(0, 4);
  251. this.p2.pokemonLeft = this.p2.pokemon.length;
  252. },
  253. maxForcedLevel: 50,
  254. ruleset: ['Pokemon', 'Standard GBU', 'Team Preview VGC'],
  255. validateTeam: function (team, format) {
  256. if (team.length < 4) return ['You must bring at least four Pokémon.'];
  257. }
  258. },
  259. {
  260. name: "Battle Spot Special 6",
  261. section: "XY Doubles",
  262.  
  263. gameType: 'doubles',
  264. onBegin: function () {
  265. this.debug('cutting down to 4');
  266. this.p1.pokemon = this.p1.pokemon.slice(0, 4);
  267. this.p1.pokemonLeft = this.p1.pokemon.length;
  268. this.p2.pokemon = this.p2.pokemon.slice(0, 4);
  269. this.p2.pokemonLeft = this.p2.pokemon.length;
  270. },
  271. maxForcedLevel: 50,
  272. ruleset: ['Pokemon', 'Standard GBU', 'Team Preview VGC'],
  273. banlist: ['Aegislash', 'Amoonguss', 'Charizard', 'Cresselia', 'Garchomp', 'Gengar', 'Greninja', 'Gyarados', 'Kangaskhan', 'Landorus',
  274. 'Landorus-Therian', 'Mawile', 'Meowstic', 'Meowstic-F', 'Rotom', 'Rotom-Fan', 'Rotom-Frost', 'Rotom-Heat', 'Rotom-Mow', 'Rotom-Wash',
  275. 'Salamence', 'Sylveon', 'Talonflame', 'Thundurus', 'Thundurus-Therian', 'Togekiss', 'Tyranitar'
  276. ],
  277. validateTeam: function (team, format) {
  278. if (team.length < 4) return ['You must bring at least four Pokémon.'];
  279. }
  280. },
  281. {
  282. name: "VGC 2014",
  283. section: "XY Doubles",
  284.  
  285. gameType: 'doubles',
  286. onBegin: function () {
  287. this.debug('cutting down to 4');
  288. this.p1.pokemon = this.p1.pokemon.slice(0, 4);
  289. this.p1.pokemonLeft = this.p1.pokemon.length;
  290. this.p2.pokemon = this.p2.pokemon.slice(0, 4);
  291. this.p2.pokemonLeft = this.p2.pokemon.length;
  292. },
  293. maxForcedLevel: 50,
  294. ruleset: ['Pokemon', 'Standard GBU', 'Team Preview VGC', 'Kalos Pokedex'],
  295. requirePentagon: true,
  296. banlist: [], // The necessary bans are in Standard GBU
  297. validateTeam: function (team, format) {
  298. if (team.length < 4) return ['You must bring at least four Pokémon.'];
  299. }
  300. },
  301. {
  302. name: "Doubles Challenge Cup",
  303. section: 'XY Doubles',
  304.  
  305. gameType: 'doubles',
  306. team: 'randomCC',
  307. searchShow: false,
  308. ruleset: ['Pokemon', 'HP Percentage Mod']
  309. },
  310. {
  311. name: "Doubles Custom Game",
  312. section: "XY Doubles",
  313.  
  314. gameType: 'doubles',
  315. searchShow: false,
  316. canUseRandomTeam: true,
  317. maxLevel: 9999,
  318. defaultLevel: 100,
  319. debug: true,
  320. // no restrictions, for serious (other than team preview)
  321. ruleset: ['Team Preview']
  322. },
  323.  
  324. // XY Triples
  325. ///////////////////////////////////////////////////////////////////
  326.  
  327. {
  328. name: "Random Triples Battle",
  329. section: "XY Triples",
  330.  
  331. gameType: 'triples',
  332. team: 'randomDoubles',
  333. ruleset: ['PotD', 'Pokemon', 'Sleep Clause Mod', 'HP Percentage Mod']
  334. },
  335. {
  336. name: "Smogon Triples",
  337. section: "XY Triples",
  338.  
  339. gameType: 'triples',
  340. searchShow: false,
  341. ruleset: ['Pokemon', 'Species Clause', 'OHKO Clause', 'Moody Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Team Preview'],
  342. banlist: ['Unreleased', 'Illegal', 'Soul Dew', 'Dark Void',
  343. 'Mewtwo', 'Lugia', 'Ho-Oh', 'Kyogre', 'Groudon', 'Rayquaza', 'Dialga', 'Palkia', 'Giratina', 'Giratina-Origin',
  344. 'Arceus', 'Reshiram', 'Zekrom', 'Kyurem-White', 'Xerneas', 'Yveltal'
  345. ]
  346. },
  347. {
  348. name: "Battle Spot Triples",
  349. section: "XY Triples",
  350.  
  351. gameType: 'triples',
  352. maxForcedLevel: 50,
  353. ruleset: ['Pokemon', 'Standard GBU', 'Team Preview'],
  354. validateTeam: function (team, format) {
  355. if (team.length < 6) return ['You must have six Pokémon.'];
  356. }
  357. },
  358. {
  359. name: "Pikachu Tournamentchu",
  360. section: "XY Triples",
  361.  
  362. gameType: 'triples',
  363. maxForcedLevel: 30,
  364. ruleset: ['Pokemon', 'Standard GBU', 'Team Preview', 'Kalos Pokedex'],
  365. requirePentagon: true,
  366. banlist: ['Eviolite'],
  367. validateTeam: function (team, format) {
  368. for (var i = 0; i < team.length; i++) {
  369. if (Tools.getTemplate(team[i]).species === 'Pikachu') return;
  370. }
  371. return ['Your team must have Pikachu.'];
  372. },
  373. validateSet: function (set) {
  374. var template = this.getTemplate(set.species || set.name);
  375. if (!template.evos || template.evos.length === 0) {
  376. return [set.species + " is banned as it cannot evolve."];
  377. }
  378. }
  379. },
  380. {
  381. name: "Triples Challenge Cup",
  382. section: "XY Triples",
  383.  
  384. gameType: 'triples',
  385. team: 'randomCC',
  386. searchShow: false,
  387. ruleset: ['Pokemon', 'HP Percentage Mod']
  388. },
  389. {
  390. name: "Triples Custom Game",
  391. section: "XY Triples",
  392.  
  393. gameType: 'triples',
  394. searchShow: false,
  395. canUseRandomTeam: true,
  396. maxLevel: 9999,
  397. defaultLevel: 100,
  398. debug: true,
  399. // no restrictions, for serious (other than team preview)
  400. ruleset: ['Team Preview']
  401. },
  402.  
  403. // Other Metagames
  404. ///////////////////////////////////////////////////////////////////
  405.  
  406. {
  407. name: "Metagamiate",
  408. section: "OM of the Month",
  409. column: 2,
  410.  
  411. ruleset: ['Pokemon', 'Standard', 'Baton Pass Clause', 'Swagger Clause', 'Team Preview'],
  412. banlist: ['Gengarite', 'Kangaskhanite', 'Lucarionite', 'Soul Dew',
  413. 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys', 'Deoxys-Attack', 'Deoxys-Defense', 'Deoxys-Speed', 'Dialga', 'Genesect', 'Giratina',
  414. 'Giratina-Origin', 'Groudon', 'Kyogre', 'Ho-Oh', 'Kyurem-White', 'Lugia', 'Mewtwo', 'Palkia', 'Rayquaza', 'Reshiram',
  415. 'Shaymin-Sky', 'Kyurem-White', 'Xerneas', 'Yveltal', 'Zekrom'
  416. ],
  417. onModifyMove: function(move, pokemon) {
  418. if (move.type === 'Normal' && move.id !== 'hiddenpower' && !pokemon.hasAbility(['aerilate', 'pixilate', 'refrigerate'])) {
  419. var types = pokemon.getTypes();
  420. if (!types[0] || types[0] === '???') return;
  421. move.type = types[0];
  422. move.isMetagamiate = true;
  423. }
  424. },
  425. onBasePowerPriority: 9,
  426. onBasePower: function(basePower, attacker, defender, move) {
  427. if (!move.isMetagamiate) return;
  428. return this.chainModify([0x14CD, 0x1000]);
  429. }
  430. },
  431. {
  432. name: "[Gen 4] STABmons",
  433. section: "OM of the Month",
  434.  
  435. mod: 'gen4',
  436. ruleset: ['Pokemon', 'Standard'],
  437. banlist: ['Ignore STAB Moves', 'BrightPowder', 'Soul Dew', 'Belly Drum',
  438. 'Arceus', 'Deoxys', 'Deoxys-Attack', 'Dialga', 'Garchomp', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre',
  439. 'Lugia', 'Mewtwo', 'Palkia', 'Rayquaza', 'Shaymin-Sky', 'Wobbuffet', 'Wynaut'
  440. ]
  441. },
  442. {
  443. name: "CAP",
  444. section: "Other Metagames",
  445. column: 2,
  446.  
  447. ruleset: ['CAP Pokemon', 'Standard', 'Team Preview', 'Swagger Clause', 'Baton Pass Clause'],
  448. banlist: ['Uber', 'Soul Dew', 'Gengarite', 'Kangaskhanite', 'Lucarionite']
  449. },
  450. {
  451. name: "Challenge Cup",
  452. section: "Other Metagames",
  453.  
  454. team: 'randomCC',
  455. ruleset: ['Pokemon', 'HP Percentage Mod']
  456. },
  457. {
  458. name: "Challenge Cup 1-vs-1",
  459. section: "Other Metagames",
  460.  
  461. team: 'randomCC',
  462. ruleset: ['Pokemon', 'Team Preview 1v1', 'HP Percentage Mod'],
  463. onBegin: function () {
  464. this.debug('Cutting down to 1');
  465. this.p1.pokemon = this.p1.pokemon.slice(0, 1);
  466. this.p1.pokemonLeft = this.p1.pokemon.length;
  467. this.p2.pokemon = this.p2.pokemon.slice(0, 1);
  468. this.p2.pokemonLeft = this.p2.pokemon.length;
  469. }
  470. },
  471. {
  472. name: "Balanced Hackmons",
  473. section: "Other Metagames",
  474.  
  475. ruleset: ['Pokemon', 'OHKO Clause', 'HP Percentage Mod', 'Ability Clause'],
  476. banlist: ['Wonder Guard', 'Shadow Tag', 'Arena Trap', 'Pure Power', 'Huge Power', 'Parental Bond']
  477. },
  478. {
  479. name: "1v1",
  480. section: 'Other Metagames',
  481.  
  482. onBegin: function () {
  483. this.p1.pokemon = this.p1.pokemon.slice(0, 1);
  484. this.p1.pokemonLeft = this.p1.pokemon.length;
  485. this.p2.pokemon = this.p2.pokemon.slice(0, 1);
  486. this.p2.pokemonLeft = this.p2.pokemon.length;
  487. },
  488. ruleset: ['Pokemon', 'Standard', 'Swagger Clause', 'Team Preview 1v1'],
  489. banlist: ['Focus Sash', 'Kangaskhanite', 'Soul Dew',
  490. 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys', 'Deoxys-Attack', 'Dialga', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh',
  491. 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo', 'Palkia', 'Rayquaza', 'Reshiram', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom'
  492. ],
  493. validateTeam: function (team, format) {
  494. if (team.length > 3) return ['You may only bring up to three Pokémon.'];
  495. }
  496. },
  497. {
  498. name: "OU Monotype",
  499. section: "Other Metagames",
  500.  
  501. ruleset: ['OU', 'Same Type Clause'],
  502. banlist: ['Talonflame']
  503. },
  504. {
  505. name: "Tier Shift",
  506. section: "Other Metagames",
  507.  
  508. mod: 'tiershift',
  509. ruleset: ['OU']
  510. },
  511. {
  512. name: "Almost Any Ability",
  513. section: "Other Metagames",
  514.  
  515. ruleset: ['Pokemon', 'Standard', 'Baton Pass Clause', 'Swagger Clause', 'Team Preview'],
  516. banlist: ['Ignore Illegal Abilities', 'Uber', 'Gengarite', 'Kangaskhanite', 'Lucarionite', 'Soul Dew',
  517. 'Archeops', 'Kyurem-Black', 'Regigigas', 'Slaking', 'Weavile', 'Shedinja + Sturdy', 'Smeargle + Prankster'
  518. ],
  519. validateSet: function(set) {
  520. var bannedAbilities = {'Aerilate': 1, 'Arena Trap': 1, 'Contrary': 1, 'Fur Coat': 1, 'Huge Power': 1, 'Imposter': 1, 'Parental Bond': 1, 'Pure Power': 1, 'Shadow Tag': 1, 'Simple':1, 'Speed Boost': 1, 'Wonder Guard': 1};
  521. if (set.ability in bannedAbilities) {
  522. var template = this.getTemplate(set.species || set.name);
  523. var legalAbility = false;
  524. for (var i in template.abilities) {
  525. if (set.ability === template.abilities[i]) legalAbility = true;
  526. }
  527. if (!legalAbility) return ['The ability ' + set.ability + ' is banned on Pokémon that do not naturally have it.'];
  528. }
  529. }
  530. },
  531. {
  532. name: "STABmons",
  533. section: "Other Metagames",
  534.  
  535. ruleset: ['Pokemon', 'Standard', 'Baton Pass Clause', 'Swagger Clause', 'Team Preview'],
  536. banlist: ['Ignore STAB Moves', 'Gengarite', 'Kangaskhanite', 'Lucarionite', 'Mawilite', 'Soul Dew',
  537. 'Arceus', 'Blaziken', 'Deoxys', 'Deoxys-Attack', 'Dialga', 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre',
  538. 'Kyurem-White', 'Lugia', 'Mewtwo', 'Palkia', 'Porygon-Z', 'Rayquaza', 'Reshiram', 'Shaymin-Sky', 'Sylveon', 'Kyurem-White',
  539. 'Xerneas', 'Yveltal', 'Zekrom']
  540. },
  541. {
  542. name: "Sky Battles",
  543. section: "Other Metagames",
  544.  
  545. validateSet: function (set) {
  546. var template = this.getTemplate(set.species || set.name);
  547. if (template.types.indexOf('Flying') === -1 && set.ability !== 'Levitate') {
  548. return [set.species + " is not a Flying type and does not have the ability Levitate."];
  549. }
  550. },
  551. ruleset: ['Pokemon', 'Standard', 'Evasion Abilities Clause', 'Team Preview'],
  552. banlist: ['Uber', 'Iron Ball', 'Pinsirite', 'Soul Dew',
  553. 'Body Slam', 'Bulldoze', 'Dig', 'Dive', 'Earth Power', 'Earthquake', 'Electric Terrain', 'Fire Pledge', 'Fissure', 'Flying Press',
  554. 'Frenzy Plant', 'Geomancy', 'Grass Knot', 'Grass Pledge', 'Grassy Terrain', 'Gravity', 'Heat Crash', 'Heavy Slam', 'Ingrain', "Land's Wrath",
  555. 'Magnitude', 'Mat Block', 'Misty Terrain', 'Mud Sport', 'Muddy Water', 'Rototiller', 'Seismic Toss', 'Slam', 'Smack Down', 'Spikes',
  556. 'Stomp', 'Substitute', 'Surf', 'Toxic Spikes', 'Water Pledge', 'Water Sport',
  557. 'Archen', 'Chatot', 'Delibird', 'Dodrio', 'Doduo', 'Ducklett', "Farfetch'd", 'Fletchling', 'Gastly', 'Gengar',
  558. 'Hawlucha', 'Hoothoot', 'Murkrow', 'Natu', 'Pidgey', 'Pidove', 'Rufflet', 'Shaymin-Sky', 'Spearow', 'Starly',
  559. 'Taillow', 'Vullaby'
  560. ]
  561. },
  562. {
  563. name: "Inverse Battle",
  564. section: "Other Metagames",
  565.  
  566. mod: 'inverse',
  567. ruleset: ['Pokemon', 'Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Baton Pass Clause', 'Team Preview'],
  568. banlist: ['Gengarite', 'Kangaskhanite', 'Soul Dew',
  569. 'Arceus', 'Darkrai', 'Deoxys-Attack', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem-Black', 'Lugia',
  570. 'Mewtwo', 'Palkia', 'Rayquaza', 'Reshiram', 'Shaymin-Sky', 'Kyurem-White', 'Xerneas', 'Yveltal', 'Zekrom'
  571. ]
  572. },
  573. {
  574. name: "Hackmons",
  575. section: "Other Metagames",
  576.  
  577. ruleset: ['Pokemon', 'HP Percentage Mod']
  578. },
  579. {
  580. name: "Alphabet Cup",
  581. section: "Other Metagames",
  582.  
  583. searchShow: false,
  584. ruleset: ['OU'],
  585. banlist: ['Swoobat'],
  586. validateTeam: function (team, format) {
  587. var letters = {};
  588. var letter = '';
  589. for (var i = 0; i < team.length; i++) {
  590. letter = Tools.getTemplate(team[i]).species.slice(0, 1).toUpperCase();
  591. if (letter in letters) return ['Your team cannot have more that one Pokémon starting with the letter "' + letter + '".'];
  592. letters[letter] = 1;
  593. }
  594. }
  595. },
  596. {
  597. name: "Averagemons",
  598. section: "Other Metagames",
  599.  
  600. mod: 'averagemons',
  601. searchShow: false,
  602. ruleset: ['Pokemon', 'Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Baton Pass Clause', 'Team Preview'],
  603. banlist: ['DeepSeaScale', 'DeepSeaTooth', 'Eviolite', 'Light Ball', 'Mawilite', 'Medichamite', 'Soul Dew', 'Thick Club', 'Huge Power', 'Pure Power', 'Shedinja', 'Smeargle']
  604. },
  605. {
  606. name: "Middle Cup",
  607. section: "Other Metagames",
  608.  
  609. searchShow: false,
  610. maxLevel: 50,
  611. defaultLevel: 50,
  612. validateSet: function (set) {
  613. var template = this.getTemplate(set.species || set.name);
  614. if (!template.evos || template.evos.length === 0 || !template.prevo) {
  615. return [set.species + " is not the middle Pokémon in an evolution chain."];
  616. }
  617. },
  618. ruleset: ['Pokemon', 'Standard', 'Team Preview'],
  619. banlist: ['Eviolite']
  620. },
  621. {
  622. name: "[Gen 5] Glitchmons",
  623. section: "Other Metagames",
  624.  
  625. mod: 'gen5',
  626. searchShow: false,
  627. mimicGlitch: true,
  628. ruleset: ['Pokemon', 'Team Preview', 'HP Percentage Mod'],
  629. banlist: ['Illegal', 'Unreleased']
  630. },
  631. {
  632. name: "Gen-NEXT OU",
  633. section: "Other Metagames",
  634.  
  635. mod: 'gennext',
  636. searchShow: false,
  637. ruleset: ['Pokemon', 'Standard NEXT', 'Team Preview'],
  638. banlist: ['Uber']
  639. },
  640.  
  641. // BW2 Singles
  642. ///////////////////////////////////////////////////////////////////
  643.  
  644. {
  645. name: "[Gen 5] OU",
  646. section: "BW2 Singles",
  647. column: 3,
  648.  
  649. mod: 'gen5',
  650. ruleset: ['Pokemon', 'Standard', 'Evasion Abilities Clause', 'Team Preview'],
  651. banlist: ['Uber', 'Drizzle ++ Swift Swim', 'Soul Dew']
  652. },
  653. {
  654. name: "[Gen 5] Ubers",
  655. section: "BW2 Singles",
  656.  
  657. mod: 'gen5',
  658. ruleset: ['Pokemon', 'Team Preview', 'Standard Ubers'],
  659. banlist: []
  660. },
  661. {
  662. name: "[Gen 5] UU",
  663. section: "BW2 Singles",
  664.  
  665. mod: 'gen5',
  666. ruleset: ['[Gen 5] OU'],
  667. banlist: ['OU', 'BL', 'Drought', 'Sand Stream', 'Snow Warning']
  668. },
  669. {
  670. name: "[Gen 5] RU",
  671. section: "BW2 Singles",
  672.  
  673. mod: 'gen5',
  674. ruleset: ['[Gen 5] UU'],
  675. banlist: ['UU', 'BL2', 'Shell Smash + Baton Pass', 'Snow Warning']
  676. },
  677. {
  678. name: "[Gen 5] NU",
  679. section: "BW2 Singles",
  680.  
  681. mod: 'gen5',
  682. ruleset: ['[Gen 5] RU'],
  683. banlist: ['RU', 'BL3', 'Prankster + Assist']
  684. },
  685. {
  686. name: "[Gen 5] LC",
  687. section: "BW2 Singles",
  688.  
  689. mod: 'gen5',
  690. maxLevel: 5,
  691. ruleset: ['Pokemon', 'Standard', 'Team Preview', 'Little Cup'],
  692. banlist: ['Berry Juice', 'Soul Dew', 'Dragon Rage', 'Sonic Boom', 'LC Uber', 'Gligar', 'Scyther', 'Sneasel', 'Tangela']
  693. },
  694. {
  695. name: "[Gen 5] GBU Singles",
  696. section: "BW2 Singles",
  697.  
  698. mod: 'gen5',
  699. validateSet: function (set) {
  700. if (!set.level || set.level >= 50) set.forcedLevel = 50;
  701. return [];
  702. },
  703. onBegin: function () {
  704. this.debug('cutting down to 3');
  705. this.p1.pokemon = this.p1.pokemon.slice(0, 3);
  706. this.p1.pokemonLeft = this.p1.pokemon.length;
  707. this.p2.pokemon = this.p2.pokemon.slice(0, 3);
  708. this.p2.pokemonLeft = this.p2.pokemon.length;
  709. },
  710. ruleset: ['Pokemon', 'Standard GBU', 'Team Preview GBU'],
  711. banlist: ['Sky Drop', 'Dark Void']
  712. },
  713. {
  714. name: "[Gen 5] Custom Game",
  715. section: "BW2 Singles",
  716.  
  717. mod: 'gen5',
  718. searchShow: false,
  719. canUseRandomTeam: true,
  720. debug: true,
  721. maxLevel: 9999,
  722. defaultLevel: 100,
  723. // no restrictions, for serious (other than team preview)
  724. ruleset: ['Team Preview']
  725. },
  726.  
  727. // BW2 Doubles
  728. ///////////////////////////////////////////////////////////////////
  729.  
  730. {
  731. name: "[Gen 5] Smogon Doubles",
  732. section: 'BW2 Doubles',
  733. column: 3,
  734.  
  735. mod: 'gen5',
  736. gameType: 'doubles',
  737. ruleset: ['Pokemon', 'Standard', 'Evasion Abilities Clause', 'Team Preview'],
  738. banlist: ['Unreleased', 'Illegal', 'Dark Void', 'Soul Dew', 'Sky Drop',
  739. 'Mewtwo',
  740. 'Lugia',
  741. 'Ho-Oh',
  742. 'Kyogre',
  743. 'Groudon',
  744. 'Rayquaza',
  745. 'Dialga',
  746. 'Palkia',
  747. 'Giratina', 'Giratina-Origin',
  748. 'Arceus',
  749. 'Reshiram',
  750. 'Zekrom',
  751. 'Kyurem-White'
  752. ]
  753. },
  754. {
  755. name: "[Gen 5] GBU Doubles",
  756. section: 'BW2 Doubles',
  757.  
  758. mod: 'gen5',
  759. gameType: 'doubles',
  760. onBegin: function () {
  761. this.debug('cutting down to 4');
  762. this.p1.pokemon = this.p1.pokemon.slice(0, 4);
  763. this.p1.pokemonLeft = this.p1.pokemon.length;
  764. this.p2.pokemon = this.p2.pokemon.slice(0, 4);
  765. this.p2.pokemonLeft = this.p2.pokemon.length;
  766. },
  767. maxForcedLevel: 50,
  768. ruleset: ['Pokemon', 'Standard GBU', 'Team Preview VGC'],
  769. banlist: ['Sky Drop', 'Dark Void']
  770. },
  771. {
  772. name: "[Gen 5] Doubles Custom Game",
  773. section: 'BW2 Doubles',
  774.  
  775. mod: 'gen5',
  776. gameType: 'doubles',
  777. searchShow: false,
  778. canUseRandomTeam: true,
  779. debug: true,
  780. maxLevel: 9999,
  781. defaultLevel: 100,
  782. // no restrictions, for serious (other than team preview)
  783. ruleset: ['Team Preview']
  784. },
  785.  
  786. // Past Generations
  787. ///////////////////////////////////////////////////////////////////
  788.  
  789. {
  790. name: "[Gen 4] OU",
  791. section: "Past Generations",
  792. column: 3,
  793.  
  794. mod: 'gen4',
  795. ruleset: ['Pokemon', 'Standard'],
  796. banlist: ['Uber']
  797. },
  798. {
  799. name: "[Gen 4] Ubers",
  800. section: "Past Generations",
  801.  
  802. mod: 'gen4',
  803. ruleset: ['Pokemon', 'Standard'],
  804. banlist: ['Arceus']
  805. },
  806. {
  807. name: "[Gen 4] UU",
  808. section: "Past Generations",
  809.  
  810. mod: 'gen4',
  811. ruleset: ['Pokemon', 'Standard'],
  812. banlist: ['Uber', 'OU', 'BL']
  813. },
  814. {
  815. name: "[Gen 4] LC",
  816. section: "Past Generations",
  817.  
  818. mod: 'gen4',
  819. maxLevel: 5,
  820. ruleset: ['Pokemon', 'Standard', 'Little Cup'],
  821. banlist: ['Berry Juice', 'DeepSeaTooth', 'Dragon Rage', 'Sonic Boom', 'Meditite', 'Misdreavus', 'Murkrow', 'Scyther', 'Sneasel', 'Tangela', 'Yanma']
  822. },
  823. {
  824. name: "[Gen 4] Custom Game",
  825. section: "Past Generations",
  826.  
  827. mod: 'gen4',
  828. searchShow: false,
  829. canUseRandomTeam: true,
  830. debug: true,
  831. maxLevel: 9999,
  832. defaultLevel: 100,
  833. // no restrictions
  834. ruleset: []
  835. },
  836. {
  837. name: "[Gen 3] OU (beta)",
  838. section: "Past Generations",
  839.  
  840. mod: 'gen3',
  841. ruleset: ['Pokemon', 'Standard'],
  842. banlist: ['Uber', 'Smeargle + Ingrain']
  843. },
  844. {
  845. name: "[Gen 3] Custom Game",
  846. section: "Past Generations",
  847.  
  848. mod: 'gen3',
  849. searchShow: false,
  850. debug: true,
  851. ruleset: ['Pokemon', 'HP Percentage Mod']
  852. },
  853. {
  854. name: "[Gen 2] OU (beta)",
  855. section: "Past Generations",
  856.  
  857. mod: 'gen2',
  858. ruleset: ['Pokemon', 'Standard'],
  859. banlist: ['Uber',
  860. 'Hypnosis + Perish Song + Mean Look',
  861. 'Hypnosis + Perish Song + Spider Web',
  862. 'Lovely Kiss + Perish Song + Mean Look',
  863. 'Lovely Kiss + Perish Song + Spider Web',
  864. 'Sing + Perish Song + Mean Look',
  865. 'Sing + Perish Song + Spider Web',
  866. 'Sleep Powder + Perish Song + Mean Look',
  867. 'Sleep Powder + Perish Song + Spider Web',
  868. 'Spore + Perish Song + Mean Look',
  869. 'Spore + Perish Song + Spider Web'
  870. ]
  871. },
  872. {
  873. name: "[Gen 2] Custom Game",
  874. section: "Past Generations",
  875.  
  876. mod: 'gen2',
  877. searchShow: false,
  878. debug: true,
  879. ruleset: ['Pokemon', 'HP Percentage Mod']
  880. },
  881. {
  882. name: "[Gen 1] OU (beta)",
  883. section: "Past Generations",
  884.  
  885. mod: 'gen1',
  886. ruleset: ['Pokemon', 'Standard'],
  887. banlist: ['Uber',
  888. 'Kakuna + Poison Sting + Harden', 'Kakuna + String Shot + Harden',
  889. 'Beedrill + Poison Sting + Harden', 'Beedrill + String Shot + Harden',
  890. 'Nidoking + Fury Attack + Thrash',
  891. 'Exeggutor + Poison Powder + Stomp', 'Exeggutor + Sleep Powder + Stomp', 'Exeggutor + Stun Spore + Stomp',
  892. 'Eevee + Tackle + Growl',
  893. 'Vaporeon + Tackle + Growl',
  894. 'Jolteon + Tackle + Growl', 'Jolteon + Focus Energy + Thunder Shock',
  895. 'Flareon + Tackle + Growl', 'Flareon + Focus Energy + Ember'
  896. ]
  897. },
  898. {
  899. name: "[Gen 1] Custom Game",
  900. section: "Past Generations",
  901.  
  902. mod: 'gen1',
  903. searchShow: false,
  904. debug: true,
  905. ruleset: ['Pokemon', 'HP Percentage Mod']
  906. }
  907.  
  908. ];
Advertisement
Add Comment
Please, Sign In to add comment