diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/ReinforceTokens.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/ReinforceTokens.java
index 044e9f057..1ca620046 100644
--- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/ReinforceTokens.java
+++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/ReinforceTokens.java
@@ -33,7 +33,7 @@ public class ReinforceTokens implements EffectAppenderProducer {
final Culture culture = FieldUtils.getEnum(Culture.class, effectObject.get("culture"), "culture");
final Token token = Token.findTokenForCulture(culture);
- final String select = FieldUtils.getString(effectObject.get("select"), "select", "self");
+ final String select = FieldUtils.getString(effectObject.get("select"), "select", "choose(any)");
final String memory = FieldUtils.getString(effectObject.get("memorize"), "memorize", "_temp");
final ValueSource valueSource = ValueResolver.resolveEvaluator(effectObject.get("times"), 1, environment);
String player = FieldUtils.getString(effectObject.get("player"), "player", "you");
diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set18/Card_18_011_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set18/Card_18_011_Tests.java
index 78e8a4318..c36317886 100644
--- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set18/Card_18_011_Tests.java
+++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set18/Card_18_011_Tests.java
@@ -17,11 +17,14 @@ public class Card_18_011_Tests
return new GenericCardTestHelper(
new HashMap<>()
{{
- put("card", "18_11");
- // put other cards in here as needed for the test case
+ put("ewer", "18_11");
+ put("homestead", "13_22");
+ put("defiance", "1_37");
+
+ put("savage", "1_151");
}},
GenericCardTestHelper.FellowshipSites,
- GenericCardTestHelper.FOTRFrodo,
+ GenericCardTestHelper.GaladrielRB,
GenericCardTestHelper.RulingRing
);
}
@@ -38,12 +41,14 @@ public class Card_18_011_Tests
* Twilight Cost: 2
* Type: Artifact
* Subtype: Support area
- * Game Text: To play, spot Galadriel or Celeborn.
While Galadriel is the Ring-bearer, she is strength +2 and resistance +2.
Each time you play an [elven] skirmish event, you may reinforce an [elven] token.
+ * Game Text: To play, spot Galadriel or Celeborn.
+ * While Galadriel is the Ring-bearer, she is strength +2 and resistance +2.
+ * Each time you play an [elven] skirmish event, you may reinforce an [elven] token.
*/
var scn = GetScenario();
- var card = scn.GetFreepsCard("card");
+ var card = scn.GetFreepsCard("ewer");
assertEquals("Galadriel's Silver Ewer", card.getBlueprint().getTitle());
assertNull(card.getBlueprint().getSubtitle());
@@ -55,18 +60,57 @@ public class Card_18_011_Tests
assertEquals(2, card.getBlueprint().getTwilightCost());
}
- // Uncomment any @Test markers below once this is ready to be used
- //@Test
- public void GaladrielsSilverEwerTest1() throws DecisionResultInvalidException, CardNotFoundException {
+ @Test
+ public void EwerPumpsGaladrielARB() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
- var card = scn.GetFreepsCard("card");
- scn.FreepsMoveCardToHand(card);
+ var galadriel = scn.GetRingBearer();
+ var ewer = scn.GetFreepsCard("ewer");
+ scn.FreepsMoveCardToHand(ewer);
scn.StartGame();
- scn.FreepsPlayCard(card);
- assertEquals(2, scn.GetTwilight());
+ //3 base +1 from ring
+ assertEquals(4, scn.GetStrength(galadriel));
+ //3 base +1 from text -1 from burden
+ assertEquals(3, scn.GetResistance(galadriel));
+
+ scn.FreepsPlayCard(ewer);
+
+ //3 base +1 from ring +2 from ewer
+ assertEquals(6, scn.GetStrength(galadriel));
+ //3 base +1 from text -1 from burden + 2 from ewer
+ assertEquals(5, scn.GetResistance(galadriel));
+ }
+
+ @Test
+ public void EwerReinforcesAfterPlayingSkirmishEvent() throws DecisionResultInvalidException, CardNotFoundException {
+ //Pre-game setup
+ var scn = GetScenario();
+
+ var galadriel = scn.GetRingBearer();
+ var ewer = scn.GetFreepsCard("ewer");
+ var homestead = scn.GetFreepsCard("homestead");
+ var defiance = scn.GetFreepsCard("defiance");
+ scn.FreepsMoveCardToSupportArea(ewer, homestead);
+ scn.FreepsMoveCardToHand(defiance);
+
+ var savage = scn.GetShadowCard("savage");
+ scn.ShadowMoveCharToTable(savage);
+
+ scn.StartGame();
+
+ scn.AddTokensToCard(homestead, 1);
+
+ scn.SkipToAssignments();
+ scn.FreepsAssignToMinions(galadriel, savage);
+ scn.FreepsResolveSkirmish(galadriel);
+
+ assertEquals(1, scn.GetCultureTokensOn(homestead));
+ scn.FreepsPlayCard(defiance);
+ assertTrue(scn.FreepsHasOptionalTriggerAvailable());
+ scn.FreepsAcceptOptionalTrigger();
+ assertEquals(2, scn.GetCultureTokensOn(homestead));
}
}
diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set18/Card_18_011_ErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set18/Card_18_011_ErrataTests.java
new file mode 100644
index 000000000..3b4d4064c
--- /dev/null
+++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set18/Card_18_011_ErrataTests.java
@@ -0,0 +1,89 @@
+package com.gempukku.lotro.cards.unofficial.pc.errata.set18;
+
+import com.gempukku.lotro.cards.GenericCardTestHelper;
+import com.gempukku.lotro.common.CardType;
+import com.gempukku.lotro.common.Culture;
+import com.gempukku.lotro.common.Keyword;
+import com.gempukku.lotro.common.Side;
+import com.gempukku.lotro.game.CardNotFoundException;
+import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
+import org.junit.Test;
+
+import java.util.HashMap;
+
+import static org.junit.Assert.*;
+
+public class Card_18_011_ErrataTests
+{
+
+ protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
+ return new GenericCardTestHelper(
+ new HashMap<>()
+ {{
+ put("ewer", "68_11");
+ put("homestead", "13_22");
+ put("defiance", "1_37");
+
+ put("savage", "1_151");
+ }},
+ GenericCardTestHelper.FellowshipSites,
+ GenericCardTestHelper.GaladrielRB,
+ GenericCardTestHelper.RulingRing
+ );
+ }
+
+ @Test
+ public void GaladrielsSilverEwerStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
+
+ /**
+ * Set: 18
+ * Name: Galadriel's Silver Ewer
+ * Unique: True
+ * Side: Free Peoples
+ * Culture: Elven
+ * Twilight Cost: 2
+ * Type: Artifact
+ * Subtype: Support area
+ * Game Text: To play, spot Galadriel or Celeborn.
+ * While Galadriel is the Ring-bearer, she is strength +1 and resistance +2.
+ * Each time you play an [elven] skirmish event, you may exert Galadriel to reinforce an [elven] token.
+ */
+
+ var scn = GetScenario();
+
+ var card = scn.GetFreepsCard("ewer");
+
+ assertEquals("Galadriel's Silver Ewer", card.getBlueprint().getTitle());
+ assertNull(card.getBlueprint().getSubtitle());
+ assertTrue(card.getBlueprint().isUnique());
+ assertEquals(Side.FREE_PEOPLE, card.getBlueprint().getSide());
+ assertEquals(Culture.ELVEN, card.getBlueprint().getCulture());
+ assertEquals(CardType.ARTIFACT, card.getBlueprint().getCardType());
+ assertTrue(scn.hasKeyword(card, Keyword.SUPPORT_AREA));
+ assertEquals(2, card.getBlueprint().getTwilightCost());
+ }
+
+ @Test
+ public void EwerPumpsGaladrielARB() throws DecisionResultInvalidException, CardNotFoundException {
+ //Pre-game setup
+ var scn = GetScenario();
+
+ var galadriel = scn.GetRingBearer();
+ var ewer = scn.GetFreepsCard("ewer");
+ scn.FreepsMoveCardToHand(ewer);
+
+ scn.StartGame();
+
+ //3 base +1 from ring
+ assertEquals(4, scn.GetStrength(galadriel));
+ //4 base +1 from text -1 from burden
+ assertEquals(3, scn.GetResistance(galadriel));
+
+ scn.FreepsPlayCard(ewer);
+
+ //3 base +1 from ring +1 from ewer
+ assertEquals(5, scn.GetStrength(galadriel));
+ //4 base +1 from text -1 from burden + 2 from ewer
+ assertEquals(5, scn.GetResistance(galadriel));
+ }
+}