From 2f94e4ce51ae0ec21c583ce29f4fdd1c0174faa9 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 1 Sep 2020 13:40:01 -0400 Subject: [PATCH] [ZNR] Implemented Murasa Rootgrazer --- .../src/mage/cards/m/MurasaRootgrazer.java | 62 +++++++++++++++++++ Mage.Sets/src/mage/sets/ZendikarRising.java | 1 + 2 files changed, 63 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/m/MurasaRootgrazer.java diff --git a/Mage.Sets/src/mage/cards/m/MurasaRootgrazer.java b/Mage.Sets/src/mage/cards/m/MurasaRootgrazer.java new file mode 100644 index 0000000000..8be32d8cf6 --- /dev/null +++ b/Mage.Sets/src/mage/cards/m/MurasaRootgrazer.java @@ -0,0 +1,62 @@ +package mage.cards.m; + +import java.util.UUID; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.PutCardFromHandOntoBattlefieldEffect; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.constants.SubType; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SuperType; +import mage.filter.FilterPermanent; +import mage.filter.StaticFilters; +import mage.filter.common.FilterControlledLandPermanent; +import mage.target.TargetPermanent; + +/** + * @author TheElk801 + */ +public final class MurasaRootgrazer extends CardImpl { + + private static final FilterPermanent filter = new FilterControlledLandPermanent("basic land you control"); + + static { + filter.add(SuperType.BASIC.getPredicate()); + } + + public MurasaRootgrazer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{W}"); + + this.subtype.add(SubType.BEAST); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Vigilance + this.addAbility(VigilanceAbility.getInstance()); + + // {T}: You may put a basic land card from your hand onto the battlefield. + this.addAbility(new SimpleActivatedAbility( + new PutCardFromHandOntoBattlefieldEffect(StaticFilters.FILTER_CARD_BASIC_LAND_A), new TapSourceCost() + )); + + // {T}: Return target basic land you control to its owner's hand. + Ability ability = new SimpleActivatedAbility(new ReturnToHandTargetEffect(), new TapSourceCost()); + ability.addTarget(new TargetPermanent(filter)); + this.addAbility(ability); + } + + private MurasaRootgrazer(final MurasaRootgrazer card) { + super(card); + } + + @Override + public MurasaRootgrazer copy() { + return new MurasaRootgrazer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ZendikarRising.java b/Mage.Sets/src/mage/sets/ZendikarRising.java index 52ea554deb..17613cf7fc 100644 --- a/Mage.Sets/src/mage/sets/ZendikarRising.java +++ b/Mage.Sets/src/mage/sets/ZendikarRising.java @@ -29,6 +29,7 @@ public final class ZendikarRising extends ExpansionSet { cards.add(new SetCardInfo("Jace, Mirror Mage", 63, Rarity.MYTHIC, mage.cards.j.JaceMirrorMage.class)); cards.add(new SetCardInfo("Lotus Cobra", 193, Rarity.RARE, mage.cards.l.LotusCobra.class)); + cards.add(new SetCardInfo("Murasa Rootgrazer", 229, Rarity.UNCOMMON, mage.cards.m.MurasaRootgrazer.class)); cards.add(new SetCardInfo("Nahiri, Heir of the Ancients", 230, Rarity.MYTHIC, mage.cards.n.NahiriHeirOfTheAncients.class)); } }