"Ancient Chieftain", "Elder Goblin"

This commit is contained in:
marcins78
2013-01-30 14:52:21 +00:00
parent b0aaa72e2d
commit 210429d2f8
2 changed files with 65 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
package com.gempukku.lotro.cards.modifiers.evaluator;
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;
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
import com.gempukku.lotro.logic.modifiers.evaluator.Evaluator;
public class CountStackedEvaluator implements Evaluator {
private Filterable _stackedOn;
private Filterable[] _stackedCard;
private Integer _limit;
public CountStackedEvaluator(Filterable stackedOn, Filterable... stackedCard) {
_stackedOn = stackedOn;
_stackedCard = stackedCard;
}
public CountStackedEvaluator(int limit, Filterable stackedOn, Filterable... stackedCard) {
this(stackedOn, stackedCard);
_limit = limit;
}
@Override
public int evaluateExpression(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard cardAffected) {
int count = 0;
for (PhysicalCard card : Filters.filterActive(gameState, modifiersQuerying, _stackedOn)) {
count += Filters.filter(gameState.getStackedCards(card), gameState, modifiersQuerying, _stackedCard).size();
}
if (_limit != null)
return Math.min(_limit, count);
return count;
}
}

View File

@@ -0,0 +1,30 @@
package com.gempukku.lotro.cards.set20.moria;
import com.gempukku.lotro.cards.AbstractMinion;
import com.gempukku.lotro.cards.modifiers.evaluator.CountStackedEvaluator;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Race;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
/**
* 3
* •Ancient Chieftan, Elder Goblin
* Moria Minion • Goblin
* 9 3 4
* Ancient Chieftain is strength +1 for each Goblin stacked on a [Moria] condition.
*/
public class Card20_250 extends AbstractMinion {
public Card20_250() {
super(3, 9, 3, 4, Race.GOBLIN, Culture.MORIA, "Ancient Chieftain", "Elder Goblin", true);
}
@Override
public Modifier getAlwaysOnModifier(PhysicalCard self) {
return new StrengthModifier(self, self, null,
new CountStackedEvaluator(Filters.and(Culture.MORIA, CardType.CONDITION), Race.GOBLIN));
}
}