diff --git a/Mage/src/mage/cards/Card.java b/Mage/src/mage/cards/Card.java index ddc4dc9b9e3..a12418a0940 100644 --- a/Mage/src/mage/cards/Card.java +++ b/Mage/src/mage/cards/Card.java @@ -99,6 +99,8 @@ public interface Card extends MageObject { public boolean putOntoBattlefield(Game game, Zone fromZone, UUID sourceId, UUID controllerId); public List getMana(); + public void build(); + @Override public Card copy(); } diff --git a/Mage/src/mage/cards/CardImpl.java b/Mage/src/mage/cards/CardImpl.java index 735da685b58..4eb80dd625f 100644 --- a/Mage/src/mage/cards/CardImpl.java +++ b/Mage/src/mage/cards/CardImpl.java @@ -124,6 +124,7 @@ public abstract class CardImpl> extends MageObjectImpl Class theClass = Class.forName(name); Constructor con = theClass.getConstructor(new Class[]{UUID.class}); Card card = (Card) con.newInstance(new Object[]{null}); + card.build(); return card; } catch (Exception e) { logger.fatal("Error loading card: " + name, e); @@ -453,4 +454,7 @@ public abstract class CardImpl> extends MageObjectImpl } info.put(key, value); } + + @Override + public void build() {} } diff --git a/Mage/src/mage/cards/ExpansionSet.java b/Mage/src/mage/cards/ExpansionSet.java index 78d182f8b0e..47370aa9fd5 100644 --- a/Mage/src/mage/cards/ExpansionSet.java +++ b/Mage/src/mage/cards/ExpansionSet.java @@ -122,7 +122,9 @@ public abstract class ExpansionSet implements Serializable { private Card createCard(Class clazz) { try { Constructor con = clazz.getConstructor(new Class[]{UUID.class}); - return (Card) con.newInstance(new Object[]{null}); + Card card = (Card) con.newInstance(new Object[]{null}); + card.build(); + return card; } catch (Exception ex) { logger.fatal("Error creating card:" + clazz.getName(), ex); return null; diff --git a/Mage/src/mage/game/stack/Spell.java b/Mage/src/mage/game/stack/Spell.java index f787890ce6e..77b31f6f4fd 100644 --- a/Mage/src/mage/game/stack/Spell.java +++ b/Mage/src/mage/game/stack/Spell.java @@ -468,5 +468,8 @@ public class Spell> implements StackObject, Card { public boolean isCopy() { return isCopiedSpell(); } + + @Override + public void build() {} }