From ec112e1cdb8d06c79976f051a88b744fbd22e431 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Mon, 26 Dec 2011 16:55:40 +0000 Subject: [PATCH] - "Old Noakes" will now trigger only for discarding cards from free player hand. --- .../cards/effects/DiscardCardAtRandomFromHandEffect.java | 2 +- .../com/gempukku/lotro/cards/set3/shire/Card3_111.java | 2 +- .../lotro/logic/effects/DiscardCardsFromHandEffect.java | 2 +- .../logic/timing/results/DiscardCardFromHandResult.java | 8 +++++++- .../gemp-lotr-web/src/main/webapp/includes/changeLog.html | 1 + 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/DiscardCardAtRandomFromHandEffect.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/DiscardCardAtRandomFromHandEffect.java index 60068207b..8ad417c6f 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/DiscardCardAtRandomFromHandEffect.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/DiscardCardAtRandomFromHandEffect.java @@ -49,7 +49,7 @@ public class DiscardCardAtRandomFromHandEffect extends AbstractEffect { gameState.sendMessage(_playerId + " randomly discards " + GameUtils.getCardLink(randomCard)); gameState.removeCardsFromZone(_source.getOwner(), Collections.singleton(randomCard)); gameState.addCardToZone(game, randomCard, Zone.DISCARD); - game.getActionsEnvironment().emitEffectResult(new DiscardCardFromHandResult(_source, randomCard, _forced)); + game.getActionsEnvironment().emitEffectResult(new DiscardCardFromHandResult(_source, randomCard, _playerId, _forced)); return new FullEffectResult(true, true); } return new FullEffectResult(false, false); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/shire/Card3_111.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/shire/Card3_111.java index 601b6fe94..787cf58fd 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/shire/Card3_111.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/shire/Card3_111.java @@ -34,7 +34,7 @@ public class Card3_111 extends AbstractAlly { public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { if (effectResult.getType() == EffectResult.Type.FOR_EACH_DISCARDED_FROM_HAND) { DiscardCardFromHandResult discardCardsResult = (DiscardCardFromHandResult) effectResult; - if (discardCardsResult.isForced()) { + if (discardCardsResult.isForced() && discardCardsResult.getHandPlayerId().equals(playerId)) { OptionalTriggerAction action = new OptionalTriggerAction(self); action.appendEffect( new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Filters.or(CardType.MINION, Filters.and(Side.SHADOW, CardType.CONDITION)))); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/DiscardCardsFromHandEffect.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/DiscardCardsFromHandEffect.java index 922054ad3..5a0e4f430 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/DiscardCardsFromHandEffect.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/DiscardCardsFromHandEffect.java @@ -65,7 +65,7 @@ public class DiscardCardsFromHandEffect extends AbstractEffect { gameState.removeCardsFromZone(sourcePlayer, discardedCards); for (PhysicalCard card : discardedCards) { gameState.addCardToZone(game, card, Zone.DISCARD); - game.getActionsEnvironment().emitEffectResult(new DiscardCardFromHandResult(_source, card, _forced)); + game.getActionsEnvironment().emitEffectResult(new DiscardCardFromHandResult(_source, card, _playerId, _forced)); } return new FullEffectResult(discardedCards.size() == _cards.size(), discardedCards.size() == _cards.size()); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/results/DiscardCardFromHandResult.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/results/DiscardCardFromHandResult.java index 3bf90c76c..9a0321072 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/results/DiscardCardFromHandResult.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/results/DiscardCardFromHandResult.java @@ -6,12 +6,14 @@ import com.gempukku.lotro.logic.timing.EffectResult; public class DiscardCardFromHandResult extends EffectResult { private PhysicalCard _source; private PhysicalCard _card; + private String _handPlayerId; private boolean _forced; - public DiscardCardFromHandResult(PhysicalCard source, PhysicalCard card, boolean forced) { + public DiscardCardFromHandResult(PhysicalCard source, PhysicalCard card, String handPlayerId, boolean forced) { super(Type.FOR_EACH_DISCARDED_FROM_HAND); _source = source; _card = card; + _handPlayerId = handPlayerId; _forced = forced; } @@ -22,4 +24,8 @@ public class DiscardCardFromHandResult extends EffectResult { public boolean isForced() { return _forced; } + + public String getHandPlayerId() { + return _handPlayerId; + } } \ No newline at end of file diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html b/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html index c3709283b..1c66166a3 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html +++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html @@ -2,6 +2,7 @@ 26 Dec. 2011 - "Wizard Storm" should now work when fellowship moves from the site it's attached to. - "Courtesy of My Hall" should be able to discard a hard from it now to heal a dwarf. +- "Old Noakes" will now trigger only for discarding cards from free player hand. 22 Dec. 2011 - "Valley of the Silverlode" should not correctly allow to heal every Hobbit companion.