diff --git a/Mage.Sets/src/mage/cards/d/DrakeHatcher.java b/Mage.Sets/src/mage/cards/d/DrakeHatcher.java new file mode 100644 index 00000000000..627d246f096 --- /dev/null +++ b/Mage.Sets/src/mage/cards/d/DrakeHatcher.java @@ -0,0 +1,67 @@ +package mage.cards.d; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.RemoveCountersSourceCost; +import mage.abilities.dynamicvalue.common.SavedDamageValue; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.keyword.ProwessAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.game.permanent.token.DrakeToken; + +import java.util.UUID; + +/** + * + * @author ciaccona007 + */ +public final class DrakeHatcher extends CardImpl { + + public DrakeHatcher(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(1); + this.toughness = new MageInt(3); + + // Vigilance + this.addAbility(VigilanceAbility.getInstance()); + + // Prowess + this.addAbility(new ProwessAbility()); + + // Whenever this creature deals combat damage to a player, put that many incubation counters on it. + Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility( + new AddCountersSourceEffect( + CounterType.INCUBATION.createInstance(), + SavedDamageValue.MANY, false + ).setText("put that many incubation counters on it"), false + ).setTriggerPhrase("Whenever this creature deals combat damage to a player, "); + this.addAbility(ability); + + // Remove three incubation counters from this creature: Create a 2/2 blue Drake creature token with flying. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect( + new DrakeToken()), + new RemoveCountersSourceCost(CounterType.INCUBATION.createInstance(3))) + ); + } + + private DrakeHatcher(final DrakeHatcher card) { + super(card); + } + + @Override + public DrakeHatcher copy() { + return new DrakeHatcher(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Foundations.java b/Mage.Sets/src/mage/sets/Foundations.java index d1f91c56e52..41c2cb8c1bc 100644 --- a/Mage.Sets/src/mage/sets/Foundations.java +++ b/Mage.Sets/src/mage/sets/Foundations.java @@ -149,6 +149,7 @@ public final class Foundations extends ExpansionSet { cards.add(new SetCardInfo("Dragon Trainer", 84, Rarity.UNCOMMON, mage.cards.d.DragonTrainer.class)); cards.add(new SetCardInfo("Dragonlord's Servant", 536, Rarity.UNCOMMON, mage.cards.d.DragonlordsServant.class)); cards.add(new SetCardInfo("Dragonmaster Outcast", 622, Rarity.MYTHIC, mage.cards.d.DragonmasterOutcast.class)); + cards.add(new SetCardInfo("Drake Hatcher", 35, Rarity.RARE, mage.cards.d.DrakeHatcher.class)); cards.add(new SetCardInfo("Drakuseth, Maw of Flames", 193, Rarity.RARE, mage.cards.d.DrakusethMawOfFlames.class)); cards.add(new SetCardInfo("Dread Summons", 604, Rarity.RARE, mage.cards.d.DreadSummons.class)); cards.add(new SetCardInfo("Dreadwing Scavenger", 118, Rarity.UNCOMMON, mage.cards.d.DreadwingScavenger.class)); diff --git a/Mage/src/main/java/mage/counters/CounterType.java b/Mage/src/main/java/mage/counters/CounterType.java index 7b9e33d19cc..854e1dd85df 100644 --- a/Mage/src/main/java/mage/counters/CounterType.java +++ b/Mage/src/main/java/mage/counters/CounterType.java @@ -112,6 +112,7 @@ public enum CounterType { ICE("ice"), IMPOSTOR("impostor"), INCARNATION("incarnation"), + INCUBATION("incubation"), INDESTRUCTIBLE("indestructible"), INFECTION("infection"), INFLUENCE("influence"),