Applied Legacy Ruling #4

This commit is contained in:
Christian 'ketura' McCarty
2025-05-04 10:22:27 -05:00
parent 1c569779f4
commit 4f7023f3c7
2 changed files with 22 additions and 86 deletions

View File

@@ -645,22 +645,6 @@
{
type: Trigger
optional: false
trigger: [
{
type: MovesTo
filter: self
}
{
type: StartOfPhase
phase: Fellowship
}
]
requires: {
type: Location
filter: self
}
effect: {
type: addTrigger
trigger: {
type: StartOfSkirmishInvolving
filter: culture(rohan),companion
@@ -679,9 +663,6 @@
keyword: fierce
until: regroup
}
until: regroup
}
limitPerTurn: 1
}
]
gametext: <b>Plains</b>. Until the regroup phase, each minion skirmishing a [rohan] companion loses <b>fierce</b> and cannot gain fierce.

View File

@@ -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: <b>Plains</b>. Until the regroup phase, each minion skirmishing a [rohan] companion loses <b>fierce</b> and cannot gain fierce.
* Game Text: <b>Plains</b>. Until the regroup phase, each minion skirmishing a [rohan] companion loses
* <b>fierce</b> 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.
* <a href="https://wiki.lotrtcgpc.net/wiki/Legacy_Ruling_4">Wiki LR#4</a>
*/
@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},