Enforce consistent key spacing

This was previously not enforced because we used `:1` in too many
places, but those places seem to all be refactored out at this point.
This commit is contained in:
Guangcong Luo
2017-12-01 08:16:23 -06:00
parent 108eab72f0
commit f4e535bbd6
31 changed files with 1408 additions and 1408 deletions

View File

@@ -116,7 +116,7 @@
"id-length": "off",
"id-match": "off",
"indent": ["error", "tab"],
"key-spacing": "off",
"key-spacing": "error",
"lines-around-comment": "off",
"max-nested-callbacks": "off",
"max-statements-per-line": "off",

View File

@@ -1228,7 +1228,7 @@ exports.commands = {
}
let buffer = Object.keys(rankLists).sort((a, b) =>
(Config.groups[b] || {rank:0}).rank - (Config.groups[a] || {rank:0}).rank
(Config.groups[b] || {rank: 0}).rank - (Config.groups[a] || {rank: 0}).rank
).map(r => {
let roomRankList = rankLists[r].sort();
roomRankList = roomRankList.map(s => s in targetRoom.users ? "**" + s + "**" : s);

View File

@@ -354,13 +354,13 @@ if (process.send && module === process.mainModule) {
function runDexsearch(target, cmd, canAll, message) {
let searches = [];
let allTiers = {'uber':'Uber', 'ubers':'Uber', 'ou':'OU', 'bl':'BL', 'uu':'UU', 'bl2':'BL2', 'ru':'RU', 'bl3':'BL3', 'nu':'NU', 'bl4':'BL4', 'pu':'PU', 'nfe':'NFE', 'lcuber':'LC Uber', 'lcubers':'LC Uber', 'lc':'LC', 'cap':'CAP', 'caplc':'CAP LC', 'capnfe':'CAP NFE', __proto__:null};
let allTiers = {'uber': 'Uber', 'ubers': 'Uber', 'ou': 'OU', 'bl': 'BL', 'uu': 'UU', 'bl2': 'BL2', 'ru': 'RU', 'bl3': 'BL3', 'nu': 'NU', 'bl4': 'BL4', 'pu': 'PU', 'nfe': 'NFE', 'lcuber': 'LC Uber', 'lcubers': 'LC Uber', 'lc': 'LC', 'cap': 'CAP', 'caplc': 'CAP LC', 'capnfe': 'CAP NFE', __proto__: null};
let allTypes = Object.create(null);
for (let i in Dex.data.TypeChart) {
allTypes[toId(i)] = i;
}
let allColors = ['green', 'red', 'blue', 'white', 'brown', 'yellow', 'purple', 'pink', 'gray', 'black'];
let allEggGroups = {'amorphous':'Amorphous', 'bug':'Bug', 'ditto':'Ditto', 'dragon':'Dragon', 'fairy':'Fairy', 'field':'Field', 'flying':'Flying', 'grass':'Grass', 'humanlike':'Human-Like', 'mineral':'Mineral', 'monster':'Monster', 'undiscovered':'Undiscovered', 'water1':'Water 1', 'water2':'Water 2', 'water3':'Water 3', __proto__:null};
let allEggGroups = {'amorphous': 'Amorphous', 'bug': 'Bug', 'ditto': 'Ditto', 'dragon': 'Dragon', 'fairy': 'Fairy', 'field': 'Field', 'flying': 'Flying', 'grass': 'Grass', 'humanlike': 'Human-Like', 'mineral': 'Mineral', 'monster': 'Monster', 'undiscovered': 'Undiscovered', 'water1': 'Water 1', 'water2': 'Water 2', 'water3': 'Water 3', __proto__: null};
let allStats = ['hp', 'atk', 'def', 'spa', 'spd', 'spe', 'bst', 'weight', 'height', 'gen'];
let showAll = false;
let megaSearch = null;
@@ -1532,7 +1532,7 @@ function runLearn(target, cmd) {
let buffer = `In ${formatName}, `;
buffer += "" + template.name + (problem ? " <span class=\"message-learn-cannotlearn\">can't</span> learn " : " <span class=\"message-learn-canlearn\">can</span> learn ") + (targets.length > 2 ? "these moves" : move.name);
if (!problem) {
let sourceNames = {E:"egg", S:"event", D:"dream world", V:"virtual console transfer from gen 1-2", X:"egg, traded back", Y:"event, traded back"};
let sourceNames = {E: "egg", S: "event", D: "dream world", V: "virtual console transfer from gen 1-2", X: "egg, traded back", Y: "event, traded back"};
let sourcesBefore = lsetData.sourcesBefore;
if (lsetData.sources || sourcesBefore < gen) buffer += " only when obtained";
buffer += " from:<ul class=\"message-learn-list\">";

View File

@@ -55,7 +55,7 @@ let MafiaFunctions = {
// Every role has a side they belong to, as well as all functions they have. These functions are objects with the targeting mechanics and a callback.
// events are atStart, onNight, onDay, onLynch.
exports.MafiaClasses = {
__proto__:null,
__proto__: null,
villager: {
name: "Villager",

View File

@@ -421,7 +421,7 @@ exports.commands = {
emojis: 'emojifilter',
emoji: 'emojifilter',
emojifilter : function (target, room, user) {
emojifilter: function (target, room, user) {
if (!target) {
const emojiSetting = (room.filterEmojis ? "ON" : "OFF");
return this.sendReply(`This room's emoji filter is currently: ${emojiSetting}`);

View File

@@ -3934,7 +3934,7 @@ exports.BattleAbilities = {
shortDesc: "This Pokemon's Defense is raised 2 stages after it is damaged by a Water-type move.",
onAfterDamage: function (damage, target, source, effect) {
if (effect && effect.type === 'Water') {
this.boost({def:2});
this.boost({def: 2});
}
},
id: "watercompaction",
@@ -3966,7 +3966,7 @@ exports.BattleAbilities = {
shortDesc: "If a physical attack hits this Pokemon, Defense is lowered by 1, Speed is raised by 2.",
onAfterDamage: function (damage, target, source, move) {
if (move.category === 'Physical') {
this.boost({def:-1, spe:2});
this.boost({def: -1, spe: 2});
}
},
id: "weakarmor",

View File

@@ -587,7 +587,7 @@ exports.BattleAliases = {
"landot": "Landorus-Therian",
"lele": "Tapu Lele",
"linda": "Fletchinder",
"luke": "Lucario",
"luke": "Lucario",
"lurk": "Golurk",
"mage": "Magearna",
"mamo": "Mamoswine",

File diff suppressed because it is too large Load Diff

View File

@@ -237,7 +237,7 @@ exports.BattleItems = {
}
},
onEat: function (pokemon) {
this.boost({spd:1});
this.boost({spd: 1});
},
num: 205,
gen: 3,
@@ -1944,7 +1944,7 @@ exports.BattleItems = {
}
},
onEat: function (pokemon) {
this.boost({def:1});
this.boost({def: 1});
},
num: 202,
gen: 3,
@@ -2866,7 +2866,7 @@ exports.BattleItems = {
}
},
onEat: function (pokemon) {
this.boost({atk:1});
this.boost({atk: 1});
},
num: 201,
gen: 3,
@@ -3867,7 +3867,7 @@ exports.BattleItems = {
}
},
onEat: function (pokemon) {
this.boost({spa:1});
this.boost({spa: 1});
},
num: 204,
gen: 3,
@@ -4732,7 +4732,7 @@ exports.BattleItems = {
}
},
onEat: function (pokemon) {
this.boost({spe:1});
this.boost({spe: 1});
},
num: 203,
gen: 3,

View File

@@ -3192,7 +3192,7 @@ exports.BattleMovedex = {
priority: 0,
flags: {protect: 1, reflectable: 1, mirror: 1, authentic: 1},
onHit: function (target, source, move) {
if (!target.volatiles['substitute'] || move.infiltrates) this.boost({evasion:-1});
if (!target.volatiles['substitute'] || move.infiltrates) this.boost({evasion: -1});
let removeTarget = ['reflect', 'lightscreen', 'auroraveil', 'safeguard', 'mist', 'spikes', 'toxicspikes', 'stealthrock', 'stickyweb'];
let removeAll = ['spikes', 'toxicspikes', 'stealthrock', 'stickyweb'];
for (let targetCondition of removeTarget) {
@@ -4892,7 +4892,7 @@ exports.BattleMovedex = {
priority: 0,
flags: {contact: 1, protect: 1, mirror: 1},
onAfterMoveSecondarySelf: function (pokemon, target, move) {
if (!target || target.fainted || target.hp <= 0) this.boost({atk:3}, pokemon, pokemon, move);
if (!target || target.fainted || target.hp <= 0) this.boost({atk: 3}, pokemon, pokemon, move);
},
secondary: false,
target: "normal",
@@ -8858,7 +8858,7 @@ exports.BattleMovedex = {
}
}
if (move.flags['contact']) {
this.boost({atk:-2}, source, target, this.getMove("King's Shield"));
this.boost({atk: -2}, source, target, this.getMove("King's Shield"));
}
return null;
},
@@ -16348,7 +16348,7 @@ exports.BattleMovedex = {
onHit: function (target, source) {
if (target.boosts.atk === -6) return false;
let atk = target.getStat('atk', false, true);
this.boost({atk:-1}, target, source, null, null, true);
this.boost({atk: -1}, target, source, null, null, true);
this.heal(atk, source, target);
},
secondary: false,
@@ -18218,7 +18218,7 @@ exports.BattleMovedex = {
flags: {protect: 1, reflectable: 1, mirror: 1},
onHit: function (target, source, move) {
if (target.status === 'psn' || target.status === 'tox') {
return this.boost({atk:-1, spa:-1, spe:-1}, target, source, move);
return this.boost({atk: -1, spa: -1, spe: -1}, target, source, move);
}
return false;
},

View File

@@ -265,7 +265,7 @@ exports.BattleFormats = {
}
if (template.species === 'Pikachu-Cosplay') {
let cosplay = {meteormash:'Pikachu-Rock-Star', iciclecrash:'Pikachu-Belle', drainingkiss:'Pikachu-Pop-Star', electricterrain:'Pikachu-PhD', flyingpress:'Pikachu-Libre'};
let cosplay = {meteormash: 'Pikachu-Rock-Star', iciclecrash: 'Pikachu-Belle', drainingkiss: 'Pikachu-Pop-Star', electricterrain: 'Pikachu-PhD', flyingpress: 'Pikachu-Libre'};
for (let i = 0; i < set.moves.length; i++) {
if (set.moves[i] in cosplay) {
set.species = cosplay[set.moves[i]];

View File

@@ -22,8 +22,8 @@ exports.BattleTypeChart = {
"Steel": 0,
"Water": 0,
},
HPivs: {"atk":30, "def":30, "spd":30},
HPdvs: {"atk":13, "def":13},
HPivs: {"atk": 30, "def": 30, "spd": 30},
HPdvs: {"atk": 13, "def": 13},
},
"Dark": {
damageTaken: {
@@ -70,8 +70,8 @@ exports.BattleTypeChart = {
"Steel": 0,
"Water": 2,
},
HPivs: {"atk":30},
HPdvs: {"def":14},
HPivs: {"atk": 30},
HPdvs: {"def": 14},
},
"Electric": {
damageTaken: {
@@ -95,8 +95,8 @@ exports.BattleTypeChart = {
"Steel": 2,
"Water": 0,
},
HPivs: {"spa":30},
HPdvs: {"atk":14},
HPivs: {"spa": 30},
HPdvs: {"atk": 14},
},
"Fairy": {
damageTaken: {
@@ -141,8 +141,8 @@ exports.BattleTypeChart = {
"Steel": 0,
"Water": 0,
},
HPivs: {"def":30, "spa":30, "spd":30, "spe":30},
HPdvs: {"atk":12, "def":12},
HPivs: {"def": 30, "spa": 30, "spd": 30, "spe": 30},
HPdvs: {"atk": 12, "def": 12},
},
"Fire": {
damageTaken: {
@@ -166,8 +166,8 @@ exports.BattleTypeChart = {
"Steel": 2,
"Water": 1,
},
HPivs: {"atk":30, "spa":30, "spe":30},
HPdvs: {"atk":14, "def":12},
HPivs: {"atk": 30, "spa": 30, "spe": 30},
HPdvs: {"atk": 14, "def": 12},
},
"Flying": {
damageTaken: {
@@ -190,8 +190,8 @@ exports.BattleTypeChart = {
"Steel": 0,
"Water": 0,
},
HPivs: {"hp":30, "atk":30, "def":30, "spa":30, "spd":30},
HPdvs: {"atk":12, "def":13},
HPivs: {"hp": 30, "atk": 30, "def": 30, "spa": 30, "spd": 30},
HPdvs: {"atk": 12, "def": 13},
},
"Ghost": {
damageTaken: {
@@ -215,8 +215,8 @@ exports.BattleTypeChart = {
"Steel": 0,
"Water": 0,
},
HPivs: {"def":30, "spd":30},
HPdvs: {"atk":13, "def":14},
HPivs: {"def": 30, "spd": 30},
HPdvs: {"atk": 13, "def": 14},
},
"Grass": {
damageTaken: {
@@ -240,8 +240,8 @@ exports.BattleTypeChart = {
"Steel": 0,
"Water": 2,
},
HPivs: {"atk":30, "spa":30},
HPdvs: {"atk":14, "def":14},
HPivs: {"atk": 30, "spa": 30},
HPdvs: {"atk": 14, "def": 14},
},
"Ground": {
damageTaken: {
@@ -265,8 +265,8 @@ exports.BattleTypeChart = {
"Steel": 0,
"Water": 1,
},
HPivs: {"spa":30, "spd":30},
HPdvs: {"atk":12},
HPivs: {"spa": 30, "spd": 30},
HPdvs: {"atk": 12},
},
"Ice": {
damageTaken: {
@@ -291,8 +291,8 @@ exports.BattleTypeChart = {
"Steel": 1,
"Water": 0,
},
HPivs: {"atk":30, "def":30},
HPdvs: {"def":13},
HPivs: {"atk": 30, "def": 30},
HPdvs: {"def": 13},
},
"Normal": {
damageTaken: {
@@ -339,8 +339,8 @@ exports.BattleTypeChart = {
"Steel": 0,
"Water": 0,
},
HPivs: {"def":30, "spa":30, "spd":30},
HPdvs: {"atk":12, "def":14},
HPivs: {"def": 30, "spa": 30, "spd": 30},
HPdvs: {"atk": 12, "def": 14},
},
"Psychic": {
damageTaken: {
@@ -363,8 +363,8 @@ exports.BattleTypeChart = {
"Steel": 0,
"Water": 0,
},
HPivs: {"atk":30, "spe":30},
HPdvs: {"def":12},
HPivs: {"atk": 30, "spe": 30},
HPdvs: {"def": 12},
},
"Rock": {
damageTaken: {
@@ -388,8 +388,8 @@ exports.BattleTypeChart = {
"Steel": 1,
"Water": 1,
},
HPivs: {"def":30, "spd":30, "spe":30},
HPdvs: {"atk":13, "def":12},
HPivs: {"def": 30, "spd": 30, "spe": 30},
HPdvs: {"atk": 13, "def": 12},
},
"Steel": {
damageTaken: {
@@ -415,8 +415,8 @@ exports.BattleTypeChart = {
"Steel": 2,
"Water": 0,
},
HPivs: {"spd":30},
HPdvs: {"atk":13},
HPivs: {"spd": 30},
HPdvs: {"atk": 13},
},
"Water": {
damageTaken: {
@@ -439,7 +439,7 @@ exports.BattleTypeChart = {
"Steel": 2,
"Water": 2,
},
HPivs: {"atk":30, "def":30, "spa":30},
HPdvs: {"atk":14, "def":13},
HPivs: {"atk": 30, "def": 30, "spa": 30},
HPdvs: {"atk": 14, "def": 13},
},
};

View File

@@ -84,7 +84,7 @@ exports.BattleScripts = {
let attacker = pokemon;
let defender = target;
let defenseStat = defensiveCategory === 'Physical' ? 'def' : 'spd';
let statTable = {atk:'Atk', def:'Def', spa:'SpA', spd:'SpD', spe:'Spe'};
let statTable = {atk: 'Atk', def: 'Def', spa: 'SpA', spd: 'SpD', spe: 'Spe'};
let maxAttack = 0;
let attack;
let defense;

View File

@@ -53,11 +53,11 @@ exports.BattleFormatsData = {
tier: "UU",
},
caterpie: {
randomBattleMoves:["stringshot", "tackle"],
randomBattleMoves: ["stringshot", "tackle"],
tier: "LC",
},
metapod: {
randomBattleMoves:["stringshot", "tackle", "harden"],
randomBattleMoves: ["stringshot", "tackle", "harden"],
tier: "NFE",
},
butterfree: {
@@ -112,7 +112,7 @@ exports.BattleFormatsData = {
fearow: {
randomBattleMoves: ["drillpeck", "doubleedge", "hyperbeam", "agility"],
eventPokemon: [
{"generation": 1, "level": 20, "moves":["growl", "leer", "furyattack", "payday"]},
{"generation": 1, "level": 20, "moves": ["growl", "leer", "furyattack", "payday"]},
],
tier: "UU",
},
@@ -130,9 +130,9 @@ exports.BattleFormatsData = {
essentialMove: "thunderbolt",
exclusiveMoves: ["bodyslam", "thunder", "agility", "seismictoss"],
eventPokemon: [
{"generation": 1, "level": 5, "moves":["surf"]},
{"generation": 1, "level": 5, "moves":["fly"]},
{"generation": 1, "level": 5, "moves":["thundershock", "growl", "surf"]},
{"generation": 1, "level": 5, "moves": ["surf"]},
{"generation": 1, "level": 5, "moves": ["fly"]},
{"generation": 1, "level": 5, "moves": ["thundershock", "growl", "surf"]},
],
tier: "LC",
},
@@ -289,7 +289,7 @@ exports.BattleFormatsData = {
essentialMove: "surf",
exclusiveMoves: ["bodyslam", "seismictoss", "rest", "hydropump"],
eventPokemon: [
{"generation": 1, "level": 15, "moves":["scratch", "amnesia"]},
{"generation": 1, "level": 15, "moves": ["scratch", "amnesia"]},
],
tier: "LC",
},
@@ -414,7 +414,7 @@ exports.BattleFormatsData = {
rapidash: {
randomBattleMoves: ["fireblast", "agility", "bodyslam", "hyperbeam"],
eventPokemon: [
{"generation": 1, "level": 40, "moves":["ember", "firespin", "stomp", "payday"]},
{"generation": 1, "level": 40, "moves": ["ember", "firespin", "stomp", "payday"]},
],
tier: "UU",
},
@@ -671,7 +671,7 @@ exports.BattleFormatsData = {
magikarp: {
randomBattleMoves: ["tackle", "dragonrage"],
eventPokemon: [
{"generation": 1, "level": 5, "moves":["dragonrage"]},
{"generation": 1, "level": 5, "moves": ["dragonrage"]},
],
tier: "LC",
},
@@ -792,7 +792,7 @@ exports.BattleFormatsData = {
exclusiveMoves: ["softboiled", "softboiled", "explosion"],
comboMoves: ["swordsdance", "earthquake", "hyperbeam"],
eventPokemon: [
{"generation": 1, "level": 5, "moves":["pound"]},
{"generation": 1, "level": 5, "moves": ["pound"]},
],
eventOnly: true,
tier: "Uber",

View File

@@ -612,12 +612,12 @@ exports.BattleMovedex = {
onLockMove: 'rage',
onTryHit: function (target, source, move) {
if (target.boosts.atk < 6 && move.id === 'disable') {
this.boost({atk:1});
this.boost({atk: 1});
}
},
onHit: function (target, source, move) {
if (target.boosts.atk < 6 && move.category !== 'Status') {
this.boost({atk:1});
this.boost({atk: 1});
}
},
},

View File

@@ -133,7 +133,7 @@ class RandomGen1Teams extends RandomGen2Teams {
// Now let's store what we are getting.
let typeCount = {};
let weaknessCount = {'Electric':0, 'Psychic':0, 'Water':0, 'Ice':0, 'Ground':0};
let weaknessCount = {'Electric': 0, 'Psychic': 0, 'Water': 0, 'Ice': 0, 'Ground': 0};
let uberCount = 0;
let nuCount = 0;
let hasShitmon = false;

View File

@@ -3,7 +3,7 @@
exports.BattleFormatsData = {
bulbasaur: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "growl", "ancientpower"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "growl", "ancientpower"]},
],
tier: "LC",
},
@@ -41,13 +41,13 @@ exports.BattleFormatsData = {
fillerMoves2: ["sleeppowder", "sleeppowder", "synthesis"],
},
eventPokemon: [
{"generation": 2, "level": 40, "shiny": true, "moves":["poisonpowder", "sleeppowder", "razorleaf", "sweetscent"]},
{"generation": 2, "level": 40, "shiny": true, "moves": ["poisonpowder", "sleeppowder", "razorleaf", "sweetscent"]},
],
tier: "BL",
},
charmander: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["scratch", "growl", "crunch"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["scratch", "growl", "crunch"]},
],
tier: "LC",
},
@@ -73,13 +73,13 @@ exports.BattleFormatsData = {
baseMove1: "fireblast", baseMove2: "earthquake", baseMove3: "rest", baseMove4: "sleeptalk",
},
eventPokemon: [
{"generation": 2, "level": 40, "shiny": true, "moves":["rage", "scaryface", "flamethrower", "wingattack"]},
{"generation": 2, "level": 40, "shiny": true, "moves": ["rage", "scaryface", "flamethrower", "wingattack"]},
],
tier: "BL",
},
squirtle: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "tailwhip", "zapcannon"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "tailwhip", "zapcannon"]},
],
tier: "LC",
},
@@ -113,7 +113,7 @@ exports.BattleFormatsData = {
fillerMoves2: ["earthquake", "zapcannon"],
},
eventPokemon: [
{"generation": 2, "level": 40, "shiny": true, "moves":["watergun", "bite", "rapidspin", "protect"]},
{"generation": 2, "level": 40, "shiny": true, "moves": ["watergun", "bite", "rapidspin", "protect"]},
],
tier: "UU",
},
@@ -223,7 +223,7 @@ exports.BattleFormatsData = {
},
spearow: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["peck", "growl", "sonicboom"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["peck", "growl", "sonicboom"]},
],
tier: "LC",
},
@@ -254,7 +254,7 @@ exports.BattleFormatsData = {
fillerMoves1: ["return", "return", "doubleedge"],
},
eventPokemon: [
{"generation": 1, "level": 20, "moves":["growl", "leer", "furyattack", "payday"]},
{"generation": 1, "level": 20, "moves": ["growl", "leer", "furyattack", "payday"]},
],
tier: "NU",
},
@@ -277,18 +277,18 @@ exports.BattleFormatsData = {
},
pichu: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["thundershock", "charm", "dizzypunch"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["thundershock", "charm", "petaldance"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["thundershock", "charm", "scaryface"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["thundershock", "charm", "sing"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["thundershock", "charm", "dizzypunch"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["thundershock", "charm", "petaldance"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["thundershock", "charm", "scaryface"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["thundershock", "charm", "sing"]},
],
tier: "LC",
},
pikachu: {
eventPokemon: [
{"generation": 1, "level": 5, "moves":["surf"]},
{"generation": 1, "level": 5, "moves":["fly"]},
{"generation": 1, "level": 5, "moves":["thundershock", "growl", "surf"]},
{"generation": 1, "level": 5, "moves": ["surf"]},
{"generation": 1, "level": 5, "moves": ["fly"]},
{"generation": 1, "level": 5, "moves": ["thundershock", "growl", "surf"]},
],
tier: "NFE",
},
@@ -321,9 +321,9 @@ exports.BattleFormatsData = {
},
nidoranf: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["growl", "tackle", "lovelykiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["growl", "tackle", "moonlight"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["growl", "tackle", "sweetkiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["growl", "tackle", "lovelykiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["growl", "tackle", "moonlight"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["growl", "tackle", "sweetkiss"]},
],
tier: "LC",
},
@@ -356,9 +356,9 @@ exports.BattleFormatsData = {
},
nidoranm: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["leer", "tackle", "lovelykiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["leer", "tackle", "morningsun"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["leer", "tackle", "sweetkiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["leer", "tackle", "lovelykiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["leer", "tackle", "morningsun"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["leer", "tackle", "sweetkiss"]},
],
tier: "LC",
},
@@ -378,10 +378,10 @@ exports.BattleFormatsData = {
},
cleffa: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["pound", "charm", "encore", "petaldance"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["pound", "charm", "encore", "scaryface"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["pound", "charm", "encore", "swift"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["pound", "charm", "encore", "dizzypunch"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["pound", "charm", "encore", "petaldance"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["pound", "charm", "encore", "scaryface"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["pound", "charm", "encore", "swift"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["pound", "charm", "encore", "dizzypunch"]},
],
tier: "LC",
},
@@ -440,10 +440,10 @@ exports.BattleFormatsData = {
},
igglybuff: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["sing", "charm", "defensecurl", "mimic"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["sing", "charm", "defensecurl", "petaldance"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["sing", "charm", "defensecurl", "scaryface"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["sing", "charm", "defensecurl", "dizzypunch"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["sing", "charm", "defensecurl", "mimic"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["sing", "charm", "defensecurl", "petaldance"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["sing", "charm", "defensecurl", "scaryface"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["sing", "charm", "defensecurl", "dizzypunch"]},
],
tier: "LC",
},
@@ -476,7 +476,7 @@ exports.BattleFormatsData = {
},
zubat: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["leechlife", "flail"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["leechlife", "flail"]},
],
tier: "LC",
},
@@ -513,7 +513,7 @@ exports.BattleFormatsData = {
},
oddish: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["absorb", "leechseed"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["absorb", "leechseed"]},
],
tier: "LC",
},
@@ -562,7 +562,7 @@ exports.BattleFormatsData = {
},
paras: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["scratch", "synthesis"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["scratch", "synthesis"]},
],
tier: "LC",
},
@@ -661,9 +661,9 @@ exports.BattleFormatsData = {
},
psyduck: {
eventPokemon: [
{"generation": 1, "level": 15, "moves":["scratch", "amnesia"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["scratch", "tailwhip", "petaldance"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["scratch", "tailwhip", "triattack"]},
{"generation": 1, "level": 15, "moves": ["scratch", "amnesia"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["scratch", "tailwhip", "petaldance"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["scratch", "tailwhip", "triattack"]},
],
tier: "LC",
},
@@ -730,9 +730,9 @@ exports.BattleFormatsData = {
},
poliwag: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["bubble", "growth"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["bubble", "lovelykiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["bubble", "sweetkiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["bubble", "growth"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["bubble", "lovelykiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["bubble", "sweetkiss"]},
],
tier: "LC",
},
@@ -794,7 +794,7 @@ exports.BattleFormatsData = {
},
abra: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["teleport", "foresight"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["teleport", "foresight"]},
],
tier: "LC",
},
@@ -820,8 +820,8 @@ exports.BattleFormatsData = {
},
machop: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["lowkick", "leer", "falseswipe"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["lowkick", "leer", "thrash"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["lowkick", "leer", "falseswipe"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["lowkick", "leer", "thrash"]},
],
tier: "LC",
},
@@ -850,8 +850,8 @@ exports.BattleFormatsData = {
},
bellsprout: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["vinewhip", "lovelykiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["vinewhip", "sweetkiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["vinewhip", "lovelykiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["vinewhip", "sweetkiss"]},
],
tier: "LC",
},
@@ -870,7 +870,7 @@ exports.BattleFormatsData = {
},
tentacool: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["poisonsting", "confuseray"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["poisonsting", "confuseray"]},
],
tier: "LC",
},
@@ -899,7 +899,7 @@ exports.BattleFormatsData = {
},
geodude: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "rapidspin"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "rapidspin"]},
],
tier: "LC",
},
@@ -917,7 +917,7 @@ exports.BattleFormatsData = {
},
ponyta: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "growl", "lowkick"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "growl", "lowkick"]},
],
tier: "LC",
},
@@ -941,7 +941,7 @@ exports.BattleFormatsData = {
baseMove1: "rest", baseMove2: "sleeptalk", baseMove3: "fireblast", baseMove4: "bodyslam",
},
eventPokemon: [
{"generation": 1, "level": 40, "moves":["ember", "firespin", "stomp", "payday"]},
{"generation": 1, "level": 40, "moves": ["ember", "firespin", "stomp", "payday"]},
],
tier: "NU",
},
@@ -992,7 +992,7 @@ exports.BattleFormatsData = {
},
magnemite: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "agility"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "agility"]},
],
tier: "LC",
},
@@ -1039,14 +1039,14 @@ exports.BattleFormatsData = {
baseMove1: "swordsdance", baseMove2: "agility", baseMove3: "endure", baseMove4: "flail",
},
eventPokemon: [
{"generation": 2, "level": 5, "moves":["batonpass", "swordsdance", "agility", "slash"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["peck", "furycutter"]},
{"generation": 2, "level": 5, "moves": ["batonpass", "swordsdance", "agility", "slash"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["peck", "furycutter"]},
],
tier: "NU",
},
doduo: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["peck", "growl", "lowkick"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["peck", "growl", "lowkick"]},
],
tier: "LC",
},
@@ -1081,7 +1081,7 @@ exports.BattleFormatsData = {
},
seel: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["headbutt", "growl", "flail"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["headbutt", "growl", "flail"]},
],
tier: "LC",
},
@@ -1172,7 +1172,7 @@ exports.BattleFormatsData = {
},
onix: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "screech", "sharpen"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "screech", "sharpen"]},
],
tier: "LC",
},
@@ -1199,7 +1199,7 @@ exports.BattleFormatsData = {
},
drowzee: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["pound", "hypnosis", "amnesia"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["pound", "hypnosis", "amnesia"]},
],
tier: "LC",
},
@@ -1234,7 +1234,7 @@ exports.BattleFormatsData = {
},
krabby: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["bubble", "leer", "metalclaw"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["bubble", "leer", "metalclaw"]},
],
tier: "LC",
},
@@ -1249,7 +1249,7 @@ exports.BattleFormatsData = {
},
voltorb: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "agility"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "agility"]},
],
tier: "LC",
},
@@ -1277,7 +1277,7 @@ exports.BattleFormatsData = {
},
exeggcute: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["barrage", "hypnosis", "sweetscent"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["barrage", "hypnosis", "sweetscent"]},
],
tier: "LC",
},
@@ -1313,7 +1313,7 @@ exports.BattleFormatsData = {
},
cubone: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["growl", "tailwhip", "furyattack"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["growl", "tailwhip", "furyattack"]},
],
tier: "LC",
},
@@ -1330,8 +1330,8 @@ exports.BattleFormatsData = {
},
tyrogue: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "rage"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "dizzypunch"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "rage"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "dizzypunch"]},
],
tier: "LC",
},
@@ -1427,7 +1427,7 @@ exports.BattleFormatsData = {
fillerMoves4: ["fireblast", "earthquake", "counter", "rest"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["lick", "doubleslap"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["lick", "doubleslap"]},
],
tier: "NU",
},
@@ -1469,7 +1469,7 @@ exports.BattleFormatsData = {
},
chansey: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["pound", "sweetscent"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["pound", "sweetscent"]},
],
tier: "UU",
},
@@ -1521,7 +1521,7 @@ exports.BattleFormatsData = {
baseMove1: "sleeppowder", baseMove2: "swordsdance", baseMove3: "gigadrain", baseMove4: "bodyslam",
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["constrict", "sleeppowder", "synthesis"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["constrict", "sleeppowder", "synthesis"]},
],
tier: "NU",
},
@@ -1547,13 +1547,13 @@ exports.BattleFormatsData = {
fillerMoves2: ["shadowball", "counter", "dynamicpunch", "doubleedge", "substitute"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["cometpunch", "feintattack"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["cometpunch", "feintattack"]},
],
tier: "BL",
},
horsea: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["bubble", "haze"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["bubble", "haze"]},
],
tier: "LC",
},
@@ -1589,7 +1589,7 @@ exports.BattleFormatsData = {
},
goldeen: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["peck", "tailwhip", "swordsdance"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["peck", "tailwhip", "swordsdance"]},
],
tier: "LC",
},
@@ -1617,7 +1617,7 @@ exports.BattleFormatsData = {
},
staryu: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "harden", "twister"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "harden", "twister"]},
],
tier: "LC",
},
@@ -1674,7 +1674,7 @@ exports.BattleFormatsData = {
fillerMoves1: ["icepunch", "firepunch", "hypnosis", "thunderwave", "encore"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["barrier", "mindreader"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["barrier", "mindreader"]},
],
tier: "NU",
},
@@ -1713,7 +1713,7 @@ exports.BattleFormatsData = {
fillerMoves1: ["wingattack", "hiddenpowerrock", "hiddenpowerrock"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["quickattack", "leer", "sonicboom"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["quickattack", "leer", "sonicboom"]},
],
tier: "UU",
},
@@ -1755,9 +1755,9 @@ exports.BattleFormatsData = {
},
smoochum: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["pound", "lick", "metronome"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["pound", "lick", "petaldance"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["pound", "lick", "dizzypunch"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["pound", "lick", "metronome"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["pound", "lick", "petaldance"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["pound", "lick", "dizzypunch"]},
],
tier: "LC",
},
@@ -1788,8 +1788,8 @@ exports.BattleFormatsData = {
},
elekid: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["quickattack", "leer", "dizzypunch"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["quickattack", "leer", "pursuit"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["quickattack", "leer", "dizzypunch"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["quickattack", "leer", "pursuit"]},
],
tier: "LC",
},
@@ -1818,8 +1818,8 @@ exports.BattleFormatsData = {
},
magby: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["ember", "feintattack"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["ember", "dizzypunch"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["ember", "feintattack"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["ember", "dizzypunch"]},
],
tier: "LC",
},
@@ -1863,7 +1863,7 @@ exports.BattleFormatsData = {
fillerMoves2: ["hiddenpowerbug", "hiddenpowerrock", "hiddenpowerground"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["vicegrip", "rockthrow"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["vicegrip", "rockthrow"]},
],
tier: "UU",
},
@@ -1893,15 +1893,15 @@ exports.BattleFormatsData = {
fillerMoves1: ["hiddenpowerbug", "irontail", "quickattack"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "tailwhip", "quickattack"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "tailwhip", "quickattack"]},
],
tier: "BL",
},
magikarp: {
eventPokemon: [
{"generation": 1, "level": 5, "moves":["dragonrage"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["splash", "bubble"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["splash", "reversal"]},
{"generation": 1, "level": 5, "moves": ["dragonrage"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["splash", "bubble"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["splash", "reversal"]},
],
tier: "LC",
},
@@ -1961,8 +1961,8 @@ exports.BattleFormatsData = {
fillerMoves3: ["rest", "sing", "confuseray", "reflect"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["watergun", "growl", "sing", "bite"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["watergun", "growl", "sing", "futuresight"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["watergun", "growl", "sing", "bite"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["watergun", "growl", "sing", "futuresight"]},
],
tier: "BL",
},
@@ -1976,7 +1976,7 @@ exports.BattleFormatsData = {
},
eevee: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "tailwhip", "growth"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "tailwhip", "growth"]},
],
tier: "LC",
},
@@ -2133,7 +2133,7 @@ exports.BattleFormatsData = {
},
porygon: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "conversion", "barrier"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "conversion", "barrier"]},
],
tier: "LC",
},
@@ -2155,7 +2155,7 @@ exports.BattleFormatsData = {
},
omanyte: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["constrict", "withdraw", "rockthrow"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["constrict", "withdraw", "rockthrow"]},
],
tier: "LC",
},
@@ -2185,7 +2185,7 @@ exports.BattleFormatsData = {
},
kabuto: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["scratch", "harden", "rockthrow"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["scratch", "harden", "rockthrow"]},
],
tier: "LC",
},
@@ -2223,7 +2223,7 @@ exports.BattleFormatsData = {
fillerMoves1: ["hiddenpowerflying", "whirlwind"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["wingattack", "rockthrow"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["wingattack", "rockthrow"]},
],
tier: "BL",
},
@@ -2255,9 +2255,9 @@ exports.BattleFormatsData = {
baseMove1: "bellydrum", baseMove2: "return", baseMove3: "earthquake", baseMove4: "lovelykiss",
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "lovelykiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "splash"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "sweetkiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "lovelykiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "splash"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "sweetkiss"]},
],
tier: "OU",
},
@@ -2276,7 +2276,7 @@ exports.BattleFormatsData = {
fillerMoves1: ["toxic", "toxic", "toxic", "hiddenpowerelectric", "hiddenpowerflying", "return"],
},
eventPokemon: [
{"generation": 2, "level": 50, "shiny": true, "moves":["mist", "agility", "mindreader", "icebeam"]},
{"generation": 2, "level": 50, "shiny": true, "moves": ["mist", "agility", "mindreader", "icebeam"]},
],
tier: "BL",
},
@@ -2317,7 +2317,7 @@ exports.BattleFormatsData = {
fillerMoves2: ["thunderwave", "thunderwave", "thunderwave", "toxic", "lightscreen", "reflect"],
},
eventPokemon: [
{"generation": 2, "level": 50, "shiny": true, "moves":["thunderwave", "agility", "detect", "drillpeck"]},
{"generation": 2, "level": 50, "shiny": true, "moves": ["thunderwave", "agility", "detect", "drillpeck"]},
],
tier: "OU",
},
@@ -2340,14 +2340,14 @@ exports.BattleFormatsData = {
fillerMoves1: ["hiddenpowergrass", "hiddenpowergrass", "return"],
},
eventPokemon: [
{"generation": 2, "level": 50, "shiny": true, "moves":["firespin", "agility", "endure", "flamethrower"]},
{"generation": 2, "level": 50, "shiny": true, "moves": ["firespin", "agility", "endure", "flamethrower"]},
],
tier: "BL",
},
dratini: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["wrap", "leer", "hydropump"]},
{"generation": 2, "level": 15, "shiny": 1, "moves":["wrap", "thunderwave", "twister", "extremespeed"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["wrap", "leer", "hydropump"]},
{"generation": 2, "level": 15, "shiny": 1, "moves": ["wrap", "thunderwave", "twister", "extremespeed"]},
],
tier: "LC",
},
@@ -2403,7 +2403,7 @@ exports.BattleFormatsData = {
fillerMoves2: ["reflect", "reflect", "icebeam", "thunderbolt", "fireblast"],
},
eventPokemon: [
{"generation": 2, "level": 70, "shiny": true, "moves":["psychup", "futuresight", "mist", "psychic"]},
{"generation": 2, "level": 70, "shiny": true, "moves": ["psychup", "futuresight", "mist", "psychic"]},
],
tier: "Uber",
},
@@ -2431,15 +2431,15 @@ exports.BattleFormatsData = {
fillerMoves2: ["reflect", "reflect", "reflect", "reflect", "earthquake", "icebeam", "thunderbolt", "fireblast"],
},
eventPokemon: [
{"generation": 1, "level": 5, "moves":["pound"]},
{"generation": 2, "level": 5, "moves":["pound"]},
{"generation": 1, "level": 5, "moves": ["pound"]},
{"generation": 2, "level": 5, "moves": ["pound"]},
],
eventOnly: true,
tier: "Uber",
},
chikorita: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "growl", "petaldance"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "growl", "petaldance"]},
],
tier: "LC",
},
@@ -2470,13 +2470,13 @@ exports.BattleFormatsData = {
fillerMoves4: ["synthesis", "synthesis", "synthesis", "leechseed", "leechseed"],
},
eventPokemon: [
{"generation": 2, "level": 40, "shiny": true, "moves":["reflect", "poisonpowder", "synthesis", "bodyslam"]},
{"generation": 2, "level": 40, "shiny": true, "moves": ["reflect", "poisonpowder", "synthesis", "bodyslam"]},
],
tier: "BL",
},
cyndaquil: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "leer", "doubleedge"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "leer", "doubleedge"]},
],
tier: "LC",
},
@@ -2502,13 +2502,13 @@ exports.BattleFormatsData = {
fillerMoves1: ["earthquake", "thunderpunch"],
},
eventPokemon: [
{"generation": 2, "level": 40, "shiny": true, "moves":["smokescreen", "ember", "quickattack", "flamewheel"]},
{"generation": 2, "level": 40, "shiny": true, "moves": ["smokescreen", "ember", "quickattack", "flamewheel"]},
],
tier: "BL",
},
totodile: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["scratch", "leer", "submission"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["scratch", "leer", "submission"]},
],
tier: "LC",
},
@@ -2544,13 +2544,13 @@ exports.BattleFormatsData = {
fillerMoves2: ["earthquake", "icebeam"],
},
eventPokemon: [
{"generation": 2, "level": 40, "shiny": true, "moves":["watergun", "bite", "scaryface", "slash"]},
{"generation": 2, "level": 40, "shiny": true, "moves": ["watergun", "bite", "scaryface", "slash"]},
],
tier: "UU",
},
sentret: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "defensecurl", "dizzypunch"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "defensecurl", "dizzypunch"]},
],
tier: "LC",
},
@@ -2593,7 +2593,7 @@ exports.BattleFormatsData = {
},
hoothoot: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "growl", "nightshade"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "growl", "nightshade"]},
],
tier: "LC",
},
@@ -2623,7 +2623,7 @@ exports.BattleFormatsData = {
},
ledyba: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "barrier"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "barrier"]},
],
tier: "LC",
},
@@ -2660,7 +2660,7 @@ exports.BattleFormatsData = {
},
spinarak: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["poisonsting", "stringshot", "growth"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["poisonsting", "stringshot", "growth"]},
],
tier: "LC",
},
@@ -2688,7 +2688,7 @@ exports.BattleFormatsData = {
},
chinchou: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["bubble", "thunderwave", "supersonic", "lightscreen"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["bubble", "thunderwave", "supersonic", "lightscreen"]},
],
tier: "LC",
},
@@ -2742,7 +2742,7 @@ exports.BattleFormatsData = {
},
natu: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["peck", "leer", "safeguard"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["peck", "leer", "safeguard"]},
],
tier: "LC",
},
@@ -2791,9 +2791,9 @@ exports.BattleFormatsData = {
},
marill: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "defensecurl", "dizzypunch"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "defensecurl", "hydropump"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "defensecurl", "scaryface"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "defensecurl", "dizzypunch"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "defensecurl", "hydropump"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "defensecurl", "scaryface"]},
],
tier: "LC",
},
@@ -2836,13 +2836,13 @@ exports.BattleFormatsData = {
baseMove1: "rockslide", baseMove2: "earthquake", baseMove3: "rest", baseMove4: "sleeptalk",
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["rockthrow", "mimic", "substitute"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["rockthrow", "mimic", "substitute"]},
],
tier: "NU",
},
hoppip: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["splash", "synthesis", "tailwhip", "agility"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["splash", "synthesis", "tailwhip", "agility"]},
],
tier: "LC",
},
@@ -2895,13 +2895,13 @@ exports.BattleFormatsData = {
fillerMoves3: ["hiddenpowerground", "shadowball", "irontail", "thunderbolt", "thunder"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["scratch", "tailwhip", "mimic"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["scratch", "tailwhip", "mimic"]},
],
tier: "NU",
},
sunkern: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["absorb", "growth", "splash"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["absorb", "growth", "splash"]},
],
tier: "LC",
},
@@ -2938,15 +2938,15 @@ exports.BattleFormatsData = {
fillerMoves3: ["whirlwind", "whirlwind", "sweetkiss"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "foresight", "steelwing"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "foresight", "sweetkiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "foresight", "steelwing"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "foresight", "sweetkiss"]},
],
tier: "NU",
},
wooper: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["watergun", "tailwhip", "bellydrum"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["watergun", "tailwhip", "scaryface"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["watergun", "tailwhip", "bellydrum"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["watergun", "tailwhip", "scaryface"]},
],
tier: "LC",
},
@@ -2988,7 +2988,7 @@ exports.BattleFormatsData = {
fillerMoves2: ["pursuit", "nightshade"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["peck", "beatup"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["peck", "beatup"]},
],
tier: "NU",
},
@@ -3008,7 +3008,7 @@ exports.BattleFormatsData = {
fillerMoves4: ["destinybond", "rest", "painsplit", "painsplit"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["growl", "hypnosis"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["growl", "hypnosis"]},
],
tier: "OU",
},
@@ -3044,7 +3044,7 @@ exports.BattleFormatsData = {
fillerMoves2: ["mimic", "mimic", "safeguard", "safeguard", "destinybond"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["mirrorcoat", "safeguard", "destinybond", "mimic"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["mirrorcoat", "safeguard", "destinybond", "mimic"]},
],
tier: "NU",
},
@@ -3075,7 +3075,7 @@ exports.BattleFormatsData = {
},
pineco: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "protect", "substitute"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "protect", "substitute"]},
],
tier: "LC",
},
@@ -3119,8 +3119,8 @@ exports.BattleFormatsData = {
fillerMoves1: ["thunderbolt", "thunder", "curse", "curse", "flamethrower", "irontail"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["rage", "defensecurl", "furyattack"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["rage", "defensecurl", "horndrill"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["rage", "defensecurl", "furyattack"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["rage", "defensecurl", "horndrill"]},
],
tier: "NU",
},
@@ -3137,13 +3137,13 @@ exports.BattleFormatsData = {
baseMove1: "earthquake", baseMove2: "wingattack", baseMove3: "hiddenpowerrock", baseMove4: "thief",
},
eventPokemon: [
{"generation": 2, "level": 5, "moves":["earthquake", "poisonsting", "counter", "wingattack"]},
{"generation": 2, "level": 5, "moves": ["earthquake", "poisonsting", "counter", "wingattack"]},
],
tier: "UU",
},
snubbull: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "scaryface", "tailwhip", "lovelykiss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "scaryface", "tailwhip", "lovelykiss"]},
],
tier: "LC",
},
@@ -3184,7 +3184,7 @@ exports.BattleFormatsData = {
fillerMoves2: ["curse", "curse", "curse", "haze"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "poisonsting", "doubleedge"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "poisonsting", "doubleedge"]},
],
tier: "UU",
},
@@ -3216,7 +3216,7 @@ exports.BattleFormatsData = {
fillerMoves1: ["earthquake", "earthquake", "curse"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "leer", "seismictoss"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "leer", "seismictoss"]},
],
tier: "OU",
},
@@ -3228,13 +3228,13 @@ exports.BattleFormatsData = {
fillerMoves1: ["irontail", "irontail", "dynamicpunch", "dynamicpunch", "counter", "curse"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["scratch", "leer", "moonlight"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["scratch", "leer", "moonlight"]},
],
tier: "NU",
},
teddiursa: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["scratch", "leer", "sweetscent"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["scratch", "leer", "sweetscent"]},
],
tier: "LC",
},
@@ -3289,7 +3289,7 @@ exports.BattleFormatsData = {
},
swinub: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "whirlwind"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "whirlwind"]},
],
tier: "LC",
},
@@ -3328,8 +3328,8 @@ exports.BattleFormatsData = {
},
remoraid: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["watergun", "amnesia"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["watergun", "mist"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["watergun", "amnesia"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["watergun", "mist"]},
],
tier: "LC",
},
@@ -3360,8 +3360,8 @@ exports.BattleFormatsData = {
fillerMoves1: ["hiddenpowerelectric", "hiddenpowergrass", "hiddenpowerflying", "present", "sleeptalk"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["present", "payday"]},
{"generation": 2, "level": 5, "shiny": 1, "moves":["present", "spikes"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["present", "payday"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["present", "spikes"]},
],
tier: "NU",
},
@@ -3381,7 +3381,7 @@ exports.BattleFormatsData = {
fillerMoves3: ["confuseray", "haze", "rest", "toxic"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "bubble", "gust"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "bubble", "gust"]},
],
tier: "NU",
},
@@ -3398,7 +3398,7 @@ exports.BattleFormatsData = {
baseMove1: "drillpeck", baseMove2: "whirlwind", baseMove3: "rest", baseMove4: "thief",
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["leer", "peck", "furycutter"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["leer", "peck", "furycutter"]},
],
tier: "OU",
},
@@ -3434,8 +3434,8 @@ exports.BattleFormatsData = {
},
phanpy: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "growl", "absorb"]},
{"generation": 2, "level": 5, "moves":["tackle", "growl", "encore"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "growl", "absorb"]},
{"generation": 2, "level": 5, "moves": ["tackle", "growl", "encore"]},
],
tier: "LC",
},
@@ -3486,7 +3486,7 @@ exports.BattleFormatsData = {
baseMove1: "return", baseMove2: "earthquake", baseMove3: "rest", baseMove4: "sleeptalk",
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "safeguard"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "safeguard"]},
],
tier: "NU",
},
@@ -3521,7 +3521,7 @@ exports.BattleFormatsData = {
fillerMoves1: ["earthquake", "earthquake", "curse", "toxic"],
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["tackle", "growl", "megakick"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["tackle", "growl", "megakick"]},
],
tier: "OU",
},
@@ -3545,7 +3545,7 @@ exports.BattleFormatsData = {
fillerMoves1: ["rest", "roar", "reflect", "toxic"],
},
eventPokemon: [
{"generation": 2, "level": 40, "shiny": true, "moves":["leer", "thundershock", "roar", "quickattack"]},
{"generation": 2, "level": 40, "shiny": true, "moves": ["leer", "thundershock", "roar", "quickattack"]},
],
tier: "OU",
},
@@ -3566,7 +3566,7 @@ exports.BattleFormatsData = {
baseMove1: "fireblast", baseMove2: "return", baseMove3: "sunnyday", baseMove4: "solarbeam",
},
eventPokemon: [
{"generation": 2, "level": 40, "shiny": true, "moves":["leer", "ember", "roar", "firespin"]},
{"generation": 2, "level": 40, "shiny": true, "moves": ["leer", "ember", "roar", "firespin"]},
],
tier: "BL",
},
@@ -3585,13 +3585,13 @@ exports.BattleFormatsData = {
fillerMoves2: ["roar", "roar", "mirrorcoat"],
},
eventPokemon: [
{"generation": 2, "level": 40, "shiny": true, "moves":["leer", "watergun", "roar", "gust"]},
{"generation": 2, "level": 40, "shiny": true, "moves": ["leer", "watergun", "roar", "gust"]},
],
tier: "OU",
},
larvitar: {
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["bite", "leer", "rage"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["bite", "leer", "rage"]},
],
tier: "LC",
},
@@ -3637,7 +3637,7 @@ exports.BattleFormatsData = {
fillerMoves3: ["recover", "recover", "rest"],
},
eventPokemon: [
{"generation": 2, "level": 40, "shiny": true, "moves":["aeroblast", "safeguard", "gust", "recover"]},
{"generation": 2, "level": 40, "shiny": true, "moves": ["aeroblast", "safeguard", "gust", "recover"]},
],
tier: "Uber",
},
@@ -3650,7 +3650,7 @@ exports.BattleFormatsData = {
fillerMoves2: ["thunderbolt", "thunder"],
},
eventPokemon: [
{"generation": 2, "level": 40, "shiny": true, "moves":["sacredfire", "safeguard", "gust", "recover"]},
{"generation": 2, "level": 40, "shiny": true, "moves": ["sacredfire", "safeguard", "gust", "recover"]},
],
tier: "Uber",
},
@@ -3667,7 +3667,7 @@ exports.BattleFormatsData = {
baseMove1: "healbell", baseMove2: "recover", baseMove3: "curse", baseMove4: "batonpass",
},
eventPokemon: [
{"generation": 2, "level": 5, "shiny": 1, "moves":["leechseed", "confusion", "healbell", "recover"]},
{"generation": 2, "level": 5, "shiny": 1, "moves": ["leechseed", "confusion", "healbell", "recover"]},
],
eventOnly: true,
tier: "Uber",

