diff --git a/Mage.Sets/src/mage/cards/g/GoblinElectromancer.java b/Mage.Sets/src/mage/cards/g/GoblinElectromancer.java index 37bdf76f1e1..5e5ff295c88 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinElectromancer.java +++ b/Mage.Sets/src/mage/cards/g/GoblinElectromancer.java @@ -1,7 +1,6 @@ package mage.cards.g; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect; @@ -9,26 +8,20 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; import mage.filter.FilterCard; -import mage.filter.predicate.Predicates; +import mage.filter.common.FilterInstantOrSorceryCard; + +import java.util.UUID; /** - * * @author LevelX2 */ public final class GoblinElectromancer extends CardImpl { - private static final FilterCard filter = new FilterCard("Instant and sorcery spells"); - static { - filter.add(Predicates.or( - CardType.INSTANT.getPredicate(), - CardType.SORCERY.getPredicate() - )); - } + private static final FilterCard filter = new FilterInstantOrSorceryCard("Instant and sorcery spells"); public GoblinElectromancer(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{R}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}{R}"); this.subtype.add(SubType.GOBLIN); this.subtype.add(SubType.WIZARD); @@ -36,7 +29,7 @@ public final class GoblinElectromancer extends CardImpl { this.toughness = new MageInt(2); // Instant and sorcery spells you cast cost {1} less to cast. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 1))); + this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1))); } private GoblinElectromancer(final GoblinElectromancer card) { diff --git a/Mage.Sets/src/mage/cards/m/MockingSprite.java b/Mage.Sets/src/mage/cards/m/MockingSprite.java new file mode 100644 index 00000000000..83842ff3e3e --- /dev/null +++ b/Mage.Sets/src/mage/cards/m/MockingSprite.java @@ -0,0 +1,46 @@ +package mage.cards.m; + +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.FilterCard; +import mage.filter.common.FilterInstantOrSorceryCard; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class MockingSprite extends CardImpl { + + private static final FilterCard filter = new FilterInstantOrSorceryCard("Instant and sorcery spells"); + + public MockingSprite(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); + + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Instant and sorcery spells you cast cost {1} less to cast. + this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1))); + } + + private MockingSprite(final MockingSprite card) { + super(card); + } + + @Override + public MockingSprite copy() { + return new MockingSprite(this); + } +} diff --git a/Mage.Sets/src/mage/sets/WildsOfEldraine.java b/Mage.Sets/src/mage/sets/WildsOfEldraine.java index 2378fa42a4f..cd528d781c3 100644 --- a/Mage.Sets/src/mage/sets/WildsOfEldraine.java +++ b/Mage.Sets/src/mage/sets/WildsOfEldraine.java @@ -86,6 +86,7 @@ public final class WildsOfEldraine extends ExpansionSet { cards.add(new SetCardInfo("Lord Skitter's Blessing", 98, Rarity.RARE, mage.cards.l.LordSkittersBlessing.class)); cards.add(new SetCardInfo("Lord Skitter's Butcher", 99, Rarity.UNCOMMON, mage.cards.l.LordSkittersButcher.class)); cards.add(new SetCardInfo("Lord Skitter, Sewer King", 97, Rarity.RARE, mage.cards.l.LordSkitterSewerKing.class)); + cards.add(new SetCardInfo("Mocking Sprite", 62, Rarity.COMMON, mage.cards.m.MockingSprite.class)); cards.add(new SetCardInfo("Monstrous Rage", 142, Rarity.UNCOMMON, mage.cards.m.MonstrousRage.class)); cards.add(new SetCardInfo("Moonshaker Cavalry", 21, Rarity.MYTHIC, mage.cards.m.MoonshakerCavalry.class)); cards.add(new SetCardInfo("Mountain", 265, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));