Preparing for spot modification cards for Ents.
This commit is contained in:
@@ -25,6 +25,7 @@ public abstract class ForEachYouSpotDecision extends IntegerAwaitingDecision {
|
||||
public Map<String, Object> getDecisionParameters() {
|
||||
Map<String, Object> result = super.getDecisionParameters();
|
||||
int count = Filters.countSpottable(_lotroGame.getGameState(), _lotroGame.getModifiersQuerying(), _filter);
|
||||
count += _lotroGame.getModifiersQuerying().getSpotBonus(_lotroGame.getGameState(), _filter);
|
||||
_max = count;
|
||||
result.put("max", String.valueOf(count));
|
||||
if (_defaultValue > _max)
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
package com.gempukku.lotro.cards.modifiers;
|
||||
|
||||
import com.gempukku.lotro.cards.modifiers.spotting.SimpleLotroCardBlueprint;
|
||||
import com.gempukku.lotro.cards.modifiers.spotting.SimplePhysicalCard;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
import com.gempukku.lotro.logic.modifiers.AbstractModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifierEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
|
||||
public class KeywordSpotModifier extends AbstractModifier {
|
||||
private Keyword _keyword;
|
||||
|
||||
public KeywordSpotModifier(PhysicalCard source, Keyword keyword) {
|
||||
super(source, "Spotting modifier", null, ModifierEffect.SPOT_MODIFIER);
|
||||
_keyword = keyword;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSpotCountModifier(GameState gameState, ModifiersQuerying modifiersQuerying, Filter filter) {
|
||||
if (filter.accepts(gameState, modifiersQuerying,
|
||||
new SimplePhysicalCard(
|
||||
new SimpleLotroCardBlueprint() {
|
||||
@Override
|
||||
public boolean hasKeyword(Keyword keyword) {
|
||||
return keyword == _keyword;
|
||||
}
|
||||
})))
|
||||
return +1;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,7 @@
|
||||
package com.gempukku.lotro.cards.modifiers;
|
||||
|
||||
import com.gempukku.lotro.cards.modifiers.spotting.SimpleLotroCardBlueprint;
|
||||
import com.gempukku.lotro.cards.modifiers.spotting.SimplePhysicalCard;
|
||||
import com.gempukku.lotro.common.Filterable;
|
||||
import com.gempukku.lotro.common.PossessionClass;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
import com.gempukku.lotro.logic.modifiers.AbstractModifier;
|
||||
@@ -18,16 +16,10 @@ public class PossessionClassSpotModifier extends AbstractModifier {
|
||||
_possessionClass = possessionClass;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int getSpotCountModifier(GameState gameState, ModifiersQuerying modifiersQuerying, Filter filter) {
|
||||
if (filter.accepts(gameState, modifiersQuerying,
|
||||
new SimplePhysicalCard(
|
||||
new SimpleLotroCardBlueprint() {
|
||||
@Override
|
||||
public PossessionClass getPossessionClass() {
|
||||
return _possessionClass;
|
||||
}
|
||||
})))
|
||||
public int getSpotCountModifier(GameState gameState, ModifiersQuerying modifiersQuerying, Filterable filter) {
|
||||
if (filter == _possessionClass)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -3,9 +3,12 @@ package com.gempukku.lotro.cards.set15.gandalf;
|
||||
import com.gempukku.lotro.cards.AbstractCompanion;
|
||||
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.game.state.GameState;
|
||||
import com.gempukku.lotro.logic.modifiers.Condition;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.SpotCondition;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
|
||||
/**
|
||||
@@ -26,6 +29,13 @@ public class Card15_028 extends AbstractCompanion {
|
||||
|
||||
@Override
|
||||
public Modifier getAlwaysOnModifier(PhysicalCard self) {
|
||||
return new StrengthModifier(self, self, new SpotCondition(3, Race.ENT), 2);
|
||||
return new StrengthModifier(self, self,
|
||||
new Condition() {
|
||||
@Override
|
||||
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
|
||||
return Filters.countActive(gameState, modifiersQuerying, Race.ENT)
|
||||
+ modifiersQuerying.getSpotBonus(gameState, Race.ENT) >= 3;
|
||||
}
|
||||
}, 2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,9 +6,9 @@ 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.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
import com.gempukku.lotro.logic.modifiers.SpotCondition;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
|
||||
/**
|
||||
@@ -29,11 +29,19 @@ public class Card15_030 extends AbstractCompanion {
|
||||
|
||||
@Override
|
||||
public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) {
|
||||
return -Filters.countSpottable(gameState, modifiersQuerying, Race.ENT);
|
||||
return -Filters.countActive(gameState, modifiersQuerying, Race.ENT)
|
||||
- modifiersQuerying.getSpotBonus(gameState, Race.ENT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Modifier getAlwaysOnModifier(PhysicalCard self) {
|
||||
return new StrengthModifier(self, self, new SpotCondition(4, Filters.not(self), Race.ENT), 4);
|
||||
public Modifier getAlwaysOnModifier(final PhysicalCard self) {
|
||||
return new StrengthModifier(self, self,
|
||||
new Condition() {
|
||||
@Override
|
||||
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
|
||||
return Filters.countActive(gameState, modifiersQuerying, Filters.not(self), Race.ENT)
|
||||
+ modifiersQuerying.getSpotBonus(gameState, Race.ENT) >= 4;
|
||||
}
|
||||
}, 4);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package com.gempukku.lotro.cards.set15.gandalf;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractEvent;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.cards.effects.ChoiceEffect;
|
||||
import com.gempukku.lotro.cards.effects.ShuffleDeckEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndPutCardFromDeckIntoHandEffect;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
@@ -31,23 +31,21 @@ public class Card15_032 extends AbstractEvent {
|
||||
@Override
|
||||
public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int withTwilightRemoved, int twilightModifier, boolean ignoreRoamingPenalty, boolean ignoreCheckingDeadPile) {
|
||||
return super.checkPlayRequirements(playerId, game, self, withTwilightRemoved, twilightModifier, ignoreRoamingPenalty, ignoreCheckingDeadPile)
|
||||
&& PlayConditions.canSpot(game, Race.ENT);
|
||||
&& (Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Race.ENT) + game.getModifiersQuerying().getSpotBonus(game.getGameState(), Race.ENT)) > 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayCardAction(final String playerId, LotroGame game, PhysicalCard self, int twilightModifier, boolean ignoreRoamingPenalty) {
|
||||
final PlayEventAction action = new PlayEventAction(self);
|
||||
List<Effect> possibleEffects = new LinkedList<Effect>();
|
||||
if (PlayConditions.canSpot(game, Race.ENT)) {
|
||||
possibleEffects.add(
|
||||
new ChooseAndPutCardFromDeckIntoHandEffect(action, playerId, 1, 1, Culture.GANDALF, CardType.COMPANION) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Take a GANDALF companion into hand from your draw deck";
|
||||
}
|
||||
});
|
||||
}
|
||||
if (PlayConditions.canSpot(game, 2, Race.ENT)) {
|
||||
possibleEffects.add(
|
||||
new ChooseAndPutCardFromDeckIntoHandEffect(action, playerId, 1, 1, Culture.GANDALF, CardType.COMPANION) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Take a GANDALF companion into hand from your draw deck";
|
||||
}
|
||||
});
|
||||
if ((Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Race.ENT) + game.getModifiersQuerying().getSpotBonus(game.getGameState(), Race.ENT)) >= 2) {
|
||||
possibleEffects.add(
|
||||
new ChooseAndPutCardFromDeckIntoHandEffect(action, playerId, 1, 1, Culture.GANDALF, CardType.COMPANION) {
|
||||
@Override
|
||||
|
||||
@@ -35,7 +35,8 @@ public class Card15_034 extends AbstractCompanion {
|
||||
|
||||
@Override
|
||||
public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) {
|
||||
return -Filters.countSpottable(gameState, modifiersQuerying, Race.ENT);
|
||||
return -Filters.countSpottable(gameState, modifiersQuerying, Race.ENT)
|
||||
- modifiersQuerying.getSpotBonus(gameState, Race.ENT);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -10,10 +10,12 @@ import com.gempukku.lotro.common.Phase;
|
||||
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.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.modifiers.Condition;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.SpotCondition;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.timing.UnrespondableEffect;
|
||||
|
||||
@@ -39,7 +41,14 @@ public class Card15_036 extends AbstractCompanion {
|
||||
|
||||
@Override
|
||||
public Modifier getAlwaysOnModifier(PhysicalCard self) {
|
||||
return new StrengthModifier(self, self, new SpotCondition(4, Race.ENT), 3);
|
||||
return new StrengthModifier(self, self,
|
||||
new Condition() {
|
||||
@Override
|
||||
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
|
||||
return Filters.countActive(gameState, modifiersQuerying, Race.ENT)
|
||||
+ modifiersQuerying.getSpotBonus(gameState, Race.ENT) >= 4;
|
||||
}
|
||||
}, 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -6,10 +6,13 @@ import com.gempukku.lotro.cards.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||
import com.gempukku.lotro.cards.modifiers.evaluator.ConditionEvaluator;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
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.effects.ChooseAndDiscardCardsFromHandEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.SpotCondition;
|
||||
import com.gempukku.lotro.logic.modifiers.Condition;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
|
||||
/**
|
||||
* Set: Rise of Saruman
|
||||
@@ -37,7 +40,14 @@ public class Card17_025 extends AbstractEvent {
|
||||
new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 1, CardType.COMPANION));
|
||||
action.appendEffect(
|
||||
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId,
|
||||
new ConditionEvaluator(3, 4, new SpotCondition(3, Race.ENT)), Culture.GANDALF, CardType.COMPANION));
|
||||
new ConditionEvaluator(3, 4,
|
||||
new Condition() {
|
||||
@Override
|
||||
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
|
||||
return Filters.countActive(gameState, modifiersQuerying, Race.ENT)
|
||||
+ modifiersQuerying.getSpotBonus(gameState, Race.ENT) >= 3;
|
||||
}
|
||||
}), Culture.GANDALF, CardType.COMPANION));
|
||||
return action;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,10 +3,13 @@ package com.gempukku.lotro.cards.set6.gandalf;
|
||||
import com.gempukku.lotro.cards.AbstractCompanion;
|
||||
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.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.SpotCondition;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -31,6 +34,13 @@ public class Card6_027 extends AbstractCompanion {
|
||||
@Override
|
||||
public List<? extends Modifier> getAlwaysOnModifiers(LotroGame game, PhysicalCard self) {
|
||||
return Collections.singletonList(
|
||||
new StrengthModifier(self, self, new SpotCondition(3, Race.ENT), 2));
|
||||
new StrengthModifier(self, self,
|
||||
new Condition() {
|
||||
@Override
|
||||
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
|
||||
return Filters.countActive(gameState, modifiersQuerying, Race.ENT)
|
||||
+ modifiersQuerying.getSpotBonus(gameState, Race.ENT) >= 3;
|
||||
}
|
||||
}, 2));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,7 +43,9 @@ public class Card6_028 extends AbstractCompanion {
|
||||
|
||||
@Override
|
||||
public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) {
|
||||
return -2 * Filters.countSpottable(gameState, modifiersQuerying, Filters.or(Race.ENT, Filters.and(Race.HOBBIT, Filters.unboundCompanion)));
|
||||
return -2 * (
|
||||
Filters.countActive(gameState, modifiersQuerying, Filters.or(Race.ENT, Filters.and(Race.HOBBIT, Filters.unboundCompanion)))
|
||||
+ modifiersQuerying.getSpotBonus(gameState, Race.ENT));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -36,6 +36,7 @@ public class Card6_032 extends AbstractCompanion {
|
||||
|
||||
@Override
|
||||
public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) {
|
||||
return -2 * Filters.countSpottable(gameState, modifiersQuerying, Filters.or(Race.ENT, Filters.and(Race.HOBBIT, Filters.unboundCompanion)));
|
||||
return -2 * (Filters.countSpottable(gameState, modifiersQuerying, Filters.or(Race.ENT, Filters.and(Race.HOBBIT, Filters.unboundCompanion)))
|
||||
+ modifiersQuerying.getSpotBonus(gameState, Race.ENT));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ public class Card6_033 extends AbstractCompanion {
|
||||
|
||||
@Override
|
||||
public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) {
|
||||
return -Filters.countSpottable(gameState, modifiersQuerying, Filters.or(Race.ENT, Filters.and(Race.HOBBIT, Filters.unboundCompanion)));
|
||||
return -Filters.countSpottable(gameState, modifiersQuerying, Filters.or(Race.ENT, Filters.and(Race.HOBBIT, Filters.unboundCompanion)))
|
||||
- modifiersQuerying.getSpotBonus(gameState, Race.ENT);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +40,8 @@ public class Card6_034 extends AbstractEvent {
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.ENT) {
|
||||
@Override
|
||||
protected void forEachCardExertedCallback(PhysicalCard character) {
|
||||
int bonus = Math.min(4, Filters.countSpottable(game.getGameState(), game.getModifiersQuerying(), Race.ENT));
|
||||
int bonus = Math.min(4, Filters.countSpottable(game.getGameState(), game.getModifiersQuerying(), Race.ENT)
|
||||
+ game.getModifiersQuerying().getSpotBonus(game.getGameState(), Race.ENT));
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new StrengthModifier(self, character, bonus), Phase.SKIRMISH));
|
||||
|
||||
@@ -40,7 +40,8 @@ public class Card6_035 extends AbstractCompanion {
|
||||
|
||||
@Override
|
||||
public int getTwilightCostModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) {
|
||||
return -Filters.countSpottable(gameState, modifiersQuerying, Filters.or(Race.ENT, Filters.and(Race.HOBBIT, Filters.unboundCompanion)));
|
||||
return -Filters.countSpottable(gameState, modifiersQuerying, Filters.or(Race.ENT, Filters.and(Race.HOBBIT, Filters.unboundCompanion)))
|
||||
- modifiersQuerying.getSpotBonus(gameState, Race.ENT);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -36,7 +36,7 @@ public class Card9_024 extends AbstractAttachable {
|
||||
@Override
|
||||
public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, Filter additionalAttachmentFilter, int twilightModifier) {
|
||||
return super.checkPlayRequirements(playerId, game, self, additionalAttachmentFilter, twilightModifier)
|
||||
&& PlayConditions.canSpot(game, Race.ENT);
|
||||
&& (Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Race.ENT) + game.getModifiersQuerying().getSpotBonus(game.getGameState(), Race.ENT)) >= 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -5,16 +5,19 @@ import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.effects.PreventCardEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.cards.modifiers.evaluator.CountSpottableEvaluator;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
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.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.effects.WoundCharactersEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.evaluator.Evaluator;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -41,7 +44,13 @@ public class Card9_025 extends AbstractCompanion {
|
||||
@Override
|
||||
public List<? extends Modifier> getAlwaysOnModifiers(LotroGame game, PhysicalCard self) {
|
||||
return Collections.singletonList(
|
||||
new StrengthModifier(self, self, null, new CountSpottableEvaluator(Race.ENT)));
|
||||
new StrengthModifier(self, self, null,
|
||||
new Evaluator() {
|
||||
@Override
|
||||
public int evaluateExpression(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard cardAffected) {
|
||||
return Filters.countActive(gameState, modifiersQuerying, Race.ENT) + modifiersQuerying.getSpotBonus(gameState, Race.ENT);
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -71,10 +71,7 @@ public class Filters {
|
||||
}
|
||||
|
||||
public static int countSpottable(GameState gameState, ModifiersQuerying modifiersQuerying, Filterable... filters) {
|
||||
Filter filter = Filters.and(filters);
|
||||
GetCardsMatchingFilterVisitor visitor = new GetCardsMatchingFilterVisitor(gameState, modifiersQuerying, filter);
|
||||
gameState.iterateActiveCards(visitor);
|
||||
return modifiersQuerying.getSpotCount(gameState, filter, visitor.getCounter());
|
||||
return countActive(gameState, modifiersQuerying, filters);
|
||||
}
|
||||
|
||||
public static Collection<PhysicalCard> filterActive(GameState gameState, ModifiersQuerying modifiersQuerying, Filterable... filters) {
|
||||
|
||||
@@ -298,7 +298,7 @@ public abstract class AbstractModifier implements Modifier {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSpotCountModifier(GameState gameState, ModifiersQuerying modifiersQuerying, Filter filter) {
|
||||
public int getSpotCountModifier(GameState gameState, ModifiersQuerying modifiersQuerying, Filterable filter) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.gempukku.lotro.logic.modifiers;
|
||||
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
@@ -119,7 +118,7 @@ public interface Modifier {
|
||||
|
||||
public boolean canDiscardCardsFromTopOfDeck(GameState gameState, ModifiersQuerying modifiersQuerying, String playerId, PhysicalCard source);
|
||||
|
||||
public int getSpotCountModifier(GameState gameState, ModifiersQuerying modifiersQuerying, Filter filter);
|
||||
public int getSpotCountModifier(GameState gameState, ModifiersQuerying modifiersQuerying, Filterable filter);
|
||||
|
||||
public boolean hasFlagActive(GameState gameState, ModifiersQuerying modifiersQuerying, ModifierFlag modifierFlag);
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.gempukku.lotro.logic.modifiers;
|
||||
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
@@ -866,8 +865,8 @@ public class ModifiersLogic implements ModifiersEnvironment, ModifiersQuerying {
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSpotCount(GameState gameState, Filter filter, int inPlayCount) {
|
||||
int result = inPlayCount;
|
||||
public int getSpotBonus(GameState gameState, Filterable filter) {
|
||||
int result = 0;
|
||||
for (Modifier modifier : getModifiers(gameState, ModifierEffect.SPOT_MODIFIER))
|
||||
result += modifier.getSpotCountModifier(gameState, this, filter);
|
||||
return Math.max(0, result);
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.gempukku.lotro.logic.modifiers;
|
||||
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.GameState;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
@@ -119,7 +118,7 @@ public interface ModifiersQuerying {
|
||||
|
||||
public Side hasInitiative(GameState gameState);
|
||||
|
||||
public int getSpotCount(GameState gameState, Filter filter, int inPlayCount);
|
||||
public int getSpotBonus(GameState gameState, Filterable filter);
|
||||
|
||||
public boolean hasFlagActive(GameState gameState, ModifierFlag modifierFlag);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user