Fixed images info copy in morph and other copy abilities

This commit is contained in:
Oleg Agafonov 2023-04-21 11:39:03 +04:00
parent 689b93d005
commit 1dc7dcc94c
6 changed files with 61 additions and 36 deletions

View file

@ -143,38 +143,7 @@ public class CopyEffect extends ContinuousEffectImpl {
permanent.setFlipCardName(targetPermanent.getFlipCardName());
}
// to get the image of the copied permanent copy number und expansionCode
String needSetCode;
String needCardNumber;
int needTokenType;
if (copyFromObject instanceof CommandObject) {
needSetCode = ((CommandObject) copyFromObject).getExpansionSetCodeForImage();
needCardNumber = "0";
needTokenType = 0;
} else if (copyFromObject instanceof PermanentCard) {
needSetCode = ((PermanentCard) copyFromObject).getExpansionSetCode();
needCardNumber = ((PermanentCard) copyFromObject).getCardNumber();
needTokenType = 0;
} else if (copyFromObject instanceof PermanentToken) {
needSetCode = ((PermanentToken) copyFromObject).getToken().getOriginalExpansionSetCode();
needCardNumber = ((PermanentToken) copyFromObject).getToken().getOriginalCardNumber();
needTokenType = ((PermanentToken) copyFromObject).getToken().getTokenType();
} else if (copyFromObject instanceof Card) {
needSetCode = ((Card) copyFromObject).getExpansionSetCode();
needCardNumber = ((Card) copyFromObject).getCardNumber();
needTokenType = 0;
} else {
throw new IllegalStateException("Unsupported copyFromObject class: " + copyFromObject.getClass().getSimpleName());
}
if (permanent instanceof PermanentToken) {
((PermanentToken) permanent).getToken().setOriginalExpansionSetCode(needSetCode);
((PermanentToken) permanent).getToken().setExpansionSetCodeForImage(needSetCode);
((PermanentToken) permanent).getToken().setTokenType(needTokenType);
} else {
permanent.setExpansionSetCode(needSetCode);
permanent.setCardNumber(needCardNumber);
}
CardUtil.copySetAndCardNumber(permanent, copyFromObject);
return true;
}