Implemented Sanctuary Lockdown

This commit is contained in:
Evan Kranzler 2020-04-06 21:06:54 -04:00
parent d8d8e7c174
commit f27f70d70c
2 changed files with 62 additions and 0 deletions

View file

@ -0,0 +1,61 @@
package mage.cards.s;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.common.TapTargetCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.TapTargetEffect;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetOpponentsCreaturePermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class SanctuaryLockdown extends CardImpl {
private static final FilterCreaturePermanent filter
= new FilterCreaturePermanent(SubType.HUMAN, "Humans");
private static final FilterControlledPermanent filter2
= new FilterControlledPermanent(SubType.HUMAN, "untapped Humans you control");
static {
filter.add(Predicates.not(TappedPredicate.instance));
}
public SanctuaryLockdown(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}");
// Humans you control get +1/+1.
this.addAbility(new SimpleStaticAbility(
new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter)
));
// {2}, Tap two untapped Humans you control: Tap target creature an opponent controls.
Ability ability = new SimpleActivatedAbility(new TapTargetEffect(), new GenericManaCost(2));
ability.addCost(new TapTargetCost(new TargetControlledPermanent(2, filter2)));
ability.addTarget(new TargetOpponentsCreaturePermanent());
this.addAbility(ability);
}
private SanctuaryLockdown(final SanctuaryLockdown card) {
super(card);
}
@Override
public SanctuaryLockdown copy() {
return new SanctuaryLockdown(this);
}
}

View file

@ -113,6 +113,7 @@ public final class IkoriaLairOfBehemoths extends ExpansionSet {
cards.add(new SetCardInfo("Proud Wildbonder", 229, Rarity.UNCOMMON, mage.cards.p.ProudWildbonder.class));
cards.add(new SetCardInfo("Raugrin Crystal", 238, Rarity.UNCOMMON, mage.cards.r.RaugrinCrystal.class));
cards.add(new SetCardInfo("Reconnaissance Mission", 65, Rarity.UNCOMMON, mage.cards.r.ReconnaissanceMission.class));
cards.add(new SetCardInfo("Sanctuary Lockdown", 28, Rarity.UNCOMMON, mage.cards.s.SanctuaryLockdown.class));
cards.add(new SetCardInfo("Savai Crystal", 239, Rarity.UNCOMMON, mage.cards.s.SavaiCrystal.class));
cards.add(new SetCardInfo("Savai Sabertooth", 29, Rarity.COMMON, mage.cards.s.SavaiSabertooth.class));
cards.add(new SetCardInfo("Sea-Dasher Octopus", 66, Rarity.RARE, mage.cards.s.SeaDasherOctopus.class));