From a3e9d0109bf9a3595ce572610c2b4d51de35cd91 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Thu, 23 Feb 2012 16:46:30 +0000 Subject: [PATCH] "White Hand Trooper" --- ...layersCantUseSpecialAbilitiesModifier.java | 33 ++++++++++++ .../cards/set17/uruk_hai/Card17_133.java | 52 +++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUseSpecialAbilitiesModifier.java create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set17/uruk_hai/Card17_133.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUseSpecialAbilitiesModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUseSpecialAbilitiesModifier.java new file mode 100644 index 000000000..86bd8977b --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUseSpecialAbilitiesModifier.java @@ -0,0 +1,33 @@ +package com.gempukku.lotro.cards.modifiers; + +import com.gempukku.lotro.common.Filterable; +import com.gempukku.lotro.filters.Filters; +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.Condition; +import com.gempukku.lotro.logic.modifiers.ModifierEffect; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; +import com.gempukku.lotro.logic.timing.Action; + +public class PlayersCantUseSpecialAbilitiesModifier extends AbstractModifier { + + private Filterable[] _sourceFilters; + + public PlayersCantUseSpecialAbilitiesModifier(PhysicalCard source, Filterable... sourceFilters) { + this(source, null, sourceFilters); + } + + public PlayersCantUseSpecialAbilitiesModifier(PhysicalCard source, Condition condition, Filterable... sourceFilters) { + super(source, null, null, condition, ModifierEffect.ACTION_MODIFIER); + _sourceFilters = sourceFilters; + } + + @Override + public boolean canPlayAction(GameState gameState, ModifiersQuerying modifiersQuerying, String performingPlayer, Action action) { + if (action.getType() == Action.Type.SPECIAL_ABILITY + && Filters.and(_sourceFilters).accepts(gameState, modifiersQuerying, action.getActionSource())) + return false; + return true; + } +} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set17/uruk_hai/Card17_133.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set17/uruk_hai/Card17_133.java new file mode 100644 index 000000000..8ff063b93 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set17/uruk_hai/Card17_133.java @@ -0,0 +1,52 @@ +package com.gempukku.lotro.cards.set17.uruk_hai; + +import com.gempukku.lotro.cards.AbstractMinion; +import com.gempukku.lotro.cards.modifiers.PlayersCantUseSpecialAbilitiesModifier; +import com.gempukku.lotro.cards.modifiers.conditions.AndCondition; +import com.gempukku.lotro.common.CardType; +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.CantPlayCardsModifier; +import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.SpotCondition; + +import java.util.LinkedList; +import java.util.List; + +/** + * Set: Rise of Saruman + * Side: Shadow + * Culture: Uruk-hai + * Twilight Cost: 3 + * Type: Minion • Uruk-Hai + * Strength: 9 + * Vitality: 2 + * Site: 5 + * Game Text: Fierce. While this minion is assigned to a skirmish, each hunter companion loses its special abilities + * and skirmish events may not be played in those companions skirmishes. + */ +public class Card17_133 extends AbstractMinion { + public Card17_133() { + super(3, 9, 2, 5, Race.URUK_HAI, Culture.URUK_HAI, "White Hand Trooper"); + addKeyword(Keyword.FIERCE); + } + + @Override + public List getAlwaysOnModifiers(LotroGame game, PhysicalCard self) { + List modifiers = new LinkedList(); + modifiers.add( + new CantPlayCardsModifier(self, + new AndCondition( + new SpotCondition(self, Filters.assignedToSkirmish), + new SpotCondition(CardType.COMPANION, Keyword.HUNTER, Filters.inSkirmish) + ), CardType.EVENT, Keyword.SKIRMISH)); + modifiers.add( + new PlayersCantUseSpecialAbilitiesModifier(self, + new SpotCondition(self, Filters.assignedToSkirmish), CardType.COMPANION, Keyword.HUNTER)); + return modifiers; + } +}