diff --git a/Mage.Sets/src/mage/cards/a/AccursedWitch.java b/Mage.Sets/src/mage/cards/a/AccursedWitch.java index 85743de74eb..d157b752a25 100644 --- a/Mage.Sets/src/mage/cards/a/AccursedWitch.java +++ b/Mage.Sets/src/mage/cards/a/AccursedWitch.java @@ -78,15 +78,17 @@ class AccursedWitchReturnTransformedEffect extends OneShotEffect { if (controller == null || !(game.getState().getZone(source.getSourceId()) == Zone.GRAVEYARD) || attachTo == null) { return false; } - game.getState().setValue(TransformAbility.VALUE_KEY_ENTER_TRANSFORMED + source.getSourceId(), Boolean.TRUE); - UUID secondFaceId = game.getCard(source.getSourceId()).getSecondCardFace().getId(); - game.getState().setValue("attachTo:" + secondFaceId, attachTo.getId()); - //note: should check for null after game.getCard + Card card = game.getCard(source.getSourceId()); - if (card != null) { - if (controller.moveCards(card, Zone.BATTLEFIELD, source, game)) { - attachTo.addAttachment(card.getId(), source, game); - } + if (card == null) { + return false; + } + + game.getState().setValue(TransformAbility.VALUE_KEY_ENTER_TRANSFORMED + source.getSourceId(), Boolean.TRUE); + UUID secondFaceId = card.getSecondCardFace().getId(); + game.getState().setValue("attachTo:" + secondFaceId, attachTo.getId()); + if (controller.moveCards(card, Zone.BATTLEFIELD, source, game)) { + attachTo.addAttachment(card.getId(), source, game); } return true; } diff --git a/Mage.Sets/src/mage/cards/v/VengefulStrangler.java b/Mage.Sets/src/mage/cards/v/VengefulStrangler.java index b7d56d257f6..f1ca4ac0437 100644 --- a/Mage.Sets/src/mage/cards/v/VengefulStrangler.java +++ b/Mage.Sets/src/mage/cards/v/VengefulStrangler.java @@ -86,19 +86,18 @@ class VengefulStranglerEffect extends OneShotEffect { || game.getState().getZone(source.getSourceId()) != Zone.GRAVEYARD) { return false; } - game.getState().setValue(TransformAbility.VALUE_KEY_ENTER_TRANSFORMED + source.getSourceId(), Boolean.TRUE); - UUID secondFaceId = game.getCard(source.getSourceId()).getSecondCardFace().getId(); - game.getState().setValue("attachTo:" + secondFaceId, permanent.getId()); + Card card = game.getCard(source.getSourceId()); if (card == null) { return false; } - controller.moveCards(card, Zone.BATTLEFIELD, source, game); - Permanent sourcePermanent = game.getPermanent(card.getId()); - if (sourcePermanent == null) { - return false; + + game.getState().setValue(TransformAbility.VALUE_KEY_ENTER_TRANSFORMED + source.getSourceId(), Boolean.TRUE); + UUID secondFaceId = game.getCard(source.getSourceId()).getSecondCardFace().getId(); + game.getState().setValue("attachTo:" + secondFaceId, permanent.getId()); + if (controller.moveCards(card, Zone.BATTLEFIELD, source, game)) { + permanent.addAttachment(card.getId(), source, game); } - permanent.addAttachment(card.getId(), source, game); return true; } }