"Dead Ones"
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -61,12 +61,11 @@ public class Card4_033 extends AbstractMinion {
|
||||
public List<RequiredTriggerAction> 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;
|
||||
}
|
||||
|
||||
@@ -52,8 +52,9 @@ public class Card4_055 extends AbstractOldEvent {
|
||||
new ShuffleCardsFromPlayAndStackedOnItIntoDeckEffect(self, playerId, Collections.singleton(card)) {
|
||||
@Override
|
||||
protected void cardsShuffledCallback(Set<PhysicalCard> 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)));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -46,9 +46,10 @@ public class Card4_126 extends AbstractPermanent {
|
||||
protected List<? extends Action> 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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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<PhysicalCard> 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<PhysicalCard> 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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
<pre style="font-size:80%">
|
||||
<b>22 Oct. 2011</b>
|
||||
- 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).
|
||||
|
||||
<b>21 Oct. 2011</b>
|
||||
- "Birchseed" no longer freezes the game, if you can pay the cost both ways (exert Hobbit and discard 2 cards).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user