From d479b3d44e0298b8ec4eb9dbc51c84d44df43896 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Sat, 5 Jan 2013 19:11:41 +0000 Subject: [PATCH] - If you have "No Business of Ours" in play, you can still reveal or look at FP player's hand. --- .../effects/LookAtOpponentsHandEffect.java | 4 ++-- ...alAndChooseCardsFromOpponentHandEffect.java | 4 ++-- .../RevealRandomCardsFromHandEffect.java | 4 ++-- ...OpponentsCantLookOrRevealCardsFromHand.java | 18 +++++++++++------- .../lotro/cards/set1/elven/Card1_055.java | 2 +- .../lotro/cards/set1/isengard/Card1_120.java | 2 +- .../lotro/cards/set2/isengard/Card2_044.java | 2 +- .../logic/modifiers/AbstractModifier.java | 2 +- .../lotro/logic/modifiers/Modifier.java | 2 +- .../lotro/logic/modifiers/ModifiersLogic.java | 4 ++-- .../logic/modifiers/ModifiersQuerying.java | 2 +- .../lotro/tournament/TournamentService.java | 2 +- .../src/main/webapp/includes/changeLog.html | 3 +++ 13 files changed, 29 insertions(+), 22 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/LookAtOpponentsHandEffect.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/LookAtOpponentsHandEffect.java index 0ca1b0bb5..ba0b5c524 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/LookAtOpponentsHandEffect.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/LookAtOpponentsHandEffect.java @@ -32,12 +32,12 @@ public class LookAtOpponentsHandEffect extends AbstractEffect { @Override public boolean isPlayableInFull(LotroGame game) { - return game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), _opponentId); + return game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), _opponentId, _playerId); } @Override protected FullEffectResult playEffectReturningResult(LotroGame game) { - if (game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), _opponentId)) { + if (game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), _opponentId, _playerId)) { List opponentHand = new LinkedList(game.getGameState().getHand(_opponentId)); game.getUserFeedback().sendAwaitingDecision(_playerId, diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/RevealAndChooseCardsFromOpponentHandEffect.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/RevealAndChooseCardsFromOpponentHandEffect.java index a1c96b06d..cfcbd29dc 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/RevealAndChooseCardsFromOpponentHandEffect.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/RevealAndChooseCardsFromOpponentHandEffect.java @@ -38,13 +38,13 @@ public abstract class RevealAndChooseCardsFromOpponentHandEffect extends Abstrac @Override public boolean isPlayableInFull(LotroGame game) { - return (game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), _opponentId)) + return (game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), _opponentId, _playerId)) && game.getGameState().getHand(_opponentId).size() >= _minChosen; } @Override public void playEffect(LotroGame game) { - if (game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), _opponentId)) { + if (game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), _opponentId, _playerId)) { List opponentHand = new LinkedList(game.getGameState().getHand(_opponentId)); SubAction subAction = new SubAction(_action); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/RevealRandomCardsFromHandEffect.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/RevealRandomCardsFromHandEffect.java index 4cd58b8ee..71f02e0b7 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/RevealRandomCardsFromHandEffect.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/RevealRandomCardsFromHandEffect.java @@ -34,7 +34,7 @@ public abstract class RevealRandomCardsFromHandEffect extends AbstractEffect { @Override protected FullEffectResult playEffectReturningResult(LotroGame game) { - if (_actingPlayer.equals(_playerHand) || game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), _playerHand)) { + if (_actingPlayer.equals(_playerHand) || game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), _playerHand, _actingPlayer)) { List randomCards = GameUtils.getRandomCards(game.getGameState().getHand(_playerHand), _count); if (randomCards.size() > 0) game.getGameState().sendMessage(GameUtils.getCardLink(_source) + " revealed cards from " + _playerHand + " hand at random - " + getAppendedNames(randomCards)); @@ -51,7 +51,7 @@ public abstract class RevealRandomCardsFromHandEffect extends AbstractEffect { public boolean isPlayableInFull(LotroGame game) { if (game.getGameState().getHand(_playerHand).size() < _count) return false; - return _actingPlayer.equals(_playerHand) || game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), _playerHand); + return _actingPlayer.equals(_playerHand) || game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), _playerHand, _actingPlayer); } protected abstract void cardsRevealed(List revealedCards); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/OpponentsCantLookOrRevealCardsFromHand.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/OpponentsCantLookOrRevealCardsFromHand.java index 0f548f9be..0549bc3fe 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/OpponentsCantLookOrRevealCardsFromHand.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/modifiers/OpponentsCantLookOrRevealCardsFromHand.java @@ -7,20 +7,24 @@ import com.gempukku.lotro.logic.modifiers.ModifierEffect; import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; public class OpponentsCantLookOrRevealCardsFromHand extends AbstractModifier { - private String _playerId; + private String _revealingPlayerId; + private String _actingPlayerId; - public OpponentsCantLookOrRevealCardsFromHand(PhysicalCard source, String playerId) { + public OpponentsCantLookOrRevealCardsFromHand(PhysicalCard source, String revealingPlayerId) { super(source, "Opponents can't look or reveal cards from hand", null, ModifierEffect.LOOK_OR_REVEAL_MODIFIER); - _playerId = playerId; + _revealingPlayerId = revealingPlayerId; } - public OpponentsCantLookOrRevealCardsFromHand(PhysicalCard source) { - this(source, null); + public OpponentsCantLookOrRevealCardsFromHand(PhysicalCard source, String revealingPlayerId, String actingPlayerId) { + this(source, revealingPlayerId); + _actingPlayerId = actingPlayerId; } @Override - public boolean canLookOrRevealCardsInHand(GameState gameState, ModifiersQuerying modifiersQuerying, String playerId) { - if (_playerId == null || _playerId.equals(playerId)) + public boolean canLookOrRevealCardsInHand(GameState gameState, ModifiersQuerying modifiersQuerying, String revealingPlayerId, String actingPlayerId) { + if (_revealingPlayerId == null || _revealingPlayerId.equals(revealingPlayerId)) + return false; + if (_actingPlayerId == null || _actingPlayerId.equals(actingPlayerId)) return false; return true; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_055.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_055.java index e5a441f7b..49b144c82 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_055.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_055.java @@ -50,7 +50,7 @@ public class Card1_055 extends AbstractPermanent { new MultipleChoiceAwaitingDecision(1, "Choose opponent with at least 7 cards in hand", opponentsHavingAtLeast7Cards(game, playerId)) { @Override protected void validDecisionMade(int index, final String chosenOpponent) { - if (game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), chosenOpponent)) { + if (game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), chosenOpponent, playerId)) { List hand = game.getGameState().getHand(chosenOpponent); List randomCardsFromHand = GameUtils.getRandomCards(hand, 2); action.appendEffect( diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_120.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_120.java index eeaa4f374..48cf9c2e9 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_120.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_120.java @@ -56,7 +56,7 @@ public class Card1_120 extends AbstractPermanent { final ActivateCardAction action = new ActivateCardAction(self); action.appendCost(new RemoveTwilightEffect(3)); final String fpPlayer = gameState.getCurrentPlayerId(); - if (game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), fpPlayer)) { + if (game.getModifiersQuerying().canLookOrRevealCardsInHand(game.getGameState(), fpPlayer, playerId)) { action.appendEffect( new ForEachBurdenYouSpotEffect(playerId) { @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/isengard/Card2_044.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/isengard/Card2_044.java index b8b8becf4..a4783cbb0 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/isengard/Card2_044.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/isengard/Card2_044.java @@ -36,6 +36,6 @@ public class Card2_044 extends AbstractPermanent { @Override public List getAlwaysOnModifiers(LotroGame game, PhysicalCard self) { - return Collections.singletonList(new OpponentsCantLookOrRevealCardsFromHand(self)); + return Collections.singletonList(new OpponentsCantLookOrRevealCardsFromHand(self, null, game.getGameState().getCurrentPlayerId())); } } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java index 4d6d84bb0..b0565b55b 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/AbstractModifier.java @@ -288,7 +288,7 @@ public abstract class AbstractModifier implements Modifier { } @Override - public boolean canLookOrRevealCardsInHand(GameState gameState, ModifiersQuerying modifiersQuerying, String playerId) { + public boolean canLookOrRevealCardsInHand(GameState gameState, ModifiersQuerying modifiersQuerying, String revealingPlayerId, String actingPlayerId) { return true; } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/Modifier.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/Modifier.java index b5b696698..c26a7c6cf 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/Modifier.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/Modifier.java @@ -114,7 +114,7 @@ public interface Modifier { public boolean canRemoveThreat(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard source); - public boolean canLookOrRevealCardsInHand(GameState gameState, ModifiersQuerying modifiersQuerying, String playerId); + public boolean canLookOrRevealCardsInHand(GameState gameState, ModifiersQuerying modifiersQuerying, String revealingPlayerId, String actingPlayerId); public boolean canDiscardCardsFromHand(GameState gameState, ModifiersQuerying modifiersQuerying, String playerId, PhysicalCard source); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java index 034c9e6e9..4adbc87bd 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java @@ -879,9 +879,9 @@ public class ModifiersLogic implements ModifiersEnvironment, ModifiersQuerying { } @Override - public boolean canLookOrRevealCardsInHand(GameState gameState, String playerId) { + public boolean canLookOrRevealCardsInHand(GameState gameState, String revealingPlayerId, String performingPlayerId) { for (Modifier modifier : getModifiers(gameState, ModifierEffect.LOOK_OR_REVEAL_MODIFIER)) - if (!modifier.canLookOrRevealCardsInHand(gameState, this, playerId)) + if (!modifier.canLookOrRevealCardsInHand(gameState, this, revealingPlayerId, performingPlayerId)) return false; return true; } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java index 8144f75c7..4148c526f 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java @@ -120,7 +120,7 @@ public interface ModifiersQuerying { public boolean canDrawCardAndIncrement(GameState gameState, String playerId); - public boolean canLookOrRevealCardsInHand(GameState gameState, String playerId); + public boolean canLookOrRevealCardsInHand(GameState gameState, String revealingPlayerId, String performingPlayerId); public boolean canDiscardCardsFromHand(GameState gameState, String playerId, PhysicalCard source); diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/TournamentService.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/TournamentService.java index 016816a71..6178e7d36 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/TournamentService.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/tournament/TournamentService.java @@ -156,7 +156,7 @@ public class TournamentService { } public List getUnstartedScheduledTournamentQueues(long tillDate) { - return _tournamentDao.getUnstartedScheduledTournamentQueues(); + return _tournamentDao.getUnstartedScheduledTournamentQueues(tillDate); } public void updateScheduledTournamentStarted(String scheduledTournamentId) { diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html b/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html index 528e19d85..8a96d4df9 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html +++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html @@ -5,6 +5,9 @@ response.setHeader("Pragma","no-cache"); response.setDateHeader ("Expires", -1); %>
+05 Jan. 2013
+- If you have "No Business of Ours" in play, you can still reveal or look at FP player's hand.
+
 04 Jan. 2013
 - If FP player uses Muster, shadow player is now also able to use it.
 - "Gnawing, Biting, Hacking, Burning" and similar cards should now allow to stack multiple minions if they are discarded