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 64b47d3a9..2430a46fe 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 @@ -11,6 +11,8 @@ perform a next move (per card text). - "They Are Coming" from set 20, now requires to discard cards from hand and can be used only in Shadow phase. - "Throne of Orthanc" now requires to spot Saruman to play it (per card text). +- "Theoden, Keeper of the Golden Hall" now only prevents skirmish special abilities from being played not any special +abilities. 11 Mar. 2013 - Second Edition is playable now. diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/OpponentsCantUsePhaseSpecialAbilitiesModifier.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/OpponentsCantUsePhaseSpecialAbilitiesModifier.java new file mode 100644 index 000000000..3763ec84a --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/OpponentsCantUsePhaseSpecialAbilitiesModifier.java @@ -0,0 +1,32 @@ +package com.gempukku.lotro.cards.modifiers; + +import com.gempukku.lotro.common.Phase; +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 OpponentsCantUsePhaseSpecialAbilitiesModifier extends AbstractModifier { + private Phase _phase; + private String _playerId; + + public OpponentsCantUsePhaseSpecialAbilitiesModifier(PhysicalCard source, Phase phase, String playerId) { + this(source, null, phase, playerId); + } + + public OpponentsCantUsePhaseSpecialAbilitiesModifier(PhysicalCard source, Condition condition, Phase phase, String playerId) { + super(source, null, null, condition, ModifierEffect.ACTION_MODIFIER); + _phase = phase; + _playerId = playerId; + } + + @Override + public boolean canPlayAction(GameState gameState, ModifiersQuerying modifiersQuerying, String performingPlayer, Action action) { + if (!performingPlayer.equals(_playerId) && action.getActionTimeword() == _phase && action.getType() == Action.Type.SPECIAL_ABILITY) + return false; + return true; + } +} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/rohan/Card20_344.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/rohan/Card20_344.java index e18a080a9..239a29390 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/rohan/Card20_344.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/rohan/Card20_344.java @@ -1,11 +1,8 @@ package com.gempukku.lotro.cards.set20.rohan; import com.gempukku.lotro.cards.AbstractCompanion; -import com.gempukku.lotro.cards.modifiers.OpponentsCantUseSpecialAbilitiesModifier; -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.common.Names; -import com.gempukku.lotro.common.Race; +import com.gempukku.lotro.cards.modifiers.OpponentsCantUsePhaseSpecialAbilitiesModifier; +import com.gempukku.lotro.common.*; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; @@ -28,7 +25,7 @@ public class Card20_344 extends AbstractCompanion { @Override public Modifier getAlwaysOnModifier(LotroGame game, PhysicalCard self) { - return new OpponentsCantUseSpecialAbilitiesModifier(self, - new GameHasCondition(self, Filters.mounted, Filters.inSkirmish), self.getOwner()); + return new OpponentsCantUsePhaseSpecialAbilitiesModifier(self, + new GameHasCondition(self, Filters.mounted, Filters.inSkirmish), Phase.SKIRMISH, self.getOwner()); } }