From 98160851446bb405221333e7631551651239bc40 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Thu, 1 Sep 2011 00:46:40 +0000 Subject: [PATCH] "Anduin Wilderland", "Anduin Confluence" --- .../lotro/cards/set1/site/Card1_351.java | 51 ++++++++++++++++++ .../lotro/cards/set1/site/Card1_352.java | 54 +++---------------- .../lotro/cards/set1/site/Card1_353.java | 32 +++++++---- .../lotro/cards/set1/site/Card1_354.java | 22 ++++++++ .../lotro/cards/set1/site/Card1_355.java | 4 ++ 5 files changed, 107 insertions(+), 56 deletions(-) create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_355.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_351.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_351.java index 08acdba03..03d4ce6ee 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_351.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_351.java @@ -1,6 +1,24 @@ package com.gempukku.lotro.cards.set1.site; import com.gempukku.lotro.cards.AbstractSite; +import com.gempukku.lotro.cards.GameUtils; +import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.effects.ExertCharacterEffect; +import com.gempukku.lotro.common.Keyword; +import com.gempukku.lotro.common.Phase; +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.CostToEffectAction; +import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision; +import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; +import com.gempukku.lotro.logic.effects.ChooseArbitraryCardsEffect; +import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect; +import com.gempukku.lotro.logic.timing.Action; + +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; /** * Set: The Fellowship of the Ring @@ -12,5 +30,38 @@ import com.gempukku.lotro.cards.AbstractSite; public class Card1_351 extends AbstractSite { public Card1_351() { super("Galadriel's Glade", 6, 3, Direction.LEFT); + addKeyword(Keyword.SANCTUARY); + } + + @Override + public List getPlayablePhaseActions(final String playerId, final LotroGame game, PhysicalCard self) { + if (PlayConditions.canUseSiteDuringPhase(game.getGameState(), Phase.FELLOWSHIP, self) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.ELF), Filters.canExert())) { + final CostToEffectAction action = new CostToEffectAction(self, Keyword.FELLOWSHIP, "Exert an Elf to look at an opponent's hand."); + action.addCost( + new ChooseActiveCardEffect(playerId, "Choose an Elf", Filters.keyword(Keyword.ELF), Filters.canExert()) { + @Override + protected void cardSelected(PhysicalCard elf) { + action.addCost(new ExertCharacterEffect(elf)); + } + }); + + action.addEffect( + new PlayoutDecisionEffect(game.getUserFeedback(), playerId, + new MultipleChoiceAwaitingDecision(1, "Choose an opponent", GameUtils.getOpponents(game, playerId)) { + @Override + protected void validDecisionMade(int index, String opponentId) { + action.addEffect( + new ChooseArbitraryCardsEffect(playerId, "Opponent's hand", new LinkedList(game.getGameState().getHand(opponentId)), 0, 0) { + @Override + protected void cardsSelected(List selectedCards) { + + } + }); + } + })); + return Collections.singletonList(action); + } + return null; } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_352.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_352.java index f8920fa81..d310ab16c 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_352.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_352.java @@ -1,67 +1,29 @@ package com.gempukku.lotro.cards.set1.site; import com.gempukku.lotro.cards.AbstractSite; -import com.gempukku.lotro.cards.GameUtils; -import com.gempukku.lotro.cards.PlayConditions; -import com.gempukku.lotro.cards.effects.ExertCharacterEffect; +import com.gempukku.lotro.cards.modifiers.StrengthModifier; +import com.gempukku.lotro.common.CardType; import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.common.Phase; 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.CostToEffectAction; -import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision; -import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; -import com.gempukku.lotro.logic.effects.ChooseArbitraryCardsEffect; -import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect; -import com.gempukku.lotro.logic.timing.Action; - -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; +import com.gempukku.lotro.logic.modifiers.Modifier; /** * Set: The Fellowship of the Ring * Twilight Cost: 3 * Type: Site * Site: 6 - * Game Text: Sanctuary. Fellowship: Exert an Elf to look at an opponent's hand. + * Game Text: Forest. Sanctuary. Each ally whose home is site 6 is strength +3. */ public class Card1_352 extends AbstractSite { public Card1_352() { - super("Galadriel's Glade", 6, 3, Direction.LEFT); + super("Lothlorien Woods", 6, 3, Direction.LEFT); + addKeyword(Keyword.FOREST); addKeyword(Keyword.SANCTUARY); } @Override - public List getPlayablePhaseActions(final String playerId, final LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseSiteDuringPhase(game.getGameState(), Phase.FELLOWSHIP, self) - && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.ELF), Filters.canExert())) { - final CostToEffectAction action = new CostToEffectAction(self, Keyword.FELLOWSHIP, "Exert an Elf to look at an opponent's hand."); - action.addCost( - new ChooseActiveCardEffect(playerId, "Choose an Elf", Filters.keyword(Keyword.ELF), Filters.canExert()) { - @Override - protected void cardSelected(PhysicalCard elf) { - action.addCost(new ExertCharacterEffect(elf)); - } - }); - - action.addEffect( - new PlayoutDecisionEffect(game.getUserFeedback(), playerId, - new MultipleChoiceAwaitingDecision(1, "Choose an opponent", GameUtils.getOpponents(game, playerId)) { - @Override - protected void validDecisionMade(int index, String opponentId) { - action.addEffect( - new ChooseArbitraryCardsEffect(playerId, "Opponent's hand", new LinkedList(game.getGameState().getHand(opponentId)), 0, 0) { - @Override - protected void cardsSelected(List selectedCards) { - - } - }); - } - })); - return Collections.singletonList(action); - } - return null; + public Modifier getAlwaysOnEffect(PhysicalCard self) { + return new StrengthModifier(self, Filters.and(Filters.type(CardType.ALLY), Filters.siteNumber(6)), 3); } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_353.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_353.java index 1e1e36992..6552d4fc3 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_353.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_353.java @@ -1,29 +1,41 @@ package com.gempukku.lotro.cards.set1.site; import com.gempukku.lotro.cards.AbstractSite; -import com.gempukku.lotro.cards.modifiers.StrengthModifier; import com.gempukku.lotro.common.CardType; import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; -import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.actions.CostToEffectAction; +import com.gempukku.lotro.logic.effects.DiscardCardsFromPlayEffect; +import com.gempukku.lotro.logic.timing.Action; +import com.gempukku.lotro.logic.timing.EffectResult; + +import java.util.Collections; +import java.util.List; /** * Set: The Fellowship of the Ring - * Twilight Cost: 3 + * Twilight Cost: 6 * Type: Site - * Site: 6 - * Game Text: Forest. Sanctuary. Each ally whose home is site 6 is strength +3. + * Site: 7 + * Game Text: River. When the fellowship moves to Anduin Confluence, discard every ally. */ public class Card1_353 extends AbstractSite { public Card1_353() { - super("Lothlorien Woods", 6, 3, Direction.LEFT); - addKeyword(Keyword.FOREST); - addKeyword(Keyword.SANCTUARY); + super("Anduin Confluence", 7, 6, Direction.RIGHT); + addKeyword(Keyword.RIVER); } @Override - public Modifier getAlwaysOnEffect(PhysicalCard self) { - return new StrengthModifier(self, Filters.and(Filters.type(CardType.ALLY), Filters.siteNumber(6)), 3); + public List getRequiredWhenActions(LotroGame game, EffectResult effectResult, PhysicalCard self) { + if (effectResult.getType() == EffectResult.Type.WHEN_MOVE_TO + && game.getGameState().getCurrentSite() == self) { + CostToEffectAction action = new CostToEffectAction(self, null, "Discard every ally"); + action.addEffect( + new DiscardCardsFromPlayEffect(Filters.type(CardType.ALLY))); + return Collections.singletonList(action); + } + return null; } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_354.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_354.java index d802e2285..e63f97f20 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_354.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_354.java @@ -1,6 +1,13 @@ package com.gempukku.lotro.cards.set1.site; import com.gempukku.lotro.cards.AbstractSite; +import com.gempukku.lotro.common.Keyword; +import com.gempukku.lotro.common.Phase; +import com.gempukku.lotro.game.PhysicalCard; +import com.gempukku.lotro.game.state.GameState; +import com.gempukku.lotro.logic.modifiers.AbstractModifier; +import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; /** * Set: The Fellowship of the Ring @@ -12,5 +19,20 @@ import com.gempukku.lotro.cards.AbstractSite; public class Card1_354 extends AbstractSite { public Card1_354() { super("Anduin Wilderland", 7, 6, Direction.RIGHT); + addKeyword(Keyword.FOREST); + addKeyword(Keyword.RIVER); + } + + @Override + public Modifier getAlwaysOnEffect(final PhysicalCard self) { + return new AbstractModifier(self, "Skip archery phase", null) { + @Override + public boolean shouldSkipPhase(GameState gameState, ModifiersQuerying modifiersQuerying, Phase phase, boolean result) { + if (phase == Phase.ARCHERY + && gameState.getCurrentSite() == self) + return true; + return result; + } + }; } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_355.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_355.java new file mode 100644 index 000000000..4de63deaf --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/site/Card1_355.java @@ -0,0 +1,4 @@ +package com.gempukku.lotro.cards.set1.site; + +public class Card1_355 { +}