From b0368ca613cdfebc690b753e81a47570fd397f9f Mon Sep 17 00:00:00 2001 From: theelk801 Date: Fri, 11 Jul 2025 13:01:10 -0400 Subject: [PATCH] [EOE] Implement Biomechan Engineer --- .../src/mage/cards/b/BiomechanEngineer.java | 49 +++++++++++++++++++ Mage.Sets/src/mage/sets/EdgeOfEternities.java | 1 + 2 files changed, 50 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/b/BiomechanEngineer.java diff --git a/Mage.Sets/src/mage/cards/b/BiomechanEngineer.java b/Mage.Sets/src/mage/cards/b/BiomechanEngineer.java new file mode 100644 index 00000000000..ca0624d1f6c --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BiomechanEngineer.java @@ -0,0 +1,49 @@ +package mage.cards.b; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.game.permanent.token.LanderToken; +import mage.game.permanent.token.RobotToken; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class BiomechanEngineer extends CardImpl { + + public BiomechanEngineer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{U}"); + + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.ARTIFICER); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // When this creature enters, create a Lander token. + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new LanderToken()))); + + // {8}: Draw two cards and create a 2/2 colorless Robot artifact creature token. + Ability ability = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(2), new GenericManaCost(8)); + ability.addEffect(new CreateTokenEffect(new RobotToken()).concatBy("and")); + this.addAbility(ability); + } + + private BiomechanEngineer(final BiomechanEngineer card) { + super(card); + } + + @Override + public BiomechanEngineer copy() { + return new BiomechanEngineer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/EdgeOfEternities.java b/Mage.Sets/src/mage/sets/EdgeOfEternities.java index 9f11761c864..1b89f070835 100644 --- a/Mage.Sets/src/mage/sets/EdgeOfEternities.java +++ b/Mage.Sets/src/mage/sets/EdgeOfEternities.java @@ -44,6 +44,7 @@ public final class EdgeOfEternities extends ExpansionSet { cards.add(new SetCardInfo("Banishing Light", 6, Rarity.COMMON, mage.cards.b.BanishingLight.class)); cards.add(new SetCardInfo("Bioengineered Future", 172, Rarity.RARE, mage.cards.b.BioengineeredFuture.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Bioengineered Future", 340, Rarity.RARE, mage.cards.b.BioengineeredFuture.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Biomechan Engineer", 213, Rarity.UNCOMMON, mage.cards.b.BiomechanEngineer.class)); cards.add(new SetCardInfo("Biotech Specialist", 214, Rarity.RARE, mage.cards.b.BiotechSpecialist.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Biotech Specialist", 347, Rarity.RARE, mage.cards.b.BiotechSpecialist.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Breeding Pool", 251, Rarity.RARE, mage.cards.b.BreedingPool.class, NON_FULL_USE_VARIOUS));