@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.
Files changed (144) hide show
  1. package/.eslintignore +2 -0
  2. package/.eslintrc +12 -0
  3. package/bundle +107 -0
  4. package/dist/adaptable.d.ts +6 -0
  5. package/dist/adaptable.js +28 -0
  6. package/dist/adaptable.js.map +1 -0
  7. package/dist/calc.d.ts +6 -0
  8. package/dist/calc.js +26 -0
  9. package/dist/calc.js.map +1 -0
  10. package/dist/data/abilities.d.ts +15 -0
  11. package/dist/data/abilities.js +448 -0
  12. package/dist/data/abilities.js.map +1 -0
  13. package/dist/data/index.d.ts +2 -0
  14. package/dist/data/index.js +30 -0
  15. package/dist/data/index.js.map +1 -0
  16. package/dist/data/interface.d.ts +150 -0
  17. package/dist/data/interface.js +3 -0
  18. package/dist/data/interface.js.map +1 -0
  19. package/dist/data/items.d.ts +24 -0
  20. package/dist/data/items.js +708 -0
  21. package/dist/data/items.js.map +1 -0
  22. package/dist/data/moves.d.ts +86 -0
  23. package/dist/data/moves.js +5014 -0
  24. package/dist/data/moves.js.map +1 -0
  25. package/dist/data/natures.d.ts +17 -0
  26. package/dist/data/natures.js +127 -0
  27. package/dist/data/natures.js.map +1 -0
  28. package/dist/data/production.min.js +1 -0
  29. package/dist/data/species.d.ts +48 -0
  30. package/dist/data/species.js +10126 -0
  31. package/dist/data/species.js.map +1 -0
  32. package/dist/data/types.d.ts +23 -0
  33. package/dist/data/types.js +538 -0
  34. package/dist/data/types.js.map +1 -0
  35. package/dist/desc.d.ts +65 -0
  36. package/dist/desc.js +866 -0
  37. package/dist/desc.js.map +1 -0
  38. package/dist/field.d.ts +49 -0
  39. package/dist/field.js +111 -0
  40. package/dist/field.js.map +1 -0
  41. package/dist/index.d.ts +44 -0
  42. package/dist/index.js +99 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/items.d.ts +13 -0
  45. package/dist/items.js +434 -0
  46. package/dist/items.js.map +1 -0
  47. package/dist/mechanics/gen12.d.ts +6 -0
  48. package/dist/mechanics/gen12.js +271 -0
  49. package/dist/mechanics/gen12.js.map +1 -0
  50. package/dist/mechanics/gen3.d.ts +11 -0
  51. package/dist/mechanics/gen3.js +371 -0
  52. package/dist/mechanics/gen3.js.map +1 -0
  53. package/dist/mechanics/gen4.d.ts +11 -0
  54. package/dist/mechanics/gen4.js +596 -0
  55. package/dist/mechanics/gen4.js.map +1 -0
  56. package/dist/mechanics/gen56.d.ts +13 -0
  57. package/dist/mechanics/gen56.js +836 -0
  58. package/dist/mechanics/gen56.js.map +1 -0
  59. package/dist/mechanics/gen789.d.ts +14 -0
  60. package/dist/mechanics/gen789.js +1325 -0
  61. package/dist/mechanics/gen789.js.map +1 -0
  62. package/dist/mechanics/util.d.ts +39 -0
  63. package/dist/mechanics/util.js +675 -0
  64. package/dist/mechanics/util.js.map +1 -0
  65. package/dist/move.d.ts +50 -0
  66. package/dist/move.js +324 -0
  67. package/dist/move.js.map +1 -0
  68. package/dist/pokemon.d.ts +55 -0
  69. package/dist/pokemon.js +240 -0
  70. package/dist/pokemon.js.map +1 -0
  71. package/dist/production.min.js +1 -0
  72. package/dist/result.d.ts +34 -0
  73. package/dist/result.js +94 -0
  74. package/dist/result.js.map +1 -0
  75. package/dist/state.d.ts +77 -0
  76. package/dist/state.js +3 -0
  77. package/dist/state.js.map +1 -0
  78. package/dist/stats.d.ts +26 -0
  79. package/dist/stats.js +183 -0
  80. package/dist/stats.js.map +1 -0
  81. package/dist/test/calc.test.d.ts +1 -0
  82. package/dist/test/calc.test.js +1297 -0
  83. package/dist/test/calc.test.js.map +1 -0
  84. package/dist/test/data.test.d.ts +1 -0
  85. package/dist/test/data.test.js +368 -0
  86. package/dist/test/data.test.js.map +1 -0
  87. package/dist/test/gen.d.ts +135 -0
  88. package/dist/test/gen.js +636 -0
  89. package/dist/test/gen.js.map +1 -0
  90. package/dist/test/helper.d.ts +55 -0
  91. package/dist/test/helper.js +174 -0
  92. package/dist/test/helper.js.map +1 -0
  93. package/dist/test/move.test.d.ts +1 -0
  94. package/dist/test/move.test.js +14 -0
  95. package/dist/test/move.test.js.map +1 -0
  96. package/dist/test/pokemon.test.d.ts +1 -0
  97. package/dist/test/pokemon.test.js +102 -0
  98. package/dist/test/pokemon.test.js.map +1 -0
  99. package/dist/test/stats.test.d.ts +1 -0
  100. package/dist/test/stats.test.js +64 -0
  101. package/dist/test/stats.test.js.map +1 -0
  102. package/dist/test/utils.test.d.ts +1 -0
  103. package/dist/test/utils.test.js +19 -0
  104. package/dist/test/utils.test.js.map +1 -0
  105. package/dist/util.d.ts +17 -0
  106. package/dist/util.js +115 -0
  107. package/dist/util.js.map +1 -0
  108. package/jest.config.js +11 -0
  109. package/package.json +40 -0
  110. package/src/adaptable.ts +12 -0
  111. package/src/calc.ts +40 -0
  112. package/src/data/abilities.ts +383 -0
  113. package/src/data/index.ts +36 -0
  114. package/src/data/interface.ts +176 -0
  115. package/src/data/items.ts +632 -0
  116. package/src/data/moves.ts +5028 -0
  117. package/src/data/natures.ts +65 -0
  118. package/src/data/species.ts +10098 -0
  119. package/src/data/types.ts +478 -0
  120. package/src/desc.ts +1063 -0
  121. package/src/field.ts +124 -0
  122. package/src/index.ts +156 -0
  123. package/src/items.ts +423 -0
  124. package/src/mechanics/gen12.ts +297 -0
  125. package/src/mechanics/gen3.ts +444 -0
  126. package/src/mechanics/gen4.ts +702 -0
  127. package/src/mechanics/gen56.ts +1134 -0
  128. package/src/mechanics/gen789.ts +1788 -0
  129. package/src/mechanics/util.ts +676 -0
  130. package/src/move.ts +337 -0
  131. package/src/pokemon.ts +244 -0
  132. package/src/result.ts +106 -0
  133. package/src/state.ts +81 -0
  134. package/src/stats.ts +213 -0
  135. package/src/test/calc.test.ts +1588 -0
  136. package/src/test/data.test.ts +129 -0
  137. package/src/test/gen.ts +514 -0
  138. package/src/test/helper.ts +185 -0
  139. package/src/test/move.test.ts +13 -0
  140. package/src/test/pokemon.test.ts +121 -0
  141. package/src/test/stats.test.ts +84 -0
  142. package/src/test/utils.test.ts +18 -0
  143. package/src/util.ts +153 -0
  144. package/tsconfig.json +10 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/mechanics/util.ts"],"names":[],"mappings":"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"}
