From aa5149ee5d251767ce5a3481966ae508830a2a03 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sat, 20 Aug 2022 10:03:43 -0400 Subject: [PATCH] [DMU] Implemented Vineshaper Prodigy --- .../src/mage/cards/v/VineshaperProdigy.java | 54 +++++++++++++++++++ Mage.Sets/src/mage/sets/DominariaUnited.java | 1 + 2 files changed, 55 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/v/VineshaperProdigy.java diff --git a/Mage.Sets/src/mage/cards/v/VineshaperProdigy.java b/Mage.Sets/src/mage/cards/v/VineshaperProdigy.java new file mode 100644 index 00000000000..fb3ce6f2ee2 --- /dev/null +++ b/Mage.Sets/src/mage/cards/v/VineshaperProdigy.java @@ -0,0 +1,54 @@ +package mage.cards.v; + +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.KickedCondition; +import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; +import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; +import mage.abilities.effects.common.LookLibraryControllerEffect; +import mage.abilities.keyword.KickerAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class VineshaperProdigy extends CardImpl { + + public VineshaperProdigy(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); + + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Kicker {1}{U} + this.addAbility(new KickerAbility("{1}{U}")); + + // When Vineshaper Prodigy enters the battlefield, if it was kicked, look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. + this.addAbility(new ConditionalInterveningIfTriggeredAbility( + new EntersBattlefieldTriggeredAbility( + new LookLibraryAndPickControllerEffect( + 3, 1, + LookLibraryControllerEffect.PutCards.HAND, + LookLibraryControllerEffect.PutCards.BOTTOM_ANY + )), KickedCondition.ONCE, "When {this} enters the battlefield, " + + "if it was kicked, look at the top three cards of your library. " + + "Put one of them into your hand and the rest on the bottom of your library in any order." + )); + } + + private VineshaperProdigy(final VineshaperProdigy card) { + super(card); + } + + @Override + public VineshaperProdigy copy() { + return new VineshaperProdigy(this); + } +} diff --git a/Mage.Sets/src/mage/sets/DominariaUnited.java b/Mage.Sets/src/mage/sets/DominariaUnited.java index 1e891a14839..5387d7bafc9 100644 --- a/Mage.Sets/src/mage/sets/DominariaUnited.java +++ b/Mage.Sets/src/mage/sets/DominariaUnited.java @@ -68,6 +68,7 @@ public final class DominariaUnited extends ExpansionSet { cards.add(new SetCardInfo("Tolarian Geyser", 71, Rarity.COMMON, mage.cards.t.TolarianGeyser.class)); cards.add(new SetCardInfo("Toxic Abomination", 112, Rarity.COMMON, mage.cards.t.ToxicAbomination.class)); cards.add(new SetCardInfo("Viashino Branchrider", 150, Rarity.COMMON, mage.cards.v.ViashinoBranchrider.class)); + cards.add(new SetCardInfo("Vineshaper Prodigy", 187, Rarity.COMMON, mage.cards.v.VineshaperProdigy.class)); cards.add(new SetCardInfo("Yavimaya Coast", 261, Rarity.RARE, mage.cards.y.YavimayaCoast.class)); }