From 189ef0abfee18a244d7181ca09f56e11856b3865 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 25 Jun 2019 18:41:17 -0400 Subject: [PATCH] Implemented Battalion Foot Soldier --- .../mage/cards/b/BattalionFootSoldier.java | 49 +++++++++++++++++++ Mage.Sets/src/mage/sets/CoreSet2020.java | 1 + 2 files changed, 50 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/b/BattalionFootSoldier.java diff --git a/Mage.Sets/src/mage/cards/b/BattalionFootSoldier.java b/Mage.Sets/src/mage/cards/b/BattalionFootSoldier.java new file mode 100644 index 00000000000..a3f1544bb0f --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BattalionFootSoldier.java @@ -0,0 +1,49 @@ +package mage.cards.b; + +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.NamePredicate; +import mage.target.common.TargetCardInLibrary; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class BattalionFootSoldier extends CardImpl { + + private static final FilterCard filter = new FilterCard("cards named Battalion Foot Soldier"); + + static { + filter.add(new NamePredicate("Battalion Foot Soldier")); + } + + public BattalionFootSoldier(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // When Battalion Foot Soldier enters the battlefield, you may search your library for any number of cards named Battalion Foot Soldier, reveal them, put them into your hand, then shuffle your library. + this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect( + new TargetCardInLibrary(0, 1, filter), true, true + ), true)); + } + + private BattalionFootSoldier(final BattalionFootSoldier card) { + super(card); + } + + @Override + public BattalionFootSoldier copy() { + return new BattalionFootSoldier(this); + } +} diff --git a/Mage.Sets/src/mage/sets/CoreSet2020.java b/Mage.Sets/src/mage/sets/CoreSet2020.java index 92aa34b2e75..50c0084e770 100644 --- a/Mage.Sets/src/mage/sets/CoreSet2020.java +++ b/Mage.Sets/src/mage/sets/CoreSet2020.java @@ -59,6 +59,7 @@ public final class CoreSet2020 extends ExpansionSet { cards.add(new SetCardInfo("Audacious Thief", 84, Rarity.COMMON, mage.cards.a.AudaciousThief.class)); cards.add(new SetCardInfo("Barkhide Troll", 165, Rarity.UNCOMMON, mage.cards.b.BarkhideTroll.class)); cards.add(new SetCardInfo("Barony Vampire", 85, Rarity.COMMON, mage.cards.b.BaronyVampire.class)); + cards.add(new SetCardInfo("Battalion Foot Soldier", 7, Rarity.COMMON, mage.cards.b.BattalionFootSoldier.class)); cards.add(new SetCardInfo("Befuddle", 47, Rarity.COMMON, mage.cards.b.Befuddle.class)); cards.add(new SetCardInfo("Bishop of Wings", 8, Rarity.RARE, mage.cards.b.BishopOfWings.class)); cards.add(new SetCardInfo("Bladebrand", 86, Rarity.COMMON, mage.cards.b.Bladebrand.class));