From c88a5ea3cd4afaf44eaba3e3c1b0fbc1ebbb7085 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Wed, 12 Sep 2012 16:40:26 +0000 Subject: [PATCH] - "Morgul Regiment" and similar cards now trigger only during fierce assignment, only if the minion has Fierce. --- .../gempukku/lotro/cards/set7/wraith/Card7_197.java | 13 ++++++------- .../gempukku/lotro/cards/set7/wraith/Card7_200.java | 7 +++++-- .../gempukku/lotro/cards/set7/wraith/Card7_201.java | 7 +++++-- .../com/gempukku/lotro/game/state/GameState.java | 4 ++++ .../src/main/webapp/includes/changeLog.html | 3 +++ 5 files changed, 23 insertions(+), 11 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_197.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_197.java index b480d907f..268a1228f 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_197.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_197.java @@ -7,10 +7,7 @@ import com.gempukku.lotro.cards.effects.choose.ChooseAndAddUntilEOPStrengthBonus import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect; import com.gempukku.lotro.cards.modifiers.FreePeoplePlayerMayNotAssignCharacterModifier; import com.gempukku.lotro.cards.modifiers.conditions.AndCondition; -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Phase; -import com.gempukku.lotro.common.Race; +import com.gempukku.lotro.common.*; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.GameState; @@ -63,19 +60,21 @@ public class Card7_197 extends AbstractMinion { @Override public List getRequiredAfterTriggers(final LotroGame game, EffectResult effectResult, final PhysicalCard self) { + final GameState gameState = game.getGameState(); if (effectResult.getType() == EffectResult.Type.FREE_PEOPLE_PLAYER_STARTS_ASSIGNING + && (gameState.isNormalSkirmishes() || (gameState.isFierceSkirmishes() && game.getModifiersQuerying().hasKeyword(gameState, self, Keyword.FIERCE))) && PlayConditions.canSpot(game, Race.NAZGUL)) { final RequiredTriggerAction action = new RequiredTriggerAction(self); - final int count = Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Race.NAZGUL); + final int count = Filters.countActive(gameState, game.getModifiersQuerying(), Race.NAZGUL); action.appendCost( - new PlayoutDecisionEffect(game.getGameState().getCurrentPlayerId(), + new PlayoutDecisionEffect(gameState.getCurrentPlayerId(), new MultipleChoiceAwaitingDecision(1, "Do you wish to exert a companion for each Nazgul you can spot (" + count + ") to be able to assign this minion?", new String[]{"Yes", "No"}) { @Override protected void validDecisionMade(int index, String result) { if (index == 0) { for (int i = 0; i < count; i++) action.appendCost( - new ChooseAndExertCharactersEffect(action, game.getGameState().getCurrentPlayerId(), 1, 1, CardType.COMPANION)); + new ChooseAndExertCharactersEffect(action, gameState.getCurrentPlayerId(), 1, 1, CardType.COMPANION)); action.appendEffect( new UnrespondableEffect() { @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_200.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_200.java index 05e0c3d21..4c3e4a478 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_200.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_200.java @@ -7,6 +7,7 @@ import com.gempukku.lotro.cards.modifiers.FreePeoplePlayerMayNotAssignCharacterM import com.gempukku.lotro.cards.modifiers.conditions.AndCondition; import com.gempukku.lotro.common.CardType; import com.gempukku.lotro.common.Culture; +import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Race; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.GameState; @@ -57,17 +58,19 @@ public class Card7_200 extends AbstractMinion { @Override public List getRequiredAfterTriggers(final LotroGame game, EffectResult effectResult, final PhysicalCard self) { + final GameState gameState = game.getGameState(); if (effectResult.getType() == EffectResult.Type.FREE_PEOPLE_PLAYER_STARTS_ASSIGNING + && (gameState.isNormalSkirmishes() || (gameState.isFierceSkirmishes() && game.getModifiersQuerying().hasKeyword(gameState, self, Keyword.FIERCE))) && PlayConditions.canSpot(game, Race.NAZGUL)) { final RequiredTriggerAction action = new RequiredTriggerAction(self); action.appendCost( - new PlayoutDecisionEffect(game.getGameState().getCurrentPlayerId(), + new PlayoutDecisionEffect(gameState.getCurrentPlayerId(), new MultipleChoiceAwaitingDecision(1, "Do you wish to exert a companion to be able to assign this minion?", new String[]{"Yes", "No"}) { @Override protected void validDecisionMade(int index, String result) { if (index == 0) { action.appendCost( - new ChooseAndExertCharactersEffect(action, game.getGameState().getCurrentPlayerId(), 1, 1, CardType.COMPANION)); + new ChooseAndExertCharactersEffect(action, gameState.getCurrentPlayerId(), 1, 1, CardType.COMPANION)); action.appendEffect( new UnrespondableEffect() { @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_201.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_201.java index 713f19d89..0e805b993 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_201.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/wraith/Card7_201.java @@ -7,6 +7,7 @@ import com.gempukku.lotro.cards.modifiers.FreePeoplePlayerMayNotAssignCharacterM import com.gempukku.lotro.cards.modifiers.conditions.AndCondition; import com.gempukku.lotro.common.CardType; import com.gempukku.lotro.common.Culture; +import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Race; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.GameState; @@ -57,17 +58,19 @@ public class Card7_201 extends AbstractMinion { @Override public List getRequiredAfterTriggers(final LotroGame game, EffectResult effectResult, final PhysicalCard self) { + final GameState gameState = game.getGameState(); if (effectResult.getType() == EffectResult.Type.FREE_PEOPLE_PLAYER_STARTS_ASSIGNING + && (gameState.isNormalSkirmishes() || (gameState.isFierceSkirmishes() && game.getModifiersQuerying().hasKeyword(gameState, self, Keyword.FIERCE))) && PlayConditions.canSpot(game, Race.NAZGUL)) { final RequiredTriggerAction action = new RequiredTriggerAction(self); action.appendCost( - new PlayoutDecisionEffect(game.getGameState().getCurrentPlayerId(), + new PlayoutDecisionEffect(gameState.getCurrentPlayerId(), new MultipleChoiceAwaitingDecision(1, "Do you wish to exert a companion to be able to assign this minion?", new String[]{"Yes", "No"}) { @Override protected void validDecisionMade(int index, String result) { if (index == 0) { action.appendCost( - new ChooseAndExertCharactersEffect(action, game.getGameState().getCurrentPlayerId(), 1, 1, CardType.COMPANION)); + new ChooseAndExertCharactersEffect(action, gameState.getCurrentPlayerId(), 1, 1, CardType.COMPANION)); action.appendEffect( new UnrespondableEffect() { @Override diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java index 1783d7e62..7e8c6a141 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java @@ -804,6 +804,10 @@ public class GameState { return _fierceSkirmishes; } + public boolean isNormalSkirmishes() { + return !_fierceSkirmishes && !_extraSkirmishes; + } + private boolean isCardInPlayActive(PhysicalCard card) { Side side = card.getBlueprint().getSide(); // Either it's not attached or attached to active card 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 05d8baea0..752eafd36 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 @@ -1,4 +1,7 @@
+12 Sep. 2012
+- "Morgul Regiment" and similar cards now trigger only during fierce assignment, only if the minion has Fierce.
+
 10 Sep. 2012
 - "Balin Avenged" now correctly allows to play the ORC Orcs by removing the card from discard, as an additional cost.