Added frameStyle Characteristic for cards

* Added FrameStyle Enum containing a list of styles that cards can be rendered in.

* Added getFrameStyle() getter to Card interface.

* Implemented getFrameStyle() for various concrete implementations of Card.
This commit is contained in:
Mark Langen 2016-09-06 21:50:04 -06:00
parent 0ea9d33211
commit b549dfe0dc
12 changed files with 115 additions and 3 deletions

View file

@ -46,6 +46,7 @@ import mage.abilities.keyword.BestowAbility;
import mage.abilities.keyword.MorphAbility;
import mage.cards.Card;
import mage.cards.CardsImpl;
import mage.cards.FrameStyle;
import mage.cards.SplitCard;
import mage.constants.CardType;
import mage.constants.Outcome;
@ -77,6 +78,7 @@ public class Spell extends StackObjImpl implements Card {
private final Card card;
private final ObjectColor color;
private final ObjectColor frameColor;
private final FrameStyle frameStyle;
private final SpellAbility ability;
private final Zone fromZone;
private final UUID id;
@ -90,6 +92,7 @@ public class Spell extends StackObjImpl implements Card {
this.card = card;
this.color = card.getColor(null).copy();
this.frameColor = card.getFrameColor(null).copy();
this.frameStyle = card.getFrameStyle();
id = ability.getId();
this.ability = ability;
this.ability.setControllerId(controllerId);
@ -131,6 +134,7 @@ public class Spell extends StackObjImpl implements Card {
this.faceDown = spell.faceDown;
this.color = spell.color.copy();
this.frameColor = spell.color.copy();
this.frameStyle = spell.frameStyle;
}
public boolean activate(Game game, boolean noMana) {
@ -492,6 +496,11 @@ public class Spell extends StackObjImpl implements Card {
return frameColor;
}
@Override
public FrameStyle getFrameStyle() {
return frameStyle;
}
@Override
public ManaCosts<ManaCost> getManaCost() {
return card.getManaCost();