"Cast It Into the Fire!"
This commit is contained in:
@@ -75,6 +75,7 @@ public class ChooseAndDiscardCardsFromHandEffect implements ChooseableEffect, Ch
|
|||||||
for (PhysicalCard card : hand) {
|
for (PhysicalCard card : hand) {
|
||||||
_action.appendCost(new DiscardCardFromHandEffect(card));
|
_action.appendCost(new DiscardCardFromHandEffect(card));
|
||||||
}
|
}
|
||||||
|
cardsBeingDiscarded(hand);
|
||||||
} else {
|
} else {
|
||||||
game.getUserFeedback().sendAwaitingDecision(_playerId,
|
game.getUserFeedback().sendAwaitingDecision(_playerId,
|
||||||
new CardsSelectionDecision(1, "Choose card(s) to discard", hand, _minimum, _maximum) {
|
new CardsSelectionDecision(1, "Choose card(s) to discard", hand, _minimum, _maximum) {
|
||||||
@@ -84,6 +85,7 @@ public class ChooseAndDiscardCardsFromHandEffect implements ChooseableEffect, Ch
|
|||||||
for (PhysicalCard card : cards) {
|
for (PhysicalCard card : cards) {
|
||||||
_action.appendCost(new DiscardCardFromHandEffect(card));
|
_action.appendCost(new DiscardCardFromHandEffect(card));
|
||||||
}
|
}
|
||||||
|
cardsBeingDiscarded(cards);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -102,6 +104,7 @@ public class ChooseAndDiscardCardsFromHandEffect implements ChooseableEffect, Ch
|
|||||||
for (PhysicalCard card : hand) {
|
for (PhysicalCard card : hand) {
|
||||||
_action.insertEffect(new DiscardCardFromHandEffect(card));
|
_action.insertEffect(new DiscardCardFromHandEffect(card));
|
||||||
}
|
}
|
||||||
|
cardsBeingDiscarded(hand);
|
||||||
} else {
|
} else {
|
||||||
game.getUserFeedback().sendAwaitingDecision(_playerId,
|
game.getUserFeedback().sendAwaitingDecision(_playerId,
|
||||||
new CardsSelectionDecision(1, "Choose card(s) to discard", hand, _minimum, _maximum) {
|
new CardsSelectionDecision(1, "Choose card(s) to discard", hand, _minimum, _maximum) {
|
||||||
@@ -111,10 +114,14 @@ public class ChooseAndDiscardCardsFromHandEffect implements ChooseableEffect, Ch
|
|||||||
for (PhysicalCard card : cards) {
|
for (PhysicalCard card : cards) {
|
||||||
_action.insertEffect(new DiscardCardFromHandEffect(card));
|
_action.insertEffect(new DiscardCardFromHandEffect(card));
|
||||||
}
|
}
|
||||||
|
cardsBeingDiscarded(cards);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void cardsBeingDiscarded(Collection<PhysicalCard> cardsBeingDiscarded) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
package com.gempukku.lotro.cards.set3.elven;
|
||||||
|
|
||||||
|
import com.gempukku.lotro.cards.AbstractEvent;
|
||||||
|
import com.gempukku.lotro.cards.GameUtils;
|
||||||
|
import com.gempukku.lotro.cards.actions.PlayEventAction;
|
||||||
|
import com.gempukku.lotro.cards.effects.ChooseAndDiscardCardsFromHandEffect;
|
||||||
|
import com.gempukku.lotro.common.Culture;
|
||||||
|
import com.gempukku.lotro.common.Phase;
|
||||||
|
import com.gempukku.lotro.common.Race;
|
||||||
|
import com.gempukku.lotro.common.Side;
|
||||||
|
import com.gempukku.lotro.filters.Filters;
|
||||||
|
import com.gempukku.lotro.game.PhysicalCard;
|
||||||
|
import com.gempukku.lotro.game.state.LotroGame;
|
||||||
|
import com.gempukku.lotro.logic.effects.DrawCardEffect;
|
||||||
|
import com.gempukku.lotro.logic.timing.UnrespondableEffect;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set: Realms of Elf-lords
|
||||||
|
* Side: Free
|
||||||
|
* Culture: Elven
|
||||||
|
* Twilight Cost: 1
|
||||||
|
* Type: Event
|
||||||
|
* Game Text: Maneuver: Spot an Elf to make each opponent discard a card from his or her hand. Draw a card for each
|
||||||
|
* card discarded in this way.
|
||||||
|
*/
|
||||||
|
public class Card3_011 extends AbstractEvent {
|
||||||
|
public Card3_011() {
|
||||||
|
super(Side.FREE_PEOPLE, Culture.ELVEN, "Cast It Into the Fire!", Phase.MANEUVER);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) {
|
||||||
|
return super.checkPlayRequirements(playerId, game, self, twilightModifier)
|
||||||
|
&& Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.race(Race.ELF));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getTwilightCost() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PlayEventAction getPlayCardAction(final String playerId, LotroGame game, PhysicalCard self, int twilightModifier) {
|
||||||
|
final PlayEventAction action = new PlayEventAction(self);
|
||||||
|
String[] opponents = GameUtils.getOpponents(game, playerId);
|
||||||
|
final AtomicInteger integer = new AtomicInteger(0);
|
||||||
|
for (String opponent : opponents) {
|
||||||
|
action.appendEffect(
|
||||||
|
new ChooseAndDiscardCardsFromHandEffect(action, opponent, 1) {
|
||||||
|
@Override
|
||||||
|
protected void cardsBeingDiscarded(Collection<PhysicalCard> cardsBeingDiscarded) {
|
||||||
|
integer.addAndGet(cardsBeingDiscarded.size());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
action.appendEffect(
|
||||||
|
new UnrespondableEffect() {
|
||||||
|
@Override
|
||||||
|
protected void doPlayEffect(LotroGame game) {
|
||||||
|
action.insertEffect(
|
||||||
|
new DrawCardEffect(playerId, integer.get()));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user