[MH2] Implemented Said // Done

This commit is contained in:
Evan Kranzler 2021-06-04 09:22:09 -04:00
parent 836bc95007
commit 4c5c4e4d3f
3 changed files with 56 additions and 7 deletions

View file

@ -1,27 +1,25 @@
package mage.cards.c; package mage.cards.c;
import java.util.UUID;
import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.filter.common.FilterInstantOrSorceryCard; import mage.filter.StaticFilters;
import mage.target.common.TargetCardInYourGraveyard; import mage.target.common.TargetCardInYourGraveyard;
import java.util.UUID;
/** /**
*
* @author BetaSteward_at_googlemail.com * @author BetaSteward_at_googlemail.com
*/ */
public final class CallToMind extends CardImpl { public final class CallToMind extends CardImpl {
public CallToMind(UUID ownerId, CardSetInfo setInfo) { public CallToMind(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{U}"); super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}");
// Return target instant or sorcery card from your graveyard to your hand. // Return target instant or sorcery card from your graveyard to your hand.
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(new FilterInstantOrSorceryCard("instant or sorcery card from your graveyard"))); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_INSTANT_OR_SORCERY_FROM_YOUR_GRAVEYARD));
} }
private CallToMind(final CallToMind card) { private CallToMind(final CallToMind card) {

View file

@ -0,0 +1,50 @@
package mage.cards.s;
import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.TapTargetEffect;
import mage.cards.CardSetInfo;
import mage.cards.SplitCard;
import mage.constants.CardType;
import mage.constants.SpellAbilityType;
import mage.filter.StaticFilters;
import mage.target.common.TargetCardInYourGraveyard;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class SaidDone extends SplitCard {
public SaidDone(UUID ownerId, CardSetInfo setInfo) {
super(
ownerId, setInfo,
new CardType[]{CardType.SORCERY}, new CardType[]{CardType.INSTANT},
"{2}{U}", "{3}{U}", SpellAbilityType.SPLIT
);
// Said
// Return target instant or sorcery card from your graveyard to your hand.
this.getLeftHalfCard().getSpellAbility().addEffect(new ReturnToHandTargetEffect());
this.getLeftHalfCard().getSpellAbility().addTarget(new TargetCardInYourGraveyard(
StaticFilters.FILTER_CARD_INSTANT_OR_SORCERY_FROM_YOUR_GRAVEYARD
));
// Done
// Tap up to two target creatures. They don't untap during their controllers' next untap step.
this.getRightHalfCard().getSpellAbility().addEffect(new TapTargetEffect());
this.getRightHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent(0, 2));
this.getRightHalfCard().getSpellAbility().addEffect(new DontUntapInControllersNextUntapStepTargetEffect("They"));
}
private SaidDone(final SaidDone card) {
super(card);
}
@Override
public SaidDone copy() {
return new SaidDone(this);
}
}

View file

@ -218,6 +218,7 @@ public final class ModernHorizons2 extends ExpansionSet {
cards.add(new SetCardInfo("Rishadan Dockhand", 59, Rarity.RARE, mage.cards.r.RishadanDockhand.class)); cards.add(new SetCardInfo("Rishadan Dockhand", 59, Rarity.RARE, mage.cards.r.RishadanDockhand.class));
cards.add(new SetCardInfo("Road // Ruin", 212, Rarity.UNCOMMON, mage.cards.r.RoadRuin.class)); cards.add(new SetCardInfo("Road // Ruin", 212, Rarity.UNCOMMON, mage.cards.r.RoadRuin.class));
cards.add(new SetCardInfo("Rustvale Bridge", 253, Rarity.COMMON, mage.cards.r.RustvaleBridge.class)); cards.add(new SetCardInfo("Rustvale Bridge", 253, Rarity.COMMON, mage.cards.r.RustvaleBridge.class));
cards.add(new SetCardInfo("Said // Done", 60, Rarity.UNCOMMON, mage.cards.s.SaidDone.class));
cards.add(new SetCardInfo("Sanctuary Raptor", 233, Rarity.UNCOMMON, mage.cards.s.SanctuaryRaptor.class)); cards.add(new SetCardInfo("Sanctuary Raptor", 233, Rarity.UNCOMMON, mage.cards.s.SanctuaryRaptor.class));
cards.add(new SetCardInfo("Sanctum Prelate", 491, Rarity.MYTHIC, mage.cards.s.SanctumPrelate.class)); cards.add(new SetCardInfo("Sanctum Prelate", 491, Rarity.MYTHIC, mage.cards.s.SanctumPrelate.class));
cards.add(new SetCardInfo("Sanctum Weaver", 171, Rarity.RARE, mage.cards.s.SanctumWeaver.class)); cards.add(new SetCardInfo("Sanctum Weaver", 171, Rarity.RARE, mage.cards.s.SanctumWeaver.class));