diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/LocationCondition.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/LocationCondition.java new file mode 100644 index 000000000..c81015fc3 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/LocationCondition.java @@ -0,0 +1,19 @@ +package com.gempukku.lotro.cards.modifiers; + +import com.gempukku.lotro.filters.Filter; +import com.gempukku.lotro.game.state.GameState; +import com.gempukku.lotro.logic.modifiers.Condition; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; + +public class LocationCondition implements Condition { + private Filter _filter; + + public LocationCondition(Filter filter) { + _filter = filter; + } + + @Override + public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) { + return _filter.accepts(gameState, modifiersQuerying, gameState.getCurrentSite()); + } +} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_179.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_179.java new file mode 100644 index 000000000..07e8b417c --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/isengard/Card4_179.java @@ -0,0 +1,56 @@ +package com.gempukku.lotro.cards.set4.isengard; + +import com.gempukku.lotro.cards.AbstractMinion; +import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.modifiers.CantTakeWoundsModifier; +import com.gempukku.lotro.cards.modifiers.LocationCondition; +import com.gempukku.lotro.cards.modifiers.StrengthModifier; +import com.gempukku.lotro.common.Culture; +import com.gempukku.lotro.common.Keyword; +import com.gempukku.lotro.common.Race; +import com.gempukku.lotro.filters.Filters; +import com.gempukku.lotro.game.PhysicalCard; +import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.modifiers.KeywordModifier; +import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.SpotCondition; + +import java.util.LinkedList; +import java.util.List; + +/** + * Set: The Two Towers + * Side: Shadow + * Culture: Isengard + * Twilight Cost: 7 + * Type: Minion • Uruk-Hai + * Strength: 14 + * Vitality: 3 + * Site: 5 + * Game Text: Damage +1. To play, spot an Uruk-hai. While at a battleground, this minion is fierce. While you control + * a battleground, this minion is strength +6. While you control 2 battlegrounds, this minion may not take wounds. + */ +public class Card4_179 extends AbstractMinion { + public Card4_179() { + super(7, 14, 3, 5, Race.URUK_HAI, Culture.ISENGARD, "Uruk Assault Band"); + addKeyword(Keyword.DAMAGE); + } + + @Override + public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { + return super.checkPlayRequirements(playerId, game, self, twilightModifier) + && PlayConditions.canSpot(game, Filters.race(Race.URUK_HAI)); + } + + @Override + public List getAlwaysOnModifiers(PhysicalCard self) { + List modifiers = new LinkedList(); + modifiers.add( + new KeywordModifier(self, Filters.sameCard(self), new LocationCondition(Filters.keyword(Keyword.BATTLEGROUND)), Keyword.FIERCE, 1)); + modifiers.add( + new StrengthModifier(self, Filters.sameCard(self), new SpotCondition(Filters.siteControlled(self.getOwner()), Filters.keyword(Keyword.BATTLEGROUND)), 6)); + modifiers.add( + new CantTakeWoundsModifier(self, new SpotCondition(Filters.and(Filters.siteControlled(self.getOwner()), Filters.keyword(Keyword.BATTLEGROUND)), 2), Filters.sameCard(self))); + return modifiers; + } +} diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/SpotCondition.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/SpotCondition.java index 0b561b4e0..8647b06f4 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/SpotCondition.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/SpotCondition.java @@ -8,8 +8,8 @@ public class SpotCondition implements Condition { private Filter _filter; private int _count; - public SpotCondition(Filter filter) { - this(filter, 1); + public SpotCondition(Filter... filter) { + this(Filters.and(filter), 1); } public SpotCondition(Filter filter, int count) {