diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/site/Card4_357.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/site/Card4_357.java new file mode 100644 index 000000000..1a2ddcdf5 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/site/Card4_357.java @@ -0,0 +1,41 @@ +package com.gempukku.lotro.cards.set4.site; + +import com.gempukku.lotro.cards.AbstractSite; +import com.gempukku.lotro.cards.effects.ExertCharactersEffect; +import com.gempukku.lotro.common.Block; +import com.gempukku.lotro.common.CardType; +import com.gempukku.lotro.common.Culture; +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.RequiredTriggerAction; +import com.gempukku.lotro.logic.timing.EffectResult; + +import java.util.Collections; +import java.util.List; + +/** + * Set: The Two Towers + * Twilight Cost: 6 + * Type: Site + * Site: 7T + * Game Text: When the fellowship moves to King's Room without a [ROHAN] companion, each unbound companion must exert. + */ +public class Card4_357 extends AbstractSite { + public Card4_357() { + super("King's Room", Block.TWO_TOWERS, 7, 6, Direction.RIGHT); + } + + @Override + public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { + if (effectResult.getType() == EffectResult.Type.WHEN_MOVE_TO + && game.getGameState().getCurrentSite() == self + && Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Culture.ROHAN, CardType.COMPANION) == 0) { + RequiredTriggerAction action = new RequiredTriggerAction(self); + action.appendEffect( + new ExertCharactersEffect(self, Filters.unboundCompanion)); + return Collections.singletonList(action); + } + return null; + } +} 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 c576c0b57..f0cdfffe3 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 @@ -49,7 +49,7 @@ public class Filters { return visitor.getCard(); } - public static int countActive(GameState gameState, ModifiersQuerying modifiersQuerying, Filter... filters) { + public static int countActive(GameState gameState, ModifiersQuerying modifiersQuerying, Filterable... filters) { GetCardsMatchingFilterVisitor matchingFilterVisitor = new GetCardsMatchingFilterVisitor(gameState, modifiersQuerying, Filters.and(filters)); gameState.iterateActiveCards(matchingFilterVisitor); return matchingFilterVisitor.getCounter();