[FIN] Implement PuPu UFO

This commit is contained in:
theelk801 2025-05-18 09:10:58 -04:00
parent d83a595e9b
commit 00f989f560
3 changed files with 69 additions and 0 deletions

View file

@ -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);
}
}

View file

@ -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));

View file

@ -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}.|