Implemented Force of Virtue

This commit is contained in:
Evan Kranzler 2019-05-23 18:52:12 -04:00
parent a73e49cb4a
commit 15dd878c0b
2 changed files with 59 additions and 0 deletions

View file

@ -0,0 +1,58 @@
package mage.cards.f;
import mage.ObjectColor;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.NotMyTurnCondition;
import mage.abilities.costs.AlternativeCostSourceAbility;
import mage.abilities.costs.common.ExileFromHandCost;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.keyword.FlashAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.filter.common.FilterOwnedCard;
import mage.filter.predicate.mageobject.ColorPredicate;
import mage.target.common.TargetCardInHand;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class ForceOfVirtue extends CardImpl {
private static final FilterOwnedCard filter = new FilterOwnedCard("a white card from your hand");
static {
filter.add(new ColorPredicate(ObjectColor.WHITE));
}
public ForceOfVirtue(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}{W}");
// If it's not your turn, you may exile a white card from your hand rather than pay this spell's mana cost.
this.addAbility(new AlternativeCostSourceAbility(
new ExileFromHandCost(new TargetCardInHand(filter)), NotMyTurnCondition.instance,
"If it's not your turn, you may exile a white card from " +
"your hand rather than pay this spell's mana cost."
));
// Flash
this.addAbility(FlashAbility.getInstance());
// Creatures you control get +1/+1.
this.addAbility(new SimpleStaticAbility(
new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield)
));
}
private ForceOfVirtue(final ForceOfVirtue card) {
super(card);
}
@Override
public ForceOfVirtue copy() {
return new ForceOfVirtue(this);
}
}

View file

@ -48,6 +48,7 @@ public final class ModernHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Force of Despair", 92, Rarity.RARE, mage.cards.f.ForceOfDespair.class));
cards.add(new SetCardInfo("Force of Negation", 52, Rarity.RARE, mage.cards.f.ForceOfNegation.class));
cards.add(new SetCardInfo("Force of Vigor", 164, Rarity.RARE, mage.cards.f.ForceOfVigor.class));
cards.add(new SetCardInfo("Force of Virtue", 10, Rarity.RARE, mage.cards.f.ForceOfVirtue.class));
cards.add(new SetCardInfo("Frostwalk Bastion", 240, Rarity.UNCOMMON, mage.cards.f.FrostwalkBastion.class));
cards.add(new SetCardInfo("Generous Gift", 11, Rarity.UNCOMMON, mage.cards.g.GenerousGift.class));
cards.add(new SetCardInfo("Goblin Engineer", 128, Rarity.RARE, mage.cards.g.GoblinEngineer.class));