@pkmn/sim 0.5.8 → 0.5.11
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/config/formats.js +390 -238
- package/build/config/formats.js.map +1 -1
- package/build/data/aliases.js +1 -2
- package/build/data/aliases.js.map +1 -1
- package/build/data/formats-data.js +3 -3
- package/build/data/formats-data.js.map +1 -1
- package/build/data/learnsets.js +5 -6
- package/build/data/learnsets.js.map +1 -1
- package/build/data/mods/gen3/formats-data.js +1 -1
- package/build/data/mods/gen3/formats-data.js.map +1 -1
- package/build/data/mods/gen7/formats-data.js +1 -1
- package/build/data/mods/gen7/formats-data.js.map +1 -1
- package/build/data/mods/gen7/pokedex.js +1 -0
- package/build/data/mods/gen7/pokedex.js.map +1 -1
- package/build/data/pokedex.js +2 -2
- package/build/data/rulesets.js +0 -139
- package/build/data/rulesets.js.map +1 -1
- package/build/data/tags.js +4 -4
- package/build/data/tags.js.map +1 -1
- package/build/lib/index.js +5 -1
- package/build/lib/index.js.map +1 -1
- package/build/lib/streams.js +5 -1
- package/build/lib/streams.js.map +1 -1
- package/build/sim/battle-actions.js +0 -6
- package/build/sim/battle-actions.js.map +1 -1
- package/build/sim/battle-queue.js +1 -3
- package/build/sim/battle-queue.js.map +1 -1
- package/build/sim/dex.js +5 -1
- package/build/sim/dex.js.map +1 -1
- package/build/sim/index.js +5 -1
- package/build/sim/index.js.map +1 -1
- package/build/sim/teams.js +5 -1
- package/build/sim/teams.js.map +1 -1
- package/build/sim/tools/index.js +5 -1
- package/build/sim/tools/index.js.map +1 -1
- package/build/sim/tools/runner.js +5 -1
- package/build/sim/tools/runner.js.map +1 -1
- package/config/formats.ts +376 -237
- package/data/aliases.ts +1 -2
- package/data/formats-data.ts +3 -3
- package/data/learnsets.ts +5 -6
- package/data/mods/gen3/formats-data.ts +1 -1
- package/data/mods/gen7/formats-data.ts +1 -1
- package/data/mods/gen7/pokedex.ts +1 -0
- package/data/pokedex.ts +2 -2
- package/data/rulesets.ts +0 -125
- package/data/tags.ts +4 -4
- package/package.json +2 -2
- package/sim/battle-actions.ts +0 -7
- package/sim/battle-queue.ts +1 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pokedex.js","sourceRoot":"","sources":["../../../../data/mods/gen7/pokedex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pokedex.js","sourceRoot":"","sources":["../../../../data/mods/gen7/pokedex.ts"],"names":[],"mappings":"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"}
|
package/build/data/pokedex.js
CHANGED
|
@@ -16532,7 +16532,7 @@ exports.Pokedex = {
|
|
|
16532
16532
|
num: -6,
|
|
16533
16533
|
name: "Pyroak",
|
|
16534
16534
|
types: ["Fire", "Grass"],
|
|
16535
|
-
baseStats: { hp: 120, atk: 70, def: 105, spa:
|
|
16535
|
+
baseStats: { hp: 120, atk: 70, def: 105, spa: 75, spd: 90, spe: 60 },
|
|
16536
16536
|
abilities: { 0: "Rock Head", 1: "Battle Armor", H: "Contrary" },
|
|
16537
16537
|
heightm: 2.1,
|
|
16538
16538
|
weightkg: 168,
|
|
@@ -17405,7 +17405,7 @@ exports.Pokedex = {
|
|
|
17405
17405
|
forme: "Epilogue",
|
|
17406
17406
|
types: ["Poison", "Flying"],
|
|
17407
17407
|
gender: "N",
|
|
17408
|
-
baseStats: { hp: 85, atk:
|
|
17408
|
+
baseStats: { hp: 85, atk: 102, def: 85, spa: 63, spd: 85, spe: 120 },
|
|
17409
17409
|
abilities: { 0: "Tinted Lens" },
|
|
17410
17410
|
heightm: 0.8,
|
|
17411
17411
|
weightkg: 12.4,
|
package/build/data/rulesets.js
CHANGED
|
@@ -1754,145 +1754,6 @@ exports.Rulesets = {
|
|
|
1754
1754
|
return pokemon;
|
|
1755
1755
|
},
|
|
1756
1756
|
},
|
|
1757
|
-
crossevolutionmod: {
|
|
1758
|
-
effectType: "Rule",
|
|
1759
|
-
name: "Cross Evolution Mod",
|
|
1760
|
-
desc: "Give a Pokémon a Pokémon name of the next evolution stage as a nickname to inherit stat changes, typing, abilities, and up to 2 moves from the next stage Pokémon.",
|
|
1761
|
-
ruleset: ['Overflow Stat Mod'],
|
|
1762
|
-
onValidateTeam(team) {
|
|
1763
|
-
const names = new Set();
|
|
1764
|
-
for (const set of team) {
|
|
1765
|
-
const name = set.name;
|
|
1766
|
-
if (names.has(this.dex.toID(name))) {
|
|
1767
|
-
return [
|
|
1768
|
-
`Your Pok\u00e9mon must have different nicknames.`,
|
|
1769
|
-
`(You have more than one Pok\u00e9mon named '${name}')`,
|
|
1770
|
-
];
|
|
1771
|
-
}
|
|
1772
|
-
names.add(this.dex.toID(name));
|
|
1773
|
-
}
|
|
1774
|
-
if (!names.size) {
|
|
1775
|
-
return [
|
|
1776
|
-
`${this.format.name} works using nicknames; your team has 0 nicknamed Pok\u00e9mon.`,
|
|
1777
|
-
`(If this was intentional, add a nickname to one Pok\u00e9mon that isn't the name of a Pok\u00e9mon species.)`,
|
|
1778
|
-
];
|
|
1779
|
-
}
|
|
1780
|
-
},
|
|
1781
|
-
checkCanLearn(move, species, lsetData, set) {
|
|
1782
|
-
// @ts-ignore
|
|
1783
|
-
if (!set.sp?.exists || !set.crossSpecies?.exists) {
|
|
1784
|
-
return this.checkCanLearn(move, species, lsetData, set);
|
|
1785
|
-
}
|
|
1786
|
-
// @ts-ignore
|
|
1787
|
-
const problem = this.checkCanLearn(move, set.sp);
|
|
1788
|
-
if (!problem)
|
|
1789
|
-
return null;
|
|
1790
|
-
// @ts-ignore
|
|
1791
|
-
if (!set.crossMovesLeft)
|
|
1792
|
-
return problem;
|
|
1793
|
-
// @ts-ignore
|
|
1794
|
-
if (this.checkCanLearn(move, set.crossSpecies))
|
|
1795
|
-
return problem;
|
|
1796
|
-
// @ts-ignore
|
|
1797
|
-
set.crossMovesLeft--;
|
|
1798
|
-
return null;
|
|
1799
|
-
},
|
|
1800
|
-
validateSet(set, teamHas) {
|
|
1801
|
-
const crossSpecies = this.dex.species.get(set.name);
|
|
1802
|
-
const onChangeSet = this.dex.formats.get('Pokemon').onChangeSet;
|
|
1803
|
-
let problems = onChangeSet?.call(this, set, this.format) || null;
|
|
1804
|
-
if (Array.isArray(problems) && problems.length)
|
|
1805
|
-
return problems;
|
|
1806
|
-
const crossNonstandard = !this.ruleTable.has('standardnatdex') && crossSpecies.isNonstandard === 'Past';
|
|
1807
|
-
const crossIsCap = !this.ruleTable.has('+pokemontag:cap') && crossSpecies.isNonstandard === 'CAP';
|
|
1808
|
-
if (!crossSpecies.exists || crossNonstandard || crossIsCap)
|
|
1809
|
-
return this.validateSet(set, teamHas);
|
|
1810
|
-
const species = this.dex.species.get(set.species);
|
|
1811
|
-
const check = this.checkSpecies(set, species, species, {});
|
|
1812
|
-
if (check)
|
|
1813
|
-
return [check];
|
|
1814
|
-
const nonstandard = !this.ruleTable.has('standardnatdex') && species.isNonstandard === 'Past';
|
|
1815
|
-
const isCap = !this.ruleTable.has('+pokemontag:cap') && species.isNonstandard === 'CAP';
|
|
1816
|
-
if (!species.exists || nonstandard || isCap || species === crossSpecies)
|
|
1817
|
-
return this.validateSet(set, teamHas);
|
|
1818
|
-
if (!species.nfe)
|
|
1819
|
-
return [`${species.name} cannot cross evolve because it doesn't evolve.`];
|
|
1820
|
-
const crossIsUnreleased = (crossSpecies.tier === "Unreleased" && crossSpecies.isNonstandard === "Unobtainable");
|
|
1821
|
-
if (crossSpecies.battleOnly || crossIsUnreleased || !crossSpecies.prevo) {
|
|
1822
|
-
return [`${species.name} cannot cross evolve into ${crossSpecies.name} because it isn't an evolution.`];
|
|
1823
|
-
}
|
|
1824
|
-
if (this.ruleTable.isRestrictedSpecies(crossSpecies)) {
|
|
1825
|
-
return [`${species.name} cannot cross evolve into ${crossSpecies.name} because it is banned.`];
|
|
1826
|
-
}
|
|
1827
|
-
const crossPrevoSpecies = this.dex.species.get(crossSpecies.prevo);
|
|
1828
|
-
if (!crossPrevoSpecies.prevo !== !species.prevo) {
|
|
1829
|
-
return [
|
|
1830
|
-
`${species.name} cannot cross evolve into ${crossSpecies.name} because they are not consecutive evolution stages.`,
|
|
1831
|
-
];
|
|
1832
|
-
}
|
|
1833
|
-
const ability = this.dex.abilities.get(set.ability);
|
|
1834
|
-
if (!this.ruleTable.isRestricted(`ability:${ability.id}`) || Object.values(species.abilities).includes(ability.name)) {
|
|
1835
|
-
set.species = crossSpecies.name;
|
|
1836
|
-
}
|
|
1837
|
-
// @ts-ignore
|
|
1838
|
-
set.sp = species;
|
|
1839
|
-
// @ts-ignore
|
|
1840
|
-
set.crossSpecies = crossSpecies;
|
|
1841
|
-
// @ts-ignore
|
|
1842
|
-
set.crossMovesLeft = 2;
|
|
1843
|
-
problems = this.validateSet(set, teamHas);
|
|
1844
|
-
set.name = crossSpecies.name;
|
|
1845
|
-
set.species = species.name;
|
|
1846
|
-
return problems;
|
|
1847
|
-
},
|
|
1848
|
-
onModifySpecies(species, target, source, effect) {
|
|
1849
|
-
if (!target)
|
|
1850
|
-
return; // chat
|
|
1851
|
-
if (effect && ['imposter', 'transform'].includes(effect.id))
|
|
1852
|
-
return;
|
|
1853
|
-
if (target.set.name === target.set.species)
|
|
1854
|
-
return;
|
|
1855
|
-
const crossSpecies = this.dex.species.get(target.set.name);
|
|
1856
|
-
if (!crossSpecies.exists)
|
|
1857
|
-
return;
|
|
1858
|
-
if (species.battleOnly || !species.nfe)
|
|
1859
|
-
return;
|
|
1860
|
-
const crossIsUnreleased = (crossSpecies.tier === "Unreleased" && crossSpecies.isNonstandard === "Unobtainable");
|
|
1861
|
-
if (crossSpecies.battleOnly || crossIsUnreleased || !crossSpecies.prevo)
|
|
1862
|
-
return;
|
|
1863
|
-
const crossPrevoSpecies = this.dex.species.get(crossSpecies.prevo);
|
|
1864
|
-
if (!crossPrevoSpecies.prevo !== !species.prevo)
|
|
1865
|
-
return;
|
|
1866
|
-
const mixedSpecies = this.dex.deepClone(species);
|
|
1867
|
-
mixedSpecies.baseSpecies = mixedSpecies.name = `${species.name}-${crossSpecies.name}`;
|
|
1868
|
-
mixedSpecies.weightkg =
|
|
1869
|
-
Math.max(0.1, +(species.weightkg + crossSpecies.weightkg - crossPrevoSpecies.weightkg)).toFixed(1);
|
|
1870
|
-
mixedSpecies.nfe = false;
|
|
1871
|
-
mixedSpecies.evos = [];
|
|
1872
|
-
mixedSpecies.eggGroups = crossSpecies.eggGroups;
|
|
1873
|
-
mixedSpecies.abilities = crossSpecies.abilities;
|
|
1874
|
-
mixedSpecies.bst = 0;
|
|
1875
|
-
let i;
|
|
1876
|
-
for (i in species.baseStats) {
|
|
1877
|
-
const statChange = crossSpecies.baseStats[i] - crossPrevoSpecies.baseStats[i];
|
|
1878
|
-
mixedSpecies.baseStats[i] = this.clampIntRange(species.baseStats[i] + statChange, 1, 255);
|
|
1879
|
-
mixedSpecies.bst += mixedSpecies.baseStats[i];
|
|
1880
|
-
}
|
|
1881
|
-
if (crossSpecies.types[0] !== crossPrevoSpecies.types[0])
|
|
1882
|
-
mixedSpecies.types[0] = crossSpecies.types[0];
|
|
1883
|
-
if (crossSpecies.types[1] !== crossPrevoSpecies.types[1]) {
|
|
1884
|
-
mixedSpecies.types[1] = crossSpecies.types[1] || crossSpecies.types[0];
|
|
1885
|
-
}
|
|
1886
|
-
if (mixedSpecies.types[0] === mixedSpecies.types[1])
|
|
1887
|
-
mixedSpecies.types = [mixedSpecies.types[0]];
|
|
1888
|
-
return mixedSpecies;
|
|
1889
|
-
},
|
|
1890
|
-
onBegin() {
|
|
1891
|
-
for (const pokemon of this.getAllPokemon()) {
|
|
1892
|
-
pokemon.baseSpecies = pokemon.species;
|
|
1893
|
-
}
|
|
1894
|
-
},
|
|
1895
|
-
},
|
|
1896
1757
|
revelationmonsmod: {
|
|
1897
1758
|
effectType: "Rule",
|
|
1898
1759
|
name: "Revelationmons Mod",
|