diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html b/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html
index 0fc0b4c0c..f5204203f 100644
--- a/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html
+++ b/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html
@@ -2,6 +2,7 @@
4 Mar. 2013
- "Elrond", "Herald to Gil-galad" now gives an option, on how many times you wish to heal that ally.
- "So Polite" now counts the threats when it resolves.
+- Game should now correctly apply any passive effects of sites on turn 1 of player 1.
20 Feb. 2013
- Corruption check at the beginning of the game (after bidding) now takes into account all resistance modifiers.
diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/PlayersDrawEightCardsGameProcess.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/PlayersDrawEightCardsGameProcess.java
index 468915981..a28280383 100644
--- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/PlayersDrawEightCardsGameProcess.java
+++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/PlayersDrawEightCardsGameProcess.java
@@ -1,5 +1,6 @@
package com.gempukku.lotro.logic.timing.processes.pregame;
+import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.game.state.GameState;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.timing.processes.GameProcess;
@@ -21,10 +22,13 @@ public class PlayersDrawEightCardsGameProcess implements GameProcess {
for (int i = 0; i < 8; i++)
gameState.playerDrawsCard(player);
}
- if (game.getFormat().hasMulliganRule())
+ if (game.getFormat().hasMulliganRule()) {
+ gameState.setCurrentPhase(Phase.BETWEEN_TURNS);
_followingGameProcess = new MulliganProcess(game.getGameState().getPlayerOrder().getClockwisePlayOrder(_firstPlayer, false));
- else
+ } else {
+ gameState.setCurrentPhase(Phase.BETWEEN_TURNS);
_followingGameProcess = new BetweenTurnsProcess();
+ }
}
@Override
diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/IndividualCardAtTest.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/IndividualCardAtTest.java
index 947339172..a0f7e17dc 100644
--- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/IndividualCardAtTest.java
+++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/IndividualCardAtTest.java
@@ -13,9 +13,6 @@ import com.gempukku.lotro.logic.decisions.AwaitingDecisionType;
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
import com.gempukku.lotro.logic.timing.DefaultLotroGame;
import com.gempukku.lotro.logic.vo.LotroDeck;
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertTrue;
-import static org.junit.Assert.assertFalse;
import org.junit.Test;
import java.util.Arrays;
@@ -23,6 +20,10 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
+
public class IndividualCardAtTest extends AbstractAtTest {
@Test
public void dwarvenAxeDoesNotFreeze() throws DecisionResultInvalidException {
@@ -858,4 +859,55 @@ public class IndividualCardAtTest extends AbstractAtTest {
assertFalse(_game.isFinished());
}
+
+ @Test
+ public void greenHillCountryWorksForFirstPlayer() throws DecisionResultInvalidException {
+ Map decks = new HashMap();
+ LotroDeck lotroDeck = new LotroDeck("Some deck");
+ lotroDeck.setRingBearer("10_121");
+ lotroDeck.setRing("1_2");
+ // 7_330,7_336,8_117,7_342,7_345,7_350,8_120,10_120,7_360
+ lotroDeck.addSite("1_323");
+ lotroDeck.addSite("7_335");
+ lotroDeck.addSite("8_117");
+ lotroDeck.addSite("7_342");
+ lotroDeck.addSite("7_345");
+ lotroDeck.addSite("7_350");
+ lotroDeck.addSite("8_120");
+ lotroDeck.addSite("10_120");
+ lotroDeck.addSite("7_360");
+ lotroDeck.addCard("1_303");
+ decks.put(P1, lotroDeck);
+ decks.put(P2, createSimplestDeck());
+
+ _userFeedback = new DefaultUserFeedback();
+
+ LotroFormatLibrary formatLibrary = new LotroFormatLibrary(_library);
+ LotroFormat format = formatLibrary.getFormat("movie");
+
+ _game = new DefaultLotroGame(format, decks, _userFeedback, _library);
+ _userFeedback.setGame(_game);
+ _game.startGame();
+
+ // Bidding
+ playerDecided(P1, "1");
+ playerDecided(P2, "0");
+
+ // Seating choice
+ playerDecided(P1, "0");
+
+ // Play no starting companions
+ playerDecided(P1, "");
+
+ // Mulligans
+ playerDecided(P1, "0");
+ playerDecided(P2, "0");
+
+ // Fellowship phase
+ AwaitingDecision playFellowshipAction = _userFeedback.getAwaitingDecision(P1);
+ assertEquals(AwaitingDecisionType.CARD_ACTION_CHOICE, playFellowshipAction.getDecisionType());
+ playerDecided(P1, getCardActionId(playFellowshipAction, "Play Merry"));
+
+ assertEquals(0, _game.getGameState().getTwilightPool());
+ }
}