Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- name: "Choonmons δ",
- desc: ["Choonmons is a pet mod created by Choon. Yup.<br>• <a href=\"http://www.smogon.com/forums/threads/3546063/\">Choonmons Thread</a>"],
- section: "Choon-Approved Metagames",
- mod: 'choonmons',
- ruleset: ['Pokemon', 'Sleep Clause Mod', 'Species Clause', 'Moody Clause', 'Evasion Moves Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview', 'Swagger Clause', 'Baton Pass Clause'],
- banlist: ['Uber', 'Soul Dew', 'Lucarionite', 'Mawilite', 'Salamencite'],
- onSwitchIn: function (pokemon) {
- let changed = {'Venusaur-Mega-X':true, 'Blastoise':true, 'Butterfree':true, 'Pikachu':true, 'Raichu':true, 'Golduck':true, 'Happiny':true, 'Blissey':true, 'Gyarados':true, 'Aerodactyl':true, 'Feraligatr-Mega':true, 'Sceptile':true};
- let bt = pokemon.baseTemplate;
- if (bt.baseSpecies in changed || (bt.actualSpecies && bt.actualSpecies in changed)) {
- let types = bt.types;
- let bTypes = (types.length === 1 || types[1] === 'caw') ? types[0] : types.join('/');
- this.add('-start', pokemon, 'typechange', bTypes, '[silent]');
- }
- if (bt.actualSpecies) this.add('-start', pokemon, bt.actualSpecies, '[silent]'); //Show the pokemon's actual species
- },
- onSwitchOut: function (pokemon) {
- if (pokemon.baseTemplate.actualSpecies) this.add('-end', pokemon, pokemon.baseTemplate.actualSpecies, '[silent]');
- },
- },
- 'use strict';
- exports.BattleAbilities = {
- "bigpecks": {
- inherit: true,
- onBoost: function () {},
- onAfterEachBoost: function (boost, target, source) {
- if (!source || target.side === source.side) {
- return;
- }
- let statsLowered = false;
- for (let i in boost) {
- if (boost[i] < 0) {
- statsLowered = true;
- }
- }
- if (statsLowered) {
- this.boost({def: 2});
- }
- },
- },
- "healer": {
- inherit: true,
- onResidual: function (pokemon) {
- let allyActive = pokemon.side.active;
- if (allyActive.length === 1) {
- return;
- }
- for (let i = 0; i < allyActive.length; i++) {
- if (allyActive[i] && this.isAdjacent(pokemon, allyActive[i]) && allyActive[i].status && !this.random(6)) {
- this.debug('healer');
- this.add('-activate', pokemon, 'ability: Healer');
- allyActive[i].cureStatus();
- }
- }
- if (pokemon.hp && pokemon.status && !this.random(6)) {
- this.debug('healer');
- this.add('-activate', pokemon, 'ability: Healer');
- pokemon.cureStatus();
- }
- },
- },
- "keeneye": {
- inherit: true,
- onSourceAccuracy: function (accuracy) {
- if (typeof accuracy !== 'number') return;
- this.debug('keeneye - enhancing accuracy');
- return accuracy * 1.2;
- },
- },
- "leafguard": {
- inherit: true,
- onSetStatus: function () {},
- onTryHit: function () {},
- onResidualOrder: 5,
- onResidualSubOrder: 1,
- onResidual: function (pokemon) {
- if (pokemon.status && this.isWeather(['sunnyday', 'desolateland'])) {
- this.debug('leafguard');
- pokemon.cureStatus();
- }
- },
- },
- "parentalbond": {
- inherit: true,
- onPrepareHit: function (move, pokemon, target) {
- if (move.category !== 'Status' && !move.selfdestruct && !move.multihit && !move.damage && ((target.side && target.side.active.length < 2) || move.target in {any:1, normal:1, randomNormal:1})) {
- move.multihit = 2;
- pokemon.addVolatile('parentalbond');
- }
- },
- effect: {
- duration: 1,
- onBasePowerPriority: 8,
- onBasePower: function (basePower) {
- if (this.effectData.hit) {
- return this.chainModify(1/3);
- } else {
- this.effectData.hit = true;
- }
- },
- onModifyMove: function (move) {
- if (this.effectData.hitt) {
- if (move.secondaries) delete move.secondaries;
- if (move.seconadry) delete move.secondary;
- } else {
- this.effectData.hitt = true;
- }
- }
- },
- },
- "stall": {
- inherit: true,
- onSourceModifyDamage: function (damage, source, target, move) {
- this.debug('Stall neutralize');
- return this.chainModify(0.9);
- },
- },
- "tangledfeet": {
- inherit: true,
- onAccuracy: function (accuracy, target) {
- if (typeof accuracy !== 'number') return;
- if (target && target.volatiles['confusion']) {
- this.debug('Tangled Feet - nullifying accuracy');
- return 0;
- }
- },
- onModifyMove: function (move, pokemon, target) {
- if (pokemon.volatiles['confusion']) {
- this.debug('Tangled Feet - nullifying accuracy');
- move.accuracy = 0;
- }
- },
- },
- "wonderguard": {
- inherit: true,
- onDamage: function (damage, target, source, effect) {
- if (effect.effectType !== 'Move') {
- return false;
- }
- },
- onTryHit: function (target, source, move) {
- if (target.template.speciesid !== 'shedinja' || target === source || move.category === 'Status' || move.type === '???' || move.id === 'struggle' || move.isFutureMove) return;
- this.debug('Wonder Guard immunity: ' + move.id);
- if (target.runEffectiveness(move) <= 0) {
- this.add('-activate', target, 'ability: Wonder Guard');
- return null;
- }
- },
- },
- };
- 'use strict';
- exports.BattleItems = {
- "lightball": {
- inherit: true,
- onModifyAtk: function (atk, pokemon) {
- if (pokemon.baseTemplate.baseSpecies === 'Pichu') {
- return this.chainModify(2);
- }
- },
- onModifySpA: function (spa, pokemon) {
- if (pokemon.baseTemplate.baseSpecies === 'Pichu') {
- return this.chainModify(2);
- }
- },
- },
- "luckypunch": {
- inherit: true,
- onModifyMove: function (move, user) {
- if (user.baseTemplate.species === 'Happiny' || user.baseTemplate.species === 'Chansey' || user.baseTemplate.species === 'Blissey') {
- move.critRatio += 2;
- }
- },
- },
- //////////////////////////////
- // ChoonMod: Custom Items //
- //////////////////////////////
- "venusauritex": {
- id: "venusauritex",
- name: "Venusaurite X",
- spritenum: 608,
- megaStone: "Venusaur-Mega-X",
- megaEvolves: "Venusaur",
- onTakeItem: function (item, source) {
- if (item.megaEvolves === source.baseTemplate.baseSpecies) return false;
- return true;
- },
- num: -1100,
- gen: 6,
- desc: "If holder is a Venusaur, this item allows it to Mega Evolve in battle.",
- },
- "venusauritey": {
- id: "venusauritey",
- name: "Venusaurite Y",
- spritenum: 608,
- megaStone: "Venusaur-Mega-Y",
- megaEvolves: "Venusaur",
- onTakeItem: function (item, source) {
- if (item.megaEvolves === source.baseTemplate.baseSpecies) return false;
- return true;
- },
- num: 659,
- gen: 6,
- desc: "If holder is a Venusaur, this item allows it to Mega Evolve in battle.",
- },
- "blastoisinitex": {
- id: "blastoisinitex",
- name: "Blastoisinite X",
- spritenum: 583,
- megaStone: "Blastoise-Mega-X",
- megaEvolves: "Blastoise",
- onTakeItem: function (item, source) {
- if (item.megaEvolves === source.baseTemplate.baseSpecies) return false;
- return true;
- },
- num: -6,
- gen: 6,
- desc: "If holder is a Blastoise, this item allows it to Mega Evolve in battle.",
- },
- "blastoisinitey": {
- id: "blastoisinitey",
- name: "Blastoisinite Y",
- spritenum: 583,
- megaStone: "Blastoise-Mega-Y",
- megaEvolves: "Blastoise",
- onTakeItem: function (item, source) {
- if (item.megaEvolves === source.baseTemplate.baseSpecies) return false;
- return true;
- },
- num: -1101,
- gen: 6,
- desc: "If holder is a Blastoise, this item allows it to Mega Evolve in battle.",
- },
- "butterfrite": {
- id: "butterfrite",
- name: "Butterfrite",
- spritenum: 576,
- megaStone: "Butterfree-Mega",
- megaEvolves: "Butterfree",
- onTakeItem: function (item, source) {
- if (item.megaEvolves === source.baseTemplate.baseSpecies) return false;
- return true;
- },
- num: -1102,
- gen: 6,
- desc: "If holder is a Butterfree, this item allows it to Mega Evolve in battle.",
- },
- "fearowite": {
- id: "fearowite",
- name: "Fearowite",
- spritenum: 622,
- megaStone: "Fearow-Mega",
- megaEvolves: "Fearow",
- onTakeItem: function (item, source) {
- if (item.megaEvolves === source.baseTemplate.baseSpecies) return false;
- return true;
- },
- num: -1103,
- gen: 6,
- desc: "If holder is a Fearow, this item allows it to Mega Evolve in battle.",
- },
- "raichuite": {
- id: "raichuite",
- name: "Raichuite",
- spritenum: 0,
- megaStone: "Raichu-Mega",
- megaEvolves: "Raichu",
- onTakeItem: function (item, source) {
- if (item.megaEvolves === source.baseTemplate.baseSpecies) return false;
- return true;
- },
- num: -1104,
- gen: 6,
- desc: "If holder is a Raichu, this item allows it to Mega Evolve in battle.",
- },
- "machampite": {
- id: "machampite",
- name: "Machampite",
- spritenum: 621,
- megaStone: "Machamp-Mega",
- megaEvolves: "Machamp",
- onTakeItem: function (item, source) {
- if (item.megaEvolves === source.baseTemplate.baseSpecies) return false;
- return true;
- },
- num: -1105,
- gen: 6,
- desc: "If holder is a Machamp, this item allows it to Mega Evolve in battle.",
- },
- "slowkingite": {
- id: "slowkingite",
- name: "Slowkingite",
- spritenum: 621,
- megaStone: "Slowking-Mega",
- megaEvolves: "Slowking",
- onTakeItem: function (item, source) {
- if (item.megaEvolves === source.baseTemplate.baseSpecies) return false;
- return true;
- },
- num: -1106,
- gen: 6,
- desc: "If holder is a Slowking, this item allows it to Mega Evolve in battle.",
- },
- "mimezite": {
- id: "mimezite",
- name: "Mimezite",
- spritenum: 621,
- megaStone: "Mr. Mime-Mega",
- megaEvolves: "Mr. Mime",
- onTakeItem: function (item, source) {
- if (item.megaEvolves === source.baseTemplate.baseSpecies) return false;
- return true;
- },
- num: -1107,
- gen: 6,
- desc: "If holder is a Mr. Mime, this item allows it to Mega Evolve in battle.",
- },
- "meganiumite": {
- id: "meganiumite",
- name: "Meganiumite",
- spritenum: 608,
- megaStone: "Meganium-Mega",
- megaEvolves: "Meganium",
- onTakeItem: function (item, source) {
- if (item.megaEvolves === source.baseTemplate.baseSpecies) return false;
- return true;
- },
- num: -1108,
- gen: 6,
- desc: "If holder is a Meganium, this item allows it to Mega Evolve in battle.",
- },
- "typhlosionite": {
- id: "typhlosionite",
- name: "Typhlosionite",
- spritenum: 589,
- megaStone: "Typhlosion-Mega",
- megaEvolves: "Typhlosion",
- onTakeItem: function (item, source) {
- if (item.megaEvolves === source.baseTemplate.baseSpecies) return false;
- return true;
- },
- num: -1109,
- gen: 6,
- desc: "If holder is a Typhlosion, this item allows it to Mega Evolve in battle.",
- },
- "feraligatrite": {
- id: "feraligatrite",
- name: "Feraligatrite",
- spritenum: 589,
- megaStone: "Feraligatr-Mega",
- megaEvolves: "Feraligatr",
- onTakeItem: function (item, source) {
- if (item.megaEvolves === source.baseTemplate.baseSpecies) return false;
- return true;
- },
- num: -1110,
- gen: 6,
- desc: "If holder is a Feraligatr, this item allows it to Mega Evolve in battle.",
- },
- };
- 'use strict';
- exports.BattleMovedex = {
- aurasphere: {
- inherit: true,
- accuracy: 100,
- basePower: 90,
- pp: 10,
- secondary: {
- chance: 10,
- boosts: {
- spd: -1
- }
- },
- },
- boomburst: {
- inherit: true,
- basePower: 100,
- },
- bubblebeam: {
- inherit: true,
- basePower: 90,
- pp: 10,
- },
- darkpulse: {
- inherit: true,
- basePower: 90,
- pp: 10,
- secondary: {
- chance: 10,
- volatileStatus: 'flinch'
- },
- },
- dazzlinggleam: {
- inherit: true,
- basePower: 90,
- pp: 10,
- secondary: {
- chance: 10,
- boosts: {
- spa: -1
- }
- },
- },
- dracometeor: {
- inherit: true,
- basePower: 140,
- },
- fissure: {
- inherit: true,
- basePower: 140,
- accuracy: 90,
- ohko: false,
- self: {
- boosts: {
- atk: -2
- }
- },
- },
- focusblast: {
- inherit: true,
- accuracy: 85,
- },
- freezedry: {
- inherit: true,
- basePower: 80,
- pp: 10,
- },
- guillotine: {
- inherit: true,
- basePower: 70,
- accuracy: 90,
- ohko: false,
- multihit: 2,
- },
- horndrill: {
- inherit: true,
- basePower: 100,
- accuracy: 90,
- ohko: false,
- willCrit: true,
- },
- hydropump: {
- inherit: true,
- basePower: 120,
- accuracy: 85,
- secondary: {
- chance: 10,
- volatileStatus: 'flinch'
- },
- },
- knockoff: {
- inherit: true,
- basePower: 70,
- onBasePower: function () {},
- },
- leafstorm: {
- inherit: true,
- basePower: 140,
- },
- leechlife: {
- inherit: true,
- basePower: 75,
- pp: 10,
- },
- lightofruin: {
- inherit: true,
- recoil: false,
- self: {
- boosts: {
- spa: -2
- }
- },
- },
- moonblast: {
- inherit: true,
- basePower: 120,
- accuracy: 85,
- pp: 5,
- secondary: {
- chance: 10,
- boosts: {
- spa: -1
- }
- },
- },
- muddywater: {
- inherit: true,
- basePower: 80,
- onEffectiveness: function (typeMod, type, move) {
- return typeMod + this.getEffectiveness('Ground', type);
- },
- },
- overheat: {
- inherit: true,
- basePower: 140,
- },
- scald: {
- inherit: true,
- basePower: 80,
- pp: 10,
- secondary: {
- chance: 10,
- status: 'brn'
- },
- onEffectiveness: function (typeMod, type) {
- if (type === 'Ice') return 1;
- },
- },
- shadowball: {
- inherit: true,
- basePower: 90,
- secondary: {
- chance: 10,
- boosts: {
- spd: -1
- }
- },
- },
- sheercold: {
- inherit: true,
- basePower: 140,
- accuracy: 90,
- ohko: false,
- self: {
- boosts: {
- spa: -2
- }
- },
- },
- sludgebomb: {
- inherit: true,
- secondary: {
- chance: 10,
- status: 'psn'
- },
- },
- sludgewave: {
- inherit: true,
- basePower: 100,
- secondary: false,
- },
- suckerpunch: {
- inherit: true,
- basePower: 40,
- pp: 48,
- onTry: function () {},
- },
- surf: {
- inherit: true,
- basePower: 100,
- pp: 10,
- },
- tailglow: {
- inherit: true,
- boosts: {
- spa: 1,
- spd: 2
- },
- },
- volttackle: {
- inherit: true,
- recoil: false,
- pp: 10,
- },
- //////////////////////////////
- // ChoonMod: Custom Moves //
- //////////////////////////////
- "bloodthirstyblade": {
- num: -1100,
- accuracy: 100,
- basePower: 100,
- category: "Physical",
- desc: "The user recovers 1/2 the HP lost by the target, rounded half up. If Big Root is held by the user, the HP recovered is 1.3x normal, rounded half down.",
- shortDesc: "User recovers 50% of the damage dealt.",
- id: "bloodthirstyblade",
- isViable: true,
- name: "Bloodthirsty Blade",
- pp: 5,
- priority: 0,
- flags: {protect: 1, mirror: 1},
- onPrepareHit: function (target, pokemon, move) {
- this.attrLastMove('[still]');
- this.add('-anim', pokemon, "Mean Look", target);
- this.add('-anim', pokemon, "Night Slash", target);
- },
- drain: [1, 2],
- target: "normal",
- type: "Steel",
- },
- "dynamocannon": {
- num: -1101,
- accuracy: 100,
- basePower: 120,
- category: "Special",
- desc: "Has a 10% chance to paralyze the target.",
- shortDesc: "10% chance to paralyze target.",
- id: "dynamocannon",
- isViable: true,
- name: "Dynamo Cannon",
- pp: 10,
- priority: 0,
- flags: {protect: 1, mirror: 1},
- onPrepareHit: function (target, pokemon, move) {
- this.attrLastMove('[still]');
- this.add('-anim', pokemon, "Recover", pokemon);
- this.add('-anim', pokemon, "Zap Cannon", target);
- },
- secondary: {
- chance: 10,
- status: 'par'
- },
- target: "normal",
- type: "Electric",
- },
- "genesisnova": {
- num: -1102,
- accuracy: 100,
- basePower: 180,
- category: "Special",
- desc: "Lowers the user's Speed, Defense, and Special Defense by 1 stage.",
- shortDesc: "Lowers the user's Defense, Sp. Def, Speed by 1.",
- id: "genesisnova",
- isViable: true,
- name: "Genesis Nova",
- pp: 5,
- priority: 0,
- flags: {protect: 1, mirror: 1},
- onPrepareHit: function (target, pokemon, move) {
- this.attrLastMove('[still]');
- this.add('-anim', pokemon, "Judgment", target);
- },
- self: {
- boosts: {
- def: -1,
- spd: -1,
- spe: -1
- }
- },
- target: "normal",
- type: "Psychic",
- },
- "heavenscrack": {
- num: -1103,
- accuracy: 100,
- basePower: 120,
- category: "Physical",
- desc: "This move can hit airborne Pokemon, which includes Flying-type Pokemon, Pokemon with the Ability Levitate, Pokemon holding an Air Balloon, and Pokemon under the effect of Magnet Rise or Telekinesis. This move can hit a target using Bounce, Fly, or Sky Drop. If this move hits a target under the effect of Bounce, Fly, Magnet Rise, or Telekinesis, the effect ends. If the target is a Flying type that has not used Roost this turn or a Pokemon with the Ability Levitate, it loses its immunity to Ground-type attacks and the Ability Arena Trap as long as it remains active. During the effect, Magnet Rise fails for the target and Telekinesis fails against the target.",
- shortDesc: "Grounds adjacent foes.",
- id: "heavenscrack",
- isViable: true,
- name: "Heaven's Crack",
- pp: 5,
- priority: 0,
- flags: {protect: 1, mirror: 1, nonsky: 1},
- onPrepareHit: function (target, pokemon, move) {
- this.attrLastMove('[still]');
- this.add('-anim', pokemon, "Rock Slide", target);
- this.add('-anim', pokemon, "Fissure", target);
- },
- volatileStatus: 'smackdown',
- ignoreImmunity: {'Ground': true},
- secondary: false,
- target: "allAdjacentFoes",
- type: "Ground",
- },
- "imprisonedstrike": {
- num: -1104,
- accuracy: 100,
- basePower: 100,
- category: "Physical",
- desc: "The user prevents all of its foes from using any moves that the user also knows as long as the user remains active.",
- shortDesc: "No foe can use any move known by the user.",
- id: "imprisonedstrike",
- isViable: true,
- name: "Imprisoned Strike",
- pp: 5,
- priority: 0,
- flags: {contact: 1, protect: 1, mirror: 1},
- onPrepareHit: function (target, pokemon, move) {
- this.attrLastMove('[still]');
- this.add('-anim', pokemon, "Topsy-Turvy", pokemon);
- this.add('-anim', pokemon, "Dragon Ascent", target);
- },
- self: {
- volatileStatus: 'imprison'
- },
- secondary: false,
- target: "normal",
- type: "Fighting",
- },
- "perfectglacialist": {
- num: -1105,
- accuracy: 99,
- basePower: 9,
- category: "Special",
- desc: "Hits nine times. Has a 0.9% chance to freeze the opponent each hit.",
- shortDesc: "Hits 9 times in one turn. 0.9% chance to freeze the target.",
- id: "perfectglacialist",
- isViable: true,
- name: "Perfect Glacialist",
- pp: 9,
- noPPBoosts: true,
- priority: 0,
- flags: {protect: 1, mirror: 1},
- onPrepareHit: function (target, pokemon, move) {
- this.attrLastMove('[still]');
- this.add('-anim', pokemon, "Blizzard", target);
- },
- secondary: {
- chance: 0.9,
- status: 'frz'
- },
- multihit: 9,
- target: "normal",
- type: "Ice",
- },
- "valkyriearrow": {
- num: -1106,
- accuracy: 100,
- basePower: 250,
- category: "Special",
- desc: "The user faints after using this move, even if this move fails for having no target.",
- shortDesc: "Hits adjacent foes. The user faints.",
- id: "valkyriearrow",
- isViable: true,
- name: "Valkyrie Arrow",
- pp: 5,
- priority: 0,
- flags: {protect: 1, mirror: 1},
- onPrepareHit: function (target, pokemon, move) {
- this.attrLastMove('[still]');
- this.add('-anim', pokemon, "Wish", pokemon);
- this.add('-anim', pokemon, "Psystrike", target);
- },
- selfdestruct: true,
- target: "normal",
- type: "Fairy",
- },
- };
- 'use strict';
- exports.BattlePokedex = {
- venusaur: {
- inherit: true,
- baseStats: {hp:83, atk:85, def:89, spa:100, spd:109, spe:84},
- abilities: {0:"Overgrow", H:"Leaf Guard"},
- otherFormes: ["venusaurmegax", "venusaurmegay"],
- },
- venusaurmega: {
- inherit: true,
- baseStats: {hp:83, atk:100, def:130, spa:119, spd:144, spe:74},
- },
- charizard: {
- inherit: true,
- baseStats: {hp:78, atk:89, def:78, spa:109, spd:85, spe:100},
- },
- charizardmegax: {
- inherit: true,
- types: ["Fire", "Dragon", "caw"],
- baseStats: {hp:83, atk:140, def:107, spa:135, spd:85, spe:100},
- },
- charizardmegay: {
- inherit: true,
- baseStats: {hp:83, atk:109, def:84, spa:159, spd:115, spe:100},
- },
- blastoise: {
- inherit: true,
- types: ["Water", "Steel"],
- baseStats: {hp:84, atk:85, def:109, spa:89, spd:105, spe:83},
- otherFormes: ["blastoisemegax", "blastoisemegay"],
- },
- blastoisemega: {
- inherit: true,
- types: ["Water", "Steel"],
- baseStats: {hp:84, atk:100, def:119, spa:169, spd:115, spe:63},
- },
- butterfree: {
- inherit: true,
- types: ["Bug", "Psychic", "caw"],
- baseStats: {hp:105, atk:50, def:60, spa:110, spd:90, spe:65},
- abilities: {0:"Swarm", 1:"Tinted Lens", H:"Magic Guard"},
- otherFormes: ["butterfreemega"],
- },
- beedrill: {
- inherit: true,
- types: ["Bug", "Poison", "caw"],
- baseStats: {hp:65, atk:110, def:90, spa:50, spd:60, spe:105},
- abilities: {0:"Swarm", 1:"Technician", H:"Sniper"},
- },
- pidgeot: {
- inherit: true,
- baseStats: {hp:83, atk:60, def:85, spa:110, spd:90, spe:101},
- },
- pidgeotmega: {
- inherit: true,
- baseStats: {hp:83, atk:60, def:95, spa:150, spd:105, spe:136},
- },
- fearow: {
- inherit: true,
- baseStats: {hp:83, atk:105, def:80, spa:60, spd:75, spe:102},
- abilities: {0:"Defiant", 1:"Keen Eye", H:"Sniper"},
- otherFormes: ["fearowmega"],
- },
- pichu: {
- inherit: true,
- types: ["Electric", "Ground"],
- evos: ["pikachu","raichu"],
- },
- pikachu: {
- inherit: true,
- types: ["Electric", "Ground"],
- baseStats: {hp:66, atk:121, def:88, spa:110, spd:88, spe:132},
- abilities: {0:"Static", 1:"Lightning Rod", H:"Sheer Force"},
- evos: [],
- },
- pikachucosplay: {
- inherit: true,
- types: ["Electric", "Ground"],
- gender: '',
- baseStats: {hp:66, atk:121, def:88, spa:110, spd:88, spe:132},
- abilities: {0:"Static", 1:"Lightning Rod", H:"Sheer Force"},
- },
- pikachurockstar: {
- inherit: true,
- types: ["Electric", "Steel"],
- gender: '',
- baseStats: {hp:66, atk:132, def:110, spa:99, spd:77, spe:121},
- abilities: {0:"Static", 1:"Lightning Rod", H:"Filter"},
- },
- pikachubelle: {
- inherit: true,
- types: ["Electric", "Ice"],
- gender: '',
- baseStats: {hp:66, atk:110, def:121, spa:110, spd:121, spe:77},
- abilities: {0:"Static", 1:"Lightning Rod", H:"Magic Bounce"},
- },
- pikachupopstar: {
- inherit: true,
- types: ["Electric", "Fairy"],
- gender: '',
- baseStats: {hp:66, atk:88, def:88, spa:132, spd:121, spe:110},
- abilities: {0:"Static", 1:"Lightning Rod", H:"Magic Guard"},
- },
- pikachuphd: {
- inherit: true,
- types: ["Electric", "Psychic"],
- gender: '',
- baseStats: {hp:66, atk:132, def:99, spa:132, spd:110, spe:66},
- abilities: {0:"Static", 1:"Lightning Rod", H:"Analytic"},
- },
- pikachulibre: {
- inherit: true,
- types: ["Electric", "Fighting"],
- gender: '',
- baseStats: {hp:66, atk:143, def:121, spa:77, spd:121, spe:77},
- abilities: {0:"Static", 1:"Lightning Rod", H:"Iron Fist"},
- },
- raichu: {
- inherit: true,
- types: ["Electric", "Dark"],
- baseStats: {hp:65, atk:117, def:104, spa:117, spd:104, spe:78},
- abilities: {0:"Static", 1:"Lightning Rod", H:"Tough Claws"},
- otherFormes: ["raichumega"],
- },
- golduck: {
- inherit: true,
- types: ["Water", "Ghost"],
- baseStats: {hp:90, atk:82, def:78, spa:115, spd:90, spe:85},
- abilities: {0:"Cloud Nine", 1:"Swift Swim", H:"Drizzle"},
- },
- alakazam: {
- inherit: true,
- baseStats: {hp:55, atk:50, def:45, spa:135, spd:100, spe:120},
- },
- alakazammega: {
- inherit: true,
- types: ["Psychic", "caw"],
- baseStats: {hp:55, atk:50, def:65, spa:175, spd:110, spe:150},
- abilities: {0:"Technician"},
- },
- machamp: {
- inherit: true,
- otherFormes: ["machampmega"],
- },
- slowbro: {
- inherit: true,
- baseStats: {hp:95, atk:100, def:110, spa:75, spd:80, spe:30},
- },
- slowbromega: {
- inherit: true,
- baseStats: {hp:95, atk:130, def:180, spa:75, spd:80, spe:30},
- },
- slowking: {
- inherit: true,
- otherFormes: ["slowkingmega"],
- },
- gengar: {
- inherit: true,
- types: ["Ghost", "Poison", "caw"],
- abilities: {0:"Prankster"},
- },
- gengarmega: {
- inherit: true,
- types: ["Ghost", "Poison", "caw"],
- abilities: {0:"Prankster"},
- },
- happiny: {
- inherit: true,
- types: ["Normal", "Fairy"],
- baseStats: {hp:128, atk:10, def:80, spa:10, spd:80, spe:32},
- evos: ["chansey","blissey"],
- },
- chansey: {
- inherit: true,
- baseStats: {hp:255, atk:90, def:140, spa:15, spd:15, spe:55},
- evos: [],
- },
- blissey: {
- inherit: true,
- types: ["Fairy"],
- baseStats: {hp:255, atk:15, def:15, spa:90, spd:140, spe:55},
- prevo: "happiny",
- },
- mrmime: {
- inherit: true,
- baseStats: {hp:90, atk:45, def:105, spa:100, spd:130, spe:70},
- otherFormes: ["mrmimemega"],
- },
- pinsir: {
- inherit: true,
- baseStats: {hp:75, atk:130, def:100, spa:55, spd:70, spe:95},
- },
- pinsirmega: {
- inherit: true,
- baseStats: {hp:75, atk:160, def:120, spa:65, spd:90, spe:115},
- },
- gyarados: {
- inherit: true,
- types: ["Water", "Dark", "caw"],
- },
- gyaradosmega: {
- inherit: true,
- types: ["Water", "Dark", "caw"],
- },
- porygon: {
- inherit: true,
- types: ["Electric", "caw"],
- abilities: {0:"Trace", 1:"Download", H:"Lightningrod"},
- },
- porygon2: {
- inherit: true,
- baseStats: {hp:85, atk:60, def:125, spa:100, spd:135, spe:50},
- types: ["Electric", "Psychic", "caw"],
- abilities: {0:"Trace", 1:"Download", H:"Analytic"},
- evos: [],
- },
- porygonz: {
- inherit: true,
- baseStats: {hp:85, atk:90, def:60, spa:145, spd:65, spe:110},
- types: ["Electric", "Ghost", "caw"],
- abilities: {0:"Trace", 1:"Download", H:"Adaptability"},
- prevo: "porygon",
- },
- aerodactyl: {
- inherit: true,
- types: ["Rock", "Dragon", "caw"],
- },
- aerodactylmega: {
- inherit: true,
- types: ["Rock", "Dragon", "caw"],
- },
- meganium: {
- inherit: true,
- baseStats: {hp:90, atk:83, def:119, spa:68, spd:125, spe:65},
- abilities: {0:"Overgrow", H:"Leaf Guard"},
- otherFormes: ["meganiummega"],
- },
- typhlosion: {
- inherit: true,
- baseStats: {hp:78, atk:69, def:78, spa:129, spd:85, spe:106},
- abilities: {0:"Blaze", H:"Flash Fire"},
- otherFormes: ["typhlosionmega"],
- },
- feraligatr: {
- inherit: true,
- baseStats: {hp:85, atk:110, def:100, spa:84, spd:88, spe:83},
- abilities: {0:"Torrent", H:"Sheer Force"},
- otherFormes: ["feraligatrmega"],
- },
- xatu: {
- inherit: true,
- baseStats: {hp:80, atk:75, def:85, spa:100, spd:110, spe:90},
- },
- ampharosmega: {
- inherit: true,
- baseStats: {hp:90, atk:115, def:85, spa:155, spd:120, spe:45},
- abilities: {0:"Fur Coat"},
- },
- sceptile: {
- inherit: true,
- baseStats: {hp:70, atk:85, def:75, spa:115, spd:85, spe:120},
- types: ["Grass", "Dragon"],
- },
- sceptilemega: {
- inherit: true,
- baseStats: {hp:70, atk:100, def:95, spa:145, spd:95, spe:145},
- },
- blaziken: {
- inherit: true,
- baseStats: {hp:80, atk:120, def:70, spa:110, spd:70, spe:100},
- abilities: {0:"Blaze", H:"Reckless"},
- },
- blazikenmega: {
- inherit: true,
- baseStats: {hp:80, atk:150, def:80, spa:140, spd:80, spe:120},
- abilities: {0:"Reckless"},
- },
- swampert: {
- inherit: true,
- baseStats: {hp:100, atk:110, def:110, spa:75, spd:100, spe:60},
- },
- swampertmega: {
- inherit: true,
- baseStats: {hp:100, atk:150, def:130, spa:75, spd:120, spe:80},
- },
- gastrodon: {
- inherit: true,
- baseStats: {hp:123, atk:83, def:83, spa:100, spd:100, spe:51},
- abilities: {0:"Sticky Hold", 1:"Storm Drain", H:"Regenerator"},
- },
- genesectdouse: {
- inherit: true,
- types: ["Bug","Water"],
- },
- genesectshock: {
- inherit: true,
- types: ["Bug","Electric"],
- },
- genesectburn: {
- inherit: true,
- types: ["Bug","Fire"],
- },
- genesectchill: {
- inherit: true,
- types: ["Bug","Ice"],
- },
- honedge: {
- inherit: true,
- evos: ["doublade", "aegislash"],
- },
- doublade: {
- inherit: true,
- baseStats: {hp:60, atk:125, def:150, spa:60, spd:70, spe:35},
- evos: [],
- },
- aegislash: {
- inherit: true,
- baseStats: {hp:60, atk:100, def:150, spa:55, spd:85, spe:50},
- },
- aegislashblade: {
- inherit: true,
- baseStats: {hp:60, atk:150, def:100, spa:85, spd:55, spe:50},
- },
- /////////////////////////////
- // ChoonMod: Custom Mons //
- /////////////////////////////
- venusaurmegax: {
- num: 3,
- species: "Venusaur-Mega-X",
- baseSpecies: "Venusaur",
- forme: "Mega-X",
- formeLetter: "M",
- types: ["Grass", "Fire"],
- genderRatio: {M:0.875, F:0.125},
- baseStats: {hp:83, atk:114, def:89, spa:150, spd:114, spe:100},
- abilities: {0:"Chlorophyll"},
- heightm: 2.4,
- weightkg: 155.5,
- color: "Green",
- prevo: "ivysaur",
- evoLevel: 32,
- eggGroups: ["Monster", "Grass"],
- },
- venusaurmegay: {
- num: 3,
- species: "Venusaur-Mega-Y",
- baseSpecies: "Venusaur",
- forme: "Mega-Y",
- formeLetter: "M",
- types: ["Grass", "Poison"],
- genderRatio: {M:0.875, F:0.125},
- baseStats: {hp:83, atk:100, def:130, spa:119, spd:144, spe:74},
- abilities: {0:"Thick Fat"},
- heightm: 2.4,
- weightkg: 155.5,
- color: "Green",
- prevo: "ivysaur",
- evoLevel: 32,
- eggGroups: ["Monster", "Grass"],
- },
- blastoisemegax: {
- num: 9,
- species: "Blastoise-Mega-X",
- baseSpecies: "Blastoise",
- forme: "Mega-X",
- formeLetter: "M",
- types: ["Water", "Steel"],
- genderRatio: {M:0.875, F:0.125},
- baseStats: {hp:84, atk:100, def:119, spa:169, spd:115, spe:68},
- abilities: {0:"Mega Launcher"},
- heightm: 1.6,
- weightkg: 101.1,
- color: "Blue",
- prevo: "wartortle",
- evoLevel: 36,
- eggGroups: ["Monster", "Water 1"],
- },
- blastoisemegay: {
- num: 9,
- species: "Blastoise-Mega-Y",
- baseSpecies: "Blastoise",
- forme: "Mega-Y",
- formeLetter: "M",
- types: ["Water", "Steel"],
- genderRatio: {M:0.875, F:0.125},
- baseStats: {hp:84, atk:85, def:159, spa:109, spd:155, spe:63},
- abilities: {0:"Shell Armor"},
- heightm: 1.6,
- weightkg: 123.4,
- color: "Blue",
- prevo: "wartortle",
- evoLevel: 36,
- eggGroups: ["Monster", "Water 1"],
- },
- butterfreemega: {
- num: 12,
- species: "Butterfree-Mega",
- baseSpecies: "Butterfree",
- forme: "Mega",
- formeLetter: "M",
- types: ["Bug", "Psychic"],
- baseStats: {hp:105, atk:20, def:105, spa:160, spd:125, spe:65},
- abilities: {0:"Magic Bounce"},
- heightm: 1.1,
- weightkg: 35,
- color: "White",
- prevo: "metapod",
- evoLevel: 10,
- eggGroups: ["Bug"],
- },
- fearowmega: {
- num: 22,
- species: "Fearow-Mega",
- baseSpecies: "Fearow",
- forme: "Mega",
- formeLetter: "M",
- types: ["Normal", "Flying"],
- baseStats: {hp:65, atk:140, def:100, spa:60, spd:95, spe:132},
- abilities: {0:"Reckless"},
- heightm: 1.2,
- weightkg: 50,
- color: "Brown",
- prevo: "spearow",
- evoLevel: 20,
- eggGroups: ["Flying"],
- },
- raichumega: {
- num: 26,
- species: "Raichu-Mega",
- baseSpecies: "Raichu",
- forme: "Mega",
- formeLetter: "M",
- types: ["Electric", "Dark"],
- baseStats: {hp:65, atk:157, def:94, spa:157, spd:94, spe:118},
- abilities: {0:"Aftermath"},
- heightm: 1.3,
- weightkg: 39,
- color: "Yellow",
- prevo: "pikachu",
- evoLevel: 1,
- eggGroups: ["Field", "Fairy"],
- },
- machampmega: {
- num: 68,
- species: "Machamp-Mega",
- baseSpecies: "Fearow",
- forme: "Mega",
- formeLetter: "M",
- types: ["Fighting"],
- genderRatio: {M:0.75, F:0.25},
- baseStats: {hp:90, atk:175, def:100, spa:50, spd:115, spe:75},
- abilities: {0:"Guts"},
- heightm: 1.6,
- weightkg: 133.1,
- color: "Gray",
- prevo: "machoke",
- evoLevel: 28,
- eggGroups: ["Human-Like"],
- },
- slowkingmega: {
- num: 199,
- species: "Slowking-Mega",
- baseSpecies: "Slowking",
- forme: "Mega",
- formeLetter: "M",
- types: ["Water", "Psychic"],
- baseStats: {hp:95, atk:75, def:80, spa:130, spd:180, spe:30},
- abilities: {0:"Unaware"},
- heightm: 2,
- weightkg: 88.8,
- color: "Pink",
- prevo: "slowpoke",
- evoLevel: 1,
- eggGroups: ["Monster", "Water 1"],
- },
- mrmimemega: {
- num: 122,
- species: "Mr. Mime-Mega",
- baseSpecies: "Mr. Mime",
- forme: "Mega",
- formeLetter: "M",
- types: ["Psychic", "Fairy"],
- baseStats: {hp:90, atk:45, def:155, spa:120, spd:170, spe:60},
- abilities: {0:"Stall"},
- heightm: 1.337,
- weightkg: 45.4,
- color: "Pink",
- prevo: "mimejr",
- evoLevel: 1,
- eggGroups: ["Human-Like"],
- },
- meganiummega: {
- num: 154,
- species: "Meganium-Mega",
- baseSpecies: "Meganium",
- forme: "Mega",
- formeLetter: "M",
- types: ["Grass"],
- baseStats: {hp:90, atk:118, def:149, spa:73, spd:155, spe:65},
- abilities: {0:"Flower Veil"},
- heightm: 2,
- weightkg: 111.1,
- color: "Grass",
- prevo: "bayleef",
- evoLevel: 32,
- eggGroups: ["Monster", "Grass"],
- },
- typhlosionmega: {
- num: 157,
- species: "Typhlosion-Mega",
- baseSpecies: "Typhlosion",
- forme: "Mega",
- formeLetter: "M",
- types: ["Fire"],
- baseStats: {hp:78, atk:94, def:98, spa:144, spd:105, spe:126},
- abilities: {0:"Sheer Force"},
- heightm: 1.8,
- weightkg: 80.8,
- color: "Yellow",
- prevo: "quilava",
- evoLevel: 36,
- eggGroups: ["Field"],
- },
- feraligatrmega: {
- num: 157,
- species: "Feraligatr-Mega",
- baseSpecies: "Feraligatr",
- forme: "Mega",
- formeLetter: "M",
- types: ["Water", "Dragon"],
- baseStats: {hp:85, atk:145, def:120, spa:104, spd:98, spe:98},
- abilities: {0:"Sheer Force"},
- heightm: 2.3,
- weightkg: 88.8,
- color: "Blue",
- prevo: "croconaw",
- evoLevel: 30,
- eggGroups: ["Monster", "Water 1"],
- },
- };
- 'use strict';
- exports.BattleScripts = {
- //Pokemon Modification:
- init: function () {
- for (let i in this.data.Pokedex) {
- let learnset = (this.data.Learnsets[i]) ? this.data.Learnsets[i].learnset : false;
- let pokemon = this.data.Pokedex[i];
- if (learnset) {
- //Everyone who has access to dazzling gleam now has access to moonblast.
- if (learnset.dazzlinggleam) {
- if (learnset.moonblast) {
- this.modData('Learnsets', i).learnset.moonblast = learnset.moonblast.push('6M');
- } else {
- this.modData('Learnsets', i).learnset.moonblast = ['6M'];
- }
- }
- //Defog is now a gen 6 HM.
- if (learnset.defog) {
- this.modData('Learnsets', i).learnset.defog = learnset.defog.push('6M');
- }
- //All ground types have access to Fissure.
- if (pokemon.types.indexOf('Ground') > -1) {
- if (learnset.fissure) {
- this.modData('Learnsets', i).learnset.fissure = learnset.fissure.push('6T');
- } else {
- this.modData('Learnsets', i).learnset.fissure = ['6T'];
- }
- }
- //All grass types have access to Leaf Storm.
- if (pokemon.types.indexOf('Grass') > -1) {
- if (learnset.leafstorm) {
- this.modData('Learnsets', i).learnset.leafstorm = learnset.leafstorm.push('6T');
- } else {
- this.modData('Learnsets', i).learnset.leafstorm = ['6T'];
- }
- }
- //All fire types have access to Overheat.
- if (pokemon.types.indexOf('Fire') > -1) {
- if (learnset.overheat) {
- this.modData('Learnsets', i).learnset.overheat = learnset.overheat.push('6T');
- } else {
- this.modData('Learnsets', i).learnset.overheat = ['6T'];
- }
- }
- //All fairy types have access to Light of Ruin.
- if (pokemon.types.indexOf('Fairy') > -1) {
- if (learnset.lightofruin) {
- this.modData('Learnsets', i).learnset.lightofruin = learnset.lightofruin.push('6T');
- } else {
- this.modData('Learnsets', i).learnset.lightofruin = ['6T'];
- }
- }
- //All ice types have access to Sheer Cold.
- if (pokemon.types.indexOf('Ice') > -1) {
- if (learnset.overheat) {
- this.modData('Learnsets', i).learnset.sheercold = learnset.sheercold.push('6T');
- } else {
- this.modData('Learnsets', i).learnset.sheercold = ['6T'];
- }
- }
- //All water types have access to Bubble Beam.
- if (pokemon.types.indexOf('Water') > -1) {
- if (learnset.bubblebeam) {
- this.modData('Learnsets', i).learnset.bubblebeam = learnset.bubblebeam.push('6M');
- } else {
- this.modData('Learnsets', i).learnset.bubblebeam = ['6M'];
- }
- }
- }
- }
- //Pidgeot slight buff
- this.modData('Learnsets', 'pidgeot').learnset.hypervoice = ['6L1'];
- this.modData('Learnsets', 'pidgeot').learnset.aurasphere = ['6L1'];
- //Fearow slight buff
- this.modData('Learnsets', 'fearow').learnset.bravebird = ['6L1'];
- //Give Pika the event moves that it deserves, make volt tackle egg-independent, and add coverage. Do the same for Raichu since it branches off of Pichu.
- let chu = {'pikachu':1, 'pikachucosplay':1, 'pikachurockstar':1, 'pikachubelle':1, 'pikachupopstar':1, 'pikachuphd':1, 'pikachulibre':1, 'raichu':1};
- for (let i in chu) {
- //Overlap the cosplay forms with Pikachu's moveset.
- if (i !== 'pikachu' && i !== 'raichu') this.modData('Learnsets', i).learnset = this.data.Learnsets.pikachu.learnset;
- //Do the thing
- this.modData('Learnsets', i).learnset.extremespeed = ['6L1'];
- this.modData('Learnsets', i).learnset.surf = ['6M'];
- this.modData('Learnsets', i).learnset.fly = ['6M'];
- this.modData('Learnsets', i).learnset.volttackle = ['6L1'];
- this.modData('Learnsets', i).learnset.dynamocannon = ['6L1'];
- this.modData('Learnsets', i).learnset.electricterrain = ['6L1'];
- this.modData('Learnsets', i).learnset.flamethrower = ['6M'];
- this.modData('Learnsets', i).learnset.firepunch = ['6T'];
- this.modData('Learnsets', i).learnset.icepunch = ['6T'];
- this.modData('Learnsets', i).learnset.dazzlinggleam = ['6M'];
- this.modData('Learnsets', i).learnset.moonblast = ['6M'];
- this.modData('Learnsets', i).learnset.icebeam = ['6M'];
- this.modData('Learnsets', i).learnset.blizzard = ['6M'];
- this.modData('Learnsets', i).learnset.focusblast = ['6M'];
- this.modData('Learnsets', i).learnset.poisonjab = ['6M'];
- this.modData('Learnsets', i).learnset.sludgebomb = ['6M'];
- this.modData('Learnsets', i).learnset.surf = ['6M'];
- this.modData('Learnsets', i).learnset.darkpulse = ['6M'];
- this.modData('Learnsets', i).learnset.shadowball = ['6M'];
- this.modData('Learnsets', i).learnset.hypervoice = ['6T'];
- this.modData('Learnsets', i).learnset.stoneedge = ['6M'];
- this.modData('Learnsets', i).learnset.rockslide = ['6M'];
- this.modData('Learnsets', i).learnset.bulkup = ['6M'];
- this.modData('Learnsets', i).learnset.swordsdance = ['6M'];
- this.modData('Learnsets', i).learnset.calmmind = ['6M'];
- this.modData('Learnsets', i).learnset.recover = ['6T'];
- }
- //Now for the bonus ducks.
- this.modData('Learnsets', 'pikachu').learnset.earthquake = ['6M'];
- this.modData('Learnsets', 'pikachu').learnset.earthpower = ['6T'];
- this.modData('Learnsets', 'pikachu').learnset.fissure = ['6T'];
- this.modData('Learnsets', 'pikachu').learnset.heavenscrack = ['6L1'];
- this.modData('Learnsets', 'pikachucosplay').learnset.earthquake = ['6M'];
- this.modData('Learnsets', 'pikachucosplay').learnset.earthpower = ['6T'];
- this.modData('Learnsets', 'pikachucosplay').learnset.fissure = ['6T'];
- this.modData('Learnsets', 'pikachucosplay').learnset.heavenscrack = ['6L1'];
- this.modData('Learnsets', 'pikachurockstar').learnset.meteormash = ['6L1'];
- this.modData('Learnsets', 'pikachurockstar').learnset.ironhead = ['6T'];
- this.modData('Learnsets', 'pikachurockstar').learnset.flashcannon = ['6M'];
- this.modData('Learnsets', 'pikachurockstar').learnset.bloodthirstyblade = ['6L1'];
- this.modData('Learnsets', 'pikachubelle').learnset.iciclecrash = ['6L1'];
- this.modData('Learnsets', 'pikachubelle').learnset.iceshard = ['6T'];
- this.modData('Learnsets', 'pikachubelle').learnset.sheercold = ['6T'];
- this.modData('Learnsets', 'pikachubelle').learnset.perfectglacialist = ['6L1'];
- this.modData('Learnsets', 'pikachupopstar').learnset.drainingkiss = ['6L1'];
- this.modData('Learnsets', 'pikachupopstar').learnset.lightofruin = ['6T'];
- this.modData('Learnsets', 'pikachupopstar').learnset.playrough = ['6T'];
- this.modData('Learnsets', 'pikachupopstar').learnset.valkyriearrow = ['6L1'];
- this.modData('Learnsets', 'pikachuphd').learnset.psychic = ['6M'];
- this.modData('Learnsets', 'pikachuphd').learnset.psyshock = ['6M'];
- this.modData('Learnsets', 'pikachuphd').learnset.zenheadbutt = ['6T'];
- this.modData('Learnsets', 'pikachuphd').learnset.genesisnova = ['6L1'];
- this.modData('Learnsets', 'pikachulibre').learnset.flyingpress = ['6L1'];
- this.modData('Learnsets', 'pikachulibre').learnset.closecombat = ['6T'];
- this.modData('Learnsets', 'pikachulibre').learnset.superpower = ['6T'];
- this.modData('Learnsets', 'pikachulibre').learnset.imprisonedstrike = ['6L1'];
- // Happinny
- this.modData('Learnsets', 'happiny').learnset.softboiled = ['6L1'];
- this.modData('Learnsets', 'happiny').learnset.wish = ['6L1'];
- // Mimez gets stallz
- this.modData('Learnsets', 'mrmime').learnset.recover = ['6L1'];
- this.modData('Learnsets', 'mrmime').learnset.partingshot = ['6L1'];
- this.modData('Learnsets', 'mrmime').learnset.entrainment = ['6L1'];
- this.modData('Learnsets', 'mrmime').learnset.metalburst = ['6L1'];
- this.modData('Learnsets', 'mrmime').learnset.healbell = ['6L1'];
- this.modData('Learnsets', 'mrmime').learnset.knockoff = ['6T'];
- // Aero gets head smash
- this.modData('Learnsets', 'aerodactyl').learnset.headsmash = ['6L1'];
- // Meganium gets Power Whip
- this.modData('Learnsets', 'meganium').learnset.powerwhip = ['6L1'];
- // Xatu gets Whirlwind
- this.modData('Learnsets', 'xatu').learnset.whirlwind = ['6L1'];
- // Ampharos gets Tail Glow
- this.modData('Learnsets', 'ampharos').learnset.tailglow = ['6L1'];
- for (let i in this.data.FormatsData) {
- // Every hidden ability becomes released. Nothing could possibly go wrong™
- this.modData('FormatsData', i).unreleasedHidden = false;
- // Make certain mons OU
- let OUmons = {pikachu:1, pikachurockstar:1, pikachubelle:1, pikachupopstar:1, pikachuphd:1, pikachulibre:1, gengarmega:1, kangaskhanmega:1, blaziken:1, blazikenmega:1, aegislash:1}
- if (i in OUmons) this.modData('FormatsData', i).tier = 'OU';
- }
- },
- //Allow custom mega-evolutions without anything in terms of sprites breaking:
- runMegaEvo: function (pokemon) {
- let template = this.getTemplate(pokemon.canMegaEvo);
- let side = pokemon.side;
- // Pokémon affected by Sky Drop cannot mega evolve. Enforce it here for now.
- let foeActive = side.foe.active;
- for (let i = 0; i < foeActive.length; i++) {
- if (foeActive[i].volatiles['skydrop'] && foeActive[i].volatiles['skydrop'].source === pokemon) {
- return false;
- }
- }
- //Prevent sprites from screwing with our stuff.
- let forbid = {'Venusaur-Mega-X':'Venusaurite X', 'Blastoise-Mega-Y':'Blastoisinite Y', 'Butterfree-Mega':'Butterfrite', 'Fearow-Mega':'Fearowite', 'Raichu-Mega':'Raichuite', 'Machamp-Mega':'Machampite', 'Slowking-Mega':'Slowkingite', 'Mr. Mime-Mega':'Mimezite', 'Meganium-Mega':'Meganiumite', 'Typhlosion-Mega':'Typhlosionite', 'Feraligatr-Mega':'Feraligatrite'};
- if (template.species in forbid) {
- //Case 1: Sprites don't exist
- template = Object.assign({}, template); //Prevent metagame crosstalk.
- template.spriteid = toId(template.baseSpecies);
- template.actualSpecies = template.species;
- template.species = template.species.split('-')[0];
- template.requiredItem = forbid[template.species];
- } else if (template.species === 'Venusaur-Mega-Y') {
- //Case 2: Sprites do exist, but the mega changed.
- template = Object.assign({}, template);
- template.spriteid = 'venusaur-mega';
- template.species = 'Venusaur-Mega';
- template.actualSpecies = 'Venusaur-Mega-Y'; //yes this is venusaur-mega-y
- template.requiredItem = 'Venusaurite Y';
- } else if (template.species === 'Blastoise-Mega-X') {
- //Case 2: Sprites do exist, but the mega changed.
- template = Object.assign({}, template);
- template.spriteid = 'blastoise-mega';
- template.species = 'Blastoise-Mega';
- template.actualSpecies = 'Blastoise-Mega-X';
- template.requiredItem = 'Blastoisinite X';
- }
- pokemon.formeChange(template);
- pokemon.baseTemplate = template; // mega evolution is permanent
- pokemon.details = template.species + (pokemon.level === 100 ? '' : ', L' + pokemon.level) + (pokemon.gender === '' ? '' : ', ' + pokemon.gender) + (pokemon.set.shiny ? ', shiny' : '');
- this.add('detailschange', pokemon, pokemon.details);
- this.add('-mega', pokemon, template.baseSpecies, template.requiredItem);
- pokemon.setAbility(template.abilities['0']);
- pokemon.baseAbility = pokemon.ability;
- let changed = {'Blastoise':true, 'Raichu':true, 'Aerodactyl':true, 'Feraligatr':true};
- if (template.actualSpecies in forbid || template.species === 'Venusaur-Mega' || template.baseSpecies in changed) {
- let types = template.types;
- let bTypes = (types.length === 1 || types[1] === 'caw') ? types[0] : types.join('/');
- this.add('-start', pokemon, 'typechange', bTypes, '[silent]');
- }
- if (template.actualSpecies) this.add('-start', pokemon, template.actualSpecies, '[silent]'); //Show the pokemon's actual species
- // Limit one mega evolution
- for (let i = 0; i < side.pokemon.length; i++) {
- side.pokemon[i].canMegaEvo = false;
- }
- return true;
- },
- };
- 'use strict';
- exports.BattleStatuses = {
- frz: {
- inherit: true,
- onBeforeMove: function (pokemon, target, move) {
- if (move.flags['defrost']) return;
- if (this.random(3) === 0) {
- pokemon.cureStatus();
- return;
- }
- this.add('cant', pokemon, 'frz');
- return false;
- },
- },
- };
- 'use strict';
- exports.BattleTypeChart = {
- "Fairy": {
- damageTaken: {
- "Bug": 2,
- "Dark": 1,
- "Dragon": 3,
- "Electric": 0,
- "Fairy": 0,
- "Fighting": 2,
- "Fire": 0,
- "Flying": 0,
- "Ghost": 0,
- "Grass": 0,
- "Ground": 0,
- "Ice": 0,
- "Normal": 0,
- "Poison": 1,
- "Psychic": 0,
- "Rock": 0,
- "Steel": 1,
- "Water": 0,
- },
- },
- "Ice": {
- damageTaken: {
- hail: 3,
- frz: 3,
- "Bug": 0,
- "Dark": 0,
- "Dragon": 0,
- "Electric": 0,
- "Fairy": 0,
- "Fighting": 1,
- "Fire": 1,
- "Flying": 0,
- "Ghost": 0,
- "Grass": 0,
- "Ground": 0,
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement