diff --git a/Mage.Sets/src/mage/cards/h/HideousTaskmaster.java b/Mage.Sets/src/mage/cards/h/HideousTaskmaster.java new file mode 100644 index 00000000000..62215d0016e --- /dev/null +++ b/Mage.Sets/src/mage/cards/h/HideousTaskmaster.java @@ -0,0 +1,65 @@ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.constants.SubType; +import mage.abilities.Ability; +import mage.abilities.effects.common.CastSourceTriggeredAbility; +import mage.abilities.effects.common.UntapTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.effects.common.continuous.GainControlTargetEffect; +import mage.abilities.keyword.DevoidAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.abilities.keyword.HasteAbility; +import mage.abilities.keyword.AnnihilatorAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.target.common.TargetCreaturePermanent; +import mage.target.targetadjustment.EachOpponentPermanentTargetsAdjuster; +import mage.target.targetpointer.EachTargetPointer; + +/** + * + * @author grimreap124 + */ +public final class HideousTaskmaster extends CardImpl { + + public HideousTaskmaster(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[] { CardType.CREATURE }, "{6}{R}"); + + this.subtype.add(SubType.ELDRAZI); + this.power = new MageInt(7); + this.toughness = new MageInt(2); + + // Devoid + this.addAbility(new DevoidAbility(this.color)); + + // When you cast this spell, for each opponent, gain control of up to one target creature that player controls until end of turn. + // Untap those creatures. They gain trample, haste, and annihilator 1 until end of turn. + Ability ability = new CastSourceTriggeredAbility( + new GainControlTargetEffect(Duration.EndOfTurn).setTargetPointer(new EachTargetPointer()).setText( + "for each opponent, gain control of up to one target creature that player controls until end of turn")); + ability.setTargetAdjuster(new EachOpponentPermanentTargetsAdjuster()); + ability.addTarget(new TargetCreaturePermanent(0, 1)); + ability.addEffect( + new UntapTargetEffect().setTargetPointer(new EachTargetPointer()).setText("Untap those creatures")); + ability.addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn) + .setTargetPointer(new EachTargetPointer()).setText("They gain trample")); + ability.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn) + .setTargetPointer(new EachTargetPointer()).setText("haste")); + ability.addEffect(new GainAbilityTargetEffect(new AnnihilatorAbility(1), Duration.EndOfTurn) + .setTargetPointer(new EachTargetPointer()).setText("and annihilator 1 until end of turn")); + this.addAbility(ability); + } + + private HideousTaskmaster(final HideousTaskmaster card) { + super(card); + } + + @Override + public HideousTaskmaster copy() { + return new HideousTaskmaster(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ModernHorizons3Commander.java b/Mage.Sets/src/mage/sets/ModernHorizons3Commander.java index b3bd71c6c77..6976ac48495 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons3Commander.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons3Commander.java @@ -30,6 +30,7 @@ public final class ModernHorizons3Commander extends ExpansionSet { cards.add(new SetCardInfo("Crib Swap", 168, Rarity.UNCOMMON, mage.cards.c.CribSwap.class)); cards.add(new SetCardInfo("Drowner of Hope", 182, Rarity.RARE, mage.cards.d.DrownerOfHope.class)); cards.add(new SetCardInfo("Final Act", 52, Rarity.RARE, mage.cards.f.FinalAct.class)); + cards.add(new SetCardInfo("Hideous Taskmaster", 57, Rarity.RARE, mage.cards.h.HideousTaskmaster.class)); cards.add(new SetCardInfo("March from Velis Vel", 48, Rarity.RARE, mage.cards.m.MarchFromVelisVel.class)); cards.add(new SetCardInfo("Oblivion Sower", 158, Rarity.MYTHIC, mage.cards.o.OblivionSower.class)); cards.add(new SetCardInfo("Siege-Gang Lieutenant", 61, Rarity.RARE, mage.cards.s.SiegeGangLieutenant.class));