From 227391b2d492317430860c06d395e3dcbe1d499d Mon Sep 17 00:00:00 2001 From: theelk801 Date: Wed, 9 Jul 2025 10:02:52 -0400 Subject: [PATCH] [EOE] Implement Genemorph Imago --- .../src/mage/cards/g/GenemorphImago.java | 63 +++++++++++++++++++ Mage.Sets/src/mage/sets/EdgeOfEternities.java | 2 + 2 files changed, 65 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/g/GenemorphImago.java diff --git a/Mage.Sets/src/mage/cards/g/GenemorphImago.java b/Mage.Sets/src/mage/cards/g/GenemorphImago.java new file mode 100644 index 00000000000..a0c9138e2c6 --- /dev/null +++ b/Mage.Sets/src/mage/cards/g/GenemorphImago.java @@ -0,0 +1,63 @@ +package mage.cards.g; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.LandfallAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.AddContinuousEffectToGame; +import mage.abilities.effects.common.continuous.SetBasePowerToughnessTargetEffect; +import mage.abilities.hint.common.LandsYouControlHint; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.ComparisonType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.StaticFilters; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class GenemorphImago extends CardImpl { + + private static final Condition condition = new PermanentsOnTheBattlefieldCondition( + StaticFilters.FILTER_LANDS, ComparisonType.MORE_THAN, 5, true + ); + + public GenemorphImago(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{U}"); + + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.DRUID); + this.power = new MageInt(1); + this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Landfall -- Whenever a land you control enters, target creature has base power and toughness 3/3 until end of turn. If you control six or more lands, that creature has base power and toughness 6/6 until end of turn instead. + Ability ability = new LandfallAbility(new ConditionalOneShotEffect( + new AddContinuousEffectToGame(new SetBasePowerToughnessTargetEffect(6, 6, Duration.EndOfTurn)), + new AddContinuousEffectToGame(new SetBasePowerToughnessTargetEffect(3, 3, Duration.EndOfTurn)), + condition, "target creature has base power and toughness 3/3 until end of turn. " + + "If you control six or more lands, that creature has base power and toughness 6/6 until end of turn instead" + )); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability.addHint(LandsYouControlHint.instance)); + } + + private GenemorphImago(final GenemorphImago card) { + super(card); + } + + @Override + public GenemorphImago copy() { + return new GenemorphImago(this); + } +} diff --git a/Mage.Sets/src/mage/sets/EdgeOfEternities.java b/Mage.Sets/src/mage/sets/EdgeOfEternities.java index 87628d5124c..0e4710c1ab5 100644 --- a/Mage.Sets/src/mage/sets/EdgeOfEternities.java +++ b/Mage.Sets/src/mage/sets/EdgeOfEternities.java @@ -60,6 +60,8 @@ public final class EdgeOfEternities extends ExpansionSet { cards.add(new SetCardInfo("Forest", 276, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Forest", 371, Rarity.LAND, mage.cards.basiclands.Forest.class, FULL_ART_BFZ_VARIOUS)); cards.add(new SetCardInfo("Galactic Wayfarer", 185, Rarity.COMMON, mage.cards.g.GalacticWayfarer.class)); + cards.add(new SetCardInfo("Genemorph Imago", 217, Rarity.RARE, mage.cards.g.GenemorphImago.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Genemorph Imago", 299, Rarity.RARE, mage.cards.g.GenemorphImago.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Godless Shrine", 254, Rarity.RARE, mage.cards.g.GodlessShrine.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Godless Shrine", 280, Rarity.RARE, mage.cards.g.GodlessShrine.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Godless Shrine", 375, Rarity.RARE, mage.cards.g.GodlessShrine.class, NON_FULL_USE_VARIOUS));