Implemented Kasmina's Transmutation

This commit is contained in:
Evan Kranzler 2019-04-08 18:34:25 -04:00
parent 7e2724ed59
commit d7c036b424
2 changed files with 74 additions and 0 deletions

View file

@ -0,0 +1,73 @@
package mage.cards.k;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.AttachEffect;
import mage.abilities.effects.common.continuous.BecomesCreatureAttachedEffect;
import mage.abilities.keyword.EnchantAbility;
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.TokenImpl;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class KasminasTransmutation extends CardImpl {
public KasminasTransmutation(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}");
this.subtype.add(SubType.AURA);
// Enchant creature
TargetPermanent auraTarget = new TargetCreaturePermanent();
this.getSpellAbility().addTarget(auraTarget);
this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature));
Ability ability = new EnchantAbility(auraTarget.getTargetName());
this.addAbility(ability);
// Enchanted creature loses all abilities and has base power and toughness 1/1.
this.addAbility(new SimpleStaticAbility(new BecomesCreatureAttachedEffect(
new KasminasTransmutationToken(), "Enchanted creature loses all abilities " +
"and has base power and toughness 1/1", Duration.WhileOnBattlefield,
BecomesCreatureAttachedEffect.LoseType.ABILITIES
)));
}
private KasminasTransmutation(final KasminasTransmutation card) {
super(card);
}
@Override
public KasminasTransmutation copy() {
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

@ -82,6 +82,7 @@ public final class WarOfTheSpark extends ExpansionSet {
cards.add(new SetCardInfo("Jace, Wielder of Mysteries", 54, Rarity.RARE, mage.cards.j.JaceWielderOfMysteries.class));
cards.add(new SetCardInfo("Jiang Yanggu, Wildcrafter", 164, Rarity.UNCOMMON, mage.cards.j.JiangYangguWildcrafter.class));
cards.add(new SetCardInfo("Karn's Bastion", 248, Rarity.RARE, mage.cards.k.KarnsBastion.class));
cards.add(new SetCardInfo("Kasmina's Transmutation", 57, Rarity.COMMON, mage.cards.k.KasminasTransmutation.class));
cards.add(new SetCardInfo("Kasmina, Enigmatic Mentor", 56, Rarity.UNCOMMON, mage.cards.k.KasminaEnigmaticMentor.class));
cards.add(new SetCardInfo("Kaya's Ghostform", 94, Rarity.COMMON, mage.cards.k.KayasGhostform.class));
cards.add(new SetCardInfo("Kaya, Bane of the Dead", 231, Rarity.UNCOMMON, mage.cards.k.KayaBaneOfTheDead.class));