mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 10:40:06 -08:00
[FIN] Implement Crystal Fragments / Summon: Alexander
This commit is contained in:
parent
37361cccb4
commit
7f0546e538
4 changed files with 121 additions and 0 deletions
50
Mage.Sets/src/mage/cards/c/CrystalFragments.java
Normal file
50
Mage.Sets/src/mage/cards/c/CrystalFragments.java
Normal file
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
63
Mage.Sets/src/mage/cards/s/SummonAlexander.java
Normal file
63
Mage.Sets/src/mage/cards/s/SummonAlexander.java
Normal file
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -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("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("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("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", 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("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));
|
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", 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", 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("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", 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: 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));
|
cards.add(new SetCardInfo("Summon: Bahamut", 1, Rarity.MYTHIC, mage.cards.s.SummonBahamut.class, NON_FULL_USE_VARIOUS));
|
||||||
|
|
|
||||||
|
|
@ -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.|
|
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}|
|
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.|
|
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.|
|
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}|
|
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.|
|
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.|
|
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}|
|
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|
|
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: 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: 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}|
|
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}|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue