diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/AllyMayNotParticipateInArcheryFireAndSkirmishesModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/AllyMayNotParticipateInArcheryFireAndSkirmishesModifier.java index 699f4dd1a..a1dbbe62b 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/AllyMayNotParticipateInArcheryFireAndSkirmishesModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/AllyMayNotParticipateInArcheryFireAndSkirmishesModifier.java @@ -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 diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CancelKeywordBonusTargetModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CancelKeywordBonusTargetModifier.java index 929829ea9..c28788d53 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CancelKeywordBonusTargetModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CancelKeywordBonusTargetModifier.java @@ -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; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CancelStrengthBonusTargetModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CancelStrengthBonusTargetModifier.java index 1ca5e408b..778fea8a2 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CancelStrengthBonusTargetModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CancelStrengthBonusTargetModifier.java @@ -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; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantAddBurdensModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantAddBurdensModifier.java index 1210f5024..2d2316b2f 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantAddBurdensModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantAddBurdensModifier.java @@ -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; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantBeAssignedAgainstModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantBeAssignedAgainstModifier.java index 91c38e04e..cfa4a640a 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantBeAssignedAgainstModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantBeAssignedAgainstModifier.java @@ -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 diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantDiscardCardsFromHandOrTopOfDeckModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantDiscardCardsFromHandOrTopOfDeckModifier.java index 38cd26a6f..373644fb1 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantDiscardCardsFromHandOrTopOfDeckModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantDiscardCardsFromHandOrTopOfDeckModifier.java @@ -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; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantExertWithCardModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantExertWithCardModifier.java index e50ff2a13..16fffcf4d 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantExertWithCardModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantExertWithCardModifier.java @@ -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; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantRemoveBurdensModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantRemoveBurdensModifier.java index ec24dc1b0..b9e9ebbb9 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantRemoveBurdensModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantRemoveBurdensModifier.java @@ -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; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantRemoveThreatsModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantRemoveThreatsModifier.java index 1f82a7a9e..28f4a703d 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantRemoveThreatsModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantRemoveThreatsModifier.java @@ -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; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantTakeWoundsFromLosingSkirmishModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantTakeWoundsFromLosingSkirmishModifier.java index 3870ca48b..41a823cb0 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantTakeWoundsFromLosingSkirmishModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantTakeWoundsFromLosingSkirmishModifier.java @@ -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 diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantWoundWithCardModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantWoundWithCardModifier.java index 6c9baedd9..2a3ed3f5c 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantWoundWithCardModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantWoundWithCardModifier.java @@ -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 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; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUseCardPhaseSpecialAbilitiesModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUseCardPhaseSpecialAbilitiesModifier.java index b9b1cce42..6325394fb 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUseCardPhaseSpecialAbilitiesModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUseCardPhaseSpecialAbilitiesModifier.java @@ -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; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUseCardSpecialAbilitiesModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUseCardSpecialAbilitiesModifier.java index a30afcf86..faa7c1457 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUseCardSpecialAbilitiesModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUseCardSpecialAbilitiesModifier.java @@ -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; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/RemoveSpecialAbilitiesModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/RemoveSpecialAbilitiesModifier.java index 363fbe2db..5963d582b 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/RemoveSpecialAbilitiesModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/RemoveSpecialAbilitiesModifier.java @@ -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; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/UnhastyCompanionParticipatesInSkirmishedModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/UnhastyCompanionParticipatesInSkirmishedModifier.java index 9b049dbe0..a0d69ccf8 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/UnhastyCompanionParticipatesInSkirmishedModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/UnhastyCompanionParticipatesInSkirmishedModifier.java @@ -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 diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/CantDiscardFromPlayModifier.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/CantDiscardFromPlayModifier.java index 559271c62..678a7a158 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/CantDiscardFromPlayModifier.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/CantDiscardFromPlayModifier.java @@ -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; } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/CantPlayCardsModifier.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/CantPlayCardsModifier.java index 8de0b8822..9fad9d59b 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/CantPlayCardsModifier.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/CantPlayCardsModifier.java @@ -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; }