From 5c439dbc18493124cd7d65effcee3a128e75c5ca Mon Sep 17 00:00:00 2001 From: Susucre <34709007+Susucre@users.noreply.github.com> Date: Fri, 18 Jul 2025 18:13:02 +0200 Subject: [PATCH] implement [EOE] Kavaron Turbodrone --- .../src/mage/cards/k/KavaronTurbodrone.java | 53 +++++++++++++++++++ Mage.Sets/src/mage/sets/EdgeOfEternities.java | 1 + 2 files changed, 54 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/k/KavaronTurbodrone.java diff --git a/Mage.Sets/src/mage/cards/k/KavaronTurbodrone.java b/Mage.Sets/src/mage/cards/k/KavaronTurbodrone.java new file mode 100644 index 00000000000..8fdd27aca55 --- /dev/null +++ b/Mage.Sets/src/mage/cards/k/KavaronTurbodrone.java @@ -0,0 +1,53 @@ +package mage.cards.k; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.ActivateAsSorceryActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.target.common.TargetControlledCreaturePermanent; + +import java.util.UUID; + +/** + * @author Susucr + */ +public final class KavaronTurbodrone extends CardImpl { + + public KavaronTurbodrone(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}{R}"); + + this.subtype.add(SubType.ROBOT); + this.subtype.add(SubType.SCOUT); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // {T}: Target creature you control gets +1/+1 and gains haste until end of turn. Activate only as a sorcery. + Ability ability = new ActivateAsSorceryActivatedAbility( + new BoostTargetEffect(1, 1, Duration.EndOfTurn) + .setText("Target creature gets +1/+1"), + new TapSourceCost() + ); + ability.addEffect(new GainAbilityTargetEffect( + HasteAbility.getInstance(), Duration.EndOfTurn + ).setText("and gains haste until end of turn")); + ability.addTarget(new TargetControlledCreaturePermanent()); + this.addAbility(ability); + } + + private KavaronTurbodrone(final KavaronTurbodrone card) { + super(card); + } + + @Override + public KavaronTurbodrone copy() { + return new KavaronTurbodrone(this); + } +} diff --git a/Mage.Sets/src/mage/sets/EdgeOfEternities.java b/Mage.Sets/src/mage/sets/EdgeOfEternities.java index 55b73b3a1dd..97372d495fd 100644 --- a/Mage.Sets/src/mage/sets/EdgeOfEternities.java +++ b/Mage.Sets/src/mage/sets/EdgeOfEternities.java @@ -160,6 +160,7 @@ public final class EdgeOfEternities extends ExpansionSet { cards.add(new SetCardInfo("Kav Landseeker", 138, Rarity.COMMON, mage.cards.k.KavLandseeker.class)); cards.add(new SetCardInfo("Kavaron Harrier", 139, Rarity.UNCOMMON, mage.cards.k.KavaronHarrier.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Kavaron Harrier", 396, Rarity.UNCOMMON, mage.cards.k.KavaronHarrier.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Kavaron Turbodrone", 141, Rarity.COMMON, mage.cards.k.KavaronTurbodrone.class)); cards.add(new SetCardInfo("Kavaron, Memorial World", 255, Rarity.MYTHIC, mage.cards.k.KavaronMemorialWorld.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Kavaron, Memorial World", 281, Rarity.MYTHIC, mage.cards.k.KavaronMemorialWorld.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Kavaron, Memorial World", 376, Rarity.MYTHIC, mage.cards.k.KavaronMemorialWorld.class, NON_FULL_USE_VARIOUS));