@pkmn/sim 0.9.37 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/config/formats.js +185 -173
- package/build/cjs/config/formats.js.map +1 -1
- package/build/cjs/data/abilities.js +62 -72
- package/build/cjs/data/abilities.js.map +1 -1
- package/build/cjs/data/aliases.js +11 -4
- package/build/cjs/data/aliases.js.map +1 -1
- package/build/cjs/data/formats-data.js +164 -64
- package/build/cjs/data/formats-data.js.map +1 -1
- package/build/cjs/data/items.js +406 -2
- package/build/cjs/data/items.js.map +1 -1
- package/build/cjs/data/legality.js +548 -113
- package/build/cjs/data/legality.js.map +1 -1
- package/build/cjs/data/mods/gen1/conditions.js +12 -1
- package/build/cjs/data/mods/gen1/conditions.js.map +1 -1
- package/build/cjs/data/mods/gen1/scripts.js +14 -28
- package/build/cjs/data/mods/gen1/scripts.js.map +1 -1
- package/build/cjs/data/mods/gen2/formats-data.js +2 -2
- package/build/cjs/data/mods/gen2/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen3/abilities.js +1 -3
- package/build/cjs/data/mods/gen3/abilities.js.map +1 -1
- package/build/cjs/data/mods/gen3/formats-data.js +5 -11
- package/build/cjs/data/mods/gen3/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen3/moves.js +24 -0
- package/build/cjs/data/mods/gen3/moves.js.map +1 -1
- package/build/cjs/data/mods/gen4/abilities.js +2 -14
- package/build/cjs/data/mods/gen4/abilities.js.map +1 -1
- package/build/cjs/data/mods/gen4/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen4/moves.js +37 -6
- package/build/cjs/data/mods/gen4/moves.js.map +1 -1
- package/build/cjs/data/mods/gen5/abilities.js +4 -0
- package/build/cjs/data/mods/gen5/abilities.js.map +1 -1
- package/build/cjs/data/mods/gen5/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen6/pokedex.js +104 -0
- package/build/cjs/data/mods/gen6/pokedex.js.map +1 -1
- package/build/cjs/data/mods/gen7/abilities.js +11 -26
- package/build/cjs/data/mods/gen7/abilities.js.map +1 -1
- package/build/cjs/data/mods/gen7/formats-data.js +1 -1
- package/build/cjs/data/mods/gen7/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen7/pokedex.js +96 -0
- package/build/cjs/data/mods/gen7/pokedex.js.map +1 -1
- package/build/cjs/data/mods/gen8/abilities.js +0 -3
- package/build/cjs/data/mods/gen8/abilities.js.map +1 -1
- package/build/cjs/data/mods/gen8bdsp/abilities.d.ts +1 -0
- package/build/cjs/data/mods/gen8bdsp/abilities.js +42 -0
- package/build/cjs/data/mods/gen8bdsp/abilities.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/formats-data.d.ts +1 -0
- package/build/cjs/data/mods/gen8bdsp/formats-data.js +1837 -0
- package/build/cjs/data/mods/gen8bdsp/formats-data.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/index.d.ts +6 -0
- package/build/cjs/data/mods/gen8bdsp/index.js +16 -0
- package/build/cjs/data/mods/gen8bdsp/index.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/items.d.ts +1 -0
- package/build/cjs/data/mods/gen8bdsp/items.js +831 -0
- package/build/cjs/data/mods/gen8bdsp/items.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/learnsets.d.ts +3 -0
- package/build/cjs/data/mods/gen8bdsp/learnsets.js +25784 -0
- package/build/cjs/data/mods/gen8bdsp/learnsets.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/legality.d.ts +3 -0
- package/build/cjs/data/mods/gen8bdsp/legality.js +242 -0
- package/build/cjs/data/mods/gen8bdsp/legality.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/moves.d.ts +1 -0
- package/build/cjs/data/mods/gen8bdsp/moves.js +919 -0
- package/build/cjs/data/mods/gen8bdsp/moves.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/pokedex.d.ts +1 -0
- package/build/cjs/data/mods/gen8bdsp/pokedex.js +99 -0
- package/build/cjs/data/mods/gen8bdsp/pokedex.js.map +1 -0
- package/build/cjs/data/mods/gen8bdsp/scripts.d.ts +1 -0
- package/build/cjs/data/mods/gen8bdsp/scripts.js +15 -0
- package/build/cjs/data/mods/gen8bdsp/scripts.js.map +1 -0
- package/build/cjs/data/mods/gen8legends/formats-data.d.ts +1 -0
- package/build/cjs/data/mods/gen8legends/formats-data.js +2775 -0
- package/build/cjs/data/mods/gen8legends/formats-data.js.map +1 -0
- package/build/cjs/data/mods/gen8legends/index.d.ts +2 -0
- package/build/cjs/data/mods/gen8legends/index.js +8 -0
- package/build/cjs/data/mods/gen8legends/index.js.map +1 -0
- package/build/cjs/data/mods/gen8legends/learnsets.d.ts +3 -0
- package/build/cjs/data/mods/gen8legends/learnsets.js +5553 -0
- package/build/cjs/data/mods/gen8legends/learnsets.js.map +1 -0
- package/build/cjs/data/mods/gen8legends/legality.d.ts +3 -0
- package/build/cjs/data/mods/gen8legends/legality.js +149 -0
- package/build/cjs/data/mods/gen8legends/legality.js.map +1 -0
- package/build/cjs/data/mods/gen8legends/scripts.d.ts +1 -0
- package/build/cjs/data/mods/gen8legends/scripts.js +8 -0
- package/build/cjs/data/mods/gen8legends/scripts.js.map +1 -0
- package/build/cjs/data/moves.js +53 -55
- package/build/cjs/data/moves.js.map +1 -1
- package/build/cjs/data/pokedex.js +735 -10
- package/build/cjs/data/pokedex.js.map +1 -1
- package/build/cjs/data/rulesets.js +78 -0
- package/build/cjs/data/rulesets.js.map +1 -1
- package/build/cjs/data/text/items.js +108 -0
- package/build/cjs/data/text/items.js.map +1 -1
- package/build/cjs/data/text/moves.js +6 -2
- package/build/cjs/data/text/moves.js.map +1 -1
- package/build/cjs/sim/battle-actions.js +17 -7
- package/build/cjs/sim/battle-actions.js.map +1 -1
- package/build/cjs/sim/battle-queue.d.ts +11 -6
- package/build/cjs/sim/battle-queue.js.map +1 -1
- package/build/cjs/sim/battle.d.ts +2 -2
- package/build/cjs/sim/battle.js +23 -28
- package/build/cjs/sim/battle.js.map +1 -1
- package/build/cjs/sim/dex-conditions.d.ts +2 -1
- package/build/cjs/sim/dex-conditions.js.map +1 -1
- package/build/cjs/sim/dex-formats.d.ts +2 -0
- package/build/cjs/sim/dex-formats.js +12 -1
- package/build/cjs/sim/dex-formats.js.map +1 -1
- package/build/cjs/sim/dex-species.d.ts +13 -2
- package/build/cjs/sim/dex-species.js +40 -19
- package/build/cjs/sim/dex-species.js.map +1 -1
- package/build/cjs/sim/dex.js +11 -0
- package/build/cjs/sim/dex.js.map +1 -1
- package/build/cjs/sim/exported-global-types.d.ts +5 -4
- package/build/cjs/sim/global-types.d.ts +5 -4
- package/build/cjs/sim/pokemon.d.ts +6 -4
- package/build/cjs/sim/pokemon.js +31 -24
- package/build/cjs/sim/pokemon.js.map +1 -1
- package/build/cjs/sim/side.js +11 -41
- package/build/cjs/sim/side.js.map +1 -1
- package/build/cjs/sim/team-validator.d.ts +1 -0
- package/build/cjs/sim/team-validator.js +50 -18
- package/build/cjs/sim/team-validator.js.map +1 -1
- package/build/esm/config/formats.mjs +185 -173
- package/build/esm/config/formats.mjs.map +1 -1
- package/build/esm/data/abilities.mjs +62 -72
- package/build/esm/data/abilities.mjs.map +1 -1
- package/build/esm/data/aliases.mjs +11 -4
- package/build/esm/data/aliases.mjs.map +1 -1
- package/build/esm/data/formats-data.mjs +164 -64
- package/build/esm/data/formats-data.mjs.map +1 -1
- package/build/esm/data/items.mjs +406 -2
- package/build/esm/data/items.mjs.map +1 -1
- package/build/esm/data/legality.mjs +548 -113
- package/build/esm/data/legality.mjs.map +1 -1
- package/build/esm/data/mods/gen1/conditions.mjs +12 -1
- package/build/esm/data/mods/gen1/conditions.mjs.map +1 -1
- package/build/esm/data/mods/gen1/scripts.mjs +14 -28
- package/build/esm/data/mods/gen1/scripts.mjs.map +1 -1
- package/build/esm/data/mods/gen2/formats-data.mjs +2 -2
- package/build/esm/data/mods/gen2/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen3/abilities.mjs +1 -3
- package/build/esm/data/mods/gen3/abilities.mjs.map +1 -1
- package/build/esm/data/mods/gen3/formats-data.mjs +5 -11
- package/build/esm/data/mods/gen3/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen3/moves.mjs +24 -0
- package/build/esm/data/mods/gen3/moves.mjs.map +1 -1
- package/build/esm/data/mods/gen4/abilities.mjs +2 -14
- package/build/esm/data/mods/gen4/abilities.mjs.map +1 -1
- package/build/esm/data/mods/gen4/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen4/moves.mjs +37 -6
- package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
- package/build/esm/data/mods/gen5/abilities.mjs +4 -0
- package/build/esm/data/mods/gen5/abilities.mjs.map +1 -1
- package/build/esm/data/mods/gen5/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen6/pokedex.mjs +104 -0
- package/build/esm/data/mods/gen6/pokedex.mjs.map +1 -1
- package/build/esm/data/mods/gen7/abilities.mjs +11 -26
- package/build/esm/data/mods/gen7/abilities.mjs.map +1 -1
- package/build/esm/data/mods/gen7/formats-data.mjs +1 -1
- package/build/esm/data/mods/gen7/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen7/pokedex.mjs +96 -0
- package/build/esm/data/mods/gen7/pokedex.mjs.map +1 -1
- package/build/esm/data/mods/gen8/abilities.mjs +0 -3
- package/build/esm/data/mods/gen8/abilities.mjs.map +1 -1
- package/build/esm/data/mods/gen8bdsp/abilities.d.mts +1 -0
- package/build/esm/data/mods/gen8bdsp/abilities.mjs +39 -0
- package/build/esm/data/mods/gen8bdsp/abilities.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/formats-data.d.mts +1 -0
- package/build/esm/data/mods/gen8bdsp/formats-data.mjs +1834 -0
- package/build/esm/data/mods/gen8bdsp/formats-data.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/index.d.mts +6 -0
- package/build/esm/data/mods/gen8bdsp/index.mjs +7 -0
- package/build/esm/data/mods/gen8bdsp/index.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/items.d.mts +1 -0
- package/build/esm/data/mods/gen8bdsp/items.mjs +828 -0
- package/build/esm/data/mods/gen8bdsp/items.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/learnsets.d.mts +3 -0
- package/build/esm/data/mods/gen8bdsp/learnsets.mjs +25781 -0
- package/build/esm/data/mods/gen8bdsp/learnsets.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/legality.d.mts +3 -0
- package/build/esm/data/mods/gen8bdsp/legality.mjs +239 -0
- package/build/esm/data/mods/gen8bdsp/legality.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/moves.d.mts +1 -0
- package/build/esm/data/mods/gen8bdsp/moves.mjs +916 -0
- package/build/esm/data/mods/gen8bdsp/moves.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/pokedex.d.mts +1 -0
- package/build/esm/data/mods/gen8bdsp/pokedex.mjs +96 -0
- package/build/esm/data/mods/gen8bdsp/pokedex.mjs.map +1 -0
- package/build/esm/data/mods/gen8bdsp/scripts.d.mts +1 -0
- package/build/esm/data/mods/gen8bdsp/scripts.mjs +12 -0
- package/build/esm/data/mods/gen8bdsp/scripts.mjs.map +1 -0
- package/build/esm/data/mods/gen8legends/formats-data.d.mts +1 -0
- package/build/esm/data/mods/gen8legends/formats-data.mjs +2772 -0
- package/build/esm/data/mods/gen8legends/formats-data.mjs.map +1 -0
- package/build/esm/data/mods/gen8legends/index.d.mts +2 -0
- package/build/esm/data/mods/gen8legends/index.mjs +3 -0
- package/build/esm/data/mods/gen8legends/index.mjs.map +1 -0
- package/build/esm/data/mods/gen8legends/learnsets.d.mts +3 -0
- package/build/esm/data/mods/gen8legends/learnsets.mjs +5550 -0
- package/build/esm/data/mods/gen8legends/learnsets.mjs.map +1 -0
- package/build/esm/data/mods/gen8legends/legality.d.mts +3 -0
- package/build/esm/data/mods/gen8legends/legality.mjs +146 -0
- package/build/esm/data/mods/gen8legends/legality.mjs.map +1 -0
- package/build/esm/data/mods/gen8legends/scripts.d.mts +1 -0
- package/build/esm/data/mods/gen8legends/scripts.mjs +5 -0
- package/build/esm/data/mods/gen8legends/scripts.mjs.map +1 -0
- package/build/esm/data/moves.mjs +53 -55
- package/build/esm/data/moves.mjs.map +1 -1
- package/build/esm/data/pokedex.mjs +735 -10
- package/build/esm/data/pokedex.mjs.map +1 -1
- package/build/esm/data/rulesets.mjs +78 -0
- package/build/esm/data/rulesets.mjs.map +1 -1
- package/build/esm/data/text/items.mjs +108 -0
- package/build/esm/data/text/items.mjs.map +1 -1
- package/build/esm/data/text/moves.mjs +6 -2
- package/build/esm/data/text/moves.mjs.map +1 -1
- package/build/esm/sim/battle-actions.mjs +17 -7
- package/build/esm/sim/battle-actions.mjs.map +1 -1
- package/build/esm/sim/battle-queue.d.mts +11 -6
- package/build/esm/sim/battle-queue.mjs.map +1 -1
- package/build/esm/sim/battle.d.mts +2 -2
- package/build/esm/sim/battle.mjs +23 -28
- package/build/esm/sim/battle.mjs.map +1 -1
- package/build/esm/sim/dex-conditions.d.mts +2 -1
- package/build/esm/sim/dex-conditions.mjs.map +1 -1
- package/build/esm/sim/dex-formats.d.mts +2 -0
- package/build/esm/sim/dex-formats.mjs +12 -1
- package/build/esm/sim/dex-formats.mjs.map +1 -1
- package/build/esm/sim/dex-species.d.mts +13 -2
- package/build/esm/sim/dex-species.mjs +40 -19
- package/build/esm/sim/dex-species.mjs.map +1 -1
- package/build/esm/sim/dex.mjs +11 -0
- package/build/esm/sim/dex.mjs.map +1 -1
- package/build/esm/sim/exported-global-types.d.mts +5 -4
- package/build/esm/sim/global-types.d.mts +5 -4
- package/build/esm/sim/pokemon.d.mts +6 -4
- package/build/esm/sim/pokemon.mjs +31 -24
- package/build/esm/sim/pokemon.mjs.map +1 -1
- package/build/esm/sim/side.mjs +11 -41
- package/build/esm/sim/side.mjs.map +1 -1
- package/build/esm/sim/team-validator.d.mts +1 -0
- package/build/esm/sim/team-validator.mjs +50 -18
- package/build/esm/sim/team-validator.mjs.map +1 -1
- package/package.json +2 -2
package/build/cjs/data/moves.js
CHANGED
|
@@ -2003,12 +2003,12 @@ exports.Moves = {
|
|
|
2003
2003
|
pp: 20,
|
|
2004
2004
|
priority: 0,
|
|
2005
2005
|
flags: { contact: 1, protect: 1, mirror: 1, metronome: 1 },
|
|
2006
|
-
onHit(target, source) {
|
|
2006
|
+
onHit(target, source, move) {
|
|
2007
2007
|
const item = target.getItem();
|
|
2008
2008
|
if (source.hp && item.isBerry && target.takeItem(source)) {
|
|
2009
2009
|
this.add('-enditem', target, item.name, '[from] stealeat', '[move] Bug Bite', `[of] ${source}`);
|
|
2010
|
-
if (this.singleEvent('Eat', item,
|
|
2011
|
-
this.runEvent('EatItem', source,
|
|
2010
|
+
if (this.singleEvent('Eat', item, target.itemState, source, source, move)) {
|
|
2011
|
+
this.runEvent('EatItem', source, source, move, item);
|
|
2012
2012
|
if (item.id === 'leppaberry')
|
|
2013
2013
|
target.staleness = 'external';
|
|
2014
2014
|
}
|
|
@@ -3200,10 +3200,8 @@ exports.Moves = {
|
|
|
3200
3200
|
];
|
|
3201
3201
|
let success = false;
|
|
3202
3202
|
if (this.gameType === "freeforall") {
|
|
3203
|
-
//
|
|
3204
|
-
const
|
|
3205
|
-
// the list of all sides in counterclockwise order
|
|
3206
|
-
const sides = [this.sides[0], this.sides[2], this.sides[1], this.sides[3]];
|
|
3203
|
+
// the list of all sides in clockwise order
|
|
3204
|
+
const sides = [this.sides[0], this.sides[3], this.sides[1], this.sides[2]];
|
|
3207
3205
|
const temp = { 0: {}, 1: {}, 2: {}, 3: {} };
|
|
3208
3206
|
for (const side of sides) {
|
|
3209
3207
|
for (const id in side.sideConditions) {
|
|
@@ -3211,21 +3209,15 @@ exports.Moves = {
|
|
|
3211
3209
|
continue;
|
|
3212
3210
|
temp[side.n][id] = side.sideConditions[id];
|
|
3213
3211
|
delete side.sideConditions[id];
|
|
3214
|
-
const effectName = this.dex.conditions.get(id).name;
|
|
3215
|
-
this.add('-sideend', side, effectName, '[silent]');
|
|
3216
3212
|
success = true;
|
|
3217
3213
|
}
|
|
3218
3214
|
}
|
|
3219
3215
|
for (let i = 0; i < 4; i++) {
|
|
3220
3216
|
const sourceSideConditions = temp[sides[i].n];
|
|
3221
|
-
const targetSide = sides[(i +
|
|
3217
|
+
const targetSide = sides[(i + 1) % 4]; // the next side in rotation
|
|
3222
3218
|
for (const id in sourceSideConditions) {
|
|
3223
3219
|
targetSide.sideConditions[id] = sourceSideConditions[id];
|
|
3224
3220
|
targetSide.sideConditions[id].target = targetSide;
|
|
3225
|
-
const effectName = this.dex.conditions.get(id).name;
|
|
3226
|
-
let layers = sourceSideConditions[id].layers || 1;
|
|
3227
|
-
for (; layers > 0; layers--)
|
|
3228
|
-
this.add('-sidestart', targetSide, effectName, '[silent]');
|
|
3229
3221
|
}
|
|
3230
3222
|
}
|
|
3231
3223
|
}
|
|
@@ -3256,10 +3248,10 @@ exports.Moves = {
|
|
|
3256
3248
|
sourceSideConditions[id] = targetTemp[id];
|
|
3257
3249
|
sourceSideConditions[id].target = source.side;
|
|
3258
3250
|
}
|
|
3259
|
-
this.add('-swapsideconditions');
|
|
3260
3251
|
}
|
|
3261
3252
|
if (!success)
|
|
3262
3253
|
return false;
|
|
3254
|
+
this.add('-swapsideconditions');
|
|
3263
3255
|
this.add('-activate', source, 'move: Court Change');
|
|
3264
3256
|
},
|
|
3265
3257
|
secondary: null,
|
|
@@ -4031,9 +4023,8 @@ exports.Moves = {
|
|
|
4031
4023
|
for (const pokemon of source.alliesAndSelf()) {
|
|
4032
4024
|
if (pokemon.ability === target.ability || pokemon.getAbility().flags['cantsuppress'])
|
|
4033
4025
|
continue;
|
|
4034
|
-
const oldAbility = pokemon.setAbility(target.ability);
|
|
4026
|
+
const oldAbility = pokemon.setAbility(target.ability, null, move);
|
|
4035
4027
|
if (oldAbility) {
|
|
4036
|
-
this.add('-ability', pokemon, target.getAbility().name, '[from] move: Doodle');
|
|
4037
4028
|
success = true;
|
|
4038
4029
|
}
|
|
4039
4030
|
else if (!success && oldAbility === null) {
|
|
@@ -5134,14 +5125,11 @@ exports.Moves = {
|
|
|
5134
5125
|
}
|
|
5135
5126
|
},
|
|
5136
5127
|
onHit(target, source) {
|
|
5137
|
-
const oldAbility = target.setAbility(source.ability);
|
|
5138
|
-
if (oldAbility)
|
|
5139
|
-
|
|
5140
|
-
|
|
5141
|
-
|
|
5142
|
-
return;
|
|
5143
|
-
}
|
|
5144
|
-
return oldAbility;
|
|
5128
|
+
const oldAbility = target.setAbility(source.ability, source);
|
|
5129
|
+
if (!oldAbility)
|
|
5130
|
+
return oldAbility;
|
|
5131
|
+
if (!target.isAlly(source))
|
|
5132
|
+
target.volatileStaleness = 'external';
|
|
5145
5133
|
},
|
|
5146
5134
|
secondary: null,
|
|
5147
5135
|
target: "normal",
|
|
@@ -6051,9 +6039,12 @@ exports.Moves = {
|
|
|
6051
6039
|
move.basePower = item.fling.basePower;
|
|
6052
6040
|
this.debug(`BP: ${move.basePower}`);
|
|
6053
6041
|
if (item.isBerry) {
|
|
6042
|
+
if (source.hasAbility('cudchew')) {
|
|
6043
|
+
this.singleEvent('EatItem', source.getAbility(), source.abilityState, source, source, move, item);
|
|
6044
|
+
}
|
|
6054
6045
|
move.onHit = function (foe) {
|
|
6055
|
-
if (this.singleEvent('Eat', item,
|
|
6056
|
-
this.runEvent('EatItem', foe,
|
|
6046
|
+
if (this.singleEvent('Eat', item, source.itemState, foe, source, move)) {
|
|
6047
|
+
this.runEvent('EatItem', foe, source, move, item);
|
|
6057
6048
|
if (item.id === 'leppaberry')
|
|
6058
6049
|
foe.staleness = 'external';
|
|
6059
6050
|
}
|
|
@@ -13434,6 +13425,23 @@ exports.Moves = {
|
|
|
13434
13425
|
type: "Dark",
|
|
13435
13426
|
contestType: "Cool",
|
|
13436
13427
|
},
|
|
13428
|
+
nihillight: {
|
|
13429
|
+
num: 920,
|
|
13430
|
+
accuracy: 100,
|
|
13431
|
+
basePower: 100,
|
|
13432
|
+
category: "Special",
|
|
13433
|
+
isNonstandard: "Future",
|
|
13434
|
+
name: "Nihil Light",
|
|
13435
|
+
pp: 10,
|
|
13436
|
+
priority: 0,
|
|
13437
|
+
flags: { protect: 1, mirror: 1, metronome: 1 },
|
|
13438
|
+
ignoreEvasion: true,
|
|
13439
|
+
ignoreDefensive: true,
|
|
13440
|
+
ignoreImmunity: { 'Fairy': true },
|
|
13441
|
+
secondary: null,
|
|
13442
|
+
target: "allAdjacentFoes",
|
|
13443
|
+
type: "Dragon",
|
|
13444
|
+
},
|
|
13437
13445
|
nobleroar: {
|
|
13438
13446
|
num: 568,
|
|
13439
13447
|
accuracy: 100,
|
|
@@ -14156,12 +14164,12 @@ exports.Moves = {
|
|
|
14156
14164
|
pp: 20,
|
|
14157
14165
|
priority: 0,
|
|
14158
14166
|
flags: { contact: 1, protect: 1, mirror: 1, distance: 1, metronome: 1 },
|
|
14159
|
-
onHit(target, source) {
|
|
14167
|
+
onHit(target, source, move) {
|
|
14160
14168
|
const item = target.getItem();
|
|
14161
14169
|
if (source.hp && item.isBerry && target.takeItem(source)) {
|
|
14162
14170
|
this.add('-enditem', target, item.name, '[from] stealeat', '[move] Pluck', `[of] ${source}`);
|
|
14163
|
-
if (this.singleEvent('Eat', item,
|
|
14164
|
-
this.runEvent('EatItem', source,
|
|
14171
|
+
if (this.singleEvent('Eat', item, target.itemState, source, source, move)) {
|
|
14172
|
+
this.runEvent('EatItem', source, source, move, item);
|
|
14165
14173
|
if (item.id === 'leppaberry')
|
|
14166
14174
|
target.staleness = 'external';
|
|
14167
14175
|
}
|
|
@@ -15616,13 +15624,13 @@ exports.Moves = {
|
|
|
15616
15624
|
pp: 10,
|
|
15617
15625
|
priority: 0,
|
|
15618
15626
|
flags: { snatch: 1, metronome: 1 },
|
|
15619
|
-
onHit(pokemon) {
|
|
15627
|
+
onHit(pokemon, source, move) {
|
|
15620
15628
|
if (pokemon.item || !pokemon.lastItem)
|
|
15621
15629
|
return false;
|
|
15622
15630
|
const item = pokemon.lastItem;
|
|
15623
15631
|
pokemon.lastItem = '';
|
|
15624
15632
|
this.add('-item', pokemon, this.dex.items.get(item), '[from] move: Recycle');
|
|
15625
|
-
pokemon.setItem(item);
|
|
15633
|
+
pokemon.setItem(item, source, move);
|
|
15626
15634
|
},
|
|
15627
15635
|
secondary: null,
|
|
15628
15636
|
target: "self",
|
|
@@ -16162,12 +16170,9 @@ exports.Moves = {
|
|
|
16162
16170
|
return false;
|
|
16163
16171
|
},
|
|
16164
16172
|
onHit(target, source) {
|
|
16165
|
-
const oldAbility = source.setAbility(target.ability);
|
|
16166
|
-
if (oldAbility)
|
|
16167
|
-
|
|
16168
|
-
return;
|
|
16169
|
-
}
|
|
16170
|
-
return oldAbility;
|
|
16173
|
+
const oldAbility = source.setAbility(target.ability, target);
|
|
16174
|
+
if (!oldAbility)
|
|
16175
|
+
return oldAbility;
|
|
16171
16176
|
},
|
|
16172
16177
|
secondary: null,
|
|
16173
16178
|
target: "normal",
|
|
@@ -17384,13 +17389,10 @@ exports.Moves = {
|
|
|
17384
17389
|
return false;
|
|
17385
17390
|
}
|
|
17386
17391
|
},
|
|
17387
|
-
onHit(
|
|
17388
|
-
const oldAbility =
|
|
17389
|
-
if (oldAbility)
|
|
17390
|
-
|
|
17391
|
-
return;
|
|
17392
|
-
}
|
|
17393
|
-
return oldAbility;
|
|
17392
|
+
onHit(target, source) {
|
|
17393
|
+
const oldAbility = target.setAbility('simple');
|
|
17394
|
+
if (!oldAbility)
|
|
17395
|
+
return oldAbility;
|
|
17394
17396
|
},
|
|
17395
17397
|
secondary: null,
|
|
17396
17398
|
target: "normal",
|
|
@@ -22265,16 +22267,12 @@ exports.Moves = {
|
|
|
22265
22267
|
return false;
|
|
22266
22268
|
}
|
|
22267
22269
|
},
|
|
22268
|
-
onHit(
|
|
22269
|
-
const oldAbility =
|
|
22270
|
-
if (oldAbility)
|
|
22271
|
-
|
|
22272
|
-
|
|
22273
|
-
|
|
22274
|
-
}
|
|
22275
|
-
return;
|
|
22276
|
-
}
|
|
22277
|
-
return oldAbility;
|
|
22270
|
+
onHit(target, source) {
|
|
22271
|
+
const oldAbility = target.setAbility('insomnia');
|
|
22272
|
+
if (!oldAbility)
|
|
22273
|
+
return oldAbility;
|
|
22274
|
+
if (target.status === 'slp')
|
|
22275
|
+
target.cureStatus();
|
|
22278
22276
|
},
|
|
22279
22277
|
secondary: null,
|
|
22280
22278
|
target: "normal",
|