@pkmn/sim 0.5.13 → 0.5.16
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 +151 -145
- package/build/config/formats.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 +3 -3
- 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 +32 -32
- 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 -5
- 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/gen3/moves.js +0 -3
- package/build/data/mods/gen3/moves.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 +16 -9
- 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/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 -20
- package/build/data/moves.js.map +1 -1
- package/build/data/rulesets.js +71 -0
- 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-actions.js +3 -3
- package/build/sim/battle-actions.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 +46 -6
- package/build/sim/battle.js.map +1 -1
- package/build/sim/dex-conditions.d.ts +2 -2
- package/build/sim/dex-conditions.js.map +1 -1
- package/build/sim/dex-data.js +0 -1
- package/build/sim/dex-data.js.map +1 -1
- package/build/sim/dex-moves.d.ts +2 -1
- package/build/sim/dex-moves.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 +156 -150
- package/data/aliases.ts +2 -2
- package/data/conditions.ts +4 -1
- package/data/formats-data.ts +3 -3
- package/data/items.ts +4 -2
- package/data/learnsets.ts +5 -4
- package/data/mods/gen1/formats-data.ts +32 -32
- package/data/mods/gen1/scripts.ts +1 -1
- package/data/mods/gen2/items.ts +28 -0
- package/data/mods/gen2/moves.ts +2 -5
- package/data/mods/gen3/items.ts +28 -0
- package/data/mods/gen3/moves.ts +0 -3
- package/data/mods/gen4/abilities.ts +20 -0
- package/data/mods/gen4/items.ts +28 -0
- package/data/mods/gen4/moves.ts +15 -10
- package/data/mods/gen5/items.ts +0 -4
- 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 -19
- package/data/rulesets.ts +70 -0
- package/data/tags.ts +3 -3
- package/data/text/moves.ts +8 -8
- package/package.json +2 -2
- package/sim/battle-actions.ts +3 -4
- package/sim/battle-queue.ts +10 -2
- package/sim/battle.ts +43 -6
- package/sim/dex-conditions.ts +6 -2
- package/sim/dex-data.ts +0 -1
- package/sim/dex-moves.ts +2 -1
- package/sim/pokemon.ts +19 -7
- package/sim/team-validator.ts +1 -1
|
@@ -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,7 +75,7 @@ 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"],
|
|
@@ -90,7 +90,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
90
90
|
pidgeot: {
|
|
91
91
|
randomBattleMoves: ["agility", "doubleedge", "hyperbeam"],
|
|
92
92
|
exclusiveMoves: ["mimic", "mirrormove", "reflect", "sandattack", "skyattack", "skyattack", "substitute", "quickattack", "toxic"],
|
|
93
|
-
tier: "
|
|
93
|
+
tier: "PU",
|
|
94
94
|
},
|
|
95
95
|
rattata: {
|
|
96
96
|
randomBattleMoves: ["blizzard", "bodyslam"],
|
|
@@ -111,7 +111,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
111
111
|
},
|
|
112
112
|
fearow: {
|
|
113
113
|
randomBattleMoves: ["agility", "doubleedge", "drillpeck", "hyperbeam"],
|
|
114
|
-
tier: "
|
|
114
|
+
tier: "PU",
|
|
115
115
|
},
|
|
116
116
|
ekans: {
|
|
117
117
|
randomBattleMoves: ["bodyslam", "earthquake", "glare", "rockslide"],
|
|
@@ -120,7 +120,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
120
120
|
arbok: {
|
|
121
121
|
randomBattleMoves: ["earthquake", "glare", "hyperbeam"],
|
|
122
122
|
exclusiveMoves: ["bodyslam", "rockslide"],
|
|
123
|
-
tier: "
|
|
123
|
+
tier: "PU",
|
|
124
124
|
},
|
|
125
125
|
pikachu: {
|
|
126
126
|
randomBattleMoves: ["surf", "thunderwave"],
|
|
@@ -142,7 +142,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
142
142
|
sandslash: {
|
|
143
143
|
randomBattleMoves: ["bodyslam", "rockslide", "swordsdance"],
|
|
144
144
|
essentialMove: "earthquake",
|
|
145
|
-
tier: "
|
|
145
|
+
tier: "PU",
|
|
146
146
|
},
|
|
147
147
|
nidoranf: {
|
|
148
148
|
randomBattleMoves: ["blizzard", "bodyslam", "thunderbolt"],
|
|
@@ -157,7 +157,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
157
157
|
nidoqueen: {
|
|
158
158
|
randomBattleMoves: ["blizzard", "bodyslam", "thunderbolt"],
|
|
159
159
|
essentialMove: "earthquake",
|
|
160
|
-
tier: "
|
|
160
|
+
tier: "PU",
|
|
161
161
|
},
|
|
162
162
|
nidoranm: {
|
|
163
163
|
randomBattleMoves: ["blizzard", "bodyslam", "thunderbolt"],
|
|
@@ -213,7 +213,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
213
213
|
},
|
|
214
214
|
golbat: {
|
|
215
215
|
randomBattleMoves: ["confuseray", "doubleedge", "hyperbeam", "megadrain"],
|
|
216
|
-
tier: "
|
|
216
|
+
tier: "PU",
|
|
217
217
|
},
|
|
218
218
|
oddish: {
|
|
219
219
|
randomBattleMoves: ["doubleedge", "sleeppowder"],
|
|
@@ -230,7 +230,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
230
230
|
vileplume: {
|
|
231
231
|
randomBattleMoves: ["bodyslam", "sleeppowder", "stunspore", "swordsdance"],
|
|
232
232
|
essentialMove: "megadrain",
|
|
233
|
-
tier: "
|
|
233
|
+
tier: "PU",
|
|
234
234
|
},
|
|
235
235
|
paras: {
|
|
236
236
|
randomBattleMoves: ["bodyslam", "megadrain"],
|
|
@@ -242,7 +242,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
242
242
|
randomBattleMoves: ["bodyslam", "megadrain"],
|
|
243
243
|
essentialMove: "spore",
|
|
244
244
|
exclusiveMoves: ["growth", "hyperbeam", "slash", "stunspore", "stunspore", "swordsdance"],
|
|
245
|
-
tier: "
|
|
245
|
+
tier: "PU",
|
|
246
246
|
},
|
|
247
247
|
venonat: {
|
|
248
248
|
randomBattleMoves: ["psychic", "sleeppowder", "stunspore"],
|
|
@@ -296,7 +296,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
296
296
|
primeape: {
|
|
297
297
|
randomBattleMoves: ["bodyslam", "rockslide", "submission"],
|
|
298
298
|
exclusiveMoves: ["counter", "hyperbeam", "hyperbeam"],
|
|
299
|
-
tier: "
|
|
299
|
+
tier: "PU",
|
|
300
300
|
},
|
|
301
301
|
growlithe: {
|
|
302
302
|
randomBattleMoves: ["bodyslam", "fireblast", "flamethrower", "reflect"],
|
|
@@ -305,7 +305,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
305
305
|
arcanine: {
|
|
306
306
|
randomBattleMoves: ["bodyslam", "fireblast", "hyperbeam"],
|
|
307
307
|
exclusiveMoves: ["flamethrower", "reflect"],
|
|
308
|
-
tier: "
|
|
308
|
+
tier: "PU",
|
|
309
309
|
},
|
|
310
310
|
poliwag: {
|
|
311
311
|
randomBattleMoves: ["blizzard", "surf"],
|
|
@@ -317,7 +317,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
317
317
|
randomBattleMoves: ["blizzard", "surf"],
|
|
318
318
|
essentialMove: "amnesia",
|
|
319
319
|
exclusiveMoves: ["counter", "hypnosis", "hypnosis", "psychic"],
|
|
320
|
-
tier: "
|
|
320
|
+
tier: "NU",
|
|
321
321
|
},
|
|
322
322
|
poliwrath: {
|
|
323
323
|
randomBattleMoves: ["blizzard", "bodyslam", "earthquake", "submission"],
|
|
@@ -354,7 +354,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
354
354
|
machamp: {
|
|
355
355
|
randomBattleMoves: ["bodyslam", "earthquake", "submission"],
|
|
356
356
|
exclusiveMoves: ["counter", "hyperbeam", "rockslide", "rockslide"],
|
|
357
|
-
tier: "
|
|
357
|
+
tier: "PU",
|
|
358
358
|
},
|
|
359
359
|
bellsprout: {
|
|
360
360
|
randomBattleMoves: ["doubleedge", "sleeppowder", "stunspore", "swordsdance"],
|
|
@@ -402,7 +402,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
402
402
|
},
|
|
403
403
|
rapidash: {
|
|
404
404
|
randomBattleMoves: ["agility", "bodyslam", "fireblast", "hyperbeam"],
|
|
405
|
-
tier: "
|
|
405
|
+
tier: "PU",
|
|
406
406
|
},
|
|
407
407
|
slowpoke: {
|
|
408
408
|
randomBattleMoves: ["earthquake", "surf"],
|
|
@@ -424,12 +424,12 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
424
424
|
magneton: {
|
|
425
425
|
randomBattleMoves: ["thunder", "thunderbolt", "thunderwave"],
|
|
426
426
|
exclusiveMoves: ["doubleedge", "hyperbeam", "hyperbeam", "mimic", "substitute", "toxic"],
|
|
427
|
-
tier: "
|
|
427
|
+
tier: "PU",
|
|
428
428
|
},
|
|
429
429
|
farfetchd: {
|
|
430
430
|
randomBattleMoves: ["agility", "bodyslam", "swordsdance"],
|
|
431
431
|
essentialMove: "slash",
|
|
432
|
-
tier: "
|
|
432
|
+
tier: "PU",
|
|
433
433
|
},
|
|
434
434
|
doduo: {
|
|
435
435
|
randomBattleMoves: ["agility", "bodyslam", "doubleedge", "drillpeck"],
|
|
@@ -459,7 +459,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
459
459
|
randomBattleMoves: ["bodyslam", "sludge"],
|
|
460
460
|
essentialMove: "explosion",
|
|
461
461
|
exclusiveMoves: ["fireblast", "hyperbeam", "megadrain", "megadrain"],
|
|
462
|
-
tier: "
|
|
462
|
+
tier: "PU",
|
|
463
463
|
},
|
|
464
464
|
shellder: {
|
|
465
465
|
randomBattleMoves: ["blizzard", "doubleedge", "explosion", "surf"],
|
|
@@ -490,7 +490,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
490
490
|
},
|
|
491
491
|
onix: {
|
|
492
492
|
randomBattleMoves: ["bodyslam", "earthquake", "explosion", "rockslide"],
|
|
493
|
-
tier: "
|
|
493
|
+
tier: "PU",
|
|
494
494
|
},
|
|
495
495
|
drowzee: {
|
|
496
496
|
randomBattleMoves: ["hypnosis", "psychic", "thunderwave"],
|
|
@@ -518,13 +518,13 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
518
518
|
electrode: {
|
|
519
519
|
randomBattleMoves: ["explosion", "thunderbolt", "thunderwave"],
|
|
520
520
|
exclusiveMoves: ["hyperbeam", "screech", "thunder", "toxic"],
|
|
521
|
-
tier: "
|
|
521
|
+
tier: "PU",
|
|
522
522
|
},
|
|
523
523
|
exeggcute: {
|
|
524
524
|
randomBattleMoves: ["sleeppowder", "stunspore"],
|
|
525
525
|
essentialMove: "psychic",
|
|
526
526
|
exclusiveMoves: ["doubleedge", "explosion", "explosion"],
|
|
527
|
-
tier: "
|
|
527
|
+
tier: "NU",
|
|
528
528
|
},
|
|
529
529
|
exeggutor: {
|
|
530
530
|
randomBattleMoves: ["explosion", "psychic", "sleeppowder"],
|
|
@@ -537,23 +537,23 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
537
537
|
},
|
|
538
538
|
marowak: {
|
|
539
539
|
randomBattleMoves: ["blizzard", "bodyslam", "earthquake", "seismictoss"],
|
|
540
|
-
tier: "
|
|
540
|
+
tier: "PU",
|
|
541
541
|
},
|
|
542
542
|
hitmonlee: {
|
|
543
543
|
randomBattleMoves: ["bodyslam", "highjumpkick", "seismictoss"],
|
|
544
544
|
exclusiveMoves: ["counter", "counter", "meditate"],
|
|
545
|
-
tier: "
|
|
545
|
+
tier: "PU",
|
|
546
546
|
},
|
|
547
547
|
hitmonchan: {
|
|
548
548
|
randomBattleMoves: ["bodyslam", "seismictoss", "submission"],
|
|
549
549
|
exclusiveMoves: ["agility", "counter", "counter"],
|
|
550
|
-
tier: "
|
|
550
|
+
tier: "PU",
|
|
551
551
|
},
|
|
552
552
|
lickitung: {
|
|
553
553
|
randomBattleMoves: ["hyperbeam", "swordsdance"],
|
|
554
554
|
essentialMove: "bodyslam",
|
|
555
555
|
exclusiveMoves: ["blizzard", "earthquake", "earthquake", "earthquake"],
|
|
556
|
-
tier: "
|
|
556
|
+
tier: "PU",
|
|
557
557
|
},
|
|
558
558
|
koffing: {
|
|
559
559
|
randomBattleMoves: ["explosion", "fireblast", "sludge", "thunderbolt"],
|
|
@@ -561,7 +561,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
561
561
|
},
|
|
562
562
|
weezing: {
|
|
563
563
|
randomBattleMoves: ["explosion", "fireblast", "sludge", "thunderbolt"],
|
|
564
|
-
tier: "
|
|
564
|
+
tier: "PU",
|
|
565
565
|
},
|
|
566
566
|
rhyhorn: {
|
|
567
567
|
randomBattleMoves: ["bodyslam", "earthquake", "rockslide", "substitute"],
|
|
@@ -608,7 +608,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
608
608
|
seaking: {
|
|
609
609
|
randomBattleMoves: ["blizzard", "doubleedge", "surf"],
|
|
610
610
|
exclusiveMoves: ["agility", "agility", "hyperbeam"],
|
|
611
|
-
tier: "
|
|
611
|
+
tier: "PU",
|
|
612
612
|
},
|
|
613
613
|
staryu: {
|
|
614
614
|
randomBattleMoves: ["blizzard", "thunderbolt", "thunderwave"],
|
|
@@ -628,7 +628,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
628
628
|
},
|
|
629
629
|
scyther: {
|
|
630
630
|
randomBattleMoves: ["agility", "hyperbeam", "slash", "swordsdance"],
|
|
631
|
-
tier: "
|
|
631
|
+
tier: "PU",
|
|
632
632
|
},
|
|
633
633
|
jynx: {
|
|
634
634
|
randomBattleMoves: ["blizzard", "lovelykiss", "psychic"],
|
|
@@ -642,12 +642,12 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
642
642
|
magmar: {
|
|
643
643
|
randomBattleMoves: ["bodyslam", "confuseray", "fireblast"],
|
|
644
644
|
exclusiveMoves: ["hyperbeam", "psychic"],
|
|
645
|
-
tier: "
|
|
645
|
+
tier: "PU",
|
|
646
646
|
},
|
|
647
647
|
pinsir: {
|
|
648
648
|
randomBattleMoves: ["bodyslam", "hyperbeam", "swordsdance"],
|
|
649
649
|
exclusiveMoves: ["seismictoss", "submission", "submission"],
|
|
650
|
-
tier: "
|
|
650
|
+
tier: "PU",
|
|
651
651
|
},
|
|
652
652
|
tauros: {
|
|
653
653
|
randomBattleMoves: ["bodyslam", "earthquake", "hyperbeam"],
|
|
@@ -671,7 +671,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
671
671
|
},
|
|
672
672
|
ditto: {
|
|
673
673
|
randomBattleMoves: ["transform"],
|
|
674
|
-
tier: "
|
|
674
|
+
tier: "PU",
|
|
675
675
|
},
|
|
676
676
|
eevee: {
|
|
677
677
|
randomBattleMoves: ["doubleedge", "quickattack", "reflect"],
|
|
@@ -692,7 +692,7 @@ export const FormatsData: {[k: string]: ModdedSpeciesFormatsData} = {
|
|
|
692
692
|
},
|
|
693
693
|
flareon: {
|
|
694
694
|
randomBattleMoves: ["bodyslam", "fireblast", "hyperbeam", "quickattack"],
|
|
695
|
-
tier: "
|
|
695
|
+
tier: "PU",
|
|
696
696
|
},
|
|
697
697
|
porygon: {
|
|
698
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
|
},
|
|
@@ -204,9 +204,6 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
204
204
|
}
|
|
205
205
|
this.effectState.move = lockedMove;
|
|
206
206
|
this.add('-start', target, 'Encore');
|
|
207
|
-
if (!this.queue.willMove(target)) {
|
|
208
|
-
this.effectState.duration++;
|
|
209
|
-
}
|
|
210
207
|
},
|
|
211
208
|
onOverrideAction(pokemon) {
|
|
212
209
|
return this.effectState.move;
|
|
@@ -446,7 +443,7 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
446
443
|
return false;
|
|
447
444
|
},
|
|
448
445
|
beforeTurnCallback() {},
|
|
449
|
-
|
|
446
|
+
onTry() {},
|
|
450
447
|
condition: {},
|
|
451
448
|
priority: -1,
|
|
452
449
|
},
|
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() {},
|
package/data/mods/gen3/moves.ts
CHANGED
|
@@ -304,9 +304,6 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
304
304
|
}
|
|
305
305
|
this.effectState.move = target.lastMove.id;
|
|
306
306
|
this.add('-start', target, 'Encore');
|
|
307
|
-
if (!this.queue.willMove(target)) {
|
|
308
|
-
this.effectState.duration++;
|
|
309
|
-
}
|
|
310
307
|
},
|
|
311
308
|
onOverrideAction(pokemon) {
|
|
312
309
|
return this.effectState.move;
|
|
@@ -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
|
@@ -448,9 +448,6 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
448
448
|
}
|
|
449
449
|
this.effectState.move = target.lastMove.id;
|
|
450
450
|
this.add('-start', target, 'Encore');
|
|
451
|
-
if (!this.queue.willMove(target)) {
|
|
452
|
-
this.effectState.duration++;
|
|
453
|
-
}
|
|
454
451
|
},
|
|
455
452
|
onOverrideAction(pokemon) {
|
|
456
453
|
return this.effectState.move;
|
|
@@ -541,12 +538,16 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
541
538
|
},
|
|
542
539
|
focuspunch: {
|
|
543
540
|
inherit: true,
|
|
544
|
-
|
|
541
|
+
priorityChargeCallback() {},
|
|
542
|
+
beforeTurnCallback(pokemon) {
|
|
543
|
+
pokemon.addVolatile('focuspunch');
|
|
544
|
+
},
|
|
545
|
+
beforeMoveCallback() {},
|
|
545
546
|
onTry(pokemon) {
|
|
546
|
-
if (pokemon.volatiles['focuspunch']
|
|
547
|
+
if (pokemon.volatiles['focuspunch']?.lostFocus) {
|
|
547
548
|
this.attrLastMove('[still]');
|
|
548
549
|
this.add('cant', pokemon, 'Focus Punch', 'Focus Punch');
|
|
549
|
-
return
|
|
550
|
+
return null;
|
|
550
551
|
}
|
|
551
552
|
},
|
|
552
553
|
},
|
|
@@ -829,10 +830,14 @@ export const Moves: {[k: string]: ModdedMoveData} = {
|
|
|
829
830
|
},
|
|
830
831
|
knockoff: {
|
|
831
832
|
inherit: true,
|
|
832
|
-
onAfterHit(target, source) {
|
|
833
|
-
|
|
834
|
-
if (
|
|
835
|
-
|
|
833
|
+
onAfterHit(target, source, move) {
|
|
834
|
+
if (!target.item || target.itemState.knockedOff) return;
|
|
835
|
+
if (target.ability === 'multitype') return;
|
|
836
|
+
const item = target.getItem();
|
|
837
|
+
if (this.runEvent('TakeItem', target, source, move, item)) {
|
|
838
|
+
target.itemState.knockedOff = true;
|
|
839
|
+
this.add('-enditem', target, item.name, '[from] move: Knock Off');
|
|
840
|
+
this.hint("In Gens 3-4, Knock Off only makes the target's item unusable; it cannot obtain a new item.", true);
|
|
836
841
|
}
|
|
837
842
|
},
|
|
838
843
|
},
|
package/data/mods/gen5/items.ts
CHANGED
package/data/mods/gen6/items.ts
CHANGED
|
@@ -25,6 +25,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
25
25
|
inherit: true,
|
|
26
26
|
isNonstandard: null,
|
|
27
27
|
},
|
|
28
|
+
fastball: {
|
|
29
|
+
inherit: true,
|
|
30
|
+
isNonstandard: "Unobtainable",
|
|
31
|
+
},
|
|
28
32
|
figyberry: {
|
|
29
33
|
inherit: true,
|
|
30
34
|
onUpdate(pokemon) {
|
|
@@ -39,6 +43,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
39
43
|
}
|
|
40
44
|
},
|
|
41
45
|
},
|
|
46
|
+
heavyball: {
|
|
47
|
+
inherit: true,
|
|
48
|
+
isNonstandard: "Unobtainable",
|
|
49
|
+
},
|
|
42
50
|
iapapaberry: {
|
|
43
51
|
inherit: true,
|
|
44
52
|
onUpdate(pokemon) {
|
|
@@ -63,6 +71,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
63
71
|
}
|
|
64
72
|
},
|
|
65
73
|
},
|
|
74
|
+
levelball: {
|
|
75
|
+
inherit: true,
|
|
76
|
+
isNonstandard: "Unobtainable",
|
|
77
|
+
},
|
|
66
78
|
lifeorb: {
|
|
67
79
|
inherit: true,
|
|
68
80
|
onAfterMoveSecondarySelf(source, target, move) {
|
|
@@ -71,6 +83,14 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
71
83
|
}
|
|
72
84
|
},
|
|
73
85
|
},
|
|
86
|
+
loveball: {
|
|
87
|
+
inherit: true,
|
|
88
|
+
isNonstandard: "Unobtainable",
|
|
89
|
+
},
|
|
90
|
+
lureball: {
|
|
91
|
+
inherit: true,
|
|
92
|
+
isNonstandard: "Unobtainable",
|
|
93
|
+
},
|
|
74
94
|
machobrace: {
|
|
75
95
|
inherit: true,
|
|
76
96
|
isNonstandard: null,
|
|
@@ -93,6 +113,10 @@ export const Items: {[k: string]: ModdedItemData} = {
|
|
|
93
113
|
inherit: true,
|
|
94
114
|
isNonstandard: null,
|
|
95
115
|
},
|
|
116
|
+
moonball: {
|
|
117
|
+
inherit: true,
|
|
118
|
+
isNonstandard: "Unobtainable",
|
|
119
|
+
},
|
|
96
120
|
nanabberry: {
|
|
97
121
|
inherit: true,
|
|
98
122
|
isNonstandard: null,
|