From 9694d092c2305bb9d4576222a95f8f4386835663 Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Sun, 7 Nov 2021 23:58:19 -0600 Subject: [PATCH] Trying to address discard ability for moria vset1 --- .../cards/set101/set101_moria_playtest.json | 51 +++++++++++-------- .../lotro/cards/GenericCardTestHelper.java | 4 +- .../pc/vset1/vpack1/Card_V1_034Tests.java | 8 ++- 3 files changed, 39 insertions(+), 24 deletions(-) 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 a60bcbd1a..0157902f3 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 @@ -156,10 +156,14 @@ "type": "abouttodiscard", "filter": "self" }, + "condition": { + "type": "canSpot", + "filter": "self,hasStackedCount(1,tentacle)" + }, "cost": { "type": "discardstackedcards", - "on": "self", - "filter": "choose(tentacle)", + "on": "any", + "filter": "choose(any)", "count": 1 }, "effect": { @@ -181,26 +185,33 @@ { "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": "putStackedCardsIntoHand", - - "filter": "choose(culture(moria),item)", - "on": "self" + "type": "choice", + "texts": [ + "Stack a [Moria] item here.", + "Take a [Moria] item stacked here into hand." + ], + "effects": [ + { + "type": "stackCardsFromHand", + "filter": "choose(culture(moria),item)", + "where": "self" + }, + { + "type": "conditional", + "condition": { + "type": "canSpot", + "filter": "name(The Balrog)" + }, + "effect": { + "type": "putStackedCardsIntoHand", + "filter": "choose(culture(moria),item)", + "on": "self" + } + } + ] } - }, + } ] }, diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/GenericCardTestHelper.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/GenericCardTestHelper.java index 1dc1b73b4..2fe3a0b10 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/GenericCardTestHelper.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/GenericCardTestHelper.java @@ -456,8 +456,8 @@ public class GenericCardTestHelper extends AbstractAtTest { public void FreepsChooseToMove() throws DecisionResultInvalidException { playerDecided(P1, "0"); } public void FreepsChooseToStay() throws DecisionResultInvalidException { playerDecided(P1, "1"); } - public boolean FreepsHasOptionalTriggerAvailable() throws DecisionResultInvalidException { return FreepsDecisionAvailable("Optional Response"); } - public boolean ShadowHasOptionalTriggerAvailable() throws DecisionResultInvalidException { return ShadowDecisionAvailable("Optional Response"); } + public boolean FreepsHasOptionalTriggerAvailable() throws DecisionResultInvalidException { return FreepsDecisionAvailable("Optional"); } + public boolean ShadowHasOptionalTriggerAvailable() throws DecisionResultInvalidException { return ShadowDecisionAvailable("Optional"); } public void FreepsAcceptOptionalTrigger() throws DecisionResultInvalidException { playerDecided(P1, "0"); } public void FreepsDeclineOptionalTrigger() throws DecisionResultInvalidException { playerDecided(P1, ""); } 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 183bea811..b22f6aadb 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 @@ -114,14 +114,18 @@ public class Card_V1_034Tests PhysicalCardImpl ftentacle1 = scn.GetShadowCard("ftentacle1"); PhysicalCardImpl ftentacle2 = scn.GetShadowCard("ftentacle2"); scn.ShadowMoveCardToSupportArea(darkwaters); - scn.StackCardsOn(darkwaters, ftentacle1, ftentacle2); + //scn.ShadowMoveCardToHand(ftentacle1, ftentacle2); scn.StartGame(); + scn.StackCardsOn(darkwaters, ftentacle1, ftentacle2); scn.FreepsUseCardAction(song); scn.FreepsChooseCard(darkwaters); assertTrue(scn.ShadowHasOptionalTriggerAvailable()); - + scn.ShadowAcceptOptionalTrigger(); + scn.ShadowChooseCard(ftentacle1); + assertEquals(Zone.DISCARD, ftentacle1.getZone()); + assertEquals(Zone.SUPPORT, darkwaters); } }