Advertisement
sparkychild

Untitled

Jan 17th, 2020
435
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 101.81 KB | None | 0 0
  1. 'use strict';
  2.  
  3. // Note: This is the list of formats
  4. // The rules that formats use are stored in data/rulesets.js
  5.  
  6. /**@type {(FormatsData | {section: string, column?: number})[]} */
  7. let Formats = [
  8.  
  9. // Sw/Sh Singles
  10. ///////////////////////////////////////////////////////////////////
  11.  
  12. {
  13. section: "Sw/Sh Singles",
  14. },
  15. {
  16. name: "[Gen 8] Random Battle",
  17. desc: `Randomized teams of level-balanced Pokémon with sets that are generated to be competitively viable.`,
  18.  
  19. mod: 'gen8',
  20. team: 'random',
  21. ruleset: ['PotD', 'Obtainable', 'Species Clause', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod'],
  22. },
  23. {
  24. name: "[Gen 8] Unrated Random Battle",
  25.  
  26. mod: 'gen8',
  27. team: 'random',
  28. challengeShow: false,
  29. rated: false,
  30. ruleset: ['Obtainable', 'Species Clause', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod'],
  31. },
  32. {
  33. name: "[Gen 8] OU",
  34. threads: [
  35. `&bullet; <a href="https://www.smogon.com/forums/threads/3657920/">OU Metagame Discussion</a>`,
  36. `&bullet; <a href="https://www.smogon.com/forums/threads/3657382/">OU Sample Teams</a>`,
  37. `&bullet; <a href="https://www.smogon.com/forums/threads/3658351/">OU Viability Rankings</a>`,
  38. ],
  39.  
  40. mod: 'gen8',
  41. ruleset: ['Standard', 'Dynamax Clause'],
  42. banlist: ['Uber', 'Moody', 'Shadow Tag', 'Baton Pass'],
  43. },
  44. /*{
  45. name: "[Gen 8] OU (Blitz)",
  46.  
  47. mod: 'gen8',
  48. ruleset: ['[Gen 8] OU', 'Blitz'],
  49. },*/
  50. {
  51. name: "[Gen 8] Ubers",
  52. threads: [
  53. `&bullet; <a href="https://www.smogon.com/forums/threads/3656638/">Ubers Metagame Discussion</a>`,
  54. `&bullet; <a href="https://www.smogon.com/forums/threads/3658364/">Ubers Sample Teams</a>`,
  55. `&bullet; <a href="https://www.smogon.com/forums/threads/3658509/">Ubers Viability Rankings</a>`,
  56. ],
  57.  
  58. mod: 'gen8',
  59. ruleset: ['Standard'],
  60. banlist: [],
  61. },
  62. {
  63. name: "[Gen 8] UU",
  64. threads: [
  65. `&bullet; <a href="https://www.smogon.com/forums/threads/3658529/">UU Metagame Discussion</a>`,
  66. ],
  67.  
  68. mod: 'gen8',
  69. ruleset: ['[Gen 8] OU'],
  70. banlist: ['OU', 'UUBL'],
  71. },
  72. {
  73. name: "[Gen 8] RU",
  74. threads: [
  75. `&bullet; <a href="https://www.smogon.com/forums/threads/3658495/">RU Metagame Discussion</a>`,
  76. ],
  77.  
  78. mod: 'gen8',
  79. ruleset: ['[Gen 8] UU'],
  80. banlist: ['UU', 'RUBL'],
  81. },
  82. {
  83. name: "[Gen 8] LC",
  84. threads: [
  85. `&bullet; <a href="https://www.smogon.com/forums/threads/3656348/">LC Metagame Discussion</a>`,
  86. `&bullet; <a href="https://www.smogon.com/forums/threads/3657374/">LC Viability Rankings</a>`,
  87. ],
  88.  
  89. mod: 'gen8',
  90. maxLevel: 5,
  91. ruleset: ['Little Cup', 'Standard', 'Dynamax Clause'],
  92. banlist: ['Cherubi', 'Corsola-Galar', 'Gastly', 'Gothita', 'Sneasel', 'Swirlix', 'Moody', 'Baton Pass'],
  93. },
  94. {
  95. name: "[Gen 8] Monotype",
  96. desc: `All the Pok&eacute;mon on a team must share a type.`,
  97. threads: [
  98. `&bullet; <a href="https://www.smogon.com/forums/threads/3656253/">Monotype Metagame Discussion</a>`,
  99. //`&bullet; <a href="https://www.smogon.com/forums/threads/3599682/">Monotype Sample Teams</a>`,
  100. //`&bullet; <a href="https://www.smogon.com/forums/threads/3622349">Monotype Viability Rankings</a>`,
  101. ],
  102.  
  103. mod: 'gen8',
  104. ruleset: ['Same Type Clause', 'Standard', 'Dynamax Clause'],
  105. banlist: ['Eternatus', 'Zacian', 'Zamazenta', 'Damp Rock', 'Smooth Rock', 'Moody', 'Shadow Tag', 'Baton Pass'],
  106. },
  107. {
  108. name: "[Gen 8] Anything Goes",
  109. threads: [
  110. `&bullet; <a href="https://www.smogon.com/forums/threads/3656317/">Anything Goes</a>`,
  111. ],
  112.  
  113. mod: 'gen8',
  114. searchShow: false,
  115. ruleset: ['Obtainable', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Endless Battle Clause'],
  116. },
  117. {
  118. name: "[Gen 8] NFE",
  119. desc: `Only Pok&eacute;mon that can evolve are allowed.`,
  120. threads: [
  121. `&bullet; <a href="https://www.smogon.com/forums/threads/3656332/">NFE Metagame Discussion</a>`,
  122. `&bullet; <a href="https://www.smogon.com/forums/threads/3657558/">NFE Resources</a>`,
  123. ],
  124.  
  125. mod: 'gen8',
  126. ruleset: ['NFE Clause', 'Standard', 'Dynamax Clause'],
  127. banlist: ['Doublade', 'Mr. Mime-Galar', 'Rhydon', 'Type: Null', 'Shadow Tag', 'Baton Pass'],
  128. },
  129. {
  130. name: "[Gen 8] 1v1",
  131. desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
  132. threads: [
  133. `&bullet; <a href="https://www.smogon.com/forums/threads/3656364/">1v1 Metagame Discussion</a>`,
  134. `&bullet; <a href="https://www.smogon.com/forums/threads/3657779/">1v1 Viability Rankings</a>`,
  135. ],
  136.  
  137. mod: 'gen8',
  138. teamLength: {
  139. validate: [1, 3],
  140. battle: 1,
  141. },
  142. ruleset: ['Obtainable', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Accuracy Moves Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Dynamax Clause', 'Endless Battle Clause'],
  143. banlist: ['Eternatus', 'Sableye', 'Zacian', 'Zamazenta', 'Focus Sash', 'Perish Song'],
  144. },
  145. {
  146. name: "[Gen 8] CAP",
  147. threads: [
  148. `&bullet; <a href="https://www.smogon.com/forums/threads/3656824/">CAP Metagame Discussion</a>`,
  149. `&bullet; <a href="https://www.smogon.com/forums/threads/3658514/">CAP Viability Rankings</a>`,
  150. ],
  151.  
  152. mod: 'gen8',
  153. minSourceGen: 1,
  154. ruleset: ['[Gen 8] OU', '+CAP'],
  155. banlist: ['Crucibelle-Mega'],
  156. onValidateSet(set) {
  157. if (Dex.getTemplate(set.species).isUnreleased === 'Past') {
  158. return [`${set.species} is unreleased.`];
  159. }
  160. },
  161. },
  162. {
  163. name: "[Gen 8] Battle Stadium Singles",
  164. threads: [
  165. `&bullet; <a href="https://www.smogon.com/forums/threads/3656336/">BSS Discussion</a>`,
  166. ],
  167.  
  168. mod: 'gen8',
  169. forcedLevel: 50,
  170. teamLength: {
  171. validate: [3, 6],
  172. battle: 3,
  173. },
  174. ruleset: ['Standard GBU'],
  175. onBegin() {
  176. const allowedGigantamaxes = [
  177. "Charizard-Gmax", "Butterfree-Gmax", "Pikachu-Gmax", "Meowth-Gmax", "Eevee-Gmax", "Snorlax-Gmax",
  178. "Corviknight-Gmax", "Dreadnaw-Gmax", "Sandaconda-Gmax", "Centiskorch-Gmax",
  179. ];
  180. for (const pokemon of this.getAllPokemon()) {
  181. if (!allowedGigantamaxes.includes(pokemon.species)) pokemon.canGigantamax = null;
  182. }
  183. },
  184. },
  185. {
  186. name: "[Gen 8] Custom Game",
  187.  
  188. mod: 'gen8',
  189. searchShow: false,
  190. debug: true,
  191. maxLevel: 9999,
  192. trunc(n) { return Math.trunc(n); },
  193. defaultLevel: 100,
  194. teamLength: {
  195. validate: [1, 24],
  196. battle: 24,
  197. },
  198. // no restrictions, for serious (other than team preview)
  199. ruleset: ['Team Preview', 'Cancel Mod'],
  200. },
  201.  
  202. // Sw/Sh Doubles
  203. ///////////////////////////////////////////////////////////////////
  204.  
  205. {
  206. section: "Sw/Sh Doubles",
  207. },
  208. {
  209. name: "[Gen 8] Random Doubles Battle",
  210.  
  211. mod: 'gen8',
  212. gameType: 'doubles',
  213. team: 'random',
  214. ruleset: ['PotD', 'Obtainable', 'Species Clause', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod'],
  215. },
  216. {
  217. name: "[Gen 8] Doubles OU",
  218. threads: [
  219. `&bullet; <a href="https://www.smogon.com/forums/threads/3656244/">Doubles OU Metagame Discussion</a>`,
  220. `&bullet; <a href="https://www.smogon.com/forums/threads/3658242/">Doubles OU Viability Rankings</a>`,
  221. ],
  222.  
  223. mod: 'gen8',
  224. gameType: 'doubles',
  225. ruleset: ['Standard Doubles'],
  226. banlist: ['DUber'],
  227. },
  228. {
  229. name: "[Gen 8] Doubles UU",
  230. threads: [
  231. `&bullet; <a href="https://www.smogon.com/forums/threads/3658504/">Doubles UU Metagame Discussion</a>`,
  232. ],
  233.  
  234. mod: 'gen8',
  235. gameType: 'doubles',
  236. ruleset: ['[Gen 8] Doubles OU'],
  237. banlist: ['DOU', 'DBL'],
  238. },
  239. {
  240. name: "[Gen 8] VGC 2020",
  241. threads: [
  242. `&bullet; <a href="https://www.pokemon.com/us/pokemon-news/2020-pokemon-video-game-championships-vgc-format-rules/">VGC 2020 Rules</a>`,
  243. `&bullet; <a href="https://www.smogon.com/forums/threads/3657818/">VGC 2020 Sample Teams</a>`,
  244. ],
  245.  
  246. mod: 'gen8',
  247. gameType: 'doubles',
  248. forcedLevel: 50,
  249. teamLength: {
  250. validate: [4, 6],
  251. battle: 4,
  252. },
  253. ruleset: ['Standard GBU', 'VGC Timer'],
  254. banlist: [
  255. 'Alcremie-Gmax', 'Appletun-Gmax', 'Charizard-Gmax + Solar Power', 'Coalossal-Gmax', 'Copperajah-Gmax',
  256. 'Duraludon-Gmax', 'Flapple-Gmax', 'Garbodor-Gmax', 'Gengar-Gmax', 'Grimmsnarl-Gmax', 'Hatterene-Gmax',
  257. 'Kingler-Gmax', 'Lapras-Gmax', 'Machamp-Gmax', 'Melmetal-Gmax', 'Orbeetle-Gmax', 'Slowpoke-Galar',
  258. 'Toxtricity-Gmax',
  259. ],
  260. },
  261. {
  262. name: "[Gen 8] Battle Stadium Doubles",
  263. threads: [
  264. `&bullet; <a href="https://www.smogon.com/forums/threads/3658057/">BSD Discussion</a>`,
  265. ],
  266.  
  267. mod: 'gen8',
  268. gameType: 'doubles',
  269. forcedLevel: 50,
  270. teamLength: {
  271. validate: [4, 6],
  272. battle: 4,
  273. },
  274. ruleset: ['Standard GBU'],
  275. onBegin() {
  276. const allowedGigantamaxes = [
  277. "Charizard-Gmax", "Butterfree-Gmax", "Pikachu-Gmax", "Meowth-Gmax", "Eevee-Gmax", "Snorlax-Gmax",
  278. "Corviknight-Gmax", "Dreadnaw-Gmax", "Sandaconda-Gmax", "Centiskorch-Gmax",
  279. ];
  280. for (const pokemon of this.getAllPokemon()) {
  281. if (!allowedGigantamaxes.includes(pokemon.species)) pokemon.canGigantamax = null;
  282. }
  283. },
  284. },
  285. {
  286. name: "[Gen 8] Galar Newcomers",
  287. threads: [`&bullet; <a href="https://www.smogon.com/forums/threads/3658774">Galar Newcomers</a>`],
  288.  
  289. mod: 'gen8',
  290. gameType: 'doubles',
  291. forcedLevel: 50,
  292. teamLength: {
  293. validate: [4, 6],
  294. battle: 4,
  295. },
  296. ruleset: ['Standard GBU'],
  297. onValidateSet(set) {
  298. let template = Dex.getTemplate(set.species);
  299. if (template.gen < 8 || (template.isGigantamax && Dex.getTemplate(template.baseSpecies).gen < 8)) {
  300. return [`Only Pokemon from Generation 8 are allowed.`, `(${set.species} is from Generation ${template.gen}.)`];
  301. }
  302. },
  303. },
  304. {
  305. name: '[Gen 8] Metronome Battle',
  306. threads: [
  307. `&bullet; <a href="https://www.smogon.com/forums/threads/3632075/">Metronome Battle</a>`,
  308. ],
  309.  
  310. mod: 'gen8',
  311. gameType: 'doubles',
  312. rated: false,
  313. teamLength: {
  314. validate: [2, 2],
  315. battle: 2,
  316. },
  317. ruleset: ['HP Percentage Mod', 'Cancel Mod'],
  318. banlist: [
  319. 'Pokestar Spirit', 'Battle Bond', 'Cheek Pouch', 'Cursed Body', 'Desolate Land', 'Dry Skin', 'Fluffy', 'Fur Coat', 'Gorilla Tactics',
  320. 'Grassy Surge', 'Huge Power', 'Ice Body', 'Iron Barbs', 'Libero', 'Moody', 'Parental Bond', 'Perish Body', 'Poison Heal', 'Power Construct',
  321. 'Pressure', 'Primordial Sea', 'Protean', 'Pure Power', 'Rain Dish', 'Rough Skin', 'Sand Spit', 'Sand Stream', 'Snow Warning', 'Stamina',
  322. 'Volt Absorb', 'Water Absorb', 'Wonder Guard', 'Abomasite', 'Aguav Berry', 'Assault Vest', 'Berry', 'Berry Juice', 'Berserk Gene',
  323. 'Black Sludge', 'Enigma Berry', 'Figy Berry', 'Gold Berry', 'Iapapa Berry', 'Kangaskhanite', 'Leftovers', 'Mago Berry', 'Medichamite',
  324. 'Oran Berry', 'Rocky Helmet', 'Shell Bell', 'Sitrus Berry', 'Wiki Berry', 'Shedinja + Sturdy', 'Harvest + Jaboca Berry', 'Harvest + Rowap Berry',
  325. ],
  326. onValidateSet(set) {
  327. let template = this.dex.getTemplate(set.species);
  328. if (template.types.includes('Steel')) {
  329. return [`${template.species} is a Steel-type, which is banned from Metronome Battle.`];
  330. }
  331. let bst = 0;
  332. for (let stat in template.baseStats) {
  333. // @ts-ignore
  334. bst += template.baseStats[stat];
  335. }
  336. if (bst > 625) {
  337. return [`${template.species} is banned.`, `(Pok\u00e9mon with a BST higher than 625 are banned)`];
  338. }
  339. let item = this.dex.getItem(set.item);
  340. if (set.item && item.megaStone) {
  341. let bstMega = 0;
  342. let megaTemplate = this.dex.getTemplate(item.megaStone);
  343. for (let stat in megaTemplate.baseStats) {
  344. // @ts-ignore
  345. bstMega += megaTemplate.baseStats[stat];
  346. }
  347. if (template.baseSpecies === item.megaEvolves && bstMega > 625) {
  348. return [`${set.name || set.species}'s item ${item.name} is banned.`, `(Pok\u00e9mon with a BST higher than 625 are banned)`];
  349. }
  350. }
  351. if (set.moves.length !== 1 || this.dex.getMove(set.moves[0]).id !== 'metronome') {
  352. return [`${set.name || set.species} has illegal moves.`, `(Pok\u00e9mon can only have one Metronome in their moveset)`];
  353. }
  354. },
  355. },
  356. {
  357. name: "[Gen 8] Doubles Custom Game",
  358.  
  359. mod: 'gen8',
  360. gameType: 'doubles',
  361. searchShow: false,
  362. maxLevel: 9999,
  363. trunc(n) { return Math.trunc(n); },
  364. defaultLevel: 100,
  365. debug: true,
  366. teamLength: {
  367. validate: [2, 24],
  368. battle: 24,
  369. },
  370. // no restrictions, for serious (other than team preview)
  371. ruleset: ['Team Preview', 'Cancel Mod'],
  372. },
  373.  
  374. // National Dex
  375. ///////////////////////////////////////////////////////////////////
  376.  
  377. {
  378. section: "National Dex",
  379. },
  380. {
  381. name: "[Gen 8] National Dex",
  382. threads: [
  383. `&bullet; <a href="https://www.smogon.com/forums/threads/3656899/">National Dex Metagame Discussion</a>`,
  384. ],
  385.  
  386. mod: 'gen8',
  387. ruleset: ['Standard NatDex', 'OHKO Clause', 'Evasion Moves Clause', 'Species Clause', 'Dynamax Clause', 'Sleep Clause Mod'],
  388. banlist: [
  389. 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Attack', 'Deoxys-Base', 'Deoxys-Speed', 'Dialga', 'Eternatus', 'Gengar-Mega',
  390. 'Giratina', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lucario-Mega',
  391. 'Lugia', 'Lunala', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa',
  392. 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Solgaleo', 'Xerneas', 'Yveltal', 'Zacian', 'Zamazenta', 'Zekrom',
  393. 'Moody', 'Power Construct', 'Shadow Tag', 'Baton Pass',
  394. ],
  395. },
  396. {
  397. name: "[Gen 8] National Dex AG",
  398. threads: [
  399. `&bullet; <a href="https://www.smogon.com/forums/threads/3656779/">AG Metagame Discussion</a>`,
  400. `&bullet; <a href="https://www.smogon.com/forums/threads/3658581/">AG Viability Rankings</a>`,
  401. ],
  402.  
  403. mod: 'gen8',
  404. ruleset: ['Standard NatDex'],
  405. },
  406.  
  407. // OM of the Month
  408. ///////////////////////////////////////////////////////////////////
  409.  
  410. {
  411. section: "OM of the Month",
  412. column: 2,
  413. },
  414. {
  415. name: "[Gen 8] 2v2 Doubles",
  416. desc: `Double battle where you bring four Pok&eacute;mon to Team Preview and choose only two.`,
  417. threads: [
  418. `&bullet; <a href="https://www.smogon.com/forums/threads/3656321/">2v2 Doubles</a>`,
  419. ],
  420.  
  421. mod: 'gen8',
  422. gameType: 'doubles',
  423. // searchShow: false,
  424. teamLength: {
  425. validate: [2, 4],
  426. battle: 2,
  427. },
  428. ruleset: ['Standard Doubles', 'Accuracy Moves Clause', 'Dynamax Clause', 'Sleep Clause Mod'],
  429. banlist: ['DUber', 'Focus Sash', 'Perish Song', 'Swagger'],
  430. },
  431. {
  432. name: "[Gen 7] Balanced Hackmons",
  433. desc: `Anything that can be hacked in-game and is usable in local battles is allowed.`,
  434. threads: [
  435. `&bullet; <a href="https://www.smogon.com/forums/threads/3587475/">Balanced Hackmons</a>`,
  436. `&bullet; <a href="https://www.smogon.com/forums/threads/3588586/">BH Suspects and Bans Discussion</a>`,
  437. `&bullet; <a href="https://www.smogon.com/forums/threads/3593766/">BH Resources</a>`,
  438. ],
  439.  
  440. mod: 'gen7',
  441. ruleset: ['-Nonexistent', '2 Ability Clause', 'OHKO Clause', 'Evasion Moves Clause', 'CFZ Clause', 'Sleep Clause Mod', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview'],
  442. banlist: ['Groudon-Primal', 'Rayquaza-Mega', 'Arena Trap', 'Contrary', 'Huge Power', 'Illusion', 'Innards Out', 'Magnet Pull', 'Moody', 'Parental Bond', 'Protean', 'Psychic Surge', 'Pure Power', 'Shadow Tag', 'Stakeout', 'Water Bubble', 'Wonder Guard', 'Gengarite', 'Chatter', 'Comatose + Sleep Talk'],
  443. },
  444.  
  445. // Other Metagames
  446. ///////////////////////////////////////////////////////////////////
  447.  
  448. {
  449. section: "Other Metagames",
  450. column: 2,
  451. },
  452. {
  453. name: "[Gen 8] Balanced Hackmons",
  454. desc: `Anything that can be hacked in-game and is usable in local battles is allowed.`,
  455. threads: [
  456. `&bullet; <a href="https://www.smogon.com/forums/threads/3587475/">Balanced Hackmons</a>`,
  457. ],
  458.  
  459. mod: 'gen8',
  460. ruleset: ['-Nonexistent', 'OHKO Clause', 'Evasion Moves Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod', 'Endless Battle Clause'],
  461. banlist: [
  462. 'Eternatus-Eternamax', 'Comatose + Sleep Talk',
  463. 'Arena Trap', 'Contrary', 'Gorilla Tactics', 'Huge Power', 'Illusion', 'Innards Out', 'Libero', 'Magnet Pull', 'Moody',
  464. 'Neutralizing Gas', 'Parental Bond', 'Protean', 'Pure Power', 'Shadow Tag', 'Stakeout', 'Water Bubble', 'Wonder Guard',
  465. ],
  466. onBegin() {
  467. if (this.rated && this.format.id === 'gen8balancedhackmons') this.add('html', `<div class="broadcast-red"><strong>Balanced Hackmons is currently suspecting Shedinja! For information on how to participate check out the <a href="https://www.smogon.com/forums/threads/3658789/">suspect thread</a>.</strong></div>`);
  468. },
  469. onChangeSet(set) {
  470. const item = toID(set.item);
  471. if (set.species === 'Zacian' || set.species === 'Zacian-Crowned') {
  472. if (item === 'rustedsword') {
  473. set.species = 'Zacian-Crowned';
  474. set.ability = 'Intrepid Sword';
  475. let ironHead = set.moves.indexOf('ironhead');
  476. if (ironHead >= 0) {
  477. set.moves[ironHead] = 'behemothblade';
  478. }
  479. } else {
  480. set.species = 'Zacian';
  481. }
  482. }
  483. if (set.species === 'Zamazenta' || set.species === 'Zamazenta-Crowned') {
  484. if (item === 'rustedshield') {
  485. set.species = 'Zamazenta-Crowned';
  486. set.ability = 'Dauntless Shield';
  487. let ironHead = set.moves.indexOf('ironhead');
  488. if (ironHead >= 0) {
  489. set.moves[ironHead] = 'behemothbash';
  490. }
  491. } else {
  492. set.species = 'Zamazenta';
  493. }
  494. }
  495. },
  496. },
  497. {
  498. name: "[Gen 8] Mix and Mega",
  499. desc: `Mega evolve any Pok&eacute;mon with any mega stone and no limit. Boosts based on mega evolution from gen 7.`,
  500. threads: [
  501. `&bullet; <a href="https://www.smogon.com/forums/threads/3656469/">Mix and Mega</a>`,
  502. //`&bullet; <a href="https://www.smogon.com/forums/threads/3591580/">Mix and Mega Resources</a>`,
  503. ],
  504.  
  505. mod: 'mixandmega',
  506. ruleset: ['Obtainable', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Dynamax Clause', 'Sleep Clause Mod', 'Endless Battle Clause'],
  507. banlist: [
  508. 'AG', 'Eternatus', 'Gothitelle', 'Gothorita', 'Zacian', 'Moody', 'Baton Pass', 'Electrify',
  509. 'Beedrillite', 'Blazikenite', 'Gengarite', 'Kangaskhanite', 'Mawilite', 'Medichamite', 'Pidgeotite',
  510. ],
  511. onValidateTeam(team, format) {
  512. /**@type {{[k: string]: true}} */
  513. let itemTable = {};
  514. for (const set of team) {
  515. let item = this.dex.getItem(set.item);
  516. if (!item || !item.megaStone) continue;
  517. let template = this.dex.getTemplate(set.species);
  518. if (format.banlist.includes('AG') && ['Venusaur', 'Blastoise', 'Zamazenta'].includes(template.baseSpecies)) {
  519. return [`${template.species} is not allowed to hold ${item.name}.`];
  520. }
  521. if (itemTable[item.id]) return ["You are limited to one of each mega stone.", "(You have more than one " + item.name + ")"];
  522. itemTable[item.id] = true;
  523. }
  524. },
  525. onBegin() {
  526. for (const pokemon of this.getAllPokemon()) {
  527. pokemon.m.originalSpecies = pokemon.baseTemplate.species;
  528. }
  529. },
  530. onSwitchIn(pokemon) {
  531. // @ts-ignore
  532. let oMegaTemplate = this.dex.getTemplate(pokemon.template.originalMega);
  533. if (oMegaTemplate.exists && pokemon.m.originalSpecies !== oMegaTemplate.baseSpecies) {
  534. // Place volatiles on the Pok�mon to show its mega-evolved condition and details
  535. this.add('-start', pokemon, oMegaTemplate.requiredItem || oMegaTemplate.requiredMove, '[silent]');
  536. let oTemplate = this.dex.getTemplate(pokemon.m.originalSpecies);
  537. if (oTemplate.types.length !== pokemon.template.types.length || oTemplate.types[1] !== pokemon.template.types[1]) {
  538. this.add('-start', pokemon, 'typechange', pokemon.template.types.join('/'), '[silent]');
  539. }
  540. }
  541. },
  542. onSwitchOut(pokemon) {
  543. // @ts-ignore
  544. let oMegaTemplate = this.dex.getTemplate(pokemon.template.originalMega);
  545. if (oMegaTemplate.exists && pokemon.m.originalSpecies !== oMegaTemplate.baseSpecies) {
  546. this.add('-end', pokemon, oMegaTemplate.requiredItem || oMegaTemplate.requiredMove, '[silent]');
  547. }
  548. },
  549. },
  550. {
  551. name: "[Gen 8] Almost Any Ability",
  552. desc: `Pok&eacute;mon have access to almost any ability.`,
  553. threads: [
  554. `&bullet; <a href="https://www.smogon.com/forums/threads/3656414/">Almost Any Ability</a>`,
  555. // `&bullet; <a href="https://www.smogon.com/forums/threads/3595753/">AAA Resources</a>`,
  556. ],
  557.  
  558. mod: 'gen8',
  559. ruleset: ['Obtainable', '!Obtainable Abilities', 'Species Clause', 'Nickname Clause', '2 Ability Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Dynamax Clause', 'Sleep Clause Mod', 'Endless Battle Clause'],
  560. banlist: [
  561. 'Dracovish', 'Eternatus', 'Shedinja', 'Zacian', 'Zamazenta', 'Baton Pass',
  562. 'Arena Trap', 'Comatose', 'Contrary', 'Fluffy', 'Fur Coat', 'Gorilla Tactics', 'Huge Power', 'Ice Scales', 'Illusion', 'Imposter', 'Innards Out', 'Intrepid Sword',
  563. 'Libero', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Protean', 'Pure Power', 'Shadow Tag', 'Simple', 'Stakeout', 'Speed Boost', 'Water Bubble', 'Wonder Guard',
  564. ],
  565. },
  566. {
  567. name: "[Gen 8] STABmons",
  568. desc: `Pok&eacute;mon can use any move of their typing, in addition to the moves they can normally learn.`,
  569. threads: [
  570. `&bullet; <a href="https://www.smogon.com/forums/threads/3656429/">STABmons</a>`,
  571. `&bullet; <a href="https://www.smogon.com/forums/threads/3658578/">STABmons Resources</a>`,
  572. ],
  573.  
  574. mod: 'gen8',
  575. ruleset: ['Standard', 'STABmons Move Legality', 'Dynamax Clause'],
  576. banlist: ['Darmanitan-Galar', 'Eternatus', 'Silvally', 'Zacian', 'Zamazenta', 'King\'s Rock', 'Razor Fang', 'Moody', 'Shadow Tag', 'Baton Pass'],
  577. restrictedMoves: ['Acupressure', 'Belly Drum', 'Fishious Rend', 'Shell Smash', 'Shift Gear', 'Spore'],
  578. },
  579. {
  580. name: "[Gen 8] Camomons",
  581. desc: `Pok&eacute;mon change type to match their first two moves.`,
  582. threads: [
  583. `&bullet; <a href="https://www.smogon.com/forums/threads/3656413/">Camomons</a>`,
  584. ],
  585.  
  586. mod: 'gen8',
  587. searchShow: false,
  588. ruleset: ['Obtainable', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Dynamax Clause', 'Sleep Clause Mod', 'Endless Battle Clause'],
  589. banlist: [
  590. 'Darmanitan-Galar', 'Eternatus', 'Shedinja', 'Zacian', 'Zamazenta',
  591. 'Arena Trap', 'Moody', 'Shadow Tag', 'Baton Pass',
  592. ],
  593. onModifyTemplate(template, target, source, effect) {
  594. if (!target) return; // Chat command
  595. if (effect && ['imposter', 'transform'].includes(effect.id)) return;
  596. let types = [...new Set(target.baseMoveSlots.slice(0, 2).map(move => this.dex.getMove(move.id).type))];
  597. return Object.assign({}, template, {types: types});
  598. },
  599. onSwitchIn(pokemon) {
  600. this.add('-start', pokemon, 'typechange', pokemon.getTypes(true).join('/'), '[silent]');
  601. },
  602. onAfterMega(pokemon) {
  603. this.add('-start', pokemon, 'typechange', pokemon.getTypes(true).join('/'), '[silent]');
  604. },
  605. },
  606. {
  607. name: "[Gen 7] Almost Any Ability",
  608. desc: `Pok&eacute;mon can use any ability, barring the few that are restricted to their natural users.`,
  609. threads: [
  610. `&bullet; <a href="https://www.smogon.com/forums/threads/3587901/">Almost Any Ability</a>`,
  611. `&bullet; <a href="https://www.smogon.com/forums/threads/3595753/">AAA Resources</a>`,
  612. ],
  613.  
  614. mod: 'gen7',
  615. searchShow: false,
  616. ruleset: ['[Gen 7] OU', '2 Ability Clause', '!Obtainable Abilities'],
  617. banlist: ['Archeops', 'Dragonite', 'Hoopa-Unbound', 'Kartana', 'Keldeo', 'Kyurem-Black', 'Regigigas', 'Shedinja', 'Slaking', 'Terrakion', 'Victini', 'Weavile'],
  618. unbanlist: ['Aegislash', 'Genesect', 'Landorus', 'Metagross-Mega', 'Naganadel'],
  619. restrictedAbilities: [
  620. 'Comatose', 'Contrary', 'Fluffy', 'Fur Coat', 'Huge Power', 'Illusion', 'Imposter', 'Innards Out',
  621. 'Parental Bond', 'Protean', 'Pure Power', 'Simple', 'Speed Boost', 'Stakeout', 'Water Bubble', 'Wonder Guard',
  622. ],
  623. onValidateSet(set, format) {
  624. let restrictedAbilities = format.restrictedAbilities || [];
  625. if (restrictedAbilities.includes(set.ability)) {
  626. let template = this.dex.getTemplate(set.species || set.name);
  627. let legalAbility = false;
  628. for (let i in template.abilities) {
  629. // @ts-ignore
  630. if (set.ability === template.abilities[i]) legalAbility = true;
  631. }
  632. if (!legalAbility) return ['The ability ' + set.ability + ' is banned on Pok\u00e9mon that do not naturally have it.'];
  633. }
  634. },
  635. },
  636. {
  637. name: "[Gen 7] Tier Shift",
  638. desc: `Pok&eacute;mon below OU get all their stats boosted. UU/RUBL get +10, RU/NUBL get +20, NU/PUBL get +30, and PU or lower get +40.`,
  639. threads: [
  640. `&bullet; <a href="https://www.smogon.com/forums/threads/3610073/">Tier Shift</a>`,
  641. ],
  642.  
  643. mod: 'gen7',
  644. searchShow: false,
  645. ruleset: ['[Gen 7] OU'],
  646. banlist: ['Drought', 'Damp Rock', 'Deep Sea Tooth', 'Eviolite', 'Heat Rock'],
  647. onModifyTemplate(template, target, source, effect) {
  648. if (!template.abilities) return false;
  649. /** @type {{[tier: string]: number}} */
  650. let boosts = {
  651. 'UU': 10,
  652. 'RUBL': 10,
  653. 'RU': 20,
  654. 'NUBL': 20,
  655. 'NU': 30,
  656. 'PUBL': 30,
  657. 'PU': 40,
  658. 'NFE': 40,
  659. 'LC Uber': 40,
  660. 'LC': 40,
  661. };
  662. if (target && target.set.ability === 'Drizzle') return;
  663. let tier = template.tier;
  664. if (target && target.set.item) {
  665. let item = this.dex.getItem(target.set.item);
  666. if (item.name === 'Kommonium Z' || item.name === 'Mewnium Z') return;
  667. if (item.megaEvolves === template.species) tier = this.dex.getTemplate(item.megaStone).tier;
  668. }
  669. if (target && target.set.moves.includes('auroraveil')) tier = 'UU';
  670. if (target && target.set.ability === 'Drought') tier = 'RU';
  671.  
  672. if (tier[0] === '(') tier = tier.slice(1, -1);
  673. if (!(tier in boosts)) return;
  674. let pokemon = this.dex.deepClone(template);
  675. let boost = boosts[tier];
  676. for (let statName in pokemon.baseStats) {
  677. if (statName === 'hp') continue;
  678. pokemon.baseStats[statName] = this.dex.clampIntRange(pokemon.baseStats[statName] + boost, 1, 255);
  679. }
  680. return pokemon;
  681. },
  682. },
  683.  
  684. // Pet Mods
  685. ///////////////////////////////////////////////////////////////////
  686.  
  687. {
  688. section: "Pet Mods",
  689. column: 2,
  690. },
  691. {
  692. name: "[Gen 7 Pet Mod] Clean Slate: Micro",
  693. desc: `A brand new "micrometagame" created from scratch, with the ultimate goal of creating a unique, compact metagame different from any other tier.`,
  694. threads: [
  695. `<a href="https://www.smogon.com/forums/threads/3652540/">Clean Slate: Micro</a>`,
  696. ],
  697.  
  698. mod: 'cleanslatemicro',
  699. ruleset: ['Standard Pet Mod'],
  700. unbanlist: [
  701. 'Crobat', 'Dragalge', 'Dugtrio-Alola', 'Farfetch\'d', 'Galvantula', 'Heracross-Base', 'Kyurem-Base', 'Ludicolo', 'Magearna-Base',
  702. 'Malamar', 'Ninetales-Base', 'Pupitar', 'Purugly', 'Rotom-Base', 'Rotom-Mow', 'Rotom-Wash', 'Torterra', 'Type: Null', 'Umbreon', 'Wailord',
  703. ],
  704. onSwitchIn(pokemon) {
  705. this.add('-start', pokemon, 'typechange', pokemon.template.types.join('/'), '[silent]');
  706. },
  707. },
  708. {
  709. name: "[Gen 6] Gen-NEXT OU",
  710.  
  711. mod: 'gennext',
  712. searchShow: false,
  713. challengeShow: false,
  714. ruleset: ['Obtainable', 'Standard NEXT', 'Team Preview'],
  715. banlist: ['Uber'],
  716. },
  717.  
  718. // Randomized Metas
  719. ///////////////////////////////////////////////////////////////////
  720.  
  721. {
  722. section: "Randomized Metas",
  723. column: 2,
  724. },
  725. {
  726. name: "[Gen 8] Monotype Random Battle",
  727.  
  728. mod: 'gen8',
  729. team: 'random',
  730. ruleset: ['Obtainable', 'Same Type Clause', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod'],
  731. },
  732. {
  733. name: "[Gen 8] Challenge Cup 1v1",
  734.  
  735. mod: 'gen8',
  736. team: 'randomCC',
  737. teamLength: {
  738. battle: 1,
  739. },
  740. ruleset: ['Obtainable', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview', 'Dynamax Clause'],
  741. },
  742. {
  743. name: "[Gen 8] Challenge Cup 2v2",
  744.  
  745. mod: 'gen8',
  746. team: 'randomCC',
  747. gameType: 'doubles',
  748. teamLength: {
  749. battle: 2,
  750. },
  751. searchShow: false,
  752. ruleset: ['Obtainable', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview', 'Dynamax Clause'],
  753. },
  754. {
  755. name: "[Gen 8] Hackmons Cup",
  756. desc: `Randomized teams of level-balanced Pok&eacute;mon with absolutely any ability, moves, and item.`,
  757.  
  758. mod: 'gen8',
  759. team: 'randomHC',
  760. ruleset: ['Obtainable Formes', 'HP Percentage Mod', 'Cancel Mod'],
  761. },
  762. {
  763. name: "[Gen 8] Doubles Hackmons Cup",
  764.  
  765. mod: 'gen8',
  766. gameType: 'doubles',
  767. team: 'randomHC',
  768. searchShow: false,
  769. ruleset: ['Obtainable', 'HP Percentage Mod', 'Cancel Mod'],
  770. },
  771. {
  772. name: "[Gen 7] Random Battle",
  773. desc: `Randomized teams of level-balanced Pok&eacute;mon with sets that are generated to be competitively viable.`,
  774. threads: [
  775. `&bullet; <a href="https://www.smogon.com/forums/threads/3591157/">Sets and Suggestions</a>`,
  776. `&bullet; <a href="https://www.smogon.com/forums/threads/3616946/">Role Compendium</a>`,
  777. ],
  778.  
  779. mod: 'gen7',
  780. team: 'random',
  781. ruleset: ['Obtainable', 'Sleep Clause Mod', 'HP Percentage Mod', 'Cancel Mod'],
  782. },
  783.  
  784. // Randomized Metas
  785. ///////////////////////////////////////////////////////////////////
  786.  
  787. {
  788. name: "[Gen 7] Random Doubles Battle",
  789. threads: [`&bullet; <a href="https://www.smogon.com/forums/threads/3601525/">Sets and Suggestions</a>`],
  790.  
  791. mod: 'gen7',
  792. gameType: 'doubles',
  793. team: 'random',
  794. searchShow: false,
  795. ruleset: ['Obtainable', 'HP Percentage Mod', 'Cancel Mod'],
  796. },
  797. {
  798. name: "[Gen 7] Battle Factory",
  799. desc: `Randomized teams of Pok&eacute;mon for a generated Smogon tier with sets that are competitively viable.`,
  800.  
  801. mod: 'gen7',
  802. team: 'randomFactory',
  803. searchShow: false,
  804. ruleset: ['Obtainable', 'Sleep Clause Mod', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Mega Rayquaza Clause'],
  805. },
  806. {
  807. name: "[Gen 7] BSS Factory",
  808. desc: `Randomized 3v3 Singles featuring Pok&eacute;mon and movesets popular in Battle Spot Singles.`,
  809. threads: [
  810. `&bullet; <a href="https://www.smogon.com/forums/threads/3604845/">Information and Suggestions Thread</a>`,
  811. ],
  812.  
  813. mod: 'gen7',
  814. team: 'randomBSSFactory',
  815. searchShow: false,
  816. teamLength: {
  817. validate: [3, 6],
  818. battle: 3,
  819. },
  820. ruleset: ['Obtainable', 'Standard GBU'],
  821. },
  822. {
  823. name: "[Gen 7] Hackmons Cup",
  824. desc: `Randomized teams of level-balanced Pok&eacute;mon with absolutely any ability, moves, and item.`,
  825.  
  826. mod: 'gen7',
  827. team: 'randomHC',
  828. searchShow: false,
  829. ruleset: ['HP Percentage Mod', 'Cancel Mod'],
  830. },
  831. {
  832. name: "[Gen 7] Super Staff Bros Brawl",
  833. desc: "Super Staff Bros returns for another round! Battle with a random team of pokemon created by the sim staff.",
  834. threads: [
  835. `&bullet; <a href="https://www.smogon.com/articles/super-staff-bros-brawl">Introduction &amp; Roster</a>`,
  836. ],
  837.  
  838. mod: 'ssb',
  839. team: 'randomStaffBros',
  840. ruleset: ['HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod'],
  841. onBegin() {
  842. this.add('raw|SUPER STAFF BROS <b>BRAWL</b>!!');
  843. this.add('message', 'GET READY FOR THE NEXT BATTLE!');
  844. if (this.teamGenerator.allXfix) this.add(`c|~HoeenHero|Oops I dropped my bag of xfix sets sorry!`);
  845. this.add(`raw|<div class='broadcast-green'><b>Wondering what all these custom moves, abilities, and items do?<br />Check out the <a href="https://www.smogon.com/articles/super-staff-bros-brawl" target="_blank">Super Staff Bros Brawl Guide</a> and find out!</b></div>`);
  846. },
  847. onSwitchInPriority: 100,
  848. onSwitchIn(pokemon) {
  849. let name = toID(pokemon.illusion ? pokemon.illusion.name : pokemon.name);
  850. if (this.dex.getTemplate(name).exists || name === 'rage') {
  851. // Certain pokemon have volatiles named after their speciesid
  852. // To prevent overwriting those, and to prevent accidentaly leaking
  853. // that a pokemon is on a team through the onStart even triggering
  854. // at the start of a match, users with pokemon names will need their
  855. // statuse's to end in "user".
  856. name = /** @type {ID} */(name + 'user');
  857. }
  858. // Add the mon's status effect to it as a volatile.
  859. let status = this.dex.getEffect(name);
  860. if (status && status.exists) {
  861. pokemon.addVolatile(name, pokemon);
  862. }
  863. },
  864. },
  865. {
  866. name: "[Gen 7 Let's Go] Random Battle",
  867.  
  868. mod: 'letsgo',
  869. team: 'random',
  870. searchShow: false,
  871. ruleset: ['Obtainable', 'Allow AVs', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod'],
  872. },
  873. {
  874. name: "[Gen 6] Random Battle",
  875.  
  876. mod: 'gen6',
  877. team: 'random',
  878. ruleset: ['Obtainable', 'Sleep Clause Mod', 'HP Percentage Mod', 'Cancel Mod'],
  879. },
  880. {
  881. name: "[Gen 6] Battle Factory",
  882. desc: `Randomized teams of Pok&eacute;mon for a generated Smogon tier with sets that are competitively viable.`,
  883.  
  884. mod: 'gen6',
  885. team: 'randomFactory',
  886. searchShow: false,
  887. ruleset: ['Obtainable', 'Sleep Clause Mod', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Mega Rayquaza Clause'],
  888. },
  889. {
  890. name: "[Gen 5] Random Battle",
  891.  
  892. mod: 'gen5',
  893. team: 'random',
  894. ruleset: ['Obtainable', 'Sleep Clause Mod', 'HP Percentage Mod', 'Cancel Mod'],
  895. },
  896. {
  897. name: "[Gen 4] Random Battle",
  898.  
  899. mod: 'gen4',
  900. team: 'random',
  901. ruleset: ['Obtainable', 'Sleep Clause Mod', 'HP Percentage Mod', 'Cancel Mod'],
  902. },
  903. {
  904. name: "[Gen 3] Random Battle",
  905.  
  906. mod: 'gen3',
  907. team: 'random',
  908. ruleset: ['Standard'],
  909. },
  910. {
  911. name: "[Gen 2] Random Battle",
  912.  
  913. mod: 'gen2',
  914. team: 'random',
  915. ruleset: ['Standard'],
  916. },
  917. {
  918. name: "[Gen 1] Random Battle",
  919.  
  920. mod: 'gen1',
  921. team: 'random',
  922. ruleset: ['Standard'],
  923. },
  924. {
  925. name: "[Gen 1] Challenge Cup",
  926.  
  927. mod: 'gen1',
  928. team: 'randomCC',
  929. searchShow: false,
  930. challengeShow: false,
  931. ruleset: ['Obtainable', 'HP Percentage Mod', 'Cancel Mod'],
  932. },
  933.  
  934. // RoA Spotlight
  935. ///////////////////////////////////////////////////////////////////
  936.  
  937. {
  938. section: "RoA Spotlight",
  939. column: 3,
  940. },
  941. {
  942. name: "[Gen 2] UU",
  943. threads: [`&bullet; <a href="https://www.smogon.com/forums/threads/3576710/">GSC UU</a>`],
  944.  
  945. mod: 'gen2',
  946. // searchShow: false,
  947. ruleset: ['[Gen 2] OU'],
  948. banlist: ['OU', 'UUBL'],
  949. },
  950. {
  951. name: "[Gen 7] Mix and Mega",
  952. desc: `Mega Stones and Primal Orbs can be used on almost any Pok&eacute;mon with no Mega Evolution limit.`,
  953. threads: [
  954. `&bullet; <a href="https://www.smogon.com/forums/threads/3587740/">Mix and Mega</a>`,
  955. `&bullet; <a href="https://www.smogon.com/forums/threads/3591580/">Mix and Mega Resources</a>`,
  956. ],
  957.  
  958. mod: 'mixandmega7',
  959. ruleset: ['Standard', 'Mega Rayquaza Clause'],
  960. banlist: ['Shadow Tag', 'Gengarite', 'Baton Pass', 'Electrify'],
  961. restrictedStones: ['Beedrillite', 'Blazikenite', 'Kangaskhanite', 'Mawilite', 'Medichamite', 'Pidgeotite', 'Ultranecrozium Z'],
  962. cannotMega: [
  963. 'Arceus', 'Deoxys', 'Deoxys-Attack', 'Deoxys-Speed', 'Dialga', 'Dragonite', 'Giratina', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem-Black',
  964. 'Kyurem-White', 'Landorus-Therian', 'Lugia', 'Lunala', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane',
  965. 'Palkia', 'Pheromosa', 'Rayquaza', 'Regigigas', 'Reshiram', 'Shuckle', 'Slaking', 'Solgaleo', 'Xerneas', 'Yveltal', 'Zekrom',
  966. ],
  967. onValidateTeam(team) {
  968. /**@type {{[k: string]: true}} */
  969. let itemTable = {};
  970. for (const set of team) {
  971. let item = this.dex.getItem(set.item);
  972. if (!item) continue;
  973. if (itemTable[item.id] && item.megaStone) return ["You are limited to one of each Mega Stone.", "(You have more than one " + this.dex.getItem(item).name + ")"];
  974. if (itemTable[item.id] && ['blueorb', 'redorb'].includes(item.id)) return ["You are limited to one of each Primal Orb.", "(You have more than one " + this.dex.getItem(item).name + ")"];
  975. itemTable[item.id] = true;
  976. }
  977. },
  978. onValidateSet(set, format) {
  979. let template = this.dex.getTemplate(set.species || set.name);
  980. let item = this.dex.getItem(set.item);
  981. if (!item.megaEvolves && !['blueorb', 'redorb', 'ultranecroziumz'].includes(item.id)) return;
  982. if (template.baseSpecies === item.megaEvolves || (template.baseSpecies === 'Groudon' && item.id === 'redorb') || (template.baseSpecies === 'Kyogre' && item.id === 'blueorb') || (template.species.substr(0, 9) === 'Necrozma-' && item.id === 'ultranecroziumz')) return;
  983. let uberStones = format.restrictedStones || [];
  984. let uberPokemon = format.cannotMega || [];
  985. if (uberPokemon.includes(template.name) || set.ability === 'Power Construct' || uberStones.includes(item.name)) return ["" + template.species + " is not allowed to hold " + item.name + "."];
  986. },
  987. onBegin() {
  988. for (const pokemon of this.getAllPokemon()) {
  989. pokemon.m.originalSpecies = pokemon.baseTemplate.species;
  990. }
  991. },
  992. onSwitchIn(pokemon) {
  993. // @ts-ignore
  994. let oMegaTemplate = this.dex.getTemplate(pokemon.template.originalMega);
  995. if (oMegaTemplate.exists && pokemon.m.originalSpecies !== oMegaTemplate.baseSpecies) {
  996. // Place volatiles on the Pokémon to show its mega-evolved condition and details
  997. this.add('-start', pokemon, oMegaTemplate.requiredItem || oMegaTemplate.requiredMove, '[silent]');
  998. let oTemplate = this.dex.getTemplate(pokemon.m.originalSpecies);
  999. if (oTemplate.types.length !== pokemon.template.types.length || oTemplate.types[1] !== pokemon.template.types[1]) {
  1000. this.add('-start', pokemon, 'typechange', pokemon.template.types.join('/'), '[silent]');
  1001. }
  1002. }
  1003. },
  1004. onSwitchOut(pokemon) {
  1005. // @ts-ignore
  1006. let oMegaTemplate = this.dex.getTemplate(pokemon.template.originalMega);
  1007. if (oMegaTemplate.exists && pokemon.m.originalSpecies !== oMegaTemplate.baseSpecies) {
  1008. this.add('-end', pokemon, oMegaTemplate.requiredItem || oMegaTemplate.requiredMove, '[silent]');
  1009. }
  1010. },
  1011. },
  1012. {
  1013. name: "[Gen 2] NU",
  1014. threads: [`&bullet; <a href="https://www.smogon.com/forums/threads/3642565/">GSC NU</a>`],
  1015.  
  1016. mod: 'gen2',
  1017. // searchShow: false,
  1018. ruleset: ['[Gen 2] UU'],
  1019. banlist: ['UU', 'NUBL'],
  1020. },
  1021.  
  1022. // Past Gens OU
  1023. ///////////////////////////////////////////////////////////////////
  1024.  
  1025. {
  1026. section: "Past Gens OU",
  1027. column: 3,
  1028. },
  1029. {
  1030. name: "[Gen 7] OU",
  1031. threads: [
  1032. `&bullet; <a href="https://www.smogon.com/forums/threads/3646999/">OU Metagame Discussion</a>`,
  1033. `&bullet; <a href="https://www.smogon.com/forums/threads/3621329/">OU Viability Rankings</a>`,
  1034. `&bullet; <a href="https://www.smogon.com/forums/threads/3638845/">OU Sample Teams</a>`,
  1035. ],
  1036.  
  1037. mod: 'gen7',
  1038. ruleset: ['Standard'],
  1039. banlist: ['Uber', 'Arena Trap', 'Power Construct', 'Shadow Tag', 'Baton Pass'],
  1040. },
  1041. {
  1042. name: "[Gen 6] OU",
  1043. threads: [
  1044. `&bullet; <a href="https://www.smogon.com/dex/xy/tags/ou/">ORAS OU Banlist</a>`,
  1045. `&bullet; <a href="https://www.smogon.com/forums/threads/3623399/">ORAS OU Viability Rankings</a>`,
  1046. `&bullet; <a href="https://www.smogon.com/forums/threads/3650478/#post-8133793">ORAS OU Sample Teams</a>`,
  1047. ],
  1048.  
  1049. mod: 'gen6',
  1050. ruleset: ['Standard', 'Swagger Clause'],
  1051. banlist: ['Uber', 'Arena Trap', 'Shadow Tag', 'Soul Dew', 'Baton Pass'],
  1052. },
  1053. {
  1054. name: "[Gen 5] OU",
  1055. threads: [
  1056. `&bullet; <a href="https://www.smogon.com/forums/threads/3599678/">BW2 OU Viability Ranking</a>`,
  1057. `&bullet; <a href="https://www.smogon.com/forums/threads/3650478/#post-8133791">BW2 Sample Teams</a>`,
  1058. ],
  1059.  
  1060. mod: 'gen5',
  1061. ruleset: ['Standard', 'Evasion Abilities Clause', 'Baton Pass Clause', 'Sleep Moves Clause', 'Swagger Clause'],
  1062. banlist: ['Uber', 'Arena Trap', 'Drizzle ++ Swift Swim', 'Drought ++ Chlorophyll', 'Sand Rush', 'Shadow Tag', 'Soul Dew'],
  1063. },
  1064. {
  1065. name: "[Gen 4] OU",
  1066. threads: [
  1067. `&bullet; <a href="https://www.smogon.com/forums/threads/3506147/">DPP OU Metagame Discussion</a>`,
  1068. `&bullet; <a href="https://www.smogon.com/forums/threads/3551992/">DPP OU Viability Ranking</a>`,
  1069. `&bullet; <a href="https://www.smogon.com/forums/threads/3650478/#post-8133790">DPP Sample Teams</a>`,
  1070. ],
  1071.  
  1072. mod: 'gen4',
  1073. ruleset: ['Standard', 'Baton Pass Clause'],
  1074. banlist: ['Uber', 'Sand Veil', 'Soul Dew'],
  1075. },
  1076. {
  1077. name: "[Gen 3] OU",
  1078. threads: [
  1079. `&bullet; <a href="https://www.smogon.com/forums/threads/3503019/">ADV OU Viability Ranking</a>`,
  1080. `&bullet; <a href="https://www.smogon.com/forums/threads/3650478/#post-8133789">ADV Sample Teams</a>`,
  1081. ],
  1082.  
  1083. mod: 'gen3',
  1084. ruleset: ['Standard', '3 Baton Pass Clause'],
  1085. banlist: ['Uber', 'Smeargle + Baton Pass'],
  1086. },
  1087. {
  1088. name: "[Gen 2] OU",
  1089. threads: [
  1090. `&bullet; <a href="https://www.smogon.com/forums/threads/3556533/">GSC OU Viability Ranking</a>`,
  1091. `&bullet; <a href="https://www.smogon.com/forums/threads/3650478/#post-8133788">GSC Sample Teams</a>`,
  1092. ],
  1093.  
  1094. mod: 'gen2',
  1095. ruleset: ['Standard'],
  1096. banlist: ['Uber'],
  1097. },
  1098. {
  1099. name: "[Gen 1] OU",
  1100. threads: [
  1101. `&bullet; <a href="https://www.smogon.com/forums/threads/3572352/">RBY OU Viability Ranking</a>`,
  1102. `&bullet; <a href="https://www.smogon.com/forums/threads/3650478/#post-8133786">RBY Sample Teams</a>`,
  1103. ],
  1104.  
  1105. mod: 'gen1',
  1106. ruleset: ['Standard'],
  1107. banlist: ['Uber'],
  1108. },
  1109.  
  1110. // US/UM Singles
  1111. ///////////////////////////////////////////////////////////////////
  1112. {
  1113. section: "US/UM Singles",
  1114. column: 3,
  1115. },
  1116. {
  1117. name: "[Gen 7] Ubers",
  1118. threads: [
  1119. `&bullet; <a href="https://www.smogon.com/forums/posts/8286276/">USM Ubers</a>`,
  1120. ],
  1121.  
  1122. mod: 'gen7',
  1123. ruleset: ['Standard', 'Mega Rayquaza Clause'],
  1124. banlist: ['Baton Pass'],
  1125. },
  1126. {
  1127. name: "[Gen 7] UU",
  1128. threads: [
  1129. `&bullet; <a href="https://www.smogon.com/forums/threads/3652404/">UU Metagame Discussion</a>`,
  1130. `&bullet; <a href="https://www.smogon.com/forums/threads/3641346/">UU Viability Rankings</a>`,
  1131. `&bullet; <a href="https://www.smogon.com/forums/threads/3621217/">UU Sample Teams</a>`,
  1132. ],
  1133.  
  1134. mod: 'gen7',
  1135. ruleset: ['[Gen 7] OU'],
  1136. banlist: ['OU', 'UUBL', 'Drizzle', 'Drought', 'Kommonium Z', 'Mewnium Z'],
  1137. },
  1138. {
  1139. name: "[Gen 7] RU",
  1140. threads: [
  1141. `&bullet; <a href="https://www.smogon.com/forums/threads/3646905/">RU Metagame Discussion</a>`,
  1142. `&bullet; <a href="https://www.smogon.com/forums/threads/3645873/">RU Viability Rankings</a>`,
  1143. `&bullet; <a href="https://www.smogon.com/forums/threads/3645338/">RU Sample Teams</a>`,
  1144. ],
  1145.  
  1146. mod: 'gen7',
  1147. ruleset: ['[Gen 7] UU'],
  1148. banlist: ['UU', 'RUBL', 'Mimikyu', 'Aurora Veil'],
  1149. unbanlist: ['Drought'],
  1150. },
  1151. {
  1152. name: "[Gen 7] NU",
  1153. threads: [
  1154. `&bullet; <a href="https://www.smogon.com/forums/threads/3650934/">NU Metagame Discussion</a>`,
  1155. `&bullet; <a href="https://www.smogon.com/forums/threads/3645166/">NU Viability Rankings</a>`,
  1156. `&bullet; <a href="https://www.smogon.com/forums/threads/3632667/">NU Sample Teams</a>`,
  1157. ],
  1158.  
  1159. mod: 'gen7',
  1160. ruleset: ['[Gen 7] RU'],
  1161. banlist: ['RU', 'NUBL', 'Drought'],
  1162. },
  1163. {
  1164. name: "[Gen 7] PU",
  1165. threads: [
  1166. `&bullet; <a href="https://www.smogon.com/forums/threads/3652157/">PU Metagame Discussion</a>`,
  1167. `&bullet; <a href="https://www.smogon.com/forums/threads/3614892/">PU Viability Rankings</a>`,
  1168. `&bullet; <a href="https://www.smogon.com/forums/threads/3611496/">PU Sample Teams</a>`,
  1169. ],
  1170.  
  1171. mod: 'gen7',
  1172. ruleset: ['[Gen 7] NU'],
  1173. banlist: ['NU', 'PUBL'],
  1174. },
  1175. {
  1176. name: "[Gen 7] LC",
  1177. threads: [
  1178. `&bullet; <a href="https://www.smogon.com/forums/threads/3587196/">LC Metagame Discussion</a>`,
  1179. `&bullet; <a href="https://www.smogon.com/dex/sm/formats/lc/">LC Banlist</a>`,
  1180. `&bullet; <a href="https://www.smogon.com/forums/threads/3621440/">LC Viability Rankings</a>`,
  1181. `&bullet; <a href="https://www.smogon.com/forums/threads/3639319/">LC Sample Teams</a>`,
  1182. ],
  1183.  
  1184. mod: 'gen7',
  1185. maxLevel: 5,
  1186. ruleset: ['Little Cup', 'Standard', 'Swagger Clause'],
  1187. banlist: [
  1188. 'Aipom', 'Cutiefly', 'Drifloon', 'Gligar', 'Gothita', 'Meditite', 'Misdreavus', 'Murkrow', 'Porygon',
  1189. 'Scyther', 'Sneasel', 'Swirlix', 'Tangela', 'Trapinch', 'Vulpix-Base', 'Wingull', 'Yanma',
  1190. 'Eevium Z', 'Baton Pass', 'Dragon Rage', 'Sonic Boom',
  1191. ],
  1192. },
  1193. {
  1194. name: "[Gen 7] Monotype",
  1195. desc: `All the Pok&eacute;mon on a team must share a type.`,
  1196. threads: [
  1197. `&bullet; <a href="https://www.smogon.com/forums/threads/3621036/">Monotype Metagame Discussion</a>`,
  1198. `&bullet; <a href="https://www.smogon.com/forums/threads/3622349">Monotype Viability Rankings</a>`,
  1199. `&bullet; <a href="https://www.smogon.com/forums/threads/3599682/">Monotype Sample Teams</a>`,
  1200. ],
  1201.  
  1202. mod: 'gen7',
  1203. ruleset: ['Same Type Clause', 'Standard', 'Swagger Clause'],
  1204. banlist: [
  1205. 'Aegislash', 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Genesect', 'Gengar-Mega', 'Giratina', 'Groudon',
  1206. 'Ho-Oh', 'Hoopa-Unbound', 'Kangaskhan-Mega', 'Kartana', 'Kyogre', 'Kyurem-White', 'Lucario-Mega', 'Lugia', 'Lunala', 'Magearna',
  1207. 'Marshadow', 'Mawile-Mega', 'Medicham-Mega', 'Metagross-Mega', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia',
  1208. 'Pheromosa', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Solgaleo', 'Tapu Lele', 'Xerneas', 'Yveltal', 'Zekrom', 'Zygarde',
  1209. 'Battle Bond', 'Shadow Tag', 'Damp Rock', 'Smooth Rock', 'Terrain Extender', 'Baton Pass',
  1210. ],
  1211. },
  1212. {
  1213. name: "[Gen 7] Anything Goes",
  1214. threads: [
  1215. `&bullet; <a href="https://www.smogon.com/forums/threads/3587441/">Anything Goes Metagame Discussion</a>`,
  1216. `&bullet; <a href="https://www.smogon.com/forums/threads/3591711/">Anything Goes Viability Rankings</a>`,
  1217. `&bullet; <a href="https://www.smogon.com/forums/threads/3646736/">Anything Goes Sample Teams</a>`,
  1218. ],
  1219.  
  1220. mod: 'gen7',
  1221. ruleset: ['Obtainable', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Endless Battle Clause'],
  1222. },
  1223. {
  1224. name: "[Gen 7] 1v1",
  1225. desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
  1226. threads: [
  1227. `&bullet; <a href="https://www.smogon.com/forums/threads/3646757/">1v1 Metagame Discussion</a>`,
  1228. `&bullet; <a href="https://www.smogon.com/forums/threads/3646758/">1v1 Viability Rankings</a>`,
  1229. `&bullet; <a href="https://www.smogon.com/forums/threads/3646826/">1v1 Sample Teams</a>`,
  1230. ],
  1231.  
  1232. mod: 'gen7',
  1233. teamLength: {
  1234. validate: [1, 3],
  1235. battle: 1,
  1236. },
  1237. ruleset: ['Obtainable', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Swagger Clause', 'Evasion Moves Clause', 'Accuracy Moves Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Endless Battle Clause'],
  1238. banlist: [
  1239. 'Arceus', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', 'Giratina',
  1240. 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Marshadow', 'Mewtwo',
  1241. 'Mimikyu', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky',
  1242. 'Snorlax', 'Solgaleo', 'Tapu Koko', 'Xerneas', 'Yveltal', 'Zekrom', 'Focus Sash', 'Moody', 'Perish Song', 'Detect + Fightinium Z',
  1243. ],
  1244. },
  1245. {
  1246. name: "[Gen 7] ZU",
  1247. desc: `The unofficial usage-based tier below PU.`,
  1248. threads: [
  1249. `&bullet; <a href="https://www.smogon.com/forums/threads/3646743/">ZU Metagame Discussion</a>`,
  1250. `&bullet; <a href="https://www.smogon.com/forums/threads/3643412/">ZU Viability Rankings</a>`,
  1251. `&bullet; <a href="https://www.smogon.com/forums/threads/3646739/">ZU Sample Teams</a>`,
  1252. ],
  1253.  
  1254. mod: 'gen7',
  1255. ruleset: ['[Gen 7] PU'],
  1256. banlist: [
  1257. 'PU', 'Carracosta', 'Crabominable', 'Gorebyss', 'Jynx', 'Raticate-Alola',
  1258. 'Shiftry', 'Throh', 'Turtonator', 'Type: Null', 'Ursaring', 'Victreebel',
  1259. ],
  1260. },
  1261. {
  1262. name: "[Gen 7] CAP",
  1263. threads: [
  1264. `&bullet; <a href="https://www.smogon.com/forums/threads/3621207/">CAP Metagame Discussion</a>`,
  1265. `&bullet; <a href="https://www.smogon.com/forums/threads/3626018/">CAP Viability Rankings</a>`,
  1266. `&bullet; <a href="https://www.smogon.com/forums/threads/3648521/">CAP Sample Teams</a>`,
  1267. ],
  1268.  
  1269. mod: 'gen7',
  1270. ruleset: ['[Gen 7] OU', '+CAP'],
  1271. },
  1272. {
  1273. name: "[Gen 7] Battle Spot Singles",
  1274. threads: [
  1275. `&bullet; <a href="https://www.smogon.com/forums/threads/3601012/">Introduction to Battle Spot Singles</a>`,
  1276. `&bullet; <a href="https://www.smogon.com/forums/threads/3605970/">Battle Spot Singles Viability Ranking</a>`,
  1277. `&bullet; <a href="https://www.smogon.com/forums/threads/3601658/">Battle Spot Singles Roles Compendium</a>`,
  1278. `&bullet; <a href="https://www.smogon.com/forums/threads/3619162/">Battle Spot Singles Sample Teams</a>`,
  1279. ],
  1280.  
  1281. mod: 'gen7',
  1282. searchShow: false,
  1283. maxForcedLevel: 50,
  1284. teamLength: {
  1285. validate: [3, 6],
  1286. battle: 3,
  1287. },
  1288. ruleset: ['Standard GBU'],
  1289. minSourceGen: 6,
  1290. },
  1291. {
  1292. name: "[Gen 7 Let's Go] OU",
  1293. threads: [
  1294. `&bullet; <a href="https://www.smogon.com/forums/threads/3644015/">LGPE OverUsed</a>`,
  1295. ],
  1296.  
  1297. mod: 'letsgo',
  1298. searchShow: false,
  1299. forcedLevel: 50,
  1300. ruleset: ['Obtainable', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod'],
  1301. banlist: ['Uber'],
  1302. },
  1303. {
  1304. name: "[Gen 7] Custom Game",
  1305.  
  1306. mod: 'gen7',
  1307. searchShow: false,
  1308. debug: true,
  1309. maxLevel: 9999,
  1310. trunc(n) { return Math.trunc(n); },
  1311. defaultLevel: 100,
  1312. teamLength: {
  1313. validate: [1, 24],
  1314. battle: 24,
  1315. },
  1316. // no restrictions, for serious (other than team preview)
  1317. ruleset: ['Team Preview', 'Cancel Mod'],
  1318. },
  1319.  
  1320. // US/UM Doubles
  1321. ///////////////////////////////////////////////////////////////////
  1322.  
  1323. {
  1324. section: "US/UM Doubles",
  1325. column: 3,
  1326. },
  1327. {
  1328. name: "[Gen 7] Doubles OU",
  1329. threads: [
  1330. `&bullet; <a href="https://www.smogon.com/forums/threads/3648227/">Doubles OU Metagame Discussion</a>`,
  1331. `&bullet; <a href="https://www.smogon.com/forums/threads/3623347/">Doubles OU Viability Rankings</a>`,
  1332. `&bullet; <a href="https://www.smogon.com/forums/threads/3645990/">Doubles OU Sample Teams</a>`,
  1333. ],
  1334.  
  1335. mod: 'gen7',
  1336. gameType: 'doubles',
  1337. ruleset: ['Standard Doubles', 'Swagger Clause'],
  1338. banlist: ['DUber', 'Power Construct', 'Eevium Z', 'Dark Void', 'Gravity ++ Grass Whistle', 'Gravity ++ Hypnosis', 'Gravity ++ Lovely Kiss', 'Gravity ++ Sing', 'Gravity ++ Sleep Powder'],
  1339. },
  1340. {
  1341. name: "[Gen 7] Doubles UU",
  1342. threads: [`&bullet; <a href="https://www.smogon.com/forums/threads/3598014/">Doubles UU Metagame Discussion</a>`],
  1343.  
  1344. mod: 'gen7',
  1345. gameType: 'doubles',
  1346. searchShow: false,
  1347. ruleset: ['[Gen 7] Doubles OU'],
  1348. banlist: ['DOU', 'DBL'],
  1349. },
  1350. {
  1351. name: "[Gen 7] VGC 2019 Ultra Series",
  1352. threads: [
  1353. `&bullet; <a href="https://www.smogon.com/forums/threads/3641100/">VGC 2019 Discussion</a>`,
  1354. `&bullet; <a href="https://www.smogon.com/forums/threads/3641123/">VGC 2019 Viability Rankings</a>`,
  1355. ],
  1356.  
  1357. mod: 'gen7',
  1358. gameType: 'doubles',
  1359. forcedLevel: 50,
  1360. teamLength: {
  1361. validate: [4, 6],
  1362. battle: 4,
  1363. },
  1364. ruleset: ['Minimal GBU', 'VGC Timer'],
  1365. banlist: ['Unown'],
  1366. minSourceGen: 7,
  1367. onValidateTeam(team) {
  1368. const legends = ['Mewtwo', 'Lugia', 'Ho-Oh', 'Kyogre', 'Groudon', 'Rayquaza', 'Dialga', 'Palkia', 'Giratina', 'Reshiram', 'Zekrom', 'Kyurem', 'Xerneas', 'Yveltal', 'Zygarde', 'Cosmog', 'Cosmoem', 'Solgaleo', 'Lunala', 'Necrozma'];
  1369. let n = 0;
  1370. for (const set of team) {
  1371. const baseSpecies = this.dex.getTemplate(set.species).baseSpecies;
  1372. if (legends.includes(baseSpecies)) n++;
  1373. if (n > 2) return [`You can only use up to two legendary Pok\u00E9mon.`];
  1374. }
  1375. },
  1376. },
  1377. {
  1378. name: "[Gen 7] VGC 2018",
  1379. threads: [
  1380. `&bullet; <a href="https://www.smogon.com/forums/threads/3631800/">VGC 2018 Discussion</a>`,
  1381. `&bullet; <a href="https://www.smogon.com/forums/threads/3622041/">VGC 2018 Viability Rankings</a>`,
  1382. `&bullet; <a href="https://www.smogon.com/forums/threads/3628885/">VGC 2018 Sample Teams</a>`,
  1383. ],
  1384.  
  1385. mod: 'gen7',
  1386. gameType: 'doubles',
  1387. searchShow: false,
  1388. forcedLevel: 50,
  1389. teamLength: {
  1390. validate: [4, 6],
  1391. battle: 4,
  1392. },
  1393. timer: {starting: 5 * 60, addPerTurn: 0, maxPerTurn: 55, maxFirstTurn: 90, grace: 90, timeoutAutoChoose: true, dcTimerBank: false},
  1394. ruleset: ['Standard GBU'],
  1395. banlist: ['Unown', 'Custap Berry', 'Enigma Berry', 'Jaboca Berry', 'Micle Berry', 'Rowap Berry'],
  1396. minSourceGen: 7,
  1397. },
  1398. {
  1399. name: "[Gen 7] VGC 2017",
  1400. threads: [
  1401. `&bullet; <a href="https://www.smogon.com/forums/threads/3583926/">VGC 2017 Discussion</a>`,
  1402. `&bullet; <a href="https://www.smogon.com/forums/threads/3591794/">VGC 2017 Viability Rankings</a>`,
  1403. `&bullet; <a href="https://www.smogon.com/forums/threads/3590391/">VGC 2017 Sample Teams</a>`,
  1404. ],
  1405.  
  1406. mod: 'vgc17',
  1407. gameType: 'doubles',
  1408. searchShow: false,
  1409. forcedLevel: 50,
  1410. teamLength: {
  1411. validate: [4, 6],
  1412. battle: 4,
  1413. },
  1414. timer: { starting: 15 * 60, addPerTurn: 0, maxPerTurn: 55, maxFirstTurn: 90, grace: 90, timeoutAutoChoose: true, dcTimerBank: false },
  1415. ruleset: ['Obtainable', 'Alola Pokedex', 'Species Clause', 'Nickname Clause', 'Item Clause', 'Team Preview', 'Cancel Mod'],
  1416. banlist: [
  1417. 'Solgaleo', 'Lunala', 'Necrozma', 'Magearna', 'Marshadow', 'Zygarde', 'Mega',
  1418. 'Custap Berry', 'Enigma Berry', 'Jaboca Berry', 'Micle Berry', 'Rowap Berry',
  1419. ],
  1420. minSourceGen: 7,
  1421. },
  1422. {
  1423. name: "[Gen 7] Battle Spot Doubles",
  1424. threads: [
  1425. `&bullet; <a href="https://www.smogon.com/forums/threads/3595001/">Battle Spot Doubles Discussion</a>`,
  1426. `&bullet; <a href="https://www.smogon.com/forums/threads/3593890/">Battle Spot Doubles Viability Rankings</a>`,
  1427. `&bullet; <a href="https://www.smogon.com/forums/threads/3595859/">Battle Spot Doubles Sample Teams</a>`,
  1428. ],
  1429.  
  1430. mod: 'gen7',
  1431. gameType: 'doubles',
  1432. searchShow: false,
  1433. maxForcedLevel: 50,
  1434. teamLength: {
  1435. validate: [4, 6],
  1436. battle: 4,
  1437. },
  1438. ruleset: ['Standard GBU'],
  1439. minSourceGen: 6,
  1440. },
  1441. {
  1442. name: "[Gen 7] Doubles Custom Game",
  1443.  
  1444. mod: 'gen7',
  1445. gameType: 'doubles',
  1446. searchShow: false,
  1447. maxLevel: 9999,
  1448. trunc(n) { return Math.trunc(n); },
  1449. defaultLevel: 100,
  1450. debug: true,
  1451. teamLength: {
  1452. validate: [2, 24],
  1453. battle: 24,
  1454. },
  1455. // no restrictions, for serious (other than team preview)
  1456. ruleset: ['Team Preview', 'Cancel Mod'],
  1457. },
  1458.  
  1459. // OR/AS Singles
  1460. ///////////////////////////////////////////////////////////////////
  1461.  
  1462. {
  1463. section: "OR/AS Singles",
  1464. column: 4,
  1465. },
  1466. {
  1467. name: "[Gen 6] Ubers",
  1468. threads: [
  1469. `&bullet; <a href="https://www.smogon.com/forums/posts/8286277/">ORAS Ubers</a>`,
  1470. ],
  1471.  
  1472. mod: 'gen6',
  1473. searchShow: false,
  1474. ruleset: ['Standard', 'Swagger Clause', 'Mega Rayquaza Clause'],
  1475. },
  1476. {
  1477. name: "[Gen 6] UU",
  1478. threads: [
  1479. `&bullet; <a href="https://www.smogon.com/dex/xy/tags/uu/">ORAS UU Banlist</a>`,
  1480. `&bullet; <a href="https://www.smogon.com/forums/threads/3598164/">ORAS UU Viability Rankings</a>`,
  1481. ],
  1482.  
  1483. mod: 'gen6',
  1484. searchShow: false,
  1485. ruleset: ['[Gen 6] OU'],
  1486. banlist: ['OU', 'UUBL', 'Drizzle', 'Drought'],
  1487. },
  1488. {
  1489. name: "[Gen 6] RU",
  1490. threads: [
  1491. `&bullet; <a href="https://www.smogon.com/dex/xy/tags/ru/">ORAS RU Banlist</a>`,
  1492. `&bullet; <a href="https://www.smogon.com/forums/threads/3574583/">ORAS RU Viability Rankings</a>`,
  1493. ],
  1494.  
  1495. mod: 'gen6',
  1496. searchShow: false,
  1497. ruleset: ['[Gen 6] UU'],
  1498. banlist: ['UU', 'RUBL'],
  1499. },
  1500. {
  1501. name: "[Gen 6] NU",
  1502. threads: [
  1503. `&bullet; <a href="https://www.smogon.com/dex/xy/tags/nu/">ORAS NU Banlist</a>`,
  1504. `&bullet; <a href="https://www.smogon.com/forums/threads/3555650/">ORAS NU Viability Rankings</a>`,
  1505. ],
  1506.  
  1507. mod: 'gen6',
  1508. searchShow: false,
  1509. ruleset: ['[Gen 6] RU'],
  1510. banlist: ['RU', 'NUBL'],
  1511. },
  1512. {
  1513. name: "[Gen 6] PU",
  1514. threads: [
  1515. `&bullet; <a href="https://www.smogon.com/dex/xy/tags/pu/">ORAS PU Banlist</a>`,
  1516. `&bullet; <a href="https://www.smogon.com/forums/threads/3528743/">ORAS PU Viability Rankings</a>`,
  1517. ],
  1518.  
  1519. mod: 'gen6',
  1520. searchShow: false,
  1521. ruleset: ['[Gen 6] NU'],
  1522. banlist: ['NU', 'PUBL', 'Chatter'],
  1523. },
  1524. {
  1525. name: "[Gen 6] LC",
  1526. threads: [
  1527. `&bullet; <a href="https://www.smogon.com/dex/xy/formats/lc/">ORAS LC Banlist</a>`,
  1528. `&bullet; <a href="https://www.smogon.com/forums/threads/3547566/">ORAS LC Viability Rankings</a>`,
  1529. ],
  1530.  
  1531. mod: 'gen6',
  1532. searchShow: false,
  1533. maxLevel: 5,
  1534. ruleset: ['Standard', 'Little Cup'],
  1535. banlist: ['LC Uber', 'Gligar', 'Misdreavus', 'Scyther', 'Sneasel', 'Tangela', 'Baton Pass', 'Dragon Rage', 'Sonic Boom', 'Swagger'],
  1536. },
  1537. {
  1538. name: "[Gen 6] Monotype",
  1539. desc: `All the Pok&eacute;mon on a team must share a type.`,
  1540. threads: [
  1541. `&bullet; <a href="https://www.smogon.com/forums/posts/7421332/">ORAS Monotype</a>`,
  1542. ],
  1543.  
  1544. mod: 'gen6',
  1545. searchShow: false,
  1546. ruleset: ['Standard', 'Swagger Clause', 'Same Type Clause'],
  1547. banlist: [
  1548. 'Aegislash', 'Altaria-Mega', 'Arceus', 'Blaziken', 'Charizard-Mega-X', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga',
  1549. 'Genesect', 'Gengar-Mega', 'Giratina', 'Greninja', 'Groudon', 'Ho-Oh', 'Hoopa-Unbound', 'Kangaskhan-Mega', 'Kyogre',
  1550. 'Kyurem-White', 'Lucario-Mega', 'Lugia', 'Mawile-Mega', 'Medicham-Mega', 'Metagross-Mega', 'Mewtwo', 'Palkia', 'Rayquaza',
  1551. 'Reshiram', 'Sableye-Mega', 'Salamence-Mega', 'Shaymin-Sky', 'Slowbro-Mega', 'Talonflame', 'Xerneas', 'Yveltal', 'Zekrom',
  1552. 'Shadow Tag', 'Damp Rock', 'Smooth Rock', 'Soul Dew', 'Baton Pass',
  1553. ],
  1554. },
  1555. {
  1556. name: "[Gen 6] Anything Goes",
  1557. threads: [
  1558. `&bullet; <a href="https://www.smogon.com/forums/threads/3523229/">ORAS Anything Goes</a>`,
  1559. `&bullet; <a href="https://www.smogon.com/forums/threads/3548945/">ORAS AG Resources</a>`,
  1560. ],
  1561.  
  1562. mod: 'gen6',
  1563. searchShow: false,
  1564. ruleset: ['Obtainable', 'Team Preview', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod'],
  1565. },
  1566. {
  1567. name: "[Gen 6] 1v1",
  1568. desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
  1569. threads: [
  1570. `&bullet; <a href="https://www.smogon.com/forums/posts/8031456/">ORAS 1v1</a>`,
  1571. ],
  1572.  
  1573. mod: 'gen6',
  1574. searchShow: false,
  1575. teamLength: {
  1576. validate: [1, 3],
  1577. battle: 1,
  1578. },
  1579. ruleset: ['Obtainable', 'Nickname Clause', 'Moody Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Accuracy Moves Clause', 'Swagger Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview'],
  1580. banlist: [
  1581. 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense',
  1582. 'Dialga', 'Giratina', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo',
  1583. 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom',
  1584. 'Focus Sash', 'Soul Dew', 'Perish Song',
  1585. ],
  1586. },
  1587. {
  1588. name: "[Gen 6] CAP",
  1589. threads: [
  1590. `&bullet; <a href="https://www.smogon.com/forums/threads/3537407/">ORAS CAP Metagame Discussion</a>`,
  1591. `&bullet; <a href="https://www.smogon.com/forums/threads/3545628/">ORAS CAP Viability Rankings</a>`,
  1592. `&bullet; <a href="https://www.smogon.com/forums/posts/5594694/">ORAS CAP Sample Teams</a>`,
  1593. ],
  1594.  
  1595. mod: 'gen6',
  1596. searchShow: false,
  1597. ruleset: ['[Gen 6] OU', '+CAP'],
  1598. },
  1599. {
  1600. name: "[Gen 6] Battle Spot Singles",
  1601. threads: [
  1602. `&bullet; <a href="https://www.smogon.com/forums/threads/3527960/">ORAS Battle Spot Singles</a>`,
  1603. `&bullet; <a href="https://www.smogon.com/forums/threads/3554616/">ORAS BSS Viability Rankings</a>`,
  1604. ],
  1605.  
  1606. mod: 'gen6',
  1607. searchShow: false,
  1608. maxForcedLevel: 50,
  1609. teamLength: {
  1610. validate: [3, 6],
  1611. battle: 3,
  1612. },
  1613. ruleset: ['Obtainable', 'Standard GBU'],
  1614. minSourceGen: 6,
  1615. },
  1616. {
  1617. name: "[Gen 6] Custom Game",
  1618.  
  1619. mod: 'gen6',
  1620. searchShow: false,
  1621. debug: true,
  1622. maxLevel: 9999,
  1623. trunc(n) { return Math.trunc(n); },
  1624. defaultLevel: 100,
  1625. // no restrictions, for serious (other than team preview)
  1626. ruleset: ['Team Preview', 'Cancel Mod'],
  1627. },
  1628.  
  1629. // OR/AS Doubles/Triples
  1630. ///////////////////////////////////////////////////////////////////
  1631.  
  1632. {
  1633. section: "OR/AS Doubles/Triples",
  1634. column: 4,
  1635. },
  1636. {
  1637. name: "[Gen 6] Doubles OU",
  1638. threads: [
  1639. `&bullet; <a href="https://www.smogon.com/forums/threads/3498688/">ORAS Doubles OU Banlist</a>`,
  1640. `&bullet; <a href="https://www.smogon.com/forums/threads/3535930/">ORAS Doubles OU Viability Rankings</a>`,
  1641. ],
  1642.  
  1643. mod: 'gen6',
  1644. gameType: 'doubles',
  1645. searchShow: false,
  1646. ruleset: ['Standard Doubles', 'Swagger Clause'],
  1647. banlist: ['DUber', 'Soul Dew', 'Dark Void', 'Gravity ++ Grass Whistle', 'Gravity ++ Hypnosis', 'Gravity ++ Lovely Kiss', 'Gravity ++ Sing', 'Gravity ++ Sleep Powder'],
  1648. },
  1649. {
  1650. name: "[Gen 6] VGC 2016",
  1651. threads: [
  1652. `&bullet; <a href="https://www.smogon.com/forums/threads/3558332/">VGC 2016 Rules</a>`,
  1653. `&bullet; <a href="https://www.smogon.com/forums/threads/3580592/">VGC 2016 Viability Rankings</a>`,
  1654. ],
  1655.  
  1656. mod: 'gen6',
  1657. gameType: 'doubles',
  1658. searchShow: false,
  1659. maxForcedLevel: 50,
  1660. teamLength: {
  1661. validate: [4, 6],
  1662. battle: 4,
  1663. },
  1664. ruleset: ['Obtainable', 'Species Clause', 'Nickname Clause', 'Item Clause', 'Team Preview', 'Cancel Mod'],
  1665. banlist: [
  1666. 'Mew', 'Celebi', 'Jirachi', 'Deoxys', 'Deoxys-Attack', 'Deoxys-Defense', 'Deoxys-Speed', 'Phione', 'Manaphy', 'Darkrai',
  1667. 'Shaymin', 'Shaymin-Sky', 'Arceus', 'Victini', 'Keldeo', 'Meloetta', 'Genesect', 'Diancie', 'Hoopa', 'Hoopa-Unbound', 'Volcanion', 'Soul Dew',
  1668. ],
  1669. minSourceGen: 6,
  1670. onValidateTeam(team) {
  1671. const legends = ['Mewtwo', 'Lugia', 'Ho-Oh', 'Kyogre', 'Groudon', 'Rayquaza', 'Dialga', 'Palkia', 'Giratina', 'Reshiram', 'Zekrom', 'Kyurem', 'Xerneas', 'Yveltal', 'Zygarde'];
  1672. let n = 0;
  1673. for (const set of team) {
  1674. let baseSpecies = this.dex.getTemplate(set.species).baseSpecies;
  1675. if (legends.includes(baseSpecies)) n++;
  1676. if (n > 2) return ["You can only use up to two legendary Pok\u00E9mon."];
  1677. }
  1678. },
  1679. },
  1680. {
  1681. name: "[Gen 6] Battle Spot Doubles",
  1682. threads: [
  1683. `&bullet; <a href="https://www.smogon.com/forums/threads/3560820/">ORAS Battle Spot Doubles Discussion</a>`,
  1684. `&bullet; <a href="https://www.smogon.com/forums/threads/3560824/">ORAS BSD Viability Rankings</a>`,
  1685. ],
  1686.  
  1687. mod: 'gen6',
  1688. gameType: 'doubles',
  1689. searchShow: false,
  1690. maxForcedLevel: 50,
  1691. teamLength: {
  1692. validate: [4, 6],
  1693. battle: 4,
  1694. },
  1695. ruleset: ['Standard GBU'],
  1696. minSourceGen: 6,
  1697. },
  1698. {
  1699. name: "[Gen 6] Doubles Custom Game",
  1700.  
  1701. mod: 'gen6',
  1702. gameType: 'doubles',
  1703. searchShow: false,
  1704. maxLevel: 9999,
  1705. trunc(n) { return Math.trunc(n); },
  1706. defaultLevel: 100,
  1707. debug: true,
  1708. // no restrictions, for serious (other than team preview)
  1709. ruleset: ['Team Preview', 'Cancel Mod'],
  1710. },
  1711. {
  1712. name: "[Gen 6] Battle Spot Triples",
  1713. threads: [
  1714. `&bullet; <a href="https://www.smogon.com/forums/threads/3533914/">ORAS Battle Spot Triples Discussion</a>`,
  1715. `&bullet; <a href="https://www.smogon.com/forums/threads/3549201/">ORAS BST Viability Rankings</a>`,
  1716. ],
  1717.  
  1718. mod: 'gen6',
  1719. gameType: 'triples',
  1720. searchShow: false,
  1721. maxForcedLevel: 50,
  1722. teamLength: {
  1723. validate: [6, 6],
  1724. },
  1725. ruleset: ['Standard GBU'],
  1726. minSourceGen: 6,
  1727. },
  1728. {
  1729. name: "[Gen 6] Triples Custom Game",
  1730.  
  1731. mod: 'gen6',
  1732. gameType: 'triples',
  1733. searchShow: false,
  1734. maxLevel: 9999,
  1735. trunc(n) { return Math.trunc(n); },
  1736. defaultLevel: 100,
  1737. debug: true,
  1738. // no restrictions, for serious (other than team preview)
  1739. ruleset: ['Team Preview', 'Cancel Mod'],
  1740. },
  1741.  
  1742. // B2/W2 Singles
  1743. ///////////////////////////////////////////////////////////////////
  1744.  
  1745. {
  1746. section: "B2/W2 Singles",
  1747. column: 4,
  1748. },
  1749. {
  1750. name: "[Gen 5] Ubers",
  1751. threads: [
  1752. `&bullet; <a href="https://www.smogon.com/forums/posts/8286278/">BW2 Ubers</a>`,
  1753. ],
  1754.  
  1755. mod: 'gen5',
  1756. searchShow: false,
  1757. ruleset: ['Standard', '!Evasion Moves Clause'],
  1758. },
  1759. {
  1760. name: "[Gen 5] UU",
  1761. threads: [
  1762. `&bullet; <a href="https://www.smogon.com/forums/threads/3474024/">BW2 UU Viability Ranking</a>`,
  1763. `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
  1764. ],
  1765.  
  1766. mod: 'gen5',
  1767. searchShow: false,
  1768. ruleset: ['Standard', 'Evasion Abilities Clause', 'Baton Pass Clause', 'Swagger Clause', 'Sleep Clause Mod'],
  1769. banlist: ['Uber', 'OU', 'UUBL', 'Arena Trap', 'Drought', 'Sand Stream', 'Snow Warning'],
  1770. },
  1771. {
  1772. name: "[Gen 5] RU",
  1773. threads: [
  1774. `&bullet; <a href="https://www.smogon.com/forums/threads/3473124/">BW2 RU Viability Ranking</a>`,
  1775. `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
  1776. ],
  1777.  
  1778. mod: 'gen5',
  1779. searchShow: false,
  1780. ruleset: ['[Gen 5] UU'],
  1781. banlist: ['UU', 'RUBL', 'Shell Smash + Baton Pass'],
  1782. },
  1783. {
  1784. name: "[Gen 5] NU",
  1785. threads: [
  1786. `&bullet; <a href="https://www.smogon.com/forums/threads/3484121/">BW2 NU Viability Ranking</a>`,
  1787. `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
  1788. ],
  1789.  
  1790. mod: 'gen5',
  1791. searchShow: false,
  1792. ruleset: ['[Gen 5] RU'],
  1793. banlist: ['RU', 'NUBL', 'Prankster + Assist'],
  1794. },
  1795. {
  1796. name: "[Gen 5] PU",
  1797. threads: [
  1798. `&bullet; <a href="https://www.smogon.com/forums/posts/7326932/">BW2 PU Information & Resources</a>`,
  1799. ],
  1800.  
  1801. mod: 'gen5',
  1802. searchShow: false,
  1803. ruleset: ['[Gen 5] NU'],
  1804. banlist: [
  1805. 'Alomomola', 'Altaria', 'Ampharos', 'Armaldo', 'Basculin', 'Bastiodon', 'Braviary', 'Cacturne', 'Camerupt',
  1806. 'Carracosta', 'Charizard', 'Combusken', 'Cradily', 'Ditto', 'Drifblim', 'Eelektross', 'Electabuzz', 'Electrode',
  1807. 'Exeggutor', 'Floatzel', 'Garbodor', 'Gardevoir', 'Gigalith', 'Golbat', 'Golem', 'Golurk', 'Gorebyss', 'Gurdurr',
  1808. 'Haunter', 'Jynx', 'Kadabra', 'Kangaskhan', 'Lapras', 'Lickilicky', 'Liepard', 'Linoone', 'Ludicolo', 'Mandibuzz',
  1809. 'Metang', 'Miltank', 'Misdreavus', 'Musharna', 'Ninjask', 'Piloswine', 'Pinsir', 'Primeape', 'Probopass', 'Regice',
  1810. 'Regirock', 'Roselia', 'Rotom-Fan', 'Rotom-Frost', 'Samurott', 'Sawk', 'Sawsbuck', 'Scolipede', 'Seismitoad',
  1811. 'Serperior', 'Skuntank', 'Swellow', 'Tangela', 'Tauros', 'Torkoal', 'Wartortle', 'Weezing', 'Zangoose',
  1812. ],
  1813. },
  1814. {
  1815. name: "[Gen 5] LC",
  1816. threads: [
  1817. `&bullet; <a href="https://www.smogon.com/forums/threads/3485860/">BW2 LC Viability Ranking</a>`,
  1818. `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
  1819. ],
  1820.  
  1821. mod: 'gen5',
  1822. searchShow: false,
  1823. maxLevel: 5,
  1824. ruleset: ['Standard', 'Little Cup'],
  1825. banlist: ['Berry Juice', 'Soul Dew', 'Dragon Rage', 'Sonic Boom', 'LC Uber', 'Sand Rush', 'Gligar', 'Murkrow', 'Scyther', 'Sneasel', 'Tangela'],
  1826. },
  1827. {
  1828. name: "[Gen 5] Monotype",
  1829. desc: `All the Pok&eacute;mon on a team must share a type.`,
  1830. threads: [
  1831. `&bullet; <a href="https://www.smogon.com/forums/posts/7421333/">BW Monotype</a>`,
  1832. ],
  1833.  
  1834. mod: 'gen5',
  1835. searchShow: false,
  1836. ruleset: ['[Gen 5] OU', 'Same Type Clause'],
  1837. },
  1838. {
  1839. name: "[Gen 5] 1v1",
  1840. desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
  1841. threads: [
  1842. `&bullet; <a href="https://www.smogon.com/forums/posts/8031457/">BW 1v1</a>`,
  1843. ],
  1844.  
  1845. mod: 'gen5',
  1846. searchShow: false,
  1847. teamLength: {
  1848. validate: [1, 3],
  1849. battle: 1,
  1850. },
  1851. ruleset: ['Standard', 'Baton Pass Clause', 'Swagger Clause'],
  1852. banlist: ['Uber', 'Whimsicott', 'Focus Sash', 'Soul Dew', 'Perish Song'],
  1853. unbanlist: ['Genesect', 'Landorus', 'Manaphy', 'Thundurus', 'Tornadus-Therian'],
  1854. },
  1855. {
  1856. name: "[Gen 5] GBU Singles",
  1857.  
  1858. mod: 'gen5',
  1859. searchShow: false,
  1860. maxForcedLevel: 50,
  1861. teamLength: {
  1862. validate: [3, 6],
  1863. battle: 3,
  1864. },
  1865. ruleset: ['Standard GBU'],
  1866. banlist: ['Dark Void', 'Sky Drop'],
  1867. },
  1868. {
  1869. name: "[Gen 5] Custom Game",
  1870.  
  1871. mod: 'gen5',
  1872. searchShow: false,
  1873. debug: true,
  1874. maxLevel: 9999,
  1875. trunc(n) { return Math.trunc(n); },
  1876. defaultLevel: 100,
  1877. // no restrictions, for serious (other than team preview)
  1878. ruleset: ['Team Preview', 'Cancel Mod'],
  1879. },
  1880.  
  1881. // B2/W2 Doubles
  1882. ///////////////////////////////////////////////////////////////////
  1883.  
  1884. {
  1885. section: 'B2/W2 Doubles',
  1886. column: 4,
  1887. },
  1888. {
  1889. name: "[Gen 5] Doubles OU",
  1890. threads: [
  1891. `&bullet; <a href="https://www.smogon.com/forums/threads/3533424/">BW2 Doubles Metagame Discussion</a>`,
  1892. `&bullet; <a href="https://www.smogon.com/forums/threads/3533421/">BW2 Doubles Viability Ranking</a>`,
  1893. ],
  1894.  
  1895. mod: 'gen5',
  1896. gameType: 'doubles',
  1897. searchShow: false,
  1898. ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
  1899. banlist: ['DUber', 'Soul Dew', 'Dark Void', 'Sky Drop'],
  1900. },
  1901. {
  1902. name: "[Gen 5] GBU Doubles",
  1903.  
  1904. mod: 'gen5',
  1905. gameType: 'doubles',
  1906. searchShow: false,
  1907. maxForcedLevel: 50,
  1908. teamLength: {
  1909. validate: [4, 6],
  1910. battle: 4,
  1911. },
  1912. ruleset: ['Standard GBU'],
  1913. banlist: ['Dark Void', 'Sky Drop'],
  1914. },
  1915. {
  1916. name: "[Gen 5] Doubles Custom Game",
  1917.  
  1918. mod: 'gen5',
  1919. gameType: 'doubles',
  1920. searchShow: false,
  1921. debug: true,
  1922. maxLevel: 9999,
  1923. trunc(n) { return Math.trunc(n); },
  1924. defaultLevel: 100,
  1925. // no restrictions, for serious (other than team preview)
  1926. ruleset: ['Team Preview', 'Cancel Mod'],
  1927. },
  1928. {
  1929. name: "[Gen 5] Triples Custom Game",
  1930.  
  1931. mod: 'gen5',
  1932. gameType: 'triples',
  1933. searchShow: false,
  1934. debug: true,
  1935. maxLevel: 9999,
  1936. trunc(n) { return Math.trunc(n); },
  1937. defaultLevel: 100,
  1938. // no restrictions, for serious (other than team preview)
  1939. ruleset: ['Team Preview', 'Cancel Mod'],
  1940. },
  1941.  
  1942. // DPP Singles
  1943. ///////////////////////////////////////////////////////////////////
  1944.  
  1945. {
  1946. section: "DPP Singles",
  1947. column: 5,
  1948. },
  1949. {
  1950. name: "[Gen 4] Ubers",
  1951. threads: [
  1952. `&bullet; <a href="https://www.smogon.com/forums/posts/8286279/">DPP Ubers</a>`,
  1953. ],
  1954.  
  1955. mod: 'gen4',
  1956. searchShow: false,
  1957. ruleset: ['Standard', 'Arceus EV Limit'],
  1958. },
  1959. {
  1960. name: "[Gen 4] UU",
  1961. threads: [
  1962. `&bullet; <a href="https://www.smogon.com/forums/threads/3532624/">DPP UU Metagame Discussion</a>`,
  1963. `&bullet; <a href="https://www.smogon.com/forums/threads/3503638/">DPP UU Viability Ranking</a>`,
  1964. ],
  1965.  
  1966. mod: 'gen4',
  1967. searchShow: false,
  1968. ruleset: ['[Gen 4] OU'],
  1969. banlist: ['OU', 'UUBL'],
  1970. unbanlist: ['Sand Veil'],
  1971. },
  1972. {
  1973. name: "[Gen 4] NU",
  1974. threads: [
  1975. `&bullet; <a href="https://www.smogon.com/forums/threads/3583742/">DPP NU Metagame Discussion</a>`,
  1976. `&bullet; <a href="https://www.smogon.com/forums/threads/dpp-nu-viability-ranking.3512254/">DPP NU Viability Ranking</a>`,
  1977. ],
  1978.  
  1979. mod: 'gen4',
  1980. searchShow: false,
  1981. ruleset: ['[Gen 4] UU'],
  1982. banlist: ['UU', 'NUBL'],
  1983. },
  1984. {
  1985. name: "[Gen 4] PU",
  1986. threads: [
  1987. `&bullet; <a href="https://www.smogon.com/forums/posts/7260264/">DPP PU Information & Resources</a>`,
  1988. ],
  1989.  
  1990. mod: 'gen4',
  1991. searchShow: false,
  1992. ruleset: ['[Gen 4] NU'],
  1993. banlist: [
  1994. 'Articuno', 'Cacturne', 'Charizard', 'Cradily', 'Dodrio', 'Drifblim', 'Dusclops', 'Electrode',
  1995. 'Floatzel', 'Gardevoir', 'Gligar', 'Golem', 'Grumpig', 'Haunter', 'Hitmonchan', 'Hypno', 'Jumpluff',
  1996. 'Jynx', 'Lickilicky', 'Linoone', 'Magmortar', 'Magneton', 'Manectric', 'Medicham', 'Meganium', 'Nidoqueen',
  1997. 'Ninetales', 'Piloswine', 'Poliwrath', 'Porygon2', 'Regice', 'Regirock', 'Roselia', 'Sandslash',
  1998. 'Sharpedo', 'Shiftry', 'Skuntank', 'Slowking', 'Tauros', 'Typhlosion', 'Venomoth', 'Vileplume',
  1999. ],
  2000. },
  2001. {
  2002. name: "[Gen 4] LC",
  2003. threads: [
  2004. `&bullet; <a href="https://www.smogon.com/dp/articles/little_cup_guide">DPP LC Guide</a>`,
  2005. `&bullet; <a href="https://www.smogon.com/forums/posts/7336500/">DPP LC Viability Ranking</a>`,
  2006. ],
  2007.  
  2008. mod: 'gen4',
  2009. searchShow: false,
  2010. maxLevel: 5,
  2011. ruleset: ['Standard', 'Little Cup'],
  2012. banlist: [
  2013. 'LC Uber', 'Misdreavus', 'Murkrow', 'Scyther', 'Sneasel', 'Tangela', 'Yanma',
  2014. 'Berry Juice', 'Deep Sea Tooth', 'Dragon Rage', 'Hypnosis', 'Sonic Boom',
  2015. ],
  2016. },
  2017. {
  2018. name: "[Gen 4] Anything Goes",
  2019.  
  2020. mod: 'gen4',
  2021. searchShow: false,
  2022. ruleset: ['Obtainable', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod'],
  2023. },
  2024. {
  2025. name: "[Gen 4] 1v1",
  2026. desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
  2027. threads: [
  2028. `&bullet; <a href="https://www.smogon.com/forums/posts/8031458/">DPP 1v1</a>`,
  2029. ],
  2030.  
  2031. mod: 'gen4',
  2032. searchShow: false,
  2033. teamLength: {
  2034. validate: [1, 3],
  2035. battle: 1,
  2036. },
  2037. ruleset: ['[Gen 4] OU', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview'],
  2038. banlist: ['Latias', 'Porygon-Z', 'Focus Sash', 'Destiny Bond', 'Explosion', 'Perish Song', 'Self-Destruct'],
  2039. unbanlist: ['Wobbuffet', 'Wynaut', 'Sand Veil'],
  2040. },
  2041. {
  2042. name: "[Gen 4] Custom Game",
  2043.  
  2044. mod: 'gen4',
  2045. searchShow: false,
  2046. debug: true,
  2047. maxLevel: 9999,
  2048. trunc(n) { return Math.trunc(n); },
  2049. defaultLevel: 100,
  2050. // no restrictions
  2051. ruleset: ['Cancel Mod'],
  2052. },
  2053.  
  2054. // DPP Doubles
  2055. ///////////////////////////////////////////////////////////////////
  2056.  
  2057. {
  2058. section: "DPP Doubles",
  2059. column: 5,
  2060. },
  2061. {
  2062. name: "[Gen 4] Doubles OU",
  2063. threads: [`&bullet; <a href="https://www.smogon.com/forums/threads/3618411/">DPP Doubles</a>`],
  2064.  
  2065. mod: 'gen4',
  2066. gameType: 'doubles',
  2067. searchShow: false,
  2068. ruleset: ['[Gen 4] OU'],
  2069. banlist: ['Explosion'],
  2070. unbanlist: ['Garchomp', 'Latias', 'Latios', 'Manaphy', 'Mew', 'Salamence', 'Wobbuffet', 'Wynaut'],
  2071. },
  2072. {
  2073. name: "[Gen 4] Doubles Custom Game",
  2074.  
  2075. mod: 'gen4',
  2076. gameType: 'doubles',
  2077. searchShow: false,
  2078. debug: true,
  2079. maxLevel: 9999,
  2080. trunc(n) { return Math.trunc(n); },
  2081. defaultLevel: 100,
  2082. // no restrictions
  2083. ruleset: ['Cancel Mod'],
  2084. },
  2085.  
  2086. // Past Generations
  2087. ///////////////////////////////////////////////////////////////////
  2088.  
  2089. {
  2090. section: "Past Generations",
  2091. column: 5,
  2092. },
  2093. {
  2094. name: "[Gen 3] Ubers",
  2095. threads: [
  2096. `&bullet; <a href="https://www.smogon.com/forums/posts/8286280/">ADV Ubers</a>`,
  2097. ],
  2098.  
  2099. mod: 'gen3',
  2100. searchShow: false,
  2101. ruleset: ['Standard'],
  2102. banlist: ['Wobbuffet + Leftovers'],
  2103. },
  2104. {
  2105. name: "[Gen 3] UU",
  2106. threads: [
  2107. `&bullet; <a href="https://www.smogon.com/forums/threads/3585923/">ADV UU Metagame Discussion</a>`,
  2108. `&bullet; <a href="https://www.smogon.com/forums/threads/3548578/">ADV UU Viability Rankings</a>`,
  2109. ],
  2110.  
  2111. mod: 'gen3',
  2112. searchShow: false,
  2113. ruleset: ['Standard'],
  2114. banlist: ['Uber', 'OU', 'UUBL', 'Smeargle + Ingrain'],
  2115. },
  2116. {
  2117. name: "[Gen 3] NU",
  2118. threads: [
  2119. `&bullet; <a href="https://www.smogon.com/forums/threads/3503540/">ADV NU Viability Rankings</a>`,
  2120. ],
  2121.  
  2122. mod: 'gen3',
  2123. searchShow: false,
  2124. ruleset: ['[Gen 3] UU'],
  2125. banlist: ['UU'],
  2126. },
  2127. {
  2128. name: "[Gen 3] 1v1",
  2129. desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
  2130. threads: [
  2131. `&bullet; <a href="https://www.smogon.com/forums/posts/8031458/">ADV 1v1</a>`,
  2132. ],
  2133.  
  2134. mod: 'gen3',
  2135. searchShow: false,
  2136. teamLength: {
  2137. validate: [1, 3],
  2138. battle: 1,
  2139. },
  2140. ruleset: ['[Gen 3] OU', 'Accuracy Moves Clause', 'Team Preview'],
  2141. banlist: ['Slaking', 'Snorlax', 'Suicune', 'Destiny Bond', 'Explosion', 'Ingrain', 'Perish Song', 'Self-Destruct'],
  2142. },
  2143. {
  2144. name: "[Gen 3] Custom Game",
  2145.  
  2146. mod: 'gen3',
  2147. searchShow: false,
  2148. debug: true,
  2149. maxLevel: 9999,
  2150. trunc(n) { return Math.trunc(n); },
  2151. defaultLevel: 100,
  2152. ruleset: ['HP Percentage Mod', 'Cancel Mod'],
  2153. },
  2154. {
  2155. name: "[Gen 3] Doubles Custom Game",
  2156.  
  2157. mod: 'gen3',
  2158. gameType: 'doubles',
  2159. searchShow: false,
  2160. debug: true,
  2161. ruleset: ['HP Percentage Mod', 'Cancel Mod'],
  2162. },
  2163. {
  2164. name: "[Gen 2] Ubers",
  2165. threads: [
  2166. `&bullet; <a href="https://www.smogon.com/forums/posts/8286282/">GSC Ubers</a>`,
  2167. ],
  2168.  
  2169. mod: 'gen2',
  2170. searchShow: false,
  2171. ruleset: ['Standard'],
  2172. },
  2173. {
  2174. name: "[Gen 2] Custom Game",
  2175.  
  2176. mod: 'gen2',
  2177. searchShow: false,
  2178. debug: true,
  2179. maxLevel: 9999,
  2180. trunc(n) { return Math.trunc(n); },
  2181. defaultLevel: 100,
  2182. ruleset: ['HP Percentage Mod', 'Cancel Mod'],
  2183. },
  2184. {
  2185. name: "[Gen 1] Ubers",
  2186. threads: [
  2187. `&bullet; <a href="https://www.smogon.com/forums/posts/8286283/">RBY Ubers</a>`,
  2188. ],
  2189.  
  2190. mod: 'gen1',
  2191. searchShow: false,
  2192. ruleset: ['Standard'],
  2193. },
  2194. {
  2195. name: "[Gen 1] UU",
  2196. threads: [
  2197. `&bullet; <a href="https://www.smogon.com/forums/threads/3573896/">RBY UU General Discussion</a>`,
  2198. `&bullet; <a href="https://www.smogon.com/forums/threads/3647713/">RBY UU Viability Ranking</a>`,
  2199. ],
  2200.  
  2201. mod: 'gen1',
  2202. searchShow: false,
  2203. ruleset: ['[Gen 1] OU'],
  2204. banlist: ['OU', 'UUBL'],
  2205. },
  2206. {
  2207. name: "[Gen 1] OU (Tradeback)",
  2208. desc: `RBY OU with movepool additions from the Time Capsule.`,
  2209. threads: [
  2210. `&bullet; <a href="https://www.smogon.com/articles/rby-tradebacks-ou">Information</a>`,
  2211. ],
  2212.  
  2213. mod: 'gen1',
  2214. searchShow: false,
  2215. ruleset: ['Obtainable', 'Allow Tradeback', 'Sleep Clause Mod', 'Freeze Clause Mod', 'Species Clause', 'OHKO Clause', 'Evasion Moves Clause', 'HP Percentage Mod', 'Cancel Mod'],
  2216. banlist: ['Uber',
  2217. 'Nidoking + Fury Attack + Thrash', 'Exeggutor + Poison Powder + Stomp', 'Exeggutor + Sleep Powder + Stomp',
  2218. 'Exeggutor + Stun Spore + Stomp', 'Jolteon + Focus Energy + Thunder Shock', 'Flareon + Focus Energy + Ember',
  2219. ],
  2220. },
  2221. {
  2222. name: "[Gen 1] Stadium OU",
  2223.  
  2224. mod: 'stadium',
  2225. searchShow: false,
  2226. ruleset: ['Standard', 'Team Preview'],
  2227. banlist: ['Uber',
  2228. 'Nidoking + Fury Attack + Thrash', 'Exeggutor + Poison Powder + Stomp', 'Exeggutor + Sleep Powder + Stomp',
  2229. 'Exeggutor + Stun Spore + Stomp', 'Jolteon + Focus Energy + Thunder Shock', 'Flareon + Focus Energy + Ember',
  2230. ],
  2231. },
  2232. {
  2233. name: "[Gen 1] Custom Game",
  2234.  
  2235. mod: 'gen1',
  2236. searchShow: false,
  2237. debug: true,
  2238. maxLevel: 9999,
  2239. trunc(n) { return Math.trunc(n); },
  2240. defaultLevel: 100,
  2241. ruleset: ['HP Percentage Mod', 'Cancel Mod'],
  2242. },
  2243. ];
  2244.  
  2245. // code for easily merging in staffbros.
  2246. const SSBscripts = require("../data/mods/assb_iii/scripts.js").BattleScripts;
  2247. const SSBtemplate = {
  2248. name: "[Gen 7] Azure Super Staff Bros. III",
  2249.  
  2250. searchShow: true,
  2251. mod: 'assb_iii',
  2252. team: 'randomStaffBros',
  2253. ruleset: ['Sleep Clause Mod', 'HP Percentage Mod', 'Cancel Mod'],
  2254. };
  2255.  
  2256. let SSBbase;
  2257.  
  2258. // SSB singles
  2259. SSBbase = Object.assign({}, SSBtemplate); // deep clone
  2260. for (let script in SSBscripts) {
  2261. if (script.indexOf("on") === 0) {
  2262. SSBbase[script] = SSBscripts[script]; // merge the scripts
  2263. }
  2264. }
  2265.  
  2266. let SSBDoubles = Object.assign({}, SSBbase);
  2267. SSBDoubles.gameType = "doubles";
  2268. SSBDoubles.name = "[Gen 7] Azure Super Staff Bros. III Doubles";
  2269.  
  2270. let SSBteamBuild = Object.assign({}, SSBbase);
  2271. SSBteamBuild.name = "[Gen 7] Azure Super Staff Bros. III Teambuilding";
  2272. SSBteamBuild.team = "randomStaffBros2";
  2273.  
  2274. let SSBcc1v1 = Object.assign({}, SSBbase);
  2275. SSBcc1v1.name = "[Gen 7] Azure Super Staff Bros. III Challenge Cup 1v1";
  2276. SSBcc1v1.teamLength = {
  2277. battle: 1,
  2278. };
  2279. SSBcc1v1.ruleset = ['Sleep Clause Mod', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview'];
  2280.  
  2281. const AzureFormats = [
  2282. {
  2283. section: "ASSB III",
  2284. column: 4,
  2285. },
  2286. SSBbase, SSBDoubles, SSBteamBuild, SSBcc1v1,
  2287. {
  2288. section: "Azuremons",
  2289. column: 4,
  2290. },
  2291. {
  2292. name: "[Gen 8] Azuremons Random Battle",
  2293.  
  2294. mod: 'azuremons',
  2295. team: 'randomAzureMons',
  2296. ruleset: ['PotD', 'Sleep Clause Mod', 'HP Percentage Mod', 'Cancel Mod', 'Dynamax Clause'],
  2297. },
  2298. {
  2299. name: "[Gen 8] Azuremons Challenge Cup 1v1",
  2300.  
  2301. mod: 'azuremons',
  2302. team: 'randomAzureMons',
  2303. teamLength: {
  2304. battle: 1,
  2305. },
  2306. ruleset: ['Obtainable', 'Sleep Clause Mod', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview', 'Dynamax Clause'],
  2307. },
  2308. {
  2309. section: "Dual Type",
  2310. column: 4,
  2311. },
  2312. {
  2313. name: "[Gen 8] Dual Type",
  2314. desc: ["All Pok&eacute;mon on a team to share, at least, one of two types."],
  2315.  
  2316. mod: 'gen8',
  2317. ruleset: ['Obtainable', 'Standard', 'Dual Type Clause', 'Team Preview', 'Cancel Mod', '+Past', 'NatDex Rule', 'Dynamax Clause'],
  2318. banlist: ['Eternatus', 'Zacian', 'Zamazenta', 'Damp Rock', 'Smooth Rock', 'Shadow Tag', 'Baton Pass', 'Zacian-Crowned'],
  2319. onValidateTeam(team) {
  2320. const dualTypeUbers = ['Arceus', 'Blaziken-Mega', 'Darkrai', 'Deoxys-Attack', 'Deoxys-Speed', 'Dialga', 'Genesect', 'Giratina', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lucario-Mega', 'Lugia', 'Lunala', 'Marshadow', 'Metagross-Mega', 'Mewtwo', 'Naganadel', 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Solgaleo', 'Yveltal', 'Zekrom', 'Zygarde'];
  2321. const dualTypeSpecial = ['Arceus', 'Giratina'];
  2322. let n = 0;
  2323.  
  2324. for (const set of team) {
  2325. const setSpecies = set.species;
  2326. if (dualTypeUbers.includes(setSpecies) || dualTypeSpecial.includes(set.name)) {
  2327. if (n > 0) return 'You can not have more than one Dual Type Uber on your team!';
  2328. n++;
  2329. }
  2330. }
  2331. },
  2332. },
  2333. {
  2334. name: "[Gen 7] Dual Type",
  2335. desc: ["All Pok&eacute;mon on a team to share, at least, one of two types."],
  2336.  
  2337. mod: 'gen7',
  2338. ruleset: ['Obtainable', 'Standard', 'Dual Type Clause', 'Team Preview', 'Cancel Mod'],
  2339. banlist: [
  2340. 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Necrozma Ultra', 'Rayquaza-Mega', 'Xerneas', 'Zygarde-Complete',
  2341. 'Lunalium Z', 'Solganium Z', 'Ultranecrozium Z', 'Red Orb', 'Blue Orb',
  2342. 'Dragon Ascent',
  2343. 'Protean', 'Power Construct',
  2344. ],
  2345. onValidateTeam(team) {
  2346. const dualTypeUbers = ['Arceus', 'Blaziken-Mega', 'Darkrai', 'Deoxys-Attack', 'Deoxys-Speed', 'Dialga', 'Genesect', 'Giratina', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lucario-Mega', 'Lugia', 'Lunala', 'Marshadow', 'Metagross-Mega', 'Mewtwo', 'Naganadel', 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Solgaleo', 'Yveltal', 'Zekrom', 'Zygarde'];
  2347. const dualTypeSpecial = ['Arceus', 'Giratina'];
  2348. let n = 0;
  2349.  
  2350. for (const set of team) {
  2351. const setSpecies = set.species;
  2352. if (dualTypeUbers.includes(setSpecies) || dualTypeSpecial.includes(set.name)) {
  2353. if (n > 0) return 'You can not have more than one Dual Type Uber on your team!';
  2354. n++;
  2355. }
  2356. }
  2357. },
  2358. },
  2359. {
  2360. section: "Digmon Metas",
  2361. column: 4,
  2362. },
  2363. {
  2364. name: "[Digimon] Digimon Showdown Singles",
  2365. desc: ["Battle and play with your friends with Digimon."],
  2366.  
  2367. mod: "digimon",
  2368. team: "randomDigimon",
  2369. ruleset: ['Cancel Mod', 'HP Percentage Mod', 'Team Preview'],
  2370. onBegin() {
  2371. this.add('raw', '<center><table style="background-color: #ffffff; border-color: #111111;" border="4"><tbody><tr><td style="text-align: center;"><table style="width: 266px; background-color: #111111; margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center; width: 264px;"><span style="color: white;">Digimon Showdown Players Guide</span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;">[A Digimon Fan Game]</td></tr><tr><td style="text-align: center;"><strong><span style="font-size: small;">DIGIMON TYPES &amp;&nbsp;ABILITIES</span></strong><br /><img src="https://i.imgur.com/YoKqiC3.png" alt="" width="105" height="30" /><br />[Stat Hovering Does Not Work]</td></tr><tr><td style="text-align: center;"><table style="height: 28px; border-color: #111111; margin-left: auto; margin-right: auto;" border="0" width="267"><tbody><tr><td style="width: 94px; text-align: center;"><span style="font-size: small;"><a title="Digimon Showdown Type Chart" href="https://i.imgur.com/cHTB3Tn.png" target="_blank" rel="noopener"><strong>Types/Ability Chart</strong></a></span></td><td style="width: 82px;"><span style="font-size: small;"><strong><a href="http://azure.psim.us/digimondatabase">Database</a></strong></span></td><td style="text-align: center; width: 69px;"><span style="font-size: small;"><strong><a href="https://discord.gg/xGVJe6y" target="_blank" rel="noopener">Discord</a></strong></span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;"><span style="font-size: small;"><a href="https://1drv.ms/w/s!AvoD6RnUzzMvg3NC7OWJVkWHNZ-t" target="_blank" rel="noopener">Digimon Showdown Credits</a></span></td></tr><tr><td style="text-align: center;"><table style="width: 267px; background-color: #111111; margin-left: auto; margin-right: auto;"><tbody><tr><td style="width: 259px;"><span style="color: white;">Official Digimon Media</span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;"><table style="height: 26px; margin-left: auto; margin-right: auto;" border="0" width="265"><tbody><tr><td style="width: 119px;"><a href="https://wikimon.net/List_of_Video_Games" target="_blank" rel="noopener"><span style="font-size: small;">Game List</span></a></td><td style="width: 130px;"><a href="https://wikimon.net/Category:Anime" target="_blank" rel="noopener"><span style="font-size: small;">Anime List</span></a></td></tr></tbody></table></td></tr></tbody></table></center>');
  2372. },
  2373. onSwitchIn(pokemon) {
  2374. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2375. },
  2376. onAfterMega(pokemon) {
  2377. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2378. },
  2379. onUpdate(pokemon) {
  2380. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2381. },
  2382. },
  2383. {
  2384. name: "[Digimon] Digimon Showdown Doubles",
  2385. desc: ["Battle and play with your friends with Digimon."],
  2386.  
  2387. mod: "digimon",
  2388. gameType: 'doubles',
  2389. team: "randomDigimon",
  2390. ruleset: ['Cancel Mod', 'HP Percentage Mod', 'Team Preview'],
  2391. onBegin() {
  2392. this.add('raw', '<center><table style="background-color: #ffffff; border-color: #111111;" border="4"><tbody><tr><td style="text-align: center;"><table style="width: 266px; background-color: #111111; margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center; width: 264px;"><span style="color: white;">Digimon Showdown Players Guide</span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;">[A Digimon Fan Game]</td></tr><tr><td style="text-align: center;"><strong><span style="font-size: small;">DIGIMON TYPES &amp;&nbsp;ABILITIES</span></strong><br /><img src="https://i.imgur.com/YoKqiC3.png" alt="" width="105" height="30" /><br />[Stat Hovering Does Not Work]</td></tr><tr><td style="text-align: center;"><table style="height: 28px; border-color: #111111; margin-left: auto; margin-right: auto;" border="0" width="267"><tbody><tr><td style="width: 94px; text-align: center;"><span style="font-size: small;"><a title="Digimon Showdown Type Chart" href="https://i.imgur.com/cHTB3Tn.png" target="_blank" rel="noopener"><strong>Types/Ability Chart</strong></a></span></td><td style="width: 82px;"><span style="font-size: small;"><strong><a href="http://azure.psim.us/digimondatabase">Database</a></strong></span></td><td style="text-align: center; width: 69px;"><span style="font-size: small;"><strong><a href="https://discord.gg/xGVJe6y" target="_blank" rel="noopener">Discord</a></strong></span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;"><span style="font-size: small;"><a href="https://1drv.ms/w/s!AvoD6RnUzzMvg3NC7OWJVkWHNZ-t" target="_blank" rel="noopener">Digimon Showdown Credits</a></span></td></tr><tr><td style="text-align: center;"><table style="width: 267px; background-color: #111111; margin-left: auto; margin-right: auto;"><tbody><tr><td style="width: 259px;"><span style="color: white;">Official Digimon Media</span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;"><table style="height: 26px; margin-left: auto; margin-right: auto;" border="0" width="265"><tbody><tr><td style="width: 119px;"><a href="https://wikimon.net/List_of_Video_Games" target="_blank" rel="noopener"><span style="font-size: small;">Game List</span></a></td><td style="width: 130px;"><a href="https://wikimon.net/Category:Anime" target="_blank" rel="noopener"><span style="font-size: small;">Anime List</span></a></td></tr></tbody></table></td></tr></tbody></table></center>');
  2393. },
  2394. onSwitchIn(pokemon) {
  2395. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2396. },
  2397. onAfterMega(pokemon) {
  2398. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2399. },
  2400. onUpdate(pokemon) {
  2401. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2402. },
  2403. },
  2404. {
  2405. name: "[Digimon] Digimon Showdown Triples",
  2406. desc: ["Battle and play with your friends with Digimon."],
  2407.  
  2408. mod: "digimon",
  2409. gameType: 'triples',
  2410. team: "randomDigimon",
  2411. ruleset: ['Cancel Mod', 'HP Percentage Mod', 'Team Preview'],
  2412. onBegin() {
  2413. this.add('raw', '<center><table style="background-color: #ffffff; border-color: #111111;" border="4"><tbody><tr><td style="text-align: center;"><table style="width: 266px; background-color: #111111; margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center; width: 264px;"><span style="color: white;">Digimon Showdown Players Guide</span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;">[A Digimon Fan Game]</td></tr><tr><td style="text-align: center;"><strong><span style="font-size: small;">DIGIMON TYPES &amp;&nbsp;ABILITIES</span></strong><br /><img src="https://i.imgur.com/YoKqiC3.png" alt="" width="105" height="30" /><br />[Stat Hovering Does Not Work]</td></tr><tr><td style="text-align: center;"><table style="height: 28px; border-color: #111111; margin-left: auto; margin-right: auto;" border="0" width="267"><tbody><tr><td style="width: 94px; text-align: center;"><span style="font-size: small;"><a title="Digimon Showdown Type Chart" href="https://i.imgur.com/cHTB3Tn.png" target="_blank" rel="noopener"><strong>Types/Ability Chart</strong></a></span></td><td style="width: 82px;"><span style="font-size: small;"><strong><a href="http://azure.psim.us/digimondatabase">Database</a></strong></span></td><td style="text-align: center; width: 69px;"><span style="font-size: small;"><strong><a href="https://discord.gg/xGVJe6y" target="_blank" rel="noopener">Discord</a></strong></span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;"><span style="font-size: small;"><a href="https://1drv.ms/w/s!AvoD6RnUzzMvg3NC7OWJVkWHNZ-t" target="_blank" rel="noopener">Digimon Showdown Credits</a></span></td></tr><tr><td style="text-align: center;"><table style="width: 267px; background-color: #111111; margin-left: auto; margin-right: auto;"><tbody><tr><td style="width: 259px;"><span style="color: white;">Official Digimon Media</span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;"><table style="height: 26px; margin-left: auto; margin-right: auto;" border="0" width="265"><tbody><tr><td style="width: 119px;"><a href="https://wikimon.net/List_of_Video_Games" target="_blank" rel="noopener"><span style="font-size: small;">Game List</span></a></td><td style="width: 130px;"><a href="https://wikimon.net/Category:Anime" target="_blank" rel="noopener"><span style="font-size: small;">Anime List</span></a></td></tr></tbody></table></td></tr></tbody></table></center>');
  2414. },
  2415. onSwitchIn(pokemon) {
  2416. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2417. },
  2418. onAfterMega(pokemon) {
  2419. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2420. },
  2421. onUpdate(pokemon) {
  2422. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2423. },
  2424. },
  2425. {
  2426. name: "[Digimon] Digimon Showdown Monotype",
  2427. desc: ["Battle with Digimon across 9 Types!"],
  2428.  
  2429. mod: "digimon",
  2430. team: "randomDigimon",
  2431. ruleset: ['Cancel Mod', 'HP Percentage Mod', 'Team Preview', 'Same Type Clause'],
  2432. onBegin() {
  2433. this.add('raw', '<center><table style="background-color: #ffffff; border-color: #111111;" border="4"><tbody><tr><td style="text-align: center;"><table style="width: 266px; background-color: #111111; margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center; width: 264px;"><span style="color: white;">Digimon Showdown Players Guide</span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;">[A Digimon Fan Game]</td></tr><tr><td style="text-align: center;"><strong><span style="font-size: small;">DIGIMON TYPES &amp;&nbsp;ABILITIES</span></strong><br /><img src="https://i.imgur.com/YoKqiC3.png" alt="" width="105" height="30" /><br />[Stat Hovering Does Not Work]</td></tr><tr><td style="text-align: center;"><table style="height: 28px; border-color: #111111; margin-left: auto; margin-right: auto;" border="0" width="267"><tbody><tr><td style="width: 94px; text-align: center;"><span style="font-size: small;"><a title="Digimon Showdown Type Chart" href="https://i.imgur.com/cHTB3Tn.png" target="_blank" rel="noopener"><strong>Types/Ability Chart</strong></a></span></td><td style="width: 82px;"><span style="font-size: small;"><strong><a href="http://azure.psim.us/digimondatabase">Database</a></strong></span></td><td style="text-align: center; width: 69px;"><span style="font-size: small;"><strong><a href="https://discord.gg/xGVJe6y" target="_blank" rel="noopener">Discord</a></strong></span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;"><span style="font-size: small;"><a href="https://1drv.ms/w/s!AvoD6RnUzzMvg3NC7OWJVkWHNZ-t" target="_blank" rel="noopener">Digimon Showdown Credits</a></span></td></tr><tr><td style="text-align: center;"><table style="width: 267px; background-color: #111111; margin-left: auto; margin-right: auto;"><tbody><tr><td style="width: 259px;"><span style="color: white;">Official Digimon Media</span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;"><table style="height: 26px; margin-left: auto; margin-right: auto;" border="0" width="265"><tbody><tr><td style="width: 119px;"><a href="https://wikimon.net/List_of_Video_Games" target="_blank" rel="noopener"><span style="font-size: small;">Game List</span></a></td><td style="width: 130px;"><a href="https://wikimon.net/Category:Anime" target="_blank" rel="noopener"><span style="font-size: small;">Anime List</span></a></td></tr></tbody></table></td></tr></tbody></table></center>');
  2434. },
  2435. onSwitchIn(pokemon) {
  2436. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2437. },
  2438. onAfterMega(pokemon) {
  2439. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2440. },
  2441. onUpdate(pokemon) {
  2442. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2443. },
  2444. },
  2445. {
  2446. name: "[Digimon] Digimon Showdown Monotype Doubles",
  2447. desc: ["Battle with Digimon across 9 Types!"],
  2448.  
  2449. mod: "digimon",
  2450. gameType: 'doubles',
  2451. team: "randomDigimon",
  2452. ruleset: ['Cancel Mod', 'HP Percentage Mod', 'Team Preview', 'Same Type Clause'],
  2453. onBegin() {
  2454. this.add('raw', '<center><table style="background-color: #ffffff; border-color: #111111;" border="4"><tbody><tr><td style="text-align: center;"><table style="width: 266px; background-color: #111111; margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center; width: 264px;"><span style="color: white;">Digimon Showdown Players Guide</span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;">[A Digimon Fan Game]</td></tr><tr><td style="text-align: center;"><strong><span style="font-size: small;">DIGIMON TYPES &amp;&nbsp;ABILITIES</span></strong><br /><img src="https://i.imgur.com/YoKqiC3.png" alt="" width="105" height="30" /><br />[Stat Hovering Does Not Work]</td></tr><tr><td style="text-align: center;"><table style="height: 28px; border-color: #111111; margin-left: auto; margin-right: auto;" border="0" width="267"><tbody><tr><td style="width: 94px; text-align: center;"><span style="font-size: small;"><a title="Digimon Showdown Type Chart" href="https://i.imgur.com/cHTB3Tn.png" target="_blank" rel="noopener"><strong>Types/Ability Chart</strong></a></span></td><td style="width: 82px;"><span style="font-size: small;"><strong><a href="http://azure.psim.us/digimondatabase">Database</a></strong></span></td><td style="text-align: center; width: 69px;"><span style="font-size: small;"><strong><a href="https://discord.gg/xGVJe6y" target="_blank" rel="noopener">Discord</a></strong></span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;"><span style="font-size: small;"><a href="https://1drv.ms/w/s!AvoD6RnUzzMvg3NC7OWJVkWHNZ-t" target="_blank" rel="noopener">Digimon Showdown Credits</a></span></td></tr><tr><td style="text-align: center;"><table style="width: 267px; background-color: #111111; margin-left: auto; margin-right: auto;"><tbody><tr><td style="width: 259px;"><span style="color: white;">Official Digimon Media</span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;"><table style="height: 26px; margin-left: auto; margin-right: auto;" border="0" width="265"><tbody><tr><td style="width: 119px;"><a href="https://wikimon.net/List_of_Video_Games" target="_blank" rel="noopener"><span style="font-size: small;">Game List</span></a></td><td style="width: 130px;"><a href="https://wikimon.net/Category:Anime" target="_blank" rel="noopener"><span style="font-size: small;">Anime List</span></a></td></tr></tbody></table></td></tr></tbody></table></center>');
  2455. },
  2456. onSwitchIn(pokemon) {
  2457. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2458. },
  2459. onAfterMega(pokemon) {
  2460. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2461. },
  2462. onUpdate(pokemon) {
  2463. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2464. },
  2465. },
  2466. {
  2467. name: "[Digimon] Digimon x Pokemon",
  2468. desc: ["Battle with Digimon and Pokemon Together!"],
  2469.  
  2470. mod: "digimon",
  2471. team: "randomDigimon",
  2472. ruleset: ['Cancel Mod', 'HP Percentage Mod', 'Team Preview'],
  2473. onBegin() {
  2474. this.add('raw', '<center><table style="background-color: #ffffff; border-color: #111111;" border="4"><tbody><tr><td style="text-align: center;"><table style="width: 266px; background-color: #111111; margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center; width: 264px;"><span style="color: white;">Digimon Showdown Players Guide</span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;">[A Digimon Fan Game]</td></tr><tr><td style="text-align: center;"><strong><span style="font-size: small;">DIGIMON TYPES &amp;&nbsp;ABILITIES</span></strong><br /><img src="https://i.imgur.com/YoKqiC3.png" alt="" width="105" height="30" /><br />[Stat Hovering Does Not Work]</td></tr><tr><td style="text-align: center;"><table style="height: 28px; border-color: #111111; margin-left: auto; margin-right: auto;" border="0" width="267"><tbody><tr><td style="width: 94px; text-align: center;"><span style="font-size: small;"><a title="Digimon Showdown Type Chart" href="https://i.imgur.com/cHTB3Tn.png" target="_blank" rel="noopener"><strong>Types/Ability Chart</strong></a></span></td><td style="width: 82px;"><span style="font-size: small;"><strong><a href="http://azure.psim.us/digimondatabase">Database</a></strong></span></td><td style="text-align: center; width: 69px;"><span style="font-size: small;"><strong><a href="https://discord.gg/xGVJe6y" target="_blank" rel="noopener">Discord</a></strong></span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;"><span style="font-size: small;"><a href="https://1drv.ms/w/s!AvoD6RnUzzMvg3NC7OWJVkWHNZ-t" target="_blank" rel="noopener">Digimon Showdown Credits</a></span></td></tr><tr><td style="text-align: center;"><table style="width: 267px; background-color: #111111; margin-left: auto; margin-right: auto;"><tbody><tr><td style="width: 259px;"><span style="color: white;">Official Digimon Media</span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;"><table style="height: 26px; margin-left: auto; margin-right: auto;" border="0" width="265"><tbody><tr><td style="width: 119px;"><a href="https://wikimon.net/List_of_Video_Games" target="_blank" rel="noopener"><span style="font-size: small;">Game List</span></a></td><td style="width: 130px;"><a href="https://wikimon.net/Category:Anime" target="_blank" rel="noopener"><span style="font-size: small;">Anime List</span></a></td></tr></tbody></table></td></tr></tbody></table></center>');
  2475. },
  2476. onSwitchIn(pokemon) {
  2477. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2478. },
  2479. onAfterMega(pokemon) {
  2480. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2481. },
  2482. onUpdate(pokemon) {
  2483. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2484. },
  2485. },
  2486. {
  2487. name: "[Digimon] Digimon x Pokemon Doubles",
  2488. desc: ["Battle with Digimon and Pokemon Together!"],
  2489.  
  2490. mod: "digimon",
  2491. gameType: 'doubles',
  2492. team: "randomDigimon",
  2493. ruleset: ['Cancel Mod', 'HP Percentage Mod', 'Team Preview'],
  2494. onBegin() {
  2495. this.add('raw', '<center><table style="background-color: #ffffff; border-color: #111111;" border="4"><tbody><tr><td style="text-align: center;"><table style="width: 266px; background-color: #111111; margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center; width: 264px;"><span style="color: white;">Digimon Showdown Players Guide</span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;">[A Digimon Fan Game]</td></tr><tr><td style="text-align: center;"><strong><span style="font-size: small;">DIGIMON TYPES &amp;&nbsp;ABILITIES</span></strong><br /><img src="https://i.imgur.com/YoKqiC3.png" alt="" width="105" height="30" /><br />[Stat Hovering Does Not Work]</td></tr><tr><td style="text-align: center;"><table style="height: 28px; border-color: #111111; margin-left: auto; margin-right: auto;" border="0" width="267"><tbody><tr><td style="width: 94px; text-align: center;"><span style="font-size: small;"><a title="Digimon Showdown Type Chart" href="https://i.imgur.com/cHTB3Tn.png" target="_blank" rel="noopener"><strong>Types/Ability Chart</strong></a></span></td><td style="width: 82px;"><span style="font-size: small;"><strong><a href="http://azure.psim.us/digimondatabase">Database</a></strong></span></td><td style="text-align: center; width: 69px;"><span style="font-size: small;"><strong><a href="https://discord.gg/xGVJe6y" target="_blank" rel="noopener">Discord</a></strong></span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;"><span style="font-size: small;"><a href="https://1drv.ms/w/s!AvoD6RnUzzMvg3NC7OWJVkWHNZ-t" target="_blank" rel="noopener">Digimon Showdown Credits</a></span></td></tr><tr><td style="text-align: center;"><table style="width: 267px; background-color: #111111; margin-left: auto; margin-right: auto;"><tbody><tr><td style="width: 259px;"><span style="color: white;">Official Digimon Media</span></td></tr></tbody></table></td></tr><tr><td style="text-align: center;"><table style="height: 26px; margin-left: auto; margin-right: auto;" border="0" width="265"><tbody><tr><td style="width: 119px;"><a href="https://wikimon.net/List_of_Video_Games" target="_blank" rel="noopener"><span style="font-size: small;">Game List</span></a></td><td style="width: 130px;"><a href="https://wikimon.net/Category:Anime" target="_blank" rel="noopener"><span style="font-size: small;">Anime List</span></a></td></tr></tbody></table></td></tr></tbody></table></center>');
  2496. },
  2497. onSwitchIn(pokemon) {
  2498. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2499. },
  2500. onAfterMega(pokemon) {
  2501. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2502. },
  2503. onUpdate(pokemon) {
  2504. this.add('-start', pokemon, 'typechange', pokemon.types.join('/'), '[silent]');
  2505. },
  2506. },
  2507. {
  2508. name: "[Gen 7 Let's Go] Doubles OU",
  2509. threads: [
  2510. `&bullet; <a href="https://www.smogon.com/forums/threads/3645303/">LGPE DOU</a>`,
  2511. ],
  2512. section: "US/UM Doubles",
  2513. column: 4,
  2514. searchShow: false,
  2515. mod: 'letsgo',
  2516. gameType: 'doubles',
  2517. forcedLevel: 50,
  2518. ruleset: ['Obtainable', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod'],
  2519. banlist: ['Mewtwo'],
  2520. },
  2521. ];
  2522.  
  2523. Formats.push(...AzureFormats);
  2524. exports.Formats = Formats;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement