From 6142accd59c4913a49bcf5d6934b5f348a075c87 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Wed, 22 Feb 2012 13:57:15 +0000 Subject: [PATCH] "Blade of the White Hand" --- .../cards/set17/uruk_hai/Card17_112.java | 47 +++++++++++++++++++ .../com/gempukku/lotro/filters/Filters.java | 7 +++ 2 files changed, 54 insertions(+) create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set17/uruk_hai/Card17_112.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set17/uruk_hai/Card17_112.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set17/uruk_hai/Card17_112.java new file mode 100644 index 000000000..5c3778ce0 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set17/uruk_hai/Card17_112.java @@ -0,0 +1,47 @@ +package com.gempukku.lotro.cards.set17.uruk_hai; + +import com.gempukku.lotro.cards.AbstractAttachable; +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.modifiers.KeywordModifier; +import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.SpotCondition; +import com.gempukku.lotro.logic.modifiers.StrengthModifier; + +import java.util.LinkedList; +import java.util.List; + +/** + * Set: Rise of Saruman + * Side: Shadow + * Culture: Uruk-hai + * Twilight Cost: 1 + * Type: Possession • Hand Weapon + * Strength: +1 + * Game Text: Bearer must be an [URUK-HAI] Uruk-hai. While you can spot 2 controlled sites, this minion is damage +1. + * While you can spot 4 controlled sites, this minion is damage +3. + */ +public class Card17_112 extends AbstractAttachable { + public Card17_112() { + super(Side.SHADOW, CardType.POSSESSION, 1, Culture.URUK_HAI, PossessionClass.HAND_WEAPON, "Blade of the White Hand"); + } + + @Override + protected Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) { + return Filters.and(Culture.URUK_HAI, Race.URUK_HAI); + } + + @Override + public List getAlwaysOnModifiers(LotroGame game, PhysicalCard self) { + List modifiers = new LinkedList(); + modifiers.add( + new StrengthModifier(self, Filters.hasAttached(self), 1)); + modifiers.add( + new KeywordModifier(self, Filters.hasAttached(self), new SpotCondition(2, Filters.siteControlledByAnyPlayer), Keyword.DAMAGE, 1)); + modifiers.add( + new KeywordModifier(self, Filters.hasAttached(self), new SpotCondition(4, Filters.siteControlledByAnyPlayer), Keyword.DAMAGE, 3)); + return modifiers; + } +} 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 9c64cd09d..db7481826 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 @@ -727,6 +727,13 @@ public class Filters { }; } + public static Filter siteControlledByAnyPlayer = new Filter() { + @Override + public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) { + return physicalCard.getBlueprint().getCardType() == CardType.SITE && physicalCard.getCardController() != null; + } + }; + public static Filter siteControlled(final String playerId) { return new Filter() { @Override