mirror of
https://github.com/magefree/mage.git
synced 2025-12-22 11:32:00 -08:00
Added test for Proliferate hint.
This commit is contained in:
parent
b1528de16a
commit
e3acfa4344
7 changed files with 12 additions and 9 deletions
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue