diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set03/set03-Sauron-errata.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set03/set03-Sauron-errata.hjson index d4ea260b9..47abce261 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set03/set03-Sauron-errata.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/errata/set03/set03-Sauron-errata.hjson @@ -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: Maneuver: 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!'" diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set03/Card_03_103_ErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set03/Card_03_103_ErrataTests.java index df42465dd..2adcb7cdd 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set03/Card_03_103_ErrataTests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set03/Card_03_103_ErrataTests.java @@ -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