Simplified healing.

This commit is contained in:
marcins78@gmail.com
2011-09-16 20:18:24 +00:00
parent c8bf487c4d
commit ba7a15419e
15 changed files with 62 additions and 145 deletions

View File

@@ -0,0 +1,33 @@
package com.gempukku.lotro.cards.effects;
import com.gempukku.lotro.filters.Filter;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.logic.actions.CostToEffectAction;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.HealCharacterEffect;
public class ChooseAndHealCharacterEffect extends ChooseActiveCardEffect {
private CostToEffectAction _action;
private String _playerId;
private boolean _cost;
public ChooseAndHealCharacterEffect(CostToEffectAction action, String playerId, String choiceText, boolean cost, Filter... filters) {
super(playerId, choiceText, filters);
_action = action;
_playerId = playerId;
_cost = cost;
}
@Override
public String getText() {
return "Choose character to heal";
}
@Override
protected void cardSelected(PhysicalCard character) {
if (_cost)
_action.addCost(new HealCharacterEffect(_playerId, character));
else
_action.addEffect(new HealCharacterEffect(_playerId, character));
}
}

View File

@@ -2,14 +2,13 @@ package com.gempukku.lotro.cards.set1.elven;
import com.gempukku.lotro.cards.AbstractAlly;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.ChooseAndHealCharacterEffect;
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
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.DefaultCostToEffectAction;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.HealCharacterEffect;
import com.gempukku.lotro.logic.timing.Action;
import java.util.Collections;
@@ -37,12 +36,7 @@ public class Card1_034 extends AbstractAlly {
&& PlayConditions.canExert(game.getGameState(), game.getModifiersQuerying(), self)) {
final DefaultCostToEffectAction action = new DefaultCostToEffectAction(self, Keyword.FELLOWSHIP, "Exert Celeborn to Heal an ELVEN ally");
action.addCost(new ExertCharacterEffect(playerId, self));
action.addEffect(new ChooseActiveCardEffect(playerId, "Choose an ELVEN ally", Filters.culture(Culture.ELVEN), Filters.type(CardType.ALLY)) {
@Override
protected void cardSelected(PhysicalCard elvenAlly) {
action.addEffect(new HealCharacterEffect(playerId, elvenAlly));
}
});
action.addEffect(new ChooseAndHealCharacterEffect(action, playerId, "Choose an ELVEN ally", false, Filters.culture(Culture.ELVEN), Filters.type(CardType.ALLY)));
return Collections.singletonList(action);
}

View File

@@ -4,6 +4,7 @@ import com.gempukku.lotro.cards.AbstractPermanent;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.AddTwilightEffect;
import com.gempukku.lotro.cards.effects.ChoiceEffect;
import com.gempukku.lotro.cards.effects.ChooseAndHealCharacterEffect;
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.filters.Filters;
@@ -11,7 +12,6 @@ import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.DefaultCostToEffectAction;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.HealCharacterEffect;
import com.gempukku.lotro.logic.timing.Action;
import com.gempukku.lotro.logic.timing.Effect;
@@ -52,12 +52,7 @@ public class Card1_059 extends AbstractPermanent {
protected void cardSelected(PhysicalCard dwarf) {
action.addCost(new ExertCharacterEffect(playerId, dwarf));
action.addEffect(
new ChooseActiveCardEffect(playerId, "Choose Elf to heal", Filters.race(Race.ELF)) {
@Override
protected void cardSelected(PhysicalCard elf) {
action.addEffect(new HealCharacterEffect(playerId, elf));
}
});
new ChooseAndHealCharacterEffect(action, playerId, "Choose an Elf", false, Filters.race(Race.ELF)));
}
});
@@ -67,12 +62,7 @@ public class Card1_059 extends AbstractPermanent {
protected void cardSelected(PhysicalCard elf) {
action.addCost(new ExertCharacterEffect(playerId, elf));
action.addEffect(
new ChooseActiveCardEffect(playerId, "Choose Dwarf to heal", Filters.race(Race.DWARF)) {
@Override
protected void cardSelected(PhysicalCard dwarf) {
action.addEffect(new HealCharacterEffect(playerId, dwarf));
}
});
new ChooseAndHealCharacterEffect(action, playerId, "Choose a Dwarf", false, Filters.race(Race.DWARF)));
}
});

