Couple of Site cards
This commit is contained in:
@@ -125,5 +125,142 @@
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"40_273": {
|
||||
"title": "Bag End",
|
||||
"type": "site",
|
||||
"block": "Second ed",
|
||||
"site": 1,
|
||||
"cost": 0,
|
||||
"keyword": "dwelling",
|
||||
"effects": {
|
||||
"type": "activated",
|
||||
"phase": "fellowship",
|
||||
"cost": {
|
||||
"type": "discardFromHand",
|
||||
"forced": false
|
||||
},
|
||||
"effect": {
|
||||
"type": "modifyStrength",
|
||||
"filter": "choose(name(Frodo))",
|
||||
"until": "endOfTurn",
|
||||
"amount": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
"40_274": {
|
||||
"title": "Bywater Bridge",
|
||||
"type": "site",
|
||||
"block": "Second ed",
|
||||
"site": 1,
|
||||
"cost": 0,
|
||||
"keyword": "river",
|
||||
"effects": {
|
||||
"type": "activated",
|
||||
"phase": "fellowship",
|
||||
"cost": {
|
||||
"type": "exert",
|
||||
"count": 2,
|
||||
"filter": "choose(hobbit)"
|
||||
},
|
||||
"effect": {
|
||||
"type": "playCardFromDrawDeck",
|
||||
"filter": "choose(name(Gandalf))"
|
||||
}
|
||||
}
|
||||
},
|
||||
"40_275": {
|
||||
"title": "East Road",
|
||||
"type": "site",
|
||||
"block": "Second ed",
|
||||
"site": 1,
|
||||
"cost": 0,
|
||||
"keyword": "forest",
|
||||
"effects": {
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "modifyCost",
|
||||
"condition": {
|
||||
"type": "phase",
|
||||
"phase": "fellowship"
|
||||
},
|
||||
"filter": "companion",
|
||||
"amount": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
"40_276": {
|
||||
"title": "Green Hill Country",
|
||||
"type": "site",
|
||||
"block": "Second ed",
|
||||
"site": 1,
|
||||
"cost": 0,
|
||||
"effects": {
|
||||
"type": "modifier",
|
||||
"modifier": {
|
||||
"type": "modifyCost",
|
||||
"condition": {
|
||||
"type": "phase",
|
||||
"phase": "fellowship"
|
||||
},
|
||||
"filter": "hobbit",
|
||||
"amount": -1
|
||||
}
|
||||
}
|
||||
},
|
||||
"40_277": {
|
||||
"title": "The Prancing Pony",
|
||||
"type": "site",
|
||||
"block": "Second ed",
|
||||
"site": 1,
|
||||
"cost": 0,
|
||||
"effects": {
|
||||
"type": "activated",
|
||||
"phase": "fellowship",
|
||||
"cost": {
|
||||
"type": "addBurdens"
|
||||
},
|
||||
"effect": {
|
||||
"type": "playCardFromDrawDeck",
|
||||
"filter": "choose(name(Aragorn))"
|
||||
}
|
||||
}
|
||||
},
|
||||
"40_278": {
|
||||
"title": "Southfarthing",
|
||||
"type": "site",
|
||||
"block": "Second ed",
|
||||
"site": 1,
|
||||
"cost": 0,
|
||||
"effects": {
|
||||
"type": "trigger",
|
||||
"optional": true,
|
||||
"trigger": {
|
||||
"type": "startOfTurn"
|
||||
},
|
||||
"cost": {
|
||||
"type": "exert",
|
||||
"filter": "choose(your,hobbit)"
|
||||
},
|
||||
"effect": {
|
||||
"type": "playCardFromDrawDeck",
|
||||
"filter": "choose(or(pipe,and(pipeweed,possession)))"
|
||||
}
|
||||
}
|
||||
},
|
||||
"40_279": {
|
||||
"title": "Barrow-downs",
|
||||
"type": "site",
|
||||
"block": "Second ed",
|
||||
"site": 2,
|
||||
"cost": 2,
|
||||
"effects": {
|
||||
"type": "modifyOwnCost",
|
||||
"condition": {
|
||||
"type": "haveInitiative",
|
||||
"side": "shadow"
|
||||
},
|
||||
"amount": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set40.site;
|
||||
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.SitesBlock;
|
||||
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.AbstractSite;
|
||||
import com.gempukku.lotro.logic.effects.AddUntilEndOfTurnModifierEffect;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Title: Bag End
|
||||
* Set: Second Edition
|
||||
* Side: None
|
||||
* Site Number: 1
|
||||
* Shadow Number: 0
|
||||
* Card Number: 1U273
|
||||
* Game Text: Dwelling. Fellowship: Discard a card from hand to make Frodo strength +1 until the end of turn.
|
||||
*/
|
||||
public class Card40_273 extends AbstractSite {
|
||||
public Card40_273() {
|
||||
super("Bag End", SitesBlock.SECOND_ED, 1, 0, Direction.LEFT);
|
||||
addKeyword(Keyword.DWELLING);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseSiteDuringPhase(game, Phase.FELLOWSHIP, self)
|
||||
&& PlayConditions.canDiscardFromHand(game, playerId, 1, Filters.any)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 1, Filters.any));
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfTurnModifierEffect(
|
||||
new StrengthModifier(self, self, 1)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set40.site;
|
||||
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.common.SitesBlock;
|
||||
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.AbstractSite;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDeckEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Title: Bywater Bridge
|
||||
* Set: Second Edition
|
||||
* Side: None
|
||||
* Site Number: 1
|
||||
* Shadow Number: 0
|
||||
* Card Number: 1C274
|
||||
* Game Text: River. Fellowship: Exert two Hobbits to play Gandalf from your draw deck.
|
||||
*/
|
||||
public class Card40_274 extends AbstractSite {
|
||||
public Card40_274() {
|
||||
super("Bywater Bridge", SitesBlock.SECOND_ED, 1, 0, Direction.LEFT);
|
||||
addKeyword(Keyword.RIVER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseSiteDuringPhase(game, Phase.FELLOWSHIP, self)
|
||||
&& PlayConditions.canExert(self, game, 1, 2, Race.HOBBIT)
|
||||
&& PlayConditions.canPlayFromDeck(playerId, game, Filters.gandalf)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 2, 2, Race.HOBBIT));
|
||||
action.appendEffect(
|
||||
new ChooseAndPlayCardFromDeckEffect(playerId, Filters.gandalf));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set40.site;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.SitesBlock;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractSite;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.TwilightCostModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.condition.PhaseCondition;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Title: East Road
|
||||
* Set: Second Edition
|
||||
* Side: None
|
||||
* Site Number: 1
|
||||
* Shadow Number: 0
|
||||
* Card Number: 1U275
|
||||
* Game Text: Forest. During the fellowship phase, each companion's twilight cost is +2.
|
||||
*/
|
||||
public class Card40_275 extends AbstractSite {
|
||||
public Card40_275() {
|
||||
super("East Road", SitesBlock.SECOND_ED, 1, 0, Direction.LEFT);
|
||||
addKeyword(Keyword.FOREST);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
||||
TwilightCostModifier modifier = new TwilightCostModifier(self, CardType.COMPANION,
|
||||
new PhaseCondition(Phase.FELLOWSHIP), 2);
|
||||
return Collections.singletonList(modifier);
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set40.site;
|
||||
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.common.SitesBlock;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractSite;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.TwilightCostModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.condition.PhaseCondition;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Title: Green Hill Country
|
||||
* Set: Second Edition
|
||||
* Side: None
|
||||
* Site Number: 1
|
||||
* Shadow Number: 0
|
||||
* Card Number: 1U276
|
||||
* Game Text: During the fellowship phase, the twilight cost of each Hobbit is -1.
|
||||
*/
|
||||
public class Card40_276 extends AbstractSite {
|
||||
public Card40_276() {
|
||||
super("Green Hill Country", SitesBlock.SECOND_ED, 1, 0, Direction.LEFT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
||||
TwilightCostModifier modifier = new TwilightCostModifier(self, Race.HOBBIT,
|
||||
new PhaseCondition(Phase.FELLOWSHIP), -1);
|
||||
return Collections.singletonList(modifier);
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set40.site;
|
||||
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.SitesBlock;
|
||||
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.AbstractSite;
|
||||
import com.gempukku.lotro.logic.effects.AddBurdenEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDeckEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Title: The Prancing Pony
|
||||
* Set: Second Edition
|
||||
* Side: None
|
||||
* Site Number: 1
|
||||
* Shadow Number: 0
|
||||
* Card Number: 1U277
|
||||
* Game Text: Fellowship: Add a burden to play Aragorn from your draw deck.
|
||||
*/
|
||||
public class Card40_277 extends AbstractSite {
|
||||
public Card40_277() {
|
||||
super("The Prancing Pony", SitesBlock.SECOND_ED, 1, 0, Direction.LEFT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseSiteDuringPhase(game, Phase.FELLOWSHIP, self)
|
||||
&& PlayConditions.canAddBurdens(game, playerId, self)
|
||||
&& PlayConditions.canPlayFromDeck(playerId, game, Filters.aragorn)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new AddBurdenEffect(playerId, self, 1));
|
||||
action.appendEffect(
|
||||
new ChooseAndPlayCardFromDeckEffect(playerId, Filters.aragorn));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set40.site;
|
||||
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.logic.GameUtils;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractSite;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDeckEffect;
|
||||
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.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
import com.gempukku.lotro.logic.timing.results.FinishedPlayingFellowshipResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Title: Southfarthing
|
||||
* Set: Second Edition
|
||||
* Side: None
|
||||
* Site Number: 1
|
||||
* Shadow Number: 0
|
||||
* Card Number: 1U278
|
||||
* Game Text: At the start of your turn, you may exert a Hobbit to play a pipe or pipeweed possession from your draw deck.
|
||||
*/
|
||||
public class Card40_278 extends AbstractSite {
|
||||
public Card40_278() {
|
||||
super("Southfarthing", SitesBlock.SECOND_ED, 1, 0, Direction.LEFT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.startOfTurn(game, effectResult)
|
||||
&& GameUtils.isFP(game, playerId)
|
||||
&& PlayConditions.canExert(self, game, Race.HOBBIT)) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.HOBBIT));
|
||||
action.appendEffect(
|
||||
new ChooseAndPlayCardFromDeckEffect(playerId, Filters.or(PossessionClass.PIPE, Filters.and(CardType.POSSESSION, Keyword.PIPEWEED))));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set40.site;
|
||||
|
||||
import com.gempukku.lotro.common.SitesBlock;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractSite;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
|
||||
/**
|
||||
* Title: Barrow-downs
|
||||
* Set: Second Edition
|
||||
* Side: None
|
||||
* Site Number: 2
|
||||
* Shadow Number: 2
|
||||
* Card Number: 1U279
|
||||
* Game Text: While the Shadow player has initiative, this site's shadow number is +3.
|
||||
*/
|
||||
public class Card40_279 extends AbstractSite {
|
||||
public Card40_279() {
|
||||
super("Barrow-downs", SitesBlock.SECOND_ED, 2, 2, Direction.LEFT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTwilightCostModifier(LotroGame game, PhysicalCard self) {
|
||||
if (game.getModifiersQuerying().hasInitiative(game) == Side.SHADOW)
|
||||
return 3;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -782,9 +782,9 @@ public class BuiltLotroCardBlueprint implements LotroCardBlueprint {
|
||||
throw new InvalidCardDefinitionException("Card has to have a title");
|
||||
if (cardType == null)
|
||||
throw new InvalidCardDefinitionException("Card has to have a type");
|
||||
if (cardType != CardType.THE_ONE_RING && side == null)
|
||||
if (cardType != CardType.THE_ONE_RING && cardType != CardType.SITE && side == null)
|
||||
throw new InvalidCardDefinitionException("Only The One Ring does not have a side defined");
|
||||
if (cardType != CardType.THE_ONE_RING && culture == null)
|
||||
if (cardType != CardType.THE_ONE_RING && cardType != CardType.SITE && culture == null)
|
||||
throw new InvalidCardDefinitionException("Only The One Ring does not have a culture defined");
|
||||
if (siteNumber != 0
|
||||
&& cardType != CardType.SITE
|
||||
|
||||
@@ -288,7 +288,7 @@ public class IndividualCardAtTest extends AbstractAtTest {
|
||||
final int twilightPool = _game.getGameState().getTwilightPool();
|
||||
|
||||
AwaitingDecision playFirstFellowship = _userFeedback.getAwaitingDecision(P1);
|
||||
playerDecided(P1, getCardActionId(playFirstFellowship, "Attach Legolas"));
|
||||
playerDecided(P1, getCardActionId(playFirstFellowship, "Play Legolas"));
|
||||
|
||||
final int twilightPool2 = _game.getGameState().getTwilightPool();
|
||||
|
||||
@@ -1075,7 +1075,7 @@ public class IndividualCardAtTest extends AbstractAtTest {
|
||||
|
||||
skipMulligans();
|
||||
|
||||
playerDecided(P1, getCardActionId(_userFeedback.getAwaitingDecision(P1), "Attach Frodo's Pipe"));
|
||||
playerDecided(P1, getCardActionId(_userFeedback.getAwaitingDecision(P1), "Play Frodo's Pipe"));
|
||||
playerDecided(P1, getCardActionId(_userFeedback.getAwaitingDecision(P1), "Use Frodo's Pipe"));
|
||||
|
||||
playerDecided(P1, String.valueOf(pipeweed1.getCardId()));
|
||||
|
||||
Reference in New Issue
Block a user