<commit_before>// Note: This is the list of formats
// The rules that formats use are stored in data/rulesets.js

exports.Formats = [

	// Amethyst Metas
	///////////////////////////////////////////////////////////////////
	{
		name: "Clash of Tiers",
		section: "Amethyst Metas",

		ruleset: ['Pokemon', 'Team Preview', 'Standard Ubers', 'Tier Clash Clause'],
		banlist: []
	},
		{
		name: "Sketchmons",
		section: "Amethyst Meta",

		mod: 'sketchmons',
		ruleset: ['Pokemon', 'Standard', 'Team Preview'],
		banlist: ['Uber', 'Soul Dew', 'Gengarite', 'Kangaskhanite']
	},
	{
		name: "Mixed Tier",
		section: "Amethyst Metas",

		ruleset: ['Pokemon', 'Standard', 'Team Preview', 'Mixed Tier Clause'],
		banlist: ['Gengarite', 'Soul Dew']
	},
	{
		name: "Monotype Tier Shift",
		section: "Amethyst Metas",

		mod: "tiershift",
		ruleset: ['Pokemon', 'Standard', 'Evasion Abilities Clause', 'Team Preview', 'Same Type Clause'],
		banlist: ['Uber', 'Gengarite', 'Soul Dew']
	},
	{
		name: "<NAME>",
		section: "Amethyst Metas",

		mod: 'mailman',
		onFaint: function(pokemon) {
			if (pokemon.side.pokemon[0].item === 'mail') {
				var name = pokemon.side.name;
				var winner = '';
				var message = 'the mailman of '+name+' fainted.';
				if (pokemon.side.id === 'p1') {
					if (this.p2.pokemon[0].item === 'mail') {
						winner = 'p2';
						message = 'The mailman of '+this.p1.name+' was KOed by the mailman of '+this.p2.name+'.';
					} else {
						winner = 'p1';
					}
				} else {
					if (this.p1.pokemon[0].item === 'mail') {
						winner = 'p1';
						message = 'The mailman of '+this.p2.name+' was KOed by the mailman of '+this.p1.name+'.';
					} else {
						winner = 'p2';
					}
				}
				this.add('message', message);
				pokemon.battle.win(winner);
			}
			if (pokemon.side.pokemonLeft === 1) {
				var loser = '';
				this.debug('1 poke left');
				for (var i = 0; i < pokemon.side.team.length; i ++) {
					if (pokemon.side.pokemon[i].fainted === true) continue;
					if (pokemon.side.pokemon[i].item === 'Mail') {
						loser = pokemon.side.id;
						this.debug('checking for item');
					}
				}
				if (loser === 'p1') {
					this.add('message', 'Since '+this.p2.name+' managed to KO all of '+this.p1.name+'\'s Pokemon except for their mailman, '+this.p2.name+' has won the battle!');
					pokemon.battle.win('p2');
				} else {
					this.add('message', 'Since '+this.p1.name+' managed to KO all of '+this.p2.name+'\'s Pokemon except for their mailman, '+this.p1.name+' has won the battle!');
					pokemon.battle.win('p1');
				}
			}
		},
		ruleset: ['Pokemon', 'Standard Pokebank', 'Evasion Abilities Clause', 'Team Preview', 'Mailman Clause'],
		banlist: ['Uber', 'Soul Dew', 'Frisk', 'Explosion', 'Self-Destruct', 'Final Gambit', 'Arena Trap', 'Shedinja', 'Perish Song']
	},
	// XY Singles
	///////////////////////////////////////////////////////////////////
	{
		name: "<NAME>",
		section: "XY Singles",

		team: 'random',
		ruleset: ['PotD', 'Pokemon', 'Sleep Clause Mod', 'HP Percentage Mod']
	},
	{
		name: "Unrated Random Battle",
		section: "XY Singles",

		team: 'random',
		challengeShow: false,
		rated: false,
		ruleset: ['Random Battle']
	},
	{
		name: "OU",
		section: "XY Singles",

		ruleset: ['Pokemon', 'Standard', 'Team Preview'],
		banlist: ['Uber', 'Soul Dew', 'Gengarite', 'Kangaskhanite']
	},
	{
		name: "OU (suspect test)",
		section: "XY Singles",

		ruleset: ['Pokemon', 'Standard', 'Team Preview'],
		banlist: ['Uber', 'Soul Dew', 'Gengarite', 'Kangaskhanite', 'Lucarionite', 'Genesect', 'Deoxys-Speed']
	},
	{
		name: "Ubers",
		section: "XY Singles",

		ruleset: ['Pokemon', 'Standard Ubers', 'Team Preview'],
		banlist: []
	},
	{
		name: "UU (beta)",
		section: "XY Singles",

		ruleset: ['Pokemon', 'Standard', 'Team Preview'],
		banlist: ['Uber', 'Soul Dew', 'Gengarite', 'Kangaskhanite', 'Heracronite', 'OU', 'BL', 'Drizzle', 'Drought']
	},
	{
		name: "LC",<commit_msg>ADD RU BETA.<commit_after>// Note: This is the list of formats
// The rules that formats use are stored in data/rulesets.js

exports.Formats = [

	// Amethyst Metas
	///////////////////////////////////////////////////////////////////
	{
		name: "Clash of Tiers",
		section: "Amethyst Metas",

		ruleset: ['Pokemon', 'Team Preview', 'Standard Ubers', 'Tier Clash Clause'],
		banlist: []
	},
	{
		name: "Sketchmons",
		section: "Amethyst Meta",

		mod: 'sketchmons',
		ruleset: ['Pokemon', 'Standard', 'Team Preview'],
		banlist: ['Uber', 'Soul Dew', 'Gengarite', 'Kangaskhanite']
	},
	{
		name: "Mixed Tier",
		section: "Amethyst Metas",

		ruleset: ['Pokemon', 'Standard', 'Team Preview', 'Mixed Tier Clause'],
		banlist: ['Gengarite', 'Soul Dew']
	},
	{
		name: "Monotype Tier Shift",
		section: "Amethyst Metas",

		mod: "tiershift",
		ruleset: ['Pokemon', 'Standard', 'Evasion Abilities Clause', 'Team Preview', 'Same Type Clause'],
		banlist: ['Uber', 'Gengarite', 'Soul Dew']
	},
	{
		name: "Kill The Mailman",
		section: "Amethyst Metas",

		mod: 'mailman',
		onFaint: function(pokemon) {
			if (pokemon.side.pokemon[0].item === 'mail') {
				var name = pokemon.side.name;
				var winner = '';
				var message = 'the mailman of '+name+' fainted.';
				if (pokemon.side.id === 'p1') {
					if (this.p2.pokemon[0].item === 'mail') {
						winner = 'p2';
						message = 'The mailman of '+this.p1.name+' was KOed by the mailman of '+this.p2.name+'.';
					} else {
						winner = 'p1';
					}
				} else {
					if (this.p1.pokemon[0].item === 'mail') {
						winner = 'p1';
						message = 'The mailman of '+this.p2.name+' was KOed by the mailman of '+this.p1.name+'.';
					} else {
						winner = 'p2';
					}
				}
				this.add('message', message);
				pokemon.battle.win(winner);
			}
			if (pokemon.side.pokemonLeft === 1) {
				var loser = '';
				this.debug('1 poke left');
				for (var i = 0; i < pokemon.side.team.length; i ++) {
					if (pokemon.side.pokemon[i].fainted === true) continue;
					if (pokemon.side.pokemon[i].item === 'Mail') {
						loser = pokemon.side.id;
						this.debug('checking for item');
					}
				}
				if (loser === 'p1') {
					this.add('message', 'Since '+this.p2.name+' managed to KO all of '+this.p1.name+'\'s Pokemon except for their mailman, '+this.p2.name+' has won the battle!');
					pokemon.battle.win('p2');
				} else {
					this.add('message', 'Since '+this.p1.name+' managed to KO all of '+this.p2.name+'\'s Pokemon except for their mailman, '+this.p1.name+' has won the battle!');
					pokemon.battle.win('p1');
				}
			}
		},
		ruleset: ['Pokemon', 'Standard Pokebank', 'Evasion Abilities Clause', 'Team Preview', 'Mailman Clause'],
		banlist: ['Uber', 'Soul Dew', 'Frisk', 'Explosion', 'Self-Destruct', 'Final Gambit', 'Arena Trap', 'Shedinja', 'Perish Song']
	},
	// XY Singles
	///////////////////////////////////////////////////////////////////
	{
		name: "Random Battle",
		section: "XY Singles",

		team: 'random',
		ruleset: ['PotD', 'Pokemon', 'Sleep Clause Mod', 'HP Percentage Mod']
	},
	{
		name: "Unrated Random Battle",
		section: "XY Singles",

		team: 'random',
		challengeShow: false,
		rated: false,
		ruleset: ['Random Battle']
	},
	{
		name: "OU",
		section: "XY Singles",

		ruleset: ['Pokemon', 'Standard', 'Team Preview'],
		banlist: ['Uber', 'Soul Dew', 'Gengarite', 'Kangaskhanite']
	},
	{
		name: "OU (suspect test)",
		section: "XY Singles",

		ruleset: ['Pokemon', 'Standard', 'Team Preview'],
		banlist: ['Uber', 'Soul Dew', 'Gengarite', 'Kangaskhanite', 'Lucarionite', 'Genesect', 'Deoxys-Speed']
	},
	{
		name: "Ubers",
		section: "XY Singles",

		ruleset: ['Pokemon', 'Standard Ubers', 'Team Preview'],
		banlist: []
	},
	{
	name: "RU (beta)",
 	section: "XY Singles",
 
 	ruleset: ['Pokemon','Standard Pokebank','Team Preview'],
 	banlist: ['User','Soul Dew','Gengarite','Kangaskhanite','Heracronite','OU','BL','Drizzle','Drought','Bisharp','Blastoise','Latias','Gardevoir','Darmainta','Florges','Heracross','Chandelure',
 		  'Medicham','Slowbro','Keldeo,','Metagross','Scolipede','Aggron','Diggersby','Crawdaunt','Hydreigon','Haxorus','Crobat','Arcanine','Nidoking','Empoleon''Deoxys-Defense','Mew','Staraptor','Umbreon',
 		  'Celebi','Zapdos','Manectric','Victini','Mienshao','Absol','Noiveron','Porygon2','Swampert','Chansey','Roserade','Weavile','Rotom-Heat','Ambipom','Jellicent','Cofagrigus','Tornadus-Therian','Kingdra',
 		  'Magnezone','Hawlucha','Ditto','Aerodactyl','Machamp','Hippowdon','Deoxys-Speed','Jolteon','Shuckle','Thundurus-Therian','Hitmontop','Whimsicott','Chesnaught','Exploud','Cobalion','Vaporeon','Kyurem-Black']
 	},
	{
		name: "UU (beta)",
		section: "XY Singles",

		ruleset: ['Pokemon', 'Standard', 'Team Preview'],
		banlist: ['Uber', 'Soul Dew', 'Gengarite', 'Kangaskhanite', 'Heracronite', 'OU', 'BL', 'Drizzle', 'Drought']
	},
	{
		name: "LC",
{'fraction_non_alphanumeric': 0.2291950886766712, 'fraction_numerical': 0.006025466120964075, 'mean_word_length': 3.3101420872121508, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3345755', 'n_tokens_mistral': 3844, 'n_tokens_neox': 3308, 'n_words': 764}