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;
- 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 'dp';
- if (num >= -18) return 'bw';
- if (num >= -22) return 'xy';
- if (num > -60) return 'sm';
- return intro(dex[mon.evos[0]]);
- }
- 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: [${intro(mon)}]
- moves:
- -sm [`;
- try {
- for (let j in moves[mon_name].learnset) {
- res += `${movedex[j].name}, `;
- }
- } catch (e) {
- // crucibelle-mega doesn't have a learnset entry
- res += ', ';
- }
- res = res.slice(0, -2) + `]
- stats:
- - [${mon.baseStats.hp}, ${mon.baseStats.atk}, ${mon.baseStats.def}, ${mon.baseStats.spa}, ${mon.baseStats.spd}, ${mon.baseStats.spe}]
- tags:
- - [CAP]
- - sm: [CAP]
- 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