- "Barad-Dur Captain" and "Orc Stalker" should no longer cancel the game.

This commit is contained in:
marcins78@gmail.com
2013-03-19 23:38:26 +00:00
parent 08c8f3ec94
commit 4c19ededd7
3 changed files with 37 additions and 30 deletions

View File

@@ -5,6 +5,7 @@
- Cards that prevent adding burdens, now should do so correctly. - Cards that prevent adding burdens, now should do so correctly.
- "Cleaved" can now be transferred only form Support area. - "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. - "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.
<b>15 Mar. 2013</b> <b>15 Mar. 2013</b>
- "Lothlorien" correctly requires to spot 2 elves, instead of just one to remove the burden. - "Lothlorien" correctly requires to spot 2 elves, instead of just one to remove the burden.

View File

@@ -10,15 +10,17 @@ import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.Race; import com.gempukku.lotro.common.Race;
import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.ActivateCardAction; import com.gempukku.lotro.logic.actions.ActivateCardAction;
import com.gempukku.lotro.logic.actions.RequiredTriggerAction; import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision; import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision;
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect; import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect; 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.KeywordModifier;
import com.gempukku.lotro.logic.modifiers.Modifier; 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.Action;
import com.gempukku.lotro.logic.timing.EffectResult; import com.gempukku.lotro.logic.timing.EffectResult;
@@ -43,9 +45,17 @@ public class Card20_349 extends AbstractMinion {
} }
@Override @Override
public Modifier getAlwaysOnModifier(LotroGame game, PhysicalCard self) { public Modifier getAlwaysOnModifier(LotroGame game, final PhysicalCard self) {
return new KeywordModifier(self, 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 @Override

View File

@@ -2,18 +2,15 @@ package com.gempukku.lotro.cards.set20.sauron;
import com.gempukku.lotro.cards.AbstractMinion; import com.gempukku.lotro.cards.AbstractMinion;
import com.gempukku.lotro.cards.TriggerConditions; import com.gempukku.lotro.cards.TriggerConditions;
import com.gempukku.lotro.common.Culture; import com.gempukku.lotro.cards.effects.AddUntilStartOfPhaseModifierEffect;
import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.*;
import com.gempukku.lotro.common.Race;
import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.RequiredTriggerAction; import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision; import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision;
import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect; 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.KeywordModifier;
import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.timing.EffectResult; import com.gempukku.lotro.logic.timing.EffectResult;
import java.util.Collections; import java.util.Collections;
@@ -45,31 +42,30 @@ public class Card20_371 extends AbstractMinion {
@Override @Override
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, final PhysicalCard self) { public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, final PhysicalCard self) {
if (TriggerConditions.played(game, effectResult, 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<String> possibleCultures = new LinkedHashSet<String>(); final Set<String> possibleCultures = new LinkedHashSet<String>();
for (Culture culture : Culture.values()) for (Culture culture : Culture.values())
if (culture.isFP()) if (culture.isFP())
possibleCultures.add(culture.getHumanReadable()); possibleCultures.add(culture.getHumanReadable());
action.appendEffect( action.appendEffect(
new PlayoutDecisionEffect(self.getOwner(), new PlayoutDecisionEffect(self.getOwner(),
new MultipleChoiceAwaitingDecision(1, "Choose a culture", possibleCultures.toArray(new String[possibleCultures.size()])) { new MultipleChoiceAwaitingDecision(1, "Choose a culture", possibleCultures.toArray(new String[possibleCultures.size()])) {
@Override @Override
protected void validDecisionMade(int index, String result) { protected void validDecisionMade(int index, String result) {
self.setWhileInZoneData(Culture.findCultureByHumanReadable(result)); self.setWhileInZoneData(Culture.findCultureByHumanReadable(result));
} }
})); }));
return Collections.singletonList(action); 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; 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);
}
} }