forked from External/mage
Tokens reworked:
- removed outdated code; - updated logic to choose a set code for a tokens in different use cases (related to #10150); - added many tests for client and server token's data (related to #10139); - prepare for tokens database (related #6955);
This commit is contained in:
parent
ff15edbce8
commit
d17df585c5
13 changed files with 409 additions and 89 deletions
|
|
@ -561,7 +561,7 @@ public final class CardUtil {
|
|||
*/
|
||||
public static int parseCardNumberAsInt(String cardNumber) {
|
||||
|
||||
if (cardNumber.isEmpty()) {
|
||||
if (cardNumber == null || cardNumber.isEmpty()) {
|
||||
throw new IllegalArgumentException("Card number is empty.");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,12 +36,14 @@ public class CopyTokenFunction implements Function<Token, Card> {
|
|||
|
||||
MageObject sourceObj = source;
|
||||
if (source instanceof PermanentToken) {
|
||||
// create token from another token
|
||||
sourceObj = ((PermanentToken) source).getToken();
|
||||
// to show the source image, the original values have to be used
|
||||
target.setOriginalExpansionSetCode(((Token) sourceObj).getOriginalExpansionSetCode());
|
||||
target.setOriginalCardNumber(((Token) sourceObj).getOriginalCardNumber());
|
||||
target.setCopySourceCard(((PermanentToken) source).getToken().getCopySourceCard());
|
||||
} else if (source instanceof PermanentCard) {
|
||||
// create token from non-token permanent
|
||||
if (((PermanentCard) source).isMorphed() || ((PermanentCard) source).isManifested()) {
|
||||
MorphAbility.setPermanentToFaceDownCreature(target, game);
|
||||
return target;
|
||||
|
|
@ -57,6 +59,7 @@ public class CopyTokenFunction implements Function<Token, Card> {
|
|||
target.setCopySourceCard((Card) sourceObj);
|
||||
}
|
||||
} else {
|
||||
// create token from non-permanent object like card (example: Embalm ability)
|
||||
target.setOriginalExpansionSetCode(source.getExpansionSetCode());
|
||||
target.setOriginalCardNumber(source.getCardNumber());
|
||||
target.setCopySourceCard(source);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue