Discarding multiple cards from decks top.
This commit is contained in:
@@ -36,8 +36,7 @@ public class Card1_150 extends AbstractMinion {
|
||||
public List<RequiredTriggerAction> 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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user