Fixed V1 The White Council being usable more than twice.

This commit is contained in:
Christian 'ketura' McCarty
2025-01-01 19:56:47 -06:00
parent f9a6f11ef4
commit 9e4cce82a6
3 changed files with 23 additions and 22 deletions

View File

@@ -412,11 +412,8 @@
{
type: activated
phase: regroup
limitPerPhase: 2
requires: [
{
type: perPhaseLimit
limit: 2
}
{
type: canSpot
count: 2
@@ -429,22 +426,9 @@
count: 2
}
effect: {
type: If
check: {
type: perPhaseLimit
limit: 2
}
true: [
{
type: incrementPerPhaseLimit
limit: 1
}
{
type: heal
select: choose(companion,or(name(Gandalf),signet(gandalf)))
}
]
}
}
]
gametext: While you can spot Gandalf and 2 [elven] allies, the first sentence of Saruman's game text does not apply.<br>Regroup: Exert 2 [elven] allies to heal Gandalf or a companion with the Gandalf signet (limit 2 per phase).

View File

@@ -252,6 +252,12 @@ public class GenericCardTestHelper extends AbstractAtTest {
public AwaitingDecision FreepsGetAwaitingDecision() { return GetAwaitingDecision(P1); }
public AwaitingDecision ShadowGetAwaitingDecision() { return GetAwaitingDecision(P2); }
public AwaitingDecision GetAwaitingDecision(String playerID) { return _userFeedback.getAwaitingDecision(playerID); }
public AwaitingDecision GetCurrentDecision() {
var freeps = FreepsGetAwaitingDecision();
if(freeps != null)
return freeps;
return ShadowGetAwaitingDecision();
}
public Boolean FreepsDecisionAvailable(String text) { return DecisionAvailable(P1, text); }
public Boolean ShadowDecisionAvailable(String text) { return DecisionAvailable(P2, text); }
@@ -751,7 +757,7 @@ public class GenericCardTestHelper extends AbstractAtTest {
ShadowDeclineReconciliation();
}
while(ShadowDecisionAvailable("discard down")) {
ShadowChooseCard((PhysicalCardImpl) GetShadowHand().get(0));
ShadowChooseCard((PhysicalCardImpl) GetShadowHand().getFirst());
}
}
public void SkipToPhase(Phase target) throws DecisionResultInvalidException {
@@ -767,9 +773,19 @@ public class GenericCardTestHelper extends AbstractAtTest {
else if(current == Phase.SHADOW) {
ShadowPassCurrentPhaseAction();
}
else {
var freeps = FreepsGetAwaitingDecision();
var shadow = ShadowGetAwaitingDecision();
if(freeps != null && freeps.getText().toLowerCase().contains("required")) {
FreepsChooseAction("0");
}
else if(shadow != null && shadow.getText().toLowerCase().contains("required")){
ShadowChooseAction("0");
}
else {
PassCurrentPhaseActions();
}
}
if(attempts == 20)
{

View File

@@ -177,8 +177,9 @@ public class Card_V1_018_Tests
//limit of 2 means it won't let us even with healthy allies
assertEquals(1, scn.GetWoundsOn(galadriel));
assertEquals(2, scn.GetWoundsOn(elrond));
assertTrue(scn.FreepsActionAvailable(council));
assertFalse(scn.FreepsActionAvailable(council));
scn.SkipToSite(3);
scn.SkipToPhase(Phase.REGROUP);
assertTrue(scn.FreepsActionAvailable(council));