Advertisement
Guest User

Untitled

a guest
Nov 27th, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // run from within Pokemon-Showdown/data
  2.  
  3. const dex = require('./pokedex.js').BattlePokedex;
  4. const moves = require('./learnsets.js').BattleLearnsets;
  5. const movedex = require('./moves.js').BattleMovedex;
  6.  
  7. const gen6 = require('../mods/gen6/pokedex.js').BattlePokedex;
  8. const gen5 = require('../mods/gen5/pokedex.js').BattlePokedex;
  9. const gen4 = require('../mods/gen4/pokedex.js').BattlePokedex;
  10.  
  11. let cap_mons = [];
  12.  
  13. for (let i in dex) {
  14.     if (dex[i].num < 0 && dex[i].num > -200) cap_mons.push(i);
  15. }
  16.  
  17. function intro(mon) {
  18.     let num = mon.num;
  19.     if (num >= -11) return 'dp';
  20.     if (num >= -18) return 'bw';
  21.     if (num >= -22) return 'xy';
  22.     if (num > -60) return 'sm';
  23.     return intro(dex[mon.evos[0]]);
  24. }
  25.  
  26. function get_moves(mon_name, gen) {
  27.     let hidden_powers = '';
  28.     for (let i in ['Bug', 'Dark', 'Dragon', 'Electric', 'Fighting', 'Fire',
  29.             'Flying', 'Ghost', 'Grass', 'Ground', 'Ice', 'Poison', 'Psychic',
  30.             'Rock', 'Steel', 'Water'])
  31.         hidden_powers += '{i}, ';
  32.     if (gen === 7) {
  33.         res = '';
  34.         for (let move in moves[mon_name].learnset) {
  35.             if (move === 'Hidden Power')
  36.                 res += hidden_powers;
  37.             else res += `${move}, `;
  38.         }
  39.         return res;
  40.     }
  41. }
  42. let outputs = {};
  43. for (let i = 0; i < cap_mons.length; i++) {
  44.     let mon_name = cap_mons[i];
  45.     let mon = dex[mon_name];
  46.     let res = `${mon.species}:
  47.     abilities:
  48.     - [`;
  49.     for (let j in mon.abilities) {
  50.         res += mon.abilities[j] + ', ';
  51.     }
  52.     res = res.slice(0, -2);
  53.     res += `]
  54.     egggroups:
  55.     - [${mon.eggGroups[0]}`;
  56.     if (mon.eggGroups.length === 2) {
  57.         res += `, ${mon.eggGroups[1]}`;
  58.     }
  59.     res += `]
  60.     evolvesFrom: [${mon.prevo ? dex[mon.prevo].species : ''}]
  61.     height: [${mon.heightm}]
  62.     introduction: ${intro(mon)}
  63.     moves:
  64.     -sm: [${mon_name === 'crucibellemega' ? '' : get_moves(mon_name, 7)}]
  65.     stats:
  66.     - [${mon.baseStats.hp}, ${mon.baseStats.atk}, ${mon.baseStats.def}, ${mon.baseStats.spa}, ${mon.baseStats.spd}, ${mon.baseStats.spe}]
  67.     tags:
  68.     - [CAP]
  69.     - sm: [CAP]
  70.     - cap: [true]
  71.     types:
  72.     - [${mon.types[0]}`;
  73.     mon.types.length === 2 ? res += ', ' + mon.types[1] : res += '';
  74.     res += `]
  75.     weight: [${mon.weightkg}]`;
  76.     outputs[mon_name] = res;
  77. }
  78. const fs = require('fs');
  79. var str = '';
  80. for (let i in outputs) {
  81.     str += outputs[i] + '\n\n';
  82. }
  83. fs.writeFile('cap_smogdex.txt', str, ()=>{});
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement