@pkmn/sim 0.4.25 → 0.5.3
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 +272 -204
- package/build/config/formats.js.map +1 -1
- package/build/data/abilities.js +5 -1
- package/build/data/abilities.js.map +1 -1
- package/build/data/formats-data.js +48 -41
- package/build/data/formats-data.js.map +1 -1
- package/build/data/items.js +26 -2
- package/build/data/items.js.map +1 -1
- package/build/data/learnsets.js +35 -1
- package/build/data/learnsets.js.map +1 -1
- package/build/data/mods/gen1/scripts.js +12 -0
- package/build/data/mods/gen1/scripts.js.map +1 -1
- package/build/data/mods/gen2/formats-data.js +2 -2
- package/build/data/mods/gen2/formats-data.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/moves.js +9 -13
- package/build/data/moves.js.map +1 -1
- package/build/data/pokedex.js +33 -0
- package/build/data/pokedex.js.map +1 -1
- package/build/data/rulesets.js +39 -5
- package/build/data/rulesets.js.map +1 -1
- package/build/data/text/items.js +4 -0
- package/build/data/text/items.js.map +1 -1
- package/build/data/text/moves.js +1 -1
- package/build/data/text/moves.js.map +1 -1
- package/build/sim/battle-actions.js +8 -3
- package/build/sim/battle-actions.js.map +1 -1
- package/build/sim/dex-formats.js +1 -1
- package/build/sim/dex-formats.js.map +1 -1
- package/build/sim/dex-species.js +4 -3
- package/build/sim/dex-species.js.map +1 -1
- package/build/sim/exported-global-types.d.ts +1 -0
- package/build/sim/global-types.d.ts +1 -0
- package/build/sim/pokemon.js +1 -1
- package/build/sim/pokemon.js.map +1 -1
- package/build/sim/team-validator.js +3 -0
- package/build/sim/team-validator.js.map +1 -1
- package/config/formats.ts +276 -205
- package/data/abilities.ts +3 -1
- package/data/formats-data.ts +48 -41
- package/data/items.ts +26 -2
- package/data/learnsets.ts +35 -1
- package/data/mods/gen1/scripts.ts +11 -0
- package/data/mods/gen2/formats-data.ts +2 -2
- package/data/mods/gen3/formats-data.ts +1 -1
- package/data/moves.ts +9 -13
- package/data/pokedex.ts +33 -0
- package/data/rulesets.ts +35 -6
- package/data/text/items.ts +4 -0
- package/data/text/moves.ts +1 -1
- package/package.json +1 -1
- package/sim/battle-actions.ts +8 -3
- package/sim/dex-formats.ts +1 -1
- package/sim/dex-species.ts +4 -3
- package/sim/exported-global-types.ts +1 -0
- package/sim/global-types.ts +1 -0
- package/sim/pokemon.ts +1 -1
- package/sim/team-validator.ts +3 -0
package/data/abilities.ts
CHANGED
|
@@ -2349,6 +2349,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = {
|
|
|
2349
2349
|
neutralizinggas: {
|
|
2350
2350
|
// Ability suppression implemented in sim/pokemon.ts:Pokemon#ignoringAbility
|
|
2351
2351
|
onPreStart(pokemon) {
|
|
2352
|
+
if (pokemon.transformed) return;
|
|
2352
2353
|
this.add('-ability', pokemon, 'Neutralizing Gas');
|
|
2353
2354
|
pokemon.abilityState.ending = false;
|
|
2354
2355
|
for (const target of this.getAllActive()) {
|
|
@@ -2362,6 +2363,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = {
|
|
|
2362
2363
|
}
|
|
2363
2364
|
},
|
|
2364
2365
|
onEnd(source) {
|
|
2366
|
+
if (source.transformed) return;
|
|
2365
2367
|
for (const pokemon of this.getAllActive()) {
|
|
2366
2368
|
if (pokemon !== source && pokemon.hasAbility('Neutralizing Gas')) {
|
|
2367
2369
|
return;
|
|
@@ -2523,7 +2525,7 @@ export const Abilities: {[abilityid: string]: AbilityData} = {
|
|
|
2523
2525
|
parentalbond: {
|
|
2524
2526
|
onPrepareHit(source, target, move) {
|
|
2525
2527
|
if (move.category === 'Status' || move.selfdestruct || move.multihit) return;
|
|
2526
|
-
if (['endeavor', 'fling', 'iceball', 'rollout'].includes(move.id)) return;
|
|
2528
|
+
if (['dynamaxcannon', 'endeavor', 'fling', 'iceball', 'rollout'].includes(move.id)) return;
|
|
2527
2529
|
if (!move.flags['charge'] && !move.spreadHit && !move.isZ && !move.isMax) {
|
|
2528
2530
|
move.multihit = 2;
|
|
2529
2531
|
move.multihitType = 'parentalbond';
|
package/data/formats-data.ts
CHANGED
|
@@ -8,7 +8,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
8
8
|
venusaur: {
|
|
9
9
|
randomBattleMoves: ["gigadrain", "leechseed", "sleeppowder", "sludgebomb", "substitute"],
|
|
10
10
|
randomBattleLevel: 82,
|
|
11
|
-
tier: "
|
|
11
|
+
tier: "UU",
|
|
12
12
|
doublesTier: "(DUU)",
|
|
13
13
|
},
|
|
14
14
|
venusaurmega: {
|
|
@@ -353,7 +353,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
353
353
|
randomDoubleBattleMoves: ["auroraveil", "blizzard", "encore", "freezedry", "moonblast"],
|
|
354
354
|
randomDoubleBattleLevel: 81,
|
|
355
355
|
tier: "OU",
|
|
356
|
-
doublesTier: "
|
|
356
|
+
doublesTier: "DOU",
|
|
357
357
|
},
|
|
358
358
|
igglybuff: {
|
|
359
359
|
tier: "LC",
|
|
@@ -490,7 +490,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
490
490
|
randomDoubleBattleMoves: ["calmmind", "encore", "icebeam", "muddywater", "protect"],
|
|
491
491
|
randomDoubleBattleLevel: 88,
|
|
492
492
|
tier: "(PU)",
|
|
493
|
-
doublesTier: "
|
|
493
|
+
doublesTier: "DUU",
|
|
494
494
|
},
|
|
495
495
|
mankey: {
|
|
496
496
|
isNonstandard: "Past",
|
|
@@ -530,7 +530,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
530
530
|
randomBattleLevel: 86,
|
|
531
531
|
randomDoubleBattleMoves: ["earthpower", "helpinghand", "icywind", "muddywater", "protect"],
|
|
532
532
|
randomDoubleBattleLevel: 84,
|
|
533
|
-
tier: "
|
|
533
|
+
tier: "(PU)",
|
|
534
534
|
doublesTier: "DUU",
|
|
535
535
|
},
|
|
536
536
|
abra: {
|
|
@@ -662,7 +662,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
662
662
|
randomBattleLevel: 86,
|
|
663
663
|
randomDoubleBattleMoves: ["fireblast", "healpulse", "protect", "psychic", "shellsidearm", "trickroom"],
|
|
664
664
|
randomDoubleBattleLevel: 85,
|
|
665
|
-
tier: "
|
|
665
|
+
tier: "RUBL",
|
|
666
666
|
doublesTier: "(DUU)",
|
|
667
667
|
},
|
|
668
668
|
slowking: {
|
|
@@ -710,7 +710,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
710
710
|
randomBattleMoves: ["bravebird", "closecombat", "firstimpression", "knockoff", "swordsdance"],
|
|
711
711
|
randomBattleLevel: 82,
|
|
712
712
|
randomDoubleBattleMoves: ["bravebird", "closecombat", "firstimpression", "knockoff", "poisonjab", "protect", "swordsdance"],
|
|
713
|
-
randomDoubleBattleLevel:
|
|
713
|
+
randomDoubleBattleLevel: 85,
|
|
714
714
|
randomBattleNoDynamaxMoves: ["bravebird", "closecombat", "firstimpression", "knockoff", "poisonjab", "swordsdance"],
|
|
715
715
|
tier: "NU",
|
|
716
716
|
doublesTier: "(DUU)",
|
|
@@ -946,7 +946,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
946
946
|
randomBattleLevel: 82,
|
|
947
947
|
randomDoubleBattleMoves: ["highhorsepower", "icepunch", "megahorn", "protect", "rockslide", "stoneedge"],
|
|
948
948
|
randomDoubleBattleLevel: 84,
|
|
949
|
-
tier: "
|
|
949
|
+
tier: "RU",
|
|
950
950
|
doublesTier: "(DUU)",
|
|
951
951
|
},
|
|
952
952
|
happiny: {
|
|
@@ -1002,7 +1002,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
1002
1002
|
randomDoubleBattleLevel: 82,
|
|
1003
1003
|
randomBattleNoDynamaxMoves: ["dracometeor", "flipturn", "hydropump", "icebeam", "raindance"],
|
|
1004
1004
|
tier: "PUBL",
|
|
1005
|
-
doublesTier: "
|
|
1005
|
+
doublesTier: "DUU",
|
|
1006
1006
|
},
|
|
1007
1007
|
goldeen: {
|
|
1008
1008
|
tier: "LC",
|
|
@@ -1209,7 +1209,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
1209
1209
|
randomBattleLevel: 82,
|
|
1210
1210
|
randomDoubleBattleMoves: ["calmmind", "dazzlinggleam", "morningsun", "protect", "psychic", "shadowball"],
|
|
1211
1211
|
randomDoubleBattleLevel: 84,
|
|
1212
|
-
tier: "
|
|
1212
|
+
tier: "PU",
|
|
1213
1213
|
doublesTier: "(DUU)",
|
|
1214
1214
|
},
|
|
1215
1215
|
umbreon: {
|
|
@@ -1242,7 +1242,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
1242
1242
|
randomDoubleBattleMoves: ["calmmind", "hypervoice", "mysticalfire", "protect", "psyshock"],
|
|
1243
1243
|
randomDoubleBattleLevel: 80,
|
|
1244
1244
|
tier: "NU",
|
|
1245
|
-
doublesTier: "DUU",
|
|
1245
|
+
doublesTier: "(DUU)",
|
|
1246
1246
|
},
|
|
1247
1247
|
porygon: {
|
|
1248
1248
|
tier: "LC",
|
|
@@ -1346,7 +1346,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
1346
1346
|
randomBattleLevel: 76,
|
|
1347
1347
|
randomDoubleBattleMoves: ["bravebird", "bulkup", "closecombat", "throatchop", "thunderouskick", "uturn"],
|
|
1348
1348
|
randomDoubleBattleLevel: 76,
|
|
1349
|
-
tier: "
|
|
1349
|
+
tier: "OU",
|
|
1350
1350
|
doublesTier: "DOU",
|
|
1351
1351
|
},
|
|
1352
1352
|
moltres: {
|
|
@@ -1543,7 +1543,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
1543
1543
|
randomDoubleBattleMoves: ["aquajet", "knockoff", "liquidation", "playrough", "protect"],
|
|
1544
1544
|
randomDoubleBattleLevel: 87,
|
|
1545
1545
|
tier: "UU",
|
|
1546
|
-
doublesTier: "
|
|
1546
|
+
doublesTier: "DUU",
|
|
1547
1547
|
},
|
|
1548
1548
|
bonsly: {
|
|
1549
1549
|
tier: "LC",
|
|
@@ -2080,7 +2080,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
2080
2080
|
randomBattleLevel: 82,
|
|
2081
2081
|
randomDoubleBattleMoves: ["closecombat", "feint", "knockoff", "protect", "swordsdance", "tripleaxel", "zenheadbutt"],
|
|
2082
2082
|
randomDoubleBattleLevel: 86,
|
|
2083
|
-
tier: "
|
|
2083
|
+
tier: "PU",
|
|
2084
2084
|
doublesTier: "(DUU)",
|
|
2085
2085
|
},
|
|
2086
2086
|
gallademega: {
|
|
@@ -2123,7 +2123,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
2123
2123
|
randomBattleLevel: 86,
|
|
2124
2124
|
randomDoubleBattleMoves: ["acrobatics", "defog", "leechlife", "protect", "swordsdance"],
|
|
2125
2125
|
randomDoubleBattleLevel: 88,
|
|
2126
|
-
tier: "
|
|
2126
|
+
tier: "PU",
|
|
2127
2127
|
doublesTier: "(DUU)",
|
|
2128
2128
|
},
|
|
2129
2129
|
shedinja: {
|
|
@@ -2441,7 +2441,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
2441
2441
|
randomDoubleBattleMoves: ["powerwhip", "protect", "recover", "stealthrock", "stoneedge", "stringshot", "toxic"],
|
|
2442
2442
|
randomDoubleBattleLevel: 88,
|
|
2443
2443
|
tier: "(PU)",
|
|
2444
|
-
doublesTier: "DUU",
|
|
2444
|
+
doublesTier: "(DUU)",
|
|
2445
2445
|
},
|
|
2446
2446
|
anorith: {
|
|
2447
2447
|
tier: "LC",
|
|
@@ -2502,7 +2502,6 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
2502
2502
|
randomDoubleBattleMoves: ["allyswitch", "haze", "helpinghand", "nightshade", "painsplit", "trickroom", "willowisp"],
|
|
2503
2503
|
randomDoubleBattleLevel: 84,
|
|
2504
2504
|
tier: "NFE",
|
|
2505
|
-
doublesTier: "DUU",
|
|
2506
2505
|
},
|
|
2507
2506
|
dusknoir: {
|
|
2508
2507
|
randomBattleMoves: ["earthquake", "icepunch", "painsplit", "poltergeist", "shadowsneak", "trick", "willowisp"],
|
|
@@ -2959,7 +2958,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
2959
2958
|
randomBattleLevel: 82,
|
|
2960
2959
|
randomDoubleBattleMoves: ["allyswitch", "bodypress", "explosion", "ironhead", "trickroom"],
|
|
2961
2960
|
randomDoubleBattleLevel: 88,
|
|
2962
|
-
tier: "
|
|
2961
|
+
tier: "RU",
|
|
2963
2962
|
doublesTier: "DUU",
|
|
2964
2963
|
},
|
|
2965
2964
|
chatot: {
|
|
@@ -3169,7 +3168,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
3169
3168
|
randomDoubleBattleMoves: ["bodyslam", "knockoff", "protect", "thunderwave"],
|
|
3170
3169
|
randomDoubleBattleLevel: 86,
|
|
3171
3170
|
tier: "(PU)",
|
|
3172
|
-
doublesTier: "
|
|
3171
|
+
doublesTier: "DUU",
|
|
3173
3172
|
},
|
|
3174
3173
|
giratina: {
|
|
3175
3174
|
randomBattleMoves: ["hex", "rest", "sleeptalk", "toxic", "willowisp"],
|
|
@@ -3443,7 +3442,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
3443
3442
|
},
|
|
3444
3443
|
audino: {
|
|
3445
3444
|
randomBattleMoves: ["healbell", "knockoff", "protect", "toxic", "wish"],
|
|
3446
|
-
randomBattleLevel:
|
|
3445
|
+
randomBattleLevel: 90,
|
|
3447
3446
|
randomDoubleBattleMoves: ["bodyslam", "healpulse", "helpinghand", "knockoff", "protect", "thunderwave"],
|
|
3448
3447
|
randomDoubleBattleLevel: 89,
|
|
3449
3448
|
tier: "PU",
|
|
@@ -3480,7 +3479,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
3480
3479
|
randomBattleLevel: 84,
|
|
3481
3480
|
randomDoubleBattleMoves: ["earthpower", "knockoff", "muddywater", "powerwhip", "protect", "raindance"],
|
|
3482
3481
|
randomDoubleBattleLevel: 86,
|
|
3483
|
-
tier: "
|
|
3482
|
+
tier: "RU",
|
|
3484
3483
|
doublesTier: "(DUU)",
|
|
3485
3484
|
},
|
|
3486
3485
|
throh: {
|
|
@@ -3653,7 +3652,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
3653
3652
|
randomBattleLevel: 86,
|
|
3654
3653
|
randomDoubleBattleMoves: ["bodypress", "irondefense", "painsplit", "shadowball", "trickroom", "willowisp"],
|
|
3655
3654
|
randomDoubleBattleLevel: 88,
|
|
3656
|
-
tier: "
|
|
3655
|
+
tier: "PU",
|
|
3657
3656
|
doublesTier: "(DUU)",
|
|
3658
3657
|
},
|
|
3659
3658
|
runerigus: {
|
|
@@ -3770,7 +3769,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
3770
3769
|
randomDoubleBattleMoves: ["auroraveil", "blizzard", "freezedry", "iceshard", "protect"],
|
|
3771
3770
|
randomDoubleBattleLevel: 82,
|
|
3772
3771
|
tier: "(PU)",
|
|
3773
|
-
doublesTier: "DUU",
|
|
3772
|
+
doublesTier: "(DUU)",
|
|
3774
3773
|
},
|
|
3775
3774
|
deerling: {
|
|
3776
3775
|
isNonstandard: "Past",
|
|
@@ -3832,7 +3831,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
3832
3831
|
randomBattleMoves: ["bugbuzz", "gigadrain", "stickyweb", "thunder", "voltswitch"],
|
|
3833
3832
|
randomBattleLevel: 82,
|
|
3834
3833
|
randomDoubleBattleMoves: ["bugbuzz", "electroweb", "energyball", "protect", "stickyweb", "thunder"],
|
|
3835
|
-
randomDoubleBattleLevel:
|
|
3834
|
+
randomDoubleBattleLevel: 85,
|
|
3836
3835
|
tier: "PU",
|
|
3837
3836
|
doublesTier: "(DUU)",
|
|
3838
3837
|
},
|
|
@@ -3968,7 +3967,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
3968
3967
|
randomBattleLevel: 82,
|
|
3969
3968
|
randomDoubleBattleMoves: ["closecombat", "fakeout", "knockoff", "poisonjab", "protect", "uturn"],
|
|
3970
3969
|
randomDoubleBattleLevel: 84,
|
|
3971
|
-
tier: "
|
|
3970
|
+
tier: "UUBL",
|
|
3972
3971
|
doublesTier: "(DUU)",
|
|
3973
3972
|
},
|
|
3974
3973
|
druddigon: {
|
|
@@ -4070,7 +4069,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
4070
4069
|
randomDoubleBattleMoves: ["bugbuzz", "gigadrain", "heatwave", "hurricane", "protect", "quiverdance"],
|
|
4071
4070
|
randomDoubleBattleLevel: 80,
|
|
4072
4071
|
tier: "OU",
|
|
4073
|
-
doublesTier: "DUU",
|
|
4072
|
+
doublesTier: "(DUU)",
|
|
4074
4073
|
},
|
|
4075
4074
|
cobalion: {
|
|
4076
4075
|
randomBattleMoves: ["closecombat", "ironhead", "stealthrock", "stoneedge", "swordsdance", "voltswitch"],
|
|
@@ -4167,7 +4166,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
4167
4166
|
randomBattleLevel: 80,
|
|
4168
4167
|
randomDoubleBattleMoves: ["dracometeor", "earthpower", "freezedry", "glaciate", "protect", "roost"],
|
|
4169
4168
|
randomDoubleBattleLevel: 78,
|
|
4170
|
-
tier: "
|
|
4169
|
+
tier: "Uber",
|
|
4171
4170
|
doublesTier: "DUU",
|
|
4172
4171
|
},
|
|
4173
4172
|
kyuremblack: {
|
|
@@ -4194,7 +4193,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
4194
4193
|
},
|
|
4195
4194
|
keldeoresolute: {
|
|
4196
4195
|
randomBattleMoves: ["airslash", "calmmind", "hydropump", "icywind", "scald", "secretsword", "substitute"],
|
|
4197
|
-
randomBattleLevel:
|
|
4196
|
+
randomBattleLevel: 79,
|
|
4198
4197
|
},
|
|
4199
4198
|
meloetta: {
|
|
4200
4199
|
isNonstandard: "Past",
|
|
@@ -4277,7 +4276,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
4277
4276
|
randomBattleLevel: 80,
|
|
4278
4277
|
randomDoubleBattleMoves: ["bodyslam", "highhorsepower", "knockoff", "protect", "quickattack", "swordsdance", "uturn"],
|
|
4279
4278
|
randomDoubleBattleLevel: 86,
|
|
4280
|
-
tier: "
|
|
4279
|
+
tier: "RUBL",
|
|
4281
4280
|
doublesTier: "(DUU)",
|
|
4282
4281
|
},
|
|
4283
4282
|
fletchling: {
|
|
@@ -4544,7 +4543,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
4544
4543
|
randomDoubleBattleMoves: ["dazzlinggleam", "foulplay", "spikes", "thunderwave"],
|
|
4545
4544
|
randomDoubleBattleLevel: 84,
|
|
4546
4545
|
tier: "RU",
|
|
4547
|
-
doublesTier: "
|
|
4546
|
+
doublesTier: "DUU",
|
|
4548
4547
|
},
|
|
4549
4548
|
phantump: {
|
|
4550
4549
|
tier: "LC",
|
|
@@ -4955,7 +4954,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
4955
4954
|
randomBattleLevel: 84,
|
|
4956
4955
|
randomDoubleBattleMoves: ["highjumpkick", "knockoff", "playrough", "powerwhip", "rapidspin", "tripleaxel", "uturn"],
|
|
4957
4956
|
randomDoubleBattleLevel: 88,
|
|
4958
|
-
tier: "
|
|
4957
|
+
tier: "NU",
|
|
4959
4958
|
doublesTier: "DOU",
|
|
4960
4959
|
},
|
|
4961
4960
|
comfey: {
|
|
@@ -4964,7 +4963,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
4964
4963
|
randomDoubleBattleMoves: ["defog", "drainingkiss", "floralhealing", "gigadrain", "helpinghand", "protect"],
|
|
4965
4964
|
randomDoubleBattleLevel: 89,
|
|
4966
4965
|
tier: "NU",
|
|
4967
|
-
doublesTier: "
|
|
4966
|
+
doublesTier: "DUU",
|
|
4968
4967
|
},
|
|
4969
4968
|
oranguru: {
|
|
4970
4969
|
randomBattleMoves: ["focusblast", "nastyplot", "psychic", "thunderbolt", "trickroom"],
|
|
@@ -5111,7 +5110,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
5111
5110
|
randomBattleLevel: 84,
|
|
5112
5111
|
randomDoubleBattleMoves: ["multiattack", "rockslide", "swordsdance", "tailwind"],
|
|
5113
5112
|
randomDoubleBattleLevel: 89,
|
|
5114
|
-
tier: "
|
|
5113
|
+
tier: "NU",
|
|
5115
5114
|
doublesTier: "(DUU)",
|
|
5116
5115
|
},
|
|
5117
5116
|
silvallyice: {
|
|
@@ -5307,7 +5306,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
5307
5306
|
randomDoubleBattleMoves: ["grassknot", "meteorbeam", "protect", "sludgebomb", "thunderbolt"],
|
|
5308
5307
|
randomDoubleBattleLevel: 81,
|
|
5309
5308
|
tier: "UU",
|
|
5310
|
-
doublesTier: "
|
|
5309
|
+
doublesTier: "DUU",
|
|
5311
5310
|
},
|
|
5312
5311
|
buzzwole: {
|
|
5313
5312
|
randomBattleMoves: ["closecombat", "darkestlariat", "dualwingbeat", "ironhead", "leechlife", "stoneedge"],
|
|
@@ -5332,7 +5331,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
5332
5331
|
randomDoubleBattleMoves: ["dazzlinggleam", "energyball", "thunderbolt", "voltswitch"],
|
|
5333
5332
|
randomDoubleBattleLevel: 79,
|
|
5334
5333
|
tier: "RU",
|
|
5335
|
-
doublesTier: "
|
|
5334
|
+
doublesTier: "DUU",
|
|
5336
5335
|
},
|
|
5337
5336
|
celesteela: {
|
|
5338
5337
|
randomBattleMoves: ["airslash", "earthquake", "fireblast", "flashcannon", "leechseed", "protect"],
|
|
@@ -5341,7 +5340,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
5341
5340
|
randomDoubleBattleLevel: 78,
|
|
5342
5341
|
randomBattleNoDynamaxMoves: ["airslash", "earthquake", "fireblast", "heavyslam", "leechseed", "protect"],
|
|
5343
5342
|
tier: "UU",
|
|
5344
|
-
doublesTier: "
|
|
5343
|
+
doublesTier: "DOU",
|
|
5345
5344
|
},
|
|
5346
5345
|
kartana: {
|
|
5347
5346
|
randomBattleMoves: ["knockoff", "leafblade", "sacredsword", "smartstrike", "swordsdance"],
|
|
@@ -5905,7 +5904,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
5905
5904
|
randomBattleLevel: 84,
|
|
5906
5905
|
randomDoubleBattleMoves: ["expandingforce", "followme", "healpulse", "helpinghand", "protect"],
|
|
5907
5906
|
randomDoubleBattleLevel: 80,
|
|
5908
|
-
tier: "
|
|
5907
|
+
tier: "NU",
|
|
5909
5908
|
doublesTier: "DOU",
|
|
5910
5909
|
},
|
|
5911
5910
|
morpeko: {
|
|
@@ -5936,7 +5935,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
5936
5935
|
},
|
|
5937
5936
|
dracozolt: {
|
|
5938
5937
|
randomBattleMoves: ["aerialace", "boltbeak", "earthquake", "lowkick", "outrage"],
|
|
5939
|
-
randomBattleLevel:
|
|
5938
|
+
randomBattleLevel: 78,
|
|
5940
5939
|
randomDoubleBattleMoves: ["aerialace", "boltbeak", "dragonclaw", "highhorsepower", "rockslide"],
|
|
5941
5940
|
randomDoubleBattleLevel: 82,
|
|
5942
5941
|
randomBattleNoDynamaxMoves: ["boltbeak", "dragonclaw", "earthquake", "outrage"],
|
|
@@ -5949,7 +5948,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
5949
5948
|
randomDoubleBattleMoves: ["blizzard", "boltbeak", "iciclecrash", "lowkick", "protect"],
|
|
5950
5949
|
randomDoubleBattleLevel: 88,
|
|
5951
5950
|
tier: "UUBL",
|
|
5952
|
-
doublesTier: "
|
|
5951
|
+
doublesTier: "DUU",
|
|
5953
5952
|
},
|
|
5954
5953
|
dracovish: {
|
|
5955
5954
|
randomBattleMoves: ["crunch", "fishiousrend", "icefang", "lowkick", "psychicfangs"],
|
|
@@ -6091,7 +6090,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
6091
6090
|
randomDoubleBattleMoves: ["electroweb", "extremespeed", "protect", "thundercage", "voltswitch"],
|
|
6092
6091
|
randomDoubleBattleLevel: 82,
|
|
6093
6092
|
randomBattleNoDynamaxMoves: ["explosion", "rapidspin", "thunderbolt", "voltswitch"],
|
|
6094
|
-
tier: "
|
|
6093
|
+
tier: "OU",
|
|
6095
6094
|
doublesTier: "DOU",
|
|
6096
6095
|
},
|
|
6097
6096
|
regidrago: {
|
|
@@ -6100,14 +6099,14 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
6100
6099
|
randomDoubleBattleMoves: ["crunch", "dragonclaw", "dragonenergy", "firefang"],
|
|
6101
6100
|
randomDoubleBattleLevel: 78,
|
|
6102
6101
|
tier: "NUBL",
|
|
6103
|
-
doublesTier: "DUU",
|
|
6102
|
+
doublesTier: "(DUU)",
|
|
6104
6103
|
},
|
|
6105
6104
|
glastrier: {
|
|
6106
6105
|
randomBattleMoves: ["closecombat", "highhorsepower", "iciclecrash", "swordsdance"],
|
|
6107
6106
|
randomBattleLevel: 82,
|
|
6108
6107
|
randomDoubleBattleMoves: ["closecombat", "highhorsepower", "iciclecrash", "protect"],
|
|
6109
6108
|
randomDoubleBattleLevel: 82,
|
|
6110
|
-
tier: "
|
|
6109
|
+
tier: "PU",
|
|
6111
6110
|
doublesTier: "(DUU)",
|
|
6112
6111
|
},
|
|
6113
6112
|
spectrier: {
|
|
@@ -6410,6 +6409,14 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
|
|
|
6410
6409
|
isNonstandard: "CAP",
|
|
6411
6410
|
tier: "CAP",
|
|
6412
6411
|
},
|
|
6412
|
+
venomicon: {
|
|
6413
|
+
isNonstandard: "CAP",
|
|
6414
|
+
tier: "CAP",
|
|
6415
|
+
},
|
|
6416
|
+
venomiconepilogue: {
|
|
6417
|
+
isNonstandard: "CAP",
|
|
6418
|
+
tier: "CAP",
|
|
6419
|
+
},
|
|
6413
6420
|
pokestarsmeargle: {
|
|
6414
6421
|
isNonstandard: "Custom",
|
|
6415
6422
|
tier: "Illegal",
|
package/data/items.ts
CHANGED
|
@@ -1274,7 +1274,7 @@ export const Items: {[itemid: string]: ItemData} = {
|
|
|
1274
1274
|
fling: {
|
|
1275
1275
|
basePower: 30,
|
|
1276
1276
|
},
|
|
1277
|
-
num:
|
|
1277
|
+
num: 235,
|
|
1278
1278
|
gen: 2,
|
|
1279
1279
|
},
|
|
1280
1280
|
dragoniumz: {
|
|
@@ -3179,7 +3179,7 @@ export const Items: {[itemid: string]: ItemData} = {
|
|
|
3179
3179
|
if (!this.activeMove) return false;
|
|
3180
3180
|
if (this.activeMove.id !== 'knockoff' && this.activeMove.id !== 'thief' && this.activeMove.id !== 'covet') return false;
|
|
3181
3181
|
},
|
|
3182
|
-
num:
|
|
3182
|
+
num: 137,
|
|
3183
3183
|
gen: 2,
|
|
3184
3184
|
isNonstandard: "Past",
|
|
3185
3185
|
},
|
|
@@ -7107,4 +7107,28 @@ export const Items: {[itemid: string]: ItemData} = {
|
|
|
7107
7107
|
gen: 6,
|
|
7108
7108
|
isNonstandard: "CAP",
|
|
7109
7109
|
},
|
|
7110
|
+
vilevial: {
|
|
7111
|
+
name: "Vile Vial",
|
|
7112
|
+
spritenum: 752,
|
|
7113
|
+
fling: {
|
|
7114
|
+
basePower: 60,
|
|
7115
|
+
},
|
|
7116
|
+
onBasePowerPriority: 15,
|
|
7117
|
+
onBasePower(basePower, user, target, move) {
|
|
7118
|
+
if (user.baseSpecies.num === -66 && ['Poison', 'Flying'].includes(move.type)) {
|
|
7119
|
+
return this.chainModify([4915, 4096]);
|
|
7120
|
+
}
|
|
7121
|
+
},
|
|
7122
|
+
onTakeItem(item, pokemon, source) {
|
|
7123
|
+
if (source?.baseSpecies.num === -66 || pokemon.baseSpecies.num === -66) {
|
|
7124
|
+
return false;
|
|
7125
|
+
}
|
|
7126
|
+
return true;
|
|
7127
|
+
},
|
|
7128
|
+
forcedForme: "Venomicon-Epilogue",
|
|
7129
|
+
itemUser: ["Venomicon-Epilogue"],
|
|
7130
|
+
num: -2,
|
|
7131
|
+
gen: 8,
|
|
7132
|
+
isNonstandard: "CAP",
|
|
7133
|
+
},
|
|
7110
7134
|
};
|
package/data/learnsets.ts
CHANGED
|
@@ -27149,7 +27149,7 @@ export const Learnsets: {[speciesid: string]: LearnsetData} = {
|
|
|
27149
27149
|
headbutt: ["7V", "4T"],
|
|
27150
27150
|
hiddenpower: ["7M", "7V", "6M", "5M", "4M", "3M"],
|
|
27151
27151
|
highhorsepower: ["8M"],
|
|
27152
|
-
hornattack: ["
|
|
27152
|
+
hornattack: ["3L1"],
|
|
27153
27153
|
hyperbeam: ["8M", "7M", "7V", "6M", "5M", "4M", "3M"],
|
|
27154
27154
|
icebeam: ["8M", "7M", "6M", "5M", "4M", "3M"],
|
|
27155
27155
|
icefang: ["8M", "8L0", "7L24", "6L24", "5L28", "4L28"],
|
|
@@ -82815,6 +82815,40 @@ export const Learnsets: {[speciesid: string]: LearnsetData} = {
|
|
|
82815
82815
|
watergun: ["8L1"],
|
|
82816
82816
|
},
|
|
82817
82817
|
},
|
|
82818
|
+
venomicon: {
|
|
82819
|
+
learnset: {
|
|
82820
|
+
acidarmor: ["8L1"],
|
|
82821
|
+
attract: ["8M"],
|
|
82822
|
+
bodypress: ["8M"],
|
|
82823
|
+
bravebird: ["8M"],
|
|
82824
|
+
coil: ["8L1"],
|
|
82825
|
+
discharge: ["8L1"],
|
|
82826
|
+
drillpeck: ["8L1"],
|
|
82827
|
+
earthpower: ["8M"],
|
|
82828
|
+
endure: ["8M"],
|
|
82829
|
+
facade: ["8M"],
|
|
82830
|
+
gunkshot: ["8M"],
|
|
82831
|
+
hurricane: ["8M"],
|
|
82832
|
+
imprison: ["8M"],
|
|
82833
|
+
knockoff: ["8L1"],
|
|
82834
|
+
mysticalfire: ["8M"],
|
|
82835
|
+
nastyplot: ["8M"],
|
|
82836
|
+
poisonjab: ["8M"],
|
|
82837
|
+
protect: ["8M"],
|
|
82838
|
+
rest: ["8M"],
|
|
82839
|
+
roost: ["8L1"],
|
|
82840
|
+
round: ["8M"],
|
|
82841
|
+
sleeptalk: ["8M"],
|
|
82842
|
+
sludgebomb: ["8M"],
|
|
82843
|
+
snore: ["8M"],
|
|
82844
|
+
stealthrock: ["8M"],
|
|
82845
|
+
substitute: ["8M"],
|
|
82846
|
+
swordsdance: ["8M"],
|
|
82847
|
+
thunderwave: ["8M"],
|
|
82848
|
+
toxic: ["8L1"],
|
|
82849
|
+
uturn: ["8M"],
|
|
82850
|
+
},
|
|
82851
|
+
},
|
|
82818
82852
|
pokestarsmeargle: {
|
|
82819
82853
|
eventData: [
|
|
82820
82854
|
{generation: 5, level: 60, gender: "M", abilities: ["owntempo"], moves: ["mindreader", "guillotine", "tailwhip", "gastroacid"]},
|
|
@@ -57,6 +57,17 @@ export const Scripts: ModdedBattleScriptsData = {
|
|
|
57
57
|
}
|
|
58
58
|
return changed;
|
|
59
59
|
},
|
|
60
|
+
clearBoosts() {
|
|
61
|
+
let i: BoostID;
|
|
62
|
+
for (i in this.boosts) {
|
|
63
|
+
this.boosts[i] = 0;
|
|
64
|
+
// Recalculate the modified stat
|
|
65
|
+
if (i === 'evasion' || i === 'accuracy') continue;
|
|
66
|
+
let stat = this.species.baseStats[i];
|
|
67
|
+
stat = Math.floor(Math.floor(2 * stat + this.set.ivs[i] + Math.floor(this.set.evs[i] / 4)) * this.level / 100 + 5);
|
|
68
|
+
this.modifiedStats![i] = this.storedStats[i] = Math.floor(stat);
|
|
69
|
+
}
|
|
70
|
+
},
|
|
60
71
|
},
|
|
61
72
|
actions: {
|
|
62
73
|
// This function is the main one when running a move.
|
|
@@ -691,7 +691,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
691
691
|
tier: "LC",
|
|
692
692
|
},
|
|
693
693
|
azumarill: {
|
|
694
|
-
randomBattleMoves: ["
|
|
694
|
+
randomBattleMoves: ["perishsong", "rest", "surf", "whirlpool"],
|
|
695
695
|
tier: "NU",
|
|
696
696
|
},
|
|
697
697
|
sudowoodo: {
|
|
@@ -817,7 +817,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
817
817
|
tier: "LC",
|
|
818
818
|
},
|
|
819
819
|
octillery: {
|
|
820
|
-
randomBattleMoves: ["
|
|
820
|
+
randomBattleMoves: ["flamethrower", "hiddenpowerelectric", "icebeam", "rest", "sleeptalk", "surf"],
|
|
821
821
|
tier: "NU",
|
|
822
822
|
},
|
|
823
823
|
delibird: {
|
|
@@ -1364,7 +1364,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
1364
1364
|
tier: "Uber",
|
|
1365
1365
|
},
|
|
1366
1366
|
kyogre: {
|
|
1367
|
-
randomBattleMoves: ["calmmind", "icebeam", "rest", "sleeptalk", "surf", "thunder"
|
|
1367
|
+
randomBattleMoves: ["calmmind", "icebeam", "rest", "sleeptalk", "surf", "thunder"],
|
|
1368
1368
|
tier: "Uber",
|
|
1369
1369
|
},
|
|
1370
1370
|
groudon: {
|
package/data/moves.ts
CHANGED
|
@@ -4574,7 +4574,7 @@ export const Moves: {[moveid: string]: MoveData} = {
|
|
|
4574
4574
|
pseudoWeather: 'fairylock',
|
|
4575
4575
|
condition: {
|
|
4576
4576
|
duration: 2,
|
|
4577
|
-
|
|
4577
|
+
onFieldStart(target) {
|
|
4578
4578
|
this.add('-fieldactivate', 'move: Fairy Lock');
|
|
4579
4579
|
},
|
|
4580
4580
|
onTrapPokemon(pokemon) {
|
|
@@ -9077,7 +9077,7 @@ export const Moves: {[moveid: string]: MoveData} = {
|
|
|
9077
9077
|
pseudoWeather: 'iondeluge',
|
|
9078
9078
|
condition: {
|
|
9079
9079
|
duration: 1,
|
|
9080
|
-
|
|
9080
|
+
onFieldStart(target, source, sourceEffect) {
|
|
9081
9081
|
this.add('-fieldactivate', 'move: Ion Deluge');
|
|
9082
9082
|
this.hint(`Normal-type moves become Electric-type after using ${sourceEffect}.`);
|
|
9083
9083
|
},
|
|
@@ -10420,16 +10420,10 @@ export const Moves: {[moveid: string]: MoveData} = {
|
|
|
10420
10420
|
},
|
|
10421
10421
|
onTryHitPriority: 3,
|
|
10422
10422
|
onTryHit(target, source, move) {
|
|
10423
|
-
|
|
10424
|
-
|
|
10425
|
-
const overrideBypassProtect = [
|
|
10426
|
-
'block', 'flowershield', 'gearup', 'magneticflux', 'phantomforce', 'psychup', 'shadowforce', 'teatime', 'transform', 'whirlwind',
|
|
10423
|
+
const bypassesMaxGuard = [
|
|
10424
|
+
'acupressure', 'afteryou', 'allyswitch', 'aromatherapy', 'aromaticmist', 'coaching', 'confide', 'copycat', 'curse', 'decorate', 'doomdesire', 'feint', 'futuresight', 'gmaxoneblow', 'gmaxrapidflow', 'healbell', 'holdhands', 'howl', 'junglehealing', 'lifedew', 'meanlook', 'perishsong', 'playnice', 'powertrick', 'roar', 'roleplay', 'tearfullook',
|
|
10427
10425
|
];
|
|
10428
|
-
|
|
10429
|
-
move.isZ || move.isMax || overrideBypassProtect.includes(move.id));
|
|
10430
|
-
if (!blockedByMaxGuard) {
|
|
10431
|
-
return;
|
|
10432
|
-
}
|
|
10426
|
+
if (bypassesMaxGuard.includes(move.id)) return;
|
|
10433
10427
|
if (move.smartTarget) {
|
|
10434
10428
|
move.smartTarget = false;
|
|
10435
10429
|
} else {
|
|
@@ -11090,7 +11084,9 @@ export const Moves: {[moveid: string]: MoveData} = {
|
|
|
11090
11084
|
priority: 0,
|
|
11091
11085
|
flags: {protect: 1, bypasssub: 1, allyanim: 1},
|
|
11092
11086
|
onHit(target, source) {
|
|
11093
|
-
const disallowedMoves = [
|
|
11087
|
+
const disallowedMoves = [
|
|
11088
|
+
'behemothbash', 'behemothblade', 'chatter', 'dynamaxcannon', 'mimic', 'sketch', 'struggle', 'transform',
|
|
11089
|
+
];
|
|
11094
11090
|
const move = target.lastMove;
|
|
11095
11091
|
if (source.transformed || !move || disallowedMoves.includes(move.id) || source.moves.includes(move.id)) {
|
|
11096
11092
|
return false;
|
|
@@ -15752,7 +15748,7 @@ export const Moves: {[moveid: string]: MoveData} = {
|
|
|
15752
15748
|
const moveid = moveSlot.id;
|
|
15753
15749
|
if (!moveid) continue;
|
|
15754
15750
|
const move = this.dex.moves.get(moveid);
|
|
15755
|
-
if (noSleepTalk.includes(moveid) || move.flags['charge'] || (move.isZ && move.basePower !== 1)) {
|
|
15751
|
+
if (noSleepTalk.includes(moveid) || move.flags['charge'] || (move.isZ && move.basePower !== 1) || move.isMax) {
|
|
15756
15752
|
continue;
|
|
15757
15753
|
}
|
|
15758
15754
|
moves.push(moveid);
|
package/data/pokedex.ts
CHANGED
|
@@ -16910,6 +16910,39 @@ export const Pokedex: {[speciesid: string]: SpeciesData} = {
|
|
|
16910
16910
|
eggGroups: ["Water 1", "Fairy"],
|
|
16911
16911
|
gen: 4,
|
|
16912
16912
|
},
|
|
16913
|
+
venomicon: {
|
|
16914
|
+
num: -66,
|
|
16915
|
+
name: "Venomicon",
|
|
16916
|
+
baseForme: "Prologue",
|
|
16917
|
+
types: ["Poison", "Flying"],
|
|
16918
|
+
gender: "N",
|
|
16919
|
+
baseStats: {hp: 85, atk: 70, def: 113, spa: 118, spd: 90, spe: 64},
|
|
16920
|
+
abilities: {0: "Stamina"},
|
|
16921
|
+
heightm: 0.8,
|
|
16922
|
+
weightkg: 11.5,
|
|
16923
|
+
color: "Purple",
|
|
16924
|
+
eggGroups: ["Undiscovered"],
|
|
16925
|
+
otherFormes: ["Venomicon-Epilogue"],
|
|
16926
|
+
formeOrder: ["Venomicon", "Venomicon-Epilogue"],
|
|
16927
|
+
gen: 8,
|
|
16928
|
+
},
|
|
16929
|
+
venomiconepilogue: {
|
|
16930
|
+
num: -66,
|
|
16931
|
+
name: "Venomicon-Epilogue",
|
|
16932
|
+
baseSpecies: "Venomicon",
|
|
16933
|
+
forme: "Epilogue",
|
|
16934
|
+
types: ["Poison", "Flying"],
|
|
16935
|
+
gender: "N",
|
|
16936
|
+
baseStats: {hp: 85, atk: 110, def: 85, spa: 55, spd: 85, spe: 120},
|
|
16937
|
+
abilities: {0: "Tinted Lens"},
|
|
16938
|
+
heightm: 0.8,
|
|
16939
|
+
weightkg: 12.4,
|
|
16940
|
+
color: "Purple",
|
|
16941
|
+
eggGroups: ["Undiscovered"],
|
|
16942
|
+
requiredItem: "Vile Vial",
|
|
16943
|
+
changesFrom: "Venomicon",
|
|
16944
|
+
gen: 8,
|
|
16945
|
+
},
|
|
16913
16946
|
// NOTE: PokeStar "formes" are not actually formes and thus do not have a formeOrder
|
|
16914
16947
|
pokestarsmeargle: {
|
|
16915
16948
|
num: -5000,
|