Implemented Betrothed of Fire

This commit is contained in:
Evan Kranzler 2018-10-10 20:35:24 -04:00
parent b0395f704f
commit c95f5b55fc
2 changed files with 72 additions and 0 deletions

View file

@ -0,0 +1,71 @@
package mage.cards.b;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeAttachedCost;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.effects.common.continuous.BoostEnchantedEffect;
import mage.abilities.keyword.EnchantAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.permanent.TappedPredicate;
import mage.target.TargetPermanent;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class BetrothedOfFire extends CardImpl {
private static final FilterControlledPermanent filter = new FilterControlledCreaturePermanent("an untapped creature");
static {
filter.add(Predicates.not(new TappedPredicate()));
}
public BetrothedOfFire(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}");
this.subtype.add(SubType.AURA);
// Enchant creature
TargetPermanent auraTarget = new TargetCreaturePermanent();
this.getSpellAbility().addTarget(auraTarget);
this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature));
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
// Sacrifice an untapped creature: Enchanted creature gets +2/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(
new BoostEnchantedEffect(2, 0, Duration.EndOfTurn),
new SacrificeTargetCost(new TargetControlledPermanent(filter))
));
// Sacrifice enchanted creature: Creatures you control get +2/+0 until end of turn.
this.addAbility(new SimpleActivatedAbility(
new BoostControlledEffect(2, 0, Duration.EndOfTurn),
new SacrificeAttachedCost()
));
}
public BetrothedOfFire(final BetrothedOfFire card) {
super(card);
}
@Override
public BetrothedOfFire copy() {
return new BetrothedOfFire(this);
}
}

View file

@ -49,6 +49,7 @@ public final class Weatherlight extends ExpansionSet {
cards.add(new SetCardInfo("Benalish Infantry", 8, Rarity.COMMON, mage.cards.b.BenalishInfantry.class));
cards.add(new SetCardInfo("Benalish Knight", 9, Rarity.COMMON, mage.cards.b.BenalishKnight.class));
cards.add(new SetCardInfo("Benalish Missionary", 10, Rarity.COMMON, mage.cards.b.BenalishMissionary.class));
cards.add(new SetCardInfo("Betrothed of Fire", 89, Rarity.COMMON, mage.cards.b.BetrothedOfFire.class));
cards.add(new SetCardInfo("Bloodrock Cyclops", 90, Rarity.COMMON, mage.cards.b.BloodrockCyclops.class));
cards.add(new SetCardInfo("Blossoming Wreath", 120, Rarity.COMMON, mage.cards.b.BlossomingWreath.class));
cards.add(new SetCardInfo("Bogardan Firefiend", 91, Rarity.COMMON, mage.cards.b.BogardanFirefiend.class));