"The Tale of Gil-galad"
This commit is contained in:
@@ -26,11 +26,11 @@ public class AbstractAttachable extends AbstractLotroCardBlueprint {
|
||||
_twilight = twilight;
|
||||
}
|
||||
|
||||
protected void appendAttachCardFromHandAction(List<Action> actions, LotroGame game, PhysicalCard self, Filter validTargetFilter) {
|
||||
appendAttachCardFromHandAction(actions, game, self, validTargetFilter, Collections.<Filter, Integer>emptyMap());
|
||||
protected void appendAttachCardAction(List<Action> actions, LotroGame game, PhysicalCard self, Filter validTargetFilter) {
|
||||
appendAttachCardAction(actions, game, self, validTargetFilter, Collections.<Filter, Integer>emptyMap());
|
||||
}
|
||||
|
||||
protected void appendAttachCardFromHandAction(List<Action> actions, LotroGame game, PhysicalCard self, Filter validTargetFilter, Map<Filter, Integer> playCostModifiers) {
|
||||
protected void appendAttachCardAction(List<Action> actions, LotroGame game, PhysicalCard self, Filter validTargetFilter, Map<Filter, Integer> playCostModifiers) {
|
||||
GameState gameState = game.getGameState();
|
||||
LotroCardBlueprint blueprint = self.getBlueprint();
|
||||
if (gameState.getCurrentPhase() == ((getSide() == Side.FREE_PEOPLE) ? Phase.FELLOWSHIP : Phase.SHADOW)
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ public class Card1_031 extends AbstractAttachableFPPossession {
|
||||
Map<Filter, Integer> costModifiers = new HashMap<Filter, Integer>();
|
||||
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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ public class Card1_062 extends AbstractAttachable {
|
||||
Filter validTargetFilter = Filters.and(Filters.keyword(Keyword.ELF), Filters.type(CardType.COMPANION));
|
||||
|
||||
List<Action> actions = new LinkedList<Action>();
|
||||
appendAttachCardFromHandAction(actions, game, self, validTargetFilter);
|
||||
appendAttachCardAction(actions, game, self, validTargetFilter);
|
||||
return actions;
|
||||
}
|
||||
|
||||
|
||||
@@ -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<? extends Action> getPlayablePhaseActions(String playerId, LotroGame game, PhysicalCard self) {
|
||||
List<Action> actions = new LinkedList<Action>();
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user