- "Return to Its Master" now also ends current skirmish, to allow assigning the Nazgul and Ring-bearer that were
skirmishing at the time when it is played.
This commit is contained in:
@@ -53,6 +53,7 @@ public class Card1_224 extends AbstractResponseOldEvent {
|
||||
List<Assignment> assignments = new LinkedList<Assignment>(game.getGameState().getAssignments());
|
||||
for (Assignment assignment : assignments)
|
||||
game.getGameState().removeAssignment(assignment);
|
||||
game.getGameState().finishSkirmish();
|
||||
|
||||
PhysicalCard ringBearer = game.getGameState().getRingBearer(game.getGameState().getCurrentPlayerId());
|
||||
|
||||
|
||||
@@ -1028,9 +1028,11 @@ public class GameState {
|
||||
}
|
||||
|
||||
public void finishSkirmish() {
|
||||
_skirmish = null;
|
||||
for (GameStateListener listener : getAllGameStateListeners())
|
||||
listener.finishSkirmish();
|
||||
if (_skirmish != null) {
|
||||
_skirmish = null;
|
||||
for (GameStateListener listener : getAllGameStateListeners())
|
||||
listener.finishSkirmish();
|
||||
}
|
||||
}
|
||||
|
||||
public PhysicalCard removeTopDeckCard(String player) {
|
||||
|
||||
@@ -17,6 +17,7 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
import static junit.framework.Assert.assertTrue;
|
||||
|
||||
public class IndividualCardAtTest extends AbstractAtTest {
|
||||
@Test
|
||||
@@ -625,4 +626,89 @@ public class IndividualCardAtTest extends AbstractAtTest {
|
||||
assertEquals(Zone.ATTACHED, hobbitSword.getZone());
|
||||
assertEquals(1, _game.getGameState().getTokenCount(corsairWarGalley, Token.RAIDER));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void returnToItsMaster() throws DecisionResultInvalidException {
|
||||
LotroDeck p1Deck = createSimplestDeck();
|
||||
p1Deck.setRing("4_1");
|
||||
LotroDeck p2Deck = createSimplestDeck();
|
||||
|
||||
Map<String, LotroDeck> decks = new HashMap<String, LotroDeck>();
|
||||
decks.put(P1, p1Deck);
|
||||
decks.put(P2, p2Deck);
|
||||
|
||||
initializeGameWithDecks(decks);
|
||||
|
||||
skipMulligans();
|
||||
|
||||
PhysicalCardImpl returnToItsMaster = new PhysicalCardImpl(102, "1_224", P2, _library.getLotroCardBlueprint("1_224"));
|
||||
_game.getGameState().addCardToZone(_game, returnToItsMaster, Zone.HAND);
|
||||
|
||||
PhysicalCardImpl nelya = new PhysicalCardImpl(102, "1_233", P2, _library.getLotroCardBlueprint("1_233"));
|
||||
_game.getGameState().addCardToZone(_game, nelya, Zone.SHADOW_CHARACTERS);
|
||||
|
||||
PhysicalCardImpl hobbitSword = new PhysicalCardImpl(102, "1_299", P1, _library.getLotroCardBlueprint("1_299"));
|
||||
_game.getGameState().attachCard(_game, hobbitSword, _game.getGameState().getRingBearer(P1));
|
||||
|
||||
// End fellowship
|
||||
playerDecided(P1, "");
|
||||
|
||||
// End shadow
|
||||
playerDecided(P2, "");
|
||||
|
||||
// End maneuvers phase
|
||||
playerDecided(P1, "");
|
||||
playerDecided(P2, "");
|
||||
|
||||
// End archery phase
|
||||
playerDecided(P1, "");
|
||||
playerDecided(P2, "");
|
||||
|
||||
// End assignment phase
|
||||
playerDecided(P1, "");
|
||||
playerDecided(P2, "");
|
||||
|
||||
// Assign
|
||||
playerDecided(P1, _game.getGameState().getRingBearer(P1).getCardId() + " " + nelya.getCardId());
|
||||
|
||||
// Choose skirmish to resolve
|
||||
playerDecided(P1, ""+_game.getGameState().getRingBearer(P1).getCardId());
|
||||
|
||||
// Skirmish phase
|
||||
AwaitingDecision skirmishAction = _userFeedback.getAwaitingDecision(P1);
|
||||
playerDecided(P1, getCardActionId(skirmishAction, "Use The One"));
|
||||
|
||||
assertTrue(_game.getGameState().isWearingRing());
|
||||
|
||||
// End skirmish phase
|
||||
playerDecided(P2, "");
|
||||
playerDecided(P1, "");
|
||||
|
||||
// Don't use Return to Its Master
|
||||
playerDecided(P2, "");
|
||||
|
||||
// End assignment phase
|
||||
playerDecided(P1, "");
|
||||
playerDecided(P2, "");
|
||||
|
||||
// Assign
|
||||
playerDecided(P1, _game.getGameState().getRingBearer(P1).getCardId() + " " + nelya.getCardId());
|
||||
|
||||
// Choose skirmish to resolve
|
||||
playerDecided(P1, ""+_game.getGameState().getRingBearer(P1).getCardId());
|
||||
|
||||
// End fierce skirmish phase
|
||||
playerDecided(P1, "");
|
||||
playerDecided(P2, "");
|
||||
|
||||
AwaitingDecision playeReturnDecision = _userFeedback.getAwaitingDecision(P2);
|
||||
playerDecided(P2, getCardActionId(playeReturnDecision, "Play Return"));
|
||||
|
||||
// Choose skirmish to resolve
|
||||
playerDecided(P1, ""+_game.getGameState().getRingBearer(P1).getCardId());
|
||||
|
||||
assertEquals(_game.getGameState().getRingBearer(P1), _game.getGameState().getSkirmish().getFellowshipCharacter());
|
||||
assertEquals(1, _game.getGameState().getSkirmish().getShadowCharacters().size());
|
||||
assertEquals(nelya, _game.getGameState().getSkirmish().getShadowCharacters().iterator().next());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
- "King's Board" now correctly allows to exert the named characters for the effect, if you do not control Eomer.
|
||||
- Another change to Muster. Now to USE Muster, you have to click the card shadow showing above the panel used to drive
|
||||
game flow (where you press "Pass" and accept your choices).
|
||||
- "Return to Its Master" now also ends current skirmish, to allow assigning the Nazgul and Ring-bearer that were
|
||||
skirmishing at the time when it is played.
|
||||
|
||||
<b>24 Oct. 2012</b>
|
||||
- Added replay speed buttons.
|
||||
|
||||
Reference in New Issue
Block a user