Fixed multiple instances of One Purpose triggering on the same tentacle.
Fixed Darkness Grew acting like it could be activated at any time.  Also fixed it not looking for the Balrog.
Hopefully fixed Dark Waters not self-defending
This commit is contained in:
Christian 'ketura' McCarty
2021-11-07 18:59:57 -06:00
parent 33bbd8995b
commit 2054925fcf
4 changed files with 86 additions and 32 deletions

View File

@@ -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"
}
},
]

View File

@@ -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.
}

View File

@@ -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());
}
}

View File

@@ -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());
}
}