"Living Off Rock"

This commit is contained in:
marcins78@gmail.com
2011-10-06 07:34:08 +00:00
parent 02993a9a62
commit 96632e71f0
2 changed files with 76 additions and 0 deletions

View File

@@ -161,6 +161,18 @@ public class PlayConditions {
return false;
}
public static boolean winsSkirmishAgainst(GameState gameState, ModifiersQuerying modifiersQuerying, EffectResult effectResult, Filter winnerFilter, Filter loserFilter) {
EffectResult.Type effectType = effectResult.getType();
if (effectType == EffectResult.Type.RESOLVE_SKIRMISH || effectType == EffectResult.Type.OVERWHELM_IN_SKIRMISH) {
SkirmishResult skirmishResult = (SkirmishResult) effectResult;
List<PhysicalCard> winners = skirmishResult.getWinners();
List<PhysicalCard> losers = skirmishResult.getLosers();
return (Filters.filter(winners, gameState, modifiersQuerying, winnerFilter).size() > 0)
&& (Filters.filter(losers, gameState, modifiersQuerying, loserFilter).size() > 0);
}
return false;
}
public static boolean losesSkirmish(GameState gameState, ModifiersQuerying modifiersQuerying, EffectResult effectResult, Filter filter) {
EffectResult.Type effectType = effectResult.getType();
if (effectType == EffectResult.Type.RESOLVE_SKIRMISH || effectType == EffectResult.Type.OVERWHELM_IN_SKIRMISH) {

View File

@@ -0,0 +1,64 @@
package com.gempukku.lotro.cards.set4.dunland;
import com.gempukku.lotro.cards.AbstractPermanent;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.AddUntilStartOfPhaseModifierEffect;
import com.gempukku.lotro.cards.modifiers.StrengthModifier;
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.OptionalTriggerAction;
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
/**
* Set: The Two Towers
* Side: Shadow
* Culture: Dunland
* Twilight Cost: 0
* Type: Condition
* Game Text: Plays to your support area. Each time a [DUNLAND] Man wins a skirmish involving a [ROHAN] Man, you may
* make that minion strength +2 and fierce until the regroup phase.
*/
public class Card4_027 extends AbstractPermanent {
public Card4_027() {
super(Side.SHADOW, 0, CardType.CONDITION, Culture.DUNLAND, Zone.SUPPORT, "Living Off Rock");
}
@Override
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (PlayConditions.losesSkirmish(game.getGameState(), game.getModifiersQuerying(), effectResult,
Filters.and(Filters.culture(Culture.ROHAN), Filters.race(Race.MAN)))) {
SkirmishResult skirmishResult = (SkirmishResult) effectResult;
List<PhysicalCard> winners = skirmishResult.getWinners();
Collection<PhysicalCard> winningDunlandMan = Filters.filter(winners, game.getGameState(), game.getModifiersQuerying(), Filters.and(Filters.culture(Culture.DUNLAND), Filters.race(Race.MAN)));
List<OptionalTriggerAction> actions = new LinkedList<OptionalTriggerAction>();
for (final PhysicalCard physicalCard : winningDunlandMan) {
OptionalTriggerAction action = new OptionalTriggerAction(self) {
@Override
public String getText(LotroGame game) {
return physicalCard.getBlueprint().getName() + " wins a skirmish";
}
};
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;
}
return null;
}
}