[OTJ] Implement Silver Deputy

This commit is contained in:
Susucre 2024-04-02 13:46:13 +02:00
parent f41f3feb89
commit 364a48a998
2 changed files with 64 additions and 0 deletions

View file

@ -0,0 +1,63 @@
package mage.cards.s;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.ActivateAsSorceryActivatedAbility;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.effects.common.search.SearchLibraryPutOnLibraryEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
import mage.filter.common.FilterLandCard;
import mage.filter.predicate.Predicates;
import mage.target.common.TargetCardInLibrary;
import mage.target.common.TargetControlledCreaturePermanent;
import java.util.UUID;
/**
* @author Susucr
*/
public final class SilverDeputy extends CardImpl {
private static final FilterCard filter = new FilterLandCard("a basic land card or a Desert card");
static {
filter.add(Predicates.or(SuperType.BASIC.getPredicate(), SubType.DESERT.getPredicate()));
}
public SilverDeputy(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}");
this.subtype.add(SubType.MERCENARY);
this.power = new MageInt(1);
this.toughness = new MageInt(2);
// When Silver Deputy enters the battlefield, you may search your library for a basic land card or a Desert card, reveal it, then shuffle and put it on top.
this.addAbility(new EntersBattlefieldTriggeredAbility(
new SearchLibraryPutOnLibraryEffect(new TargetCardInLibrary(filter), true),
true
));
// {T}: Target creature you control gets +1/+0 until end of turn. Activate only as a sorcery.
Ability ability = new ActivateAsSorceryActivatedAbility(
new BoostTargetEffect(1, 0), new TapSourceCost()
);
ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability);
}
private SilverDeputy(final SilverDeputy card) {
super(card);
}
@Override
public SilverDeputy copy() {
return new SilverDeputy(this);
}
}

View file

@ -221,6 +221,7 @@ public final class OutlawsOfThunderJunction extends ExpansionSet {
cards.add(new SetCardInfo("Sheriff of Safe Passage", 29, Rarity.UNCOMMON, mage.cards.s.SheriffOfSafePassage.class));
cards.add(new SetCardInfo("Shifting Grift", 66, Rarity.UNCOMMON, mage.cards.s.ShiftingGrift.class));
cards.add(new SetCardInfo("Shoot the Sheriff", 106, Rarity.UNCOMMON, mage.cards.s.ShootTheSheriff.class));
cards.add(new SetCardInfo("Silver Deputy", 248, Rarity.COMMON, mage.cards.s.SilverDeputy.class));
cards.add(new SetCardInfo("Skulduggery", 107, Rarity.COMMON, mage.cards.s.Skulduggery.class));
cards.add(new SetCardInfo("Slick Sequence", 233, Rarity.UNCOMMON, mage.cards.s.SlickSequence.class));
cards.add(new SetCardInfo("Slickshot Lockpicker", 67, Rarity.UNCOMMON, mage.cards.s.SlickshotLockpicker.class));