1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-11 09:11:12 -09:00

Implemented Roalesk, Apex Hybrid

This commit is contained in:
Evan Kranzler 2019-04-08 17:49:43 -04:00
parent 5642269d30
commit 17f14dc6b0
3 changed files with 82 additions and 6 deletions

View file

@ -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 <i>(Choose any number of permanents and/or players, then give each another counter of each kind already there. Then do it again.)</i>"));
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);
}

View file

@ -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 <i>(Choose any number of permanents and/or players, " +
"then give each another counter of each kind already there. Then do it again.)</i>"
));
this.addAbility(ability);
}
private RoaleskApexHybrid(final RoaleskApexHybrid card) {
super(card);
}
@Override
public RoaleskApexHybrid copy() {
return new RoaleskApexHybrid(this);
}
}

View file

@ -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));