diff --git a/forge-core/src/main/java/forge/card/CardRules.java b/forge-core/src/main/java/forge/card/CardRules.java index 4e80fe8bc1a..856848b539f 100644 --- a/forge-core/src/main/java/forge/card/CardRules.java +++ b/forge-core/src/main/java/forge/card/CardRules.java @@ -84,6 +84,12 @@ public final class CardRules implements ICardCharacteristics { boolean isReminder = false; boolean isSymbol = false; String oracleText = face.getOracleText(); + // CR 903.4 colors defined by its characteristic-defining abilities + for (String staticAbility : face.getStaticAbilities()) { + if (staticAbility.contains("CharacteristicDefining$ True") && staticAbility.contains("SetColor$ All")) { + res |= MagicColor.ALL_COLORS; + } + } int len = oracleText.length(); for(int i = 0; i < len; i++) { char c = oracleText.charAt(i); // This is to avoid needless allocations performed by toCharArray() @@ -388,7 +394,6 @@ public final class CardRules implements ICardCharacteristics { this.removedFromNonCommanderDecks = "NonCommander".equalsIgnoreCase(value); } } else if ("AlternateMode".equals(key)) { - //System.out.println(faces[curFace].getName()); this.altMode = CardSplitType.smartValueOf(value); } else if ("ALTERNATE".equals(key)) { this.curFace = 1; diff --git a/forge-game/src/main/java/forge/game/zone/Zone.java b/forge-game/src/main/java/forge/game/zone/Zone.java index 39793959665..2dce4d3e650 100644 --- a/forge-game/src/main/java/forge/game/zone/Zone.java +++ b/forge-game/src/main/java/forge/game/zone/Zone.java @@ -167,10 +167,7 @@ public class Zone implements java.io.Serializable, Iterable { cardList.clear(); } else { for (Card c : cardList) { - if (cardList.remove(c)) { - onChanged(); - game.fireEvent(new GameEventZone(zoneType, getPlayer(), EventValueChangeType.Removed, c)); - } + remove(c); } } } @@ -208,12 +205,10 @@ public class Zone implements java.io.Serializable, Iterable { } public final List getCardsAddedThisTurn(final ZoneType origin) { - //System.out.print("Request cards put into " + getZoneType() + " from " + origin + ".Amount: "); return getCardsAdded(cardsAddedThisTurn, origin); } public final List getCardsAddedLastTurn(final ZoneType origin) { - //System.out.print("Last turn - Request cards put into " + getZoneType() + " from " + origin + ".Amount: "); return getCardsAdded(cardsAddedLastTurn, origin); }