Migrated Dunland cards in set 5 to hjson
This commit is contained in:
@@ -1,57 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.dunland;
|
||||
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
|
||||
import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Shadow
|
||||
* Culture: Dunland
|
||||
* Twilight Cost: 1
|
||||
* Type: Minion • Man
|
||||
* Strength: 9
|
||||
* Vitality: 1
|
||||
* Site: 3
|
||||
* Game Text: When you play this minion, the Free Peoples player may discard 2 cards from hand to discard him.
|
||||
*/
|
||||
public class Card5_001 extends AbstractMinion {
|
||||
public Card5_001() {
|
||||
super(1, 9, 1, 3, Race.MAN, Culture.DUNLAND, "Dunlending Rampager");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(final LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
if (TriggerConditions.played(game, effectResult, self)
|
||||
&& game.getGameState().getHand(game.getGameState().getCurrentPlayerId()).size() >= 2) {
|
||||
final RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendCost(
|
||||
new PlayoutDecisionEffect(game.getGameState().getCurrentPlayerId(),
|
||||
new MultipleChoiceAwaitingDecision(1, "Do you want to discard 2 cards from hand to discard this minion?", new String[]{"Yes", "No"}) {
|
||||
@Override
|
||||
protected void validDecisionMade(int index, String result) {
|
||||
if (result.equals("Yes")) {
|
||||
action.insertCost(
|
||||
new ChooseAndDiscardCardsFromHandEffect(action, game.getGameState().getCurrentPlayerId(), false, 2));
|
||||
action.appendEffect(
|
||||
new SelfDiscardEffect(self));
|
||||
}
|
||||
}
|
||||
}));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.dunland;
|
||||
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
|
||||
import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Shadow
|
||||
* Culture: Dunland
|
||||
* Twilight Cost: 2
|
||||
* Type: Minion • Man
|
||||
* Strength: 10
|
||||
* Vitality: 1
|
||||
* Site: 3
|
||||
* Game Text: When you play this minion, the Free Peoples player may discard 2 cards from hand to discard him.
|
||||
*/
|
||||
public class Card5_002 extends AbstractMinion {
|
||||
public Card5_002() {
|
||||
super(2, 10, 1, 3, Race.MAN, Culture.DUNLAND, "Dunlending Renegade");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(final LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
if (TriggerConditions.played(game, effectResult, self)
|
||||
&& game.getGameState().getHand(game.getGameState().getCurrentPlayerId()).size() >= 2) {
|
||||
final RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendCost(
|
||||
new PlayoutDecisionEffect(game.getGameState().getCurrentPlayerId(),
|
||||
new MultipleChoiceAwaitingDecision(1, "Do you want to discard 2 cards from hand to discard this minion?", new String[]{"Yes", "No"}) {
|
||||
@Override
|
||||
protected void validDecisionMade(int index, String result) {
|
||||
if (result.equals("Yes")) {
|
||||
action.insertCost(
|
||||
new ChooseAndDiscardCardsFromHandEffect(action, game.getGameState().getCurrentPlayerId(), false, 2));
|
||||
action.appendEffect(
|
||||
new SelfDiscardEffect(self));
|
||||
}
|
||||
}
|
||||
}));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.dunland;
|
||||
|
||||
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.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.CostToEffectAction;
|
||||
import com.gempukku.lotro.logic.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
|
||||
import com.gempukku.lotro.logic.effects.DrawCardsEffect;
|
||||
import com.gempukku.lotro.logic.effects.PreventableEffect;
|
||||
import com.gempukku.lotro.logic.effects.ShuffleCardsFromHandIntoDeckEffect;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
import com.gempukku.lotro.logic.timing.UnrespondableEffect;
|
||||
|
||||
import java.util.HashSet;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Shadow
|
||||
* Culture: Dunland
|
||||
* Twilight Cost: 1
|
||||
* Type: Event
|
||||
* Game Text: Shadow: Spot 3 [DUNLAND] minions to shuffle your hand into your draw deck and draw 8 cards.
|
||||
* The Free Peoples player may discard 3 cards from hand to prevent this.
|
||||
*/
|
||||
public class Card5_003 extends AbstractEvent {
|
||||
public Card5_003() {
|
||||
super(Side.SHADOW, 1, Culture.DUNLAND, "Leaping Blaze", Phase.SHADOW);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canSpot(game, 3, Culture.DUNLAND, CardType.MINION);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayEventCardAction(final String playerId, LotroGame game, final PhysicalCard self) {
|
||||
final PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendEffect(
|
||||
new PreventableEffect(action,
|
||||
new UnrespondableEffect() {
|
||||
@Override
|
||||
protected void doPlayEffect(LotroGame game) {
|
||||
action.appendEffect(
|
||||
new ShuffleCardsFromHandIntoDeckEffect(self, playerId, new HashSet<>(game.getGameState().getHand(playerId))));
|
||||
action.appendEffect(
|
||||
new DrawCardsEffect(action, playerId, 8));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Shuffle hand into draw deck and draw 8 cards";
|
||||
}
|
||||
}, game.getGameState().getCurrentPlayerId(),
|
||||
new PreventableEffect.PreventionCost() {
|
||||
@Override
|
||||
public Effect createPreventionCostForPlayer(CostToEffectAction subAction, String playerId) {
|
||||
return new ChooseAndDiscardCardsFromHandEffect(subAction, playerId, false, 3);
|
||||
}
|
||||
}
|
||||
));
|
||||
return action;
|
||||
}
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.dunland;
|
||||
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
|
||||
import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
|
||||
import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect;
|
||||
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Shadow
|
||||
* Culture: Dunland
|
||||
* Twilight Cost: 6
|
||||
* Type: Minion • Man
|
||||
* Strength: 18
|
||||
* Vitality: 2
|
||||
* Site: 3
|
||||
* Game Text: The twilight cost of this minion is -2 during the skirmish phase. When you play this minion, the Free
|
||||
* Peoples player may discard 4 cards from hand to discard it.
|
||||
*/
|
||||
public class Card5_004 extends AbstractMinion {
|
||||
public Card5_004() {
|
||||
super(6, 18, 2, 3, Race.MAN, Culture.DUNLAND, "Wild Men of the Hills");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTwilightCostModifier(LotroGame game, PhysicalCard self, PhysicalCard target) {
|
||||
if (game.getGameState().getCurrentPhase() == Phase.SKIRMISH)
|
||||
return -2;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(final LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
if (TriggerConditions.played(game, effectResult, self)
|
||||
&& game.getGameState().getHand(game.getGameState().getCurrentPlayerId()).size() >= 4) {
|
||||
final RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendCost(
|
||||
new PlayoutDecisionEffect(game.getGameState().getCurrentPlayerId(),
|
||||
new MultipleChoiceAwaitingDecision(1, "Do you want to discard 4 cards from hand to discard this minion?", new String[]{"Yes", "No"}) {
|
||||
@Override
|
||||
protected void validDecisionMade(int index, String result) {
|
||||
if (result.equals("Yes")) {
|
||||
action.insertCost(
|
||||
new ChooseAndDiscardCardsFromHandEffect(action, game.getGameState().getCurrentPlayerId(), false, 4));
|
||||
action.appendEffect(
|
||||
new SelfDiscardEffect(self));
|
||||
}
|
||||
}
|
||||
}));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.dwarven;
|
||||
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.SetUpConsecutiveActionEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Dwarven
|
||||
* Twilight Cost: 0
|
||||
* Type: Event
|
||||
* Game Text: Maneuver: Exert a Dwarf to wound a minion. You may take the next maneuver action.
|
||||
*/
|
||||
public class Card5_005 extends AbstractEvent {
|
||||
public Card5_005() {
|
||||
super(Side.FREE_PEOPLE, 0, Culture.DWARVEN, "Baruk Khazâd", Phase.MANEUVER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canExert(self, game, Race.DWARF);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.DWARF));
|
||||
action.appendEffect(
|
||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.MINION));
|
||||
action.appendEffect(
|
||||
new SetUpConsecutiveActionEffect());
|
||||
return action;
|
||||
}
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.dwarven;
|
||||
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
||||
import com.gempukku.lotro.logic.effects.ChoiceEffect;
|
||||
import com.gempukku.lotro.logic.effects.DrawCardsEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDiscardEffect;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Dwarven
|
||||
* Twilight Cost: 0
|
||||
* Type: Event
|
||||
* Game Text: Fellowship: Spot a Dwarf to Draw a card or play a [DWARVEN] condition from your discard pile.
|
||||
*/
|
||||
public class Card5_006 extends AbstractEvent {
|
||||
public Card5_006() {
|
||||
super(Side.FREE_PEOPLE, 0, Culture.DWARVEN, "Defending the Keep", Phase.FELLOWSHIP);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canSpot(game, Race.DWARF);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
|
||||
List<Effect> possibleEffects = new LinkedList<>();
|
||||
possibleEffects.add(
|
||||
new DrawCardsEffect(action, playerId, 1));
|
||||
possibleEffects.add(
|
||||
new ChooseAndPlayCardFromDiscardEffect(playerId, game, Culture.DWARVEN, CardType.CONDITION) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Play a DWARVEN condition from your discard pile";
|
||||
}
|
||||
});
|
||||
|
||||
action.appendEffect(
|
||||
new ChoiceEffect(action, playerId, possibleEffects));
|
||||
return action;
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.dwarven;
|
||||
|
||||
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.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractCompanion;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Dwarven
|
||||
* Twilight Cost: 2
|
||||
* Type: Companion • Dwarf
|
||||
* Strength: 6
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Signet: Theoden
|
||||
* Game Text: Damage +1. Each time Gimli wins a skirmish, you may wound a minion assigned to skirmish
|
||||
* an unbound companion.
|
||||
*/
|
||||
public class Card5_007 extends AbstractCompanion {
|
||||
public Card5_007() {
|
||||
super(2, 6, 3, 6, Culture.DWARVEN, Race.DWARF, Signet.THEODEN, "Gimli", "Skilled Defender", true);
|
||||
addKeyword(Keyword.DAMAGE, 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.winsSkirmish(game, effectResult, self)) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.MINION, Filters.assignedToSkirmishAgainst(Filters.unboundCompanion)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.dwarven;
|
||||
|
||||
import com.gempukku.lotro.common.*;
|
||||
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.cardtype.AbstractPermanent;
|
||||
import com.gempukku.lotro.logic.effects.AddUntilStartOfPhaseModifierEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.RemoveKeywordModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.condition.LocationCondition;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Dwarven
|
||||
* Twilight Cost: 2
|
||||
* Type: Possession
|
||||
* Game Text: Plays to your support area. Maneuver: Exert a Dwarf companion to make each minion at a battleground lose
|
||||
* all damage bonuses until the regroup phase.
|
||||
*/
|
||||
public class Card5_008 extends AbstractPermanent {
|
||||
public Card5_008() {
|
||||
super(Side.FREE_PEOPLE, 2, CardType.POSSESSION, Culture.DWARVEN, "Horn of Helm", null, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self)
|
||||
&& PlayConditions.canExert(self, game, Race.DWARF, CardType.COMPANION)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.DWARF, CardType.COMPANION));
|
||||
action.appendEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new RemoveKeywordModifier(self, CardType.MINION, new LocationCondition(Keyword.BATTLEGROUND), Keyword.DAMAGE), Phase.REGROUP));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,72 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.dwarven;
|
||||
|
||||
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.cardtype.AbstractPermanent;
|
||||
import com.gempukku.lotro.logic.effects.IncrementPhaseLimitEffect;
|
||||
import com.gempukku.lotro.logic.effects.PutCardFromStackedIntoHandEffect;
|
||||
import com.gempukku.lotro.logic.effects.StackTopCardsFromDeckEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardStackedCardsEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseStackedCardsEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Dwarven
|
||||
* Twilight Cost: 2
|
||||
* Type: Condition
|
||||
* Game Text: Plays to your support area. Maneuver: Stack the top card from your draw deck here (limit once per phase).
|
||||
* Maneuver: Spot a Dwarf and discard a card stacked on a [DWARVEN] condition to take a Free Peoples card stacked here
|
||||
* into hand.
|
||||
*/
|
||||
public class Card5_009 extends AbstractPermanent {
|
||||
public Card5_009() {
|
||||
super(Side.FREE_PEOPLE, 2, CardType.CONDITION, Culture.DWARVEN, "More to My Liking", null, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self)) {
|
||||
List<ActivateCardAction> actions = new LinkedList<>();
|
||||
|
||||
if (PlayConditions.checkPhaseLimit(game, self, 1)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.setText("Stack card here");
|
||||
action.appendCost(
|
||||
new IncrementPhaseLimitEffect(self, 1));
|
||||
action.appendEffect(
|
||||
new StackTopCardsFromDeckEffect(self, playerId, 1, self));
|
||||
actions.add(action);
|
||||
}
|
||||
|
||||
if (PlayConditions.canSpot(game, Race.DWARF)
|
||||
&& Filters.countActive(game, Culture.DWARVEN, CardType.CONDITION, Filters.hasStacked(Filters.any)) > 0) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.setText("Take Free Peoples stacked here into hand");
|
||||
action.appendCost(
|
||||
new ChooseAndDiscardStackedCardsEffect(action, playerId, 1, 1, Filters.and(Culture.DWARVEN, CardType.CONDITION), Filters.any));
|
||||
action.appendEffect(
|
||||
new ChooseStackedCardsEffect(action, playerId, 1, 1, self, Side.FREE_PEOPLE) {
|
||||
@Override
|
||||
protected void cardsChosen(LotroGame game, Collection<PhysicalCard> stackedCards) {
|
||||
for (PhysicalCard stackedCard : stackedCards)
|
||||
action.insertEffect(
|
||||
new PutCardFromStackedIntoHandEffect(stackedCard));
|
||||
}
|
||||
});
|
||||
actions.add(action);
|
||||
}
|
||||
|
||||
return actions;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -22,20 +22,22 @@
|
||||
twilight: 0
|
||||
type: Event
|
||||
keywords: Maneuver
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: {
|
||||
type: event
|
||||
cost: {
|
||||
|
||||
type: exert
|
||||
filter: choose(dwarf)
|
||||
},
|
||||
effect: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
type: wound
|
||||
filter: choose(minion)
|
||||
}
|
||||
{
|
||||
type: canPlayNextAction
|
||||
}
|
||||
]
|
||||
}*/
|
||||
}
|
||||
gametext: <b>Maneuver:</b> Exert a Dwarf to wound a minion. You may take the next maneuver action.
|
||||
lore: ...a small dark figure that none had observed sprang out of the shadows and gave a hoarse shout....
|
||||
promotext: ""
|
||||
@@ -69,20 +71,31 @@
|
||||
twilight: 0
|
||||
type: Event
|
||||
keywords: Fellowship
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: {
|
||||
type: event
|
||||
cost: {
|
||||
|
||||
},
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: dwarf
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
type: choice
|
||||
texts: [
|
||||
Draw a card
|
||||
Play a {dwarven} condition from your discard pile
|
||||
]
|
||||
effects: [
|
||||
{
|
||||
type: drawCards
|
||||
}
|
||||
{
|
||||
type: playCardFromDiscard
|
||||
filter: choose(culture(dwarven),condition)
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}*/
|
||||
}
|
||||
gametext: <b>Fellowship:</b> Spot a Dwarf to draw a card or play a [dwarven] condition from your discard pile.
|
||||
lore: I have fought many wars, master Dwarf. I know how to defend my own Keep.'
|
||||
promotext: ""
|
||||
@@ -122,17 +135,18 @@
|
||||
signet: Theoden
|
||||
resistance: 6
|
||||
keywords: Damage+1
|
||||
/*requires: {
|
||||
|
||||
effects: {
|
||||
type: trigger
|
||||
optional: true
|
||||
trigger: {
|
||||
type: winsSkirmish
|
||||
filter: self
|
||||
}
|
||||
effect: {
|
||||
type: wound
|
||||
filter: choose(minion,assignedToSkirmish(unbound,companion))
|
||||
}
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
gametext: <b>Damage +1</b>.<br>Each time Gimli wins a skirmish, you may wound a minion assigned to skirmish an unbound companion.
|
||||
lore: Despite Théoden's preparations, Gimli found it necessary to warn him of the advancing Uruk army.
|
||||
promotext: ""
|
||||
@@ -166,17 +180,29 @@
|
||||
twilight: 2
|
||||
type: Possession
|
||||
keywords: Support Area
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: maneuver
|
||||
cost: {
|
||||
type: exert
|
||||
filter: choose(dwarf,companion)
|
||||
}
|
||||
effect: {
|
||||
type: addModifier
|
||||
modifier: {
|
||||
type: removeKeyword
|
||||
filter: minion
|
||||
requires: {
|
||||
type: location
|
||||
filter: battleground
|
||||
}
|
||||
keyword: damage
|
||||
}
|
||||
until: regroup
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: Plays to your support area.<br><b>Maneuver:</b> Exert a Dwarf companion to make each minion at a battleground lose all <b>damage</b> bonuses until the regroup phase.
|
||||
lore: ...sudden and terrible, from the tower above, the sound of the great horn of Helm rang out.
|
||||
promotext: ""
|
||||
@@ -210,17 +236,36 @@
|
||||
twilight: 2
|
||||
type: Condition
|
||||
keywords: Support Area
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: maneuver
|
||||
text: Stack top card from draw deck
|
||||
limitPerPhase: 1
|
||||
effect: {
|
||||
type: stackTopCardsOfDrawDeck
|
||||
where: self
|
||||
}
|
||||
}
|
||||
{
|
||||
type: activated
|
||||
phase: maneuver
|
||||
text: Take a Free Peoples card stacked here into hand
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: dwarf
|
||||
}
|
||||
cost: {
|
||||
type: discardStackedCards
|
||||
on: culture(dwarven),condition
|
||||
}
|
||||
effect: {
|
||||
type: putStackedCardsIntoHand
|
||||
filter: choose(side(free people))
|
||||
on: self
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: Plays to your support area.<br><b>Maneuver:</b> Stack the top card from your draw deck here (limit once per phase).<br><b>Maneuver:</b> Spot a Dwarf and discard a card stacked on a [dwarven] condition to take a Free Peoples card stacked here into hand.
|
||||
lore: This country has tough bones.'
|
||||
promotext: ""
|
||||
@@ -254,20 +299,22 @@
|
||||
twilight: 0
|
||||
type: Event
|
||||
keywords: Maneuver
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: {
|
||||
type: event
|
||||
cost: {
|
||||
|
||||
type: exert
|
||||
filter: choose(dwarf)
|
||||
},
|
||||
effect: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
type: wound
|
||||
filter: choose(minion)
|
||||
}
|
||||
{
|
||||
type: canPlayNextAction
|
||||
}
|
||||
]
|
||||
}*/
|
||||
}
|
||||
gametext: <b>Maneuver:</b> Exert a Dwarf to wound a minion. You may take the next maneuver action.
|
||||
lore: Axes of the Dwarves! cried Gimli in the secret tongue of his kin.
|
||||
promotext: ""
|
||||
@@ -1,28 +0,0 @@
|
||||
{
|
||||
5_7: {
|
||||
title: Gimli
|
||||
subtitle: Skilled Defender
|
||||
unique: true
|
||||
culture: dwarven
|
||||
twilight: 2
|
||||
type: companion
|
||||
race: dwarf
|
||||
strength: 6
|
||||
vitality: 3
|
||||
resistance: 6
|
||||
signet: theoden
|
||||
keyword: damage+1
|
||||
effects: {
|
||||
type: trigger
|
||||
optional: true
|
||||
trigger: {
|
||||
type: winsSkirmish
|
||||
filter: self
|
||||
}
|
||||
effect: {
|
||||
type: wound
|
||||
filter: choose(minion,assignedToSkirmish(unbound,companion))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -27,7 +27,8 @@ public class EffectAppenderFactory {
|
||||
effectAppenderProducers.put("cancelevent", new CancelEvent());
|
||||
effectAppenderProducers.put("cancelskirmish", new CancelSkirmish());
|
||||
effectAppenderProducers.put("cancelskirmishbetween", new CancelSkirmishBetween());
|
||||
effectAppenderProducers.put("cancelspecialability", new CancelSpecialAbility());
|
||||
effectAppenderProducers.put("canplaynextaction", new CanPlayNextAction());
|
||||
effectAppenderProducers.put("canplaynextaction", new CanPlayNextAction());
|
||||
effectAppenderProducers.put("choice", new Choice());
|
||||
effectAppenderProducers.put("chooseactivecards", new ChooseActiveCards());
|
||||
effectAppenderProducers.put("chooseakeyword", new ChooseAKeyword());
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.gempukku.lotro.cards.build.field.effect.appender;
|
||||
|
||||
import com.gempukku.lotro.cards.build.ActionContext;
|
||||
import com.gempukku.lotro.cards.build.CardGenerationEnvironment;
|
||||
import com.gempukku.lotro.cards.build.InvalidCardDefinitionException;
|
||||
import com.gempukku.lotro.cards.build.field.FieldUtils;
|
||||
import com.gempukku.lotro.cards.build.field.effect.EffectAppender;
|
||||
import com.gempukku.lotro.cards.build.field.effect.EffectAppenderProducer;
|
||||
import com.gempukku.lotro.logic.actions.CostToEffectAction;
|
||||
import com.gempukku.lotro.logic.effects.SetUpConsecutiveActionEffect;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
public class CanPlayNextAction implements EffectAppenderProducer {
|
||||
@Override
|
||||
public EffectAppender createEffectAppender(JSONObject effectObject, CardGenerationEnvironment environment) throws InvalidCardDefinitionException {
|
||||
FieldUtils.validateAllowedFields(effectObject);
|
||||
|
||||
return new DelayedAppender() {
|
||||
@Override
|
||||
protected Effect createEffect(boolean cost, CostToEffectAction action, ActionContext actionContext) {
|
||||
return new SetUpConsecutiveActionEffect();
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user