[M3C] Implement Copy Land

This commit is contained in:
theelk801 2024-06-05 11:51:56 -04:00
parent 0118913c5f
commit 5d26d44cf0
2 changed files with 36 additions and 0 deletions

View file

@ -0,0 +1,35 @@
package mage.cards.c;
import mage.abilities.common.EntersBattlefieldAbility;
import mage.abilities.effects.common.CopyPermanentEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.StaticFilters;
import mage.util.functions.CardTypeCopyApplier;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class CopyLand extends CardImpl {
public CopyLand(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}");
// You may have Copy Land enter the battlefield as a copy of any land on the battlefield, except it's an enchantment in addition to its other types.
this.addAbility(new EntersBattlefieldAbility(new CopyPermanentEffect(
StaticFilters.FILTER_LAND, new CardTypeCopyApplier(CardType.ENCHANTMENT)
).setText("as a copy of any land on the battlefield, except it's an enchantment in addition to its other types"), true));
}
private CopyLand(final CopyLand card) {
super(card);
}
@Override
public CopyLand copy() {
return new CopyLand(this);
}
}

View file

@ -76,6 +76,7 @@ public final class ModernHorizons3Commander extends ExpansionSet {
cards.add(new SetCardInfo("Command Tower", 331, Rarity.COMMON, mage.cards.c.CommandTower.class));
cards.add(new SetCardInfo("Confiscation Coup", 178, Rarity.RARE, mage.cards.c.ConfiscationCoup.class));
cards.add(new SetCardInfo("Conversion Apparatus", 76, Rarity.RARE, mage.cards.c.ConversionApparatus.class));
cards.add(new SetCardInfo("Copy Land", 47, Rarity.RARE, mage.cards.c.CopyLand.class));
cards.add(new SetCardInfo("Corrupted Crossroads", 332, Rarity.RARE, mage.cards.c.CorruptedCrossroads.class));
cards.add(new SetCardInfo("Coveted Jewel", 287, Rarity.RARE, mage.cards.c.CovetedJewel.class));
cards.add(new SetCardInfo("Crib Swap", 168, Rarity.UNCOMMON, mage.cards.c.CribSwap.class));