From cb15aecb06b4083061822a44d1ddc2048eed127c Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 19 Apr 2014 10:58:23 +0200 Subject: [PATCH] * Slaughter Games, Counterflux, Surpreme Verdict - Fixed not working "Can't be countered ability (fixes #413). --- Mage.Sets/src/mage/sets/returntoravnica/Counterflux.java | 9 ++++++++- .../src/mage/sets/returntoravnica/SlaughterGames.java | 9 ++++++++- .../src/mage/sets/returntoravnica/SupremeVerdict.java | 9 ++++++++- Mage/src/mage/abilities/common/CantCounterAbility.java | 2 +- 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/Mage.Sets/src/mage/sets/returntoravnica/Counterflux.java b/Mage.Sets/src/mage/sets/returntoravnica/Counterflux.java index 04fe67527bd..b26944ea0f1 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/Counterflux.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/Counterflux.java @@ -34,7 +34,9 @@ import java.util.UUID; import mage.constants.CardType; import mage.constants.Outcome; import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CantCounterSourceEffect; import mage.abilities.effects.common.CounterTargetEffect; @@ -42,6 +44,7 @@ import mage.abilities.keyword.OverloadAbility; import mage.cards.CardImpl; import mage.constants.Rarity; import mage.constants.TargetController; +import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.predicate.permanent.ControllerPredicate; import mage.game.Game; @@ -70,7 +73,11 @@ public class Counterflux extends CardImpl this.color.setRed(true); // 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. this.getSpellAbility().addTarget(new TargetSpell(filter)); diff --git a/Mage.Sets/src/mage/sets/returntoravnica/SlaughterGames.java b/Mage.Sets/src/mage/sets/returntoravnica/SlaughterGames.java index 04bfe359ad9..a9d55420b5f 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/SlaughterGames.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/SlaughterGames.java @@ -34,6 +34,8 @@ import mage.constants.Outcome; import mage.constants.Rarity; import mage.abilities.Ability; 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.search.SearchTargetGraveyardHandLibraryForCardNameAndExileEffect; import mage.cards.Card; @@ -41,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.repository.CardRepository; import mage.choices.Choice; import mage.choices.ChoiceImpl; +import mage.constants.Zone; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetOpponent; @@ -59,7 +62,11 @@ public class SlaughterGames extends CardImpl { this.color.setRed(true); // 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. this.getSpellAbility().addEffect(new SlaughterGamesEffect()); diff --git a/Mage.Sets/src/mage/sets/returntoravnica/SupremeVerdict.java b/Mage.Sets/src/mage/sets/returntoravnica/SupremeVerdict.java index 872fbf4ac3f..decd514035b 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/SupremeVerdict.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/SupremeVerdict.java @@ -29,11 +29,16 @@ package mage.sets.returntoravnica; 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.Rarity; import mage.abilities.effects.common.CantCounterSourceEffect; import mage.abilities.effects.common.DestroyAllEffect; import mage.cards.CardImpl; +import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; /** @@ -50,7 +55,9 @@ public class SupremeVerdict extends CardImpl { this.color.setBlue(true); // Supreme Verdict can't be countered. - this.getSpellAbility().addEffect(new CantCounterSourceEffect()); + Ability ability = new CantCounterAbility(); + ability.setRuleAtTheTop(true); + this.addAbility(ability); // Destroy all creatures. this.getSpellAbility().addEffect(new DestroyAllEffect(new FilterCreaturePermanent())); diff --git a/Mage/src/mage/abilities/common/CantCounterAbility.java b/Mage/src/mage/abilities/common/CantCounterAbility.java index 94d576c1749..bfa059efc0d 100644 --- a/Mage/src/mage/abilities/common/CantCounterAbility.java +++ b/Mage/src/mage/abilities/common/CantCounterAbility.java @@ -28,9 +28,9 @@ package mage.abilities.common; -import mage.constants.Zone; import mage.abilities.StaticAbility; import mage.abilities.effects.common.CantCounterSourceEffect; +import mage.constants.Zone; /** *