mirror of
https://github.com/magefree/mage.git
synced 2025-12-30 07:22:03 -08:00
Implemented Cinder Seer
This commit is contained in:
parent
4bd3c6c9e1
commit
90e31b3664
3 changed files with 90 additions and 0 deletions
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
87
Mage.Sets/src/mage/cards/c/CinderSeer.java
Normal file
87
Mage.Sets/src/mage/cards/c/CinderSeer.java
Normal file
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue