[WHO] Implement Wilfred Mott (#13320)

This commit is contained in:
padfoothelix 2025-02-10 18:51:04 +01:00 committed by GitHub
parent 01f8308199
commit e2557c1d1b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 69 additions and 4 deletions

View file

@ -0,0 +1,65 @@
package mage.cards.w;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.CountersSourceCount;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.constants.PutCards;
import mage.counters.CounterType;
import mage.filter.FilterCard;
import mage.filter.common.FilterNonlandCard;
import mage.filter.predicate.mageobject.ManaValuePredicate;
import mage.filter.predicate.mageobject.PermanentPredicate;
/**
*
* @author padfoot
*/
public final class WilfredMott extends CardImpl {
private static final FilterCard filter = new FilterNonlandCard("nonland permanent card with mana value 3 or less");
private static final DynamicValue xValue = new CountersSourceCount(CounterType.TIME);
static {
filter.add(PermanentPredicate.instance);
filter.add(new ManaValuePredicate(ComparisonType.FEWER_THAN, 4));
}
public WilfredMott(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.SOLDIER);
this.power = new MageInt(2);
this.toughness = new MageInt(4);
// Look to the Stars -- At the beginning of your upkeep, put a time counter on Wilfred Mott. Then look at the top X cards of your library, where X is the number of time counters on Wilfred Mott. You may put a nonland permanent card with mana value 3 or less from among them onto the battlefield. Put the rest on the bottom of your library in a random order.
Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.TIME.createInstance())).withFlavorWord("Look to the Stars");
LookLibraryAndPickControllerEffect effect = new LookLibraryAndPickControllerEffect(xValue, 1, filter, PutCards.BATTLEFIELD, PutCards.BOTTOM_RANDOM);
effect.setText("Then look at the top X cards of your library, where X is the number of time counters on Wilfred Mott. " +
" You may put a nonland permanent card with mana value 3 or less from among them onto the battlefield. " +
" Put the rest on the bottom of your library in a random order.");
ability.addEffect(effect);
this.addAbility(ability);
}
private WilfredMott(final WilfredMott card) {
super(card);
}
@Override
public WilfredMott copy() {
return new WilfredMott(this);
}
}

View file

@ -1180,10 +1180,10 @@ public final class DoctorWho extends ExpansionSet {
cards.add(new SetCardInfo("Weeping Angel", 773, Rarity.RARE, mage.cards.w.WeepingAngel.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Wibbly-wobbly, Timey-wimey", 62, Rarity.COMMON, mage.cards.w.WibblyWobblyTimeyWimey.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Wibbly-wobbly, Timey-wimey", 667, Rarity.COMMON, mage.cards.w.WibblyWobblyTimeyWimey.class, NON_FULL_USE_VARIOUS));
//cards.add(new SetCardInfo("Wilfred Mott", 32, Rarity.RARE, mage.cards.w.WilfredMott.class, NON_FULL_USE_VARIOUS));
//cards.add(new SetCardInfo("Wilfred Mott", 350, Rarity.RARE, mage.cards.w.WilfredMott.class, NON_FULL_USE_VARIOUS));
//cards.add(new SetCardInfo("Wilfred Mott", 637, Rarity.RARE, mage.cards.w.WilfredMott.class, NON_FULL_USE_VARIOUS));
//cards.add(new SetCardInfo("Wilfred Mott", 941, Rarity.RARE, mage.cards.w.WilfredMott.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Wilfred Mott", 32, Rarity.RARE, mage.cards.w.WilfredMott.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Wilfred Mott", 350, Rarity.RARE, mage.cards.w.WilfredMott.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Wilfred Mott", 637, Rarity.RARE, mage.cards.w.WilfredMott.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Wilfred Mott", 941, Rarity.RARE, mage.cards.w.WilfredMott.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Wound Reflection", 1062, Rarity.RARE, mage.cards.w.WoundReflection.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Wound Reflection", 223, Rarity.RARE, mage.cards.w.WoundReflection.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Wound Reflection", 471, Rarity.RARE, mage.cards.w.WoundReflection.class, NON_FULL_USE_VARIOUS));