Fixing Terrible as the Dawn errata not working on a wounded galadriel

This commit is contained in:
Christian 'ketura' McCarty
2023-05-19 10:10:27 -05:00
parent b27dde3742
commit 33da39a3c8
2 changed files with 108 additions and 58 deletions

View File

@@ -493,13 +493,7 @@
] ]
effects: { effects: {
type: event type: event
effect: { effect: [
type: choice
texts: [
Ring-bound Galadriel
Unbound/Ally Galadriel
]
effects: [
{ {
type: conditional type: conditional
requires: { requires: {
@@ -559,7 +553,6 @@
} }
] ]
} }
}
gametext: <b>Maneuver:</b> Spot a [sauron] minion to wound Galadriel 3 times. The Free Peoples player may discard 2 Elves to prevent this. If Galadriel is Ring-bound, 2 burdens may be added instead. gametext: <b>Maneuver:</b> Spot a [sauron] minion to wound Galadriel 3 times. The Free Peoples player may discard 2 Elves to prevent this. If Galadriel is Ring-bound, 2 burdens may be added instead.
lore: "'In the place of the Dark Lord, you would have a Queen... All shall love me and despair!'" lore: "'In the place of the Dark Lord, you would have a Queen... All shall love me and despair!'"

View File

@@ -141,6 +141,34 @@ public class Card_03_103_ErrataTests
assertEquals(Zone.DEAD, galadriel.getZone()); assertEquals(Zone.DEAD, galadriel.getZone());
} }
@Test
public void WoundedUnboundGaladrielIsWounded3Times() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetUnboundScenario();
var terrible = scn.GetShadowCard("terrible");
var troll = scn.GetShadowCard("troll");
scn.ShadowMoveCardToHand(terrible);
scn.ShadowMoveCharToTable(troll);
var galadriel = scn.GetFreepsCard("galadriel");
scn.FreepsMoveCharToTable(galadriel);
scn.FreepsMoveCardToSupportArea("hosts");
scn.StartGame();
scn.AddWoundsToChar(galadriel, 2);
scn.SkipToPhase(Phase.MANEUVER);
scn.FreepsPassCurrentPhaseAction();
scn.ShadowPlayCard(terrible);
assertEquals(Zone.FREE_CHARACTERS, galadriel.getZone());
assertEquals(2, scn.GetWoundsOn(galadriel));
scn.FreepsDeclineOptionalTrigger();
assertEquals(Zone.DEAD, galadriel.getZone());
}
@Test @Test
public void UnboundGaladrielCanDiscard2ElvesToSaveGaladriel() throws DecisionResultInvalidException, CardNotFoundException { public void UnboundGaladrielCanDiscard2ElvesToSaveGaladriel() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup //Pre-game setup
@@ -206,6 +234,35 @@ public class Card_03_103_ErrataTests
assertEquals(Zone.DEAD, galadriel.getZone()); assertEquals(Zone.DEAD, galadriel.getZone());
} }
@Test
public void WoundedRBGaladrielIsWounded3Times() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
var scn = GetRBScenario();
var terrible = scn.GetShadowCard("terrible");
var troll = scn.GetShadowCard("troll");
scn.ShadowMoveCardToHand(terrible);
scn.ShadowMoveCharToTable(troll);
var galadriel = scn.GetRingBearer();
scn.FreepsMoveCardToSupportArea("hosts");
scn.StartGame();
scn.AddWoundsToChar(galadriel, 2);
scn.SkipToPhase(Phase.MANEUVER);
scn.FreepsPassCurrentPhaseAction();
scn.ShadowPlayCard(terrible);
scn.FreepsChooseNo();
assertEquals(Zone.FREE_CHARACTERS, galadriel.getZone());
assertEquals(2, scn.GetWoundsOn(galadriel));
scn.FreepsDeclineOptionalTrigger();
assertEquals(Zone.DEAD, galadriel.getZone());
}
@Test @Test
public void RBGaladrielCanDiscard2ElvesToSaveGaladriel() throws DecisionResultInvalidException, CardNotFoundException { public void RBGaladrielCanDiscard2ElvesToSaveGaladriel() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup //Pre-game setup