Win/lose triggers now should work correctly.

This commit is contained in:
marcins78@gmail.com
2011-12-01 00:58:36 +00:00
parent b27150ca5e
commit 7d4b98d365
13 changed files with 80 additions and 111 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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