"Forth the Three Hunters!"

This commit is contained in:
marcins78@gmail.com
2012-01-26 16:12:51 +00:00
parent a31ab275ec
commit dfd7f8a772
2 changed files with 84 additions and 1 deletions

View File

@@ -0,0 +1,81 @@
package com.gempukku.lotro.cards.set15.dwarven;
import com.gempukku.lotro.cards.AbstractPermanent;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.cards.modifiers.conditions.AndCondition;
import com.gempukku.lotro.cards.modifiers.evaluator.ConditionEvaluator;
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.ActivateCardAction;
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
import com.gempukku.lotro.logic.effects.DrawCardsEffect;
import com.gempukku.lotro.logic.modifiers.SpotCondition;
import com.gempukku.lotro.logic.timing.Action;
import java.util.Collections;
import java.util.List;
/**
* Set: The Hunters
* Side: Free
* Culture: Dwarven
* Twilight Cost: 2
* Type: Condition • Support Area
* Game Text: Archery: Exert Legolas and exert Aragorn to wound a minion. Skirmish: Exert Aragorn and spot Gimli to make
* a minion strength -1 (or -3 if Aragorn and Gimli are hunters). Regroup: Exert Gimli and spot Legolas to draw a card
* (or 2 cards if Gimli and Legolas are hunters).
*/
public class Card15_204 extends AbstractPermanent {
public Card15_204() {
super(Side.FREE_PEOPLE, 2, CardType.CONDITION, Culture.DWARVEN, Zone.SUPPORT, "Forth the Three Hunters!");
}
@Override
protected List<? extends Action> getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) {
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.ARCHERY, self)
&& PlayConditions.canExert(self, game, Filters.legolas)
&& PlayConditions.canExert(self, game, Filters.aragorn)) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.legolas));
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.aragorn));
action.appendEffect(
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.MINION));
return Collections.singletonList(action);
}
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self)
&& PlayConditions.canExert(self, game, Filters.aragorn)
&& PlayConditions.canSpot(game, Filters.gimli)) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.aragorn));
action.appendEffect(
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId,
new ConditionEvaluator(-1, -3,
new AndCondition(
new SpotCondition(Filters.aragorn, Keyword.HUNTER),
new SpotCondition(Filters.gimli, Keyword.HUNTER))), CardType.MINION));
return Collections.singletonList(action);
}
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.REGROUP, self)
&& PlayConditions.canExert(self, game, Filters.gimli)
&& PlayConditions.canSpot(game, Filters.legolas)) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.gimli));
action.appendEffect(
new DrawCardsEffect(action, playerId, 1));
if (PlayConditions.canSpot(game, Filters.gimli, Keyword.HUNTER)
&& PlayConditions.canSpot(game, Filters.legolas, Keyword.HUNTER))
action.appendEffect(
new DrawCardsEffect(action, playerId, 1));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -49,7 +49,9 @@ public class LotroServer extends AbstractServer {
_test = test;
_defaultCollection = new DefaultCardCollection();
final int[] cardCounts = new int[]{129, 365, 122, 122, 365, 128, 128, 365, 122, 52, 122, 266, 203, 203, 15};
// Hunters have 1-194 normal cards, 9 "O" cards, and 3 extra to cover the different culture versions of 15_60
final int[] cardCounts = new int[]{129, 365, 122, 122, 365, 128, 128, 365, 122, 52, 122, 266, 203, 203, 15, 206};
Thread thr = new Thread(
new Runnable() {