diff --git a/Mage.Sets/src/mage/cards/i/IllusionSpinners.java b/Mage.Sets/src/mage/cards/i/IllusionSpinners.java new file mode 100644 index 00000000000..6d49b8c66b0 --- /dev/null +++ b/Mage.Sets/src/mage/cards/i/IllusionSpinners.java @@ -0,0 +1,65 @@ +package mage.cards.i; + +import java.util.UUID; +import mage.MageInt; +import mage.constants.SubType; +import mage.filter.common.FilterControlledPermanent; +import mage.abilities.common.CastAsThoughItHadFlashIfConditionAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.condition.common.SourceTappedCondition; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.HexproofAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; + +/** + * + * @author muz + */ +public final class IllusionSpinners extends CardImpl { + + private static final Condition condition = new PermanentsOnTheBattlefieldCondition( + new FilterControlledPermanent(SubType.FAERIE, "you control a Faerie") + ); + + public IllusionSpinners(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}"); + + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(4); + this.toughness = new MageInt(3); + + // You may cast this spell as though it had flash if you control a Faerie. + this.addAbility(new CastAsThoughItHadFlashIfConditionAbility( + condition, "you may cast this spell as though it had flash if you control a Faerie" + )); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // This creature has hexproof as long as it's untapped. + this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect( + new GainAbilitySourceEffect( + HexproofAbility.getInstance(), + Duration.WhileOnBattlefield + ), SourceTappedCondition.UNTAPPED, + "{this} has hexproof as long as it's untapped" + ))); + } + + private IllusionSpinners(final IllusionSpinners card) { + super(card); + } + + @Override + public IllusionSpinners copy() { + return new IllusionSpinners(this); + } +} diff --git a/Mage.Sets/src/mage/cards/p/ParadiseDruid.java b/Mage.Sets/src/mage/cards/p/ParadiseDruid.java index 13f1531bd90..633c42d6259 100644 --- a/Mage.Sets/src/mage/cards/p/ParadiseDruid.java +++ b/Mage.Sets/src/mage/cards/p/ParadiseDruid.java @@ -2,7 +2,6 @@ package mage.cards.p; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.condition.InvertCondition; import mage.abilities.condition.common.SourceTappedCondition; import mage.abilities.decorator.ConditionalContinuousEffect; import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; @@ -31,11 +30,11 @@ public final class ParadiseDruid extends CardImpl { // Paradise Druid has hexproof as long as it's untapped. this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect( - new GainAbilitySourceEffect( - HexproofAbility.getInstance(), - Duration.WhileOnBattlefield - ), SourceTappedCondition.UNTAPPED, - "{this} has hexproof as long as it's untapped" + new GainAbilitySourceEffect( + HexproofAbility.getInstance(), + Duration.WhileOnBattlefield + ), SourceTappedCondition.UNTAPPED, + "{this} has hexproof as long as it's untapped" ))); // {T}: Add one mana of any color. diff --git a/Mage.Sets/src/mage/sets/LorwynEclipsed.java b/Mage.Sets/src/mage/sets/LorwynEclipsed.java index 69246e75df7..dca99900d05 100644 --- a/Mage.Sets/src/mage/sets/LorwynEclipsed.java +++ b/Mage.Sets/src/mage/sets/LorwynEclipsed.java @@ -170,6 +170,7 @@ public final class LorwynEclipsed extends ExpansionSet { cards.add(new SetCardInfo("High Perfect Morcant", 229, Rarity.RARE, mage.cards.h.HighPerfectMorcant.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("High Perfect Morcant", 373, Rarity.RARE, mage.cards.h.HighPerfectMorcant.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Hovel Hurler", 230, Rarity.UNCOMMON, mage.cards.h.HovelHurler.class)); + cards.add(new SetCardInfo("Illusion Spinners", 55, Rarity.UNCOMMON, mage.cards.i.IllusionSpinners.class)); cards.add(new SetCardInfo("Impolite Entrance", 146, Rarity.UNCOMMON, mage.cards.i.ImpoliteEntrance.class)); cards.add(new SetCardInfo("Iron-Shield Elf", 108, Rarity.UNCOMMON, mage.cards.i.IronShieldElf.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Iron-Shield Elf", 404, Rarity.UNCOMMON, mage.cards.i.IronShieldElf.class, NON_FULL_USE_VARIOUS));