From 05968012dd84e6a8bf83d686500f180b311782fe Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Tue, 30 Aug 2011 11:13:54 +0000 Subject: [PATCH] "The Tale of Gil-galad" --- .../lotro/cards/AbstractAttachable.java | 6 +-- .../lotro/cards/set1/dwarven/Card1_008.java | 2 +- .../lotro/cards/set1/dwarven/Card1_009.java | 2 +- .../lotro/cards/set1/dwarven/Card1_010.java | 2 +- .../lotro/cards/set1/dwarven/Card1_014.java | 2 +- .../lotro/cards/set1/dwarven/Card1_015.java | 2 +- .../lotro/cards/set1/elven/Card1_031.java | 2 +- .../lotro/cards/set1/elven/Card1_033.java | 2 +- .../lotro/cards/set1/elven/Card1_041.java | 2 +- .../lotro/cards/set1/elven/Card1_042.java | 2 +- .../lotro/cards/set1/elven/Card1_047.java | 2 +- .../lotro/cards/set1/elven/Card1_049.java | 2 +- .../lotro/cards/set1/elven/Card1_062.java | 2 +- .../lotro/cards/set1/elven/Card1_066.java | 54 +++++++++++++++++++ 14 files changed, 69 insertions(+), 15 deletions(-) create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_066.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAttachable.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAttachable.java index 7d10fe41d..90703b546 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAttachable.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAttachable.java @@ -26,11 +26,11 @@ public class AbstractAttachable extends AbstractLotroCardBlueprint { _twilight = twilight; } - protected void appendAttachCardFromHandAction(List actions, LotroGame game, PhysicalCard self, Filter validTargetFilter) { - appendAttachCardFromHandAction(actions, game, self, validTargetFilter, Collections.emptyMap()); + protected void appendAttachCardAction(List actions, LotroGame game, PhysicalCard self, Filter validTargetFilter) { + appendAttachCardAction(actions, game, self, validTargetFilter, Collections.emptyMap()); } - protected void appendAttachCardFromHandAction(List actions, LotroGame game, PhysicalCard self, Filter validTargetFilter, Map playCostModifiers) { + protected void appendAttachCardAction(List actions, LotroGame game, PhysicalCard self, Filter validTargetFilter, Map playCostModifiers) { GameState gameState = game.getGameState(); LotroCardBlueprint blueprint = self.getBlueprint(); if (gameState.getCurrentPhase() == ((getSide() == Side.FREE_PEOPLE) ? Phase.FELLOWSHIP : Phase.SHADOW) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_008.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_008.java index 38d4ae215..7cb3c5468 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_008.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_008.java @@ -34,7 +34,7 @@ public class Card1_008 extends AbstractAttachableFPPossession { Filter validTargetFilter = Filters.and(Filters.keyword(Keyword.DWARF), Filters.not(Filters.attached(Filters.keyword(Keyword.ARMOR)))); - appendAttachCardFromHandAction(actions, game, self, validTargetFilter); + appendAttachCardAction(actions, game, self, validTargetFilter); appendTransferPossessionAction(actions, game, self, validTargetFilter); return actions; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_009.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_009.java index 1e487d532..193bafc1a 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_009.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_009.java @@ -43,7 +43,7 @@ public class Card1_009 extends AbstractAttachableFPPossession { Filter validTargetFilter = Filters.and(Filters.keyword(Keyword.DWARF), Filters.not(Filters.attached(Filters.keyword(Keyword.HAND_WEAPON)))); - appendAttachCardFromHandAction(actions, game, self, validTargetFilter); + appendAttachCardAction(actions, game, self, validTargetFilter); appendTransferPossessionAction(actions, game, self, validTargetFilter); return actions; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_010.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_010.java index fb33acc5f..9a449145d 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_010.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_010.java @@ -40,7 +40,7 @@ public class Card1_010 extends AbstractAttachable { Filter validTargetFilter = Filters.keyword(Keyword.DWARF); - appendAttachCardFromHandAction(actions, game, self, validTargetFilter); + appendAttachCardAction(actions, game, self, validTargetFilter); return actions; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_014.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_014.java index 84f9d8252..f4c0faffd 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_014.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_014.java @@ -43,7 +43,7 @@ public class Card1_014 extends AbstractAttachableFPPossession { Filter validTargetFilter = Filters.and(Filters.name("Gimli"), Filters.not(Filters.attached(Filters.keyword(Keyword.HAND_WEAPON)))); - appendAttachCardFromHandAction(actions, game, self, validTargetFilter); + appendAttachCardAction(actions, game, self, validTargetFilter); appendTransferPossessionAction(actions, game, self, validTargetFilter); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_015.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_015.java index f5e89b21d..41692b1ed 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_015.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_015.java @@ -41,7 +41,7 @@ public class Card1_015 extends AbstractAttachableFPPossession { Filter validTargetFilter = Filters.and(Filters.name("Gimli"), Filters.not(Filters.attached(Filters.keyword(Keyword.HELM)))); - appendAttachCardFromHandAction(actions, game, self, validTargetFilter); + appendAttachCardAction(actions, game, self, validTargetFilter); appendTransferPossessionAction(actions, game, self, validTargetFilter); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_031.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_031.java index fe9927d3c..0397092ab 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_031.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_031.java @@ -43,7 +43,7 @@ public class Card1_031 extends AbstractAttachableFPPossession { Map costModifiers = new HashMap(); costModifiers.put(Filters.name("Arwen"), -2); - appendAttachCardFromHandAction(actions, game, self, validTargetFilter, costModifiers); + appendAttachCardAction(actions, game, self, validTargetFilter, costModifiers); appendTransferPossessionAction(actions, game, self, validTargetFilter); return actions; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_033.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_033.java index 07d34d72d..e19cdb406 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_033.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_033.java @@ -42,7 +42,7 @@ public class Card1_033 extends AbstractAttachableFPPossession { Filter validTargetFilter = Filters.and(Filters.name("Legolas"), Filters.not(Filters.attached(Filters.keyword(Keyword.RANGED_WEAPON)))); - appendAttachCardFromHandAction(actions, game, self, validTargetFilter); + appendAttachCardAction(actions, game, self, validTargetFilter); appendTransferPossessionAction(actions, game, self, validTargetFilter); return actions; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_041.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_041.java index a9f68fd7a..2b4c1b991 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_041.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_041.java @@ -34,7 +34,7 @@ public class Card1_041 extends AbstractAttachableFPPossession { Filter validTargetFilter = Filters.and(Filters.keyword(Keyword.ELF), Filters.not(Filters.attached(Filters.keyword(Keyword.RANGED_WEAPON)))); - appendAttachCardFromHandAction(actions, game, self, validTargetFilter); + appendAttachCardAction(actions, game, self, validTargetFilter); appendTransferPossessionAction(actions, game, self, validTargetFilter); return actions; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_042.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_042.java index dfddaa062..6891c4e78 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_042.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_042.java @@ -37,7 +37,7 @@ public class Card1_042 extends AbstractAttachableFPPossession { Filter validTargetFilter = Filters.and(Filters.type(CardType.COMPANION), Filters.not(Filters.attached(Filters.keyword(Keyword.CLOAK)))); if (Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.ELF))) - appendAttachCardFromHandAction(actions, game, self, validTargetFilter); + appendAttachCardAction(actions, game, self, validTargetFilter); appendTransferPossessionAction(actions, game, self, validTargetFilter); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_047.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_047.java index 981167720..629269499 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_047.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_047.java @@ -49,7 +49,7 @@ public class Card1_047 extends AbstractAttachableFPPossession { Filter validTargetFilter = Filters.and(Filters.name("Arwen"), Filters.not(Filters.attached(Filters.keyword(Keyword.HAND_WEAPON)))); if (!Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.name("Gwemegil"))) - appendAttachCardFromHandAction(actions, game, self, validTargetFilter); + appendAttachCardAction(actions, game, self, validTargetFilter); appendTransferPossessionAction(actions, game, self, validTargetFilter); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_049.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_049.java index bf4d53295..56bb10ea5 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_049.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_049.java @@ -39,7 +39,7 @@ public class Card1_049 extends AbstractAttachable { Filter validTargetFilter = Filters.and(Filters.culture(Culture.GONDOR), Filters.keyword(Keyword.MAN), Filters.not(Filters.attached(Filters.name("The Last Alliance of Elves and Men")))); - appendAttachCardFromHandAction(actions, game, self, validTargetFilter); + appendAttachCardAction(actions, game, self, validTargetFilter); return actions; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_062.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_062.java index c7a7d9938..044fe8059 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_062.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_062.java @@ -39,7 +39,7 @@ public class Card1_062 extends AbstractAttachable { Filter validTargetFilter = Filters.and(Filters.keyword(Keyword.ELF), Filters.type(CardType.COMPANION)); List actions = new LinkedList(); - appendAttachCardFromHandAction(actions, game, self, validTargetFilter); + appendAttachCardAction(actions, game, self, validTargetFilter); return actions; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_066.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_066.java new file mode 100644 index 000000000..1e2ad4eee --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_066.java @@ -0,0 +1,54 @@ +package com.gempukku.lotro.cards.set1.elven; + +import com.gempukku.lotro.cards.AbstractAttachable; +import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect; +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.CostToEffectAction; +import com.gempukku.lotro.logic.effects.DiscardCardFromPlayEffect; +import com.gempukku.lotro.logic.timing.Action; + +import java.util.LinkedList; +import java.util.List; + +/** + * Set: The Fellowship of the Ring + * Side: Free + * Culture: Elven + * Twilight Cost: 1 + * Type: Condition + * Vitality: +1 + * Game Text: Tale. Bearer must be an Elf. Skirmish: Discard this condition to make bearer strength +2. + */ +public class Card1_066 extends AbstractAttachable { + public Card1_066() { + super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.ELVEN, "The Tale of Gil-galad", "1_66", true); + addKeyword(Keyword.TALE); + } + + @Override + public List getPlayablePhaseActions(String playerId, LotroGame game, PhysicalCard self) { + List actions = new LinkedList(); + + Filter validTargetFilter = Filters.keyword(Keyword.ELF); + + appendAttachCardAction(actions, game, self, validTargetFilter); + + if (game.getGameState().getCurrentPhase() == Phase.SKIRMISH + && self.getZone() == Zone.ATTACHED) { + CostToEffectAction action = new CostToEffectAction(self, "Discard this condition to make bearer strength +2"); + action.addCost(new DiscardCardFromPlayEffect(self)); + action.addEffect( + new AddUntilEndOfPhaseModifierEffect( + new StrengthModifier(self, Filters.sameCard(self.getAttachedTo()), 2), Phase.SKIRMISH)); + + actions.add(action); + } + + return actions; + } +}