diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set01-errata.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set01-errata.json index e76d3cbb7..d033d0ad6 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set01-errata.json +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set01-errata.json @@ -66,7 +66,7 @@ }, "effect": { "type": "heal", - "filter": "choose(ally,allyHome(fellowship,6))", + "filter": "choose(another,ally,allyHome(fellowship,6))", "count": "0-2" } }, @@ -76,12 +76,12 @@ "cost": { "type": "exert", "filter": "self", - "times": 2 + "times": 1 }, "effect": { "type": "play", "filter": "choose(elf)", - "cost": -2 + "cost": -1 } } ] @@ -307,7 +307,7 @@ "51_108": { - "title": "No Stranger to the Shadows", + "title": "*No Stranger to the Shadows", "culture": "gondor", "cost": 0, "type": "condition", @@ -318,9 +318,9 @@ "effects": { "type": "modifier", "modifier": { - "type": "addKeyword", - "filter": "bearer", - "keyword": "concealed" + "type": "modifyCost", + "filter": "site", + "amount": -1 } } }, @@ -350,18 +350,19 @@ "hand": "shadowPlayer", "forced": true, "memorize": "revealedCards", - "count":3 + "count":2 }, { - "type": "addKeyword", - "filter": "choose(companion,not(concealed))", - "keyword": "concealed", - "until": "start(regroup)", + "type": "removeTwilight", "amount": { - "type": "forEachMatchingInMemory", - "memory": "revealedCards", - "filter": "orc", - "limit": 1 + "type": "cardPhaseLimit", + "limit": 2, + "amount": { + "type": "forEachMatchingInMemory", + "memory": "revealedCards", + "filter": "orc", + "limit": 2 + } } } ] @@ -373,37 +374,26 @@ "culture": "shire", "cost": 0, "type": "condition", + "target": "or(name(Merry),name(Pippin))", "keyword": [ - "stealth", - "support area" + "stealth" ], - "effects": [ - { - "type": "extraCost", - "cost": { - "type": "exert", - "filter": "choose(hobbit)" - } - }, - { - "type": "trigger", - "trigger": { - "type": "moves" - }, - "condition": { - "type": "canSpot", - "count": 2, - "filter": "hobbit,companion" - }, - "effect": { - "type": "addKeyword", - "filter": "choose(hobbit,companion)", - "keyword": "concealed", - "until": "start(regroup)" + "effects": { + "type": "modifier", + "modifier": { + "type": "modifyCost", + "filter": "site", + "amount": { + "type": "condition", + "condition": { + "type": "cantSpot", + "filter": "companion,not(hobbit)" + }, + "true": -1, + "false": 0 } } - - ] + } }, diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set02-errata.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set02-errata.json index 9635c4397..77d0acf94 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set02-errata.json +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set02-errata.json @@ -58,40 +58,14 @@ "resistance": 6, "signet": "frodo", "keyword": "damage+1", - "effects": [ - { - "type": "modifier", - - "modifier": { - "type": "addKeyword", - "filter": "self", - "keyword": "concealed", - "condition": { - "type": "location", - "filter": "underground" - } - }, - }, - { - "type": "trigger", - "optional": true, - "trigger": { - "type": "movesTo", - "filter": "underground", - - }, - "cost": { - "type": "exert", - "filter": "self" - }, - "effect": { - "type": "addKeyword", - "filter": "choose(another,companion)", - "keyword": "concealed", - "until": "start(regroup)" - } + "effects": { + "type": "modifier", + "modifier": { + "type": "modifyCost", + "filter": "underground,site", + "amount": -1 } - ] + } }, diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set03-errata.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set03-errata.json index bbeb261a7..1f2c4cbfa 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set03-errata.json +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set51/set03-errata.json @@ -113,7 +113,7 @@ ], "effects": { "type": "trigger", - "optional": true, + "optional": false, "trigger": { "type": "movesfrom" }, @@ -122,46 +122,9 @@ "phase": "fellowship" }, "effect": { - "type": "preventable", - "effect": [ - { - "type": "addKeyword", - "filter": "choose(another,companion)", - "keyword": "concealed", - "until": "start(regroup)" - }, - { - "type": "addKeyword", - "filter": "self", - "keyword": "concealed", - "until": "start(regroup)" - }, - ], - "text": "Would you like to discard a minion (or reveal a tracker) from hand to prevent a companion becoming concealed?", - "player": "shadowPlayer", - "cost": { - "type": "choice", - "player": "shadowPlayer", - "texts": [ - "Discard a minion from hand", - "Reveal a tracker from hand" - ], - "effects": [ - { - "type": "revealCardsFromHand", - "filter": "choose(tracker)", - "hand": "shadowPlayer" - }, - { - "type": "discardFromHand", - "filter": "choose(minion)", - "forced": false, - "hand": "shadowPlayer", - } - ] - } - - }, + "type": "removeTwilight", + "amount": 1 + } } }, @@ -175,23 +138,12 @@ "possession": "Pony", "target": "name(Sam)", "effects": [ - { - "type": "trigger", - "trigger": { - "type": "played", - "filter": "self" - }, - "effect": { - "type": "heal", - "filter": "bearer" - } - }, { "type": "modifier", "modifier": { - "type": "addKeyword", - "filter": "bearer", - "keyword": "concealed" + "type": "modifyCost", + "filter": "site", + "amount": -1 } }, { diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/Galadriel_LoLErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/Galadriel_LoLErrataTests.java index da0dc2b5c..872c12514 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/Galadriel_LoLErrataTests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/Galadriel_LoLErrataTests.java @@ -28,15 +28,15 @@ public class Galadriel_LoLErrataTests {{ put("galadriel", "51_45"); put("allyHome3_1", "1_60"); - put("allyHome3_2", "1_27"); put("allyHome6_1", "1_56"); put("allyHome6_2", "1_57"); + put("allyHome6_3", "1_34"); }} ); } @Test - public void FellowshipActionExertsTwiceToDiscountAnElf() throws DecisionResultInvalidException, CardNotFoundException { + public void FellowshipActionExertsToDiscountAnElf() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup GenericCardTestHelper scn = GetSimplePlayScenario(); @@ -55,9 +55,9 @@ public class Galadriel_LoLErrataTests scn.FreepsUseCardAction(galadriel); - assertEquals(2, scn.GetWoundsOn(galadriel)); + assertEquals(1, scn.GetWoundsOn(galadriel)); assertEquals(0, scn.GetFreepsHandCount()); - assertEquals(2, scn.GetTwilight()); + assertEquals(3, scn.GetTwilight()); } @@ -67,20 +67,21 @@ public class Galadriel_LoLErrataTests GenericCardTestHelper scn = GetHome6AllyScenario(); scn.FreepsMoveCharToTable("galadriel"); scn.FreepsMoveCharToTable("allyHome3_1"); - scn.FreepsMoveCharToTable("allyHome3_2"); scn.FreepsMoveCharToTable("allyHome6_1"); scn.FreepsMoveCharToTable("allyHome6_2"); + scn.FreepsMoveCharToTable("allyHome6_3"); scn.FreepsAddWoundsToChar("galadriel", 1); scn.FreepsAddWoundsToChar("allyHome3_1", 1); - scn.FreepsAddWoundsToChar("allyHome3_2", 1); scn.FreepsAddWoundsToChar("allyHome6_1", 1); scn.FreepsAddWoundsToChar("allyHome6_2", 1); + scn.FreepsAddWoundsToChar("allyHome6_3", 1); scn.StartGame(); assertEquals(Phase.BETWEEN_TURNS, scn.GetCurrentPhase()); + //There are 5 total elf allies in play: 1 is home 3, and 1 is Galadriel herself. The rest should be eligible. assertEquals(3, scn.FreepsGetADParamAsList("cardId").size()); assertEquals("0", scn.FreepsGetADParam("min")); assertEquals("2", scn.FreepsGetADParam("max")); diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/NoStrangerErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/NoStrangerErrataTests.java index 36c3e889b..874951fce 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/NoStrangerErrataTests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/NoStrangerErrataTests.java @@ -2,6 +2,7 @@ package com.gempukku.lotro.cards.unofficial.pc.errata.set1; import com.gempukku.lotro.cards.GenericCardTestHelper; import com.gempukku.lotro.common.Keyword; +import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.game.CardNotFoundException; import com.gempukku.lotro.game.PhysicalCardImpl; import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException; @@ -30,13 +31,14 @@ public class NoStrangerErrataTests @Test - public void NoStrangerHasStealth() throws DecisionResultInvalidException, CardNotFoundException { + public void NoStrangerIsUniqueAndHasStealth() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup GenericCardTestHelper scn = GetScenario(); PhysicalCardImpl nostranger = scn.GetFreepsCard("nostranger"); assertTrue(scn.HasKeyword(nostranger, Keyword.STEALTH)); + assertTrue(nostranger.getBlueprint().isUnique()); } @Test @@ -64,34 +66,9 @@ public class NoStrangerErrataTests assertEquals(2, scn.FreepsGetADParamAsList("cardId").size()); } - @Test - public void NoStrangerLimitOnePerBearer() throws DecisionResultInvalidException, CardNotFoundException { - //Pre-game setup - GenericCardTestHelper scn = GetScenario(); - - PhysicalCardImpl aragorn = scn.GetFreepsCard("aragorn"); - PhysicalCardImpl arwen = scn.GetFreepsCard("arwen"); - PhysicalCardImpl nostranger = scn.GetFreepsCard("nostranger"); - PhysicalCardImpl nostranger2 = scn.GetFreepsCard("nostranger2"); - - scn.FreepsMoveCharToTable(aragorn); - scn.FreepsMoveCharToTable(arwen); - scn.FreepsMoveCardToHand(nostranger); - scn.FreepsMoveCardToHand(nostranger2); - - scn.StartGame(); - - scn.FreepsPlayCard(nostranger); - scn.FreepsChooseCard(aragorn); - scn.FreepsPlayCard(nostranger2); - - //No prompt means it was placed automatically on Arwen, with no choice between Arwen and Aragorn - assertFalse(scn.FreepsAnyActionsAvailable()); - - } @Test - public void NoStrangerAddsConcealed() throws DecisionResultInvalidException, CardNotFoundException { + public void NoStrangerReducesTwilight() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup GenericCardTestHelper scn = GetScenario(); @@ -105,6 +82,9 @@ public class NoStrangerErrataTests scn.FreepsPlayCard(nostranger); - scn.HasKeyword(aragorn, Keyword.CONCEALED); + scn.FreepsSkipCurrentPhaseAction(); + + // 2 for Frodo/Aragorn, 1 for the site, -1 for No Stranger + assertEquals(2, scn.GetTwilight()); } } diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/StingErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/StingErrataTests.java index 64cc421aa..7a14a7d04 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/StingErrataTests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/StingErrataTests.java @@ -78,7 +78,7 @@ public class StingErrataTests } @Test - public void StingAbilityExertsFrodoAndRevealsThreeCards() throws DecisionResultInvalidException, CardNotFoundException { + public void StingAbilityExertsFrodoAndRevealsTwoCards() throws DecisionResultInvalidException, CardNotFoundException { GenericCardTestHelper scn = GetScenario(); PhysicalCardImpl frodo = scn.GetRingBearer(); @@ -97,13 +97,13 @@ public class StingErrataTests scn.FreepsUseCardAction(sting); - //Reveals 3 cards - assertEquals(3, scn.FreepsGetADParamAsList("blueprintId").size()); + //Reveals 2 cards + assertEquals(2, scn.FreepsGetADParamAsList("blueprintId").size()); assertEquals(1, scn.GetWoundsOn(frodo)); } @Test - public void StingAbilityMakesConcealedIfOrcRevealed() throws DecisionResultInvalidException, CardNotFoundException { + public void StingAbilityRemovesTwilight() throws DecisionResultInvalidException, CardNotFoundException { GenericCardTestHelper scn = GetScenario(); PhysicalCardImpl frodo = scn.GetRingBearer(); @@ -120,63 +120,28 @@ public class StingErrataTests scn.StartGame(); - scn.FreepsUseCardAction(sting); - - //Both players have revealed cards as an action to dismiss - scn.SkipCurrentPhaseActions(); - - assertTrue(scn.FreepsCanChooseCharacter(frodo)); - assertTrue(scn.FreepsCanChooseCharacter(sam)); - assertTrue(scn.FreepsCanChooseCharacter(merry)); - - scn.FreepsChooseCard(frodo); - assertTrue(scn.HasKeyword(frodo, Keyword.CONCEALED)); + scn.SetTwilight(10); scn.FreepsUseCardAction(sting); - scn.SkipCurrentPhaseActions(); - assertFalse(scn.FreepsCanChooseCharacter(frodo)); - assertTrue(scn.FreepsCanChooseCharacter(sam)); - assertTrue(scn.FreepsCanChooseCharacter(merry)); - - scn.FreepsChooseCard(sam); - assertTrue(scn.HasKeyword(sam, Keyword.CONCEALED)); - } - - - @Test - public void StingConcealedLastsUntilNextRegroup() throws DecisionResultInvalidException, CardNotFoundException { - GenericCardTestHelper scn = GetScenario(); - - PhysicalCardImpl frodo = scn.GetRingBearer(); - PhysicalCardImpl sting = scn.GetFreepsCard("sting"); - PhysicalCardImpl sam = scn.GetFreepsCard("sam"); - - PhysicalCardImpl orc1 = scn.GetShadowCard("orc1"); - - scn.FreepsMoveCharToTable(sam); - scn.AttachCard(sting, frodo); - - scn.ShadowMoveCardToHand(orc1); - - scn.StartGame(); - - scn.SkipToPhase(Phase.REGROUP); - - scn.FreepsUseCardAction(sting); - scn.FreepsChooseCard(frodo); - //Both players have revealed cards as an action to dismiss - scn.SkipCurrentPhaseActions(); - - scn.FreepsChooseCard(frodo); - assertTrue(scn.HasKeyword(frodo, Keyword.CONCEALED)); - - scn.ShadowSkipCurrentPhaseAction(); + //Both players need to dismiss the card reveal dialog. scn.FreepsSkipCurrentPhaseAction(); - //shadow reconcile scn.ShadowSkipCurrentPhaseAction(); - scn.FreepsChooseToMove(); + // 10 twilight - 1 orc in the hand = 9 twilight + assertEquals(9, scn.GetTwilight()); + + scn.FreepsUseCardAction(sting); + scn.FreepsSkipCurrentPhaseAction(); + scn.ShadowSkipCurrentPhaseAction(); + // 9 twilight - 1 orc in the hand = 8 twilight + assertEquals(8, scn.GetTwilight()); + + scn.FreepsUseCardAction(sting); + scn.FreepsSkipCurrentPhaseAction(); + scn.ShadowSkipCurrentPhaseAction(); + // limit of 2 should have been hit, so no twilight should be removed + assertEquals(8, scn.GetTwilight()); - assertTrue(scn.HasKeyword(frodo, Keyword.CONCEALED)); } + } diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/TalentForNBSErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/TalentForNBSErrataTests.java index 97392dbb7..5a9702568 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/TalentForNBSErrataTests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set1/TalentForNBSErrataTests.java @@ -3,9 +3,11 @@ package com.gempukku.lotro.cards.unofficial.pc.errata.set1; import com.gempukku.lotro.cards.GenericCardTestHelper; import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; +import com.gempukku.lotro.common.Zone; import com.gempukku.lotro.game.CardNotFoundException; import com.gempukku.lotro.game.PhysicalCardImpl; import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException; +import junit.framework.Assert; import org.junit.Test; import java.util.HashMap; @@ -22,7 +24,8 @@ public class TalentForNBSErrataTests {{ put("talent", "51_316"); put("sam", "1_311"); - put("gaffer", "1_291"); + put("merry", "1_302"); + put("pippin", "1_307"); put("boromir", "1_97"); }} ); @@ -38,92 +41,73 @@ public class TalentForNBSErrataTests assertTrue(scn.HasKeyword(talent, Keyword.STEALTH)); } - @Test - public void TalentExertsAHobbitOnPlay() throws DecisionResultInvalidException, CardNotFoundException { + public void TalentOnlyPlaysOnMerryOrPippin() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup GenericCardTestHelper scn = GetScenario(); PhysicalCardImpl frodo = scn.GetRingBearer(); PhysicalCardImpl sam = scn.GetFreepsCard("sam"); - PhysicalCardImpl gaffer = scn.GetFreepsCard("gaffer"); - PhysicalCardImpl boromir = scn.GetFreepsCard("boromir"); + PhysicalCardImpl merry = scn.GetFreepsCard("merry"); + PhysicalCardImpl pippin = scn.GetFreepsCard("pippin"); PhysicalCardImpl talent = scn.GetFreepsCard("talent"); - scn.FreepsMoveCharToTable(sam, gaffer, boromir); + scn.FreepsMoveCharToTable(sam); + scn.FreepsMoveCharToTable(merry); + scn.FreepsMoveCharToTable(pippin); scn.FreepsMoveCardToHand(talent); scn.StartGame(); scn.FreepsPlayCard(talent); - //Frodo, Sam, Gaffer, but not Boromir - assertEquals(3, scn.FreepsCardChoiceCount()); - scn.FreepsChooseCard(frodo); - assertEquals(1, scn.GetWoundsOn(frodo)); + //There are 4 companions in play, but only 2 valid targets + assertEquals(2, scn.FreepsGetADParamAsList("cardId").size()); } + @Test - public void TalentAbilityTriggersConcealedOnMove() throws DecisionResultInvalidException, CardNotFoundException { + public void TalentReducesTwilightIfOnlyHobbits() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup GenericCardTestHelper scn = GetScenario(); PhysicalCardImpl frodo = scn.GetRingBearer(); - PhysicalCardImpl sam = scn.GetFreepsCard("sam"); - PhysicalCardImpl gaffer = scn.GetFreepsCard("gaffer"); - PhysicalCardImpl boromir = scn.GetFreepsCard("boromir"); + PhysicalCardImpl merry = scn.GetFreepsCard("merry"); PhysicalCardImpl talent = scn.GetFreepsCard("talent"); - scn.FreepsMoveCharToTable(sam, gaffer, boromir); + scn.FreepsMoveCharToTable(merry); scn.FreepsMoveCardToHand(talent); scn.StartGame(); scn.FreepsPlayCard(talent); - scn.FreepsChooseCard(frodo); scn.FreepsSkipCurrentPhaseAction(); - //Sam and Frodo, but not Gaffer or Boromir - assertEquals(2, scn.FreepsCardChoiceCount()); - scn.FreepsChooseCard(frodo); - assertTrue(scn.HasKeyword(frodo, Keyword.CONCEALED)); - - scn.SkipToPhase(Phase.REGROUP); - scn.SkipCurrentPhaseActions(); - - scn.FreepsChooseToMove(); - //Sam and Frodo, but not Gaffer or Boromir - assertEquals(2, scn.FreepsCardChoiceCount()); - scn.FreepsChooseCard(sam); - assertEquals(Phase.SHADOW, scn.GetCurrentPhase()); - assertFalse(scn.HasKeyword(frodo, Keyword.CONCEALED)); - assertTrue(scn.HasKeyword(sam, Keyword.CONCEALED)); + // 2 for Frodo/Merry, 1 for the site, -1 for Talent + assertEquals(2, scn.GetTwilight()); } @Test - public void TalentOnlyTriggersWithTwoHobbitCompanions() throws DecisionResultInvalidException, CardNotFoundException { + public void TalentDoesNotReduceIfNonHobbitCompanions() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup GenericCardTestHelper scn = GetScenario(); PhysicalCardImpl frodo = scn.GetRingBearer(); - PhysicalCardImpl sam = scn.GetFreepsCard("sam"); - PhysicalCardImpl gaffer = scn.GetFreepsCard("gaffer"); + PhysicalCardImpl merry = scn.GetFreepsCard("merry"); PhysicalCardImpl boromir = scn.GetFreepsCard("boromir"); PhysicalCardImpl talent = scn.GetFreepsCard("talent"); - scn.FreepsMoveCharToTable(gaffer, boromir); + scn.FreepsMoveCharToTable(merry, boromir); scn.FreepsMoveCardToHand(talent); scn.StartGame(); scn.FreepsPlayCard(talent); - scn.FreepsChooseCard(frodo); scn.FreepsSkipCurrentPhaseAction(); - //neither gaffer nor boromir should permit the move trigger to choose a companion - assertEquals(Phase.SHADOW, scn.GetCurrentPhase()); - assertFalse(scn.HasKeyword(frodo, Keyword.CONCEALED)); + // 3 for Frodo/Merry/Boromir, 1 for the site, Talent does not trigger + assertEquals(4, scn.GetTwilight()); } diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set2/FlamingBrandErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set2/FlamingBrandErrataTests.java index f8d0a3600..4ca5653bc 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set2/FlamingBrandErrataTests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set2/FlamingBrandErrataTests.java @@ -129,5 +129,8 @@ public class FlamingBrandErrataTests scn.FreepsUseCardAction(brand); assertEquals(11, scn.GetStrength(aragorn)); assertTrue(scn.HasKeyword(aragorn, Keyword.DAMAGE)); + + //Brand is discarded + assertFalse(scn.IsAttachedTo(brand, aragorn)); } } diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set3/HornOfBoromirErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set3/HornOfBoromirErrataTests.java index ec7937abb..424c0132b 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set3/HornOfBoromirErrataTests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set3/HornOfBoromirErrataTests.java @@ -26,7 +26,6 @@ public class HornOfBoromirErrataTests put("aragorn", "1_89"); put("runner1", "1_178"); - put("runner2", "1_178"); }}, GenericCardTestHelper.FellowshipSites, GenericCardTestHelper.FOTRFrodo, @@ -44,7 +43,6 @@ public class HornOfBoromirErrataTests put("aragorn", "1_89"); put("runner1", "1_178"); - put("runner2", "1_178"); }} ); } @@ -76,7 +74,7 @@ public class HornOfBoromirErrataTests } @Test - public void AbilityExertsAndBoromirAndAllyToSkirmish() throws DecisionResultInvalidException, CardNotFoundException { + public void AbilityExertsAndDiscardsToPermitAllyToSkirmish() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup GenericCardTestHelper scn = GetFOTRScenario(); @@ -84,14 +82,12 @@ public class HornOfBoromirErrataTests PhysicalCardImpl boromir = scn.GetFreepsCard("boromir"); PhysicalCardImpl horn = scn.GetFreepsCard("horn"); PhysicalCardImpl runner1 = scn.GetShadowCard("runner1"); - PhysicalCardImpl runner2 = scn.GetShadowCard("runner2"); scn.FreepsMoveCharToTable(elrond); scn.FreepsMoveCharToTable(boromir); scn.FreepsMoveCardToHand(horn); scn.ShadowMoveCharToTable(runner1); - scn.ShadowMoveCharToTable(runner2); scn.StartGame(); @@ -101,16 +97,16 @@ public class HornOfBoromirErrataTests assertTrue(scn.FreepsCardActionAvailable(horn)); scn.FreepsUseCardAction(horn); + //discards + assertFalse(scn.IsAttachedTo(horn, boromir)); assertEquals(1, scn.GetWoundsOn(boromir)); - assertEquals(1, scn.GetWoundsOn(elrond)); - //Base version pumps strength, ensure that's not the case here. - assertEquals(8, scn.GetStrength(elrond)); + assertEquals(11, scn.GetStrength(elrond)); scn.SkipToPhase(Phase.ASSIGNMENT); scn.SkipCurrentPhaseActions(); - scn.FreepsAssignToMinion(elrond, runner2); + scn.FreepsAssignToMinion(elrond, runner1); assertTrue(scn.IsCharAssigned(elrond)); } diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set3/Saruman_KoIErrataTests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set3/Saruman_KoIErrataTests.java index 5b417aff7..3e8f2272b 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set3/Saruman_KoIErrataTests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/errata/set3/Saruman_KoIErrataTests.java @@ -65,7 +65,7 @@ public class Saruman_KoIErrataTests assertEquals(0, scn.GetWoundsOn(uruk1)); assertEquals(1, scn.GetWoundsOn(saruman)); - //Old version made them fierc, ensure that was removed + //Old version made them fierce, ensure that was removed assertFalse(scn.HasKeyword(uruk1, Keyword.FIERCE)); //shadow has to skip archery actions