This commit is contained in:
marcins78
2013-03-19 11:38:31 +00:00
parent c5d04b4e3a
commit 476225a8ba
3 changed files with 55 additions and 8 deletions

View File

@@ -369,7 +369,7 @@ var set20 = {
'20_368': 'http://lotrtcg.org/coreset/sauron/orcraveners(r1).png', '20_368': 'http://lotrtcg.org/coreset/sauron/orcraveners(r1).png',
'20_369': 'http://lotrtcg.org/coreset/sauron/orcsavage(r1).png', '20_369': 'http://lotrtcg.org/coreset/sauron/orcsavage(r1).png',
'20_370': 'http://lotrtcg.org/coreset/sauron/orcskulker(r1).png', '20_370': 'http://lotrtcg.org/coreset/sauron/orcskulker(r1).png',
'20_371': 'http://lotrtcg.org/coreset/sauron/orcstalker.png', '20_371': 'http://lotrtcg.org/coreset/sauron/orcstalker(r1).png',
'20_372': 'http://lotrtcg.org/coreset/sauron/orcvillain.png', '20_372': 'http://lotrtcg.org/coreset/sauron/orcvillain.png',
'20_373': 'http://lotrtcg.org/coreset/sauron/sauronsforces.png', '20_373': 'http://lotrtcg.org/coreset/sauron/sauronsforces.png',
'20_374': 'http://lotrtcg.org/coreset/sauron/shadowintheeast.png', '20_374': 'http://lotrtcg.org/coreset/sauron/shadowintheeast.png',

View File

@@ -4,7 +4,10 @@ import com.gempukku.lotro.cards.AbstractMinion;
import com.gempukku.lotro.cards.PlayConditions; import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.TriggerConditions; import com.gempukku.lotro.cards.TriggerConditions;
import com.gempukku.lotro.cards.effects.SelfExertEffect; import com.gempukku.lotro.cards.effects.SelfExertEffect;
import com.gempukku.lotro.common.*; import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword;
import com.gempukku.lotro.common.Phase;
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;
@@ -85,7 +88,7 @@ public class Card20_349 extends AbstractMinion {
action.appendCost( action.appendCost(
new SelfExertEffect(action, self)); new SelfExertEffect(action, self));
action.appendEffect( action.appendEffect(
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.COMPANION, Filters.inSkirmishAgainst(self))); new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.character, Filters.inSkirmishAgainst(self)));
return Collections.singletonList(action); return Collections.singletonList(action);
} }
return null; return null;

View File

@@ -1,31 +1,75 @@
package com.gempukku.lotro.cards.set20.sauron; package com.gempukku.lotro.cards.set20.sauron;
import com.gempukku.lotro.cards.AbstractMinion; import com.gempukku.lotro.cards.AbstractMinion;
import com.gempukku.lotro.cards.modifiers.conditions.CanSpotFPCulturesCondition; import com.gempukku.lotro.cards.TriggerConditions;
import com.gempukku.lotro.cards.modifiers.conditions.NotCondition;
import com.gempukku.lotro.common.Culture; import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Keyword;
import com.gempukku.lotro.common.Race; import com.gempukku.lotro.common.Race;
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.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.KeywordModifier;
import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.timing.EffectResult;
import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
/** /**
* 4 * 4
* Orc Stalker * Orc Stalker
* Sauron Minion • Orc * Minion • Orc
* 10 3 6 * 10 3 6
* While you cannot spot 3 Free Peoples cultures, this minion is fierce. * When you play this minion, name a Free Peoples culture.
* If this minion is assigned to skirmish a companion of the named culture, it is fierce until the regroup phase.
* http://lotrtcg.org/coreset/sauron/orcstalker(r1).png
*/ */
public class Card20_371 extends AbstractMinion { public class Card20_371 extends AbstractMinion {
public Card20_371() { public Card20_371() {
super(4, 10, 3, 6, Race.ORC, Culture.SAURON, "Orc Stalker"); super(4, 10, 3, 6, Race.ORC, Culture.SAURON, "Orc Stalker");
} }
@Override
public String getDisplayableInformation(PhysicalCard self) {
if (self.getWhileInZoneData() != null)
return "Chosen culture is " + ((Culture) self.getWhileInZoneData()).getHumanReadable();
return null;
}
@Override
public List<RequiredTriggerAction> 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);
final Set<String> possibleCultures = new LinkedHashSet<String>();
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);
}
}
return null;
}
@Override @Override
public Modifier getAlwaysOnModifier(LotroGame game, PhysicalCard self) { public Modifier getAlwaysOnModifier(LotroGame game, PhysicalCard self) {
return new KeywordModifier(self, self, return new KeywordModifier(self, self,
new NotCondition(new CanSpotFPCulturesCondition(self.getOwner(), 3)), Keyword.FIERCE, 1); new GameHasCondition(self, Filters.inSkirmishAgainst((Culture) self.getWhileInZoneData())), Keyword.FIERCE, 1);
} }
} }