diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set11/set11-Sites.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set11/set11-Sites.hjson index 6811abf6e..8343c676e 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set11/set11-Sites.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set11/set11-Sites.hjson @@ -645,43 +645,24 @@ { type: Trigger optional: false - trigger: [ - { - type: MovesTo - filter: self - } - { - type: StartOfPhase - phase: Fellowship - } - ] + trigger: { + type: StartOfSkirmishInvolving + filter: culture(rohan),companion + } requires: { - type: Location - filter: self + type: canSpot + filter: minion,inSkirmishAgainst(culture(rohan),companion) } effect: { - type: addTrigger - trigger: { - type: StartOfSkirmishInvolving - filter: culture(rohan),companion - } - requires: { - type: canSpot + type: RemoveKeyword + count: { + type: ForEachYouCanSpot filter: minion,inSkirmishAgainst(culture(rohan),companion) } - effect: { - type: RemoveKeyword - count: { - type: ForEachYouCanSpot - filter: minion,inSkirmishAgainst(culture(rohan),companion) - } - select: all(minion,inSkirmishAgainst(culture(rohan),companion)) - keyword: fierce - until: regroup - } + select: all(minion,inSkirmishAgainst(culture(rohan),companion)) + keyword: fierce until: regroup } - limitPerTurn: 1 } ] gametext: Plains. Until the regroup phase, each minion skirmishing a [rohan] companion loses fierce and cannot gain fierce. diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set11/Card_11_243_Tests.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set11/Card_11_243_Tests.java index 21592c99f..cc11e7ffa 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set11/Card_11_243_Tests.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/official/set11/Card_11_243_Tests.java @@ -6,7 +6,6 @@ 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.game.state.actions.DefaultActionsEnvironment; import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException; import org.junit.Test; @@ -57,7 +56,8 @@ public class Card_11_243_Tests * Type: Site * Subtype: * Site Number: * - * Game Text: Plains. Until the regroup phase, each minion skirmishing a [rohan] companion loses fierce and cannot gain fierce. + * Game Text: Plains. Until the regroup phase, each minion skirmishing a [rohan] companion loses + * fierce and cannot gain fierce. */ var scn = GetScenario(); @@ -73,23 +73,14 @@ public class Card_11_243_Tests assertEquals(3, card.getBlueprint().getTwilightCost()); } - // Uncomment any @Test markers below once this is ready to be used - //@Test - public void HarrowdaleTest1() throws DecisionResultInvalidException, CardNotFoundException { - //Pre-game setup - var scn = GetScenario(); - - var card = scn.GetFreepsCard("card"); - scn.FreepsMoveCardToHand(card); - - scn.StartGame(); - scn.FreepsPlayCard(card); - - assertEquals(3, scn.GetTwilight()); - } + /** + * As per Legacy Ruling #4, Harrowdale's text is to be interpreted as only working while the fellowship is at that site. + * Thus, if you start at Harrowdale and move away from it, the text does not "follow" the fellowship. + * Wiki LR#4 + */ @Test - public void MovingFromHarrowdaleRemovesFierceAgainstSkirmishingRohirrim() throws DecisionResultInvalidException, CardNotFoundException { + public void MovingFromHarrowdale_DOESNOT_RemoveFierceAgainstSkirmishingRohirrim() throws DecisionResultInvalidException, CardNotFoundException { //Pre-game setup var scn = GetScenario(); var harrowdale = scn.GetFreepsSite("Harrowdale"); @@ -110,7 +101,6 @@ public class Card_11_243_Tests scn.FreepsPassCurrentPhaseAction(); scn.ShadowChooseCardBPFromSelection(shadowSite2); - assertEquals(1, ((DefaultActionsEnvironment) scn._game.getActionsEnvironment()).getUntilStartOfPhaseActionProxies(Phase.REGROUP).size()); assertTrue(scn.hasKeyword(pursuer, Keyword.FIERCE)); assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); @@ -124,7 +114,8 @@ public class Card_11_243_Tests assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); scn.FreepsResolveSkirmish(eomer); - assertFalse(scn.hasKeyword(seeker, Keyword.FIERCE)); + //Fierce was not removed because Harrowdale only works while on it + assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); scn.PassCurrentPhaseActions(); scn.FreepsResolveSkirmish(aragorn); @@ -134,42 +125,9 @@ public class Card_11_243_Tests assertEquals(Phase.ASSIGNMENT, scn.GetCurrentPhase()); scn.PassCurrentPhaseActions(); - assertFalse(scn.hasKeyword(seeker, Keyword.FIERCE)); + assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); assertTrue(scn.hasKeyword(pursuer, Keyword.FIERCE)); scn.FreepsAssignToMinions(aragorn, pursuer); - - scn.FreepsResolveSkirmish(aragorn); - assertTrue(scn.hasKeyword(pursuer, Keyword.FIERCE)); - scn.PassCurrentPhaseActions(); - - //Fierce suppression should have worn off - assertEquals(Phase.REGROUP, scn.GetCurrentPhase()); - assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); - assertTrue(scn.hasKeyword(pursuer, Keyword.FIERCE)); - - scn.PassCurrentPhaseActions(); - scn.ShadowDeclineReconciliation(); - scn.FreepsChooseToMove(); - scn.ShadowChooseCardBPFromSelection(shadowSite3); - - assertEquals(0, ((DefaultActionsEnvironment) scn._game.getActionsEnvironment()).getUntilStartOfPhaseActionProxies(Phase.REGROUP).size()); - - scn.SkipToAssignments(); - scn.FreepsAssignToMinions( - new PhysicalCardImpl[] { eomer, pursuer}, - new PhysicalCardImpl[] { aragorn, seeker} - ); - - assertTrue(scn.hasKeyword(pursuer, Keyword.FIERCE)); - assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); - - scn.FreepsResolveSkirmish(eomer); - assertTrue(scn.hasKeyword(pursuer, Keyword.FIERCE)); - scn.PassCurrentPhaseActions(); - - scn.FreepsResolveSkirmish(aragorn); - assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); - scn.PassCurrentPhaseActions(); } @Test @@ -194,7 +152,6 @@ public class Card_11_243_Tests scn.FreepsPassCurrentPhaseAction(); scn.ShadowChooseCardBPFromSelection(harrowdale); - assertEquals(1, ((DefaultActionsEnvironment) scn._game.getActionsEnvironment()).getUntilStartOfPhaseActionProxies(Phase.REGROUP).size()); assertTrue(scn.hasKeyword(pursuer, Keyword.FIERCE)); assertTrue(scn.hasKeyword(seeker, Keyword.FIERCE)); @@ -236,8 +193,6 @@ public class Card_11_243_Tests scn.FreepsChooseToMove(); scn.ShadowChooseCardBPFromSelection(shadowSite3); - assertEquals(0, ((DefaultActionsEnvironment) scn._game.getActionsEnvironment()).getUntilStartOfPhaseActionProxies(Phase.REGROUP).size()); - scn.SkipToAssignments(); scn.FreepsAssignToMinions( new PhysicalCardImpl[] { eomer, pursuer},