"Mines of Khazad-Dum"
This commit is contained in:
@@ -14,8 +14,8 @@ public class ChooseAndHealCharacterEffect extends ChooseActiveCardEffect {
|
|||||||
private CostToEffectAction _action;
|
private CostToEffectAction _action;
|
||||||
private String _playerId;
|
private String _playerId;
|
||||||
|
|
||||||
public ChooseAndHealCharacterEffect(CostToEffectAction action, String playerId, String choiceText, Filter... filters) {
|
public ChooseAndHealCharacterEffect(CostToEffectAction action, String playerId, Filter... filters) {
|
||||||
super(playerId, choiceText, Filters.and(
|
super(playerId, "Choose character to heal", Filters.and(
|
||||||
filters, new Filter() {
|
filters, new Filter() {
|
||||||
@Override
|
@Override
|
||||||
public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) {
|
public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) {
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class Card1_034 extends AbstractAlly {
|
|||||||
&& PlayConditions.canExert(self, game.getGameState(), game.getModifiersQuerying(), self)) {
|
&& PlayConditions.canExert(self, game.getGameState(), game.getModifiersQuerying(), self)) {
|
||||||
final ActivateCardAction action = new ActivateCardAction(self, Keyword.FELLOWSHIP);
|
final ActivateCardAction action = new ActivateCardAction(self, Keyword.FELLOWSHIP);
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose an ELVEN ally", Filters.culture(Culture.ELVEN), Filters.type(CardType.ALLY)));
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.culture(Culture.ELVEN), Filters.type(CardType.ALLY)));
|
||||||
|
|
||||||
return Collections.singletonList(action);
|
return Collections.singletonList(action);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ public class Card1_059 extends AbstractPermanent {
|
|||||||
super.cardsSelected(dwarf, success);
|
super.cardsSelected(dwarf, success);
|
||||||
if (success) {
|
if (success) {
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose an Elf", Filters.race(Race.ELF)));
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.race(Race.ELF)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -73,7 +73,7 @@ public class Card1_059 extends AbstractPermanent {
|
|||||||
super.cardsSelected(elf, success);
|
super.cardsSelected(elf, success);
|
||||||
if (success) {
|
if (success) {
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose a Dwarf", Filters.race(Race.DWARF)));
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.race(Race.DWARF)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ public class Card1_094 extends AbstractAttachableFPPossession {
|
|||||||
|
|
||||||
List<ChooseableEffect> possibleEffects = new LinkedList<ChooseableEffect>();
|
List<ChooseableEffect> possibleEffects = new LinkedList<ChooseableEffect>();
|
||||||
possibleEffects.add(
|
possibleEffects.add(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose companion", Filters.type(CardType.COMPANION)) {
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.type(CardType.COMPANION)) {
|
||||||
@Override
|
@Override
|
||||||
public String getText(LotroGame game) {
|
public String getText(LotroGame game) {
|
||||||
return "Heal a companion";
|
return "Heal a companion";
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class Card1_365 extends AbstractCompanion {
|
|||||||
if (effectResult.getType() == EffectResult.Type.START_OF_TURN) {
|
if (effectResult.getType() == EffectResult.Type.START_OF_TURN) {
|
||||||
final OptionalTriggerAction action = new OptionalTriggerAction(self);
|
final OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose companion", Filters.type(CardType.COMPANION), Filters.signet(Signet.ARAGORN), Filters.not(Filters.sameCard(self))));
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.type(CardType.COMPANION), Filters.signet(Signet.ARAGORN), Filters.not(Filters.sameCard(self))));
|
||||||
return Collections.singletonList(action);
|
return Collections.singletonList(action);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public class Card1_144 extends AbstractPermanent {
|
|||||||
final ActivateCardAction action = new ActivateCardAction(self, Keyword.RESPONSE);
|
final ActivateCardAction action = new ActivateCardAction(self, Keyword.RESPONSE);
|
||||||
action.appendCost(new RemoveTwilightEffect(1));
|
action.appendCost(new RemoveTwilightEffect(1));
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose an Uruk-hai", Filters.race(Race.URUK_HAI), Filters.in(skirmishResult.getWinners())));
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.race(Race.URUK_HAI), Filters.in(skirmishResult.getWinners())));
|
||||||
return Collections.singletonList(action);
|
return Collections.singletonList(action);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ public class Card1_152 extends AbstractMinion {
|
|||||||
final ActivateCardAction action = new ActivateCardAction(self, Keyword.MANEUVER);
|
final ActivateCardAction action = new ActivateCardAction(self, Keyword.MANEUVER);
|
||||||
action.appendCost(new RemoveTwilightEffect(2));
|
action.appendCost(new RemoveTwilightEffect(2));
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose an Uruk-hai", Filters.race(Race.URUK_HAI)));
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.race(Race.URUK_HAI)));
|
||||||
|
|
||||||
return Collections.singletonList(action);
|
return Collections.singletonList(action);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class Card1_288 extends AbstractAlly {
|
|||||||
action.appendCost(
|
action.appendCost(
|
||||||
new ExertCharactersCost(self, self));
|
new ExertCharactersCost(self, self));
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose Merry or Pippin", Filters.or(Filters.name("Merry"), Filters.name("Pippin"))));
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.or(Filters.name("Merry"), Filters.name("Pippin"))));
|
||||||
return Collections.singletonList(action);
|
return Collections.singletonList(action);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ public class Card1_289 extends AbstractCompanion {
|
|||||||
if (effectResult.getType() == EffectResult.Type.START_OF_TURN) {
|
if (effectResult.getType() == EffectResult.Type.START_OF_TURN) {
|
||||||
final OptionalTriggerAction action = new OptionalTriggerAction(self);
|
final OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose a Hobbit ally", Filters.type(CardType.ALLY), Filters.race(Race.HOBBIT)));
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.type(CardType.ALLY), Filters.race(Race.HOBBIT)));
|
||||||
return Collections.singletonList(action);
|
return Collections.singletonList(action);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class Card1_291 extends AbstractAlly {
|
|||||||
action.appendCost(
|
action.appendCost(
|
||||||
new ExertCharactersCost(self, self));
|
new ExertCharactersCost(self, self));
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose Frodo or Sam", Filters.or(Filters.name("Frodo"), Filters.name("Sam"))));
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.or(Filters.name("Frodo"), Filters.name("Sam"))));
|
||||||
return Collections.singletonList(action);
|
return Collections.singletonList(action);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public class Card1_297 extends AbstractAlly {
|
|||||||
action.appendCost(
|
action.appendCost(
|
||||||
new ExertCharactersCost(self, self));
|
new ExertCharactersCost(self, self));
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose another Hobbit ally", Filters.type(CardType.ALLY), Filters.race(Race.HOBBIT), Filters.not(Filters.sameCard(self)), Filters.siteNumber(1)));
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.type(CardType.ALLY), Filters.race(Race.HOBBIT), Filters.not(Filters.sameCard(self)), Filters.siteNumber(1)));
|
||||||
return Collections.singletonList(action);
|
return Collections.singletonList(action);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ public class Card1_307 extends AbstractCompanion {
|
|||||||
List<ChooseableEffect> possibleEffects = new LinkedList<ChooseableEffect>();
|
List<ChooseableEffect> possibleEffects = new LinkedList<ChooseableEffect>();
|
||||||
possibleEffects.add(new RemoveBurdenEffect(self.getOwner()));
|
possibleEffects.add(new RemoveBurdenEffect(self.getOwner()));
|
||||||
possibleEffects.add(
|
possibleEffects.add(
|
||||||
new ChooseAndHealCharacterEffect(action, self.getOwner(), "Choose a companion", Filters.type(CardType.COMPANION)));
|
new ChooseAndHealCharacterEffect(action, self.getOwner(), Filters.type(CardType.COMPANION)));
|
||||||
action.appendEffect(new ChoiceEffect(action, self.getOwner(), possibleEffects));
|
action.appendEffect(new ChoiceEffect(action, self.getOwner(), possibleEffects));
|
||||||
return Collections.singletonList(action);
|
return Collections.singletonList(action);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class Card1_315 extends AbstractEvent {
|
|||||||
public PlayEventAction getPlayCardAction(final String playerId, LotroGame game, PhysicalCard self, int twilightModifier) {
|
public PlayEventAction getPlayCardAction(final String playerId, LotroGame game, PhysicalCard self, int twilightModifier) {
|
||||||
final PlayEventAction action = new PlayEventAction(self);
|
final PlayEventAction action = new PlayEventAction(self);
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose a Hobbit", Filters.race(Race.HOBBIT)));
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.race(Race.HOBBIT)));
|
||||||
return action;
|
return action;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ public class Card1_343 extends AbstractSite {
|
|||||||
action.appendCost(
|
action.appendCost(
|
||||||
new ChoiceCost(action, playerId, possibleCosts));
|
new ChoiceCost(action, playerId, possibleCosts));
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose your companion", Filters.owner(playerId), Filters.type(CardType.COMPANION)));
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.owner(playerId), Filters.type(CardType.COMPANION)));
|
||||||
return Collections.singletonList(action);
|
return Collections.singletonList(action);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public class Card1_358 extends AbstractSite {
|
|||||||
action.appendCost(
|
action.appendCost(
|
||||||
new ChooseAndDiscardCardsFromHandEffect(action, playerId, 1, 1, Filters.culture(Culture.GONDOR)));
|
new ChooseAndDiscardCardsFromHandEffect(action, playerId, 1, 1, Filters.culture(Culture.GONDOR)));
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose a GONDOR companion", Filters.type(CardType.COMPANION), Filters.culture(Culture.GONDOR)));
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.type(CardType.COMPANION), Filters.culture(Culture.GONDOR)));
|
||||||
return Collections.singletonList(action);
|
return Collections.singletonList(action);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public class Card1_220 extends AbstractPermanent {
|
|||||||
final ActivateCardAction action = new ActivateCardAction(self, (game.getGameState().getCurrentPhase() == Phase.MANEUVER) ? Keyword.MANEUVER : Keyword.SKIRMISH);
|
final ActivateCardAction action = new ActivateCardAction(self, (game.getGameState().getCurrentPhase() == Phase.MANEUVER) ? Keyword.MANEUVER : Keyword.SKIRMISH);
|
||||||
action.appendCost(new RemoveTwilightEffect(3));
|
action.appendCost(new RemoveTwilightEffect(3));
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose a Nazgul", Filters.race(Race.NAZGUL)));
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.race(Race.NAZGUL)));
|
||||||
return Collections.singletonList(action);
|
return Collections.singletonList(action);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public class Card2_063 extends AbstractMinion {
|
|||||||
if (PlayConditions.played(game.getGameState(), game.getModifiersQuerying(), effectResult, Filters.sameCard(self))) {
|
if (PlayConditions.played(game.getGameState(), game.getModifiersQuerying(), effectResult, Filters.sameCard(self))) {
|
||||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||||
action.appendEffect(
|
action.appendEffect(
|
||||||
new ChooseAndHealCharacterEffect(action, playerId, "Choose MORIA minion", Filters.culture(Culture.MORIA), Filters.type(CardType.MINION)));
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.culture(Culture.MORIA), Filters.type(CardType.MINION)));
|
||||||
return Collections.singletonList(action);
|
return Collections.singletonList(action);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package com.gempukku.lotro.cards.set3.dwarven;
|
||||||
|
|
||||||
|
import com.gempukku.lotro.cards.AbstractPermanent;
|
||||||
|
import com.gempukku.lotro.cards.PlayConditions;
|
||||||
|
import com.gempukku.lotro.cards.effects.ChooseAndHealCharacterEffect;
|
||||||
|
import com.gempukku.lotro.common.*;
|
||||||
|
import com.gempukku.lotro.filters.Filters;
|
||||||
|
import com.gempukku.lotro.game.PhysicalCard;
|
||||||
|
import com.gempukku.lotro.game.state.LotroGame;
|
||||||
|
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||||
|
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set: Realms of Elf-lords
|
||||||
|
* Side: Free
|
||||||
|
* Culture: Dwarven
|
||||||
|
* Twilight Cost: 1
|
||||||
|
* Type: Condition
|
||||||
|
* Game Text: Plays to your support area. Each time you play a [DWARVEN] tale, you may heal a Dwarf companion.
|
||||||
|
*/
|
||||||
|
public class Card3_003 extends AbstractPermanent {
|
||||||
|
public Card3_003() {
|
||||||
|
super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.DWARVEN, Zone.FREE_SUPPORT, "Mines of Khazad-Dum");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||||
|
if (PlayConditions.played(game.getGameState(), game.getModifiersQuerying(), effectResult, Filters.and(Filters.culture(Culture.DWARVEN), Filters.keyword(Keyword.TALE)))) {
|
||||||
|
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||||
|
action.appendEffect(
|
||||||
|
new ChooseAndHealCharacterEffect(action, playerId, Filters.race(Race.DWARF), Filters.type(CardType.COMPANION)));
|
||||||
|
return Collections.singletonList(action);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user