From b8b32b5dd499fd35ae5a2efd571e9489d639cd31 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 24 May 2022 19:14:38 -0400 Subject: [PATCH] [CLB] Implemented Elturel Survivors --- .../src/mage/cards/e/ElturelSurvivors.java | 64 +++++++++++++++++++ .../CommanderLegendsBattleForBaldursGate.java | 1 + 2 files changed, 65 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/e/ElturelSurvivors.java diff --git a/Mage.Sets/src/mage/cards/e/ElturelSurvivors.java b/Mage.Sets/src/mage/cards/e/ElturelSurvivors.java new file mode 100644 index 00000000000..0e6b1b66d0f --- /dev/null +++ b/Mage.Sets/src/mage/cards/e/ElturelSurvivors.java @@ -0,0 +1,64 @@ +package mage.cards.e; + +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.keyword.MyriadAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterLandPermanent; +import mage.filter.predicate.permanent.DefendingPlayerControlsPredicate; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ElturelSurvivors extends CardImpl { + + private static final FilterPermanent filter = new FilterLandPermanent(); + + static { + filter.add(DefendingPlayerControlsPredicate.instance); + } + + private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter); + + public ElturelSurvivors(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); + + this.subtype.add(SubType.TIEFLING); + this.subtype.add(SubType.PEASANT); + this.power = new MageInt(0); + this.toughness = new MageInt(4); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + + // Myriad + this.addAbility(new MyriadAbility()); + + // As long as Elturel Survivors is attacking, it gets +X/+0, where X is the number of lands defending player controls. + this.addAbility(new SimpleStaticAbility(new BoostSourceEffect( + xValue, StaticValue.get(0), Duration.WhileOnBattlefield + ).setText("as long as {this} is attacking, it gets +X/+0, " + + "where X is the number of lands defending player controls"))); + } + + private ElturelSurvivors(final ElturelSurvivors card) { + super(card); + } + + @Override + public ElturelSurvivors copy() { + return new ElturelSurvivors(this); + } +} diff --git a/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java b/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java index 6e1d126cb78..1b699b55a45 100644 --- a/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java +++ b/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java @@ -65,6 +65,7 @@ public final class CommanderLegendsBattleForBaldursGate extends ExpansionSet { cards.add(new SetCardInfo("Ellyn Harbreeze, Busybody", 16, Rarity.UNCOMMON, mage.cards.e.EllynHarbreezeBusybody.class)); cards.add(new SetCardInfo("Elminster", 274, Rarity.MYTHIC, mage.cards.e.Elminster.class)); cards.add(new SetCardInfo("Elminster's Simulacrum", 561, Rarity.MYTHIC, mage.cards.e.ElminstersSimulacrum.class)); + cards.add(new SetCardInfo("Elturel Survivors", 172, Rarity.RARE, mage.cards.e.ElturelSurvivors.class)); cards.add(new SetCardInfo("Erinis, Gloom Stalker", 230, Rarity.UNCOMMON, mage.cards.e.ErinisGloomStalker.class)); cards.add(new SetCardInfo("Faceless One", 1, Rarity.SPECIAL, mage.cards.f.FacelessOne.class)); cards.add(new SetCardInfo("Fang Dragon", 173, Rarity.COMMON, mage.cards.f.FangDragon.class));