[MID] Implemented Winterthorn Blessing (#8268)

* [MID] Implemented Winterthorn Blessing

* [MID] Refactored Winterthorn Blessing:
+ Added Min / Max to TargetControlledCreaturePermanent
+ Added TargetPointers

* [MID] Refactored Winterthorn Blessing:
+ Added Min / Max to TargetControlledCreaturePermanent
+ Added TargetPointers

* [MID] Refactored Winterthorn Blessing
+ Implemented suggested changes
This commit is contained in:
Raphael "who?!" Kehldorfer 2021-09-17 14:06:02 +02:00 committed by GitHub
parent 5068339db3
commit c5572cb41f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 49 additions and 0 deletions

View file

@ -0,0 +1,48 @@
package mage.cards.w;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect;
import mage.abilities.effects.common.TapTargetEffect;
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
import mage.abilities.keyword.FlashbackAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.counters.CounterType;
import mage.filter.StaticFilters;
import mage.target.TargetPermanent;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.targetpointer.FirstTargetPointer;
import mage.target.targetpointer.SecondTargetPointer;
import java.util.UUID;
/**
* @author LePwnerer
*/
public final class WinterthornBlessing extends CardImpl {
public WinterthornBlessing(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{G}{U}");
// Put a +1/+1 counter on up to one target creature you control. Tap up to one target creature you don't control, and that creature doesn't untap during its controller's next untap step.
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent(0, 1));
this.getSpellAbility().addTarget(new TargetPermanent(0, 1, StaticFilters.FILTER_CREATURE_YOU_DONT_CONTROL));
this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.P1P1.createInstance()).setTargetPointer(new FirstTargetPointer()));
this.getSpellAbility().addEffect(new TapTargetEffect().setTargetPointer(new SecondTargetPointer()).setText("tap up to one target creature you don't control"));
this.getSpellAbility().addEffect(new DontUntapInControllersNextUntapStepTargetEffect().setTargetPointer(new SecondTargetPointer()).setText("that creature doesn't untap during its controller's next untap step"));
// Flashback {1}{G}{U}
this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{1}{G}{U}")));
}
private WinterthornBlessing(final WinterthornBlessing card) {
super(card);
}
@Override
public WinterthornBlessing copy() {
return new WinterthornBlessing(this);
}
}

View file

@ -324,6 +324,7 @@ public final class InnistradMidnightHunt extends ExpansionSet {
cards.add(new SetCardInfo("Waildrifter", 55, Rarity.COMMON, mage.cards.w.Waildrifter.class));
cards.add(new SetCardInfo("Willow Geist", 207, Rarity.RARE, mage.cards.w.WillowGeist.class));
cards.add(new SetCardInfo("Wing Shredder", 169, Rarity.COMMON, mage.cards.w.WingShredder.class));
cards.add(new SetCardInfo("Winterthorn Blessing", 251, Rarity.UNCOMMON, mage.cards.w.WinterthornBlessing.class));
cards.add(new SetCardInfo("Wrenn and Seven", 208, Rarity.MYTHIC, mage.cards.w.WrennAndSeven.class));
cards.removeIf(setCardInfo -> unfinished.contains(setCardInfo.getName())); // remove when mechanic is fully implemented