Fixed DiscardFromPlay effects not defining the correct performing player
This commit is contained in:
@@ -36,7 +36,7 @@ public class DiscardFromPlay implements EffectAppenderProducer {
|
|||||||
MultiEffectAppender result = new MultiEffectAppender();
|
MultiEffectAppender result = new MultiEffectAppender();
|
||||||
|
|
||||||
EffectAppender cardResolver = CardResolver.resolveCards(select,
|
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);
|
valueSource, memory, player, "Choose cards to discard", environment);
|
||||||
|
|
||||||
EffectUtils.validatePreEvaluate(cost, effectObject, discardingPlayer, valueSource, cardResolver);
|
EffectUtils.validatePreEvaluate(cost, effectObject, discardingPlayer, valueSource, cardResolver);
|
||||||
|
|||||||
@@ -17,10 +17,23 @@ public class Card_10_118_Tests
|
|||||||
return new GenericCardTestHelper(
|
return new GenericCardTestHelper(
|
||||||
new HashMap<>()
|
new HashMap<>()
|
||||||
{{
|
{{
|
||||||
put("card", "10_118");
|
put("pippin", "1_306");
|
||||||
// put other cards in here as needed for the test case
|
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.FOTRFrodo,
|
||||||
GenericCardTestHelper.RulingRing
|
GenericCardTestHelper.RulingRing
|
||||||
);
|
);
|
||||||
@@ -39,14 +52,13 @@ public class Card_10_118_Tests
|
|||||||
* Type: Site
|
* Type: Site
|
||||||
* Subtype:
|
* Subtype:
|
||||||
* Site Number: 4K
|
* Site Number: 4K
|
||||||
* Game Text: <b>Plains</b>. <b>Shadow:</b> Exert a minion and remove a burden to make the Free Peoples player discard one of his or her conditions.
|
* Game Text: <b>Plains</b>. <b>Shadow:</b> Exert a minion and remove a burden to make
|
||||||
|
* the Free Peoples player discard one of his or her conditions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var scn = GetScenario();
|
var scn = GetScenario();
|
||||||
|
|
||||||
//Use this once you have set the deck up properly
|
var card = scn.GetFreepsSite(4);
|
||||||
//var card = scn.GetFreepsSite(4);
|
|
||||||
var card = scn.GetFreepsCard("card");
|
|
||||||
|
|
||||||
assertEquals("Pelennor Prairie", card.getBlueprint().getTitle());
|
assertEquals("Pelennor Prairie", card.getBlueprint().getTitle());
|
||||||
assertNull(card.getBlueprint().getSubtitle());
|
assertNull(card.getBlueprint().getSubtitle());
|
||||||
@@ -57,18 +69,37 @@ public class Card_10_118_Tests
|
|||||||
assertEquals(4, card.getBlueprint().getSiteNumber());
|
assertEquals(4, card.getBlueprint().getSiteNumber());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Uncomment any @Test markers below once this is ready to be used
|
@Test
|
||||||
//@Test
|
public void PelennorPrairieIsNotBlockedByPippinFriendToFrodo() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
public void PelennorPrairieTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
|
||||||
//Pre-game setup
|
//Pre-game setup
|
||||||
var scn = GetScenario();
|
var scn = GetScenario();
|
||||||
|
|
||||||
var card = scn.GetFreepsCard("card");
|
var prairie = scn.GetShadowSite(4);
|
||||||
scn.FreepsMoveCardToHand(card);
|
|
||||||
|
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.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());
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user