From 371ee07b341262d5da707faba234096e7e7fd017 Mon Sep 17 00:00:00 2001 From: Susucre <34709007+Susucre@users.noreply.github.com> Date: Sat, 1 Jun 2024 16:17:15 +0200 Subject: [PATCH] implement [MH3] Voidpouncer --- Mage.Sets/src/mage/cards/a/ArcticMerfolk.java | 8 +-- Mage.Sets/src/mage/cards/v/Voidpouncer.java | 58 +++++++++++++++++++ Mage.Sets/src/mage/sets/ModernHorizons3.java | 1 + 3 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 Mage.Sets/src/mage/cards/v/Voidpouncer.java diff --git a/Mage.Sets/src/mage/cards/a/ArcticMerfolk.java b/Mage.Sets/src/mage/cards/a/ArcticMerfolk.java index 4aefa647fd9..fe69e72b9db 100644 --- a/Mage.Sets/src/mage/cards/a/ArcticMerfolk.java +++ b/Mage.Sets/src/mage/cards/a/ArcticMerfolk.java @@ -1,7 +1,6 @@ package mage.cards.a; -import java.util.UUID; import mage.MageInt; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.condition.common.KickedCondition; @@ -16,14 +15,15 @@ import mage.counters.CounterType; import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class ArcticMerfolk extends CardImpl { public ArcticMerfolk(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); @@ -37,7 +37,7 @@ public final class ArcticMerfolk extends CardImpl { // If Arctic Merfolk was kicked, it enters the battlefield with a +1/+1 counter on it. this.addAbility(new EntersBattlefieldAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance()), - KickedCondition.ONCE,"If Arctic Merfolk was kicked, it enters the battlefield with a +1/+1 counter on it.","")); + KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it.", "")); } private ArcticMerfolk(final ArcticMerfolk card) { diff --git a/Mage.Sets/src/mage/cards/v/Voidpouncer.java b/Mage.Sets/src/mage/cards/v/Voidpouncer.java new file mode 100644 index 00000000000..2ee93bde0b5 --- /dev/null +++ b/Mage.Sets/src/mage/cards/v/Voidpouncer.java @@ -0,0 +1,58 @@ +package mage.cards.v; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.condition.common.KickedCondition; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.keyword.DevoidAbility; +import mage.abilities.keyword.HasteAbility; +import mage.abilities.keyword.KickerAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.counters.CounterType; + +import java.util.UUID; + +/** + * @author Susucr + */ +public final class Voidpouncer extends CardImpl { + + public Voidpouncer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); + + this.subtype.add(SubType.ELDRAZI); + this.power = new MageInt(3); + this.toughness = new MageInt(1); + + // Devoid + this.addAbility(new DevoidAbility(this.color)); + + // Kicker {2}{C} + this.addAbility(new KickerAbility("{2}{C}")); + + // If Voidpouncer was kicked, it enters the battlefield with two +1/+1 counters and a trample counter on it and with haste. + Ability ability = new EntersBattlefieldAbility( + new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), + KickedCondition.ONCE, + "If {this} was kicked, it enters the battlefield with two +1/+1 counter and a trample counter on it and with haste.", "" + ); + ability.addEffect(new AddCountersSourceEffect(CounterType.TRAMPLE.createInstance())); + ability.addEffect(new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.Custom)); + this.addAbility(ability); + } + + private Voidpouncer(final Voidpouncer card) { + super(card); + } + + @Override + public Voidpouncer copy() { + return new Voidpouncer(this); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/ModernHorizons3.java b/Mage.Sets/src/mage/sets/ModernHorizons3.java index 4468b6e7dae..8ae2d8b5475 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons3.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons3.java @@ -270,6 +270,7 @@ public final class ModernHorizons3 extends ExpansionSet { cards.add(new SetCardInfo("Urza's Incubator", 297, Rarity.RARE, mage.cards.u.UrzasIncubator.class)); cards.add(new SetCardInfo("Utter Insignificance", 78, Rarity.COMMON, mage.cards.u.UtterInsignificance.class)); cards.add(new SetCardInfo("Victimize", 278, Rarity.UNCOMMON, mage.cards.v.Victimize.class)); + cards.add(new SetCardInfo("Voidpouncer", 143, Rarity.COMMON, mage.cards.v.Voidpouncer.class)); cards.add(new SetCardInfo("Voltstorm Angel", 46, Rarity.UNCOMMON, mage.cards.v.VoltstormAngel.class)); cards.add(new SetCardInfo("Warped Tusker", 16, Rarity.COMMON, mage.cards.w.WarpedTusker.class)); cards.add(new SetCardInfo("Warren Soultrader", 110, Rarity.RARE, mage.cards.w.WarrenSoultrader.class));