"Ancient Chieftain", "Elder Goblin"
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user