diff --git a/Mage.Sets/src/mage/cards/c/ChandraFlameshaper.java b/Mage.Sets/src/mage/cards/c/ChandraFlameshaper.java new file mode 100644 index 00000000000..477a9432f55 --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/ChandraFlameshaper.java @@ -0,0 +1,67 @@ +package mage.cards.c; + +import mage.Mana; +import mage.abilities.Ability; +import mage.abilities.LoyaltyAbility; +import mage.abilities.effects.common.CreateTokenCopyTargetEffect; +import mage.abilities.effects.common.DamageMultiEffect; +import mage.abilities.effects.common.ExileTopXMayPlayUntilEffect; +import mage.abilities.effects.common.SacrificeSourceEffect; +import mage.abilities.effects.mana.BasicManaEffect; +import mage.abilities.keyword.HasteAbility; +import mage.abilities.triggers.BeginningOfEndStepTriggeredAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.target.common.TargetControlledCreaturePermanent; +import mage.target.common.TargetCreatureOrPlaneswalkerAmount; + +import java.util.UUID; + +/** + * + * @author ciaccona007 + */ +public final class ChandraFlameshaper extends CardImpl { + + public ChandraFlameshaper(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{5}{R}{R}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.CHANDRA); + this.setStartingLoyalty(6); + + // +2: Add {R}{R}{R}. Exile the top three cards of your library. Choose one. You may play that card this turn. + Ability plusTwoAbility = new LoyaltyAbility(new BasicManaEffect(Mana.RedMana(3)), 2); + plusTwoAbility.addEffect(new ExileTopXMayPlayUntilEffect(3, true, Duration.EndOfTurn)); + this.addAbility(plusTwoAbility); + + // +1: Create a token that's a copy of target creature you control, except it has haste and "At the beginning of the end step, sacrifice this token." + Ability[] extraAbilities = new Ability[2]; + extraAbilities[0] = HasteAbility.getInstance(); + extraAbilities[1] = new BeginningOfEndStepTriggeredAbility( + TargetController.NEXT, new SacrificeSourceEffect(), false + ); + Ability plusOneAbility = new LoyaltyAbility( + new CreateTokenCopyTargetEffect().addAdditionalAbilities(extraAbilities), 1 + ); + plusOneAbility.addTarget(new TargetControlledCreaturePermanent()); + this.addAbility(plusOneAbility); + + // -4: Chandra deals 8 damage divided as you choose among any number of target creatures and/or planeswalkers. + Ability minusFourAbility = new LoyaltyAbility( + new DamageMultiEffect(8, "{this}"), -4 + ); + minusFourAbility.addTarget(new TargetCreatureOrPlaneswalkerAmount(8)); + this.addAbility(minusFourAbility); + } + + private ChandraFlameshaper(final ChandraFlameshaper card) { + super(card); + } + + @Override + public ChandraFlameshaper copy() { + return new ChandraFlameshaper(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Foundations.java b/Mage.Sets/src/mage/sets/Foundations.java index 711e18a5a1c..4042d164a0d 100644 --- a/Mage.Sets/src/mage/sets/Foundations.java +++ b/Mage.Sets/src/mage/sets/Foundations.java @@ -99,6 +99,7 @@ public final class Foundations extends ExpansionSet { cards.add(new SetCardInfo("Celestial Armor", 5, Rarity.RARE, mage.cards.c.CelestialArmor.class)); cards.add(new SetCardInfo("Cemetery Recruitment", 517, Rarity.COMMON, mage.cards.c.CemeteryRecruitment.class)); cards.add(new SetCardInfo("Cephalid Inkmage", 32, Rarity.UNCOMMON, mage.cards.c.CephalidInkmage.class)); + cards.add(new SetCardInfo("Chandra, Flameshaper", 81, Rarity.MYTHIC, mage.cards.c.ChandraFlameshaper.class)); cards.add(new SetCardInfo("Charming Prince", 568, Rarity.RARE, mage.cards.c.CharmingPrince.class)); cards.add(new SetCardInfo("Chart a Course", 586, Rarity.UNCOMMON, mage.cards.c.ChartACourse.class)); cards.add(new SetCardInfo("Circuitous Route", 635, Rarity.UNCOMMON, mage.cards.c.CircuitousRoute.class));