diff --git a/Mage.Sets/src/mage/cards/m/MoxAmber.java b/Mage.Sets/src/mage/cards/m/MoxAmber.java index 49414bc7e36..935ee00ca4f 100644 --- a/Mage.Sets/src/mage/cards/m/MoxAmber.java +++ b/Mage.Sets/src/mage/cards/m/MoxAmber.java @@ -58,7 +58,7 @@ public class MoxAmber extends CardImpl { ), new CardTypePredicate(CardType.PLANESWALKER)) ); - this.addAbility(new AnyColorPermanentTypesManaAbility(TargetController.YOU, false, filter)); + this.addAbility(new AnyColorPermanentTypesManaAbility(TargetController.YOU, filter)); } public MoxAmber(final MoxAmber card) { diff --git a/Mage/src/main/java/mage/abilities/mana/AnyColorLandsProduceManaAbility.java b/Mage/src/main/java/mage/abilities/mana/AnyColorLandsProduceManaAbility.java index 5c9f9d2394f..a2aff7f624a 100644 --- a/Mage/src/main/java/mage/abilities/mana/AnyColorLandsProduceManaAbility.java +++ b/Mage/src/main/java/mage/abilities/mana/AnyColorLandsProduceManaAbility.java @@ -84,7 +84,7 @@ public class AnyColorLandsProduceManaAbility extends ActivatedManaAbilityImpl { class AnyColorLandsProduceManaEffect extends ManaEffect { private final FilterPermanent filter; - private final boolean onlyColors; // false if mana types can be produced (also Colorless mana), if false only colors can be produced (no Colorless mana). + private final boolean onlyColors; // false if mana types can be produced (also Colorless mana), if true only colors can be produced (no Colorless mana). private boolean inManaTypeCalculation = false; @@ -190,7 +190,6 @@ class AnyColorLandsProduceManaEffect extends ManaEffect { return types; } inManaTypeCalculation = true; - // Logger.getLogger(this.getClass().getName()).log(Level.WARNING, "needed to identify endless loop causing cards: {0}", source.getSourceObject(game).getName()); List lands = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game); for (Permanent land : lands) { Abilities mana = land.getAbilities().getActivatedManaAbilities(Zone.BATTLEFIELD); diff --git a/Mage/src/main/java/mage/abilities/mana/AnyColorPermanentTypesManaAbility.java b/Mage/src/main/java/mage/abilities/mana/AnyColorPermanentTypesManaAbility.java index e350b6ff233..b94f573055c 100644 --- a/Mage/src/main/java/mage/abilities/mana/AnyColorPermanentTypesManaAbility.java +++ b/Mage/src/main/java/mage/abilities/mana/AnyColorPermanentTypesManaAbility.java @@ -61,7 +61,7 @@ public class AnyColorPermanentTypesManaAbility extends ActivatedManaAbilityImpl class AnyColorPermanentTypesManaEffect extends ManaEffect { private final FilterPermanent filter; - private final boolean onlyColors; // false if mana types can be produced (also Colorless mana), if false only colors can be produced (no Colorless mana). + private final boolean onlyColors; // false if mana types can be produced (also Colorless mana), if true only colors can be produced (no Colorless mana). private boolean inManaTypeCalculation = false; @@ -168,13 +168,19 @@ class AnyColorPermanentTypesManaEffect extends ManaEffect { } inManaTypeCalculation = true; - List permanentColors; - // Logger.getLogger(this.getClass().getName()).log(Level.WARNING, "needed to identify endless loop causing cards: {0}", source.getSourceObject(game).getName()); + ObjectColor permanentColor; + List permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game); + for (Permanent permanent : permanents) { - permanentColors = permanent.getColor(game).getColors(); - for (ObjectColor color : permanentColors){ - types.add(new Mana(color.getColoredManaSymbol())); + permanentColor = permanent.getColor(game); + if(permanentColor.isColorless()) + types.add(Mana.ColorlessMana(1)); + else{ + List permanentColors = permanent.getColor(game).getColors(); + for (ObjectColor color : permanentColors){ + types.add(new Mana(color.getColoredManaSymbol())); + } } } inManaTypeCalculation = false;