@pkmn/mods 0.9.38 → 0.10.1

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.
@@ -117,7 +117,7 @@ var FormatsData = {
117
117
  },
118
118
  pikachustarter: {
119
119
  isNonstandard: null,
120
- tier: "UU",
120
+ tier: "RU",
121
121
  doublesTier: "DOU"
122
122
  },
123
123
  raichu: {
@@ -139,7 +139,7 @@ var FormatsData = {
139
139
  doublesTier: "DOU"
140
140
  },
141
141
  sandslashalola: {
142
- tier: "UU",
142
+ tier: "RU",
143
143
  doublesTier: "DOU"
144
144
  },
145
145
  nidoranf: {
@@ -187,7 +187,7 @@ var FormatsData = {
187
187
  tier: "LC"
188
188
  },
189
189
  wigglytuff: {
190
- tier: "UU",
190
+ tier: "RU",
191
191
  doublesTier: "DOU"
192
192
  },
193
193
  zubat: {
@@ -204,7 +204,7 @@ var FormatsData = {
204
204
  tier: "NFE"
205
205
  },
206
206
  vileplume: {
207
- tier: "UU",
207
+ tier: "RU",
208
208
  doublesTier: "DOU"
209
209
  },
210
210
  paras: {
@@ -228,7 +228,7 @@ var FormatsData = {
228
228
  tier: "LC"
229
229
  },
230
230
  dugtrio: {
231
- tier: "UU",
231
+ tier: "RU",
232
232
  doublesTier: "DOU"
233
233
  },
234
234
  dugtrioalola: {
@@ -246,7 +246,7 @@ var FormatsData = {
246
246
  doublesTier: "DOU"
247
247
  },
248
248
  persianalola: {
249
- tier: "UU",
249
+ tier: "RU",
250
250
  doublesTier: "DOU"
251
251
  },
252
252
  psyduck: {
@@ -267,7 +267,7 @@ var FormatsData = {
267
267
  tier: "LC"
268
268
  },
269
269
  arcanine: {
270
- tier: "UU",
270
+ tier: "RU",
271
271
  doublesTier: "DOU"
272
272
  },
273
273
  poliwag: {
@@ -318,7 +318,7 @@ var FormatsData = {
318
318
  tier: "LC"
319
319
  },
320
320
  tentacruel: {
321
- tier: "UU",
321
+ tier: "RU",
322
322
  doublesTier: "DOU"
323
323
  },
324
324
  geodude: {
@@ -402,7 +402,7 @@ var FormatsData = {
402
402
  tier: "LC"
403
403
  },
404
404
  cloyster: {
405
- tier: "UU",
405
+ tier: "RU",
406
406
  doublesTier: "DOU"
407
407
  },
408
408
  gastly: {
@@ -434,7 +434,7 @@ var FormatsData = {
434
434
  tier: "LC"
435
435
  },
436
436
  kingler: {
437
- tier: "RU",
437
+ tier: "UU",
438
438
  doublesTier: "DOU"
439
439
  },
440
440
  voltorb: {
@@ -493,7 +493,7 @@ var FormatsData = {
493
493
  doublesTier: "DOU"
494
494
  },
495
495
  chansey: {
496
- tier: "UU",
496
+ tier: "RU",
497
497
  doublesTier: "DOU"
498
498
  },
499
499
  tangela: {
@@ -573,7 +573,7 @@ var FormatsData = {
573
573
  doublesTier: "DOU"
574
574
  },
575
575
  lapras: {
576
- tier: "UU",
576
+ tier: "RU",
577
577
  doublesTier: "DOU"
578
578
  },
579
579
  ditto: {
@@ -585,7 +585,7 @@ var FormatsData = {
585
585
  },
586
586
  eeveestarter: {
587
587
  isNonstandard: null,
588
- tier: "UU",
588
+ tier: "RU",
589
589
  doublesTier: "DOU"
590
590
  },
591
591
  vaporeon: {
@@ -608,14 +608,14 @@ var FormatsData = {
608
608
  tier: "LC"
609
609
  },
610
610
  omastar: {
611
- tier: "UU",
611
+ tier: "RU",
612
612
  doublesTier: "DOU"
613
613
  },
614
614
  kabuto: {
615
615
  tier: "LC"
616
616
  },
617
617
  kabutops: {
618
- tier: "UU",
618
+ tier: "RU",
619
619
  doublesTier: "DOU"
620
620
  },
621
621
  aerodactyl: {
@@ -639,7 +639,7 @@ var FormatsData = {
639
639
  doublesTier: "DOU"
640
640
  },
641
641
  moltres: {
642
- tier: "UU",
642
+ tier: "RU",
643
643
  doublesTier: "DOU"
644
644
  },
645
645
  dratini: {
@@ -6375,59 +6375,44 @@ var Scripts = {
6375
6375
  this.battle.add("-mega", pokemon, this.dex.species.get(speciesid).baseSpecies);
6376
6376
  pokemon.formeRegression = true;
6377
6377
  for (const ally of pokemon.side.pokemon) {
6378
- ally.canMegaEvo = null;
6379
- ally.canMegaEvoX = null;
6380
- ally.canMegaEvoY = null;
6378
+ ally.canMegaEvo = false;
6379
+ ally.canMegaEvoX = false;
6380
+ ally.canMegaEvoY = false;
6381
6381
  }
6382
6382
  this.battle.runEvent("AfterMega", pokemon);
6383
6383
  return true;
6384
6384
  },
6385
6385
  runMegaEvoX(pokemon) {
6386
6386
  if (!pokemon.canMegaEvoX) return false;
6387
- pokemon.canMegaEvoY = null;
6387
+ pokemon.canMegaEvoY = false;
6388
6388
  return this.runMegaEvo(pokemon);
6389
6389
  },
6390
6390
  runMegaEvoY(pokemon) {
6391
6391
  if (!pokemon.canMegaEvoY) return false;
6392
- pokemon.canMegaEvoX = null;
6392
+ pokemon.canMegaEvoX = false;
6393
6393
  return this.runMegaEvo(pokemon);
6394
6394
  }
6395
6395
  },
6396
6396
  /**
6397
6397
  * Given a table of base stats and a pokemon set, return the actual stats.
6398
6398
  */
6399
- spreadModify(baseStats, set) {
6400
- const modStats = { hp: 10, atk: 10, def: 10, spa: 10, spd: 10, spe: 10 };
6401
- let statName;
6402
- for (statName in modStats) {
6403
- const stat = baseStats[statName];
6404
- modStats[statName] = Math.floor(Math.floor(2 * stat + set.ivs[statName]) * set.level / 100 + 5);
6405
- }
6406
- if ("hp" in baseStats) {
6407
- const stat = baseStats["hp"];
6408
- modStats["hp"] = Math.floor(Math.floor(2 * stat + set.ivs["hp"] + 100) * set.level / 100 + 10);
6399
+ statModify(baseStats, set, statName) {
6400
+ const tr = this.trunc;
6401
+ let stat = baseStats[statName];
6402
+ if (statName === "hp") {
6403
+ return tr(tr(2 * stat + set.ivs[statName] + 100) * set.level / 100 + 10) + set.evs[statName];
6409
6404
  }
6410
- return this.natureModify(modStats, set);
6411
- },
6412
- /**
6413
- * @param {StatsTable} stats
6414
- * @param {PokemonSet} set
6415
- * @return {StatsTable}
6416
- */
6417
- natureModify(stats, set) {
6405
+ stat = tr(tr(2 * stat + set.ivs[statName]) * set.level / 100 + 5);
6418
6406
  const nature = this.dex.natures.get(set.nature);
6419
- if (nature.plus) stats[nature.plus] = Math.floor(stats[nature.plus] * 1.1);
6420
- if (nature.minus) stats[nature.minus] = Math.floor(stats[nature.minus] * 0.9);
6421
- set.happiness = 70;
6422
- const friendshipValue = Math.floor((set.happiness / 255 / 10 + 1) * 100);
6423
- let stat;
6424
- for (stat in stats) {
6425
- if (stat !== "hp") {
6426
- stats[stat] = Math.floor(stats[stat] * friendshipValue / 100);
6427
- }
6428
- stats[stat] += set.evs[stat];
6407
+ if (nature.plus === statName) {
6408
+ stat = tr(tr(stat * 110, 16) / 100);
6409
+ } else if (nature.minus === statName) {
6410
+ stat = tr(tr(stat * 90, 16) / 100);
6429
6411
  }
6430
- return stats;
6412
+ set.happiness = 70;
6413
+ const friendshipValue = tr((set.happiness / 255 / 10 + 1) * 100);
6414
+ stat = tr(stat * friendshipValue / 100);
6415
+ return stat;
6431
6416
  }
6432
6417
  };
6433
6418
  export {