"Southron Murderer"

This commit is contained in:
marcins78@gmail.com
2012-01-10 16:05:49 +00:00
parent c8ffe50c99
commit 5bd4b44449
3 changed files with 80 additions and 23 deletions

View File

@@ -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;
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}