@robsonbittencourt/calc 0.10.0
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.
- package/.eslintignore +2 -0
- package/.eslintrc +12 -0
- package/bundle +107 -0
- package/dist/adaptable.d.ts +6 -0
- package/dist/adaptable.js +28 -0
- package/dist/adaptable.js.map +1 -0
- package/dist/calc.d.ts +6 -0
- package/dist/calc.js +26 -0
- package/dist/calc.js.map +1 -0
- package/dist/data/abilities.d.ts +15 -0
- package/dist/data/abilities.js +448 -0
- package/dist/data/abilities.js.map +1 -0
- package/dist/data/index.d.ts +2 -0
- package/dist/data/index.js +30 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/interface.d.ts +150 -0
- package/dist/data/interface.js +3 -0
- package/dist/data/interface.js.map +1 -0
- package/dist/data/items.d.ts +24 -0
- package/dist/data/items.js +708 -0
- package/dist/data/items.js.map +1 -0
- package/dist/data/moves.d.ts +86 -0
- package/dist/data/moves.js +5014 -0
- package/dist/data/moves.js.map +1 -0
- package/dist/data/natures.d.ts +17 -0
- package/dist/data/natures.js +127 -0
- package/dist/data/natures.js.map +1 -0
- package/dist/data/production.min.js +1 -0
- package/dist/data/species.d.ts +48 -0
- package/dist/data/species.js +10126 -0
- package/dist/data/species.js.map +1 -0
- package/dist/data/types.d.ts +23 -0
- package/dist/data/types.js +538 -0
- package/dist/data/types.js.map +1 -0
- package/dist/desc.d.ts +65 -0
- package/dist/desc.js +866 -0
- package/dist/desc.js.map +1 -0
- package/dist/field.d.ts +49 -0
- package/dist/field.js +111 -0
- package/dist/field.js.map +1 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.js +99 -0
- package/dist/index.js.map +1 -0
- package/dist/items.d.ts +13 -0
- package/dist/items.js +434 -0
- package/dist/items.js.map +1 -0
- package/dist/mechanics/gen12.d.ts +6 -0
- package/dist/mechanics/gen12.js +271 -0
- package/dist/mechanics/gen12.js.map +1 -0
- package/dist/mechanics/gen3.d.ts +11 -0
- package/dist/mechanics/gen3.js +371 -0
- package/dist/mechanics/gen3.js.map +1 -0
- package/dist/mechanics/gen4.d.ts +11 -0
- package/dist/mechanics/gen4.js +596 -0
- package/dist/mechanics/gen4.js.map +1 -0
- package/dist/mechanics/gen56.d.ts +13 -0
- package/dist/mechanics/gen56.js +836 -0
- package/dist/mechanics/gen56.js.map +1 -0
- package/dist/mechanics/gen789.d.ts +14 -0
- package/dist/mechanics/gen789.js +1325 -0
- package/dist/mechanics/gen789.js.map +1 -0
- package/dist/mechanics/util.d.ts +39 -0
- package/dist/mechanics/util.js +675 -0
- package/dist/mechanics/util.js.map +1 -0
- package/dist/move.d.ts +50 -0
- package/dist/move.js +324 -0
- package/dist/move.js.map +1 -0
- package/dist/pokemon.d.ts +55 -0
- package/dist/pokemon.js +240 -0
- package/dist/pokemon.js.map +1 -0
- package/dist/production.min.js +1 -0
- package/dist/result.d.ts +34 -0
- package/dist/result.js +94 -0
- package/dist/result.js.map +1 -0
- package/dist/state.d.ts +77 -0
- package/dist/state.js +3 -0
- package/dist/state.js.map +1 -0
- package/dist/stats.d.ts +26 -0
- package/dist/stats.js +183 -0
- package/dist/stats.js.map +1 -0
- package/dist/test/calc.test.d.ts +1 -0
- package/dist/test/calc.test.js +1297 -0
- package/dist/test/calc.test.js.map +1 -0
- package/dist/test/data.test.d.ts +1 -0
- package/dist/test/data.test.js +368 -0
- package/dist/test/data.test.js.map +1 -0
- package/dist/test/gen.d.ts +135 -0
- package/dist/test/gen.js +636 -0
- package/dist/test/gen.js.map +1 -0
- package/dist/test/helper.d.ts +55 -0
- package/dist/test/helper.js +174 -0
- package/dist/test/helper.js.map +1 -0
- package/dist/test/move.test.d.ts +1 -0
- package/dist/test/move.test.js +14 -0
- package/dist/test/move.test.js.map +1 -0
- package/dist/test/pokemon.test.d.ts +1 -0
- package/dist/test/pokemon.test.js +102 -0
- package/dist/test/pokemon.test.js.map +1 -0
- package/dist/test/stats.test.d.ts +1 -0
- package/dist/test/stats.test.js +64 -0
- package/dist/test/stats.test.js.map +1 -0
- package/dist/test/utils.test.d.ts +1 -0
- package/dist/test/utils.test.js +19 -0
- package/dist/test/utils.test.js.map +1 -0
- package/dist/util.d.ts +17 -0
- package/dist/util.js +115 -0
- package/dist/util.js.map +1 -0
- package/jest.config.js +11 -0
- package/package.json +40 -0
- package/src/adaptable.ts +12 -0
- package/src/calc.ts +40 -0
- package/src/data/abilities.ts +383 -0
- package/src/data/index.ts +36 -0
- package/src/data/interface.ts +176 -0
- package/src/data/items.ts +632 -0
- package/src/data/moves.ts +5028 -0
- package/src/data/natures.ts +65 -0
- package/src/data/species.ts +10098 -0
- package/src/data/types.ts +478 -0
- package/src/desc.ts +1063 -0
- package/src/field.ts +124 -0
- package/src/index.ts +156 -0
- package/src/items.ts +423 -0
- package/src/mechanics/gen12.ts +297 -0
- package/src/mechanics/gen3.ts +444 -0
- package/src/mechanics/gen4.ts +702 -0
- package/src/mechanics/gen56.ts +1134 -0
- package/src/mechanics/gen789.ts +1788 -0
- package/src/mechanics/util.ts +676 -0
- package/src/move.ts +337 -0
- package/src/pokemon.ts +244 -0
- package/src/result.ts +106 -0
- package/src/state.ts +81 -0
- package/src/stats.ts +213 -0
- package/src/test/calc.test.ts +1588 -0
- package/src/test/data.test.ts +129 -0
- package/src/test/gen.ts +514 -0
- package/src/test/helper.ts +185 -0
- package/src/test/move.test.ts +13 -0
- package/src/test/pokemon.test.ts +121 -0
- package/src/test/stats.test.ts +84 -0
- package/src/test/utils.test.ts +18 -0
- package/src/util.ts +153 -0
- package/tsconfig.json +10 -0
package/dist/desc.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desc.js","sourceRoot":"","sources":["../src/desc.ts"],"names":[],"mappings":"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"}
|
package/dist/field.d.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { State } from './state';
|
|
2
|
+
import type { GameType, Weather, Terrain } from './data/interface';
|
|
3
|
+
export declare class Field implements State.Field {
|
|
4
|
+
gameType: GameType;
|
|
5
|
+
weather?: Weather;
|
|
6
|
+
terrain?: Terrain;
|
|
7
|
+
isMagicRoom: boolean;
|
|
8
|
+
isWonderRoom: boolean;
|
|
9
|
+
isGravity: boolean;
|
|
10
|
+
isAuraBreak?: boolean;
|
|
11
|
+
isFairyAura?: boolean;
|
|
12
|
+
isDarkAura?: boolean;
|
|
13
|
+
isBeadsOfRuin?: boolean;
|
|
14
|
+
isSwordOfRuin?: boolean;
|
|
15
|
+
isTabletsOfRuin?: boolean;
|
|
16
|
+
isVesselOfRuin?: boolean;
|
|
17
|
+
attackerSide: Side;
|
|
18
|
+
defenderSide: Side;
|
|
19
|
+
constructor(field?: Partial<State.Field>);
|
|
20
|
+
hasWeather(...weathers: Weather[]): boolean;
|
|
21
|
+
hasTerrain(...terrains: Terrain[]): boolean;
|
|
22
|
+
swap(): this;
|
|
23
|
+
clone(): Field;
|
|
24
|
+
}
|
|
25
|
+
export declare class Side implements State.Side {
|
|
26
|
+
spikes: number;
|
|
27
|
+
steelsurge: boolean;
|
|
28
|
+
vinelash: boolean;
|
|
29
|
+
wildfire: boolean;
|
|
30
|
+
cannonade: boolean;
|
|
31
|
+
volcalith: boolean;
|
|
32
|
+
isSR: boolean;
|
|
33
|
+
isReflect: boolean;
|
|
34
|
+
isLightScreen: boolean;
|
|
35
|
+
isProtected: boolean;
|
|
36
|
+
isSeeded: boolean;
|
|
37
|
+
isForesight: boolean;
|
|
38
|
+
isTailwind: boolean;
|
|
39
|
+
isHelpingHand: boolean;
|
|
40
|
+
isFlowerGift: boolean;
|
|
41
|
+
isFriendGuard: boolean;
|
|
42
|
+
isAuroraVeil: boolean;
|
|
43
|
+
isBattery: boolean;
|
|
44
|
+
isPowerSpot: boolean;
|
|
45
|
+
isSteelySpirit: boolean;
|
|
46
|
+
isSwitching?: 'out' | 'in';
|
|
47
|
+
constructor(side?: State.Side);
|
|
48
|
+
clone(): Side;
|
|
49
|
+
}
|
package/dist/field.js
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
exports.__esModule = true;
|
|
19
|
+
exports.Side = exports.Field = void 0;
|
|
20
|
+
var Field = (function () {
|
|
21
|
+
function Field(field) {
|
|
22
|
+
if (field === void 0) { field = {}; }
|
|
23
|
+
this.gameType = field.gameType || 'Singles';
|
|
24
|
+
this.terrain = field.terrain;
|
|
25
|
+
this.weather = field.weather;
|
|
26
|
+
this.isMagicRoom = !!field.isMagicRoom;
|
|
27
|
+
this.isWonderRoom = !!field.isWonderRoom;
|
|
28
|
+
this.isGravity = !!field.isGravity;
|
|
29
|
+
this.isAuraBreak = field.isAuraBreak || false;
|
|
30
|
+
this.isFairyAura = field.isFairyAura || false;
|
|
31
|
+
this.isDarkAura = field.isDarkAura || false;
|
|
32
|
+
this.isBeadsOfRuin = field.isBeadsOfRuin || false;
|
|
33
|
+
this.isSwordOfRuin = field.isSwordOfRuin || false;
|
|
34
|
+
this.isTabletsOfRuin = field.isTabletsOfRuin || false;
|
|
35
|
+
this.isVesselOfRuin = field.isVesselOfRuin || false;
|
|
36
|
+
this.attackerSide = new Side(field.attackerSide || {});
|
|
37
|
+
this.defenderSide = new Side(field.defenderSide || {});
|
|
38
|
+
}
|
|
39
|
+
Field.prototype.hasWeather = function () {
|
|
40
|
+
var weathers = [];
|
|
41
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
42
|
+
weathers[_i] = arguments[_i];
|
|
43
|
+
}
|
|
44
|
+
return !!(this.weather && weathers.includes(this.weather));
|
|
45
|
+
};
|
|
46
|
+
Field.prototype.hasTerrain = function () {
|
|
47
|
+
var terrains = [];
|
|
48
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
49
|
+
terrains[_i] = arguments[_i];
|
|
50
|
+
}
|
|
51
|
+
return !!(this.terrain && terrains.includes(this.terrain));
|
|
52
|
+
};
|
|
53
|
+
Field.prototype.swap = function () {
|
|
54
|
+
var _a;
|
|
55
|
+
_a = __read([this.defenderSide, this.attackerSide], 2), this.attackerSide = _a[0], this.defenderSide = _a[1];
|
|
56
|
+
return this;
|
|
57
|
+
};
|
|
58
|
+
Field.prototype.clone = function () {
|
|
59
|
+
return new Field({
|
|
60
|
+
gameType: this.gameType,
|
|
61
|
+
weather: this.weather,
|
|
62
|
+
terrain: this.terrain,
|
|
63
|
+
isMagicRoom: this.isMagicRoom,
|
|
64
|
+
isWonderRoom: this.isWonderRoom,
|
|
65
|
+
isGravity: this.isGravity,
|
|
66
|
+
attackerSide: this.attackerSide,
|
|
67
|
+
defenderSide: this.defenderSide,
|
|
68
|
+
isAuraBreak: this.isAuraBreak,
|
|
69
|
+
isDarkAura: this.isDarkAura,
|
|
70
|
+
isFairyAura: this.isFairyAura,
|
|
71
|
+
isBeadsOfRuin: this.isBeadsOfRuin,
|
|
72
|
+
isSwordOfRuin: this.isSwordOfRuin,
|
|
73
|
+
isTabletsOfRuin: this.isTabletsOfRuin,
|
|
74
|
+
isVesselOfRuin: this.isVesselOfRuin
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
return Field;
|
|
78
|
+
}());
|
|
79
|
+
exports.Field = Field;
|
|
80
|
+
var Side = (function () {
|
|
81
|
+
function Side(side) {
|
|
82
|
+
if (side === void 0) { side = {}; }
|
|
83
|
+
this.spikes = side.spikes || 0;
|
|
84
|
+
this.steelsurge = !!side.steelsurge;
|
|
85
|
+
this.vinelash = !!side.vinelash;
|
|
86
|
+
this.wildfire = !!side.wildfire;
|
|
87
|
+
this.cannonade = !!side.cannonade;
|
|
88
|
+
this.volcalith = !!side.volcalith;
|
|
89
|
+
this.isSR = !!side.isSR;
|
|
90
|
+
this.isReflect = !!side.isReflect;
|
|
91
|
+
this.isLightScreen = !!side.isLightScreen;
|
|
92
|
+
this.isProtected = !!side.isProtected;
|
|
93
|
+
this.isSeeded = !!side.isSeeded;
|
|
94
|
+
this.isForesight = !!side.isForesight;
|
|
95
|
+
this.isTailwind = !!side.isTailwind;
|
|
96
|
+
this.isHelpingHand = !!side.isHelpingHand;
|
|
97
|
+
this.isFlowerGift = !!side.isFlowerGift;
|
|
98
|
+
this.isFriendGuard = !!side.isFriendGuard;
|
|
99
|
+
this.isAuroraVeil = !!side.isAuroraVeil;
|
|
100
|
+
this.isBattery = !!side.isBattery;
|
|
101
|
+
this.isPowerSpot = !!side.isPowerSpot;
|
|
102
|
+
this.isSteelySpirit = !!side.isSteelySpirit;
|
|
103
|
+
this.isSwitching = side.isSwitching;
|
|
104
|
+
}
|
|
105
|
+
Side.prototype.clone = function () {
|
|
106
|
+
return new Side(this);
|
|
107
|
+
};
|
|
108
|
+
return Side;
|
|
109
|
+
}());
|
|
110
|
+
exports.Side = Side;
|
|
111
|
+
//# sourceMappingURL=field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../src/field.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
curHP?: number;
|
|
19
|
+
ivs?: Partial<I.StatsTable> & {
|
|
20
|
+
spc?: number;
|
|
21
|
+
};
|
|
22
|
+
evs?: Partial<I.StatsTable> & {
|
|
23
|
+
spc?: number;
|
|
24
|
+
};
|
|
25
|
+
boosts?: Partial<I.StatsTable> & {
|
|
26
|
+
spc?: number;
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
static getForme(gen: I.GenerationNum | I.Generation, speciesName: string, item?: string, moveName?: string): string;
|
|
30
|
+
}
|
|
31
|
+
export declare function calcStat(gen: I.GenerationNum | I.Generation, stat: I.StatID | 'spc', base: number, iv: number, ev: number, level: number, nature?: string): number;
|
|
32
|
+
export { Field, Side } from './field';
|
|
33
|
+
export { Result } from './result';
|
|
34
|
+
export { type GenerationNum, type StatsTable, type StatID } from './data/interface';
|
|
35
|
+
export { Generations } from './data/index';
|
|
36
|
+
export { toID } from './util';
|
|
37
|
+
export { type State } from './state';
|
|
38
|
+
export { ABILITIES } from './data/abilities';
|
|
39
|
+
export { ITEMS, MEGA_STONES } from './data/items';
|
|
40
|
+
export { MOVES } from './data/moves';
|
|
41
|
+
export { SPECIES } from './data/species';
|
|
42
|
+
export { NATURES } from './data/natures';
|
|
43
|
+
export { TYPE_CHART } from './data/types';
|
|
44
|
+
export { STATS, Stats } from './stats';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
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.toID = exports.Generations = exports.Result = exports.Side = exports.Field = exports.calcStat = exports.Pokemon = exports.Move = exports.calculate = void 0;
|
|
42
|
+
var data_1 = require("./data");
|
|
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' ? data_1.Generations.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' ? data_1.Generations.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' ? data_1.Generations.get(gen) : gen, name, options) || this;
|
|
63
|
+
}
|
|
64
|
+
Pokemon.getForme = function (gen, speciesName, item, moveName) {
|
|
65
|
+
return A.Pokemon.getForme(typeof gen === 'number' ? data_1.Generations.get(gen) : gen, speciesName, item, moveName);
|
|
66
|
+
};
|
|
67
|
+
return Pokemon;
|
|
68
|
+
}(A.Pokemon));
|
|
69
|
+
exports.Pokemon = Pokemon;
|
|
70
|
+
function calcStat(gen, stat, base, iv, ev, level, nature) {
|
|
71
|
+
return A.Stats.calcStat(typeof gen === 'number' ? data_1.Generations.get(gen) : gen, stat === 'spc' ? 'spa' : stat, base, iv, ev, level, nature);
|
|
72
|
+
}
|
|
73
|
+
exports.calcStat = calcStat;
|
|
74
|
+
var field_1 = require("./field");
|
|
75
|
+
__createBinding(exports, field_1, "Field");
|
|
76
|
+
__createBinding(exports, field_1, "Side");
|
|
77
|
+
var result_1 = require("./result");
|
|
78
|
+
__createBinding(exports, result_1, "Result");
|
|
79
|
+
var index_1 = require("./data/index");
|
|
80
|
+
__createBinding(exports, index_1, "Generations");
|
|
81
|
+
var util_1 = require("./util");
|
|
82
|
+
__createBinding(exports, util_1, "toID");
|
|
83
|
+
var abilities_1 = require("./data/abilities");
|
|
84
|
+
__createBinding(exports, abilities_1, "ABILITIES");
|
|
85
|
+
var items_1 = require("./data/items");
|
|
86
|
+
__createBinding(exports, items_1, "ITEMS");
|
|
87
|
+
__createBinding(exports, items_1, "MEGA_STONES");
|
|
88
|
+
var moves_1 = require("./data/moves");
|
|
89
|
+
__createBinding(exports, moves_1, "MOVES");
|
|
90
|
+
var species_1 = require("./data/species");
|
|
91
|
+
__createBinding(exports, species_1, "SPECIES");
|
|
92
|
+
var natures_1 = require("./data/natures");
|
|
93
|
+
__createBinding(exports, natures_1, "NATURES");
|
|
94
|
+
var types_1 = require("./data/types");
|
|
95
|
+
__createBinding(exports, types_1, "TYPE_CHART");
|
|
96
|
+
var stats_1 = require("./stats");
|
|
97
|
+
__createBinding(exports, stats_1, "STATS");
|
|
98
|
+
__createBinding(exports, stats_1, "Stats");
|
|
99
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,+BAAmC;AAGnC,6CAAiC;AASjC,IAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;AAErC,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,kBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EACpD,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,KAAK,CACN,CAAC;AACJ,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,kBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAc,CAAC;IACnF,CAAC;IACH,WAAC;AAAD,CAAC,AAZD,CAA0B,CAAC,CAAC,IAAI,GAY/B;AAZY,oBAAI;AAcjB;IAA6B,2BAAS;IACpC,iBACE,GAAmC,EACnC,IAAY,EACZ,OASM;QATN,wBAAA,EAAA,YASM;eAEN,kBAAM,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAc,CAAC;IACnF,CAAC;IAEM,gBAAQ,GAAf,UACE,GAAmC,EACnC,WAAmB,EACnB,IAAa,EACb,QAAiB;QAEjB,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CACvB,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EACpD,WAAW,EACX,IAAkB,EAClB,QAAsB,CACvB,CAAC;IACJ,CAAC;IACH,cAAC;AAAD,CAAC,AA/BD,CAA6B,CAAC,CAAC,OAAO,GA+BrC;AA/BY,0BAAO;AAiCpB,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,kBAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EACpD,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAC7B,IAAI,EACJ,EAAE,EACF,EAAE,EACF,KAAK,EACL,MAAM,CACP,CAAC;AACJ,CAAC;AAlBD,4BAkBC;AAED,iCAAoC;AAA5B,2CAAK;AAAE,0CAAI;AACnB,mCAAgC;AAAxB,6CAAM;AAEd,sCAAyC;AAAjC,iDAAW;AACnB,+BAA4B;AAApB,yCAAI;AAGZ,8CAA2C;AAAnC,mDAAS;AACjB,sCAAgD;AAAxC,2CAAK;AAAE,iDAAW;AAC1B,sCAAmC;AAA3B,2CAAK;AACb,0CAAuC;AAA/B,+CAAO;AACf,0CAAuC;AAA/B,+CAAO;AACf,sCAAwC;AAAhC,gDAAU;AAClB,iCAAqC;AAA7B,2CAAK;AAAE,2CAAK"}
|
package/dist/items.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Generation, TypeName, StatID } from './data/interface';
|
|
2
|
+
export declare const SEED_BOOSTED_STAT: {
|
|
3
|
+
[item: string]: StatID;
|
|
4
|
+
};
|
|
5
|
+
export declare function getItemBoostType(item: string | undefined): "Electric" | "Psychic" | "Normal" | "Fighting" | "Flying" | "Poison" | "Ground" | "Rock" | "Bug" | "Ghost" | "Steel" | "Fire" | "Water" | "Grass" | "Ice" | "Dragon" | "Dark" | "Fairy" | undefined;
|
|
6
|
+
export declare function getBerryResistType(berry: string | undefined): "Electric" | "Psychic" | "Normal" | "Fighting" | "Flying" | "Poison" | "Ground" | "Rock" | "Bug" | "Ghost" | "Steel" | "Fire" | "Water" | "Grass" | "Ice" | "Dragon" | "Dark" | "Fairy" | undefined;
|
|
7
|
+
export declare function getFlingPower(item?: string): 0 | 10 | 30 | 100 | 40 | 60 | 50 | 85 | 20 | 130 | 110 | 95 | 90 | 80 | 70;
|
|
8
|
+
export declare function getNaturalGift(gen: Generation, item: string): {
|
|
9
|
+
t: TypeName;
|
|
10
|
+
p: number;
|
|
11
|
+
};
|
|
12
|
+
export declare function getTechnoBlast(item: string): "Electric" | "Fire" | "Water" | "Ice" | undefined;
|
|
13
|
+
export declare function getMultiAttack(item: string): TypeName | undefined;
|