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 28cb369d0..4d208e0a7 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,10 @@
+18 Dec. 2013
+- All the "play fellowship's next site (replacing opponent's site if necessary) should now work the same way - always
+replacing next site, no matter who's it is.
+- "That's Two!" should not correctly make shadow player discard a shadow card.
+- "Madril, Defender of Osgiliath" no longer keeps making minions that were killed more expensive in discard.
+
 16 Dec. 2013
 - "Dunlending Patriarch" now correctly applies discount when calculating if it is playable.
 
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gondor/Card1_110.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gondor/Card1_110.java
index 38dd7d236..207f66c30 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gondor/Card1_110.java
+++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gondor/Card1_110.java
@@ -10,7 +10,6 @@ import com.gempukku.lotro.common.Side;
 import com.gempukku.lotro.filters.Filters;
 import com.gempukku.lotro.game.PhysicalCard;
 import com.gempukku.lotro.game.state.LotroGame;
-import com.gempukku.lotro.logic.timing.UnrespondableEffect;
 
 /**
  * Set: The Fellowship of the Ring
@@ -29,15 +28,7 @@ public class Card1_110 extends AbstractOldEvent {
     @Override
     public PlayEventAction getPlayCardAction(final String playerId, LotroGame game, PhysicalCard self, int twilightModifier, boolean ignoreRoamingPenalty) {
         final PlayEventAction action = new PlayEventAction(self, true);
-        action.appendEffect(
-                new UnrespondableEffect() {
-                    @Override
-                    protected void doPlayEffect(LotroGame game) {
-                        final PhysicalCard nextSite = game.getGameState().getSite(game.getGameState().getCurrentSiteNumber() + 1);
-                        if (nextSite == null || !nextSite.getOwner().equals(playerId))
-                            action.appendEffect(new PlayNextSiteEffect(action, playerId));
-                    }
-                });
+        action.appendEffect(new PlayNextSiteEffect(action, playerId));
         return action;
     }
 
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/gondor/Card15_064.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/gondor/Card15_064.java
index b86487438..75d49eb2b 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/gondor/Card15_064.java
+++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/gondor/Card15_064.java
@@ -50,7 +50,7 @@ public class Card15_064 extends AbstractCompanion {
             if (threats > 0)
                 action.appendEffect(
                         new AddUntilStartOfPhaseModifierEffect(
-                                new MinionSiteNumberModifier(self, Filters.in(Filters.filterActive(game.getGameState(), game.getModifiersQuerying(), CardType.MINION)), null, threats), Phase.REGROUP));
+                                new MinionSiteNumberModifier(self, Filters.and(Filters.in(Filters.filterActive(game.getGameState(), game.getModifiersQuerying(), CardType.MINION)), Filters.inPlay()), null, threats), Phase.REGROUP));
             return Collections.singletonList(action);
         }
         return null;
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set19/dwarven/Card19_004.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set19/dwarven/Card19_004.java
index 09f1b044c..5c95810d7 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set19/dwarven/Card19_004.java
+++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set19/dwarven/Card19_004.java
@@ -39,7 +39,7 @@ public class Card19_004 extends AbstractEvent {
                 new ChooseAndExertCharactersEffect(action, playerId, 1, 1, CardType.COMPANION, Keyword.FELLOWSHIP));
         for (String opponentId : GameUtils.getOpponents(game, playerId)) {
             action.appendEffect(
-                    new ChooseAndDiscardCardsFromPlayEffect(action, opponentId, 1, 1, Filters.owner(playerId), Side.SHADOW));
+                    new ChooseAndDiscardCardsFromPlayEffect(action, opponentId, 1, 1, Filters.owner(opponentId), Side.SHADOW));
         }
         return action;
     }
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/gandalf/Card2_026.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/gandalf/Card2_026.java
index 85267ead8..47f64d4cd 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/gandalf/Card2_026.java
+++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/gandalf/Card2_026.java
@@ -35,18 +35,15 @@ public class Card2_026 extends AbstractOldEvent {
     @Override
     public PlayEventAction getPlayCardAction(final String playerId, final LotroGame game, PhysicalCard self, int twilightModifier, boolean ignoreRoamingPenalty) {
         final PlayEventAction action = new PlayEventAction(self);
-        PhysicalCard nextSite = game.getGameState().getSite(game.getGameState().getCurrentSiteNumber() + 1);
-        if (nextSite == null || !nextSite.getOwner().equals(playerId)) {
-            action.appendEffect(
-                    new PlaySiteEffect(action, playerId, null, game.getGameState().getCurrentSiteNumber() + 1) {
-                        @Override
-                        protected void sitePlayedCallback(PhysicalCard site) {
-                            if (game.getModifiersQuerying().hasKeyword(game.getGameState(), site, Keyword.UNDERGROUND))
-                                action.appendEffect(
-                                        new DrawCardsEffect(action, playerId, 1));
-                        }
-                    });
-        }
+        action.appendEffect(
+                new PlaySiteEffect(action, playerId, null, game.getGameState().getCurrentSiteNumber() + 1) {
+                    @Override
+                    protected void sitePlayedCallback(PhysicalCard site) {
+                        if (game.getModifiersQuerying().hasKeyword(game.getGameState(), site, Keyword.UNDERGROUND))
+                            action.appendEffect(
+                                    new DrawCardsEffect(action, playerId, 1));
+                    }
+                });
         return action;
     }
 
diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_023.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_023.java
index 19f54f226..31274fdec 100644
--- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_023.java
+++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_023.java
@@ -14,7 +14,6 @@ import com.gempukku.lotro.game.PhysicalCard;
 import com.gempukku.lotro.game.state.LotroGame;
 import com.gempukku.lotro.logic.actions.ActivateCardAction;
 import com.gempukku.lotro.logic.timing.Action;
-import com.gempukku.lotro.logic.timing.UnrespondableEffect;
 
 import java.util.Collections;
 import java.util.List;
@@ -45,15 +44,7 @@ public class Card5_023 extends AbstractAttachable {
             final ActivateCardAction action = new ActivateCardAction(self);
             action.appendCost(
                     new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.gollumOrSmeagol));
-            action.appendEffect(
-                    new UnrespondableEffect() {
-                        @Override
-                        protected void doPlayEffect(LotroGame game) {
-                            final PhysicalCard nextSite = game.getGameState().getSite(game.getGameState().getCurrentSiteNumber() + 1);
-                            if (nextSite == null || !nextSite.getOwner().equals(playerId))
-                                action.appendEffect(new PlayNextSiteEffect(action, playerId));
-                        }
-                    });
+            action.appendEffect(new PlayNextSiteEffect(action, playerId));
             return Collections.singletonList(action);
         }
         return null;