diff --git a/Mage.Sets/src/mage/cards/c/CrystalFragments.java b/Mage.Sets/src/mage/cards/c/CrystalFragments.java new file mode 100644 index 00000000000..145a755ba55 --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/CrystalFragments.java @@ -0,0 +1,50 @@ +package mage.cards.c; + +import mage.abilities.common.ActivateAsSorceryActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.ExileAndReturnSourceEffect; +import mage.abilities.effects.common.continuous.BoostEquippedEffect; +import mage.abilities.keyword.EquipAbility; +import mage.abilities.keyword.TransformAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.PutCards; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class CrystalFragments extends CardImpl { + + public CrystalFragments(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{W}"); + + this.subtype.add(SubType.EQUIPMENT); + this.secondSideCardClazz = mage.cards.s.SummonAlexander.class; + + // Equipped creature gets +1/+1. + this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(1, 1))); + + // {5}{W}{W}: Exile this Equipment, then return it to the battlefield transformed under its owner's control. Activate only as a sorcery. + this.addAbility(new TransformAbility()); + this.addAbility(new ActivateAsSorceryActivatedAbility( + new ExileAndReturnSourceEffect(PutCards.BATTLEFIELD_TRANSFORMED), new ManaCostsImpl<>("{5}{W}{W}") + )); + + // Equip {1} + this.addAbility(new EquipAbility(1)); + } + + private CrystalFragments(final CrystalFragments card) { + super(card); + } + + @Override + public CrystalFragments copy() { + return new CrystalFragments(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SummonAlexander.java b/Mage.Sets/src/mage/cards/s/SummonAlexander.java new file mode 100644 index 00000000000..271089ba2fa --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SummonAlexander.java @@ -0,0 +1,63 @@ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.common.SagaAbility; +import mage.abilities.effects.common.PreventAllDamageToAllEffect; +import mage.abilities.effects.common.TapAllEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SagaChapter; +import mage.constants.SubType; +import mage.filter.StaticFilters; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class SummonAlexander extends CardImpl { + + public SummonAlexander(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, ""); + + this.subtype.add(SubType.SAGA); + this.subtype.add(SubType.CONSTRUCT); + this.power = new MageInt(4); + this.toughness = new MageInt(3); + this.nightCard = true; + this.color.setWhite(true); + + // (As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.) + SagaAbility sagaAbility = new SagaAbility(this); + + // I, II -- Prevent all damage that would be dealt to creatures you control this turn. + sagaAbility.addChapterEffect( + this, SagaChapter.CHAPTER_I, SagaChapter.CHAPTER_II, + new PreventAllDamageToAllEffect( + Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURES_CONTROLLED + ) + ); + + // III -- Tap all creatures your opponents control. + sagaAbility.addChapterEffect( + this, SagaChapter.CHAPTER_III, + new TapAllEffect(StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURES) + ); + this.addAbility(sagaAbility); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + } + + private SummonAlexander(final SummonAlexander card) { + super(card); + } + + @Override + public SummonAlexander copy() { + return new SummonAlexander(this); + } +} diff --git a/Mage.Sets/src/mage/sets/FinalFantasy.java b/Mage.Sets/src/mage/sets/FinalFantasy.java index 25df7a32387..67a5a644003 100644 --- a/Mage.Sets/src/mage/sets/FinalFantasy.java +++ b/Mage.Sets/src/mage/sets/FinalFantasy.java @@ -104,6 +104,8 @@ public final class FinalFantasy extends ExpansionSet { cards.add(new SetCardInfo("Commune with Beavers", 182, Rarity.COMMON, mage.cards.c.CommuneWithBeavers.class)); cards.add(new SetCardInfo("Cooking Campsite", 31, Rarity.UNCOMMON, mage.cards.c.CookingCampsite.class)); cards.add(new SetCardInfo("Coral Sword", 134, Rarity.UNCOMMON, mage.cards.c.CoralSword.class)); + cards.add(new SetCardInfo("Crystal Fragments", 13, Rarity.UNCOMMON, mage.cards.c.CrystalFragments.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Crystal Fragments", 357, Rarity.UNCOMMON, mage.cards.c.CrystalFragments.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Crystallized Serah", 240, Rarity.RARE, mage.cards.c.CrystallizedSerah.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Crystallized Serah", 506, Rarity.RARE, mage.cards.c.CrystallizedSerah.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Dark Confidant", 334, Rarity.MYTHIC, mage.cards.d.DarkConfidant.class, NON_FULL_USE_VARIOUS)); @@ -314,6 +316,8 @@ public final class FinalFantasy extends ExpansionSet { cards.add(new SetCardInfo("Stiltzkin, Moogle Merchant", 327, Rarity.RARE, mage.cards.s.StiltzkinMoogleMerchant.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Stiltzkin, Moogle Merchant", 34, Rarity.RARE, mage.cards.s.StiltzkinMoogleMerchant.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Stiltzkin, Moogle Merchant", 433, Rarity.RARE, mage.cards.s.StiltzkinMoogleMerchant.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Summon: Alexander", 13, Rarity.UNCOMMON, mage.cards.s.SummonAlexander.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Summon: Alexander", 357, Rarity.UNCOMMON, mage.cards.s.SummonAlexander.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Summon: Anima", 120, Rarity.UNCOMMON, mage.cards.s.SummonAnima.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Summon: Anima", 364, Rarity.UNCOMMON, mage.cards.s.SummonAnima.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Summon: Bahamut", 1, Rarity.MYTHIC, mage.cards.s.SummonBahamut.class, NON_FULL_USE_VARIOUS)); diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index 770ba12bf4a..77bfcd4e4b0 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -57634,6 +57634,8 @@ Auron's Inspiration|Final Fantasy|8|U|{2}{W}|Instant|||Attacking creatures get + Cloud, Midgar Mercenary|Final Fantasy|10|M|{W}{W}|Legendary Creature - Human Soldier Mercenary|2|1|When Cloud enters, search your library for an Equipment card, reveal it, put it into your hand, then shuffle.$As long as Cloud is equipped, if an ability of Cloud or an Equipment attached to it triggers, that ability triggers an additional time.| Cloudbound Moogle|Final Fantasy|11|C|{3}{W}{W}|Creature - Moogle|2|3|Flying$When this creature enters, put a +1/+1 counter on target creature.$Plainscycling {2}| Coeurl|Final Fantasy|12|C|{1}{W}|Creature - Cat Beast|2|2|{1}{W}, {T}: Tap target nonenchantment creature.| +Crystal Fragments|Final Fantasy|13|U|{W}|Artifact - Equipment|||Equipped creature gets +1/+1.${5}{W}{W}: Exile this Equipment, then return it to the battlefield transformed under its owner's control. Activate only as a sorcery.$Equip {1}| +Summon: Alexander|Final Fantasy|13|U||Enchantment Creature - Saga Construct|4|3|(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)$I, II -- Prevent all damage that would be dealt to creatures you control this turn.$III -- Tap all creatures your opponents control.$Flying| The Crystal's Chosen|Final Fantasy|14|U|{5}{W}{W}|Sorcery|||Create four 1/1 colorless Hero creature tokens. Then put a +1/+1 counter on each creature you control.| Dragoon's Lance|Final Fantasy|17|U|{1}{W}|Artifact - Equipment|||Job select$Equipped creature gets +1/+0 and is a Knight in addition to its other types.$During your turn, equipped creature has flying.$Gae Bolg -- Equip {4}| Dwarven Castle Guard|Final Fantasy|18|C|{1}{W}|Creature - Dwarf Soldier|2|1|When this creature dies, create a 1/1 colorless Hero creature token.| @@ -57858,6 +57860,8 @@ Torgal, A Fine Hound|Final Fantasy|345|U|{1}{G}|Legendary Creature - Wolf|2|2|Wh Sin, Spira's Punishment|Final Fantasy|348|R|{4}{B}{G}{U}|Legendary Creature - Leviathan Avatar|7|7|Flying$Whenever Sin enters or attacks, exile a permanent card from your graveyard at random, then create a tapped token that's a copy of that card. If the exiled card is a land card, repeat this process.| Buster Sword|Final Fantasy|351|M|{3}|Artifact - Equipment|||Equipped creature gets +3/+2.$Whenever equipped creature deals combat damage to a player, draw a card, then you may cast a spell from your hand with mana value less than or equal to that damage without paying its mana cost.$Equip {2}| Summon: Bahamut|Final Fantasy|356|M|{9}|Enchantment Creature - Saga Dragon|9|9|(As this Saga enters and after your draw step, add a lore counter. Sacrifice after IV.)$I, II -- Destroy up to one target nonland permanent.$III -- Draw two cards.$IV -- Mega Flare -- This creature deals damage equal to the total mana value of other permanents you control to each opponent.$Flying| +Crystal Fragments|Final Fantasy|357|U|{W}|Artifact - Equipment|||Equipped creature gets +1/+1.${5}{W}{W}: Exile this Equipment, then return it to the battlefield transformed under its owner's control. Activate only as a sorcery.$Equip {1}| +Summon: Alexander|Final Fantasy|357|U||Enchantment Creature - Saga Construct|4|3|(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)$I, II -- Prevent all damage that would be dealt to creatures you control this turn.$III -- Tap all creatures your opponents control.$Flying| Summon: Knights of Round|Final Fantasy|359|M|{6}{W}{W}|Enchantment Creature - Saga Knight|3|3|(As this Saga enters and after your draw step, add a lore counter. Sacrifice after V.)$I, II, III, IV -- Create three 2/2 white Knight creature tokens.$V -- Ultimate End -- Other creatures you control get +2/+2 until end of turn. Put an indestructible counter on each of them.$Indestructible| Summon: Primal Garuda|Final Fantasy|360|U|{3}{W}|Enchantment Creature - Saga Harpy|3|3|(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)$I -- Aerial Blast -- This creature deals 4 damage to target tapped creature an opponent controls.$II, III -- Slipstream -- Another target creature you control gets +1/+0 and gains flying until end of turn.$Flying| Summon: Leviathan|Final Fantasy|361|R|{4}{U}{U}|Enchantment Creature - Saga Leviathan|6|6|I -- Return each creature that isn't a Kraken, Leviathan, Merfolk, Octopus, or Serpent to its owner's hand.$II, III -- Until end of turn, whenever a Kraken, Leviathan, Merfolk, Octopus, or Serpent attacks, draw a card.$Ward {2}|