From 0de4cf28f5251780f65cdabac1360813209d2bac Mon Sep 17 00:00:00 2001 From: Evan Kranzler <theelk801@gmail.com> Date: Fri, 31 May 2019 20:25:57 -0400 Subject: [PATCH] Implemented Trustworthy Scout --- .../src/mage/cards/t/TrustworthyScout.java | 57 +++++++++++++++++++ Mage.Sets/src/mage/sets/ModernHorizons.java | 1 + 2 files changed, 58 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/t/TrustworthyScout.java diff --git a/Mage.Sets/src/mage/cards/t/TrustworthyScout.java b/Mage.Sets/src/mage/cards/t/TrustworthyScout.java new file mode 100644 index 0000000000..10474a88bb --- /dev/null +++ b/Mage.Sets/src/mage/cards/t/TrustworthyScout.java @@ -0,0 +1,57 @@ +package mage.cards.t; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.ExileSourceFromGraveCost; +import mage.abilities.costs.mana.ManaCostsImpl; +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.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.NamePredicate; +import mage.target.common.TargetCardInLibrary; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class TrustworthyScout extends CardImpl { + + private static final FilterCard filter = new FilterCard("card named Trustworthy Scout"); + + static { + filter.add(new NamePredicate("Trustworthy Scout")); + } + + public TrustworthyScout(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // {1}{W}, Exile Trustworthy Scout from your graveyard: Search your library for a card named Trustworthy Scout, reveal it, put it into your hand, then shuffle your library. + Ability ability = new SimpleActivatedAbility( + Zone.GRAVEYARD, + new SearchLibraryPutInHandEffect( + new TargetCardInLibrary(filter), true + ), new ManaCostsImpl("{1}{W}")); + ability.addCost(new ExileSourceFromGraveCost()); + this.addAbility(ability); + } + + private TrustworthyScout(final TrustworthyScout card) { + super(card); + } + + @Override + public TrustworthyScout copy() { + return new TrustworthyScout(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ModernHorizons.java b/Mage.Sets/src/mage/sets/ModernHorizons.java index 8e67c4e301..582157e255 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons.java @@ -216,6 +216,7 @@ public final class ModernHorizons extends ExpansionSet { cards.add(new SetCardInfo("Treetop Ambusher", 186, Rarity.COMMON, mage.cards.t.TreetopAmbusher.class)); cards.add(new SetCardInfo("Tribute Mage", 73, Rarity.UNCOMMON, mage.cards.t.TributeMage.class)); cards.add(new SetCardInfo("Trumpeting Herd", 187, Rarity.COMMON, mage.cards.t.TrumpetingHerd.class)); + cards.add(new SetCardInfo("Trustworthy Scout", 33, Rarity.COMMON, mage.cards.t.TrustworthyScout.class)); cards.add(new SetCardInfo("Twin-Silk Spider", 188, Rarity.COMMON, mage.cards.t.TwinSilkSpider.class)); cards.add(new SetCardInfo("Twisted Reflection", 74, Rarity.UNCOMMON, mage.cards.t.TwistedReflection.class)); cards.add(new SetCardInfo("Umezawa's Charm", 111, Rarity.COMMON, mage.cards.u.UmezawasCharm.class));