diff --git a/Mage.Sets/src/mage/cards/p/PuPuUFO.java b/Mage.Sets/src/mage/cards/p/PuPuUFO.java new file mode 100644 index 00000000000..9e1fac28305 --- /dev/null +++ b/Mage.Sets/src/mage/cards/p/PuPuUFO.java @@ -0,0 +1,67 @@ +package mage.cards.p; + +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.common.PutCardFromHandOntoBattlefieldEffect; +import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffect; +import mage.abilities.hint.Hint; +import mage.abilities.hint.ValueHint; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.StaticFilters; +import mage.filter.common.FilterControlledPermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class PuPuUFO extends CardImpl { + + private static final DynamicValue xValue + = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(SubType.TOWN)); + private static final Hint hint = new ValueHint("Towns you control", xValue); + + public PuPuUFO(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); + + this.subtype.add(SubType.CONSTRUCT); + this.subtype.add(SubType.ALIEN); + this.power = new MageInt(0); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // {T}: You may put a land card from your hand onto the battlefield. + this.addAbility(new SimpleActivatedAbility( + new PutCardFromHandOntoBattlefieldEffect(StaticFilters.FILTER_CARD_LAND_A), new TapSourceCost() + )); + + // {3}: Until end of turn, this creature's base power becomes equal to the number of Towns you control. + this.addAbility(new SimpleActivatedAbility( + new SetBasePowerToughnessSourceEffect( + xValue, StaticValue.get(0), Duration.EndOfTurn, "until end of turn, " + + "this creature's base power becomes equal to the number of Towns you control" + ), new GenericManaCost(3) + ).addHint(hint)); + } + + private PuPuUFO(final PuPuUFO card) { + super(card); + } + + @Override + public PuPuUFO copy() { + return new PuPuUFO(this); + } +} diff --git a/Mage.Sets/src/mage/sets/FinalFantasy.java b/Mage.Sets/src/mage/sets/FinalFantasy.java index 6c8bd7fee73..a6f23d21e55 100644 --- a/Mage.Sets/src/mage/sets/FinalFantasy.java +++ b/Mage.Sets/src/mage/sets/FinalFantasy.java @@ -195,6 +195,7 @@ public final class FinalFantasy extends ExpansionSet { cards.add(new SetCardInfo("Plains", 295, Rarity.LAND, mage.cards.basiclands.Plains.class, FULL_ART_BFZ_VARIOUS)); cards.add(new SetCardInfo("Plains", 296, Rarity.LAND, mage.cards.basiclands.Plains.class, FULL_ART_BFZ_VARIOUS)); cards.add(new SetCardInfo("Plains", 572, Rarity.LAND, mage.cards.basiclands.Plains.class, FULL_ART_BFZ_VARIOUS)); + cards.add(new SetCardInfo("PuPu UFO", 266, Rarity.UNCOMMON, mage.cards.p.PuPuUFO.class)); cards.add(new SetCardInfo("Rabanastre, Royal City", 287, Rarity.COMMON, mage.cards.r.RabanastreRoyalCity.class)); cards.add(new SetCardInfo("Ragnarok, Divine Deliverance", "381b", Rarity.UNCOMMON, mage.cards.r.RagnarokDivineDeliverance.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Ragnarok, Divine Deliverance", "446b", Rarity.UNCOMMON, mage.cards.r.RagnarokDivineDeliverance.class, NON_FULL_USE_VARIOUS)); diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index 749974b1768..4da1d81055a 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -57761,6 +57761,7 @@ Yuna, Hope of Spira|Final Fantasy|250|M|{3}{G}{W}|Legendary Creature - Human Cle Zidane, Tantalus Thief|Final Fantasy|251|U|{3}{R}{W}|Legendary Creature - Human Mutant Scout|3|3|When Zidane enters, gain control of target creature an opponent controls until end of turn. Untap that creature. It gains lifelink and haste until end of turn.$Whenever an opponent gains control of a permanent you control, create a Treasure token.| Buster Sword|Final Fantasy|255|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}| Instant Ramen|Final Fantasy|259|C|{2}|Artifact - Food|||Flash$When this artifact enters, draw a card.${2}, {T}, Sacrifice this artifact: You gain 3 life.| +PuPu UFO|Final Fantasy|266|U|{2}|Artifact Creature - Construct Alien|0|4|Flying${T}: You may put a land card from your hand onto the battlefield.${3}: Until end of turn, this creature's base power becomes equal to the number of Towns you control.| Adventurer's Inn|Final Fantasy|271|C||Land - Town|||When this land enters, you gain 2 life.${T}: Add {C}.| Capital City|Final Fantasy|274|U||Land - Town|||{T}: Add {C}.${1}, {T}: Add one mana of any color.$Cycling {2}| Ishgard, the Holy See|Final Fantasy|283|R|{3}{W}{W}|Land - Town|||This land enters tapped.${T}: Add {W}.|