From 8aad76e52fc088bde4dd72f0f08830f878ef6f2f Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Tue, 16 Aug 2022 19:27:57 -0500 Subject: [PATCH] Cleaned up several value evaluators for clarity within the JSON. Removed "siteinregion2" as redundant with "regionNumber(2)". Added siteHasSiteNumber filter. --- .../cards/unofficial/hobbit/set32/set32-site.hjson | 2 +- .../pc/errata/set13/set13-Sites-errata.hjson | 2 +- .../unofficial/pc/setV01/V1_elven_playtest.hjson | 2 +- .../second-edition/set40/set40-dwarven.hjson | 4 ++-- .../second-edition/set40/set40-isengard.hjson | 4 ++-- .../unofficial/second-edition/set40/set40.hjson | 4 ++-- .../lotro/cards/set15/elven/Card15_019.java | 3 ++- .../gempukku/lotro/cards/set18/men/Card18_064.java | 3 ++- .../lotro/cards/set3/gandalf/Card3_035.java | 3 ++- .../lotro/cards/set6/raider/Card6_080.java | 3 ++- .../gempukku/lotro/cards/set6/rohan/Card6_095.java | 2 +- .../lotro/cards/set7/sauron/Card7_293.java | 3 ++- .../lotro/cards/set8/gollum/Card8_023.java | 2 +- .../effect/appender/resolver/ValueResolver.java | 14 +++++++------- .../build/field/effect/filter/FilterFactory.java | 4 ++-- .../java/com/gempukku/lotro/filters/Filters.java | 9 +++++++++ .../evaluator/CardPhaseLimitEvaluator.java | 13 +++++++------ .../logic/modifiers/evaluator/LimitEvaluator.java | 12 ++++++------ 18 files changed, 52 insertions(+), 37 deletions(-) diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/hobbit/set32/set32-site.hjson b/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/hobbit/set32/set32-site.hjson index 812e91982..8ac122aa0 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/hobbit/set32/set32-site.hjson +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/hobbit/set32/set32-site.hjson @@ -87,7 +87,7 @@ type: exert filter: choose(culture(dwarven),character) count: { - type: forEachCultureOver + type: forEachCulture filter: side(shadow) } } diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/pc/errata/set13/set13-Sites-errata.hjson b/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/pc/errata/set13/set13-Sites-errata.hjson index a0fec07b2..980d03f7f 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/pc/errata/set13/set13-Sites-errata.hjson +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/pc/errata/set13/set13-Sites-errata.hjson @@ -39,7 +39,7 @@ } requires: { type: location - filter: siteinregion2 + filter: regionNumber(2) } cost: { type: discardFromHand diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/pc/setV01/V1_elven_playtest.hjson b/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/pc/setV01/V1_elven_playtest.hjson index 89fbc9733..3a08cb34e 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/pc/setV01/V1_elven_playtest.hjson +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/pc/setV01/V1_elven_playtest.hjson @@ -258,7 +258,7 @@ type: memorizenumber memory: stackedCultures amount:{ - type: forEachCultureOver + type: forEachCulture over: 0 filter: cultureFromMemory(stackedCards) } diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/second-edition/set40/set40-dwarven.hjson b/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/second-edition/set40/set40-dwarven.hjson index 351395c60..54169de70 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/second-edition/set40/set40-dwarven.hjson +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/second-edition/set40/set40-dwarven.hjson @@ -353,8 +353,8 @@ keyword: damage amount: { type: limit - value: 2 - amount: { + limit: 2 + value: { type: countStacked on: self } diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/second-edition/set40/set40-isengard.hjson b/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/second-edition/set40/set40-isengard.hjson index 61a927109..805460719 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/second-edition/set40/set40-isengard.hjson +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/second-edition/set40/set40-isengard.hjson @@ -862,8 +862,8 @@ filter: choose(companion) count: { type: limit - value: 3 - amount: { + limit: 3 + value: { type: countStacked on: culture(isengard),artifact filter: culture(isengard),spell diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/second-edition/set40/set40.hjson b/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/second-edition/set40/set40.hjson index 8a2cb3ed7..faf594b0b 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/second-edition/set40/set40.hjson +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/unofficial/second-edition/set40/set40.hjson @@ -340,7 +340,7 @@ player: fp filter: choose(companion) count: { - type: forEachCultureOver + type: forEachCulture over: 2 } } @@ -466,7 +466,7 @@ modifier: { type: modifyMoveLimit amount: { - type: forEachCultureOver + type: forEachCulture over: 2 filter: companion } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/elven/Card15_019.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/elven/Card15_019.java index 575f9d1c7..4cbce03dc 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/elven/Card15_019.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/elven/Card15_019.java @@ -9,6 +9,7 @@ import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect; import com.gempukku.lotro.logic.effects.SelfExertEffect; import com.gempukku.lotro.logic.modifiers.ArcheryTotalModifier; import com.gempukku.lotro.logic.modifiers.evaluator.CardPhaseLimitEvaluator; +import com.gempukku.lotro.logic.modifiers.evaluator.ConstantEvaluator; import com.gempukku.lotro.logic.modifiers.evaluator.CountActiveEvaluator; import com.gempukku.lotro.logic.timing.PlayConditions; @@ -45,7 +46,7 @@ public class Card15_019 extends AbstractCompanion { action.appendEffect( new AddUntilEndOfPhaseModifierEffect( new ArcheryTotalModifier(self, Side.FREE_PEOPLE, null, - new CardPhaseLimitEvaluator(game, self, Phase.ARCHERY, 3, + new CardPhaseLimitEvaluator(game, self, Phase.ARCHERY, new ConstantEvaluator(3), new CountActiveEvaluator(CardType.MINION, Keyword.HUNTER))))); return Collections.singletonList(action); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set18/men/Card18_064.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set18/men/Card18_064.java index 2e0528be2..b0359f845 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set18/men/Card18_064.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set18/men/Card18_064.java @@ -7,6 +7,7 @@ import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.cardtype.AbstractAttachable; import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.modifiers.StrengthModifier; +import com.gempukku.lotro.logic.modifiers.evaluator.ConstantEvaluator; import com.gempukku.lotro.logic.modifiers.evaluator.CountCultureTokensEvaluator; import com.gempukku.lotro.logic.modifiers.evaluator.LimitEvaluator; @@ -34,6 +35,6 @@ public class Card18_064 extends AbstractAttachable { @Override public List getInPlayModifiers(LotroGame game, PhysicalCard self) { return Collections.singletonList(new StrengthModifier(self, Filters.hasAttached(self), null, -new LimitEvaluator(new CountCultureTokensEvaluator(Token.MEN, Filters.any), 5))); +new LimitEvaluator(new CountCultureTokensEvaluator(Token.MEN, Filters.any), new ConstantEvaluator(5)))); } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/gandalf/Card3_035.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/gandalf/Card3_035.java index 8e421f3f9..fc813a471 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/gandalf/Card3_035.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/gandalf/Card3_035.java @@ -11,6 +11,7 @@ import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; import com.gempukku.lotro.logic.modifiers.StrengthModifier; import com.gempukku.lotro.logic.modifiers.evaluator.CardPhaseLimitEvaluator; +import com.gempukku.lotro.logic.modifiers.evaluator.ConstantEvaluator; import com.gempukku.lotro.logic.modifiers.evaluator.CountActiveEvaluator; import com.gempukku.lotro.logic.timing.PlayConditions; @@ -45,7 +46,7 @@ public class Card3_035 extends AbstractPermanent { action.insertEffect( new AddUntilEndOfPhaseModifierEffect( new StrengthModifier(self, Filters.sameCard(card), null, - new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, 3, + new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, new ConstantEvaluator(3), new CountActiveEvaluator(CardType.COMPANION, Signet.GANDALF))))); } }); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/raider/Card6_080.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/raider/Card6_080.java index 9b5c926bd..2395f5527 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/raider/Card6_080.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/raider/Card6_080.java @@ -9,6 +9,7 @@ import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect; import com.gempukku.lotro.logic.effects.RemoveTwilightEffect; import com.gempukku.lotro.logic.modifiers.ArcheryTotalModifier; import com.gempukku.lotro.logic.modifiers.evaluator.CardPhaseLimitEvaluator; +import com.gempukku.lotro.logic.modifiers.evaluator.ConstantEvaluator; import com.gempukku.lotro.logic.modifiers.evaluator.CountActiveEvaluator; import com.gempukku.lotro.logic.timing.PlayConditions; @@ -42,7 +43,7 @@ public class Card6_080 extends AbstractMinion { new RemoveTwilightEffect(3)); action.appendEffect( new AddUntilEndOfPhaseModifierEffect( - new ArcheryTotalModifier(self, Side.SHADOW, null, new CardPhaseLimitEvaluator(game, self, Phase.ARCHERY, 4, new CountActiveEvaluator(4, (Integer) null, CardType.COMPANION))))); + new ArcheryTotalModifier(self, Side.SHADOW, null, new CardPhaseLimitEvaluator(game, self, Phase.ARCHERY, new ConstantEvaluator(4), new CountActiveEvaluator(4, (Integer) null, CardType.COMPANION))))); return Collections.singletonList(action); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/rohan/Card6_095.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/rohan/Card6_095.java index 229e891eb..7c3f32d74 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/rohan/Card6_095.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/rohan/Card6_095.java @@ -51,7 +51,7 @@ public class Card6_095 extends AbstractCompanion { action.appendEffect( new AddUntilEndOfPhaseModifierEffect( new StrengthModifier(self, self, null, - new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, 3, new ConstantEvaluator(3))))); + new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, new ConstantEvaluator(3), new ConstantEvaluator(3))))); return Collections.singletonList(action); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/sauron/Card7_293.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/sauron/Card7_293.java index 737ac7cce..db2bc3eef 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/sauron/Card7_293.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/sauron/Card7_293.java @@ -14,6 +14,7 @@ import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect; import com.gempukku.lotro.logic.modifiers.StrengthModifier; import com.gempukku.lotro.logic.modifiers.evaluator.CardPhaseLimitEvaluator; +import com.gempukku.lotro.logic.modifiers.evaluator.ConstantEvaluator; import com.gempukku.lotro.logic.modifiers.evaluator.CountActiveEvaluator; import com.gempukku.lotro.logic.modifiers.evaluator.NegativeEvaluator; import com.gempukku.lotro.logic.timing.PlayConditions; @@ -53,7 +54,7 @@ public class Card7_293 extends AbstractMinion { new AddUntilEndOfPhaseModifierEffect( new StrengthModifier(self, card, null, new NegativeEvaluator( - new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, 3, + new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, new ConstantEvaluator(3), new CountActiveEvaluator(Filters.not(self), Culture.SAURON, Race.ORC)))))); } }); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set8/gollum/Card8_023.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set8/gollum/Card8_023.java index 59b2f89a7..1dceb03b6 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set8/gollum/Card8_023.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set8/gollum/Card8_023.java @@ -56,7 +56,7 @@ public class Card8_023 extends AbstractPermanent { action.appendEffect( new AddUntilEndOfPhaseModifierEffect( new StrengthModifier(self, Filters.name("Shelob"), null, - new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, 6, + new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, new ConstantEvaluator(6), new ConstantEvaluator(3))))); return Collections.singletonList(action); } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/resolver/ValueResolver.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/resolver/ValueResolver.java index fb164bb78..3ee37ee9b 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/resolver/ValueResolver.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/resolver/ValueResolver.java @@ -178,16 +178,16 @@ public class ValueResolver { return new ConstantEvaluator(count); }; } else if (type.equalsIgnoreCase("limit")) { - FieldUtils.validateAllowedFields(object, "value", "amount"); - final int limit = FieldUtils.getInteger(object.get("value"), "value"); - ValueSource valueSource = resolveEvaluator(object.get("amount"), 0, environment); - return (actionContext) -> new LimitEvaluator(valueSource.getEvaluator(actionContext), limit); + FieldUtils.validateAllowedFields(object, "limit", "value"); + ValueSource limitSource = resolveEvaluator(object.get("limit"), 1, environment); + ValueSource valueSource = resolveEvaluator(object.get("value"), 0, environment); + return (actionContext) -> new LimitEvaluator(valueSource.getEvaluator(actionContext), limitSource.getEvaluator(actionContext)); } else if (type.equalsIgnoreCase("cardphaselimit")) { FieldUtils.validateAllowedFields(object, "limit", "amount"); - final int limit = FieldUtils.getInteger(object.get("limit"), "limit"); + ValueSource limitSource = resolveEvaluator(object.get("limit"), 0, environment); ValueSource valueSource = resolveEvaluator(object.get("amount"), 0, environment); return (actionContext) -> new CardPhaseLimitEvaluator(actionContext.getGame(), actionContext.getSource(), - actionContext.getGame().getGameState().getCurrentPhase(), limit, + actionContext.getGame().getGameState().getCurrentPhase(), limitSource.getEvaluator(actionContext), valueSource.getEvaluator(actionContext)); } else if (type.equalsIgnoreCase("countStacked")) { FieldUtils.validateAllowedFields(object, "on", "filter"); @@ -227,7 +227,7 @@ public class ValueResolver { return Math.min(limit, count); } }); - } else if (type.equalsIgnoreCase("forEachCultureOver")) { + } else if (type.equalsIgnoreCase("forEachCulture")) { FieldUtils.validateAllowedFields(object, "over", "filter"); final int over = FieldUtils.getInteger(object.get("over"), "over", 0); final String filter = FieldUtils.getString(object.get("filter"), "filter", "any"); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/filter/FilterFactory.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/filter/FilterFactory.java index a1b3551d1..2561fbae5 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/filter/FilterFactory.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/filter/FilterFactory.java @@ -76,8 +76,8 @@ public class FilterFactory { (actionContext -> Filters.siteNumber(actionContext.getGame().getGameState().getCurrentSiteNumber()))); simpleFilters.put("siteincurrentregion", (actionContext) -> Filters.siteInCurrentRegion); - simpleFilters.put("siteinregion2", - (actionContext) -> Filters.and(CardType.SITE, Filters.region(2))); + simpleFilters.put("sitehassitenumber", + (actionContext) -> Filters.siteHasSiteNumber); simpleFilters.put("idinstored", (actionContext -> new Filter() { diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java index b81df715d..25682ef53 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java @@ -751,6 +751,15 @@ public class Filters { public static Filter siteNumber(final int siteNumber) { return siteNumberBetweenInclusive(siteNumber, siteNumber); } + public static Filter siteHasSiteNumber = Filters.and(CardType.SITE, + new Filter() { + @Override + public boolean accepts(LotroGame game, PhysicalCard physicalCard) { + int bpNumber = physicalCard.getBlueprint().getSiteNumber(); + Integer siteNumber = physicalCard.getSiteNumber(); + return Objects.requireNonNullElse(siteNumber, bpNumber) != 0; + } + }); public static Filter siteNumberBetweenInclusive(final int minSiteNumber, final int maxSiteNumber) { return new Filter() { diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/evaluator/CardPhaseLimitEvaluator.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/evaluator/CardPhaseLimitEvaluator.java index 87a3a121c..14d870f92 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/evaluator/CardPhaseLimitEvaluator.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/evaluator/CardPhaseLimitEvaluator.java @@ -8,25 +8,26 @@ import com.gempukku.lotro.logic.modifiers.LimitCounter; public class CardPhaseLimitEvaluator implements Evaluator { private Integer _evaluated; - private final Evaluator _evaluator; + private final Evaluator _amount; private final LotroGame _game; private final PhysicalCard _source; private final Phase _phase; - private final int _limit; + private final Evaluator _limit; - public CardPhaseLimitEvaluator(LotroGame game, PhysicalCard source, Phase phase, int limit, Evaluator evaluator) { + public CardPhaseLimitEvaluator(LotroGame game, PhysicalCard source, Phase phase, Evaluator limit, Evaluator amount) { _game = game; _source = source; _phase = phase; _limit = limit; - _evaluator = evaluator; + _amount = amount; } private int evaluateOnce(LotroGame game, PhysicalCard cardAffected) { LimitCounter limitCounter = game.getModifiersQuerying().getUntilEndOfPhaseLimitCounter(_source, _phase); - int internalResult = _evaluator.evaluateExpression(game, cardAffected); - return limitCounter.incrementToLimit(_limit, internalResult); + int amountResult = _amount.evaluateExpression(game, cardAffected); + int limitResult = _amount.evaluateExpression(game, cardAffected); + return limitCounter.incrementToLimit(limitResult, amountResult); } @Override diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/evaluator/LimitEvaluator.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/evaluator/LimitEvaluator.java index 5c41759e0..8e02e098e 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/evaluator/LimitEvaluator.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/evaluator/LimitEvaluator.java @@ -4,16 +4,16 @@ import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; public class LimitEvaluator implements Evaluator { - private final int _limit; - private final Evaluator _evaluator; + private final Evaluator _limit; + private final Evaluator _value; - public LimitEvaluator(Evaluator evaluator, int limit) { - _evaluator = evaluator; - _limit = limit; + public LimitEvaluator(Evaluator valueEvaluator, Evaluator limitEvaluator) { + _value = valueEvaluator; + _limit = limitEvaluator; } @Override public int evaluateExpression(LotroGame game, PhysicalCard cardAffected) { - return Math.min(_limit, _evaluator.evaluateExpression(game, cardAffected)); + return Math.min( _limit.evaluateExpression(game, cardAffected), _value.evaluateExpression(game, cardAffected)); } }