- "Rush of Steeds" should now work correctly.

This commit is contained in:
marcins78@gmail.com
2012-06-27 10:54:56 +00:00
parent 6e5e2c52ed
commit f9abcd0953
130 changed files with 144 additions and 149 deletions

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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);
}

View File

@@ -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";

View File

@@ -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)) {

View File

@@ -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));

View File

@@ -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

View File

@@ -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

View File

@@ -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;

View File

@@ -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));

View File

@@ -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);

View File

@@ -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

View File

@@ -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";

View File

@@ -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);
}

View File

@@ -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";

View File

@@ -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));

View File

@@ -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));

View File

@@ -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

View File

@@ -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);
}
}

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -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;

View File

@@ -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";

View File

@@ -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

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;

View File

@@ -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;

View File

@@ -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));

View File

@@ -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)));
}

View File

@@ -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);

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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

View File

@@ -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;

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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));

View File

@@ -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;

View File

@@ -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);

View File

@@ -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);

View File

@@ -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(

View File

@@ -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));

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);

View File

@@ -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));

View File

@@ -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);

View File

@@ -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);

View File

@@ -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(

View File

@@ -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);

View File

@@ -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);

View File

@@ -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(

View File

@@ -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));

View File

@@ -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

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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) {

View File

@@ -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;

View File

@@ -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(

View File

@@ -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);
}
}));
}

View File

@@ -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);

View File

@@ -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(

View File

@@ -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

View File

@@ -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);
}

View File

@@ -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;

View File

@@ -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(

View File

@@ -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";

View File

@@ -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,

View File

@@ -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

View File

@@ -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));

View File

@@ -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);

View File

@@ -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;

View File

@@ -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);
}
}
));

View File

@@ -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));
}
});
}

View File

@@ -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";

View File

@@ -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(

View File

@@ -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);
}
}

View File

@@ -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)),

View File

@@ -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);

View File

@@ -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;

View File

@@ -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);
}
}
));

View File

@@ -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());
}
}
));

View File

@@ -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);
}
}
));

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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