Added test for Proliferate hint.

This commit is contained in:
Alex Vasile 2022-05-18 12:27:46 -06:00
parent b1528de16a
commit e3acfa4344
7 changed files with 12 additions and 9 deletions

View file

@ -36,7 +36,7 @@ public final class ParkHeightsMaverick extends CardImpl {
// Whenever Park Heights Maverick deals combat damage to a player or dies, proliferate. // Whenever Park Heights Maverick deals combat damage to a player or dies, proliferate.
this.addAbility(new OrTriggeredAbility( this.addAbility(new OrTriggeredAbility(
Zone.ALL, new ProliferateEffect(), false, Zone.ALL, new ProliferateEffect(false), false,
"Whenever {this} deals combat damage to a player or dies, ", "Whenever {this} deals combat damage to a player or dies, ",
new DealsCombatDamageToAPlayerTriggeredAbility(null, false), new DealsCombatDamageToAPlayerTriggeredAbility(null, false),
new DiesSourceTriggeredAbility(null, false) new DiesSourceTriggeredAbility(null, false)

View file

@ -36,7 +36,7 @@ public final class PollenbrightDruid extends CardImpl {
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
// Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.) // 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())); ability.addMode(new Mode(new ProliferateEffect(true)));
this.addAbility(ability); this.addAbility(ability);
} }

View file

@ -66,7 +66,8 @@ class SwordOfTruthAndJusticeEffect extends OneShotEffect {
SwordOfTruthAndJusticeEffect() { SwordOfTruthAndJusticeEffect() {
super(Outcome.Benefit); super(Outcome.Benefit);
staticText = "put a +1/+1 counter on a creature you control, then proliferate"; staticText = "put a +1/+1 counter on a creature you control, then proliferate. " +
"<i>(Choose any number of permanents and/or players, then give each another counter of each kind already there.)</i>";
} }
private SwordOfTruthAndJusticeEffect(final SwordOfTruthAndJusticeEffect effect) { private SwordOfTruthAndJusticeEffect(final SwordOfTruthAndJusticeEffect effect) {
@ -92,6 +93,6 @@ class SwordOfTruthAndJusticeEffect extends OneShotEffect {
permanent.addCounters(CounterType.P1P1.createInstance(), source.getControllerId(), source, game); permanent.addCounters(CounterType.P1P1.createInstance(), source.getControllerId(), source, game);
} }
} }
return new ProliferateEffect().apply(game, source); return new ProliferateEffect(true).apply(game, source);
} }
} }

View file

@ -17,9 +17,10 @@ public final class VoltCharge extends CardImpl {
public VoltCharge(UUID ownerId, CardSetInfo setInfo) { public VoltCharge(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{R}"); super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{R}");
// 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.) // Volt Charge deals 3 damage to any target.
// Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.)
this.getSpellAbility().addEffect(new DamageTargetEffect(3)); this.getSpellAbility().addEffect(new DamageTargetEffect(3));
this.getSpellAbility().addEffect(new ProliferateEffect()); this.getSpellAbility().addEffect(new ProliferateEffect(true));
this.getSpellAbility().addTarget(new TargetAnyTarget()); this.getSpellAbility().addTarget(new TargetAnyTarget());
} }

View file

@ -17,10 +17,9 @@ public final class WanderersStrike extends CardImpl {
public WanderersStrike(UUID ownerId, CardSetInfo setInfo) { public WanderersStrike(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{W}"); super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{W}");
// Exile target creature, then proliferate. // Exile target creature, then proliferate.
this.getSpellAbility().addEffect(new ExileTargetEffect()); this.getSpellAbility().addEffect(new ExileTargetEffect());
this.getSpellAbility().addEffect(new ProliferateEffect().concatBy("then")); this.getSpellAbility().addEffect(new ProliferateEffect(true).concatBy(", then"));
this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addTarget(new TargetCreaturePermanent());
} }

View file

@ -9,6 +9,7 @@ import mage.abilities.common.WerewolfBackTriggeredAbility;
import mage.abilities.common.WerewolfFrontTriggeredAbility; import mage.abilities.common.WerewolfFrontTriggeredAbility;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.FightTargetsEffect; import mage.abilities.effects.common.FightTargetsEffect;
import mage.abilities.effects.common.counter.ProliferateEffect;
import mage.abilities.effects.keyword.ScryEffect; import mage.abilities.effects.keyword.ScryEffect;
import mage.abilities.keyword.*; import mage.abilities.keyword.*;
import mage.cards.*; import mage.cards.*;
@ -1422,6 +1423,7 @@ public class VerifyCardDataTest {
hints.put(ScryEffect.class, "Look at the top card of your library. You may put that card on the bottom of your library"); hints.put(ScryEffect.class, "Look at the top card of your library. You may put that card on the bottom of your library");
hints.put(EquipAbility.class, "Equip only as a sorcery."); hints.put(EquipAbility.class, "Equip only as a sorcery.");
hints.put(WardAbility.class, "becomes the target of a spell or ability an opponent controls"); hints.put(WardAbility.class, "becomes the target of a spell or ability an opponent controls");
hints.put(ProliferateEffect.class, "Choose any number of permanents and/or players, then give each another counter of each kind already there.");
for (Class objectClass : hints.keySet()) { for (Class objectClass : hints.keySet()) {
String objectHint = hints.get(objectClass); String objectHint = hints.get(objectClass);

View file

@ -33,7 +33,7 @@ public class ProliferateEffect extends OneShotEffect {
super(Outcome.Benefit); super(Outcome.Benefit);
staticText = "proliferate" + afterText; staticText = "proliferate" + afterText;
if (showAbilityHint) { if (showAbilityHint) {
staticText += ". <i>(You choose any number of permanents and/or players with counters on them, then give each another counter of each kind already there.)</i>"; staticText += ". <i>(Choose any number of permanents and/or players, then give each another counter of each kind already there.)</i>";
} }
} }