diff --git a/Mage.Sets/src/mage/cards/c/ChiefEngineer.java b/Mage.Sets/src/mage/cards/c/ChiefEngineer.java index 0408fb47db..155dc0c860 100644 --- a/Mage.Sets/src/mage/cards/c/ChiefEngineer.java +++ b/Mage.Sets/src/mage/cards/c/ChiefEngineer.java @@ -9,7 +9,10 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Zone; +import mage.filter.FilterCard; import mage.filter.common.FilterArtifactCard; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.AbilityPredicate; import java.util.UUID; @@ -18,6 +21,13 @@ import java.util.UUID; */ public final class ChiefEngineer extends CardImpl { + private static final FilterCard filter = new FilterArtifactCard("artifact spells"); + + static { + filter.add(Predicates.not(CardType.LAND.getPredicate())); + filter.add(Predicates.not(new AbilityPredicate(ConvokeAbility.class))); // So there are not redundant copies being added to each card + } + public ChiefEngineer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); this.subtype.add(SubType.VEDALKEN); @@ -27,8 +37,7 @@ public final class ChiefEngineer extends CardImpl { this.toughness = new MageInt(3); // Artifact spells you cast have convoke. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledSpellsEffect(new ConvokeAbility(), new FilterArtifactCard("Artifact spells you cast")))); - + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledSpellsEffect(new ConvokeAbility(), filter))); } private ChiefEngineer(final ChiefEngineer card) {