diff --git a/data/abilities.js b/data/abilities.js index cacbacea2..3daad60fc 100644 --- a/data/abilities.js +++ b/data/abilities.js @@ -245,31 +245,12 @@ exports.BattleAbilities = { "colorchange": { desc: "This Pokemon's type changes according to the type of the last move that hit this Pokemon.", shortDesc: "This Pokemon's type changes to match the type of the last move that hit it.", - onAfterMoveSecondary: function(target, source, effect) { - if (target.isActive && effect && effect.effectType === 'Move' && effect.category !== 'Status') { - target.addVolatile('colorchange', source, effect); - } - }, - effect: { - noCopy: true, - onStart: function(target, source, effect) { - this.effectData.type = 'Normal'; - if (effect && effect.type && effect.type !== 'Normal') { - this.add('-start', target, 'typechange', effect.type, '[from] Color Change'); - this.effectData.type = effect.type; - } else { - return false; + onAfterMoveSecondary: function(target, source, move) { + if (target.isActive && move && move.effectType === 'Move' && move.category !== 'Status') { + if (!target.hasType(move.type)) { + this.add('-start', target, 'typechange', move.type, '[from] Color Change'); + target.types = [move.type]; } - }, - onRestart: function(target, source, effect) { - if (effect && effect.type && effect.type !== this.effectData.type) { - this.add('-start', target, 'typechange', effect.type, '[from] Color Change'); - this.effectData.type = effect.type; - } - }, - onModifyPokemon: function(target) { - if (!this.effectData.type) this.effectData.type = 'Normal'; - target.types = [this.effectData.type]; } }, id: "colorchange", @@ -325,9 +306,7 @@ exports.BattleAbilities = { onAfterDamage: function(damage, target, source, move) { if (move && move.isContact) { if (this.random(10) < 3) { - if (source.addVolatile('attract', target)) { - this.add('-start', source, 'Attract', '[from] Cute Charm', '[of] '+target); - } + source.addVolatile('attract', target); } } }, @@ -623,8 +602,7 @@ exports.BattleAbilities = { break; } if (pokemon.isActive && forme) { - pokemon.transformInto(forme); - pokemon.transformed = false; + pokemon.formeChange(forme); this.add('-formechange', pokemon, forme); this.add('-message', pokemon.name+' transformed! (placeholder)'); } @@ -671,6 +649,12 @@ exports.BattleAbilities = { shortDesc: "This Pokemon's allies receive 3/4 damage from other Pokemon's attacks.", id: "friendguard", name: "Friend Guard", + onAnyBasePower: function(basePower, attacker, defender, move) { + var target = this.effectData.target; + if (defender !== target && defender.side === target.side) { + return basePower * 3/4; + } + }, rating: 0, num: 132 }, @@ -880,13 +864,7 @@ exports.BattleAbilities = { if (pokemon === pokemon.side.pokemon[i]) return; pokemon.illusion = pokemon.side.pokemon[i]; }, - onDamage: function(damage, pokemon, source, effect) { - if (pokemon.illusion && effect && effect.effectType === 'Move') { - this.debug('illusion cleared'); - pokemon.illusion = null; - this.add('replace', pokemon, pokemon.getDetails()); - } - }, + // illusion clearing is hardcoded in the damage function id: "illusion", name: "Illusion", rating: 4.5, @@ -1036,6 +1014,7 @@ exports.BattleAbilities = { "klutz": { desc: "This Pokemon ignores both the positive and negative effects of its held item, other than the speed-halving and EV-enhancing effects of Macho Brace, Power Anklet, Power Band, Power Belt, Power Bracer, Power Lens, and Power Weight. Fling cannot be used.", shortDesc: "This Pokemon's held item has no effect, except Macho Brace. Fling cannot be used.", + onModifyPokemonPriority: 1, onModifyPokemon: function(pokemon) { pokemon.ignore['Item'] = true; }, @@ -2201,7 +2180,11 @@ exports.BattleAbilities = { "suctioncups": { desc: "This Pokemon cannot be forced out.", shortDesc: "This Pokemon cannot be forced to switch out by another Pokemon's attack or item.", - onDragOut: false, + onDragOutPriority: 1, + onDragOut: function(pokemon) { + this.add('-activate', pokemon, 'ability: Suction Cups'); + return false; + }, id: "suctioncups", name: "Suction Cups", rating: 2.5, @@ -2405,7 +2388,6 @@ exports.BattleAbilities = { onBeforeMove: function(pokemon, target, move) { if (pokemon.removeVolatile('truant')) { this.add('cant',pokemon,'ability: Truant', move); - pokemon.movedThisTurn = true; return false; } pokemon.addVolatile('truant'); @@ -2655,8 +2637,7 @@ exports.BattleAbilities = { }, effect: { onStart: function(pokemon) { - if (pokemon.transformInto('Darmanitan-Zen')) { - pokemon.transformed = false; + if (pokemon.formeChange('Darmanitan-Zen')) { this.add('-formechange', pokemon, 'Darmanitan-Zen'); this.add('-message', 'Zen Mode triggered! (placeholder)'); } else { @@ -2664,8 +2645,7 @@ exports.BattleAbilities = { } }, onEnd: function(pokemon) { - if (pokemon.transformInto('Darmanitan')) { - pokemon.transformed = false; + if (pokemon.formeChange('Darmanitan')) { this.add('-formechange', pokemon, 'Darmanitan'); this.add('-message', 'Zen Mode ended! (placeholder)'); } else { diff --git a/data/aliases.js b/data/aliases.js index 96904066b..228ffb6eb 100644 --- a/data/aliases.js +++ b/data/aliases.js @@ -10,6 +10,7 @@ exports.BattleAliases = { "castformfire": "Castform-Sunny", "cherrims": "Cherrim-Sunshine", "cherrimsunny": "Cherrim-Sunshine", + "darmanitanz": "Darmanitan-Zen", "darmanitanzenmode": "Darmanitan-Zen", "deoxysa": "Deoxys-Attack", "deoxysd": "Deoxys-Defense", diff --git a/data/formats-data.js b/data/formats-data.js index bc98e433d..696e7ac0c 100644 --- a/data/formats-data.js +++ b/data/formats-data.js @@ -3336,7 +3336,7 @@ exports.BattleFormatsData = { viableMoves: {"outrage":1,"dragonclaw":1,"earthquake":1,"stoneedge":1,"firefang":1,"swordsdance":1}, eventPokemon: [ {"generation":5,"level":100,"gender":"M","isDW":false,"moves":["outrage","earthquake","swordsdance","stoneedge"]}, - {"generation":5,"level":48,"gender":"M","isDW":true,"moves":["slash","dragonclaw","dig","crunch"]} + {"generation":5,"level":48,"gender":"M","isDW":true,"moves":["dragonclaw","dig","crunch","outrage"]} ], dreamWorldRelease: true, tier: "OU" @@ -4580,7 +4580,8 @@ exports.BattleFormatsData = { meloetta: { viableMoves: {"relicsong":1,"closecombat":1,"calmmind":1,"psychic":1,"thunderbolt":1,"hypervoice":1,"uturn":1}, eventPokemon: [ - {"generation":5,"level":15,"moves":["quickattack","confusion","round"]} + {"generation":5,"level":15,"moves":["quickattack","confusion","round"]}, + {"generation":5,"level":50,"moves":["round","teeterdance","psychic","closecombat"]} ], tier: "UU" }, diff --git a/data/items.js b/data/items.js index 8f38d4911..b2ff6c116 100644 --- a/data/items.js +++ b/data/items.js @@ -11,7 +11,7 @@ exports.BattleItems = { this.boost({spa: 1}); } }, - desc: "Boosts Special Attack of holder if hit by a Water-type attack. One-time use." + desc: "Raises Sp. Atk by 1 if hit by a Water-type attack. Single use." }, "adamantorb": { id: "adamantorb", @@ -25,7 +25,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Hold item which raises power of Dialga's STAB moves 20%." + desc: "If holder is a Dialga, its Steel- and Dragon-type attacks have 1.2x power." }, "aguavberry": { id: "aguavberry", @@ -47,13 +47,12 @@ exports.BattleItems = { pokemon.addVolatile('confusion'); } }, - desc: "Restores 1\/8 max HP when at 50% HP or less. May confuse. One-time use." + desc: "Restores 1/8 max HP when at 1/2 max HP or less. May confuse. Single use." }, "airballoon": { id: "airballoon", name: "Air Balloon", spritenum: 6, - desc: "Makes the holder immune to Ground-type attacks. Disappears when holder is hit.", fling: { basePower: 10 }, @@ -76,7 +75,8 @@ exports.BattleItems = { this.add('-enditem', target, 'Air Balloon'); target.setItem(''); } - } + }, + desc: "Holder is immune to Ground-type attacks. Pops when holder is hit." }, "apicotberry": { id: "apicotberry", @@ -95,7 +95,7 @@ exports.BattleItems = { onEat: function(pokemon) { this.boost({spd:1}); }, - desc: "Raises Special Defense by one stage when at 25% HP or less. One-time use." + desc: "Raises Sp. Def by 1 when at 1/4 max HP or less. Single use." }, "armorfossil": { id: "armorfossil", @@ -125,7 +125,7 @@ exports.BattleItems = { pokemon.cureStatus(); } }, - desc: "Cures freeze. One-time use." + desc: "Holder is cured if it is frozen. Single use." }, "babiriberry": { id: "babiriberry", @@ -137,7 +137,7 @@ exports.BattleItems = { type: "Steel" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Steel' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Steel' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -145,7 +145,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Steel-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a super effective Steel-type attack. Single use." }, "belueberry": { id: "belueberry", @@ -156,7 +156,7 @@ exports.BattleItems = { basePower: 80, type: "Electric" }, - desc: "No use. Unobtainable in BW." + desc: "No competitive use." }, "berryjuice": { id: "berryjuice", @@ -172,7 +172,7 @@ exports.BattleItems = { } } }, - desc: "Restores 20 HP when at 50% HP or less. One-time use." + desc: "Restores 20HP when at 1/2 max HP or less. Single use." }, "bigroot": { id: "bigroot", @@ -188,7 +188,7 @@ exports.BattleItems = { return Math.ceil((damage * 1.3) - 0.5); // Big Root rounds half down } }, - desc: "Increases HP gained from draining moves by 30%." + desc: "Holder gains 1.3x HP from draining moves, Aqua Ring, Ingrain, and Leech Seed." }, "bindingband": { id: "bindingband", @@ -198,7 +198,7 @@ exports.BattleItems = { basePower: 30 }, // implemented in statuses - desc: "Increases power of multi-turn trapping moves." + desc: "Holder's partial-trapping moves deal 1/8 max HP per turn instead of 1/16." }, "blackbelt": { id: "blackbelt", @@ -212,7 +212,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Fighting-type moves 20%." + desc: "Holder's Fighting-type attacks have 1.2x power." }, "blacksludge": { id: "blacksludge", @@ -230,7 +230,7 @@ exports.BattleItems = { this.damage(pokemon.maxhp/8); } }, - desc: "Recovers 1\/16 HP each turn for Poison types. Damages all other types." + desc: "Each turn, if holder is a Poison-type, restores 1/16 max HP; loses 1/8 if not." }, "blackglasses": { id: "blackglasses", @@ -244,7 +244,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Dark-type moves 20%." + desc: "Holder's Dark-type attacks have 1.2x power." }, "blukberry": { id: "blukberry", @@ -255,7 +255,7 @@ exports.BattleItems = { basePower: 70, type: "Fire" }, - desc: "No use. Unobtainable in BW." + desc: "No competitive use." }, "brightpowder": { id: "brightpowder", @@ -269,7 +269,7 @@ exports.BattleItems = { this.debug('brightpowder - decreasing accuracy'); return accuracy * 0.9; }, - desc: "Raises evasion 10%." + desc: "The accuracy of attacks against the holder is 0.9x." }, "buggem": { id: "buggem", @@ -284,7 +284,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Bug-type move by 50%. One-time use." + desc: "Holder's first successful Bug-type attack will have 1.5x power. Single use." }, "burndrive": { id: "burndrive", @@ -294,7 +294,7 @@ exports.BattleItems = { basePower: 70 }, onDrive: 'Fire', - desc: "Changes the type of Techno Blast to Fire." + desc: "Holder's Techno Blast is Fire-type." }, "cellbattery": { id: "cellbattery", @@ -308,7 +308,7 @@ exports.BattleItems = { this.boost({atk: 1}); } }, - desc: "Boosts Attack of holder if hit by an Electric-type attack. One-time use." + desc: "Raises Attack by 1 if hit by an Electric-type attack. Single use." }, "charcoal": { id: "charcoal", @@ -322,7 +322,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Fire-type moves 20%." + desc: "Holder's Fire-type attacks have 1.2x power." }, "chartiberry": { id: "chartiberry", @@ -334,7 +334,7 @@ exports.BattleItems = { type: "Rock" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Rock' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Rock' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -342,7 +342,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Rock-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a super effective Rock-type attack. Single use." }, "cheriberry": { id: "cheriberry", @@ -363,7 +363,7 @@ exports.BattleItems = { pokemon.cureStatus(); } }, - desc: "Cures paralysis. One-time use." + desc: "Holder cures itself if it is paralyzed. Single use." }, "chestoberry": { id: "chestoberry", @@ -384,7 +384,7 @@ exports.BattleItems = { pokemon.cureStatus(); } }, - desc: "Cures sleep. One-time use." + desc: "Holder wakes up if it is asleep. Single use." }, "chilanberry": { id: "chilanberry", @@ -396,7 +396,7 @@ exports.BattleItems = { type: "Normal" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Normal') { + if (move.type === 'Normal' && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -404,7 +404,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a Normal-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a Normal-type attack. Single use." }, "chilldrive": { id: "chilldrive", @@ -414,7 +414,7 @@ exports.BattleItems = { basePower: 70 }, onDrive: 'Ice', - desc: "Changes the type of Techno Blast to Ice." + desc: "Holder's Techno Blast is Ice-type." }, "choiceband": { id: "choiceband", @@ -436,7 +436,7 @@ exports.BattleItems = { return atk * 1.5; }, isChoice: true, - desc: "Hold item which raises Attack 50%, but locks holder into one move." + desc: "Holder's Attack is 1.5x, but it can only use the first move it selects." }, "choicescarf": { id: "choicescarf", @@ -458,7 +458,7 @@ exports.BattleItems = { return spe * 1.5; }, isChoice: true, - desc: "Hold item which raises Speed 50%, but locks holder into one move." + desc: "Holder's Speed is 1.5x, but it can only use the first move it selects." }, "choicespecs": { id: "choicespecs", @@ -480,7 +480,7 @@ exports.BattleItems = { return spa * 1.5; }, isChoice: true, - desc: "Hold item which raises Special Attack 50%, but locks holder into one move." + desc: "Holder's Sp. Atk is 1.5x, but it can only use the first move it selects." }, "chopleberry": { id: "chopleberry", @@ -492,7 +492,7 @@ exports.BattleItems = { type: "Fighting" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Fighting' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Fighting' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -500,7 +500,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Fighting-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a super effective Fighting-type attack. Single use." }, "clawfossil": { id: "clawfossil", @@ -521,7 +521,7 @@ exports.BattleItems = { type: "Flying" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Flying' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Flying' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -529,7 +529,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Flying-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a super effective Flying-type attack. Single use." }, "colburberry": { id: "colburberry", @@ -541,7 +541,7 @@ exports.BattleItems = { type: "Dark" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Dark' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Dark' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -549,7 +549,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Dark-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a super effective Dark-type attack. Single use." }, "cornnberry": { id: "cornnberry", @@ -560,7 +560,7 @@ exports.BattleItems = { basePower: 70, type: "Bug" }, - desc: "No use. Unobtainable in BW." + desc: "No competitive use." }, "coverfossil": { id: "coverfossil", @@ -583,13 +583,13 @@ exports.BattleItems = { onModifyPriority: function(priority, pokemon) { if (pokemon.hp <= pokemon.maxhp/4 || (pokemon.hp <= pokemon.maxhp/2 && pokemon.ability === 'gluttony')) { if (pokemon.eatItem()) { - this.add('-enditem', pokemon, 'Custap Berry'); + this.add('-activate', pokemon, 'Custap Berry'); pokemon.removeVolatile('custapberry'); return priority + 0.1; } } }, - desc: "Activates at 25% HP. Next move used goes first. One-time use." + desc: "Holder moves first in its priority bracket when at 1/4 max HP or less. Single use." }, "damprock": { id: "damprock", @@ -598,7 +598,7 @@ exports.BattleItems = { fling: { basePower: 60 }, - desc: "Rain Dance lasts 8 turns." + desc: "Holder's use of Rain Dance lasts 8 turns instead of 5." }, "darkgem": { id: "darkgem", @@ -613,7 +613,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Dark-type move by 50%. One-time use." + desc: "Holder's first successful Dark-type attack will have 1.5x power. Single use." }, "deepseascale": { id: "deepseascale", @@ -627,7 +627,7 @@ exports.BattleItems = { return spd * 2; } }, - desc: "Doubles Clamperl's Special Defence. Evolves Clamperl into Gorebyss." + desc: "If holder is a Clamperl, its Sp. Def is doubled." }, "deepseatooth": { id: "deepseatooth", @@ -641,7 +641,7 @@ exports.BattleItems = { return spa * 2; } }, - desc: "Doubles Clamperl's Special Attack. Evolves Clamperl into Huntail." + desc: "If holder is a Clamperl, its Sp. Atk is doubled." }, "destinyknot": { id: "destinyknot", @@ -650,7 +650,13 @@ exports.BattleItems = { fling: { basePower: 10 }, - desc: "If the holder becomes infatuated, so does the enemy." + onAttractPriority: -100, + onAttract: function(target, source) { + this.debug('attract intercepted: '+target+' from '+source); + if (!source || source === target) return; + if (!source.volatiles.attract) source.addVolatile('attract', target); + }, + desc: "If holder becomes infatuated, the other Pokemon also becomes infatuated." }, "domefossil": { id: "domefossil", @@ -669,7 +675,7 @@ exports.BattleItems = { basePower: 70 }, onDrive: 'Water', - desc: "Changes the type of Techno Blast to Water." + desc: "Holder's Techno Blast is Water-type." }, "dracoplate": { id: "dracoplate", @@ -684,7 +690,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Dragon-type moves 20%. Pokemon with Multitype become Dragon-type." + desc: "Holder's Dragon-type attacks have 1.2x power. Judgment is Dragon-type." }, "dragonfang": { id: "dragonfang", @@ -698,7 +704,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Dragon-type moves 20%." + desc: "Holder's Dragon-type attacks have 1.2x power." }, "dragongem": { id: "dragongem", @@ -713,7 +719,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Dragon-type move by 50%. One-time use." + desc: "Holder's first successful Dragon-type attack will have 1.5x power. Single use." }, "dreadplate": { id: "dreadplate", @@ -728,7 +734,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of the holder's Dark-type moves 20%. Pokemon with Multitype become Dark-type." + desc: "Holder's Dark-type attacks have 1.2x power. Judgment is Dark-type." }, "durinberry": { id: "durinberry", @@ -739,7 +745,7 @@ exports.BattleItems = { basePower: 80, type: "Water" }, - desc: "No use. Unobtainable in BW." + desc: "No competitive use." }, "earthplate": { id: "earthplate", @@ -754,7 +760,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Ground-type moves 20%. Pokemon with Multitype become Ground-type." + desc: "Holder's Ground-type attacks have 1.2x power. Judgment is Ground-type." }, "ejectbutton": { id: "ejectbutton", @@ -775,7 +781,7 @@ exports.BattleItems = { } } }, - desc: "When the holder is hit, it immediately switches out. One-time use." + desc: "If holder is hit, it immediately switches out with a chosen ally. Single use." }, "electirizer": { id: "electirizer", @@ -784,7 +790,7 @@ exports.BattleItems = { fling: { basePower: 80 }, - desc: "Evolves Electabuzz into Electivire." + desc: "Evolves Electabuzz into Electivire when traded." }, "electricgem": { id: "electricgem", @@ -799,7 +805,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Electric-type move by 50%. One-time use." + desc: "Holder's first successful Electric-type attack will have 1.5x power. Single use." }, "energypowder": { id: "energypowder", @@ -808,7 +814,7 @@ exports.BattleItems = { fling: { basePower: 30 }, - desc: "Restores 50 HP to one Pokemon but tastes bitter." + desc: "Restores 50HP to one Pokemon but lowers Happiness." }, "enigmaberry": { id: "enigmaberry", @@ -835,7 +841,7 @@ exports.BattleItems = { onEat: function(pokemon) { this.heal(pokemon.maxhp/4); }, - desc: "Heals 25% HP after being hit by a super effective attack. One-time use." + desc: "Restores 1/4 max HP when holder is hit by a super effective move. Single use." }, "eviolite": { id: "eviolite", @@ -854,7 +860,7 @@ exports.BattleItems = { return spd * 1.5; } }, - desc: "Boosts Defense and Special Defense of holder by 50% if it is an NFE Pokemon." + desc: "If holder's species can evolve, its Defense and Sp. Def are 1.5x." }, "expertbelt": { id: "expertbelt", @@ -868,7 +874,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Super effective attacks are 20% stronger." + desc: "Holder's super effective attacks against other Pokemon do 1.2x damage." }, "fightinggem": { id: "fightinggem", @@ -883,7 +889,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Fighting-type move by 50%. One-time use." + desc: "Holder's first successful Fighting-type attack will have 1.5x power. Single use." }, "figyberry": { id: "figyberry", @@ -905,7 +911,7 @@ exports.BattleItems = { pokemon.addVolatile('confusion'); } }, - desc: "Restores 1\/8 max HP when at 50% HP or less. May confuse. One-time use." + desc: "Restores 1/8 max HP when at 1/2 max HP or less. May confuse. Single use." }, "firegem": { id: "firegem", @@ -920,7 +926,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Fire-type move by 50%. One-time use." + desc: "Holder's first successful Fire-type attack will have 1.5x power. Single use." }, "fistplate": { id: "fistplate", @@ -935,7 +941,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Fighting-type moves 20%. Pokemon with Multitype become Fighting-type." + desc: "Holder's Fighting-type attacks have 1.2x power. Judgment is Fighting-type." }, "flameorb": { id: "flameorb", @@ -953,7 +959,7 @@ exports.BattleItems = { pokemon.trySetStatus('brn'); } }, - desc: "Burns the holder." + desc: "At the end of every turn, this item attempts to burn the holder." }, "flameplate": { id: "flameplate", @@ -968,7 +974,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Fire-type moves 20%. Pokemon with Multitype become Fire-type." + desc: "Holder's Fire-type attacks have 1.2x power. Judgment is Fire-type." }, "floatstone": { id: "floatstone", @@ -980,7 +986,7 @@ exports.BattleItems = { onModifyPokemon: function(pokemon) { pokemon.weightkg /= 2; }, - desc: "The weight of the holder is halved." + desc: "Holder's weight is halved." }, "flyinggem": { id: "flyinggem", @@ -995,7 +1001,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Flying-type move by 50%. One-time use." + desc: "Holder's first successful Flying-type attack will have 1.5x power. Single use." }, "focusband": { id: "focusband", @@ -1010,7 +1016,7 @@ exports.BattleItems = { return target.hp - 1; } }, - desc: "Gives a 10% chance of surviving a hit with at least 1 HP." + desc: "Holder has a 10% chance to survive an attack that would KO it with 1HP." }, "focussash": { id: "focussash", @@ -1026,7 +1032,7 @@ exports.BattleItems = { } } }, - desc: "The holder always survives one attack at full HP. One-time use." + desc: "If holder's HP is full, will survive an attack that would KO it with 1HP. Single use." }, "fullincense": { id: "fullincense", @@ -1040,7 +1046,7 @@ exports.BattleItems = { return priority - 0.1; } }, - desc: "Makes the holder move last. Allows breeding of Munchlax." + desc: "Holder moves last in its priority bracket." }, "ganlonberry": { id: "ganlonberry", @@ -1059,7 +1065,7 @@ exports.BattleItems = { onEat: function(pokemon) { this.boost({def:1}); }, - desc: "Raises Defense by one stage when at 25% HP or less. One-time use." + desc: "Raises Defense by 1 when at 1/4 max HP or less. Single use." }, "ghostgem": { id: "ghostgem", @@ -1074,7 +1080,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Ghost-type move by 50%. One-time use." + desc: "Holder's first successful Ghost-type attack will have 1.5x power. Single use." }, "grassgem": { id: "grassgem", @@ -1089,7 +1095,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Grass-type move by 50%. One-time use." + desc: "Holder's first successful Grass-type attack will have 1.5x power. Single use." }, "grepaberry": { id: "grepaberry", @@ -1100,7 +1106,7 @@ exports.BattleItems = { basePower: 70, type: "Flying" }, - desc: "Increases happiness, but lowers Special Defense EVs by 10." + desc: "No competitive use." }, "gripclaw": { id: "gripclaw", @@ -1110,7 +1116,7 @@ exports.BattleItems = { basePower: 90 }, // implemented in statuses - desc: "Partial trapping moves last 5 turns." + desc: "Holder's partial-trapping moves always last 7 turns." }, "griseousorb": { id: "griseousorb", @@ -1129,7 +1135,7 @@ exports.BattleItems = { return false; } }, - desc: "Raises the Base Power of Giratina's STAB moves 20% and transforms Giratina into Giratina-O when held. Cannot be removed or given to Giratina in battle." + desc: "If holder is a Giratina, its Ghost- and Dragon-type attacks have 1.2x power." }, "groundgem": { id: "groundgem", @@ -1144,7 +1150,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Ground-type move by 50%. One-time use." + desc: "Holder's first successful Ground-type attack will have 1.5x power. Single use." }, "habanberry": { id: "habanberry", @@ -1156,7 +1162,7 @@ exports.BattleItems = { type: "Dragon" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Dragon' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Dragon' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -1164,7 +1170,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Dragon-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a super effective Dragon-type attack. Single use." }, "hardstone": { id: "hardstone", @@ -1178,7 +1184,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Rock-type moves 20%." + desc: "Holder's Rock-type attacks have 1.2x power." }, "heatrock": { id: "heatrock", @@ -1187,7 +1193,7 @@ exports.BattleItems = { fling: { basePower: 60 }, - desc: "Sunny Day lasts 8 turns." + desc: "Holder's use of Sunny Day lasts 8 turns instead of 5." }, "helixfossil": { id: "helixfossil", @@ -1207,7 +1213,7 @@ exports.BattleItems = { basePower: 70, type: "Ground" }, - desc: "Increases happiness, but lowers Special Attack EVs by 10." + desc: "No competitive use." }, "iapapaberry": { id: "iapapaberry", @@ -1229,7 +1235,7 @@ exports.BattleItems = { pokemon.addVolatile('confusion'); } }, - desc: "Restores 1\/8 max HP when at 50% HP or less. May confuse. One-time use." + desc: "Restores 1/8 max HP when at 1/2 max HP or less. May confuse. Single use." }, "icegem": { id: "icegem", @@ -1244,7 +1250,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Ice-type move by 50%. One-time use." + desc: "Holder's first successful Ice-type attack will have 1.5x power. Single use." }, "icicleplate": { id: "icicleplate", @@ -1259,7 +1265,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Ice-type moves 20%. Pokemon with Multitype become Ice-type." + desc: "Holder's Ice-type attacks have 1.2x power. Judgment is Ice-type." }, "icyrock": { id: "icyrock", @@ -1268,7 +1274,7 @@ exports.BattleItems = { fling: { basePower: 40 }, - desc: "Hail lasts 8 turns." + desc: "Holder's use of Hail lasts 8 turns instead of 5." }, "insectplate": { id: "insectplate", @@ -1283,7 +1289,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Bug-type moves 20%. Pokemon with Multitype become Bug-type." + desc: "Holder's Bug-type attacks have 1.2x power. Judgment is Bug-type." }, "ironball": { id: "ironball", @@ -1298,7 +1304,7 @@ exports.BattleItems = { onModifySpe: function(spe) { return spe / 2; }, - desc: "Reduces Speed 50% and removes holder's Ground-type immunity." + desc: "Holder's Speed is halved and it becomes grounded." }, "ironplate": { id: "ironplate", @@ -1313,7 +1319,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Steel-type moves 20%. Pokemon with Multitype become Steel-type." + desc: "Holder's Steel-type attacks have 1.2x power. Judgment is Steel-type." }, "jabocaberry": { id: "jabocaberry", @@ -1332,7 +1338,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "If hit by a physical attack, the attacker takes 12.5% damage. One-time use." + desc: "If holder is hit by a physical move, attacker loses 1/8 of its max HP. Single use." }, "kasibberry": { id: "kasibberry", @@ -1344,7 +1350,7 @@ exports.BattleItems = { type: "Ghost" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Ghost' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Ghost' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -1352,7 +1358,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Ghost-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a super effective Ghost-type attack. Single use." }, "kebiaberry": { id: "kebiaberry", @@ -1364,7 +1370,7 @@ exports.BattleItems = { type: "Poison" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Poison' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Poison' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -1372,7 +1378,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Poison-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a super effective Poison-type attack. Single use." }, "kelpsyberry": { id: "kelpsyberry", @@ -1383,7 +1389,7 @@ exports.BattleItems = { basePower: 70, type: "Fighting" }, - desc: "Increases happiness, but lowers Attack EVs by 10." + desc: "No competitive use." }, "kingsrock": { id: "kingsrock", @@ -1405,7 +1411,7 @@ exports.BattleItems = { }); } }, - desc: "Certain moves have a 10% flinch rate." + desc: "Holder's attacks without a chance to flinch gain a 10% chance to flinch." }, "laggingtail": { id: "laggingtail", @@ -1419,7 +1425,7 @@ exports.BattleItems = { return priority - 0.1; } }, - desc: "The holder will go last within its move's priority bracket, regardless of Speed." + desc: "Holder moves last in its priority bracket." }, "lansatberry": { id: "lansatberry", @@ -1438,7 +1444,7 @@ exports.BattleItems = { onEat: function(pokemon) { pokemon.addVolatile('focusenergy'); }, - desc: "Raises critical hit rate by two stages when at 25% HP or less. One-time use." + desc: "Holder gains the Focus Energy effect when at 1/4 max HP or less. Single use." }, "laxincense": { id: "laxincense", @@ -1452,7 +1458,7 @@ exports.BattleItems = { this.debug('lax incense - decreasing accuracy'); return accuracy * 0.9; }, - desc: "Hold item which raises evasion 10%. Allows breeding of Wynaut." + desc: "The accuracy of attacks against the holder is 0.9x." }, "leftovers": { id: "leftovers", @@ -1466,7 +1472,7 @@ exports.BattleItems = { onResidual: function(pokemon) { this.heal(pokemon.maxhp/16); }, - desc: "Heals 1\/16 HP each turn." + desc: "At the end of every turn, holder restores 1/16 of its max HP." }, "leppaberry": { id: "leppaberry", @@ -1503,7 +1509,7 @@ exports.BattleItems = { if (move.pp > move.maxpp) move.pp = move.maxpp; this.add("-message",pokemon.name+" restored "+move.move+"'s PP using its Leppa Berry! (placeholder)"); }, - desc: "Restores 10 PP to a move that has run out of PP. One-time use." + desc: "Restores 10PP to the first of the holder's moves to reach 0PP. Single use." }, "liechiberry": { id: "liechiberry", @@ -1522,7 +1528,7 @@ exports.BattleItems = { onEat: function(pokemon) { this.boost({atk:1}); }, - desc: "Raises Attack by one stage when at 25% HP or less. One-time use." + desc: "Raises Attack by 1 when at 1/4 max HP or less. Single use." }, "lifeorb": { id: "lifeorb", @@ -1544,7 +1550,7 @@ exports.BattleItems = { } } }, - desc: "Boosts power by 30%, user takes 10% recoil each turn it attacks." + desc: "Holder's damaging moves do 1.3x damage; loses 1/10 max HP after the attack." }, "lightball": { id: "lightball", @@ -1564,7 +1570,7 @@ exports.BattleItems = { return spa * 2; } }, - desc: "Doubles Pikachu's Attack and Special Attack." + desc: "If holder is a Pikachu, its Attack and Sp. Atk are doubled." }, "lightclay": { id: "lightclay", @@ -1574,7 +1580,7 @@ exports.BattleItems = { basePower: 30 }, // implemented in the corresponding thing - desc: "If the holder uses either Light Screen or Reflect, the two moves will stay on the field for eight turns instead of five." + desc: "Holder's use of Light Screen or Reflect lasts 8 turns instead of 5." }, "luckypunch": { id: "luckypunch", @@ -1588,7 +1594,7 @@ exports.BattleItems = { move.critRatio += 2; } }, - desc: "Raises Chansey's critical hit ratio two stages." + desc: "If holder is a Chansey, its critical hit ratio is boosted by 2." }, "lumberry": { id: "lumberry", @@ -1608,7 +1614,7 @@ exports.BattleItems = { pokemon.cureStatus(); pokemon.removeVolatile('confusion'); }, - desc: "Cures status. Consumed after use." + desc: "Holder cures itself if it is confused or has a major status problem. Single use." }, "lustrousorb": { id: "lustrousorb", @@ -1622,7 +1628,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Palkia's STAB moves 20%." + desc: "If holder is a Palkia, its Water- and Dragon-type attacks have 1.2x power." }, "machobrace": { id: "machobrace", @@ -1634,7 +1640,7 @@ exports.BattleItems = { onModifySpe: function(spe) { return spe / 2; }, - desc: "Reduces Speed 50%. Doubles EVs gained." + desc: "Holder's Speed is halved." }, "magnet": { id: "magnet", @@ -1648,7 +1654,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Electric-type moves 20%." + desc: "Holder's Electric-type attacks have 1.2x power." }, "magoberry": { id: "magoberry", @@ -1670,7 +1676,7 @@ exports.BattleItems = { pokemon.addVolatile('confusion'); } }, - desc: "Restores 1\/8 max HP when at 50% HP or less. May confuse. One-time use." + desc: "Restores 1/8 max HP when at 1/2 max HP or less. May confuse. Single use." }, "magostberry": { id: "magostberry", @@ -1681,7 +1687,7 @@ exports.BattleItems = { basePower: 70, type: "Rock" }, - desc: "No use. Unobtainable in BW." + desc: "No competitive use." }, "meadowplate": { id: "meadowplate", @@ -1696,7 +1702,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Grass-type moves 20%. Pokemon with Multitype become Grass-type." + desc: "Holder's Grass-type attacks have 1.2x power. Judgment is Grass-type." }, "mentalherb": { id: "mentalherb", @@ -1728,7 +1734,7 @@ exports.BattleItems = { } } }, - desc: "Cures certain conditions. One-time use." + desc: "Cures holder if affected by Attract, Disable, Encore, Taunt, Torment. Single use." }, "metalcoat": { id: "metalcoat", @@ -1742,7 +1748,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Steel-type moves 20%. Evolves Onix and Scyther." + desc: "Holder's Steel-type attacks have 1.2x power." }, "metalpowder": { id: "metalpowder", @@ -1756,7 +1762,7 @@ exports.BattleItems = { return def * 2; } }, - desc: "Raises Ditto's Defense and Special Defense by 50%." + desc: "If holder is a Ditto that hasn't Transformed, its Defense is doubled." }, "metronome": { id: "metronome", @@ -1784,7 +1790,7 @@ exports.BattleItems = { return basePower * bpMod[this.effectData.numConsecutive]; } }, - desc: "Boost the power of attacks used consecutively." + desc: "Damage of moves used on consecutive turns is increased. Max 2x after 5 turns." }, "micleberry": { id: "micleberry", @@ -1813,7 +1819,7 @@ exports.BattleItems = { } } }, - desc: "Activates at 25% HP. Next move used will always hit. One-time use." + desc: "Holder's next move has 1.2x accuracy when at 1/4 max HP or less. Single use." }, "mindplate": { id: "mindplate", @@ -1828,7 +1834,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Psychic-type moves 20%. Pokemon with Multitype become Psychic-type." + desc: "Holder's Psychic-type attacks have 1.2x power. Judgment is Psychic-type." }, "miracleseed": { id: "miracleseed", @@ -1842,7 +1848,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Grass-type moves 20%." + desc: "Holder's Grass-type attacks have 1.2x power." }, "muscleband": { id: "muscleband", @@ -1856,7 +1862,7 @@ exports.BattleItems = { return basePower * 1.1; } }, - desc: "Raises power of physical moves 10%." + desc: "Holder's physical attacks have 1.1x power." }, "mysticwater": { id: "mysticwater", @@ -1870,7 +1876,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Water-type moves 20%." + desc: "Holder's Water-type attacks have 1.2x power." }, "nanabberry": { id: "nanabberry", @@ -1881,7 +1887,7 @@ exports.BattleItems = { basePower: 70, type: "Water" }, - desc: "No use. Unobtainable in BW." + desc: "No competitive use." }, "nevermeltice": { id: "nevermeltice", @@ -1895,7 +1901,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Ice-type moves 20%." + desc: "Holder's Ice-type attacks have 1.2x power." }, "nomelberry": { id: "nomelberry", @@ -1906,7 +1912,7 @@ exports.BattleItems = { basePower: 70, type: "Dragon" }, - desc: "No use. Unobtainable in BW." + desc: "No competitive use." }, "normalgem": { id: "normalgem", @@ -1921,7 +1927,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Normal-type move by 50%. One-time use." + desc: "Holder's first successful Normal-type attack will have 1.5x power. Single use." }, "occaberry": { id: "occaberry", @@ -1933,7 +1939,7 @@ exports.BattleItems = { type: "Fire" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Fire' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Fire' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -1941,7 +1947,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Fire-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a super effective Fire-type attack. Single use." }, "oddincense": { id: "oddincense", @@ -1955,7 +1961,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Psychic-type moves 20%. Allows breeding of Mime Jr." + desc: "Holder's Psychic-type attacks have 1.2x power." }, "oldamber": { id: "oldamber", @@ -1983,7 +1989,7 @@ exports.BattleItems = { onEat: function(pokemon) { this.heal(10); }, - desc: "Restores 10 HP when at 50% HP or less. One-time use." + desc: "Restores 10HP when at 1/2 max HP or less. Single use." }, "pamtreberry": { id: "pamtreberry", @@ -1994,7 +2000,7 @@ exports.BattleItems = { basePower: 70, type: "Steel" }, - desc: "No use. Unobtainable in BW." + desc: "No competitive use." }, "passhoberry": { id: "passhoberry", @@ -2006,7 +2012,7 @@ exports.BattleItems = { type: "Water" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Water' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Water' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -2014,7 +2020,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Water-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a super effective Water-type attack. Single use." }, "payapaberry": { id: "payapaberry", @@ -2026,7 +2032,7 @@ exports.BattleItems = { type: "Psychic" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Psychic' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Psychic' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -2034,7 +2040,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Psychic-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a super effective Psychic-type attack. Single use." }, "pechaberry": { id: "pechaberry", @@ -2055,7 +2061,7 @@ exports.BattleItems = { pokemon.cureStatus(); } }, - desc: "Cures poison. One-time use." + desc: "Holder is cured if it is poisoned. Single use." }, "persimberry": { id: "persimberry", @@ -2074,7 +2080,7 @@ exports.BattleItems = { onEat: function(pokemon) { pokemon.removeVolatile('confusion'); }, - desc: "Cures confusion. One-time use." + desc: "Holder is cured if it is confused. Single use." }, "petayaberry": { id: "petayaberry", @@ -2093,7 +2099,7 @@ exports.BattleItems = { onEat: function(pokemon) { this.boost({spa:1}); }, - desc: "Raises Special Attack by one stage when at 25% HP or less. One-time use." + desc: "Raises Sp. Atk by 1 when at 1/4 max HP or less. Single use." }, "pinapberry": { id: "pinapberry", @@ -2104,7 +2110,7 @@ exports.BattleItems = { basePower: 70, type: "Grass" }, - desc: "No use. Unobtainable in BW." + desc: "No competitive use." }, "plumefossil": { id: "plumefossil", @@ -2128,7 +2134,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Poison-type moves 20%." + desc: "Holder's Poison-type attacks have 1.2x power." }, "poisongem": { id: "poisongem", @@ -2143,7 +2149,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Poison-type move by 50%. One-time use." + desc: "Holder's first successful Poison-type attack will have 1.5x power. Single use." }, "pomegberry": { id: "pomegberry", @@ -2154,11 +2160,11 @@ exports.BattleItems = { basePower: 70, type: "Ice" }, - desc: "Increases happiness, but lowers HP EVs by 10." + desc: "No competitive use." }, "powerherb": { id: "powerherb", - onChargeMove: function(pokemon, move) { + onChargeMove: function(pokemon, target, move) { if (pokemon.useItem()) { this.debug('power herb - remove charge turn for '+move.id); return false; // skip charge turn @@ -2169,7 +2175,7 @@ exports.BattleItems = { fling: { basePower: 10 }, - desc: "Moves with a charge turn activate instantly." + desc: "Holder's two-turn moves complete in one turn (except Sky Drop). Single use." }, "psychicgem": { id: "psychicgem", @@ -2184,7 +2190,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Psychic-type move by 50%. One-time use." + desc: "Holder's first successful Psychic-type attack will have 1.5x power. Single use." }, "qualotberry": { id: "qualotberry", @@ -2195,7 +2201,7 @@ exports.BattleItems = { basePower: 70, type: "Poison" }, - desc: "Increases happiness, but lowers Defense EVs by 10." + desc: "No competitive use." }, "quickclaw": { id: "quickclaw", @@ -2210,7 +2216,7 @@ exports.BattleItems = { fling: { basePower: 80 }, - desc: "Gives the user a 20% chance to go first." + desc: "Each turn, holder has a 20% chance to move first in its priority bracket." }, "quickpowder": { id: "quickpowder", @@ -2224,7 +2230,7 @@ exports.BattleItems = { return spe * 2; } }, - desc: "Doubles Ditto's Speed." + desc: "If holder is a Ditto that hasn't Transformed, its Speed is doubled." }, "rabutaberry": { id: "rabutaberry", @@ -2235,7 +2241,7 @@ exports.BattleItems = { basePower: 70, type: "Ghost" }, - desc: "No use. Unobtainable in BW." + desc: "No competitive use." }, "rarebone": { id: "rarebone", @@ -2244,7 +2250,7 @@ exports.BattleItems = { fling: { basePower: 100 }, - desc: "Can be Flung for 100 BP." + desc: "No competitive use." }, "rawstberry": { id: "rawstberry", @@ -2265,7 +2271,7 @@ exports.BattleItems = { pokemon.cureStatus(); } }, - desc: "Cures burn. One-time use." + desc: "Holder is cured if it is burned. Single use." }, "razorclaw": { id: "razorclaw", @@ -2277,7 +2283,7 @@ exports.BattleItems = { onModifyMove: function(move) { move.critRatio++; }, - desc: "Raises critical hit rate one stage. Evolves Sneasel into Weavile." + desc: "Holder's critical hit ratio is boosted by 1." }, "razorfang": { id: "razorfang", @@ -2299,7 +2305,7 @@ exports.BattleItems = { }); } }, - desc: "Certain moves have a 10% flinch rate. Evolves Gligar into Gliscor." + desc: "Holder's attacks without a chance to flinch gain a 10% chance to flinch." }, "razzberry": { id: "razzberry", @@ -2310,7 +2316,7 @@ exports.BattleItems = { basePower: 60, type: "Steel" }, - desc: "No use. Unobtainable in BW." + desc: "No competitive use." }, "redcard": { id: "redcard", @@ -2321,14 +2327,14 @@ exports.BattleItems = { }, onAfterMoveSecondary: function(target, source, move) { if (source && source !== target && source.hp && target.hp && move && move.category !== 'Status') { - if (target.useItem()) { // This order is correct - the item is used up even against a pokemon with Ingrain or that otherwise can't be forced out + if (target.useItem(source)) { // This order is correct - the item is used up even against a pokemon with Ingrain or that otherwise can't be forced out if (this.runEvent('DragOut', source, target, move)) { this.dragIn(source.side, source.position); } } } }, - desc: "The opponent is forced out immediately if it attacks the holder. One-time use." + desc: "If holder is hit, it forces the attacker to switch to a random ally. Single use." }, "rindoberry": { id: "rindoberry", @@ -2340,7 +2346,7 @@ exports.BattleItems = { type: "Grass" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Grass' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Grass' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -2348,7 +2354,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Grass-type attack by 50%." + desc: "Halves damage taken from a super effective Grass-type attack. Single use." }, "ringtarget": { id: "ringtarget", @@ -2360,7 +2366,7 @@ exports.BattleItems = { onModifyPokemon: function(pokemon) { pokemon.negateImmunity['Type'] = true; }, - desc: "Negates any type-based immunities. Does not affect abilities." + desc: "Holder's type immunities granted by its own typing are negated." }, "rockgem": { id: "rockgem", @@ -2375,7 +2381,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Rock-type move by 50%. One-time use." + desc: "Holder's first successful Rock-type attack will have 1.5x power. Single use." }, "rockincense": { id: "rockincense", @@ -2389,7 +2395,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Rock-type moves 20%. Allows breeding of Bonsly." + desc: "Holder's Rock-type attacks have 1.2x power." }, "rockyhelmet": { id: "rockyhelmet", @@ -2404,7 +2410,7 @@ exports.BattleItems = { this.damage(source.maxhp/6, source, target); } }, - desc: "Deals 1\/6 damage when the opponent makes contact." + desc: "If holder is hit by a contact move, the attacker loses 1/6 of its max HP." }, "rootfossil": { id: "rootfossil", @@ -2427,7 +2433,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Grass-type moves 20%. Allows breeding of Budew." + desc: "Holder's Grass-type attacks have 1.2x power." }, "rowapberry": { id: "rowapberry", @@ -2447,7 +2453,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "If hit by a special attack, the attacker takes 12.5% damage. Unobtainable in BW. One-time use." + desc: "If holder is hit by a special move, attacker loses 1/8 of its max HP. Single use." }, "salacberry": { id: "salacberry", @@ -2466,7 +2472,7 @@ exports.BattleItems = { onEat: function(pokemon) { this.boost({spe:1}); }, - desc: "Raises Speed by one stage when at 25% HP or less. One-time use." + desc: "Raises Speed by 1 when at 1/4 max HP or less. Single use." }, "scopelens": { id: "scopelens", @@ -2478,7 +2484,7 @@ exports.BattleItems = { onModifyMove: function(move) { move.critRatio++; }, - desc: "Raises critical hit rate one stage." + desc: "Holder's critical hit ratio is boosted by 1." }, "seaincense": { id: "seaincense", @@ -2492,7 +2498,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Water-type moves 20%. Allows breeding of Azurill." + desc: "Holder's Water-type attacks have 1.2x power." }, "sharpbeak": { id: "sharpbeak", @@ -2506,7 +2512,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Flying-type moves 20%." + desc: "Holder's Flying-type attacks have 1.2x power." }, "shedshell": { id: "shedshell", @@ -2519,7 +2525,7 @@ exports.BattleItems = { onModifyPokemon: function(pokemon) { pokemon.trapped = false; }, - desc: "Allows holder to switch out even when trapped." + desc: "Holder may switch out even when trapped by another Pokemon." }, "shellbell": { id: "shellbell", @@ -2533,7 +2539,7 @@ exports.BattleItems = { this.heal(source.lastDamage/8, source); } }, - desc: "Heals holder 1\/8 of damage dealt." + desc: "After an attack, holder gains 1/8 of the damage in HP dealt to other Pokemon." }, "shockdrive": { id: "shockdrive", @@ -2543,7 +2549,7 @@ exports.BattleItems = { basePower: 70 }, onDrive: 'Electric', - desc: "Changes the type of Techno Blast to Electric." + desc: "Holder's Techno Blast is Electric-type." }, "shucaberry": { id: "shucaberry", @@ -2555,7 +2561,7 @@ exports.BattleItems = { type: "Ground" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Ground' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Ground' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -2563,7 +2569,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Ground-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a super effective Ground-type attack. Single use." }, "silkscarf": { id: "silkscarf", @@ -2577,7 +2583,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Normal-type moves 20%." + desc: "Holder's Normal-type attacks have 1.2x power." }, "silverpowder": { id: "silverpowder", @@ -2591,7 +2597,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Bug-type moves 20%." + desc: "Holder's Bug-type attacks have 1.2x power." }, "sitrusberry": { id: "sitrusberry", @@ -2610,7 +2616,7 @@ exports.BattleItems = { onEat: function(pokemon) { this.heal(pokemon.maxhp/4); }, - desc: "Restores 25% max HP when at 50% HP or less. One-time use." + desc: "Restores 1/4 max HP when at 1/2 max HP or less. Single use." }, "skullfossil": { id: "skullfossil", @@ -2634,7 +2640,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Flying-type moves 20%. Pokemon with Multitype become Flying-type." + desc: "Holder's Flying-type attacks have 1.2x power. Judgment is Flying-type." }, "smoothrock": { id: "smoothrock", @@ -2643,7 +2649,7 @@ exports.BattleItems = { fling: { basePower: 10 }, - desc: "Makes sandstorm last 8 turns." + desc: "Holder's use of Sandstorm lasts 8 turns instead of 5." }, "softsand": { id: "softsand", @@ -2657,7 +2663,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Ground-type moves 20%." + desc: "Holder's Ground-type attacks have 1.2x power." }, "souldew": { id: "souldew", @@ -2676,7 +2682,7 @@ exports.BattleItems = { return spd * 1.5; } }, - desc: "Raises Special Attack and Special Defense by 50% if the holder is Latias or Latios." + desc: "If holder is a Latias or a Latios, its Sp. Atk and Sp. Def are 1.5x." }, "spelltag": { id: "spelltag", @@ -2690,7 +2696,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Ghost-type moves 20%." + desc: "Holder's Ghost-type attacks have 1.2x power." }, "spelonberry": { id: "spelonberry", @@ -2701,7 +2707,7 @@ exports.BattleItems = { basePower: 70, type: "Dark" }, - desc: "No use. Unobtainable in BW." + desc: "No competitive use." }, "splashplate": { id: "splashplate", @@ -2716,7 +2722,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Water-type moves 20%. Pokemon with Multitype become Water-type." + desc: "Holder's Water-type attacks have 1.2x power. Judgment is Water-type." }, "spookyplate": { id: "spookyplate", @@ -2731,7 +2737,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Ghost-type moves 20%. Pokemon with Multitype become Ghost-type." + desc: "Holder's Ghost-type attacks have 1.2x power. Judgment is Ghost-type." }, "starfberry": { id: "starfberry", @@ -2761,7 +2767,7 @@ exports.BattleItems = { this.boost(boost); } }, - desc: "Raises a random stat by two stages when at 25% HP or less. One-time use." + desc: "Raises a random stat by 2 when at 1/4 max HP or less. Single use." }, "steelgem": { id: "steelgem", @@ -2776,7 +2782,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Steel-type move by 50%. One-time use." + desc: "Holder's first successful Steel-type attack will have 1.5x power. Single use." }, "stick": { id: "stick", @@ -2790,7 +2796,7 @@ exports.BattleItems = { move.critRatio += 2; } }, - desc: "Raises Farfetch'd's critical hit rate two stages." + desc: "If holder is a Farfetch'd, its critical hit ratio is boosted by 2." }, "stickybarb": { id: "stickybarb", @@ -2811,7 +2817,7 @@ exports.BattleItems = { // no message for Sticky Barb changing hands } }, - desc: "Causes damage to holder and attaches to attacker upon contact." + desc: "Each turn, holder loses 1/8 max HP. An attacker making contact can receive it." }, "stoneplate": { id: "stoneplate", @@ -2826,7 +2832,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises base power of Rock-type moves 20%. Pokemon with Multitype become Rock-type." + desc: "Holder's Rock-type attacks have 1.2x power. Judgment is Rock-type." }, "tamatoberry": { id: "tamatoberry", @@ -2837,7 +2843,7 @@ exports.BattleItems = { basePower: 70, type: "Psychic" }, - desc: "Increases happiness, but lowers Speed EVs by 10." + desc: "No competitive use." }, "tangaberry": { id: "tangaberry", @@ -2849,7 +2855,7 @@ exports.BattleItems = { type: "Bug" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Bug' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Bug' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -2857,7 +2863,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Bug-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a super effective Bug-type attack. Single use." }, "thickclub": { id: "thickclub", @@ -2871,7 +2877,7 @@ exports.BattleItems = { return atk * 2; } }, - desc: "Doubles Cubone's and Marowak's Attack." + desc: "If holder is a Cubone or a Marowak, its Attack is doubled." }, "toxicorb": { id: "toxicorb", @@ -2889,7 +2895,7 @@ exports.BattleItems = { pokemon.trySetStatus('tox'); } }, - desc: "Poisons the holder." + desc: "At the end of every turn, this item attempts to badly poison the holder." }, "toxicplate": { id: "toxicplate", @@ -2904,7 +2910,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Poison-type moves 20%. Pokemon with Multitype become Poison-type." + desc: "Holder's Poison-type attacks have 1.2x power. Judgment is Poison-type." }, "twistedspoon": { id: "twistedspoon", @@ -2918,7 +2924,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Psychic-type moves 20%." + desc: "Holder's Psychic-type attacks have 1.2x power." }, "wacanberry": { id: "wacanberry", @@ -2930,7 +2936,7 @@ exports.BattleItems = { type: "Electric" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Electric' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Electric' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -2938,7 +2944,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Electric-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a super effective Electric-type attack. Single use." }, "watergem": { id: "watergem", @@ -2953,7 +2959,7 @@ exports.BattleItems = { } } }, - desc: "Raises the power of a Water-type move by 50%. One-time use." + desc: "Holder's first successful Water-type attack will have 1.5x power. Single use." }, "watmelberry": { id: "watmelberry", @@ -2964,7 +2970,7 @@ exports.BattleItems = { basePower: 80, type: "Fire" }, - desc: "No use. Unobtainable in BW." + desc: "No competitive use." }, "waveincense": { id: "waveincense", @@ -2978,7 +2984,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Water-type moves 20%. Allows breeding of Mantyke." + desc: "Holder's Water-type attacks have 1.2x power." }, "wepearberry": { id: "wepearberry", @@ -2989,7 +2995,7 @@ exports.BattleItems = { basePower: 70, type: "Electric" }, - desc: "No use. Unobtainable in BW." + desc: "No competitive use." }, "whiteherb": { id: "whiteherb", @@ -3000,8 +3006,8 @@ exports.BattleItems = { effect: function(pokemon) { var activate = false; var boosts = {}; - for (var i in pokemon.baseBoosts) { - if (pokemon.baseBoosts[i] < 0) { + for (var i in pokemon.boosts) { + if (pokemon.boosts[i] < 0) { activate = true; boosts[i] = 0; } @@ -3014,8 +3020,8 @@ exports.BattleItems = { onUpdate: function(pokemon) { var activate = false; var boosts = {}; - for (var i in pokemon.baseBoosts) { - if (pokemon.baseBoosts[i] < 0) { + for (var i in pokemon.boosts) { + if (pokemon.boosts[i] < 0) { activate = true; boosts[i] = 0; } @@ -3025,7 +3031,7 @@ exports.BattleItems = { this.add('-restoreboost', pokemon, '[silent]'); } }, - desc: "Removes stat decreases. Consumed after use." + desc: "Restores all lowered stat stages to 0 when one is less than 0. Single use." }, "widelens": { id: "widelens", @@ -3039,7 +3045,7 @@ exports.BattleItems = { move.accuracy *= 1.1; } }, - desc: "Raises accuracy 10%." + desc: "The accuracy of attacks by the holder is 1.1x." }, "wikiberry": { id: "wikiberry", @@ -3061,7 +3067,7 @@ exports.BattleItems = { pokemon.addVolatile('confusion'); } }, - desc: "Restores 1\/8 max HP when at 50% HP or less. May confuse. One-time use." + desc: "Restores 1/8 max HP when at 1/2 max HP or less. May confuse. Single use." }, "wiseglasses": { id: "wiseglasses", @@ -3075,7 +3081,7 @@ exports.BattleItems = { return basePower * 1.1; } }, - desc: "Raises damage from special moves 10%." + desc: "Holder's special attacks have 1.1x power." }, "yacheberry": { id: "yacheberry", @@ -3087,7 +3093,7 @@ exports.BattleItems = { type: "Ice" }, onSourceBasePower: function(basePower, user, target, move) { - if (move.type === 'Ice' && this.getEffectiveness(move.type, target) > 0) { + if (move.type === 'Ice' && this.getEffectiveness(move.type, target) > 0 && !target.volatiles['substitute']) { if (target.eatItem()) { this.debug('-50% reduction'); return basePower * 0.5; @@ -3095,7 +3101,7 @@ exports.BattleItems = { } }, onEat: function() { }, - desc: "Reduces damage from a super effective Ice-type attack by 50%. Consumed after use." + desc: "Halves damage taken from a super effective Ice-type attack. Single use." }, "zapplate": { id: "zapplate", @@ -3110,7 +3116,7 @@ exports.BattleItems = { return basePower * 1.2; } }, - desc: "Raises power of Electric moves 20%. Pokemon with Multitype become Electric-type." + desc: "Holder's Electric-type attacks have 1.2x power. Judgment is Electric-type." }, "zoomlens": { id: "zoomlens", @@ -3125,6 +3131,6 @@ exports.BattleItems = { move.accuracy *= 1.2; } }, - desc: "Raises accuracy by 20% if the holder moves after the target." + desc: "The accuracy of attacks by the holder is 1.2x if it moves after the target." } }; diff --git a/data/learnsets.js b/data/learnsets.js index 78ba5bf20..ca8898139 100644 --- a/data/learnsets.js +++ b/data/learnsets.js @@ -100,7 +100,7 @@ exports.BattleLearnsets = { golem:{learnset:{ancientpower:["4T"],attract:["3M","4M","5M"],block:["4T","5T"],bodyslam:["3T"],brickbreak:["3M","4M","5M"],bulldoze:["5M","5L36"],captivate:["4M"],counter:["3T"],defensecurl:["3L1","3T","4L1","5L1"],dig:["3M","4M","5M"],doubleedge:["3L62","3T","4L44","5L58"],doubleteam:["3M","4M","5M"],dynamicpunch:["3T"],earthpower:["4T","5T"],earthquake:["3M","3L45","4M","4L33","5M","5L47"],endure:["3T","4M"],explosion:["3L53","3T","4M","4L38","5M","5L53"],facade:["3M","4M","5M"],fireblast:["3M","4M","5M"],firepunch:["3T","4T","5T"],flamethrower:["3M","4M","5M"],fling:["4M","5M"],focusblast:["4M","5M"],focuspunch:["3M","4M"],frustration:["3M","4M","5M"],furycutter:["3T","4T"],gigaimpact:["4M","5M"],gyroball:["4M","5M"],headbutt:["4T"],heavyslam:["5L69"],hiddenpower:["3M","4M","5M"],hyperbeam:["3M","4M","5M"],incinerate:["5M"],ironhead:["4T","5T"],magnitude:["3L16","4L15","5L15"],megakick:["3T"],megapunch:["3T"],metronome:["3T"],mimic:["3T"],mudslap:["3T","4T"],mudsport:["3L1","3L6","4L1","4L4","5L1","5L4"],naturalgift:["4M"],protect:["3M","4M","5M"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],roar:["3M","4M","5M"],rockblast:["3L37","4L27","5L22"],rockclimb:["4M"],rockpolish:["4M","4L1","4L8","5M","5L1","5L8"],rockslide:["3T","4M","5M"],rocksmash:["3M","4M","5M"],rockthrow:["3L1","3L11","4L11","5L11"],rocktomb:["3M","4M","5M"],rollout:["3L29","3T","4L22","4T"],round:["5M"],sandstorm:["3M","4M","5M"],secretpower:["3M","4M"],seismictoss:["3T"],selfdestruct:["3L21","3T","4L18","5L31"],sleeptalk:["3T","4M","5T"],smackdown:["5M","5L27"],snore:["3T","4T","5T"],stealthrock:["4M","5L42","5T"],steamroller:["5L18"],stoneedge:["4M","4L49","5M","5L64"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],suckerpunch:["4T"],sunnyday:["3M","4M","5M"],superpower:["4T","5T"],swagger:["3T","4M","5M"],tackle:["3L1","4L1","5L1"],thunderpunch:["4T","5T"],toxic:["3M","4M","5M"],irondefense:["5T"]}}, ponyta:{learnset:{agility:["3L38","4L34","4L33","5L37"],attract:["3M","4M","5M"],bodyslam:["3T"],bounce:["3L45","4L44","4T","4L42","5L45","5T"],captivate:["4M","5E"],charm:["3E","4E","5E"],doubleedge:["3E","3T","4E","5E"],doublekick:["3E","4E","5E"],doubleteam:["3M","4M","5M"],echoedvoice:["5M"],ember:["3L14","4L16","4L10","5L9"],endure:["3T","4M"],facade:["3M","4M","5M"],fireblast:["3M","3L53","4M","4L38","4L37","5M","5L41"],firespin:["3L25","4L25","4L24","5L25"],flamecharge:["5M","5L21"],flamethrower:["3M","4M","5M"],flamewheel:["3E","4E","4L15","5E","5L13"],flareblitz:["4L48","4L46","5L49"],frustration:["3M","4M","5M"],growl:["3L5","4L7","4L1","5L1"],headbutt:["4T"],heatwave:["4T","5D","5T"],hiddenpower:["3M","4M","5M"],horndrill:["4E","5E"],hypnosis:["3E","4E","5E"],incinerate:["5M"],inferno:["5L33"],irontail:["3M","4M","5T"],lowkick:["5E","5T"],mimic:["3T"],morningsun:["4E","5E"],naturalgift:["4M"],overheat:["3M","4M","5M"],protect:["3M","4M","5M"],quickattack:["3L1"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],round:["5M"],secretpower:["3M","4M"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],solarbeam:["3M","4M","5M"],stomp:["3L19","4L19","5L17"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],swift:["3T","4T"],tackle:["3L1","4L1","5L1","5D"],tailwhip:["3L9","4L10","4L6","5L4"],takedown:["3L31","4L28","5L29"],thrash:["3E","4E","5E","5D"],toxic:["3M","4M","5M"],wildcharge:["5M"],willowisp:["4M","5M"]}}, rapidash:{learnset:{agility:["3L38","4L34","4L33","5L37"],attract:["3M","4M","5M"],batonpass:["3S0"],bodyslam:["3T"],bounce:["3L50","4L49","4T","4L47","5L45","5T"],captivate:["4M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],echoedvoice:["5M"],ember:["3L1","3L14","4L1","4L16","4L10","5L1","5L9"],endure:["3T","4M"],facade:["3M","4M","5M"],fireblast:["3M","3L63","4M","4L38","4L37","5M","5L41"],firespin:["3L25","4L25","4L24","5L25"],flamecharge:["5M","5L21"],flamethrower:["3M","4M","5M","3S0"],flamewheel:["4L15","5L13"],flareblitz:["4L58","4L56","5L49"],frustration:["3M","4M","5M"],furyattack:["3L40","4L40","5L40"],gigaimpact:["4M","5M"],growl:["3L1","3L5","4L1","4L7","5L1"],headbutt:["4T"],heatwave:["4T","5T"],hiddenpower:["3M","4M","5M"],hyperbeam:["3M","4M","5M"],incinerate:["5M"],inferno:["5L33"],irontail:["3M","4M","5T"],megahorn:["4L1","5L1"],mimic:["3T"],naturalgift:["4M"],overheat:["3M","4M","5M"],poisonjab:["4M","4L1","5M","5L1"],protect:["3M","4M","5M"],quickattack:["3L1","4L1","5L1"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],round:["5M"],secretpower:["3M","4M"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],solarbeam:["3M","4M","5M","3S0"],stomp:["3L19","4L19","5L17"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M","3S0"],swagger:["3T","4M","5M"],swift:["3T","4T"],tackle:["3L1"],tailwhip:["3L1","3L9","4L1","4L10","4L6","5L1","5L4"],takedown:["3L31","4L28","5L29"],toxic:["3M","4M","5M"],wildcharge:["5M"],willowisp:["4M","5M"],drillrun:["5T"],lowkick:["5T"]}}, - slowpoke:{learnset:{amnesia:["3L43","3L36","4L43","5L41"],aquatail:["4T","5T"],attract:["3M","4M","5M"],bellydrum:["3E","4E","5E"],blizzard:["3M","4M","5M"],block:["4E","4T","5E","5D","5T"],bodyslam:["3T"],brine:["4M","5D"],bulldoze:["5M"],calmmind:["3M","4M","5M"],captivate:["4M"],confusion:["3L20","3L17","4L15","5L14","3S0","5S2"],curse:["3L1","4L1","5L1","3S1"],dig:["3M","4M","5M"],disable:["3L29","3L24","4L20","5L19","3S0","5S2"],dive:["3M","4T","5M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],dreameater:["3T","4M","5M"],earthquake:["3M","4M","5M"],echoedvoice:["5M"],endure:["3T","4M"],facade:["3M","4M","5M"],fireblast:["3M","4M","5M"],flamethrower:["3M","4M","5M"],flash:["3M","4M","5M"],frustration:["3M","4M","5M"],futuresight:["3E","4E","5E"],grassknot:["4M","5M"],growl:["3L6","4L6","5L5","3S1"],hail:["3M","4M","5M"],headbutt:["3L34","3L29","4L25","4T","5L23","3S0","5S2"],healpulse:["5L58"],hiddenpower:["3M","4M","5M"],icebeam:["3M","4M","5M"],icepunch:["4T"],icywind:["3T","5T"],incinerate:["5M"],irontail:["3M","4M","5T"],lightscreen:["4M","5M"],magiccoat:["4T","5T"],mefirst:["4E","5E"],mimic:["3T"],mudslap:["3T","4T"],mudsport:["3E","4E","5E"],naturalgift:["4M"],nightmare:["3T"],protect:["3M","4M","5M"],psychic:["3M","3L48","3L40","4M","4L48","5M","5L45"],psychup:["3T","3L47","4M","4L57","5M","5L54"],psyshock:["5M"],raindance:["3M","4M","4L53","5M","5L49"],recycle:["4M","5T"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],round:["5M"],safeguard:["3E","3M","4E","4M","5M"],scald:["5M"],secretpower:["3M","4M"],shadowball:["3M","4M","5M"],signalbeam:["4T","5T"],skillswap:["3M","4M","5T"],slackoff:["4L39","5L36"],sleeptalk:["3E","3T","4E","4M","5E","5T"],snore:["3E","3T","4E","4T","5E","5T"],stomp:["3E","4E","5E"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],surf:["3M","4M","5M"],swagger:["3T","4M","5M"],swift:["3T","4T"],tackle:["3L1","4L1","5L1","3S1"],telekinesis:["5M"],thunderwave:["3T","4M","5M"],toxic:["3M","4M","5M"],trick:["4T","5T"],trickroom:["4M","5M"],watergun:["3L15","3L13","4L11","5L9","3S0"],waterpulse:["3M","4M","4L29","5L28","5S2"],whirlpool:["4M"],wonderroom:["5E","5T"],yawn:["3L1","4L1","5L1","5D","3S1"],zenheadbutt:["4E","4L34","4T","5E","5L32","5T"],afteryou:["5T"]}}, + slowpoke:{learnset:{amnesia:["3L43","3L36","4L43","5L41"],aquatail:["4T","5T"],attract:["3M","4M","5M"],bellydrum:["3E","4E","5E"],blizzard:["3M","4M","5M"],block:["4E","4T","5E","5D","5T"],bodyslam:["3T"],brine:["4M","5D"],bulldoze:["5M"],calmmind:["3M","4M","5M"],captivate:["4M"],confusion:["3L20","3L17","4L15","5L14","3S0","5S2"],curse:["3L1","4L1","5L1","3S1"],dig:["3M","4M","5M"],disable:["3L29","3L24","4L20","5L19","3S0","5S2"],dive:["3M","4T","5M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],dreameater:["3T","4M","5M"],earthquake:["3M","4M","5M"],echoedvoice:["5M"],endure:["3T","4M"],facade:["3M","4M","5M"],fireblast:["3M","4M","5M"],flamethrower:["3M","4M","5M"],flash:["3M","4M","5M"],frustration:["3M","4M","5M"],futuresight:["3E","4E","5E"],grassknot:["4M","5M"],growl:["3L6","4L6","5L5","3S1"],hail:["3M","4M","5M"],headbutt:["3L34","3L29","4L25","4T","5L23","3S0","5S2"],healpulse:["5L58"],hiddenpower:["3M","4M","5M"],icebeam:["3M","4M","5M"],icywind:["3T","5T"],incinerate:["5M"],irontail:["3M","4M","5T"],lightscreen:["4M","5M"],magiccoat:["4T","5T"],mefirst:["4E","5E"],mimic:["3T"],mudslap:["3T","4T"],mudsport:["3E","4E","5E"],naturalgift:["4M"],nightmare:["3T"],protect:["3M","4M","5M"],psychic:["3M","3L48","3L40","4M","4L48","5M","5L45"],psychup:["3T","3L47","4M","4L57","5M","5L54"],psyshock:["5M"],raindance:["3M","4M","4L53","5M","5L49"],recycle:["4M","5T"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],round:["5M"],safeguard:["3E","3M","4E","4M","5M"],scald:["5M"],secretpower:["3M","4M"],shadowball:["3M","4M","5M"],signalbeam:["4T","5T"],skillswap:["3M","4M","5T"],slackoff:["4L39","5L36"],sleeptalk:["3E","3T","4E","4M","5E","5T"],snore:["3E","3T","4E","4T","5E","5T"],stomp:["3E","4E","5E"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],surf:["3M","4M","5M"],swagger:["3T","4M","5M"],swift:["3T","4T"],tackle:["3L1","4L1","5L1","3S1"],telekinesis:["5M"],thunderwave:["3T","4M","5M"],toxic:["3M","4M","5M"],trick:["4T","5T"],trickroom:["4M","5M"],watergun:["3L15","3L13","4L11","5L9","3S0"],waterpulse:["3M","4M","4L29","5L28","5S2"],whirlpool:["4M"],wonderroom:["5E","5T"],yawn:["3L1","4L1","5L1","5D","3S1"],zenheadbutt:["4E","4L34","4T","5E","5L32","5T"],afteryou:["5T"]}}, slowbro:{learnset:{aerialace:["5M"],amnesia:["3L46","3L36","4L47","5L43"],aquatail:["4T","5T"],attract:["3M","4M","5M"],avalanche:["4M"],blizzard:["3M","4M","5M"],block:["4T","5T"],bodyslam:["3T"],brickbreak:["3M","4M","5M"],brine:["4M"],bulldoze:["5M"],calmmind:["3M","4M","5M"],captivate:["4M"],confusion:["3L20","3L17","4L15","5L14"],counter:["3T"],curse:["3L1","4L1","5L1"],dig:["3M","4M","5M"],disable:["3L29","3L24","4L20","5L19"],dive:["3M","4T","5M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],drainpunch:["4M","5T"],dreameater:["3T","4M","5M"],dynamicpunch:["3T"],earthquake:["3M","4M","5M"],echoedvoice:["5M"],endure:["3T","4M"],facade:["3M","4M","5M"],fireblast:["3M","4M","5M"],flamethrower:["3M","4M","5M"],flash:["3M","4M","5M"],fling:["4M","5M"],focusblast:["4M","5M"],focuspunch:["3M","4M"],frustration:["3M","4M","5M"],furycutter:["3T","4T"],gigaimpact:["4M","5M"],grassknot:["4M","5M"],growl:["3L1","3L6","4L1","4L6","5L1","5L5"],hail:["3M","4M","5M"],headbutt:["3L34","3L29","4L25","4T","5L23"],healpulse:["5L68"],hiddenpower:["3M","4M","5M"],hyperbeam:["3M","4M","5M"],icebeam:["3M","4M","5M"],icepunch:["3T","4T","5T"],icywind:["3T","4T","5T"],incinerate:["5M"],irondefense:["4T","5T"],irontail:["3M","4M","5T"],lightscreen:["4M","5M"],magiccoat:["4T","5T"],megakick:["3T"],megapunch:["3T"],mimic:["3T"],mudslap:["3T","4T"],naturalgift:["4M"],nightmare:["3T"],protect:["3M","4M","5M"],psychic:["3M","3L54","3L44","4M","4L54","5M","5L49"],psychup:["3T","3L55","4M","4L67","5M","5L62"],psyshock:["5M"],raindance:["3M","4M","4L61","5M","5L55"],recycle:["4M","5T"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],rocksmash:["3M","4M","5M"],round:["5M"],safeguard:["3M","4M","5M"],scald:["5M"],secretpower:["3M","4M"],seismictoss:["3T"],shadowball:["3M","4M","5M"],signalbeam:["4T","5T"],skillswap:["3M","4M","5T"],slackoff:["4L41","5L36"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],surf:["3M","4M","5M"],swagger:["3T","4M","5M"],swift:["3T","4T"],tackle:["3L1","4L1","5L1"],telekinesis:["5M"],thunderwave:["3T","4M","5M"],toxic:["3M","4M","5M"],trick:["4T","5T"],trickroom:["4M","5M"],watergun:["3L15","3L13","4L11","5L9"],waterpulse:["3M","4M","4L29","5L28"],whirlpool:["4M"],withdraw:["3L37","4L37","5L37"],yawn:["3L1","4L1","5L1"],zenheadbutt:["4L34","4T","5L32","5T"],foulplay:["5T"],afteryou:["5T"],wonderroom:["5T"]}}, slowking:{learnset:{aquatail:["4T","5T"],attract:["3M","4M","5M"],avalanche:["4M"],blizzard:["3M","4M","5M"],block:["4T","5T"],bodyslam:["3T"],brickbreak:["3M","4M","5M"],brine:["4M"],bulldoze:["5M"],calmmind:["3M","4M","5M"],captivate:["4M"],confusion:["3L20","3L17","4L15","5L14"],counter:["3T"],curse:["3L1","4L1","5L1"],dig:["3M","4M","5M"],disable:["3L29","3L24","4L20","5L19"],dive:["3M","4T","5M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],dragontail:["5M"],drainpunch:["4M","5T"],dreameater:["3T","4M","5M"],dynamicpunch:["3T"],earthquake:["3M","4M","5M"],echoedvoice:["5M"],endure:["3T","4M"],facade:["3M","4M","5M"],fireblast:["3M","4M","5M"],flamethrower:["3M","4M","5M"],flash:["3M","4M","5M"],fling:["4M","5M"],focusblast:["4M","5M"],focuspunch:["3M","4M"],frustration:["3M","4M","5M"],furycutter:["3T","4T"],gigaimpact:["4M","5M"],grassknot:["4M","5M"],growl:["3L6","4L6","5L5"],hail:["3M","4M","5M"],headbutt:["3L34","3L29","4L25","4T","5L23"],healpulse:["5L58"],hiddenpower:["3M","4M","4L1","5M","5L1"],hyperbeam:["3M","4M","5M"],icebeam:["3M","4M","5M"],icepunch:["3T","4T","5T"],icywind:["3T","4T","5T"],incinerate:["5M"],irondefense:["4T","5T"],irontail:["3M","4M","5T"],lightscreen:["4M","5M"],magiccoat:["4T","5T"],megakick:["3T"],megapunch:["3T"],mimic:["3T"],mudslap:["3T","4T"],nastyplot:["4L39","5L36"],naturalgift:["4M"],nightmare:["3T"],powergem:["4L1","5L1"],protect:["3M","4M","5M"],psychic:["3M","3L48","3L40","4M","4L48","5M","5L45"],psychup:["3T","3L47","4M","4L57","5M","5L54"],psyshock:["5M"],quash:["5M"],raindance:["3M","4M","5M"],recycle:["4M","5T"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],rocksmash:["3M","4M","5M"],round:["5M"],safeguard:["3M","4M","5M"],scald:["5M"],secretpower:["3M","4M"],seismictoss:["3T"],shadowball:["3M","4M","5M"],signalbeam:["4T","5T"],skillswap:["3M","4M","5T"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],surf:["3M","4M","5M"],swagger:["3L43","3T","3L36","4M","4L43","5M","5L41"],swift:["3T","4T"],tackle:["3L1","4L1","5L1"],telekinesis:["5M"],thunderwave:["3T","4M","5M"],toxic:["3M","4M","5M"],trick:["4T","5T"],trickroom:["4M","5M"],trumpcard:["4L53","5L49"],watergun:["3L15","3L13","4L11","5L9"],waterpulse:["3M","4M","4L29","5L28"],whirlpool:["4M"],yawn:["3L1","4L1","5L1"],zenheadbutt:["4L34","4T","5L32","5T"],foulplay:["5T"],afteryou:["5T"],wonderroom:["5T"]}}, magnemite:{learnset:{chargebeam:["4M","5M"],discharge:["4L38","5L43"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],electroball:["5L27"],endure:["3T","4M"],explosion:["4M","5M"],facade:["3M","4M","5M"],flash:["3M","4M","5M"],flashcannon:["4M","5M","5L35"],frustration:["3M","4M","5M"],gravity:["4T","5D","5T"],gyroball:["4M","4L49","5M","5L54"],hiddenpower:["3M","4M","5M"],irondefense:["4T","5T"],lightscreen:["4M","5M"],lockon:["3L32","4L27","5L30"],magiccoat:["4T","5T"],magnetbomb:["4L30","5L33"],magnetrise:["4L46","4T","5L49","5T"],metalsound:["3L1","4L1","5L1","5D"],mimic:["3T"],mirrorshot:["4L43","5L46"],naturalgift:["4M"],protect:["3M","4M","5M"],psychup:["4M","5M"],raindance:["3M","4M","5M"],recycle:["4M","5D","5T"],reflect:["3M","4M","5M"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],rollout:["3T","4T"],round:["5M"],screech:["3L44","4L33","5L38"],secretpower:["3M","4M"],shockwave:["3M","4M"],signalbeam:["4T","5T"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],sonicboom:["3L16","4L14","5L14"],spark:["3L26","4L22","5L22"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],supersonic:["3L11","4L11","5L11"],swagger:["3T","4M","5M"],swift:["3L38","3T","4T"],tackle:["3L1","4L1","5L1"],thunder:["3M","4M","5M"],thunderbolt:["3M","4M","5M"],thundershock:["3L6","4L6","5L6","5D"],thunderwave:["3L21","3T","4M","4L17","5M","5L17"],toxic:["3M","4M","5M"],voltswitch:["5M"],wildcharge:["5M"],zapcannon:["3L50","4L54","5L59"],electroweb:["5T"]}}, @@ -114,7 +114,7 @@ exports.BattleLearnsets = { grimer:{learnset:{acidarmor:["3L34","4L39","5L39"],acidspray:["5E"],attract:["3M","4M","5M"],bodyslam:["3T"],captivate:["4M"],curse:["3E","4E","5E"],dig:["3M","4M","5M"],disable:["3L8","4L12","5L12"],doubleteam:["3M","4M","5M"],dynamicpunch:["3T"],endure:["3T","4M"],explosion:["3E","3T","4E","4M","5M"],facade:["3M","4M","5M"],fireblast:["3M","4M","5M"],firepunch:["3T","4T","5T"],flamethrower:["3M","4M","5M"],fling:["4M","4L28","5M","5L28"],frustration:["3M","4M","5M"],gigadrain:["3M","4M","5T"],gunkshot:["4L44","4T","5L49","5T"],harden:["3L4","4L4","5L4"],haze:["3E","4E","5E","5D"],helpinghand:["3S0"],hiddenpower:["3M","4M","5M"],icepunch:["3T","4T","5T"],imprison:["3E","4E","5E"],incinerate:["5M"],lick:["3E","4E","5E"],meanlook:["3E","4E","5E"],memento:["3L53","4L49","5L52"],mimic:["3T"],minimize:["3L19","4L17","5L17","3S0"],mudbomb:["4L23","5L23"],mudslap:["3T","4L7","4T","5L7"],naturalgift:["4M"],painsplit:["4T","5T"],payback:["4M","5M"],poisongas:["3L1","4L1","5L1","5D"],poisonjab:["4M","5M"],pound:["3L1","4L1","5L1"],protect:["3M","4M","5M"],raindance:["3M","4M","5M"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],rockslide:["4M","5M"],rocktomb:["3M","4M","5M"],round:["5M"],scaryface:["5E"],screech:["3L26","4L33","5L33"],secretpower:["3M","4M"],selfdestruct:["3T"],shadowball:["4M","5M"],shadowpunch:["3E","4E","5E","3S0"],shadowsneak:["4E","5E","5D"],shockwave:["3M","4M"],sleeptalk:["3T","4M","5T"],sludge:["3L13","4L20","5L20"],sludgebomb:["3M","3L43","4M","4L36","5M","5L36","3S0"],sludgewave:["5M","5L44"],snore:["3T","4T","5T"],spitup:["4E","5E"],stockpile:["4E","5E"],strength:["4M","5M"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],swallow:["4E","5E"],taunt:["3M","4M","5M"],thief:["3M","4M","5M"],thunder:["3M","4M","5M"],thunderbolt:["3M","4M","5M"],thunderpunch:["3T","4T","5T"],torment:["3M","4M","5M"],toxic:["3M","4M","5M"],venoshock:["5M"]}}, muk:{learnset:{acidarmor:["3L34","4L44","5L42"],attract:["3M","4M","5M"],block:["4T","5T"],bodyslam:["3T"],brickbreak:["3M","4M","5M"],captivate:["4M"],darkpulse:["4M","5T"],dig:["3M","4M","5M"],disable:["3L8","4L12","5L12"],doubleteam:["3M","4M","5M"],dynamicpunch:["3T"],endure:["3T","4M"],explosion:["3T","4M","5M"],facade:["3M","4M","5M"],fireblast:["3M","4M","5M"],firepunch:["3T","4T","5T"],flamethrower:["3M","4M","5M"],fling:["4M","4L28","5M","5L28"],focusblast:["4M","5M"],focuspunch:["3M","4M"],frustration:["3M","4M","5M"],gigadrain:["3M","4M","5T"],gigaimpact:["4M","5M"],gunkshot:["4L54","4T","5L58","5T"],harden:["3L1","3L4","4L1","4L4","5L1","5L4"],hiddenpower:["3M","4M","5M"],hyperbeam:["3M","4M","5M"],icepunch:["3T","4T","5T"],incinerate:["5M"],memento:["3L61","4L65","5L64"],mimic:["3T"],minimize:["3L19","4L17","5L17"],mudbomb:["4L23","5L23"],mudslap:["3T","4L1","4L7","4T","5L1","5L7"],naturalgift:["4M"],painsplit:["4T","5T"],payback:["4M","5M"],poisongas:["3L1","4L1","5L1"],poisonjab:["4M","5M"],pound:["3L1","4L1","5L1"],protect:["3M","4M","5M"],raindance:["3M","4M","5M"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],rockslide:["4M","5M"],rocksmash:["3M","4M","5M"],rocktomb:["3M","4M","5M"],round:["5M"],screech:["3L26","4L33","5L33"],secretpower:["3M","4M"],selfdestruct:["3T"],shadowball:["4M","5M"],shockwave:["3M","4M"],sleeptalk:["3T","4M","5T"],sludge:["3L13","4L20","5L20"],sludgebomb:["3M","3L47","4M","4L36","5M","5L36"],sludgewave:["5M","5L50"],snore:["3T","4T","5T"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],taunt:["3M","4M","5M"],thief:["3M","4M","5M"],thunder:["3M","4M","5M"],thunderbolt:["3M","4M","5M"],thunderpunch:["3T","4T","5T"],torment:["3M","4M","5M"],toxic:["3M","4M","5M"],venoshock:["5M"]}}, shellder:{learnset:{aquaring:["5E"],attract:["3M","4M","5M"],aurorabeam:["3L17","3L22","4L32","5L37","3S0","3S2"],avalanche:["5E"],barrier:["3E","4E","5E","5D"],blizzard:["3M","4M","5M"],brine:["4M","4L44","5L44"],bubblebeam:["3E","4E","5E"],captivate:["4M"],clamp:["3L41","3L43","4L25","5L25"],dive:["3M","4T","5M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],endure:["3T","4M"],explosion:["3T","4M","5M"],facade:["3M","4M","5M"],frustration:["3M","4M","5M"],hail:["3M","4M","5M"],hiddenpower:["3M","4M","5M"],hydropump:["5L61"],icebeam:["3M","3L49","3L50","4M","4L49","5M","5L52"],iceshard:["4L28","5L28"],iciclespear:["3E","3L8","4E","4L13","5E","5L13","3S0","3S1"],icywind:["3T","4T","5D","5T"],irondefense:["4L40","4T","5L49","5T"],leer:["3L33","3L36","4L20","5L20"],mimic:["3T"],mudshot:["4E","5E"],naturalgift:["4M"],payback:["4M","5M"],protect:["3M","3L25","3L29","4M","4L16","5M","5L16"],raindance:["3M","4M","5M"],rapidspin:["3E","4E","5E"],razorshell:["5L32"],refresh:["3S2"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],rockblast:["4E","5E"],round:["5M"],screech:["3E","4E","5E"],secretpower:["3M","4M"],selfdestruct:["3T"],shellsmash:["5L56"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],substitute:["3T","4M","5M"],supersonic:["3L9","3L15","4L8","5L8","3S0"],surf:["3M","4M","5M","3S2"],swagger:["3T","4M","5M"],swift:["3T","4T"],tackle:["3L1","4L1","5L1","3S1"],takedown:["3E","4E","5E","3S2"],toxic:["3M","4M","5M"],twineedle:["5E"],waterpulse:["3M","4M","5E"],whirlpool:["4L37","4M","5L40"],withdraw:["3L1","4L4","5L4","5D","3S0","3S1"]}}, - cloyster:{learnset:{attract:["3M","4M","5M"],aurorabeam:["3L1","4L1","5L1"],avalanche:["4M"],blizzard:["3M","4M","5M"],brine:["4M"],captivate:["4M"],dive:["3M","4T","5M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],endure:["3T","4M"],explosion:["3T","4M","5M"],facade:["3M","4M","5M"],frostbreath:["5M"],frustration:["3M","4M","5M"],gigaimpact:["4M","5M"],hail:["3M","4M","5M"],hiddenpower:["3M","4M","5M","5S0"],hyperbeam:["3M","4M","5M"],icebeam:["3M","4M","5M"],iciclecrash:["5L52"],iciclespear:["5S0"],icywind:["3T","4T","5T"],irondefense:["4T","5T"],mimic:["3T"],naturalgift:["4M"],payback:["4M","5M"],poisonjab:["4M","5M"],protect:["3M","3L1","4M","4L1","5M","5L1"],raindance:["3M","4M","5M"],razorshell:["5S0"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],rockblast:["5S0"],round:["5M"],secretpower:["3M","4M"],selfdestruct:["3T"],signalbeam:["4T","5T"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],spikecannon:["3L41","3L43","4L40","5L13"],spikes:["3L33","3L36","4L28","5L28"],substitute:["3T","4M","5M"],supersonic:["3L1","4L1","5L1"],surf:["3M","4M","5M"],swagger:["3T","4M","5M"],swift:["3T","4T"],torment:["3M","4M","5M"],toxic:["3M","4M","5M"],toxicspikes:["4L1","5L1"],waterpulse:["3M","4M"],whirlpool:["4M"],withdraw:["3L1","4L1","5L1"]}}, + cloyster:{learnset:{attract:["3M","4M","5M"],aurorabeam:["3L1","4L1","5L1"],avalanche:["4M"],blizzard:["3M","4M","5M"],brine:["4M"],captivate:["4M"],dive:["3M","4T","5M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],endure:["3T","4M"],explosion:["3T","4M","5M"],facade:["3M","4M","5M"],frostbreath:["5M"],frustration:["3M","4M","5M"],gigaimpact:["4M","5M"],hail:["3M","4M","5M"],hiddenpower:["3M","4M","5M","5S0"],hyperbeam:["3M","4M","5M"],icebeam:["3M","4M","5M"],iciclecrash:["5L52"],iciclespear:["5S0"],icywind:["3T","4T","5T"],irondefense:["4T","5T"],mimic:["3T"],naturalgift:["4M"],payback:["4M","5M"],poisonjab:["4M","5M"],protect:["3M","3L1","4M","4L1","5M","5L1"],raindance:["3M","4M","5M"],rapidspin:["3C"],razorshell:["5S0"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],rockblast:["5S0"],round:["5M"],secretpower:["3M","4M"],selfdestruct:["3T"],signalbeam:["4T","5T"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],spikecannon:["3L41","3L43","4L40","5L13"],spikes:["3L33","3L36","4L28","5L28"],substitute:["3T","4M","5M"],supersonic:["3L1","4L1","5L1"],surf:["3M","4M","5M"],swagger:["3T","4M","5M"],swift:["3T","4T"],torment:["3M","4M","5M"],toxic:["3M","4M","5M"],toxicspikes:["4L1","5L1"],waterpulse:["3M","4M"],whirlpool:["4M"],withdraw:["3L1","4L1","5L1"]}}, gastly:{learnset:{astonish:["3E","4E","5E"],attract:["3M","4M","5M"],captivate:["4M"],clearsmog:["5E"],confuseray:["3L28","3L21","4L19","5L19"],curse:["3L16","3L13","4L12","5L12"],darkpulse:["4M","4L36","5L36","5T"],destinybond:["3L36","3L33","4L40","5L40"],disable:["4E","5E","5D"],doubleteam:["3M","4M","5M"],dreameater:["3L33","3T","3L28","4M","4L33","5M","5L33"],embargo:["4M","5M"],endure:["3T","4M"],energyball:["4M","5M"],explosion:["3E","3T","4E","4M","5M"],facade:["3M","4M","5M"],firepunch:["4E","4T","5E","5T"],frustration:["3M","4M","5M"],gigadrain:["3M","4M","5T"],grudge:["3E","4E","5E"],haze:["3E","4E","5E"],hex:["5L43"],hiddenpower:["3M","4M","5M"],hypnosis:["3L1","4L1","5L1","5D"],icepunch:["4E","4T","5E","5T"],icywind:["4T","5T"],knockoff:["4T","5T"],lick:["3L1","4L1","5L1"],meanlook:["3L13","3L48","4L8","5L8"],mimic:["3T"],naturalgift:["4M"],nightmare:["3T","3L41","4L43","5L47"],nightshade:["3L21","3L16","4L15","5L15"],ominouswind:["4T"],painsplit:["4T","5T"],payback:["4M","4L26","5M","5L26"],perishsong:["3E","4E","5E"],protect:["3M","4M","5M"],psychic:["3M","4M","5M"],psychup:["3T","4M","5M"],psywave:["3E","4E","5E"],raindance:["3M","4M","5M"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],round:["5M"],scaryface:["5E"],secretpower:["3M","4M"],selfdestruct:["3T"],shadowball:["3M","3L36","4M","4L29","5M","5L29"],skillswap:["3M","4M","5T"],sleeptalk:["3T","4M","5T"],sludgebomb:["3M","4M","5M"],sludgewave:["5D"],smog:["5E"],snatch:["3M","4M","5T"],snore:["3T","4T","5T"],spite:["3L8","4L5","4T","5L5","5T"],substitute:["3T","4M","5M"],suckerpunch:["4L22","4T","5L22"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],taunt:["3M","4M","5M"],telekinesis:["5M"],thief:["3M","4M","5M"],thunderbolt:["3M","4M","5M"],thunderpunch:["4E","4T","5E","5T"],torment:["3M","4M","5M"],toxic:["3M","4M","5M"],trick:["4T","5T"],trickroom:["4M","5M"],uproar:["4T","5T"],venoshock:["5M"],willowisp:["3E","4E","4M","5M"],foulplay:["5T"],wonderroom:["5T"]}}, haunter:{learnset:{attract:["3M","4M","5M"],captivate:["4M"],confuseray:["3L31","3L21","4L19","5L19","3S0","5S1"],curse:["3L16","3L13","4L12","5L12","3S0"],darkpulse:["4M","4L44","5L44","5T"],destinybond:["3L48","3L39","4L50","5L50"],doubleteam:["3M","4M","5M"],dreameater:["3L39","3T","3L31","4M","4L39","5M","5L39"],embargo:["4M","5M"],endure:["3T","4M"],energyball:["4M","5M"],explosion:["3T","4M","5M"],facade:["3M","4M","5M"],firepunch:["4T","5T"],fling:["4M","5M"],frustration:["3M","4M","5M"],gigadrain:["3M","4M","5T"],hex:["5L55"],hiddenpower:["3M","4M","5M"],hypnosis:["3L1","4L1","5L1"],icepunch:["4T","5T"],icywind:["4T","5T"],knockoff:["4T","5T"],lick:["3L1","4L1","5L1"],meanlook:["3L13","3L64","4L8","5L8"],mimic:["3T"],naturalgift:["4M"],nightmare:["3T","3L53","4L55","5L61"],nightshade:["3L21","3L16","4L15","5L15","3S0"],ominouswind:["4T"],painsplit:["4T","5T"],payback:["4M","4L28","5M","5L28","5S1"],poisonjab:["4M","5M"],protect:["3M","4M","5M"],psychic:["3M","4M","5M"],psychup:["3T","4M","5M"],raindance:["3M","4M","5M"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],round:["5M"],secretpower:["3M","4M"],selfdestruct:["3T"],shadowball:["3M","3L45","4M","4L33","5M","5L33"],shadowclaw:["4M","5M"],shadowpunch:["3L25","4L25","5L25","5S1"],skillswap:["3M","4M","5T"],sleeptalk:["3T","4M","5T"],sludgebomb:["3M","4M","5M"],snatch:["3M","4M","5T"],snore:["3T","4T","5T"],spite:["3L1","3L8","4L1","4L5","4T","5L1","5L5","3S0","5T"],substitute:["3T","4M","5M"],suckerpunch:["4L22","4T","5L22","5S1"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],taunt:["3M","4M","5M"],telekinesis:["5M"],thief:["3M","4M","5M"],thunderbolt:["3M","4M","5M"],thunderpunch:["4T","5T"],torment:["3M","4M","5M"],toxic:["3M","4M","5M"],trick:["4T","5T"],trickroom:["4M","5M"],uproar:["4T","5T"],venoshock:["5M"],willowisp:["4M","5M"],foulplay:["5T"],wonderroom:["5T"]}}, gengar:{learnset:{attract:["3M","4M","5M"],bodyslam:["3T"],brickbreak:["3M","4M","5M"],captivate:["4M"],confuseray:["3L31","3L21","4L19","5L19"],counter:["3T"],curse:["3L16","3L13","4L12","5L12"],darkpulse:["4M","4L44","5L44","5T"],destinybond:["3L48","3L39","4L50","5L50"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],drainpunch:["4M","5T"],dreameater:["3L39","3T","3L31","4M","4L39","5M","5L39"],dynamicpunch:["3T"],embargo:["4M","5M"],endure:["3T","4M"],energyball:["4M","5M"],explosion:["3T","4M","5M"],facade:["3M","4M","5M"],firepunch:["3T","4T","5T"],fling:["4M","5M"],focusblast:["4M","5M"],focuspunch:["3M","4M"],frustration:["3M","4M","5M"],gigadrain:["3M","4M","5T"],gigaimpact:["4M","5M"],headbutt:["4T"],hex:["5L55"],hiddenpower:["3M","4M","5M"],hyperbeam:["3M","4M","5M"],hypnosis:["3L1","4L1","5L1"],icepunch:["3T","4T","5T"],icywind:["4T","5T"],knockoff:["4T","5T"],lick:["3L1","4L1","5L1"],meanlook:["3L13","3L64","4L8","5L8"],megakick:["3T"],megapunch:["3T"],metronome:["3T"],mimic:["3T"],naturalgift:["4M"],nightmare:["3T","3L53","4L55","5L61"],nightshade:["3L21","3L16","4L15","5L15"],ominouswind:["4T"],painsplit:["4T","5T"],payback:["4M","4L28","5M","5L28"],poisonjab:["4M","5M"],protect:["3M","4M","5M"],psychic:["3M","4M","5M"],psychup:["3T","4M","5M"],raindance:["3M","4M","5M"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],rocksmash:["3M","4M","5M"],roleplay:["4T","5T"],round:["5M"],secretpower:["3M","4M"],seismictoss:["3T"],selfdestruct:["3T"],shadowball:["3M","3L45","4M","4L33","5M","5L33"],shadowclaw:["4M","5M"],shadowpunch:["3L25","4L25","5L25"],skillswap:["3M","4M","5T"],sleeptalk:["3T","4M","5T"],sludgebomb:["3M","4M","5M"],snatch:["3M","4M","5T"],snore:["3T","4T","5T"],spite:["3L1","3L8","4L1","4L5","4T","5L1","5L5","5T"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],suckerpunch:["4L22","4T","5L22"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],taunt:["3M","4M","5M"],telekinesis:["5M"],thief:["3M","4M","5M"],thunder:["3M","4M","5M"],thunderbolt:["3M","4M","5M"],thunderpunch:["3T","4T","5T"],torment:["3M","4M","5M"],toxic:["3M","4M","5M"],trick:["4T","5T"],trickroom:["4M","5M"],uproar:["4T","5T"],venoshock:["5M"],willowisp:["4M","5M"],foulplay:["5T"],wonderroom:["5T"]}}, @@ -133,7 +133,7 @@ exports.BattleLearnsets = { tyrogue:{learnset:{attract:["3M","4M","5M"],bodyslam:["3T"],brickbreak:["3M","4M","5M"],bulkup:["3M","4M","5M"],bulldoze:["5M"],bulletpunch:["4E","5E"],captivate:["4M"],counter:["3T","4E","5E"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],earthquake:["3M","4M","5M"],endure:["3T","4M","5E"],facade:["3M","4M","5M"],fakeout:["4L1","5L1","5D"],feint:["5E","5D"],foresight:["4L1","5L1"],frustration:["3M","4M","5M"],headbutt:["4T"],helpinghand:["3E","4E","4L1","4T","5E","5L1","5T"],hiddenpower:["3M","4M","5M"],hijumpkick:["3E","4E","5E"],lowkick:["4T","5T"],lowsweep:["5M"],machpunch:["3E","4E","5E","5D"],megakick:["3T"],mimic:["3T"],mindreader:["3E","4E","5E"],mudslap:["3T","4T"],naturalgift:["4M"],protect:["3M","4M","5M"],pursuit:["5E"],raindance:["3M","4M","5M"],rapidspin:["3E","4E","5E"],rest:["3M","4M","5M"],retaliate:["5M"],"return":["3M","4M","5M"],rockslide:["3T","4M","5M"],rocksmash:["3M","4M","5M"],roleplay:["4T","5T"],round:["5M"],secretpower:["3M","4M"],seismictoss:["3T"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],swift:["3T","4T"],tackle:["3L1","4L1","5L1"],thief:["3M","4M","5M"],toxic:["3M","4M","5M"],uproar:["4T","5T"],vacuumwave:["4E","4T","5E"],workup:["5M"],covet:["5T"]}}, hitmonlee:{learnset:{attract:["3M","4M","5M"],blazekick:["4L41","5L45"],bodyslam:["3T"],bounce:["4T","5T"],brickbreak:["3M","3L20","4M","4L17","5M","5L17"],bulkup:["3M","4M","5M"],bulldoze:["5M"],captivate:["4M"],closecombat:["4L53","5L57"],counter:["3T"],doubleedge:["3T"],doublekick:["3L1","4L1","5L1"],doubleteam:["3M","4M","5M"],dynamicpunch:["3T"],earthquake:["3M","4M","5M"],endure:["3L41","3T","4M","4L45","5L49"],facade:["3M","4M","5M"],feint:["4L25","5L25"],fling:["4M","5M"],focusblast:["4M","5M"],focusenergy:["3L21","4L21","5L21"],focuspunch:["3M","4M"],foresight:["3L36","4L37","5L37"],frustration:["3M","4M","5M"],headbutt:["4T"],helpinghand:["4T","5T"],hiddenpower:["3M","4M","5M"],hijumpkick:["3L26","4L29","5L29","3S0"],jumpkick:["3L16","4L13","5L13"],knockoff:["4T","5T"],lowkick:["4T","5T"],lowsweep:["5M"],meditate:["3L6","4L5","5L5"],megakick:["3L46","3T","4L49","5L53","3S0"],megapunch:["3T"],metronome:["3T"],mimic:["3T"],mindreader:["3L31","4L33","5L33","3S0"],mudslap:["3T","4T"],naturalgift:["4M"],poisonjab:["4M","5M"],protect:["3M","4M","5M"],raindance:["3M","4M","5M"],refresh:["3S0"],rest:["3M","4M","5M"],retaliate:["5M"],"return":["3M","4M","5M"],revenge:["3L1","4L1","5L1"],reversal:["3L51","4L57","5L61"],rockclimb:["4M"],rockslide:["3T","4M","5M"],rocksmash:["3M","4M","5M"],rocktomb:["3M","4M","5M"],roleplay:["4T","5T"],rollingkick:["3L11","4L9","5L9"],round:["5M"],secretpower:["3M","4M"],seismictoss:["3T"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],stoneedge:["4M","5M"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],suckerpunch:["4T"],sunnyday:["3M","4M","5M"],superpower:["4T","5T"],swagger:["3T","4M","5M"],swift:["3T","4T"],thief:["3M","4M","5M"],toxic:["3M","4M","5M"],vacuumwave:["4T"],wideguard:["5L41"],workup:["5M"],covet:["5T"]}}, hitmonchan:{learnset:{agility:["3L7","4L6","5L6"],attract:["3M","4M","5M"],bodyslam:["3T"],brickbreak:["3M","4M","5M"],bulkup:["3M","4M","5M"],bulldoze:["5M"],bulletpunch:["4L16","5L16"],captivate:["4M"],closecombat:["4L56","5L66"],cometpunch:["3L1","4L1","5L1"],counter:["3L50","3T","4L51","5L61"],detect:["3L44","4L46","5L51"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],drainpunch:["4M","5T"],dynamicpunch:["3T"],earthquake:["3M","4M","5M"],endure:["3T","4M"],facade:["3M","4M","5M"],feint:["4L21","5L21"],firepunch:["3L26","3T","4L31","4T","5L36","5T"],fling:["4M","5M"],focusblast:["4M","5M"],focuspunch:["3M","4M","5L56"],frustration:["3M","4M","5M"],headbutt:["4T"],helpinghand:["4T","5T","3S0"],hiddenpower:["3M","4M","5M"],icepunch:["3L26","3T","4L31","4T","5L36","5T"],lowkick:["4T","5T"],lowsweep:["5M"],machpunch:["3L20","4L16","5L16"],megakick:["3T"],megapunch:["3L38","3T","4L41","5L46","3S0"],metronome:["3T"],mimic:["3T"],mindreader:["3S0"],mudslap:["3T","4T"],naturalgift:["4M"],protect:["3M","4M","5M"],pursuit:["3L13","4L11","5L11"],quickguard:["5L31"],raindance:["3M","4M","5M"],rest:["3M","4M","5M"],retaliate:["5M"],"return":["3M","4M","5M"],revenge:["3L1","4L1","5L1"],rockclimb:["4M"],rockslide:["3T","4M","5M"],rocksmash:["3M","4M","5M"],rocktomb:["3M","4M","5M"],roleplay:["4T","5T"],round:["5M"],secretpower:["3M","4M"],seismictoss:["3T"],skyuppercut:["3L32","4L36","5L41","3S0"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],stoneedge:["4M","5M"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],swift:["3T","4T"],thief:["3M","4M","5M"],thunderpunch:["3L26","3T","4L31","4T","5L36","5T"],toxic:["3M","4M","5M"],vacuumwave:["4L26","4T","5L26"],workup:["5M"],covet:["5T"]}}, - hitmontop:{learnset:{aerialace:["4M","5M"],agility:["3L37","4L37","5L37"],attract:["3M","4M","5M"],bodyslam:["3T"],brickbreak:["3M","4M","5M"],bulkup:["3M","4M","5M"],bulldoze:["5M"],captivate:["4M"],closecombat:["4L51","5L55"],counter:["3L31","3T","4L28","5L28"],detect:["3L43","4L46","5L51"],dig:["3M","4M","5M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],earthquake:["3M","4M","5M"],endeavor:["3L49","4L55","4T","5L60","5T"],endure:["3T","4M"],facade:["3M","4M","5M"],feint:["4L33","5L33"],focusenergy:["3L7","4L6","5L6"],frustration:["3M","4M","5M"],gyroball:["4M","4L42","5M","5L42"],headbutt:["4T"],helpinghand:["4T","5T"],hiddenpower:["3M","4M","5M"],lowkick:["4T","5T"],lowsweep:["5M"],megakick:["3T"],mimic:["3T"],mudslap:["3T","4T"],naturalgift:["4M"],protect:["3M","4M","5M"],pursuit:["3L13","4L10","5L10"],quickattack:["3L19","4L15","5L15"],quickguard:["5L46"],raindance:["3M","4M","5M"],rapidspin:["3L25","4L24","5L24"],rest:["3M","4M","5M"],retaliate:["5M"],"return":["3M","4M","5M"],revenge:["3L1","4L1","5L1"],rockslide:["3T","4M","5M"],rocksmash:["3M","4M","5M"],roleplay:["4T","5T"],rollingkick:["3L1","4L1","5L1"],rollout:["4T"],round:["5M"],sandstorm:["3M","4M","5M"],secretpower:["3M","4M"],seismictoss:["3T"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],stoneedge:["4M","5M"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],suckerpunch:["4T"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],swift:["3T","4T"],thief:["3M","4M","5M"],toxic:["3M","4M","5M"],triplekick:["3L20","4L19","5L19"],twister:["4T"],vacuumwave:["4T"],wideguard:["5L46"],workup:["5M"],covet:["5T"],drillrun:["5T"]}}, + hitmontop:{learnset:{aerialace:["4M","5M"],agility:["3L37","4L37","5L37"],attract:["3M","4M","5M"],bodyslam:["3T"],brickbreak:["3M","4M","5M"],bulkup:["3M","4M","5M"],bulldoze:["5M"],captivate:["4M"],closecombat:["4L51","5L55"],counter:["3L31","3T","4L28","5L28"],detect:["3L43","4L46","5L51"],dig:["3M","4M","5M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],earthquake:["3M","4M","5M"],endeavor:["3L49","4L55","4T","5L60","5T"],endure:["3T","4M"],facade:["3M","4M","5M"],feint:["4L33","5L33"],focusenergy:["3L7","4L6","5L6"],foresight:["4C"],frustration:["3M","4M","5M"],gyroball:["4M","4L42","5M","5L42"],headbutt:["4T"],helpinghand:["4T","5T"],hiddenpower:["3M","4M","5M"],lowkick:["4T","5T"],lowsweep:["5M"],machpunch:["3C"],megakick:["3T"],mimic:["3T"],mudslap:["3T","4T"],naturalgift:["4M"],protect:["3M","4M","5M"],pursuit:["3L13","4L10","5L10"],quickattack:["3L19","4L15","5L15"],quickguard:["5L46"],raindance:["3M","4M","5M"],rapidspin:["3L25","4L24","5L24"],rest:["3M","4M","5M"],retaliate:["5M"],"return":["3M","4M","5M"],revenge:["3L1","4L1","5L1"],rockslide:["3T","4M","5M"],rocksmash:["3M","4M","5M"],roleplay:["4T","5T"],rollingkick:["3L1","4L1","5L1"],rollout:["4T"],round:["5M"],sandstorm:["3M","4M","5M"],secretpower:["3M","4M"],seismictoss:["3T"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],stoneedge:["4M","5M"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],suckerpunch:["4T"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],swift:["3T","4T"],thief:["3M","4M","5M"],toxic:["3M","4M","5M"],triplekick:["3L20","4L19","5L19"],twister:["4T"],vacuumwave:["4T"],wideguard:["5L46"],workup:["5M"],covet:["5T"],drillrun:["5T"]}}, lickitung:{learnset:{amnesia:["4E","5E"],aquatail:["4T","5T"],attract:["3M","4M","5M"],bellydrum:["3E","4E","5E"],blizzard:["3M","4M","5M"],bodyslam:["3E","3T","4E","5E"],brickbreak:["3M","4M","5M"],bulldoze:["5M"],captivate:["4M"],chipaway:["5L37"],counter:["3T"],curse:["3E","4E","5E"],cut:["3M","4M","5M"],defensecurl:["3L12","3T","4L9","5L9","3S1"],dig:["3M","4M","5M"],disable:["3L34","4L25","5L25"],doubleedge:["3T","3S1"],doubleteam:["3M","4M","5M"],dragontail:["5M"],dreameater:["3T","4M","5M"],dynamicpunch:["3T"],earthquake:["3M","4M","5M"],endure:["3T","4M"],facade:["3M","4M","5M"],fireblast:["3M","4M","5M"],firepunch:["3T","4T","5T"],flamethrower:["3M","4M","5M"],fling:["4M","5M"],focuspunch:["3M","4M"],frustration:["3M","4M","5M"],gigaimpact:["4M","5M"],hammerarm:["4E","5E"],headbutt:["4T"],healbell:["3S0"],helpinghand:["3S1"],hiddenpower:["3M","4M","5M"],hyperbeam:["3M","4M","5M"],icebeam:["3M","4M","5M"],icepunch:["3T","4T","5T"],icywind:["3T","4T","5T"],incinerate:["5M"],irontail:["3M","4M","5T"],knockoff:["3L18","4L13","5L13","5T"],lick:["3L1","4L1","5L1","5D"],magnitude:["3E","4E","5E"],mefirst:["4L37","5L41"],megakick:["3T"],megapunch:["3T"],mimic:["3T"],muddywater:["4E","5E"],mudslap:["3T","4T"],naturalgift:["4M"],nightmare:["3T"],powerwhip:["4L49","5L53"],protect:["3M","4M","5M"],psychup:["3T","4M","5M"],raindance:["3M","4M","5M"],refresh:["3L51","4L41","5L45"],rest:["3M","4M","5M"],retaliate:["5M"],"return":["3M","4M","5M"],rockclimb:["4M","5D"],rockslide:["3T","4M","5M"],rocksmash:["3M","4M","5M"],rocktomb:["3M","4M","5M"],rollout:["3T","4L33","4T","5L33","3S1"],round:["5M"],sandstorm:["3M","4M","5M"],screech:["3L45","4L45","5L49"],secretpower:["3M","4M"],seismictoss:["3T"],shadowball:["3M","4M","5M"],shockwave:["3M","4M"],slam:["3L40","4L29","5L29"],sleeptalk:["3E","3T","4E","4M","5E","5D","5T"],smellingsalt:["3E","4E","5E"],snore:["3E","3T","4E","4T","5E","5T"],solarbeam:["3M","4M","5M"],stomp:["3L23","4L21","5L21"],strength:["3M","4M","5M"],substitute:["3E","3T","4E","4M","5M"],sunnyday:["3M","4M","5M"],supersonic:["3L7","4L5","5L5"],surf:["3M","4M","5M"],swagger:["3T","4M","5M"],swordsdance:["3T","4M","5M"],thief:["3M","4M","5M"],thunder:["3M","4M","5M"],thunderbolt:["3M","4M","5M"],thunderpunch:["3T","4T","5T"],toxic:["3M","4M","5M"],waterpulse:["3M","4M"],whirlpool:["4M"],wish:["3S0"],workup:["5M"],wrap:["3L29","4L17","5L17"],wringout:["4L53","5L57"],zenheadbutt:["4T","5E","5T"],bind:["5T"]}}, lickilicky:{learnset:{aquatail:["4T","5T"],attract:["4M","5M"],blizzard:["4M","5M"],block:["4T","5T"],brickbreak:["4M","5M"],bulldoze:["5M"],captivate:["4M"],chipaway:["5L37"],cut:["4M","5M"],defensecurl:["4L9","5L9"],dig:["4M","5M"],disable:["4L25","5L25"],doubleteam:["4M","5M"],dragontail:["5M"],dreameater:["4M","5M"],earthquake:["4M","5M"],endure:["4M"],explosion:["4M","5M"],facade:["4M","5M"],fireblast:["4M","5M"],firepunch:["4T","5T"],flamethrower:["4M","5M"],fling:["4M","5M"],focusblast:["4M","5M"],focuspunch:["4M"],frustration:["4M","5M"],gigaimpact:["4M","5M"],gyroball:["4M","4L57","5M","5L61"],headbutt:["4T"],hiddenpower:["4M","5M"],hyperbeam:["4M","5M"],icebeam:["4M","5M"],icepunch:["4T","5T"],icywind:["4T","5T"],incinerate:["5M"],irontail:["4M","5T"],knockoff:["4L13","4T","5L13","5T"],lick:["4L1","5L1"],mefirst:["4L37","5L41"],mudslap:["4T"],naturalgift:["4M"],powerwhip:["4L49","5L53"],protect:["4M","5M"],psychup:["4M","5M"],raindance:["4M","5M"],refresh:["4L41","5L45"],rest:["4M","5M"],retaliate:["5M"],"return":["4M","5M"],rockclimb:["4M"],rockslide:["4M","5M"],rocksmash:["4M","5M"],rocktomb:["4M","5M"],rollout:["4L33","4T","5L33"],round:["5M"],sandstorm:["4M","5M"],screech:["4L45","5L49"],secretpower:["4M"],shadowball:["4M","5M"],shockwave:["4M"],slam:["4L29","5L29"],sleeptalk:["4M","5T"],snore:["4T","5T"],solarbeam:["4M","5M"],stomp:["4L21","5L21"],strength:["4M","5M"],substitute:["4M","5M"],sunnyday:["4M","5M"],supersonic:["4L5","5L5"],surf:["4M","5M"],swagger:["4M","5M"],swordsdance:["4M","5M"],thief:["4M","5M"],thunder:["4M","5M"],thunderbolt:["4M","5M"],thunderpunch:["4T","5T"],toxic:["4M","5M"],waterpulse:["4M"],whirlpool:["4M"],workup:["5M"],wrap:["4L17","5L17"],wringout:["4L53","5L57"],zenheadbutt:["4T","5T"],bind:["5T"]}}, koffing:{learnset:{assurance:["4L15","5L15"],attract:["3M","4M","5M"],captivate:["4M"],clearsmog:["5L19"],curse:["4E","5E"],darkpulse:["4M","5D","5T"],destinybond:["3E","3L45","4E","4L46","5E","5L51"],doubleteam:["3M","4M","5M"],endure:["3T","4M"],explosion:["3L41","3T","4M","4L37","5M","5L42"],facade:["3M","4M","5M"],fireblast:["3M","4M","5M"],flamethrower:["3M","4M","5M"],flash:["3M","4M","5M"],frustration:["3M","4M","5M"],grudge:["4E","5E"],gyroball:["4M","4L33","5M","5L37"],haze:["3L33","4L28","5L33"],hiddenpower:["3M","4M","5M"],incinerate:["5M"],memento:["3L49","4L51","5L55"],mimic:["3T"],naturalgift:["4M"],painsplit:["3E","4E","4T","5E","5T"],payback:["4M","5M"],poisongas:["3L1","4L1","5L1"],protect:["3M","4M","5M"],psybeam:["3E","4E","5E"],psywave:["3E","4E","5E"],raindance:["3M","4M","5M"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],rollout:["3T","4T"],round:["5M"],screech:["3E","4E","5E"],secretpower:["3M","4M"],selfdestruct:["3L17","3T","4L19","5L24"],shadowball:["3M","4M","5M"],shockwave:["3M","4M"],sleeptalk:["3T","4M","5T"],sludge:["3L21","4L24","5L28"],sludgebomb:["3M","4M","4L42","5M","5L46"],sludgewave:["5D"],smog:["3L9","4L6","5L6","5D"],smokescreen:["3L25","4L10","5L10"],snore:["3T","4T","5T"],spite:["4E","4T","5E","5T"],spitup:["5E"],stockpile:["5E"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],swallow:["5E"],tackle:["3L1","4L1","5L1"],taunt:["3M","4M","5M"],thief:["3M","4M","5M"],thunder:["3M","4M","5M"],thunderbolt:["3M","4M","5M"],torment:["3M","4M","5M"],toxic:["3M","4M","5M"],uproar:["4T","5T"],venoshock:["5M"],willowisp:["3E","4E","4M","5M"]}}, @@ -324,7 +324,7 @@ exports.BattleLearnsets = { gardevoir:{learnset:{allyswitch:["5M"],attract:["3M","4M","5M"],bodyslam:["3T"],calmmind:["3M","3L21","4M","4L25","5M","5L33"],captivate:["4M","4L53","5L60"],chargebeam:["4M","5M"],confusion:["3L1","3L6","4L1","4L6","5L1","5L6"],defensecurl:["3T"],doubleedge:["3T"],doubleteam:["3M","3L1","3L11","4M","4L1","4L10","5M","5L1","5L10"],dreameater:["3L60","3T","4M","4L65","5M","5L73"],echoedvoice:["5M"],endure:["3T","4M"],energyball:["4M","5M"],facade:["3M","4M","5M"],firepunch:["3T","4T","5T"],flash:["3M","4M","5M"],fling:["4M","5M"],focusblast:["4M","5M","5S0"],frustration:["3M","4M","5M"],futuresight:["3L42","4L45","5L53"],gigaimpact:["4M","5M"],grassknot:["4M","5M"],growl:["3L1","4L1","5L1"],headbutt:["4T"],healbell:["4T","5T"],healingwish:["4L1","5L1"],healpulse:["5L25"],helpinghand:["4T","5T"],hiddenpower:["3M","4M","5M"],hyperbeam:["3M","4M","5M"],hypnosis:["3L51","4L60","5L65","5S0"],icepunch:["3T","4T","5T"],icywind:["3T","4T","5T"],imprison:["3L33","4L40","5L45"],lightscreen:["3M","4M","5M"],magicalleaf:["4L22","5L22"],magiccoat:["4T","5T"],mimic:["3T"],mudslap:["3T","4T"],naturalgift:["4M"],nightmare:["3T"],painsplit:["4T","5T"],protect:["3M","4M","5M"],psychic:["3M","3L26","4M","4L33","5M","5L40","5S0"],psychup:["3T","4M","5M"],psyshock:["5M"],raindance:["3M","4M","5M"],recycle:["4M","5T"],reflect:["3M","4M","5M"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],round:["5M"],safeguard:["3M","4M","5M"],secretpower:["3M","4M"],shadowball:["3M","4M","5M"],shockwave:["3M","4M"],signalbeam:["4T","5T"],skillswap:["3M","4M","5T"],sleeptalk:["3T","4M","5T"],snatch:["3M","4M","5T"],snore:["3T","4T","5T"],storedpower:["5L80"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],swift:["4T"],taunt:["3M","4M","5M"],telekinesis:["5M"],teleport:["3L1","3L16","4L1","4L12","5L1","5L12"],thief:["3M","4M","5M"],thunderbolt:["3M","4M","5M","5S0"],thunderpunch:["3T","4T","5T"],thunderwave:["3T","4M","5M"],torment:["3M","4M","5M"],toxic:["3M","4M","5M"],trick:["4T","5T"],trickroom:["4M","5M"],willowisp:["5M"],wish:["4L17","5L17"],zenheadbutt:["4T","5T"],hypervoice:["5T"],magicroom:["5T"],wonderroom:["5T"]}}, gallade:{learnset:{aerialace:["4M","5M"],allyswitch:["5M"],attract:["4M","5M"],brickbreak:["4M","5M"],bulkup:["4M","5M"],bulldoze:["5M"],calmmind:["4M","5M"],captivate:["4M"],chargebeam:["4M","5M"],closecombat:["4L53","5L59"],confusion:["4L1","4L6","5L1","5L6"],cut:["4M","5M"],doubleteam:["4M","4L1","4L10","5M","5L1","5L10"],drainpunch:["4M","5T"],dreameater:["4M","5M"],earthquake:["4M","5M"],echoedvoice:["5M"],endure:["4M"],facade:["4M","5M"],falseswipe:["4M","4L45","5M","5L50"],feint:["4L39","5L45"],firepunch:["4T","5T"],flash:["4M","5M"],fling:["4M","5M"],focusblast:["4M","5M"],focuspunch:["4M"],frustration:["4M","5M"],furycutter:["4L17","4T","5L17"],gigaimpact:["4M","5M"],grassknot:["4M","5M"],headbutt:["4T"],healpulse:["5L25"],helpinghand:["4L36","4T","5L39","5T"],hiddenpower:["4M","5M"],hyperbeam:["4M","5M"],icepunch:["4T","5T"],knockoff:["4T","5T"],leafblade:["4L1","5L1"],leer:["4L1","5L1"],lightscreen:["4M","5M"],lowkick:["4T","5T"],lowsweep:["5M"],magiccoat:["4T","5T"],mudslap:["4T"],naturalgift:["4M"],nightslash:["4L1","5L1"],painsplit:["4T","5T"],poisonjab:["4M","5M"],protect:["4M","4L50","5M","5L53"],psychic:["4M","5M"],psychocut:["4L31","5L36"],psychup:["4M","5M"],psyshock:["5M"],raindance:["4M","5M"],recycle:["4M","5T"],reflect:["4M","5M"],rest:["4M","5M"],retaliate:["5M"],"return":["4M","5M"],rockslide:["4M","5M"],rocksmash:["4M","5M"],rocktomb:["4M","5M"],round:["5M"],safeguard:["4M","5M"],secretpower:["4M"],shadowball:["4M","5M"],shockwave:["4M"],signalbeam:["4T","5T"],skillswap:["4M","5T"],slash:["4L22","5L22"],sleeptalk:["4M","5T"],snatch:["4M","5T"],snore:["4T","5T"],stoneedge:["4M","5M"],storedpower:["5L64"],strength:["4M","5M"],substitute:["4M","5M"],sunnyday:["4M","5M"],swagger:["4M","5M"],swift:["4T"],swordsdance:["4M","4L25","5M","5L31"],taunt:["4M","5M"],telekinesis:["5M"],teleport:["4L1","4L12","5L1","5L12"],thief:["4M","5M"],thunderbolt:["4M","5M"],thunderpunch:["4T","5T"],thunderwave:["4M","5M"],torment:["4M","5M"],toxic:["4M","5M"],trick:["4T","5T"],trickroom:["4M","5M"],vacuumwave:["4T"],willowisp:["5M"],workup:["5M"],xscissor:["4M","5M"],zenheadbutt:["4T","5T"],dualchop:["5T"],hypervoice:["5T"],magicroom:["5T"],wonderroom:["5T"]}}, surskit:{learnset:{agility:["3L31","4L31","5L31"],aquajet:["5E"],attract:["3M","4M","5M"],batonpass:["4L43","5L43"],blizzard:["3M","4M","5M"],bubble:["3L1","4L1","5L1","5D","3S0","3S1"],bubblebeam:["3L25","4L25","5L25"],bugbite:["4E","4T","5E","5T"],captivate:["4M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],endure:["3T","4M","5E"],facade:["3M","4M","5M"],flash:["3M","4M","5M"],foresight:["3E","4E","5E"],frustration:["3M","4M","5M"],gigadrain:["3M","4M","5D","5T"],haze:["3L37","4L37","5L37"],hiddenpower:["3M","4M","5M"],hydropump:["3E","4E","5E","5D"],icebeam:["3M","4M","5M"],icywind:["3T","4T","5T"],mimic:["3T"],mindreader:["3E","4E","5E"],mist:["3L37","4L37","5L37"],mudshot:["3E","4E","5E"],mudslap:["4T"],mudsport:["3S0"],naturalgift:["4M"],protect:["3M","4M","5M"],psybeam:["3E","4E","5E"],psychup:["3T","4M","5M"],quickattack:["3L7","4L7","5L7","3S1"],raindance:["3M","4M","5M"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],round:["5M"],scald:["5M"],secretpower:["3M","4M"],shadowball:["3M","4M","5M"],signalbeam:["4E","4T","5E","5T"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],solarbeam:["3M","4M","5M"],stringshot:["4T"],strugglebug:["5M"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],sweetscent:["3L13","4L13","5L13"],swift:["3T","4T"],thief:["3M","4M","5M"],toxic:["3M","4M","5M"],waterpulse:["3M","4M"],watersport:["3L19","4L19","5L19"]}}, - masquerain:{learnset:{aerialace:["3M","4M","5M"],aircutter:["4T"],airslash:["4L47","5L47"],attract:["3M","4M","5M"],blizzard:["3M","4M","5M"],bubble:["3L1","4L1","5L1"],bugbite:["4T","5T"],bugbuzz:["4L61","5L61"],captivate:["4M"],defog:["4M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],endure:["3T","4M"],energyball:["4M","5M"],facade:["3M","4M","5M"],flash:["3M","4M","5M"],frustration:["3M","4M","5M"],gigadrain:["3M","4M","5T"],gigaimpact:["4M","5M"],gust:["3L26","4L22","5L22"],hiddenpower:["3M","4M","5M"],hydropump:["3E","4E","5E","5D"],hyperbeam:["3M","4M","5M"],icebeam:["3M","4M","5M"],icywind:["3T","4T","5T"],mimic:["3T"],mudslap:["4T"],naturalgift:["4M"],nightmare:["3T"],ominouswind:["4L1","4T","5L1"],protect:["3M","4M","5M"],psychup:["3T","4M","5M"],quickattack:["3L1","3L7","4L1","4L7","5L1","5L7"],quiverdance:["5L68"],raindance:["3M","4M","5M"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],roost:["4M","5T"],round:["5M"],scald:["5M"],scaryface:["3L33","4L26","5L26"],secretpower:["3M","4M"],shadowball:["3M","4M","5M"],signalbeam:["4T","5T"],silverwind:["3L47","4M","4L40","5L40"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],solarbeam:["3M","4M","5M"],stringshot:["4T"],strugglebug:["5M"],stunspore:["3L40","4L33","5L33"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],sweetscent:["3L1","3L13","4L1","4L13","5L1","5L13"],swift:["3T","4T"],tailwind:["4T","5T"],thief:["3M","4M","5M"],toxic:["3M","4M","5M"],twister:["4T"],uturn:["4M","5M"],waterpulse:["3M","4M"],watersport:["3L1","3L19","4L1","4L19","5L1","5L19"],whirlwind:["3L53","4L54","5L54"]}}, + masquerain:{learnset:{aerialace:["3M","4M","5M"],aircutter:["4T"],airslash:["4L47","5L47"],attract:["3M","4M","5M"],blizzard:["3M","4M","5M"],bubble:["3L1","4L1","5L1"],bugbite:["4T","5T"],bugbuzz:["4L61","5L61"],captivate:["4M"],defog:["4M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],endure:["3T","4M"],energyball:["4M","5M"],facade:["3M","4M","5M"],flash:["3M","4M","5M"],frustration:["3M","4M","5M"],gigadrain:["3M","4M","5T"],gigaimpact:["4M","5M"],gust:["3L26","4L22","5L22"],hiddenpower:["3M","4M","5M"],hydropump:["3C"],hyperbeam:["3M","4M","5M"],icebeam:["3M","4M","5M"],icywind:["3T","4T","5T"],mimic:["3T"],mudslap:["4T"],naturalgift:["4M"],nightmare:["3T"],ominouswind:["4L1","4T","5L1"],protect:["3M","4M","5M"],psychup:["3T","4M","5M"],quickattack:["3L1","3L7","4L1","4L7","5L1","5L7"],quiverdance:["5L68"],raindance:["3M","4M","5M"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],roost:["4M","5T"],round:["5M"],scald:["5M"],scaryface:["3L33","4L26","5L26"],secretpower:["3M","4M"],shadowball:["3M","4M","5M"],signalbeam:["4T","5T"],silverwind:["3L47","4M","4L40","5L40"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],solarbeam:["3M","4M","5M"],stringshot:["4T"],strugglebug:["5M"],stunspore:["3L40","4L33","5L33"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],sweetscent:["3L1","3L13","4L1","4L13","5L1","5L13"],swift:["3T","4T"],tailwind:["4T","5T"],thief:["3M","4M","5M"],toxic:["3M","4M","5M"],twister:["4T"],uturn:["4M","5M"],waterpulse:["3M","4M"],watersport:["3L1","3L19","4L1","4L19","5L1","5L19"],whirlwind:["3L53","4L54","5L54"]}}, shroomish:{learnset:{absorb:["3L1","4L1","5L1"],attract:["3M","4M","5M"],bodyslam:["3T"],bulletseed:["3M","4M","5E","5D"],captivate:["4M"],charm:["3E","4E","5E"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],drainpunch:["5E","5T"],endure:["3T","4M"],energyball:["4M","5M"],facade:["3M","4M","5M"],faketears:["3E","4E","5E"],falseswipe:["3E","4E","5M","3S0"],flash:["3M","4M","5M"],focuspunch:["5E","5D"],frustration:["3M","4M","5M"],gigadrain:["3M","3L45","4M","4L37","5L37","5T"],grassknot:["4M","5M"],growth:["3L36","4L33","5L33"],headbutt:["3L22","4L21","4T","5L21"],helpinghand:["3E","4E","4T","5E","5T"],hiddenpower:["3M","4M","5M"],leechseed:["3L10","4L13","5L13"],megadrain:["3L16","4L17","5L17","3S0"],mimic:["3T"],naturalgift:["4M","5E"],poisonpowder:["3L28","4L25","5L25"],protect:["3M","4M","5M"],refresh:["3S0"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],round:["5M"],safeguard:["3M","4M","5M"],secretpower:["3M","4M"],seedbomb:["4E","4L41","4T","5E","5L41","5T"],sleeptalk:["3T","4M","5T"],sludgebomb:["3M","4M","5M"],snatch:["3M","4M","5T"],snore:["3T","4T","5T"],solarbeam:["3M","4M","5M"],spore:["3L54","4L45","5L45"],stunspore:["3L7","4L9","5L9","3S0","5D"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],swagger:["3E","3T","4E","4M","5M"],swordsdance:["3T","4M","5M"],synthesis:["4T","5T"],tackle:["3L4","4L5","5L5"],toxic:["3M","4M","5M"],venoshock:["5M"],wakeupslap:["4E","5E"],worryseed:["4E","4L29","4T","5E","5L29","5T"]}}, breloom:{learnset:{absorb:["3L1","4L1","5L1"],attract:["3M","4M","5M"],bodyslam:["3T"],brickbreak:["3M","4M","5M"],bulkup:["3M","4M","5M"],bulletseed:["3M","4M"],captivate:["4M"],counter:["3L28","3T","4L25","5L25"],cut:["3M","4M","5M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],drainpunch:["4M","5T"],dynamicpunch:["3L54","3T","4L45","5L45"],endure:["3T","4M"],energyball:["4M","5M"],facade:["3M","4M","5M"],falseswipe:["5M"],flash:["3M","4M","5M"],fling:["4M","5M"],focusblast:["4M","5M"],focuspunch:["3M","4M"],forcepalm:["4L29","5L29"],frustration:["3M","4M","5M"],furycutter:["3T","4T"],gigadrain:["3M","4M","5T"],gigaimpact:["4M","5M"],grassknot:["4M","5M"],headbutt:["3L22","4L21","4T","5L21"],helpinghand:["4T","5T"],hiddenpower:["3M","4M","5M"],hyperbeam:["3M","4M","5M"],irontail:["3M","4M","5T"],leechseed:["3L1","3L10","4L1","4L13","5L1","5L13"],lowsweep:["5M"],machpunch:["3L23","4L23","5L23"],megadrain:["3L16","4L17","5L17"],megakick:["3T"],megapunch:["3T"],mimic:["3T"],mindreader:["3L45","4L37","5L37"],mudslap:["3T","4T"],naturalgift:["4M"],protect:["3M","4M","5M"],rest:["3M","4M","5M"],retaliate:["5M"],"return":["3M","4M","5M"],rockslide:["4M","5M"],rocksmash:["3M","4M","5M"],rocktomb:["4M","5M"],round:["5M"],safeguard:["3M","4M","5M"],secretpower:["3M","4M"],seedbomb:["4L41","4T","5L41","5T"],seismictoss:["3T"],skyuppercut:["3L36","4L33","5L33"],sleeptalk:["3T","4M","5T"],sludgebomb:["3M","4M","5M"],snatch:["3M","4M","5T"],snore:["3T","4T","5T"],solarbeam:["3M","4M","5M"],stoneedge:["4M","5M"],strength:["3M","4M","5M"],stunspore:["3L1","3L7","4L1","4L9","5L1","5L9"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],superpower:["4T","5T"],swagger:["3T","4M","5M"],swordsdance:["3T","4M","5M"],synthesis:["4T","5T"],tackle:["3L1","3L4","4L1","4L5","5L1","5L5"],thunderpunch:["3T","4T","5T"],toxic:["3M","4M","5M"],vacuumwave:["4T"],venoshock:["5M"],workup:["5M"],worryseed:["4T","5T"]}}, slakoth:{learnset:{aerialace:["3M","4M","5M"],afteryou:["5E","5T"],amnesia:["3L25","4L25","5L25"],attract:["3M","4M","5M"],blizzard:["3M","4M","5M"],bodyslam:["3E","3T","4E","5E"],brickbreak:["3M","4M","5M"],bulkup:["3M","4M","5M"],captivate:["4M"],chipaway:["5L37"],counter:["3L37","3T","4L37","5L43"],covet:["3L31","4L31","5L31","5T"],crushclaw:["3E","4E","5E"],curse:["3E","4E","5E"],cut:["3M","4M","5M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],dynamicpunch:["3T"],encore:["3L7","4L7","5L7"],endure:["3T","4M"],facade:["3M","4M","5M"],faintattack:["3L19","4L19","5L19"],fireblast:["3M","4M","5M"],firepunch:["3T","4T","5T"],flail:["3L43","4L43","5L49"],flamethrower:["3M","4M","5M"],fling:["4M","5M"],focuspunch:["3M","4M"],frustration:["3M","4M","5M"],furycutter:["3T","4T"],gunkshot:["4T","5T"],hammerarm:["4E","5E"],headbutt:["4T"],hiddenpower:["3M","4M","5M"],honeclaws:["5M"],icebeam:["3M","4M","5M"],icepunch:["3T","4T","5T"],icywind:["3T","4T","5T"],incinerate:["5M"],megakick:["3T"],megapunch:["3T"],mimic:["3T"],mudslap:["3T","4T"],naturalgift:["4M"],nightslash:["4E","5E","5D"],protect:["3M","4M","5M"],pursuit:["3E","4E","5E"],raindance:["3M","4M","5M"],rest:["3M","4M","5M"],retaliate:["5M"],"return":["3M","4M","5M"],rockslide:["3T","4M","5M"],rocksmash:["3M","4M","5M"],rocktomb:["4M","5M"],round:["5M"],scratch:["3L1","4L1","5L1"],secretpower:["3M","4M"],seismictoss:["3T"],shadowball:["3M","4M","5M"],shadowclaw:["4M","5M"],shockwave:["3M","4M"],slackoff:["3L13","4L13","5L13"],slash:["3E","4E","5E"],sleeptalk:["3E","3T","4E","4M","5E","5T"],snore:["3E","3T","4E","4T","5E","5T"],solarbeam:["3M","4M","5M"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],suckerpunch:["4T","5D"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],thunder:["3M","4M","5M"],thunderbolt:["3M","4M","5M"],thunderpunch:["3T","4T","5T"],tickle:["5E"],toxic:["3M","4M","5M"],waterpulse:["3M","4M"],workup:["5M"],yawn:["3L1","4L1","5L1","5D"]}}, @@ -431,13 +431,13 @@ exports.BattleLearnsets = { rayquaza:{learnset:{aerialace:["3M","4M","5M"],airslash:["4L35","5L35"],ancientpower:["3L15","4L15","4T","4L45","5L45","5S0"],aquatail:["4T","5T"],avalanche:["4M"],blizzard:["3M","4M","5M"],bodyslam:["3T"],brickbreak:["3M","4M","5M"],bulkup:["3M","4M","5M"],bulldoze:["5M"],crunch:["3L35","4L35","4L15","5L15"],dive:["3M","4T","5M"],doubleedge:["3T"],doubleteam:["3M","4M","5M"],dracometeor:["4T","5T"],dragonclaw:["3M","3L20","4M","4L20","5M"],dragondance:["3L30","4L30","4L60","5L60","5S0"],dragonpulse:["4M","4L75","4L90","5L90","5S0","5S1","5T"],dragontail:["5M"],earthpower:["4T","5T"],earthquake:["3M","4M","5M"],echoedvoice:["5M"],endure:["3T","4M"],energyball:["4M","5M"],extremespeed:["3L60","4L60","4L75","5L75","5S1"],facade:["3M","4M","5M"],fireblast:["3M","4M","5M"],flamethrower:["3M","4M","5M"],fling:["4M","5M"],fly:["3M","3L45","4M","4L45","4L65","5M","5L65"],focusblast:["4M","5M"],frustration:["3M","4M","5M"],furycutter:["3T","4T"],gigaimpact:["4M","5M"],gyroball:["4M","5M"],headbutt:["4T"],hiddenpower:["3M","4M","5M"],honeclaws:["5M"],hyperbeam:["3M","3L75","4M","4L65","4L80","5M","5L80","5S1"],hypervoice:["4L20","5L20","5T"],icebeam:["3M","4M","5M"],icywind:["3T","4T","5T"],incinerate:["5M"],ironhead:["4T","5T"],irontail:["3M","4M","5T"],mimic:["3T"],mudslap:["3T","4T"],naturalgift:["4M"],outrage:["3L65","4L80","4T","4L50","5L50","5S0","5T"],overheat:["3M","4M","5M"],protect:["3M","4M","5M"],psychup:["3T","4M","5M"],raindance:["3M","4M","5M"],rest:["3M","3L50","4M","4L50","4L30","5M","5L30"],"return":["3M","4M","5M"],roar:["3M","4M","5M"],rockslide:["3T","4M","5M"],rocksmash:["3M","4M","5M"],rocktomb:["4M","5M"],round:["5M"],sandstorm:["3M","4M","5M"],scaryface:["3L5","4L5","5L5"],secretpower:["3M","4M"],shadowclaw:["4M","5M"],shockwave:["3M","4M"],skydrop:["5M"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],solarbeam:["3M","4M","5M"],stoneedge:["4M","5M"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],surf:["3M","4M","5M"],swagger:["3T","4M","5M"],swift:["3T","4T"],swordsdance:["4M","5M"],tailwind:["4T","5T"],thunder:["3M","4M","5M"],thunderbolt:["3M","4M","5M"],thunderwave:["3T","4M","5M"],toxic:["3M","4M","5M"],twister:["3L1","4L1","4T","5L1"],uproar:["4T","5T"],vcreate:["5S1"],waterfall:["3M","4M","5M"],waterpulse:["3M","4M"],whirlpool:["4M"],bind:["5T"]}}, jirachi:{learnset:{aerialace:["3M","4M","5M"],ancientpower:["4T"],bodyslam:["3T"],calmmind:["3M","4M","5M"],chargebeam:["4M","5M"],confusion:["3L1","4L1","5L1","3S0","4S2","4S3"],cosmicpower:["3L45","4L60","5L60"],defensecurl:["3T"],doomdesire:["3L50","4L70","5L70"],doubleedge:["3L35","3T","4L40","5L40"],doubleteam:["3M","4M","5M"],dracometeor:["4S3"],drainpunch:["4M","5T"],dreameater:["3T","4M","5M"],dynamicpunch:["3T"],endure:["3T","4M"],energyball:["4M","5M"],facade:["3M","4M","5M"],firepunch:["3T","4T","5T"],flash:["3M","4M","5M"],flashcannon:["4M","5M"],fling:["4M","5M"],frustration:["3M","4M","5M"],futuresight:["3L40","4L55","5L55"],gigaimpact:["4M","5M"],grassknot:["4M","5M"],gravity:["4L45","4T","5L45","5T"],headbutt:["4T"],healingwish:["4L50","5L50"],helpinghand:["3L15","4L15","4T","5L15","3S1","5T"],hiddenpower:["3M","4M","5M"],hyperbeam:["3M","4M","5M"],icepunch:["3T","4T","5T"],icywind:["3T","4T","5T"],irondefense:["4T","5T"],ironhead:["4T","5T"],lastresort:["4L65","4T","5L65","5T"],lightscreen:["3M","4M","5M"],magiccoat:["4T","5T"],metronome:["3T"],mimic:["3T"],mudslap:["3T","4T"],naturalgift:["4M"],nightmare:["3T"],protect:["3M","4M","5M"],psychic:["3M","3L20","4M","4L20","5M","5L20","3S1"],psychup:["3T","4M","5M"],psyshock:["5M"],raindance:["3M","4M","5M"],recycle:["4M","5T"],reflect:["3M","4M","5M"],refresh:["3L25","4L25","5L25","3S1"],rest:["3M","3L5","3L30","4M","4L5","4L30","5M","5L5","5L30","3S0","3S1","4S2","4S3"],"return":["3M","4M","5M"],round:["5M"],safeguard:["3M","4M","5M"],sandstorm:["3M","4M","5M"],secretpower:["3M","4M"],shadowball:["3M","4M","5M"],shockwave:["3M","4M"],signalbeam:["4T","5T"],skillswap:["3M","4M","5T"],sleeptalk:["3T","4M","5T"],snore:["3T","4T","5T"],stealthrock:["4M","5T"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],swagger:["3T","4M","5M"],swift:["3L10","3T","4L10","4T","5L10"],telekinesis:["5M"],thunder:["3M","4M","5M"],thunderbolt:["3M","4M","5M"],thunderpunch:["3T","4T","5T"],thunderwave:["3T","4M","5M"],toxic:["3M","4M","5M"],trick:["4T","5T"],trickroom:["4M","5M"],uproar:["4T","5T"],uturn:["4M","5M"],waterpulse:["3M","4M"],wish:["3L1","4L1","5L1","3S0","4S2","4S3"],zenheadbutt:["4L35","4T","5L35","5T"],magicroom:["5T"]}}, deoxys:{learnset:{aerialace:["3M","4M","5M"],agility:["3L35","4L73","5L73"],allyswitch:["5M"],amnesia:["3L35","4L73","5L73"],avalanche:["4M"],bodyslam:["3T"],brickbreak:["3M","4M","5M"],calmmind:["3M","4M","5M"],chargebeam:["4M","5M"],cosmicpower:["3L35","4L73","5L73","3S3"],counter:["3L50","3T","4S6","4L97","5L97"],cut:["3M","4M","5M"],darkpulse:["5S9"],detect:["4S6"],doubleedge:["3T"],doubleteam:["3L10","3M","4M","5M","4S5","4L17","5L17"],drainpunch:["4M","5T"],dreameater:["3T","4M","5M"],dynamicpunch:["3T"],endure:["3T","4M"],energyball:["4M","5M"],extremespeed:["3L50","4S4","4S5","4L97","5L97"],facade:["3M","4M","5M"],firepunch:["3T","4T","5T"],flash:["3M","4M","5M"],flashcannon:["4M","5M"],fling:["4M","5M"],focusblast:["4M","5M"],focuspunch:["3M","4M"],frustration:["3M","4M","5M"],gigaimpact:["4M","5M"],grassknot:["4M","5M"],gravity:["4T","5T"],headbutt:["4T"],hiddenpower:["3M","4M","5M"],hyperbeam:["3M","3L50","4M","4L97","5M","5L97","3S3","4S7"],icebeam:["3M","4M","5M"],icepunch:["3T","4T","5T"],icywind:["3T","4T","5T"],irondefense:["3L35","4S4","5T","4L73","5L73"],knockoff:["3L15","4L25","4T","5L25","3S0","3S2","5T"],leer:["3L1","4L1","5L1","4S8"],lightscreen:["3M","4M","5M"],lowkick:["4T","5T"],lowsweep:["5M"],magiccoat:["4T","5T"],megakick:["3T"],megapunch:["3T"],meteormash:["4S7"],mimic:["3T"],mirrorcoat:["3L50","4S6","4L97","5L97"],mudslap:["3T","4T"],nastyplot:["5S9"],naturalgift:["4M"],nightmare:["3T"],nightshade:["3L5","4L9","5L9","4S8"],poisonjab:["4M","5M"],protect:["3M","4M","5M"],psychic:["3M","3L25","4M","4L41","5M","5L41","3S0","3S1","3S2"],psychoboost:["3L45","4L89","5L89","3S3","4S4","4S5","4S6","4S7","4S8","5S9"],psychoshift:["4L57","5L57"],psychup:["3T","4M","5M"],psyshock:["5M"],pursuit:["3L20","4L33","5L33","3S1","3S2"],raindance:["3M","4M","5M"],recover:["3L40","4L81","5L81","3S3","5S9"],recycle:["4M","5T"],reflect:["3M","4M","5M"],rest:["3M","4M","5M"],"return":["3M","4M","5M"],rockslide:["3T","4M","5M"],rocksmash:["3M","4M","5M"],rocktomb:["3M","4M","5M"],round:["5M"],safeguard:["3M","4M","5M"],secretpower:["3M","4M"],seismictoss:["3T"],shadowball:["3M","4M","5M"],shockwave:["3M","4M"],signalbeam:["4T","5T"],skillswap:["3M","4M","5T"],sleeptalk:["3T","4M","5T"],snatch:["3M","3L30","4M","4L49","5L49","3S0","5T"],snore:["3T","4T","5T"],solarbeam:["3M","4M","5M"],spikes:["3L20","3S0","4L33","5L33"],stealthrock:["4M","5T"],strength:["3M","4M","5M"],substitute:["3T","4M","5M"],sunnyday:["3M","4M","5M"],superpower:["3S1","4S7","4L49","5L49"],swagger:["3T","4M","5M"],swift:["3L30","3T","4T","3S2","4S5","4L49","5L49"],taunt:["3L15","3M","4M","5M","3S1","4L25","5L25"],telekinesis:["5M"],teleport:["3L10","4L17","5L17"],thunder:["3M","4M","5M"],thunderbolt:["3M","4M","5M"],thunderpunch:["3T","4T","5T"],thunderwave:["3T","4M","5M"],torment:["3M","4M","5M"],toxic:["3M","4M","5M"],trick:["4T","5T"],trickroom:["4M","5M"],waterpulse:["3M","4M"],wrap:["3L1","4L1","5L1","4S8"],zapcannon:["3L40","4S4","4L81","5L81"],zenheadbutt:["4L65","4T","5L65","5T"],bind:["5T"],roleplay:["4T","5T"],wonderroom:["5T"]}}, - turtwig:{learnset:{absorb:["4L9","5L9","5S0"],amnesia:["4E","5E"],attract:["4M","5M"],bite:["4L21","5L21"],bodyslam:["4E","5E"],bulletseed:["4M"],captivate:["4M"],crunch:["4L37","5L37"],curse:["4L17","5L17"],cut:["4M","5M"],doubleedge:["4E","5E"],doubleteam:["4M","5M"],earthpower:["4T","5E","5T"],endure:["4M"],energyball:["4M","5M"],facade:["4M","5M"],flash:["4M","5M"],frustration:["4M","5M"],gigadrain:["4M","4L41","5L41","5T"],grassknot:["4M","5M"],grasspledge:["5T"],growth:["4E","5E"],headbutt:["4T"],hiddenpower:["4M","5M"],irontail:["4M","5T"],leafstorm:["4L45","5L45"],leechseed:["4L29","5L29"],lightscreen:["4M","5M"],megadrain:["4L25","5L25"],mudslap:["4T"],naturalgift:["4M"],protect:["4M","5M"],razorleaf:["4L13","5L13"],reflect:["4M","5M"],rest:["4M","5M"],"return":["4M","5M"],rockclimb:["4M"],rocksmash:["4M","5M"],round:["5M"],safeguard:["4M","5M"],sandtomb:["4E","5E"],secretpower:["4M"],seedbomb:["4E","4T","5E","5T"],sleeptalk:["4M","5T"],snore:["4T","5T"],solarbeam:["4M","5M"],spitup:["4E","5E"],stealthrock:["4M","5T"],stockpile:["4E","5E"],strength:["4M","5M"],substitute:["4M","5M"],sunnyday:["4M","5M"],superpower:["4E","5E","5T"],swagger:["4M","5M"],swallow:["4E","5E"],swordsdance:["4M","5M"],synthesis:["4L33","4T","5L33","5T"],tackle:["4L1","5L1","5S0"],thrash:["4E","5E"],tickle:["4E","5E"],toxic:["4M","5M"],wideguard:["5E"],withdraw:["4L5","5L5","5S0"],worryseed:["4E","4T","5E","5T"]}}, + turtwig:{learnset:{absorb:["4L9","5L9","5S0","5S1"],amnesia:["4E","5E"],attract:["4M","5M"],bite:["4L21","5L21"],bodyslam:["4E","5E"],bulletseed:["4M"],captivate:["4M"],crunch:["4L37","5L37"],curse:["4L17","5L17"],cut:["4M","5M"],doubleedge:["4E","5E"],doubleteam:["4M","5M"],earthpower:["4T","5E","5T"],endure:["4M"],energyball:["4M","5M"],facade:["4M","5M"],flash:["4M","5M"],frustration:["4M","5M"],gigadrain:["4M","4L41","5L41","5T"],grassknot:["4M","5M"],grasspledge:["5T"],growth:["4E","5E"],headbutt:["4T"],hiddenpower:["4M","5M"],irontail:["4M","5T"],leafstorm:["4L45","5L45"],leechseed:["4L29","5L29"],lightscreen:["4M","5M"],megadrain:["4L25","5L25"],mudslap:["4T"],naturalgift:["4M"],protect:["4M","5M"],razorleaf:["4L13","5L13"],reflect:["4M","5M"],rest:["4M","5M"],"return":["4M","5M"],rockclimb:["4M"],rocksmash:["4M","5M"],round:["5M"],safeguard:["4M","5M"],sandtomb:["4E","5E"],secretpower:["4M"],seedbomb:["4E","4T","5E","5T"],sleeptalk:["4M","5T"],snore:["4T","5T"],solarbeam:["4M","5M"],spitup:["4E","5E"],stealthrock:["4M","5T"],stockpile:["4E","5E","5S1"],strength:["4M","5M"],substitute:["4M","5M"],sunnyday:["4M","5M"],superpower:["4E","5E","5T"],swagger:["4M","5M"],swallow:["4E","5E"],swordsdance:["4M","5M"],synthesis:["4L33","4T","5L33","5T"],tackle:["4L1","5L1","5S0","5S1"],thrash:["4E","5E"],tickle:["4E","5E"],toxic:["4M","5M"],wideguard:["5E"],withdraw:["4L5","5L5","5S0","5S1"],worryseed:["4E","4T","5E","5T"]}}, grotle:{learnset:{absorb:["4L9","5L9"],attract:["4M","5M"],bite:["4L22","5L22"],bulletseed:["4M"],captivate:["4M"],crunch:["4L42","5L42"],curse:["4L17","5L17"],cut:["4M","5M"],doubleteam:["4M","5M"],earthpower:["4T","5T"],endure:["4M"],energyball:["4M","5M"],facade:["4M","5M"],flash:["4M","5M"],frustration:["4M","5M"],gigadrain:["4M","4L47","5L47","5T"],grassknot:["4M","5M"],grasspledge:["5T"],headbutt:["4T"],hiddenpower:["4M","5M"],irontail:["4M","5T"],leafstorm:["4L52","5L52"],leechseed:["4L32","5L32"],lightscreen:["4M","5M"],megadrain:["4L27","5L27"],mudslap:["4T"],naturalgift:["4M"],protect:["4M","5M"],razorleaf:["4L13","5L13"],reflect:["4M","5M"],rest:["4M","5M"],"return":["4M","5M"],rockclimb:["4M"],rocksmash:["4M","5M"],round:["5M"],safeguard:["4M","5M"],secretpower:["4M"],seedbomb:["4T","5T"],sleeptalk:["4M","5T"],snore:["4T","5T"],solarbeam:["4M","5M"],stealthrock:["4M","5T"],strength:["4M","5M"],substitute:["4M","5M"],sunnyday:["4M","5M"],swagger:["4M","5M"],swordsdance:["4M","5M"],synthesis:["4L37","4T","5L37","5T"],tackle:["4L1","5L1"],toxic:["4M","5M"],withdraw:["4L1","4L5","5L1","5L5"],worryseed:["4T","5T"],superpower:["5T"]}}, torterra:{learnset:{absorb:["4L1","4L9","5L1","5L9"],attract:["4M","5M"],bite:["4L22","5L22"],block:["4T","5T"],bulldoze:["5M"],bulletseed:["4M"],captivate:["4M"],crunch:["4L45","5L45"],curse:["4L17","5L17"],cut:["4M","5M"],doubleteam:["4M","5M"],earthpower:["4T","5T"],earthquake:["4M","4L32","5M","5L32"],endure:["4M"],energyball:["4M","5M"],facade:["4M","5M"],flash:["4M","5M"],frenzyplant:["4T","5T"],frustration:["4M","5M"],gigadrain:["4M","4L51","5L51","5T"],gigaimpact:["4M","5M"],grassknot:["4M","5M"],grasspledge:["5T"],headbutt:["4T"],hiddenpower:["4M","5M"],hyperbeam:["4M","5M"],ironhead:["4T","5T"],irontail:["4M","5T"],leafstorm:["4L57","5L57"],leechseed:["4L33","5L33"],lightscreen:["4M","5M"],megadrain:["4L27","5L27"],mudslap:["4T"],naturalgift:["4M"],outrage:["4T","5T"],protect:["4M","5M"],razorleaf:["4L1","4L13","5L1","5L13"],reflect:["4M","5M"],rest:["4M","5M"],"return":["4M","5M"],roar:["4M","5M"],rockclimb:["4M"],rockpolish:["4M","5M"],rockslide:["4M","5M"],rocksmash:["4M","5M"],rocktomb:["4M","5M"],round:["5M"],safeguard:["4M","5M"],sandstorm:["4M","5M"],secretpower:["4M"],seedbomb:["4T","5T"],sleeptalk:["4M","5T"],snore:["4T","5T"],solarbeam:["4M","5M"],stealthrock:["4M","5T"],stoneedge:["4M","5M"],strength:["4M","5M"],substitute:["4M","5M"],sunnyday:["4M","5M"],superpower:["4T","5T"],swagger:["4M","5M"],swordsdance:["4M","5M"],synthesis:["4L39","4T","5L39","5T"],tackle:["4L1","5L1"],toxic:["4M","5M"],withdraw:["4L1","4L5","5L1","5L5"],woodhammer:["4L1","5L1"],worryseed:["4T","5T"]}}, - chimchar:{learnset:{acrobatics:["5M","5L39"],aerialace:["4M","5M"],assist:["4E","5E"],attract:["4M","5M"],blazekick:["4E","5E"],brickbreak:["4M","5M"],bulkup:["4M","5M"],captivate:["4M"],counter:["4E","5E"],cut:["4M","5M"],dig:["4M","5M"],doublekick:["4E","5E"],doubleteam:["4M","5M"],ember:["4L7","5L7","5S1"],encore:["4E","5E"],endeavor:["4T","5T"],endure:["4M"],facade:["4M","4L31","5M","5L31"],fakeout:["4E","5E"],fireblast:["4M","5M"],firepledge:["5T"],firepunch:["4E","4T","5E","5T"],firespin:["4L33","5L33"],flamecharge:["5M"],flamethrower:["4M","4L41","5M","5L47","4S0","4S2"],flamewheel:["4L17","5L17"],fling:["4M","5M"],focusenergy:["4E","5E"],focuspunch:["4M","5E"],frustration:["4M","5M"],furyswipes:["4L15","5L15"],grassknot:["4M","5M","4S0","4S2"],headbutt:["4T"],heatwave:["4E","4T","5E","5T"],helpinghand:["4E","4T","5E","4S0","4S2","5T"],hiddenpower:["4M","5M"],honeclaws:["5M"],incinerate:["5M"],irontail:["4M","5T"],leer:["4L1","5L1","5S1"],lowkick:["4T","5T"],lowsweep:["5M"],mudslap:["4T"],nastyplot:["4L23","5L23"],naturalgift:["4M"],overheat:["4M","5M"],protect:["4M","5M"],quickguard:["5E"],rest:["4M","5M"],"return":["4M","5M"],rockclimb:["4M"],rocksmash:["4M","5M"],roleplay:["4T","5T"],rollout:["4T"],round:["5M"],scratch:["4L1","5L1","5S1"],secretpower:["4M"],shadowclaw:["4M","5M"],slackoff:["4L39","5L41"],sleeptalk:["4M","5T"],snore:["4T","5T"],stealthrock:["4M","5T"],strength:["4M","5M"],submission:["5E"],substitute:["4M","5M"],sunnyday:["4M","5M"],swagger:["4M","5M"],swift:["4T"],swordsdance:["4M","5M"],taunt:["4M","4L9","5M","5L9","5S1"],thunderpunch:["4E","4T","5E","4S0","4S2","5T"],torment:["4M","4L25","5M","5L25"],toxic:["4M","5M"],uproar:["4T","5T"],uturn:["4M","5M"],vacuumwave:["4T"],willowisp:["4M","5M"],covet:["5T"],gunkshot:["5T"]}}, + chimchar:{learnset:{acrobatics:["5M","5L39"],aerialace:["4M","5M"],assist:["4E","5E"],attract:["4M","5M"],blazekick:["4E","5E"],brickbreak:["4M","5M"],bulkup:["4M","5M"],captivate:["4M"],counter:["4E","5E"],cut:["4M","5M"],dig:["4M","5M"],doublekick:["4E","5E"],doubleteam:["4M","5M"],ember:["4L7","5L7","5S1","5S3"],encore:["4E","5E"],endeavor:["4T","5T"],endure:["4M"],facade:["4M","4L31","5M","5L31"],fakeout:["4E","5E","5S3"],fireblast:["4M","5M"],firepledge:["5T"],firepunch:["4E","4T","5E","5T"],firespin:["4L33","5L33"],flamecharge:["5M"],flamethrower:["4M","4L41","5M","5L47","4S0","4S2"],flamewheel:["4L17","5L17"],fling:["4M","5M"],focusenergy:["4E","5E"],focuspunch:["4M","5E"],frustration:["4M","5M"],furyswipes:["4L15","5L15"],grassknot:["4M","5M","4S0","4S2"],headbutt:["4T"],heatwave:["4E","4T","5E","5T"],helpinghand:["4E","4T","5E","4S0","4S2","5T"],hiddenpower:["4M","5M"],honeclaws:["5M"],incinerate:["5M"],irontail:["4M","5T"],leer:["4L1","5L1","5S1","5S3"],lowkick:["4T","5T"],lowsweep:["5M"],mudslap:["4T"],nastyplot:["4L23","5L23"],naturalgift:["4M"],overheat:["4M","5M"],protect:["4M","5M"],quickguard:["5E"],rest:["4M","5M"],"return":["4M","5M"],rockclimb:["4M"],rocksmash:["4M","5M"],roleplay:["4T","5T"],rollout:["4T"],round:["5M"],scratch:["4L1","5L1","5S1"],secretpower:["4M"],shadowclaw:["4M","5M"],slackoff:["4L39","5L41"],sleeptalk:["4M","5T"],snore:["4T","5T"],stealthrock:["4M","5T"],strength:["4M","5M"],submission:["5E"],substitute:["4M","5M"],sunnyday:["4M","5M"],swagger:["4M","5M"],swift:["4T"],swordsdance:["4M","5M"],taunt:["4M","4L9","5M","5L9","5S1","5S3"],thunderpunch:["4E","4T","5E","4S0","4S2","5T"],torment:["4M","4L25","5M","5L25"],toxic:["4M","5M"],uproar:["4T","5T"],uturn:["4M","5M"],vacuumwave:["4T"],willowisp:["4M","5M"],covet:["5T"],gunkshot:["5T"]}}, monferno:{learnset:{acrobatics:["5M","5L46"],aerialace:["4M","5M"],attract:["4M","5M"],brickbreak:["4M","5M"],bulkup:["4M","5M"],captivate:["4M"],closecombat:["4L36","5L36"],cut:["4M","5M"],dig:["4M","5M"],doubleteam:["4M","5M"],ember:["4L1","4L7","5L1","5L7"],endeavor:["4T","5T"],endure:["4M"],facade:["4M","5M"],feint:["4L26","5L26"],fireblast:["4M","5M"],firepledge:["5T"],firepunch:["4T","5T"],firespin:["4L39","5L39"],flamecharge:["5M"],flamethrower:["4M","5M"],flamewheel:["4L19","5L19"],flareblitz:["4L49","5L56"],fling:["4M","5M"],focusblast:["4M","5M"],focuspunch:["4M"],frustration:["4M","5M"],furyswipes:["4L16","5L16"],grassknot:["4M","5M"],headbutt:["4T"],heatwave:["4T","5T"],helpinghand:["4T","5T"],hiddenpower:["4M","5M"],honeclaws:["5M"],incinerate:["5M"],irontail:["4M","5T"],leer:["4L1","5L1"],lowkick:["4T","5T"],lowsweep:["5M"],machpunch:["4L14","5L14"],mudslap:["4T"],naturalgift:["4M"],overheat:["4M","5M"],poisonjab:["4M","5M"],protect:["4M","5M"],rest:["4M","5M"],retaliate:["5M"],"return":["4M","5M"],rockclimb:["4M"],rockslide:["4M","5M"],rocksmash:["4M","5M"],rocktomb:["4M","5M"],roleplay:["4T","5T"],rollout:["4T"],round:["5M"],scratch:["4L1","5L1"],secretpower:["4M"],shadowclaw:["4M","5M"],slackoff:["4L46","5L49"],sleeptalk:["4M","5T"],snore:["4T","5T"],stealthrock:["4M","5T"],strength:["4M","5M"],substitute:["4M","5M"],sunnyday:["4M","5M"],swagger:["4M","5M"],swift:["4T"],swordsdance:["4M","5M"],taunt:["4M","4L9","5M","5L9"],thunderpunch:["4T","5T"],torment:["4M","4L29","5M","5L29"],toxic:["4M","5M"],uturn:["4M","5M"],vacuumwave:["4T"],willowisp:["4M","5M"],workup:["5M"],covet:["5T"],dualchop:["5T"],gunkshot:["5T"]}}, infernape:{learnset:{acrobatics:["5M","5L52"],aerialace:["4M","5M"],attract:["4M","5M"],blastburn:["4T","5T"],brickbreak:["4M","5M"],bulkup:["4M","5M"],bulldoze:["5M"],calmmind:["4M","4L53","5M","5L58"],captivate:["4M"],closecombat:["4L41","5L36"],cut:["4M","5M"],dig:["4M","5M"],doubleteam:["4M","5M"],earthquake:["4M","5M"],ember:["4L1","4L7","5L1","5L7"],endeavor:["4T","5T"],endure:["4M"],facade:["4M","5M"],feint:["4L29","5L26"],fireblast:["4M","5M"],firepledge:["5T"],firepunch:["4T","5T"],firespin:["4L45","5L42"],flamecharge:["5M"],flamethrower:["4M","5M"],flamewheel:["4L21","5L19"],flareblitz:["4L57","5L68"],fling:["4M","5M"],focusblast:["4M","5M"],focuspunch:["4M"],frustration:["4M","5M"],furyswipes:["4L17","5L16"],gigaimpact:["4M","5M"],grassknot:["4M","5M"],gunkshot:["4T","5T"],headbutt:["4T"],heatwave:["4T","5T"],helpinghand:["4T","5T"],hiddenpower:["4M","5M"],honeclaws:["5M"],hyperbeam:["4M","5M"],incinerate:["5M"],irontail:["4M","5T"],leer:["4L1","5L1"],lowkick:["4T","5T"],lowsweep:["5M"],machpunch:["4L14","5L14"],mudslap:["4T"],naturalgift:["4M"],overheat:["4M","5M"],poisonjab:["4M","5M"],protect:["4M","5M"],punishment:["4L33","5L29"],rest:["4M","5M"],retaliate:["5M"],"return":["4M","5M"],roar:["4M","5M"],rockclimb:["4M"],rockslide:["4M","5M"],rocksmash:["4M","5M"],rocktomb:["4M","5M"],roleplay:["4T","5T"],rollout:["4T"],round:["5M"],scratch:["4L1","5L1"],secretpower:["4M"],shadowclaw:["4M","5M"],sleeptalk:["4M","5T"],snore:["4T","5T"],solarbeam:["4M","5M"],stealthrock:["4M","5T"],stoneedge:["4M","5M"],strength:["4M","5M"],substitute:["4M","5M"],sunnyday:["4M","5M"],swagger:["4M","5M"],swift:["4T"],swordsdance:["4M","5M"],taunt:["4M","4L1","4L9","5M","5L1","5L9"],thunderpunch:["4T","5T"],torment:["4M","5M"],toxic:["4M","5M"],uturn:["4M","5M"],vacuumwave:["4T"],willowisp:["4M","5M"],workup:["5M"],covet:["5T"],dualchop:["5T"]}}, - piplup:{learnset:{aerialace:["4M","5M"],agility:["4E","5E"],aquaring:["4E","5E"],attract:["4M","5M"],bide:["4L18","4L22","5E","5L22"],blizzard:["4M","5M"],brickbreak:["4M","5M"],brine:["4M","4L29","5L29"],bubble:["4L8","5L8","5S0"],bubblebeam:["4L22","4L18","5L18"],captivate:["4M"],cut:["4M","5M"],defog:["4M"],dig:["4M","5M"],dive:["4T","5M"],doublehit:["4E","5E"],doubleteam:["4M","5M"],drillpeck:["4L39","5L39"],echoedvoice:["5M"],endure:["4M"],facade:["4M","5M"],featherdance:["4E","5E","5S1","5S2"],flail:["4E","5E"],fling:["4M","5M"],frustration:["4M","5M"],furyattack:["4L25","5L25"],grassknot:["4M","5M"],growl:["4L4","5L4","5S0"],hail:["4M","5M"],headbutt:["4T"],hiddenpower:["4M","5M"],hydropump:["4E","4L43","5E","5L43","5S1"],icebeam:["4M","5M"],icywind:["4T","5E","5T"],mist:["4L36","5L36"],mudslap:["4E","4T","5E"],mudsport:["4E","5E"],naturalgift:["4M"],peck:["4L15","5L15","5S1","5S2"],pluck:["4M","5M"],pound:["4L1","5L1","5S0"],protect:["4M","5M"],quash:["5M"],raindance:["4M","5M"],rest:["4M","5M"],"return":["4M","5M"],rocktomb:["4M","5M"],round:["5M","5S2"],scald:["5M"],secretpower:["4M"],signalbeam:["4T","5T"],sleeptalk:["4M","5T"],snore:["4E","4T","5E","5T"],stealthrock:["4M","5T"],substitute:["4M","5M"],supersonic:["4E","5E"],surf:["4M","5M"],swagger:["4M","5M"],toxic:["4M","5M"],waterfall:["4M","5M"],waterpledge:["5T"],waterpulse:["4M"],watersport:["4L11","5L11","5S1"],whirlpool:["4L32","4M","5L32"],yawn:["4E","5E"],covet:["5T"],sing:["5S2"]}}, + piplup:{learnset:{aerialace:["4M","5M"],agility:["4E","5E"],aquaring:["4E","5E"],attract:["4M","5M"],bide:["4L18","4L22","5E","5L22"],blizzard:["4M","5M"],brickbreak:["4M","5M"],brine:["4M","4L29","5L29"],bubble:["4L8","5L8","5S0","5S3"],bubblebeam:["4L22","4L18","5L18"],captivate:["4M"],cut:["4M","5M"],defog:["4M"],dig:["4M","5M"],dive:["4T","5M"],doublehit:["4E","5E"],doubleteam:["4M","5M"],drillpeck:["4L39","5L39"],echoedvoice:["5M"],endure:["4M"],facade:["4M","5M"],featherdance:["4E","5E","5S1","5S2","5S3"],flail:["4E","5E"],fling:["4M","5M"],frustration:["4M","5M"],furyattack:["4L25","5L25"],grassknot:["4M","5M"],growl:["4L4","5L4","5S0","5S3"],hail:["4M","5M"],headbutt:["4T"],hiddenpower:["4M","5M"],hydropump:["4E","4L43","5E","5L43","5S1"],icebeam:["4M","5M"],icywind:["4T","5E","5T"],mist:["4L36","5L36"],mudslap:["4E","4T","5E"],mudsport:["4E","5E"],naturalgift:["4M"],peck:["4L15","5L15","5S1","5S2"],pluck:["4M","5M"],pound:["4L1","5L1","5S0","5S3"],protect:["4M","5M"],quash:["5M"],raindance:["4M","5M"],rest:["4M","5M"],"return":["4M","5M"],rocktomb:["4M","5M"],round:["5M","5S2"],scald:["5M"],secretpower:["4M"],signalbeam:["4T","5T"],sleeptalk:["4M","5T"],snore:["4E","4T","5E","5T"],stealthrock:["4M","5T"],substitute:["4M","5M"],supersonic:["4E","5E"],surf:["4M","5M"],swagger:["4M","5M"],toxic:["4M","5M"],waterfall:["4M","5M"],waterpledge:["5T"],waterpulse:["4M"],watersport:["4L11","5L11","5S1"],whirlpool:["4L32","4M","5L32"],yawn:["4E","5E"],covet:["5T"],sing:["5S2"]}}, prinplup:{learnset:{aerialace:["4M","5M"],attract:["4M","5M"],bide:["4L19","4L24","5L24"],blizzard:["4M","5M"],brickbreak:["4M","5M"],brine:["4M","4L33","5L33"],bubble:["4L8","5L8"],bubblebeam:["4L24","4L19","5L19"],captivate:["4M"],cut:["4M","5M"],defog:["4M"],dig:["4M","5M"],dive:["4T","5M"],doubleteam:["4M","5M"],drillpeck:["4L46","5L46"],echoedvoice:["5M"],endure:["4M"],facade:["4M","5M"],fling:["4M","5M"],frustration:["4M","5M"],furyattack:["4L28","5L28"],grassknot:["4M","5M"],growl:["4L1","4L4","5L1","5L4"],hail:["4M","5M"],headbutt:["4T"],hiddenpower:["4M","5M"],honeclaws:["5M"],hydropump:["4L51","5L51"],icebeam:["4M","5M"],icywind:["4T","5T"],metalclaw:["4L16","5L16"],mist:["4L42","5L42"],mudslap:["4T"],naturalgift:["4M"],peck:["4L15","5L15"],pluck:["4M","5M"],protect:["4M","5M"],quash:["5M"],raindance:["4M","5M"],rest:["4M","5M"],"return":["4M","5M"],rocksmash:["4M","5M"],rocktomb:["4M","5M"],round:["5M"],scald:["5M"],secretpower:["4M"],shadowclaw:["4M","5M"],signalbeam:["4T","5T"],sleeptalk:["4M","5T"],snore:["4T","5T"],stealthrock:["4M","5T"],strength:["4M","5M"],substitute:["4M","5M"],surf:["4M","5M"],swagger:["4M","5M"],tackle:["4L1","5L1"],toxic:["4M","5M"],waterfall:["4M","5M"],waterpledge:["5T"],waterpulse:["4M"],watersport:["4L11","5L11"],whirlpool:["4L37","4M","5L37"],covet:["5T"]}}, empoleon:{learnset:{aerialace:["4M","5M"],aquajet:["4L36","5L36"],attract:["4M","5M"],avalanche:["4M"],blizzard:["4M","5M"],brickbreak:["4M","5M"],brine:["4M","4L33","5L33"],bubble:["4L1","4L8","5L1","5L8"],bubblebeam:["4L24","4L19","5L19"],bulldoze:["5M"],captivate:["4M"],cut:["4M","5M"],defog:["4M"],dig:["4M","5M"],dive:["4T","5M"],doubleteam:["4M","5M"],drillpeck:["4L52","5L52"],earthquake:["4M","5M"],echoedvoice:["5M"],endure:["4M"],facade:["4M","5M"],flashcannon:["4M","5M"],fling:["4M","5M"],frustration:["4M","5M"],furyattack:["4L28","5L28"],furycutter:["4T"],gigaimpact:["4M","5M"],grassknot:["4M","5M"],growl:["4L1","4L4","5L1","5L4"],hail:["4M","5M"],headbutt:["4T"],hiddenpower:["4M","5M"],honeclaws:["5M"],hydrocannon:["4T","5T"],hydropump:["4L59","5L59"],hyperbeam:["4M","5M"],icebeam:["4M","5M"],icywind:["4T","5T"],irondefense:["4T","5T"],knockoff:["4T","5T"],metalclaw:["4L16","5L16"],mist:["4L46","5L46"],mudslap:["4T"],naturalgift:["4M"],peck:["4L15","5L15"],pluck:["4M","5M"],protect:["4M","5M"],quash:["5M"],raindance:["4M","5M"],rest:["4M","5M"],"return":["4M","5M"],roar:["4M","5M"],rockclimb:["4M"],rockslide:["4M","5M"],rocksmash:["4M","5M"],rocktomb:["4M","5M"],round:["5M"],scald:["5M"],secretpower:["4M"],shadowclaw:["4M","5M"],signalbeam:["4T","5T"],sleeptalk:["4M","5T"],snore:["4T","5T"],stealthrock:["4M","5T"],steelwing:["4M"],strength:["4M","5M"],substitute:["4M","5M"],surf:["4M","5M"],swagger:["4M","4L19","4L24","5M","5L24"],swordsdance:["4M","4L11","5M","5L11"],tackle:["4L1","5L1"],toxic:["4M","5M"],waterfall:["4M","5M"],waterpledge:["5T"],waterpulse:["4M"],whirlpool:["4L39","4M","5L39"],covet:["5T"]}}, starly:{learnset:{aerialace:["4M","4L25","5M","5L25"],agility:["4L33","5L33"],aircutter:["4T"],astonish:["4E","5E"],attract:["4M","5M"],bravebird:["4L37","5L37"],captivate:["4M"],defog:["4M"],detect:["5E"],doubleedge:["4E","5E"],doubleteam:["4M","4L13","5M","5L13"],echoedvoice:["5M"],endeavor:["4L17","4T","5L17","5T"],endure:["4M"],facade:["4M","5M"],featherdance:["4E","5E"],finalgambit:["5L41"],fly:["4M","5M"],foresight:["4E","5E"],frustration:["4M","5M"],furyattack:["4E","5E"],growl:["4L1","5L1","4S0"],heatwave:["4T","5T"],hiddenpower:["4M","5M"],mudslap:["4T"],naturalgift:["4M"],ominouswind:["4T"],pluck:["4M","5M"],protect:["4M","5M"],pursuit:["4E","5E"],quickattack:["4L5","5L5"],raindance:["4M","5M"],rest:["4M","5M"],"return":["4M","5M"],revenge:["5E"],roost:["4M","5E","5T"],round:["5M"],sandattack:["4E","5E"],secretpower:["4M"],sleeptalk:["4M","5T"],snore:["4T","5T"],steelwing:["4M","5E"],substitute:["4M","5M"],sunnyday:["4M","5M"],swagger:["4M","5M"],swift:["4T"],tackle:["4L1","5L1","4S0"],tailwind:["4T","5T"],takedown:["4L29","5L29"],thief:["4M","5M"],toxic:["4M","5M"],twister:["4T"],uproar:["5E"],uturn:["4M","5M"],whirlwind:["4L21","5L21"],wingattack:["4L9","5L9"],workup:["5M"]}}, @@ -482,7 +482,7 @@ exports.BattleLearnsets = { spiritomb:{learnset:{attract:["4M","5M"],calmmind:["4M","5M"],captivate:["4M","5E"],confuseray:["4L1","5L1"],curse:["4L1","5L1"],darkpulse:["4M","4L49","5L49","5T"],destinybond:["4E","5E"],doubleteam:["4M","5M"],dreameater:["4M","4L19","5M","5L19"],embargo:["4M","5M"],endure:["4M"],facade:["4M","5M"],faintattack:["4L7","5L7"],flash:["4M","5M"],frustration:["4M","5M"],gigaimpact:["4M","5M"],grudge:["4E","5E"],hiddenpower:["4M","5M"],hyperbeam:["4M","5M"],hypnosis:["4L13","5L13"],icywind:["4T","5D","5T"],imprison:["4E","5E"],memento:["4L43","5L43"],nastyplot:["4L37","5L37"],naturalgift:["4M"],nightmare:["5E"],ominouswind:["4L25","4T","5L25"],painsplit:["4E","4T","5E","5D","5T"],protect:["4M","5M"],psychic:["4M","5M"],psychup:["4M","5M"],pursuit:["4L1","5L1"],quash:["5M"],raindance:["4M","5M"],rest:["4M","5M"],retaliate:["5M"],"return":["4M","5M"],rocktomb:["4M","5M"],round:["5M"],secretpower:["4M"],shadowball:["4M","5M"],shadowsneak:["4E","4L1","5E","5L1"],shockwave:["4M"],silverwind:["4M"],sleeptalk:["4M","5T"],smokescreen:["4E","5E"],snarl:["5M"],snatch:["4M","5T"],snore:["4T","5T"],spite:["4L1","4T","5L1","5D","5T"],substitute:["4M","5M"],suckerpunch:["4L31","4T","5L31"],sunnyday:["4M","5M"],swagger:["4M","5M"],taunt:["4M","5M"],telekinesis:["5M"],thief:["4M","5M"],torment:["4M","5M"],toxic:["4M","5M"],trick:["4T","5T"],uproar:["4T","5T"],waterpulse:["4M"],willowisp:["4M","5M"],foulplay:["5T"],wonderroom:["5T"]}}, gible:{learnset:{aerialace:["4M","5M"],attract:["4M","5M"],bodyslam:["4E","5E"],bulldoze:["5M"],captivate:["4M"],cut:["4M","5M"],dig:["4M","4L31","5M","5L31"],doubleedge:["4E","5E"],doubleteam:["4M","5M"],dracometeor:["4T","5T"],dragonbreath:["4E","5E"],dragonclaw:["4M","4L27","5M","5L27"],dragonpulse:["4M","5T"],dragonrage:["4L7","5L7","5D"],dragonrush:["4L37","5L37"],earthpower:["4T","5T"],earthquake:["4M","5M"],endure:["4M","5D"],facade:["4M","5M"],fireblast:["4M","5M"],flamethrower:["4M","5M"],frustration:["4M","5M"],furycutter:["4T"],headbutt:["4T"],hiddenpower:["4M","5M"],honeclaws:["5M"],incinerate:["5M"],ironhead:["4E","4T","5E","5T"],irontail:["5E","5T"],metalclaw:["4E","5E"],mudshot:["4E","5E"],mudslap:["4T"],naturalgift:["4M"],outrage:["4E","4T","5E","5T","5D"],protect:["4M","5M"],raindance:["4M","5M"],rest:["4M","5M"],"return":["4M","5M"],roar:["4M","5M"],rockclimb:["4M","5E"],rockslide:["4M","5M"],rocksmash:["4M","5M"],rocktomb:["4M","5M"],round:["5M"],sandattack:["4L3","5L3"],sandstorm:["4M","4L13","5M","5L13"],sandtomb:["4E","4L19","5E","5L19"],scaryface:["4E","5E"],secretpower:["4M"],shadowclaw:["4M","5M"],slash:["4L25","5L25"],sleeptalk:["4M","5T"],snore:["4T","5T"],stealthrock:["4M","5T"],stoneedge:["4M","5M"],strength:["4M","5M"],substitute:["4M","5M"],sunnyday:["4M","5M"],swagger:["4M","5M"],swift:["4T"],tackle:["4L1","5L1"],takedown:["4L15","5L15"],thrash:["4E","5E"],toxic:["4M","5M"],twister:["4E","4T","5E"]}}, gabite:{learnset:{aerialace:["4M","5M"],attract:["4M","5M"],bulldoze:["5M"],captivate:["4M"],cut:["4M","5M"],dig:["4M","4L40","5M","5L40"],doubleteam:["4M","5M"],dracometeor:["4T","5T"],dragonclaw:["4M","4L33","5M","5L33"],dragonpulse:["4M","5T"],dragonrage:["4L7","5L7"],dragonrush:["4L49","5L49"],dualchop:["5L24","5T"],earthpower:["4T","5T"],earthquake:["4M","5M"],endure:["4M"],facade:["4M","5M"],fireblast:["4M","5M"],flamethrower:["4M","5M"],frustration:["4M","5M"],furycutter:["4T"],headbutt:["4T"],hiddenpower:["4M","5M"],honeclaws:["5M"],incinerate:["5M"],ironhead:["4T","5T"],irontail:["4M","5T"],mudslap:["4T"],naturalgift:["4M"],outrage:["4T","5T"],protect:["4M","5M"],raindance:["4M","5M"],rest:["4M","5M"],"return":["4M","5M"],roar:["4M","5M"],rockclimb:["4M"],rockslide:["4M","5M"],rocksmash:["4M","5M"],rocktomb:["4M","5M"],round:["5M"],sandattack:["4L1","4L3","5L1","5L3"],sandstorm:["4M","4L13","5M","5L13"],sandtomb:["4L19","5L19"],secretpower:["4M"],shadowclaw:["4M","5M"],slash:["4L28","5L28"],sleeptalk:["4M","5T"],snore:["4T","5T"],stealthrock:["4M","5T"],stoneedge:["4M","5M"],strength:["4M","5M"],substitute:["4M","5M"],sunnyday:["4M","5M"],swagger:["4M","5M"],swift:["4T"],tackle:["4L1","5L1"],takedown:["4L15","5L15"],toxic:["4M","5M"],twister:["4T"]}}, - garchomp:{learnset:{aerialace:["4M","5M"],aquatail:["4T","5T"],attract:["4M","5M"],brickbreak:["4M","5M"],bulldoze:["5M"],captivate:["4M"],crunch:["4L48","5L48"],cut:["4M","5M"],dig:["4M","4L40","5M","5L40"],doubleteam:["4M","5M"],dracometeor:["4T","5T"],dragonclaw:["4M","4L33","5M","5L33"],dragonpulse:["4M","5T"],dragonrage:["4L1","4L7","5L1","5L7"],dragonrush:["4L55","5L55"],dragontail:["5M"],dualchop:["5L24","5T"],earthpower:["4T","5T"],earthquake:["4M","5M","5S0"],endure:["4M"],facade:["4M","5M"],falseswipe:["4M","5M"],fireblast:["4M","5M"],firefang:["4L1","5L1"],flamethrower:["4M","5M"],fling:["4M","5M"],frustration:["4M","5M"],furycutter:["4T"],gigaimpact:["4M","5M"],headbutt:["4T"],hiddenpower:["4M","5M"],honeclaws:["5M"],hyperbeam:["4M","5M"],incinerate:["5M"],ironhead:["4T","5T"],irontail:["4M","5T"],mudslap:["4T"],naturalgift:["4M"],outrage:["4T","5T","5S0"],poisonjab:["4M","5M"],protect:["4M","5M"],raindance:["4M","5M"],rest:["4M","5M"],"return":["4M","5M"],roar:["4M","5M"],rockclimb:["4M"],rockslide:["4M","5M"],rocksmash:["4M","5M"],rocktomb:["4M","5M"],round:["5M"],sandattack:["4L1","4L3","5L1","5L3"],sandstorm:["4M","4L1","4L13","5M","5L1","5L13"],sandtomb:["4L19","5L19"],secretpower:["4M"],shadowclaw:["4M","5M"],slash:["4L28","5L28"],sleeptalk:["4M","5T"],snore:["4T","5T"],stealthrock:["4M","5T"],stoneedge:["4M","5M","5S0"],strength:["4M","5M"],substitute:["4M","5M"],sunnyday:["4M","5M"],surf:["4M","5M"],swagger:["4M","5M"],swift:["4T"],swordsdance:["4M","5M","5S0"],tackle:["4L1","5L1"],takedown:["4L15","5L15"],toxic:["4M","5M"],twister:["4T"],whirlpool:["4M"]}}, + garchomp:{learnset:{aerialace:["4M","5M"],aquatail:["4T","5T"],attract:["4M","5M"],brickbreak:["4M","5M"],bulldoze:["5M"],captivate:["4M"],crunch:["4L48","5L48","5S1"],cut:["4M","5M"],dig:["4M","4L40","5M","5L40","5S1"],doubleteam:["4M","5M"],dracometeor:["4T","5T"],dragonclaw:["4M","4L33","5M","5L33","5S1"],dragonpulse:["4M","5T"],dragonrage:["4L1","4L7","5L1","5L7"],dragonrush:["4L55","5L55"],dragontail:["5M"],dualchop:["5L24","5T"],earthpower:["4T","5T"],earthquake:["4M","5M","5S0"],endure:["4M"],facade:["4M","5M"],falseswipe:["4M","5M"],fireblast:["4M","5M"],firefang:["4L1","5L1"],flamethrower:["4M","5M"],fling:["4M","5M"],frustration:["4M","5M"],furycutter:["4T"],gigaimpact:["4M","5M"],headbutt:["4T"],hiddenpower:["4M","5M"],honeclaws:["5M"],hyperbeam:["4M","5M"],incinerate:["5M"],ironhead:["4T","5T"],irontail:["4M","5T"],mudslap:["4T"],naturalgift:["4M"],outrage:["4T","5T","5S0","5S1"],poisonjab:["4M","5M"],protect:["4M","5M"],raindance:["4M","5M"],rest:["4M","5M"],"return":["4M","5M"],roar:["4M","5M"],rockclimb:["4M"],rockslide:["4M","5M"],rocksmash:["4M","5M"],rocktomb:["4M","5M"],round:["5M"],sandattack:["4L1","4L3","5L1","5L3"],sandstorm:["4M","4L1","4L13","5M","5L1","5L13"],sandtomb:["4L19","5L19"],secretpower:["4M"],shadowclaw:["4M","5M"],slash:["4L28","5L28"],sleeptalk:["4M","5T"],snore:["4T","5T"],stealthrock:["4M","5T"],stoneedge:["4M","5M","5S0"],strength:["4M","5M"],substitute:["4M","5M"],sunnyday:["4M","5M"],surf:["4M","5M"],swagger:["4M","5M"],swift:["4T"],swordsdance:["4M","5M","5S0"],tackle:["4L1","5L1"],takedown:["4L15","5L15"],toxic:["4M","5M"],twister:["4T"],whirlpool:["4M"]}}, riolu:{learnset:{agility:["4E","5E"],attract:["4M","5M"],aurasphere:["4S0"],bite:["4E","5E"],blazekick:["4E","5E"],brickbreak:["4M","5M"],bulkup:["4M","5M"],bulldoze:["5M"],bulletpunch:["4E","5E","4S0","5D"],captivate:["4M"],circlethrow:["5E"],copycat:["4L29","5L29"],counter:["4L6","5L6"],crosschop:["4E","5E"],crunch:["4E","5E"],detect:["4E","5E"],dig:["4M","5M"],doubleteam:["4M","5M"],drainpunch:["4M","4S0","5T"],earthquake:["4M","5M"],endure:["4M","4L1","5L1","5D"],facade:["4M","5M"],feint:["4L15","5L15"],finalgambit:["5L55"],fling:["4M","5M"],focusblast:["4M","5M"],focuspunch:["4M","5D"],followme:["4E","5E"],forcepalm:["4L11","5L11"],foresight:["4L1","5L1"],frustration:["4M","5M"],furycutter:["4T"],headbutt:["4T"],helpinghand:["4T","5T"],hiddenpower:["4M","5M"],hijumpkick:["4E","5E"],icepunch:["4T","5T"],irondefense:["4E","4T","5E","5T"],irontail:["4M","5T"],lowkick:["4E","4T","5E","5T"],lowsweep:["5M"],magnetrise:["4T","5T"],mindreader:["4E","5E"],mudslap:["4T"],nastyplot:["5L47"],naturalgift:["4M"],payback:["4M","5M"],poisonjab:["4M","5M"],protect:["4M","5M"],quickattack:["4L1","5L1"],raindance:["4M","5M"],rest:["4M","5M"],retaliate:["5M"],"return":["4M","5M"],reversal:["4L19","5L19"],roar:["4M","5M"],rockslide:["4M","5M"],rocksmash:["4M","5M"],rocktomb:["4M","5M"],roleplay:["4T","5T"],round:["5M"],screech:["4L24","5L24"],secretpower:["4M"],shadowclaw:["4M","5M","4S0"],skyuppercut:["4E","5E"],sleeptalk:["4M","5T"],snore:["4T","5T"],strength:["4M","5M"],substitute:["4M","5M"],sunnyday:["4M","5M"],swagger:["4M","5M"],swift:["4T"],swordsdance:["4M","5M"],thunderpunch:["4T","5T"],toxic:["4M","5M"],vacuumwave:["4E","4T","5E"],workup:["5M"],zenheadbutt:["4T","5T"],dualchop:["5T"]}}, lucario:{learnset:{attract:["4M","5M"],aurasphere:["4L37","5L51","4S0"],blazekick:["4S1"],bonerush:["4L19","5L19","4S1"],brickbreak:["4M","5M"],bulkup:["4M","5M"],bulldoze:["5M"],bulletpunch:["5S2","5S3"],calmmind:["4M","5M","5L47"],captivate:["4M"],closecombat:["4L42","5L55","5S3"],counter:["4L6","5L6","5S2"],darkpulse:["4M","4L1","5L1","4S0","5T"],detect:["4L1","5L1","5S2"],dig:["4M","5M"],doubleteam:["4M","5M"],dragonpulse:["4M","4L47","5L60","4S0","5T"],drainpunch:["4M","5T"],earthquake:["4M","5M"],endure:["4M"],extremespeed:["4L51","5L65"],facade:["4M","5M"],feint:["4L15","5L15"],flashcannon:["4M","5M"],fling:["4M","5M"],focusblast:["4M","5M"],focuspunch:["4M"],forcepalm:["4L11","5L11","4S1"],foresight:["4L1","5L1"],frustration:["4M","5M"],furycutter:["4T"],gigaimpact:["4M","5M"],headbutt:["4T"],healpulse:["5L42"],helpinghand:["4T","5T"],hiddenpower:["4M","5M"],honeclaws:["5M"],hyperbeam:["4M","5M"],icepunch:["4T","5T"],irondefense:["4T","5T"],irontail:["4M","5T"],lowkick:["4T","5T"],lowsweep:["5M"],magnetrise:["4T","5T"],mefirst:["4L29","5L29"],metalclaw:["4L1","5L1","5S2"],metalsound:["4L24","5L24"],mudslap:["4T"],naturalgift:["4M"],payback:["4M","5M"],poisonjab:["4M","5M"],protect:["4M","5M"],psychic:["4M","5M"],quickattack:["4L1","5L1"],quickguard:["5L33"],raindance:["4M","5M"],rest:["4M","5M"],retaliate:["5M"],"return":["4M","5M"],roar:["4M","5M"],rockclimb:["4M"],rockslide:["4M","5M"],rocksmash:["4M","5M"],rocktomb:["4M","5M"],roleplay:["4T","5T"],round:["5M"],secretpower:["4M"],shadowball:["4M","5M"],shadowclaw:["4M","5M","5S3"],sleeptalk:["4M","5T"],snore:["4T","5T"],stoneedge:["4M","5M","5S3"],strength:["4M","5M"],substitute:["4M","5M"],sunnyday:["4M","5M","4S1"],swagger:["4M","5M"],swift:["4T"],swordsdance:["4M","4L33","5M","5L37"],thunderpunch:["4T","5T"],toxic:["4M","5M"],vacuumwave:["4T"],waterpulse:["4M","4S0"],workup:["5M"],zenheadbutt:["4T","5T"],dualchop:["5T"]}}, hippopotas:{learnset:{attract:["4M","5M"],bite:["4L7","5L7","5D"],bodyslam:["4E","5E"],bulldoze:["5M"],captivate:["4M"],crunch:["4L31","5L31"],curse:["4E","5E"],dig:["4M","4L19","5M","5L19"],doubleedge:["4L44","5L44"],doubleteam:["4M","5M"],earthpower:["4T","5T"],earthquake:["4M","4L37","5M","5L37"],endure:["4M"],facade:["4M","5M"],fissure:["4L50","5L50"],frustration:["4M","5M"],headbutt:["4T"],hiddenpower:["4M","5M"],irontail:["4M","5T"],mudslap:["4T"],naturalgift:["4M"],protect:["4M","5M"],rest:["4M","5M"],"return":["4M","5M"],revenge:["4E","5E"],roar:["4M","5M"],rockslide:["4M","5M"],rocksmash:["4M","5M"],rocktomb:["4M","5M"],round:["5M"],sandattack:["4L1","5L1"],sandstorm:["4M","5M"],sandtomb:["4E","4L25","5E","5L25"],secretpower:["4M"],slackoff:["4E","5E"],sleeptalk:["4M","5E","5T"],snore:["4T","5T"],spitup:["4E","5E"],stealthrock:["4M","5T"],stockpile:["4E","5E","5D"],strength:["4M","5M"],substitute:["4M","5M"],sunnyday:["4M","5M"],superpower:["4T","5D","5T"],swagger:["4M","5M"],swallow:["4E","5E"],tackle:["4L1","5L1"],takedown:["4L19","5L19"],toxic:["4M","5M"],waterpulse:["4M"],whirlwind:["5E"],yawn:["4L13","5L13"]}}, @@ -673,6 +673,6 @@ exports.BattleLearnsets = { kyuremblack:{learnset:{ancientpower:["5L15"],blizzard:["5M","5L78"],cut:["5M"],doubleteam:["5M"],dracometeor:["5T"],dragonbreath:["5L29"],dragonclaw:["5M"],dragonpulse:["5L57","5T"],dragonrage:["5L1"],dragontail:["5M"],echoedvoice:["5M"],endeavor:["5L71","5T"],facade:["5M"],flashcannon:["5M"],fling:["5M"],fly:["5M"],focusblast:["5M"],freezeshock:["5L43"],frustration:["5M"],fusionbolt:["5L50"],gigaimpact:["5M"],hail:["5M"],hiddenpower:["5M"],honeclaws:["5M"],hyperbeam:["5M"],hypervoice:["5L92","5T"],icebeam:["5M","5L22"],icywind:["5L1","5T"],imprison:["5L8","5L64"],lightscreen:["5M"],outrage:["5L85","5T"],payback:["5M"],protect:["5M"],psychic:["5M"],raindance:["5M"],reflect:["5M"],rest:["5M"],"return":["5M"],rockslide:["5M"],rocksmash:["5M"],rocktomb:["5M"],round:["5M"],safeguard:["5M"],shadowball:["5M"],shadowclaw:["5M"],slash:["5L36"],stoneedge:["5M"],strength:["5M"],substitute:["5M"],sunnyday:["5M"],swagger:["5M"],toxic:["5M"],signalbeam:["5T"],ironhead:["5T"],earthpower:["5T"],zenheadbutt:["5T"],snore:["5T"],roost:["5T"],sleeptalk:["5T"]}}, kyuremwhite:{learnset:{ancientpower:["5L15"],blizzard:["5M","5L78"],cut:["5M"],doubleteam:["5M"],dracometeor:["5T"],dragonbreath:["5L29"],dragonclaw:["5M"],dragonpulse:["5L57","5T"],dragonrage:["5L1"],dragontail:["5M"],echoedvoice:["5M"],endeavor:["5L71","5T"],facade:["5M"],flashcannon:["5M"],fling:["5M"],fly:["5M"],focusblast:["5M"],frustration:["5M"],fusionflare:["5L50"],gigaimpact:["5M"],hail:["5M"],hiddenpower:["5M"],honeclaws:["5M"],hyperbeam:["5M"],hypervoice:["5L92","5T"],icebeam:["5M","5L22"],iceburn:["5L43"],icywind:["5L1","5T"],imprison:["5L8","5L64"],lightscreen:["5M"],outrage:["5L85","5T"],payback:["5M"],protect:["5M"],psychic:["5M"],raindance:["5M"],reflect:["5M"],rest:["5M"],"return":["5M"],rockslide:["5M"],rocksmash:["5M"],rocktomb:["5M"],round:["5M"],safeguard:["5M"],shadowball:["5M"],shadowclaw:["5M"],slash:["5L36"],stoneedge:["5M"],strength:["5M"],substitute:["5M"],sunnyday:["5M"],swagger:["5M"],toxic:["5M"],signalbeam:["5T"],ironhead:["5T"],earthpower:["5T"],zenheadbutt:["5T"],snore:["5T"],roost:["5T"],sleeptalk:["5T"]}}, keldeo:{learnset:{aerialace:["5M"],aquajet:["5L1","5S0","5S1"],aquatail:["5L37","5T"],bubblebeam:["5L13","5S0"],calmmind:["5M"],closecombat:["5L73"],cut:["5M"],doublekick:["5L7","5S0"],doubleteam:["5M"],facade:["5M"],falseswipe:["5M"],focusblast:["5M"],frustration:["5M"],gigaimpact:["5M"],hail:["5M"],helpinghand:["5L25","5T"],hiddenpower:["5M"],hydropump:["5L67","5S1"],hyperbeam:["5M"],leer:["5L1","5S0"],poisonjab:["5M"],protect:["5M"],psychup:["5M"],quickguard:["5L55"],raindance:["5M"],reflect:["5M"],rest:["5M"],retaliate:["5M","5L31"],"return":["5M"],roar:["5M"],rocksmash:["5M"],round:["5M"],sacredsword:["5L43","5S1"],safeguard:["5M"],scald:["5M"],secretsword:["5T"],stoneedge:["5M"],strength:["5M"],substitute:["5M"],surf:["5M"],swagger:["5M"],swordsdance:["5M","5L49","5S1"],takedown:["5L19"],taunt:["5M"],toxic:["5M"],workup:["5M","5L61"],xscissor:["5M"],covet:["5T"],bounce:["5T"],lastresort:["5T"],superpower:["5T"],icywind:["5T"],snore:["5T"],endeavor:["5T"],sleeptalk:["5T"]}}, - meloetta:{learnset:{acrobatics:["5M","5L26"],brickbreak:["5M"],calmmind:["5M"],chargebeam:["5M"],closecombat:["5L78"],confusion:["5L11","5S0"],doubleteam:["5M"],dreameater:["5M"],echoedvoice:["5M","5L36"],embargo:["5M"],energyball:["5M"],facade:["5M"],flash:["5M"],fling:["5M"],focusblast:["5M"],frustration:["5M"],gigaimpact:["5M"],grassknot:["5M"],hiddenpower:["5M"],honeclaws:["5M"],hyperbeam:["5M"],hypervoice:["5L64","5T"],lightscreen:["5M"],lowsweep:["5M"],payback:["5M"],perishsong:["5L85"],protect:["5M"],psybeam:["5L31"],psychic:["5M","5L57"],psychup:["5M"],psyshock:["5M"],quickattack:["5L6","5S0"],raindance:["5M"],relicsong:["5T"],rest:["5M"],retaliate:["5M"],"return":["5M"],rocksmash:["5M"],roleplay:["5L71","5T"],round:["5M","5L1","5S0"],safeguard:["5M"],shadowball:["5M"],shadowclaw:["5M"],sing:["5L16"],stoneedge:["5M"],strength:["5M"],substitute:["5M"],sunnyday:["5M"],swagger:["5M"],teeterdance:["5L21"],telekinesis:["5M"],thunder:["5M"],thunderbolt:["5M"],thunderwave:["5M"],toxic:["5M"],trickroom:["5M"],uturn:["5M","5L43"],wakeupslap:["5L50"],workup:["5M"],covet:["5T"],dualchop:["5T"],signalbeam:["5T"],lowkick:["5T"],uproar:["5T"],thunderpunch:["5T"],firepunch:["5T"],icepunch:["5T"],magiccoat:["5T"],gravity:["5T"],lastresort:["5T"],zenheadbutt:["5T"],snore:["5T"],knockoff:["5T"],healbell:["5T"],drainpunch:["5T"],helpinghand:["5T"],trick:["5T"],magicroom:["5T"],wonderroom:["5T"],recycle:["5T"],snatch:["5T"],sleeptalk:["5T"],skillswap:["5T"]}}, + meloetta:{learnset:{acrobatics:["5M","5L26"],brickbreak:["5M"],calmmind:["5M"],chargebeam:["5M"],closecombat:["5L78","5S1"],confusion:["5L11","5S0"],doubleteam:["5M"],dreameater:["5M"],echoedvoice:["5M","5L36"],embargo:["5M"],energyball:["5M"],facade:["5M"],flash:["5M"],fling:["5M"],focusblast:["5M"],frustration:["5M"],gigaimpact:["5M"],grassknot:["5M"],hiddenpower:["5M"],honeclaws:["5M"],hyperbeam:["5M"],hypervoice:["5L64","5T"],lightscreen:["5M"],lowsweep:["5M"],payback:["5M"],perishsong:["5L85"],protect:["5M"],psybeam:["5L31"],psychic:["5M","5L57","5S1"],psychup:["5M"],psyshock:["5M"],quickattack:["5L6","5S0"],raindance:["5M"],relicsong:["5T"],rest:["5M"],retaliate:["5M"],"return":["5M"],rocksmash:["5M"],roleplay:["5L71","5T"],round:["5M","5L1","5S0","5S1"],safeguard:["5M"],shadowball:["5M"],shadowclaw:["5M"],sing:["5L16"],stoneedge:["5M"],strength:["5M"],substitute:["5M"],sunnyday:["5M"],swagger:["5M"],teeterdance:["5L21","5S1"],telekinesis:["5M"],thunder:["5M"],thunderbolt:["5M"],thunderwave:["5M"],toxic:["5M"],trickroom:["5M"],uturn:["5M","5L43"],wakeupslap:["5L50"],workup:["5M"],covet:["5T"],dualchop:["5T"],signalbeam:["5T"],lowkick:["5T"],uproar:["5T"],thunderpunch:["5T"],firepunch:["5T"],icepunch:["5T"],magiccoat:["5T"],gravity:["5T"],lastresort:["5T"],zenheadbutt:["5T"],snore:["5T"],knockoff:["5T"],healbell:["5T"],drainpunch:["5T"],helpinghand:["5T"],trick:["5T"],magicroom:["5T"],wonderroom:["5T"],recycle:["5T"],snatch:["5T"],sleeptalk:["5T"],skillswap:["5T"]}}, genesect:{learnset:{aerialace:["5M"],blizzard:["5M"],bugbite:["5T"],bugbuzz:["5L55"],chargebeam:["5M"],darkpulse:["5T"],doubleteam:["5M"],electroweb:["5T"],energyball:["5M"],explosion:["5M"],facade:["5M"],flamecharge:["5M","5L18"],flamethrower:["5M"],flash:["5M"],flashcannon:["5M"],fly:["5M"],frustration:["5M"],furycutter:["5L7"],gigadrain:["5T"],gigaimpact:["5M"],gravity:["5T"],gunkshot:["5T"],hiddenpower:["5M"],honeclaws:["5M"],hyperbeam:["5M","5L73"],icebeam:["5M"],irondefense:["5T"],ironhead:["5T"],lastresort:["5T"],lightscreen:["5M"],lockon:["5L11"],magiccoat:["5T"],magnetbomb:["5L22","5S0","5S1"],magnetrise:["5L1","5T"],metalclaw:["5L1"],metalsound:["5L33"],protect:["5M"],psychic:["5M"],quickattack:["5L1"],recycle:["5T"],reflect:["5M"],rest:["5M"],"return":["5M"],rockpolish:["5M"],round:["5M"],screech:["5L1"],selfdestruct:["5L77"],shadowclaw:["5M"],signalbeam:["5L40","5T","5S0","5S1"],simplebeam:["5L62"],slash:["5L29"],sleeptalk:["5T"],snore:["5T"],solarbeam:["5M","5S0","5S1"],strugglebug:["5M"],substitute:["5M"],swagger:["5M"],technoblast:["5L1","5S0","5S1"],thunder:["5M"],thunderbolt:["5M"],thunderwave:["5M"],toxic:["5M"],triattack:["5L44"],uturn:["5M"],xscissor:["5M","5L51"],zapcannon:["5L66"],zenheadbutt:["5T"]}} }; diff --git a/data/moves.js b/data/moves.js index 567f228ad..61b30324d 100644 --- a/data/moves.js +++ b/data/moves.js @@ -169,7 +169,7 @@ exports.BattleMovedex = { "afteryou": { num: 495, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "Causes one adjacent target to take its turn immediately after the user this turn, no matter the priority of its selected move. Fails if the target would have moved next anyway, or if the target already moved this turn. This move ignores Protect and Detect. Ignores a target's Substitute.", shortDesc: "The target makes its move right after the user.", @@ -184,6 +184,7 @@ exports.BattleMovedex = { if (decision) { this.cancelMove(target); this.queue.unshift(decision); + this.add('-activate', target, 'move: After You'); } else { return false; } @@ -250,7 +251,7 @@ exports.BattleMovedex = { "allyswitch": { num: 502, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "The user swaps positions with its ally on the far side of the field. Fails if there is no Pokemon at that position, if the user is the only Pokemon on its side, or if the user is in the middle. Priority +1.", shortDesc: "Switches position with the ally on the far side.", @@ -450,13 +451,13 @@ exports.BattleMovedex = { num: 372, accuracy: 100, basePower: 50, - basePowerCallback: function(pokemon, source) { - if (source.lastDamage > 0 && pokemon.lastAttackedBy.thisTurn && pokemon.lastAttackedBy.move != "Pain Split") { - this.debug('Boosted damge for being hit this turn'); + basePowerCallback: function(pokemon, target) { + if (pokemon.volatiles.assurance && pokemon.volatiles.assurance.hurt) { + this.debug('Boosted for being damaged this turn'); return 100; } return 50; - }, + }, category: "Physical", desc: "Deals damage to one adjacent target. Power doubles if the target has already taken damage this turn, other than from Pain Split. Makes contact.", shortDesc: "Power doubles if target was damaged this turn.", @@ -464,6 +465,19 @@ exports.BattleMovedex = { name: "Assurance", pp: 10, priority: 0, + beforeTurnCallback: function(pokemon, target) { + pokemon.addVolatile('assurance'); + pokemon.volatiles.assurance.position = target.position; + }, + effect: { + duration: 1, + onFoeAfterDamage: function(damage, target) { + if (target.position == this.effectData.position) { + this.debug('damaged this turn'); + this.effectData.hurt = true; + } + } + }, isContact: true, secondary: false, target: "normal", @@ -517,13 +531,25 @@ exports.BattleMovedex = { pp: 15, priority: 0, isBounceable: true, - onHit: function(target) { - if (target.addVolatile('attract')) this.add("-start", target, "Attract"); - else return false; - }, + volatileStatus: 'attract', effect: { - onStart: function(pokemon, source) { - return ((pokemon.gender === 'M' && source.gender === 'F') || (pokemon.gender === 'F' && source.gender === 'M')); + onStart: function(pokemon, source, effect) { + if (!(pokemon.gender === 'M' && source.gender === 'F') && !(pokemon.gender === 'F' && source.gender === 'M')) { + this.debug('incompatible gender'); + return false; + } + if (!this.runEvent('Attract', pokemon, source)) { + this.debug('Attract event failed'); + return false; + } + + if (effect.id === 'cutecharm') { + this.add('-start', pokemon, 'Attract', '[from] ability: Cute Charm', '[of] '+source); + } else if (effect.id === 'destinyknot') { + this.add('-start', pokemon, 'Attract', '[from] item: Destiny Knot', '[of] '+source); + } else { + this.add('-start', pokemon, 'Attract'); + } }, onBeforeMove: function(pokemon, target, move) { if (this.effectData.source && !this.effectData.source.isActive && pokemon.volatiles['attract']) { @@ -581,7 +607,7 @@ exports.BattleMovedex = { "autotomize": { num: 475, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "Raises the user's Speed by 2 stages. If the user's Speed was changed, the user's weight is reduced by 100kg as long as it remains active. This effect is stackable but cannot reduce the user's weight to less than 0.1kg.", shortDesc: "Boosts the user's Speed by 2; user loses 100kg.", @@ -629,8 +655,8 @@ exports.BattleMovedex = { num: 419, accuracy: 100, basePower: 60, - basePowerCallback: function(pokemon, source) { - if (source.lastDamage > 0 && pokemon.lastAttackedBy && pokemon.lastAttackedBy.thisTurn) { + basePowerCallback: function(pokemon, target) { + if (target.lastDamage > 0 && pokemon.lastAttackedBy && pokemon.lastAttackedBy.thisTurn) { this.debug('Boosted for getting hit by '+pokemon.lastAttackedBy.move); return 120; } @@ -705,10 +731,11 @@ exports.BattleMovedex = { "beatup": { num: 251, accuracy: 100, - basePower: false, + basePower: 0, basePowerCallback: function(pokemon, target) { pokemon.addVolatile('beatup'); - return 5 + Math.floor(pokemon.side.pokemon[pokemon.volatiles.beatup.index].baseStats.atk / 10); + if (!pokemon.side.pokemon[pokemon.volatiles.beatup.index]) return null; + return 5 + Math.floor(pokemon.side.pokemon[pokemon.volatiles.beatup.index].template.baseStats.atk / 10); }, category: "Physical", desc: "Deals damage to one adjacent target and hits one time for the user and one time for each unfainted Pokemon without a major status problem in the user's party. The power of each hit is equal to 5+(X/10), where X is each participating Pokemon's base Attack; each hit is considered to come from the user.", @@ -717,14 +744,7 @@ exports.BattleMovedex = { name: "Beat Up", pp: 10, priority: 0, - onModifyMove: function(move, pokemon) { - var validpokemon = 1; - for (var p in pokemon.side.pokemon) { - if (pokemon.side.pokemon[p] === pokemon) continue; - if (pokemon.side.pokemon[p] && !pokemon.side.pokemon[p].fainted && !pokemon.side.pokemon[p].status) validpokemon++; - } - move.multihit = validpokemon; - }, + multihit: 6, effect: { duration: 1, onStart: function(pokemon) { @@ -777,7 +797,7 @@ exports.BattleMovedex = { "bestow": { num: 516, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "Causes one adjacent target to receive the user's held item. Fails if the target is already holding an item or if the user is holding a Mail.", shortDesc: "User passes its held item to the target.", @@ -797,7 +817,7 @@ exports.BattleMovedex = { source.item = yourItem; return false; } - this.add('-item',target,yourItem.name,'[from] move: Bestow'); + this.add('-item', target, yourItem.name, '[from] move: Bestow', '[of] '+source); }, secondary: false, target: "normal", @@ -806,7 +826,7 @@ exports.BattleMovedex = { "bide": { num: 117, accuracy: true, - basePower: false, + basePower: 0, category: "Physical", desc: "The user spends two turns locked into this move and then, on the second turn after using this move, the user attacks the last Pokemon that hit it, inflicting double the damage in HP it lost during the two turns. If the last Pokemon that hit it is no longer on the field, the user attacks a random foe instead. If the user is prevented from moving during this move's use, the effect ends. This move does not check accuracy and can hit Ghost-types. Makes contact. Priority +1.", shortDesc: "Waits 2 turns; deals double the damage taken.", @@ -1103,7 +1123,7 @@ exports.BattleMovedex = { return; } this.add('-prepare', attacker, move.name, defender); - if (!this.runEvent('ChargeMove', attacker, defender)) { + if (!this.runEvent('ChargeMove', attacker, defender, move)) { this.add('-anim', attacker, move.name, defender); return; } @@ -1390,15 +1410,9 @@ exports.BattleMovedex = { pp: 20, priority: 0, isSnatchable: true, - volatileStatus: 'camouflage', - effect: { - noCopy: true, - onStart: function(pokemon) { - this.add('-start', pokemon, 'typechange', 'Ground'); - }, - onModifyPokemon: function(pokemon) { - pokemon.types = ['Ground']; - } + onHit: function(target) { + this.add('-start', target, 'typechange', 'Ground'); + target.types = ['Ground']; }, secondary: false, target: "self", @@ -1624,7 +1638,7 @@ exports.BattleMovedex = { "coil": { num: 489, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "Raises the user's Attack, Defense, and accuracy by 1 stage.", shortDesc: "Boosts user's Attack, Defense, and accuracy by 1.", @@ -1729,40 +1743,20 @@ exports.BattleMovedex = { pp: 30, priority: 0, isSnatchable: true, - volatileStatus: 'conversion', - effect: { - noCopy: true, - onStart: function(pokemon) { - var possibleTypes = pokemon.moveset.map(function(val){ - var move = this.getMove(val.id); - if (move.id !== 'conversion' && !pokemon.hasType(move.type)) { - return move.type; - } - }, this).compact(); - if (!possibleTypes.length) { - this.add('-fail', pokemon); - return false; + onHit: function(target) { + var possibleTypes = target.moveset.map(function(val){ + var move = this.getMove(val.id); + if (move.id !== 'conversion' && !target.hasType(move.type)) { + return move.type; } - this.effectData.type = possibleTypes[this.random(possibleTypes.length)]; - this.add('-start', pokemon, 'typechange', this.effectData.type); - }, - onRestart: function(pokemon) { - var possibleTypes = pokemon.moveset.map(function(val){ - var move = this.getMove(val.id); - if (move.id !== 'conversion' && !pokemon.hasType(move.type)) { - return move.type; - } - }, this).compact(); - if (!possibleTypes.length) { - this.add('-fail', pokemon); - return false; - } - this.effectData.type = possibleTypes[this.random(possibleTypes.length)]; - this.add('-start', pokemon, 'typechange', this.effectData.type); - }, - onModifyPokemon: function(pokemon) { - pokemon.types = [this.effectData.type]; + }, this).compact(); + if (!possibleTypes.length) { + this.add('-fail', target); + return false; } + var type = possibleTypes[this.random(possibleTypes.length)]; + this.add('-start', target, 'typechange', type); + target.types = [type]; }, secondary: false, target: "self", @@ -1780,56 +1774,27 @@ exports.BattleMovedex = { pp: 30, priority: 0, isNotProtectable: true, - onTryHit: function(target, source) { - source.addVolatile("conversion2", target); - }, - effect: { - noCopy: true, - onStart: function(pokemon, target, move) { - if (!target.lastMove) { - this.add('-fail', pokemon); - return false; - } - var possibleTypes = []; - var attackType = this.getMove(target.lastMove).type; - for (var type in this.data.TypeChart) { - if (pokemon.hasType(type) || target.hasType(type)) continue; - var typeCheck = this.data.TypeChart[type].damageTaken[attackType]; - if (typeCheck === 2 || typeCheck === 3) { - possibleTypes.push(type); - } - } - if (!possibleTypes.length) { - this.add('-fail', pokemon); - return false; - } - this.effectData.type = possibleTypes[this.random(possibleTypes.length)]; - this.add('-start', pokemon, 'typechange', this.effectData.type); - }, - onRestart: function(pokemon, target, move) { - if (!target.lastMove) { - this.add('-fail', pokemon); - return false; - } - var possibleTypes = []; - var attackType = this.getMove(target.lastMove).type; - for (var type in this.data.TypeChart) { - if (pokemon.hasType(type) || target.hasType(type)) continue; - var typeCheck = this.data.TypeChart[type].damageTaken[attackType]; - if (typeCheck === 2 || typeCheck === 3) { - possibleTypes.push(type); - } - } - if (!possibleTypes.length) { - this.add('-fail', pokemon); - return false; - } - this.effectData.type = possibleTypes[this.random(possibleTypes.length)]; - this.add('-start', pokemon, 'typechange', this.effectData.type); - }, - onModifyPokemon: function(pokemon) { - pokemon.types = [this.effectData.type]; + onHit: function(target, source) { + if (!target.lastMove) { + this.add('-fail', source); + return false; } + var possibleTypes = []; + var attackType = this.getMove(target.lastMove).type; + for (var type in this.data.TypeChart) { + if (source.hasType(type) || target.hasType(type)) continue; + var typeCheck = this.data.TypeChart[type].damageTaken[attackType]; + if (typeCheck === 2 || typeCheck === 3) { + possibleTypes.push(type); + } + } + if (!possibleTypes.length) { + this.add('-fail', source); + return false; + } + var type = possibleTypes[this.random(possibleTypes.length)]; + this.add('-start', source, 'typechange', type); + source.types = [type]; }, secondary: false, target: "normal", @@ -1882,7 +1847,7 @@ exports.BattleMovedex = { "cottonguard": { num: 538, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "Raises the user's Defense by 3 stages.", shortDesc: "Boosts the user's Defense by 3.", @@ -1913,7 +1878,6 @@ exports.BattleMovedex = { boosts: { spe: -2 }, - affectedByImmunities: true, secondary: false, target: "normal", type: "Grass" @@ -1921,9 +1885,9 @@ exports.BattleMovedex = { "counter": { num: 68, accuracy: 100, - basePower: false, + basePower: 0, damageCallback: function(pokemon) { - if (pokemon.lastAttackedBy && pokemon.lastAttackedBy.thisTurn && this.getMove(pokemon.lastAttackedBy.move).category === 'Physical') { + if (pokemon.lastAttackedBy && pokemon.lastAttackedBy.thisTurn && this.getCategory(pokemon.lastAttackedBy.move) === 'Physical') { return 2 * pokemon.lastAttackedBy.damage; } this.add('-fail',pokemon.id); @@ -2075,7 +2039,7 @@ exports.BattleMovedex = { "crushgrip": { num: 462, accuracy: 100, - basePower: false, + basePower: 0, basePowerCallback: function(pokemon, target) { return 120*target.hp/target.maxhp; }, @@ -2327,7 +2291,7 @@ exports.BattleMovedex = { return; } this.add('-prepare', attacker, move.name, defender); - if (!this.runEvent('ChargeMove', attacker, defender)) { + if (!this.runEvent('ChargeMove', attacker, defender, move)) { this.add('-anim', attacker, move.name, defender); return; } @@ -2456,7 +2420,7 @@ exports.BattleMovedex = { return; } this.add('-prepare', attacker, move.name, defender); - if (!this.runEvent('ChargeMove', attacker, defender)) { + if (!this.runEvent('ChargeMove', attacker, defender, move)) { this.add('-anim', attacker, move.name, defender); return; } @@ -2725,7 +2689,7 @@ exports.BattleMovedex = { "dragonrage": { num: 82, accuracy: 100, - basePower: false, + basePower: 0, damage: 40, category: "Special", desc: "Deals damage to one adjacent target equal to 40HP.", @@ -2983,7 +2947,7 @@ exports.BattleMovedex = { "electroball": { num: 486, accuracy: 100, - basePower: false, + basePower: 0, basePowerCallback: function(pokemon, target) { var ratio = (pokemon.getStat('spe') / target.getStat('spe')); if (ratio >= 4) { @@ -3054,6 +3018,7 @@ exports.BattleMovedex = { onEnd: function(pokemon) { this.add('-end', pokemon, 'Embargo'); }, + onModifyPokemonPriority: 1, onModifyPokemon: function(pokemon) { pokemon.ignore['Item'] = true; } @@ -3132,16 +3097,6 @@ exports.BattleMovedex = { pokemon.moveset[i].disabled = true; } } - }, - onBeforeTurn: function(pokemon) { - if (!this.effectData.move) { - // ??? - return; - } - var decision = this.willMove(pokemon); - if (decision && toId(decision.move) !== this.effectData.move) { - this.changeDecision(pokemon, {move:this.effectData.move}); - } } }, secondary: false, @@ -3151,11 +3106,12 @@ exports.BattleMovedex = { "endeavor": { num: 283, accuracy: 100, - basePower: false, + basePower: 0, damageCallback: function(pokemon,target) { if (target.hp > pokemon.hp) { return target.hp - pokemon.hp; } + this.add('-immune', target, '[msg]'); return false; }, category: "Physical", @@ -3230,9 +3186,9 @@ exports.BattleMovedex = { "entrainment": { num: 494, accuracy: 100, - basePower: false, + basePower: 0, category: "Status", - desc: "Causes one adjacent target's Ability to become the same as the user's. Fails if the target's Ability is Multitype, Truant, or the same Ability as the user, or if the user's Ability is Flower Gift, Forecast, Illusion, Imposter, Multitype, Trace, Wonder Guard, or Zen Mode. Pokemon protected by Magic Coat or the Ability Magic Bounce are unaffected and instead use this move themselves.", + desc: "Causes one adjacent target's Ability to become the same as the user's. Fails if the target's Ability is Multitype, Truant, or the same Ability as the user, or if the user's Ability is Flower Gift, Forecast, Illusion, Imposter, Multitype, Trace, or Zen Mode. Pokemon protected by Magic Coat or the Ability Magic Bounce are unaffected and instead use this move themselves.", shortDesc: "The target's Ability changes to match the user's.", id: "entrainment", name: "Entrainment", @@ -3242,7 +3198,7 @@ exports.BattleMovedex = { onTryHit: function(target, source) { if (target === source) return false; var bannedTargetAbilities = {multitype:1, truant:1}; - var bannedSourceAbilities = {flowergift:1, forecast:1, illusion:1, imposter:1, multitype:1, trace:1, wonderguard:1, zenmode:1}; + var bannedSourceAbilities = {flowergift:1, forecast:1, illusion:1, imposter:1, multitype:1, trace:1, zenmode:1}; if (bannedTargetAbilities[target.ability] || bannedSourceAbilities[source.ability] || target.ability === source.ability) { return false; } @@ -3261,7 +3217,7 @@ exports.BattleMovedex = { "eruption": { num: 284, accuracy: 100, - basePower: false, + basePower: 150, basePowerCallback: function(pokemon) { return 150*pokemon.hp/pokemon.maxhp; }, @@ -3498,7 +3454,7 @@ exports.BattleMovedex = { "finalgambit": { num: 515, accuracy: 100, - basePower: false, + basePower: 0, damageCallback: function(pokemon) { return pokemon.hp; }, @@ -3564,6 +3520,7 @@ exports.BattleMovedex = { basePower: 50, basePowerCallback: function(target, source, move) { if (move.sourceEffect in {grasspledge:1, waterpledge:1}) { + this.add('-combine'); this.debug('triple damage'); return 150; } @@ -3582,6 +3539,7 @@ exports.BattleMovedex = { if (!decision.pokemon || !decision.move) continue; if (decision.pokemon.side === source.side && decision.move.id in {grasspledge:1, waterpledge:1}) { this.prioritizeQueue(decision); + this.add('-waiting', source, decision.pokemon); return null; } } @@ -3655,7 +3613,7 @@ exports.BattleMovedex = { "fissure": { num: 90, accuracy: 30, - basePower: false, + basePower: 0, category: "Physical", desc: "Deals damage to one adjacent target equal to the target's max HP. Ignores accuracy and evasion modifiers. This attack's accuracy is equal to (user's level - target's level + 30)%, and fails if the target is at a higher level. Pokemon with the Ability Sturdy are immune.", shortDesc: "OHKOs the target. Fails if user is a lower level.", @@ -3671,7 +3629,7 @@ exports.BattleMovedex = { "flail": { num: 175, accuracy: 100, - basePower: false, + basePower: 0, basePowerCallback: function(pokemon, target) { var hpPercent = pokemon.hpPercent(pokemon.hp); if (hpPercent <= 5) { @@ -3876,7 +3834,7 @@ exports.BattleMovedex = { "fling": { num: 374, accuracy: 100, - basePower: false, + basePower: 0, category: "Physical", desc: "Deals damage to one adjacent target. The power of this move is based on the user's held item. The held item is lost and it activates for the target if applicable. If there is no target or the target avoids this move using Protect or Detect, the user's held item is still lost. Fails if the user has no held item, if the held item cannot be thrown, if the user is under the effect of Embargo or Magic Room, or if the user has the Ability Klutz.", shortDesc: "Flings the user's item at the target. Power varies.", @@ -3944,7 +3902,7 @@ exports.BattleMovedex = { return; } this.add('-prepare', attacker, move.name, defender); - if (!this.runEvent('ChargeMove', attacker, defender)) { + if (!this.runEvent('ChargeMove', attacker, defender, move)) { this.add('-anim', attacker, move.name, defender); return; } @@ -4165,7 +4123,7 @@ exports.BattleMovedex = { return; } this.add('-prepare', attacker, move.name, defender); - if (!this.runEvent('ChargeMove', attacker, defender)) { + if (!this.runEvent('ChargeMove', attacker, defender, move)) { this.add('-anim', attacker, move.name, defender); return; } @@ -4221,7 +4179,7 @@ exports.BattleMovedex = { "frustration": { num: 218, accuracy: 100, - basePower: false, + basePower: 0, basePowerCallback: function(pokemon) { return Math.floor(((255 - pokemon.happiness) * 10) / 25) || 1; }, @@ -4316,7 +4274,7 @@ exports.BattleMovedex = { basePowerCallback: function(pokemon) { var actives = pokemon.side.active; for (var i=0; i= 200) { this.debug('120 bp'); @@ -4563,6 +4523,7 @@ exports.BattleMovedex = { basePower: 50, basePowerCallback: function(target, source, move) { if (move.sourceEffect in {waterpledge:1, firepledge:1}) { + this.add('-combine'); this.debug('triple damage'); return 150; } @@ -4581,6 +4542,7 @@ exports.BattleMovedex = { if (!decision.pokemon || !decision.move) continue; if (decision.pokemon.side === source.side && decision.move.id in {waterpledge:1, firepledge:1}) { this.prioritizeQueue(decision); + this.add('-waiting', source, decision.pokemon); return null; } } @@ -4627,7 +4589,6 @@ exports.BattleMovedex = { priority: 0, isSoundBased: true, status: 'slp', - affectedByImmunities: true, secondary: false, target: "normal", type: "Grass" @@ -4656,16 +4617,37 @@ exports.BattleMovedex = { onStart: function() { this.add('-fieldstart', 'move: Gravity'); }, + onAccuracy: function(accuracy) { + if (typeof accuracy !== 'number') return; + return accuracy * 5/3; + }, + onModifyPokemonPriority: 100, onModifyPokemon: function(pokemon) { pokemon.negateImmunity['Ground'] = true; - pokemon.boosts.evasion -= 2; var disabledMoves = {bounce:1, fly:1, hijumpkick:1, jumpkick:1, magnetrise:1, skydrop:1, splash:1, telekinesis:1}; for (var m in disabledMoves) { pokemon.disabledMoves[m] = true; } - if (pokemon.volatiles['bounce'] || pokemon.volatiles['fly'] || pokemon.volatiles['skydrop']) { - pokemon.removeVolatile('twoturnmove'); - this.add('-activate', pokemon, 'Gravity'); + var applies = false; + if (pokemon.removeVolatile('bounce') || pokemon.removeVolatile('fly') || pokemon.removeVolatile('skydrop')) { + applies = true; + this.cancelMove(pokemon); + } + if (pokemon.volatiles['magnetrise']) { + applies = true; + delete pokemon.volatiles['magnetrise']; + } + if (pokemon.volatiles['telekinesis']) { + applies = true; + delete pokemon.volatiles['telekinesis']; + } + if (applies) this.add('-activate', pokemon, 'Gravity'); + }, + onBeforeMove: function(pokemon, target, move) { + var disabledMoves = {bounce:1, fly:1, hijumpkick:1, jumpkick:1, magnetrise:1, skydrop:1, splash:1, telekinesis:1}; + if (disabledMoves[move.id]) { + this.add('cant', pokemon, 'move: Gravity', move); + return false; } }, onResidualOrder: 22, @@ -4761,7 +4743,7 @@ exports.BattleMovedex = { "guardsplit": { num: 470, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "The user and one adjacent target have their Defense and Special Defense stats set to be equal to the average of the user and the target's Defense and Special Defense stats, respectively, rounded down. Stat stage changes are unaffected.", shortDesc: "Averages Defense and Sp. Def stats with target.", @@ -4770,34 +4752,14 @@ exports.BattleMovedex = { pp: 10, priority: 0, onHit: function(target, source) { - if (!target.volatiles.guardsplit) { - target.addVolatile('guardsplit'); - target.volatiles.guardsplit.def = target.getStat('def', true, true); - target.volatiles.guardsplit.spd = target.getStat('spd', true, true); - } - if (!source.volatiles.guardsplit) { - source.addVolatile('guardsplit'); - source.volatiles.guardsplit.def = source.getStat('def', true, true); - source.volatiles.guardsplit.spd = source.getStat('spd', true, true); - } - var newdef = Math.floor((target.volatiles.guardsplit.def + source.volatiles.guardsplit.def)/2); - target.volatiles.guardsplit.def = newdef; - source.volatiles.guardsplit.def = newdef; - var newspd = Math.floor((target.volatiles.guardsplit.spd + source.volatiles.guardsplit.spd)/2); - target.volatiles.guardsplit.spd = newspd; - source.volatiles.guardsplit.spd = newspd; + var newdef = Math.floor((target.stats.def + source.stats.def)/2); + target.stats.def = newdef; + source.stats.def = newdef; + var newspd = Math.floor((target.stats.spd + source.stats.spd)/2); + target.stats.spd = newspd; + source.stats.spd = newspd; this.add('-activate', source, 'Guard Split', '[of] '+target); }, - effect: { - onModifyDefPriority: 100, - onModifyDef: function() { - return this.effectData.def; - }, - onModifySpDPriority: 100, - onModifySpD: function() { - return this.effectData.spd; - } - }, secondary: false, target: "normal", type: "Psychic" @@ -4818,14 +4780,14 @@ exports.BattleMovedex = { var sourceBoosts = {}; for (var i in {def:1,spd:1}) { - targetBoosts[i] = target.baseBoosts[i]; - sourceBoosts[i] = source.baseBoosts[i]; + targetBoosts[i] = target.boosts[i]; + sourceBoosts[i] = source.boosts[i]; } source.setBoost(targetBoosts); target.setBoost(sourceBoosts); - this.add('-swapboost', target, source, 'def, spd', '[from] move: Guard Swap'); + this.add('-swapboost', source, target, 'def, spd', '[from] move: Guard Swap'); }, secondary: false, target: "normal", @@ -4834,7 +4796,7 @@ exports.BattleMovedex = { "guillotine": { num: 12, accuracy: 30, - basePower: false, + basePower: 0, category: "Physical", desc: "Deals damage to one adjacent target equal to the target's maximum HP. Ignores accuracy and evasion modifiers. This attack's accuracy is equal to (user's level - target's level + 30)%, and fails if the target is at a higher level. Pokemon with the Ability Sturdy are immune. Makes contact.", shortDesc: "OHKOs the target. Fails if user is a lower level.", @@ -4885,7 +4847,7 @@ exports.BattleMovedex = { "gyroball": { num: 360, accuracy: 100, - basePower: false, + basePower: 0, basePowerCallback: function(pokemon, target) { var power = (Math.floor(25 * target.getStat('spe') / pokemon.getStat('spe')) || 1); if (power > 150) power = 150; @@ -5122,7 +5084,7 @@ exports.BattleMovedex = { "healpulse": { num: 505, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "Causes one adjacent or non-adjacent target to gain 1/2 of its maximum HP, rounded half up. Pokemon protected by Magic Coat or the Ability Magic Bounce are unaffected and instead use this move themselves.", shortDesc: "Heals the target by 50% of its max HP.", @@ -5211,15 +5173,15 @@ exports.BattleMovedex = { var targetBoosts = {}; var sourceBoosts = {}; - for (var i in target.baseBoosts) { - targetBoosts[i] = target.baseBoosts[i]; - sourceBoosts[i] = source.baseBoosts[i]; + for (var i in target.boosts) { + targetBoosts[i] = target.boosts[i]; + sourceBoosts[i] = source.boosts[i]; } target.setBoost(sourceBoosts); source.setBoost(targetBoosts); - this.add('-swapboost', target, source, '[from] move: Heart Swap'); + this.add('-swapboost', source, target, '[from] move: Heart Swap'); }, secondary: false, target: "normal", @@ -5228,7 +5190,7 @@ exports.BattleMovedex = { "heatcrash": { num: 535, accuracy: 100, - basePower: false, + basePower: 0, basePowerCallback: function(pokemon, target) { var targetWeight = target.weightkg; var pokemonWeight = pokemon.weightkg; @@ -5281,7 +5243,7 @@ exports.BattleMovedex = { "heavyslam": { num: 484, accuracy: 100, - basePower: false, + basePower: 0, basePowerCallback: function(pokemon, target) { var targetWeight = target.weightkg; var pokemonWeight = pokemon.weightkg; @@ -5376,7 +5338,7 @@ exports.BattleMovedex = { isContact: true, hasCustomRecoil: true, onMoveFail: function(target, source, move) { - this.damage(source.maxhp/2, source, source, {id:'hijumpkick'}); + this.damage(source.maxhp/2, source, source, 'hijumpkick'); }, secondary: false, target: "normal", @@ -5636,7 +5598,7 @@ exports.BattleMovedex = { "honeclaws": { num: 468, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "Raises the user's Attack and accuracy by 1 stage.", shortDesc: "Boosts the user's Attack and accuracy by 1.", @@ -5673,7 +5635,7 @@ exports.BattleMovedex = { "horndrill": { num: 32, accuracy: 30, - basePower: false, + basePower: 0, category: "Physical", desc: "Deals damage to one adjacent target equal to the target's maximum HP. Ignores accuracy and evasion modifiers. This attack's accuracy is equal to (user's level - target's level + 30)%, and fails if the target is at a higher level. Pokemon with the Ability Sturdy are immune. Makes contact.", shortDesc: "OHKOs the target. Fails if user is a lower level.", @@ -5943,7 +5905,7 @@ exports.BattleMovedex = { return; } this.add('-prepare', attacker, move.name, defender); - if (!this.runEvent('ChargeMove', attacker, defender)) { + if (!this.runEvent('ChargeMove', attacker, defender, move)) { this.add('-anim', attacker, move.name, defender); return; } @@ -6178,7 +6140,10 @@ exports.BattleMovedex = { pokemon.negateImmunity['Ground'] = true; pokemon.trapped = true; }, - onDragOut: false + onDragOut: function(pokemon) { + this.add('-activate', pokemon, 'move: Ingrain'); + return false; + } }, secondary: false, target: "self", @@ -6280,7 +6245,7 @@ exports.BattleMovedex = { isContact: true, hasCustomRecoil: true, onMoveFail: function(target, source, move) { - this.damage(source.maxhp/2, source, source, {id:'jumpkick'}); + this.damage(source.maxhp/2, source, source, 'jumpkick'); }, secondary: false, target: "normal", @@ -6481,7 +6446,6 @@ exports.BattleMovedex = { priority: 0, isBounceable: true, volatileStatus: 'leechseed', - affectedByImmunities: true, effect: { onStart: function(target) { this.add('-start', target, 'move: Leech Seed'); @@ -6569,7 +6533,7 @@ exports.BattleMovedex = { return 5; }, onFoeBasePower: function(basePower, attacker, defender, move) { - if (move.category === 'Special' && defender.side === this.effectData.target) { + if (this.getCategory(move) === 'Special' && defender.side === this.effectData.target) { if (!move.crit && attacker.ability !== 'infiltrator') { this.debug('Light Screen weaken') if (attacker.side.active.length > 1) return basePower*2/3; @@ -6633,7 +6597,7 @@ exports.BattleMovedex = { "lowkick": { num: 67, accuracy: 100, - basePower: false, + basePower: 0, basePowerCallback: function(pokemon, target) { var targetWeight = target.weightkg; if (target.weightkg >= 200) { @@ -6843,7 +6807,7 @@ exports.BattleMovedex = { "magicroom": { num: 478, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "For 5 turns, the held items of all active Pokemon have no effect. During the effect, Fling and Natural Gift are prevented from being used by all active Pokemon. If this move is used during the effect, the effect ends. Priority -7.", shortDesc: "For 5 turns, all held items have no effect.", @@ -6851,7 +6815,7 @@ exports.BattleMovedex = { name: "Magic Room", pp: 10, priority: -7, - onFieldHit: function(target, source, effect) { + onHitField: function(target, source, effect) { if (this.pseudoWeather['magicroom']) { this.removePseudoWeather('magicroom', source, effect, '[of] '+source); } else { @@ -6870,7 +6834,7 @@ exports.BattleMovedex = { onStart: function(target, source) { this.add('-fieldstart', 'move: Magic Room', '[of] '+source); }, - onModifyPokemonPriority: -100, + onModifyPokemonPriority: 1, onModifyPokemon: function(pokemon) { pokemon.ignore['Item'] = true; }, @@ -6880,7 +6844,7 @@ exports.BattleMovedex = { } }, secondary: false, - target: "normal", + target: "all", type: "Psychic" }, "magicalleaf": { @@ -6965,7 +6929,7 @@ exports.BattleMovedex = { "magnitude": { num: 222, accuracy: 100, - basePower: false, + basePower: 0, basePowerCallback: function(pokemon) { var i = this.random(100); if (i < 5) { @@ -7168,7 +7132,7 @@ exports.BattleMovedex = { "metalburst": { num: 368, accuracy: 100, - basePower: false, + basePower: 0, damageCallback: function(pokemon) { if (pokemon.lastAttackedBy && pokemon.lastAttackedBy.thisTurn) { return 1.5 * pokemon.lastAttackedBy.damage; @@ -7407,9 +7371,9 @@ exports.BattleMovedex = { "mirrorcoat": { num: 243, accuracy: 100, - basePower: false, + basePower: 0, damageCallback: function(pokemon) { - if (pokemon.lastAttackedBy && pokemon.lastAttackedBy.thisTurn && this.getMove(pokemon.lastAttackedBy.move).category === 'Special') { + if (pokemon.lastAttackedBy && pokemon.lastAttackedBy.thisTurn && this.getCategory(pokemon.lastAttackedBy.move) === 'Special') { return 2 * pokemon.lastAttackedBy.damage; } this.add('-fail', pokemon); @@ -7635,7 +7599,7 @@ exports.BattleMovedex = { }, "mudsport": { num: 300, - accuracy: 100, + accuracy: true, basePower: 0, category: "Status", desc: "Until the user is no longer active, all Electric-type attacks used by any active Pokemon have their power reduced to 0.33x. Fails if this move is already in effect; not stackable.", @@ -7705,7 +7669,7 @@ exports.BattleMovedex = { "naturalgift": { num: 363, accuracy: 100, - basePower: false, + basePower: 0, basePowerCallback: function(pokemon) { if (pokemon.volatiles['naturalgift']) return pokemon.volatiles['naturalgift'].basePower; return false; @@ -7742,7 +7706,7 @@ exports.BattleMovedex = { "naturepower": { num: 267, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "This move calls another move for use depending on the battle terrain. Earthquake in Wi-Fi battles. (In-game: Seed Bomb in grass, Mud Bomb in puddles, Hydro Pump on water, Rock Slide in caves, Earthquake on rocky ground and sand, Blizzard on snow, Ice Beam on ice, and Tri Attack everywhere else.)", shortDesc: "Attack changes based on terrain. (Earthquake)", @@ -7801,7 +7765,7 @@ exports.BattleMovedex = { "nightshade": { num: 101, accuracy: 100, - basePower: false, + basePower: 0, damage: 'level', category: "Special", desc: "Deals damage to one adjacent target equal to the user's level.", @@ -8223,7 +8187,6 @@ exports.BattleMovedex = { pp: 35, priority: 0, status: 'psn', - affectedByImmunities: true, secondary: false, target: "normal", type: "Poison" @@ -8318,7 +8281,7 @@ exports.BattleMovedex = { "powersplit": { num: 471, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "The user and one adjacent target have their Attack and Special Attack stats set to be equal to the average of the user and the target's Attack and Special Attack stats, respectively, rounded down. Stat stage changes are unaffected.", shortDesc: "Averages Attack and Sp. Atk stats with target.", @@ -8327,34 +8290,14 @@ exports.BattleMovedex = { pp: 10, priority: 0, onHit: function(target, source) { - if (!target.volatiles.powersplit) { - target.addVolatile('powersplit'); - target.volatiles.powersplit.atk = target.getStat('atk', true, true); - target.volatiles.powersplit.spa = target.getStat('spa', true, true); - } - if (!source.volatiles.powersplit) { - source.addVolatile('powersplit'); - source.volatiles.powersplit.atk = source.getStat('atk', true, true); - source.volatiles.powersplit.spa = source.getStat('spa', true, true); - } - var newatk = Math.floor((target.volatiles.powersplit.atk + source.volatiles.powersplit.atk)/2); - target.volatiles.powersplit.atk = newatk; - source.volatiles.powersplit.atk = newatk; - var newspa = Math.floor((target.volatiles.powersplit.spa + source.volatiles.powersplit.spa)/2); - target.volatiles.powersplit.spa = newspa; - source.volatiles.powersplit.spa = newspa; + var newatk = Math.floor((target.stats.atk + source.stats.atk)/2); + target.stats.atk = newatk; + source.stats.atk = newatk; + var newspa = Math.floor((target.stats.spa + source.stats.spa)/2); + target.stats.spa = newspa; + source.stats.spa = newspa; this.add('-activate', source, 'Power Split', '[of] '+target); }, - effect: { - onModifyAtkPriority: 100, - onModifyAtk: function() { - return this.effectData.atk; - }, - onModifySpAPriority: 100, - onModifySpA: function() { - return this.effectData.spa; - } - }, secondary: false, target: "normal", type: "Psychic" @@ -8375,14 +8318,14 @@ exports.BattleMovedex = { var sourceBoosts = {}; for (var i in {atk:1,spa:1}) { - targetBoosts[i] = target.baseBoosts[i]; - sourceBoosts[i] = source.baseBoosts[i]; + targetBoosts[i] = target.boosts[i]; + sourceBoosts[i] = source.boosts[i]; } source.setBoost(targetBoosts); target.setBoost(sourceBoosts); - this.add('-swapboost', target, source, 'atk, spa', '[from] move: Power Swap'); + this.add('-swapboost', source, target, 'atk, spa', '[from] move: Power Swap'); }, secondary: false, target: "normal", @@ -8403,23 +8346,28 @@ exports.BattleMovedex = { volatileStatus: 'powertrick', effect: { onStart: function(pokemon) { - this.effectData.atk = pokemon.getStat('def', true, true); - this.effectData.def = pokemon.getStat('atk', true, true); this.add('-start', pokemon, 'Power Trick'); + var newatk = pokemon.stats.def; + var newdef = pokemon.stats.atk; + pokemon.stats.atk = newatk; + pokemon.stats.def = newdef; + }, + onCopy: function(pokemon) { + this.add('-start', pokemon, 'Power Trick'); + var newatk = pokemon.stats.def; + var newdef = pokemon.stats.atk; + pokemon.stats.atk = newatk; + pokemon.stats.def = newdef; }, onEnd: function(pokemon) { this.add('-end', pokemon, 'Power Trick'); + var newatk = pokemon.stats.def; + var newdef = pokemon.stats.atk; + pokemon.stats.atk = newatk; + pokemon.stats.def = newdef; }, onRestart: function(pokemon) { pokemon.removeVolatile('Power Trick'); - }, - onModifyAtkPriority: 100, - onModifyAtk: function() { - return this.effectData.atk; - }, - onModifyDefPriority: 100, - onModifyDef: function() { - return this.effectData.def; } }, secondary: false, @@ -8549,8 +8497,8 @@ exports.BattleMovedex = { isNotProtectable: true, onHit: function(target, source) { var targetBoosts = {}; - for (var i in target.baseBoosts) { - targetBoosts[i] = target.baseBoosts[i]; + for (var i in target.boosts) { + targetBoosts[i] = target.boosts[i]; } source.setBoost(targetBoosts); this.add('-copyboost', source, target, '[from] move: Psych Up'); @@ -8678,7 +8626,7 @@ exports.BattleMovedex = { "psywave": { num: 149, accuracy: 80, - basePower: false, + basePower: 0, damageCallback: function(pokemon) { return (this.random(5,16) / 10) * pokemon.level; }, @@ -8696,13 +8644,13 @@ exports.BattleMovedex = { "punishment": { num: 386, accuracy: 100, - basePower: 60, + basePower: 0, basePowerCallback: function(pokemon, target) { return 60 + 20 * target.positiveBoosts(); }, category: "Physical", desc: "Deals damage to one adjacent target. Power is equal to 60+(X*20), where X is the target's total stat stage changes that are greater than 0, but not more than 200 power. Makes contact.", - shortDesc: "+20 power for each of the target's stat boosts.", + shortDesc: "60 power+20 for each of the target's stat boosts.", id: "punishment", name: "Punishment", pp: 5, @@ -8752,8 +8700,8 @@ exports.BattleMovedex = { this.debug('Pursuit start'); var sources = this.effectData.sources; for (var i=0; i 1) return basePower*2/3; @@ -9117,7 +9084,7 @@ exports.BattleMovedex = { "reflecttype": { num: 513, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "Causes the user's types to become those of one adjacent target. Fails if the user is an Arceus. Ignores a target's Substitute.", shortDesc: "User becomes the same type as the target.", @@ -9126,21 +9093,8 @@ exports.BattleMovedex = { pp: 15, priority: 0, onHit: function(target, source) { - source.addVolatile("reflecttype", target); - }, - effect: { - noCopy: true, - onStart: function(target, source) { - this.effectData.types = source.types; - this.add('-start', target, 'typechange', source.types.join(', '), '[from] move: Reflect Type', '[of] '+source); - }, - onRestart: function(target, source) { - this.effectData.types = source.types; - this.add('-start', target, 'typechange', source.types.join(', '), '[from] move: Reflect Type', '[of] '+source); - }, - onModifyPokemon: function(pokemon) { - pokemon.types = this.effectData.types; - } + this.add('-start', source, 'typechange', target.types.join(', '), '[from] move: Reflect Type', '[of] '+target); + source.types = target.types; }, secondary: false, target: "normal", @@ -9191,12 +9145,11 @@ exports.BattleMovedex = { effect: { duration: 1, onAfterMoveSecondarySelf: function(pokemon, target, move) { - if (pokemon.template.speciesid === 'meloettapirouette' && pokemon.transformInto('Meloetta')) { + if (pokemon.template.speciesid === 'meloettapirouette' && pokemon.formeChange('Meloetta')) { this.add('-formechange', pokemon, 'Meloetta'); - } else if (pokemon.transformInto('Meloetta-Pirouette')) { + } else if (pokemon.formeChange('Meloetta-Pirouette')) { this.add('-formechange', pokemon, 'Meloetta-Pirouette'); } - pokemon.transformed = false; pokemon.removeVolatile('relicsong'); } }, @@ -9247,7 +9200,7 @@ exports.BattleMovedex = { "return": { num: 216, accuracy: 100, - basePower: false, + basePower: 0, basePowerCallback: function(pokemon) { return Math.floor((pokemon.happiness * 10) / 25) || 1; }, @@ -9290,7 +9243,7 @@ exports.BattleMovedex = { "reversal": { num: 179, accuracy: 100, - basePower: false, + basePower: 0, basePowerCallback: function(pokemon, target) { var hpPercent = pokemon.hpPercent(pokemon.hp); if (hpPercent <= 5) { @@ -9628,19 +9581,34 @@ exports.BattleMovedex = { volatileStatus: 'roost', effect: { duration: 1, - onModifyPokemonPriority: 100, - onModifyPokemon: function(pokemon) { + onStart: function(pokemon) { + // This is not how Roost "should" be implemented, but is rather + // a simplification. + + // This implementation has the advantage of not requiring a separate + // event just for Roost, and the only difference would come up in + // Doubles Hackmons. If we ever introduce Doubles Hackmons and + // Color Change Roost becomes popular; I might need to revisit this + // implementation. :P + if (pokemon.hasType('Flying')) { // don't just delete the type; since // the types array may be a pointer to the // types array in the Pokedex. + this.effectData.oldTypes = pokemon.types; if (pokemon.types[0] === 'Flying') { pokemon.types = [pokemon.types[1] || 'Normal']; } else { pokemon.types = [pokemon.types[0]]; } + this.effectData.roostTypeString = pokemon.types.join(','); } //pokemon.negateImmunity['Ground'] = 1; + }, + onEnd: function(pokemon) { + if (this.effectData.roostTypeString === pokemon.types.join(',')) { + pokemon.types = this.effectData.oldTypes; + } } }, secondary: false, @@ -9989,7 +9957,7 @@ exports.BattleMovedex = { "seismictoss": { num: 69, accuracy: 100, - basePower: false, + basePower: 0, damage: 'level', category: "Physical", desc: "Deals damage to one adjacent target equal to the user's level. Makes contact.", @@ -10079,7 +10047,7 @@ exports.BattleMovedex = { return; } this.add('-prepare', attacker, move.name, defender); - if (!this.runEvent('ChargeMove', attacker, defender)) { + if (!this.runEvent('ChargeMove', attacker, defender, move)) { this.add('-anim', attacker, move.name, defender); return; } @@ -10158,7 +10126,7 @@ exports.BattleMovedex = { "sheercold": { num: 329, accuracy: 30, - basePower: false, + basePower: 0, category: "Special", desc: "Deals damage to one adjacent target equal to the target's max HP. Ignores accuracy and evasion modifiers. This attack's accuracy is equal to (user's level - target's level + 30)%, and fails if the target is at a higher level. Pokemon with the Ability Sturdy are immune.", shortDesc: "OHKOs the target. Fails if user is a lower level.", @@ -10174,7 +10142,7 @@ exports.BattleMovedex = { "shellsmash": { num: 504, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "Raises the user's Attack, Special Attack, and Speed by 2 stages. Lowers the user's Defense and Special Defense by 1 stage.", shortDesc: "Boosts Atk, SpA, Spe by 2. Lowers Def, SpD by 1.", @@ -10198,7 +10166,7 @@ exports.BattleMovedex = { "shiftgear": { num: 508, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "Raises the user's Attack by 1 stage and its Speed by 2 stages.", shortDesc: "Boosts the user's Speed by 2 and Attack by 1.", @@ -10279,7 +10247,7 @@ exports.BattleMovedex = { "simplebeam": { num: 493, accuracy: 100, - basePower: false, + basePower: 0, category: "Status", desc: "Causes one adjacent target's Ability to become Simple. Fails if the target's Ability is Multitype, Simple, or Truant. Pokemon protected by Magic Coat or the Ability Magic Bounce are unaffected and instead use this move themselves.", shortDesc: "The target's Ability becomes Simple.", @@ -10408,11 +10376,12 @@ exports.BattleMovedex = { return; } this.add('-prepare', attacker, move.name, defender); - if (!this.runEvent('ChargeMove', attacker, defender)) { + attacker.addVolatile(move.id, defender); + if (!this.runEvent('ChargeMove', attacker, defender, move)) { this.add('-anim', attacker, move.name, defender); + attacker.removeVolatile(move.id); return; } - attacker.addVolatile(move.id, defender); return null; }, effect: { @@ -10443,7 +10412,7 @@ exports.BattleMovedex = { return; } this.add('-prepare', attacker, move.name, defender); - if (!this.runEvent('ChargeMove', attacker, defender)) { + if (!this.runEvent('ChargeMove', attacker, defender, move)) { this.add('-anim', attacker, move.name, defender); return; } @@ -10487,14 +10456,10 @@ exports.BattleMovedex = { return null; } if (defender.volatiles['bounce'] || defender.volatiles['dig'] || defender.volatiles['dive'] || defender.volatiles['fly'] || defender.volatiles['shadowforce']) { - this.add('-miss', attacker); + this.add('-miss', attacker, defender); return null; } this.add('-prepare', attacker, move.name, defender); - if (!this.runEvent('ChargeMove', attacker, defender)) { - this.add('-anim', attacker, move.name, defender); - return; - } attacker.addVolatile(move.id, defender); return null; }, @@ -10516,7 +10481,7 @@ exports.BattleMovedex = { onFoeBeforeMove: function(attacker, defender, move) { if (attacker === this.effectData.source) { this.debug('Sky drop nullifying.'); - this.add('-message', '(Sky Drop prevented a pokemon from moving.)'); + this.add('-message', '(Sky Drop prevented a Pokemon from moving.)'); return null; } }, @@ -10633,7 +10598,6 @@ exports.BattleMovedex = { pp: 15, priority: 0, status: 'slp', - affectedByImmunities: true, secondary: false, target: "normal", type: "Grass" @@ -10748,16 +10712,28 @@ exports.BattleMovedex = { onStart: function(pokemon) { var applies = false; if ((pokemon.hasType('Flying') && !pokemon.volatiles['roost']) || pokemon.ability === 'levitate') applies = true; - if (pokemon.removeVolatile('telekinesis')) applies = true; - if (pokemon.removeVolatile('magnetrise')) applies = true; if (pokemon.removeVolatile('fly') || pokemon.removeVolatile('bounce')) { applies = true; - pokemon.movedThisTurn = true; + this.cancelMove(pokemon); + } + if (pokemon.volatiles['magnetrise']) { + applies = true; + delete pokemon.volatiles['magnetrise']; + } + if (pokemon.volatiles['telekinesis']) { + applies = true; + delete pokemon.volatiles['telekinesis']; } if (!applies) return false; this.add('-start', pokemon, 'Smack Down'); }, - onModifyPokemonPriority: 1, + onRestart: function(pokemon) { + if (pokemon.removeVolatile('fly') || pokemon.removeVolatile('bounce')) { + this.cancelMove(pokemon); + this.add('-start', pokemon, 'Smack Down'); + } + }, + onModifyPokemonPriority: 100, onModifyPokemon: function(pokemon) { pokemon.negateImmunity['Ground'] = true; } @@ -10903,7 +10879,7 @@ exports.BattleMovedex = { "soak": { num: 487, accuracy: 100, - basePower: false, + basePower: 0, category: "Status", desc: "Causes one adjacent target to become a Water-type. Fails if the target is an Arceus. Pokemon protected by Magic Coat or the Ability Magic Bounce are unaffected and instead use this move themselves.", shortDesc: "Changes the target's type to Water.", @@ -10912,17 +10888,10 @@ exports.BattleMovedex = { pp: 20, priority: 0, isBounceable: true, - volatileStatus: 'soak', - effect: { - noCopy: true, - onStart: function(pokemon) { - this.add('-start', pokemon, 'typechange', 'Water'); - }, - onModifyPokemon: function(pokemon) { - pokemon.types = ['Water']; - } + onHit: function(target) { + this.add('-start', target, 'typechange', 'Water'); + target.types = ['Water']; }, - affectedByImmunities: true, secondary: false, target: "normal", type: "Water" @@ -10970,7 +10939,7 @@ exports.BattleMovedex = { return; } this.add('-prepare', attacker, move.name, defender); - if (this.isWeather('sunnyday') || !this.runEvent('ChargeMove', attacker, defender)) { + if (this.isWeather('sunnyday') || !this.runEvent('ChargeMove', attacker, defender, move)) { this.add('-anim', attacker, move.name, defender); return; } @@ -10988,7 +10957,7 @@ exports.BattleMovedex = { "sonicboom": { num: 49, accuracy: 90, - basePower: false, + basePower: 0, damage: 20, category: "Special", desc: "Deals damage to one adjacent target equal to 20HP.", @@ -11114,20 +11083,25 @@ exports.BattleMovedex = { "spitup": { num: 255, accuracy: 100, - basePower: false, + basePower: 0, basePowerCallback: function(pokemon) { if (!pokemon.volatiles['stockpile'] || !pokemon.volatiles['stockpile'].layers) return false; return pokemon.volatiles['stockpile'].layers * 100; }, category: "Special", - desc: "Deals damage to one adjacent target. Power is equal to 100 times the user's Stockpile count. Fails if the user's Stockpile count is 0. After dealing damage, the user's Defense and Special Defense decrease by as many stages as Stockpile had increased them, and the user's Stockpile count resets to 0.", + desc: "Deals damage to one adjacent target. Power is equal to 100 times the user's Stockpile count. Fails if the user's Stockpile count is 0. Whether or not this move is successful, the user's Defense and Special Defense decrease by as many stages as Stockpile had increased them, and the user's Stockpile count resets to 0.", shortDesc: "More power with more uses of Stockpile.", id: "spitup", name: "Spit Up", pp: 10, priority: 0, - onTryHit: function(target, pokemon) { - if (!pokemon.volatiles['stockpile'] || !pokemon.volatiles['stockpile'].layers) return false; + onTry: function(pokemon) { + if (!pokemon.volatiles['stockpile']) { + this.add('-fail', pokemon); + return false; + } + }, + onAfterMove: function(pokemon) { pokemon.removeVolatile('stockpile'); }, secondary: false, @@ -11189,7 +11163,6 @@ exports.BattleMovedex = { pp: 15, priority: 0, status: 'slp', - affectedByImmunities: true, secondary: false, target: "normal", type: "Grass" @@ -11270,20 +11243,21 @@ exports.BattleMovedex = { effect: { onStart: function(target) { this.effectData.layers = 1; - this.add('-start',target,'stockpile'+this.effectData.layers); - this.boost({def:1, spd:1}); + this.add('-start', target, 'stockpile'+this.effectData.layers); + this.boost({def:1, spd:1}, target, target, this.getMove('stockpile')); }, onRestart: function(target) { if (this.effectData.layers < 3) { this.effectData.layers++; - this.add('-start',target,'stockpile'+this.effectData.layers); - this.boost({def:1, spd:1}); + this.add('-start', target, 'stockpile'+this.effectData.layers); + this.boost({def:1, spd:1}, target, target, this.getMove('stockpile')); } }, onEnd: function(target) { var layers = this.effectData.layers * -1; this.effectData.layers = 0; - this.boost({def:layers, spd:layers}); + this.boost({def:layers, spd:layers}, target, target, this.getMove('stockpile')); + this.add('-end', target, 'Stockpile'); } }, secondary: false, @@ -11485,7 +11459,6 @@ exports.BattleMovedex = { pp: 30, priority: 0, status: 'par', - affectedByImmunities: true, secondary: false, target: "normal", type: "Grass" @@ -11633,7 +11606,7 @@ exports.BattleMovedex = { "superfang": { num: 162, accuracy: 90, - basePower: false, + basePower: 0, damageCallback: function(pokemon, target) { return target.hp/2; }, @@ -12103,7 +12076,7 @@ exports.BattleMovedex = { "telekinesis": { num: 477, accuracy: true, - basePower: false, + basePower: 0, category: "Status", desc: "For 3 turns, one adjacent target cannot avoid any attacks made against it, other than OHKO moves, as long as it remains active. During the effect, the target is immune to Ground-type attacks and the effects of Spikes, Toxic Spikes, and the Ability Arena Trap as long as it remains active. If the target uses Baton Pass, the replacement will gain the effect. Ingrain, Smack Down, and Iron Ball override this move if the target is under any of their effects. Fails if the target is already under this effect or the effects of Ingrain or Smack Down. Pokemon protected by Magic Coat or the Ability Magic Bounce are unaffected and instead use this move themselves. This move cannot be used while Gravity is in effect.", shortDesc: "For 3 turns, target floats but moves can't miss it.", @@ -12384,7 +12357,6 @@ exports.BattleMovedex = { pp: 10, priority: 0, status: 'tox', - affectedByImmunities: true, secondary: false, target: "normal", type: "Poison" @@ -12593,7 +12565,7 @@ exports.BattleMovedex = { "trumpcard": { num: 376, accuracy: true, - basePower: false, + basePower: 0, basePowerCallback: function(pokemon) { var move = pokemon.getMoveData(pokemon.lastMove); // Account for calling Trump Card via other moves switch (move.pp) { @@ -12689,6 +12661,57 @@ exports.BattleMovedex = { pp: 10, priority: 0, isSoundBased: true, + self: { + volatileStatus: 'uproar' + }, + onTryHit: function(target) { + for (var i=0; i