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,72 +493,65 @@
]
effects: {
type: event
effect: {
type: choice
texts: [
Ring-bound Galadriel
Unbound/Ally Galadriel
]
effects: [
{
type: conditional
requires: {
type: CanSpot
filter: title(Galadriel),Ring-bound
effect: [
{
type: conditional
requires: {
type: CanSpot
filter: title(Galadriel),Ring-bound
}
effect: {
type: preventable
player: freeps
cost: {
type: choice
texts: [
Discard 2 Elves
Add 2 burdens
]
effects: [
{
type: discard
filter: choose(Elf)
count: 2
}
{
type: AddBurdens
amount: 2
}
]
}
text: Discard 2 Elves or add 2 burdens to prevent wounding Galadriel 3 times
effect: {
type: preventable
player: freeps
cost: {
type: choice
texts: [
Discard 2 Elves
Add 2 burdens
]
effects: [
{
type: discard
filter: choose(Elf)
count: 2
}
{
type: AddBurdens
amount: 2
}
]
}
text: Discard 2 Elves or add 2 burdens to prevent wounding Galadriel 3 times
effect: {
type: wound
times: 3
filter: choose(title(Galadriel))
}
type: wound
times: 3
filter: choose(title(Galadriel))
}
}
{
type: conditional
requires: {
type: CantSpot
filter: title(Galadriel),Ring-bound
}
{
type: conditional
requires: {
type: CantSpot
filter: title(Galadriel),Ring-bound
}
effect: {
type: preventable
player: freeps
cost: {
type: discard
filter: choose(Elf)
count: 2
}
text: Discard 2 Elves to prevent wounding Galadriel 3 times
effect: {
type: preventable
player: freeps
cost: {
type: discard
filter: choose(Elf)
count: 2
}
text: Discard 2 Elves to prevent wounding Galadriel 3 times
effect: {
type: wound
times: 3
filter: choose(title(Galadriel))
}
type: wound
times: 3
filter: choose(title(Galadriel))
}
}
]
}
}
]
}
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!'"

View File

@@ -141,6 +141,34 @@ public class Card_03_103_ErrataTests
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
public void UnboundGaladrielCanDiscard2ElvesToSaveGaladriel() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup
@@ -206,6 +234,35 @@ public class Card_03_103_ErrataTests
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
public void RBGaladrielCanDiscard2ElvesToSaveGaladriel() throws DecisionResultInvalidException, CardNotFoundException {
//Pre-game setup