From 7e7920cf86b59e14ff3a0b8f68b82890b22d9384 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Tue, 18 Oct 2011 17:41:28 +0000 Subject: [PATCH] Small fixes here and there. --- .../DiscardCardAtRandomFromHandEffect.java | 2 +- .../lotro/cards/set1/shire/Card1_300.java | 11 ++-------- .../lotro/cards/set3/shire/Card3_111.java | 22 +++++++++---------- .../lotro/cards/set3/site/Card3_118.java | 3 +-- .../lotro/cards/set3/site/Card3_119.java | 3 +-- .../lotro/cards/set3/site/Card3_120.java | 3 +-- .../effects/DiscardCardsFromHandEffect.java | 2 +- .../results/DiscardCardsFromHandResult.java | 8 ++++++- .../src/main/webapp/includes/changeLog.html | 1 + 9 files changed, 26 insertions(+), 29 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 84470fc79..0aad5b88e 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(Collections.singleton(randomCard)); gameState.addCardToZone(randomCard, Zone.DISCARD); - return new FullEffectResult(new EffectResult[]{new DiscardCardsFromHandResult(_source, Collections.singleton(randomCard))}, true, true); + return new FullEffectResult(new EffectResult[]{new DiscardCardsFromHandResult(_source, Collections.singleton(randomCard), _forced)}, true, true); } return new FullEffectResult(null, false, false); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_300.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_300.java index d8093fdc4..4a80cd347 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_300.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_300.java @@ -2,16 +2,14 @@ package com.gempukku.lotro.cards.set1.shire; import com.gempukku.lotro.cards.AbstractPermanent; import com.gempukku.lotro.cards.PlayConditions; -import com.gempukku.lotro.cards.effects.choose.ChooseArbitraryCardsEffect; +import com.gempukku.lotro.cards.effects.choose.ChooseAndDiscardCardsFromHandEffect; import com.gempukku.lotro.common.*; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.actions.OptionalTriggerAction; -import com.gempukku.lotro.logic.effects.DiscardCardsFromHandEffect; import com.gempukku.lotro.logic.timing.EffectResult; -import java.util.Collection; import java.util.Collections; import java.util.List; @@ -35,12 +33,7 @@ public class Card1_300 extends AbstractPermanent { if (PlayConditions.played(game.getGameState(), game.getModifiersQuerying(), effectResult, Filters.sameCard(self))) { final OptionalTriggerAction action = new OptionalTriggerAction(self); action.appendEffect( - new ChooseArbitraryCardsEffect(playerId, "Choose up to 2 cards to discard from hand", game.getGameState().getHand(playerId), 0, 2) { - @Override - protected void cardsSelected(LotroGame game, Collection selectedCards) { - action.appendEffect(new DiscardCardsFromHandEffect(self, playerId, selectedCards, false)); - } - }); + new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 0, 2, Filters.any)); return Collections.singletonList(action); } return null; 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 13a29528b..dc4a9b98f 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,19 +34,19 @@ public class Card3_111 extends AbstractAlly { public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { if (effectResult.getType() == EffectResult.Type.DISCARD_FROM_HAND) { DiscardCardsFromHandResult discardCardsResult = (DiscardCardsFromHandResult) effectResult; - - List actions = new LinkedList(); - for (PhysicalCard discardedCard : discardCardsResult.getDiscardedCards()) { - // TODO This should only work if Shadow card makes you discard the card... - PhysicalCard source = discardCardsResult.getSource(); - if (source != null && source.getBlueprint().getSide() == Side.SHADOW) { - OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendEffect( - new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Filters.or(Filters.type(CardType.MINION), Filters.and(Filters.side(Side.SHADOW), Filters.type(CardType.CONDITION))))); - actions.add(action); + if (discardCardsResult.isForced()) { + List actions = new LinkedList(); + for (PhysicalCard discardedCard : discardCardsResult.getDiscardedCards()) { + PhysicalCard source = discardCardsResult.getSource(); + if (source != null && source.getBlueprint().getSide() == Side.SHADOW) { + OptionalTriggerAction action = new OptionalTriggerAction(self); + action.appendEffect( + new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Filters.or(Filters.type(CardType.MINION), Filters.and(Filters.side(Side.SHADOW), Filters.type(CardType.CONDITION))))); + actions.add(action); + } } + return actions; } - return actions; } return null; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_118.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_118.java index cf4e4e400..c9bbe5ed2 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_118.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_118.java @@ -25,8 +25,7 @@ import java.util.List; */ public class Card3_118 extends AbstractSite { public Card3_118() { - // TODO Check direction of the site - super("The Great River", Block.FELLOWSHIP, 7, 6, null); + super("The Great River", Block.FELLOWSHIP, 7, 6, Direction.RIGHT); addKeyword(Keyword.RIVER); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_119.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_119.java index 3c0623785..d5c8d8403 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_119.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_119.java @@ -24,8 +24,7 @@ import java.util.List; */ public class Card3_119 extends AbstractSite { public Card3_119() { - // TODO Check direction of the site - super("House of Elrond", Block.FELLOWSHIP, 3, 0, null); + super("House of Elrond", Block.FELLOWSHIP, 3, 0, Direction.RIGHT); addKeyword(Keyword.SANCTUARY); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_120.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_120.java index e0b6c734e..9efca7cba 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_120.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/site/Card3_120.java @@ -24,8 +24,7 @@ import java.util.List; */ public class Card3_120 extends AbstractSite { public Card3_120() { - // TODO Check direction of the site - super("Wastes of Emyn Muil", Block.FELLOWSHIP, 9, 9, null); + super("Wastes of Emyn Muil", Block.FELLOWSHIP, 9, 9, Direction.LEFT); } @Override 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 474ad6e56..3d2488f43 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 @@ -61,7 +61,7 @@ public class DiscardCardsFromHandEffect extends AbstractEffect { for (PhysicalCard card : discardedCards) gameState.addCardToZone(card, Zone.DISCARD); - return new FullEffectResult(new EffectResult[]{new DiscardCardsFromHandResult(_source, discardedCards)}, discardedCards.size() == _cards.size(), discardedCards.size() == _cards.size()); + return new FullEffectResult(new EffectResult[]{new DiscardCardsFromHandResult(_source, discardedCards, _forced)}, discardedCards.size() == _cards.size(), discardedCards.size() == _cards.size()); } return new FullEffectResult(null, false, false); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/results/DiscardCardsFromHandResult.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/results/DiscardCardsFromHandResult.java index a8c6c96dc..ff035c70c 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/results/DiscardCardsFromHandResult.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/results/DiscardCardsFromHandResult.java @@ -8,11 +8,13 @@ import java.util.Collection; public class DiscardCardsFromHandResult extends EffectResult { private PhysicalCard _source; private Collection _cards; + private boolean _forced; - public DiscardCardsFromHandResult(PhysicalCard source, Collection cards) { + public DiscardCardsFromHandResult(PhysicalCard source, Collection cards, boolean forced) { super(Type.DISCARD_FROM_HAND); _source = source; _cards = cards; + _forced = forced; } public PhysicalCard getSource() { @@ -22,4 +24,8 @@ public class DiscardCardsFromHandResult extends EffectResult { public Collection getDiscardedCards() { return _cards; } + + public boolean isForced() { + return _forced; + } } \ 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 7a5c8167d..16345ddf4 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 @@ 18 Oct. 2011 - Increased the time for playing game per player to 80 minutes (for testing only). - When players join or leave the room now, everyone in the room will be notified. +- Added Mulligan rule to "Community..." formats and "Towers Standard" format. 17 Oct. 2011 - "Coming for the Ring" is no longed considered Free People card by the game.