@pkmn/sim 0.9.37 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/config/formats.js +185 -173
- package/build/cjs/config/formats.js.map +1 -1
- package/build/cjs/data/abilities.js +62 -72
- package/build/cjs/data/abilities.js.map +1 -1
- package/build/cjs/data/aliases.js +11 -4
- package/build/cjs/data/aliases.js.map +1 -1
- package/build/cjs/data/formats-data.js +164 -64
- package/build/cjs/data/formats-data.js.map +1 -1
- package/build/cjs/data/items.js +406 -2
- package/build/cjs/data/items.js.map +1 -1
- package/build/cjs/data/legality.js +548 -113
- package/build/cjs/data/legality.js.map +1 -1
- package/build/cjs/data/mods/gen1/conditions.js +12 -1
- package/build/cjs/data/mods/gen1/conditions.js.map +1 -1
- package/build/cjs/data/mods/gen1/scripts.js +14 -28
- package/build/cjs/data/mods/gen1/scripts.js.map +1 -1
- package/build/cjs/data/mods/gen2/formats-data.js +2 -2
- package/build/cjs/data/mods/gen2/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen3/abilities.js +1 -3
- package/build/cjs/data/mods/gen3/abilities.js.map +1 -1
- package/build/cjs/data/mods/gen3/formats-data.js +5 -11
- package/build/cjs/data/mods/gen3/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen3/moves.js +24 -0
- package/build/cjs/data/mods/gen3/moves.js.map +1 -1
- package/build/cjs/data/mods/gen4/abilities.js +2 -14
- package/build/cjs/data/mods/gen4/abilities.js.map +1 -1
- package/build/cjs/data/mods/gen4/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen4/moves.js +37 -6
- package/build/cjs/data/mods/gen4/moves.js.map +1 -1
- package/build/cjs/data/mods/gen5/abilities.js +4 -0
- package/build/cjs/data/mods/gen5/abilities.js.map +1 -1
- package/build/cjs/data/mods/gen5/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen6/pokedex.js +104 -0
- package/build/cjs/data/mods/gen6/pokedex.js.map +1 -1
- package/build/cjs/data/mods/gen7/abilities.js +11 -26
- package/build/cjs/data/mods/gen7/abilities.js.map +1 -1
- package/build/cjs/data/mods/gen7/formats-data.js +1 -1
- package/build/cjs/data/mods/gen7/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen7/pokedex.js +96 -0
- package/build/cjs/data/mods/gen7/pokedex.js.map +1 -1
- package/build/cjs/data/mods/gen8/abilities.js +0 -3
- package/build/cjs/data/mods/gen8/abilities.js.map +1 -1
- package/build/cjs/data/mods/gen8bdsp/abilities.d.ts +1 -0
- package/build/cjs/data/mods/gen8bdsp/abilities.js +42 -0
- package/build/cjs/data/mods/gen8bdsp/abilities.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/formats-data.d.ts +1 -0
- package/build/cjs/data/mods/gen8bdsp/formats-data.js +1837 -0
- package/build/cjs/data/mods/gen8bdsp/formats-data.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/index.d.ts +6 -0
- package/build/cjs/data/mods/gen8bdsp/index.js +16 -0
- package/build/cjs/data/mods/gen8bdsp/index.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/items.d.ts +1 -0
- package/build/cjs/data/mods/gen8bdsp/items.js +831 -0
- package/build/cjs/data/mods/gen8bdsp/items.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/learnsets.d.ts +3 -0
- package/build/cjs/data/mods/gen8bdsp/learnsets.js +25784 -0
- package/build/cjs/data/mods/gen8bdsp/learnsets.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/legality.d.ts +3 -0
- package/build/cjs/data/mods/gen8bdsp/legality.js +242 -0
- package/build/cjs/data/mods/gen8bdsp/legality.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/moves.d.ts +1 -0
- package/build/cjs/data/mods/gen8bdsp/moves.js +919 -0
- package/build/cjs/data/mods/gen8bdsp/moves.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/pokedex.d.ts +1 -0
- package/build/cjs/data/mods/gen8bdsp/pokedex.js +99 -0
- package/build/cjs/data/mods/gen8bdsp/pokedex.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/scripts.d.ts +1 -0
- package/build/cjs/data/mods/gen8bdsp/scripts.js +15 -0
- package/build/cjs/data/mods/gen8bdsp/scripts.js.map +1 -0
- package/build/cjs/data/mods/gen8legends/formats-data.d.ts +1 -0
- package/build/cjs/data/mods/gen8legends/formats-data.js +2775 -0
- package/build/cjs/data/mods/gen8legends/formats-data.js.map +1 -0
- package/build/cjs/data/mods/gen8legends/index.d.ts +2 -0
- package/build/cjs/data/mods/gen8legends/index.js +8 -0
- package/build/cjs/data/mods/gen8legends/index.js.map +1 -0
- package/build/cjs/data/mods/gen8legends/learnsets.d.ts +3 -0
- package/build/cjs/data/mods/gen8legends/learnsets.js +5553 -0
- package/build/cjs/data/mods/gen8legends/learnsets.js.map +1 -0
- package/build/cjs/data/mods/gen8legends/legality.d.ts +3 -0
- package/build/cjs/data/mods/gen8legends/legality.js +149 -0
- package/build/cjs/data/mods/gen8legends/legality.js.map +1 -0
- package/build/cjs/data/mods/gen8legends/scripts.d.ts +1 -0
- package/build/cjs/data/mods/gen8legends/scripts.js +8 -0
- package/build/cjs/data/mods/gen8legends/scripts.js.map +1 -0
- package/build/cjs/data/moves.js +53 -55
- package/build/cjs/data/moves.js.map +1 -1
- package/build/cjs/data/pokedex.js +735 -10
- package/build/cjs/data/pokedex.js.map +1 -1
- package/build/cjs/data/rulesets.js +78 -0
- package/build/cjs/data/rulesets.js.map +1 -1
- package/build/cjs/data/text/items.js +108 -0
- package/build/cjs/data/text/items.js.map +1 -1
- package/build/cjs/data/text/moves.js +6 -2
- package/build/cjs/data/text/moves.js.map +1 -1
- package/build/cjs/sim/battle-actions.js +17 -7
- package/build/cjs/sim/battle-actions.js.map +1 -1
- package/build/cjs/sim/battle-queue.d.ts +11 -6
- package/build/cjs/sim/battle-queue.js.map +1 -1
- package/build/cjs/sim/battle.d.ts +2 -2
- package/build/cjs/sim/battle.js +23 -28
- package/build/cjs/sim/battle.js.map +1 -1
- package/build/cjs/sim/dex-conditions.d.ts +2 -1
- package/build/cjs/sim/dex-conditions.js.map +1 -1
- package/build/cjs/sim/dex-formats.d.ts +2 -0
- package/build/cjs/sim/dex-formats.js +12 -1
- package/build/cjs/sim/dex-formats.js.map +1 -1
- package/build/cjs/sim/dex-species.d.ts +13 -2
- package/build/cjs/sim/dex-species.js +40 -19
- package/build/cjs/sim/dex-species.js.map +1 -1
- package/build/cjs/sim/dex.js +11 -0
- package/build/cjs/sim/dex.js.map +1 -1
- package/build/cjs/sim/exported-global-types.d.ts +5 -4
- package/build/cjs/sim/global-types.d.ts +5 -4
- package/build/cjs/sim/pokemon.d.ts +6 -4
- package/build/cjs/sim/pokemon.js +31 -24
- package/build/cjs/sim/pokemon.js.map +1 -1
- package/build/cjs/sim/side.js +11 -41
- package/build/cjs/sim/side.js.map +1 -1
- package/build/cjs/sim/team-validator.d.ts +1 -0
- package/build/cjs/sim/team-validator.js +50 -18
- package/build/cjs/sim/team-validator.js.map +1 -1
- package/build/esm/config/formats.mjs +185 -173
- package/build/esm/config/formats.mjs.map +1 -1
- package/build/esm/data/abilities.mjs +62 -72
- package/build/esm/data/abilities.mjs.map +1 -1
- package/build/esm/data/aliases.mjs +11 -4
- package/build/esm/data/aliases.mjs.map +1 -1
- package/build/esm/data/formats-data.mjs +164 -64
- package/build/esm/data/formats-data.mjs.map +1 -1
- package/build/esm/data/items.mjs +406 -2
- package/build/esm/data/items.mjs.map +1 -1
- package/build/esm/data/legality.mjs +548 -113
- package/build/esm/data/legality.mjs.map +1 -1
- package/build/esm/data/mods/gen1/conditions.mjs +12 -1
- package/build/esm/data/mods/gen1/conditions.mjs.map +1 -1
- package/build/esm/data/mods/gen1/scripts.mjs +14 -28
- package/build/esm/data/mods/gen1/scripts.mjs.map +1 -1
- package/build/esm/data/mods/gen2/formats-data.mjs +2 -2
- package/build/esm/data/mods/gen2/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen3/abilities.mjs +1 -3
- package/build/esm/data/mods/gen3/abilities.mjs.map +1 -1
- package/build/esm/data/mods/gen3/formats-data.mjs +5 -11
- package/build/esm/data/mods/gen3/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen3/moves.mjs +24 -0
- package/build/esm/data/mods/gen3/moves.mjs.map +1 -1
- package/build/esm/data/mods/gen4/abilities.mjs +2 -14
- package/build/esm/data/mods/gen4/abilities.mjs.map +1 -1
- package/build/esm/data/mods/gen4/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen4/moves.mjs +37 -6
- package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
- package/build/esm/data/mods/gen5/abilities.mjs +4 -0
- package/build/esm/data/mods/gen5/abilities.mjs.map +1 -1
- package/build/esm/data/mods/gen5/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen6/pokedex.mjs +104 -0
- package/build/esm/data/mods/gen6/pokedex.mjs.map +1 -1
- package/build/esm/data/mods/gen7/abilities.mjs +11 -26
- package/build/esm/data/mods/gen7/abilities.mjs.map +1 -1
- package/build/esm/data/mods/gen7/formats-data.mjs +1 -1
- package/build/esm/data/mods/gen7/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen7/pokedex.mjs +96 -0
- package/build/esm/data/mods/gen7/pokedex.mjs.map +1 -1
- package/build/esm/data/mods/gen8/abilities.mjs +0 -3
- package/build/esm/data/mods/gen8/abilities.mjs.map +1 -1
- package/build/esm/data/mods/gen8bdsp/abilities.d.mts +1 -0
- package/build/esm/data/mods/gen8bdsp/abilities.mjs +39 -0
- package/build/esm/data/mods/gen8bdsp/abilities.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/formats-data.d.mts +1 -0
- package/build/esm/data/mods/gen8bdsp/formats-data.mjs +1834 -0
- package/build/esm/data/mods/gen8bdsp/formats-data.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/index.d.mts +6 -0
- package/build/esm/data/mods/gen8bdsp/index.mjs +7 -0
- package/build/esm/data/mods/gen8bdsp/index.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/items.d.mts +1 -0
- package/build/esm/data/mods/gen8bdsp/items.mjs +828 -0
- package/build/esm/data/mods/gen8bdsp/items.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/learnsets.d.mts +3 -0
- package/build/esm/data/mods/gen8bdsp/learnsets.mjs +25781 -0
- package/build/esm/data/mods/gen8bdsp/learnsets.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/legality.d.mts +3 -0
- package/build/esm/data/mods/gen8bdsp/legality.mjs +239 -0
- package/build/esm/data/mods/gen8bdsp/legality.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/moves.d.mts +1 -0
- package/build/esm/data/mods/gen8bdsp/moves.mjs +916 -0
- package/build/esm/data/mods/gen8bdsp/moves.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/pokedex.d.mts +1 -0
- package/build/esm/data/mods/gen8bdsp/pokedex.mjs +96 -0
- package/build/esm/data/mods/gen8bdsp/pokedex.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/scripts.d.mts +1 -0
- package/build/esm/data/mods/gen8bdsp/scripts.mjs +12 -0
- package/build/esm/data/mods/gen8bdsp/scripts.mjs.map +1 -0
- package/build/esm/data/mods/gen8legends/formats-data.d.mts +1 -0
- package/build/esm/data/mods/gen8legends/formats-data.mjs +2772 -0
- package/build/esm/data/mods/gen8legends/formats-data.mjs.map +1 -0
- package/build/esm/data/mods/gen8legends/index.d.mts +2 -0
- package/build/esm/data/mods/gen8legends/index.mjs +3 -0
- package/build/esm/data/mods/gen8legends/index.mjs.map +1 -0
- package/build/esm/data/mods/gen8legends/learnsets.d.mts +3 -0
- package/build/esm/data/mods/gen8legends/learnsets.mjs +5550 -0
- package/build/esm/data/mods/gen8legends/learnsets.mjs.map +1 -0
- package/build/esm/data/mods/gen8legends/legality.d.mts +3 -0
- package/build/esm/data/mods/gen8legends/legality.mjs +146 -0
- package/build/esm/data/mods/gen8legends/legality.mjs.map +1 -0
- package/build/esm/data/mods/gen8legends/scripts.d.mts +1 -0
- package/build/esm/data/mods/gen8legends/scripts.mjs +5 -0
- package/build/esm/data/mods/gen8legends/scripts.mjs.map +1 -0
- package/build/esm/data/moves.mjs +53 -55
- package/build/esm/data/moves.mjs.map +1 -1
- package/build/esm/data/pokedex.mjs +735 -10
- package/build/esm/data/pokedex.mjs.map +1 -1
- package/build/esm/data/rulesets.mjs +78 -0
- package/build/esm/data/rulesets.mjs.map +1 -1
- package/build/esm/data/text/items.mjs +108 -0
- package/build/esm/data/text/items.mjs.map +1 -1
- package/build/esm/data/text/moves.mjs +6 -2
- package/build/esm/data/text/moves.mjs.map +1 -1
- package/build/esm/sim/battle-actions.mjs +17 -7
- package/build/esm/sim/battle-actions.mjs.map +1 -1
- package/build/esm/sim/battle-queue.d.mts +11 -6
- package/build/esm/sim/battle-queue.mjs.map +1 -1
- package/build/esm/sim/battle.d.mts +2 -2
- package/build/esm/sim/battle.mjs +23 -28
- package/build/esm/sim/battle.mjs.map +1 -1
- package/build/esm/sim/dex-conditions.d.mts +2 -1
- package/build/esm/sim/dex-conditions.mjs.map +1 -1
- package/build/esm/sim/dex-formats.d.mts +2 -0
- package/build/esm/sim/dex-formats.mjs +12 -1
- package/build/esm/sim/dex-formats.mjs.map +1 -1
- package/build/esm/sim/dex-species.d.mts +13 -2
- package/build/esm/sim/dex-species.mjs +40 -19
- package/build/esm/sim/dex-species.mjs.map +1 -1
- package/build/esm/sim/dex.mjs +11 -0
- package/build/esm/sim/dex.mjs.map +1 -1
- package/build/esm/sim/exported-global-types.d.mts +5 -4
- package/build/esm/sim/global-types.d.mts +5 -4
- package/build/esm/sim/pokemon.d.mts +6 -4
- package/build/esm/sim/pokemon.mjs +31 -24
- package/build/esm/sim/pokemon.mjs.map +1 -1
- package/build/esm/sim/side.mjs +11 -41
- package/build/esm/sim/side.mjs.map +1 -1
- package/build/esm/sim/team-validator.d.mts +1 -0
- package/build/esm/sim/team-validator.mjs +50 -18
- package/build/esm/sim/team-validator.mjs.map +1 -1
- package/package.json +2 -2
package/build/cjs/sim/battle.js
CHANGED
|
@@ -1881,7 +1881,7 @@ class Battle {
|
|
|
1881
1881
|
const name = effect.fullname === 'tox' ? 'psn' : effect.fullname;
|
|
1882
1882
|
switch (effect.id) {
|
|
1883
1883
|
case 'partiallytrapped':
|
|
1884
|
-
this.add('-damage', target, target.getHealth, '[from] ' +
|
|
1884
|
+
this.add('-damage', target, target.getHealth, '[from] ' + target.volatiles['partiallytrapped'].sourceEffect.fullname, '[partiallytrapped]');
|
|
1885
1885
|
break;
|
|
1886
1886
|
case 'powder':
|
|
1887
1887
|
this.add('-damage', target, target.getHealth, '[silent]');
|
|
@@ -2102,36 +2102,31 @@ class Battle {
|
|
|
2102
2102
|
}
|
|
2103
2103
|
/** Given a table of base stats and a pokemon set, return the actual stats. */
|
|
2104
2104
|
spreadModify(baseStats, set) {
|
|
2105
|
-
const modStats = { atk:
|
|
2106
|
-
const
|
|
2107
|
-
|
|
2108
|
-
for (statName in modStats) {
|
|
2109
|
-
const stat = baseStats[statName];
|
|
2110
|
-
modStats[statName] = tr(tr(2 * stat + set.ivs[statName] + tr(set.evs[statName] / 4)) * set.level / 100 + 5);
|
|
2111
|
-
}
|
|
2112
|
-
if ('hp' in baseStats) {
|
|
2113
|
-
const stat = baseStats['hp'];
|
|
2114
|
-
modStats['hp'] = tr(tr(2 * stat + set.ivs['hp'] + tr(set.evs['hp'] / 4) + 100) * set.level / 100 + 10);
|
|
2105
|
+
const modStats = { hp: 0, atk: 0, def: 0, spa: 0, spd: 0, spe: 0 };
|
|
2106
|
+
for (const statName in baseStats) {
|
|
2107
|
+
modStats[statName] = this.statModify(baseStats, set, statName);
|
|
2115
2108
|
}
|
|
2116
|
-
return
|
|
2109
|
+
return modStats;
|
|
2117
2110
|
}
|
|
2118
|
-
|
|
2119
|
-
// Natures are calculated with 16-bit truncation.
|
|
2120
|
-
// This only affects Eternatus-Eternamax in Pure Hackmons.
|
|
2111
|
+
statModify(baseStats, set, statName) {
|
|
2121
2112
|
const tr = this.trunc;
|
|
2113
|
+
let stat = baseStats[statName];
|
|
2114
|
+
if (statName === 'hp') {
|
|
2115
|
+
return tr(tr(2 * stat + set.ivs[statName] + tr(set.evs[statName] / 4) + 100) * set.level / 100 + 10);
|
|
2116
|
+
}
|
|
2117
|
+
stat = tr(tr(2 * stat + set.ivs[statName] + tr(set.evs[statName] / 4)) * set.level / 100 + 5);
|
|
2122
2118
|
const nature = this.dex.natures.get(set.nature);
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2119
|
+
// Natures are calculated with 16-bit truncation.
|
|
2120
|
+
// This only affects Eternatus-Eternamax in Pure Hackmons.
|
|
2121
|
+
if (nature.plus === statName) {
|
|
2122
|
+
stat = this.ruleTable.has('overflowstatmod') ? Math.min(stat, 595) : stat;
|
|
2123
|
+
stat = tr(tr(stat * 110, 16) / 100);
|
|
2128
2124
|
}
|
|
2129
|
-
if (nature.minus) {
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
stats[s] = tr(tr(stat * 90, 16) / 100);
|
|
2125
|
+
else if (nature.minus === statName) {
|
|
2126
|
+
stat = this.ruleTable.has('overflowstatmod') ? Math.min(stat, 728) : stat;
|
|
2127
|
+
stat = tr(tr(stat * 90, 16) / 100);
|
|
2133
2128
|
}
|
|
2134
|
-
return
|
|
2129
|
+
return stat;
|
|
2135
2130
|
}
|
|
2136
2131
|
finalModify(relayVar) {
|
|
2137
2132
|
relayVar = this.modify(relayVar, this.event.modifier);
|
|
@@ -2436,7 +2431,7 @@ class Battle {
|
|
|
2436
2431
|
continue;
|
|
2437
2432
|
pokemon.baseSpecies = rawSpecies;
|
|
2438
2433
|
pokemon.details = pokemon.getUpdatedDetails();
|
|
2439
|
-
pokemon.setAbility(species.abilities['0'], null, true);
|
|
2434
|
+
pokemon.setAbility(species.abilities['0'], null, null, true);
|
|
2440
2435
|
pokemon.baseAbility = pokemon.ability;
|
|
2441
2436
|
const behemothMove = {
|
|
2442
2437
|
'Zacian-Crowned': 'behemothblade', 'Zamazenta-Crowned': 'behemothbash',
|
|
@@ -2842,7 +2837,7 @@ class Battle {
|
|
|
2842
2837
|
return totalActions >= this.sides.length;
|
|
2843
2838
|
}
|
|
2844
2839
|
hint(hint, once, side) {
|
|
2845
|
-
if (this.hints.has(hint))
|
|
2840
|
+
if (this.hints.has(side ? `${side.id}|${hint}` : hint))
|
|
2846
2841
|
return;
|
|
2847
2842
|
if (side) {
|
|
2848
2843
|
this.addSplit(side.id, ['-hint', hint]);
|
|
@@ -2851,7 +2846,7 @@ class Battle {
|
|
|
2851
2846
|
this.add('-hint', hint);
|
|
2852
2847
|
}
|
|
2853
2848
|
if (once)
|
|
2854
|
-
this.hints.add(hint);
|
|
2849
|
+
this.hints.add(side ? `${side.id}|${hint}` : hint);
|
|
2855
2850
|
}
|
|
2856
2851
|
addSplit(side, secret, shared) {
|
|
2857
2852
|
this.log.push(`|split|${side}`);
|