This commit is contained in:
Jeff 2017-07-14 11:27:44 -05:00
parent b7e44f0cce
commit 383841cdfb

View file

@ -53,7 +53,7 @@ public class DoublingSeason extends CardImpl {
// If an effect would create one or more tokens under your control, it creates twice that many of those tokens instead. // If an effect would create one or more tokens under your control, it creates twice that many of those tokens instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CreateTwiceThatManyTokensEffect())); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CreateTwiceThatManyTokensEffect()));
// If an effect would place one or more counters on a permanent you control, it places twice that many of those counters on that permanent instead. // If an effect would place one or more counters on a permanent you control, it places twice that many of those counters on that permanent instead.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DoublingSeasonCounterEffect())); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DoublingSeasonCounterEffect()));
@ -71,6 +71,8 @@ public class DoublingSeason extends CardImpl {
class DoublingSeasonCounterEffect extends ReplacementEffectImpl { class DoublingSeasonCounterEffect extends ReplacementEffectImpl {
boolean landPlayed = false; // a played land is not an effect
DoublingSeasonCounterEffect() { DoublingSeasonCounterEffect() {
super(Duration.WhileOnBattlefield, Outcome.BoostCreature, false); super(Duration.WhileOnBattlefield, Outcome.BoostCreature, false);
staticText = "If an effect would place one or more counters on a permanent you control, it places twice that many of those counters on that permanent instead"; staticText = "If an effect would place one or more counters on a permanent you control, it places twice that many of those counters on that permanent instead";
@ -96,8 +98,12 @@ class DoublingSeasonCounterEffect extends ReplacementEffectImpl {
Permanent permanent = game.getPermanent(event.getTargetId()); Permanent permanent = game.getPermanent(event.getTargetId());
if (permanent == null) { if (permanent == null) {
permanent = game.getPermanentEntering(event.getTargetId()); permanent = game.getPermanentEntering(event.getTargetId());
landPlayed = (permanent != null
&& permanent.isLand()); // a played land is not an effect
} }
return permanent != null && permanent.getControllerId().equals(source.getControllerId()); return permanent != null
&& permanent.getControllerId().equals(source.getControllerId())
&& !landPlayed; // example: gemstone mine being played as a land drop
} }
@Override @Override