From 82dc775e39c2a7c83c7de38896db1ffc7bcaf149 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Mon, 17 Oct 2011 21:00:29 +0000 Subject: [PATCH] "Isengard Scimitar" --- .../lotro/cards/set5/isengard/Card5_054.java | 55 +++++++++++++++++++ .../com/gempukku/lotro/filters/Filters.java | 2 + .../com/gempukku/lotro/game/PhysicalCard.java | 3 +- 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/isengard/Card5_054.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/isengard/Card5_054.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/isengard/Card5_054.java new file mode 100644 index 000000000..946ff1ccf --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/isengard/Card5_054.java @@ -0,0 +1,55 @@ +package com.gempukku.lotro.cards.set5.isengard; + +import com.gempukku.lotro.cards.AbstractAttachable; +import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.modifiers.StrengthModifier; +import com.gempukku.lotro.common.*; +import com.gempukku.lotro.filters.Filter; +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.OptionalTriggerAction; +import com.gempukku.lotro.logic.effects.AddTwilightEffect; +import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.timing.EffectResult; + +import java.util.Collections; +import java.util.List; + +/** + * Set: Battle of Helm's Deep + * Side: Shadow + * Culture: Isengard + * Twilight Cost: 0 + * Type: Possession • Hand Weapon + * Strength: +2 + * Game Text: Bearer must be an [ISENGARD] Orc. When you play this weapon, you may add (1) for each site you control. + */ +public class Card5_054 extends AbstractAttachable { + public Card5_054() { + super(Side.SHADOW, CardType.POSSESSION, 0, Culture.ISENGARD, PossessionClass.HAND_WEAPON, "Isengard Scimitar"); + } + + @Override + protected Filter getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) { + return Filters.and(Culture.ISENGARD, Race.ORC); + } + + @Override + public List getAlwaysOnModifiers(LotroGame game, PhysicalCard self) { + return Collections.singletonList( + new StrengthModifier(self, Filters.hasAttached(self), 2)); + } + + @Override + public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { + if (PlayConditions.played(game, effectResult, self) + && Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.siteControlled(playerId)) > 0) { + OptionalTriggerAction action = new OptionalTriggerAction(self); + action.appendEffect( + new AddTwilightEffect(self, Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.siteControlled(playerId)))); + 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 cb808aa71..0cb84603f 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 @@ -471,6 +471,8 @@ public class Filters { private static Filter changeToFilter(Filterable filter) { if (filter instanceof Filter) return (Filter) filter; + else if (filter instanceof PhysicalCard) + return Filters.sameCard((PhysicalCard) filter); else if (filter instanceof CardType) return Filters.type((CardType) filter); else if (filter instanceof Culture) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/PhysicalCard.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/PhysicalCard.java index e257615f3..6e84cbe90 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/PhysicalCard.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/PhysicalCard.java @@ -1,8 +1,9 @@ package com.gempukku.lotro.game; +import com.gempukku.lotro.common.Filterable; import com.gempukku.lotro.common.Zone; -public interface PhysicalCard { +public interface PhysicalCard extends Filterable { public Zone getZone(); public String getBlueprintId();