diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html b/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html
index 57b934938..ad38b4d3e 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html
@@ -5,6 +5,7 @@
- Cards that prevent adding burdens, now should do so correctly.
- "Cleaved" can now be transferred only form Support area.
- "Doors of Durin" should no longer cancel a game if there is a character without race.
+- "Barad-Dur Captain" and "Orc Stalker" should no longer cancel the game.
15 Mar. 2013
- "Lothlorien" correctly requires to spot 2 elves, instead of just one to remove the burden.
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/sauron/Card20_349.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/sauron/Card20_349.java
index 7205c9897..15def02b0 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/sauron/Card20_349.java
+++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/sauron/Card20_349.java
@@ -10,15 +10,17 @@ import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.Race;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
+import com.gempukku.lotro.game.state.GameState;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.ActivateCardAction;
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision;
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect;
-import com.gempukku.lotro.logic.modifiers.GameHasCondition;
+import com.gempukku.lotro.logic.modifiers.Condition;
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
import com.gempukku.lotro.logic.modifiers.Modifier;
+import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
import com.gempukku.lotro.logic.timing.Action;
import com.gempukku.lotro.logic.timing.EffectResult;
@@ -43,9 +45,17 @@ public class Card20_349 extends AbstractMinion {
}
@Override
- public Modifier getAlwaysOnModifier(LotroGame game, PhysicalCard self) {
+ public Modifier getAlwaysOnModifier(LotroGame game, final PhysicalCard self) {
return new KeywordModifier(self, self,
- new GameHasCondition(self, Filters.inSkirmishAgainst((Culture) self.getWhileInZoneData())), Keyword.DAMAGE, 1);
+ new Condition() {
+ @Override
+ public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
+ Culture chosenCulture = (Culture) self.getWhileInZoneData();
+ if (chosenCulture == null)
+ return false;
+ return Filters.inSkirmishAgainst(chosenCulture).accepts(gameState, modifiersQuerying, self);
+ }
+ }, Keyword.DAMAGE, 1);
}
@Override
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/sauron/Card20_371.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/sauron/Card20_371.java
index 54b9ba768..e62e1f02f 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/sauron/Card20_371.java
+++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/sauron/Card20_371.java
@@ -2,18 +2,15 @@ package com.gempukku.lotro.cards.set20.sauron;
import com.gempukku.lotro.cards.AbstractMinion;
import com.gempukku.lotro.cards.TriggerConditions;
-import com.gempukku.lotro.common.Culture;
-import com.gempukku.lotro.common.Keyword;
-import com.gempukku.lotro.common.Race;
+import com.gempukku.lotro.cards.effects.AddUntilStartOfPhaseModifierEffect;
+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.actions.RequiredTriggerAction;
import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision;
import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect;
-import com.gempukku.lotro.logic.modifiers.GameHasCondition;
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
-import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.timing.EffectResult;
import java.util.Collections;
@@ -45,31 +42,30 @@ public class Card20_371 extends AbstractMinion {
@Override
public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, final PhysicalCard self) {
if (TriggerConditions.played(game, effectResult, self)) {
- if (TriggerConditions.played(game, effectResult, self)) {
- RequiredTriggerAction action = new RequiredTriggerAction(self);
+ RequiredTriggerAction action = new RequiredTriggerAction(self);
- final Set possibleCultures = new LinkedHashSet();
- for (Culture culture : Culture.values())
- if (culture.isFP())
- possibleCultures.add(culture.getHumanReadable());
+ final Set possibleCultures = new LinkedHashSet();
+ for (Culture culture : Culture.values())
+ if (culture.isFP())
+ possibleCultures.add(culture.getHumanReadable());
- action.appendEffect(
- new PlayoutDecisionEffect(self.getOwner(),
- new MultipleChoiceAwaitingDecision(1, "Choose a culture", possibleCultures.toArray(new String[possibleCultures.size()])) {
- @Override
- protected void validDecisionMade(int index, String result) {
- self.setWhileInZoneData(Culture.findCultureByHumanReadable(result));
- }
- }));
- return Collections.singletonList(action);
- }
+ action.appendEffect(
+ new PlayoutDecisionEffect(self.getOwner(),
+ new MultipleChoiceAwaitingDecision(1, "Choose a culture", possibleCultures.toArray(new String[possibleCultures.size()])) {
+ @Override
+ protected void validDecisionMade(int index, String result) {
+ self.setWhileInZoneData(Culture.findCultureByHumanReadable(result));
+ }
+ }));
+ return Collections.singletonList(action);
+ }
+ if (TriggerConditions.assignedAgainst(game, effectResult, null, Filters.and(CardType.COMPANION, (Culture) self.getWhileInZoneData()), self)) {
+ RequiredTriggerAction action = new RequiredTriggerAction(self);
+ action.appendEffect(
+ new AddUntilStartOfPhaseModifierEffect(
+ new KeywordModifier(self, self, Keyword.FIERCE), Phase.REGROUP));
+ return Collections.singletonList(action);
}
return null;
}
-
- @Override
- public Modifier getAlwaysOnModifier(LotroGame game, PhysicalCard self) {
- return new KeywordModifier(self, self,
- new GameHasCondition(self, Filters.inSkirmishAgainst((Culture) self.getWhileInZoneData())), Keyword.FIERCE, 1);
- }
}