diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/StrengthModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/StrengthModifier.java index 038800cac..9d2cb212f 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/StrengthModifier.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/StrengthModifier.java @@ -9,7 +9,6 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect; import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; public class StrengthModifier extends AbstractModifier { - private Condition _condition; private int _modifier; public StrengthModifier(PhysicalCard source, Filter affectFilter, int modifier) { @@ -17,15 +16,12 @@ public class StrengthModifier extends AbstractModifier { } public StrengthModifier(PhysicalCard source, Filter affectFilter, Condition condition, int modifier) { - super(source, "Strength " + ((modifier < 0) ? modifier : ("+" + modifier)), affectFilter, new ModifierEffect[]{ModifierEffect.STRENGTH_MODIFIER}); - _condition = condition; + super(source, "Strength " + ((modifier < 0) ? modifier : ("+" + modifier)), affectFilter, condition, new ModifierEffect[]{ModifierEffect.STRENGTH_MODIFIER}); _modifier = modifier; } @Override public int getStrength(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard, int result) { - if (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) - return result + _modifier; - return result; + return result + _modifier; } } 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 f91d766f9..28f21345a 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 @@ -15,12 +15,18 @@ public abstract class AbstractModifier implements Modifier { private PhysicalCard _physicalCard; private String _text; private Filter _affectFilter; + private Condition _condition; private ModifierEffect[] _effects; protected AbstractModifier(PhysicalCard source, String text, Filter affectFilter, ModifierEffect[] effects) { + this(source, text, affectFilter, null, effects); + } + + protected AbstractModifier(PhysicalCard source, String text, Filter affectFilter, Condition condition, ModifierEffect[] effects) { _physicalCard = source; _text = text; _affectFilter = affectFilter; + _condition = condition; _effects = effects; } @@ -41,7 +47,7 @@ public abstract class AbstractModifier implements Modifier { @Override public boolean affectsCard(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) { - return _affectFilter != null && _affectFilter.accepts(gameState, modifiersQuerying, physicalCard); + return (_condition == null || _condition.isFullfilled(gameState, modifiersQuerying)) && (_affectFilter != null && _affectFilter.accepts(gameState, modifiersQuerying, physicalCard)); } @Override