From 5db2dd74b8f0189f5622ed0b9c83eaa78c177a1c Mon Sep 17 00:00:00 2001 From: Agetian Date: Wed, 12 Dec 2018 20:19:15 +0300 Subject: [PATCH] - Prevent a NPE on cloning a flipped card, ensure that the original image is loaded after cloning if the card is not flipped. --- .../java/forge/game/ability/effects/CloneEffect.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java index 0dccc07d374..39c1a9637d4 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java @@ -116,7 +116,7 @@ public class CloneEffect extends SpellAbilityEffect { final String newName = sa.getParamOrDefault("NewName", null); final String originalName = tgtCard.getName(); final boolean copyingSelf = (tgtCard == cardToCopy); - final boolean isTransformed = cardToCopy.getCurrentStateName() == CardStateName.Transformed || cardToCopy.getCurrentStateName() == CardStateName.Meld; + final boolean isTransformed = cardToCopy.getCurrentStateName() == CardStateName.Transformed || cardToCopy.getCurrentStateName() == CardStateName.Meld || cardToCopy.getCurrentStateName() == CardStateName.Flipped; final CardStateName origState = isTransformed || cardToCopy.isFaceDown() ? CardStateName.Original : cardToCopy.getCurrentStateName(); if (!copyingSelf) { @@ -188,7 +188,12 @@ public class CloneEffect extends SpellAbilityEffect { //game.getTriggerHandler().registerActiveTrigger(tgtCard, false); //keep the Clone card image for the cloned card - tgtCard.setImageKey(imageFileName); + if (cardToCopy.isFlipCard() && tgtCard.getCurrentStateName() != CardStateName.Flipped) { + //for a flip card that isn't flipped, load the original image + tgtCard.setImageKey(cardToCopy.getImageKey(CardStateName.Original)); + } else { + tgtCard.setImageKey(imageFileName); + } tgtCard.updateStateForView();