diff --git a/.gitattributes b/.gitattributes index 156bd9d1993..2e06e9c1adb 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9544,6 +9544,7 @@ src/main/java/forge/Time.java svneol=native#text/plain src/main/java/forge/UndoCommand.java svneol=native#text/plain src/main/java/forge/Upkeep.java svneol=native#text/plain src/main/java/forge/ZCTrigger.java svneol=native#text/plain +src/main/java/forge/card/CardReference.java -text src/main/java/forge/card/abilityFactory/AbilityFactory.java svneol=native#text/plain src/main/java/forge/card/abilityFactory/AbilityFactory_AlterLife.java svneol=native#text/plain src/main/java/forge/card/abilityFactory/AbilityFactory_Animate.java svneol=native#text/plain diff --git a/src/main/java/forge/card/CardReference.java b/src/main/java/forge/card/CardReference.java new file mode 100644 index 00000000000..c63bb0b2d1c --- /dev/null +++ b/src/main/java/forge/card/CardReference.java @@ -0,0 +1,89 @@ +package forge.card; + +import java.security.InvalidParameterException; +import java.util.ArrayList; + +import forge.AllZone; +import forge.Card; +import forge.SetInfo; + +/** + *
CardReference class.
+ * + * @author Forge + * @version $Id: CardReference.java 9708 2011-08-09 19:34:12Z jendave $ + */ +public final class CardReference { + private static final boolean ENABLE_CONSISTENCY_CHECK = true; + + private String name; + private String cardSet; + private short pictureNumber = 0; + private boolean foiled = false; + + public CardReference(final String named, final String set, final int picNum, final boolean foil) { + this(named, set, picNum); + foiled = foil; + } + + public CardReference(final String named, final String set, final int picNum) { + this(named, set); + pictureNumber = (short) picNum; + } + + public CardReference(final String named, final String set) { + name = named; + cardSet = set; + + if (set == null || ENABLE_CONSISTENCY_CHECK) { + Card c = AllZone.getCardFactory().getCard(name, null); + if (c == null) { + String error = String.format("Invalid reference! The card named '%s' is unknown to Forge", name); + throw new InvalidParameterException(error); + } + + ArrayList