Fixed The Red Arrow getting broken by the recent optional update
This commit is contained in:
@@ -81,6 +81,8 @@
|
|||||||
{
|
{
|
||||||
type: optional
|
type: optional
|
||||||
text: Would you like exert the played {ROHAN} Man to play a possession on him or her?
|
text: Would you like exert the played {ROHAN} Man to play a possession on him or her?
|
||||||
|
effect: {
|
||||||
|
type: CostToEffect
|
||||||
cost: {
|
cost: {
|
||||||
type: exert
|
type: exert
|
||||||
select: memory(playedRohanMan)
|
select: memory(playedRohanMan)
|
||||||
@@ -92,6 +94,7 @@
|
|||||||
on: memory(playedRohanMan)
|
on: memory(playedRohanMan)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
{
|
{
|
||||||
type: discard
|
type: discard
|
||||||
select: self
|
select: self
|
||||||
|
|||||||
@@ -17,8 +17,13 @@ public class Card_09_046_Tests
|
|||||||
return new GenericCardTestHelper(
|
return new GenericCardTestHelper(
|
||||||
new HashMap<>()
|
new HashMap<>()
|
||||||
{{
|
{{
|
||||||
put("card", "9_46");
|
put("arrow", "9_46");
|
||||||
// put other cards in here as needed for the test case
|
put("aragorn", "1_89");
|
||||||
|
put("eomer", "4_267");
|
||||||
|
put("spear", "4_268");
|
||||||
|
|
||||||
|
put("runner", "1_178");
|
||||||
|
|
||||||
}},
|
}},
|
||||||
GenericCardTestHelper.FellowshipSites,
|
GenericCardTestHelper.FellowshipSites,
|
||||||
GenericCardTestHelper.FOTRFrodo,
|
GenericCardTestHelper.FOTRFrodo,
|
||||||
@@ -43,7 +48,7 @@ public class Card_09_046_Tests
|
|||||||
|
|
||||||
var scn = GetScenario();
|
var scn = GetScenario();
|
||||||
|
|
||||||
var card = scn.GetFreepsCard("card");
|
var card = scn.GetFreepsCard("arrow");
|
||||||
|
|
||||||
assertEquals("The Red Arrow", card.getBlueprint().getTitle());
|
assertEquals("The Red Arrow", card.getBlueprint().getTitle());
|
||||||
assertNull(card.getBlueprint().getSubtitle());
|
assertNull(card.getBlueprint().getSubtitle());
|
||||||
@@ -55,18 +60,75 @@ public class Card_09_046_Tests
|
|||||||
assertEquals(0, card.getBlueprint().getTwilightCost());
|
assertEquals(0, card.getBlueprint().getTwilightCost());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Uncomment any @Test markers below once this is ready to be used
|
@Test
|
||||||
//@Test
|
public void TheRedArrowExertsAGondorCompToPlayRohanCompDuringAssignment() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
public void TheRedArrowTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
|
||||||
//Pre-game setup
|
//Pre-game setup
|
||||||
var scn = GetScenario();
|
var scn = GetScenario();
|
||||||
|
|
||||||
var card = scn.GetFreepsCard("card");
|
var arrow = scn.GetFreepsCard("arrow");
|
||||||
scn.FreepsMoveCardToHand(card);
|
var aragorn = scn.GetFreepsCard("aragorn");
|
||||||
|
var eomer = scn.GetFreepsCard("eomer");
|
||||||
|
var spear = scn.GetFreepsCard("spear");
|
||||||
|
scn.FreepsMoveCardToSupportArea(arrow);
|
||||||
|
scn.FreepsMoveCharToTable(aragorn);
|
||||||
|
scn.FreepsMoveCardToHand(eomer, spear);
|
||||||
|
|
||||||
|
scn.ShadowMoveCharToTable("runner");
|
||||||
|
|
||||||
scn.StartGame();
|
scn.StartGame();
|
||||||
scn.FreepsPlayCard(card);
|
|
||||||
|
|
||||||
assertEquals(0, scn.GetTwilight());
|
scn.SkipToPhase(Phase.ASSIGNMENT);
|
||||||
|
assertEquals(Zone.FREE_CHARACTERS, aragorn.getZone());
|
||||||
|
assertEquals(Zone.HAND, eomer.getZone());
|
||||||
|
assertEquals(Zone.HAND, spear.getZone());
|
||||||
|
assertEquals(0, scn.GetWoundsOn(aragorn));
|
||||||
|
|
||||||
|
assertTrue(scn.FreepsActionAvailable(arrow));
|
||||||
|
scn.FreepsUseCardAction(arrow);
|
||||||
|
assertEquals(1, scn.GetWoundsOn(aragorn));
|
||||||
|
assertEquals(Zone.FREE_CHARACTERS, eomer.getZone());
|
||||||
|
|
||||||
|
assertTrue(scn.FreepsDecisionAvailable("Would you like exert the played"));
|
||||||
|
scn.FreepsChooseNo();
|
||||||
|
assertTrue(scn.ShadowAnyDecisionsAvailable());
|
||||||
|
assertEquals(Zone.HAND, spear.getZone());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void TheRedArrowCanOptionallyPlayPossessionOnPlayedCompByExerting() throws DecisionResultInvalidException, CardNotFoundException {
|
||||||
|
//Pre-game setup
|
||||||
|
var scn = GetScenario();
|
||||||
|
|
||||||
|
var arrow = scn.GetFreepsCard("arrow");
|
||||||
|
var aragorn = scn.GetFreepsCard("aragorn");
|
||||||
|
var eomer = scn.GetFreepsCard("eomer");
|
||||||
|
var spear = scn.GetFreepsCard("spear");
|
||||||
|
scn.FreepsMoveCardToSupportArea(arrow);
|
||||||
|
scn.FreepsMoveCharToTable(aragorn);
|
||||||
|
scn.FreepsMoveCardToHand(eomer, spear);
|
||||||
|
|
||||||
|
scn.ShadowMoveCharToTable("runner");
|
||||||
|
|
||||||
|
scn.StartGame();
|
||||||
|
|
||||||
|
scn.SkipToPhase(Phase.ASSIGNMENT);
|
||||||
|
assertEquals(Zone.FREE_CHARACTERS, aragorn.getZone());
|
||||||
|
assertEquals(Zone.HAND, eomer.getZone());
|
||||||
|
assertEquals(Zone.HAND, spear.getZone());
|
||||||
|
assertEquals(0, scn.GetWoundsOn(aragorn));
|
||||||
|
|
||||||
|
assertTrue(scn.FreepsActionAvailable(arrow));
|
||||||
|
scn.FreepsUseCardAction(arrow);
|
||||||
|
assertEquals(1, scn.GetWoundsOn(aragorn));
|
||||||
|
assertEquals(Zone.FREE_CHARACTERS, eomer.getZone());
|
||||||
|
|
||||||
|
assertEquals(0, scn.GetWoundsOn(eomer));
|
||||||
|
assertTrue(scn.FreepsDecisionAvailable("Would you like exert the played"));
|
||||||
|
scn.FreepsChooseYes();
|
||||||
|
|
||||||
|
assertEquals(1, scn.GetWoundsOn(eomer));
|
||||||
|
assertEquals(Zone.ATTACHED, spear.getZone());
|
||||||
|
assertEquals(eomer, spear.getAttachedTo());
|
||||||
|
assertTrue(scn.ShadowAnyDecisionsAvailable());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user