Implemented Mu Yanling, Celestial Wind

This commit is contained in:
Evan Kranzler 2019-06-22 11:46:35 -04:00
parent 374045fac9
commit 498d752294
2 changed files with 66 additions and 0 deletions

View file

@ -0,0 +1,65 @@
package mage.cards.m;
import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.abilities.effects.common.continuous.BoostAllEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.AbilityPredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class MuYanlingCelestialWind extends CardImpl {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creatures you control with flying");
static {
filter.add(new AbilityPredicate(FlyingAbility.class));
filter.add(new ControllerPredicate(TargetController.YOU));
}
public MuYanlingCelestialWind(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{U}{U}");
this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.YANLING);
this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5));
// +1: Until your next turn, up to one target creature gets -5/-0.
Ability ability = new LoyaltyAbility(new BoostTargetEffect(
-5, 0, Duration.UntilYourNextTurn
).setText("Until your next turn, up to one target creature gets -5/-0."), 1);
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
// 3: Return up to two target creatures to their owners' hands.
ability = new LoyaltyAbility(new ReturnToHandTargetEffect(true), -3);
ability.addTarget(new TargetCreaturePermanent(0, 2));
this.addAbility(ability);
// 7: Creatures you control with flying get +5/+5 until end of turn.
this.addAbility(new LoyaltyAbility(new BoostAllEffect(
5, 5, Duration.EndOfTurn, filter, false
), -7));
}
private MuYanlingCelestialWind(final MuYanlingCelestialWind card) {
super(card);
}
@Override
public MuYanlingCelestialWind copy() {
return new MuYanlingCelestialWind(this);
}
}

View file

@ -122,6 +122,7 @@ public final class CoreSet2020 extends ExpansionSet {
cards.add(new SetCardInfo("Mask of Immolation", 151, Rarity.UNCOMMON, mage.cards.m.MaskOfImmolation.class));
cards.add(new SetCardInfo("Moat Piranhas", 67, Rarity.COMMON, mage.cards.m.MoatPiranhas.class));
cards.add(new SetCardInfo("Moldervine Reclamation", 214, Rarity.UNCOMMON, mage.cards.m.MoldervineReclamation.class));
cards.add(new SetCardInfo("Mu Yanling, Celestial Wind", 286, Rarity.MYTHIC, mage.cards.m.MuYanlingCelestialWind.class));
cards.add(new SetCardInfo("Mu Yanling, Sky Dancer", 68, Rarity.MYTHIC, mage.cards.m.MuYanlingSkyDancer.class));
cards.add(new SetCardInfo("Murder", 109, Rarity.COMMON, mage.cards.m.Murder.class));
cards.add(new SetCardInfo("Negate", 69, Rarity.COMMON, mage.cards.n.Negate.class));