Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // run from within Pokemon-Showdown/data
- const dex = require('./pokedex.js').BattlePokedex;
- const moves = require('./learnsets.js').BattleLearnsets;
- const movedex = require('./moves.js').BattleMovedex;
- const gen6 = require('../mods/gen6/pokedex.js').BattlePokedex;
- const gen5 = require('../mods/gen5/pokedex.js').BattlePokedex;
- const gen4 = require('../mods/gen4/pokedex.js').BattlePokedex;
- let cap_mons = [];
- for (let i in dex) {
- if (dex[i].num < 0 && dex[i].num > -200) cap_mons.push(i);
- }
- function intro(mon) {
- let num = mon.num;
- if (num >= -11) return 4;
- if (num >= -18) return 5;
- if (num >= -22) return 6;
- if (num > -65) return 7;
- return 0;
- }
- const genNames = {0: 'idk', 4: 'dp', 5: 'bw', 6: 'xy', 7: 'sm',};
- function isInGen(moveLearnset, gen) {
- for (let i in moveLearnset)
- if (+moveLearnset[i].slice(0,1) <= gen) return true;
- }
- const types = ['Bug', 'Dark', 'Dragon', 'Electric', 'Fighting', 'Fire', 'Flying',
- 'Ghost', 'Grass', 'Ground', 'Ice', 'Poison', 'Psychic', 'Rock',
- 'Steel', 'Water'];
- function get_moves(mon_name, gen) {
- if (mon_name === 'crucibellemega') return '';
- let hidden_powers = '';
- for (let i in types)
- hidden_powers += `Hidden Power ${types[i]}, `;
- res = '';
- for (let move in moves[mon_name].learnset) {
- if (!isInGen(moves[mon_name].learnset[move], gen))
- continue;
- if (movedex[move].name=== 'Hidden Power')
- res += hidden_powers;
- else res += `${movedex[move].name}, `;
- }
- return res.slice(0, -2);
- }
- let outputs = {};
- for (let i = 0; i < cap_mons.length; i++) {
- let mon_name = cap_mons[i];
- let mon = dex[mon_name];
- let res = `${mon.species}:
- abilities:
- - [`;
- for (let j in mon.abilities) {
- res += mon.abilities[j] + ', ';
- }
- res = res.slice(0, -2);
- res += `]
- egggroups:
- - [${mon.eggGroups[0]}`;
- if (mon.eggGroups.length === 2) {
- res += `, ${mon.eggGroups[1]}`;
- }
- res += `]
- evolvesFrom: [${mon.prevo ? dex[mon.prevo].species : ''}]
- height: [${mon.heightm}]
- introduction: ${genNames[intro(mon)]}
- moves:`;
- let thisgen = 7
- do {
- res += `\n -${genNames[thisgen]}: [${get_moves(mon_name, thisgen)}]`;
- } while (intro(mon) && --thisgen >= intro(mon));
- res += `\n stats:
- - [${mon.baseStats.hp}, ${mon.baseStats.atk}, ${mon.baseStats.def}, ${mon.baseStats.spa}, ${mon.baseStats.spd}, ${mon.baseStats.spe}]
- tags:
- - [CAP]
- - sm: [CAP]
- - cap: [true]
- types:
- - [${mon.types[0]}`;
- mon.types.length === 2 ? res += ', ' + mon.types[1] : res += '';
- res += `]
- weight: [${mon.weightkg}]`;
- outputs[mon_name] = res;
- }
- const fs = require('fs');
- var str = '';
- for (let i in outputs) {
- str += outputs[i] + '\n\n';
- }
- fs.writeFile('cap_smogdex.txt', str, ()=>{});
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement