@robsonbittencourt/calc 0.11.12 → 0.11.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ exports.__esModule = true;
26
+ var path = __importStar(require("path"));
27
+ var fs = __importStar(require("fs"));
28
+ var species_1 = require("./data/species");
29
+ var moves_1 = require("./data/moves");
30
+ function writeFile(filePath, content) {
31
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
32
+ fs.writeFileSync(filePath, content, 'utf-8');
33
+ console.log("Generated: ".concat(filePath));
34
+ }
35
+ function generateSpeciesData() {
36
+ var sv = species_1.SPECIES[9];
37
+ var champions = species_1.SPECIES[0];
38
+ var svContent = "import type {SpeciesData} from '../species'\n\nexport const SV_SPECIES: {[name: string]: SpeciesData} = ".concat(JSON.stringify(sv), "\n");
39
+ var championsContent = "import type {SpeciesData} from '../species'\n\nexport const CHAMPIONS_SPECIES: {[name: string]: SpeciesData} = ".concat(JSON.stringify(champions), "\n");
40
+ writeFile(path.join(__dirname, 'data/vgc/sv-species.ts'), svContent);
41
+ writeFile(path.join(__dirname, 'data/vgc/champions-species.ts'), championsContent);
42
+ }
43
+ function generateMovesData() {
44
+ var sv = moves_1.MOVES[9];
45
+ var champions = moves_1.MOVES[0];
46
+ var svContent = "import type {MoveData} from '../moves'\n\nexport const SV_MOVES: {[name: string]: MoveData} = ".concat(JSON.stringify(sv), "\n");
47
+ var championsContent = "import type {MoveData} from '../moves'\n\nexport const CHAMPIONS_MOVES: {[name: string]: MoveData} = ".concat(JSON.stringify(champions), "\n");
48
+ writeFile(path.join(__dirname, 'data/vgc/sv-moves.ts'), svContent);
49
+ writeFile(path.join(__dirname, 'data/vgc/champions-moves.ts'), championsContent);
50
+ }
51
+ generateSpeciesData();
52
+ generateMovesData();
53
+ console.log('VGC data generation complete.');
54
+ //# sourceMappingURL=generate-vgc-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-vgc-data.js","sourceRoot":"","sources":["../src/generate-vgc-data.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA4B;AAC5B,qCAAwB;AACxB,0CAAsC;AACtC,sCAAkC;AAElC,SAAS,SAAS,CAAC,QAAgB,EAAE,OAAe;IAClD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;IACvD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5C,OAAO,CAAC,GAAG,CAAC,qBAAc,QAAQ,CAAE,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAM,EAAE,GAAG,iBAAO,CAAC,CAAC,CAA4B,CAAA;IAChD,IAAM,SAAS,GAAG,iBAAO,CAAC,CAAC,CAA4B,CAAA;IAEvD,IAAM,SAAS,GAAG,kHAA2G,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAI,CAAA;IACnJ,IAAM,gBAAgB,GAAG,yHAAkH,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAI,CAAA;IAExK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,EAAE,SAAS,CAAC,CAAA;IACpE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,+BAA+B,CAAC,EAAE,gBAAgB,CAAC,CAAA;AACpF,CAAC;AAED,SAAS,iBAAiB;IACxB,IAAM,EAAE,GAAG,aAAK,CAAC,CAAC,CAA4B,CAAA;IAC9C,IAAM,SAAS,GAAG,aAAK,CAAC,CAAC,CAA4B,CAAA;IAErD,IAAM,SAAS,GAAG,wGAAiG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAI,CAAA;IACzI,IAAM,gBAAgB,GAAG,+GAAwG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAI,CAAA;IAE9J,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,EAAE,SAAS,CAAC,CAAA;IAClE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,6BAA6B,CAAC,EAAE,gBAAgB,CAAC,CAAA;AAClF,CAAC;AAED,mBAAmB,EAAE,CAAA;AACrB,iBAAiB,EAAE,CAAA;AACnB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA"}
@@ -0,0 +1,36 @@
1
+ import type { State } from './state';
2
+ import type * as I from './data/interface';
3
+ import * as A from './adaptable';
4
+ export declare function calculate(gen: I.GenerationNum | I.Generation, attacker: A.Pokemon, defender: A.Pokemon, move: A.Move, field?: A.Field): A.Result;
5
+ export declare class Move extends A.Move {
6
+ constructor(gen: I.GenerationNum | I.Generation, name: string, options?: Partial<Omit<State.Move, 'ability' | 'item' | 'species'>> & {
7
+ ability?: string;
8
+ item?: string;
9
+ species?: string;
10
+ });
11
+ }
12
+ export declare class Pokemon extends A.Pokemon {
13
+ constructor(gen: I.GenerationNum | I.Generation, name: string, options?: Partial<Omit<State.Pokemon, 'ability' | 'item' | 'nature' | 'moves'>> & {
14
+ ability?: string;
15
+ item?: string;
16
+ nature?: string;
17
+ moves?: string[];
18
+ });
19
+ }
20
+ export declare function calcStat(gen: I.GenerationNum | I.Generation, stat: I.StatID | 'spc', base: number, iv: number, ev: number, level: number, nature?: string): number;
21
+ export { Field, Side } from './field';
22
+ export { calculateMulti } from './multicalc';
23
+ export { Result, extractDamageSubArrays } from './result';
24
+ export { MultiResult } from './multi-result';
25
+ export { type GenerationNum, type StatsTable, type StatID } from './data/interface';
26
+ export { GenerationsVGC as Generations } from './data/index-vgc';
27
+ export { toID } from './util';
28
+ export { getBerryRecovery, computeMultiHitKOChance, getEndOfTurn, serializeEndOfTurnTexts } from './desc';
29
+ export { type State } from './state';
30
+ export { ABILITIES } from './data/abilities';
31
+ export { ITEMS, MEGA_STONES } from './data/items';
32
+ export { MOVES_VGC as MOVES } from './data/moves-vgc';
33
+ export { SPECIES_VGC as SPECIES } from './data/species-vgc';
34
+ export { NATURES } from './data/natures';
35
+ export { TYPE_CHART } from './data/types';
36
+ export { STATS, Stats } from './stats';
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ exports.__esModule = true;
41
+ exports.Stats = exports.STATS = exports.TYPE_CHART = exports.NATURES = exports.SPECIES = exports.MOVES = exports.MEGA_STONES = exports.ITEMS = exports.ABILITIES = exports.serializeEndOfTurnTexts = exports.getEndOfTurn = exports.computeMultiHitKOChance = exports.getBerryRecovery = exports.toID = exports.Generations = exports.MultiResult = exports.extractDamageSubArrays = exports.Result = exports.calculateMulti = exports.Side = exports.Field = exports.calcStat = exports.Pokemon = exports.Move = exports.calculate = void 0;
42
+ var index_vgc_1 = require("./data/index-vgc");
43
+ var A = __importStar(require("./adaptable"));
44
+ var Acalculate = exports.calculate;
45
+ function calculate(gen, attacker, defender, move, field) {
46
+ return (Acalculate || A.calculate)(typeof gen === 'number' ? index_vgc_1.GenerationsVGC.get(gen) : gen, attacker, defender, move, field);
47
+ }
48
+ exports.calculate = calculate;
49
+ var Move = (function (_super) {
50
+ __extends(Move, _super);
51
+ function Move(gen, name, options) {
52
+ if (options === void 0) { options = {}; }
53
+ return _super.call(this, typeof gen === 'number' ? index_vgc_1.GenerationsVGC.get(gen) : gen, name, options) || this;
54
+ }
55
+ return Move;
56
+ }(A.Move));
57
+ exports.Move = Move;
58
+ var Pokemon = (function (_super) {
59
+ __extends(Pokemon, _super);
60
+ function Pokemon(gen, name, options) {
61
+ if (options === void 0) { options = {}; }
62
+ return _super.call(this, typeof gen === 'number' ? index_vgc_1.GenerationsVGC.get(gen) : gen, name, options) || this;
63
+ }
64
+ return Pokemon;
65
+ }(A.Pokemon));
66
+ exports.Pokemon = Pokemon;
67
+ function calcStat(gen, stat, base, iv, ev, level, nature) {
68
+ return A.Stats.calcStat(typeof gen === 'number' ? index_vgc_1.GenerationsVGC.get(gen) : gen, stat === 'spc' ? 'spa' : stat, base, iv, ev, level, nature);
69
+ }
70
+ exports.calcStat = calcStat;
71
+ var field_1 = require("./field");
72
+ __createBinding(exports, field_1, "Field");
73
+ __createBinding(exports, field_1, "Side");
74
+ var multicalc_1 = require("./multicalc");
75
+ __createBinding(exports, multicalc_1, "calculateMulti");
76
+ var result_1 = require("./result");
77
+ __createBinding(exports, result_1, "Result");
78
+ __createBinding(exports, result_1, "extractDamageSubArrays");
79
+ var multi_result_1 = require("./multi-result");
80
+ __createBinding(exports, multi_result_1, "MultiResult");
81
+ var index_vgc_2 = require("./data/index-vgc");
82
+ __createBinding(exports, index_vgc_2, "GenerationsVGC", "Generations");
83
+ var util_1 = require("./util");
84
+ __createBinding(exports, util_1, "toID");
85
+ var desc_1 = require("./desc");
86
+ __createBinding(exports, desc_1, "getBerryRecovery");
87
+ __createBinding(exports, desc_1, "computeMultiHitKOChance");
88
+ __createBinding(exports, desc_1, "getEndOfTurn");
89
+ __createBinding(exports, desc_1, "serializeEndOfTurnTexts");
90
+ var abilities_1 = require("./data/abilities");
91
+ __createBinding(exports, abilities_1, "ABILITIES");
92
+ var items_1 = require("./data/items");
93
+ __createBinding(exports, items_1, "ITEMS");
94
+ __createBinding(exports, items_1, "MEGA_STONES");
95
+ var moves_vgc_1 = require("./data/moves-vgc");
96
+ __createBinding(exports, moves_vgc_1, "MOVES_VGC", "MOVES");
97
+ var species_vgc_1 = require("./data/species-vgc");
98
+ __createBinding(exports, species_vgc_1, "SPECIES_VGC", "SPECIES");
99
+ var natures_1 = require("./data/natures");
100
+ __createBinding(exports, natures_1, "NATURES");
101
+ var types_1 = require("./data/types");
102
+ __createBinding(exports, types_1, "TYPE_CHART");
103
+ var stats_1 = require("./stats");
104
+ __createBinding(exports, stats_1, "STATS");
105
+ __createBinding(exports, stats_1, "Stats");
106
+ //# sourceMappingURL=index-vgc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-vgc.js","sourceRoot":"","sources":["../src/index-vgc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAA+C;AAG/C,6CAAgC;AAEhC,IAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAA;AAEpC,SAAgB,SAAS,CACvB,GAAmC,EACnC,QAAmB,EACnB,QAAmB,EACnB,IAAY,EACZ,KAAe;IAEf,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,CAAC,CAChC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EACvD,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,KAAK,CACN,CAAA;AACH,CAAC;AAdD,8BAcC;AAED;IAA0B,wBAAM;IAC9B,cACE,GAAmC,EACnC,IAAY,EACZ,OAIM;QAJN,wBAAA,EAAA,YAIM;eAEN,kBAAM,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAc,CAAC;IACtF,CAAC;IACH,WAAC;AAAD,CAAC,AAZD,CAA0B,CAAC,CAAC,IAAI,GAY/B;AAZY,oBAAI;AAcjB;IAA6B,2BAAS;IACpC,iBACE,GAAmC,EACnC,IAAY,EACZ,OAKM;QALN,wBAAA,EAAA,YAKM;eAEN,kBAAM,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAc,CAAC;IACtF,CAAC;IACH,cAAC;AAAD,CAAC,AAbD,CAA6B,CAAC,CAAC,OAAO,GAarC;AAbY,0BAAO;AAepB,SAAgB,QAAQ,CACtB,GAAmC,EACnC,IAAsB,EACtB,IAAY,EACZ,EAAU,EACV,EAAU,EACV,KAAa,EACb,MAAe;IAEf,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CACrB,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EACvD,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAC7B,IAAI,EACJ,EAAE,EACF,EAAE,EACF,KAAK,EACL,MAAM,CACP,CAAA;AACH,CAAC;AAlBD,4BAkBC;AAED,iCAAmC;AAA3B,2CAAK;AAAE,0CAAI;AACnB,yCAA0C;AAAlC,wDAAc;AACtB,mCAAuD;AAA/C,6CAAM;AAAE,6DAAsB;AACtC,+CAA0C;AAAlC,wDAAW;AAEnB,8CAA8D;AAAtD,uEAA6B;AACrC,+BAA2B;AAAnB,yCAAI;AACZ,+BAAuG;AAA/F,qDAAgB;AAAE,4DAAuB;AAAE,iDAAY;AAAE,4DAAuB;AAGxF,8CAA0C;AAAlC,mDAAS;AACjB,sCAA+C;AAAvC,2CAAK;AAAE,iDAAW;AAC1B,8CAAmD;AAA3C,4DAAkB;AAC1B,kDAAyD;AAAjD,kEAAsB;AAC9B,0CAAsC;AAA9B,+CAAO;AACf,sCAAuC;AAA/B,gDAAU;AAClB,iCAAoC;AAA5B,2CAAK;AAAE,2CAAK"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robsonbittencourt/calc",
3
- "version": "0.11.12",
3
+ "version": "0.11.13",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "unpkg": "dist/production.min.js",
package/src/data/moves.ts CHANGED
@@ -845,7 +845,7 @@ const DPP_PATCH: {[name: string]: DeepPartial<MoveData>} = {
845
845
  'Double Hit': {
846
846
  bp: 35,
847
847
  type: 'Normal',
848
- multihit: 2,
848
+ multihit: [1, 2],
849
849
  makesContact: true,
850
850
  category: 'Physical',
851
851
  },
@@ -1531,7 +1531,7 @@ const BW_PATCH: {[name: string]: DeepPartial<MoveData>} = {
1531
1531
  'Dual Chop': {
1532
1532
  bp: 40,
1533
1533
  type: 'Dragon',
1534
- multihit: 2,
1534
+ multihit: [1, 2],
1535
1535
  makesContact: true,
1536
1536
  category: 'Physical',
1537
1537
  },
@@ -1567,7 +1567,7 @@ const BW_PATCH: {[name: string]: DeepPartial<MoveData>} = {
1567
1567
  'Gear Grind': {
1568
1568
  bp: 50,
1569
1569
  type: 'Steel',
1570
- multihit: 2,
1570
+ multihit: [1, 2],
1571
1571
  makesContact: true,
1572
1572
  category: 'Physical',
1573
1573
  },
@@ -2451,7 +2451,7 @@ const SM_PATCH: {[name: string]: DeepPartial<MoveData>} = {
2451
2451
  'Double Iron Bash': {
2452
2452
  bp: 60,
2453
2453
  type: 'Steel',
2454
- multihit: 2,
2454
+ multihit: [1, 2],
2455
2455
  makesContact: true,
2456
2456
  isPunch: true,
2457
2457
  category: 'Physical',
@@ -2966,7 +2966,7 @@ const SS_PATCH: {[name: string]: DeepPartial<MoveData>} = {
2966
2966
  type: 'Flying',
2967
2967
  category: 'Physical',
2968
2968
  makesContact: true,
2969
- multihit: 2,
2969
+ multihit: [1, 2],
2970
2970
  zp: 100,
2971
2971
  maxPower: 130,
2972
2972
  },
@@ -3593,7 +3593,7 @@ const SS_PATCH: {[name: string]: DeepPartial<MoveData>} = {
3593
3593
  makesContact: true,
3594
3594
  willCrit: true,
3595
3595
  isPunch: true,
3596
- multihit: 3,
3596
+ multihit: [1, 3],
3597
3597
  zp: 140,
3598
3598
  maxPower: 130,
3599
3599
  },
@@ -3610,7 +3610,7 @@ const SS_PATCH: {[name: string]: DeepPartial<MoveData>} = {
3610
3610
  type: 'Ice',
3611
3611
  category: 'Physical',
3612
3612
  makesContact: true,
3613
- multihit: 3,
3613
+ multihit: [1, 3],
3614
3614
  multiaccuracy: true,
3615
3615
  zp: 120,
3616
3616
  maxPower: 140,
@@ -4790,7 +4790,7 @@ const SV_PATCH: {[name: string]: DeepPartial<MoveData>} = {
4790
4790
  category: 'Special',
4791
4791
  zp: 180,
4792
4792
  maxPower: 140,
4793
- multihit: 2,
4793
+ multihit: [1, 2],
4794
4794
  isSlicing: true,
4795
4795
  },
4796
4796
  'Take Heart': {
@@ -4866,7 +4866,7 @@ const SV_PATCH: {[name: string]: DeepPartial<MoveData>} = {
4866
4866
  zp: 100,
4867
4867
  maxPower: 90,
4868
4868
  makesContact: true,
4869
- multihit: 3,
4869
+ multihit: [1, 3],
4870
4870
  },
4871
4871
  'Twin Beam': {
4872
4872
  bp: 40,
@@ -4874,7 +4874,7 @@ const SV_PATCH: {[name: string]: DeepPartial<MoveData>} = {
4874
4874
  category: 'Special',
4875
4875
  zp: 100,
4876
4876
  maxPower: 90,
4877
- multihit: 2,
4877
+ multihit: [1, 2],
4878
4878
  },
4879
4879
  'Upper Hand': {
4880
4880
  bp: 65,