Additional sites for The Short Rest
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
package com.gempukku.lotro.cards.set31.site;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractSite;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.effects.CheckTurnLimitEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndPlayCardFromDeckEffect;
|
||||
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.timing.Action;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: The Short Rest
|
||||
* Twilight Cost: 1
|
||||
* Type: Site
|
||||
* Site: 3
|
||||
* Game Text: Plains. Sanctuary. Shadow: Exert your fierce minion to play a condition from your draw deck
|
||||
* (limit one per turn).
|
||||
*/
|
||||
public class Card31_046 extends AbstractSite {
|
||||
public Card31_046() {
|
||||
super("Rhudaur", Block.HOBBIT, 3, 1, Direction.RIGHT);
|
||||
addKeyword(Keyword.PLAINS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Action> getPhaseActions(final String playerId, final LotroGame game, final PhysicalCard self) {
|
||||
if (PlayConditions.canUseSiteDuringPhase(game, Phase.SHADOW, self)
|
||||
&& PlayConditions.canExert(self, game, Keyword.FIERCE)) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Keyword.FIERCE));
|
||||
action.appendEffect(
|
||||
new CheckTurnLimitEffect(action, self, 1,
|
||||
new ChooseAndPlayCardFromDeckEffect(playerId, CardType.CONDITION)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.gempukku.lotro.cards.set31.site;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractSite;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.effects.CheckTurnLimitEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndPlayCardFromDeckEffect;
|
||||
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.timing.Action;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: The Short Rest
|
||||
* Twilight Cost: 2
|
||||
* Type: Site
|
||||
* Site: 4
|
||||
* Game Text: Underground. River. Maneuver: Play a Shadow condition or The One Ring from your draw deck
|
||||
* (limit one per player).
|
||||
*/
|
||||
public class Card31_048 extends AbstractSite {
|
||||
public Card31_048() {
|
||||
super("Underground Lake", Block.HOBBIT, 4, 2, Direction.RIGHT);
|
||||
addKeyword(Keyword.UNDERGROUND);
|
||||
addKeyword(Keyword.RIVER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Action> getPhaseActions(final String playerId, final LotroGame game, final PhysicalCard self) {
|
||||
if (PlayConditions.canUseSiteDuringPhase(game, Phase.MANEUVER, self)) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendEffect(new CheckTurnLimitEffect(action, self, 1,
|
||||
new ChooseAndPlayCardFromDeckEffect(playerId, Side.FREE_PEOPLE, Filters.name("The One Ring"))));
|
||||
action.appendEffect(new CheckTurnLimitEffect(action, self, 1,
|
||||
new ChooseAndPlayCardFromDeckEffect(playerId, Side.SHADOW, CardType.CONDITION)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.gempukku.lotro.cards.set31.site;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractSite;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect;
|
||||
import com.gempukku.lotro.common.Block;
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
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.modifiers.ModifierFlag;
|
||||
import com.gempukku.lotro.logic.modifiers.SpecialFlagModifier;
|
||||
import com.gempukku.lotro.logic.timing.Action;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: The Short Rest
|
||||
* Twilight Cost: 6
|
||||
* Type: Site
|
||||
* Site: 7
|
||||
* Game Text: River. Regroup: Spot your minion and 6 companions to make The Fellowship move again this turn
|
||||
* (if the move limit allows).
|
||||
*/
|
||||
public class Card31_053 extends AbstractSite {
|
||||
public Card31_053() {
|
||||
super("Dale", Block.HOBBIT, 7, 6, Direction.RIGHT);
|
||||
addKeyword(Keyword.MOUNTAIN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Action> getPhaseActions(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseSiteDuringPhase(game, Phase.REGROUP, self)
|
||||
&& PlayConditions.canSpot(game, Filters.owner(playerId), CardType.MINION)
|
||||
&& PlayConditions.canSpot(game, 6, CardType.COMPANION)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new SpecialFlagModifier(self, ModifierFlag.HAS_TO_MOVE_IF_POSSIBLE)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.gempukku.lotro.cards.set31.site;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractSite;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndPlayCardFromDiscardEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
|
||||
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.timing.Action;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: The Short Rest
|
||||
* Twilight Cost: 6
|
||||
* Type: Site
|
||||
* Site: 5
|
||||
* Game Text: Forest. At the start of the Shadow phase, you may discard Gandalf to play a minion from
|
||||
* your discard pile.
|
||||
*/
|
||||
public class Card31_054 extends AbstractSite {
|
||||
public Card31_054() {
|
||||
super("Ravenhill", Block.HOBBIT, 5, 6, Direction.RIGHT);
|
||||
addKeyword(Keyword.FOREST);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.startOfPhase(game, effectResult, Phase.SHADOW)
|
||||
&& PlayConditions.canSpot(game, Filters.gandalf)
|
||||
&& PlayConditions.canPlayFromDiscard(playerId, game, CardType.MINION)) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Filters.gandalf));
|
||||
action.appendEffect(
|
||||
new ChooseAndPlayCardFromDiscardEffect(playerId, game, Race.NAZGUL));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user