diff --git a/Mage.Sets/src/mage/sets/magic2014/BonescytheSliver.java b/Mage.Sets/src/mage/sets/magic2014/BonescytheSliver.java index f9f3eea3135..e034645b4a2 100644 --- a/Mage.Sets/src/mage/sets/magic2014/BonescytheSliver.java +++ b/Mage.Sets/src/mage/sets/magic2014/BonescytheSliver.java @@ -31,13 +31,16 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continious.GainAbilityAllEffect; +import mage.abilities.effects.common.continious.GainAbilityControlledEffect; import mage.abilities.keyword.DoubleStrikeAbility; +import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Rarity; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; /** @@ -46,14 +49,6 @@ import mage.filter.predicate.mageobject.SubtypePredicate; */ public class BonescytheSliver extends CardImpl { - static final private FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Sliver creatures you control"); - - static { - filter.add(new SubtypePredicate("Sliver")); - } - - private String rule = "Sliver creatures you control have double strike"; - public BonescytheSliver(UUID ownerId) { super(ownerId, 9, "Bonescythe Sliver", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{W}"); this.expansionSetCode = "M14"; @@ -64,7 +59,9 @@ public class BonescytheSliver extends CardImpl { this.toughness = new MageInt(2); // Sliver creatures you control have double strike. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, filter, rule))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, + new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), + Duration.WhileOnBattlefield, new FilterCreaturePermanent("Sliver","Sliver creatures")))); } public BonescytheSliver(final BonescytheSliver card) { diff --git a/Mage.Sets/src/mage/sets/magic2014/GaleriderSliver.java b/Mage.Sets/src/mage/sets/magic2014/GaleriderSliver.java index e50575c84a1..9ddb51840d3 100644 --- a/Mage.Sets/src/mage/sets/magic2014/GaleriderSliver.java +++ b/Mage.Sets/src/mage/sets/magic2014/GaleriderSliver.java @@ -46,11 +46,6 @@ import mage.filter.predicate.mageobject.SubtypePredicate; */ public class GaleriderSliver extends CardImpl { - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Sliver creatures"); - static { - filter.add(new SubtypePredicate("Sliver")); - } - public GaleriderSliver(UUID ownerId) { super(ownerId, 57, "Galerider Sliver", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{U}"); this.expansionSetCode = "M14"; @@ -61,7 +56,9 @@ public class GaleriderSliver extends CardImpl { this.toughness = new MageInt(1); // Sliver creatures you control have flying. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield, filter))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, + new GainAbilityControlledEffect(FlyingAbility.getInstance(), + Duration.WhileOnBattlefield, new FilterCreaturePermanent("Sliver","Sliver creatures")))); } public GaleriderSliver(final GaleriderSliver card) { diff --git a/Mage.Sets/src/mage/sets/magic2014/GroundshakerSliver.java b/Mage.Sets/src/mage/sets/magic2014/GroundshakerSliver.java index 884599be3a6..4f1d2dd8fc5 100644 --- a/Mage.Sets/src/mage/sets/magic2014/GroundshakerSliver.java +++ b/Mage.Sets/src/mage/sets/magic2014/GroundshakerSliver.java @@ -31,6 +31,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continious.GainAbilityControlledEffect; +import mage.abilities.keyword.FirstStrikeAbility; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.constants.CardType; @@ -46,11 +47,6 @@ import mage.filter.predicate.mageobject.SubtypePredicate; */ public class GroundshakerSliver extends CardImpl { - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Sliver creatures"); - static { - filter.add(new SubtypePredicate("Sliver")); - } - public GroundshakerSliver(UUID ownerId) { super(ownerId, 177, "Groundshaker Sliver", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{6}{G}"); this.expansionSetCode = "M14"; @@ -62,7 +58,8 @@ public class GroundshakerSliver extends CardImpl { // Sliver creatures you control have trample. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield, filter))); + new GainAbilityControlledEffect(TrampleAbility.getInstance(), + Duration.WhileOnBattlefield, new FilterCreaturePermanent("Sliver","Sliver creatures")))); } public GroundshakerSliver(final GroundshakerSliver card) { diff --git a/Mage.Sets/src/mage/sets/magic2014/ManaweftSliver.java b/Mage.Sets/src/mage/sets/magic2014/ManaweftSliver.java index c40f6c35075..ad1cdc1b32e 100644 --- a/Mage.Sets/src/mage/sets/magic2014/ManaweftSliver.java +++ b/Mage.Sets/src/mage/sets/magic2014/ManaweftSliver.java @@ -29,6 +29,7 @@ package mage.sets.magic2014; import java.util.UUID; import mage.MageInt; +import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continious.GainAbilityAllEffect; import mage.abilities.mana.AnyColorManaAbility; @@ -37,8 +38,7 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Rarity; import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.common.FilterControlledCreaturePermanent; /** * @@ -46,11 +46,6 @@ import mage.filter.predicate.mageobject.SubtypePredicate; */ public class ManaweftSliver extends CardImpl { - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Sliver creatures"); - static { - filter.add(new SubtypePredicate("Sliver")); - } - public ManaweftSliver(UUID ownerId) { super(ownerId, 184, "Manaweft Sliver", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{G}"); this.expansionSetCode = "M14"; @@ -61,8 +56,11 @@ public class ManaweftSliver extends CardImpl { this.toughness = new MageInt(1); // Sliver creatures you control have "{T}: Add one mana of any color to your mana pool." + Ability ability = new AnyColorManaAbility(); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new GainAbilityAllEffect(new AnyColorManaAbility(), Duration.WhileOnBattlefield, filter))); + new GainAbilityAllEffect(ability, + Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("Sliver","Sliver creatures"), + "Sliver creatures you control have \"{T}: Add one mana of any color to your mana pool.\""))); } public ManaweftSliver(final ManaweftSliver card) { diff --git a/Mage.Sets/src/mage/sets/magic2014/MeganticSliver.java b/Mage.Sets/src/mage/sets/magic2014/MeganticSliver.java index 04d475a868d..14db5b024b5 100644 --- a/Mage.Sets/src/mage/sets/magic2014/MeganticSliver.java +++ b/Mage.Sets/src/mage/sets/magic2014/MeganticSliver.java @@ -37,7 +37,6 @@ import mage.constants.Duration; import mage.constants.Rarity; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; /** * @@ -45,11 +44,6 @@ import mage.filter.predicate.mageobject.SubtypePredicate; */ public class MeganticSliver extends CardImpl { - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Sliver creatures"); - static { - filter.add(new SubtypePredicate("Sliver")); - } - public MeganticSliver(UUID ownerId) { super(ownerId, 185, "Megantic Sliver", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{5}{G}"); this.expansionSetCode = "M14"; @@ -60,10 +54,8 @@ public class MeganticSliver extends CardImpl { this.toughness = new MageInt(3); // Sliver creatures you control get +3/+3. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(3,3, Duration.WhileInGraveyard, filter))); - - - + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, + new BoostControlledEffect(3,3, Duration.WhileInGraveyard, new FilterCreaturePermanent("Sliver","Sliver creatures")))); } public MeganticSliver(final MeganticSliver card) { diff --git a/Mage.Sets/src/mage/sets/magic2014/SteelformSliver.java b/Mage.Sets/src/mage/sets/magic2014/SteelformSliver.java index 36186afb6cb..8844ddcf5f0 100644 --- a/Mage.Sets/src/mage/sets/magic2014/SteelformSliver.java +++ b/Mage.Sets/src/mage/sets/magic2014/SteelformSliver.java @@ -30,7 +30,6 @@ package mage.sets.magic2014; import java.util.UUID; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.continious.BoostAllEffect; import mage.abilities.effects.common.continious.BoostControlledEffect; import mage.cards.CardImpl; import mage.constants.CardType; @@ -55,7 +54,9 @@ public class SteelformSliver extends CardImpl { this.toughness = new MageInt(2); // Sliver creatures you control get +0/+1. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield, new FilterCreaturePermanent("Sliver", "Sliver creatures you control"), false))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, + new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield, + new FilterCreaturePermanent("Sliver", "Sliver creatures you control"), false))); } public SteelformSliver(final SteelformSliver card) { diff --git a/Mage.Sets/src/mage/sets/magic2014/SyphonSliver.java b/Mage.Sets/src/mage/sets/magic2014/SyphonSliver.java index eae2404984d..a4a1d3f77aa 100644 --- a/Mage.Sets/src/mage/sets/magic2014/SyphonSliver.java +++ b/Mage.Sets/src/mage/sets/magic2014/SyphonSliver.java @@ -31,6 +31,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continious.GainAbilityControlledEffect; +import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.constants.CardType; @@ -46,11 +47,6 @@ import mage.filter.predicate.mageobject.SubtypePredicate; */ public class SyphonSliver extends CardImpl { - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Sliver creatures"); - static { - filter.add(new SubtypePredicate("Sliver")); - } - public SyphonSliver(UUID ownerId) { super(ownerId, 117, "Syphon Sliver", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{B}"); this.expansionSetCode = "M14"; @@ -61,7 +57,9 @@ public class SyphonSliver extends CardImpl { this.toughness = new MageInt(2); // Sliver creatures you control have lifelink. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.WhileOnBattlefield, filter))); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, + new GainAbilityControlledEffect(LifelinkAbility.getInstance(), + Duration.WhileOnBattlefield, new FilterCreaturePermanent("Sliver","Sliver creatures")))); } public SyphonSliver(final SyphonSliver card) {