diff --git a/Mage.Sets/src/mage/cards/i/IngeniousProdigy.java b/Mage.Sets/src/mage/cards/i/IngeniousProdigy.java new file mode 100644 index 00000000000..4a368e33542 --- /dev/null +++ b/Mage.Sets/src/mage/cards/i/IngeniousProdigy.java @@ -0,0 +1,64 @@ +package mage.cards.i; + +import mage.MageInt; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.SourceHasCounterCondition; +import mage.abilities.costs.common.RemoveCountersSourceCost; +import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.EntersBattlefieldWithXCountersEffect; +import mage.abilities.keyword.SkulkAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.TargetController; +import mage.counters.CounterType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class IngeniousProdigy extends CardImpl { + + private static final Condition condition = new SourceHasCounterCondition(CounterType.P1P1); + + public IngeniousProdigy(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{X}{U}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(0); + this.toughness = new MageInt(1); + + // Skulk + this.addAbility(new SkulkAbility()); + + // Ingenious Prodigy enters the battlefield with X +1/+1 counters on it. + this.addAbility(new EntersBattlefieldAbility(new EntersBattlefieldWithXCountersEffect(CounterType.P1P1.createInstance()))); + + // At the beginning of your upkeep, if Ingenious Prodigy has one or more +1/+1 counters on it, you may remove a +1/+1 counter from it. If you do, draw a card. + this.addAbility(new ConditionalInterveningIfTriggeredAbility( + new BeginningOfUpkeepTriggeredAbility( + new DoIfCostPaid( + new DrawCardSourceControllerEffect(1), + new RemoveCountersSourceCost(CounterType.P1P1.createInstance()) + ), TargetController.YOU, false + ), condition, "At the beginning of your upkeep, if {this} has one or more " + + "+1/+1 counters on it, you may remove a +1/+1 counter from it. If you do, draw a card." + )); + } + + private IngeniousProdigy(final IngeniousProdigy card) { + super(card); + } + + @Override + public IngeniousProdigy copy() { + return new IngeniousProdigy(this); + } +} diff --git a/Mage.Sets/src/mage/sets/WildsOfEldraine.java b/Mage.Sets/src/mage/sets/WildsOfEldraine.java index 94c5fc21580..78a5f9dc353 100644 --- a/Mage.Sets/src/mage/sets/WildsOfEldraine.java +++ b/Mage.Sets/src/mage/sets/WildsOfEldraine.java @@ -55,6 +55,7 @@ public final class WildsOfEldraine extends ExpansionSet { cards.add(new SetCardInfo("Greta, Sweettooth Scourge", 205, Rarity.UNCOMMON, mage.cards.g.GretaSweettoothScourge.class)); cards.add(new SetCardInfo("Hopeless Nightmare", 95, Rarity.COMMON, mage.cards.h.HopelessNightmare.class)); cards.add(new SetCardInfo("Howling Galefang", 175, Rarity.UNCOMMON, mage.cards.h.HowlingGalefang.class)); + cards.add(new SetCardInfo("Ingenious Prodigy", 56, Rarity.RARE, mage.cards.i.IngeniousProdigy.class)); cards.add(new SetCardInfo("Into the Fae Court", 57, Rarity.COMMON, mage.cards.i.IntoTheFaeCourt.class)); cards.add(new SetCardInfo("Island", 263, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Johann, Apprentice Sorcerer", 207, Rarity.UNCOMMON, mage.cards.j.JohannApprenticeSorcerer.class)); diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index ead86fc536d..b5327e31590 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -50190,7 +50190,7 @@ Farsight Ritual|Wilds of Eldraine|49|R|{2}{U}{U}|Instant|||Bargain$Look at the t Gadwick's First Duel|Wilds of Eldraine|51|U|{1}{U}|Enchantment - Saga|||(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)$I -- Create a Cursed Role token attached to up to one target creature.$II -- Scry 2.$III -- When you cast your next instant or sorcery spell with mana value 3 or less this turn, copy that spell. You may choose new targets for the copy.| Ice Out|Wilds of Eldraine|54|C|{1}{U}{U}|Instant|||Bargain$This spell costs {1} less to cast if it's bargained.$Counter target spell.| Icewrought Sentry|Wilds of Eldraine|55|U|{2}{U}|Creature - Elemental Soldier|2|3|Vigilance$Whenever Icewrought Sentry attacks, you may pay {1}{U}. When you do, tap target creature an opponent controls.$Whenever you tap an untapped creature an opponent controls, Icewrought Sentry gets +2/+1 until end of turn.| -Ingenious Progidy|Wilds of Eldraine|56|R|{X}{U}|Creature - Human Wizard|0|1|Skulk$Ingenious Progidy enters the battlefield with X +1/+1 counters on it.$At the beginning of your upkeep, if Ingenious Progidy has one or more +1/+1 counters on it, you may remove a +1/+1 counter from it. If you do, draw a card.| +Ingenious Prodigy|Wilds of Eldraine|56|R|{X}{U}|Creature - Human Wizard|0|1|Skulk$Ingenious Prodigy enters the battlefield with X +1/+1 counters on it.$At the beginning of your upkeep, if Ingenious Prodigy has one or more +1/+1 counters on it, you may remove a +1/+1 counter from it. If you do, draw a card.| Into the Fae Court|Wilds of Eldraine|57|C|{3}{U}{U}|Sorcery|||Draw three cards. Create a 1/1 blue Faerie creature token with flying and "This creature can block only creatures with flying."| Johann's Stopgap|Wilds of Eldraine|58|C|{3}{U}|Sorcery|||Bargain$This spell costs {2} less to cast if it's bargained.$Return target nonland permanent to its owner's hand. Draw a card.| Living Lectern|Wilds of Eldraine|59|C|{1}{U}|Artifact Creature - Construct|0|4|{1}, Sacrifice Living Lectern: Draw a card. Create a Sorcerer Role token attached to up to one other target creature you control. Activate only as a sorcery.|