"Haleth"
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
package com.gempukku.lotro.cards.set15.rohan;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractCompanion;
|
||||
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.*;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: The Hunters
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 2
|
||||
* Type: Companion • Man
|
||||
* Strength: 5
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Game Text: While you can spot 2 mounts, Haleth is strength +2. While you can spot 3 mounts, Haleth is damage +1.
|
||||
* While you can spot 4 Free Peoples mounts, those mounts can not be discarded by a Shadow player.
|
||||
*/
|
||||
public class Card15_128 extends AbstractCompanion {
|
||||
public Card15_128() {
|
||||
super(2, 5, 3, 6, Culture.ROHAN, Race.MAN, null, "Haleth", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Modifier> getAlwaysOnModifiers(LotroGame game, PhysicalCard self) {
|
||||
List<Modifier> modifiers = new LinkedList<Modifier>();
|
||||
modifiers.add(
|
||||
new StrengthModifier(self, self, new SpotCondition(2, PossessionClass.MOUNT), 2));
|
||||
modifiers.add(
|
||||
new KeywordModifier(self, self, new SpotCondition(3, PossessionClass.MOUNT), Keyword.DAMAGE, 1));
|
||||
modifiers.add(
|
||||
new CantDiscardFromPlayModifier(self, "Can't be discarded by a Shadow player", new SpotCondition(4, Side.FREE_PEOPLE, PossessionClass.MOUNT),
|
||||
Filters.and(Side.FREE_PEOPLE, PossessionClass.MOUNT), Side.SHADOW));
|
||||
return modifiers;
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,26 @@
|
||||
package com.gempukku.lotro.logic.modifiers;
|
||||
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.common.Filterable;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
|
||||
public class CantDiscardFromPlayModifier extends AbstractModifier {
|
||||
private Filter _sourceFilter;
|
||||
private Filterable _sourceFilter;
|
||||
|
||||
public CantDiscardFromPlayModifier(PhysicalCard source, String text, Filter affectFilter, Filter sourceFilter) {
|
||||
public CantDiscardFromPlayModifier(PhysicalCard source, String text, Filterable affectFilter, Filterable sourceFilter) {
|
||||
super(source, text, affectFilter, ModifierEffect.DISCARD_FROM_PLAY_MODIFIER);
|
||||
_sourceFilter = sourceFilter;
|
||||
}
|
||||
|
||||
public CantDiscardFromPlayModifier(PhysicalCard source, String text, Condition condition, Filterable affectFilter, Filterable sourceFilter) {
|
||||
super(source, text, affectFilter, condition, ModifierEffect.DISCARD_FROM_PLAY_MODIFIER);
|
||||
_sourceFilter = sourceFilter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canBeDiscardedFromPlay(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard card, PhysicalCard source) {
|
||||
if (_sourceFilter.accepts(gameState, modifiersQuerying, source))
|
||||
if (Filters.and(_sourceFilter).accepts(gameState, modifiersQuerying, source))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user