"Morgul Axe"

This commit is contained in:
marcins78@gmail.com
2011-11-06 15:38:05 +00:00
parent 1931c00347
commit b9fca7e6c1
2 changed files with 54 additions and 6 deletions

View File

@@ -0,0 +1,44 @@
package com.gempukku.lotro.cards.set7.wraith;
import com.gempukku.lotro.cards.AbstractAttachable;
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.modifiers.KeywordModifier;
import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.modifiers.SpotCondition;
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
import java.util.LinkedList;
import java.util.List;
/**
* Set: The Return of the King
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 1
* Type: Possession • Hand Weapon
* Strength: +2
* Game Text: Bearer must be a [WRAITH] Orc. While you can spot 2 wounds on the Ring-bearer, bearer is damage +1.
*/
public class Card7_186 extends AbstractAttachable {
public Card7_186() {
super(Side.SHADOW, CardType.POSSESSION, 1, Culture.WRAITH, PossessionClass.HAND_WEAPON, "Morgul Axe");
}
@Override
protected Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
return Filters.and(Culture.WRAITH, Race.ORC);
}
@Override
public List<? extends Modifier> getAlwaysOnModifiers(LotroGame game, PhysicalCard self) {
List<Modifier> modifiers = new LinkedList<Modifier>();
modifiers.add(
new StrengthModifier(self, Filters.hasAttached(self), 2));
modifiers.add(
new KeywordModifier(self, Filters.hasAttached(self), new SpotCondition(Keyword.RING_BEARER, Filters.wounds(2)), Keyword.DAMAGE, 1));
return modifiers;
}
}

View File

@@ -441,12 +441,16 @@ public class Filters {
};
}
public static final Filter wounded = new Filter() {
@Override
public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) {
return gameState.getWounds(physicalCard) > 0;
}
};
public static Filter wounds(final int wounds) {
return new Filter() {
@Override
public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) {
return gameState.getWounds(physicalCard) >= wounds;
}
};
}
public static final Filter wounded = Filters.wounds(1);
public static Filter cardId(final int cardId) {
return new Filter() {