diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV01/V1_sites.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV01/V1_sites.hjson index 886fd1f55..4f242dac4 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV01/V1_sites.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/unofficial/pc/setV01/V1_sites.hjson @@ -69,12 +69,22 @@ effects: { type: activated phase: fellowship + requires: [ + { + type: perTurnLimit + limit: 6 + } + ] cost: { type: exert filter: choose(companion) memorize: exertedComp } effect: [ + { + type: incrementPerTurnLimit + limit: 6 + } { type: chooseActiveCards text: Choose a companion of a different culture to make strength +1 until the end of the turn. diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vsets/set_v01/Card_V1_059_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vsets/set_v01/Card_V1_059_Tests.java index a1122e9ae..dfa41c639 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vsets/set_v01/Card_V1_059_Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/unofficial/pc/vsets/set_v01/Card_V1_059_Tests.java @@ -22,6 +22,7 @@ public class Card_V1_059_Tests new HashMap<>() {{ put("sam", "1_311"); put("legolas", "1_50"); + put("boromir", "3_122"); }}, new HashMap<>() {{ put("site1", "1_319"); @@ -123,4 +124,59 @@ public class Card_V1_059_Tests scn.SkipToPhase(Phase.REGROUP); assertEquals(5, scn.GetStrength(sam)); } + + @Test + public void FellowshipActionLimitedTo6PerTurn() throws DecisionResultInvalidException, CardNotFoundException { + //Pre-game setup + GenericCardTestHelper scn = GetScenario(); + + PhysicalCardImpl frodo = scn.GetRingBearer(); + PhysicalCardImpl boromir = scn.GetFreepsCard("boromir"); + scn.FreepsMoveCharToTable(boromir); + + scn.StartGame(); + + scn.SkipToSite(3); + PhysicalCardImpl site3 = scn.GetCurrentSite(); + assertEquals(4, scn.GetStrength(frodo)); + + assertTrue(scn.FreepsActionAvailable(site3)); + scn.FreepsUseCardAction(site3); + scn.FreepsChooseCard(boromir); + assertEquals(5, scn.GetStrength(frodo)); + scn.FreepsUseCardAction(boromir); + + assertTrue(scn.FreepsActionAvailable(site3)); + scn.FreepsUseCardAction(site3); + scn.FreepsChooseCard(boromir); + assertEquals(6, scn.GetStrength(frodo)); + scn.FreepsUseCardAction(boromir); + + assertTrue(scn.FreepsActionAvailable(site3)); + scn.FreepsUseCardAction(site3); + scn.FreepsChooseCard(boromir); + assertEquals(7, scn.GetStrength(frodo)); + scn.FreepsUseCardAction(boromir); + + assertTrue(scn.FreepsActionAvailable(site3)); + scn.FreepsUseCardAction(site3); + scn.FreepsChooseCard(boromir); + assertEquals(8, scn.GetStrength(frodo)); + scn.FreepsUseCardAction(boromir); + + assertTrue(scn.FreepsActionAvailable(site3)); + scn.FreepsUseCardAction(site3); + scn.FreepsChooseCard(boromir); + assertEquals(9, scn.GetStrength(frodo)); + scn.FreepsUseCardAction(boromir); + + assertTrue(scn.FreepsActionAvailable(site3)); + scn.FreepsUseCardAction(site3); + scn.FreepsChooseCard(boromir); + assertEquals(10, scn.GetStrength(frodo)); + scn.FreepsUseCardAction(boromir); + + assertFalse(scn.FreepsActionAvailable(site3)); + + } }