diff --git a/Mage.Sets/src/mage/cards/r/RiseFromTheWreck.java b/Mage.Sets/src/mage/cards/r/RiseFromTheWreck.java new file mode 100644 index 00000000000..e388e7f6066 --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RiseFromTheWreck.java @@ -0,0 +1,54 @@ +package mage.cards.r; + +import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.FilterCard; +import mage.filter.StaticFilters; +import mage.filter.predicate.mageobject.NoAbilityPredicate; +import mage.target.common.TargetCardInYourGraveyard; +import mage.target.targetpointer.EachTargetPointer; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class RiseFromTheWreck extends CardImpl { + + private static final FilterCard filter = new FilterCard("Mount card"); + private static final FilterCard filter2 = new FilterCard("Vehicle card"); + private static final FilterCard filter3 = new FilterCard("creature card with no abilities"); + + static { + filter.add(SubType.MOUNT.getPredicate()); + filter2.add(SubType.VEHICLE.getPredicate()); + filter3.add(NoAbilityPredicate.instance); + } + + public RiseFromTheWreck(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{G}"); + + // Return up to one target creature card, up to one target Mount card, up to one target Vehicle card, and up to one target creature card with no abilities from your graveyard to your hand. + this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect() + .setTargetPointer(new EachTargetPointer()) + .setText("return up to one target creature card, up to one target Mount card, " + + "up to one target Vehicle card, and up to one target creature card " + + "with no abilities from your graveyard to your hand")); + this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 1, StaticFilters.FILTER_CARD_CREATURE)); + this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 1, filter)); + this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 1, filter2)); + this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 1, filter3)); + } + + private RiseFromTheWreck(final RiseFromTheWreck card) { + super(card); + } + + @Override + public RiseFromTheWreck copy() { + return new RiseFromTheWreck(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Aetherdrift.java b/Mage.Sets/src/mage/sets/Aetherdrift.java index eb2773ae51f..f7805ae7a70 100644 --- a/Mage.Sets/src/mage/sets/Aetherdrift.java +++ b/Mage.Sets/src/mage/sets/Aetherdrift.java @@ -168,6 +168,7 @@ public final class Aetherdrift extends ExpansionSet { cards.add(new SetCardInfo("Regal Imperiosaur", 177, Rarity.RARE, mage.cards.r.RegalImperiosaur.class)); cards.add(new SetCardInfo("Ride's End", 25, Rarity.COMMON, mage.cards.r.RidesEnd.class)); cards.add(new SetCardInfo("Ripclaw Wrangler", 101, Rarity.COMMON, mage.cards.r.RipclawWrangler.class)); + cards.add(new SetCardInfo("Rise from the Wreck", 178, Rarity.UNCOMMON, mage.cards.r.RiseFromTheWreck.class)); cards.add(new SetCardInfo("Risen Necroregent", 102, Rarity.UNCOMMON, mage.cards.r.RisenNecroregent.class)); cards.add(new SetCardInfo("Risky Shortcut", 103, Rarity.COMMON, mage.cards.r.RiskyShortcut.class)); cards.add(new SetCardInfo("Riverpyre Verge", 260, Rarity.RARE, mage.cards.r.RiverpyreVerge.class));