diff --git a/Mage.Sets/src/mage/cards/c/ContagionEngine.java b/Mage.Sets/src/mage/cards/c/ContagionEngine.java
index 9a21e1df5f1..c01a51ed040 100644
--- a/Mage.Sets/src/mage/cards/c/ContagionEngine.java
+++ b/Mage.Sets/src/mage/cards/c/ContagionEngine.java
@@ -1,7 +1,6 @@
package mage.cards.c;
-import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleActivatedAbility;
@@ -21,8 +20,9 @@ import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.TargetPlayer;
+import java.util.UUID;
+
/**
- *
* @author Loki
*/
public final class ContagionEngine extends CardImpl {
@@ -36,13 +36,13 @@ 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(), new GenericManaCost(4));
+ ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ProliferateEffect().setText("proliferate,"), new GenericManaCost(4));
ability.addCost(new TapSourceCost());
- ability.addEffect(new ProliferateEffect());
+ 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.)"));
this.addAbility(ability);
}
- public ContagionEngine(final ContagionEngine card) {
+ private ContagionEngine(final ContagionEngine card) {
super(card);
}
@@ -60,7 +60,7 @@ class ContagionEngineEffect extends OneShotEffect {
staticText = "put a -1/-1 counter on each creature target player controls";
}
- ContagionEngineEffect(final ContagionEngineEffect effect) {
+ private ContagionEngineEffect(final ContagionEngineEffect effect) {
super(effect);
}
diff --git a/Mage.Sets/src/mage/cards/r/RoaleskApexHybrid.java b/Mage.Sets/src/mage/cards/r/RoaleskApexHybrid.java
new file mode 100644
index 00000000000..fd13160d275
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/r/RoaleskApexHybrid.java
@@ -0,0 +1,75 @@
+package mage.cards.r;
+
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.common.DiesTriggeredAbility;
+import mage.abilities.common.EntersBattlefieldTriggeredAbility;
+import mage.abilities.effects.common.counter.AddCountersTargetEffect;
+import mage.abilities.effects.common.counter.ProliferateEffect;
+import mage.abilities.keyword.FlyingAbility;
+import mage.abilities.keyword.TrampleAbility;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.constants.CardType;
+import mage.constants.SubType;
+import mage.constants.SuperType;
+import mage.counters.CounterType;
+import mage.filter.FilterPermanent;
+import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.filter.predicate.permanent.AnotherPredicate;
+import mage.target.TargetPermanent;
+
+import java.util.UUID;
+
+/**
+ * @author TheElk801
+ */
+public final class RoaleskApexHybrid extends CardImpl {
+
+ private static final FilterPermanent filter
+ = new FilterControlledCreaturePermanent("another target creature you control");
+
+ static {
+ filter.add(AnotherPredicate.instance);
+ }
+
+ public RoaleskApexHybrid(UUID ownerId, CardSetInfo setInfo) {
+ super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}{U}");
+
+ this.addSuperType(SuperType.LEGENDARY);
+ this.subtype.add(SubType.HUMAN);
+ this.subtype.add(SubType.MUTANT);
+ this.power = new MageInt(4);
+ this.toughness = new MageInt(5);
+
+ // Flying
+ this.addAbility(FlyingAbility.getInstance());
+
+ // Trample
+ this.addAbility(TrampleAbility.getInstance());
+
+ // When Roalesk, Apex Hybrid enters the battlefield, put two +1/+1 counters on another target creature you control.
+ Ability ability = new EntersBattlefieldTriggeredAbility(
+ new AddCountersTargetEffect(CounterType.P1P1.createInstance(2))
+ );
+ 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.)"
+ ));
+ this.addAbility(ability);
+ }
+
+ private RoaleskApexHybrid(final RoaleskApexHybrid card) {
+ super(card);
+ }
+
+ @Override
+ public RoaleskApexHybrid copy() {
+ return new RoaleskApexHybrid(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/WarOfTheSpark.java b/Mage.Sets/src/mage/sets/WarOfTheSpark.java
index ff1e0245671..a3bae1be21f 100644
--- a/Mage.Sets/src/mage/sets/WarOfTheSpark.java
+++ b/Mage.Sets/src/mage/sets/WarOfTheSpark.java
@@ -119,6 +119,7 @@ public final class WarOfTheSpark extends ExpansionSet {
cards.add(new SetCardInfo("Ravnica at War", 28, Rarity.RARE, mage.cards.r.RavnicaAtWar.class));
cards.add(new SetCardInfo("Relentless Advance", 64, Rarity.COMMON, mage.cards.r.RelentlessAdvance.class));
cards.add(new SetCardInfo("Rising Populace", 29, Rarity.COMMON, mage.cards.r.RisingPopulace.class));
+ cards.add(new SetCardInfo("Roalesk, Apex Hybrid", 213, Rarity.MYTHIC, mage.cards.r.RoaleskApexHybrid.class));
cards.add(new SetCardInfo("Role Reversal", 214, Rarity.RARE, mage.cards.r.RoleReversal.class));
cards.add(new SetCardInfo("Samut's Sprint", 142, Rarity.COMMON, mage.cards.s.SamutsSprint.class));
cards.add(new SetCardInfo("Samut, Tyrant Smasher", 235, Rarity.UNCOMMON, mage.cards.s.SamutTyrantSmasher.class));