[ONC] Implement Mirage Mockery

This commit is contained in:
PurpleCrowbar 2023-02-11 14:53:32 +00:00
parent 331fd284dc
commit 41a40487cb
2 changed files with 55 additions and 0 deletions

View file

@ -0,0 +1,53 @@
package mage.cards.m;
import mage.abilities.Mode;
import mage.abilities.effects.common.CreateTokenCopyTargetEffect;
import mage.abilities.keyword.EntwineAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
* @author PurpleCrowbar
*/
public final class MirageMockery extends CardImpl {
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("artifact creature you control");
private static final FilterControlledCreaturePermanent filter2 = new FilterControlledCreaturePermanent("nonartifact creature you control");
static {
filter.add(CardType.ARTIFACT.getPredicate());
filter2.add(Predicates.not(CardType.ARTIFACT.getPredicate()));
}
public MirageMockery(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}");
// Choose one
// Create a token that's a copy of target artifact creature you control.
this.getSpellAbility().addEffect(new CreateTokenCopyTargetEffect());
this.getSpellAbility().addTarget(new TargetPermanent(filter));
// Create a token that's a copy of target nonartifact creature you control.
Mode mode = new Mode(new CreateTokenCopyTargetEffect());
mode.addTarget(new TargetPermanent(filter2));
this.getSpellAbility().getModes().addMode(mode);
// Entwine {2}{U}
this.addAbility(new EntwineAbility("{2}{U}"));
}
private MirageMockery(final MirageMockery card) {
super(card);
}
@Override
public MirageMockery copy() {
return new MirageMockery(this);
}
}

View file

@ -92,6 +92,8 @@ public final class PhyrexiaAllWillBeOneCommander extends ExpansionSet {
cards.add(new SetCardInfo("Merciless Eviction", 120, Rarity.RARE, mage.cards.m.MercilessEviction.class));
cards.add(new SetCardInfo("Midnight Haunting", 82, Rarity.UNCOMMON, mage.cards.m.MidnightHaunting.class));
cards.add(new SetCardInfo("Mind Stone", 137, Rarity.UNCOMMON, mage.cards.m.MindStone.class));
cards.add(new SetCardInfo("Mirage Mockery", 22, Rarity.RARE, mage.cards.m.MirageMockery.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Mirage Mockery", 32, Rarity.RARE, mage.cards.m.MirageMockery.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Moldervine Reclamation", 121, Rarity.UNCOMMON, mage.cards.m.MoldervineReclamation.class));
cards.add(new SetCardInfo("Monumental Corruption", 24, Rarity.RARE, mage.cards.m.MonumentalCorruption.class));
cards.add(new SetCardInfo("Mortify", 122, Rarity.UNCOMMON, mage.cards.m.Mortify.class));