"Southron Sharpshooter"

This commit is contained in:
marcins78
2013-01-24 14:47:03 +00:00
parent 99d3556908
commit f7e4e2e785
4 changed files with 61 additions and 10 deletions

View File

@@ -6,11 +6,9 @@ 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.GameState;
import com.gempukku.lotro.logic.modifiers.Condition;
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.modifiers.ModifiersQuerying;
/**
* 6
@@ -30,11 +28,6 @@ public class Card20_139 extends AbstractMinion {
@Override
public Modifier getAlwaysOnModifier(final PhysicalCard self) {
return new KeywordModifier(self, Keyword.SOUTHRON,
new Condition() {
@Override
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
return Filters.mounted.accepts(gameState, modifiersQuerying, self);
}
}, Keyword.AMBUSH, 2);
new GameHasCondition(self, Filters.mounted), Keyword.AMBUSH, 2);
}
}

View File

@@ -0,0 +1,34 @@
package com.gempukku.lotro.cards.set20.fallenRealms;
import com.gempukku.lotro.cards.AbstractMinion;
import com.gempukku.lotro.cards.modifiers.ArcheryTotalModifier;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword;
import com.gempukku.lotro.common.Race;
import com.gempukku.lotro.common.Side;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.logic.modifiers.GameHasCondition;
import com.gempukku.lotro.logic.modifiers.Modifier;
/**
* 3
* Southron Sharpshooter
* Fallen Realms Minion • Man
* 7 3 4
* Southron. Archer.
* While this minion is mounted, the minion archery total is +1.
*/
public class Card20_141 extends AbstractMinion {
public Card20_141() {
super(3, 7, 3, 4, Race.MAN, Culture.FALLEN_REALMS, "Southron Sharpshooter");
addKeyword(Keyword.SOUTHRON);
addKeyword(Keyword.ARCHER);
}
@Override
public Modifier getAlwaysOnModifier(final PhysicalCard self) {
return new ArcheryTotalModifier(self, Side.SHADOW,
new GameHasCondition(self, Filters.mounted), 1);
}
}

View File

@@ -977,7 +977,7 @@ public class Filters {
_gameState = gameState;
_modifiersQuerying = modifiersQuerying;
_searchingToSpot = count;
_filter = filter;
_filter = Filters.and(filter, Filters.spottable);
}
@Override

View File

@@ -0,0 +1,24 @@
package com.gempukku.lotro.logic.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.state.GameState;
public class GameHasCondition implements Condition {
private Filterable[] _filter;
private int _count;
public GameHasCondition(Filterable... filter) {
this(1, Filters.and(filter));
}
public GameHasCondition(int count, Filterable... filter) {
_filter = filter;
_count = count;
}
@Override
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
return Filters.countActive(gameState, modifiersQuerying, _filter)>=_count;
}
}