@pkmn/data 0.4.25 → 0.5.2
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/README.md +78 -3
- package/build/index.d.ts +14 -13
- package/build/index.js +7 -6
- package/build/index.js.map +1 -1
- package/build/production.min.js +1 -1
- package/index.ts +29 -26
- package/package.json +7 -5
package/README.md
CHANGED
|
@@ -55,9 +55,9 @@ a couple of Pokémon Showdown quirks. While this interface is far from the
|
|
|
55
55
|
|
|
56
56
|
- data returned from a `Generation`s methods are constrained to the generation in question. Data
|
|
57
57
|
which does not exist, only exists in later gens, or is illegal or non standard will not be
|
|
58
|
-
returned which means you do not need filter data before using it. This allows you to define the
|
|
59
|
-
legality requirements for your data set up front across all data types and then forget
|
|
60
|
-
as opposed to having to filter at each call site.
|
|
58
|
+
returned which means you do not need filter data before using it. This allows you to [define the
|
|
59
|
+
legality requirements for your data set up front](#existsfn) across all data types and then forget
|
|
60
|
+
about it, as opposed to having to filter at each call site.
|
|
61
61
|
- `undefined` is returned from functions as opposed to an object with its `exists` field set to
|
|
62
62
|
`false`. `undefined` fails loudly, can be checked statically by Typescript and allows for more
|
|
63
63
|
efficient implementation under the hood.
|
|
@@ -99,6 +99,81 @@ assert(await gens.get(4).learnsets.canLearn('Ursaring', 'Rock Climb'));
|
|
|
99
99
|
|
|
100
100
|
Please see the [unit tests](index.test.ts) for more comprehensive usage examples.
|
|
101
101
|
|
|
102
|
+
#### `ExistsFn`
|
|
103
|
+
|
|
104
|
+
Pokémon Showdown includes a lot of [nonstandard
|
|
105
|
+
information](https://github.com/smogon/pokemon-showdown/blob/master/sim/NONSTANDARD.md) in its data
|
|
106
|
+
files and expects developers to check the data returned by each API to ensure it is satisfactory for
|
|
107
|
+
your use case. Checking at every callsite is error prone and redundant - with `@pkmn/data`, the
|
|
108
|
+
filter function is configured up front on the `Generations` instance and is applied automatically on
|
|
109
|
+
every API.
|
|
110
|
+
|
|
111
|
+
By default, `Generations` uses an existence filter that ensures only data that exists in the latest
|
|
112
|
+
official release of a given Pokémon generation is returned. This is usually what you want, and as
|
|
113
|
+
such the most of the time you don't need to worry about existence at all. However, there are certain
|
|
114
|
+
circumstances where you might want to loosen the restrictions of the default existence function, eg.
|
|
115
|
+
to allow for Pokémon which have canonically existed but have not been included in the latest
|
|
116
|
+
release. This can be accomplished by passing an `ExistsFn` implementation as the second argument to
|
|
117
|
+
the `Generations` constructor:
|
|
118
|
+
|
|
119
|
+
```ts
|
|
120
|
+
// These species are unobtainable outside of their own generations, but this data gets lost in the
|
|
121
|
+
// Pokémon Showdown data files because isNonstandard is a scalar value and isNonstandard = 'Past'
|
|
122
|
+
// overwrites the isNonstandard = 'Unobtainable' designation
|
|
123
|
+
const NATDEX_UNOBTAINABLE_SPECIES = [
|
|
124
|
+
'Eevee-Starter', 'Floette-Eternal', 'Pichu-Spiky-eared', 'Pikachu-Belle', 'Pikachu-Cosplay',
|
|
125
|
+
'Pikachu-Libre', 'Pikachu-PhD', 'Pikachu-Pop-Star', 'Pikachu-Rock-Star', 'Pikachu-Starter',
|
|
126
|
+
'Eternatus-Eternamax',
|
|
127
|
+
];
|
|
128
|
+
|
|
129
|
+
const NATDEX_EXISTS = (d: Data, g: GenerationNum) => {
|
|
130
|
+
// The "National Dex" rules only apply to gen 8, but this ExistsFn gets called on all generations
|
|
131
|
+
if (g !== 8) return Generations.DEFAULT_EXISTS(d, g);
|
|
132
|
+
// These checks remain unchanged from the default existence filter
|
|
133
|
+
if (!d.exists) return false;
|
|
134
|
+
if (d.kind === 'Ability' && d.id === 'noability') return false;
|
|
135
|
+
// "National Dex" rules allows for data from the past, but not other forms of nonstandard-ness
|
|
136
|
+
if ('isNonstandard' in d && d.isNonstandard && d.isNonstandard !== 'Past') return false;
|
|
137
|
+
// Unlike the check in the default existence function we don't want to filter out the 'Illegal' tier
|
|
138
|
+
if ('tier' in d && d.tier === 'Unreleased') return false;
|
|
139
|
+
// Filter out the unobtainable species
|
|
140
|
+
if (d.kind === 'Species' && NATDEX_UNOBTAINABLE_SPECIES.includes(d.name)) return false;
|
|
141
|
+
// Nonstandard items other than Z-Crystals and Pokémon-specific items should be filtered
|
|
142
|
+
return !(d.kind === 'Item' && ['Past', 'Unobtainable'].includes(d.isNonstandard!) &&
|
|
143
|
+
!d.zMove && !d.itemUser && !d.forcedForme);
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
const gens = new Generations(Dex, NATDEX_EXISTS);
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
The above example showcases an existence filter which includes data legal in Pokémon Showdown's
|
|
150
|
+
"National Dex" metagames. This is a particularly hairy existence filter due to how the [`'Standard
|
|
151
|
+
NatDex'` ruleset is
|
|
152
|
+
defined](https://github.com/smogon/pokemon-showdown/blob/master/data/rulesets.ts) and is subject to
|
|
153
|
+
change at the whims of the Pokémon Showdown developers. Alternative `ExistsFn` implementations can
|
|
154
|
+
be used to include Pokémon from [Smogon's Create-A-Pokémon Project](https://www.smogon.com/cap/),
|
|
155
|
+
unreleased data, Pokéstart Pokémon, etc. Note that as covered above, the `ExistsFn` only gets
|
|
156
|
+
applied at the object-level, **field-level existence still must be handled manually**.
|
|
157
|
+
|
|
158
|
+
#### Mods
|
|
159
|
+
|
|
160
|
+
`Generations` can be used with `Dex` objects that have been modified by the `Dex.mod` API, though it
|
|
161
|
+
first requires that the modded `Dex` be wrapped by the `ModdedDex` abstraction provided by
|
|
162
|
+
[`@pkmn/mods`](../mods):
|
|
163
|
+
|
|
164
|
+
```ts
|
|
165
|
+
import {Dex, ID, ModData} from '@pkmn/dex';
|
|
166
|
+
import {ModdexDex} from '@pkmn/mods';
|
|
167
|
+
|
|
168
|
+
const dex = Dex.mod('gen8bdsp' as ID, await import('@pkmn/mods/gen8bdsp') as ModData);
|
|
169
|
+
const gens = new Generations(new ModdedDex(dex));
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Wrapping a modded `Dex` in `ModdedDex` is already the recommended practice to allow for better
|
|
173
|
+
typechecking, but in the case of `@pkmn/data` the wrapper is required as `Generations` calls
|
|
174
|
+
`Dex.forGen` under the hood which will default to an unmodded `Dex` (`ModdedDex` overrides
|
|
175
|
+
`Dex.forGen` to return the modded `Dex` for the generation that was modded).
|
|
176
|
+
|
|
102
177
|
### Browser
|
|
103
178
|
|
|
104
179
|
The recommended way of using `@pkmn/data` in a web browser is to **configure your bundler**
|
package/build/index.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { AbilityName, Condition, Data, Dex, EggGroup, EvoType, FormeName, GenderName, GenerationNum, ID, ItemName, Move, MoveCategory, MoveName, MoveSource, Nature, Nonstandard, Species as DexSpecies, SpeciesAbility, SpeciesName, SpeciesTag, StatID, StatsTable, Tier, Type as DexType, TypeName } from '@pkmn/dex-types';
|
|
2
|
-
declare
|
|
3
|
-
declare type
|
|
2
|
+
export declare type ExistsFn = (d: Data, g: GenerationNum) => boolean;
|
|
3
|
+
declare type BoundExistsFn = (d: Data) => boolean;
|
|
4
4
|
export declare function toID(text: any): ID;
|
|
5
5
|
export declare class Generations {
|
|
6
6
|
private readonly cache;
|
|
7
7
|
private readonly dex;
|
|
8
8
|
private readonly exists;
|
|
9
|
+
static DEFAULT_EXISTS: (d: Data) => boolean;
|
|
9
10
|
constructor(dex: Dex, exists?: (d: Data) => boolean);
|
|
10
11
|
get(gen: GenerationNum): Generation;
|
|
11
12
|
[Symbol.iterator](): Generator<Generation, void, unknown>;
|
|
@@ -22,7 +23,7 @@ export declare class Generation {
|
|
|
22
23
|
readonly stats: Stats;
|
|
23
24
|
readonly dex: Dex;
|
|
24
25
|
private readonly exists;
|
|
25
|
-
constructor(dex: Dex, exists:
|
|
26
|
+
constructor(dex: Dex, exists: BoundExistsFn);
|
|
26
27
|
get num(): GenerationNum;
|
|
27
28
|
toString(): string;
|
|
28
29
|
toJSON(): string;
|
|
@@ -30,21 +31,21 @@ export declare class Generation {
|
|
|
30
31
|
export declare class Abilities {
|
|
31
32
|
private readonly dex;
|
|
32
33
|
private readonly exists;
|
|
33
|
-
constructor(dex: Dex, exists:
|
|
34
|
+
constructor(dex: Dex, exists: BoundExistsFn);
|
|
34
35
|
get(name: string): import("@pkmn/dex-types").Ability | undefined;
|
|
35
36
|
[Symbol.iterator](): Generator<import("@pkmn/dex-types").Ability, void, unknown>;
|
|
36
37
|
}
|
|
37
38
|
export declare class Items {
|
|
38
39
|
private readonly dex;
|
|
39
40
|
private readonly exists;
|
|
40
|
-
constructor(dex: Dex, exists:
|
|
41
|
+
constructor(dex: Dex, exists: BoundExistsFn);
|
|
41
42
|
get(name: string): import("@pkmn/dex-types").Item | undefined;
|
|
42
43
|
[Symbol.iterator](): Generator<import("@pkmn/dex-types").Item, void, unknown>;
|
|
43
44
|
}
|
|
44
45
|
export declare class Moves {
|
|
45
46
|
private readonly dex;
|
|
46
47
|
private readonly exists;
|
|
47
|
-
constructor(dex: Dex, exists:
|
|
48
|
+
constructor(dex: Dex, exists: BoundExistsFn);
|
|
48
49
|
get(name: string): Move | undefined;
|
|
49
50
|
[Symbol.iterator](): Generator<Move, void, unknown>;
|
|
50
51
|
}
|
|
@@ -52,7 +53,7 @@ export declare class Species {
|
|
|
52
53
|
private readonly cache;
|
|
53
54
|
private readonly dex;
|
|
54
55
|
private readonly exists;
|
|
55
|
-
constructor(dex: Dex, exists:
|
|
56
|
+
constructor(dex: Dex, exists: BoundExistsFn);
|
|
56
57
|
get(name: string): Specie | undefined;
|
|
57
58
|
[Symbol.iterator](): Generator<Specie, void, unknown>;
|
|
58
59
|
}
|
|
@@ -115,7 +116,7 @@ export declare class Specie implements DexSpecies {
|
|
|
115
116
|
readonly canHatch: boolean;
|
|
116
117
|
private readonly dex;
|
|
117
118
|
private static readonly EXCLUDE;
|
|
118
|
-
constructor(dex: Dex, exists:
|
|
119
|
+
constructor(dex: Dex, exists: BoundExistsFn, species: DexSpecies);
|
|
119
120
|
get formeNum(): number;
|
|
120
121
|
toString(): SpeciesName;
|
|
121
122
|
toJSON(): {
|
|
@@ -125,13 +126,13 @@ export declare class Specie implements DexSpecies {
|
|
|
125
126
|
export declare class Conditions {
|
|
126
127
|
private readonly dex;
|
|
127
128
|
private readonly exists;
|
|
128
|
-
constructor(dex: Dex, exists:
|
|
129
|
+
constructor(dex: Dex, exists: BoundExistsFn);
|
|
129
130
|
get(name: string): Condition | undefined;
|
|
130
131
|
}
|
|
131
132
|
export declare class Natures {
|
|
132
133
|
private readonly dex;
|
|
133
134
|
private readonly exists;
|
|
134
|
-
constructor(dex: Dex, exists:
|
|
135
|
+
constructor(dex: Dex, exists: BoundExistsFn);
|
|
135
136
|
get(name: string): Nature | undefined;
|
|
136
137
|
[Symbol.iterator](): Generator<Nature, void, unknown>;
|
|
137
138
|
}
|
|
@@ -145,7 +146,7 @@ export declare class Types {
|
|
|
145
146
|
private readonly unknown;
|
|
146
147
|
private readonly dex;
|
|
147
148
|
private readonly exists;
|
|
148
|
-
constructor(dex: Dex, exists:
|
|
149
|
+
constructor(dex: Dex, exists: BoundExistsFn);
|
|
149
150
|
get(name: string): Type | undefined;
|
|
150
151
|
[Symbol.iterator](): Generator<Type, void, unknown>;
|
|
151
152
|
getHiddenPower(ivs: StatsTable): {
|
|
@@ -188,7 +189,7 @@ export declare class Learnsets {
|
|
|
188
189
|
private readonly gen;
|
|
189
190
|
private readonly dex;
|
|
190
191
|
private readonly exists;
|
|
191
|
-
constructor(gen: Generation, dex: Dex, exists:
|
|
192
|
+
constructor(gen: Generation, dex: Dex, exists: BoundExistsFn);
|
|
192
193
|
get(name: string): Promise<import("@pkmn/dex-types").Learnset | undefined>;
|
|
193
194
|
[Symbol.iterator](): AsyncGenerator<import("@pkmn/dex-types").Learnset, void, unknown>;
|
|
194
195
|
all(species: Specie): AsyncGenerator<import("@pkmn/dex-types").Learnset, void, unknown>;
|
|
@@ -196,7 +197,7 @@ export declare class Learnsets {
|
|
|
196
197
|
[moveid: string]: string[];
|
|
197
198
|
} | undefined>;
|
|
198
199
|
canLearn(name: string, move: Move | string, restriction?: Restriction): Promise<boolean>;
|
|
199
|
-
|
|
200
|
+
isLegal(move: Move, sources: MoveSource[] | undefined, gen: Generation | Restriction): boolean | undefined;
|
|
200
201
|
}
|
|
201
202
|
export declare class Stats {
|
|
202
203
|
private readonly dex;
|
package/build/index.js
CHANGED
|
@@ -47,7 +47,7 @@ function toID(text) {
|
|
|
47
47
|
}
|
|
48
48
|
exports.toID = toID;
|
|
49
49
|
class Generations {
|
|
50
|
-
constructor(dex, exists = DEFAULT_EXISTS) {
|
|
50
|
+
constructor(dex, exists = Generations.DEFAULT_EXISTS) {
|
|
51
51
|
this.cache = Object.create(null);
|
|
52
52
|
this.dex = dex;
|
|
53
53
|
this.exists = exists;
|
|
@@ -55,7 +55,7 @@ class Generations {
|
|
|
55
55
|
get(gen) {
|
|
56
56
|
if (this.cache[gen])
|
|
57
57
|
return this.cache[gen];
|
|
58
|
-
return (this.cache[gen] = new Generation(this.dex.forGen(gen), this.exists));
|
|
58
|
+
return (this.cache[gen] = new Generation(this.dex.forGen(gen), d => this.exists(d, gen)));
|
|
59
59
|
}
|
|
60
60
|
*[Symbol.iterator]() {
|
|
61
61
|
for (let gen = 1; gen <= 8; gen++) {
|
|
@@ -64,6 +64,7 @@ class Generations {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
exports.Generations = Generations;
|
|
67
|
+
Generations.DEFAULT_EXISTS = DEFAULT_EXISTS;
|
|
67
68
|
class Generation {
|
|
68
69
|
constructor(dex, exists) {
|
|
69
70
|
this.dex = dex;
|
|
@@ -438,7 +439,7 @@ class Learnsets {
|
|
|
438
439
|
const move = this.gen.moves.get(moveid);
|
|
439
440
|
if (move) {
|
|
440
441
|
const sources = learnset.learnset[moveid];
|
|
441
|
-
if (
|
|
442
|
+
if (this.isLegal(move, sources, restriction || this.gen)) {
|
|
442
443
|
moves[move.id] = sources.filter(s => +s.charAt(0) <= this.gen.num);
|
|
443
444
|
}
|
|
444
445
|
}
|
|
@@ -469,7 +470,7 @@ class Learnsets {
|
|
|
469
470
|
try {
|
|
470
471
|
for (var _c = __asyncValues(this.all(species)), _d; _d = await _c.next(), !_d.done;) {
|
|
471
472
|
const learnset = _d.value;
|
|
472
|
-
if (
|
|
473
|
+
if (this.isLegal(move, (_b = learnset.learnset) === null || _b === void 0 ? void 0 : _b[move.id], restriction || this.gen)) {
|
|
473
474
|
return true;
|
|
474
475
|
}
|
|
475
476
|
}
|
|
@@ -483,7 +484,7 @@ class Learnsets {
|
|
|
483
484
|
}
|
|
484
485
|
return false;
|
|
485
486
|
}
|
|
486
|
-
|
|
487
|
+
isLegal(move, sources, gen) {
|
|
487
488
|
if (!sources)
|
|
488
489
|
return undefined;
|
|
489
490
|
const gens = sources.map(x => Number(x[0]));
|
|
@@ -496,7 +497,7 @@ class Learnsets {
|
|
|
496
497
|
return gens.includes(7) && !vcOnly;
|
|
497
498
|
if (gen === 'Galar')
|
|
498
499
|
return gens.includes(8) && !vcOnly;
|
|
499
|
-
if (minGen <= 4 && (GEN3_HMS.has(move.id) || GEN4_HMS.has(move.id))) {
|
|
500
|
+
if (this.gen.num >= 3 && minGen <= 4 && (GEN3_HMS.has(move.id) || GEN4_HMS.has(move.id))) {
|
|
500
501
|
let legalGens = '';
|
|
501
502
|
let available = false;
|
|
502
503
|
if (minGen === 3) {
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/build/production.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var _this=this;function _defineProperties(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _createClass(e,t,i){return t&&_defineProperties(e.prototype,t),i&&_defineProperties(e,i),e}!function(){"use strict";var e={},t=_this&&_this.__await||function(e){return this instanceof t?(this.v=e,this):new t(e)},i=_this&&_this.__asyncGenerator||function(e,i,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var s,r=n.apply(e,i||[]),o=[];return s={},a("next"),a("throw"),a("return"),s[Symbol.asyncIterator]=function(){return this},s;function a(e){r[e]&&(s[e]=function(t){return new Promise((function(i,n){o.push([e,t,i,n])>1||h(e,t)}))})}function h(e,i){try{(n=r[e](i)).value instanceof t?Promise.resolve(n.value.v).then(c,u):d(o[0][2],n)}catch(e){d(o[0][3],e)}var n}function c(e){h("next",e)}function u(e){h("throw",e)}function d(e,t){e(t),o.shift(),o.length&&h(o[0][0],o[0][1])}},n=_this&&_this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,i=e[Symbol.asyncIterator];return i?i.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(i){t[i]=e[i]&&function(t){return new Promise((function(n,s){(function(e,t,i,n){Promise.resolve(n).then((function(t){e({value:t,done:i})}),t)})(n,s,(t=e[i](t)).done,t.value)}))}}};e.Stats=e.Learnsets=e.Type=e.Types=e.Natures=e.Conditions=e.Specie=e.Species=e.Moves=e.Items=e.Abilities=e.Generation=e.Generations=e.toID=void 0;var s=function(e){return!!e.exists&&((!("isNonstandard"in e)||!e.isNonstandard)&&(("Ability"!==e.kind||"noability"!==e.id)&&!("tier"in e&&["Illegal","Unreleased"].includes(e.tier))))},r=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t?(e>>>0)%2**t:e>>>0};function o(e,t,i){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&!i.has(n)&&(e[n]=t[n]);return e}function a(e){return(null==e?void 0:e.id)&&(e=e.id),"string"!=typeof e&&"number"!=typeof e?"":(""+e).toLowerCase().replace(/[^a-z0-9]+/g,"")}e.toID=a;var h=function(e){function t(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s;this.cache=Object.create(null),this.dex=e,this.exists=t}var i=t.prototype;return i.get=function(e){return this.cache[e]?this.cache[e]:this.cache[e]=new c(this.dex.forGen(e),this.exists)},i[e]=function*(){for(var e=1;e<=8;e++)yield this.get(e)},t}(Symbol.iterator);e.Generations=h;var c=function(){function e(e,t){this.dex=e,this.exists=t,this.abilities=new u(this.dex,this.exists),this.items=new d(this.dex,this.exists),this.moves=new f(this.dex,this.exists),this.species=new l(this.dex,this.exists),this.natures=new g(this.dex,this.exists),this.types=new x(this.dex,this.exists),this.learnsets=new D(this,this.dex,this.exists),this.conditions=new p(this.dex,this.exists),this.stats=new I(this.dex)}var t=e.prototype;return t.toString=function(){return"[Generation:"+this.num+"]"},t.toJSON=function(){return this.toString()},_createClass(e,[{key:"num",get:function(){return this.dex.gen}}]),e}();e.Generation=c;var u=function(e){function t(e,t){this.dex=e,this.exists=t}var i=t.prototype;return i.get=function(e){var t=this.dex.abilities.get(e);return this.exists(t)?t:void 0},i[e]=function*(){for(var e in this.dex.data.Abilities){var t=this.get(e);t&&(yield t)}},t}(Symbol.iterator);e.Abilities=u;var d=function(e){function t(e,t){this.dex=e,this.exists=t}var i=t.prototype;return i.get=function(e){var t=this.dex.items.get(e);return this.exists(t)?t:void 0},i[e]=function*(){for(var e in this.dex.data.Items){var t=this.get(e);t&&(yield t)}},t}(Symbol.iterator);e.Items=d;var f=function(e){function t(e,t){this.dex=e,this.exists=t}var i=t.prototype;return i.get=function(e){var t=this.dex.moves.get(e);return this.exists(t)?t:void 0},i[e]=function*(){for(var e in this.dex.data.Moves){var t=this.get(e);t&&(yield t)}},t}(Symbol.iterator);e.Moves=f;var l=function(e){function t(e,t){this.cache=Object.create(null),this.dex=e,this.exists=t}var i=t.prototype;return i.get=function(e){var t=this.dex.species.get(e);if(this.exists(t)){var i=t.speciesid||t.id,n=this.cache[i];return n||(this.cache[i]=new v(this.dex,this.exists,t))}},i[e]=function*(){for(var e in this.dex.data.Species){var t=this.get(e);t&&(yield t)}},t}(Symbol.iterator);e.Species=l;var v=function(){function e(t,i,n){var s,r,a,h,c,u,d,f,l,v=this;o(this,n,e.EXCLUDE),this.dex=t,this.dex.gen>=2?(this.gender=n.gender,this.genderRatio=n.genderRatio):this.genderRatio={M:0,F:0},this.dex.gen>=3?(this.abilities={0:n.abilities[0]},n.abilities[1]&&this.dex.abilities.get(n.abilities[1]).gen<=this.dex.gen&&(this.abilities[1]=n.abilities[1]),this.dex.gen>=5&&n.abilities.H&&(this.abilities.H=n.abilities.H),this.dex.gen>=7&&n.abilities.S&&(this.abilities.S=n.abilities.S)):this.abilities={0:""},this.evos=null===(s=n.evos)||void 0===s?void 0:s.filter((function(e){return i(v.dex.species.get(e))})),this.nfe=!!(null===(r=this.evos)||void 0===r?void 0:r.length),this.nfe||(this.evos=void 0),this.cosmeticFormes=null===(a=n.cosmeticFormes)||void 0===a?void 0:a.filter((function(e){return i(v.dex.species.get(e))})),(null===(h=this.cosmeticFormes)||void 0===h?void 0:h.length)||(this.cosmeticFormes=void 0),this.otherFormes=null===(c=n.otherFormes)||void 0===c?void 0:c.filter((function(e){return i(v.dex.species.get(e))})),(null===(u=this.otherFormes)||void 0===u?void 0:u.length)||(this.otherFormes=void 0),this.formeOrder=null===(d=n.formeOrder)||void 0===d?void 0:d.filter((function(e){return i(v.dex.species.get(e))})),(null===(f=this.formeOrder)||void 0===f?void 0:f.length)||(this.formeOrder=void 0),this.formes=null===(l=this.formeOrder)||void 0===l?void 0:l.filter((function(e){return!v.dex.species.get(e).isGigantamax})),this.prevo=n.prevo&&i(this.dex.species.get(n.prevo))?n.prevo:void 0}var t=e.prototype;return t.toString=function(){return this.name},t.toJSON=function(){return o({},this,new Set(["dex"]))},_createClass(e,[{key:"formeNum",get:function(){var e=this;return this.baseSpecies===this.name?this.formeOrder?this.formeOrder.findIndex((function(t){return t===e.name})):0:this.dex.species.get(this.baseSpecies).formeOrder.findIndex((function(t){return t===(e.isGigantamax?e.baseSpecies:e.name)}))}}]),e}();e.Specie=v,v.EXCLUDE=new Set(["abilities","cosmeticFormes","evos","gender","genderRatio","nfe","otherFormes","prevo"]);var p=function(){function e(e,t){this.dex=e,this.exists=t}return e.prototype.get=function(e){var t=this.dex.conditions.get(e);return this.exists(t)?t:void 0},e}();e.Conditions=p;var g=function(e){function t(e,t){this.dex=e,this.exists=t}var i=t.prototype;return i.get=function(e){if(!(this.dex.gen<3)){var t=this.dex.natures.get(e);return this.exists(t)?t:void 0}},i[e]=function*(){for(var e in this.dex.data.Natures){var t=this.get(e);t&&(yield t)}},t}(Symbol.iterator);e.Natures=g;var y={"-2":.25,"-1":.5,0:1,1:2,2:4},x=function(e){function t(e,t){this.cache=Object.create(null),this.dex=e,this.exists=t,this.unknown=new S({effectType:"Type",kind:"Type",id:"",name:"???",exists:e.gen<=4,gen:1,damageTaken:{},HPivs:{},HPdvs:{}},e,this)}var i=t.prototype;return i.get=function(e){if("???"===e)return this.unknown;var t=this.dex.types.get(e);if(this.exists(t)){var i=this.cache[t.id];return i||(this.cache[t.id]=new S(t,this.dex,this))}},i[e]=function*(){for(var e in this.dex.data.Types){var t=this.get(e);t&&(yield t)}this.dex.gen>=2&&this.dex.gen<=4&&(yield this.unknown)},i.getHiddenPower=function(e){return this.dex.getHiddenPower(e)},i.canDamage=function(e,t){return this.dex.getImmunity(e,t)},i.totalEffectiveness=function(e,t){if(!this.canDamage(e,t))return 0;var i=""+this.dex.getEffectiveness(e,t);return y[i]},t}(Symbol.iterator);e.Types=x;var m=[1,2,.5,0],b=["Fire","Water","Grass","Electric","Ice","Psychic","Dark","Dragon"],S=function(){function e(e,t,i){for(var n in Object.assign(this,e),this.types=i,this.category="Fairy"===this.name?void 0:b.includes(this.name)?"Special":"Physical",this.effectiveness={"???":1},t.data.Types){var s=n.charAt(0).toUpperCase()+n.slice(1);this.effectiveness[s]=m[t.data.Types[n].damageTaken[this.name]||0]}}var t=e.prototype;return t.canDamage=function(e){return this.types.canDamage(this.name,e)},t.totalEffectiveness=function(e){return this.types.totalEffectiveness(this.name,e)},t.toString=function(){return this.name},t.toJSON=function(){return o({},this,new Set(["types"]))},e}();e.Type=S;var w=new Set(["cut","fly","surf","strength","flash","rocksmash","waterfall","dive"]),k=new Set(["cut","fly","surf","strength","rocksmash","waterfall","rockclimb"]),D=function(e){function s(e,t,i){this.cache=Object.create(null),this.gen=e,this.dex=t,this.exists=i}var r=s.prototype;return r.get=async function(e){var t=await this.dex.learnsets.get(a(e));return this.exists(t)?t:void 0},r[e]=function(){return i(this,arguments,(function*(){for(var e in this.dex.data.Learnsets||(yield t(this.dex.learnsets.get("LOAD"))),this.dex.data.Learnsets){var i=yield t(this.get(e));i&&(yield yield t(i))}}))},r.all=function(e){return i(this,arguments,(function*(){var i=e.id,n=yield t(this.get(i));for(n||(i="string"==typeof e.battleOnly&&e.battleOnly!==e.baseSpecies?a(e.battleOnly):a(e.baseSpecies),n=yield t(this.get(i)));n&&(yield yield t(n),i="lycanrocdusk"===i||"rockruff"===e.id&&"rockruff"===i?"rockruffdusk":"gastrodoneast"===e.id?"gastrodon":"pumpkaboosuper"===e.id?"pumpkaboo":a(e.battleOnly||e.changesFrom||e.prevo));){var s=this.gen.species.get(i);if(!s)break;e=s,n=yield t(this.get(i))}}))},r.learnable=async function(e,t){var i,r,o=this,a=this.gen.species.get(e);if(a){if(!t){var h=this.cache[a.id];if(h)return h}var c={};try{for(var u,d=n(this.all(a));!(u=await d.next()).done;){var f=u.value;if(f.learnset)for(var l in f.learnset){var v=this.gen.moves.get(l);if(v){var p=f.learnset[l];s.isLegal(v,p,t||this.gen)&&(c[v.id]=p.filter((function(e){return+e.charAt(0)<=o.gen.num})))}}}}catch(e){i={error:e}}finally{try{u&&!u.done&&(r=d.return)&&await r.call(d)}finally{if(i)throw i.error}}return t||(this.cache[a.id]=c),c}},r.canLearn=async function(e,t,i){var r,o,a,h=this.gen.species.get(e);if(!h)return!1;if("string"==typeof(t="string"==typeof t&&this.gen.moves.get(t)||t))return!1;try{for(var c,u=n(this.all(h));!(c=await u.next()).done;){var d=c.value;if(s.isLegal(t,null===(a=d.learnset)||void 0===a?void 0:a[t.id],i||this.gen))return!0}}catch(e){r={error:e}}finally{try{c&&!c.done&&(o=u.return)&&await o.call(u)}finally{if(r)throw r.error}}return!1},s.isLegal=function(e,t,i){if(t){var n=t.map((function(e){return Number(e[0])})),s=Math.min.apply(Math,n),r=7===s&&t.every((function(e){return"7"!==e[0]||"7V"===e}))||8===s&&t.every((function(e){return"8"!==e[0]||"8V"===e}));if("Pentagon"===i)return n.includes(6);if("Plus"===i)return n.includes(7)&&!r;if("Galar"===i)return n.includes(8)&&!r;if(s<=4&&(w.has(e.id)||k.has(e.id))){var o="",a=!1;3===s&&(o+="3",a=!0),a&&(a=!w.has(e.id)),(a||n.includes(4))&&(o+="4",a=!0),a&&(a=!k.has(e.id));var h=a?5:Math.min.apply(Math,n.filter((function(e){return e>4})));return(o+="012345678".slice(h)).includes(""+i.num)}return"012345678".slice(s).includes(""+i.num)}},s}(Symbol.iterator);e.Learnsets=D;var O=["hp","atk","def","spe","spa","spd"],_={HP:"hp",hp:"hp",Attack:"atk",Atk:"atk",atk:"atk",Defense:"def",Def:"def",def:"def","Special Attack":"spa",SpA:"spa",SAtk:"spa",SpAtk:"spa",spa:"spa",Special:"spa",spc:"spa",Spc:"spa","Special Defense":"spd",SpD:"spd",SDef:"spd",SpDef:"spd",spd:"spd",Speed:"spe",Spe:"spe",Spd:"spe",spe:"spe"},P={hp:["HP","HP"],atk:["Atk","Attack"],def:["Def","Defense"],spa:["SpA","Special Attack"],spd:["SpD","Special Defense"],spe:["Spe","Speed"],spc:["Spc","Special"]},I=function(e){function t(e){this.dex=e}var i=t.prototype;return i.calc=function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:31,n=arguments.length>3?arguments[3]:void 0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:100,o=arguments.length>5?arguments[5]:void 0;if(void 0===n&&(n=this.dex.gen<3?252:0),this.dex.gen<3&&(i=2*this.toDV(i),o=void 0),"hp"===e)return 1===t?t:r(r(2*t+i+r(n/4)+100)*s/100+10);var a=r(r(2*t+i+r(n/4))*s/100+5);if(void 0!==o){if(o.plus===e)return r(r(110*a,16)/100);if(o.minus===e)return r(r(90*a,16)/100)}return a},i.get=function(e){return _[e]},i.display=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=_[e];return void 0===i?e:(1===this.dex.gen&&"spa"===i&&(i="spc"),P[i][+t])},i.fill=function(e,t){for(var i=0;i<O.length;i++){var n=O[i];n in e||(e[n]=t)}return e},i.getHPDV=function(e){return this.toDV(void 0===e.atk?31:e.atk)%2*8+this.toDV(void 0===e.def?31:e.def)%2*4+this.toDV(void 0===e.spe?31:e.spe)%2*2+this.toDV(void 0===e.spa?31:e.spa)%2},i[e]=function*(){for(var e=0;e<O.length;e++){var t=O[e];yield t}},i.toDV=function(e){return Math.floor(e/2)},i.toIV=function(e){return 2*e+1},t}(Symbol.iterator);e.Stats=I,window.Generations=e.Generations}();
|
|
1
|
+
var _this=this;function _defineProperties(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function _createClass(t,e,i){return e&&_defineProperties(t.prototype,e),i&&_defineProperties(t,i),t}!function(){"use strict";var t={},e=_this&&_this.__await||function(t){return this instanceof e?(this.v=t,this):new e(t)},i=_this&&_this.__asyncGenerator||function(t,i,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var s,r=n.apply(t,i||[]),o=[];return s={},a("next"),a("throw"),a("return"),s[Symbol.asyncIterator]=function(){return this},s;function a(t){r[t]&&(s[t]=function(e){return new Promise((function(i,n){o.push([t,e,i,n])>1||h(t,e)}))})}function h(t,i){try{(n=r[t](i)).value instanceof e?Promise.resolve(n.value.v).then(c,u):d(o[0][2],n)}catch(t){d(o[0][3],t)}var n}function c(t){h("next",t)}function u(t){h("throw",t)}function d(t,e){t(e),o.shift(),o.length&&h(o[0][0],o[0][1])}},n=_this&&_this.__asyncValues||function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,i=t[Symbol.asyncIterator];return i?i.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(i){e[i]=t[i]&&function(e){return new Promise((function(n,s){(function(t,e,i,n){Promise.resolve(n).then((function(e){t({value:e,done:i})}),e)})(n,s,(e=t[i](e)).done,e.value)}))}}};t.Stats=t.Learnsets=t.Type=t.Types=t.Natures=t.Conditions=t.Specie=t.Species=t.Moves=t.Items=t.Abilities=t.Generation=t.Generations=t.toID=void 0;var s=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e?(t>>>0)%2**e:t>>>0};function r(t,e,i){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&!i.has(n)&&(t[n]=e[n]);return t}function o(t){return(null==t?void 0:t.id)&&(t=t.id),"string"!=typeof t&&"number"!=typeof t?"":(""+t).toLowerCase().replace(/[^a-z0-9]+/g,"")}t.toID=o;var a=function(t){function e(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.DEFAULT_EXISTS;this.cache=Object.create(null),this.dex=t,this.exists=i}var i=e.prototype;return i.get=function(t){var e=this;return this.cache[t]?this.cache[t]:this.cache[t]=new h(this.dex.forGen(t),(function(i){return e.exists(i,t)}))},i[t]=function*(){for(var t=1;t<=8;t++)yield this.get(t)},e}(Symbol.iterator);t.Generations=a,a.DEFAULT_EXISTS=function(t){return!!t.exists&&((!("isNonstandard"in t)||!t.isNonstandard)&&(("Ability"!==t.kind||"noability"!==t.id)&&!("tier"in t&&["Illegal","Unreleased"].includes(t.tier))))};var h=function(){function t(t,e){this.dex=t,this.exists=e,this.abilities=new c(this.dex,this.exists),this.items=new u(this.dex,this.exists),this.moves=new d(this.dex,this.exists),this.species=new f(this.dex,this.exists),this.natures=new p(this.dex,this.exists),this.types=new y(this.dex,this.exists),this.learnsets=new k(this,this.dex,this.exists),this.conditions=new v(this.dex,this.exists),this.stats=new P(this.dex)}var e=t.prototype;return e.toString=function(){return"[Generation:"+this.num+"]"},e.toJSON=function(){return this.toString()},_createClass(t,[{key:"num",get:function(){return this.dex.gen}}]),t}();t.Generation=h;var c=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.abilities.get(t);return this.exists(e)?e:void 0},i[t]=function*(){for(var t in this.dex.data.Abilities){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Abilities=c;var u=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.items.get(t);return this.exists(e)?e:void 0},i[t]=function*(){for(var t in this.dex.data.Items){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Items=u;var d=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.moves.get(t);return this.exists(e)?e:void 0},i[t]=function*(){for(var t in this.dex.data.Moves){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Moves=d;var f=function(t){function e(t,e){this.cache=Object.create(null),this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){var e=this.dex.species.get(t);if(this.exists(e)){var i=e.speciesid||e.id,n=this.cache[i];return n||(this.cache[i]=new l(this.dex,this.exists,e))}},i[t]=function*(){for(var t in this.dex.data.Species){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Species=f;var l=function(){function t(e,i,n){var s,o,a,h,c,u,d,f,l,v=this;r(this,n,t.EXCLUDE),this.dex=e,this.dex.gen>=2?(this.gender=n.gender,this.genderRatio=n.genderRatio):this.genderRatio={M:0,F:0},this.dex.gen>=3?(this.abilities={0:n.abilities[0]},n.abilities[1]&&this.dex.abilities.get(n.abilities[1]).gen<=this.dex.gen&&(this.abilities[1]=n.abilities[1]),this.dex.gen>=5&&n.abilities.H&&(this.abilities.H=n.abilities.H),this.dex.gen>=7&&n.abilities.S&&(this.abilities.S=n.abilities.S)):this.abilities={0:""},this.evos=null===(s=n.evos)||void 0===s?void 0:s.filter((function(t){return i(v.dex.species.get(t))})),this.nfe=!!(null===(o=this.evos)||void 0===o?void 0:o.length),this.nfe||(this.evos=void 0),this.cosmeticFormes=null===(a=n.cosmeticFormes)||void 0===a?void 0:a.filter((function(t){return i(v.dex.species.get(t))})),(null===(h=this.cosmeticFormes)||void 0===h?void 0:h.length)||(this.cosmeticFormes=void 0),this.otherFormes=null===(c=n.otherFormes)||void 0===c?void 0:c.filter((function(t){return i(v.dex.species.get(t))})),(null===(u=this.otherFormes)||void 0===u?void 0:u.length)||(this.otherFormes=void 0),this.formeOrder=null===(d=n.formeOrder)||void 0===d?void 0:d.filter((function(t){return i(v.dex.species.get(t))})),(null===(f=this.formeOrder)||void 0===f?void 0:f.length)||(this.formeOrder=void 0),this.formes=null===(l=this.formeOrder)||void 0===l?void 0:l.filter((function(t){return!v.dex.species.get(t).isGigantamax})),this.prevo=n.prevo&&i(this.dex.species.get(n.prevo))?n.prevo:void 0}var e=t.prototype;return e.toString=function(){return this.name},e.toJSON=function(){return r({},this,new Set(["dex"]))},_createClass(t,[{key:"formeNum",get:function(){var t=this;return this.baseSpecies===this.name?this.formeOrder?this.formeOrder.findIndex((function(e){return e===t.name})):0:this.dex.species.get(this.baseSpecies).formeOrder.findIndex((function(e){return e===(t.isGigantamax?t.baseSpecies:t.name)}))}}]),t}();t.Specie=l,l.EXCLUDE=new Set(["abilities","cosmeticFormes","evos","gender","genderRatio","nfe","otherFormes","prevo"]);var v=function(){function t(t,e){this.dex=t,this.exists=e}return t.prototype.get=function(t){var e=this.dex.conditions.get(t);return this.exists(e)?e:void 0},t}();t.Conditions=v;var p=function(t){function e(t,e){this.dex=t,this.exists=e}var i=e.prototype;return i.get=function(t){if(!(this.dex.gen<3)){var e=this.dex.natures.get(t);return this.exists(e)?e:void 0}},i[t]=function*(){for(var t in this.dex.data.Natures){var e=this.get(t);e&&(yield e)}},e}(Symbol.iterator);t.Natures=p;var g={"-2":.25,"-1":.5,0:1,1:2,2:4},y=function(t){function e(t,e){this.cache=Object.create(null),this.dex=t,this.exists=e,this.unknown=new S({effectType:"Type",kind:"Type",id:"",name:"???",exists:t.gen<=4,gen:1,damageTaken:{},HPivs:{},HPdvs:{}},t,this)}var i=e.prototype;return i.get=function(t){if("???"===t)return this.unknown;var e=this.dex.types.get(t);if(this.exists(e)){var i=this.cache[e.id];return i||(this.cache[e.id]=new S(e,this.dex,this))}},i[t]=function*(){for(var t in this.dex.data.Types){var e=this.get(t);e&&(yield e)}this.dex.gen>=2&&this.dex.gen<=4&&(yield this.unknown)},i.getHiddenPower=function(t){return this.dex.getHiddenPower(t)},i.canDamage=function(t,e){return this.dex.getImmunity(t,e)},i.totalEffectiveness=function(t,e){if(!this.canDamage(t,e))return 0;var i=""+this.dex.getEffectiveness(t,e);return g[i]},e}(Symbol.iterator);t.Types=y;var x=[1,2,.5,0],m=["Fire","Water","Grass","Electric","Ice","Psychic","Dark","Dragon"],S=function(){function t(t,e,i){for(var n in Object.assign(this,t),this.types=i,this.category="Fairy"===this.name?void 0:m.includes(this.name)?"Special":"Physical",this.effectiveness={"???":1},e.data.Types){var s=n.charAt(0).toUpperCase()+n.slice(1);this.effectiveness[s]=x[e.data.Types[n].damageTaken[this.name]||0]}}var e=t.prototype;return e.canDamage=function(t){return this.types.canDamage(this.name,t)},e.totalEffectiveness=function(t){return this.types.totalEffectiveness(this.name,t)},e.toString=function(){return this.name},e.toJSON=function(){return r({},this,new Set(["types"]))},t}();t.Type=S;var b=new Set(["cut","fly","surf","strength","flash","rocksmash","waterfall","dive"]),w=new Set(["cut","fly","surf","strength","rocksmash","waterfall","rockclimb"]),k=function(t){function s(t,e,i){this.cache=Object.create(null),this.gen=t,this.dex=e,this.exists=i}var r=s.prototype;return r.get=async function(t){var e=await this.dex.learnsets.get(o(t));return this.exists(e)?e:void 0},r[t]=function(){return i(this,arguments,(function*(){for(var t in this.dex.data.Learnsets||(yield e(this.dex.learnsets.get("LOAD"))),this.dex.data.Learnsets){var i=yield e(this.get(t));i&&(yield yield e(i))}}))},r.all=function(t){return i(this,arguments,(function*(){var i=t.id,n=yield e(this.get(i));for(n||(i="string"==typeof t.battleOnly&&t.battleOnly!==t.baseSpecies?o(t.battleOnly):o(t.baseSpecies),n=yield e(this.get(i)));n&&(yield yield e(n),i="lycanrocdusk"===i||"rockruff"===t.id&&"rockruff"===i?"rockruffdusk":"gastrodoneast"===t.id?"gastrodon":"pumpkaboosuper"===t.id?"pumpkaboo":o(t.battleOnly||t.changesFrom||t.prevo));){var s=this.gen.species.get(i);if(!s)break;t=s,n=yield e(this.get(i))}}))},r.learnable=async function(t,e){var i,s,r=this,o=this.gen.species.get(t);if(o){if(!e){var a=this.cache[o.id];if(a)return a}var h={};try{for(var c,u=n(this.all(o));!(c=await u.next()).done;){var d=c.value;if(d.learnset)for(var f in d.learnset){var l=this.gen.moves.get(f);if(l){var v=d.learnset[f];this.isLegal(l,v,e||this.gen)&&(h[l.id]=v.filter((function(t){return+t.charAt(0)<=r.gen.num})))}}}}catch(t){i={error:t}}finally{try{c&&!c.done&&(s=u.return)&&await s.call(u)}finally{if(i)throw i.error}}return e||(this.cache[o.id]=h),h}},r.canLearn=async function(t,e,i){var s,r,o,a=this.gen.species.get(t);if(!a)return!1;if("string"==typeof(e="string"==typeof e&&this.gen.moves.get(e)||e))return!1;try{for(var h,c=n(this.all(a));!(h=await c.next()).done;){var u=h.value;if(this.isLegal(e,null===(o=u.learnset)||void 0===o?void 0:o[e.id],i||this.gen))return!0}}catch(t){s={error:t}}finally{try{h&&!h.done&&(r=c.return)&&await r.call(c)}finally{if(s)throw s.error}}return!1},r.isLegal=function(t,e,i){if(e){var n=e.map((function(t){return Number(t[0])})),s=Math.min.apply(Math,n),r=7===s&&e.every((function(t){return"7"!==t[0]||"7V"===t}))||8===s&&e.every((function(t){return"8"!==t[0]||"8V"===t}));if("Pentagon"===i)return n.includes(6);if("Plus"===i)return n.includes(7)&&!r;if("Galar"===i)return n.includes(8)&&!r;if(this.gen.num>=3&&s<=4&&(b.has(t.id)||w.has(t.id))){var o="",a=!1;3===s&&(o+="3",a=!0),a&&(a=!b.has(t.id)),(a||n.includes(4))&&(o+="4",a=!0),a&&(a=!w.has(t.id));var h=a?5:Math.min.apply(Math,n.filter((function(t){return t>4})));return(o+="012345678".slice(h)).includes(""+i.num)}return"012345678".slice(s).includes(""+i.num)}},s}(Symbol.iterator);t.Learnsets=k;var D=["hp","atk","def","spe","spa","spd"],_={HP:"hp",hp:"hp",Attack:"atk",Atk:"atk",atk:"atk",Defense:"def",Def:"def",def:"def","Special Attack":"spa",SpA:"spa",SAtk:"spa",SpAtk:"spa",spa:"spa",Special:"spa",spc:"spa",Spc:"spa","Special Defense":"spd",SpD:"spd",SDef:"spd",SpDef:"spd",spd:"spd",Speed:"spe",Spe:"spe",Spd:"spe",spe:"spe"},O={hp:["HP","HP"],atk:["Atk","Attack"],def:["Def","Defense"],spa:["SpA","Special Attack"],spd:["SpD","Special Defense"],spe:["Spe","Speed"],spc:["Spc","Special"]},P=function(t){function e(t){this.dex=t}var i=e.prototype;return i.calc=function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:31,n=arguments.length>3?arguments[3]:void 0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:100,o=arguments.length>5?arguments[5]:void 0;if(void 0===n&&(n=this.dex.gen<3?252:0),this.dex.gen<3&&(i=2*this.toDV(i),o=void 0),"hp"===t)return 1===e?e:s(s(2*e+i+s(n/4)+100)*r/100+10);var a=s(s(2*e+i+s(n/4))*r/100+5);if(void 0!==o){if(o.plus===t)return s(s(110*a,16)/100);if(o.minus===t)return s(s(90*a,16)/100)}return a},i.get=function(t){return _[t]},i.display=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=_[t];return void 0===i?t:(1===this.dex.gen&&"spa"===i&&(i="spc"),O[i][+e])},i.fill=function(t,e){for(var i=0;i<D.length;i++){var n=D[i];n in t||(t[n]=e)}return t},i.getHPDV=function(t){return this.toDV(void 0===t.atk?31:t.atk)%2*8+this.toDV(void 0===t.def?31:t.def)%2*4+this.toDV(void 0===t.spe?31:t.spe)%2*2+this.toDV(void 0===t.spa?31:t.spa)%2},i[t]=function*(){for(var t=0;t<D.length;t++){var e=D[t];yield e}},i.toDV=function(t){return Math.floor(t/2)},i.toIV=function(t){return 2*t+1},e}(Symbol.iterator);t.Stats=P,window.Generations=t.Generations}();
|
package/index.ts
CHANGED
|
@@ -36,7 +36,8 @@ const DEFAULT_EXISTS = (d: Data) => {
|
|
|
36
36
|
|
|
37
37
|
const tr = (num: number, bits = 0) => bits ? (num >>> 0) % (2 ** bits) : num >>> 0;
|
|
38
38
|
|
|
39
|
-
type ExistsFn =
|
|
39
|
+
export type ExistsFn = (d: Data, g: GenerationNum) => boolean;
|
|
40
|
+
type BoundExistsFn = (d: Data) => boolean;
|
|
40
41
|
|
|
41
42
|
function assignWithout(a: {[key: string]: any}, b: {[key: string]: any}, exclude: Set<string>) {
|
|
42
43
|
for (const key in b) {
|
|
@@ -59,14 +60,16 @@ export class Generations {
|
|
|
59
60
|
private readonly dex: Dex;
|
|
60
61
|
private readonly exists: ExistsFn;
|
|
61
62
|
|
|
62
|
-
|
|
63
|
+
static DEFAULT_EXISTS = DEFAULT_EXISTS;
|
|
64
|
+
|
|
65
|
+
constructor(dex: Dex, exists = Generations.DEFAULT_EXISTS) {
|
|
63
66
|
this.dex = dex;
|
|
64
67
|
this.exists = exists;
|
|
65
68
|
}
|
|
66
69
|
|
|
67
70
|
get(gen: GenerationNum) {
|
|
68
71
|
if (this.cache[gen]) return this.cache[gen];
|
|
69
|
-
return (this.cache[gen] = new Generation(this.dex.forGen(gen), this.exists));
|
|
72
|
+
return (this.cache[gen] = new Generation(this.dex.forGen(gen), d => this.exists(d, gen)));
|
|
70
73
|
}
|
|
71
74
|
|
|
72
75
|
*[Symbol.iterator]() {
|
|
@@ -89,9 +92,9 @@ export class Generation {
|
|
|
89
92
|
|
|
90
93
|
readonly dex: Dex;
|
|
91
94
|
|
|
92
|
-
private readonly exists:
|
|
95
|
+
private readonly exists: BoundExistsFn;
|
|
93
96
|
|
|
94
|
-
constructor(dex: Dex, exists:
|
|
97
|
+
constructor(dex: Dex, exists: BoundExistsFn) {
|
|
95
98
|
this.dex = dex;
|
|
96
99
|
this.exists = exists;
|
|
97
100
|
|
|
@@ -121,9 +124,9 @@ export class Generation {
|
|
|
121
124
|
|
|
122
125
|
export class Abilities {
|
|
123
126
|
private readonly dex: Dex;
|
|
124
|
-
private readonly exists:
|
|
127
|
+
private readonly exists: BoundExistsFn;
|
|
125
128
|
|
|
126
|
-
constructor(dex: Dex, exists:
|
|
129
|
+
constructor(dex: Dex, exists: BoundExistsFn) {
|
|
127
130
|
this.dex = dex;
|
|
128
131
|
this.exists = exists;
|
|
129
132
|
}
|
|
@@ -143,9 +146,9 @@ export class Abilities {
|
|
|
143
146
|
|
|
144
147
|
export class Items {
|
|
145
148
|
private readonly dex: Dex;
|
|
146
|
-
private readonly exists:
|
|
149
|
+
private readonly exists: BoundExistsFn;
|
|
147
150
|
|
|
148
|
-
constructor(dex: Dex, exists:
|
|
151
|
+
constructor(dex: Dex, exists: BoundExistsFn) {
|
|
149
152
|
this.dex = dex;
|
|
150
153
|
this.exists = exists;
|
|
151
154
|
}
|
|
@@ -165,9 +168,9 @@ export class Items {
|
|
|
165
168
|
|
|
166
169
|
export class Moves {
|
|
167
170
|
private readonly dex: Dex;
|
|
168
|
-
private readonly exists:
|
|
171
|
+
private readonly exists: BoundExistsFn;
|
|
169
172
|
|
|
170
|
-
constructor(dex: Dex, exists:
|
|
173
|
+
constructor(dex: Dex, exists: BoundExistsFn) {
|
|
171
174
|
this.dex = dex;
|
|
172
175
|
this.exists = exists;
|
|
173
176
|
}
|
|
@@ -189,9 +192,9 @@ export class Species {
|
|
|
189
192
|
private readonly cache = Object.create(null) as { [id: string]: Specie };
|
|
190
193
|
|
|
191
194
|
private readonly dex: Dex;
|
|
192
|
-
private readonly exists:
|
|
195
|
+
private readonly exists: BoundExistsFn;
|
|
193
196
|
|
|
194
|
-
constructor(dex: Dex, exists:
|
|
197
|
+
constructor(dex: Dex, exists: BoundExistsFn) {
|
|
195
198
|
this.dex = dex;
|
|
196
199
|
this.exists = exists;
|
|
197
200
|
}
|
|
@@ -283,7 +286,7 @@ export class Specie implements DexSpecies {
|
|
|
283
286
|
'prevo',
|
|
284
287
|
]);
|
|
285
288
|
|
|
286
|
-
constructor(dex: Dex, exists:
|
|
289
|
+
constructor(dex: Dex, exists: BoundExistsFn, species: DexSpecies) {
|
|
287
290
|
assignWithout(this, species, Specie.EXCLUDE);
|
|
288
291
|
this.dex = dex;
|
|
289
292
|
if (this.dex.gen >= 2) {
|
|
@@ -337,9 +340,9 @@ export class Specie implements DexSpecies {
|
|
|
337
340
|
|
|
338
341
|
export class Conditions {
|
|
339
342
|
private readonly dex: Dex;
|
|
340
|
-
private readonly exists:
|
|
343
|
+
private readonly exists: BoundExistsFn;
|
|
341
344
|
|
|
342
|
-
constructor(dex: Dex, exists:
|
|
345
|
+
constructor(dex: Dex, exists: BoundExistsFn) {
|
|
343
346
|
this.dex = dex;
|
|
344
347
|
this.exists = exists;
|
|
345
348
|
}
|
|
@@ -352,9 +355,9 @@ export class Conditions {
|
|
|
352
355
|
|
|
353
356
|
export class Natures {
|
|
354
357
|
private readonly dex: Dex;
|
|
355
|
-
private readonly exists:
|
|
358
|
+
private readonly exists: BoundExistsFn;
|
|
356
359
|
|
|
357
|
-
constructor(dex: Dex, exists:
|
|
360
|
+
constructor(dex: Dex, exists: BoundExistsFn) {
|
|
358
361
|
this.dex = dex;
|
|
359
362
|
this.exists = exists;
|
|
360
363
|
}
|
|
@@ -388,9 +391,9 @@ export class Types {
|
|
|
388
391
|
|
|
389
392
|
private readonly unknown: Type;
|
|
390
393
|
private readonly dex: Dex;
|
|
391
|
-
private readonly exists:
|
|
394
|
+
private readonly exists: BoundExistsFn;
|
|
392
395
|
|
|
393
|
-
constructor(dex: Dex, exists:
|
|
396
|
+
constructor(dex: Dex, exists: BoundExistsFn) {
|
|
394
397
|
this.dex = dex;
|
|
395
398
|
this.exists = exists;
|
|
396
399
|
// PS doesn't contain data for the '???' type
|
|
@@ -510,9 +513,9 @@ export class Learnsets {
|
|
|
510
513
|
|
|
511
514
|
private readonly gen: Generation;
|
|
512
515
|
private readonly dex: Dex;
|
|
513
|
-
private readonly exists:
|
|
516
|
+
private readonly exists: BoundExistsFn;
|
|
514
517
|
|
|
515
|
-
constructor(gen: Generation, dex: Dex, exists:
|
|
518
|
+
constructor(gen: Generation, dex: Dex, exists: BoundExistsFn) {
|
|
516
519
|
this.gen = gen;
|
|
517
520
|
this.dex = dex;
|
|
518
521
|
this.exists = exists;
|
|
@@ -579,7 +582,7 @@ export class Learnsets {
|
|
|
579
582
|
const move = this.gen.moves.get(moveid);
|
|
580
583
|
if (move) {
|
|
581
584
|
const sources = learnset.learnset[moveid];
|
|
582
|
-
if (
|
|
585
|
+
if (this.isLegal(move, sources, restriction || this.gen)) {
|
|
583
586
|
moves[move.id] = sources.filter(s => +s.charAt(0) <= this.gen.num);
|
|
584
587
|
}
|
|
585
588
|
}
|
|
@@ -599,7 +602,7 @@ export class Learnsets {
|
|
|
599
602
|
if (typeof move === 'string') return false;
|
|
600
603
|
|
|
601
604
|
for await (const learnset of this.all(species)) {
|
|
602
|
-
if (
|
|
605
|
+
if (this.isLegal(move, learnset.learnset?.[move.id], restriction || this.gen)) {
|
|
603
606
|
return true;
|
|
604
607
|
}
|
|
605
608
|
}
|
|
@@ -607,7 +610,7 @@ export class Learnsets {
|
|
|
607
610
|
return false;
|
|
608
611
|
}
|
|
609
612
|
|
|
610
|
-
|
|
613
|
+
isLegal(move: Move, sources: MoveSource[] | undefined, gen: Generation | Restriction) {
|
|
611
614
|
if (!sources) return undefined;
|
|
612
615
|
|
|
613
616
|
const gens = sources.map(x => Number(x[0]));
|
|
@@ -621,7 +624,7 @@ export class Learnsets {
|
|
|
621
624
|
if (gen === 'Plus') return gens.includes(7) && !vcOnly;
|
|
622
625
|
if (gen === 'Galar') return gens.includes(8) && !vcOnly;
|
|
623
626
|
|
|
624
|
-
if (minGen <= 4 && (GEN3_HMS.has(move.id) || GEN4_HMS.has(move.id))) {
|
|
627
|
+
if (this.gen.num >= 3 && minGen <= 4 && (GEN3_HMS.has(move.id) || GEN4_HMS.has(move.id))) {
|
|
625
628
|
let legalGens = '';
|
|
626
629
|
let available = false;
|
|
627
630
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pkmn/data",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"types": "build/index.d.ts",
|
|
6
6
|
"unpkg": "build/production.min.js",
|
|
@@ -16,11 +16,12 @@
|
|
|
16
16
|
"index.ts"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@pkmn/dex-types": "^0.
|
|
19
|
+
"@pkmn/dex-types": "^0.5.2"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@pkmn/dex": "^0.
|
|
23
|
-
"@pkmn/
|
|
22
|
+
"@pkmn/dex": "^0.5.2",
|
|
23
|
+
"@pkmn/mods": "^0.5.2",
|
|
24
|
+
"@pkmn/sim": "^0.5.2",
|
|
24
25
|
"@smogon/calc": "^0.6.0"
|
|
25
26
|
},
|
|
26
27
|
"scripts": {
|
|
@@ -41,7 +42,8 @@
|
|
|
41
42
|
"build/"
|
|
42
43
|
],
|
|
43
44
|
"moduleNameMapper": {
|
|
44
|
-
"^@smogon/calc/(.*)$": "<rootDir>/node_modules/@smogon/calc/dist/$1"
|
|
45
|
+
"^@smogon/calc/(.*)$": "<rootDir>/node_modules/@smogon/calc/dist/$1",
|
|
46
|
+
"^@pkmn/mods/(.*)$": "<rootDir>/node_modules/@pkmn/mods/build/$1"
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
49
|
}
|