"Southron Murderer"
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package com.gempukku.lotro.cards.modifiers.conditions;
|
||||
|
||||
import com.gempukku.lotro.common.Token;
|
||||
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.ModifiersQuerying;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class CanSpotCultureTokensCondition implements Condition {
|
||||
private int _count;
|
||||
|
||||
public CanSpotCultureTokensCondition(int count) {
|
||||
_count = count;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
|
||||
int count = 0;
|
||||
for (PhysicalCard physicalCard : Filters.filterActive(gameState, modifiersQuerying, Filters.hasAnyCultureTokens(1))) {
|
||||
for (Map.Entry<Token, Integer> tokenCountEntry : gameState.getTokens(physicalCard).entrySet()) {
|
||||
if (tokenCountEntry.getKey().getCulture() != null) {
|
||||
count += tokenCountEntry.getValue();
|
||||
if (count >= _count)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -3,16 +3,14 @@ package com.gempukku.lotro.cards.set13.men;
|
||||
import com.gempukku.lotro.cards.AbstractMinion;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.modifiers.ArcheryTotalModifier;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.cards.modifiers.conditions.CanSpotCultureTokensCondition;
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.modifiers.Condition;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
@@ -39,21 +37,6 @@ public class Card13_086 extends AbstractMinion {
|
||||
@Override
|
||||
public Modifier getAlwaysOnModifier(PhysicalCard self) {
|
||||
return new ArcheryTotalModifier(self, Side.SHADOW,
|
||||
new Condition() {
|
||||
@Override
|
||||
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
|
||||
int count = 0;
|
||||
for (PhysicalCard physicalCard : Filters.filterActive(gameState, modifiersQuerying, Filters.hasAnyCultureTokens(1))) {
|
||||
for (Map.Entry<Token, Integer> tokenCountEntry : gameState.getTokens(physicalCard).entrySet()) {
|
||||
if (tokenCountEntry.getKey().getCulture() != null) {
|
||||
count += tokenCountEntry.getValue();
|
||||
if (count >= 5)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}, 2);
|
||||
new CanSpotCultureTokensCondition(5), 2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.gempukku.lotro.cards.set13.men;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractMinion;
|
||||
import com.gempukku.lotro.cards.modifiers.CantTakeWoundsModifier;
|
||||
import com.gempukku.lotro.cards.modifiers.conditions.AndCondition;
|
||||
import com.gempukku.lotro.cards.modifiers.conditions.CanSpotCultureTokensCondition;
|
||||
import com.gempukku.lotro.cards.modifiers.conditions.NotCondition;
|
||||
import com.gempukku.lotro.cards.modifiers.conditions.PhaseCondition;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
* Side: Shadow
|
||||
* Culture: Men
|
||||
* Twilight Cost: 3
|
||||
* Type: Minion • Man
|
||||
* Strength: 8
|
||||
* Vitality: 1
|
||||
* Site: 4
|
||||
* Game Text: Archer. While you can spot 4 or more culture tokens, this minion cannot take wounds except during
|
||||
* skirmishes.
|
||||
*/
|
||||
public class Card13_098 extends AbstractMinion {
|
||||
public Card13_098() {
|
||||
super(3, 8, 1, 4, Race.MAN, Culture.MEN, "Southron Murderer");
|
||||
addKeyword(Keyword.ARCHER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Modifier getAlwaysOnModifier(PhysicalCard self) {
|
||||
return new CantTakeWoundsModifier(self,
|
||||
new AndCondition(
|
||||
new NotCondition(new PhaseCondition(Phase.SKIRMISH)),
|
||||
new CanSpotCultureTokensCondition(4)), self);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user