@pkmn/sim 0.5.12 → 0.5.15
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 +163 -149
- package/build/config/formats.js.map +1 -1
- package/build/data/abilities.js +2 -2
- package/build/data/abilities.js.map +1 -1
- package/build/data/aliases.js +2 -2
- package/build/data/aliases.js.map +1 -1
- package/build/data/conditions.js +4 -1
- package/build/data/conditions.js.map +1 -1
- package/build/data/formats-data.js +2 -2
- package/build/data/formats-data.js.map +1 -1
- package/build/data/items.js +4 -2
- package/build/data/items.js.map +1 -1
- package/build/data/learnsets.js +5 -4
- package/build/data/learnsets.js.map +1 -1
- package/build/data/mods/gen1/formats-data.js +38 -36
- package/build/data/mods/gen1/formats-data.js.map +1 -1
- package/build/data/mods/gen1/scripts.js +1 -1
- package/build/data/mods/gen1/scripts.js.map +1 -1
- package/build/data/mods/gen2/items.js +28 -0
- package/build/data/mods/gen2/items.js.map +1 -1
- package/build/data/mods/gen2/moves.js +2 -2
- package/build/data/mods/gen2/moves.js.map +1 -1
- package/build/data/mods/gen3/items.js +28 -0
- package/build/data/mods/gen3/items.js.map +1 -1
- package/build/data/mods/gen4/abilities.js +20 -0
- package/build/data/mods/gen4/abilities.js.map +1 -1
- package/build/data/mods/gen4/items.js +28 -0
- package/build/data/mods/gen4/items.js.map +1 -1
- package/build/data/mods/gen4/moves.js +14 -6
- package/build/data/mods/gen4/moves.js.map +1 -1
- package/build/data/mods/gen5/items.js +0 -4
- package/build/data/mods/gen5/items.js.map +1 -1
- package/build/data/mods/gen6/formats-data.js +3 -3
- package/build/data/mods/gen6/formats-data.js.map +1 -1
- package/build/data/mods/gen6/items.js +24 -0
- package/build/data/mods/gen6/items.js.map +1 -1
- package/build/data/mods/gen7/abilities.js +31 -0
- package/build/data/mods/gen7/abilities.js.map +1 -1
- package/build/data/mods/gen7/items.js +12 -0
- package/build/data/mods/gen7/items.js.map +1 -1
- package/build/data/mods/gen7/moves.js +14 -0
- package/build/data/mods/gen7/moves.js.map +1 -1
- package/build/data/moves.js +45 -19
- package/build/data/moves.js.map +1 -1
- package/build/data/rulesets.js +72 -1
- package/build/data/rulesets.js.map +1 -1
- package/build/data/tags.js +3 -3
- package/build/data/tags.js.map +1 -1
- package/build/data/text/moves.js +8 -8
- package/build/data/text/moves.js.map +1 -1
- package/build/sim/battle-queue.d.ts +2 -2
- package/build/sim/battle-queue.js +8 -0
- package/build/sim/battle-queue.js.map +1 -1
- package/build/sim/battle.js +42 -2
- package/build/sim/battle.js.map +1 -1
- package/build/sim/dex-conditions.d.ts +2 -2
- package/build/sim/dex-conditions.js +1 -0
- package/build/sim/dex-conditions.js.map +1 -1
- package/build/sim/dex-data.js +1 -0
- package/build/sim/dex-data.js.map +1 -1
- package/build/sim/dex-formats.js +1 -0
- package/build/sim/dex-formats.js.map +1 -1
- package/build/sim/dex-items.js +1 -0
- package/build/sim/dex-items.js.map +1 -1
- package/build/sim/dex-moves.d.ts +1 -0
- package/build/sim/dex-moves.js +1 -0
- package/build/sim/dex-moves.js.map +1 -1
- package/build/sim/dex-species.js +1 -0
- package/build/sim/dex-species.js.map +1 -1
- package/build/sim/pokemon.js +18 -5
- package/build/sim/pokemon.js.map +1 -1
- package/build/sim/team-validator.js +1 -1
- package/build/sim/team-validator.js.map +1 -1
- package/config/formats.ts +169 -154
- package/data/abilities.ts +2 -2
- package/data/aliases.ts +2 -2
- package/data/conditions.ts +4 -1
- package/data/formats-data.ts +2 -2
- package/data/items.ts +4 -2
- package/data/learnsets.ts +5 -4
- package/data/mods/gen1/formats-data.ts +38 -36
- package/data/mods/gen1/scripts.ts +1 -1
- package/data/mods/gen2/items.ts +28 -0
- package/data/mods/gen2/moves.ts +2 -2
- package/data/mods/gen3/items.ts +28 -0
- package/data/mods/gen4/abilities.ts +20 -0
- package/data/mods/gen4/items.ts +28 -0
- package/data/mods/gen4/moves.ts +14 -7
- package/data/mods/gen5/items.ts +0 -4
- package/data/mods/gen6/formats-data.ts +3 -3
- package/data/mods/gen6/items.ts +24 -0
- package/data/mods/gen7/abilities.ts +31 -0
- package/data/mods/gen7/items.ts +12 -0
- package/data/mods/gen7/moves.ts +14 -0
- package/data/moves.ts +45 -18
- package/data/rulesets.ts +71 -1
- package/data/tags.ts +3 -3
- package/data/text/moves.ts +8 -8
- package/package.json +3 -3
- package/sim/battle-queue.ts +10 -2
- package/sim/battle.ts +39 -2
- package/sim/dex-conditions.ts +7 -2
- package/sim/dex-data.ts +1 -0
- package/sim/dex-formats.ts +1 -0
- package/sim/dex-items.ts +1 -0
- package/sim/dex-moves.ts +2 -0
- package/sim/dex-species.ts +1 -0
- package/sim/pokemon.ts +19 -7
- package/sim/team-validator.ts +1 -1
package/data/items.ts
CHANGED
|
@@ -752,6 +752,7 @@ export const Items: {[itemid: string]: ItemData} = {
|
|
|
752
752
|
num: 16,
|
|
753
753
|
gen: 4,
|
|
754
754
|
isPokeball: true,
|
|
755
|
+
isNonstandard: "Unobtainable",
|
|
755
756
|
},
|
|
756
757
|
chestoberry: {
|
|
757
758
|
name: "Chesto Berry",
|
|
@@ -2904,7 +2905,7 @@ export const Items: {[itemid: string]: ItemData} = {
|
|
|
2904
2905
|
return this.chainModify([5324, 4096]);
|
|
2905
2906
|
},
|
|
2906
2907
|
onAfterMoveSecondarySelf(source, target, move) {
|
|
2907
|
-
if (source && source !== target && move && move.category !== 'Status') {
|
|
2908
|
+
if (source && source !== target && move && move.category !== 'Status' && !source.forceSwitchFlag) {
|
|
2908
2909
|
this.damage(source.baseMaxhp / 10, source, source, this.dex.items.get('lifeorb'));
|
|
2909
2910
|
}
|
|
2910
2911
|
},
|
|
@@ -3773,6 +3774,7 @@ export const Items: {[itemid: string]: ItemData} = {
|
|
|
3773
3774
|
num: 500,
|
|
3774
3775
|
gen: 4,
|
|
3775
3776
|
isPokeball: true,
|
|
3777
|
+
isNonstandard: "Unobtainable",
|
|
3776
3778
|
},
|
|
3777
3779
|
passhoberry: {
|
|
3778
3780
|
name: "Passho Berry",
|
|
@@ -4877,7 +4879,7 @@ export const Items: {[itemid: string]: ItemData} = {
|
|
|
4877
4879
|
},
|
|
4878
4880
|
onAfterMoveSecondarySelfPriority: -1,
|
|
4879
4881
|
onAfterMoveSecondarySelf(pokemon, target, move) {
|
|
4880
|
-
if (move.totalDamage) {
|
|
4882
|
+
if (move.totalDamage && !pokemon.forceSwitchFlag) {
|
|
4881
4883
|
this.heal(move.totalDamage / 8, pokemon);
|
|
4882
4884
|
}
|
|
4883
4885
|
},
|
package/data/learnsets.ts
CHANGED
|
@@ -20480,20 +20480,20 @@ export const Learnsets: {[speciesid: string]: LearnsetData} = {
|
|
|
20480
20480
|
dualwingbeat: ["8T"],
|
|
20481
20481
|
endure: ["8M", "8L60"],
|
|
20482
20482
|
facade: ["8M"],
|
|
20483
|
-
fierywrath: ["8L45", "8S0"],
|
|
20483
|
+
fierywrath: ["8L45", "8S0", "8S1"],
|
|
20484
20484
|
fly: ["8M"],
|
|
20485
20485
|
foulplay: ["8M"],
|
|
20486
20486
|
gigaimpact: ["8M"],
|
|
20487
20487
|
gust: ["8L1"],
|
|
20488
20488
|
hex: ["8M"],
|
|
20489
|
-
hurricane: ["8M", "8L55", "8S0"],
|
|
20489
|
+
hurricane: ["8M", "8L55", "8S0", "8S1"],
|
|
20490
20490
|
hyperbeam: ["8M"],
|
|
20491
20491
|
hypervoice: ["8M"],
|
|
20492
20492
|
imprison: ["8M"],
|
|
20493
20493
|
lashout: ["8T"],
|
|
20494
20494
|
leer: ["8L1"],
|
|
20495
20495
|
memento: ["8L65"],
|
|
20496
|
-
nastyplot: ["8M", "8L50", "8S0"],
|
|
20496
|
+
nastyplot: ["8M", "8L50", "8S0", "8S1"],
|
|
20497
20497
|
payback: ["8M", "8L5"],
|
|
20498
20498
|
protect: ["8M"],
|
|
20499
20499
|
rest: ["8M"],
|
|
@@ -20507,7 +20507,7 @@ export const Learnsets: {[speciesid: string]: LearnsetData} = {
|
|
|
20507
20507
|
snore: ["8M"],
|
|
20508
20508
|
steelwing: ["8M"],
|
|
20509
20509
|
substitute: ["8M"],
|
|
20510
|
-
suckerpunch: ["8L30", "8S0"],
|
|
20510
|
+
suckerpunch: ["8L30", "8S0", "8S1"],
|
|
20511
20511
|
swift: ["8M"],
|
|
20512
20512
|
taunt: ["8M"],
|
|
20513
20513
|
uturn: ["8M"],
|
|
@@ -20515,6 +20515,7 @@ export const Learnsets: {[speciesid: string]: LearnsetData} = {
|
|
|
20515
20515
|
},
|
|
20516
20516
|
eventData: [
|
|
20517
20517
|
{generation: 8, level: 70, moves: ["fierywrath", "hurricane", "suckerpunch", "nastyplot"]},
|
|
20518
|
+
{generation: 8, level: 70, shiny: true, moves: ["fierywrath", "hurricane", "suckerpunch", "nastyplot"], pokeball: "cherishball"},
|
|
20518
20519
|
],
|
|
20519
20520
|
eventOnly: true,
|
|
20520
20521
|
},
|
|
@@ -61,7 +61,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
61
61
|
butterfree: {
|
|
62
62
|
randomBattleMoves: ["psychic", "sleeppowder", "stunspore"],
|
|
63
63
|
exclusiveMoves: ["megadrain", "psywave"],
|
|
64
|
-
tier: "
|
|
64
|
+
tier: "PU",
|
|
65
65
|
},
|
|
66
66
|
weedle: {
|
|
67
67
|
randomBattleMoves: ["poisonsting", "stringshot"],
|
|
@@ -75,25 +75,27 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
75
75
|
randomBattleMoves: ["megadrain", "swordsdance", "twineedle"],
|
|
76
76
|
exclusiveMoves: ["doubleedge", "doubleedge", "hyperbeam"],
|
|
77
77
|
comboMoves: ["agility", "hyperbeam", "swordsdance", "twineedle"],
|
|
78
|
-
tier: "
|
|
78
|
+
tier: "PU",
|
|
79
79
|
},
|
|
80
80
|
pidgey: {
|
|
81
81
|
randomBattleMoves: ["agility", "doubleedge", "skyattack"],
|
|
82
|
-
exclusiveMoves: ["mimic", "mirrormove", "reflect", "sandattack", "substitute", "toxic"],
|
|
82
|
+
exclusiveMoves: ["mimic", "mirrormove", "reflect", "sandattack", "substitute", "quickattack", "toxic"],
|
|
83
83
|
tier: "LC",
|
|
84
84
|
},
|
|
85
85
|
pidgeotto: {
|
|
86
86
|
randomBattleMoves: ["agility", "doubleedge", "skyattack"],
|
|
87
|
-
exclusiveMoves: ["mimic", "mirrormove", "reflect", "sandattack", "substitute", "toxic"],
|
|
87
|
+
exclusiveMoves: ["mimic", "mirrormove", "reflect", "sandattack", "substitute", "quickattack", "toxic"],
|
|
88
88
|
tier: "NFE",
|
|
89
89
|
},
|
|
90
90
|
pidgeot: {
|
|
91
91
|
randomBattleMoves: ["agility", "doubleedge", "hyperbeam"],
|
|
92
|
-
exclusiveMoves: ["mimic", "mirrormove", "reflect", "sandattack", "skyattack", "skyattack", "substitute", "toxic"],
|
|
93
|
-
tier: "
|
|
92
|
+
exclusiveMoves: ["mimic", "mirrormove", "reflect", "sandattack", "skyattack", "skyattack", "substitute", "quickattack", "toxic"],
|
|
93
|
+
tier: "PU",
|
|
94
94
|
},
|
|
95
95
|
rattata: {
|
|
96
|
-
randomBattleMoves: ["blizzard", "bodyslam"
|
|
96
|
+
randomBattleMoves: ["blizzard", "bodyslam"],
|
|
97
|
+
// The two Thunderbolts are not a mistake, but specifically requested
|
|
98
|
+
exclusiveMoves: ["thunderbolt", "thunderbolt", "quickattack"],
|
|
97
99
|
essentialMove: "superfang",
|
|
98
100
|
tier: "LC",
|
|
99
101
|
},
|
|
@@ -109,7 +111,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
109
111
|
},
|
|
110
112
|
fearow: {
|
|
111
113
|
randomBattleMoves: ["agility", "doubleedge", "drillpeck", "hyperbeam"],
|
|
112
|
-
tier: "
|
|
114
|
+
tier: "PU",
|
|
113
115
|
},
|
|
114
116
|
ekans: {
|
|
115
117
|
randomBattleMoves: ["bodyslam", "earthquake", "glare", "rockslide"],
|
|
@@ -118,7 +120,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
118
120
|
arbok: {
|
|
119
121
|
randomBattleMoves: ["earthquake", "glare", "hyperbeam"],
|
|
120
122
|
exclusiveMoves: ["bodyslam", "rockslide"],
|
|
121
|
-
tier: "
|
|
123
|
+
tier: "PU",
|
|
122
124
|
},
|
|
123
125
|
pikachu: {
|
|
124
126
|
randomBattleMoves: ["surf", "thunderwave"],
|
|
@@ -140,7 +142,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
140
142
|
sandslash: {
|
|
141
143
|
randomBattleMoves: ["bodyslam", "rockslide", "swordsdance"],
|
|
142
144
|
essentialMove: "earthquake",
|
|
143
|
-
tier: "
|
|
145
|
+
tier: "PU",
|
|
144
146
|
},
|
|
145
147
|
nidoranf: {
|
|
146
148
|
randomBattleMoves: ["blizzard", "bodyslam", "thunderbolt"],
|
|
@@ -155,7 +157,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
155
157
|
nidoqueen: {
|
|
156
158
|
randomBattleMoves: ["blizzard", "bodyslam", "thunderbolt"],
|
|
157
159
|
essentialMove: "earthquake",
|
|
158
|
-
tier: "
|
|
160
|
+
tier: "PU",
|
|
159
161
|
},
|
|
160
162
|
nidoranm: {
|
|
161
163
|
randomBattleMoves: ["blizzard", "bodyslam", "thunderbolt"],
|
|
@@ -211,7 +213,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
211
213
|
},
|
|
212
214
|
golbat: {
|
|
213
215
|
randomBattleMoves: ["confuseray", "doubleedge", "hyperbeam", "megadrain"],
|
|
214
|
-
tier: "
|
|
216
|
+
tier: "PU",
|
|
215
217
|
},
|
|
216
218
|
oddish: {
|
|
217
219
|
randomBattleMoves: ["doubleedge", "sleeppowder"],
|
|
@@ -228,7 +230,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
228
230
|
vileplume: {
|
|
229
231
|
randomBattleMoves: ["bodyslam", "sleeppowder", "stunspore", "swordsdance"],
|
|
230
232
|
essentialMove: "megadrain",
|
|
231
|
-
tier: "
|
|
233
|
+
tier: "PU",
|
|
232
234
|
},
|
|
233
235
|
paras: {
|
|
234
236
|
randomBattleMoves: ["bodyslam", "megadrain"],
|
|
@@ -240,7 +242,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
240
242
|
randomBattleMoves: ["bodyslam", "megadrain"],
|
|
241
243
|
essentialMove: "spore",
|
|
242
244
|
exclusiveMoves: ["growth", "hyperbeam", "slash", "stunspore", "stunspore", "swordsdance"],
|
|
243
|
-
tier: "
|
|
245
|
+
tier: "PU",
|
|
244
246
|
},
|
|
245
247
|
venonat: {
|
|
246
248
|
randomBattleMoves: ["psychic", "sleeppowder", "stunspore"],
|
|
@@ -294,7 +296,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
294
296
|
primeape: {
|
|
295
297
|
randomBattleMoves: ["bodyslam", "rockslide", "submission"],
|
|
296
298
|
exclusiveMoves: ["counter", "hyperbeam", "hyperbeam"],
|
|
297
|
-
tier: "
|
|
299
|
+
tier: "PU",
|
|
298
300
|
},
|
|
299
301
|
growlithe: {
|
|
300
302
|
randomBattleMoves: ["bodyslam", "fireblast", "flamethrower", "reflect"],
|
|
@@ -303,7 +305,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
303
305
|
arcanine: {
|
|
304
306
|
randomBattleMoves: ["bodyslam", "fireblast", "hyperbeam"],
|
|
305
307
|
exclusiveMoves: ["flamethrower", "reflect"],
|
|
306
|
-
tier: "
|
|
308
|
+
tier: "PU",
|
|
307
309
|
},
|
|
308
310
|
poliwag: {
|
|
309
311
|
randomBattleMoves: ["blizzard", "surf"],
|
|
@@ -315,7 +317,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
315
317
|
randomBattleMoves: ["blizzard", "surf"],
|
|
316
318
|
essentialMove: "amnesia",
|
|
317
319
|
exclusiveMoves: ["counter", "hypnosis", "hypnosis", "psychic"],
|
|
318
|
-
tier: "
|
|
320
|
+
tier: "NU",
|
|
319
321
|
},
|
|
320
322
|
poliwrath: {
|
|
321
323
|
randomBattleMoves: ["blizzard", "bodyslam", "earthquake", "submission"],
|
|
@@ -352,7 +354,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
352
354
|
machamp: {
|
|
353
355
|
randomBattleMoves: ["bodyslam", "earthquake", "submission"],
|
|
354
356
|
exclusiveMoves: ["counter", "hyperbeam", "rockslide", "rockslide"],
|
|
355
|
-
tier: "
|
|
357
|
+
tier: "PU",
|
|
356
358
|
},
|
|
357
359
|
bellsprout: {
|
|
358
360
|
randomBattleMoves: ["doubleedge", "sleeppowder", "stunspore", "swordsdance"],
|
|
@@ -400,7 +402,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
400
402
|
},
|
|
401
403
|
rapidash: {
|
|
402
404
|
randomBattleMoves: ["agility", "bodyslam", "fireblast", "hyperbeam"],
|
|
403
|
-
tier: "
|
|
405
|
+
tier: "PU",
|
|
404
406
|
},
|
|
405
407
|
slowpoke: {
|
|
406
408
|
randomBattleMoves: ["earthquake", "surf"],
|
|
@@ -422,12 +424,12 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
422
424
|
magneton: {
|
|
423
425
|
randomBattleMoves: ["thunder", "thunderbolt", "thunderwave"],
|
|
424
426
|
exclusiveMoves: ["doubleedge", "hyperbeam", "hyperbeam", "mimic", "substitute", "toxic"],
|
|
425
|
-
tier: "
|
|
427
|
+
tier: "PU",
|
|
426
428
|
},
|
|
427
429
|
farfetchd: {
|
|
428
430
|
randomBattleMoves: ["agility", "bodyslam", "swordsdance"],
|
|
429
431
|
essentialMove: "slash",
|
|
430
|
-
tier: "
|
|
432
|
+
tier: "PU",
|
|
431
433
|
},
|
|
432
434
|
doduo: {
|
|
433
435
|
randomBattleMoves: ["agility", "bodyslam", "doubleedge", "drillpeck"],
|
|
@@ -457,7 +459,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
457
459
|
randomBattleMoves: ["bodyslam", "sludge"],
|
|
458
460
|
essentialMove: "explosion",
|
|
459
461
|
exclusiveMoves: ["fireblast", "hyperbeam", "megadrain", "megadrain"],
|
|
460
|
-
tier: "
|
|
462
|
+
tier: "PU",
|
|
461
463
|
},
|
|
462
464
|
shellder: {
|
|
463
465
|
randomBattleMoves: ["blizzard", "doubleedge", "explosion", "surf"],
|
|
@@ -488,7 +490,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
488
490
|
},
|
|
489
491
|
onix: {
|
|
490
492
|
randomBattleMoves: ["bodyslam", "earthquake", "explosion", "rockslide"],
|
|
491
|
-
tier: "
|
|
493
|
+
tier: "PU",
|
|
492
494
|
},
|
|
493
495
|
drowzee: {
|
|
494
496
|
randomBattleMoves: ["hypnosis", "psychic", "thunderwave"],
|
|
@@ -516,13 +518,13 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
516
518
|
electrode: {
|
|
517
519
|
randomBattleMoves: ["explosion", "thunderbolt", "thunderwave"],
|
|
518
520
|
exclusiveMoves: ["hyperbeam", "screech", "thunder", "toxic"],
|
|
519
|
-
tier: "
|
|
521
|
+
tier: "PU",
|
|
520
522
|
},
|
|
521
523
|
exeggcute: {
|
|
522
524
|
randomBattleMoves: ["sleeppowder", "stunspore"],
|
|
523
525
|
essentialMove: "psychic",
|
|
524
526
|
exclusiveMoves: ["doubleedge", "explosion", "explosion"],
|
|
525
|
-
tier: "
|
|
527
|
+
tier: "NU",
|
|
526
528
|
},
|
|
527
529
|
exeggutor: {
|
|
528
530
|
randomBattleMoves: ["explosion", "psychic", "sleeppowder"],
|
|
@@ -535,23 +537,23 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
535
537
|
},
|
|
536
538
|
marowak: {
|
|
537
539
|
randomBattleMoves: ["blizzard", "bodyslam", "earthquake", "seismictoss"],
|
|
538
|
-
tier: "
|
|
540
|
+
tier: "PU",
|
|
539
541
|
},
|
|
540
542
|
hitmonlee: {
|
|
541
543
|
randomBattleMoves: ["bodyslam", "highjumpkick", "seismictoss"],
|
|
542
544
|
exclusiveMoves: ["counter", "counter", "meditate"],
|
|
543
|
-
tier: "
|
|
545
|
+
tier: "PU",
|
|
544
546
|
},
|
|
545
547
|
hitmonchan: {
|
|
546
548
|
randomBattleMoves: ["bodyslam", "seismictoss", "submission"],
|
|
547
549
|
exclusiveMoves: ["agility", "counter", "counter"],
|
|
548
|
-
tier: "
|
|
550
|
+
tier: "PU",
|
|
549
551
|
},
|
|
550
552
|
lickitung: {
|
|
551
553
|
randomBattleMoves: ["hyperbeam", "swordsdance"],
|
|
552
554
|
essentialMove: "bodyslam",
|
|
553
555
|
exclusiveMoves: ["blizzard", "earthquake", "earthquake", "earthquake"],
|
|
554
|
-
tier: "
|
|
556
|
+
tier: "PU",
|
|
555
557
|
},
|
|
556
558
|
koffing: {
|
|
557
559
|
randomBattleMoves: ["explosion", "fireblast", "sludge", "thunderbolt"],
|
|
@@ -559,7 +561,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
559
561
|
},
|
|
560
562
|
weezing: {
|
|
561
563
|
randomBattleMoves: ["explosion", "fireblast", "sludge", "thunderbolt"],
|
|
562
|
-
tier: "
|
|
564
|
+
tier: "PU",
|
|
563
565
|
},
|
|
564
566
|
rhyhorn: {
|
|
565
567
|
randomBattleMoves: ["bodyslam", "earthquake", "rockslide", "substitute"],
|
|
@@ -606,7 +608,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
606
608
|
seaking: {
|
|
607
609
|
randomBattleMoves: ["blizzard", "doubleedge", "surf"],
|
|
608
610
|
exclusiveMoves: ["agility", "agility", "hyperbeam"],
|
|
609
|
-
tier: "
|
|
611
|
+
tier: "PU",
|
|
610
612
|
},
|
|
611
613
|
staryu: {
|
|
612
614
|
randomBattleMoves: ["blizzard", "thunderbolt", "thunderwave"],
|
|
@@ -626,7 +628,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
626
628
|
},
|
|
627
629
|
scyther: {
|
|
628
630
|
randomBattleMoves: ["agility", "hyperbeam", "slash", "swordsdance"],
|
|
629
|
-
tier: "
|
|
631
|
+
tier: "PU",
|
|
630
632
|
},
|
|
631
633
|
jynx: {
|
|
632
634
|
randomBattleMoves: ["blizzard", "lovelykiss", "psychic"],
|
|
@@ -640,12 +642,12 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
640
642
|
magmar: {
|
|
641
643
|
randomBattleMoves: ["bodyslam", "confuseray", "fireblast"],
|
|
642
644
|
exclusiveMoves: ["hyperbeam", "psychic"],
|
|
643
|
-
tier: "
|
|
645
|
+
tier: "PU",
|
|
644
646
|
},
|
|
645
647
|
pinsir: {
|
|
646
648
|
randomBattleMoves: ["bodyslam", "hyperbeam", "swordsdance"],
|
|
647
649
|
exclusiveMoves: ["seismictoss", "submission", "submission"],
|
|
648
|
-
tier: "
|
|
650
|
+
tier: "PU",
|
|
649
651
|
},
|
|
650
652
|
tauros: {
|
|
651
653
|
randomBattleMoves: ["bodyslam", "earthquake", "hyperbeam"],
|
|
@@ -669,7 +671,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
669
671
|
},
|
|
670
672
|
ditto: {
|
|
671
673
|
randomBattleMoves: ["transform"],
|
|
672
|
-
tier: "
|
|
674
|
+
tier: "PU",
|
|
673
675
|
},
|
|
674
676
|
eevee: {
|
|
675
677
|
randomBattleMoves: ["doubleedge", "quickattack", "reflect"],
|
|
@@ -690,7 +692,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
690
692
|
},
|
|
691
693
|
flareon: {
|
|
692
694
|
randomBattleMoves: ["bodyslam", "fireblast", "hyperbeam", "quickattack"],
|
|
693
|
-
tier: "
|
|
695
|
+
tier: "PU",
|
|
694
696
|
},
|
|
695
697
|
porygon: {
|
|
696
698
|
randomBattleMoves: ["blizzard", "thunderwave"],
|
|
@@ -662,7 +662,7 @@ export const Scripts: ModdedBattleScriptsData = {
|
|
|
662
662
|
if (!isCrit) {
|
|
663
663
|
// In gen 1, the critical chance is based on speed.
|
|
664
664
|
// First, we get the base speed, divide it by 2 and floor it. This is our current crit chance.
|
|
665
|
-
let critChance = Math.floor(source.species.baseStats['spe'] / 2);
|
|
665
|
+
let critChance = Math.floor(this.dex.species.get(source.set.species).baseStats['spe'] / 2);
|
|
666
666
|
|
|
667
667
|
// Now we check for focus energy volatile.
|
|
668
668
|
if (source.volatiles['focusenergy']) {
|
package/data/mods/gen2/items.ts
CHANGED
|
@@ -50,6 +50,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
50
50
|
}
|
|
51
51
|
},
|
|
52
52
|
},
|
|
53
|
+
fastball: {
|
|
54
|
+
inherit: true,
|
|
55
|
+
isNonstandard: null,
|
|
56
|
+
},
|
|
53
57
|
focusband: {
|
|
54
58
|
inherit: true,
|
|
55
59
|
onDamage(damage, target, source, effect) {
|
|
@@ -68,6 +72,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
68
72
|
}
|
|
69
73
|
},
|
|
70
74
|
},
|
|
75
|
+
heavyball: {
|
|
76
|
+
inherit: true,
|
|
77
|
+
isNonstandard: null,
|
|
78
|
+
},
|
|
71
79
|
kingsrock: {
|
|
72
80
|
inherit: true,
|
|
73
81
|
onModifyMove(move) {
|
|
@@ -91,11 +99,19 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
91
99
|
onResidualOrder: 5,
|
|
92
100
|
onResidualSubOrder: 1,
|
|
93
101
|
},
|
|
102
|
+
levelball: {
|
|
103
|
+
inherit: true,
|
|
104
|
+
isNonstandard: null,
|
|
105
|
+
},
|
|
94
106
|
lightball: {
|
|
95
107
|
inherit: true,
|
|
96
108
|
// In Gen 2 this happens in stat calculation directly.
|
|
97
109
|
onModifySpA() {},
|
|
98
110
|
},
|
|
111
|
+
loveball: {
|
|
112
|
+
inherit: true,
|
|
113
|
+
isNonstandard: null,
|
|
114
|
+
},
|
|
99
115
|
luckypunch: {
|
|
100
116
|
inherit: true,
|
|
101
117
|
onModifyCritRatioPriority: -1,
|
|
@@ -105,6 +121,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
105
121
|
}
|
|
106
122
|
},
|
|
107
123
|
},
|
|
124
|
+
lureball: {
|
|
125
|
+
inherit: true,
|
|
126
|
+
isNonstandard: null,
|
|
127
|
+
},
|
|
108
128
|
magnet: {
|
|
109
129
|
inherit: true,
|
|
110
130
|
onModifySpA() {},
|
|
@@ -138,6 +158,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
138
158
|
}
|
|
139
159
|
},
|
|
140
160
|
},
|
|
161
|
+
moonball: {
|
|
162
|
+
inherit: true,
|
|
163
|
+
isNonstandard: null,
|
|
164
|
+
},
|
|
141
165
|
mysticwater: {
|
|
142
166
|
inherit: true,
|
|
143
167
|
onModifySpA() {},
|
|
@@ -201,6 +225,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
201
225
|
}
|
|
202
226
|
},
|
|
203
227
|
},
|
|
228
|
+
sportball: {
|
|
229
|
+
inherit: true,
|
|
230
|
+
isNonstandard: null,
|
|
231
|
+
},
|
|
204
232
|
stick: {
|
|
205
233
|
inherit: true,
|
|
206
234
|
onModifyCritRatioPriority: -1,
|
package/data/mods/gen2/moves.ts
CHANGED
|
@@ -129,7 +129,7 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
129
129
|
return false;
|
|
130
130
|
},
|
|
131
131
|
beforeTurnCallback() {},
|
|
132
|
-
|
|
132
|
+
onTry() {},
|
|
133
133
|
condition: {},
|
|
134
134
|
priority: -1,
|
|
135
135
|
},
|
|
@@ -446,7 +446,7 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
446
446
|
return false;
|
|
447
447
|
},
|
|
448
448
|
beforeTurnCallback() {},
|
|
449
|
-
|
|
449
|
+
onTry() {},
|
|
450
450
|
condition: {},
|
|
451
451
|
priority: -1,
|
|
452
452
|
},
|
package/data/mods/gen3/items.ts
CHANGED
|
@@ -83,6 +83,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
83
83
|
gen: 3,
|
|
84
84
|
isNonstandard: "Unobtainable",
|
|
85
85
|
},
|
|
86
|
+
fastball: {
|
|
87
|
+
inherit: true,
|
|
88
|
+
isNonstandard: "Unobtainable",
|
|
89
|
+
},
|
|
86
90
|
figyberry: {
|
|
87
91
|
inherit: true,
|
|
88
92
|
onUpdate() {},
|
|
@@ -115,6 +119,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
115
119
|
}
|
|
116
120
|
},
|
|
117
121
|
},
|
|
122
|
+
heavyball: {
|
|
123
|
+
inherit: true,
|
|
124
|
+
isNonstandard: "Unobtainable",
|
|
125
|
+
},
|
|
118
126
|
iapapaberry: {
|
|
119
127
|
inherit: true,
|
|
120
128
|
onUpdate() {},
|
|
@@ -160,6 +168,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
160
168
|
return accuracy * 0.95;
|
|
161
169
|
},
|
|
162
170
|
},
|
|
171
|
+
levelball: {
|
|
172
|
+
inherit: true,
|
|
173
|
+
isNonstandard: "Unobtainable",
|
|
174
|
+
},
|
|
163
175
|
liechiberry: {
|
|
164
176
|
inherit: true,
|
|
165
177
|
onUpdate() {},
|
|
@@ -180,6 +192,14 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
180
192
|
},
|
|
181
193
|
onBasePower() {},
|
|
182
194
|
},
|
|
195
|
+
loveball: {
|
|
196
|
+
inherit: true,
|
|
197
|
+
isNonstandard: "Unobtainable",
|
|
198
|
+
},
|
|
199
|
+
lureball: {
|
|
200
|
+
inherit: true,
|
|
201
|
+
isNonstandard: "Unobtainable",
|
|
202
|
+
},
|
|
183
203
|
magnet: {
|
|
184
204
|
inherit: true,
|
|
185
205
|
onBasePower() {},
|
|
@@ -221,6 +241,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
221
241
|
}
|
|
222
242
|
},
|
|
223
243
|
},
|
|
244
|
+
moonball: {
|
|
245
|
+
inherit: true,
|
|
246
|
+
isNonstandard: "Unobtainable",
|
|
247
|
+
},
|
|
224
248
|
mysticwater: {
|
|
225
249
|
inherit: true,
|
|
226
250
|
onBasePower() {},
|
|
@@ -363,6 +387,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
363
387
|
}
|
|
364
388
|
},
|
|
365
389
|
},
|
|
390
|
+
sportball: {
|
|
391
|
+
inherit: true,
|
|
392
|
+
isNonstandard: "Unobtainable",
|
|
393
|
+
},
|
|
366
394
|
starfberry: {
|
|
367
395
|
inherit: true,
|
|
368
396
|
onUpdate() {},
|
|
@@ -160,6 +160,16 @@ export const Abilities: {[k: string]: ModdedAbilityData} = {
|
|
|
160
160
|
this.add('-activate', pokemon, 'ability: Forewarn', warnMove);
|
|
161
161
|
},
|
|
162
162
|
},
|
|
163
|
+
frisk: {
|
|
164
|
+
inherit: true,
|
|
165
|
+
onStart(pokemon) {
|
|
166
|
+
for (const target of pokemon.foes()) {
|
|
167
|
+
if (target.item && !target.itemState.knockedOff) {
|
|
168
|
+
this.add('-item', target, target.getItem().name, '[from] ability: Frisk', '[of] ' + pokemon, '[identify]');
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
},
|
|
163
173
|
hustle: {
|
|
164
174
|
inherit: true,
|
|
165
175
|
onSourceModifyAccuracyPriority: 7,
|
|
@@ -504,6 +514,16 @@ export const Abilities: {[k: string]: ModdedAbilityData} = {
|
|
|
504
514
|
}
|
|
505
515
|
},
|
|
506
516
|
},
|
|
517
|
+
unburden: {
|
|
518
|
+
inherit: true,
|
|
519
|
+
condition: {
|
|
520
|
+
onModifySpe(spe, pokemon) {
|
|
521
|
+
if ((!pokemon.item || pokemon.itemState.knockedOff) && !pokemon.ignoringAbility()) {
|
|
522
|
+
return this.chainModify(2);
|
|
523
|
+
}
|
|
524
|
+
},
|
|
525
|
+
},
|
|
526
|
+
},
|
|
507
527
|
vitalspirit: {
|
|
508
528
|
inherit: true,
|
|
509
529
|
rating: 2.5,
|
package/data/mods/gen4/items.ts
CHANGED
|
@@ -113,6 +113,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
113
113
|
}
|
|
114
114
|
},
|
|
115
115
|
},
|
|
116
|
+
fastball: {
|
|
117
|
+
inherit: true,
|
|
118
|
+
isNonstandard: null,
|
|
119
|
+
},
|
|
116
120
|
flameorb: {
|
|
117
121
|
inherit: true,
|
|
118
122
|
onResidualOrder: 10,
|
|
@@ -148,6 +152,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
148
152
|
}
|
|
149
153
|
},
|
|
150
154
|
},
|
|
155
|
+
heavyball: {
|
|
156
|
+
inherit: true,
|
|
157
|
+
isNonstandard: null,
|
|
158
|
+
},
|
|
151
159
|
ironball: {
|
|
152
160
|
inherit: true,
|
|
153
161
|
onEffectiveness() {},
|
|
@@ -181,6 +189,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
181
189
|
onResidualOrder: 10,
|
|
182
190
|
onResidualSubOrder: 4,
|
|
183
191
|
},
|
|
192
|
+
levelball: {
|
|
193
|
+
inherit: true,
|
|
194
|
+
isNonstandard: null,
|
|
195
|
+
},
|
|
184
196
|
lifeorb: {
|
|
185
197
|
inherit: true,
|
|
186
198
|
onModifyDamage() {},
|
|
@@ -214,6 +226,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
214
226
|
}
|
|
215
227
|
},
|
|
216
228
|
},
|
|
229
|
+
loveball: {
|
|
230
|
+
inherit: true,
|
|
231
|
+
isNonstandard: null,
|
|
232
|
+
},
|
|
217
233
|
luckypunch: {
|
|
218
234
|
inherit: true,
|
|
219
235
|
onModifyCritRatio(critRatio, user) {
|
|
@@ -222,6 +238,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
222
238
|
}
|
|
223
239
|
},
|
|
224
240
|
},
|
|
241
|
+
lureball: {
|
|
242
|
+
inherit: true,
|
|
243
|
+
isNonstandard: null,
|
|
244
|
+
},
|
|
225
245
|
lustrousorb: {
|
|
226
246
|
inherit: true,
|
|
227
247
|
onBasePower(basePower, user, target, move) {
|
|
@@ -286,6 +306,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
286
306
|
},
|
|
287
307
|
},
|
|
288
308
|
},
|
|
309
|
+
moonball: {
|
|
310
|
+
inherit: true,
|
|
311
|
+
isNonstandard: null,
|
|
312
|
+
},
|
|
289
313
|
razorfang: {
|
|
290
314
|
inherit: true,
|
|
291
315
|
onModifyMove(move) {
|
|
@@ -301,6 +325,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
301
325
|
}
|
|
302
326
|
},
|
|
303
327
|
},
|
|
328
|
+
sportball: {
|
|
329
|
+
inherit: true,
|
|
330
|
+
isNonstandard: null,
|
|
331
|
+
},
|
|
304
332
|
stick: {
|
|
305
333
|
inherit: true,
|
|
306
334
|
onModifyCritRatio(critRatio, user) {
|
package/data/mods/gen4/moves.ts
CHANGED
|
@@ -541,12 +541,16 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
541
541
|
},
|
|
542
542
|
focuspunch: {
|
|
543
543
|
inherit: true,
|
|
544
|
-
|
|
544
|
+
priorityChargeCallback() {},
|
|
545
|
+
beforeTurnCallback(pokemon) {
|
|
546
|
+
pokemon.addVolatile('focuspunch');
|
|
547
|
+
},
|
|
548
|
+
beforeMoveCallback() {},
|
|
545
549
|
onTry(pokemon) {
|
|
546
|
-
if (pokemon.volatiles['focuspunch']
|
|
550
|
+
if (pokemon.volatiles['focuspunch']?.lostFocus) {
|
|
547
551
|
this.attrLastMove('[still]');
|
|
548
552
|
this.add('cant', pokemon, 'Focus Punch', 'Focus Punch');
|
|
549
|
-
return
|
|
553
|
+
return null;
|
|
550
554
|
}
|
|
551
555
|
},
|
|
552
556
|
},
|
|
@@ -829,10 +833,13 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
829
833
|
},
|
|
830
834
|
knockoff: {
|
|
831
835
|
inherit: true,
|
|
832
|
-
onAfterHit(target, source) {
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
+
onAfterHit(target, source, move) {
|
|
837
|
+
if (!target.item || target.itemState.knockedOff) return;
|
|
838
|
+
const item = target.getItem();
|
|
839
|
+
if (this.singleEvent('TakeItem', item, target.itemState, target, target, move, item)) {
|
|
840
|
+
target.itemState.knockedOff = true;
|
|
841
|
+
this.add('-enditem', target, item.name, '[from] move: Knock Off');
|
|
842
|
+
this.hint("In Gens 3-4, Knock Off only makes the target's item unusable; it cannot obtain a new item.", true);
|
|
836
843
|
}
|
|
837
844
|
},
|
|
838
845
|
},
|
package/data/mods/gen5/items.ts
CHANGED