getcompetitive 1.1.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/LICENSE +21 -0
- package/README.md +165 -0
- package/dist/archetypes.js +712 -0
- package/dist/archetypes.js.map +1 -0
- package/dist/dex.js +414 -0
- package/dist/dex.js.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/regulations.data.js +854 -0
- package/dist/regulations.data.js.map +1 -0
- package/dist/regulations.js +91 -0
- package/dist/regulations.js.map +1 -0
- package/dist/result.js +50 -0
- package/dist/result.js.map +1 -0
- package/dist/threats.js +336 -0
- package/dist/threats.js.map +1 -0
- package/dist/tools/analyze.js +268 -0
- package/dist/tools/analyze.js.map +1 -0
- package/dist/tools/calc.js +718 -0
- package/dist/tools/calc.js.map +1 -0
- package/dist/tools/data.js +763 -0
- package/dist/tools/data.js.map +1 -0
- package/dist/tools/meta.js +158 -0
- package/dist/tools/meta.js.map +1 -0
- package/dist/tools/regulations.js +332 -0
- package/dist/tools/regulations.js.map +1 -0
- package/dist/tools/schemas.js +13 -0
- package/dist/tools/schemas.js.map +1 -0
- package/dist/tools/team.js +221 -0
- package/dist/tools/team.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archetypes.js","sourceRoot":"","sources":["../src/archetypes.ts"],"names":[],"mappings":"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"}
|
package/dist/dex.js
ADDED
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared data + mechanics layer.
|
|
3
|
+
*
|
|
4
|
+
* Data (species/moves/items/abilities/natures/types/learnsets) comes from
|
|
5
|
+
* `@pkmn/dex`, which bundles the full Pokemon Showdown competitive dataset.
|
|
6
|
+
* Battle math (stat calc + damage calc) comes from `@smogon/calc`, which is
|
|
7
|
+
* self-contained and generation-aware.
|
|
8
|
+
*/
|
|
9
|
+
import { Dex, toID } from '@pkmn/dex';
|
|
10
|
+
import { Generations, Pokemon, Move as CalcMove, Field, Side, calculate, calcStat } from '@smogon/calc';
|
|
11
|
+
export { toID };
|
|
12
|
+
export const STATS = ['hp', 'atk', 'def', 'spa', 'spd', 'spe'];
|
|
13
|
+
/** The 18 classic types (Stellar is gen-9 Terastal-only; queried separately). */
|
|
14
|
+
export const TYPES18 = [
|
|
15
|
+
'Normal', 'Fighting', 'Flying', 'Poison', 'Ground', 'Rock', 'Bug', 'Ghost', 'Steel',
|
|
16
|
+
'Fire', 'Water', 'Grass', 'Electric', 'Psychic', 'Ice', 'Dragon', 'Dark', 'Fairy',
|
|
17
|
+
];
|
|
18
|
+
export const NATURES = [
|
|
19
|
+
'Adamant', 'Bashful', 'Bold', 'Brave', 'Calm', 'Careful', 'Docile', 'Gentle', 'Hardy',
|
|
20
|
+
'Hasty', 'Impish', 'Jolly', 'Lax', 'Lonely', 'Mild', 'Modest', 'Naive', 'Naughty',
|
|
21
|
+
'Quiet', 'Quirky', 'Rash', 'Relaxed', 'Sassy', 'Serious', 'Timid',
|
|
22
|
+
];
|
|
23
|
+
const dexCache = new Map();
|
|
24
|
+
/** Generation-scoped view of the Showdown dataset. */
|
|
25
|
+
export function getDex(gen) {
|
|
26
|
+
const cached = dexCache.get(gen);
|
|
27
|
+
if (cached)
|
|
28
|
+
return cached;
|
|
29
|
+
const d = Dex.forGen(gen);
|
|
30
|
+
dexCache.set(gen, d);
|
|
31
|
+
return d;
|
|
32
|
+
}
|
|
33
|
+
/** Generation-scoped @smogon/calc generator. */
|
|
34
|
+
export function getCalcGen(gen) {
|
|
35
|
+
return Generations.get(gen);
|
|
36
|
+
}
|
|
37
|
+
export function normalizeGen(input) {
|
|
38
|
+
const n = input ?? 9;
|
|
39
|
+
if (!Number.isInteger(n) || n < 1 || n > 9) {
|
|
40
|
+
throw new Error(`Unsupported generation ${input}; supported: 1-9 (default 9).`);
|
|
41
|
+
}
|
|
42
|
+
return n;
|
|
43
|
+
}
|
|
44
|
+
/** Clean, JSON-safe projection of a Species for LLM consumption. */
|
|
45
|
+
export function speciesToObj(s) {
|
|
46
|
+
return {
|
|
47
|
+
name: s.name,
|
|
48
|
+
num: s.num,
|
|
49
|
+
gen: s.gen,
|
|
50
|
+
types: s.types,
|
|
51
|
+
baseStats: s.baseStats,
|
|
52
|
+
bst: s.bst,
|
|
53
|
+
abilities: s.abilities,
|
|
54
|
+
tier: s.tier,
|
|
55
|
+
doublesTier: s.doublesTier,
|
|
56
|
+
natDexTier: s.natDexTier,
|
|
57
|
+
baseSpecies: s.baseSpecies || undefined,
|
|
58
|
+
forme: s.forme || undefined,
|
|
59
|
+
baseForme: s.baseForme || undefined,
|
|
60
|
+
otherFormes: s.otherFormes,
|
|
61
|
+
cosmeticFormes: s.cosmeticFormes,
|
|
62
|
+
formeOrder: s.formeOrder,
|
|
63
|
+
isCosmeticForme: s.isCosmeticForme,
|
|
64
|
+
battleOnly: s.battleOnly,
|
|
65
|
+
weightkg: s.weightkg,
|
|
66
|
+
genderRatio: s.genderRatio,
|
|
67
|
+
gender: s.gender,
|
|
68
|
+
eggGroups: s.eggGroups,
|
|
69
|
+
nfe: s.nfe,
|
|
70
|
+
canHatch: s.canHatch,
|
|
71
|
+
prevo: s.prevo || undefined,
|
|
72
|
+
evos: s.evos,
|
|
73
|
+
evoLevel: s.evoLevel,
|
|
74
|
+
evoItem: s.evoItem,
|
|
75
|
+
evoMove: s.evoMove,
|
|
76
|
+
evoCondition: s.evoCondition,
|
|
77
|
+
isMega: s.isMega || undefined,
|
|
78
|
+
isPrimal: s.isPrimal || undefined,
|
|
79
|
+
canGigantamax: s.canGigantamax,
|
|
80
|
+
cannotDynamax: s.cannotDynamax,
|
|
81
|
+
requiredTeraType: s.requiredTeraType,
|
|
82
|
+
isNonstandard: s.isNonstandard,
|
|
83
|
+
unreleasedHidden: s.unreleasedHidden || undefined,
|
|
84
|
+
tags: s.tags,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export function moveToObj(m) {
|
|
88
|
+
return {
|
|
89
|
+
name: m.name,
|
|
90
|
+
num: m.num,
|
|
91
|
+
gen: m.gen,
|
|
92
|
+
type: m.type,
|
|
93
|
+
category: m.category,
|
|
94
|
+
basePower: m.basePower,
|
|
95
|
+
accuracy: m.accuracy,
|
|
96
|
+
pp: m.pp,
|
|
97
|
+
priority: m.priority,
|
|
98
|
+
target: m.target,
|
|
99
|
+
flags: m.flags,
|
|
100
|
+
shortDesc: m.shortDesc,
|
|
101
|
+
desc: m.desc,
|
|
102
|
+
secondary: m.secondary ?? undefined,
|
|
103
|
+
secondaries: m.secondaries,
|
|
104
|
+
isZ: m.isZ || undefined,
|
|
105
|
+
zMove: m.zMove,
|
|
106
|
+
isMax: m.isMax || undefined,
|
|
107
|
+
maxMove: m.maxMove,
|
|
108
|
+
breaksProtect: m.breaksProtect || undefined,
|
|
109
|
+
drain: m.drain,
|
|
110
|
+
recoil: m.recoil,
|
|
111
|
+
multihit: m.multihit,
|
|
112
|
+
alwaysHit: m.alwaysHit || undefined,
|
|
113
|
+
isNonstandard: m.isNonstandard,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
export function itemToObj(i) {
|
|
117
|
+
return {
|
|
118
|
+
name: i.name,
|
|
119
|
+
num: i.num,
|
|
120
|
+
gen: i.gen,
|
|
121
|
+
shortDesc: i.shortDesc,
|
|
122
|
+
desc: i.desc,
|
|
123
|
+
isBerry: i.isBerry || undefined,
|
|
124
|
+
isChoice: i.isChoice || undefined,
|
|
125
|
+
isGem: i.isGem || undefined,
|
|
126
|
+
isPokeball: i.isPokeball || undefined,
|
|
127
|
+
megaStone: i.megaStone,
|
|
128
|
+
zMove: i.zMove,
|
|
129
|
+
naturalGift: i.naturalGift,
|
|
130
|
+
fling: i.fling,
|
|
131
|
+
boosts: i.boosts || undefined,
|
|
132
|
+
forcedForme: i.forcedForme,
|
|
133
|
+
itemUser: i.itemUser,
|
|
134
|
+
isNonstandard: i.isNonstandard,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
export function abilityToObj(a) {
|
|
138
|
+
return {
|
|
139
|
+
name: a.name,
|
|
140
|
+
num: a.num,
|
|
141
|
+
gen: a.gen,
|
|
142
|
+
shortDesc: a.shortDesc,
|
|
143
|
+
desc: a.desc,
|
|
144
|
+
flags: a.flags,
|
|
145
|
+
isNonstandard: a.isNonstandard,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
export function natureToObj(n) {
|
|
149
|
+
return {
|
|
150
|
+
name: n.name,
|
|
151
|
+
plus: n.plus,
|
|
152
|
+
minus: n.minus,
|
|
153
|
+
gen: n.gen,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Showdown stores `Type.damageTaken[attackingType]` as an index, not a multiplier:
|
|
158
|
+
* 0 = 1x, 1 = 2x, 2 = 0.5x, 3 = 0x (immune).
|
|
159
|
+
*/
|
|
160
|
+
const DAMAGE_TAKEN_MULT = { 0: 1, 1: 2, 2: 0.5, 3: 0 };
|
|
161
|
+
/** Offensive multiplier of `attackingType` against a defender with `defendingTypes`. */
|
|
162
|
+
export function typeEffectiveness(attackingType, defendingTypes, gen) {
|
|
163
|
+
const dex = getDex(gen);
|
|
164
|
+
let mult = 1;
|
|
165
|
+
for (const dt of defendingTypes) {
|
|
166
|
+
const t = dex.types.get(dt);
|
|
167
|
+
if (!t.exists)
|
|
168
|
+
throw new Error(`Unknown type "${dt}".`);
|
|
169
|
+
mult *= DAMAGE_TAKEN_MULT[t.damageTaken[attackingType] ?? 0];
|
|
170
|
+
}
|
|
171
|
+
return mult;
|
|
172
|
+
}
|
|
173
|
+
/** Convert a raw damageTaken table into human multipliers keyed by attacking type. */
|
|
174
|
+
function damageTakenToMultipliers(damageTaken) {
|
|
175
|
+
const out = {};
|
|
176
|
+
for (const [atk, idx] of Object.entries(damageTaken)) {
|
|
177
|
+
out[atk] = DAMAGE_TAKEN_MULT[idx] ?? 1;
|
|
178
|
+
}
|
|
179
|
+
return out;
|
|
180
|
+
}
|
|
181
|
+
export function typeToObj(t) {
|
|
182
|
+
const taken = damageTakenToMultipliers(t.damageTaken);
|
|
183
|
+
const weaknesses = [];
|
|
184
|
+
const resistances = [];
|
|
185
|
+
const immunities = [];
|
|
186
|
+
for (const [atk, mult] of Object.entries(taken)) {
|
|
187
|
+
if (mult === 0)
|
|
188
|
+
immunities.push(atk);
|
|
189
|
+
else if (mult > 1)
|
|
190
|
+
weaknesses.push(atk);
|
|
191
|
+
else if (mult < 1)
|
|
192
|
+
resistances.push(atk);
|
|
193
|
+
}
|
|
194
|
+
return {
|
|
195
|
+
name: t.name,
|
|
196
|
+
gen: t.gen,
|
|
197
|
+
isNonstandard: t.isNonstandard,
|
|
198
|
+
damageTaken: taken,
|
|
199
|
+
weaknesses,
|
|
200
|
+
resistances,
|
|
201
|
+
immunities,
|
|
202
|
+
HPivs: t.HPivs,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
/** Group a learnset's move sources into readable buckets. */
|
|
206
|
+
export function learnsetToObj(ls) {
|
|
207
|
+
const buckets = {};
|
|
208
|
+
if (ls.learnset) {
|
|
209
|
+
for (const [moveid, sources] of Object.entries(ls.learnset)) {
|
|
210
|
+
const move = Dex.moves.getByID(moveid);
|
|
211
|
+
const name = move.exists ? move.name : moveid;
|
|
212
|
+
const tags = normalizeSources(sources);
|
|
213
|
+
for (const tag of tags) {
|
|
214
|
+
(buckets[tag] ??= []).push(name);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
for (const k of Object.keys(buckets))
|
|
219
|
+
buckets[k].sort();
|
|
220
|
+
return {
|
|
221
|
+
exists: ls.exists,
|
|
222
|
+
eventOnly: ls.eventOnly,
|
|
223
|
+
eventData: ls.eventData ?? undefined,
|
|
224
|
+
movesBySource: buckets,
|
|
225
|
+
totalMoves: ls.learnset ? Object.keys(ls.learnset).length : 0,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
/** Collapse Showdown's terse move-source codes into human-readable method names. */
|
|
229
|
+
function normalizeSources(sources) {
|
|
230
|
+
const out = new Set();
|
|
231
|
+
for (const s of sources) {
|
|
232
|
+
let m = s.trim();
|
|
233
|
+
// Strip gen availability flags like "8L1" -> "L1"
|
|
234
|
+
m = m.replace(/^\d+/, '');
|
|
235
|
+
if (/^[L]\d+$/.test(m))
|
|
236
|
+
out.add('Level-up');
|
|
237
|
+
else if (/^[M]$/.test(m))
|
|
238
|
+
out.add('TM');
|
|
239
|
+
else if (/^[E]$/.test(m))
|
|
240
|
+
out.add('Egg');
|
|
241
|
+
else if (/^[T]$/.test(m))
|
|
242
|
+
out.add('Tutor');
|
|
243
|
+
else if (/^[S]\d*$/.test(m))
|
|
244
|
+
out.add('Event');
|
|
245
|
+
else if (/^[R]$/.test(m))
|
|
246
|
+
out.add('Raid/Event');
|
|
247
|
+
else if (/^[V]$/.test(m))
|
|
248
|
+
out.add('Virtual Console transfer');
|
|
249
|
+
else if (/^[D]$/.test(m))
|
|
250
|
+
out.add('Dream World');
|
|
251
|
+
else if (/^[P]$/.test(m))
|
|
252
|
+
out.add('Pre-evolution');
|
|
253
|
+
else
|
|
254
|
+
out.add('Other');
|
|
255
|
+
}
|
|
256
|
+
return [...out];
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Compute a single final stat for a species at a given level with IV/EV/nature.
|
|
260
|
+
* Mirrors the in-game formula (nature applied to non-HP stats).
|
|
261
|
+
*/
|
|
262
|
+
export function finalStat(gen, stat, base, iv, ev, level, nature) {
|
|
263
|
+
return calcStat(getCalcGen(gen), stat, base, iv, ev, level, nature);
|
|
264
|
+
}
|
|
265
|
+
function cleanMap(map, allowed, label) {
|
|
266
|
+
const out = {};
|
|
267
|
+
if (!map)
|
|
268
|
+
return out;
|
|
269
|
+
for (const [k, v] of Object.entries(map)) {
|
|
270
|
+
const key = k.toLowerCase();
|
|
271
|
+
if (!allowed.includes(key))
|
|
272
|
+
throw new Error(`Unknown ${label} key "${k}"; allowed: ${allowed.join(', ')}.`);
|
|
273
|
+
if (!Number.isFinite(v))
|
|
274
|
+
throw new Error(`Invalid ${label} value for "${k}": ${v}.`);
|
|
275
|
+
out[key] = v;
|
|
276
|
+
}
|
|
277
|
+
return out;
|
|
278
|
+
}
|
|
279
|
+
/** Build a @smogon/calc Pokemon from a user-supplied set spec. */
|
|
280
|
+
export function buildPokemon(gen, input) {
|
|
281
|
+
const level = input.level ?? 100;
|
|
282
|
+
if (level < 1 || level > 100)
|
|
283
|
+
throw new Error('level must be 1-100.');
|
|
284
|
+
const ivs = cleanMap(input.ivs, STATS, 'IV');
|
|
285
|
+
const evs = cleanMap(input.evs, STATS, 'EV');
|
|
286
|
+
for (const stat of STATS) {
|
|
287
|
+
if (ivs[stat] !== undefined && (ivs[stat] < 0 || ivs[stat] > 31)) {
|
|
288
|
+
throw new Error(`IV "${stat}" must be 0-31.`);
|
|
289
|
+
}
|
|
290
|
+
if (evs[stat] !== undefined && (evs[stat] < 0 || evs[stat] > 252)) {
|
|
291
|
+
throw new Error(`EV "${stat}" must be 0-252.`);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
const evTotal = STATS.reduce((sum, s) => sum + (evs[s] ?? 0), 0);
|
|
295
|
+
if (evTotal > 510)
|
|
296
|
+
throw new Error(`EV total ${evTotal} exceeds 510.`);
|
|
297
|
+
const nature = input.nature ?? 'Serious';
|
|
298
|
+
const boosts = cleanMap(input.boosts, STATS, 'boost');
|
|
299
|
+
for (const stat of STATS) {
|
|
300
|
+
if (boosts[stat] !== undefined && (boosts[stat] < -6 || boosts[stat] > 6)) {
|
|
301
|
+
throw new Error(`Boost "${stat}" must be -6..6.`);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
const options = {
|
|
305
|
+
level,
|
|
306
|
+
nature,
|
|
307
|
+
ivs,
|
|
308
|
+
evs,
|
|
309
|
+
boosts,
|
|
310
|
+
};
|
|
311
|
+
if (input.item)
|
|
312
|
+
options.item = input.item;
|
|
313
|
+
if (input.ability)
|
|
314
|
+
options.ability = input.ability;
|
|
315
|
+
if (input.teraType)
|
|
316
|
+
options.teraType = input.teraType;
|
|
317
|
+
if (input.status)
|
|
318
|
+
options.status = input.status;
|
|
319
|
+
if (input.abilityOn !== undefined)
|
|
320
|
+
options.abilityOn = input.abilityOn;
|
|
321
|
+
if (input.isDynamaxed !== undefined)
|
|
322
|
+
options.isDynamaxed = input.isDynamaxed;
|
|
323
|
+
if (input.curHP !== undefined)
|
|
324
|
+
options.curHP = input.curHP;
|
|
325
|
+
if (input.moves)
|
|
326
|
+
options.moves = input.moves;
|
|
327
|
+
return new Pokemon(getCalcGen(gen), input.species, options);
|
|
328
|
+
}
|
|
329
|
+
export function buildField(input = {}) {
|
|
330
|
+
const field = {};
|
|
331
|
+
if (input.gameType)
|
|
332
|
+
field.gameType = input.gameType;
|
|
333
|
+
if (input.weather)
|
|
334
|
+
field.weather = input.weather;
|
|
335
|
+
if (input.terrain)
|
|
336
|
+
field.terrain = input.terrain;
|
|
337
|
+
return new Field({
|
|
338
|
+
...field,
|
|
339
|
+
attackerSide: new Side(input.attackerSide ?? {}),
|
|
340
|
+
defenderSide: new Side(input.defenderSide ?? {}),
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
/** Run a full damage calculation and return a structured, LLM-friendly result. */
|
|
344
|
+
export function damageResult(gen, attacker, defender, moveName, fieldInput = {}) {
|
|
345
|
+
const atk = buildPokemon(gen, attacker);
|
|
346
|
+
const def = buildPokemon(gen, defender);
|
|
347
|
+
const move = new CalcMove(getCalcGen(gen), moveName);
|
|
348
|
+
const field = buildField(fieldInput);
|
|
349
|
+
const result = calculate(getCalcGen(gen), atk, def, move, field);
|
|
350
|
+
const atkStats = { ...atk.stats };
|
|
351
|
+
const defStats = { ...def.stats };
|
|
352
|
+
let desc = '';
|
|
353
|
+
let kochance;
|
|
354
|
+
try {
|
|
355
|
+
desc = result.desc();
|
|
356
|
+
kochance = result.kochance();
|
|
357
|
+
}
|
|
358
|
+
catch {
|
|
359
|
+
// calc's desc generator throws on 0-damage (immunity) edge cases.
|
|
360
|
+
desc = `${attacker.species} ${moveName} vs. ${defender.species}: 0 damage (immune or invalid target).`;
|
|
361
|
+
}
|
|
362
|
+
const range = Array.isArray(result.damage)
|
|
363
|
+
? result.range()
|
|
364
|
+
: [result.damage, result.damage];
|
|
365
|
+
return {
|
|
366
|
+
generation: gen,
|
|
367
|
+
attacker: {
|
|
368
|
+
species: atk.name,
|
|
369
|
+
...summarizeSet(atk),
|
|
370
|
+
stats: atkStats,
|
|
371
|
+
},
|
|
372
|
+
defender: {
|
|
373
|
+
species: def.name,
|
|
374
|
+
...summarizeSet(def),
|
|
375
|
+
stats: defStats,
|
|
376
|
+
},
|
|
377
|
+
move: move.name,
|
|
378
|
+
field: {
|
|
379
|
+
gameType: field.gameType,
|
|
380
|
+
weather: field.weather,
|
|
381
|
+
terrain: field.terrain,
|
|
382
|
+
},
|
|
383
|
+
damage: result.damage,
|
|
384
|
+
damageRange: range,
|
|
385
|
+
koChance: kochance?.text ?? undefined,
|
|
386
|
+
description: desc,
|
|
387
|
+
};
|
|
388
|
+
}
|
|
389
|
+
function summarizeSet(p) {
|
|
390
|
+
const evs = {};
|
|
391
|
+
for (const s of STATS)
|
|
392
|
+
if (p.evs[s])
|
|
393
|
+
evs[s] = p.evs[s];
|
|
394
|
+
return {
|
|
395
|
+
level: p.level,
|
|
396
|
+
nature: p.nature,
|
|
397
|
+
evs,
|
|
398
|
+
ivs: p.ivs,
|
|
399
|
+
item: p.item,
|
|
400
|
+
ability: p.ability,
|
|
401
|
+
teraType: p.teraType,
|
|
402
|
+
status: p.status || undefined,
|
|
403
|
+
boosts: p.boosts,
|
|
404
|
+
};
|
|
405
|
+
}
|
|
406
|
+
/** Full 6-stat projection for a species at level/IV/EV/nature. */
|
|
407
|
+
export function statTable(gen, base, level, ivs, evs, nature) {
|
|
408
|
+
const out = {};
|
|
409
|
+
for (const s of STATS) {
|
|
410
|
+
out[s] = finalStat(gen, s, base[s] ?? 0, ivs[s] ?? 31, evs[s] ?? 0, level, nature);
|
|
411
|
+
}
|
|
412
|
+
return out;
|
|
413
|
+
}
|
|
414
|
+
//# sourceMappingURL=dex.js.map
|
package/dist/dex.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dex.js","sourceRoot":"","sources":["../src/dex.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* getcompetitive — MCP server for competitive Pokemon team building.
|
|
4
|
+
*
|
|
5
|
+
* Tools span three domains:
|
|
6
|
+
* - data: species, forms, moves, items, abilities, natures, learnsets, types
|
|
7
|
+
* - team: archetypes, tier lists, speed tiers
|
|
8
|
+
* - calc: stat calculation, full damage calculation
|
|
9
|
+
*/
|
|
10
|
+
import { readFileSync } from 'node:fs';
|
|
11
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
12
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
13
|
+
import { registerDataTools } from './tools/data.js';
|
|
14
|
+
import { registerCalcTools } from './tools/calc.js';
|
|
15
|
+
import { registerTeamTools } from './tools/team.js';
|
|
16
|
+
import { registerRegulationTools } from './tools/regulations.js';
|
|
17
|
+
import { registerAnalyzeTools } from './tools/analyze.js';
|
|
18
|
+
import { registerMetaTools } from './tools/meta.js';
|
|
19
|
+
const { version } = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
|
|
20
|
+
const server = new McpServer({
|
|
21
|
+
name: 'getcompetitive',
|
|
22
|
+
version,
|
|
23
|
+
});
|
|
24
|
+
registerDataTools(server);
|
|
25
|
+
registerCalcTools(server);
|
|
26
|
+
registerTeamTools(server);
|
|
27
|
+
registerRegulationTools(server);
|
|
28
|
+
registerAnalyzeTools(server);
|
|
29
|
+
registerMetaTools(server);
|
|
30
|
+
await server.connect(new StdioServerTransport());
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAC5B,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAC3C,CAAC;AAEzB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,gBAAgB;IACtB,OAAO;CACR,CAAC,CAAC;AAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1B,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1B,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1B,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAChC,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAE1B,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC"}
|