diff --git a/Mage.Sets/src/mage/cards/b/BrineSeer.java b/Mage.Sets/src/mage/cards/b/BrineSeer.java index 0fd6145ab3b..6035e0b88a3 100644 --- a/Mage.Sets/src/mage/cards/b/BrineSeer.java +++ b/Mage.Sets/src/mage/cards/b/BrineSeer.java @@ -19,6 +19,7 @@ import mage.constants.Outcome; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.ColorPredicate; import mage.game.Game; +import mage.target.TargetSpell; import mage.target.common.TargetCardInHand; /** @@ -38,6 +39,7 @@ public final class BrineSeer extends CardImpl { // {2}{U}, {tap}: Reveal any number of blue cards in your hand. Counter target spell unless its controller pays {1} for each card revealed this way. Ability ability = new SimpleActivatedAbility(new BrineSeerEffect(), new ManaCostsImpl("{2}{U}")); ability.addCost(new TapSourceCost()); + ability.addTarget(new TargetSpell()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/CinderSeer.java b/Mage.Sets/src/mage/cards/c/CinderSeer.java new file mode 100644 index 00000000000..1b520476c43 --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/CinderSeer.java @@ -0,0 +1,87 @@ +package mage.cards.c; + +import java.util.UUID; +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.RevealTargetFromHandCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.constants.SubType; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.game.Game; +import mage.target.common.TargetAnyTarget; +import mage.target.common.TargetCardInHand; + +/** + * + * @author TheElk801 + */ +public final class CinderSeer extends CardImpl { + + public CinderSeer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // {2}{R}, {tap}: Reveal any number of red cards in your hand. Cinder Seer deals X damage to any target, where X is the number of cards revealed this way. + Ability ability = new SimpleActivatedAbility(new CinderSeerEffect(), new ManaCostsImpl("{2}{R}")); + ability.addCost(new TapSourceCost()); + ability.addTarget(new TargetAnyTarget()); + this.addAbility(ability); + } + + public CinderSeer(final CinderSeer card) { + super(card); + } + + @Override + public CinderSeer copy() { + return new CinderSeer(this); + } +} + +class CinderSeerEffect extends OneShotEffect { + + private static final FilterCard filter = new FilterCard("any number of red cards in your hand"); + + static { + filter.add(new ColorPredicate(ObjectColor.RED)); + } + + public CinderSeerEffect() { + super(Outcome.Damage); + this.staticText = "reveal any number of red cards in your hand. " + + "{this} deals X damage to any target, where X is the number of cards revealed this way"; + } + + public CinderSeerEffect(final CinderSeerEffect effect) { + super(effect); + } + + @Override + public CinderSeerEffect copy() { + return new CinderSeerEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + RevealTargetFromHandCost cost = new RevealTargetFromHandCost(new TargetCardInHand(0, Integer.MAX_VALUE, filter)); + if (!cost.pay(source, game, source.getSourceId(), source.getControllerId(), true)) { + return false; + } + int xValue = cost.getNumberRevealedCards(); + return new DamageTargetEffect(xValue).apply(game, source); + } +} diff --git a/Mage.Sets/src/mage/sets/UrzasDestiny.java b/Mage.Sets/src/mage/sets/UrzasDestiny.java index 517c7e8706a..b035916d721 100644 --- a/Mage.Sets/src/mage/sets/UrzasDestiny.java +++ b/Mage.Sets/src/mage/sets/UrzasDestiny.java @@ -49,6 +49,7 @@ public final class UrzasDestiny extends ExpansionSet { cards.add(new SetCardInfo("Capashen Templar", 5, Rarity.COMMON, mage.cards.c.CapashenTemplar.class)); cards.add(new SetCardInfo("Carnival of Souls", 55, Rarity.RARE, mage.cards.c.CarnivalOfSouls.class)); cards.add(new SetCardInfo("Chime of Night", 56, Rarity.COMMON, mage.cards.c.ChimeOfNight.class)); + cards.add(new SetCardInfo("Cinder Seer", 78, Rarity.UNCOMMON, mage.cards.c.CinderSeer.class)); cards.add(new SetCardInfo("Colos Yearling", 79, Rarity.COMMON, mage.cards.c.ColosYearling.class)); cards.add(new SetCardInfo("Compost", 102, Rarity.UNCOMMON, mage.cards.c.Compost.class)); cards.add(new SetCardInfo("Covetous Dragon", 80, Rarity.RARE, mage.cards.c.CovetousDragon.class));