Full art Land rendering

* Added "frameStyle" tagging to relevant full art lands (ZEN, BFZ, UNG, UHG)

* Added support for rendering based off of frameStyle

* Outstanding bug that frameStyle doesn't seem to be replicated exactly properly
This commit is contained in:
Mark Langen 2016-09-07 02:20:51 -06:00
parent b549dfe0dc
commit f0a1938b3e
59 changed files with 254 additions and 16 deletions

View file

@ -20,6 +20,7 @@ import java.awt.font.LineBreakMeasurer;
import java.awt.font.TextAttribute;
import java.awt.font.TextLayout;
import java.awt.font.TextMeasurer;
import java.awt.geom.Rectangle2D;
import java.awt.geom.RoundRectangle2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
@ -32,6 +33,7 @@ import java.util.Collection;
import java.util.List;
import javax.swing.ImageIcon;
import mage.ObjectColor;
import mage.cards.FrameStyle;
import mage.client.dialog.PreferencesDialog;
import mage.constants.CardType;
import mage.view.CardView;
@ -159,6 +161,7 @@ public class ModernCardRenderer extends CardRenderer {
// How far down the card is the type line placed?
protected static float TYPE_LINE_Y_FRAC = 0.57f; // x cardHeight
protected static float TYPE_LINE_Y_FRAC_TOKEN = 0.70f;
protected static float TYPE_LINE_Y_FRAC_FULL_ART = 0.74f;
protected int typeLineY;
// How large is the box text, and how far is it down the boxes
@ -203,11 +206,7 @@ public class ModernCardRenderer extends CardRenderer {
BOX_HEIGHT_FRAC * cardHeight);
// Type line at
if (cardView.isToken()) {
typeLineY = (int) (TYPE_LINE_Y_FRAC_TOKEN * cardHeight);
} else {
typeLineY = (int) (TYPE_LINE_Y_FRAC * cardHeight);
}
typeLineY = (int)(getTypeLineYFrac() * cardHeight);
// Box text height
boxTextHeight = getTextHeightForBoxHeight(boxHeight);
@ -235,7 +234,7 @@ public class ModernCardRenderer extends CardRenderer {
borderColor = new Color(250, 250, 0, 230);
} else if (cardView.isPlayable()) {
borderColor = new Color(153, 102, 204, 200);
} else if (cardView instanceof PermanentView && ((PermanentView) cardView).isCanAttack()) {
} else if (cardView.isCanAttack()) {
borderColor = new Color(0, 0, 255, 230);
} else {
borderColor = Color.BLACK;
@ -292,18 +291,58 @@ public class ModernCardRenderer extends CardRenderer {
}
}
/**
* Get the region to slice out of a source art image for the card
* @return
*/
private Rectangle2D getArtRect() {
Rectangle2D rect;
if (cardView.getFrameStyle().isFullArt()) {
rect = new Rectangle2D.Float(.079f, .11f, .84f, .63f);
} else {
rect = new Rectangle2D.Float(.079f, .11f, .84f, .42f);
}
return rect;
}
private float getTypeLineYFrac() {
if (cardView.isToken()) {
return TYPE_LINE_Y_FRAC;
} else if (cardView.getFrameStyle().isFullArt()) {
return TYPE_LINE_Y_FRAC_FULL_ART;
} else {
return TYPE_LINE_Y_FRAC;
}
}
@Override
protected void drawArt(Graphics2D g) {
if (artImage != null && !cardView.isFaceDown()) {
int imgWidth = artImage.getWidth();
int imgHeight = artImage.getHeight();
Rectangle2D artRect = getArtRect();
// Perform a process to make sure that the art is scaled uniformly to fill the frame, cutting
// off the minimum amount necessary to make it completely fill the frame without "squashing" it.
double fullCardImgWidth = artImage.getWidth();
double fullCardImgHeight = artImage.getHeight();
double artWidth = artRect.getWidth() * fullCardImgWidth;
double artHeight = artRect.getHeight() * fullCardImgHeight;
double targetWidth = contentWidth - 2;
double targetHeight = typeLineY - totalContentInset - boxHeight;
double targetAspect = targetWidth / targetHeight;
if (targetAspect * artHeight < artWidth) {
// Trim off some width
artWidth = targetAspect * artHeight;
} else {
// Trim off some height
artHeight = artWidth / targetAspect;
}
BufferedImage subImg
= artImage.getSubimage(
(int) (.079 * imgWidth), (int) (.11 * imgHeight),
(int) (.84 * imgWidth), (int) (.42 * imgHeight));
(int)(artRect.getX() * fullCardImgWidth), (int)(artRect.getY() * fullCardImgHeight),
(int)artWidth, (int)artHeight);
g.drawImage(subImg,
totalContentInset + 1, totalContentInset + boxHeight,
contentWidth - 2, typeLineY - totalContentInset - boxHeight,
(int)targetWidth, (int)targetHeight,
null);
}
}
@ -664,7 +703,6 @@ public class ModernCardRenderer extends CardRenderer {
attributedRules.add(attributed);
remaining -= drawSingleRule(g, attributed, rule, 0, 0, w, remaining, false);
if (remaining < 0) {
useSmallFont = true;
break;
}
}
@ -676,7 +714,7 @@ public class ModernCardRenderer extends CardRenderer {
if (remaining <= 0) {
spacing = 0;
} else {
spacing = (int) (remaining / (hasKeywords
spacing = (int) (((float)remaining) / (hasKeywords
? (textboxRules.size() + 2)
: (textboxRules.size() + 1)));
}

View file

@ -36,6 +36,7 @@ import mage.abilities.Mode;
import mage.abilities.SpellAbility;
import mage.abilities.costs.mana.ManaCosts;
import mage.cards.Card;
import mage.cards.FrameStyle;
import mage.cards.SplitCard;
import mage.constants.AbilityType;
import mage.constants.CardType;
@ -74,6 +75,7 @@ public class CardView extends SimpleCardView {
protected List<String> superTypes;
protected ObjectColor color;
protected ObjectColor frameColor;
protected FrameStyle frameStyle;
protected List<String> manaCost;
protected int convertedManaCost;
protected Rarity rarity;
@ -336,6 +338,9 @@ public class CardView extends SimpleCardView {
// Frame color
this.frameColor = card.getFrameColor(game);
// Frame style
this.frameStyle = card.getFrameStyle();
// Get starting loyalty
this.startingLoyalty = "" + card.getStartingLoyalty();
}
@ -384,6 +389,8 @@ public class CardView extends SimpleCardView {
}
// Frame color
this.frameColor = object.getFrameColor(null);
// Frame style
this.frameStyle = object.getFrameStyle();
// Starting loyalty. Must be extracted from an ability
this.startingLoyalty = "" + object.getStartingLoyalty();
}
@ -401,6 +408,7 @@ public class CardView extends SimpleCardView {
this.displayName = name;
this.rules = emblem.getRules();
// emblem images are always with common (black) symbol
this.frameStyle = FrameStyle.M15_NORMAL;
this.expansionSetCode = emblem.getExpansionSetCode();
this.rarity = Rarity.COMMON;
}
@ -426,6 +434,7 @@ public class CardView extends SimpleCardView {
this.superTypes = new ArrayList<>();
this.color = new ObjectColor();
this.frameColor = new ObjectColor();
this.frameStyle = FrameStyle.M15_NORMAL;
this.manaCost = new ArrayList<>();
this.convertedManaCost = 0;
@ -472,6 +481,7 @@ public class CardView extends SimpleCardView {
this.superTypes = token.getSupertype();
this.color = token.getColor(null);
this.frameColor = token.getFrameColor(null);
this.frameStyle = token.getFrameStyle();
this.manaCost = token.getManaCost().getSymbols();
this.rarity = Rarity.NA;
this.type = token.getTokenType();
@ -559,6 +569,10 @@ public class CardView extends SimpleCardView {
return frameColor;
}
public FrameStyle getFrameStyle() {
return frameStyle;
}
public List<String> getManaCost() {
return manaCost;
}

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Forest10 extends mage.cards.basiclands.Forest {
public Forest10(UUID ownerId) {
super(ownerId, "274b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Forest10(final Forest10 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Forest6 extends mage.cards.basiclands.Forest {
public Forest6(UUID ownerId) {
super(ownerId, "270b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Forest6(final Forest6 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Forest7 extends mage.cards.basiclands.Forest {
public Forest7(UUID ownerId) {
super(ownerId, "271b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Forest7(final Forest7 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Forest8 extends mage.cards.basiclands.Forest {
public Forest8(UUID ownerId) {
super(ownerId, "272b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Forest8(final Forest8 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Forest9 extends mage.cards.basiclands.Forest {
public Forest9(UUID ownerId) {
super(ownerId, "273b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Forest9(final Forest9 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Island10 extends mage.cards.basiclands.Island {
public Island10(UUID ownerId) {
super(ownerId, "259b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Island10(final Island10 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Island6 extends mage.cards.basiclands.Island {
public Island6(UUID ownerId) {
super(ownerId, "255b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Island6(final Island6 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Island7 extends mage.cards.basiclands.Island {
public Island7(UUID ownerId) {
super(ownerId, "256b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Island7(final Island7 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Island8 extends mage.cards.basiclands.Island {
public Island8(UUID ownerId) {
super(ownerId, "257b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Island8(final Island8 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Island9 extends mage.cards.basiclands.Island {
public Island9(UUID ownerId) {
super(ownerId, "258b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Island9(final Island9 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Mountain10 extends mage.cards.basiclands.Mountain {
public Mountain10(UUID ownerId) {
super(ownerId, "269b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Mountain10(final Mountain10 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Mountain6 extends mage.cards.basiclands.Mountain {
public Mountain6(UUID ownerId) {
super(ownerId, "265b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Mountain6(final Mountain6 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Mountain7 extends mage.cards.basiclands.Mountain {
public Mountain7(UUID ownerId) {
super(ownerId, "266b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Mountain7(final Mountain7 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Mountain8 extends mage.cards.basiclands.Mountain {
public Mountain8(UUID ownerId) {
super(ownerId, "267b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Mountain8(final Mountain8 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Mountain9 extends mage.cards.basiclands.Mountain {
public Mountain9(UUID ownerId) {
super(ownerId, "268b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Mountain9(final Mountain9 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Plains10 extends mage.cards.basiclands.Plains {
public Plains10(UUID ownerId) {
super(ownerId, "254b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Plains10(final Plains10 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Plains6 extends mage.cards.basiclands.Plains {
public Plains6(UUID ownerId) {
super(ownerId, "250b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Plains6(final Plains6 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Plains7 extends mage.cards.basiclands.Plains {
public Plains7(UUID ownerId) {
super(ownerId, "251b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Plains7(final Plains7 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Plains8 extends mage.cards.basiclands.Plains {
public Plains8(UUID ownerId) {
super(ownerId, "252b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Plains8(final Plains8 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Plains9 extends mage.cards.basiclands.Plains {
public Plains9(UUID ownerId) {
super(ownerId, "253b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Plains9(final Plains9 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Swamp10 extends mage.cards.basiclands.Swamp {
public Swamp10(UUID ownerId) {
super(ownerId, "264b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Swamp10(final Swamp10 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Swamp6 extends mage.cards.basiclands.Swamp {
public Swamp6(UUID ownerId) {
super(ownerId, "260b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Swamp6(final Swamp6 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Swamp7 extends mage.cards.basiclands.Swamp {
public Swamp7(UUID ownerId) {
super(ownerId, "261b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Swamp7(final Swamp7 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Swamp8 extends mage.cards.basiclands.Swamp {
public Swamp8(UUID ownerId) {
super(ownerId, "262b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Swamp8(final Swamp8 card) {

View file

@ -27,6 +27,8 @@
*/
package mage.sets.battleforzendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Swamp9 extends mage.cards.basiclands.Swamp {
public Swamp9(UUID ownerId) {
super(ownerId, "263b");
this.expansionSetCode = "BFZ";
this.frameStyle = FrameStyle.BFZ_FULL_ART_BASIC;
}
public Swamp9(final Swamp9 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.unglued;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Forest extends mage.cards.basiclands.Forest {
public Forest(UUID ownerId) {
super(ownerId, 88);
this.expansionSetCode = "UGL";
this.frameStyle = FrameStyle.UGL_FULL_ART_BASIC;
}
public Forest(final Forest card) {

View file

@ -28,6 +28,8 @@
package mage.sets.unglued;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Island extends mage.cards.basiclands.Island {
public Island(UUID ownerId) {
super(ownerId, 85);
this.expansionSetCode = "UGL";
this.frameStyle = FrameStyle.UGL_FULL_ART_BASIC;
}
public Island(final Island card) {

View file

@ -28,6 +28,8 @@
package mage.sets.unglued;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Mountain extends mage.cards.basiclands.Mountain {
public Mountain(UUID ownerId) {
super(ownerId, 87);
this.expansionSetCode = "UGL";
this.frameStyle = FrameStyle.UGL_FULL_ART_BASIC;
}
public Mountain(final Mountain card) {

View file

@ -28,6 +28,8 @@
package mage.sets.unglued;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Plains extends mage.cards.basiclands.Plains {
public Plains(UUID ownerId) {
super(ownerId, 84);
this.expansionSetCode = "UGL";
this.frameStyle = FrameStyle.UGL_FULL_ART_BASIC;
}
public Plains(final Plains card) {

View file

@ -28,6 +28,8 @@
package mage.sets.unglued;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Swamp extends mage.cards.basiclands.Swamp {
public Swamp(UUID ownerId) {
super(ownerId, 86);
this.expansionSetCode = "UGL";
this.frameStyle = FrameStyle.UGL_FULL_ART_BASIC;
}
public Swamp(final Swamp card) {

View file

@ -28,6 +28,8 @@
package mage.sets.unhinged;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -38,6 +40,7 @@ public class Forest extends mage.cards.basiclands.Forest {
public Forest(UUID ownerId) {
super(ownerId, 140);
this.expansionSetCode = "UNH";
this.frameStyle = FrameStyle.UNH_FULL_ART_BASIC;
}
public Forest(final Forest card) {

View file

@ -28,6 +28,8 @@
package mage.sets.unhinged;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Island extends mage.cards.basiclands.Island {
public Island(UUID ownerId) {
super(ownerId, 137);
this.expansionSetCode = "UNH";
this.frameStyle = FrameStyle.UNH_FULL_ART_BASIC;
}
public Island(final Island card) {

View file

@ -28,6 +28,8 @@
package mage.sets.unhinged;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Mountain extends mage.cards.basiclands.Mountain {
public Mountain(UUID ownerId) {
super(ownerId, 139);
this.expansionSetCode = "UNH";
this.frameStyle = FrameStyle.UNH_FULL_ART_BASIC;
}
public Mountain(final Mountain card) {

View file

@ -28,6 +28,8 @@
package mage.sets.unhinged;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Plains extends mage.cards.basiclands.Plains {
public Plains(UUID ownerId) {
super(ownerId, 136);
this.expansionSetCode = "UNH";
this.frameStyle = FrameStyle.UNH_FULL_ART_BASIC;
}
public Plains(final Plains card) {

View file

@ -28,6 +28,8 @@
package mage.sets.unhinged;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Swamp extends mage.cards.basiclands.Swamp {
public Swamp(UUID ownerId) {
super(ownerId, 138);
this.expansionSetCode = "UNH";
this.frameStyle = FrameStyle.UNH_FULL_ART_BASIC;
}
public Swamp(final Swamp card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Forest1 extends mage.cards.basiclands.Forest {
public Forest1(UUID ownerId) {
super(ownerId, 246);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Forest1(final Forest1 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Forest2 extends mage.cards.basiclands.Forest {
public Forest2(UUID ownerId) {
super(ownerId, 247);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Forest2(final Forest2 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Forest3 extends mage.cards.basiclands.Forest {
public Forest3(UUID ownerId) {
super(ownerId, 248);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Forest3(final Forest3 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Forest4 extends mage.cards.basiclands.Forest {
public Forest4(UUID ownerId) {
super(ownerId, 249);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Forest4(final Forest4 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Island1 extends mage.cards.basiclands.Island {
public Island1(UUID ownerId) {
super(ownerId, 234);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Island1(final Island1 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Island2 extends mage.cards.basiclands.Island {
public Island2(UUID ownerId) {
super(ownerId, 235);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Island2(final Island2 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Island3 extends mage.cards.basiclands.Island {
public Island3(UUID ownerId) {
super(ownerId, 236);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Island3(final Island3 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Island4 extends mage.cards.basiclands.Island {
public Island4(UUID ownerId) {
super(ownerId, 237);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Island4(final Island4 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Mountain1 extends mage.cards.basiclands.Mountain {
public Mountain1(UUID ownerId) {
super(ownerId, 242);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Mountain1(final Mountain1 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Mountain2 extends mage.cards.basiclands.Mountain {
public Mountain2(UUID ownerId) {
super(ownerId, 243);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Mountain2(final Mountain2 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Mountain3 extends mage.cards.basiclands.Mountain {
public Mountain3(UUID ownerId) {
super(ownerId, 244);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Mountain3(final Mountain3 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Mountain4 extends mage.cards.basiclands.Mountain {
public Mountain4(UUID ownerId) {
super(ownerId, 245);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Mountain4(final Mountain4 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Plains1 extends mage.cards.basiclands.Plains {
public Plains1(UUID ownerId) {
super(ownerId, 230);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Plains1(final Plains1 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Plains2 extends mage.cards.basiclands.Plains {
public Plains2(UUID ownerId) {
super(ownerId, 231);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Plains2(final Plains2 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Plains3 extends mage.cards.basiclands.Plains {
public Plains3(UUID ownerId) {
super(ownerId, 232);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Plains3(final Plains3 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Plains4 extends mage.cards.basiclands.Plains {
public Plains4(UUID ownerId) {
super(ownerId, 233);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Plains4(final Plains4 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Swamp1 extends mage.cards.basiclands.Swamp {
public Swamp1(UUID ownerId) {
super(ownerId, 238);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Swamp1(final Swamp1 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Swamp2 extends mage.cards.basiclands.Swamp {
public Swamp2(UUID ownerId) {
super(ownerId, 239);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Swamp2(final Swamp2 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Swamp3 extends mage.cards.basiclands.Swamp {
public Swamp3(UUID ownerId) {
super(ownerId, 240);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Swamp3(final Swamp3 card) {

View file

@ -28,6 +28,8 @@
package mage.sets.zendikar;
import mage.cards.FrameStyle;
import java.util.UUID;
/**
@ -39,6 +41,7 @@ public class Swamp4 extends mage.cards.basiclands.Swamp {
public Swamp4(UUID ownerId) {
super(ownerId, 241);
this.expansionSetCode = "ZEN";
this.frameStyle = FrameStyle.ZEN_FULL_ART_BASIC;
}
public Swamp4(final Swamp4 card) {

View file

@ -18,12 +18,33 @@ public enum FrameStyle {
/**
* Battle for Zendkiar full art basic lands
*/
BFZ_FULL_ART_BASIC(BorderType.M15, true);
BFZ_FULL_ART_BASIC(BorderType.M15, true),
/**
* Zenkikar full art lands
*/
ZEN_FULL_ART_BASIC(BorderType.MOD, true),
/**
* Unhinged full art lands
*/
UNH_FULL_ART_BASIC(BorderType.SPC, true),
/**
* Unglued full art lands
*/
UGL_FULL_ART_BASIC(BorderType.SPC, true);
/**
* General type of card
*/
public enum BorderType {
/**
* Various specialty borders
* EG: Unhinged, Unglued
*/
SPC,
/**
* Old border cards
*/

View file

@ -64,7 +64,7 @@ public enum CardRepository {
// raise this if db structure was changed
private static final long CARD_DB_VERSION = 47;
// raise this if new cards were added to the server
private static final long CARD_CONTENT_VERSION = 58;
private static final long CARD_CONTENT_VERSION = 59;
private Dao<CardInfo, Object> cardDao;
private Set<String> classNames;