diff --git a/src/data/move.ts b/src/data/move.ts index 36254320f..07029d5be 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -2683,6 +2683,11 @@ const crashDamageFunc = (user: Pokemon, move: Move) => { return true; }; +const explosionDamageFunc = (user: Pokemon, move: Move) => { + user.damageAndUpdate(user.hp, HitResult.OTHER, false, true); // Forces the user to take damage = to it's hp + return true; +}; + export class TypelessAttr extends MoveAttr { } /** * Attribute used for moves which ignore redirection effects, and always target their original target, i.e. Snipe Shot @@ -4455,7 +4460,8 @@ export function initMoves() { .attr(SacrificialAttr) .makesContact(false) .condition(failIfDampCondition) - .target(MoveTarget.ALL_NEAR_OTHERS), + .target(MoveTarget.ALL_NEAR_OTHERS) + .attr(MissEffectAttr, explosionDamageFunc), new AttackMove(Moves.EGG_BOMB, Type.NORMAL, MoveCategory.PHYSICAL, 100, 75, 10, -1, 0, 1) .makesContact(false) .ballBombMove(), @@ -4547,7 +4553,8 @@ export function initMoves() { .condition(failIfDampCondition) .attr(SacrificialAttr) .makesContact(false) - .target(MoveTarget.ALL_NEAR_OTHERS), + .target(MoveTarget.ALL_NEAR_OTHERS) + .attr(MissEffectAttr, explosionDamageFunc), new AttackMove(Moves.FURY_SWIPES, Type.NORMAL, MoveCategory.PHYSICAL, 18, 80, 15, -1, 0, 1) .attr(MultiHitAttr), new AttackMove(Moves.BONEMERANG, Type.GROUND, MoveCategory.PHYSICAL, 50, 90, 10, -1, 0, 1) @@ -6398,7 +6405,8 @@ export function initMoves() { .attr(SacrificialAttr) .target(MoveTarget.ALL_NEAR_OTHERS) .attr(MovePowerMultiplierAttr, (user, target, move) => user.scene.arena.getTerrainType() === TerrainType.MISTY && user.isGrounded() ? 1.5 : 1) - .condition(failIfDampCondition), + .condition(failIfDampCondition) + .attr(MissEffectAttr, explosionDamageFunc), new AttackMove(Moves.GRASSY_GLIDE, Type.GRASS, MoveCategory.PHYSICAL, 55, 100, 20, -1, 0, 8) .partial(), new AttackMove(Moves.RISING_VOLTAGE, Type.ELECTRIC, MoveCategory.SPECIAL, 70, 100, 20, -1, 0, 8)