mirror of
https://github.com/magefree/mage.git
synced 2026-01-24 12:19:59 -08:00
* Planeswalker abilities - fixed that plus cost's counters is not affected by replacement effects (#5802, example combo: Planeswalker + Pir, Imaginative Rascal + Doubling Season);
This commit is contained in:
parent
144613eed8
commit
ffbd5d373b
14 changed files with 176 additions and 169 deletions
|
|
@ -1,29 +1,25 @@
|
|||
|
||||
package mage.cards.c;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.ReplacementEffectImpl;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.*;
|
||||
import mage.counters.CounterType;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* http://www.wizards.com/magic/magazine/article.aspx?x=mtg/faq/rtr
|
||||
*
|
||||
* <p>
|
||||
* If a creature you control would enter the battlefield with a number of +1/+1
|
||||
* counters on it, it enters with twice that many instead.
|
||||
*
|
||||
* <p>
|
||||
* If you control two Corpsejack Menaces, the number of +1/+1 counters placed is
|
||||
* four times the original number. Three Corpsejack Menaces multiplies the
|
||||
* original number by eight, and so on.
|
||||
|
|
@ -33,7 +29,7 @@ import mage.game.permanent.Permanent;
|
|||
public final class CorpsejackMenace extends CardImpl {
|
||||
|
||||
public CorpsejackMenace(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{G}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{G}");
|
||||
this.subtype.add(SubType.FUNGUS);
|
||||
|
||||
this.power = new MageInt(4);
|
||||
|
|
@ -67,7 +63,7 @@ class CorpsejackMenaceReplacementEffect extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
event.setAmount(event.getAmount() * 2);
|
||||
event.setAmountForCounters(event.getAmount() * 2, true);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -78,15 +74,13 @@ class CorpsejackMenaceReplacementEffect extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean applies(GameEvent event, Ability source, Game game) {
|
||||
if (event.getData().equals(CounterType.P1P1.getName())) {
|
||||
if (event.getData().equals(CounterType.P1P1.getName()) && event.getAmount() > 0) {
|
||||
Permanent permanent = game.getPermanent(event.getTargetId());
|
||||
if (permanent == null) {
|
||||
permanent = game.getPermanentEntering(event.getTargetId());
|
||||
}
|
||||
if (permanent != null && permanent.isControlledBy(source.getControllerId())
|
||||
&& permanent.isCreature()) {
|
||||
return true;
|
||||
}
|
||||
return permanent != null && permanent.isControlledBy(source.getControllerId())
|
||||
&& permanent.isCreature();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.d;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.ReplacementEffectImpl;
|
||||
|
|
@ -16,8 +14,9 @@ import mage.game.Game;
|
|||
import mage.game.events.GameEvent;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class DoublingSeason extends CardImpl {
|
||||
|
|
@ -58,7 +57,7 @@ class DoublingSeasonCounterEffect extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
event.setAmount(event.getAmount() * 2);
|
||||
event.setAmountForCounters(event.getAmount() * 2, true);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -80,6 +79,7 @@ class DoublingSeasonCounterEffect extends ReplacementEffectImpl {
|
|||
}
|
||||
return permanent != null
|
||||
&& permanent.isControlledBy(source.getControllerId())
|
||||
&& event.getAmount() > 0
|
||||
&& !landPlayed; // example: gemstone mine being played as a land drop
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.h;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.ReplacementEffectImpl;
|
||||
|
|
@ -17,14 +15,15 @@ import mage.game.events.GameEvent;
|
|||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class HardenedScales extends CardImpl {
|
||||
|
||||
public HardenedScales(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}");
|
||||
|
||||
// If one or more +1/+1 counters would be put on a creature you control, that many plus one +1/+1 counters are put on it instead.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new HardenedScalesEffect()));
|
||||
|
|
@ -54,10 +53,7 @@ class HardenedScalesEffect extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
int amount = event.getAmount();
|
||||
if (amount >= 1) {
|
||||
event.setAmount(amount + 1);
|
||||
}
|
||||
event.setAmountForCounters(event.getAmount() + 1, true);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -68,15 +64,13 @@ class HardenedScalesEffect extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean applies(GameEvent event, Ability source, Game game) {
|
||||
if (event.getData().equals(CounterType.P1P1.getName())) {
|
||||
if (event.getData().equals(CounterType.P1P1.getName()) && event.getAmount() > 0) {
|
||||
Permanent permanent = game.getPermanent(event.getTargetId());
|
||||
if (permanent == null) {
|
||||
permanent = game.getPermanentEntering(event.getTargetId());
|
||||
}
|
||||
if (permanent != null && permanent.isControlledBy(source.getControllerId())
|
||||
&& permanent.isCreature()) {
|
||||
return true;
|
||||
}
|
||||
return permanent != null && permanent.isControlledBy(source.getControllerId())
|
||||
&& permanent.isCreature();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
|
||||
package mage.cards.m;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
|
|
@ -19,14 +16,16 @@ import mage.game.events.GameEvent;
|
|||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public final class MeliraSylvokOutcast extends CardImpl {
|
||||
|
||||
public MeliraSylvokOutcast(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}");
|
||||
this.addSuperType(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.HUMAN);
|
||||
this.subtype.add(SubType.SCOUT);
|
||||
|
|
@ -78,7 +77,7 @@ class MeliraSylvokOutcastEffect extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean checksEventType(GameEvent event, Game game) {
|
||||
return event.getType() == EventType.ADD_COUNTER;
|
||||
return event.getType() == EventType.ADD_COUNTERS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -111,7 +110,7 @@ class MeliraSylvokOutcastEffect2 extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean checksEventType(GameEvent event, Game game) {
|
||||
return event.getType() == EventType.ADD_COUNTER;
|
||||
return event.getType() == EventType.ADD_COUNTERS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -121,13 +120,10 @@ class MeliraSylvokOutcastEffect2 extends ReplacementEffectImpl {
|
|||
if (perm == null) {
|
||||
perm = game.getPermanentEntering(event.getTargetId());
|
||||
}
|
||||
if (perm != null && perm.isCreature() && perm.isControlledBy(source.getControllerId())) {
|
||||
return true;
|
||||
}
|
||||
return perm != null && perm.isCreature() && perm.isControlledBy(source.getControllerId());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class MeliraSylvokOutcastEffect3 extends ContinuousEffectImpl {
|
||||
|
|
|
|||
|
|
@ -63,10 +63,7 @@ class MowuLoyalCompanionEffect extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
int amount = event.getAmount();
|
||||
if (amount > 0) {
|
||||
event.setAmount(amount + 1);
|
||||
}
|
||||
event.setAmountForCounters(event.getAmount() + 1, true);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -77,15 +74,13 @@ class MowuLoyalCompanionEffect extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean applies(GameEvent event, Ability source, Game game) {
|
||||
if (event.getData().equals(CounterType.P1P1.getName())) {
|
||||
if (event.getData().equals(CounterType.P1P1.getName()) && event.getAmount() > 0) {
|
||||
Permanent permanent = game.getPermanent(event.getTargetId());
|
||||
if (permanent == null) {
|
||||
permanent = game.getPermanentEntering(event.getTargetId());
|
||||
}
|
||||
if (permanent != null && permanent.getId().equals(source.getSourceId())
|
||||
&& permanent.isCreature()) {
|
||||
return true;
|
||||
}
|
||||
return permanent != null && permanent.getId().equals(source.getSourceId())
|
||||
&& permanent.isCreature();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,27 +1,21 @@
|
|||
|
||||
package mage.cards.p;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.ReplacementEffectImpl;
|
||||
import mage.abilities.keyword.PartnerWithAbility;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.*;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class PirImaginativeRascal extends CardImpl {
|
||||
|
|
@ -65,10 +59,7 @@ class PirImaginativeRascalEffect extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
int amount = event.getAmount();
|
||||
if (amount >= 1) {
|
||||
event.setAmount(amount + 1);
|
||||
}
|
||||
event.setAmountForCounters(event.getAmount() + 1, true);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -84,7 +75,7 @@ class PirImaginativeRascalEffect extends ReplacementEffectImpl {
|
|||
if (permanent == null) {
|
||||
permanent = game.getPermanentEntering(event.getTargetId());
|
||||
}
|
||||
return permanent != null && player != null
|
||||
return permanent != null && player != null && event.getAmount() > 0
|
||||
&& !player.hasOpponent(permanent.getControllerId(), game);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.p;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.ReplacementEffectImpl;
|
||||
|
|
@ -15,14 +13,15 @@ import mage.game.Game;
|
|||
import mage.game.events.GameEvent;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class PrimalVigor extends CardImpl {
|
||||
|
||||
public PrimalVigor(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{G}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{G}");
|
||||
|
||||
// If one or more tokens would be created, twice that many of those tokens are created instead.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PrimalVigorTokenEffect()));
|
||||
|
|
@ -93,7 +92,7 @@ class PrimalVigorCounterEffect extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
event.setAmount(event.getAmount() * 2);
|
||||
event.setAmountForCounters(event.getAmount() * 2, true);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -108,11 +107,8 @@ class PrimalVigorCounterEffect extends ReplacementEffectImpl {
|
|||
if (permanent == null) {
|
||||
permanent = game.getPermanentEntering(event.getTargetId());
|
||||
}
|
||||
if (permanent != null && permanent.isCreature()
|
||||
&& event.getData() != null && event.getData().equals("+1/+1")) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return permanent != null && event.getAmount() > 0 && permanent.isCreature()
|
||||
&& event.getData() != null && event.getData().equals("+1/+1");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
|
||||
package mage.cards.s;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
|
|
@ -21,8 +19,9 @@ import mage.game.events.GameEvent.EventType;
|
|||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author spjspj
|
||||
*/
|
||||
public final class Solemnity extends CardImpl {
|
||||
|
|
@ -70,7 +69,7 @@ class SolemnityEffect extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean checksEventType(GameEvent event, Game game) {
|
||||
return event.getType() == EventType.ADD_COUNTER;
|
||||
return event.getType() == EventType.ADD_COUNTERS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -113,7 +112,7 @@ class SolemnityEffect2 extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean checksEventType(GameEvent event, Game game) {
|
||||
return event.getType() == EventType.ADD_COUNTER || event.getType() == EventType.ADD_COUNTERS;
|
||||
return event.getType() == EventType.ADD_COUNTERS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -124,21 +123,13 @@ class SolemnityEffect2 extends ReplacementEffectImpl {
|
|||
Permanent permanent3 = game.getPermanentEntering(event.getTargetId());
|
||||
|
||||
if (object instanceof Permanent) {
|
||||
if (filter.match((Permanent) object, game)) {
|
||||
return true;
|
||||
}
|
||||
return filter.match((Permanent) object, game);
|
||||
} else if (permanent != null) {
|
||||
if (filter.match(permanent, game)) {
|
||||
return true;
|
||||
}
|
||||
return filter.match(permanent, game);
|
||||
} else if (permanent2 != null) {
|
||||
if (filter.match(permanent2, game)) {
|
||||
return true;
|
||||
}
|
||||
return filter.match(permanent2, game);
|
||||
} else if (permanent3 != null) {
|
||||
if (filter.match(permanent3, game)) {
|
||||
return true;
|
||||
}
|
||||
return filter.match(permanent3, game);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1,24 +1,19 @@
|
|||
|
||||
package mage.cards.v;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.ReplacementEffectImpl;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.*;
|
||||
import mage.counters.CounterType;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Stravant
|
||||
*/
|
||||
public final class VizierOfRemedies extends CardImpl {
|
||||
|
|
@ -64,7 +59,7 @@ class VizierOfRemediesReplacementEffect extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
event.setAmount(event.getAmount() - 1);
|
||||
event.setAmountForCounters(event.getAmount() - 1, true);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -76,11 +71,9 @@ class VizierOfRemediesReplacementEffect extends ReplacementEffectImpl {
|
|||
@Override
|
||||
public boolean applies(GameEvent event, Ability source, Game game) {
|
||||
if (source != null && source.getControllerId() != null) {
|
||||
if (source.isControlledBy(game.getControllerId(event.getTargetId()))
|
||||
return source.isControlledBy(game.getControllerId(event.getTargetId()))
|
||||
&& event.getData() != null && event.getData().equals(CounterType.M1M1.getName())
|
||||
&& event.getAmount() > 0) {
|
||||
return true;
|
||||
}
|
||||
&& event.getAmount() > 0;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,25 +1,20 @@
|
|||
|
||||
package mage.cards.w;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.ReplacementEffectImpl;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.Zone;
|
||||
import mage.constants.*;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author LevelX2
|
||||
*/
|
||||
public final class WindingConstrictor extends CardImpl {
|
||||
|
|
@ -32,7 +27,7 @@ public final class WindingConstrictor extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// If one or more counters would be put on an artifact or creature you control, that many plus one of each of those kinds of counters are put on that permanent instead.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new WindingConstrictorPermanentEffect()));
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new WindingConstrictorPermanentEffect()));
|
||||
|
||||
// If you would get one or more counters, you get that many plus one of each of those kinds of counters instead.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new WindingConstrictorPlayerEffect()));
|
||||
|
|
@ -62,7 +57,7 @@ class WindingConstrictorPermanentEffect extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
event.setAmount(event.getAmount() + 1);
|
||||
event.setAmountForCounters(event.getAmount() + 1, true);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -78,6 +73,7 @@ class WindingConstrictorPermanentEffect extends ReplacementEffectImpl {
|
|||
permanent = game.getPermanentEntering(event.getTargetId());
|
||||
}
|
||||
return permanent != null
|
||||
&& event.getAmount() > 0
|
||||
&& (permanent.isCreature() || permanent.isArtifact())
|
||||
&& permanent.isControlledBy(source.getControllerId());
|
||||
}
|
||||
|
|
@ -106,7 +102,7 @@ class WindingConstrictorPlayerEffect extends ReplacementEffectImpl {
|
|||
|
||||
@Override
|
||||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
event.setAmount(event.getAmount() + 1);
|
||||
event.setAmountForCounters(event.getAmount() + 1, true);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -118,7 +114,7 @@ class WindingConstrictorPlayerEffect extends ReplacementEffectImpl {
|
|||
@Override
|
||||
public boolean applies(GameEvent event, Ability source, Game game) {
|
||||
Player player = game.getPlayer(event.getTargetId());
|
||||
return player != null && player.getId().equals(source.getControllerId());
|
||||
return player != null && player.getId().equals(source.getControllerId()) && event.getAmount() > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue