"Swan-ship of the Galadhrim"

This commit is contained in:
marcins78@gmail.com
2011-08-30 11:07:15 +00:00
parent 8e6400e572
commit f6aee90e54
2 changed files with 81 additions and 1 deletions

View File

@@ -5,15 +5,19 @@ import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.AddUntilStartOfPhaseModifierEffect; import com.gempukku.lotro.cards.effects.AddUntilStartOfPhaseModifierEffect;
import com.gempukku.lotro.cards.effects.ExertCharacterEffect; import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
import com.gempukku.lotro.cards.modifiers.AllyOnCurrentSiteModifier; import com.gempukku.lotro.cards.modifiers.AllyOnCurrentSiteModifier;
import com.gempukku.lotro.cards.modifiers.StrengthModifier;
import com.gempukku.lotro.common.*; import com.gempukku.lotro.common.*;
import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.CostToEffectAction; import com.gempukku.lotro.logic.actions.CostToEffectAction;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.modifiers.CompositeModifier;
import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.timing.Action; import com.gempukku.lotro.logic.timing.Action;
import java.util.Collections; import java.util.Collections;
import java.util.LinkedList;
import java.util.List; import java.util.List;
/** /**
@@ -46,9 +50,15 @@ public class Card1_064 extends AbstractLotroCardBlueprint {
@Override @Override
protected void cardSelected(LotroGame game, PhysicalCard elfAlly) { protected void cardSelected(LotroGame game, PhysicalCard elfAlly) {
action.addCost(new ExertCharacterEffect(elfAlly)); action.addCost(new ExertCharacterEffect(elfAlly));
List<Modifier> modifiers = new LinkedList<Modifier>();
modifiers.add(new StrengthModifier(null, null, 3));
modifiers.add(new AllyOnCurrentSiteModifier(null, null));
action.addEffect( action.addEffect(
new AddUntilStartOfPhaseModifierEffect( new AddUntilStartOfPhaseModifierEffect(
new AllyOnCurrentSiteModifier(self, Filters.sameCard(elfAlly)), Phase.REGROUP)); new CompositeModifier(self, Filters.sameCard(elfAlly), modifiers)
, Phase.REGROUP));
} }
} }
); );

View File

@@ -0,0 +1,70 @@
package com.gempukku.lotro.cards.set1.elven;
import com.gempukku.lotro.cards.AbstractLotroCardBlueprint;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.AddUntilStartOfPhaseModifierEffect;
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
import com.gempukku.lotro.cards.modifiers.AllyOnCurrentSiteModifier;
import com.gempukku.lotro.cards.modifiers.StrengthModifier;
import com.gempukku.lotro.common.*;
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.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.modifiers.CompositeModifier;
import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.timing.Action;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
/**
* Set: The Fellowship of the Ring
* Side: Free
* Culture: Elven
* Twilight Cost: 1
* Type: Event
* Game Text: Maneuver: Exert an Elf ally whose home is site 6. Until the regroup phase, that ally is strength +3 and
* participates in archery fire and skirmishes.
*/
public class Card1_065 extends AbstractLotroCardBlueprint {
public Card1_065() {
super(Side.FREE_PEOPLE, CardType.EVENT, Culture.ELVEN, "Swan-ship of the Galadhrim", "1_65");
addKeyword(Keyword.MANEUVER);
}
@Override
public int getTwilightCost() {
return 1;
}
@Override
public List<? extends Action> getPlayablePhaseActions(String playerId, LotroGame game, final PhysicalCard self) {
if (PlayConditions.canPlayDuringPhase(game.getGameState(), Phase.MANEUVER, self)
&& Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.ELF), Filters.type(CardType.ALLY), Filters.siteNumber(6), Filters.canExert())) {
final CostToEffectAction action = new CostToEffectAction(self, "Exert an Elf ally whose home is site 6. Until the regroup phase, that ally is strength +3 and participates in archery fire and skirmishes.");
action.addCost(
new ChooseActiveCardEffect(playerId, "Choose and Elf ally", Filters.keyword(Keyword.ELF), Filters.type(CardType.ALLY), Filters.siteNumber(6), Filters.canExert()) {
@Override
protected void cardSelected(LotroGame game, PhysicalCard elfAlly) {
action.addCost(new ExertCharacterEffect(elfAlly));
List<Modifier> modifiers = new LinkedList<Modifier>();
modifiers.add(new StrengthModifier(null, null, 3));
modifiers.add(new AllyOnCurrentSiteModifier(null, null));
action.addEffect(
new AddUntilStartOfPhaseModifierEffect(
new CompositeModifier(self, Filters.sameCard(elfAlly), modifiers)
, Phase.REGROUP));
}
}
);
return Collections.singletonList(action);
}
return null;
}
}