View File

@@ -1,13 +1,12 @@
package com.gempukku.lotro.cards.set1.gondor;
import com.gempukku.lotro.cards.AbstractCompanion;
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.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.HealCharacterEffect;
import com.gempukku.lotro.logic.timing.EffectResult;
import java.util.Collections;
@@ -36,13 +35,7 @@ public class Card1_365 extends AbstractCompanion {
if (effectResult.getType() == EffectResult.Type.START_OF_TURN) {
final OptionalTriggerAction action = new OptionalTriggerAction(self, null, "Heal another companion who has the Aragorn signet");
action.addEffect(
new ChooseActiveCardEffect(playerId, "Choose companion to heal", Filters.type(CardType.COMPANION), Filters.signet(Signet.ARAGORN), Filters.not(Filters.sameCard(self))) {
@Override
protected void cardSelected(PhysicalCard companion) {
action.addEffect(new HealCharacterEffect(playerId, companion));
}
}
);
new ChooseAndHealCharacterEffect(action, playerId, "Choose companion", false, Filters.type(CardType.COMPANION), Filters.signet(Signet.ARAGORN), Filters.not(Filters.sameCard(self))));
return Collections.singletonList(action);
}
return null;

View File

@@ -2,14 +2,13 @@ package com.gempukku.lotro.cards.set1.isengard;
import com.gempukku.lotro.cards.AbstractPermanent;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.ChooseAndHealCharacterEffect;
import com.gempukku.lotro.cards.effects.RemoveTwilightEffect;
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.DefaultCostToEffectAction;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.HealCharacterEffect;
import com.gempukku.lotro.logic.timing.Action;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.results.SkirmishResult;
@@ -38,13 +37,7 @@ public class Card1_144 extends AbstractPermanent {
final DefaultCostToEffectAction action = new DefaultCostToEffectAction(self, Keyword.RESPONSE, "If your Uruk-hai wins a skirmish, remove (1) to heal him.");
action.addCost(new RemoveTwilightEffect(1));
action.addEffect(
new ChooseActiveCardEffect(playerId, "Choose Uruk-hai to heal", Filters.race(Race.URUK_HAI), Filters.in(skirmishResult.getWinners())) {
@Override
protected void cardSelected(PhysicalCard winningUrukHai) {
action.addEffect(new HealCharacterEffect(playerId, winningUrukHai));
}
}
);
new ChooseAndHealCharacterEffect(action, playerId, "Choose an Uruk-hai", false, Filters.race(Race.URUK_HAI), Filters.in(skirmishResult.getWinners())));
return Collections.singletonList(action);
}
return null;

View File

@@ -2,6 +2,7 @@ package com.gempukku.lotro.cards.set1.isengard;
import com.gempukku.lotro.cards.AbstractMinion;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.ChooseAndHealCharacterEffect;
import com.gempukku.lotro.cards.effects.RemoveTwilightEffect;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword;
@@ -11,8 +12,6 @@ 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.DefaultCostToEffectAction;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.HealCharacterEffect;
import com.gempukku.lotro.logic.timing.Action;
import java.util.Collections;
@@ -41,12 +40,7 @@ public class Card1_152 extends AbstractMinion {
final DefaultCostToEffectAction action = new DefaultCostToEffectAction(self, Keyword.MANEUVER, "Remove (2) to heal an Uruk-hai");
action.addCost(new RemoveTwilightEffect(2));
action.addEffect(
new ChooseActiveCardEffect(playerId, "Choose an Uruk-hai", Filters.race(Race.URUK_HAI)) {
@Override
protected void cardSelected(PhysicalCard urukHai) {
action.addEffect(new HealCharacterEffect(playerId, urukHai));
}
});
new ChooseAndHealCharacterEffect(action, playerId, "Choose an Uruk-hai", false, Filters.race(Race.URUK_HAI)));
return Collections.singletonList(action);
}

View File

@@ -2,7 +2,7 @@ package com.gempukku.lotro.cards.set1.shire;
import com.gempukku.lotro.cards.AbstractAlly;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.ChoiceEffect;
import com.gempukku.lotro.cards.effects.ChooseAndHealCharacterEffect;
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword;
@@ -12,12 +12,9 @@ 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.DefaultCostToEffectAction;
import com.gempukku.lotro.logic.effects.HealCharacterEffect;
import com.gempukku.lotro.logic.timing.Action;
import com.gempukku.lotro.logic.timing.Effect;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
/**
@@ -43,21 +40,8 @@ public class Card1_288 extends AbstractAlly {
DefaultCostToEffectAction action = new DefaultCostToEffectAction(self, Keyword.FELLOWSHIP, "Exert Farmer Maggot to heal Merry or Pippin.");
action.addCost(
new ExertCharacterEffect(playerId, self));
PhysicalCard merry = Filters.findFirstActive(game.getGameState(), game.getModifiersQuerying(), Filters.name("Merry"));
PhysicalCard pippin = Filters.findFirstActive(game.getGameState(), game.getModifiersQuerying(), Filters.name("Pippin"));
List<Effect> possibleEffects = new LinkedList<Effect>();
if (merry != null)
possibleEffects.add(
new HealCharacterEffect(playerId, merry));
if (pippin != null)
possibleEffects.add(
new HealCharacterEffect(playerId, pippin));
action.addEffect(
new ChoiceEffect(action, playerId, possibleEffects, false));
new ChooseAndHealCharacterEffect(action, playerId, "Choose Merry or Pippin", false, Filters.or(Filters.name("Merry"), Filters.name("Pippin"))));
return Collections.singletonList(action);
}
return null;

View File

@@ -1,13 +1,12 @@
package com.gempukku.lotro.cards.set1.shire;
import com.gempukku.lotro.cards.AbstractCompanion;
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.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.HealCharacterEffect;
import com.gempukku.lotro.logic.timing.EffectResult;
import java.util.Collections;
@@ -41,13 +40,7 @@ public class Card1_289 extends AbstractCompanion {
if (effectResult.getType() == EffectResult.Type.START_OF_TURN) {
final OptionalTriggerAction action = new OptionalTriggerAction(self, null, "You may heal a Hobbit ally");
action.addEffect(
new ChooseActiveCardEffect(playerId, "Choose a Hobbit ally", Filters.type(CardType.ALLY), Filters.race(Race.HOBBIT)) {
@Override
protected void cardSelected(PhysicalCard hobbitAlly) {
action.addEffect(new HealCharacterEffect(playerId, hobbitAlly));
}
}
);
new ChooseAndHealCharacterEffect(action, playerId, "Choose a Hobbit ally", false, Filters.type(CardType.ALLY), Filters.race(Race.HOBBIT)));
return Collections.singletonList(action);
}
return null;

View File

@@ -2,7 +2,7 @@ package com.gempukku.lotro.cards.set1.shire;
import com.gempukku.lotro.cards.AbstractAlly;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.ChoiceEffect;
import com.gempukku.lotro.cards.effects.ChooseAndHealCharacterEffect;
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword;
@@ -12,12 +12,9 @@ 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.DefaultCostToEffectAction;
import com.gempukku.lotro.logic.effects.HealCharacterEffect;
import com.gempukku.lotro.logic.timing.Action;
import com.gempukku.lotro.logic.timing.Effect;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
/**
@@ -43,21 +40,8 @@ public class Card1_291 extends AbstractAlly {
DefaultCostToEffectAction action = new DefaultCostToEffectAction(self, Keyword.FELLOWSHIP, "Exert The Gaffer to heal Frodo or Sam.");
action.addCost(
new ExertCharacterEffect(playerId, self));
PhysicalCard frodo = Filters.findFirstActive(game.getGameState(), game.getModifiersQuerying(), Filters.name("Frodo"));
PhysicalCard sam = Filters.findFirstActive(game.getGameState(), game.getModifiersQuerying(), Filters.name("Sam"));
List<Effect> possibleEffects = new LinkedList<Effect>();
if (frodo != null)
possibleEffects.add(
new HealCharacterEffect(playerId, frodo));
if (sam != null)
possibleEffects.add(
new HealCharacterEffect(playerId, sam));
action.addEffect(
new ChoiceEffect(action, playerId, possibleEffects, false));
new ChooseAndHealCharacterEffect(action, playerId, "Choose Frodo or Sam", false, Filters.or(Filters.name("Frodo"), Filters.name("Sam"))));
return Collections.singletonList(action);
}
return null;

View File

@@ -2,6 +2,7 @@ package com.gempukku.lotro.cards.set1.shire;
import com.gempukku.lotro.cards.AbstractAlly;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.ChooseAndHealCharacterEffect;
import com.gempukku.lotro.cards.effects.ExertCharacterEffect;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.filters.Filters;
@@ -9,7 +10,6 @@ import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.DefaultCostToEffectAction;
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.HealCharacterEffect;
import com.gempukku.lotro.logic.timing.Action;
import com.gempukku.lotro.logic.timing.EffectResult;
@@ -42,12 +42,7 @@ public class Card1_297 extends AbstractAlly {
action.addCost(
new ExertCharacterEffect(playerId, self));
action.addEffect(
new ChooseActiveCardEffect(playerId, "Choose another Hobbit ally", Filters.type(CardType.ALLY), Filters.race(Race.HOBBIT), Filters.not(Filters.sameCard(self)), Filters.siteNumber(1)) {
@Override
protected void cardSelected(PhysicalCard anotherHobbitAlly) {
action.addEffect(new HealCharacterEffect(playerId, anotherHobbitAlly));
}
});
new ChooseAndHealCharacterEffect(action, playerId, "Choose another Hobbit ally", false, Filters.type(CardType.ALLY), Filters.race(Race.HOBBIT), Filters.not(Filters.sameCard(self)), Filters.siteNumber(1)));
return Collections.singletonList(action);
}
return null;

View File

@@ -3,6 +3,7 @@ package com.gempukku.lotro.cards.set1.shire;
import com.gempukku.lotro.cards.AbstractCompanion;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.ChoiceEffect;
import com.gempukku.lotro.cards.effects.ChooseAndHealCharacterEffect;
import com.gempukku.lotro.cards.effects.RemoveBurdenEffect;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
@@ -12,8 +13,6 @@ 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.RequiredTriggerAction;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.HealCharacterEffect;
import com.gempukku.lotro.logic.timing.Effect;
import com.gempukku.lotro.logic.timing.EffectResult;
@@ -46,18 +45,7 @@ public class Card1_307 extends AbstractCompanion {
List<Effect> possibleEffects = new LinkedList<Effect>();
possibleEffects.add(new RemoveBurdenEffect(self.getOwner()));
possibleEffects.add(
new ChooseActiveCardEffect(self.getOwner(), "Choose a companion", Filters.type(CardType.COMPANION)) {
@Override
public String getText() {
return "Remove a wound form a companion";
}
@Override
protected void cardSelected(PhysicalCard card) {
action.addEffect(new HealCharacterEffect(self.getOwner(), card));
}
});
new ChooseAndHealCharacterEffect(action, self.getOwner(), "Choose a companion", false, Filters.type(CardType.COMPANION)));
action.addEffect(new ChoiceEffect(action, self.getOwner(), possibleEffects, false));
return Collections.singletonList(action);
}

View File

@@ -2,6 +2,7 @@ package com.gempukku.lotro.cards.set1.shire;
import com.gempukku.lotro.cards.AbstractEvent;
import com.gempukku.lotro.cards.actions.PlayEventAction;
import com.gempukku.lotro.cards.effects.ChooseAndHealCharacterEffect;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.Race;
@@ -9,8 +10,6 @@ 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.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.HealCharacterEffect;
/**
* Set: The Fellowship of the Ring
@@ -29,12 +28,7 @@ public class Card1_315 extends AbstractEvent {
public PlayEventAction getPlayCardAction(final String playerId, LotroGame game, PhysicalCard self, int twilightModifier) {
final PlayEventAction action = new PlayEventAction(self);
action.addEffect(
new ChooseActiveCardEffect(playerId, "Choose a Hobbit", Filters.race(Race.HOBBIT)) {
@Override
protected void cardSelected(PhysicalCard hobbit) {
action.addEffect(new HealCharacterEffect(playerId, hobbit));
}
});
new ChooseAndHealCharacterEffect(action, playerId, "Choose a Hobbit", false, Filters.race(Race.HOBBIT)));
return action;
}

View File

@@ -2,6 +2,7 @@ package com.gempukku.lotro.cards.set1.site;
import com.gempukku.lotro.cards.AbstractSite;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.ChooseAndHealCharacterEffect;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Keyword;
import com.gempukku.lotro.common.Phase;
@@ -11,7 +12,6 @@ import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.DefaultCostToEffectAction;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.DiscardCardFromPlayEffect;
import com.gempukku.lotro.logic.effects.HealCharacterEffect;
import com.gempukku.lotro.logic.timing.Action;
import java.util.Collections;
@@ -43,12 +43,7 @@ public class Card1_343 extends AbstractSite {
}
});
action.addEffect(
new ChooseActiveCardEffect(playerId, "Choose your companion", Filters.owner(playerId), Filters.type(CardType.COMPANION)) {
@Override
protected void cardSelected(PhysicalCard companion) {
action.addEffect(new HealCharacterEffect(playerId, companion));
}
});
new ChooseAndHealCharacterEffect(action, playerId, "Choose your companion", false, Filters.owner(playerId), Filters.type(CardType.COMPANION)));
return Collections.singletonList(action);
}
return null;

View File

@@ -2,6 +2,7 @@ package com.gempukku.lotro.cards.set1.site;
import com.gempukku.lotro.cards.AbstractSite;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.ChooseAndHealCharacterEffect;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword;
@@ -10,10 +11,8 @@ 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.DefaultCostToEffectAction;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.ChooseCardsFromHandEffect;
import com.gempukku.lotro.logic.effects.DiscardCardFromHandEffect;
import com.gempukku.lotro.logic.effects.HealCharacterEffect;
import com.gempukku.lotro.logic.timing.Action;
import java.util.Collections;
@@ -45,12 +44,7 @@ public class Card1_358 extends AbstractSite {
}
});
action.addEffect(
new ChooseActiveCardEffect(playerId, "Choose a GONDOR companion", Filters.type(CardType.COMPANION), Filters.culture(Culture.GONDOR)) {
@Override
protected void cardSelected(PhysicalCard gondorCompanion) {
action.addEffect(new HealCharacterEffect(playerId, gondorCompanion));
}
});
new ChooseAndHealCharacterEffect(action, playerId, "Choose a GONDOR companion", false, Filters.type(CardType.COMPANION), Filters.culture(Culture.GONDOR)));
return Collections.singletonList(action);
}
return null;

View File

@@ -2,14 +2,13 @@ package com.gempukku.lotro.cards.set1.wraith;
import com.gempukku.lotro.cards.AbstractPermanent;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.ChooseAndHealCharacterEffect;
import com.gempukku.lotro.cards.effects.RemoveTwilightEffect;
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.DefaultCostToEffectAction;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.HealCharacterEffect;
import com.gempukku.lotro.logic.timing.Action;
import java.util.Collections;
@@ -35,13 +34,7 @@ public class Card1_220 extends AbstractPermanent {
final DefaultCostToEffectAction action = new DefaultCostToEffectAction(self, (game.getGameState().getCurrentPhase() == Phase.MANEUVER) ? Keyword.MANEUVER : Keyword.SKIRMISH, "Remove (3) to heal a Nazgul.");
action.addCost(new RemoveTwilightEffect(3));
action.addEffect(
new ChooseActiveCardEffect(playerId, "Choose a Nazgul", Filters.race(Race.NAZGUL)) {
@Override
protected void cardSelected(PhysicalCard nazgul) {
action.addEffect(
new HealCharacterEffect(playerId, nazgul));
}
});
new ChooseAndHealCharacterEffect(action, playerId, "Choose a Nazgul", false, Filters.race(Race.NAZGUL)));
return Collections.singletonList(action);
}
return null;