diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/DiscardFromPlay.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/DiscardFromPlay.java
index b1b5be341..a15e1380e 100644
--- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/DiscardFromPlay.java
+++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/DiscardFromPlay.java
@@ -36,7 +36,7 @@ public class DiscardFromPlay implements EffectAppenderProducer {
MultiEffectAppender result = new MultiEffectAppender();
EffectAppender cardResolver = CardResolver.resolveCards(select,
- (actionContext) -> Filters.canBeDiscarded(actionContext.getPerformingPlayer(), actionContext.getSource()),
+ (actionContext) -> Filters.canBeDiscarded(discardingPlayer.getPlayer(actionContext), actionContext.getSource()),
valueSource, memory, player, "Choose cards to discard", environment);
EffectUtils.validatePreEvaluate(cost, effectObject, discardingPlayer, valueSource, cardResolver);
diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set10/Card_10_118_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set10/Card_10_118_Tests.java
index a41e1578e..faca19107 100644
--- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set10/Card_10_118_Tests.java
+++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set10/Card_10_118_Tests.java
@@ -17,10 +17,23 @@ public class Card_10_118_Tests
return new GenericCardTestHelper(
new HashMap<>()
{{
- put("card", "10_118");
- // put other cards in here as needed for the test case
+ put("pippin", "1_306");
+ put("bowmen", "3_41");
+ put("knows", "9_50");
+
+ put("savage", "1_151");
+ }},
+ new HashMap<>() {{
+ put("site1", "7_330");
+ put("site2", "7_335");
+ put("site3", "8_117");
+ put("site4", "10_118"); //here
+ put("site5", "7_345");
+ put("site6", "7_350");
+ put("site7", "8_120");
+ put("site8", "10_120");
+ put("site9", "7_360");
}},
- GenericCardTestHelper.FellowshipSites,
GenericCardTestHelper.FOTRFrodo,
GenericCardTestHelper.RulingRing
);
@@ -39,14 +52,13 @@ public class Card_10_118_Tests
* Type: Site
* Subtype:
* Site Number: 4K
- * Game Text: Plains. Shadow: Exert a minion and remove a burden to make the Free Peoples player discard one of his or her conditions.
+ * Game Text: Plains. Shadow: Exert a minion and remove a burden to make
+ * the Free Peoples player discard one of his or her conditions.
*/
var scn = GetScenario();
- //Use this once you have set the deck up properly
- //var card = scn.GetFreepsSite(4);
- var card = scn.GetFreepsCard("card");
+ var card = scn.GetFreepsSite(4);
assertEquals("Pelennor Prairie", card.getBlueprint().getTitle());
assertNull(card.getBlueprint().getSubtitle());
@@ -57,18 +69,37 @@ public class Card_10_118_Tests
assertEquals(4, card.getBlueprint().getSiteNumber());
}
- // Uncomment any @Test markers below once this is ready to be used
- //@Test
- public void PelennorPrairieTest1() throws DecisionResultInvalidException, CardNotFoundException {
+ @Test
+ public void PelennorPrairieIsNotBlockedByPippinFriendToFrodo() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetScenario();
- var card = scn.GetFreepsCard("card");
- scn.FreepsMoveCardToHand(card);
+ var prairie = scn.GetShadowSite(4);
+
+ var pippin = scn.GetFreepsCard("pippin");
+ var bowmen = scn.GetFreepsCard("bowmen");
+ var knows = scn.GetFreepsCard("knows");
+ scn.FreepsMoveCharToTable(pippin);
+ scn.FreepsMoveCardToSupportArea(bowmen, knows);
+
+ var savage = scn.GetShadowCard("savage");
scn.StartGame();
- scn.FreepsPlayCard(card);
- assertEquals(3, scn.GetTwilight());
+ scn.SkipToSite(3);
+ scn.ShadowMoveCharToTable(savage);
+ scn.FreepsPassCurrentPhaseAction();
+
+ assertEquals(prairie, scn.GetCurrentSite());
+ assertTrue(scn.ShadowActionAvailable(prairie));
+
+ assertEquals(0, scn.GetWoundsOn(savage));
+ assertEquals(1, scn.GetBurdens());
+ scn.ShadowUseCardAction(prairie);
+
+ assertEquals(1, scn.GetWoundsOn(savage));
+ assertEquals(0, scn.GetBurdens());
+ assertEquals(2, scn.FreepsGetCardChoiceCount());
+
}
}