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_369': 'http://lotrtcg.org/coreset/sauron/orcsavage(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_373': 'http://lotrtcg.org/coreset/sauron/sauronsforces.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.TriggerConditions;
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.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
@@ -85,7 +88,7 @@ public class Card20_349 extends AbstractMinion {
action.appendCost(
new SelfExertEffect(action, self));
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 null;

View File

@@ -1,31 +1,75 @@
package com.gempukku.lotro.cards.set20.sauron;
import com.gempukku.lotro.cards.AbstractMinion;
import com.gempukku.lotro.cards.modifiers.conditions.CanSpotFPCulturesCondition;
import com.gempukku.lotro.cards.modifiers.conditions.NotCondition;
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.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;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
/**
* 4
* Orc Stalker
* Sauron Minion • Orc
* Minion • Orc
* 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 Card20_371() {
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
public Modifier getAlwaysOnModifier(LotroGame game, PhysicalCard 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);
}
}