Advertisement
Guest User

Untitled

a guest
Sep 4th, 2018
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // run from within Pokemon-Showdown/data
  2. const dex = require('./pokedex.js').BattlePokedex;
  3. const moves = require('./learnsets.js').BattleLearnsets;
  4. const movedex = require('./moves.js').BattleMovedex;
  5. let cap_mons = [];
  6. for (let i in dex) {
  7.     if (dex[i].num < 0 && dex[i].num > -200) cap_mons.push(i);
  8. }
  9. function intro(mon) {
  10.     let num = mon.num;
  11.     if (num >= -11) return 'dp';
  12.     if (num >= -18) return 'bw';
  13.     if (num >= -22) return 'xy';
  14.     if (num > -60) return 'sm';
  15.     return intro(dex[mon.evos[0]]);
  16. }
  17. let outputs = {};
  18. for (let i = 0; i < cap_mons.length; i++) {
  19.     let mon_name = cap_mons[i];
  20.     let mon = dex[mon_name];
  21.     let res = `${mon.species}:
  22.     abilities:
  23.     - [`;
  24.     for (let j in mon.abilities) {
  25.         res += mon.abilities[j] + ', ';
  26.     }
  27.     res = res.slice(0, -2);
  28.     res += `]
  29.     egggroups:
  30.     - [${mon.eggGroups[0]}`;
  31.     if (mon.eggGroups.length === 2) {
  32.         res += `, ${mon.eggGroups[1]}`;
  33.     }
  34.     res += `]
  35.     evolvesFrom: [${mon.prevo ? dex[mon.prevo].species : ''}]
  36.     height: [${mon.heightm}]
  37.     introduction: [${intro(mon)}]
  38.     moves:
  39.     -sm [`;
  40.     try {
  41.         for (let j in moves[mon_name].learnset) {
  42.             res += `${movedex[j].name}, `;
  43.         }
  44.     } catch (e) {
  45.         // crucibelle-mega doesn't have a learnset entry
  46.         res += ', ';
  47.     }
  48.     res = res.slice(0, -2) + `]
  49.     stats:
  50.     - [${mon.baseStats.hp}, ${mon.baseStats.atk}, ${mon.baseStats.def}, ${mon.baseStats.spa}, ${mon.baseStats.spd}, ${mon.baseStats.spe}]
  51.     tags:
  52.     - [CAP]
  53.     - sm: [CAP]
  54.     types:
  55.     - [${mon.types[0]}`;
  56.     mon.types.length === 2 ? res += ', ' + mon.types[1] : res += '';
  57.     res += `]
  58.     weight: [${mon.weightkg}]`;
  59.     outputs[mon_name] = res;
  60. }
  61. const fs = require('fs');
  62. var str = '';
  63. for (let i in outputs) {
  64.     str += outputs[i] + '\n\n';
  65. }
  66. fs.writeFile('cap_smogdex.txt', str, ()=>{});
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement