Removed cards based on Balancing #2

This commit is contained in:
marcin.sciesinski
2019-09-01 02:23:43 -07:00
parent 8fde232593
commit c6b0a46a9a
8 changed files with 0 additions and 386 deletions

View File

@@ -1,37 +0,0 @@
package com.gempukku.lotro.cards.set40.elven;
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.PlayEventAction;
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
import com.gempukku.lotro.logic.modifiers.evaluator.CountSpottableEvaluator;
import com.gempukku.lotro.logic.modifiers.evaluator.MultiplyEvaluator;
/**
* Title: Might of the Last Homely House
* Set: Second Edition
* Side: Free
* Culture: Elven
* Twilight Cost: 1
* Type: Event - Skirmish
* Card Number: 1C56
* Game Text: Make a minion skirmishing an Elf strength -X, where X is the number of Rivendell allies you can spot.
*/
public class Card40_056 extends AbstractEvent {
public Card40_056() {
super(Side.FREE_PEOPLE, 1, Culture.ELVEN, "Might of the Last Homely House", Phase.SKIRMISH);
}
@Override
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
PlayEventAction action = new PlayEventAction(self);
action.appendEffect(
new ChooseAndAddUntilEOPStrengthBonusEffect(
action, self, playerId, new MultiplyEvaluator(-1, new CountSpottableEvaluator(CardType.ALLY, Keyword.RIVENDELL)),
CardType.MINION, Filters.inSkirmishAgainst(Race.ELF)));
return action;
}
}

View File

@@ -1,66 +0,0 @@
package com.gempukku.lotro.cards.set40.gandalf;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Phase;
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.actions.PlayEventAction;
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
import com.gempukku.lotro.logic.effects.CancelSkirmishEffect;
import com.gempukku.lotro.logic.effects.ChoiceEffect;
import com.gempukku.lotro.logic.effects.ChooseAndHealCharactersEffect;
import com.gempukku.lotro.logic.timing.Effect;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.ArrayList;
import java.util.List;
/**
* Title: Narrow Escape
* Set: Second Edition
* Side: Free
* Culture: Gandalf
* Twilight Cost: 2
* Type: Event - Skirmish
* Card Number: 1C85
* Game Text: Spot Saruman to cancel a skirmish involving Gandalf or spot Gandalf to heal him once for each threat.
*/
public class Card40_085 extends AbstractEvent {
public Card40_085() {
super(Side.FREE_PEOPLE, 2, Culture.GANDALF, "Narrow Escape", Phase.SKIRMISH);
}
@Override
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
return PlayConditions.canSpot(game, Filters.or(Filters.gandalf, Filters.saruman));
}
@Override
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
PlayEventAction action = new PlayEventAction(self);
List<Effect> possibleEffects = new ArrayList<Effect>(2);
if (PlayConditions.canSpot(game, Filters.saruman)) {
possibleEffects.add(
new CancelSkirmishEffect(Filters.gandalf) {
@Override
public String getText(LotroGame game) {
return "Cancel skirmish involving Gandalf";
}
});
}
if (PlayConditions.canSpot(game, Filters.gandalf)) {
possibleEffects.add(
new ChooseAndHealCharactersEffect(action, playerId, 1, 1, game.getGameState().getThreats(), Filters.gandalf) {
@Override
public String getText(LotroGame game) {
return "Heal Gandalf once for each threat";
}
});
}
action.appendEffect(
new ChoiceEffect(action, playerId, possibleEffects));
return action;
}
}

View File

@@ -1,79 +0,0 @@
package com.gempukku.lotro.cards.set40.gandalf;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Phase;
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.actions.ActivateCardAction;
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
import com.gempukku.lotro.logic.cardtype.AbstractPermanent;
import com.gempukku.lotro.logic.effects.AddTwilightEffect;
import com.gempukku.lotro.logic.effects.PutCardFromStackedIntoHandEffect;
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
import com.gempukku.lotro.logic.effects.StackTopCardsFromDeckEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Title: *A Wizard's Research
* Set: Second Edition
* Side: Free
* Culture: Gandalf
* Twilight Cost: 2
* Type: Condition - Support Area
* Card Number: 1U92
* Game Text: When there are 3 cards stacked here, discard this condition.
* Fellowship: Spot Gandalf and add (1) to stack the top card of your draw deck here.
* Maneuver: Exert Gandalf and discard this condition to take each card stacked here into hand.
*/
public class Card40_092 extends AbstractPermanent {
public Card40_092() {
super(Side.FREE_PEOPLE, 2, CardType.CONDITION, Culture.GANDALF, "A Wizard's Research", null, true);
}
@Override
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (game.getGameState().getStackedCards(self).size() >= 3) {
RequiredTriggerAction action = new RequiredTriggerAction(self);
action.appendEffect(
new SelfDiscardEffect(self));
return Collections.singletonList(action);
}
return null;
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.FELLOWSHIP, self)
&& PlayConditions.canSpot(game, Filters.gandalf)) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new AddTwilightEffect(self, 1));
action.appendEffect(
new StackTopCardsFromDeckEffect(self, playerId, 1, self));
return Collections.singletonList(action);
}
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self)
&& PlayConditions.canExert(self, game, Filters.gandalf)
&& PlayConditions.canSelfDiscard(self, game)) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.gandalf));
for (PhysicalCard stackedCard : game.getGameState().getStackedCards(self)) {
action.appendEffect(
new PutCardFromStackedIntoHandEffect(stackedCard));
}
action.appendEffect(
new SelfDiscardEffect(self));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,47 +0,0 @@
package com.gempukku.lotro.cards.set40.gondor;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.PlayEventAction;
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
import com.gempukku.lotro.logic.effects.AddUntilStartOfPhaseModifierEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
import com.gempukku.lotro.logic.timing.PlayConditions;
/**
* Title: Elendil!
* Set: Second Edition
* Side: Free
* Culture: Gondor
* Twilight Cost: 0
* Type: Event - Maneuver
* Card Number: 1C107
* Game Text: Exert a [GONDOR] companion to make him defender +1 until the regroup phase.
*/
public class Card40_107 extends AbstractEvent {
public Card40_107() {
super(Side.FREE_PEOPLE, 0, Culture.GONDOR, "Elendil!", Phase.MANEUVER);
}
@Override
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
return PlayConditions.canExert(self, game, Culture.GONDOR, CardType.COMPANION);
}
@Override
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, final PhysicalCard self) {
final PlayEventAction action = new PlayEventAction(self);
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Culture.GONDOR, CardType.COMPANION) {
@Override
protected void forEachCardExertedCallback(PhysicalCard character) {
action.appendEffect(
new AddUntilStartOfPhaseModifierEffect(
new KeywordModifier(self, character, Keyword.DEFENDER, 1), Phase.REGROUP));
}
});
return action;
}
}

View File

@@ -1,58 +0,0 @@
package com.gempukku.lotro.cards.set40.gondor;
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.ActivateCardAction;
import com.gempukku.lotro.logic.cardtype.AbstractAttachableFPPossession;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.ReplaceInSkirmishEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Title: *Horn of Gondor
* Set: Second Edition
* Side: Free
* Culture: Gondor
* Twilight Cost: 0
* Type: Possession - Horn
* Card Number: 1U109
* Game Text: Bearer must be a [GONDOR] Man.
* Skirmish: Exert bearer twice to have another companion replace this companion in this skirmish.
*/
public class Card40_109 extends AbstractAttachableFPPossession {
public Card40_109() {
super(0, 0, 0, Culture.GONDOR, PossessionClass.HORN, "Horn of Gondor", null, true);
}
@Override
public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
return Filters.and(Culture.GONDOR, Race.MAN);
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) {
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self)
&& PlayConditions.canExert(self, game, 2, Filters.hasAttached(self))) {
final ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, 2, Filters.hasAttached(self)));
if (PlayConditions.isActive(game, Filters.inSkirmish, Filters.hasAttached(self)))
action.appendEffect(
new ChooseActiveCardEffect(self, playerId, "Choose a companion to replace in skirmish", CardType.COMPANION, Filters.notAssignedToSkirmish) {
@Override
protected void cardSelected(LotroGame game, PhysicalCard card) {
action.appendEffect(
new ReplaceInSkirmishEffect(card, Filters.hasAttached(self)));
}
});
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,44 +0,0 @@
package com.gempukku.lotro.cards.set40.sauron;
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.cardtype.AbstractMinion;
import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.modifiers.SidePlayerCantPlayPhaseEventsOrSpecialAbilitiesModifier;
import com.gempukku.lotro.logic.modifiers.SpotCondition;
import com.gempukku.lotro.logic.modifiers.condition.AndCondition;
import java.util.Collections;
import java.util.List;
/**
* Title: *Orc Skulker
* Set: Second Edition
* Side: Shadow
* Culture: Sauron
* Twilight Cost: 3
* Type: Minion - Orc
* Strength: 9
* Vitality: 3
* Home: 6
* Card Number: 1U235
* Game Text: Tracker.
* While you can spot 3 trackers, the Free Peoples player may not play skirmish events or use skirmish special abilities
* in skirmishes involving this minion.
*/
public class Card40_235 extends AbstractMinion {
public Card40_235() {
super(3, 9, 3, 6, Race.ORC, Culture.SAURON, "Orc Skulker", null, true);
addKeyword(Keyword.TRACKER);
}
@Override
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
SidePlayerCantPlayPhaseEventsOrSpecialAbilitiesModifier modifier = new SidePlayerCantPlayPhaseEventsOrSpecialAbilitiesModifier(
self, new AndCondition(new SpotCondition(3, Keyword.TRACKER), new SpotCondition(self, Filters.inSkirmish)),
Side.FREE_PEOPLE, Phase.SKIRMISH);
return Collections.singletonList(modifier);
}
}

View File

@@ -1,48 +0,0 @@
package com.gempukku.lotro.cards.set40.wraith;
import com.gempukku.lotro.common.Culture;
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.PlayUtils;
import com.gempukku.lotro.logic.actions.PlayEventAction;
import com.gempukku.lotro.logic.cardtype.AbstractResponseEvent;
import com.gempukku.lotro.logic.effects.KillEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndReturnCardsToHandEffect;
import com.gempukku.lotro.logic.timing.Effect;
import com.gempukku.lotro.logic.timing.TriggerConditions;
import java.util.Collections;
import java.util.List;
import static com.gempukku.lotro.common.Race.NAZGUL;
/**
* Title: You Cannot Kill Them
* Set: Second Edition
* Side: Shadow
* Culture: Ringwraith
* Twilight Cost: 1
* Type: Event - Response
* Card Number: 1U212
* Game Text: If a Nazgul is about to be killed, return that Nazgul to your hand.
*/
public class Card40_212 extends AbstractResponseEvent {
public Card40_212() {
super(Side.SHADOW, 1, Culture.WRAITH, "You Cannot Kill Them");
}
@Override
public List<PlayEventAction> getOptionalInHandBeforeActions(String playerId, LotroGame game, Effect effect, PhysicalCard self) {
if (TriggerConditions.isGettingKilled(effect, game, NAZGUL)
&& PlayUtils.checkPlayRequirements(game, self, Filters.any, 0, 0, false, false)) {
KillEffect killEffect = (KillEffect) effect;
PlayEventAction action = new PlayEventAction(self);
action.appendEffect(
new ChooseAndReturnCardsToHandEffect(action, playerId, 1, 1, Filters.in(killEffect.getCharactersToBeKilled()), NAZGUL));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -53,7 +53,6 @@
40S53
40S54
40S55
40S56
40S57
40S58
40S59
@@ -82,14 +81,12 @@
40S82
40S83
40S84
40S85
40S86
40S87
40S88
40S89
40S90
40S91
40S92
40S93
40S94
40S95
@@ -104,9 +101,7 @@
40S104
40S105
40S106
40S107
40S108
40S109
40S110
40S111
40S112
@@ -209,7 +204,6 @@
40S209
40S210
40S211
40S212
40S213
40S214
40S215
@@ -232,7 +226,6 @@
40S232
40S233
40S234
40S235
40S236
40S237
40S238