showdown-calc-cli
Version:
Quick and easy pokemon damage calulations in your terminal
45 lines (44 loc) • 1.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDamageCalcPrompts = exports.calcDamage = exports.displayResult = exports.isMoveSpecial = exports.isMovePhysical = exports.capitalize = void 0;
const calc_1 = require("@smogon/calc");
const specialTypes = [
'Fire',
'Water',
'Electric',
'Psychic',
'Dark',
'Ice',
'Grass',
'Fairy',
'Dragon'
];
const capitalize = (str) => str ? str.split(' ').map(s => s[0].toUpperCase() + s.substr(1)).join(' ') : str;
exports.capitalize = capitalize;
const isMovePhysical = (move, gen) => {
if (gen <= 3)
return !specialTypes.includes(calc_1.MOVES[gen][move].type);
return (calc_1.MOVES[gen][move].category === 'Physical');
};
exports.isMovePhysical = isMovePhysical;
const isMoveSpecial = (move, gen) => {
if (gen <= 3)
return specialTypes.includes(calc_1.MOVES[gen][move].type);
return (calc_1.MOVES[gen][move].category === 'Special');
};
exports.isMoveSpecial = isMoveSpecial;
const displayResult = (result) => {
console.log('\n');
if (result.damage === 0)
result.damage = [0.1, 0.1, 0.1];
if (result.kochance().text)
return console.log(result.desc());
if (result.damage instanceof Array && result.damage.join(',') === [0.1, 0.1, 0.1].join(','))
return console.log(result.desc().split(':')[0] + ' 0-0 (0 - 0%) -- possibly the worst move ever');
return console.log(result.desc() + ' -- possibly the worse move ever');
};
exports.displayResult = displayResult;
var calcDamageUtil_1 = require("./calcDamageUtil");
Object.defineProperty(exports, "calcDamage", { enumerable: true, get: function () { return calcDamageUtil_1.calcDamage; } });
var damageCalcPrompts_1 = require("./damageCalcPrompts");
Object.defineProperty(exports, "getDamageCalcPrompts", { enumerable: true, get: function () { return damageCalcPrompts_1.getDamageCalcPrompts; } });