From 927b807bfc2a3beb4d58a10fb9791cf4f1a5e7b9 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Fri, 28 Oct 2011 10:30:45 +0000 Subject: [PATCH] "Citadel to Gate" --- .../lotro/cards/set7/gandalf/Card7_033.java | 54 +++++++++++++++++++ .../logic/effects/HealCharactersEffect.java | 3 +- 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/gandalf/Card7_033.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/gandalf/Card7_033.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/gandalf/Card7_033.java new file mode 100644 index 000000000..5aeeb05b1 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/gandalf/Card7_033.java @@ -0,0 +1,54 @@ +package com.gempukku.lotro.cards.set7.gandalf; + +import com.gempukku.lotro.cards.AbstractEvent; +import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.actions.PlayEventAction; +import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect; +import com.gempukku.lotro.common.CardType; +import com.gempukku.lotro.common.Culture; +import com.gempukku.lotro.common.Phase; +import com.gempukku.lotro.common.Side; +import com.gempukku.lotro.filters.Filters; +import com.gempukku.lotro.game.PhysicalCard; +import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; +import com.gempukku.lotro.logic.effects.HealCharactersEffect; +import com.gempukku.lotro.logic.effects.RemoveThreatsEffect; + +/** + * Set: The Return of the King + * Side: Free + * Culture: Gandalf + * Twilight Cost: 5 + * Type: Event • Fellowship + * Game Text: Exert Gandalf twice to remove all threats and to heal all companions of one culture (except [GANDALF]). + */ +public class Card7_033 extends AbstractEvent { + public Card7_033() { + super(Side.FREE_PEOPLE, 5, Culture.GANDALF, "Citadel to Gate", Phase.FELLOWSHIP); + } + + @Override + public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { + return super.checkPlayRequirements(playerId, game, self, twilightModifier) + && PlayConditions.canExert(self, game, 2, Filters.name("Gandalf")); + } + + @Override + public PlayEventAction getPlayCardAction(String playerId, LotroGame game, final PhysicalCard self, int twilightModifier) { + final PlayEventAction action = new PlayEventAction(self); + action.appendCost( + new ChooseAndExertCharactersEffect(action, playerId, 1, 1, 2, Filters.name("Gandalf"))); + action.appendEffect( + new RemoveThreatsEffect(self, Integer.MAX_VALUE)); + action.appendEffect( + new ChooseActiveCardEffect(self, playerId, "Choose companion of culture you wish to heal", CardType.COMPANION, Filters.wounded, Filters.not(Culture.GANDALF)) { + @Override + protected void cardSelected(LotroGame game, PhysicalCard card) { + action.appendEffect( + new HealCharactersEffect(self, card.getBlueprint().getCulture())); + } + }); + return action; + } +} diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/HealCharactersEffect.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/HealCharactersEffect.java index 4a21b6ea8..af62fd0b6 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/HealCharactersEffect.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/HealCharactersEffect.java @@ -1,5 +1,6 @@ package com.gempukku.lotro.logic.effects; +import com.gempukku.lotro.common.Filterable; import com.gempukku.lotro.filters.Filter; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; @@ -22,7 +23,7 @@ public class HealCharactersEffect extends AbstractPreventableCardEffect { _source = source; } - public HealCharactersEffect(PhysicalCard source, Filter filter) { + public HealCharactersEffect(PhysicalCard source, Filterable... filter) { super(filter); _source = source; }