diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/ArcheryTotalModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/ArcheryTotalModifier.java index 51c1e1343..5d9b7a9e3 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/ArcheryTotalModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/ArcheryTotalModifier.java @@ -12,7 +12,6 @@ import com.gempukku.lotro.logic.modifiers.evaluator.Evaluator; public class ArcheryTotalModifier extends AbstractModifier { private Side _side; - private Condition _condition; private Evaluator _evaluator; public ArcheryTotalModifier(PhysicalCard source, Side side, int modifier) { @@ -24,9 +23,8 @@ public class ArcheryTotalModifier extends AbstractModifier { } public ArcheryTotalModifier(PhysicalCard source, Side side, Condition condition, Evaluator evaluator) { - super(source, null, null, ModifierEffect.ARCHERY_MODIFIER); + super(source, null, null, condition, ModifierEffect.ARCHERY_MODIFIER); _side = side; - _condition = condition; _evaluator = evaluator; } @@ -38,9 +36,6 @@ public class ArcheryTotalModifier extends AbstractModifier { @Override public int getArcheryTotalModifier(GameState gameState, ModifiersQuerying modifiersQuerying, Side side) { - if (side == _side && ((_condition == null) || (_condition.isFullfilled(gameState, modifiersQuerying)))) - return _evaluator.evaluateExpression(gameState, modifiersQuerying, null); - else - return 0; + return _evaluator.evaluateExpression(gameState, modifiersQuerying, null); } } 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 308421bc0..38cd26a6f 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 @@ -11,12 +11,10 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; public class CantDiscardCardsFromHandOrTopOfDeckModifier extends AbstractModifier { private Filterable[] _discardSourceAffected; - private Condition _condition; private String _playerId; public CantDiscardCardsFromHandOrTopOfDeckModifier(PhysicalCard source, Condition condition, String playerId, Filterable... discardSourceAffected) { - super(source, null, null, ModifierEffect.DISCARD_NOT_FROM_PLAY); - _condition = condition; + super(source, null, null, condition, ModifierEffect.DISCARD_NOT_FROM_PLAY); _playerId = playerId; _discardSourceAffected = discardSourceAffected; } @@ -24,18 +22,16 @@ public class CantDiscardCardsFromHandOrTopOfDeckModifier extends AbstractModifie @Override public boolean canDiscardCardsFromHand(GameState gameState, ModifiersQuerying modifiersQuerying, String playerId, PhysicalCard source) { if (playerId.equals(_playerId)) - if (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) - if (source == null || Filters.and(_discardSourceAffected).accepts(gameState, modifiersQuerying, source)) - return false; + if (source == null || Filters.and(_discardSourceAffected).accepts(gameState, modifiersQuerying, source)) + return false; return true; } @Override public boolean canDiscardCardsFromTopOfDeck(GameState gameState, ModifiersQuerying modifiersQuerying, String playerId, PhysicalCard source) { if (playerId.equals(_playerId)) - if (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) - if (source == null || Filters.and(_discardSourceAffected).accepts(gameState, modifiersQuerying, source)) - return false; + if (source == null || Filters.and(_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/CantPlayCardsModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantPlayCardsModifier.java index 9da610764..cac43fe09 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantPlayCardsModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/CantPlayCardsModifier.java @@ -11,7 +11,6 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; import com.gempukku.lotro.logic.timing.Action; public class CantPlayCardsModifier extends AbstractModifier { - private Condition _condition; private Filterable[] _filters; public CantPlayCardsModifier(PhysicalCard source, Filterable... filters) { @@ -19,8 +18,7 @@ public class CantPlayCardsModifier extends AbstractModifier { } public CantPlayCardsModifier(PhysicalCard source, Condition condition, Filterable... filters) { - super(source, null, null, null, ModifierEffect.ACTION_MODIFIER); - _condition = condition; + super(source, null, null, condition, ModifierEffect.ACTION_MODIFIER); _filters = filters; } @@ -29,9 +27,8 @@ public class CantPlayCardsModifier extends AbstractModifier { final PhysicalCard actionSource = action.getActionSource().getPhysicalCard(); if (actionSource != null) if (action.getType() == Action.Type.PLAY_CARD) - if (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) - if (Filters.and(_filters).accepts(gameState, modifiersQuerying, actionSource)) - return false; + if (Filters.and(_filters).accepts(gameState, modifiersQuerying, actionSource)) + 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 df18c11e2..ec24dc1b0 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 @@ -10,19 +10,16 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect; import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; public class CantRemoveBurdensModifier extends AbstractModifier { - private Condition _condition; private Filterable[] _sourceFilters; public CantRemoveBurdensModifier(PhysicalCard source, Condition condition, Filterable... sourceFilters) { super(source, "Can't remove burdens", null, condition, ModifierEffect.BURDEN_MODIFIER); - _condition = condition; _sourceFilters = sourceFilters; } @Override public boolean canRemoveBurden(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard source) { - if ((_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) - && Filters.and(_sourceFilters).accepts(gameState, modifiersQuerying, source)) + if (Filters.and(_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 75ed50cc2..7bd4825a5 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 @@ -10,19 +10,16 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect; import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; public class CantRemoveThreatsModifier extends AbstractModifier { - private Condition _condition; private Filterable[] _sourceFilters; public CantRemoveThreatsModifier(PhysicalCard source, Condition condition, Filterable... sourceFilters) { super(source, "Can't remove threats", null, condition, ModifierEffect.BURDEN_MODIFIER); - _condition = condition; _sourceFilters = sourceFilters; } @Override public boolean canRemoveThreat(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard source) { - if ((_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) - && Filters.and(_sourceFilters).accepts(gameState, modifiersQuerying, source)) + if (Filters.and(_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/FreePeoplePlayerMayNotAssignCharacterModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/FreePeoplePlayerMayNotAssignCharacterModifier.java index e7ccda803..fc2706c59 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/FreePeoplePlayerMayNotAssignCharacterModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/FreePeoplePlayerMayNotAssignCharacterModifier.java @@ -10,21 +10,17 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect; import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; public class FreePeoplePlayerMayNotAssignCharacterModifier extends AbstractModifier { - private Condition _condition; - public FreePeoplePlayerMayNotAssignCharacterModifier(PhysicalCard source, Filterable affectFilter) { this(source, null, affectFilter); } public FreePeoplePlayerMayNotAssignCharacterModifier(PhysicalCard source, Condition condition, Filterable affectFilter) { - super(source, "Free people player may not assign character to skirmish", affectFilter, null, ModifierEffect.ASSIGNMENT_MODIFIER); - _condition = condition; + super(source, "Free people player may not assign character to skirmish", affectFilter, condition, ModifierEffect.ASSIGNMENT_MODIFIER); } @Override public boolean canBeAssignedToSkirmish(GameState gameState, Side sidePlayer, ModifiersQuerying modifiersQuerying, PhysicalCard card) { - if (sidePlayer == Side.FREE_PEOPLE - && (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying))) + if (sidePlayer == Side.FREE_PEOPLE) return false; return true; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/HasInitiativeModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/HasInitiativeModifier.java index 53d1b75fc..580899e72 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/HasInitiativeModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/HasInitiativeModifier.java @@ -9,19 +9,15 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect; import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; public class HasInitiativeModifier extends AbstractModifier { - private Condition _condition; private Side _side; public HasInitiativeModifier(PhysicalCard source, Condition condition, Side side) { - super(source, side + " has initiative", null, ModifierEffect.INITIATIVE_MODIFIER); - _condition = condition; + super(source, side + " has initiative", null, condition, ModifierEffect.INITIATIVE_MODIFIER); _side = side; } @Override public Side hasInitiative(GameState gameState, ModifiersQuerying modifiersQuerying) { - if (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) - return _side; - return null; + return _side; } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/InitiativeHandSizeModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/InitiativeHandSizeModifier.java index 936beeae5..b90cc23fd 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/InitiativeHandSizeModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/InitiativeHandSizeModifier.java @@ -10,7 +10,6 @@ import com.gempukku.lotro.logic.modifiers.evaluator.ConstantEvaluator; import com.gempukku.lotro.logic.modifiers.evaluator.Evaluator; public class InitiativeHandSizeModifier extends AbstractModifier { - private Condition _condition; private Evaluator _evaluator; public InitiativeHandSizeModifier(PhysicalCard source, int modifier) { @@ -22,16 +21,12 @@ public class InitiativeHandSizeModifier extends AbstractModifier { } public InitiativeHandSizeModifier(PhysicalCard source, Condition condition, Evaluator evaluator) { - super(source, null, null, ModifierEffect.INITIATIVE_MODIFIER); - _condition = condition; + super(source, null, null, condition, ModifierEffect.INITIATIVE_MODIFIER); _evaluator = evaluator; } @Override public int getInitiativeHandSizeModifier(GameState gameState, ModifiersQuerying modifiersQuerying) { - if (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) - return _evaluator.evaluateExpression(gameState, modifiersQuerying, null); - else - return 0; + return _evaluator.evaluateExpression(gameState, modifiersQuerying, null); } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/MoveLimitModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/MoveLimitModifier.java index ebba0edc7..1caa37813 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/MoveLimitModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/MoveLimitModifier.java @@ -8,7 +8,6 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect; import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; public class MoveLimitModifier extends AbstractModifier { - private Condition _condition; private int _moveLimitModifier; public MoveLimitModifier(PhysicalCard source, int moveLimitModifier) { @@ -16,15 +15,12 @@ public class MoveLimitModifier extends AbstractModifier { } public MoveLimitModifier(PhysicalCard source, Condition condition, int moveLimitModifier) { - super(source, "Move limit " + ((moveLimitModifier < 0) ? moveLimitModifier : ("+" + moveLimitModifier)), null, ModifierEffect.MOVE_LIMIT_MODIFIER); - _condition = condition; + super(source, "Move limit " + ((moveLimitModifier < 0) ? moveLimitModifier : ("+" + moveLimitModifier)), null, condition, ModifierEffect.MOVE_LIMIT_MODIFIER); _moveLimitModifier = moveLimitModifier; } @Override public int getMoveLimitModifier(GameState gameState, ModifiersQuerying modifiersQuerying) { - if (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) - return _moveLimitModifier; - return 0; + return _moveLimitModifier; } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayerCantPlayPhaseEventsOrSpecialAbilitiesModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayerCantPlayPhaseEventsOrSpecialAbilitiesModifier.java index 08d5cf2c1..df60d1487 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayerCantPlayPhaseEventsOrSpecialAbilitiesModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayerCantPlayPhaseEventsOrSpecialAbilitiesModifier.java @@ -10,8 +10,6 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; import com.gempukku.lotro.logic.timing.Action; public class PlayerCantPlayPhaseEventsOrSpecialAbilitiesModifier extends AbstractModifier { - - private Condition _condition; private String _playerId; private Phase _phase; @@ -20,17 +18,15 @@ public class PlayerCantPlayPhaseEventsOrSpecialAbilitiesModifier extends Abstrac } public PlayerCantPlayPhaseEventsOrSpecialAbilitiesModifier(PhysicalCard source, Condition condition, String playerId, Phase phase) { - super(source, null, null, ModifierEffect.ACTION_MODIFIER); - _condition = condition; + super(source, null, null, condition, ModifierEffect.ACTION_MODIFIER); _playerId = playerId; _phase = phase; } @Override public boolean canPlayAction(GameState gameState, ModifiersQuerying modifiersQuerying, String performingPlayer, Action action) { - if (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) - if (performingPlayer.equals(_playerId) && action.getActionTimeword() == _phase) - return false; + if (performingPlayer.equals(_playerId) && action.getActionTimeword() == _phase) + return false; return true; } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayerCantUsePhaseSpecialAbilitiesModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayerCantUsePhaseSpecialAbilitiesModifier.java index daf3a505d..7cb4f7f25 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayerCantUsePhaseSpecialAbilitiesModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayerCantUsePhaseSpecialAbilitiesModifier.java @@ -10,8 +10,6 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; import com.gempukku.lotro.logic.timing.Action; public class PlayerCantUsePhaseSpecialAbilitiesModifier extends AbstractModifier { - - private Condition _condition; private String _playerId; private Phase _phase; @@ -20,17 +18,15 @@ public class PlayerCantUsePhaseSpecialAbilitiesModifier extends AbstractModifier } public PlayerCantUsePhaseSpecialAbilitiesModifier(PhysicalCard source, Condition condition, String playerId, Phase phase) { - super(source, null, null, ModifierEffect.ACTION_MODIFIER); - _condition = condition; + super(source, null, null, condition, ModifierEffect.ACTION_MODIFIER); _playerId = playerId; _phase = phase; } @Override public boolean canPlayAction(GameState gameState, ModifiersQuerying modifiersQuerying, String performingPlayer, Action action) { - if (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) - if (performingPlayer.equals(_playerId) && action.getActionTimeword() == _phase && action.getType() == Action.Type.SPECIAL_ABILITY) - return false; + if (performingPlayer.equals(_playerId) && action.getActionTimeword() == _phase && action.getType() == Action.Type.SPECIAL_ABILITY) + return false; return true; } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantPlayPhaseEventsOrSpecialAbilitiesModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantPlayPhaseEventsOrSpecialAbilitiesModifier.java index c8c509779..cfc6d76c6 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantPlayPhaseEventsOrSpecialAbilitiesModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantPlayPhaseEventsOrSpecialAbilitiesModifier.java @@ -10,7 +10,6 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; import com.gempukku.lotro.logic.timing.Action; public class PlayersCantPlayPhaseEventsOrSpecialAbilitiesModifier extends AbstractModifier { - private Condition _condition; private Phase _phase; public PlayersCantPlayPhaseEventsOrSpecialAbilitiesModifier(PhysicalCard source, Phase phase) { @@ -18,16 +17,14 @@ public class PlayersCantPlayPhaseEventsOrSpecialAbilitiesModifier extends Abstra } public PlayersCantPlayPhaseEventsOrSpecialAbilitiesModifier(PhysicalCard source, Condition condition, Phase phase) { - super(source, null, null, ModifierEffect.ACTION_MODIFIER); - _condition = condition; + super(source, null, null, condition, ModifierEffect.ACTION_MODIFIER); _phase = phase; } @Override public boolean canPlayAction(GameState gameState, ModifiersQuerying modifiersQuerying, String performingPlayer, Action action) { - if (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) - if (action.getActionTimeword() == _phase) - return false; + if (action.getActionTimeword() == _phase) + return false; return true; } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUsePhaseSpecialAbilitiesModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUsePhaseSpecialAbilitiesModifier.java index 99d468bcf..2cab43df2 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUsePhaseSpecialAbilitiesModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/PlayersCantUsePhaseSpecialAbilitiesModifier.java @@ -10,8 +10,6 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; import com.gempukku.lotro.logic.timing.Action; public class PlayersCantUsePhaseSpecialAbilitiesModifier extends AbstractModifier { - - private Condition _condition; private Phase _phase; public PlayersCantUsePhaseSpecialAbilitiesModifier(PhysicalCard source, Phase phase) { @@ -19,16 +17,14 @@ public class PlayersCantUsePhaseSpecialAbilitiesModifier extends AbstractModifie } public PlayersCantUsePhaseSpecialAbilitiesModifier(PhysicalCard source, Condition condition, Phase phase) { - super(source, null, null, ModifierEffect.ACTION_MODIFIER); - _condition = condition; + super(source, null, null, condition, ModifierEffect.ACTION_MODIFIER); _phase = phase; } @Override public boolean canPlayAction(GameState gameState, ModifiersQuerying modifiersQuerying, String performingPlayer, Action action) { - if (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) - if (action.getActionTimeword() == _phase && action.getType() == Action.Type.SPECIAL_ABILITY) - return false; + if (action.getActionTimeword() == _phase && action.getType() == Action.Type.SPECIAL_ABILITY) + return false; return true; } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/ShouldSkipPhaseModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/ShouldSkipPhaseModifier.java index 17fbb3723..1e9b57637 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/ShouldSkipPhaseModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/ShouldSkipPhaseModifier.java @@ -9,7 +9,6 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect; import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; public class ShouldSkipPhaseModifier extends AbstractModifier { - private Condition _condition; private Phase _phase; private String _playerId; @@ -22,15 +21,14 @@ public class ShouldSkipPhaseModifier extends AbstractModifier { } public ShouldSkipPhaseModifier(PhysicalCard source, String playerId, Condition condition, Phase phase) { - super(source, "Skip " + phase.toString() + " phase", null, ModifierEffect.ACTION_MODIFIER); + super(source, "Skip " + phase.toString() + " phase", null, condition, ModifierEffect.ACTION_MODIFIER); _playerId = playerId; - _condition = condition; _phase = phase; } @Override public boolean shouldSkipPhase(GameState gameState, ModifiersQuerying modifiersQuerying, Phase phase, String playerId) { - if (phase == _phase && (_playerId == null || _playerId.equals(playerId)) && (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying))) + if (phase == _phase && (_playerId == null || _playerId.equals(playerId))) return true; return false; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/SpecialFlagModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/SpecialFlagModifier.java index 0e1356b9a..f38921d9b 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/SpecialFlagModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/SpecialFlagModifier.java @@ -5,7 +5,6 @@ import com.gempukku.lotro.game.state.GameState; import com.gempukku.lotro.logic.modifiers.*; public class SpecialFlagModifier extends AbstractModifier { - private Condition _condition; private ModifierFlag _modifierFlag; public SpecialFlagModifier(PhysicalCard source, ModifierFlag modifierFlag) { @@ -13,15 +12,12 @@ public class SpecialFlagModifier extends AbstractModifier { } public SpecialFlagModifier(PhysicalCard source, Condition condition, ModifierFlag modifierFlag) { - super(source, "Special flag set", null, ModifierEffect.SPECIAL_FLAG_MODIFIER); - _condition = condition; + super(source, "Special flag set", null, condition, ModifierEffect.SPECIAL_FLAG_MODIFIER); _modifierFlag = modifierFlag; } @Override public boolean hasFlagActive(GameState gameState, ModifiersQuerying modifiersQuerying, ModifierFlag modifierFlag) { - if (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) - return modifierFlag == _modifierFlag; - return false; + return modifierFlag == _modifierFlag; } } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java index 973ded818..7fd854f78 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java @@ -31,6 +31,11 @@ public abstract class AbstractModifier implements Modifier { _effect = effect; } + @Override + public Condition getCondition() { + return _condition; + } + @Override public PhysicalCard getSource() { return _physicalCard; @@ -48,7 +53,7 @@ public abstract class AbstractModifier implements Modifier { @Override public boolean affectsCard(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) { - return (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) && (_affectFilter != null && _affectFilter.accepts(gameState, modifiersQuerying, physicalCard)); + return (_affectFilter != null && _affectFilter.accepts(gameState, modifiersQuerying, physicalCard)); } @Override diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/Modifier.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/Modifier.java index 4b67cc8fe..8ac36a7fe 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/Modifier.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/Modifier.java @@ -21,6 +21,8 @@ public interface Modifier { public ModifierEffect getModifierEffect(); + public Condition getCondition(); + public boolean affectsCard(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard); public boolean hasRemovedText(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java index 6554621aa..7bacfd03a 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java @@ -83,16 +83,15 @@ public class ModifiersLogic implements ModifiersEnvironment, ModifiersQuerying { if (modifiers == null) return Collections.emptyList(); else { - if (modifierEffect != ModifierEffect.TEXT_MODIFIER) { - LinkedList liveModifiers = new LinkedList(); - for (Modifier modifier : modifiers) { - if (modifier.getSource() == null || !hasTextRemoved(gameState, modifier.getSource())) + LinkedList liveModifiers = new LinkedList(); + for (Modifier modifier : modifiers) { + Condition condition = modifier.getCondition(); + if (condition == null || condition.isFullfilled(gameState, this)) + if (modifierEffect == ModifierEffect.TEXT_MODIFIER || modifier.getSource() == null || !hasTextRemoved(gameState, modifier.getSource())) liveModifiers.add(modifier); - } + } - return liveModifiers; - } else - return modifiers; + return liveModifiers; } } @@ -156,8 +155,10 @@ public class ModifiersLogic implements ModifiersEnvironment, ModifiersQuerying { Set result = new HashSet(); for (List modifiers : _modifiers.values()) { for (Modifier modifier : modifiers) { - if (affectsCardWithSkipSet(gameState, card, modifier)) - result.add(modifier); + Condition condition = modifier.getCondition(); + if (condition == null || condition.isFullfilled(gameState, this)) + if (affectsCardWithSkipSet(gameState, card, modifier)) + result.add(modifier); } } return result;