1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-12 17:00:08 -09:00

[MH2] Implemented Tourach, Dread Cantor

This commit is contained in:
Evan Kranzler 2021-06-05 09:09:09 -04:00
parent ac04c27133
commit 3cd434e814
2 changed files with 68 additions and 0 deletions
Mage.Sets/src/mage

View file

@ -0,0 +1,67 @@
package mage.cards.t;
import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.Ability;
import mage.abilities.common.DiscardsACardOpponentTriggeredAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.effects.common.discard.DiscardTargetEffect;
import mage.abilities.keyword.KickerAbility;
import mage.abilities.keyword.ProtectionAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.counters.CounterType;
import mage.target.common.TargetOpponent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class TourachDreadCantor extends CardImpl {
public TourachDreadCantor(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}");
this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.CLERIC);
this.power = new MageInt(2);
this.toughness = new MageInt(1);
// Kicker {B}{B}
this.addAbility(new KickerAbility("{B}{B}"));
// Protection from white
this.addAbility(ProtectionAbility.from(ObjectColor.WHITE));
// Whenever an opponent discards a card, put a +1/+1 counter on Tourach, Dread Cantor.
this.addAbility(new DiscardsACardOpponentTriggeredAbility(
new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false
));
// When Tourach enters the battelfield, if it was kicked, target opponent discards two cards at random.
Ability ability = new ConditionalInterveningIfTriggeredAbility(
new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(2, true)),
KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " +
"target opponent discards two cards at random."
);
ability.addTarget(new TargetOpponent());
this.addAbility(ability);
}
private TourachDreadCantor(final TourachDreadCantor card) {
super(card);
}
@Override
public TourachDreadCantor copy() {
return new TourachDreadCantor(this);
}
}

View file

@ -289,6 +289,7 @@ public final class ModernHorizons2 extends ExpansionSet {
cards.add(new SetCardInfo("Titania, Protector of Argoth", 287, Rarity.MYTHIC, mage.cards.t.TitaniaProtectorOfArgoth.class));
cards.add(new SetCardInfo("Tormod's Cryptkeeper", 239, Rarity.COMMON, mage.cards.t.TormodsCryptkeeper.class));
cards.add(new SetCardInfo("Tourach's Canticle", 103, Rarity.COMMON, mage.cards.t.TourachsCanticle.class));
cards.add(new SetCardInfo("Tourach, Dread Cantor", 102, Rarity.MYTHIC, mage.cards.t.TourachDreadCantor.class));
cards.add(new SetCardInfo("Tragic Fall", 104, Rarity.COMMON, mage.cards.t.TragicFall.class));
cards.add(new SetCardInfo("Unbounded Potential", 36, Rarity.COMMON, mage.cards.u.UnboundedPotential.class));
cards.add(new SetCardInfo("Underworld Hermit", 105, Rarity.UNCOMMON, mage.cards.u.UnderworldHermit.class));