diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/FPCulturesSideSpotCountModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/FPCulturesSideSpotCountModifier.java new file mode 100644 index 000000000..8a19f5fdb --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/FPCulturesSideSpotCountModifier.java @@ -0,0 +1,32 @@ +package com.gempukku.lotro.cards.modifiers; + +import com.gempukku.lotro.common.Side; +import com.gempukku.lotro.game.PhysicalCard; +import com.gempukku.lotro.game.state.GameState; +import com.gempukku.lotro.logic.GameUtils; +import com.gempukku.lotro.logic.modifiers.AbstractModifier; +import com.gempukku.lotro.logic.modifiers.Condition; +import com.gempukku.lotro.logic.modifiers.ModifierEffect; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; + +public class FPCulturesSideSpotCountModifier extends AbstractModifier { + private Side _sidePlayer; + private int _modifier; + + public FPCulturesSideSpotCountModifier(PhysicalCard source, Side sidePlayer, int modifier) { + this(source, sidePlayer, null, modifier); + } + + public FPCulturesSideSpotCountModifier(PhysicalCard source, Side sidePlayer, Condition condition, int modifier) { + super(source, "Modifies FP culture count", null, condition, ModifierEffect.SPOT_MODIFIER); + _sidePlayer = sidePlayer; + _modifier = modifier; + } + + @Override + public int getFPCulturesSpotCountModifier(GameState gameState, ModifiersQuerying modifiersQuerying, String playerId) { + if (GameUtils.isSide(gameState, _sidePlayer, playerId)) + return _modifier; + return 0; + } +} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/site/Card20_459.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/site/Card20_459.java new file mode 100644 index 000000000..819689306 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/site/Card20_459.java @@ -0,0 +1,25 @@ +package com.gempukku.lotro.cards.set20.site; + +import com.gempukku.lotro.cards.AbstractSite; +import com.gempukku.lotro.cards.modifiers.FPCulturesSideSpotCountModifier; +import com.gempukku.lotro.common.Block; +import com.gempukku.lotro.common.Side; +import com.gempukku.lotro.game.PhysicalCard; +import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.modifiers.Modifier; + +/** + * Citadel of Cirith Ungol + * 8 8 + * The number of Free Peoples cultures that the Shadow player can spot is -1. + */ +public class Card20_459 extends AbstractSite { + public Card20_459() { + super("Citadel of Cirith Ungol", Block.SECOND_ED, 8, 8, null); + } + + @Override + public Modifier getAlwaysOnModifier(LotroGame game, PhysicalCard self) { + return new FPCulturesSideSpotCountModifier(self, Side.SHADOW, -1); + } +} diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/GameUtils.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/GameUtils.java index 6e8806b00..9acdd63c7 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/GameUtils.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/GameUtils.java @@ -2,6 +2,7 @@ package com.gempukku.lotro.logic; import com.gempukku.lotro.common.Culture; import com.gempukku.lotro.common.Filterable; +import com.gempukku.lotro.common.Side; import com.gempukku.lotro.common.Token; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.LotroCardBlueprint; @@ -13,6 +14,13 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; import java.util.*; public class GameUtils { + public static boolean isSide(GameState gameState, Side side, String playerId) { + if (side == Side.FREE_PEOPLE) + return gameState.getCurrentPlayerId().equals(playerId); + else + return !gameState.getCurrentPlayerId().equals(playerId); + } + public static boolean isFP(LotroGame game, String playerId) { return game.getGameState().getCurrentPlayerId().equals(playerId); }