- "Pillage of Rohan" should now correctly prevent FP player from playing Skirmish events and special abilities.

This commit is contained in:
marcins78@gmail.com
2012-02-08 23:33:53 +00:00
parent d7d08e33aa
commit 5c86ba6e48
3 changed files with 48 additions and 14 deletions

View File

@@ -0,0 +1,36 @@
package com.gempukku.lotro.cards.modifiers;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.Side;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
import com.gempukku.lotro.logic.modifiers.AbstractModifier;
import com.gempukku.lotro.logic.modifiers.Condition;
import com.gempukku.lotro.logic.modifiers.ModifierEffect;
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
import com.gempukku.lotro.logic.timing.Action;
public class SidePlayerCantPlayPhaseEventsOrSpecialAbilitiesModifier extends AbstractModifier {
private Side _side;
private Phase _phase;
public SidePlayerCantPlayPhaseEventsOrSpecialAbilitiesModifier(PhysicalCard source, Side side, Phase phase) {
this(source, null, side, phase);
}
public SidePlayerCantPlayPhaseEventsOrSpecialAbilitiesModifier(PhysicalCard source, Condition condition, Side side, Phase phase) {
super(source, null, null, condition, ModifierEffect.ACTION_MODIFIER);
_side = side;
_phase = phase;
}
@Override
public boolean canPlayAction(GameState gameState, ModifiersQuerying modifiersQuerying, String performingPlayer, Action action) {
if (action.getActionTimeword() == _phase
&& (
(_side == Side.FREE_PEOPLE && action.getPerformingPlayer().equals(gameState.getCurrentPlayerId()))
|| (_side == Side.SHADOW && !action.getPerformingPlayer().equals(gameState.getCurrentPlayerId()))))
return false;
return true;
}
}

View File

@@ -1,17 +1,16 @@
package com.gempukku.lotro.cards.set4.isengard;
import com.gempukku.lotro.cards.AbstractAttachable;
import com.gempukku.lotro.cards.modifiers.SidePlayerCantPlayPhaseEventsOrSpecialAbilitiesModifier;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.modifiers.AbstractModifier;
import com.gempukku.lotro.logic.modifiers.Condition;
import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.modifiers.ModifierEffect;
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
import com.gempukku.lotro.logic.timing.Action;
import java.util.Collections;
import java.util.List;
@@ -38,16 +37,12 @@ public class Card4_167 extends AbstractAttachable {
@Override
public List<? extends Modifier> getAlwaysOnModifiers(LotroGame game, final PhysicalCard self) {
return Collections.singletonList(
new AbstractModifier(self, null, null, ModifierEffect.ACTION_MODIFIER) {
@Override
public boolean canPlayAction(GameState gameState, ModifiersQuerying modifiersQuerying, String performingPlayer, Action action) {
if (Filters.filter(gameState.getStackedCards(self.getAttachedTo()), gameState, modifiersQuerying, Race.URUK_HAI).size() > 0) {
if (performingPlayer.equals(gameState.getCurrentPlayerId())
&& action.getActionTimeword() == Phase.SKIRMISH)
return false;
}
return true;
}
});
new SidePlayerCantPlayPhaseEventsOrSpecialAbilitiesModifier(self,
new Condition() {
@Override
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
return Filters.filter(gameState.getStackedCards(self.getAttachedTo()), gameState, modifiersQuerying, Race.URUK_HAI).size() > 0;
}
}, Side.FREE_PEOPLE, Phase.SKIRMISH));
}
}

View File

@@ -1,4 +1,7 @@
<pre style="font-size:80%">
<b>8 Feb. 2012</b>
- "Pillage of Rohan" should now correctly prevent FP player from playing Skirmish events and special abilities.
<b>7 Feb. 2012</b>
- Added sets 15 and 16.
- Hunter cards now get proper bonuses.