From 48d8ac72e600776c392916e78949c0c06ec63532 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Mon, 26 Sep 2011 16:42:22 +0000 Subject: [PATCH] "Gandalf's Wisdom" --- .../lotro/cards/set2/gandalf/Card2_023.java | 43 +++++++++++++++++++ .../logic/modifiers/AbstractModifier.java | 12 +++--- 2 files changed, 49 insertions(+), 6 deletions(-) create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/gandalf/Card2_023.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/gandalf/Card2_023.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/gandalf/Card2_023.java new file mode 100644 index 000000000..2e04d96e8 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/gandalf/Card2_023.java @@ -0,0 +1,43 @@ +package com.gempukku.lotro.cards.set2.gandalf; + +import com.gempukku.lotro.cards.AbstractPermanent; +import com.gempukku.lotro.common.*; +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.Modifier; +import com.gempukku.lotro.logic.modifiers.ModifierEffect; +import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; + +/** + * Set: Mines of Moria + * Side: Free + * Culture: Gandalf + * Twilight Cost: 0 + * Type: Condition + * Game Text: Plays to your support area. The twilight cost of each possession or artifact played on Gandalf or + * a character who has the Gandalf signet is -1. + */ +public class Card2_023 extends AbstractPermanent { + public Card2_023() { + super(Side.FREE_PEOPLE, 0, CardType.CONDITION, Culture.GANDALF, Zone.FREE_SUPPORT, "Gandalf's Wisdom"); + } + + @Override + public Modifier getAlwaysOnEffect(PhysicalCard self) { + return new AbstractModifier(self, "The twilight cost of each possession or artifact played on Gandalf or a character who has the Gandalf signet is -1", + Filters.or( + Filters.type(CardType.POSSESSION), + Filters.type(CardType.ARTIFACT)), new ModifierEffect[]{ModifierEffect.TWILIGHT_COST_MODIFIER}) { + @Override + public int getPlayOnTwilightCost(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard, PhysicalCard target, int result) { + if (physicalCard.getBlueprint().getCardType() == CardType.POSSESSION || physicalCard.getBlueprint().getCardType() == CardType.ARTIFACT) { + if (target.getBlueprint().getName().equals("Gandalf") || target.getBlueprint().getSignet() == Signet.GANDALF) + return result - 1; + } + return result; + } + }; + } +} diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java index 3d4359c56..f91d766f9 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java @@ -75,32 +75,32 @@ public abstract class AbstractModifier implements Modifier { } @Override - public int getTwilightCost(GameState gameState, ModifiersQuerying modifiersLogic, PhysicalCard physicalCard, int result) { + public int getTwilightCost(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard, int result) { return result; } @Override - public int getPlayOnTwilightCost(GameState gameState, ModifiersQuerying modifiersLogic, PhysicalCard physicalCard, PhysicalCard target, int result) { + public int getPlayOnTwilightCost(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard, PhysicalCard target, int result) { return result; } @Override - public boolean isOverwhelmedByStrength(GameState gameState, ModifiersQuerying modifiersLogic, PhysicalCard physicalCard, int strength, int opposingStrength, boolean result) { + public boolean isOverwhelmedByStrength(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard, int strength, int opposingStrength, boolean result) { return result; } @Override - public boolean canTakeWound(GameState gameState, ModifiersQuerying modifiersLogic, PhysicalCard physicalCard, boolean result) { + public boolean canTakeWound(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard, boolean result) { return result; } @Override - public boolean isAllyOnCurrentSite(GameState gameState, ModifiersQuerying modifiersLogic, PhysicalCard card, boolean allyOnCurrentSite) { + public boolean isAllyOnCurrentSite(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard card, boolean allyOnCurrentSite) { return allyOnCurrentSite; } @Override - public int getArcheryTotal(GameState gameState, ModifiersQuerying modifiersLogic, Side side, int result) { + public int getArcheryTotal(GameState gameState, ModifiersQuerying modifiersQuerying, Side side, int result) { return result; }