From fc43084eb0c144f42f85e9e8df4897723cd10b92 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Sun, 11 Dec 2011 14:55:50 +0000 Subject: [PATCH] Discarding multiple cards from decks top. --- .../gempukku/lotro/cards/set1/isengard/Card1_150.java | 3 +-- .../gempukku/lotro/cards/set1/sauron/Card1_245.java | 10 +--------- .../gempukku/lotro/cards/set1/sauron/Card1_265.java | 4 ++-- .../gempukku/lotro/cards/set2/dwarven/Card2_001.java | 6 +----- .../gempukku/lotro/cards/set2/dwarven/Card2_009.java | 4 +--- .../gempukku/lotro/cards/set2/dwarven/Card2_011.java | 6 +----- .../gempukku/lotro/cards/set2/dwarven/Card2_012.java | 6 +----- .../gempukku/lotro/cards/set2/isengard/Card2_043.java | 4 +--- .../gempukku/lotro/cards/set2/isengard/Card2_045.java | 10 +--------- .../gempukku/lotro/cards/set3/sauron/Card3_088.java | 4 ++-- .../gempukku/lotro/cards/set3/sauron/Card3_092.java | 4 ++-- .../gempukku/lotro/cards/set3/sauron/Card3_101.java | 4 +--- 12 files changed, 15 insertions(+), 50 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_150.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_150.java index d093d197b..e4eabe88b 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_150.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_150.java @@ -36,8 +36,7 @@ public class Card1_150 extends AbstractMinion { public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { if (TriggerConditions.winsSkirmish(game, effectResult, self)) { RequiredTriggerAction action = new RequiredTriggerAction(self); - action.appendEffect(new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); - action.appendEffect(new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); + action.appendEffect(new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), 2, true)); return Collections.singletonList(action); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_245.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_245.java index 3ec7255f8..32403aa13 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_245.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_245.java @@ -38,15 +38,7 @@ public class Card1_245 extends AbstractOldEvent { PlayEventAction action = new PlayEventAction(self); action.appendCost(new RemoveBurdenEffect(playerId, self)); action.appendEffect( - new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); - action.appendEffect( - new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); - action.appendEffect( - new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); - action.appendEffect( - new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); - action.appendEffect( - new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); + new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), 5, true)); return action; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_265.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_265.java index f357b6228..040f6c545 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_265.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_265.java @@ -41,8 +41,8 @@ public class Card1_265 extends AbstractResponseOldEvent { && checkPlayRequirements(playerId, game, self, 0, 0, false, false)) { PlayEventAction action = new PlayEventAction(self); int deadPileCount = game.getGameState().getDeadPile(game.getGameState().getCurrentPlayerId()).size(); - for (int i = 0; i < deadPileCount * 3; i++) - action.appendEffect(new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); + if (deadPileCount > 0) + action.appendEffect(new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), deadPileCount * 3, true)); return Collections.singletonList(action); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_001.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_001.java index 829f88da7..3278797dd 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_001.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_001.java @@ -41,11 +41,7 @@ public class Card2_001 extends AbstractPermanent { && Filters.filter(game.getGameState().getDiscard(playerId), game.getGameState(), game.getModifiersQuerying(), Culture.DWARVEN, Filters.weapon, Filters.playable(game)).size() > 0) { ActivateCardAction action = new ActivateCardAction(self); action.appendCost( - new DiscardTopCardFromDeckEffect(self, playerId, false)); - action.appendCost( - new DiscardTopCardFromDeckEffect(self, playerId, false)); - action.appendCost( - new DiscardTopCardFromDeckEffect(self, playerId, false)); + new DiscardTopCardFromDeckEffect(self, playerId, 3, false)); action.appendEffect( new ChooseAndPlayCardFromDiscardEffect(playerId, game, Filters.and(Culture.DWARVEN, Filters.weapon))); return Collections.singletonList(action); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_009.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_009.java index 21740b4d3..b76ac74bc 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_009.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_009.java @@ -35,9 +35,7 @@ public class Card2_009 extends AbstractPermanent { if (TriggerConditions.played(game, effectResult, Race.DWARF)) { final OptionalTriggerAction action = new OptionalTriggerAction(self); action.appendCost( - new DiscardTopCardFromDeckEffect(self, playerId, false)); - action.appendCost( - new DiscardTopCardFromDeckEffect(self, playerId, false)); + new DiscardTopCardFromDeckEffect(self, playerId, 2, false)); action.appendEffect( new ChooseCardsFromDiscardEffect(playerId, 1, 1, Culture.DWARVEN, CardType.EVENT) { @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_011.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_011.java index 3006f2d0e..1dd164c99 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_011.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_011.java @@ -39,11 +39,7 @@ public class Card2_011 extends AbstractPermanent { action.appendCost( new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.DWARF, CardType.COMPANION)); action.appendCost( - new DiscardTopCardFromDeckEffect(self, playerId, false)); - action.appendCost( - new DiscardTopCardFromDeckEffect(self, playerId, false)); - action.appendCost( - new DiscardTopCardFromDeckEffect(self, playerId, false)); + new DiscardTopCardFromDeckEffect(self, playerId, 3, false)); action.appendEffect( new ChooseActiveCardEffect(self, playerId, "Choose condition", Filters.or( diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_012.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_012.java index f6cbd837e..4cfa008ea 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_012.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/dwarven/Card2_012.java @@ -38,11 +38,7 @@ public class Card2_012 extends AbstractPermanent { && game.getGameState().getDeck(playerId).size() >= 3) { final ActivateCardAction action = new ActivateCardAction(self); action.appendCost( - new DiscardTopCardFromDeckEffect(self, playerId, false)); - action.appendCost( - new DiscardTopCardFromDeckEffect(self, playerId, false)); - action.appendCost( - new DiscardTopCardFromDeckEffect(self, playerId, false)); + new DiscardTopCardFromDeckEffect(self, playerId, 3, false)); action.appendEffect( new ChooseActiveCardEffect(self, playerId, "Choose a Dwarf", Race.DWARF) { @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/isengard/Card2_043.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/isengard/Card2_043.java index 481dec230..4e553cbfe 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/isengard/Card2_043.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/isengard/Card2_043.java @@ -53,9 +53,7 @@ public class Card2_043 extends AbstractAttachable { if (TriggerConditions.winsSkirmish(game, effectResult, Filters.name("Lurtz"))) { RequiredTriggerAction action = new RequiredTriggerAction(self); action.appendEffect( - new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); - action.appendEffect( - new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); + new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), 2, true)); return Collections.singletonList(action); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/isengard/Card2_045.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/isengard/Card2_045.java index e8c50c8b8..370b7bf09 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/isengard/Card2_045.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/isengard/Card2_045.java @@ -40,15 +40,7 @@ public class Card2_045 extends AbstractResponseOldEvent { && checkPlayRequirements(playerId, game, self, 0, 0, false, false)) { PlayEventAction action = new PlayEventAction(self); action.appendEffect( - new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); - action.appendEffect( - new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); - action.appendEffect( - new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); - action.appendEffect( - new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); - action.appendEffect( - new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); + new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), 5, true)); return Collections.singletonList(action); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/sauron/Card3_088.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/sauron/Card3_088.java index bbe54d6ca..156323571 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/sauron/Card3_088.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/sauron/Card3_088.java @@ -39,9 +39,9 @@ public class Card3_088 extends AbstractOldEvent { public PlayEventAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier, boolean ignoreRoamingPenalty) { PlayEventAction action = new PlayEventAction(self); int burdens = game.getGameState().getBurdens(); - for (int i = 0; i < burdens; i++) + if (burdens > 0) action.appendEffect( - new DiscardTopCardFromDeckEffect(self, playerId, true)); + new DiscardTopCardFromDeckEffect(self, playerId, burdens, true)); return action; } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/sauron/Card3_092.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/sauron/Card3_092.java index 4ebfbc58b..0ced8e365 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/sauron/Card3_092.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/sauron/Card3_092.java @@ -49,9 +49,9 @@ public class Card3_092 extends AbstractOldEvent { cardsCount++; if (Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), CardType.COMPANION, Race.WIZARD)) cardsCount++; - for (int i = 0; i < cardsCount; i++) + if (cardsCount > 0) action.appendEffect( - new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); + new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), cardsCount, true)); return action; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/sauron/Card3_101.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/sauron/Card3_101.java index 4021a886c..2a8b0b7c7 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/sauron/Card3_101.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/sauron/Card3_101.java @@ -46,9 +46,7 @@ public class Card3_101 extends AbstractMinion { action.appendCost( new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Filters.owner(playerId), Culture.SAURON, CardType.CONDITION)); action.appendEffect( - new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); - action.appendEffect( - new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), true)); + new DiscardTopCardFromDeckEffect(self, game.getGameState().getCurrentPlayerId(), 2, true)); return Collections.singletonList(action); } return null;