diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/PlaySiteEffect.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/PlaySiteEffect.java index 8b4593eda..561ed7191 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/PlaySiteEffect.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/PlaySiteEffect.java @@ -21,13 +21,15 @@ public class PlaySiteEffect extends UnrespondableEffect { GameState gameState = game.getGameState(); PhysicalCard card = gameState.getSite(_siteNumber); if (card != null) { - gameState.stopAffecting(card); + if (gameState.getCurrentSiteNumber() == _siteNumber) + gameState.stopAffecting(card); gameState.removeCardFromZone(card); gameState.addCardToZone(card, Zone.DECK); } PhysicalCard newSite = Filters.filter(gameState.getAdventureDeck(_playerId), game.getGameState(), game.getModifiersQuerying(), Filters.siteNumber(_siteNumber)).iterator().next(); gameState.sendMessage(newSite.getOwner() + " plays " + newSite.getBlueprint().getName()); gameState.addCardToZone(newSite, Zone.ADVENTURE_PATH); - gameState.startAffecting(newSite, game.getModifiersEnvironment()); + if (gameState.getCurrentSiteNumber() == _siteNumber) + gameState.startAffecting(newSite, game.getModifiersEnvironment()); } } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java index 22379ca7b..8827196a5 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java @@ -560,16 +560,18 @@ public class GameState { public void startAffectingCardsForCurrentPlayer(ModifiersEnvironment modifiersEnvironment) { for (PhysicalCardImpl physicalCard : _inPlay) { - if (isCardInPlayActive(physicalCard)) + if (isCardInPlayActive(physicalCard) && physicalCard.getBlueprint().getSide() != Side.SITE) startAffecting(physicalCard, modifiersEnvironment); } + startAffecting(getCurrentSite(), modifiersEnvironment); } public void stopAffectingCardsForCurrentPlayer() { for (PhysicalCardImpl physicalCard : _inPlay) { - if (isCardInPlayActive(physicalCard)) + if (isCardInPlayActive(physicalCard) && physicalCard.getBlueprint().getSide() != Side.SITE) stopAffecting(physicalCard); } + stopAffecting(getCurrentSite()); } public void startAffecting(PhysicalCard card, ModifiersEnvironment modifiersEnvironment) { diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/move/MovePlayerTokenToNextSiteGameProcess.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/move/MovePlayerTokenToNextSiteGameProcess.java index 09da38446..66be5e48a 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/move/MovePlayerTokenToNextSiteGameProcess.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/turn/move/MovePlayerTokenToNextSiteGameProcess.java @@ -18,7 +18,9 @@ public class MovePlayerTokenToNextSiteGameProcess implements GameProcess { @Override public void process() { GameState gameState = _game.getGameState(); + gameState.stopAffecting(gameState.getCurrentSite()); gameState.setPlayerPosition(gameState.getCurrentPlayerId(), gameState.getCurrentSiteNumber() + 1); + gameState.startAffecting(gameState.getCurrentSite(), _game.getModifiersEnvironment()); gameState.increaseMoveCount(); int siteTwilightCost = _game.getModifiersQuerying().getTwilightCost(gameState, gameState.getCurrentSite());