Implemented Bogardan Dragonkite

This commit is contained in:
Evan Kranzler 2019-06-02 15:57:08 -04:00
parent 9a3aa75640
commit 8fe25e62ae
2 changed files with 80 additions and 0 deletions

View file

@ -0,0 +1,79 @@
package mage.cards.b;
import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.HasteAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.permanent.AnotherPredicate;
import mage.game.permanent.token.TokenImpl;
import mage.target.common.TargetControlledPermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class BogardanDragonheart extends CardImpl {
private static final FilterControlledPermanent filter
= new FilterControlledCreaturePermanent("another creature");
static {
filter.add(AnotherPredicate.instance);
}
public BogardanDragonheart(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.SHAMAN);
this.power = new MageInt(2);
this.toughness = new MageInt(2);
// Sacrifice another creature: Until end of turn, Bogardan Dragonheart becomes a Dragon with base power and toughness 4/4, flying, and haste.
this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect(
new BogardanDragonheartToken(), null, Duration.EndOfTurn, false,
false, null, null, false
), new SacrificeTargetCost(new TargetControlledPermanent(filter))));
}
private BogardanDragonheart(final BogardanDragonheart card) {
super(card);
}
@Override
public BogardanDragonheart copy() {
return new BogardanDragonheart(this);
}
}
class BogardanDragonheartToken extends TokenImpl {
BogardanDragonheartToken() {
super("", "Dragon with base power and toughness 4/4, flying, and haste");
cardType.add(CardType.CREATURE);
subtype.add(SubType.DRAGON);
power = new MageInt(4);
toughness = new MageInt(4);
addAbility(FlyingAbility.getInstance());
addAbility(HasteAbility.getInstance());
}
private BogardanDragonheartToken(final BogardanDragonheartToken token) {
super(token);
}
public BogardanDragonheartToken copy() {
return new BogardanDragonheartToken(this);
}
}

View file

@ -45,6 +45,7 @@ public final class ModernHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Birthing Boughs", 221, Rarity.UNCOMMON, mage.cards.b.BirthingBoughs.class));
cards.add(new SetCardInfo("Bladeback Sliver", 119, Rarity.COMMON, mage.cards.b.BladebackSliver.class));
cards.add(new SetCardInfo("Blizzard Strix", 42, Rarity.UNCOMMON, mage.cards.b.BlizzardStrix.class));
cards.add(new SetCardInfo("Bogardan Dragonheart", 120, Rarity.COMMON, mage.cards.b.BogardanDragonheart.class));
cards.add(new SetCardInfo("Cabal Therapist", 80, Rarity.RARE, mage.cards.c.CabalTherapist.class));
cards.add(new SetCardInfo("Carrion Feeder", 81, Rarity.UNCOMMON, mage.cards.c.CarrionFeeder.class));
cards.add(new SetCardInfo("Cave of Temptation", 237, Rarity.COMMON, mage.cards.c.CaveOfTemptation.class));