diff --git a/Mage.Sets/src/mage/cards/b/BloomHulk.java b/Mage.Sets/src/mage/cards/b/BloomHulk.java
index 6c991a9536a..c5631c3dc14 100644
--- a/Mage.Sets/src/mage/cards/b/BloomHulk.java
+++ b/Mage.Sets/src/mage/cards/b/BloomHulk.java
@@ -23,7 +23,7 @@ public final class BloomHulk extends CardImpl {
this.power = new MageInt(4);
this.toughness = new MageInt(4);
- // When Bloom Hulk enters the battlefield, proliferate.
+ // When Bloom Hulk enters the battlefield, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
this.addAbility(new EntersBattlefieldTriggeredAbility(new ProliferateEffect()));
}
diff --git a/Mage.Sets/src/mage/cards/c/ContagionEngine.java b/Mage.Sets/src/mage/cards/c/ContagionEngine.java
index c01a51ed040..96c31fe3e67 100644
--- a/Mage.Sets/src/mage/cards/c/ContagionEngine.java
+++ b/Mage.Sets/src/mage/cards/c/ContagionEngine.java
@@ -1,4 +1,3 @@
-
package mage.cards.c;
import mage.abilities.Ability;
@@ -36,9 +35,9 @@ public final class ContagionEngine extends CardImpl {
this.addAbility(ability);
// {4}, {T}: Proliferate, then proliferate again. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there. Then do it again.)
- ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ProliferateEffect().setText("proliferate,"), new GenericManaCost(4));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ProliferateEffect("", false), new GenericManaCost(4));
ability.addCost(new TapSourceCost());
- ability.addEffect(new ProliferateEffect().setText("then proliferate again (Choose any number of permanents and/or players, then give each another counter of each kind already there. Then do it again.)"));
+ ability.addEffect(new ProliferateEffect(" again", true).concatBy(", then"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/c/ContentiousPlan.java b/Mage.Sets/src/mage/cards/c/ContentiousPlan.java
index ec04ee97bae..dc9573d5585 100644
--- a/Mage.Sets/src/mage/cards/c/ContentiousPlan.java
+++ b/Mage.Sets/src/mage/cards/c/ContentiousPlan.java
@@ -1,23 +1,22 @@
package mage.cards.c;
-import java.util.UUID;
+import mage.abilities.effects.common.DrawCardSourceControllerEffect;
+import mage.abilities.effects.common.counter.ProliferateEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
-import mage.abilities.effects.common.counter.ProliferateEffect;
-import mage.abilities.effects.common.DrawCardSourceControllerEffect;
+import java.util.UUID;
/**
- *
* @author antoni-g
*/
public final class ContentiousPlan extends CardImpl {
public ContentiousPlan(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{U}");
-
- // Proliferate.
+
+ // Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
this.getSpellAbility().addEffect(new ProliferateEffect());
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
diff --git a/Mage.Sets/src/mage/cards/c/CoreProwler.java b/Mage.Sets/src/mage/cards/c/CoreProwler.java
index 0354d8b1765..963b642bbe0 100644
--- a/Mage.Sets/src/mage/cards/c/CoreProwler.java
+++ b/Mage.Sets/src/mage/cards/c/CoreProwler.java
@@ -1,8 +1,5 @@
-
-
package mage.cards.c;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.DiesTriggeredAbility;
import mage.abilities.effects.common.counter.ProliferateEffect;
@@ -12,22 +9,27 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
+import java.util.UUID;
+
/**
- *
* @author Loki
*/
public final class CoreProwler extends CardImpl {
- public CoreProwler (UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}");
+ public CoreProwler(UUID ownerId, CardSetInfo setInfo) {
+ super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}");
this.subtype.add(SubType.HORROR);
this.power = new MageInt(2);
this.toughness = new MageInt(2);
+
+ // Infect (This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.)
this.addAbility(InfectAbility.getInstance());
+
+ // When Core Prowler dies, proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
this.addAbility(new DiesTriggeredAbility(new ProliferateEffect()));
}
- public CoreProwler (final CoreProwler card) {
+ public CoreProwler(final CoreProwler card) {
super(card);
}
diff --git a/Mage.Sets/src/mage/cards/c/CourageInCrisis.java b/Mage.Sets/src/mage/cards/c/CourageInCrisis.java
index 5df69ea2497..9b10852d117 100644
--- a/Mage.Sets/src/mage/cards/c/CourageInCrisis.java
+++ b/Mage.Sets/src/mage/cards/c/CourageInCrisis.java
@@ -18,7 +18,7 @@ public final class CourageInCrisis extends CardImpl {
public CourageInCrisis(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{G}");
- // Put a +1/+1 counter on target creature, then proliferate.
+ // Put a +1/+1 counter on target creature, then proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.P1P1.createInstance()));
this.getSpellAbility().addEffect(new ProliferateEffect().concatBy(", then"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
diff --git a/Mage.Sets/src/mage/cards/e/EvolutionSage.java b/Mage.Sets/src/mage/cards/e/EvolutionSage.java
index 344522b3d01..9bda0606215 100644
--- a/Mage.Sets/src/mage/cards/e/EvolutionSage.java
+++ b/Mage.Sets/src/mage/cards/e/EvolutionSage.java
@@ -29,7 +29,7 @@ public final class EvolutionSage extends CardImpl {
this.power = new MageInt(3);
this.toughness = new MageInt(2);
- // Whenever a land enters the battlefield under your control, proliferate.
+ // Whenever a land enters the battlefield under your control, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
this.addAbility(new EntersBattlefieldAllTriggeredAbility(
Zone.BATTLEFIELD, new ProliferateEffect(), filter,
false, null, true
diff --git a/Mage.Sets/src/mage/cards/f/FluxChanneler.java b/Mage.Sets/src/mage/cards/f/FluxChanneler.java
index fa7ab3bceb3..db14684b2f0 100644
--- a/Mage.Sets/src/mage/cards/f/FluxChanneler.java
+++ b/Mage.Sets/src/mage/cards/f/FluxChanneler.java
@@ -24,7 +24,7 @@ public final class FluxChanneler extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(2);
- // Whenever you cast a noncreature spell, proliferate.
+ // Whenever you cast a noncreature spell, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
this.addAbility(new SpellCastControllerTriggeredAbility(
new ProliferateEffect(), StaticFilters.FILTER_SPELL_NON_CREATURE, false
));
diff --git a/Mage.Sets/src/mage/cards/f/FuelForTheCause.java b/Mage.Sets/src/mage/cards/f/FuelForTheCause.java
index a536fa6bc9c..e60955e6e7d 100644
--- a/Mage.Sets/src/mage/cards/f/FuelForTheCause.java
+++ b/Mage.Sets/src/mage/cards/f/FuelForTheCause.java
@@ -1,8 +1,5 @@
-
-
package mage.cards.f;
-import java.util.UUID;
import mage.abilities.effects.common.CounterTargetEffect;
import mage.abilities.effects.common.counter.ProliferateEffect;
import mage.cards.CardImpl;
@@ -10,21 +7,23 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.TargetSpell;
+import java.util.UUID;
+
/**
- *
* @author Loki
*/
public final class FuelForTheCause extends CardImpl {
- public FuelForTheCause (UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{U}{U}");
+ public FuelForTheCause(UUID ownerId, CardSetInfo setInfo) {
+ super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}{U}");
+ // Counter target spell, then proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
this.getSpellAbility().addTarget(new TargetSpell());
this.getSpellAbility().addEffect(new CounterTargetEffect());
- this.getSpellAbility().addEffect(new ProliferateEffect());
+ this.getSpellAbility().addEffect(new ProliferateEffect().concatBy(", then"));
}
- public FuelForTheCause (final FuelForTheCause card) {
+ public FuelForTheCause(final FuelForTheCause card) {
super(card);
}
diff --git a/Mage.Sets/src/mage/cards/g/GratefulApparition.java b/Mage.Sets/src/mage/cards/g/GratefulApparition.java
index e62269bec76..5e96f199cb7 100644
--- a/Mage.Sets/src/mage/cards/g/GratefulApparition.java
+++ b/Mage.Sets/src/mage/cards/g/GratefulApparition.java
@@ -26,7 +26,7 @@ public final class GratefulApparition extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
- // Whenever Grateful Apparition deals combat damage to a player or planeswalker, proliferate.
+ // Whenever Grateful Apparition deals combat damage to a player or planeswalker, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
new ProliferateEffect(), false
).setOrPlaneswalker(true));
diff --git a/Mage.Sets/src/mage/cards/g/GrimAffliction.java b/Mage.Sets/src/mage/cards/g/GrimAffliction.java
index e67c97ea19e..38adaf2ac6f 100644
--- a/Mage.Sets/src/mage/cards/g/GrimAffliction.java
+++ b/Mage.Sets/src/mage/cards/g/GrimAffliction.java
@@ -1,4 +1,3 @@
-
package mage.cards.g;
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
@@ -19,9 +18,10 @@ public final class GrimAffliction extends CardImpl {
public GrimAffliction(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{B}");
- this.getSpellAbility().addTarget(new TargetCreaturePermanent());
+ // Put a -1/-1 counter on target creature, then proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.M1M1.createInstance()));
this.getSpellAbility().addEffect(new ProliferateEffect().concatBy(", then"));
+ this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
public GrimAffliction(final GrimAffliction card) {
diff --git a/Mage.Sets/src/mage/cards/g/GuildpactInformant.java b/Mage.Sets/src/mage/cards/g/GuildpactInformant.java
index 46ad1ce289d..47d833255f3 100644
--- a/Mage.Sets/src/mage/cards/g/GuildpactInformant.java
+++ b/Mage.Sets/src/mage/cards/g/GuildpactInformant.java
@@ -27,7 +27,7 @@ public final class GuildpactInformant extends CardImpl {
// Flying
this.addAbility(FlyingAbility.getInstance());
- // Whenever Guildpact Informant deals combat damage to a player or planeswalker, proliferate.
+ // Whenever Guildpact Informant deals combat damage to a player or planeswalker, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
new ProliferateEffect(), false
).setOrPlaneswalker(true));
diff --git a/Mage.Sets/src/mage/cards/h/HuatlisRaptor.java b/Mage.Sets/src/mage/cards/h/HuatlisRaptor.java
index ede01b7b31e..886fccf0d1a 100644
--- a/Mage.Sets/src/mage/cards/h/HuatlisRaptor.java
+++ b/Mage.Sets/src/mage/cards/h/HuatlisRaptor.java
@@ -26,7 +26,7 @@ public final class HuatlisRaptor extends CardImpl {
// Vigilance
this.addAbility(VigilanceAbility.getInstance());
- // When Huatli's Raptor enters the battlefield, proliferate.
+ // When Huatli's Raptor enters the battlefield, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
this.addAbility(new EntersBattlefieldTriggeredAbility(new ProliferateEffect()));
}
diff --git a/Mage.Sets/src/mage/cards/i/InexorableTide.java b/Mage.Sets/src/mage/cards/i/InexorableTide.java
index 066b4b53d52..48bfa92cf53 100644
--- a/Mage.Sets/src/mage/cards/i/InexorableTide.java
+++ b/Mage.Sets/src/mage/cards/i/InexorableTide.java
@@ -1,28 +1,26 @@
-
-
package mage.cards.i;
-import java.util.UUID;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.effects.common.counter.ProliferateEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
+import java.util.UUID;
+
/**
- *
* @author Loki, North
*/
public final class InexorableTide extends CardImpl {
- public InexorableTide (UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}{U}");
-
+ public InexorableTide(UUID ownerId, CardSetInfo setInfo) {
+ super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}{U}");
+ // Whenever you cast a spell, proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
this.addAbility(new SpellCastControllerTriggeredAbility(new ProliferateEffect(), false));
}
- public InexorableTide (final InexorableTide card) {
+ public InexorableTide(final InexorableTide card) {
super(card);
}
diff --git a/Mage.Sets/src/mage/cards/k/KarnsBastion.java b/Mage.Sets/src/mage/cards/k/KarnsBastion.java
index c57110985fb..4b5269cd16d 100644
--- a/Mage.Sets/src/mage/cards/k/KarnsBastion.java
+++ b/Mage.Sets/src/mage/cards/k/KarnsBastion.java
@@ -23,7 +23,7 @@ public final class KarnsBastion extends CardImpl {
// {T}: Add {C}.
this.addAbility(new ColorlessManaAbility());
- // {4}, {T}: Proliferate.
+ // {4}, {T}: Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
Ability ability = new SimpleActivatedAbility(new ProliferateEffect(), new GenericManaCost(4));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/k/KiorasDambreaker.java b/Mage.Sets/src/mage/cards/k/KiorasDambreaker.java
index 8250c2bbe59..0dcf40c3cc7 100644
--- a/Mage.Sets/src/mage/cards/k/KiorasDambreaker.java
+++ b/Mage.Sets/src/mage/cards/k/KiorasDambreaker.java
@@ -22,7 +22,7 @@ public final class KiorasDambreaker extends CardImpl {
this.power = new MageInt(5);
this.toughness = new MageInt(6);
- // When Kiora's Dreammaker enters the battlefield, proliferate.
+ // When Kiora's Dreammaker enters the battlefield, proliferate. (Choose any number of permanents and/or players, then give each a counter of each kind already there.)
this.addAbility(new EntersBattlefieldTriggeredAbility(new ProliferateEffect()));
}
diff --git a/Mage.Sets/src/mage/cards/m/MartyrForTheCause.java b/Mage.Sets/src/mage/cards/m/MartyrForTheCause.java
index 383101829ff..19a17d1ec8a 100644
--- a/Mage.Sets/src/mage/cards/m/MartyrForTheCause.java
+++ b/Mage.Sets/src/mage/cards/m/MartyrForTheCause.java
@@ -23,7 +23,7 @@ public final class MartyrForTheCause extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(2);
- // When Martyr for the Cause dies, proliferate.
+ // When Martyr for the Cause dies, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
this.addAbility(new DiesTriggeredAbility(new ProliferateEffect()));
}
diff --git a/Mage.Sets/src/mage/cards/m/MerfolkSkydiver.java b/Mage.Sets/src/mage/cards/m/MerfolkSkydiver.java
index 8f4b86dc5d7..cd2952e5a43 100644
--- a/Mage.Sets/src/mage/cards/m/MerfolkSkydiver.java
+++ b/Mage.Sets/src/mage/cards/m/MerfolkSkydiver.java
@@ -40,7 +40,7 @@ public final class MerfolkSkydiver extends CardImpl {
ability.addTarget(new TargetControlledCreaturePermanent());
this.addAbility(ability);
- // {3}{G}{U}: Proliferate.
+ // {3}{G}{U}: Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
this.addAbility(new SimpleActivatedAbility(new ProliferateEffect(), new ManaCostsImpl("{3}{G}{U}")));
}
diff --git a/Mage.Sets/src/mage/cards/p/PlaguemawBeast.java b/Mage.Sets/src/mage/cards/p/PlaguemawBeast.java
index 8bbb6cb49ec..2a5dabc4032 100644
--- a/Mage.Sets/src/mage/cards/p/PlaguemawBeast.java
+++ b/Mage.Sets/src/mage/cards/p/PlaguemawBeast.java
@@ -1,7 +1,5 @@
-
package mage.cards.p;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
@@ -13,11 +11,13 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
-import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
import mage.target.common.TargetControlledCreaturePermanent;
+import java.util.UUID;
+
+import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT;
+
/**
- *
* @author Loki
*/
public final class PlaguemawBeast extends CardImpl {
@@ -28,6 +28,8 @@ public final class PlaguemawBeast extends CardImpl {
this.power = new MageInt(4);
this.toughness = new MageInt(3);
+
+ // {T}, Sacrifice a creature: Proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ProliferateEffect(), new TapSourceCost());
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/p/PlanewideCelebration.java b/Mage.Sets/src/mage/cards/p/PlanewideCelebration.java
index 503edf298c7..bc782470193 100644
--- a/Mage.Sets/src/mage/cards/p/PlanewideCelebration.java
+++ b/Mage.Sets/src/mage/cards/p/PlanewideCelebration.java
@@ -39,7 +39,7 @@ public final class PlanewideCelebration extends CardImpl {
this.getSpellAbility().addMode(mode);
// • Proliferate.
- this.getSpellAbility().addMode(new Mode(new ProliferateEffect()));
+ this.getSpellAbility().addMode(new Mode(new ProliferateEffect(false)));
// • You gain 4 life.
this.getSpellAbility().addMode(new Mode(new GainLifeEffect(4)));
diff --git a/Mage.Sets/src/mage/cards/p/PollenbrightDruid.java b/Mage.Sets/src/mage/cards/p/PollenbrightDruid.java
index 2669624b02a..cb51f26780d 100644
--- a/Mage.Sets/src/mage/cards/p/PollenbrightDruid.java
+++ b/Mage.Sets/src/mage/cards/p/PollenbrightDruid.java
@@ -35,7 +35,7 @@ public final class PollenbrightDruid extends CardImpl {
);
ability.addTarget(new TargetCreaturePermanent());
- // • Proliferate.
+ // • Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
ability.addMode(new Mode(new ProliferateEffect()));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/r/RoaleskApexHybrid.java b/Mage.Sets/src/mage/cards/r/RoaleskApexHybrid.java
index fd13160d275..6c77689b4a1 100644
--- a/Mage.Sets/src/mage/cards/r/RoaleskApexHybrid.java
+++ b/Mage.Sets/src/mage/cards/r/RoaleskApexHybrid.java
@@ -55,12 +55,9 @@ public final class RoaleskApexHybrid extends CardImpl {
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
- // When Roalsk dies, proliferate, then proliferate again.
- ability = new DiesTriggeredAbility(new ProliferateEffect().setText("proliferate,"));
- ability.addEffect(new ProliferateEffect().setText(
- "then proliferate again (Choose any number of permanents and/or players, " +
- "then give each another counter of each kind already there. Then do it again.)"
- ));
+ // When Roalsk dies, proliferate, then proliferate again. (Choose any number of permanents and/or players, then give each another counter of each kind already there. Then do it again.)
+ ability = new DiesTriggeredAbility(new ProliferateEffect(false));
+ ability.addEffect(new ProliferateEffect(" again", true).concatBy(", then"));
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/cards/s/SpreadTheSickness.java b/Mage.Sets/src/mage/cards/s/SpreadTheSickness.java
index 1b56e195a49..eb97e23df1c 100644
--- a/Mage.Sets/src/mage/cards/s/SpreadTheSickness.java
+++ b/Mage.Sets/src/mage/cards/s/SpreadTheSickness.java
@@ -1,8 +1,5 @@
-
-
package mage.cards.s;
-import java.util.UUID;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.counter.ProliferateEffect;
import mage.cards.CardImpl;
@@ -10,21 +7,23 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetCreaturePermanent;
+import java.util.UUID;
+
/**
- *
* @author Loki
*/
public final class SpreadTheSickness extends CardImpl {
- public SpreadTheSickness (UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{4}{B}");
+ public SpreadTheSickness(UUID ownerId, CardSetInfo setInfo) {
+ super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{B}");
+ // Destroy target creature, then proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
this.getSpellAbility().addEffect(new DestroyTargetEffect());
- this.getSpellAbility().addEffect(new ProliferateEffect());
+ this.getSpellAbility().addEffect(new ProliferateEffect().concatBy(", then"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
- public SpreadTheSickness (final SpreadTheSickness card) {
+ public SpreadTheSickness(final SpreadTheSickness card) {
super(card);
}
diff --git a/Mage.Sets/src/mage/cards/t/TezzeretsGambit.java b/Mage.Sets/src/mage/cards/t/TezzeretsGambit.java
index d616e448d70..c481b3bc77b 100644
--- a/Mage.Sets/src/mage/cards/t/TezzeretsGambit.java
+++ b/Mage.Sets/src/mage/cards/t/TezzeretsGambit.java
@@ -1,24 +1,24 @@
-
package mage.cards.t;
-import java.util.UUID;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.counter.ProliferateEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
+import java.util.UUID;
+
/**
- *
* @author North
*/
public final class TezzeretsGambit extends CardImpl {
public TezzeretsGambit(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{U/P}");
+ super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{U/P}");
+ // Draw two cards, then proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2));
- this.getSpellAbility().addEffect(new ProliferateEffect());
+ this.getSpellAbility().addEffect(new ProliferateEffect().concatBy(", then"));
}
public TezzeretsGambit(final TezzeretsGambit card) {
diff --git a/Mage.Sets/src/mage/cards/t/ThroneOfGeth.java b/Mage.Sets/src/mage/cards/t/ThroneOfGeth.java
index 329851cf1b1..b71086bd713 100644
--- a/Mage.Sets/src/mage/cards/t/ThroneOfGeth.java
+++ b/Mage.Sets/src/mage/cards/t/ThroneOfGeth.java
@@ -1,8 +1,5 @@
-
-
package mage.cards.t;
-import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeTargetCost;
@@ -16,8 +13,9 @@ import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.target.common.TargetControlledPermanent;
+import java.util.UUID;
+
/**
- *
* @author Loki
*/
public final class ThroneOfGeth extends CardImpl {
@@ -30,9 +28,9 @@ public final class ThroneOfGeth extends CardImpl {
public ThroneOfGeth(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}");
+ super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}");
- // {T}, Sacrifice an artifact: Proliferate.
+ // {T}, Sacrifice an artifact: Proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ProliferateEffect(), new TapSourceCost());
ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
this.addAbility(ability);
diff --git a/Mage.Sets/src/mage/cards/t/Thrummingbird.java b/Mage.Sets/src/mage/cards/t/Thrummingbird.java
index 9156fc33e5a..15be366d090 100644
--- a/Mage.Sets/src/mage/cards/t/Thrummingbird.java
+++ b/Mage.Sets/src/mage/cards/t/Thrummingbird.java
@@ -1,8 +1,5 @@
-
-
package mage.cards.t;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
import mage.abilities.effects.common.counter.ProliferateEffect;
@@ -12,20 +9,25 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
+import java.util.UUID;
+
/**
* @author Loki, nantuko, North
*/
public final class Thrummingbird extends CardImpl {
public Thrummingbird(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}");
+ super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}");
this.subtype.add(SubType.BIRD);
this.subtype.add(SubType.HORROR);
this.power = new MageInt(1);
this.toughness = new MageInt(1);
+ // Flying
this.addAbility(FlyingAbility.getInstance());
+
+ // Whenever Thrummingbird deals combat damage to a player, proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new ProliferateEffect(), false));
}
diff --git a/Mage.Sets/src/mage/cards/v/ViralDrake.java b/Mage.Sets/src/mage/cards/v/ViralDrake.java
index 251ae892463..ea734a75cb4 100644
--- a/Mage.Sets/src/mage/cards/v/ViralDrake.java
+++ b/Mage.Sets/src/mage/cards/v/ViralDrake.java
@@ -1,7 +1,5 @@
-
package mage.cards.v;
-import java.util.UUID;
import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
@@ -14,21 +12,27 @@ import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
+import java.util.UUID;
+
/**
- *
* @author North
*/
public final class ViralDrake extends CardImpl {
public ViralDrake(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}");
+ super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}");
this.subtype.add(SubType.DRAKE);
this.power = new MageInt(1);
this.toughness = new MageInt(4);
+ // Flying
this.addAbility(FlyingAbility.getInstance());
+
+ // Infect (This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.)
this.addAbility(InfectAbility.getInstance());
+
+ // {3}{U}: Proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ProliferateEffect(), new ManaCostsImpl("{3}{U}")));
}
diff --git a/Mage.Sets/src/mage/cards/v/VoltCharge.java b/Mage.Sets/src/mage/cards/v/VoltCharge.java
index 06cf552162c..4a711c47c53 100644
--- a/Mage.Sets/src/mage/cards/v/VoltCharge.java
+++ b/Mage.Sets/src/mage/cards/v/VoltCharge.java
@@ -1,7 +1,5 @@
-
package mage.cards.v;
-import java.util.UUID;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.counter.ProliferateEffect;
import mage.cards.CardImpl;
@@ -9,19 +7,20 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.common.TargetAnyTarget;
+import java.util.UUID;
+
/**
- *
* @author North
*/
public final class VoltCharge extends CardImpl {
public VoltCharge(UUID ownerId, CardSetInfo setInfo) {
- super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}");
+ super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{R}");
-
- this.getSpellAbility().addTarget(new TargetAnyTarget());
+ // Volt Charge deals 3 damage to any target. Proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)
this.getSpellAbility().addEffect(new DamageTargetEffect(3));
this.getSpellAbility().addEffect(new ProliferateEffect());
+ this.getSpellAbility().addTarget(new TargetAnyTarget());
}
public VoltCharge(final VoltCharge card) {
diff --git a/Mage/src/main/java/mage/abilities/effects/common/counter/ProliferateEffect.java b/Mage/src/main/java/mage/abilities/effects/common/counter/ProliferateEffect.java
index 94d9b30cb43..ca7dd57ae4b 100644
--- a/Mage/src/main/java/mage/abilities/effects/common/counter/ProliferateEffect.java
+++ b/Mage/src/main/java/mage/abilities/effects/common/counter/ProliferateEffect.java
@@ -1,9 +1,5 @@
package mage.abilities.effects.common.counter;
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect;
import mage.constants.Outcome;
@@ -14,14 +10,30 @@ import mage.players.Player;
import mage.target.Target;
import mage.target.common.TargetPermanentOrPlayerWithCounter;
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
/**
* @author nantuko
*/
public class ProliferateEffect extends OneShotEffect {
public ProliferateEffect() {
+ this("", true);
+ }
+
+ public ProliferateEffect(boolean showAbilityHint) {
+ this("", showAbilityHint);
+ }
+
+ public ProliferateEffect(String afterText, boolean showAbilityHint) {
super(Outcome.Benefit);
- staticText = "proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of each kind already there.)";
+ staticText = "proliferate" + afterText;
+ if (showAbilityHint) {
+ staticText += ". (You choose any number of permanents and/or players with counters on them, then give each another counter of each kind already there.)";
+ }
}
public ProliferateEffect(ProliferateEffect effect) {