Win/lose triggers now should work correctly.
This commit is contained in:
@@ -11,7 +11,7 @@ import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
|
||||
import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
@@ -41,8 +41,8 @@ public class Card1_009 extends AbstractAttachableFPPossession {
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.winsSkirmish(game, effectResult, self.getAttachedTo())) {
|
||||
SkirmishResult skirmishResult = ((SkirmishResult) effectResult);
|
||||
Set<PhysicalCard> losers = skirmishResult.getLosers();
|
||||
CharacterWonSkirmishResult skirmishResult = ((CharacterWonSkirmishResult) effectResult);
|
||||
Set<PhysicalCard> losers = skirmishResult.getInvolving();
|
||||
|
||||
List<RequiredTriggerAction> actions = new LinkedList<RequiredTriggerAction>();
|
||||
|
||||
|
||||
@@ -7,12 +7,11 @@ import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
import com.gempukku.lotro.common.Zone;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndHealCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.HealCharactersEffect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
|
||||
import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -39,10 +38,10 @@ public class Card1_025 extends AbstractResponseOldEvent {
|
||||
public List<PlayEventAction> getOptionalAfterActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (self.getZone() == Zone.HAND && TriggerConditions.winsSkirmish(game, effectResult, Race.DWARF)
|
||||
&& checkPlayRequirements(playerId, game, self, 0, false, false)) {
|
||||
SkirmishResult skirmishResult = (SkirmishResult) effectResult;
|
||||
CharacterWonSkirmishResult skirmishResult = (CharacterWonSkirmishResult) effectResult;
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendEffect(
|
||||
new ChooseAndHealCharactersEffect(action, playerId, 1, 1, Race.DWARF, Filters.in(skirmishResult.getWinners())));
|
||||
new HealCharactersEffect(self, skirmishResult.getWinner()));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -18,7 +18,7 @@ import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
|
||||
import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
@@ -58,8 +58,8 @@ public class Card1_029 extends AbstractOldEvent {
|
||||
@Override
|
||||
public List<? extends RequiredTriggerAction> getRequiredAfterTriggers(LotroGame lotroGame, EffectResult effectResult) {
|
||||
if (TriggerConditions.winsSkirmish(lotroGame, effectResult, elf)) {
|
||||
SkirmishResult skirmishResult = (SkirmishResult) effectResult;
|
||||
Set<PhysicalCard> losers = skirmishResult.getLosers();
|
||||
CharacterWonSkirmishResult skirmishResult = (CharacterWonSkirmishResult) effectResult;
|
||||
Set<PhysicalCard> losers = skirmishResult.getInvolving();
|
||||
Set<String> opponents = new HashSet<String>();
|
||||
for (PhysicalCard loser : losers)
|
||||
opponents.add(loser.getOwner());
|
||||
|
||||
@@ -7,10 +7,11 @@ import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.GameUtils;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndHealCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.HealCharactersEffect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
|
||||
import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -32,11 +33,12 @@ public class Card1_144 extends AbstractPermanent {
|
||||
public List<? extends ActivateCardAction> getOptionalInPlayAfterActions(final String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.winsSkirmish(game, effectResult, Filters.and(Race.URUK_HAI, Filters.owner(playerId)))
|
||||
&& game.getGameState().getTwilightPool() >= 1) {
|
||||
SkirmishResult skirmishResult = ((SkirmishResult) effectResult);
|
||||
CharacterWonSkirmishResult skirmishResult = ((CharacterWonSkirmishResult) effectResult);
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.setText("Heal " + GameUtils.getCardLink(skirmishResult.getWinner()));
|
||||
action.appendCost(new RemoveTwilightEffect(1));
|
||||
action.appendEffect(
|
||||
new ChooseAndHealCharactersEffect(action, playerId, Race.URUK_HAI, Filters.in(skirmishResult.getWinners())));
|
||||
new HealCharactersEffect(self, skirmishResult.getWinner()));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -8,11 +8,11 @@ import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.GameUtils;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
|
||||
import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -41,20 +41,15 @@ public class Card1_159 extends AbstractPermanent {
|
||||
public List<? extends ActivateCardAction> getOptionalInPlayAfterActions(String playerId, LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
if (TriggerConditions.winsSkirmish(game, effectResult, Filters.and(Filters.owner(playerId), Race.URUK_HAI))
|
||||
&& game.getGameState().getTwilightPool() >= 3) {
|
||||
SkirmishResult skirmishResult = ((SkirmishResult) effectResult);
|
||||
CharacterWonSkirmishResult skirmishResult = ((CharacterWonSkirmishResult) effectResult);
|
||||
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.setText("Make " + GameUtils.getCardLink(skirmishResult.getWinner()) + " fierce");
|
||||
|
||||
action.appendCost(new RemoveTwilightEffect(3));
|
||||
action.appendEffect(
|
||||
new ChooseActiveCardEffect(self, playerId, "Choose a winning Uruk-hai", Filters.and(Filters.owner(playerId), Race.URUK_HAI, Filters.in(skirmishResult.getWinners()))) {
|
||||
@Override
|
||||
protected void cardSelected(LotroGame game, PhysicalCard winningUrukHai) {
|
||||
action.appendEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new KeywordModifier(self, Filters.sameCard(winningUrukHai), Keyword.FIERCE), Phase.REGROUP));
|
||||
}
|
||||
});
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new KeywordModifier(self, skirmishResult.getWinner(), Keyword.FIERCE), Phase.REGROUP));
|
||||
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
|
||||
@@ -8,10 +8,10 @@ import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
|
||||
import com.gempukku.lotro.logic.GameUtils;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
|
||||
import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -33,18 +33,13 @@ public class Card1_247 extends AbstractResponseOldEvent {
|
||||
public List<PlayEventAction> getOptionalAfterActions(String playerId, LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
if (TriggerConditions.winsSkirmish(game, effectResult, Filters.and(Culture.SAURON, Race.ORC))
|
||||
&& checkPlayRequirements(playerId, game, self, 0, false, false)) {
|
||||
SkirmishResult skirmishResult = (SkirmishResult) effectResult;
|
||||
CharacterWonSkirmishResult skirmishResult = (CharacterWonSkirmishResult) effectResult;
|
||||
|
||||
final PlayEventAction action = new PlayEventAction(self);
|
||||
action.setText("Make " + GameUtils.getCardLink(skirmishResult.getWinner()) + " fierce");
|
||||
action.appendEffect(
|
||||
new ChooseActiveCardEffect(self, playerId, "Choose an Orc", Culture.SAURON, Race.ORC, Filters.in(skirmishResult.getWinners())) {
|
||||
@Override
|
||||
protected void cardSelected(LotroGame game, PhysicalCard winningSauronOrc) {
|
||||
action.appendEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new KeywordModifier(self, Filters.sameCard(winningSauronOrc), Keyword.FIERCE), Phase.REGROUP));
|
||||
}
|
||||
});
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new KeywordModifier(self, skirmishResult.getWinner(), Keyword.FIERCE), Phase.REGROUP));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -12,12 +12,10 @@ import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
|
||||
import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Set: The Two Towers
|
||||
@@ -35,27 +33,18 @@ public class Card4_027 extends AbstractPermanent {
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.losesSkirmish(game, effectResult,
|
||||
Filters.and(Culture.ROHAN, Race.MAN))) {
|
||||
|
||||
SkirmishResult skirmishResult = (SkirmishResult) effectResult;
|
||||
Set<PhysicalCard> winners = skirmishResult.getWinners();
|
||||
Collection<PhysicalCard> winningDunlandMan = Filters.filter(winners, game.getGameState(), game.getModifiersQuerying(), Filters.and(Culture.DUNLAND, Race.MAN));
|
||||
|
||||
List<OptionalTriggerAction> actions = new LinkedList<OptionalTriggerAction>();
|
||||
for (final PhysicalCard physicalCard : winningDunlandMan) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.setText("Make " + GameUtils.getCardLink(physicalCard) + " strength +2 and Fierce");
|
||||
action.appendEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new StrengthModifier(self, Filters.sameCard(physicalCard), 2), Phase.REGROUP));
|
||||
action.appendEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new KeywordModifier(self, Filters.sameCard(physicalCard), Keyword.FIERCE), Phase.REGROUP));
|
||||
actions.add(action);
|
||||
}
|
||||
|
||||
return actions;
|
||||
if (TriggerConditions.winsSkirmishInvolving(game, effectResult, Filters.and(Culture.DUNLAND, Race.MAN), Filters.and(Culture.ROHAN, Race.MAN))) {
|
||||
CharacterWonSkirmishResult skirmishResult = (CharacterWonSkirmishResult) effectResult;
|
||||
PhysicalCard winner = skirmishResult.getWinner();
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.setText("Make " + GameUtils.getCardLink(winner) + " strength +2 and Fierce");
|
||||
action.appendEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new StrengthModifier(self, Filters.sameCard(winner), 2), Phase.REGROUP));
|
||||
action.appendEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new KeywordModifier(self, Filters.sameCard(winner), Keyword.FIERCE), Phase.REGROUP));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.effects.DiscardCardsFromPlayEffect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
|
||||
import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -43,8 +43,8 @@ public class Card4_032 extends AbstractResponseOldEvent {
|
||||
if (PlayConditions.canPlayCardDuringPhase(game, (Phase) null, self)
|
||||
&& TriggerConditions.winsSkirmish(game, effectResult, Filters.and(Culture.DUNLAND, Race.MAN))
|
||||
&& checkPlayRequirements(playerId, game, self, 0, false, false)) {
|
||||
SkirmishResult skirmishResult = (SkirmishResult) effectResult;
|
||||
final Set<PhysicalCard> losers = skirmishResult.getLosers();
|
||||
CharacterWonSkirmishResult skirmishResult = (CharacterWonSkirmishResult) effectResult;
|
||||
final Set<PhysicalCard> losers = skirmishResult.getInvolving();
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendEffect(
|
||||
new DiscardCardsFromPlayEffect(self, Filters.and(Filters.attachedTo(Filters.in(losers)), Side.FREE_PEOPLE)));
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.gempukku.lotro.cards.set4.dunland;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractResponseOldEvent;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.cards.effects.AddUntilStartOfPhaseModifierEffect;
|
||||
@@ -9,15 +8,14 @@ import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
|
||||
import com.gempukku.lotro.logic.GameUtils;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
|
||||
import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Set: The Two Towers
|
||||
@@ -39,23 +37,17 @@ public class Card4_037 extends AbstractResponseOldEvent {
|
||||
|
||||
@Override
|
||||
public List<PlayEventAction> getOptionalAfterActions(String playerId, LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
if (PlayConditions.canPlayCardDuringPhase(game, (Phase) null, self)
|
||||
&& TriggerConditions.winsSkirmish(game, effectResult, Filters.and(Culture.DUNLAND, Race.MAN))
|
||||
if (TriggerConditions.winsSkirmish(game, effectResult, Filters.and(Culture.DUNLAND, Race.MAN))
|
||||
&& checkPlayRequirements(playerId, game, self, 0, false, false)) {
|
||||
final Set<PhysicalCard> winners = ((SkirmishResult) effectResult).getWinners();
|
||||
PhysicalCard winner = ((CharacterWonSkirmishResult) effectResult).getWinner();
|
||||
final PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendEffect(
|
||||
new ChooseActiveCardEffect(self, playerId, "Choose DUNLAND Man", Filters.in(winners), Culture.DUNLAND, Race.MAN) {
|
||||
@Override
|
||||
protected void cardSelected(LotroGame game, PhysicalCard card) {
|
||||
action.insertEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new StrengthModifier(self, Filters.sameCard(card), 4), Phase.REGROUP));
|
||||
action.insertEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new KeywordModifier(self, Filters.sameCard(card), Keyword.FIERCE), Phase.REGROUP));
|
||||
}
|
||||
});
|
||||
action.setText("Make " + GameUtils.getCardLink(winner) + " strength +4 and Fierce");
|
||||
action.insertEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new StrengthModifier(self, Filters.sameCard(winner), 4), Phase.REGROUP));
|
||||
action.insertEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new KeywordModifier(self, Filters.sameCard(winner), Keyword.FIERCE), Phase.REGROUP));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -5,24 +5,22 @@ import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.cards.effects.ChoiceEffect;
|
||||
import com.gempukku.lotro.cards.effects.ExertCharactersEffect;
|
||||
import com.gempukku.lotro.cards.effects.LiberateASiteEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
|
||||
import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Set: The Two Towers
|
||||
@@ -45,11 +43,11 @@ public class Card4_079 extends AbstractResponseOldEvent {
|
||||
@Override
|
||||
public List<PlayEventAction> getOptionalAfterActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.winsSkirmish(game, effectResult, Race.ELF)) {
|
||||
final Set<PhysicalCard> winners = ((SkirmishResult) effectResult).getWinners();
|
||||
if (PlayConditions.canExert(self, game, Filters.in(winners))) {
|
||||
PhysicalCard winner = ((CharacterWonSkirmishResult) effectResult).getWinner();
|
||||
if (PlayConditions.canExert(self, game, winner)) {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.ELF, Filters.in(winners)));
|
||||
new ExertCharactersEffect(self, winner));
|
||||
|
||||
List<Effect> possibleEffects = new LinkedList<Effect>();
|
||||
possibleEffects.add(
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.gempukku.lotro.cards.set5.isengard;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractMinion;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.effects.ExertCharactersEffect;
|
||||
import com.gempukku.lotro.cards.effects.TakeControlOfASiteEffect;
|
||||
@@ -10,15 +11,14 @@ import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.GameUtils;
|
||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
|
||||
import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -48,19 +48,19 @@ public class Card5_055 extends AbstractMinion {
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.winsSkirmish(game, effectResult, Culture.ISENGARD, Race.ORC)) {
|
||||
SkirmishResult result = (SkirmishResult) effectResult;
|
||||
Collection<PhysicalCard> winners = Filters.filter(result.getWinners(), game.getGameState(), game.getModifiersQuerying(), Culture.ISENGARD, Race.ORC, Filters.canExert(self));
|
||||
List<OptionalTriggerAction> actions = new LinkedList<OptionalTriggerAction>();
|
||||
for (PhysicalCard winner : winners) {
|
||||
CharacterWonSkirmishResult result = (CharacterWonSkirmishResult) effectResult;
|
||||
PhysicalCard winner = result.getWinner();
|
||||
if (PlayConditions.canExert(self, game, winner)) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.setText("Exert " + GameUtils.getCardLink(winner));
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(self, winner));
|
||||
action.appendEffect(
|
||||
new TakeControlOfASiteEffect(self, playerId));
|
||||
actions.add(action);
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return actions;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.effects.KillEffect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
|
||||
import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -45,10 +45,10 @@ public class Card7_152 extends AbstractMinion {
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.winsSkirmishInvolving(game, effectResult, self, CardType.COMPANION)
|
||||
&& game.getGameState().getThreats() >= 6) {
|
||||
SkirmishResult skirmishResult = (SkirmishResult) effectResult;
|
||||
CharacterWonSkirmishResult skirmishResult = (CharacterWonSkirmishResult) effectResult;
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new KillEffect(skirmishResult.getLosers(), KillEffect.Cause.CARD_EFFECT));
|
||||
new KillEffect(skirmishResult.getInvolving(), KillEffect.Cause.CARD_EFFECT));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -17,7 +17,7 @@ import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
|
||||
import com.gempukku.lotro.logic.effects.HealCharactersEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
|
||||
import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
@@ -43,13 +43,12 @@ public class Card9_005 extends AbstractCompanion {
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.winsSkirmish(game, effectResult, Race.DWARF)
|
||||
&& game.getGameState().isFierceSkirmishes()) {
|
||||
SkirmishResult skirmishResult = (SkirmishResult) effectResult;
|
||||
for (PhysicalCard physicalCard : skirmishResult.getWinners()) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new HealCharactersEffect(self, physicalCard));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
CharacterWonSkirmishResult skirmishResult = (CharacterWonSkirmishResult) effectResult;
|
||||
PhysicalCard winner = skirmishResult.getWinner();
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new HealCharactersEffect(self, winner));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user