From 396f1bafd84e31e711a3250dd84f957809955e8e Mon Sep 17 00:00:00 2001 From: shayebeadling Date: Tue, 16 Apr 2024 14:34:57 -0400 Subject: [PATCH] Fail conditions are working properly, can now handle sleep as well in edge case (#160) --- src/data/move.ts | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/data/move.ts b/src/data/move.ts index d3c4db5b94c..0631443bccd 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -960,15 +960,17 @@ export class PsychoShiftEffectAttr extends MoveEffectAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const statusToApply: StatusEffect = user.status?.effect; - user.scene.queueMessage(getPokemonMessage(user, getStatusEffectHealText(user.status.effect))); - user.resetStatus(); - user.updateInfo(); - if (target.status) { return false; } if (!target.status || (target.status.effect === statusToApply && move.chance < 0)) - return target.trySetStatus(statusToApply, true); + var statusAfflictResult = target.trySetStatus(statusToApply, true); + if (statusAfflictResult) { + user.scene.queueMessage(getPokemonMessage(user, getStatusEffectHealText(user.status.effect))); + user.resetStatus(); + user.updateInfo(); + } + return statusAfflictResult; return false; } @@ -4471,7 +4473,13 @@ export function initMoves() { .unimplemented(), new StatusMove(Moves.PSYCHO_SHIFT, Type.PSYCHIC, 100, 10, -1, 0, 4) .attr(PsychoShiftEffectAttr) - .condition((user, target, move) => user.status?.effect === StatusEffect.BURN || user.status?.effect === StatusEffect.POISON || user.status?.effect === StatusEffect.TOXIC || user.status?.effect === StatusEffect.PARALYSIS), + .condition((user, target, move) => (user.status?.effect === StatusEffect.BURN + || user.status?.effect === StatusEffect.POISON + || user.status?.effect === StatusEffect.TOXIC + || user.status?.effect === StatusEffect.PARALYSIS + || user.status?.effect === StatusEffect.SLEEP) + && target.canSetStatus(user.status?.effect) + ), new AttackMove(Moves.TRUMP_CARD, Type.NORMAL, MoveCategory.SPECIAL, -1, -1, 5, -1, 0, 4) .makesContact() .unimplemented(),