Flipping the order of deck retrieval screens so that it first shows the deck reveal and then only after shows the actual decision. Card definition fixes.
This commit is contained in:
@@ -193,7 +193,7 @@
|
||||
unique: false
|
||||
side: Shadow
|
||||
culture: Dunland
|
||||
twilight: 7
|
||||
twilight: 0
|
||||
type: Artifact
|
||||
keywords: Support Area
|
||||
effects: [
|
||||
|
||||
@@ -193,7 +193,7 @@
|
||||
collInfo: V2_48
|
||||
rarity: _
|
||||
}
|
||||
title: Fortress of My Fathers
|
||||
title: Stronghold of My Fathers
|
||||
unique: false
|
||||
side: Free Peoples
|
||||
culture: Rohan
|
||||
|
||||
@@ -81,26 +81,31 @@ public abstract class ChooseCardsFromDeckEffect extends AbstractEffect {
|
||||
cardsSelected(game, cards);
|
||||
}
|
||||
} else {
|
||||
game.getUserFeedback().sendAwaitingDecision(_playerId,
|
||||
new ArbitraryCardsSelectionDecision(1, "Choose cards from deck", new LinkedList<>(cards), minimum, _maximum) {
|
||||
@Override
|
||||
public void decisionMade(String result) throws DecisionResultInvalidException {
|
||||
var actualSelection = getSelectedCardsByResponse(result);
|
||||
if (showAll) {
|
||||
|
||||
if (showAll) {
|
||||
game.getUserFeedback().sendAwaitingDecision(_playerId,
|
||||
new ArbitraryCardsSelectionDecision(1, "You may inspect the contents of your deck before retrieving cards", game.getGameState().getDeck(_deckId), new LinkedList<>(), 0, 0) {
|
||||
@Override
|
||||
public void decisionMade(String ignored) throws DecisionResultInvalidException {
|
||||
game.getUserFeedback().sendAwaitingDecision(_playerId,
|
||||
new ArbitraryCardsSelectionDecision(2, "You may inspect the contents of your deck while retrieving cards", game.getGameState().getDeck(_deckId), new LinkedList<>(), 0, 0) {
|
||||
new ArbitraryCardsSelectionDecision(2, "Choose cards from deck", new LinkedList<>(cards), minimum, _maximum) {
|
||||
@Override
|
||||
public void decisionMade(String result2) throws DecisionResultInvalidException {
|
||||
cardsSelected(game, actualSelection);
|
||||
public void decisionMade(String result) throws DecisionResultInvalidException {
|
||||
cardsSelected(game, getSelectedCardsByResponse(result));
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
cardsSelected(game, actualSelection);
|
||||
});
|
||||
}
|
||||
else {
|
||||
game.getUserFeedback().sendAwaitingDecision(_playerId,
|
||||
new ArbitraryCardsSelectionDecision(1, "Choose cards from deck", new LinkedList<>(cards), minimum, _maximum) {
|
||||
@Override
|
||||
public void decisionMade(String result) throws DecisionResultInvalidException {
|
||||
cardsSelected(game, getSelectedCardsByResponse(result));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return new FullEffectResult(success);
|
||||
|
||||
@@ -75,13 +75,12 @@ public class Card_01_087_Tests
|
||||
assertEquals(Zone.DECK, bb.getZone());
|
||||
|
||||
scn.FreepsPlayCard(late);
|
||||
assertTrue(scn.FreepsDecisionAvailable("You may inspect the contents of your deck before retrieving cards"));
|
||||
scn.FreepsDismissRevealedCards();
|
||||
assertTrue(scn.FreepsDecisionAvailable("Choose cards from deck"));
|
||||
assertEquals(2, scn.GetFreepsCardChoiceCount());
|
||||
scn.FreepsChooseCardBPFromSelection(gandalf);
|
||||
|
||||
assertTrue(scn.FreepsDecisionAvailable("You may inspect the contents of your deck while retrieving cards"));
|
||||
scn.FreepsDismissRevealedCards();
|
||||
|
||||
assertEquals(Zone.FREE_CHARACTERS, gandalf.getZone());
|
||||
assertEquals(Zone.DECK, bb.getZone());
|
||||
}
|
||||
@@ -104,11 +103,11 @@ public class Card_01_087_Tests
|
||||
assertEquals(Zone.DECK, bb.getZone());
|
||||
|
||||
scn.FreepsPlayCard(late);
|
||||
assertTrue(scn.FreepsDecisionAvailable("You may inspect the contents of your deck before retrieving cards"));
|
||||
scn.FreepsDismissRevealedCards();
|
||||
assertTrue(scn.FreepsDecisionAvailable("Choose cards from deck"));
|
||||
assertEquals(2, scn.GetFreepsCardChoiceCount());
|
||||
scn.FreepsChooseCardBPFromSelection(bb);
|
||||
assertTrue(scn.FreepsDecisionAvailable("You may inspect the contents of your deck while retrieving cards"));
|
||||
scn.FreepsDismissRevealedCards();
|
||||
|
||||
assertEquals(Zone.DECK, gandalf.getZone());
|
||||
assertEquals(Zone.SUPPORT, bb.getZone());
|
||||
|
||||
@@ -223,9 +223,9 @@ public class Card_09_001_Tests
|
||||
assertTrue(scn.FreepsActionAvailable(ring));
|
||||
|
||||
scn.FreepsUseCardAction(ring);
|
||||
scn.FreepsDismissRevealedCards();
|
||||
assertEquals(2, scn.FreepsGetSelectableCount());
|
||||
scn.FreepsChooseCardBPFromSelection(ring1);
|
||||
scn.FreepsDismissRevealedCards();
|
||||
|
||||
assertEquals(3, scn.GetBurdens());
|
||||
assertEquals(Zone.ATTACHED, ring1.getZone());
|
||||
|
||||
@@ -91,6 +91,7 @@ public class Card_11_235_Tests
|
||||
|
||||
assertTrue(scn.FreepsHasOptionalTriggerAvailable());
|
||||
scn.FreepsAcceptOptionalTrigger();
|
||||
scn.FreepsDismissRevealedCards();
|
||||
|
||||
//Not Listening is a response event, it shouldn't show up
|
||||
//Clever Hobbits is a skirmish event, also shouldn't show
|
||||
@@ -100,7 +101,6 @@ public class Card_11_235_Tests
|
||||
assertEquals(Zone.DECK, dontlook.getZone());
|
||||
assertEquals(Zone.DECK, smeagol.getZone());
|
||||
scn.FreepsChooseCardBPFromSelection(dontlook);
|
||||
scn.FreepsDismissRevealedCards();
|
||||
|
||||
assertEquals(Zone.SUPPORT, dontlook.getZone());
|
||||
assertEquals(Zone.DECK, smeagol.getZone());
|
||||
|
||||
@@ -181,10 +181,10 @@ public class Card_18_132_Tests
|
||||
assertEquals(Zone.DECK, cantea.getZone());
|
||||
|
||||
scn.ShadowChoose("5");
|
||||
scn.ShadowDismissRevealedCards();
|
||||
|
||||
assertEquals(2, scn.ShadowGetSelectableCount()); // orc + cantea, but not TWK
|
||||
scn.ShadowChooseCardBPFromSelection(orc);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
|
||||
assertEquals(Zone.SHADOW_CHARACTERS, orc.getZone());
|
||||
}
|
||||
|
||||
@@ -115,9 +115,10 @@ public class Card_02_045_ErrataTests
|
||||
assertEquals(Zone.DECK, sauron.getZone());
|
||||
assertTrue(scn.ShadowHasOptionalTriggerAvailable());
|
||||
scn.ShadowAcceptOptionalTrigger();
|
||||
scn.ShadowDismissRevealedCards();
|
||||
assertEquals(3, scn.GetShadowCardChoiceCount());
|
||||
scn.ShadowChooseCardBPFromSelection(sauron);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
|
||||
//Decline the prevention
|
||||
scn.FreepsChooseNo();
|
||||
assertEquals(Zone.DISCARD, attention.getZone());
|
||||
@@ -154,12 +155,12 @@ public class Card_02_045_ErrataTests
|
||||
assertTrue(scn.ShadowHasOptionalTriggerAvailable());
|
||||
scn.ShadowAcceptOptionalTrigger();
|
||||
assertEquals(3, scn.GetShadowCardChoiceCount());
|
||||
scn.ShadowDismissRevealedCards();
|
||||
scn.ShadowChooseCardBPFromSelection(sauron);
|
||||
|
||||
//Accept the prevention
|
||||
assertEquals(7, scn.GetFreepsDeckCount());
|
||||
assertEquals(0, scn.GetFreepsDiscardCount());
|
||||
scn.ShadowDismissRevealedCards();
|
||||
scn.FreepsChooseYes();
|
||||
assertEquals(1, scn.GetFreepsDeckCount());
|
||||
assertEquals(6, scn.GetFreepsDiscardCount());
|
||||
|
||||
@@ -132,6 +132,7 @@ public class Card_18_082_ErrataTests
|
||||
scn.FreepsChooseCardIDFromSelection(chaff1, shadow1);
|
||||
assertEquals(Zone.DECK, chaff1.getZone());
|
||||
assertEquals(Zone.DECK, shadow1.getZone());
|
||||
scn.ShadowDismissRevealedCards();
|
||||
|
||||
assertTrue(scn.ShadowDecisionAvailable("Choose card"));
|
||||
// 5 starting freeps cards - 2 put in hand + 1 shuffled into deck
|
||||
@@ -139,7 +140,7 @@ public class Card_18_082_ErrataTests
|
||||
assertEquals(Zone.DECK, chaff3.getZone());
|
||||
assertEquals(Zone.DECK, chaff4.getZone());
|
||||
scn.ShadowChooseCardBPFromSelection(chaff3, chaff4);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
|
||||
assertEquals(Zone.DISCARD, chaff3.getZone());
|
||||
assertEquals(Zone.DISCARD, chaff4.getZone());
|
||||
}
|
||||
|
||||
@@ -99,10 +99,11 @@ public class Card_18_096_ErrataTests
|
||||
assertTrue(scn.FreepsActionAvailable(horn));
|
||||
|
||||
scn.FreepsUseCardAction(horn);
|
||||
scn.FreepsDismissRevealedCards();
|
||||
|
||||
assertEquals(1, scn.GetWoundsOn(eomer));
|
||||
scn.FreepsChooseCardBPFromSelection(worker);
|
||||
scn.FreepsDismissRevealedCards();
|
||||
|
||||
assertEquals(Zone.SUPPORT, worker.getZone());
|
||||
}
|
||||
|
||||
|
||||
@@ -92,11 +92,11 @@ public class Card_V1_013_Tests
|
||||
assertEquals(0, scn.GetTwilight());
|
||||
|
||||
scn.FreepsPlayCard(counsel);
|
||||
scn.FreepsDismissRevealedCards();
|
||||
assertTrue(scn.FreepsDecisionAvailable("Choose cards from deck"));
|
||||
// Choices available should be 1 Elrond, 1 Galadriel, 1 Orophin
|
||||
assertEquals(3, scn.GetFreepsCardChoiceCount());
|
||||
scn.FreepsChooseCardBPFromSelection(scn.GetFreepsCard("elrond"));
|
||||
scn.FreepsDismissRevealedCards();
|
||||
assertTrue(scn.FreepsDecisionAvailable("Would you like to pay"));
|
||||
scn.FreepsChooseYes();
|
||||
|
||||
@@ -125,11 +125,11 @@ public class Card_V1_013_Tests
|
||||
assertEquals(0, scn.GetTwilight());
|
||||
|
||||
scn.FreepsPlayCard(counsel);
|
||||
scn.FreepsDismissRevealedCards();
|
||||
assertTrue(scn.FreepsDecisionAvailable("Choose cards from deck"));
|
||||
// Choices available should be 1 Elrond, 1 Galadriel, 1 Orophin
|
||||
assertEquals(3, scn.GetFreepsCardChoiceCount());
|
||||
scn.FreepsChooseCardBPFromSelection(scn.GetFreepsCard("elrond"));
|
||||
scn.FreepsDismissRevealedCards();
|
||||
assertTrue(scn.FreepsDecisionAvailable("Would you like to pay"));
|
||||
scn.FreepsChooseNo();
|
||||
|
||||
|
||||
@@ -96,9 +96,9 @@ public class Card_V1_037_Tests
|
||||
|
||||
assertTrue(scn.ShadowPlayAvailable(fell2));
|
||||
scn.ShadowPlayCard(fell2);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
|
||||
scn.ShadowChooseCardBPFromSelection(blade);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
assertEquals(Zone.ATTACHED, blade.getZone());
|
||||
assertEquals(nazgul, blade.getAttachedTo());
|
||||
|
||||
|
||||
@@ -125,6 +125,7 @@ public class Card_V1_050_Tests
|
||||
assertEquals(0, scn.GetWoundsOn(bilbo));
|
||||
|
||||
scn.FreepsUseCardAction(bilbo);
|
||||
scn.FreepsDismissRevealedCards();
|
||||
assertEquals(2, scn.GetWoundsOn(bilbo));
|
||||
assertTrue(scn.FreepsDecisionAvailable("Choose cards from deck"));
|
||||
assertEquals(3, scn.GetFreepsCardChoiceCount()); // coat, sting, and phial
|
||||
@@ -137,7 +138,6 @@ public class Card_V1_050_Tests
|
||||
assertTrue(scn.FreepsDecisionAvailable("Choose cards from deck"));
|
||||
assertEquals(2, scn.GetFreepsCardChoiceCount());
|
||||
scn.FreepsChooseCardBPFromSelection(phial);
|
||||
scn.FreepsDismissRevealedCards();
|
||||
assertEquals(Zone.ATTACHED, phial.getZone());
|
||||
assertEquals(frodo, phial.getAttachedTo());
|
||||
|
||||
|
||||
@@ -89,9 +89,9 @@ public class Card_V1_057_Tests
|
||||
assertEquals(Zone.DECK, cond.getZone());
|
||||
|
||||
scn.FreepsAcceptOptionalTrigger();
|
||||
scn.FreepsDismissRevealedCards();
|
||||
assertEquals(1, scn.GetWoundsOn(frodo));
|
||||
scn.FreepsChooseCardBPFromSelection(cond);
|
||||
scn.FreepsDismissRevealedCards();
|
||||
assertEquals(Zone.ATTACHED, cond.getZone());
|
||||
}
|
||||
|
||||
|
||||
@@ -116,13 +116,13 @@ public class Card_V2_022_Tests
|
||||
assertEquals(8, scn.GetShadowDeckCount());
|
||||
|
||||
scn.ShadowPlayCard(folly);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
//8 cards, 7 items, but 2 are free peoples
|
||||
assertEquals(5, scn.GetShadowCardChoiceCount());
|
||||
scn.ShadowDecisionAvailable("Choose cards from deck");
|
||||
assertEquals(0, scn.ShadowGetChoiceMin());
|
||||
assertEquals(4, scn.ShadowGetChoiceMax());
|
||||
scn.ShadowChooseCardBPFromSelection(item1, item2, item3, item4);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
assertEquals(4, scn.GetShadowHandCount());
|
||||
assertEquals(4, scn.GetShadowDeckCount());
|
||||
}
|
||||
@@ -153,13 +153,13 @@ public class Card_V2_022_Tests
|
||||
assertEquals(9, scn.GetShadowDeckCount());
|
||||
|
||||
scn.ShadowPlayCard(folly);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
//8 cards, 7 items, but 2 are free peoples
|
||||
assertEquals(5, scn.GetShadowCardChoiceCount());
|
||||
scn.ShadowDecisionAvailable("Choose cards from deck");
|
||||
assertEquals(0, scn.ShadowGetChoiceMin());
|
||||
assertEquals(4, scn.ShadowGetChoiceMax());
|
||||
scn.ShadowChooseCardBPFromSelection(item1, item2, item3, item4);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
assertEquals(4, scn.GetShadowHandCount());
|
||||
assertEquals(4, scn.GetShadowDeckCount());
|
||||
}
|
||||
|
||||
@@ -128,22 +128,22 @@ public class Card_V2_036_Tests
|
||||
|
||||
assertTrue(scn.ShadowDecisionAvailable("Choose action to perform"));
|
||||
scn.ShadowChooseMultipleChoiceOption("deck");
|
||||
scn.ShadowDismissRevealedCards();
|
||||
|
||||
assertEquals(3, scn.ShadowGetSelectableCount());
|
||||
assertEquals(Zone.DECK, warg1.getZone());
|
||||
scn.ShadowChooseCardBPFromSelection(warg1);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
assertEquals(Zone.STACKED, warg1.getZone());
|
||||
assertSame(pit, warg1.getStackedOn());
|
||||
|
||||
//We now optionally do it all again a second time
|
||||
assertTrue(scn.ShadowDecisionAvailable("Choose action to perform"));
|
||||
scn.ShadowChooseMultipleChoiceOption("deck");
|
||||
scn.ShadowDismissRevealedCards();
|
||||
|
||||
assertEquals(2, scn.ShadowGetSelectableCount());
|
||||
assertEquals(Zone.DECK, warg2.getZone());
|
||||
scn.ShadowChooseCardBPFromSelection(warg2);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
assertEquals(Zone.STACKED, warg2.getZone());
|
||||
assertSame(pit, warg2.getStackedOn());
|
||||
|
||||
@@ -174,11 +174,11 @@ public class Card_V2_036_Tests
|
||||
|
||||
assertTrue(scn.ShadowDecisionAvailable("Choose action to perform"));
|
||||
scn.ShadowChooseMultipleChoiceOption("deck");
|
||||
scn.ShadowDismissRevealedCards();
|
||||
|
||||
assertEquals(1, scn.ShadowGetSelectableCount());
|
||||
assertEquals(Zone.DECK, warg1.getZone());
|
||||
scn.ShadowChooseCardBPFromSelection(warg1);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
assertEquals(Zone.STACKED, warg1.getZone());
|
||||
assertSame(pit, warg1.getStackedOn());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user