package/dist/move.d.ts ADDED
@@ -0,0 +1,50 @@
1
+ import type * as I from './data/interface';
2
+ import type { State } from './state';
3
+ export declare class Move implements State.Move {
4
+ gen: I.Generation;
5
+ name: I.MoveName;
6
+ originalName: string;
7
+ ability?: I.AbilityName;
8
+ item?: I.ItemName;
9
+ species?: I.SpeciesName;
10
+ useZ?: boolean;
11
+ useMax?: boolean;
12
+ overrides?: Partial<I.Move>;
13
+ hits: number;
14
+ timesUsed?: number;
15
+ timesUsedWithMetronome?: number;
16
+ bp: number;
17
+ type: I.TypeName;
18
+ category: I.MoveCategory;
19
+ flags: I.MoveFlags;
20
+ secondaries: any;
21
+ target: I.MoveTarget;
22
+ recoil?: [number, number];
23
+ hasCrashDamage: boolean;
24
+ mindBlownRecoil: boolean;
25
+ struggleRecoil: boolean;
26
+ isCrit: boolean;
27
+ isStellarFirstUse: boolean;
28
+ drain?: [number, number];
29
+ priority: number;
30
+ dropsStats?: number;
31
+ ignoreDefensive: boolean;
32
+ overrideOffensiveStat?: I.StatIDExceptHP;
33
+ overrideDefensiveStat?: I.StatIDExceptHP;
34
+ overrideOffensivePokemon?: 'target' | 'source';
35
+ overrideDefensivePokemon?: 'target' | 'source';
36
+ breaksProtect: boolean;
37
+ isZ: boolean;
38
+ isMax: boolean;
39
+ multiaccuracy: boolean;
40
+ constructor(gen: I.Generation, name: string, options?: Partial<State.Move> & {
41
+ ability?: I.AbilityName;
42
+ item?: I.ItemName;
43
+ species?: I.SpeciesName;
44
+ });
45
+ named(...names: string[]): boolean;
46
+ hasType(...types: Array<(I.TypeName | undefined)>): boolean;
47
+ clone(): Move;
48
+ }
49
+ export declare function getZMoveName(moveName: string, moveType: I.TypeName, item?: string): string;
50
+ export declare function getMaxMoveName(moveType: I.TypeName, moveName?: string, pokemonSpecies?: string, isStatus?: boolean, pokemonAbility?: string): string;
package/dist/move.js ADDED
@@ -0,0 +1,324 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.getMaxMoveName = exports.getZMoveName = exports.Move = void 0;
4
+ var util_1 = require("./util");
5
+ var SPECIAL = ['Fire', 'Water', 'Grass', 'Electric', 'Ice', 'Psychic', 'Dark', 'Dragon'];
6
+ var Move = (function () {
7
+ function Move(gen, name, options) {
8
+ if (options === void 0) { options = {}; }
9
+ var _a, _b;
10
+ name = options.name || name;
11
+ this.originalName = name;
12
+ var data = (0, util_1.extend)(true, { name: name }, gen.moves.get((0, util_1.toID)(name)), options.overrides);
13
+ this.hits = 1;
14
+ if (options.useMax && data.maxMove) {
15
+ var maxMoveName_1 = getMaxMoveName(data.type, data.name, options.species, !!(data.category === 'Status'), options.ability);
16
+ var maxMove_1 = gen.moves.get((0, util_1.toID)(maxMoveName_1));
17
+ var maxPower = function () {
18
+ if (['G-Max Drum Solo', 'G-Max Fire Ball', 'G-Max Hydrosnipe'].includes(maxMoveName_1)) {
19
+ return 160;
20
+ }
21
+ if (maxMove_1.basePower === 10 || maxMoveName_1 === 'Max Flare') {
22
+ return data.maxMove.basePower;
23
+ }
24
+ return maxMove_1.basePower;
25
+ };
26
+ data = (0, util_1.extend)(true, {}, maxMove_1, {
27
+ name: maxMoveName_1,
28
+ basePower: maxPower(),
29
+ category: data.category
30
+ });
31
+ }
32
+ if (options.useZ && ((_a = data.zMove) === null || _a === void 0 ? void 0 : _a.basePower)) {
33
+ var zMoveName = getZMoveName(data.name, data.type, options.item);
34
+ var zMove = gen.moves.get((0, util_1.toID)(zMoveName));
35
+ data = (0, util_1.extend)(true, {}, zMove, {
36
+ name: zMoveName,
37
+ basePower: zMove.basePower === 1 ? data.zMove.basePower : zMove.basePower,
38
+ category: data.category
39
+ });
40
+ }
41
+ else {
42
+ if (data.multihit) {
43
+ if (data.multiaccuracy && typeof data.multihit === 'number') {
44
+ this.hits = options.hits || data.multihit;
45
+ }
46
+ else {
47
+ if (typeof data.multihit === 'number') {
48
+ this.hits = data.multihit;
49
+ }
50
+ else if (options.hits) {
51
+ this.hits = options.hits;
52
+ }
53
+ else {
54
+ this.hits = (options.ability === 'Skill Link')
55
+ ? data.multihit[1]
56
+ : data.multihit[0] + 1;
57
+ }
58
+ }
59
+ }
60
+ this.timesUsedWithMetronome = options.timesUsedWithMetronome;
61
+ }
62
+ this.gen = gen;
63
+ this.name = data.name;
64
+ this.ability = options.ability;
65
+ this.item = options.item;
66
+ this.useZ = options.useZ;
67
+ this.useMax = options.useMax;
68
+ this.overrides = options.overrides;
69
+ this.species = options.species;
70
+ this.bp = data.basePower;
71
+ var typelessDamage = (gen.num >= 2 && data.id === 'struggle') ||
72
+ (gen.num <= 4 && ['futuresight', 'doomdesire'].includes(data.id));
73
+ this.type = typelessDamage ? '???' : data.type;
74
+ this.category = data.category ||
75
+ (gen.num < 4 ? (SPECIAL.includes(data.type) ? 'Special' : 'Physical') : 'Status');
76
+ var stat = this.category === 'Special' ? 'spa' : 'atk';
77
+ if (((_b = data.self) === null || _b === void 0 ? void 0 : _b.boosts) && data.self.boosts[stat] && data.self.boosts[stat] < 0) {
78
+ this.dropsStats = Math.abs(data.self.boosts[stat]);
79
+ }
80
+ this.timesUsed = (this.dropsStats && options.timesUsed) || 1;
81
+ this.secondaries = data.secondaries;
82
+ this.target = data.target || 'any';
83
+ this.recoil = data.recoil;
84
+ this.hasCrashDamage = !!data.hasCrashDamage;
85
+ this.mindBlownRecoil = !!data.mindBlownRecoil;
86
+ this.struggleRecoil = !!data.struggleRecoil;
87
+ this.isCrit = !!options.isCrit || !!data.willCrit ||
88
+ gen.num === 1 && ['crabhammer', 'razorleaf', 'slash', 'karate chop'].includes(data.id);
89
+ this.isStellarFirstUse = !!options.isStellarFirstUse;
90
+ this.drain = data.drain;
91
+ this.flags = data.flags;
92
+ this.priority = data.priority || 0;
93
+ this.ignoreDefensive = !!data.ignoreDefensive;
94
+ this.overrideOffensiveStat = data.overrideOffensiveStat;
95
+ this.overrideDefensiveStat = data.overrideDefensiveStat;
96
+ this.overrideOffensivePokemon = data.overrideOffensivePokemon;
97
+ this.overrideDefensivePokemon = data.overrideDefensivePokemon;
98
+ this.breaksProtect = !!data.breaksProtect;
99
+ this.isZ = !!data.isZ;
100
+ this.isMax = !!data.isMax;
101
+ this.multiaccuracy = !!data.multiaccuracy;
102
+ if (!this.bp) {
103
+ if (['return', 'frustration', 'pikapapow', 'veeveevolley'].includes(data.id)) {
104
+ this.bp = 102;
105
+ }
106
+ }
107
+ }
108
+ Move.prototype.named = function () {
109
+ var names = [];
110
+ for (var _i = 0; _i < arguments.length; _i++) {
111
+ names[_i] = arguments[_i];
112
+ }
113
+ return names.includes(this.name);
114
+ };
115
+ Move.prototype.hasType = function () {
116
+ var types = [];
117
+ for (var _i = 0; _i < arguments.length; _i++) {
118
+ types[_i] = arguments[_i];
119
+ }
120
+ return types.includes(this.type);
121
+ };
122
+ Move.prototype.clone = function () {
123
+ return new Move(this.gen, this.originalName, {
124
+ ability: this.ability,
125
+ item: this.item,
126
+ species: this.species,
127
+ useZ: this.useZ,
128
+ useMax: this.useMax,
129
+ isCrit: this.isCrit,
130
+ isStellarFirstUse: this.isStellarFirstUse,
131
+ hits: this.hits,
132
+ timesUsed: this.timesUsed,
133
+ timesUsedWithMetronome: this.timesUsedWithMetronome,
134
+ overrides: this.overrides
135
+ });
136
+ };
137
+ return Move;
138
+ }());
139
+ exports.Move = Move;
140
+ function getZMoveName(moveName, moveType, item) {
141
+ item = item || '';
142
+ if (moveName.includes('Hidden Power'))
143
+ return 'Breakneck Blitz';
144
+ if (moveName === 'Clanging Scales' && item === 'Kommonium Z')
145
+ return 'Clangorous Soulblaze';
146
+ if (moveName === 'Darkest Lariat' && item === 'Incinium Z')
147
+ return 'Malicious Moonsault';
148
+ if (moveName === 'Giga Impact' && item === 'Snorlium Z')
149
+ return 'Pulverizing Pancake';
150
+ if (moveName === 'Moongeist Beam' && item === 'Lunalium Z')
151
+ return 'Menacing Moonraze Maelstrom';
152
+ if (moveName === 'Photon Geyser' && item === 'Ultranecrozium Z') {
153
+ return 'Light That Burns the Sky';
154
+ }
155
+ if (moveName === 'Play Rough' && item === 'Mimikium Z')
156
+ return 'Let\'s Snuggle Forever';
157
+ if (moveName === 'Psychic' && item === 'Mewnium Z')
158
+ return 'Genesis Supernova';
159
+ if (moveName === 'Sparkling Aria' && item === 'Primarium Z')
160
+ return 'Oceanic Operetta';
161
+ if (moveName === 'Spectral Thief' && item === 'Marshadium Z') {
162
+ return 'Soul-Stealing 7-Star Strike';
163
+ }
164
+ if (moveName === 'Spirit Shackle' && item === 'Decidium Z')
165
+ return 'Sinister Arrow Raid';
166
+ if (moveName === 'Stone Edge' && item === 'Lycanium Z')
167
+ return 'Splintered Stormshards';
168
+ if (moveName === 'Sunsteel Strike' && item === 'Solganium Z')
169
+ return 'Searing Sunraze Smash';
170
+ if (moveName === 'Volt Tackle' && item === 'Pikanium Z')
171
+ return 'Catastropika';
172
+ if (moveName === 'Nature\'s Madness' && item === 'Tapunium Z')
173
+ return 'Guardian of Alola';
174
+ if (moveName === 'Thunderbolt') {
175
+ if (item === 'Aloraichium Z')
176
+ return 'Stoked Sparksurfer';
177
+ if (item === 'Pikashunium Z')
178
+ return '10,000,000 Volt Thunderbolt';
179
+ }
180
+ return ZMOVES_TYPING[moveType];
181
+ }
182
+ exports.getZMoveName = getZMoveName;
183
+ var ZMOVES_TYPING = {
184
+ Bug: 'Savage Spin-Out',
185
+ Dark: 'Black Hole Eclipse',
186
+ Dragon: 'Devastating Drake',
187
+ Electric: 'Gigavolt Havoc',
188
+ Fairy: 'Twinkle Tackle',
189
+ Fighting: 'All-Out Pummeling',
190
+ Fire: 'Inferno Overdrive',
191
+ Flying: 'Supersonic Skystrike',
192
+ Ghost: 'Never-Ending Nightmare',
193
+ Grass: 'Bloom Doom',
194
+ Ground: 'Tectonic Rage',
195
+ Ice: 'Subzero Slammer',
196
+ Normal: 'Breakneck Blitz',
197
+ Poison: 'Acid Downpour',
198
+ Psychic: 'Shattered Psyche',
199
+ Rock: 'Continental Crush',
200
+ Steel: 'Corkscrew Crash',
201
+ Water: 'Hydro Vortex'
202
+ };
203
+ function getMaxMoveName(moveType, moveName, pokemonSpecies, isStatus, pokemonAbility) {
204
+ if (isStatus)
205
+ return 'Max Guard';
206
+ if (pokemonAbility === 'Normalize')
207
+ return 'Max Strike';
208
+ if (moveType === 'Fire') {
209
+ if (pokemonSpecies === 'Charizard-Gmax')
210
+ return 'G-Max Wildfire';
211
+ if (pokemonSpecies === 'Centiskorch-Gmax')
212
+ return 'G-Max Centiferno';
213
+ if (pokemonSpecies === 'Cinderace-Gmax')
214
+ return 'G-Max Fire Ball';
215
+ }
216
+ if (moveType === 'Normal') {
217
+ if (pokemonSpecies === 'Eevee-Gmax')
218
+ return 'G-Max Cuddle';
219
+ if (pokemonSpecies === 'Meowth-Gmax')
220
+ return 'G-Max Gold Rush';
221
+ if (pokemonSpecies === 'Snorlax-Gmax')
222
+ return 'G-Max Replenish';
223
+ if (!(moveName === 'Weather Ball' || moveName === 'Terrain Pulse')) {
224
+ if (pokemonAbility === 'Pixilate')
225
+ return 'Max Starfall';
226
+ if (pokemonAbility === 'Aerilate')
227
+ return 'Max Airstream';
228
+ if (pokemonAbility === 'Refrigerate')
229
+ return 'Max Hailstorm';
230
+ if (pokemonAbility === 'Galvanize')
231
+ return 'Max Lightning';
232
+ }
233
+ }
234
+ if (moveType === 'Fairy') {
235
+ if (pokemonSpecies === 'Alcremie-Gmax')
236
+ return 'G-Max Finale';
237
+ if (pokemonSpecies === 'Hatterene-Gmax')
238
+ return 'G-Max Smite';
239
+ }
240
+ if (moveType === 'Steel') {
241
+ if (pokemonSpecies === 'Copperajah-Gmax')
242
+ return 'G-Max Steelsurge';
243
+ if (pokemonSpecies === 'Melmetal-Gmax')
244
+ return 'G-Max Meltdown';
245
+ }
246
+ if (moveType === 'Electric') {
247
+ if (pokemonSpecies === 'Pikachu-Gmax')
248
+ return 'G-Max Volt Crash';
249
+ if ((pokemonSpecies === null || pokemonSpecies === void 0 ? void 0 : pokemonSpecies.startsWith('Toxtricity')) &&
250
+ (pokemonSpecies === null || pokemonSpecies === void 0 ? void 0 : pokemonSpecies.endsWith('Gmax')))
251
+ return 'G-Max Stun Shock';
252
+ }
253
+ if (moveType === 'Grass') {
254
+ if (pokemonSpecies === 'Appletun-Gmax')
255
+ return 'G-Max Sweetness';
256
+ if (pokemonSpecies === 'Flapple-Gmax')
257
+ return 'G-Max Tartness';
258
+ if (pokemonSpecies === 'Rillaboom-Gmax')
259
+ return 'G-Max Drum Solo';
260
+ if (pokemonSpecies === 'Venusaur-Gmax')
261
+ return 'G-Max Vine Lash';
262
+ }
263
+ if (moveType === 'Water') {
264
+ if (pokemonSpecies === 'Blastoise-Gmax')
265
+ return 'G-Max Cannonade';
266
+ if (pokemonSpecies === 'Drednaw-Gmax')
267
+ return 'G-Max Stonesurge';
268
+ if (pokemonSpecies === 'Inteleon-Gmax')
269
+ return 'G-Max Hydrosnipe';
270
+ if (pokemonSpecies === 'Kingler-Gmax')
271
+ return 'G-Max Foam Burst';
272
+ if (pokemonSpecies === 'Urshifu-Rapid-Strike-Gmax')
273
+ return 'G-Max Rapid Flow';
274
+ }
275
+ if (moveType === 'Dark') {
276
+ if (pokemonSpecies === 'Grimmsnarl-Gmax')
277
+ return 'G-Max Snooze';
278
+ if (pokemonSpecies === 'Urshifu-Gmax')
279
+ return 'G-Max One Blow';
280
+ }
281
+ if (moveType === 'Poison' && pokemonSpecies === 'Garbodor-Gmax')
282
+ return 'G-Max Malodor';
283
+ if (moveType === 'Fighting' && pokemonSpecies === 'Machamp-Gmax')
284
+ return 'G-Max Chi Strike';
285
+ if (moveType === 'Ghost' && pokemonSpecies === 'Gengar-Gmax')
286
+ return 'G-Max Terror';
287
+ if (moveType === 'Ice' && pokemonSpecies === 'Lapras-Gmax')
288
+ return 'G-Max Resonance';
289
+ if (moveType === 'Flying' && pokemonSpecies === 'Corviknight-Gmax')
290
+ return 'G-Max Wind Rage';
291
+ if (moveType === 'Dragon' && pokemonSpecies === 'Duraludon-Gmax')
292
+ return 'G-Max Depletion';
293
+ if (moveType === 'Psychic' && pokemonSpecies === 'Orbeetle-Gmax')
294
+ return 'G-Max Gravitas';
295
+ if (moveType === 'Rock' && pokemonSpecies === 'Coalossal-Gmax')
296
+ return 'G-Max Volcalith';
297
+ if (moveType === 'Ground' && pokemonSpecies === 'Sandaconda-Gmax')
298
+ return 'G-Max Sandblast';
299
+ if (moveType === 'Dark' && pokemonSpecies === 'Grimmsnarl-Gmax')
300
+ return 'G-Max Snooze';
301
+ return 'Max ' + MAXMOVES_TYPING[moveType];
302
+ }
303
+ exports.getMaxMoveName = getMaxMoveName;
304
+ var MAXMOVES_TYPING = {
305
+ Bug: 'Flutterby',
306
+ Dark: 'Darkness',
307
+ Dragon: 'Wyrmwind',
308
+ Electric: 'Lightning',
309
+ Fairy: 'Starfall',
310
+ Fighting: 'Knuckle',
311
+ Fire: 'Flare',
312
+ Flying: 'Airstream',
313
+ Ghost: 'Phantasm',
314
+ Grass: 'Overgrowth',
315
+ Ground: 'Quake',
316
+ Ice: 'Hailstorm',
317
+ Normal: 'Strike',
318
+ Poison: 'Ooze',
319
+ Psychic: 'Mindstorm',
320
+ Rock: 'Rockfall',
321
+ Steel: 'Steelspike',
322
+ Water: 'Geyser'
323
+ };
324
+ //# sourceMappingURL=move.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move.js","sourceRoot":"","sources":["../src/move.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type * as I from './data/interface';
2
+ import type { State } from './state';
3
+ export declare class Pokemon implements State.Pokemon {
4
+ gen: I.Generation;
5
+ name: I.SpeciesName;
6
+ species: I.Specie;
7
+ types: [I.TypeName] | [I.TypeName, I.TypeName];
8
+ weightkg: number;
9
+ level: number;
10
+ gender?: I.GenderName;
11
+ ability?: I.AbilityName;
12
+ abilityOn?: boolean;
13
+ isDynamaxed?: boolean;
14
+ dynamaxLevel?: number;
15
+ isSaltCure?: boolean;
16
+ alliesFainted?: number;
17
+ boostedStat?: I.StatIDExceptHP | 'auto';
18
+ item?: I.ItemName;
19
+ disabledItem?: I.ItemName;
20
+ teraType?: I.TypeName;
21
+ nature: I.NatureName;
22
+ ivs: I.StatsTable;
23
+ evs: I.StatsTable;
24
+ boosts: I.StatsTable;
25
+ rawStats: I.StatsTable;
26
+ stats: I.StatsTable;
27
+ originalCurHP: number;
28
+ status: I.StatusName | '';
29
+ toxicCounter: number;
30
+ moves: I.MoveName[];
31
+ constructor(gen: I.Generation, name: string, options?: Partial<State.Pokemon> & {
32
+ curHP?: number;
33
+ ivs?: Partial<I.StatsTable> & {
34
+ spc?: number;
35
+ };
36
+ evs?: Partial<I.StatsTable> & {
37
+ spc?: number;
38
+ };
39
+ boosts?: Partial<I.StatsTable> & {
40
+ spc?: number;
41
+ };
42
+ });
43
+ maxHP(original?: boolean): number;
44
+ curHP(original?: boolean): number;
45
+ hasAbility(...abilities: string[]): boolean;
46
+ hasItem(...items: string[]): boolean;
47
+ hasStatus(...statuses: I.StatusName[]): boolean;
48
+ hasType(...types: I.TypeName[]): boolean;
49
+ hasOriginalType(...types: I.TypeName[]): boolean;
50
+ named(...names: string[]): boolean;
51
+ clone(): Pokemon;
52
+ private calcStat;
53
+ static getForme(gen: I.Generation, speciesName: string, item?: I.ItemName, moveName?: I.MoveName): string;
54
+ private static withDefault;
55
+ }