[MH3] Implement Utter Insignificance

This commit is contained in:
theelk801 2024-05-28 15:06:54 -04:00
parent b475e03255
commit f75e50d9ee
3 changed files with 64 additions and 22 deletions

View file

@ -1,6 +1,5 @@
package mage.cards.k; package mage.cards.k;
import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.AttachEffect;
@ -12,7 +11,7 @@ import mage.constants.CardType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.Outcome; import mage.constants.Outcome;
import mage.constants.SubType; import mage.constants.SubType;
import mage.game.permanent.token.TokenImpl; import mage.game.permanent.token.custom.CreatureToken;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
@ -37,7 +36,7 @@ public final class KasminasTransmutation extends CardImpl {
// Enchanted creature loses all abilities and has base power and toughness 1/1. // Enchanted creature loses all abilities and has base power and toughness 1/1.
this.addAbility(new SimpleStaticAbility(new BecomesCreatureAttachedEffect( this.addAbility(new SimpleStaticAbility(new BecomesCreatureAttachedEffect(
new KasminasTransmutationToken(), "Enchanted creature loses all abilities " + new CreatureToken(1, 1), "Enchanted creature loses all abilities " +
"and has base power and toughness 1/1", Duration.WhileOnBattlefield, "and has base power and toughness 1/1", Duration.WhileOnBattlefield,
BecomesCreatureAttachedEffect.LoseType.ABILITIES BecomesCreatureAttachedEffect.LoseType.ABILITIES
))); )));
@ -52,22 +51,3 @@ public final class KasminasTransmutation extends CardImpl {
return new KasminasTransmutation(this); return new KasminasTransmutation(this);
} }
} }
class KasminasTransmutationToken extends TokenImpl {
KasminasTransmutationToken() {
super("", "loses all abilities and has base power and toughness 1/1");
cardType.add(CardType.CREATURE);
power = new MageInt(1);
toughness = new MageInt(1);
}
private KasminasTransmutationToken(final KasminasTransmutationToken token) {
super(token);
}
public KasminasTransmutationToken copy() {
return new KasminasTransmutationToken(this);
}
}

View file

@ -0,0 +1,61 @@
package mage.cards.u;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.ExileAttachedEffect;
import mage.abilities.effects.common.continuous.BecomesCreatureAttachedEffect;
import mage.abilities.keyword.EnchantAbility;
import mage.abilities.keyword.FlashAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.game.permanent.token.custom.CreatureToken;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class UtterInsignificance extends CardImpl {
public UtterInsignificance(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}");
this.subtype.add(SubType.AURA);
// Flash
this.addAbility(FlashAbility.getInstance());
// Enchant creature
TargetPermanent auraTarget = new TargetCreaturePermanent();
this.getSpellAbility().addTarget(auraTarget);
this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature));
this.addAbility(new EnchantAbility(auraTarget));
// Enchanted creature loses all abilities and has base power and toughness 1/1.
this.addAbility(new SimpleStaticAbility(new BecomesCreatureAttachedEffect(
new CreatureToken(1, 1), "Enchanted creature loses all abilities " +
"and has base power and toughness 1/1", Duration.WhileOnBattlefield,
BecomesCreatureAttachedEffect.LoseType.ABILITIES
)));
// {2}{C}: Exile enchanted creature.
this.addAbility(new SimpleActivatedAbility(new ExileAttachedEffect(), new ManaCostsImpl<>("{2}{C}")));
}
private UtterInsignificance(final UtterInsignificance card) {
super(card);
}
@Override
public UtterInsignificance copy() {
return new UtterInsignificance(this);
}
}

View file

@ -183,6 +183,7 @@ public final class ModernHorizons3 extends ExpansionSet {
cards.add(new SetCardInfo("Ugin's Labyrinth", 233, Rarity.MYTHIC, mage.cards.u.UginsLabyrinth.class)); cards.add(new SetCardInfo("Ugin's Labyrinth", 233, Rarity.MYTHIC, mage.cards.u.UginsLabyrinth.class));
cards.add(new SetCardInfo("Ulamog, the Defiler", 15, Rarity.MYTHIC, mage.cards.u.UlamogTheDefiler.class)); cards.add(new SetCardInfo("Ulamog, the Defiler", 15, Rarity.MYTHIC, mage.cards.u.UlamogTheDefiler.class));
cards.add(new SetCardInfo("Urza's Cave", 234, Rarity.UNCOMMON, mage.cards.u.UrzasCave.class)); cards.add(new SetCardInfo("Urza's Cave", 234, Rarity.UNCOMMON, mage.cards.u.UrzasCave.class));
cards.add(new SetCardInfo("Utter Insignificance", 78, Rarity.COMMON, mage.cards.u.UtterInsignificance.class));
cards.add(new SetCardInfo("Victimize", 278, Rarity.UNCOMMON, mage.cards.v.Victimize.class)); cards.add(new SetCardInfo("Victimize", 278, Rarity.UNCOMMON, mage.cards.v.Victimize.class));
cards.add(new SetCardInfo("Voltstorm Angel", 46, Rarity.UNCOMMON, mage.cards.v.VoltstormAngel.class)); cards.add(new SetCardInfo("Voltstorm Angel", 46, Rarity.UNCOMMON, mage.cards.v.VoltstormAngel.class));
cards.add(new SetCardInfo("Warren Soultrader", 110, Rarity.RARE, mage.cards.w.WarrenSoultrader.class)); cards.add(new SetCardInfo("Warren Soultrader", 110, Rarity.RARE, mage.cards.w.WarrenSoultrader.class));