diff --git a/Mage.Sets/src/mage/cards/p/PollywogSymbiote.java b/Mage.Sets/src/mage/cards/p/PollywogSymbiote.java new file mode 100644 index 00000000000..7f8c95ff9f5 --- /dev/null +++ b/Mage.Sets/src/mage/cards/p/PollywogSymbiote.java @@ -0,0 +1,62 @@ +package mage.cards.p; + +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.common.SpellCastControllerTriggeredAbility; +import mage.abilities.effects.common.DrawDiscardControllerEffect; +import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect; +import mage.abilities.keyword.MutateAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.FilterCard; +import mage.filter.FilterSpell; +import mage.filter.common.FilterCreatureCard; +import mage.filter.common.FilterCreatureSpell; +import mage.filter.predicate.Predicate; +import mage.filter.predicate.mageobject.AbilityPredicate; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class PollywogSymbiote extends CardImpl { + + private static final FilterCard filter = new FilterCreatureCard(); + private static final FilterSpell filter2 = new FilterCreatureSpell(); + private static final Predicate predicate = new AbilityPredicate(MutateAbility.class); + + static { + filter.add(predicate); + filter2.add(predicate); + } + + public PollywogSymbiote(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); + + this.subtype.add(SubType.FROG); + this.power = new MageInt(1); + this.toughness = new MageInt(3); + + // Each creature spell you cast costs {1} less to cast if it has mutate. + this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1) + .setText("each creature spell you cast costs {1} less to cast if it has mutate"))); + + // Whenever you cast a creature spell, if it has mutate, draw a card, then discard a card. + this.addAbility(new SpellCastControllerTriggeredAbility( + new DrawDiscardControllerEffect(1, 1), filter2, false, + "Whenever you cast a creature spell, if it has mutate, draw a card, then discard a card." + )); + } + + private PollywogSymbiote(final PollywogSymbiote card) { + super(card); + } + + @Override + public PollywogSymbiote copy() { + return new PollywogSymbiote(this); + } +} diff --git a/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java b/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java index a30fd98689c..9180a6ca518 100644 --- a/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java +++ b/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java @@ -106,6 +106,7 @@ public final class IkoriaLairOfBehemoths extends ExpansionSet { cards.add(new SetCardInfo("Neutralize", 59, Rarity.UNCOMMON, mage.cards.n.Neutralize.class)); cards.add(new SetCardInfo("Pacifism", 25, Rarity.COMMON, mage.cards.p.Pacifism.class)); cards.add(new SetCardInfo("Phase Dolphin", 62, Rarity.COMMON, mage.cards.p.PhaseDolphin.class)); + cards.add(new SetCardInfo("Pollywog Symbiote", 63, Rarity.UNCOMMON, mage.cards.p.PollywogSymbiote.class)); cards.add(new SetCardInfo("Pouncing Shoreshark", 64, Rarity.UNCOMMON, mage.cards.p.PouncingShoreshark.class)); cards.add(new SetCardInfo("Primal Empathy", 200, Rarity.UNCOMMON, mage.cards.p.PrimalEmpathy.class)); cards.add(new SetCardInfo("Proud Wildbonder", 229, Rarity.UNCOMMON, mage.cards.p.ProudWildbonder.class));