From a1d809778cf2ee3cc1a46e9fe39f833b58c7cfbc Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Thu, 11 Mar 2021 08:52:06 -0600 Subject: [PATCH] Adjusting merged errata Fixing some issues that weren't compiling. Removed the unneeded cantBeAssignedToSkirmishByFpPlayer modifier and replaced references to it with cantBeAssignedToSkirmishAgainst, which has a side filter. Fixed affected unit tests to pass. --- .../main/web/cards/set51/set02-errata.json | 17 +++++++--- .../main/web/cards/set51/set03-errata.json | 16 ++++----- ...FreePeoplePlayerMayNotAssignCharacter.java | 34 ------------------- .../modifier/ModifierSourceFactory.java | 1 - .../errata/set1/Galadriel_LoLErrataTests.java | 8 ++--- .../pc/errata/set1/StingErrataTests.java | 4 +-- .../errata/set1/TalentForNBSErrataTests.java | 25 ++------------ 7 files changed, 28 insertions(+), 77 deletions(-) delete mode 100644 gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/FreePeoplePlayerMayNotAssignCharacter.java diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set02-errata.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set02-errata.json index 115cead9d..72a89950a 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set02-errata.json +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set02-errata.json @@ -67,12 +67,14 @@ { "type": "modifier", "modifier": { - "type": "cantBeAssignedToSkirmishByFpPlayer", + "type": "cantBeAssignedToSkirmishAgainst", "condition": { "type": "canSpot", "filter": "hobbit" }, - "filter": "self" + "minion": "self", + "fpCharacter": "any", + "side": "free people" } }, { @@ -148,9 +150,14 @@ ], "effects": [ { - "type": "modifyStrength", - "filter": "memory(bearer),inSkirmishAgainst(nazgul)", - "amount": 3 + "type": "addmodifier", + "modifier": { + "type": "modifyStrength", + "filter": "memory(bearer),inSkirmishAgainst(nazgul)", + + "amount": 3 + }, + }, { "type": "takeOffRing" diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set03-errata.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set03-errata.json index 8f54429a5..17f36c5b6 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set03-errata.json +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set03-errata.json @@ -18,7 +18,7 @@ }, "effect": { "type": "heal", - "filter": "another,elf" + "filter": "choose(another,elf)" } }, { @@ -97,8 +97,8 @@ "type": "modifyStrength", "filter": "memory(chosenAlly)", "amount": 3, - "until": "start(regroup)" - } + }, + "until": "start(regroup)" }, { "type": "allyCanParticipateInArcheryFireAndSkirmishes", @@ -126,13 +126,13 @@ { "type": "removeTwilight", "amount": 2 - }, - { - "type": "canSpot", - "count": 2, - "memorize": "culture(isengard),minion" } ], + "condition": { + "type": "canSpot", + "filter": "culture(isengard),minion", + "count": 2, + }, "effect": [ { "type": "revealRandomCardsFromHand", diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/FreePeoplePlayerMayNotAssignCharacter.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/FreePeoplePlayerMayNotAssignCharacter.java deleted file mode 100644 index 6367b29ad..000000000 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/FreePeoplePlayerMayNotAssignCharacter.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.gempukku.lotro.cards.build.field.effect.modifier; - -import com.gempukku.lotro.cards.build.*; -import com.gempukku.lotro.cards.build.field.FieldUtils; -import com.gempukku.lotro.cards.build.field.effect.appender.MultiEffectAppender; -import com.gempukku.lotro.logic.modifiers.CantBeAssignedToSkirmishModifier; -import com.gempukku.lotro.logic.modifiers.FreePeoplePlayerMayNotAssignCharacterModifier; -import com.gempukku.lotro.logic.modifiers.Modifier; -import org.json.simple.JSONObject; - -public class FreePeoplePlayerMayNotAssignCharacter implements ModifierSourceProducer { - - @Override - public ModifierSource getModifierSource(JSONObject effectObject, CardGenerationEnvironment environment) throws InvalidCardDefinitionException { - FieldUtils.validateAllowedFields(effectObject, "filter", "condition"); - - final JSONObject[] conditionArray = FieldUtils.getObjectArray(effectObject.get("condition"), "condition"); - final String filter = FieldUtils.getString(effectObject.get("filter"), "filter"); - - final FilterableSource filterableSource = environment.getFilterFactory().generateFilter(filter, environment); - final Requirement[] requirements = environment.getRequirementFactory().getRequirements(conditionArray, environment); - - MultiEffectAppender result = new MultiEffectAppender(); - - return new ModifierSource() { - @Override - public Modifier getModifier(ActionContext actionContext) { - return new FreePeoplePlayerMayNotAssignCharacterModifier(actionContext.getSource(), - new RequirementCondition(requirements, actionContext), - filterableSource.getFilterable(actionContext)); - } - }; - } -} diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/ModifierSourceFactory.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/ModifierSourceFactory.java index 680505bc7..dc6529c9f 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/ModifierSourceFactory.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/ModifierSourceFactory.java @@ -56,7 +56,6 @@ public class ModifierSourceFactory { modifierProducers.put("allycanparticipateinarcheryfireandskirmishes", new AllyCanParticipateInArcheryFireAndSkirmishes()); modifierProducers.put("cantlookorrevealhand", new CantLookOrRevealHand()); modifierProducers.put("cantbeassignedtoskirmish", new CantBeAssignedToSkirmish()); - modifierProducers.put("fpplayermaynotassigncharacter", new FreePeoplePlayerMayNotAssignCharacter()); } public ModifierSource getModifier(JSONObject object, CardGenerationEnvironment environment) throws InvalidCardDefinitionException { diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/Galadriel_LoLErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/Galadriel_LoLErrataTests.java index 95e435ead..8e59a5ad0 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/Galadriel_LoLErrataTests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/Galadriel_LoLErrataTests.java @@ -97,7 +97,7 @@ public class Galadriel_LoLErrataTests @Test - public void AllyHealsCappedAt2() throws DecisionResultInvalidException, CardNotFoundException { + public void AllyHealsCappedAt3() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup GenericCardTestHelper scn = GetHome6AllyScenario(); scn.FreepsMoveCharToTable("galadriel"); @@ -116,9 +116,9 @@ public class Galadriel_LoLErrataTests assertEquals(Phase.BETWEEN_TURNS, scn.GetCurrentPhase()); - //There are 5 total elf allies in play: 1 is home 3, and 1 is Galadriel herself. The rest should be eligible. - assertEquals(3, scn.FreepsGetADParamAsList("cardId").size()); + //There are 5 total elf allies in play: 1 is home 3. The rest should be eligible. + assertEquals(4, scn.FreepsGetADParamAsList("cardId").size()); assertEquals("0", scn.FreepsGetADParam("min")); - assertEquals("2", scn.FreepsGetADParam("max")); + assertEquals("3", scn.FreepsGetADParam("max")); } } diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/StingErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/StingErrataTests.java index a34ee5cb5..f9537d39d 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/StingErrataTests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/StingErrataTests.java @@ -104,7 +104,7 @@ public class StingErrataTests } @Test - public void StingAbilityExertsFrodoAndRevealsTwoCards() throws DecisionResultInvalidException, CardNotFoundException { + public void StingAbilityExertsFrodoAndRevealsFourCards() throws DecisionResultInvalidException, CardNotFoundException { GenericCardTestHelper scn = GetScenario(); PhysicalCardImpl frodo = scn.GetRingBearer(); @@ -124,7 +124,7 @@ public class StingErrataTests scn.FreepsUseCardAction(sting); //Reveals 2 cards - assertEquals(2, scn.FreepsGetADParamAsList("blueprintId").size()); + assertEquals(4, scn.FreepsGetADParamAsList("blueprintId").size()); assertEquals(1, scn.GetWoundsOn(frodo)); } diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/TalentForNBSErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/TalentForNBSErrataTests.java index 48a59040d..9f6a8ad6f 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/TalentForNBSErrataTests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/TalentForNBSErrataTests.java @@ -36,7 +36,7 @@ public class TalentForNBSErrataTests /** * Set: 1E - * Title: *A Talent for Not Being Seen + * Title: A Talent for Not Being Seen * Side: Free Peoples * Culture: Shire * Twilight Cost: 0 @@ -50,7 +50,7 @@ public class TalentForNBSErrataTests PhysicalCardImpl talent = scn.GetFreepsCard("talent"); - assertTrue(talent.getBlueprint().isUnique()); + assertFalse(talent.getBlueprint().isUnique()); assertEquals(0, talent.getBlueprint().getTwilightCost()); assertTrue(scn.HasKeyword(talent, Keyword.STEALTH)); @@ -103,27 +103,6 @@ public class TalentForNBSErrataTests } - @Test - public void TalentDoesNotReduceIfNonHobbitCompanions() throws DecisionResultInvalidException, CardNotFoundException { - //Pre-game setup - GenericCardTestHelper scn = GetScenario(); - - PhysicalCardImpl frodo = scn.GetRingBearer(); - PhysicalCardImpl merry = scn.GetFreepsCard("merry"); - PhysicalCardImpl boromir = scn.GetFreepsCard("boromir"); - PhysicalCardImpl talent = scn.GetFreepsCard("talent"); - - scn.FreepsMoveCharToTable(merry, boromir); - scn.FreepsMoveCardToHand(talent); - - scn.StartGame(); - - scn.FreepsPlayCard(talent); - scn.FreepsSkipCurrentPhaseAction(); - - // 3 for Frodo/Merry/Boromir, 1 for the site, Talent does not trigger - assertEquals(4, scn.GetTwilight()); - } }