Ensure modifiers snapshot single cards if passed to them, to ensure they only apply to this incarnation of the card, and not if it is replayed (changing zones).

This commit is contained in:
marcins78
2013-02-14 17:07:11 +00:00
parent e045db6d6d
commit c0816a5a68
17 changed files with 62 additions and 56 deletions

View File

@@ -10,11 +10,8 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect;
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
public class AllyMayNotParticipateInArcheryFireAndSkirmishesModifier extends AbstractModifier {
private PhysicalCard _source;
public AllyMayNotParticipateInArcheryFireAndSkirmishesModifier(PhysicalCard source, Condition condition, Filter affectFilter) {
super(source, "May not participate in archery fire and skirmishes", affectFilter, condition, ModifierEffect.PRESENCE_MODIFIER);
_source = source;
}
@Override

View File

@@ -2,6 +2,7 @@ package com.gempukku.lotro.cards.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.common.Keyword;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
@@ -9,7 +10,7 @@ import com.gempukku.lotro.logic.modifiers.*;
public class CancelKeywordBonusTargetModifier extends AbstractModifier implements KeywordAffectingModifier {
private Keyword _keyword;
private Filterable _sourceFilter;
private Filter _sourceFilter;
public CancelKeywordBonusTargetModifier(PhysicalCard source, Keyword keyword, Filterable affectFilter, Filterable sourceFilter) {
this(source, keyword, null, affectFilter, sourceFilter);
@@ -18,13 +19,13 @@ public class CancelKeywordBonusTargetModifier extends AbstractModifier implement
public CancelKeywordBonusTargetModifier(PhysicalCard source, Keyword keyword, Condition condition, Filterable affectFilter, Filterable sourceFilter) {
super(source, "Cancel " + keyword.getHumanReadable() + " keyword", affectFilter, condition, ModifierEffect.CANCEL_KEYWORD_BONUS_TARGET_MODIFIER);
_keyword = keyword;
_sourceFilter = sourceFilter;
_sourceFilter = Filters.and(sourceFilter);
}
@Override
public boolean appliesKeywordModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard modifierSource, Keyword keyword) {
if (keyword == _keyword
&& (_sourceFilter == null || (modifierSource != null && Filters.and(_sourceFilter).accepts(gameState, modifiersQuerying, modifierSource))))
&& (_sourceFilter == null || (modifierSource != null && _sourceFilter.accepts(gameState, modifiersQuerying, modifierSource))))
return false;
return true;
}

View File

@@ -1,6 +1,7 @@
package com.gempukku.lotro.cards.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
@@ -10,21 +11,20 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect;
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
public class CancelStrengthBonusTargetModifier extends AbstractModifier {
private Filterable _sourceFilter;
private Filter _sourceFilter;
public CancelStrengthBonusTargetModifier(PhysicalCard source, Filterable affectFilter, Filterable sourceFilter) {
super(source, "Has some strength bonuses cancelled", affectFilter, ModifierEffect.STRENGTH_BONUS_TARGET_MODIFIER);
_sourceFilter = sourceFilter;
this(source, null, affectFilter, sourceFilter);
}
public CancelStrengthBonusTargetModifier(PhysicalCard source, Condition condition, Filterable affectFilter, Filterable sourceFilter) {
super(source, "Has some strength bonuses cancelled", affectFilter, condition, ModifierEffect.STRENGTH_BONUS_TARGET_MODIFIER);
_sourceFilter = sourceFilter;
_sourceFilter = Filters.and(sourceFilter);
}
@Override
public boolean appliesStrengthBonusModifier(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard modifierSource, PhysicalCard modifierTaget) {
if (_sourceFilter == null || (modifierSource != null && Filters.and(_sourceFilter).accepts(gameState, modifiersQuerying, modifierSource)))
if (_sourceFilter == null || (modifierSource != null && _sourceFilter.accepts(gameState, modifiersQuerying, modifierSource)))
return false;
return true;
}

View File

@@ -1,6 +1,7 @@
package com.gempukku.lotro.cards.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
@@ -10,16 +11,16 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect;
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
public class CantAddBurdensModifier extends AbstractModifier {
private Filterable[] _sourceFilters;
private Filter _sourceFilters;
public CantAddBurdensModifier(PhysicalCard source, Condition condition, Filterable... sourceFilters) {
super(source, "Can't add burdens", null, condition, ModifierEffect.BURDEN_MODIFIER);
_sourceFilters = sourceFilters;
_sourceFilters = Filters.and(sourceFilters);
}
@Override
public boolean canAddBurden(GameState gameState, ModifiersQuerying modifiersQuerying, String performingPlayer, PhysicalCard source) {
if (Filters.and(_sourceFilters).accepts(gameState, modifiersQuerying, source))
if (_sourceFilters.accepts(gameState, modifiersQuerying, source))
return false;
return true;
}

View File

@@ -2,6 +2,7 @@ package com.gempukku.lotro.cards.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.common.Side;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
@@ -14,18 +15,18 @@ import java.util.Set;
public class CantBeAssignedAgainstModifier extends AbstractModifier {
private Side _side;
private Filterable _minionFilter;
private Filter _minionFilter;
public CantBeAssignedAgainstModifier(PhysicalCard source, Side side, Filterable characterFilter, Filterable minionFilter) {
super(source, "Is affected by assignment restriction", characterFilter, ModifierEffect.ASSIGNMENT_MODIFIER);
_side = side;
_minionFilter = minionFilter;
_minionFilter = Filters.and(minionFilter);
}
public CantBeAssignedAgainstModifier(PhysicalCard source, Side side, Filterable characterFilter, Condition condition, Filterable minionFilter) {
super(source, "Is affected by assignment restriction", characterFilter, condition, ModifierEffect.ASSIGNMENT_MODIFIER);
_side = side;
_minionFilter = minionFilter;
_minionFilter = Filters.and(minionFilter);
}
@Override

View File

@@ -1,6 +1,7 @@
package com.gempukku.lotro.cards.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
@@ -10,19 +11,19 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect;
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
public class CantDiscardCardsFromHandOrTopOfDeckModifier extends AbstractModifier {
private Filterable[] _discardSourceAffected;
private Filter _discardSourceAffected;
private String _playerId;
public CantDiscardCardsFromHandOrTopOfDeckModifier(PhysicalCard source, Condition condition, String playerId, Filterable... discardSourceAffected) {
super(source, null, null, condition, ModifierEffect.DISCARD_NOT_FROM_PLAY);
_playerId = playerId;
_discardSourceAffected = discardSourceAffected;
_discardSourceAffected = Filters.and(discardSourceAffected);
}
@Override
public boolean canDiscardCardsFromHand(GameState gameState, ModifiersQuerying modifiersQuerying, String playerId, PhysicalCard source) {
if (playerId.equals(_playerId))
if (source == null || Filters.and(_discardSourceAffected).accepts(gameState, modifiersQuerying, source))
if (source == null || _discardSourceAffected.accepts(gameState, modifiersQuerying, source))
return false;
return true;
}
@@ -30,7 +31,7 @@ public class CantDiscardCardsFromHandOrTopOfDeckModifier extends AbstractModifie
@Override
public boolean canDiscardCardsFromTopOfDeck(GameState gameState, ModifiersQuerying modifiersQuerying, String playerId, PhysicalCard source) {
if (playerId.equals(_playerId))
if (source == null || Filters.and(_discardSourceAffected).accepts(gameState, modifiersQuerying, source))
if (source == null || _discardSourceAffected.accepts(gameState, modifiersQuerying, source))
return false;
return true;
}

View File

@@ -1,6 +1,7 @@
package com.gempukku.lotro.cards.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
@@ -10,7 +11,7 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect;
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
public class CantExertWithCardModifier extends AbstractModifier {
private Filterable _preventExertWithFilter;
private Filter _preventExertWithFilter;
public CantExertWithCardModifier(PhysicalCard source, Filterable affectFilter, Filterable preventExertWithFilter) {
this(source, affectFilter, null, preventExertWithFilter);
@@ -18,12 +19,12 @@ public class CantExertWithCardModifier extends AbstractModifier {
public CantExertWithCardModifier(PhysicalCard source, Filterable affectFilter, Condition condition, Filterable preventExertWithFilter) {
super(source, "Affected by exertion preventing effect", affectFilter, condition, ModifierEffect.WOUND_MODIFIER);
_preventExertWithFilter = preventExertWithFilter;
_preventExertWithFilter = Filters.and(preventExertWithFilter);
}
@Override
public boolean canBeExerted(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard source, PhysicalCard card) {
if (Filters.and(_preventExertWithFilter).accepts(gameState, modifiersQuerying, source))
if (_preventExertWithFilter.accepts(gameState, modifiersQuerying, source))
return false;
return true;
}

View File

@@ -1,6 +1,7 @@
package com.gempukku.lotro.cards.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
@@ -10,16 +11,16 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect;
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
public class CantRemoveBurdensModifier extends AbstractModifier {
private Filterable[] _sourceFilters;
private Filter _sourceFilters;
public CantRemoveBurdensModifier(PhysicalCard source, Condition condition, Filterable... sourceFilters) {
super(source, "Can't remove burdens", null, condition, ModifierEffect.BURDEN_MODIFIER);
_sourceFilters = sourceFilters;
_sourceFilters = Filters.and(sourceFilters);
}
@Override
public boolean canRemoveBurden(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard source) {
if (Filters.and(_sourceFilters).accepts(gameState, modifiersQuerying, source))
if (_sourceFilters.accepts(gameState, modifiersQuerying, source))
return false;
return true;
}

View File

@@ -1,6 +1,7 @@
package com.gempukku.lotro.cards.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
@@ -10,16 +11,16 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect;
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
public class CantRemoveThreatsModifier extends AbstractModifier {
private Filterable[] _sourceFilters;
private Filter _sourceFilters;
public CantRemoveThreatsModifier(PhysicalCard source, Condition condition, Filterable... sourceFilters) {
super(source, "Can't remove threats", null, condition, ModifierEffect.THREAT_MODIFIER);
_sourceFilters = sourceFilters;
_sourceFilters = Filters.and(sourceFilters);
}
@Override
public boolean canRemoveThreat(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard source) {
if (Filters.and(_sourceFilters).accepts(gameState, modifiersQuerying, source))
if (_sourceFilters.accepts(gameState, modifiersQuerying, source))
return false;
return true;
}

View File

@@ -1,6 +1,7 @@
package com.gempukku.lotro.cards.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
@@ -11,11 +12,11 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
import java.util.Set;
public class CantTakeWoundsFromLosingSkirmishModifier extends AbstractModifier {
private Filterable _winnersFilter;
private Filter _winnersFilter;
public CantTakeWoundsFromLosingSkirmishModifier(PhysicalCard source, Filterable affectFilter, Filterable winnersFilter) {
super(source, "Can't take wounds", affectFilter, ModifierEffect.WOUND_MODIFIER);
_winnersFilter = winnersFilter;
_winnersFilter = Filters.and(winnersFilter);
}
@Override

View File

@@ -1,6 +1,7 @@
package com.gempukku.lotro.cards.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
@@ -12,7 +13,7 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
import java.util.Collection;
public class CantWoundWithCardModifier extends AbstractModifier {
private Filterable _preventWoundWithFilter;
private Filter _preventWoundWithFilter;
public CantWoundWithCardModifier(PhysicalCard source, Filterable affectFilter, Filterable preventWoundWithFilter) {
this(source, affectFilter, null, preventWoundWithFilter);
@@ -20,13 +21,13 @@ public class CantWoundWithCardModifier extends AbstractModifier {
public CantWoundWithCardModifier(PhysicalCard source, Filterable affectFilter, Condition condition, Filterable preventWoundWithFilter) {
super(source, "Affected by wound preventing effect", affectFilter, condition, ModifierEffect.WOUND_MODIFIER);
_preventWoundWithFilter = preventWoundWithFilter;
_preventWoundWithFilter = Filters.and(preventWoundWithFilter);
}
@Override
public boolean canTakeWounds(GameState gameState, ModifiersQuerying modifiersQuerying, Collection<PhysicalCard> woundSources, PhysicalCard physicalCard, int woundsAlreadyTaken, int woundsToTake) {
for (PhysicalCard woundSource : woundSources) {
if (Filters.and(_preventWoundWithFilter).accepts(gameState, modifiersQuerying, woundSource))
if (_preventWoundWithFilter.accepts(gameState, modifiersQuerying, woundSource))
return false;
}

View File

@@ -2,6 +2,7 @@ package com.gempukku.lotro.cards.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
@@ -14,7 +15,7 @@ import com.gempukku.lotro.logic.timing.Action;
public class PlayersCantUseCardPhaseSpecialAbilitiesModifier extends AbstractModifier {
private Phase _phase;
private Filterable[] _sourceFilters;
private Filter _sourceFilters;
public PlayersCantUseCardPhaseSpecialAbilitiesModifier(PhysicalCard source, Phase phase, Filterable... sourceFilters) {
this(source, null, phase, sourceFilters);
@@ -23,14 +24,14 @@ public class PlayersCantUseCardPhaseSpecialAbilitiesModifier extends AbstractMod
public PlayersCantUseCardPhaseSpecialAbilitiesModifier(PhysicalCard source, Condition condition, Phase phase, Filterable... sourceFilters) {
super(source, null, null, condition, ModifierEffect.ACTION_MODIFIER);
_phase = phase;
_sourceFilters = sourceFilters;
_sourceFilters = Filters.and(sourceFilters);
}
@Override
public boolean canPlayAction(GameState gameState, ModifiersQuerying modifiersQuerying, String performingPlayer, Action action) {
if (action.getType() == Action.Type.SPECIAL_ABILITY
&& action.getActionTimeword() == _phase
&& Filters.and(_sourceFilters).accepts(gameState, modifiersQuerying, action.getActionSource()))
&& _sourceFilters.accepts(gameState, modifiersQuerying, action.getActionSource()))
return false;
return true;
}

View File

@@ -1,6 +1,7 @@
package com.gempukku.lotro.cards.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
@@ -12,7 +13,7 @@ import com.gempukku.lotro.logic.timing.Action;
public class PlayersCantUseCardSpecialAbilitiesModifier extends AbstractModifier {
private Filterable[] _sourceFilters;
private Filter _sourceFilters;
public PlayersCantUseCardSpecialAbilitiesModifier(PhysicalCard source, Filterable... sourceFilters) {
this(source, null, sourceFilters);
@@ -20,13 +21,13 @@ public class PlayersCantUseCardSpecialAbilitiesModifier extends AbstractModifier
public PlayersCantUseCardSpecialAbilitiesModifier(PhysicalCard source, Condition condition, Filterable... sourceFilters) {
super(source, null, null, condition, ModifierEffect.ACTION_MODIFIER);
_sourceFilters = sourceFilters;
_sourceFilters = Filters.and(sourceFilters);
}
@Override
public boolean canPlayAction(GameState gameState, ModifiersQuerying modifiersQuerying, String performingPlayer, Action action) {
if (action.getType() == Action.Type.SPECIAL_ABILITY
&& Filters.and(_sourceFilters).accepts(gameState, modifiersQuerying, action.getActionSource()))
&& _sourceFilters.accepts(gameState, modifiersQuerying, action.getActionSource()))
return false;
return true;
}

View File

@@ -1,7 +1,7 @@
package com.gempukku.lotro.cards.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
@@ -12,8 +12,7 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
import com.gempukku.lotro.logic.timing.Action;
public class RemoveSpecialAbilitiesModifier extends AbstractModifier {
private Phase _phase;
private Filterable _affectFilter;
private Filter _affectFilter;
public RemoveSpecialAbilitiesModifier(PhysicalCard source, Filterable affectFilter) {
this(source, null, affectFilter);
@@ -21,13 +20,13 @@ public class RemoveSpecialAbilitiesModifier extends AbstractModifier {
public RemoveSpecialAbilitiesModifier(PhysicalCard source, Condition condition, Filterable affectFilter) {
super(source, "Removed special abilities", affectFilter, condition, ModifierEffect.ACTION_MODIFIER);
_affectFilter = affectFilter;
_affectFilter = Filters.and(affectFilter);
}
@Override
public boolean canPlayAction(GameState gameState, ModifiersQuerying modifiersQuerying, String performingPlayer, Action action) {
if (action.getType() == Action.Type.SPECIAL_ABILITY
&& action.getActionSource() != null && Filters.and(_affectFilter).accepts(gameState, modifiersQuerying, action.getActionSource()))
&& action.getActionSource() != null && _affectFilter.accepts(gameState, modifiersQuerying, action.getActionSource()))
return false;
return true;
}

View File

@@ -8,11 +8,9 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect;
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
public class UnhastyCompanionParticipatesInSkirmishedModifier extends AbstractModifier {
private PhysicalCard _source;
public UnhastyCompanionParticipatesInSkirmishedModifier(PhysicalCard source, Filterable affectFilter) {
super(source, "Can participate in archery and skirmishes", affectFilter, ModifierEffect.PRESENCE_MODIFIER);
_source = source;
}
@Override

View File

@@ -1,26 +1,26 @@
package com.gempukku.lotro.logic.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
public class CantDiscardFromPlayModifier extends AbstractModifier {
private Filterable _sourceFilter;
private Filter _sourceFilter;
public CantDiscardFromPlayModifier(PhysicalCard source, String text, Filterable affectFilter, Filterable sourceFilter) {
super(source, text, affectFilter, ModifierEffect.DISCARD_FROM_PLAY_MODIFIER);
_sourceFilter = sourceFilter;
this(source, text, null, affectFilter, sourceFilter);
}
public CantDiscardFromPlayModifier(PhysicalCard source, String text, Condition condition, Filterable affectFilter, Filterable sourceFilter) {
super(source, text, affectFilter, condition, ModifierEffect.DISCARD_FROM_PLAY_MODIFIER);
_sourceFilter = sourceFilter;
_sourceFilter = Filters.and(sourceFilter);
}
@Override
public boolean canBeDiscardedFromPlay(GameState gameState, ModifiersQuerying modifiersQuerying, String performingPlayer, PhysicalCard card, PhysicalCard source) {
if (Filters.and(_sourceFilter).accepts(gameState, modifiersQuerying, source))
if (_sourceFilter.accepts(gameState, modifiersQuerying, source))
return false;
return true;
}

View File

@@ -1,13 +1,14 @@
package com.gempukku.lotro.logic.modifiers;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
import com.gempukku.lotro.logic.timing.Action;
public class CantPlayCardsModifier extends AbstractModifier {
private Filterable[] _filters;
private Filter _filters;
public CantPlayCardsModifier(PhysicalCard source, Filterable... filters) {
this(source, null, filters);
@@ -15,7 +16,7 @@ public class CantPlayCardsModifier extends AbstractModifier {
public CantPlayCardsModifier(PhysicalCard source, Condition condition, Filterable... filters) {
super(source, null, null, condition, ModifierEffect.ACTION_MODIFIER);
_filters = filters;
_filters = Filters.and(filters);
}
@Override
@@ -23,7 +24,7 @@ public class CantPlayCardsModifier extends AbstractModifier {
final PhysicalCard actionSource = action.getActionSource();
if (actionSource != null)
if (action.getType() == Action.Type.PLAY_CARD)
if (Filters.and(_filters).accepts(gameState, modifiersQuerying, actionSource))
if (_filters.accepts(gameState, modifiersQuerying, actionSource))
return false;
return true;
}