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 efe42ae0f..fbe6df55d 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 @@ -1,4 +1,7 @@
+20 Feb. 2013
+- Corruption check at the beginning of the game (after bidding) now takes into account all resistance modifiers.
+
18 Feb. 2013
- "Grond, Forged With Black Steel" should now correctly remove cards from the game.
diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/CheckForCorruptionGameProcess.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/CheckForCorruptionGameProcess.java
index f8a0cb04f..7f4903a37 100644
--- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/CheckForCorruptionGameProcess.java
+++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/CheckForCorruptionGameProcess.java
@@ -22,11 +22,13 @@ public class CheckForCorruptionGameProcess implements GameProcess {
break;
game.getGameState().startPlayerTurn(nextPlayer);
+ game.getGameState().startAffectingCardsForCurrentPlayer(game);
int ringBearerResistance = game.getModifiersQuerying().getResistance(game.getGameState(), game.getGameState().getRingBearer(nextPlayer));
if (ringBearerResistance<=0) {
game.playerLost(nextPlayer, "Corrupted before game started");
break;
}
+ game.getGameState().stopAffectingCardsForCurrentPlayer();
}
_nextProcess = new PlayStartingFellowshipGameProcess(game.getGameState().getPlayerOrder().getClockwisePlayOrder(_firstPlayer, false), _firstPlayer);
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 1b9be8c18..947339172 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
@@ -3,12 +3,19 @@ package com.gempukku.lotro.at;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.Token;
import com.gempukku.lotro.common.Zone;
+import com.gempukku.lotro.game.DefaultUserFeedback;
+import com.gempukku.lotro.game.LotroFormat;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.PhysicalCardImpl;
+import com.gempukku.lotro.game.formats.LotroFormatLibrary;
import com.gempukku.lotro.logic.decisions.AwaitingDecision;
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;
@@ -16,9 +23,6 @@ import java.util.Collection;
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
public void dwarvenAxeDoesNotFreeze() throws DecisionResultInvalidException {
@@ -815,4 +819,43 @@ public class IndividualCardAtTest extends AbstractAtTest {
assertEquals(Zone.STACKED, merry.getZone());
assertEquals(treebeard, merry.getStackedOn());
}
+
+ @Test
+ public void garradrielCorruptionAtStart() throws DecisionResultInvalidException {
+ Map decks = new HashMap();
+ LotroDeck lotroDeck = new LotroDeck("Some deck");
+ lotroDeck.setRingBearer("9_14");
+ lotroDeck.setRing("11_1");
+ lotroDeck.addSite("7_330");
+ 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");
+ 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, "5");
+ playerDecided(P2, "0");
+
+ // Seating choice
+ playerDecided(P1, "0");
+
+ _game.carryOutPendingActionsUntilDecisionNeeded();
+
+ assertFalse(_game.isFinished());
+ }
}