Altered new deck tutoring setup to first only have the player select valid cards, then look at a list of all cards in the deck afterwards.
b
This commit is contained in:
@@ -59,23 +59,26 @@ public abstract class ChooseCardsFromDeckEffect extends AbstractEffect {
|
||||
} else if (cards.size() == minimum) {
|
||||
cardsSelected(game, cards);
|
||||
} else {
|
||||
if (showAll) {
|
||||
game.getUserFeedback().sendAwaitingDecision(_playerId,
|
||||
new ArbitraryCardsSelectionDecision(1, "Choose cards from deck", game.getGameState().getDeck(_deckId), new LinkedList<>(cards), minimum, _maximum) {
|
||||
@Override
|
||||
public void decisionMade(String result) throws DecisionResultInvalidException {
|
||||
cardsSelected(game, getSelectedCardsByResponse(result));
|
||||
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) {
|
||||
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) {
|
||||
@Override
|
||||
public void decisionMade(String result2) throws DecisionResultInvalidException {
|
||||
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));
|
||||
else {
|
||||
cardsSelected(game, actualSelection);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
return new FullEffectResult(success);
|
||||
|
||||
@@ -20,6 +20,7 @@ public class Card_01_087_Tests
|
||||
put("late", "1_87");
|
||||
put("gandalf", "1_72");
|
||||
put("bb", "1_70");
|
||||
put("filler", "1_75");
|
||||
}},
|
||||
GenericCardTestHelper.FellowshipSites,
|
||||
GenericCardTestHelper.FOTRFrodo,
|
||||
@@ -78,6 +79,9 @@ public class Card_01_087_Tests
|
||||
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());
|
||||
}
|
||||
@@ -103,6 +107,8 @@ public class Card_01_087_Tests
|
||||
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());
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
package com.gempukku.lotro.cards.official.set09;
|
||||
|
||||
import com.gempukku.lotro.cards.GenericCardTestHelper;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Zone;
|
||||
import com.gempukku.lotro.game.AbstractActionProxy;
|
||||
import com.gempukku.lotro.game.CardNotFoundException;
|
||||
import com.gempukku.lotro.game.PhysicalCardImpl;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
|
||||
@@ -224,6 +225,7 @@ public class Card_09_001_Tests
|
||||
scn.FreepsUseCardAction(ring);
|
||||
assertEquals(2, scn.FreepsGetSelectableCount());
|
||||
scn.FreepsChooseCardBPFromSelection(ring1);
|
||||
scn.FreepsDismissRevealedCards();
|
||||
|
||||
assertEquals(3, scn.GetBurdens());
|
||||
assertEquals(Zone.ATTACHED, ring1.getZone());
|
||||
|
||||
@@ -100,6 +100,7 @@ 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());
|
||||
|
||||
@@ -184,6 +184,7 @@ public class Card_18_132_Tests
|
||||
|
||||
assertEquals(2, scn.ShadowGetSelectableCount()); // orc + cantea, but not TWK
|
||||
scn.ShadowChooseCardBPFromSelection(orc);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
|
||||
assertEquals(Zone.SHADOW_CHARACTERS, orc.getZone());
|
||||
}
|
||||
|
||||
@@ -117,6 +117,7 @@ public class Card_02_045_ErrataTests
|
||||
scn.ShadowAcceptOptionalTrigger();
|
||||
assertEquals(3, scn.GetShadowCardChoiceCount());
|
||||
scn.ShadowChooseCardBPFromSelection(sauron);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
//Decline the prevention
|
||||
scn.FreepsChooseNo();
|
||||
assertEquals(Zone.DISCARD, attention.getZone());
|
||||
@@ -158,6 +159,7 @@ public class Card_02_045_ErrataTests
|
||||
//Accept the prevention
|
||||
assertEquals(7, scn.GetFreepsDeckCount());
|
||||
assertEquals(0, scn.GetFreepsDiscardCount());
|
||||
scn.ShadowDismissRevealedCards();
|
||||
scn.FreepsChooseYes();
|
||||
assertEquals(1, scn.GetFreepsDeckCount());
|
||||
assertEquals(6, scn.GetFreepsDiscardCount());
|
||||
|
||||
@@ -139,6 +139,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());
|
||||
}
|
||||
|
||||
@@ -102,6 +102,7 @@ public class Card_18_096_ErrataTests
|
||||
|
||||
assertEquals(1, scn.GetWoundsOn(eomer));
|
||||
scn.FreepsChooseCardBPFromSelection(worker);
|
||||
scn.FreepsDismissRevealedCards();
|
||||
assertEquals(Zone.SUPPORT, worker.getZone());
|
||||
}
|
||||
|
||||
|
||||
@@ -96,6 +96,7 @@ public class Card_V1_013_Tests
|
||||
// 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();
|
||||
|
||||
@@ -128,6 +129,7 @@ public class Card_V1_013_Tests
|
||||
// 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();
|
||||
|
||||
|
||||
@@ -98,6 +98,7 @@ public class Card_V1_037_Tests
|
||||
scn.ShadowPlayCard(fell2);
|
||||
|
||||
scn.ShadowChooseCardBPFromSelection(blade);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
assertEquals(Zone.ATTACHED, blade.getZone());
|
||||
assertEquals(nazgul, blade.getAttachedTo());
|
||||
|
||||
|
||||
@@ -130,12 +130,14 @@ public class Card_V1_050_Tests
|
||||
assertEquals(3, scn.GetFreepsCardChoiceCount()); // coat, sting, and phial
|
||||
|
||||
scn.FreepsChooseCardBPFromSelection(sting);
|
||||
scn.FreepsDismissRevealedCards();
|
||||
assertEquals(Zone.ATTACHED, sting.getZone());
|
||||
assertEquals(frodo, sting.getAttachedTo());
|
||||
|
||||
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());
|
||||
|
||||
|
||||
@@ -91,6 +91,7 @@ public class Card_V1_057_Tests
|
||||
scn.FreepsAcceptOptionalTrigger();
|
||||
assertEquals(1, scn.GetWoundsOn(frodo));
|
||||
scn.FreepsChooseCardBPFromSelection(cond);
|
||||
scn.FreepsDismissRevealedCards();
|
||||
assertEquals(Zone.ATTACHED, cond.getZone());
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.gempukku.lotro.cards.unofficial.pc.vsets.set_v02;
|
||||
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 org.junit.Test;
|
||||
|
||||
@@ -133,6 +132,7 @@ public class Card_V2_036_Tests
|
||||
assertEquals(3, scn.ShadowGetSelectableCount());
|
||||
assertEquals(Zone.DECK, warg1.getZone());
|
||||
scn.ShadowChooseCardBPFromSelection(warg1);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
assertEquals(Zone.STACKED, warg1.getZone());
|
||||
assertSame(pit, warg1.getStackedOn());
|
||||
|
||||
@@ -143,6 +143,7 @@ public class Card_V2_036_Tests
|
||||
assertEquals(2, scn.ShadowGetSelectableCount());
|
||||
assertEquals(Zone.DECK, warg2.getZone());
|
||||
scn.ShadowChooseCardBPFromSelection(warg2);
|
||||
scn.ShadowDismissRevealedCards();
|
||||
assertEquals(Zone.STACKED, warg2.getZone());
|
||||
assertSame(pit, warg2.getStackedOn());
|
||||
|
||||
@@ -177,6 +178,7 @@ public class Card_V2_036_Tests
|
||||
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