- 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.
This commit is contained in:
marcins78
2013-12-18 11:29:28 +00:00
parent 04a75fb292
commit b6134e0f7d
6 changed files with 19 additions and 34 deletions

View File

@@ -1,4 +1,10 @@
<pre style="font-size:80%">
<b>18 Dec. 2013</b>
- 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.
<b>16 Dec. 2013</b>
- "Dunlending Patriarch" now correctly applies discount when calculating if it is playable.

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;