diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_239.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_239.java index 12149bcfc..06b085570 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_239.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_239.java @@ -34,8 +34,9 @@ public class Card1_239 extends AbstractOldEvent { public PlayEventAction getPlayCardAction(final String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { final PlayEventAction action = new PlayEventAction(self); int companionCount = Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.type(CardType.COMPANION)); - action.appendEffect( - new ChooseAndExertCharactersEffect(action, playerId, companionCount - 4, companionCount - 4, Filters.type(CardType.COMPANION))); + for (int i = 0; i < companionCount - 4; i++) + action.appendEffect( + new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.type(CardType.COMPANION))); return action; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/dunland/Card4_033.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/dunland/Card4_033.java index 95e1aa631..c929c8649 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/dunland/Card4_033.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/dunland/Card4_033.java @@ -61,12 +61,11 @@ public class Card4_033 extends AbstractMinion { public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { if (effectResult.getType() == EffectResult.Type.WHEN_FELLOWSHIP_MOVES) { int dunlandManCount = Filters.countSpottable(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.DUNLAND), Filters.race(Race.MAN)); - if (dunlandManCount > 0) { - RequiredTriggerAction action = new RequiredTriggerAction(self); + RequiredTriggerAction action = new RequiredTriggerAction(self); + for (int i = 0; i < dunlandManCount; i++) action.appendEffect( - new ChooseAndExertCharactersEffect(action, game.getGameState().getCurrentPlayerId(), dunlandManCount, dunlandManCount, Filters.type(CardType.COMPANION))); - return Collections.singletonList(action); - } + new ChooseAndExertCharactersEffect(action, game.getGameState().getCurrentPlayerId(), 1, 1, Filters.type(CardType.COMPANION))); + return Collections.singletonList(action); } return null; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/dwarven/Card4_055.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/dwarven/Card4_055.java index 1f30aceff..e50dc52b6 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/dwarven/Card4_055.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/dwarven/Card4_055.java @@ -52,8 +52,9 @@ public class Card4_055 extends AbstractOldEvent { new ShuffleCardsFromPlayAndStackedOnItIntoDeckEffect(self, playerId, Collections.singleton(card)) { @Override protected void cardsShuffledCallback(Set cardsShuffled) { - action.appendEffect( - new ChooseAndExertCharactersEffect(action, playerId, cardsShuffled.size(), cardsShuffled.size(), Filters.type(CardType.MINION))); + for (int i = 0; i < cardsShuffled.size(); i++) + action.appendEffect( + new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.type(CardType.MINION))); } }); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gandalf/Card4_088.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gandalf/Card4_088.java index 5a856e62f..ce08ec232 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gandalf/Card4_088.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gandalf/Card4_088.java @@ -47,9 +47,9 @@ public class Card4_088 extends AbstractPermanent { if (PlayConditions.canUseFPCardDuringPhase(game.getGameState(), Phase.SKIRMISH, self)) { final ActivateCardAction action = new ActivateCardAction(self); int tokenCount = game.getGameState().getTokenCount(self, Token.GANDALF); - if (tokenCount > 0) + for (int i = 0; i < tokenCount; i++) action.appendEffect( - new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, tokenCount, Filters.type(CardType.MINION), Filters.inSkirmishAgainst(Filters.name("Gandalf")))); + new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.type(CardType.MINION), Filters.inSkirmishAgainst(Filters.name("Gandalf")))); action.appendEffect( new DiscardCardsFromPlayEffect(self, self)); return Collections.singletonList(action); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gondor/Card4_126.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gondor/Card4_126.java index 9744ad2ab..6478f51e5 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gondor/Card4_126.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gondor/Card4_126.java @@ -46,9 +46,10 @@ public class Card4_126 extends AbstractPermanent { protected List getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) { if (PlayConditions.canUseFPCardDuringPhase(game.getGameState(), Phase.MANEUVER, self)) { ActivateCardAction action = new ActivateCardAction(self); - int tokens = game.getGameState().getTokenCount(self, Token.GONDOR); - action.appendEffect( - new ChooseAndExertCharactersEffect(action, playerId, tokens, tokens, Filters.type(CardType.MINION))); + int tokens = Math.min(3, game.getGameState().getTokenCount(self, Token.GONDOR)); + for (int i = 0; i < tokens; i++) + action.appendEffect( + new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.type(CardType.MINION))); action.appendEffect( new DiscardCardsFromPlayEffect(self, self)); return Collections.singletonList(action); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gondor/Card4_364.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gondor/Card4_364.java index 4c84c89d5..ce1900b99 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gondor/Card4_364.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/gondor/Card4_364.java @@ -37,8 +37,9 @@ public class Card4_364 extends AbstractCompanion { && PlayConditions.canSpot(game, Race.HOBBIT, Filters.unboundCompanion)) { int count = Filters.countSpottable(game.getGameState(), game.getModifiersQuerying(), Race.HOBBIT, Filters.unboundCompanion); OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendEffect( - new ChooseAndWoundCharactersEffect(action, playerId, count, count, CardType.MINION)); + for (int i = 0; i < count; i++) + action.appendEffect( + new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.MINION)); return Collections.singletonList(action); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/raider/Card4_216.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/raider/Card4_216.java index 962a266c4..a3f9f7078 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/raider/Card4_216.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/raider/Card4_216.java @@ -50,8 +50,9 @@ public class Card4_216 extends AbstractPermanent { if (PlayConditions.canUseShadowCardDuringPhase(game.getGameState(), Phase.ARCHERY, self, 0)) { ActivateCardAction action = new ActivateCardAction(self); int count = game.getGameState().getTokenCount(self, Token.RAIDER); - action.appendEffect( - new ChooseAndHealCharactersEffect(action, playerId, count, count, Filters.culture(Culture.RAIDER), Filters.keyword(Keyword.ARCHER))); + for (int i = 0; i < count; i++) + action.appendEffect( + new ChooseAndHealCharactersEffect(action, playerId, 1, 1, Filters.culture(Culture.RAIDER), Filters.keyword(Keyword.ARCHER))); action.appendEffect( new DiscardCardsFromPlayEffect(self, self)); return Collections.singletonList(action); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_028.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_028.java index 3df6aaecc..c6cac4844 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_028.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_028.java @@ -68,9 +68,9 @@ public class Card5_028 extends AbstractCompanion { action.appendEffect( new PutCardsOnBottomInAnyOrderEffect(game, playerId, cards)); game.getActionsEnvironment().addActionToStack(subAction); - if (shadowCards > 0) + for (int i = 0; i < shadowCards; i++) action.appendEffect( - new ChooseAndWoundCharactersEffect(action, playerId, shadowCards, shadowCards, CardType.MINION)); + new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.MINION)); } }); return Collections.singletonList(action); @@ -108,17 +108,17 @@ public class Card5_028 extends AbstractCompanion { } else if (_cards.size() > 1) { game.getUserFeedback().sendAwaitingDecision( _playerId, new ArbitraryCardsSelectionDecision(1, "Choose card to put on bottom of deck", _cards, 1, 1) { - @Override - public void decisionMade(String result) throws DecisionResultInvalidException { - final List selectedCards = getSelectedCardsByResponse(result); - if (selectedCards.size() == 1) { - PhysicalCard card = selectedCards.iterator().next(); - _cards.remove(card); - game.getGameState().removeCardsFromZone(Collections.singleton(card)); - game.getGameState().putCardOnBottomOfDeck(card); - } - } - }); + @Override + public void decisionMade(String result) throws DecisionResultInvalidException { + final List selectedCards = getSelectedCardsByResponse(result); + if (selectedCards.size() == 1) { + PhysicalCard card = selectedCards.iterator().next(); + _cards.remove(card); + game.getGameState().removeCardsFromZone(Collections.singleton(card)); + game.getGameState().putCardOnBottomOfDeck(card); + } + } + }); } return null; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_059.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_059.java index 7d2f9ae09..9f90c1e11 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_059.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_059.java @@ -46,8 +46,9 @@ public class Card6_059 extends AbstractAttachable { if (PlayConditions.winsSkirmish(game, effectResult, self.getAttachedTo())) { RequiredTriggerAction action = new RequiredTriggerAction(self); int sitesControlled = Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.siteControlled(self.getOwner())); - action.appendEffect( - new ChooseAndExertCharactersEffect(action, game.getGameState().getCurrentPlayerId(), sitesControlled, sitesControlled, CardType.COMPANION)); + for (int i = 0; i < sitesControlled; i++) + action.appendEffect( + new ChooseAndExertCharactersEffect(action, game.getGameState().getCurrentPlayerId(), 1, 1, CardType.COMPANION)); return Collections.singletonList(action); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/wraith/Card6_087.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/wraith/Card6_087.java index 53885867d..6f8323adf 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/wraith/Card6_087.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/wraith/Card6_087.java @@ -37,8 +37,9 @@ public class Card6_087 extends AbstractMinion { && PlayConditions.canSpot(game, Race.NAZGUL, Filters.not(self))) { RequiredTriggerAction action = new RequiredTriggerAction(self); int count = new CountCulturesEvaluator(2, 1, Side.FREE_PEOPLE).evaluateExpression(game.getGameState(), game.getModifiersQuerying(), null); - action.appendEffect( - new ChooseAndExertCharactersEffect(action, game.getGameState().getCurrentPlayerId(), count, count, CardType.COMPANION, Keyword.RING_BOUND)); + for (int i = 0; i < count; i++) + action.appendEffect( + new ChooseAndExertCharactersEffect(action, game.getGameState().getCurrentPlayerId(), 1, 1, CardType.COMPANION, Keyword.RING_BOUND)); return Collections.singletonList(action); } return null; diff --git a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Culture.java b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Culture.java index 1ed215d17..9d959ef90 100644 --- a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Culture.java +++ b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Culture.java @@ -1,6 +1,16 @@ package com.gempukku.lotro.common; public enum Culture implements Filterable { - DWARVEN, ELVEN, GANDALF, GOLLUM, GONDOR, ROHAN, SHIRE, - DUNLAND, ISENGARD, MEN, MORIA, ORC, RAIDER, SAURON, WRAITH + DWARVEN("Dwarven"), ELVEN("Elven"), GANDALF("Gandalf"), GOLLUM("Gollum"), GONDOR("Gondor"), ROHAN("Rohan"), SHIRE("Shire"), + DUNLAND("Dunland"), ISENGARD("Isengard"), MEN("Men"), MORIA("Moria"), ORC("Orc"), RAIDER("Raider"), SAURON("Sauron"), WRAITH("Wraith"); + + private String _humanReadable; + + private Culture(String humanReadable) { + _humanReadable = humanReadable; + } + + public String getHumanReadable() { + return _humanReadable; + } } 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 17f1203f1..09dd4a075 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,8 @@
+22 Oct. 2011
+- Fixed the cards that heal, exert or wound "for each" to allow healing, exerting or wounding the same character
+multiple times (one at a time).
+
 21 Oct. 2011
 - "Birchseed" no longer freezes the game, if you can pay the cost both ways (exert Hobbit and discard 2 cards).