mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
[EOE] Implement Mutinous Massacre
This commit is contained in:
parent
9d7b8676b8
commit
323961e9a3
2 changed files with 88 additions and 0 deletions
84
Mage.Sets/src/mage/cards/m/MutinousMassacre.java
Normal file
84
Mage.Sets/src/mage/cards/m/MutinousMassacre.java
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
package mage.cards.m;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.OneShotEffect;
|
||||
import mage.abilities.effects.common.continuous.GainControlAllUntapGainHasteEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Outcome;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.filter.common.FilterCreaturePermanent;
|
||||
import mage.filter.predicate.mageobject.ManaValueParityPredicate;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class MutinousMassacre extends CardImpl {
|
||||
|
||||
public MutinousMassacre(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{B}{B}{R}{R}");
|
||||
|
||||
// Choose odd or even. Destroy each creature with mana value of the chosen quality. Then gain control of all creatures until end of turn. Untap them. They gain haste until end of turn.
|
||||
this.getSpellAbility().addEffect(new MutinousMassacreEffect());
|
||||
this.getSpellAbility().addEffect(new GainControlAllUntapGainHasteEffect(StaticFilters.FILTER_PERMANENT_CREATURES).concatBy("Then"));
|
||||
}
|
||||
|
||||
private MutinousMassacre(final MutinousMassacre card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MutinousMassacre copy() {
|
||||
return new MutinousMassacre(this);
|
||||
}
|
||||
}
|
||||
|
||||
class MutinousMassacreEffect extends OneShotEffect {
|
||||
|
||||
private static final FilterPermanent evenFilter = new FilterCreaturePermanent();
|
||||
private static final FilterPermanent oddFilter = new FilterCreaturePermanent();
|
||||
|
||||
static {
|
||||
evenFilter.add(ManaValueParityPredicate.EVEN);
|
||||
oddFilter.add(ManaValueParityPredicate.ODD);
|
||||
}
|
||||
|
||||
MutinousMassacreEffect() {
|
||||
super(Outcome.Benefit);
|
||||
staticText = "choose odd or even. Destroy each creature with mana value of the chosen quality";
|
||||
}
|
||||
|
||||
private MutinousMassacreEffect(final MutinousMassacreEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MutinousMassacreEffect copy() {
|
||||
return new MutinousMassacreEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Player player = game.getPlayer(source.getControllerId());
|
||||
if (player == null) {
|
||||
return false;
|
||||
}
|
||||
FilterPermanent filter = player.chooseUse(
|
||||
outcome, "Odd or even?", null,
|
||||
"Odd", "Even", source, game
|
||||
) ? oddFilter : evenFilter;
|
||||
for (Permanent permanent : game.getBattlefield().getActivePermanents(
|
||||
filter, source.getControllerId(), source, game
|
||||
)) {
|
||||
permanent.destroy(source, game);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -115,6 +115,10 @@ public final class EdgeOfEternities extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Mountain", 274, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Mountain", 370, Rarity.LAND, mage.cards.basiclands.Mountain.class, FULL_ART_BFZ_VARIOUS));
|
||||
cards.add(new SetCardInfo("Mouth of the Storm", 70, Rarity.UNCOMMON, mage.cards.m.MouthOfTheStorm.class));
|
||||
cards.add(new SetCardInfo("Mutinous Massacre", 222, Rarity.RARE, mage.cards.m.MutinousMassacre.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Mutinous Massacre", 314, Rarity.RARE, mage.cards.m.MutinousMassacre.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Mutinous Massacre", 363, Rarity.MYTHIC, mage.cards.m.MutinousMassacre.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Mutinous Massacre", 389, Rarity.MYTHIC, mage.cards.m.MutinousMassacre.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Nova Hellkite", 148, Rarity.RARE, mage.cards.n.NovaHellkite.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Nova Hellkite", 309, Rarity.RARE, mage.cards.n.NovaHellkite.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Nutrient Block", 243, Rarity.COMMON, mage.cards.n.NutrientBlock.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue