diff --git a/Mage.Sets/src/mage/cards/m/MistDancer.java b/Mage.Sets/src/mage/cards/m/MistDancer.java new file mode 100644 index 00000000000..e7daa7fc943 --- /dev/null +++ b/Mage.Sets/src/mage/cards/m/MistDancer.java @@ -0,0 +1,61 @@ +package mage.cards.m; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.EncoreAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class MistDancer extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(SubType.MERFOLK, "Merfolk"); + private static final FilterPermanent filter2 = new FilterPermanent(SubType.MERFOLK, ""); + + public MistDancer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}"); + + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Other Merfolk you control get +1/+0 and have flying. + Ability ability = new SimpleStaticAbility(new BoostControlledEffect( + 1, 0, Duration.WhileOnBattlefield, filter, true + )); + ability.addEffect(new GainAbilityControlledEffect( + FlyingAbility.getInstance(), Duration.WhileOnBattlefield, filter2, true + ).setText("and have flying")); + this.addAbility(ability); + + // Encore {5}{U}{U} + this.addAbility(new EncoreAbility(new ManaCostsImpl<>("{5}{U}{U}"))); + } + + private MistDancer(final MistDancer card) { + super(card); + } + + @Override + public MistDancer copy() { + return new MistDancer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/LostCavernsOfIxalanCommander.java b/Mage.Sets/src/mage/sets/LostCavernsOfIxalanCommander.java index f2061981ee9..941b5a321b2 100644 --- a/Mage.Sets/src/mage/sets/LostCavernsOfIxalanCommander.java +++ b/Mage.Sets/src/mage/sets/LostCavernsOfIxalanCommander.java @@ -34,6 +34,7 @@ public final class LostCavernsOfIxalanCommander extends ExpansionSet { cards.add(new SetCardInfo("Fist of Suns", 113, Rarity.RARE, mage.cards.f.FistOfSuns.class)); cards.add(new SetCardInfo("Lightning Greaves", 114, Rarity.UNCOMMON, mage.cards.l.LightningGreaves.class)); cards.add(new SetCardInfo("Mimic Vat", 115, Rarity.RARE, mage.cards.m.MimicVat.class)); + cards.add(new SetCardInfo("Mist Dancer", 76, Rarity.RARE, mage.cards.m.MistDancer.class)); cards.add(new SetCardInfo("Path of Ancestry", 346, Rarity.COMMON, mage.cards.p.PathOfAncestry.class)); cards.add(new SetCardInfo("Strionic Resonator", 116, Rarity.RARE, mage.cards.s.StrionicResonator.class)); cards.add(new SetCardInfo("Temple Bell", 117, Rarity.RARE, mage.cards.t.TempleBell.class));