From 38a970eeafd9e6508f2e1bd3e65a2641d0c08ebb Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Wed, 12 Oct 2011 15:18:31 +0000 Subject: [PATCH] "Gathering to the Summons" --- .../lotro/cards/set4/raider/Card4_235.java | 43 +++++++++++++++++++ .../com/gempukku/lotro/filters/Filters.java | 4 +- 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/raider/Card4_235.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/raider/Card4_235.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/raider/Card4_235.java new file mode 100644 index 000000000..c2d4d0f29 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/raider/Card4_235.java @@ -0,0 +1,43 @@ +package com.gempukku.lotro.cards.set4.raider; + +import com.gempukku.lotro.cards.AbstractEvent; +import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.actions.PlayEventAction; +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.effects.AddTwilightEffect; + +/** + * Set: The Two Towers + * Side: Shadow + * Culture: Raider + * Twilight Cost: 0 + * Type: Event + * Game Text: Skirmish: Spot a [RAIDER] Man skirmishing a Ring-bound companion to add a burden. + */ +public class Card4_235 extends AbstractEvent { + public Card4_235() { + super(Side.SHADOW, Culture.RAIDER, "Gathering to the Summons", Phase.SKIRMISH); + } + + @Override + public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { + return super.checkPlayRequirements(playerId, game, self, twilightModifier) + && PlayConditions.canSpot(game, Filters.culture(Culture.RAIDER), Filters.race(Race.MAN), Filters.inSkirmishAgainst(Filters.type(CardType.COMPANION), Filters.keyword(Keyword.RING_BOUND))); + } + + @Override + public PlayEventAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { + PlayEventAction action = new PlayEventAction(self); + action.appendEffect( + new AddTwilightEffect(self, 1)); + return action; + } + + @Override + public int getTwilightCost() { + return 0; + } +} diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java index 5eca40fe4..56b9cda07 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java @@ -115,14 +115,14 @@ public class Filters { }; } - public static Filter inSkirmishAgainst(final Filter againstFilter) { + public static Filter inSkirmishAgainst(final Filter... againstFilter) { return new Filter() { @Override public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) { Skirmish skirmish = gameState.getSkirmish(); if (skirmish != null && skirmish.getFellowshipCharacter() != null) { return (skirmish.getFellowshipCharacter() == physicalCard && Filters.filter(skirmish.getShadowCharacters(), gameState, modifiersQuerying, againstFilter).size() > 0) - || (skirmish.getShadowCharacters().contains(physicalCard) && againstFilter.accepts(gameState, modifiersQuerying, skirmish.getFellowshipCharacter())); + || (skirmish.getShadowCharacters().contains(physicalCard) && Filters.and(againstFilter).accepts(gameState, modifiersQuerying, skirmish.getFellowshipCharacter())); } return false; }