- Attempting to fix a NPE caused by cloning a transformed card.

This commit is contained in:
Agetian
2015-06-17 19:53:32 +00:00
parent bb3fec11fd
commit 4f185a527f
2 changed files with 9 additions and 2 deletions

View File

@@ -99,7 +99,8 @@ public class CloneEffect extends SpellAbilityEffect {
final boolean keepName = sa.hasParam("KeepName");
final String originalName = tgtCard.getName();
final boolean copyingSelf = (tgtCard == cardToCopy);
final CardStateName origState = cardToCopy.getCurrentStateName();
final boolean isTransformed = cardToCopy.getCurrentStateName() == CardStateName.Transformed;
final CardStateName origState = isTransformed ? CardStateName.Original : cardToCopy.getCurrentStateName();
if (!copyingSelf) {
if (tgtCard.isCloned()) { // cloning again

View File

@@ -469,11 +469,17 @@ public class CardFactory {
copyState(from, CardStateName.Original, to, to.getCurrentStateName());
}
copyState(from, CardStateName.Flipped, to, CardStateName.Flipped);
} else {
final boolean fromIsTransformedCard = from.getView().getCurrentState().getState() == CardStateName.Transformed;
if (fromIsTransformedCard) {
copyState(from, CardStateName.Transformed, to, CardStateName.Original);
} else {
copyState(from, from.getCurrentStateName(), to, to.getCurrentStateName());
}
}
}
/**
* Copy the copiable abilities of one card to another, taking the states of
* both cards into account.