From 328d90ba6a083bed771b698e2bbd958dbc08be87 Mon Sep 17 00:00:00 2001 From: cbt33 Date: Wed, 16 Oct 2013 14:22:57 -0400 Subject: [PATCH] Update RootSliver.java --- .../src/mage/sets/legions/RootSliver.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Mage.Sets/src/mage/sets/legions/RootSliver.java b/Mage.Sets/src/mage/sets/legions/RootSliver.java index 605774c461..6b95b76dca 100644 --- a/Mage.Sets/src/mage/sets/legions/RootSliver.java +++ b/Mage.Sets/src/mage/sets/legions/RootSliver.java @@ -31,20 +31,29 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.CantCounterControlledEffect; import mage.abilities.effects.common.CantCounterSourceEffect; -import mage.abilities.effects.common.continious.GainAbilityAllEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Rarity; import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; +import mage.filter.FilterSpell; +import mage.filter.FilterStackObject; +import mage.filter.predicate.mageobject.SubtypePredicate; /** * - * @author cbt33, BetaSteward (Combust) + * @author cbt33, BetaSteward (Autumn's Veil, Combust) */ public class RootSliver extends CardImpl { + + private static final FilterSpell filter = new FilterSpell("Sliver spells"); + + static { + filter.add(new SubtypePredicate("Sliver")); + } + public RootSliver(UUID ownerId) { super(ownerId, 137, "Root Sliver", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{G}"); @@ -56,10 +65,10 @@ public class RootSliver extends CardImpl { this.toughness = new MageInt(2); // Root Sliver can't be countered. - Ability ability = new SimpleStaticAbility(new SimpleStaticAbility(Zone.STACK, new CantCounterSourceEffect())); - this.addAbility(ability); + this.addAbility(new SimpleStaticAbility(Zone.STACK, new CantCounterSourceEffect())); // Sliver spells can't be countered by spells or abilities. - this.addAbility(new SimpleStaticAbility(Zone.STACK, new GainAbilityAllEffect(ability, Duration.WhileOnStack, new FilterCreaturePermanent("Sliver", "Sliver creatures")))); + this.addAbility(new SimpleStaticAbility(Zone.STACK, new CantCounterControlledEffect(filter, new FilterStackObject(), Duration.WhileOnBattlefield))); + } public RootSliver(final RootSliver card) { @@ -71,3 +80,4 @@ public class RootSliver extends CardImpl { return new RootSliver(this); } } +