diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set101/set101_moria_playtest.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set101/set101_moria_playtest.json index 11f9595f0..a60bcbd1a 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set101/set101_moria_playtest.json +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set101/set101_moria_playtest.json @@ -8,17 +8,15 @@ "keyword": "support area", "effects": [ { - "type": "trigger", - "optional": true, + "type": "activatedTrigger", "trigger": { "type": "winsskirmish", - "filter": "your,tentacle", - "memorize": "winner" + "filter": "your,tentacle,inSkirmish", }, "effect": { - "type": "stackcards", - "where": "self", - "filter": "memory(winner)" + "type": "stackCards", + "filter": "choose(your,tentacle,inSkirmish)", + "where": "self" } }, { @@ -152,7 +150,23 @@ ] } }, - + { + "type": "activatedtrigger", + "trigger": { + "type": "abouttodiscard", + "filter": "self" + }, + "cost": { + "type": "discardstackedcards", + "on": "self", + "filter": "choose(tentacle)", + "count": 1 + }, + "effect": { + "type": "preventDiscard", + "filter": "self" + } + } ] }, @@ -167,24 +181,24 @@ { "type": "activated", "phase": "shadow", + "effect":{ + "type": "stackCardsFromHand", + "filter": "choose(culture(moria),item)", + "where": "self" + }, + }, + { + "type": "activated", + "phase": "shadow", + "condition": { + "type": "canSpot", + "filter": "name(The Balrog)" + }, "effect": { - "type": "choice", - "texts": [ - "Stack a [moria] item here.", - "Spot The Balrog to take a [moria] item here into hand." - ], - "effects": [ - { - "type": "stackCardsFromHand", - "filter": "choose(culture(moria),item)", - "where": "self" - }, - { - "type": "putStackedCardsIntoHand", - "filter": "choose(culture(moria),item)", - "on": "self" - } - ] + "type": "putStackedCardsIntoHand", + + "filter": "choose(culture(moria),item)", + "on": "self" } }, ] diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vset1/vpack1/Card_V1_002Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vset1/vpack1/Card_V1_002Tests.java index a61dd3eb3..8bab830ac 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vset1/vpack1/Card_V1_002Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vset1/vpack1/Card_V1_002Tests.java @@ -117,11 +117,12 @@ public class Card_V1_002Tests scn.FreepsUseCardAction(deep); - //assertTrue(scn.FreepsDecisionAvailable("Choose")); - //scn.FreepsChooseCard(axe); + //for some reason, pulling cards stacked on a condition flat out doesn't work here in the test rig. assertEquals(1, scn.GetWoundsOn(gimli)); assertEquals(1, scn.GetFreepsHandCount()); assertEquals(1, scn.GetStackedCards(deep).size()); + + //for some reason, pulling cards stacked on a condition flat out doesn't work here in the test rig. } diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vset1/vpack1/Card_V1_034Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vset1/vpack1/Card_V1_034Tests.java index 374f3ba15..183bea811 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vset1/vpack1/Card_V1_034Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vset1/vpack1/Card_V1_034Tests.java @@ -27,6 +27,7 @@ public class Card_V1_034Tests put("darkwaters", "151_34"); put("ftentacle1", "2_58"); put("ftentacle2", "2_58"); + put("song", "3_5"); }}, GenericCardTestHelper.FellowshipSites, GenericCardTestHelper.FOTRFrodo, @@ -60,7 +61,7 @@ public class Card_V1_034Tests assertEquals(0, darkwaters.getBlueprint().getTwilightCost()); assertEquals(CardType.CONDITION, darkwaters.getBlueprint().getCardType()); assertEquals(Culture.MORIA, darkwaters.getBlueprint().getCulture()); - assertEquals(Side.FREE_PEOPLE, darkwaters.getBlueprint().getSide()); + assertEquals(Side.SHADOW, darkwaters.getBlueprint().getSide()); } @Test @@ -82,12 +83,45 @@ public class Card_V1_034Tests assertTrue(scn.ShadowActionAvailable("Dark Waters")); assertEquals(7, scn.GetTwilight()); + assertEquals(0, scn.GetStackedCards(darkwaters).size()); scn.ShadowUseCardAction(darkwaters); scn.ShadowChooseCard(ftentacle1); assertEquals(6, scn.GetTwilight()); + assertEquals(1, scn.GetStackedCards(darkwaters).size()); assertTrue(scn.ShadowActionAvailable("Dark Waters")); scn.ShadowUseCardAction(darkwaters); + assertEquals(5, scn.GetTwilight()); + assertEquals(2, scn.GetStackedCards(darkwaters).size()); + + + //for some reason, pulling cards stacked on a condition flat out doesn't work here in the test rig. + assertTrue(scn.ShadowActionAvailable("Dark Waters")); scn.ShadowUseCardAction(darkwaters); + assertEquals(1, scn.GetStackedCards(darkwaters).size()); + } + + + @Test + public void DarkWatersCanBurnAStackedTentacleToPreventSelfDiscard() throws DecisionResultInvalidException, CardNotFoundException { + //Pre-game setup + GenericCardTestHelper scn = GetScenario(); + + PhysicalCardImpl song = scn.GetFreepsCard("song"); + scn.FreepsMoveCardToSupportArea(song); + + PhysicalCardImpl darkwaters = scn.GetShadowCard("darkwaters"); + PhysicalCardImpl ftentacle1 = scn.GetShadowCard("ftentacle1"); + PhysicalCardImpl ftentacle2 = scn.GetShadowCard("ftentacle2"); + scn.ShadowMoveCardToSupportArea(darkwaters); + scn.StackCardsOn(darkwaters, ftentacle1, ftentacle2); + + scn.StartGame(); + + scn.FreepsUseCardAction(song); + scn.FreepsChooseCard(darkwaters); + assertTrue(scn.ShadowHasOptionalTriggerAvailable()); + + } } diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vset1/vpack1/Card_V1_035Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vset1/vpack1/Card_V1_035Tests.java index 3db0db100..33f86166d 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vset1/vpack1/Card_V1_035Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vset1/vpack1/Card_V1_035Tests.java @@ -58,11 +58,11 @@ public class Card_V1_035Tests assertEquals(1, darkness.getBlueprint().getTwilightCost()); assertEquals(CardType.CONDITION, darkness.getBlueprint().getCardType()); assertEquals(Culture.MORIA, darkness.getBlueprint().getCulture()); - assertEquals(Side.FREE_PEOPLE, darkness.getBlueprint().getSide()); + assertEquals(Side.SHADOW, darkness.getBlueprint().getSide()); } @Test - public void TheDarknessGrewTest1() throws DecisionResultInvalidException, CardNotFoundException { + public void TheDarknessGrewStacksAndRetrievesItems() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup GenericCardTestHelper scn = GetScenario(); @@ -78,14 +78,19 @@ public class Card_V1_035Tests scn.ShadowPlayCard(darkness); assertTrue(scn.ShadowActionAvailable("Darkness Grew")); + assertEquals(0, scn.GetStackedCards(darkness).size()); scn.ShadowUseCardAction(darkness); scn.ShadowChooseCard(whip); + assertEquals(1, scn.GetStackedCards(darkness).size()); scn.ShadowUseCardAction(darkness); + assertEquals(2, scn.GetStackedCards(darkness).size()); + assertFalse(scn.ShadowActionAvailable("Darkness Grew")); + //for some reason, pulling cards stacked on a condition flat out doesn't work here in the test rig. scn.ShadowPlayCard(balrog); - + assertTrue(scn.ShadowActionAvailable("Darkness Grew")); scn.ShadowUseCardAction(darkness); + assertEquals(1, scn.GetStackedCards(darkness).size()); - assertEquals(1, scn.GetTwilight()); } }