mirror of
https://github.com/magefree/mage.git
synced 2025-12-22 03:22:00 -08:00
* Slaughter Games, Counterflux, Surpreme Verdict - Fixed not working "Can't be countered ability (fixes #413).
This commit is contained in:
parent
90924fc244
commit
cb15aecb06
4 changed files with 25 additions and 4 deletions
|
|
@ -34,7 +34,9 @@ import java.util.UUID;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Outcome;
|
import mage.constants.Outcome;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CantCounterSourceEffect;
|
import mage.abilities.effects.common.CantCounterSourceEffect;
|
||||||
import mage.abilities.effects.common.CounterTargetEffect;
|
import mage.abilities.effects.common.CounterTargetEffect;
|
||||||
|
|
@ -42,6 +44,7 @@ import mage.abilities.keyword.OverloadAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.constants.Rarity;
|
import mage.constants.Rarity;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
|
import mage.constants.Zone;
|
||||||
import mage.filter.FilterSpell;
|
import mage.filter.FilterSpell;
|
||||||
import mage.filter.predicate.permanent.ControllerPredicate;
|
import mage.filter.predicate.permanent.ControllerPredicate;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
|
@ -70,7 +73,11 @@ public class Counterflux extends CardImpl<mage.sets.returntoravnica.Counterflux>
|
||||||
this.color.setRed(true);
|
this.color.setRed(true);
|
||||||
|
|
||||||
// Counterflux can't be countered by spells or abilities.
|
// Counterflux can't be countered by spells or abilities.
|
||||||
this.getSpellAbility().addEffect(new CantCounterSourceEffect());
|
Effect effect = new CantCounterSourceEffect();
|
||||||
|
effect.setText("{this} can't be countered by spells or abilities");
|
||||||
|
Ability ability = new SimpleStaticAbility(Zone.STACK,effect);
|
||||||
|
ability.setRuleAtTheTop(true);
|
||||||
|
this.addAbility(ability);
|
||||||
|
|
||||||
// Counter target spell you don't control.
|
// Counter target spell you don't control.
|
||||||
this.getSpellAbility().addTarget(new TargetSpell(filter));
|
this.getSpellAbility().addTarget(new TargetSpell(filter));
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,8 @@ import mage.constants.Outcome;
|
||||||
import mage.constants.Rarity;
|
import mage.constants.Rarity;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.Mode;
|
import mage.abilities.Mode;
|
||||||
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.common.CantCounterSourceEffect;
|
import mage.abilities.effects.common.CantCounterSourceEffect;
|
||||||
import mage.abilities.effects.common.search.SearchTargetGraveyardHandLibraryForCardNameAndExileEffect;
|
import mage.abilities.effects.common.search.SearchTargetGraveyardHandLibraryForCardNameAndExileEffect;
|
||||||
import mage.cards.Card;
|
import mage.cards.Card;
|
||||||
|
|
@ -41,6 +43,7 @@ import mage.cards.CardImpl;
|
||||||
import mage.cards.repository.CardRepository;
|
import mage.cards.repository.CardRepository;
|
||||||
import mage.choices.Choice;
|
import mage.choices.Choice;
|
||||||
import mage.choices.ChoiceImpl;
|
import mage.choices.ChoiceImpl;
|
||||||
|
import mage.constants.Zone;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetOpponent;
|
import mage.target.common.TargetOpponent;
|
||||||
|
|
@ -59,7 +62,11 @@ public class SlaughterGames extends CardImpl<SlaughterGames> {
|
||||||
this.color.setRed(true);
|
this.color.setRed(true);
|
||||||
|
|
||||||
// Slaughter Games can't be countered by spells or abilities.
|
// Slaughter Games can't be countered by spells or abilities.
|
||||||
this.getSpellAbility().addEffect(new CantCounterSourceEffect());
|
Effect effect = new CantCounterSourceEffect();
|
||||||
|
effect.setText("{this} can't be countered by spells or abilities");
|
||||||
|
Ability ability = new SimpleStaticAbility(Zone.STACK,effect);
|
||||||
|
ability.setRuleAtTheTop(true);
|
||||||
|
this.addAbility(ability);
|
||||||
|
|
||||||
// Name a nonland card. Search target opponent's graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.
|
// Name a nonland card. Search target opponent's graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.
|
||||||
this.getSpellAbility().addEffect(new SlaughterGamesEffect());
|
this.getSpellAbility().addEffect(new SlaughterGamesEffect());
|
||||||
|
|
|
||||||
|
|
@ -29,11 +29,16 @@
|
||||||
package mage.sets.returntoravnica;
|
package mage.sets.returntoravnica;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import mage.abilities.Ability;
|
||||||
|
import mage.abilities.common.CantCounterAbility;
|
||||||
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
import mage.abilities.effects.Effect;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.Rarity;
|
import mage.constants.Rarity;
|
||||||
import mage.abilities.effects.common.CantCounterSourceEffect;
|
import mage.abilities.effects.common.CantCounterSourceEffect;
|
||||||
import mage.abilities.effects.common.DestroyAllEffect;
|
import mage.abilities.effects.common.DestroyAllEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
import mage.constants.Zone;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -50,7 +55,9 @@ public class SupremeVerdict extends CardImpl<SupremeVerdict> {
|
||||||
this.color.setBlue(true);
|
this.color.setBlue(true);
|
||||||
|
|
||||||
// Supreme Verdict can't be countered.
|
// Supreme Verdict can't be countered.
|
||||||
this.getSpellAbility().addEffect(new CantCounterSourceEffect());
|
Ability ability = new CantCounterAbility();
|
||||||
|
ability.setRuleAtTheTop(true);
|
||||||
|
this.addAbility(ability);
|
||||||
|
|
||||||
// Destroy all creatures.
|
// Destroy all creatures.
|
||||||
this.getSpellAbility().addEffect(new DestroyAllEffect(new FilterCreaturePermanent()));
|
this.getSpellAbility().addEffect(new DestroyAllEffect(new FilterCreaturePermanent()));
|
||||||
|
|
|
||||||
|
|
@ -28,9 +28,9 @@
|
||||||
|
|
||||||
package mage.abilities.common;
|
package mage.abilities.common;
|
||||||
|
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.abilities.StaticAbility;
|
import mage.abilities.StaticAbility;
|
||||||
import mage.abilities.effects.common.CantCounterSourceEffect;
|
import mage.abilities.effects.common.CantCounterSourceEffect;
|
||||||
|
import mage.constants.Zone;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue