- "Rush of Steeds" should now work correctly.
This commit is contained in:
@@ -55,7 +55,7 @@ public class AttachPermanentAction extends AbstractCostToEffectAction implements
|
||||
_target = target;
|
||||
if (_exertTarget) {
|
||||
appendCost(
|
||||
new ExertCharactersEffect(target, target));
|
||||
new ExertCharactersEffect(AttachPermanentAction.this, target, target));
|
||||
}
|
||||
|
||||
int modifier = twilightModifier;
|
||||
|
||||
@@ -15,17 +15,12 @@ import com.gempukku.lotro.logic.timing.results.ExertResult;
|
||||
import java.util.Collection;
|
||||
|
||||
public class ExertCharactersEffect extends AbstractPreventableCardEffect {
|
||||
private String _playerId;
|
||||
private Action _action;
|
||||
private PhysicalCard _source;
|
||||
|
||||
public ExertCharactersEffect(PhysicalCard source, PhysicalCard... cards) {
|
||||
super(cards);
|
||||
_source = source;
|
||||
}
|
||||
|
||||
public ExertCharactersEffect(PhysicalCard source, Filterable... filter) {
|
||||
public ExertCharactersEffect(Action action, PhysicalCard source, Filterable... filter) {
|
||||
super(filter);
|
||||
_action = action;
|
||||
_source = source;
|
||||
}
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ public class ExhaustCharacterEffect extends AbstractSubActionEffect {
|
||||
private SubAction _subAction;
|
||||
|
||||
private InfiniteExertionEffect(PhysicalCard source, SubAction subAction, Filterable[] filters) {
|
||||
super(source, filters);
|
||||
super(_action, source, filters);
|
||||
_subAction = subAction;
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ public class Card1_010 extends AbstractAttachable {
|
||||
return Collections.singletonList(action);
|
||||
} else if (effectResult.getType() == EffectResult.Type.START_OF_TURN) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
action.appendEffect(new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ public class Card1_047 extends AbstractAttachableFPPossession {
|
||||
|
||||
List<Effect> possibleCosts = new LinkedList<Effect>();
|
||||
possibleCosts.add(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()) {
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Exert Arwen";
|
||||
|
||||
@@ -44,7 +44,7 @@ public class Card1_055 extends AbstractPermanent {
|
||||
&& opponentsHavingAtLeast7Cards(game, playerId).length > 0) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
PhysicalCard galadriel = Filters.findFirstActive(game.getGameState(), game.getModifiersQuerying(), Filters.galadriel);
|
||||
action.appendCost(new ExertCharactersEffect(self, galadriel));
|
||||
action.appendCost(new ExertCharactersEffect(action, self, galadriel));
|
||||
action.appendEffect(
|
||||
new PlayoutDecisionEffect(playerId,
|
||||
new MultipleChoiceAwaitingDecision(1, "Choose opponent with at least 7 cards in hand", opponentsHavingAtLeast7Cards(game, playerId)) {
|
||||
|
||||
@@ -42,7 +42,7 @@ public class Card1_062 extends AbstractAttachable {
|
||||
&& game.getModifiersQuerying().hasKeyword(game.getGameState(), self.getAttachedTo(), Keyword.ARCHER)
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
action.appendCost(new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new ArcheryTotalModifier(self, Side.FREE_PEOPLE, 1), Phase.ARCHERY));
|
||||
|
||||
@@ -42,7 +42,7 @@ public class Card1_068 extends AbstractAttachable {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())
|
||||
&& game.getModifiersQuerying().hasKeyword(game.getGameState(), self.getAttachedTo(), Keyword.ARCHER)) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
action.appendCost(new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseOpponentEffect(playerId) {
|
||||
@Override
|
||||
|
||||
@@ -51,7 +51,7 @@ public class Card1_075 extends AbstractAttachableFPPossession {
|
||||
|| PlayConditions.canUseFPCardDuringPhase(game, Phase.REGROUP, self))
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
action.appendCost(new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseOpponentEffect(playerId) {
|
||||
@Override
|
||||
|
||||
@@ -34,7 +34,7 @@ public class Card1_084 extends AbstractOldEvent {
|
||||
public PlayEventAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier, boolean ignoreRoamingPenalty) {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
PhysicalCard gandalf = Filters.findFirstActive(game.getGameState(), game.getModifiersQuerying(), Filters.gandalf);
|
||||
action.appendCost(new ExertCharactersEffect(self, gandalf));
|
||||
action.appendCost(new ExertCharactersEffect(action, self, gandalf));
|
||||
action.appendEffect(
|
||||
new DiscardCardsFromPlayEffect(self, CardType.CONDITION));
|
||||
return action;
|
||||
|
||||
@@ -48,7 +48,7 @@ public class Card1_090 extends AbstractAttachableFPPossession {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.ARCHERY, self)
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
action.appendCost(new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new DoesNotAddToArcheryTotalModifier(self, Filters.sameCard(self.getAttachedTo())), Phase.ARCHERY));
|
||||
|
||||
@@ -48,7 +48,7 @@ public class Card1_095 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.or(Race.ORC, Race.URUK_HAI), Filters.inSkirmishAgainst(Filters.hasAttached(self))));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -39,7 +39,7 @@ public class Card1_098 extends AbstractAttachableFPPossession {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self)
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
action.appendCost(new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseActiveCardEffect(self, playerId, "Choose a Weather condition", Keyword.WEATHER, CardType.CONDITION) {
|
||||
@Override
|
||||
|
||||
@@ -51,7 +51,7 @@ public class Card1_124 extends AbstractOldEvent {
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Culture.ISENGARD, CardType.MINION));
|
||||
|
||||
List<Effect> possibleEffects = new LinkedList<Effect>();
|
||||
possibleEffects.add(new ExertCharactersEffect(self, game.getGameState().getRingBearer(fpPlayer)) {
|
||||
possibleEffects.add(new ExertCharactersEffect(action, self, game.getGameState().getRingBearer(fpPlayer)) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Exert Ring-bearer";
|
||||
|
||||
@@ -57,7 +57,7 @@ public class Card1_134 extends AbstractAttachable {
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.movesFrom(game, effectResult, Filters.hasAttached(self))) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(new ExertCharactersEffect(self, Filters.and(CardType.COMPANION, Race.HOBBIT)));
|
||||
action.appendEffect(new ExertCharactersEffect(action, self, Filters.and(CardType.COMPANION, Race.HOBBIT)));
|
||||
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ public class Card1_162 extends AbstractPermanent {
|
||||
if (TriggerConditions.losesSkirmishInvolving(game, effectResult, Filters.or(CardType.COMPANION, CardType.ALLY), Race.URUK_HAI)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
List<Effect> possibleEffects = new LinkedList<Effect>();
|
||||
possibleEffects.add(new ExertCharactersEffect(self, gameState.getRingBearer(gameState.getCurrentPlayerId())) {
|
||||
possibleEffects.add(new ExertCharactersEffect(action, self, gameState.getRingBearer(gameState.getCurrentPlayerId())) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Exert the Ring-bearer";
|
||||
|
||||
@@ -52,7 +52,7 @@ public class Card1_190 extends AbstractAttachable {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new StrengthModifier(self, Filters.sameCard(self.getAttachedTo()), 2), Phase.SKIRMISH));
|
||||
|
||||
@@ -39,7 +39,7 @@ public class Card1_254 extends AbstractAttachable {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
int archerCompanions = Filters.countActive(game.getGameState(), game.getModifiersQuerying(), CardType.COMPANION, Keyword.ARCHER);
|
||||
action.appendEffect(
|
||||
new AddTwilightEffect(self, archerCompanions));
|
||||
|
||||
@@ -49,7 +49,7 @@ public class Card1_313 extends AbstractAttachableFPPossession {
|
||||
|| PlayConditions.canUseFPCardDuringPhase(game, Phase.REGROUP, self))
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
action.appendCost(new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseOpponentEffect(playerId) {
|
||||
@Override
|
||||
|
||||
@@ -34,7 +34,7 @@ public class Card1_332 extends AbstractSite {
|
||||
if (TriggerConditions.movesTo(game, effectResult, self)) {
|
||||
if (Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Race.HOBBIT, CardType.COMPANION)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(new ExertCharactersEffect(self, Filters.and(Race.HOBBIT, CardType.COMPANION)));
|
||||
action.appendEffect(new ExertCharactersEffect(action, self, Filters.and(Race.HOBBIT, CardType.COMPANION)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ public class Card1_344 extends AbstractSite {
|
||||
|
||||
PhysicalCard gimli = Filters.findFirstActive(game.getGameState(), game.getModifiersQuerying(), Filters.gimli);
|
||||
List<Effect> possibleEffects = new LinkedList<Effect>();
|
||||
possibleEffects.add(new ExertCharactersEffect(self, gimli) {
|
||||
possibleEffects.add(new ExertCharactersEffect(action, self, gimli) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Exert Gimli";
|
||||
@@ -64,7 +64,7 @@ public class Card1_344 extends AbstractSite {
|
||||
if (gimliCanExert) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
PhysicalCard gimli = Filters.findFirstActive(game.getGameState(), game.getModifiersQuerying(), Filters.gimli);
|
||||
action.appendEffect(new ExertCharactersEffect(self, gimli));
|
||||
action.appendEffect(new ExertCharactersEffect(action, self, gimli));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
if (twoOtherCanExert) {
|
||||
|
||||
@@ -44,7 +44,7 @@ public class Card1_346 extends AbstractSite {
|
||||
|
||||
PhysicalCard frodo = Filters.findFirstActive(game.getGameState(), game.getModifiersQuerying(), Filters.frodo);
|
||||
List<Effect> possibleEffects = new LinkedList<Effect>();
|
||||
possibleEffects.add(new ExertCharactersEffect(self, frodo) {
|
||||
possibleEffects.add(new ExertCharactersEffect(action, self, frodo) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Exert Frodo";
|
||||
@@ -64,7 +64,7 @@ public class Card1_346 extends AbstractSite {
|
||||
if (frodoCanExert) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
PhysicalCard frodo = Filters.findFirstActive(game.getGameState(), game.getModifiersQuerying(), Filters.frodo);
|
||||
action.appendEffect(new ExertCharactersEffect(self, frodo));
|
||||
action.appendEffect(new ExertCharactersEffect(action, self, frodo));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
if (twoOtherCanExert) {
|
||||
|
||||
@@ -34,7 +34,7 @@ public class Card1_355 extends AbstractSite {
|
||||
&& !Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Keyword.RANGER)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, CardType.COMPANION));
|
||||
new ExertCharactersEffect(action, self, CardType.COMPANION));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -44,7 +44,7 @@ public class Card1_214 extends AbstractResponseOldEvent {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
List<Effect> possibleEffects = new LinkedList<Effect>();
|
||||
possibleEffects.add(
|
||||
new ExertCharactersEffect(self, game.getGameState().getRingBearer(game.getGameState().getCurrentPlayerId())) {
|
||||
new ExertCharactersEffect(action, self, game.getGameState().getRingBearer(game.getGameState().getCurrentPlayerId())) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Exert the Ring-bearer";
|
||||
|
||||
@@ -57,7 +57,7 @@ public class Card1_221 extends AbstractAttachable {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseActiveCardEffect(self, playerId, "Choose a Free Peoples condition", Side.FREE_PEOPLE, CardType.CONDITION) {
|
||||
@Override
|
||||
|
||||
@@ -52,7 +52,7 @@ public class Card1_225 extends AbstractAttachable {
|
||||
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SKIRMISH, self, 0)
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
action.appendCost(new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.POSSESSION, Filters.attachedTo(Filters.character, Filters.inSkirmishAgainst(self))));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -47,7 +47,7 @@ public class Card10_001 extends AbstractResponseEvent {
|
||||
int damageCount = game.getModifiersQuerying().getKeywordCount(game.getGameState(), character, Keyword.DAMAGE);
|
||||
for (int i = 0; i < damageCount; i++)
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, playedMinion));
|
||||
new ExertCharactersEffect(action, self, playedMinion));
|
||||
}
|
||||
});
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -43,7 +43,7 @@ public class Card10_079 extends AbstractPermanent {
|
||||
if (TriggerConditions.movesTo(game, effectResult, Filters.or(Filters.siteNumber(8), Filters.siteNumber(9)))) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, CardType.COMPANION, Keyword.RING_BOUND));
|
||||
new ExertCharactersEffect(action, self, CardType.COMPANION, Keyword.RING_BOUND));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -48,7 +48,7 @@ public class Card10_114 extends AbstractPermanent {
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.HOBBIT, CardType.COMPANION));
|
||||
action.appendEffect(
|
||||
new CheckTurnLimitEffect(action, self, 1,
|
||||
new ExertCharactersEffect(self, playedCard)));
|
||||
new ExertCharactersEffect(action, self, playedCard)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -43,7 +43,7 @@ public class Card11_058 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, Filters.hasAttached(self))) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new ArcheryTotalModifier(self, Side.FREE_PEOPLE, 1), Phase.ARCHERY));
|
||||
|
||||
@@ -53,7 +53,7 @@ public class Card11_060 extends AbstractEvent {
|
||||
throw new DecisionResultInvalidException("These characters have only " + resistanceTotal + " resistance total");
|
||||
|
||||
action.insertCost(
|
||||
new ExertCharactersEffect(self, characters.toArray(new PhysicalCard[characters.size()])));
|
||||
new ExertCharactersEffect(action, self, characters.toArray(new PhysicalCard[characters.size()])));
|
||||
action.appendEffect(
|
||||
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, -3 * characters.size(), CardType.MINION, Filters.inSkirmishAgainst(Culture.GONDOR, CardType.COMPANION)));
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ public class Card11_109 extends AbstractAttachable {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, 2, Culture.ORC, CardType.MINION));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -36,7 +36,7 @@ public class Card11_124 extends AbstractMinion {
|
||||
if (TriggerConditions.winsSkirmish(game, effectResult, self)) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, CardType.COMPANION, Filters.maxResistance(4)));
|
||||
new ExertCharactersEffect(action, self, CardType.COMPANION, Filters.maxResistance(4)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -45,7 +45,7 @@ public class Card11_128 extends AbstractAttachable {
|
||||
if (TriggerConditions.assignedAgainst(game, effectResult, null, CardType.COMPANION, Filters.hasAttached(self))) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, Filters.assignedAgainst(Filters.hasAttached(self))));
|
||||
new ExertCharactersEffect(action, self, Filters.assignedAgainst(Filters.hasAttached(self))));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -37,7 +37,7 @@ public class Card11_129 extends AbstractMinion {
|
||||
if (TriggerConditions.assignedAgainst(game, effectResult, null, Filters.and(CardType.COMPANION, Filters.maxResistance(5)), self)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, Filters.assignedAgainst(self)));
|
||||
new ExertCharactersEffect(action, self, Filters.assignedAgainst(self)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -68,7 +68,7 @@ public class Card11_144 extends AbstractPermanent {
|
||||
action.appendCost(
|
||||
new ChoiceEffect(action, playerId, possibleCosts));
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, ((PlayCardResult) effectResult).getPlayedCard()));
|
||||
new ExertCharactersEffect(action, self, ((PlayCardResult) effectResult).getPlayedCard()));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -41,7 +41,7 @@ public class Card11_156 extends AbstractAttachableFPPossession {
|
||||
&& Filters.inSkirmish.accepts(game.getGameState(), game.getModifiersQuerying(), self.getAttachedTo())) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, Filters.and(CardType.MINION, Filters.inSkirmishAgainst(Filters.hasAttached(self)))));
|
||||
new ExertCharactersEffect(action, self, Filters.and(CardType.MINION, Filters.inSkirmishAgainst(Filters.hasAttached(self)))));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -48,7 +48,7 @@ public class Card11_173 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseActiveCardEffect(self, playerId, "Choose a companion", CardType.COMPANION, Filters.not(self.getAttachedTo())) {
|
||||
@Override
|
||||
|
||||
@@ -35,7 +35,7 @@ public class Card11_249 extends AbstractNewSite {
|
||||
action.appendEffect(
|
||||
new HealCharactersEffect(self, Filters.or(CardType.COMPANION, CardType.ALLY), Filters.minResistance(5)));
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, Filters.or(CardType.COMPANION, CardType.ALLY), Filters.maxResistance(4)));
|
||||
new ExertCharactersEffect(action, self, Filters.or(CardType.COMPANION, CardType.ALLY), Filters.maxResistance(4)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -48,7 +48,7 @@ public class Card11_214 extends AbstractAttachable {
|
||||
&& PlayConditions.canExert(self, game, Filters.hasAttached(self))) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new AddBurdenEffect(self, 1));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -44,7 +44,7 @@ public class Card12_018 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.CONDITION));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -45,7 +45,7 @@ public class Card12_111 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new PreventEffect((AddTwilightEffect) effect));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -50,9 +50,9 @@ public class Card13_037 extends AbstractFollower {
|
||||
if (TriggerConditions.transferredCard(game, effectResult, self, null, Filters.and(CardType.COMPANION, Filters.not(Culture.GANDALF)))) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -38,7 +38,7 @@ public class Card13_092 extends AbstractMinion {
|
||||
&& PlayConditions.canSpot(game, Filters.not(self), Culture.MEN, CardType.MINION)) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, CardType.COMPANION));
|
||||
new ExertCharactersEffect(action, self, CardType.COMPANION));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -48,7 +48,7 @@ public class Card13_138 extends AbstractCompanion {
|
||||
&& Filters.inSkirmish.accepts(game.getGameState(), game.getModifiersQuerying(), self)) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, CardType.MINION, Filters.inSkirmishAgainst(self)));
|
||||
new ExertCharactersEffect(action, self, CardType.MINION, Filters.inSkirmishAgainst(self)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -35,7 +35,7 @@ public class Card13_167 extends AbstractPermanent {
|
||||
&& PlayConditions.canSpot(game, 3, Culture.URUK_HAI, CardType.MINION, Keyword.LURKER)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, CardType.COMPANION, Filters.inSkirmish));
|
||||
new ExertCharactersEffect(action, self, CardType.COMPANION, Filters.inSkirmish));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -40,7 +40,7 @@ public class Card13_182 extends AbstractMinion {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
if (PlayConditions.canSpot(game, 6, CardType.COMPANION)) {
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, CardType.COMPANION));
|
||||
new ExertCharactersEffect(action, self, CardType.COMPANION));
|
||||
} else {
|
||||
action.appendEffect(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 2, 2, Filters.unboundCompanion));
|
||||
|
||||
@@ -56,7 +56,7 @@ public class Card15_012 extends AbstractFollower {
|
||||
if (TriggerConditions.transferredCard(game, effectResult, self, null, Filters.and(CardType.COMPANION, Filters.not(Culture.ELVEN)))) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -57,7 +57,7 @@ public class Card15_025 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, CardType.MINION, Filters.inSkirmishAgainst(self.getAttachedTo())));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -49,9 +49,9 @@ public class Card15_062 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, 2, self.getAttachedTo())) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.MINION, Keyword.ROAMING));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -70,7 +70,7 @@ public class Card15_068 extends AbstractAttachableFPPossession {
|
||||
possibleCosts.add(
|
||||
new AddThreatsEffect(playerId, self, 1));
|
||||
possibleCosts.add(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendCost(
|
||||
new ChoiceEffect(action, playerId, possibleCosts));
|
||||
action.appendEffect(
|
||||
|
||||
@@ -42,7 +42,7 @@ public class Card15_129 extends AbstractAttachableFPPossession {
|
||||
&& Filters.inSkirmish.accepts(game.getGameState(), game.getModifiersQuerying(), self.getAttachedTo())) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, Filters.and(CardType.MINION, Filters.inSkirmishAgainst(Filters.hasAttached(self)))));
|
||||
new ExertCharactersEffect(action, self, Filters.and(CardType.MINION, Filters.inSkirmishAgainst(Filters.hasAttached(self)))));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
@@ -54,7 +54,7 @@ public class Card15_129 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, Filters.hasAttached(self))) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndAddUntilEOPStrengthBonusEffect(
|
||||
action, self, playerId, 1, Culture.ROHAN, Race.MAN));
|
||||
|
||||
@@ -49,9 +49,9 @@ public class Card15_135 extends AbstractFollower {
|
||||
if (TriggerConditions.transferredCard(game, effectResult, self, null, Filters.and(CardType.COMPANION, Filters.not(Culture.ROHAN)))) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, Filters.hasAttached(self)));
|
||||
new ExertCharactersEffect(action, self, Filters.hasAttached(self)));
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, Filters.hasAttached(self)));
|
||||
new ExertCharactersEffect(action, self, Filters.hasAttached(self)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -42,7 +42,7 @@ public class Card15_172 extends AbstractMinion {
|
||||
&& PlayConditions.canSpot(game, self, Filters.inSkirmish)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, Filters.character, Filters.not(Keyword.HUNTER), Filters.inSkirmishAgainst(self)));
|
||||
new ExertCharactersEffect(action, self, Filters.character, Filters.not(Keyword.HUNTER), Filters.inSkirmishAgainst(self)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -66,7 +66,7 @@ public class Card17_020 extends AbstractFollower {
|
||||
new WoundCharactersEffect(self, card));
|
||||
else
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, card));
|
||||
new ExertCharactersEffect(action, self, card));
|
||||
}
|
||||
});
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -54,7 +54,7 @@ public class Card17_027 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
List<Effect> possibleEffects = new LinkedList<Effect>();
|
||||
possibleEffects.add(
|
||||
new LiberateASiteEffect(self));
|
||||
|
||||
@@ -53,9 +53,9 @@ public class Card17_029 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, 2, Filters.hasAttached(self))) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndExhaustCharactersEffect(action, playerId, 1, 1, CardType.MINION, Filters.inSkirmishAgainst(Filters.hasAttached(self))));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -49,7 +49,7 @@ public class Card17_031 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Side.SHADOW, CardType.POSSESSION));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -59,7 +59,7 @@ public class Card17_067 extends AbstractPermanent {
|
||||
action.setText("Assigned " + GameUtils.getCardLink(assignResult.getAssignedCard()) + " to " + GameUtils.getCardLink(companion));
|
||||
List<Effect> possibleEffects = new LinkedList<Effect>();
|
||||
possibleEffects.add(
|
||||
new ExertCharactersEffect(self, companion));
|
||||
new ExertCharactersEffect(action, self, companion));
|
||||
possibleEffects.add(
|
||||
new AddTwilightEffect(self, 2));
|
||||
action.appendEffect(
|
||||
|
||||
@@ -45,7 +45,7 @@ public class Card18_005 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, Filters.hasAttached(self), Filters.arwen)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new DrawCardsEffect(action, playerId, 2));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -50,7 +50,7 @@ public class Card18_026 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, Filters.hasAttached(self))) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.MINION));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -54,7 +54,7 @@ public class Card18_053 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canDiscardFromPlay(self, game, CardType.FOLLOWER)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendCost(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.FOLLOWER));
|
||||
action.appendEffect(
|
||||
|
||||
@@ -43,7 +43,7 @@ public class Card18_055 extends AbstractAttachable {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new KeywordModifier(self, self.getAttachedTo(), Keyword.DEFENDER, 1), Phase.REGROUP));
|
||||
|
||||
@@ -48,7 +48,7 @@ public class Card18_095 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo(), Filters.name(Names.eomer))) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseOpponentEffect(playerId) {
|
||||
@Override
|
||||
|
||||
@@ -44,7 +44,7 @@ public class Card18_096 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndPlayCardFromDeckEffect(playerId, Side.FREE_PEOPLE, CardType.FOLLOWER));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -69,7 +69,7 @@ public class Card18_097 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndPreventCardEffect(self, (WoundCharactersEffect) effect, playerId, "Choose a ROHAN Man to prevent wound to", Culture.ROHAN, Race.MAN));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -52,7 +52,7 @@ public class Card18_113 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new RemoveThreatsEffect(self, 1));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -68,7 +68,7 @@ public class Card18_118 extends AbstractMinion {
|
||||
public Effect createPreventionCostForPlayer(SubAction subAction, String playerId) {
|
||||
List<Effect> possibleCosts = new LinkedList<Effect>();
|
||||
possibleCosts.add(
|
||||
new ExertCharactersEffect(self, companion));
|
||||
new ExertCharactersEffect(action, self, companion));
|
||||
possibleCosts.add(
|
||||
new AddBurdenEffect(self, 1));
|
||||
return new ChoiceEffect(subAction, playerId, possibleCosts) {
|
||||
|
||||
@@ -35,7 +35,7 @@ public class Card18_123 extends AbstractPermanent {
|
||||
&& PlayConditions.canSpot(game, Culture.URUK_HAI, Keyword.HUNTER, Filters.inSkirmish)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, CardType.COMPANION, Filters.inSkirmish));
|
||||
new ExertCharactersEffect(action, self, CardType.COMPANION, Filters.inSkirmish));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -64,7 +64,7 @@ public class Card19_005 extends AbstractAttachable {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
List<Effect> possibleEffects = new LinkedList<Effect>();
|
||||
possibleEffects.add(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
possibleEffects.add(
|
||||
new ReturnCardsToHandEffect(self, self));
|
||||
action.appendEffect(
|
||||
|
||||
@@ -82,7 +82,7 @@ public class Card19_016 extends AbstractMinion {
|
||||
new PreventableEffect.PreventionCost() {
|
||||
@Override
|
||||
public Effect createPreventionCostForPlayer(SubAction subAction, String playerId) {
|
||||
return new ExertCharactersEffect(self, companion);
|
||||
return new ExertCharactersEffect(action, self, companion);
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ public class Card19_022 extends AbstractMinion {
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(final LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
if (TriggerConditions.played(game, effectResult, self)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
final RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new PreventableEffect(action,
|
||||
new AddThreatsEffect(self.getOwner(), self, 2), game.getGameState().getCurrentPlayerId(),
|
||||
@@ -56,7 +56,7 @@ public class Card19_022 extends AbstractMinion {
|
||||
@Override
|
||||
public Effect createPreventionCostForPlayer(SubAction subAction, String playerId) {
|
||||
final PhysicalCard ringBearer = Filters.findFirstActive(game.getGameState(), game.getModifiersQuerying(), Filters.ringBearer);
|
||||
return new ExertCharactersEffect(self, ringBearer);
|
||||
return new ExertCharactersEffect(action, self, ringBearer);
|
||||
}
|
||||
}));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -52,9 +52,9 @@ public class Card2_022 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, 2, Filters.sameCard(self.getAttachedTo()))) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
|
||||
if (Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.sameCard(self.getAttachedTo()), Filters.inSkirmish))
|
||||
action.appendEffect(
|
||||
|
||||
@@ -41,9 +41,9 @@ public class Card2_029 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, 2, Filters.sameCard(self.getAttachedTo()))) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseActiveCardEffect(self, playerId, "Choose minion", CardType.MINION) {
|
||||
@Override
|
||||
|
||||
@@ -58,7 +58,7 @@ public class Card2_048 extends AbstractAttachable {
|
||||
if (TriggerConditions.movesFrom(game, effectResult, self.getAttachedTo())) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, CardType.COMPANION));
|
||||
new ExertCharactersEffect(action, self, CardType.COMPANION));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ public class Card2_054 extends AbstractAttachable {
|
||||
if (effectResult.getType() == EffectResult.Type.WHEN_FELLOWSHIP_MOVES) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -49,7 +49,7 @@ public class Card2_074 extends AbstractAttachable {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1,
|
||||
Filters.or(
|
||||
|
||||
@@ -56,7 +56,7 @@ public class Card2_097 extends AbstractAttachable {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
List<Effect> possibleCosts = new LinkedList<Effect>();
|
||||
possibleCosts.add(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()) {
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Exert Bilbo";
|
||||
|
||||
@@ -55,7 +55,7 @@ public class Card2_109 extends AbstractOldEvent {
|
||||
final int exertionCount = getValidatedResult(result);
|
||||
for (int i = 0; i < exertionCount; i++) {
|
||||
action.insertCost(
|
||||
new ExertCharactersEffect(self, bearer));
|
||||
new ExertCharactersEffect(action, self, bearer));
|
||||
}
|
||||
action.appendEffect(
|
||||
new PlayoutDecisionEffect(playerId,
|
||||
|
||||
@@ -51,7 +51,7 @@ public class Card2_079 extends AbstractOldEvent {
|
||||
action.appendCost(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.NAZGUL, Keyword.TWILIGHT));
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, Filters.ringBearer));
|
||||
new ExertCharactersEffect(action, self, Filters.ringBearer));
|
||||
action.appendEffect(
|
||||
new UnrespondableEffect() {
|
||||
@Override
|
||||
|
||||
@@ -40,7 +40,7 @@ public class Card3_002 extends AbstractAttachable {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new PossessionClassSpotModifier(self, PossessionClass.PIPE), Phase.FELLOWSHIP));
|
||||
|
||||
@@ -42,9 +42,9 @@ public class Card3_027 extends AbstractAttachableFPPossession {
|
||||
&& Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Side.SHADOW, CardType.CONDITION)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndReturnCardsToHandEffect(action, playerId, 1, 1, Side.SHADOW, CardType.CONDITION));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -52,7 +52,7 @@ public class Card3_061 extends AbstractMinion {
|
||||
action.appendCost(
|
||||
new SelfExertEffect(action, self));
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, CardType.COMPANION));
|
||||
new ExertCharactersEffect(action, self, CardType.COMPANION));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -95,7 +95,7 @@ public class Card3_069 extends AbstractMinion {
|
||||
new PreventableEffect.PreventionCost() {
|
||||
@Override
|
||||
public Effect createPreventionCostForPlayer(SubAction subAction, String playerId) {
|
||||
return new ExertCharactersEffect(self, companion);
|
||||
return new ExertCharactersEffect(action, self, companion);
|
||||
}
|
||||
}
|
||||
));
|
||||
|
||||
@@ -54,7 +54,7 @@ public class Card3_084 extends AbstractOldEvent {
|
||||
protected void cardSelected(LotroGame game, PhysicalCard card) {
|
||||
for (int i = 0; i < twilightCost; i++)
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, card));
|
||||
new ExertCharactersEffect(action, self, card));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ public class Card4_064 extends AbstractAttachableFPPossession {
|
||||
|
||||
List<Effect> possibleCosts = new LinkedList<Effect>();
|
||||
possibleCosts.add(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()) {
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Exert bearer";
|
||||
|
||||
@@ -47,7 +47,7 @@ public class Card4_079 extends AbstractResponseOldEvent {
|
||||
if (PlayConditions.canExert(self, game, winner)) {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, winner));
|
||||
new ExertCharactersEffect(action, self, winner));
|
||||
|
||||
List<Effect> possibleEffects = new LinkedList<Effect>();
|
||||
possibleEffects.add(
|
||||
|
||||
@@ -59,7 +59,7 @@ public class Card4_100 extends AbstractAttachableFPPossession {
|
||||
if (skirmish != null && skirmish.getFellowshipCharacter() != null && skirmish.getFellowshipCharacter().getBlueprint().getName().equals("Gandalf")) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, Filters.inSkirmishAgainst(Filters.gandalf)));
|
||||
new ExertCharactersEffect(action, self, Filters.inSkirmishAgainst(Filters.gandalf)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ public class Card4_112 extends AbstractAttachableFPPossession {
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new PreventableEffect(action,
|
||||
new CancelSkirmishEffect(Filters.hasAttached(self)),
|
||||
|
||||
@@ -49,7 +49,7 @@ public class Card4_118 extends AbstractAttachableFPPossession {
|
||||
&& Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.inSkirmishAgainst(Filters.hasAttached(self)), Filters.or(Race.MAN, Keyword.ROAMING)) > 0) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.inSkirmishAgainst(Filters.hasAttached(self)), Filters.or(Race.MAN, Keyword.ROAMING)));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
@@ -58,7 +58,7 @@ public class Card4_139 extends AbstractAttachable {
|
||||
Filters.or(CardType.ALLY, CardType.COMPANION)))) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, Filters.hasAttached(self)));
|
||||
new ExertCharactersEffect(action, self, Filters.hasAttached(self)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -64,7 +64,7 @@ public class Card4_143 extends AbstractOldEvent {
|
||||
new PreventableEffect.PreventionCost() {
|
||||
@Override
|
||||
public Effect createPreventionCostForPlayer(SubAction subAction, String playerId) {
|
||||
return new ExertCharactersEffect(self, companion);
|
||||
return new ExertCharactersEffect(action, self, companion);
|
||||
}
|
||||
}
|
||||
));
|
||||
|
||||
@@ -81,7 +81,7 @@ public class Card4_159 extends AbstractAttachable {
|
||||
new PreventableEffect.PreventionCost() {
|
||||
@Override
|
||||
public Effect createPreventionCostForPlayer(SubAction subAction, String playerId) {
|
||||
return new ExertCharactersEffect(self, self.getAttachedTo());
|
||||
return new ExertCharactersEffect(action, self, self.getAttachedTo());
|
||||
}
|
||||
}
|
||||
));
|
||||
|
||||
@@ -55,7 +55,7 @@ public class Card4_164 extends AbstractMinion {
|
||||
new PreventableEffect.PreventionCost() {
|
||||
@Override
|
||||
public Effect createPreventionCostForPlayer(SubAction subAction, String playerId) {
|
||||
return new ExertCharactersEffect(self, companion);
|
||||
return new ExertCharactersEffect(action, self, companion);
|
||||
}
|
||||
}
|
||||
));
|
||||
|
||||
@@ -48,7 +48,7 @@ public class Card4_172 extends AbstractAttachable {
|
||||
if (TriggerConditions.assignedAgainst(game, effectResult, Side.FREE_PEOPLE, Filters.any, Filters.hasAttached(self))) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, CardType.ALLY));
|
||||
new ExertCharactersEffect(action, self, CardType.ALLY));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -42,7 +42,7 @@ public class Card4_178 extends AbstractMinion {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.setText("Exert " + GameUtils.getCardLink(assignmentResult.getAssignedCard()));
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, assignmentResult.getAssignedCard()));
|
||||
new ExertCharactersEffect(action, self, assignmentResult.getAssignedCard()));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -42,7 +42,7 @@ public class Card4_212 extends AbstractAttachable {
|
||||
if (TriggerConditions.assignedAgainst(game, effectResult, Side.FREE_PEOPLE, Filters.and(Culture.ISENGARD, Keyword.TRACKER), Filters.hasAttached(self))) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -57,7 +57,7 @@ public class Card4_215 extends AbstractAttachable {
|
||||
if (TriggerConditions.played(game, effectResult, self)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -37,9 +37,9 @@ public class Card4_231 extends AbstractPermanent {
|
||||
if (TriggerConditions.movesFrom(game, effectResult, Filters.siteBlock(Block.TWO_TOWERS), Filters.siteNumber(2))) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, Filters.and(CardType.COMPANION, Keyword.RING_BOUND)));
|
||||
new ExertCharactersEffect(action, self, Filters.and(CardType.COMPANION, Keyword.RING_BOUND)));
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(self, Filters.and(CardType.COMPANION, Keyword.RING_BOUND)));
|
||||
new ExertCharactersEffect(action, self, Filters.and(CardType.COMPANION, Keyword.RING_BOUND)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -51,7 +51,7 @@ public class Card4_255 extends AbstractAttachable {
|
||||
action.appendCost(
|
||||
new RemoveTwilightEffect(4));
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, self.getAttachedTo()));
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.inSkirmishAgainst(Filters.hasAttached(self))));
|
||||
return Collections.singletonList(action);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user