[ECL] Implement Meek Attack

This commit is contained in:
theelk801 2026-01-07 21:55:02 -05:00
parent e4e5face38
commit 1c4a668647
2 changed files with 59 additions and 0 deletions

View file

@ -0,0 +1,55 @@
package mage.cards.m;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.PutCardIntoPlayWithHasteAndSacrificeEffect;
import mage.cards.Card;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreatureCard;
import mage.filter.predicate.Predicate;
import mage.game.Game;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class MeekAttack extends CardImpl {
private static final FilterCard filter = new FilterCreatureCard("creature card with total power and toughness 5 or less");
static {
filter.add(MeekAttackPredicate.instance);
}
public MeekAttack(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}");
// {1}{R}: You may put a creature card with total power and toughness 5 or less from your hand onto the battlefield. That creature gains haste. At the beginning of the next end step, sacrifice that creature.
this.addAbility(new SimpleActivatedAbility(new PutCardIntoPlayWithHasteAndSacrificeEffect(
filter, Duration.Custom, "That creature", "the creature"
), new ManaCostsImpl<>("{1}{R}")));
}
private MeekAttack(final MeekAttack card) {
super(card);
}
@Override
public MeekAttack copy() {
return new MeekAttack(this);
}
}
enum MeekAttackPredicate implements Predicate<Card> {
instance;
@Override
public boolean apply(Card input, Game game) {
return input.getToughness().getValue() + input.getPower().getValue() <= 5;
}
}

View file

@ -110,6 +110,10 @@ public final class LorwynEclipsed extends ExpansionSet {
cards.add(new SetCardInfo("Lavaleaper", 318, Rarity.RARE, mage.cards.l.Lavaleaper.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Liminal Hold", 24, Rarity.COMMON, mage.cards.l.LiminalHold.class));
cards.add(new SetCardInfo("Lys Alana Informant", 181, Rarity.COMMON, mage.cards.l.LysAlanaInformant.class));
cards.add(new SetCardInfo("Meek Attack", 151, Rarity.MYTHIC, mage.cards.m.MeekAttack.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Meek Attack", 319, Rarity.MYTHIC, mage.cards.m.MeekAttack.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Meek Attack", 388, Rarity.MYTHIC, mage.cards.m.MeekAttack.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Meek Attack", 398, Rarity.MYTHIC, mage.cards.m.MeekAttack.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Midnight Tilling", 182, Rarity.COMMON, mage.cards.m.MidnightTilling.class));
cards.add(new SetCardInfo("Mirrorform", 308, Rarity.MYTHIC, mage.cards.m.Mirrorform.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Mirrorform", 59, Rarity.MYTHIC, mage.cards.m.Mirrorform.class, NON_FULL_USE_VARIOUS));