Tweaked The Faithful Stone errata to wait for the minion decision to be made before asking Shadow to prevent. Added unit tests for both versions of TFS.
This commit is contained in:
@@ -139,20 +139,28 @@
|
||||
culture: gondor
|
||||
filter: self
|
||||
}
|
||||
effect: {
|
||||
type: preventable
|
||||
player: shadowPlayer
|
||||
text: Would you like to add (2) to allow your minion to skirmish?
|
||||
cost: {
|
||||
type: removeTwilight
|
||||
amount: 2
|
||||
}
|
||||
effect: {
|
||||
type: cantBeAssignedToSkirmish
|
||||
effect: [
|
||||
{
|
||||
type: ChooseActiveCards
|
||||
filter: choose(minion)
|
||||
until: start(regroup)
|
||||
memorize: chosenMinion
|
||||
text: Choose a minion to prevent from skirmishing until the Regroup phase.
|
||||
}
|
||||
}
|
||||
{
|
||||
type: preventable
|
||||
player: shadowPlayer
|
||||
text: Would you like to remove (2) to allow {chosenMinion} to skirmish?
|
||||
cost: {
|
||||
type: removeTwilight
|
||||
amount: 2
|
||||
}
|
||||
effect: {
|
||||
type: cantBeAssignedToSkirmish
|
||||
filter: memory(chosenMinion)
|
||||
until: start(regroup)
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
gametext: <b>Tale.</b> Each time a non-[wraith] minion is played, you may spot a Man to put a [gondor] token here.<br><b>Maneuver:</b> Remove 3 [gondor] tokens from here to spot a minion. That minion cannot be assigned to a skirmish until the regroup phase. Any Shadow player may remove (2) to prevent this.
|
||||
|
||||
@@ -0,0 +1,227 @@
|
||||
package com.gempukku.lotro.cards.official.set18;
|
||||
|
||||
import com.gempukku.lotro.cards.GenericCardTestHelper;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.game.CardNotFoundException;
|
||||
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class Card_18_050_Tests
|
||||
{
|
||||
|
||||
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
|
||||
return new GenericCardTestHelper(
|
||||
new HashMap<>()
|
||||
{{
|
||||
put("stone", "18_50");
|
||||
put("boromir", "1_96");
|
||||
put("ravager", "4_15");
|
||||
put("morc", "7_193");
|
||||
put("uruk", "4_187");
|
||||
}},
|
||||
GenericCardTestHelper.FellowshipSites,
|
||||
GenericCardTestHelper.FOTRFrodo,
|
||||
GenericCardTestHelper.FOTRRing
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TheFaithfulStoneStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
|
||||
/**
|
||||
* Set: 18
|
||||
* Title: *The Faithful Stone
|
||||
* Side: Free Peoples
|
||||
* Culture: Gondor
|
||||
* Twilight Cost: 3
|
||||
* Type: condition
|
||||
* Subtype: Support Area
|
||||
* Game Text: <b>Tale.</b> Each time a non-[wraith] minion is played, you may spot a Man to put a [gondor] token here.<br><b>Maneuver:</b> Remove 3 [gondor] tokens from here to spot a minion. That minion cannot be assigned to a skirmish until the regroup phase. Any Shadow player may remove (2) to prevent this.
|
||||
*/
|
||||
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
|
||||
assertFalse(stone.getBlueprint().isUnique());
|
||||
assertEquals(Side.FREE_PEOPLE, stone.getBlueprint().getSide());
|
||||
assertEquals(Culture.GONDOR, stone.getBlueprint().getCulture());
|
||||
assertEquals(CardType.CONDITION, stone.getBlueprint().getCardType());
|
||||
assertTrue(scn.HasKeyword(stone, Keyword.SUPPORT_AREA));
|
||||
assertTrue(scn.HasKeyword(stone, Keyword.TALE));
|
||||
assertEquals(3, stone.getBlueprint().getTwilightCost());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TheFaithfulStoneAddsTokenWhenNonRingwraithMinionPlayedIfManCanBeSpotted() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
var boromir = scn.GetFreepsCard("boromir");
|
||||
scn.FreepsMoveCardToSupportArea(stone);
|
||||
scn.FreepsMoveCharToTable(boromir);
|
||||
|
||||
var uruk = scn.GetShadowCard("uruk");
|
||||
scn.ShadowMoveCardToHand(uruk);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
scn.ShadowPlayCard(uruk);
|
||||
scn.FreepsAcceptOptionalTrigger();
|
||||
assertEquals(1, scn.GetCultureTokensOn(stone));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TheFaithfulStoneAddsTokenWhenNonRingwraithMinionPlayedIfShadowManCanBeSpotted() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
scn.FreepsMoveCardToSupportArea(stone);
|
||||
|
||||
var uruk = scn.GetShadowCard("uruk");
|
||||
var dunlender = scn.GetShadowCard("ravager");
|
||||
scn.ShadowMoveCardToHand(uruk);
|
||||
scn.ShadowMoveCharToTable(dunlender);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
scn.ShadowPlayCard(uruk);
|
||||
scn.FreepsAcceptOptionalTrigger();
|
||||
assertEquals(1, scn.GetCultureTokensOn(stone));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TheFaithfulStoneAddsNoTokenIfManCannotBeSpotted() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
scn.FreepsMoveCardToSupportArea(stone);
|
||||
|
||||
var uruk = scn.GetShadowCard("uruk");
|
||||
scn.ShadowMoveCardToHand(uruk);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
scn.ShadowPlayCard(uruk);
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TheFaithfulStoneAddsNoTokenWhenRingwraithMinionIsPlayed() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
scn.FreepsMoveCardToSupportArea(stone);
|
||||
|
||||
var morc = scn.GetShadowCard("morc");
|
||||
scn.ShadowMoveCardToHand(morc);
|
||||
|
||||
scn.StartGame();
|
||||
scn.SetTwilight(10);
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
scn.ShadowPlayCard(morc);
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TheFaithfulStoneManueverActionCannotBeUsedIfLessThan3Tokens() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
var boromir = scn.GetFreepsCard("boromir");
|
||||
scn.FreepsMoveCardToSupportArea(stone);
|
||||
scn.FreepsMoveCharToTable(boromir);
|
||||
|
||||
var uruk = scn.GetShadowCard("uruk");
|
||||
scn.ShadowMoveCharToTable(uruk);
|
||||
|
||||
scn.StartGame();
|
||||
scn.AddTokensToCard(stone, 2);
|
||||
scn.SkipToPhase(Phase.MANEUVER);
|
||||
|
||||
assertFalse(scn.FreepsActionAvailable(stone));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TheFaithfulStoneManueverActionRemoves3TokensToPreventAssigningTargetMinion() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
scn.FreepsMoveCardToSupportArea(stone);
|
||||
|
||||
var uruk = scn.GetShadowCard("uruk");
|
||||
scn.ShadowMoveCharToTable(uruk);
|
||||
|
||||
scn.StartGame();
|
||||
scn.AddTokensToCard(stone, 3);
|
||||
scn.SkipToPhase(Phase.MANEUVER);
|
||||
|
||||
scn.SetTwilight(0);
|
||||
assertTrue(scn.FreepsActionAvailable(stone));
|
||||
assertEquals(3, scn.GetCultureTokensOn(stone));
|
||||
scn.FreepsUseCardAction(stone);
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
|
||||
// Maneuver actions
|
||||
scn.ShadowPassCurrentPhaseAction();
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
//Both pass Archery actions
|
||||
scn.PassCurrentPhaseActions();
|
||||
//Both pass Assignment actions
|
||||
scn.PassCurrentPhaseActions();
|
||||
//Both pass Fierce Assignment actions
|
||||
scn.PassCurrentPhaseActions();
|
||||
|
||||
//We are now straight to the Regroup phase as there are no assignable minions
|
||||
assertEquals(Phase.REGROUP, scn.GetCurrentPhase());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TheFaithfulStoneManueverActionCanBePreventedByShadowRemoving2Twilight() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
scn.FreepsMoveCardToSupportArea(stone);
|
||||
|
||||
var uruk = scn.GetShadowCard("uruk");
|
||||
scn.ShadowMoveCharToTable(uruk);
|
||||
|
||||
scn.StartGame();
|
||||
scn.AddTokensToCard(stone, 3);
|
||||
scn.SkipToPhase(Phase.MANEUVER);
|
||||
|
||||
scn.SetTwilight(2);
|
||||
assertTrue(scn.FreepsActionAvailable(stone));
|
||||
assertEquals(3, scn.GetCultureTokensOn(stone));
|
||||
scn.FreepsUseCardAction(stone);
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
|
||||
assertEquals(2, scn.GetTwilight());
|
||||
assertTrue(scn.ShadowDecisionAvailable("Would you like to - remove (2) to prevent"));
|
||||
scn.ShadowChooseYes();
|
||||
assertEquals(0, scn.GetTwilight());
|
||||
|
||||
scn.SkipToAssignments();
|
||||
assertTrue(scn.FreepsDecisionAvailable("assign"));
|
||||
}
|
||||
}
|
||||
@@ -3,26 +3,25 @@ package com.gempukku.lotro.cards.unofficial.pc.errata.set18;
|
||||
import com.gempukku.lotro.cards.GenericCardTestHelper;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.game.CardNotFoundException;
|
||||
import com.gempukku.lotro.game.PhysicalCardImpl;
|
||||
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
|
||||
import com.gempukku.lotro.logic.modifiers.MoveLimitModifier;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
public class Card_18_050_ErrataTests
|
||||
{
|
||||
|
||||
protected GenericCardTestHelper GetScenario() throws CardNotFoundException, DecisionResultInvalidException {
|
||||
return new GenericCardTestHelper(
|
||||
new HashMap<String, String>()
|
||||
new HashMap<>()
|
||||
{{
|
||||
put("card", "68_50");
|
||||
// put other cards in here as needed for the test case
|
||||
put("stone", "68_50");
|
||||
put("boromir", "1_96");
|
||||
put("ravager", "4_15");
|
||||
put("morc", "7_193");
|
||||
put("uruk", "4_187");
|
||||
}},
|
||||
GenericCardTestHelper.FellowshipSites,
|
||||
GenericCardTestHelper.FOTRFrodo,
|
||||
@@ -30,9 +29,7 @@ public class Card_18_050_ErrataTests
|
||||
);
|
||||
}
|
||||
|
||||
// Uncomment both @Test markers below once this is ready to be used
|
||||
|
||||
//@Test
|
||||
@Test
|
||||
public void TheFaithfulStoneStatsAndKeywordsAreCorrect() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
|
||||
/**
|
||||
@@ -49,34 +46,180 @@ public class Card_18_050_ErrataTests
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl card = scn.GetFreepsCard("card");
|
||||
|
||||
assertTrue(card.getBlueprint().isUnique());
|
||||
assertEquals(Side.FREE_PEOPLE, card.getBlueprint().getSide());
|
||||
assertEquals(Culture.GONDOR, card.getBlueprint().getCulture());
|
||||
assertEquals(CardType.CONDITION, card.getBlueprint().getCardType());
|
||||
//assertEquals(Race.CREATURE, card.getBlueprint().getRace());
|
||||
assertTrue(scn.HasKeyword(card, Keyword.SUPPORT_AREA));
|
||||
assertEquals(3, card.getBlueprint().getTwilightCost());
|
||||
//assertEquals(, card.getBlueprint().getStrength());
|
||||
//assertEquals(, card.getBlueprint().getVitality());
|
||||
//assertEquals(, card.getBlueprint().getResistance());
|
||||
//assertEquals(Signet., card.getBlueprint().getSignet());
|
||||
//assertEquals(, card.getBlueprint().getSiteNumber()); // Change this to getAllyHomeSiteNumbers for allies
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
|
||||
assertTrue(stone.getBlueprint().isUnique());
|
||||
assertEquals(Side.FREE_PEOPLE, stone.getBlueprint().getSide());
|
||||
assertEquals(Culture.GONDOR, stone.getBlueprint().getCulture());
|
||||
assertEquals(CardType.CONDITION, stone.getBlueprint().getCardType());
|
||||
assertTrue(scn.HasKeyword(stone, Keyword.SUPPORT_AREA));
|
||||
assertTrue(scn.HasKeyword(stone, Keyword.TALE));
|
||||
assertEquals(3, stone.getBlueprint().getTwilightCost());
|
||||
}
|
||||
|
||||
//@Test
|
||||
public void TheFaithfulStoneTest1() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
@Test
|
||||
public void TheFaithfulStoneAddsTokenWhenNonRingwraithMinionPlayedIfManCanBeSpotted() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
PhysicalCardImpl card = scn.GetFreepsCard("card");
|
||||
scn.FreepsMoveCardToHand(card);
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
var boromir = scn.GetFreepsCard("boromir");
|
||||
scn.FreepsMoveCardToSupportArea(stone);
|
||||
scn.FreepsMoveCharToTable(boromir);
|
||||
|
||||
var uruk = scn.GetShadowCard("uruk");
|
||||
scn.ShadowMoveCardToHand(uruk);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPlayCard(card);
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertEquals(3, scn.GetTwilight());
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
scn.ShadowPlayCard(uruk);
|
||||
assertEquals(1, scn.GetCultureTokensOn(stone));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TheFaithfulStoneAddsTokenWhenNonRingwraithMinionPlayedIfShadowManCanBeSpotted() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
scn.FreepsMoveCardToSupportArea(stone);
|
||||
|
||||
var uruk = scn.GetShadowCard("uruk");
|
||||
var dunlender = scn.GetShadowCard("ravager");
|
||||
scn.ShadowMoveCardToHand(uruk);
|
||||
scn.ShadowMoveCharToTable(dunlender);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
scn.ShadowPlayCard(uruk);
|
||||
assertEquals(1, scn.GetCultureTokensOn(stone));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TheFaithfulStoneAddsNoTokenIfManCannotBeSpotted() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
scn.FreepsMoveCardToSupportArea(stone);
|
||||
|
||||
var uruk = scn.GetShadowCard("uruk");
|
||||
scn.ShadowMoveCardToHand(uruk);
|
||||
|
||||
scn.StartGame();
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
scn.ShadowPlayCard(uruk);
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TheFaithfulStoneAddsNoTokenWhenRingwraithMinionIsPlayed() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
scn.FreepsMoveCardToSupportArea(stone);
|
||||
|
||||
var morc = scn.GetShadowCard("morc");
|
||||
scn.ShadowMoveCardToHand(morc);
|
||||
|
||||
scn.StartGame();
|
||||
scn.SetTwilight(10);
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
scn.ShadowPlayCard(morc);
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TheFaithfulStoneManueverActionCannotBeUsedIfLessThan3Tokens() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
var boromir = scn.GetFreepsCard("boromir");
|
||||
scn.FreepsMoveCardToSupportArea(stone);
|
||||
scn.FreepsMoveCharToTable(boromir);
|
||||
|
||||
var uruk = scn.GetShadowCard("uruk");
|
||||
scn.ShadowMoveCharToTable(uruk);
|
||||
|
||||
scn.StartGame();
|
||||
scn.AddTokensToCard(stone, 2);
|
||||
scn.SkipToPhase(Phase.MANEUVER);
|
||||
|
||||
assertFalse(scn.FreepsActionAvailable(stone));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TheFaithfulStoneManueverActionRemoves3TokensToPreventAssigningTargetMinion() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
scn.FreepsMoveCardToSupportArea(stone);
|
||||
|
||||
var uruk = scn.GetShadowCard("uruk");
|
||||
scn.ShadowMoveCharToTable(uruk);
|
||||
|
||||
scn.StartGame();
|
||||
scn.AddTokensToCard(stone, 3);
|
||||
scn.SkipToPhase(Phase.MANEUVER);
|
||||
|
||||
scn.SetTwilight(0);
|
||||
assertTrue(scn.FreepsActionAvailable(stone));
|
||||
assertEquals(3, scn.GetCultureTokensOn(stone));
|
||||
scn.FreepsUseCardAction(stone);
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
|
||||
// Maneuver actions
|
||||
scn.ShadowPassCurrentPhaseAction();
|
||||
scn.FreepsPassCurrentPhaseAction();
|
||||
//Both pass Archery actions
|
||||
scn.PassCurrentPhaseActions();
|
||||
//Both pass Assignment actions
|
||||
scn.PassCurrentPhaseActions();
|
||||
//Both pass Fierce Assignment actions
|
||||
scn.PassCurrentPhaseActions();
|
||||
|
||||
//We are now straight to the Regroup phase as there are no assignable minions
|
||||
assertEquals(Phase.REGROUP, scn.GetCurrentPhase());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TheFaithfulStoneManueverActionCanBePreventedByShadowRemoving2Twilight() throws DecisionResultInvalidException, CardNotFoundException {
|
||||
//Pre-game setup
|
||||
GenericCardTestHelper scn = GetScenario();
|
||||
|
||||
var stone = scn.GetFreepsCard("stone");
|
||||
scn.FreepsMoveCardToSupportArea(stone);
|
||||
|
||||
var uruk = scn.GetShadowCard("uruk");
|
||||
scn.ShadowMoveCharToTable(uruk);
|
||||
|
||||
scn.StartGame();
|
||||
scn.AddTokensToCard(stone, 3);
|
||||
scn.SkipToPhase(Phase.MANEUVER);
|
||||
|
||||
scn.SetTwilight(2);
|
||||
assertTrue(scn.FreepsActionAvailable(stone));
|
||||
assertEquals(3, scn.GetCultureTokensOn(stone));
|
||||
scn.FreepsUseCardAction(stone);
|
||||
assertEquals(0, scn.GetCultureTokensOn(stone));
|
||||
|
||||
assertEquals(2, scn.GetTwilight());
|
||||
assertTrue(scn.ShadowDecisionAvailable("Would you like to remove (2) to allow"));
|
||||
scn.ShadowChooseYes();
|
||||
assertEquals(0, scn.GetTwilight());
|
||||
|
||||
scn.SkipToAssignments();
|
||||
assertTrue(scn.FreepsDecisionAvailable("assign"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user