From e2c5391d491ae6d0c5c17d368a6d1d2a472f4f76 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Fri, 14 Oct 2011 12:50:47 +0000 Subject: [PATCH] Fiddling with effects. --- .../com/gempukku/lotro/cards/effects/AddTokenEffect.java | 9 ++++++--- .../gempukku/lotro/cards/effects/AttachCardEffect.java | 3 +-- .../gempukku/lotro/cards/set4/isengard/Card4_155.java | 3 ++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/AddTokenEffect.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/AddTokenEffect.java index 4ab7bd063..1d4c362d6 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/AddTokenEffect.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/AddTokenEffect.java @@ -25,7 +25,7 @@ public class AddTokenEffect extends AbstractEffect { @Override public boolean isPlayableInFull(LotroGame game) { - return true; + return _target.getZone().isInPlay(); } @Override @@ -40,8 +40,11 @@ public class AddTokenEffect extends AbstractEffect { @Override protected FullEffectResult playEffectReturningResult(LotroGame game) { - game.getGameState().addTokens(_target, _token, _count); + if (isPlayableInFull(game)) { + game.getGameState().addTokens(_target, _token, _count); - return new FullEffectResult(null, true, true); + return new FullEffectResult(null, true, true); + } + return new FullEffectResult(null, false, false); } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/AttachCardEffect.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/AttachCardEffect.java index a97aa9ebf..d6382d2bc 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/AttachCardEffect.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/AttachCardEffect.java @@ -1,6 +1,5 @@ package com.gempukku.lotro.cards.effects; -import com.gempukku.lotro.cards.PlayConditions; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.GameState; import com.gempukku.lotro.game.state.LotroGame; @@ -18,7 +17,7 @@ public class AttachCardEffect extends AbstractEffect { @Override public boolean isPlayableInFull(LotroGame game) { - return !PlayConditions.nonPlayZone(_targetCard.getZone()) + return _targetCard.getZone().isInPlay() && game.getModifiersQuerying().canHavePlayedOn(game.getGameState(), _physicalCard, _targetCard); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_155.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_155.java index 67a36b0c2..96e4ca167 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_155.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_155.java @@ -42,7 +42,8 @@ public class Card4_155 extends AbstractResponseEvent { && PlayConditions.canExert(self, game, Filters.name("Grima"))) { ActivateCardEffect activateEffect = (ActivateCardEffect) effect; final PhysicalCard source = activateEffect.getSource(); - if (Filters.or(Filters.unboundCompanion(), Filters.type(CardType.ALLY)).accepts(game.getGameState(), game.getModifiersQuerying(), source)) { + if (!activateEffect.isCancelled() + && Filters.or(Filters.unboundCompanion(), Filters.type(CardType.ALLY)).accepts(game.getGameState(), game.getModifiersQuerying(), source)) { PlayEventAction action = new PlayEventAction(self); action.appendCost( new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.name("Grima")));