diff --git a/src/forge/Card.java b/src/forge/Card.java index 5310dd8266e..e93946db6ca 100644 --- a/src/forge/Card.java +++ b/src/forge/Card.java @@ -516,13 +516,13 @@ public class Card extends MyObservable { public void addColor(String s){ if (s.equals("")) s = "0"; - cardColor.add(new Card_Color(new ManaCost(s), this, false)); + cardColor.add(new Card_Color(new ManaCost(s), this, false, true)); } public long addColor(String s, Card c, boolean addToColors, boolean bIncrease){ if (bIncrease) Card_Color.increaseTimestamp(); - cardColor.add(new Card_Color(new ManaCost(s), c, addToColors)); + cardColor.add(new Card_Color(new ManaCost(s), c, addToColors, false)); return Card_Color.getTimestamp(); } diff --git a/src/forge/CardFactory.java b/src/forge/CardFactory.java index cc972deb12e..f8d713a7423 100644 --- a/src/forge/CardFactory.java +++ b/src/forge/CardFactory.java @@ -10825,6 +10825,7 @@ public class CardFactory implements NewConstants { c.setType(sim.getType()); c.setText(sim.getSpellText()); c.setManaCost(sim.getManaCost()); + c.addColor(sim.getManaCost()); c.setSVars(sim.getSVars()); return c; diff --git a/src/forge/Card_Color.java b/src/forge/Card_Color.java index 56eef12a5c4..51cc94373bc 100644 --- a/src/forge/Card_Color.java +++ b/src/forge/Card_Color.java @@ -15,11 +15,14 @@ public class Card_Color { private static long timeStamp = 0; public static long getTimestamp() { return timeStamp; } - Card_Color(ManaCost mc, Card c, boolean addToColors){ + Card_Color(ManaCost mc, Card c, boolean addToColors, boolean baseColor){ additional = addToColors; col = Color.ConvertManaCostToColor(mc); effectingCard = c; - stamp = timeStamp; + if (baseColor) + stamp = 0; + else + stamp = timeStamp; } public Card_Color(Card c) { diff --git a/src/forge/GameInfo.java b/src/forge/GameInfo.java index b17a8f1d44e..1298d6f35ec 100644 --- a/src/forge/GameInfo.java +++ b/src/forge/GameInfo.java @@ -143,7 +143,7 @@ public class GameInfo { public long addColorChanges(String s, Card c, boolean addToColors, boolean bIncrease) { if (bIncrease) Card_Color.increaseTimestamp(); - globalColorChanges.add(new Card_Color(new ManaCost(s), c, addToColors)); + globalColorChanges.add(new Card_Color(new ManaCost(s), c, addToColors, false)); return Card_Color.getTimestamp(); }