View File

@@ -19,16 +19,16 @@ class RandomGen2Teams extends RandomGen3Teams {
let tierCount = {};
let typeCount = {};
let weaknessCount = {
'Normal':0, 'Fighting':0, 'Flying':0, 'Poison':0, 'Ground':0, 'Rock':0, 'Bug':0, 'Ghost':0, 'Steel':0,
'Fire':0, 'Water':0, 'Grass':0, 'Electric':0, 'Psychic':0, 'Ice':0, 'Dragon':0, 'Dark':0,
'Normal': 0, 'Fighting': 0, 'Flying': 0, 'Poison': 0, 'Ground': 0, 'Rock': 0, 'Bug': 0, 'Ghost': 0, 'Steel': 0,
'Fire': 0, 'Water': 0, 'Grass': 0, 'Electric': 0, 'Psychic': 0, 'Ice': 0, 'Dragon': 0, 'Dark': 0,
};
let resistanceCount = {
'Normal':0, 'Fighting':0, 'Flying':0, 'Poison':0, 'Ground':0, 'Rock':0, 'Bug':0, 'Ghost':0, 'Steel':0,
'Fire':0, 'Water':0, 'Grass':0, 'Electric':0, 'Psychic':0, 'Ice':0, 'Dragon':0, 'Dark':0,
'Normal': 0, 'Fighting': 0, 'Flying': 0, 'Poison': 0, 'Ground': 0, 'Rock': 0, 'Bug': 0, 'Ghost': 0, 'Steel': 0,
'Fire': 0, 'Water': 0, 'Grass': 0, 'Electric': 0, 'Psychic': 0, 'Ice': 0, 'Dragon': 0, 'Dark': 0,
};
let restrictMoves = {
'reflect':1, 'lightscreen':1, 'rapidspin':1, 'spikes':1, 'bellydrum':1, 'haze':1,
'healbell':1, 'thief':1, 'phazing':1, 'sleeptalk':2, 'sleeping':2,
'reflect': 1, 'lightscreen': 1, 'rapidspin': 1, 'spikes': 1, 'bellydrum': 1, 'haze': 1,
'healbell': 1, 'thief': 1, 'phazing': 1, 'sleeptalk': 2, 'sleeping': 2,
};
while (pokemonPool.length && pokemonLeft > 0) {

View File

@@ -170,7 +170,7 @@ exports.BattleMovedex = {
desc: "Lowers the target's evasiveness by 1 stage. If this move is successful and whether or not the target's evasiveness was affected, the effects of Reflect, Light Screen, Safeguard, Mist, Spikes, Toxic Spikes, and Stealth Rock end for the target's side. Ignores a target's substitute, although a substitute will still block the lowering of evasiveness.",
shortDesc: "-1 evasion; clears target side's hazards/screens.",
onHit: function (pokemon) {
if (!pokemon.volatiles['substitute']) this.boost({evasion:-1});
if (!pokemon.volatiles['substitute']) this.boost({evasion: -1});
let sideConditions = ['reflect', 'lightscreen', 'safeguard', 'mist', 'spikes', 'toxicspikes', 'stealthrock'];
for (let condition of sideConditions) {
if (pokemon.side.removeSideCondition(condition)) {

View File

@@ -112,7 +112,7 @@ exports.BattleAbilities = {
shortDesc: "If a physical attack hits this Pokemon, Defense is lowered by 1, Speed is raised by 1.",
onAfterDamage: function (damage, target, source, move) {
if (move.category === 'Physical') {
this.boost({def:-1, spe:1});
this.boost({def: -1, spe: 1});
}
},
rating: 0.5,

View File

@@ -112,7 +112,7 @@ exports.BattleMovedex = {
shortDesc: "Raises user's Attack by 2 if this KOes the target.",
basePower: 30,
onAfterMoveSecondarySelf: function (pokemon, target, move) {
if (!target || target.fainted || target.hp <= 0) this.boost({atk:2}, pokemon, pokemon, move);
if (!target || target.fainted || target.hp <= 0) this.boost({atk: 2}, pokemon, pokemon, move);
},
},
flyingpress: {

View File

@@ -185,7 +185,7 @@ exports.BattleAbilities = {
if (pokemon.isActive && pokemon.speciesid === 'cherrim' && this.effectData.forme !== 'Sunshine') {
this.effectData.forme = 'Sunshine';
this.add('-formechange', pokemon, 'Cherrim-Sunshine', '[msg]');
this.boost({spd:1});
this.boost({spd: 1});
}
} else if (pokemon.isActive && pokemon.speciesid === 'cherrim' && this.effectData.forme) {
delete this.effectData.forme;
@@ -196,7 +196,7 @@ exports.BattleAbilities = {
onSwitchInPriority: 1,
onSwitchIn: function (target) {
if (!target.fainted) {
this.boost({spd:1}, target, target, this.getAbility('flowergift'));
this.boost({spd: 1}, target, target, this.getAbility('flowergift'));
}
target.side.removeSideCondition('flowergift');
},
@@ -337,9 +337,9 @@ exports.BattleAbilities = {
totalspd += foeactive[i].stats.spd;
}
if (totaldef && totaldef >= totalspd) {
this.boost({spa:1});
this.boost({spa: 1});
} else if (totalspd) {
this.boost({atk:1});
this.boost({atk: 1});
}
},
desc: "On switch-in, this Pokemon's Attack or Special Attack is raised by 1 stage based on the weaker combined defensive stat of all opposing Pokemon. Attack is raised if their Defense is lower, and Special Attack is raised if their Special Defense is the same or lower. If the user is a Genesect, this will not have effect unless it holds a Drive.",
@@ -598,7 +598,7 @@ exports.BattleAbilities = {
onResidualPriority: -1,
onResidual: function (pokemon) {
if (pokemon.activeTurns && !pokemon.volatiles.stall) {
this.boost({spe:1});
this.boost({spe: 1});
}
},
desc: "This Pokemon's Speed is raised by 1 stage at the end of each full turn it has been on the field. This ability does not activate on turns Protect, Detect, Endure, etc are used.",

View File

@@ -228,7 +228,7 @@ exports.BattleMovedex = {
}
}
if (move.flags['contact']) {
this.boost({atk:-2}, source, target, this.getMove("King's Shield"));
this.boost({atk: -2}, source, target, this.getMove("King's Shield"));
}
return null;
},
@@ -1362,8 +1362,8 @@ exports.BattleMovedex = {
},
accuracy: 100,
secondaries: [
{chance:20, status:'brn'},
{chance:30, volatileStatus:'flinch'},
{chance: 20, status: 'brn'},
{chance: 30, volatileStatus: 'flinch'},
],
desc: "Has a 20% chance to burn the target and a 30% chance to flinch it. If the user is a Flareon, this move does 1.5x more damage.",
shortDesc: "20% chance to burn. 30% chance to flinch.",
@@ -1375,8 +1375,8 @@ exports.BattleMovedex = {
},
accuracy: 100,
secondaries: [
{chance:20, status:'frz'},
{chance:30, volatileStatus:'flinch'},
{chance: 20, status: 'frz'},
{chance: 30, volatileStatus: 'flinch'},
],
desc: "Has a 20% chance to freeze the target and a 30% chance to flinch it. If the user is a Walrein, this move does 1.5x more damage.",
shortDesc: "20% chance to freeze. 30% chance to flinch.",
@@ -1388,8 +1388,8 @@ exports.BattleMovedex = {
},
accuracy: 100,
secondaries: [
{chance:20, status:'par'},
{chance:30, volatileStatus:'flinch'},
{chance: 20, status: 'par'},
{chance: 30, volatileStatus: 'flinch'},
],
desc: "Has a 20% chance to paralyze the target and a 30% chance to flinch it. If the user is a Luxray, this move does 1.5x more damage.",
shortDesc: "20% chance to paralyze. 30% chance to flinch.",
@@ -1401,8 +1401,8 @@ exports.BattleMovedex = {
},
accuracy: 100,
secondaries: [
{chance: 100, status:'tox'},
{chance: 30, volatileStatus:'flinch'},
{chance: 100, status: 'tox'},
{chance: 30, volatileStatus: 'flinch'},
],
desc: "Has a 100% chance to badly poison the target and a 30% chance to flinch it. If the user is a Drapion, this move does 1.5x more damage.",
shortDesc: "100% chance to badly poison. 30% chance to flinch.",

View File

@@ -65,12 +65,12 @@ exports.BattleMovedex = {
onLockMove: 'rage',
onTryHit: function (target, source, move) {
if (target.boosts.atk < 6 && move.id === 'disable') {
this.boost({atk:1});
this.boost({atk: 1});
}
},
onHit: function (target, source, move) {
if (target.boosts.atk < 6 && move.category !== 'Status') {
this.boost({atk:1});
this.boost({atk: 1});
}
},
onMoveFail: function () {},

View File

@@ -632,7 +632,7 @@ class GlobalRoom extends BasicRoom {
*/
getRooms(user) {
/** @type {any} */
let roomsData = {official:[], pspl:[], chat:[], userCount: this.userCount, battleCount: this.battleCount};
let roomsData = {official: [], pspl: [], chat: [], userCount: this.userCount, battleCount: this.battleCount};
for (const room of this.chatRooms) {
if (!room) continue;
if (room.isPrivate && !(room.isPrivate === 'voice' && user.group !== ' ')) continue;

View File

@@ -56,9 +56,9 @@ class Battle extends Dex.ModdedDex {
this.sides = [null, null];
this.rated = rated;
/**@type {AnyObject} */
this.weatherData = {id:''};
this.weatherData = {id: ''};
/**@type {AnyObject} */
this.terrainData = {id:''};
this.terrainData = {id: ''};
this.pseudoWeather = {};
this.format = format.id;
@@ -67,11 +67,11 @@ class Battle extends Dex.ModdedDex {
/**@type {Effect} */
// @ts-ignore
this.effect = {id:''};
this.effect = {id: ''};
/**@type {AnyObject} */
this.effectData = {id:''};
this.effectData = {id: ''};
/**@type {AnyObject} */
this.event = {id:''};
this.event = {id: ''};
this.gameType = (format.gameType || 'singles');
this.reportExactHP = !!format.debug;
@@ -2109,7 +2109,7 @@ class Battle extends Dex.ModdedDex {
let defender = target;
let attackStat = category === 'Physical' ? 'atk' : 'spa';
let defenseStat = defensiveCategory === 'Physical' ? 'def' : 'spd';
let statTable = {atk:'Atk', def:'Def', spa:'SpA', spd:'SpD', spe:'Spe'};
let statTable = {atk: 'Atk', def: 'Def', spa: 'SpA', spd: 'SpD', spe: 'Spe'};
let attack;
let defense;

View File

@@ -67,31 +67,31 @@ const DATA_FILES = {
/** @typedef {{Pokedex: DexTable, Movedex: DexTable, Statuses: DexTable, TypeChart: DexTable, Scripts: DexTable, Items: DexTable, Abilities: DexTable, FormatsData: DexTable, Learnsets: DexTable, Aliases: {[id: string]: string}, Natures: DexTable, Formats: DexTable}} DexTableData */
const BattleNatures = {
adamant: {name:"Adamant", plus:'atk', minus:'spa'},
bashful: {name:"Bashful"},
bold: {name:"Bold", plus:'def', minus:'atk'},
brave: {name:"Brave", plus:'atk', minus:'spe'},
calm: {name:"Calm", plus:'spd', minus:'atk'},
careful: {name:"Careful", plus:'spd', minus:'spa'},
docile: {name:"Docile"},
gentle: {name:"Gentle", plus:'spd', minus:'def'},
hardy: {name:"Hardy"},
hasty: {name:"Hasty", plus:'spe', minus:'def'},
impish: {name:"Impish", plus:'def', minus:'spa'},
jolly: {name:"Jolly", plus:'spe', minus:'spa'},
lax: {name:"Lax", plus:'def', minus:'spd'},
lonely: {name:"Lonely", plus:'atk', minus:'def'},
mild: {name:"Mild", plus:'spa', minus:'def'},
modest: {name:"Modest", plus:'spa', minus:'atk'},
naive: {name:"Naive", plus:'spe', minus:'spd'},
naughty: {name:"Naughty", plus:'atk', minus:'spd'},
quiet: {name:"Quiet", plus:'spa', minus:'spe'},
quirky: {name:"Quirky"},
rash: {name:"Rash", plus:'spa', minus:'spd'},
relaxed: {name:"Relaxed", plus:'def', minus:'spe'},
sassy: {name:"Sassy", plus:'spd', minus:'spe'},
serious: {name:"Serious"},
timid: {name:"Timid", plus:'spe', minus:'atk'},
adamant: {name: "Adamant", plus: 'atk', minus: 'spa'},
bashful: {name: "Bashful"},
bold: {name: "Bold", plus: 'def', minus: 'atk'},
brave: {name: "Brave", plus: 'atk', minus: 'spe'},
calm: {name: "Calm", plus: 'spd', minus: 'atk'},
careful: {name: "Careful", plus: 'spd', minus: 'spa'},
docile: {name: "Docile"},
gentle: {name: "Gentle", plus: 'spd', minus: 'def'},
hardy: {name: "Hardy"},
hasty: {name: "Hasty", plus: 'spe', minus: 'def'},
impish: {name: "Impish", plus: 'def', minus: 'spa'},
jolly: {name: "Jolly", plus: 'spe', minus: 'spa'},
lax: {name: "Lax", plus: 'def', minus: 'spd'},
lonely: {name: "Lonely", plus: 'atk', minus: 'def'},
mild: {name: "Mild", plus: 'spa', minus: 'def'},
modest: {name: "Modest", plus: 'spa', minus: 'atk'},
naive: {name: "Naive", plus: 'spe', minus: 'spd'},
naughty: {name: "Naughty", plus: 'atk', minus: 'spd'},
quiet: {name: "Quiet", plus: 'spa', minus: 'spe'},
quirky: {name: "Quirky"},
rash: {name: "Rash", plus: 'spa', minus: 'spd'},
relaxed: {name: "Relaxed", plus: 'def', minus: 'spe'},
sassy: {name: "Sassy", plus: 'spd', minus: 'spe'},
serious: {name: "Serious"},
timid: {name: "Timid", plus: 'spe', minus: 'atk'},
};
const toId = Data.Tools.getId;
@@ -666,7 +666,7 @@ class ModdedDex {
* @return {AnyObject}
*/
spreadModify(stats, set) {
const modStats = {atk:10, def:10, spa:10, spd:10, spe:10};
const modStats = {atk: 10, def: 10, spa: 10, spd: 10, spe: 10};
for (let statName in modStats) {
let stat = stats[statName];
modStats[statName] = Math.floor(Math.floor(2 * stat + set.ivs[statName] + Math.floor(set.evs[statName] / 4)) * set.level / 100 + 5);

View File

@@ -106,7 +106,7 @@ class Pokemon {
set.level = this.battle.clampIntRange(set.forcedLevel || set.level || 100, 1, 9999);
this.level = set.level;
let genders = {M:'M', F:'F', N:'N'};
let genders = {M: 'M', F: 'F', N: 'N'};
this.gender = genders[set.gender] || this.template.gender || (Math.random() * 2 < 1 ? 'M' : 'F');
if (this.gender === 'N') this.gender = '';
this.happiness = typeof set.happiness === 'number' ? this.battle.clampIntRange(set.happiness, 0, 255) : 255;
@@ -199,11 +199,11 @@ class Pokemon {
/**@type {{[k: string]: number}} */
this.boosts = {atk: 0, def: 0, spa: 0, spd: 0, spe: 0, accuracy: 0, evasion: 0};
this.stats = {atk:0, def:0, spa:0, spd:0, spe:0};
this.stats = {atk: 0, def: 0, spa: 0, spd: 0, spe: 0};
// This is used in gen 1 only, here to avoid code repetition.
// Only declared if gen 1 to avoid declaring an object we aren't going to need.
if (this.battle.gen === 1) this.modifiedStats = {atk:0, def:0, spa:0, spd:0, spe:0};
if (this.battle.gen === 1) this.modifiedStats = {atk: 0, def: 0, spa: 0, spd: 0, spe: 0};
this.isStale = 0;
this.isStaleCon = 0;
@@ -334,7 +334,7 @@ class Pokemon {
// stat modifier effects
if (!unmodified) {
let statTable = {atk:'Atk', def:'Def', spa:'SpA', spd:'SpD', spe:'Spe'};
let statTable = {atk: 'Atk', def: 'Def', spa: 'SpA', spd: 'SpD', spe: 'Spe'};
stat = this.battle.runEvent('Modify' + statTable[statName], this, null, null, stat);
}

View File

@@ -179,7 +179,7 @@ class Validator {
let name = set.species;
if (set.species !== set.name && template.baseSpecies !== set.name) name = `${set.name} (${set.species})`;
let isHidden = false;
let lsetData = /** @type {PokemonSources} */ ({sources:[], sourcesBefore:dex.gen});
let lsetData = /** @type {PokemonSources} */ ({sources: [], sourcesBefore: dex.gen});
let setHas = {};
const ruleTable = this.ruleTable;
@@ -740,7 +740,7 @@ class Validator {
const canBottleCap = (dex.gen >= 7 && set.level === 100);
if (!set.ivs) set.ivs = {hp: 31, atk: 31, def: 31, spa: 31, spd: 31, spe: 31};
let statTable = {hp:'HP', atk:'Attack', def:'Defense', spa:'Special Attack', spd:'Special Defense', spe:'Speed'};
let statTable = {hp: 'HP', atk: 'Attack', def: 'Defense', spa: 'Special Attack', spd: 'Special Defense', spe: 'Speed'};
for (let statId in eventData.ivs) {
// @ts-ignore TypeScript index signature bug
if (canBottleCap && set.ivs[statId] === 31) continue;
@@ -1140,21 +1140,21 @@ class Validator {
if (limit1 && sketch) {
// limit 1 sketch move
if (lsetData.sketchMove) {
return {type:'oversketched', maxSketches: 1};
return {type: 'oversketched', maxSketches: 1};
}
lsetData.sketchMove = moveid;
}
if (blockedHM) {
// Limit one of Defog/Whirlpool to be transferred
if (lsetData.hm) return {type:'incompatible'};
if (lsetData.hm) return {type: 'incompatible'};
lsetData.hm = moveid;
}
// Now that we have our list of possible sources, intersect it with the current list
if (!sourcesBefore && !sources.length) {
if (minPastGen > 1 && sometimesPossible) return {type:'pastgen', gen: minPastGen};
if (incompatibleAbility) return {type:'incompatibleAbility'};
if (minPastGen > 1 && sometimesPossible) return {type: 'pastgen', gen: minPastGen};
if (incompatibleAbility) return {type: 'incompatibleAbility'};
return {type: 'invalid'};
}
if (sourcesBefore || lsetData.sourcesBefore) {
@@ -1187,7 +1187,7 @@ class Validator {
}
}
if (!lsetData.sources.length && !sourcesBefore) {
return {type:'incompatible'};
return {type: 'incompatible'};
}
if (limitedEgg) {

View File

@@ -6,25 +6,25 @@ const TeamValidator = require('../../sim/team-validator');
describe('Team Validator features', function () {
describe('TeamValidator', function () {
it('should reject non-existent Pokemon', function () {
let team = [{species:'nonexistentPokemon', moves:['thunderbolt']}];
let team = [{species: 'nonexistentPokemon', moves: ['thunderbolt']}];
let illegal = TeamValidator('gen7customgame').validateTeam(team);
assert(illegal);
});
it('should reject non-existent items', function () {
let team = [{species:'pikachu', moves:['thunderbolt'], ability:'static', item:'nonexistentItem'}];
let team = [{species: 'pikachu', moves: ['thunderbolt'], ability: 'static', item: 'nonexistentItem'}];
let illegal = TeamValidator('gen7customgame').validateTeam(team);
assert(illegal);
});
it('should reject non-existent abilities', function () {
let team = [{species:'pikachu', moves:['thunderbolt'], ability:'nonexistentAbility'}];
let team = [{species: 'pikachu', moves: ['thunderbolt'], ability: 'nonexistentAbility'}];
let illegal = TeamValidator('gen7customgame').validateTeam(team);
assert(illegal);
});
it('should reject non-existent moves', function () {
let team = [{species:'pikachu', ability:'static', moves:['nonexistentMove']}];
let team = [{species: 'pikachu', ability: 'static', moves: ['nonexistentMove']}];
let illegal = TeamValidator('gen7customgame').validateTeam(team);
assert(illegal);
});
@@ -44,98 +44,98 @@ describe('Team Validator features', function () {
});
it('should reject non-existent natures', function () {
let team = [{species:'pikachu', ability:'static', moves:['thunderbolt'], nature:'nonexistentNature'}];
let team = [{species: 'pikachu', ability: 'static', moves: ['thunderbolt'], nature: 'nonexistentNature'}];
let illegal = TeamValidator('gen7customgame').validateTeam(team);
assert(illegal);
});
it('should reject invalid happiness values', function () {
let team = [{species:'pikachu', ability:'static', moves:['thunderbolt'], happiness:'invalidHappinessValue'}];
let team = [{species: 'pikachu', ability: 'static', moves: ['thunderbolt'], happiness: 'invalidHappinessValue'}];
let illegal = TeamValidator('gen7customgame').validateTeam(team);
assert(illegal);
});
it('should accept legal movesets', function () {
let team = [{species:'pikachu', ability:'static', moves:['agility', 'protect', 'thunder', 'thunderbolt']}];
let team = [{species: 'pikachu', ability: 'static', moves: ['agility', 'protect', 'thunder', 'thunderbolt']}];
let illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert.strictEqual(illegal, false);
team = [{species:'meowstic', ability:'prankster', moves:['trick', 'magiccoat']}];
team = [{species: 'meowstic', ability: 'prankster', moves: ['trick', 'magiccoat']}];
illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert.strictEqual(illegal, false);
});
it('should reject illegal movesets', function () {
let team = [{species:'pikachu', ability:'static', moves:['blastburn', 'frenzyplant', 'hydrocannon', 'dragonascent']}];
let team = [{species: 'pikachu', ability: 'static', moves: ['blastburn', 'frenzyplant', 'hydrocannon', 'dragonascent']}];
let illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert(illegal);
});
it('should reject illegal egg move combinations', function () {
let team = [{species:'azumarill', ability:'hugepower', moves:['bellydrum', 'aquajet']}];
let team = [{species: 'azumarill', ability: 'hugepower', moves: ['bellydrum', 'aquajet']}];
let illegal = TeamValidator('gen5ou').validateTeam(team);
assert(illegal);
team = [{species:'cloyster', moves:['rapidspin', 'explosion']}];
team = [{species: 'cloyster', moves: ['rapidspin', 'explosion']}];
illegal = TeamValidator('gen2ou').validateTeam(team);
assert(illegal);
});
it('should accept VC moves only with Hidden ability and correct IVs', function () {
let team = [{species:'machamp', ability:'steadfast', moves:['fissure']}];
let team = [{species: 'machamp', ability: 'steadfast', moves: ['fissure']}];
let illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert.strictEqual(illegal, false);
team = [{species:'tauros', ability:'sheerforce', moves:['bodyslam']}];
team = [{species: 'tauros', ability: 'sheerforce', moves: ['bodyslam']}];
illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert.strictEqual(illegal, false);
team = [{species:'tauros', ability:'intimidate', ivs:{hp:31, atk:31, def:30, spa:30, spd:30, spe:30}, moves:['bodyslam']}];
team = [{species: 'tauros', ability: 'intimidate', ivs: {hp: 31, atk: 31, def: 30, spa: 30, spd: 30, spe: 30}, moves: ['bodyslam']}];
illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert.strictEqual(illegal, false);
team = [{species:'machamp', ability:'noguard', moves:['fissure']}];
team = [{species: 'machamp', ability: 'noguard', moves: ['fissure']}];
illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert(illegal);
team = [{species:'tauros', ability:'sheerforce', ivs:{hp:31, atk:31, def:30, spa:30, spd:30, spe:30}, moves:['bodyslam']}];
team = [{species: 'tauros', ability: 'sheerforce', ivs: {hp: 31, atk: 31, def: 30, spa: 30, spd: 30, spe: 30}, moves: ['bodyslam']}];
illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert(illegal);
});
it('should correctly validate USUM Rockruff', function () {
let team = [{species:'rockruff', ability:'owntempo', moves:['happyhour']}];
let team = [{species: 'rockruff', ability: 'owntempo', moves: ['happyhour']}];
let illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert.strictEqual(illegal, false);
team = [{species:'rockruff', level: 9, ability:'owntempo', moves:['happyhour']}];
team = [{species: 'rockruff', level: 9, ability: 'owntempo', moves: ['happyhour']}];
illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert(illegal);
team = [{species:'rockruff', level: 9, ability:'owntempo', moves:['tackle']}];
team = [{species: 'rockruff', level: 9, ability: 'owntempo', moves: ['tackle']}];
illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert.strictEqual(illegal, false);
team = [{species:'rockruff', level: 9, ability:'steadfast', moves:['happyhour']}];
team = [{species: 'rockruff', level: 9, ability: 'steadfast', moves: ['happyhour']}];
illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert(illegal);
team = [{species:'lycanrocdusk', ability:'toughclaws', moves:['happyhour']}];
team = [{species: 'lycanrocdusk', ability: 'toughclaws', moves: ['happyhour']}];
illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert.strictEqual(illegal, false);
team = [{species:'lycanroc', ability:'steadfast', moves:['happyhour']}];
team = [{species: 'lycanroc', ability: 'steadfast', moves: ['happyhour']}];
illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert(illegal);
});
it('should accept both ability types for Mega Evolutions', function () {
// base forme ability
let team = [{species:'gyaradosmega', item:'gyaradosite', ability:'intimidate', moves:['dragondance', 'crunch', 'waterfall', 'icefang']}];
let team = [{species: 'gyaradosmega', item: 'gyaradosite', ability: 'intimidate', moves: ['dragondance', 'crunch', 'waterfall', 'icefang']}];
let illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert.strictEqual(illegal, false);
// mega forme ability
team = [{species:'gyaradosmega', item:'gyaradosite', ability:'moldbreaker', moves:['dragondance', 'crunch', 'waterfall', 'icefang']}];
team = [{species: 'gyaradosmega', item: 'gyaradosite', ability: 'moldbreaker', moves: ['dragondance', 'crunch', 'waterfall', 'icefang']}];
illegal = TeamValidator('gen7anythinggoes').validateTeam(team);
assert.strictEqual(illegal, false);
});
it('should reject newer Pokemon in older gens', function () {
let team = [{species:'pichu', ability:'static', moves:['thunderbolt']}];
let team = [{species: 'pichu', ability: 'static', moves: ['thunderbolt']}];
let illegal = TeamValidator('gen1ou').validateTeam(team);
assert(illegal);
});

View File

@@ -573,7 +573,7 @@ class User {
* Special permission check for promoting and demoting
*/
canPromote(sourceGroup, targetGroup) {
return this.can('promote', {group:sourceGroup}) && this.can('promote', {group:targetGroup});
return this.can('promote', {group: sourceGroup}) && this.can('promote', {group: targetGroup});
}
resetName(isForceRenamed) {
return this.forceRename('Guest ' + this.guestNum, false, isForceRenamed);