Merge pull request #41 from PhallenCassidy/Another-round-of-Hobbit-fixes

Another round of hobbit fixes
This commit is contained in:
Marcin Sciesinski
2017-12-07 12:14:17 -08:00
committed by GitHub
10 changed files with 38 additions and 37 deletions

View File

@@ -29,7 +29,7 @@ public class Card30_003 extends AbstractEvent {
final PlayEventAction action = new PlayEventAction(self); final PlayEventAction action = new PlayEventAction(self);
action.appendEffect( action.appendEffect(
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId,
new CardMatchesEvaluator(3, 4, Filters.hasAttached(CardType.FOLLOWER)), Race.DWARF, Filters.or(CardType.COMPANION, CardType.ALLY))); new CardMatchesEvaluator(3, 4, Filters.hasAttached(Filters.and(CardType.FOLLOWER, Culture.DWARVEN))), Race.DWARF, Filters.or(CardType.COMPANION, CardType.ALLY)));
return action; return action;
} }
} }

View File

@@ -30,7 +30,7 @@ import java.util.List;
*/ */
public class Card30_008 extends AbstractFollower { public class Card30_008 extends AbstractFollower {
public Card30_008() { public Card30_008() {
super(Side.FREE_PEOPLE, 2, 1, 0, 0, Culture.DWARVEN, "Dori", "Really a Decent Fellow", true); super(Side.FREE_PEOPLE, 1, 1, 0, 0, Culture.DWARVEN, "Dori", "Really a Decent Fellow", true);
} }
@Override @Override

View File

@@ -22,7 +22,7 @@ import java.util.List;
* Strength: 7 * Strength: 7
* Vitality: 3 * Vitality: 3
* Resistance: 6 * Resistance: 6
* Game Text: Skirmish: Exert Nori twice and discard a [DWARVEN] follower to discard a possession * Game Text: Maneuver: Exert Nori twice and discard a [DWARVEN] follower to discard a possession
*/ */
public class Card30_015 extends AbstractCompanion { public class Card30_015 extends AbstractCompanion {
public Card30_015() { public Card30_015() {
@@ -32,7 +32,7 @@ public class Card30_015 extends AbstractCompanion {
@Override @Override
protected List<ActivateCardAction> getExtraInPlayPhaseActions(String playerId, LotroGame game, PhysicalCard self) { protected List<ActivateCardAction> getExtraInPlayPhaseActions(String playerId, LotroGame game, PhysicalCard self) {
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self) if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self)
&& PlayConditions.canExert(self, game, 2, self) && PlayConditions.canExert(self, game, 2, self)
&& PlayConditions.canDiscardFromPlay(self, game, Culture.DWARVEN, CardType.FOLLOWER)) { && PlayConditions.canDiscardFromPlay(self, game, Culture.DWARVEN, CardType.FOLLOWER)) {
ActivateCardAction action = new ActivateCardAction(self); ActivateCardAction action = new ActivateCardAction(self);

View File

@@ -6,6 +6,7 @@ import com.gempukku.lotro.cards.TriggerConditions;
import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect; import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.cards.modifiers.evaluator.CardPhaseLimitEvaluator; import com.gempukku.lotro.cards.modifiers.evaluator.CardPhaseLimitEvaluator;
import com.gempukku.lotro.cards.modifiers.evaluator.NegativeEvaluator;
import com.gempukku.lotro.common.*; import com.gempukku.lotro.common.*;
import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.PhysicalCard;
@@ -65,7 +66,8 @@ public class Card30_045 extends AbstractCompanion {
action.insertEffect( action.insertEffect(
new AddUntilEndOfPhaseModifierEffect( new AddUntilEndOfPhaseModifierEffect(
new StrengthModifier(self, Filters.sameCard(card), null, new StrengthModifier(self, Filters.sameCard(card), null,
new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, -4, new ConstantEvaluator(-2))))); new NegativeEvaluator(new CardPhaseLimitEvaluator(
game, self, Phase.SKIRMISH, 4, new ConstantEvaluator(2))))));
} }
}); });
return Collections.singletonList(action); return Collections.singletonList(action);

View File

@@ -30,7 +30,7 @@ import java.util.List;
*/ */
public class Card31_002 extends AbstractEvent { public class Card31_002 extends AbstractEvent {
public Card31_002() { public Card31_002() {
super(Side.FREE_PEOPLE, 1, Culture.DWARVEN, "Dwarven Song", Phase.REGROUP); super(Side.FREE_PEOPLE, 3, Culture.DWARVEN, "Dwarven Song", Phase.REGROUP);
} }
@Override @Override

View File

@@ -34,7 +34,7 @@ import java.util.List;
*/ */
public class Card31_004 extends AbstractPermanent { public class Card31_004 extends AbstractPermanent {
public Card31_004() { public Card31_004() {
super(Side.FREE_PEOPLE, 1, CardType.POSSESSION, Culture.DWARVEN, Zone.SUPPORT, "Great Barricade", null, true); super(Side.FREE_PEOPLE, 2, CardType.POSSESSION, Culture.DWARVEN, Zone.SUPPORT, "Great Barricade", null, true);
addKeyword(Keyword.FORTIFICATION); addKeyword(Keyword.FORTIFICATION);
} }

View File

@@ -42,13 +42,7 @@ public class Card31_010 extends AbstractAlly {
action.appendCost( action.appendCost(
new SelfExertEffect(action, self)); new SelfExertEffect(action, self));
action.appendEffect( action.appendEffect(
new ChooseOpponentEffect(playerId) { new ChooseAndReturnCardsToHandEffect(action, playerId, 1, 1, Race.ORC, Filters.lessStrengthThan(8)));
@Override
protected void opponentChosen(String opponentId) {
action.appendEffect(
new ChooseAndReturnCardsToHandEffect(action, opponentId, 1, 1, Race.ORC, Filters.lessStrengthThan(8)));
}
});
return Collections.singletonList(action); return Collections.singletonList(action);
} }
return null; return null;

View File

@@ -8,6 +8,7 @@ import com.gempukku.lotro.cards.effects.DiscardBottomCardFromDeckEffect;
import com.gempukku.lotro.cards.effects.choose.ChooseAndDiscardCardsFromPlayEffect; import com.gempukku.lotro.cards.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect; import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.cards.modifiers.AllyParticipatesInArcheryFireAndSkirmishesModifier; import com.gempukku.lotro.cards.modifiers.AllyParticipatesInArcheryFireAndSkirmishesModifier;
import com.gempukku.lotro.cards.modifiers.CantTakeArcheryWoundsModifier;
import com.gempukku.lotro.common.*; import com.gempukku.lotro.common.*;
import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.PhysicalCard;
@@ -15,8 +16,7 @@ import com.gempukku.lotro.game.state.GameState;
import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.ActivateCardAction; import com.gempukku.lotro.logic.actions.ActivateCardAction;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; import com.gempukku.lotro.logic.modifiers.*;
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
import com.gempukku.lotro.logic.timing.Effect; import com.gempukku.lotro.logic.timing.Effect;
import com.gempukku.lotro.logic.timing.Action; import com.gempukku.lotro.logic.timing.Action;
@@ -35,7 +35,7 @@ import java.util.List;
* Vitality: 4 * Vitality: 4
* Site: 5 * Site: 5
* Game Text: Maneuver: Exert Thorin twice or discard a [DWARVEN] artifact to allow Thranduil * Game Text: Maneuver: Exert Thorin twice or discard a [DWARVEN] artifact to allow Thranduil
* to participate in archery fire and skirmishes until the regroup phase. * to participate in skirmishes until the regroup phase.
*/ */
public class Card31_012 extends AbstractAlly { public class Card31_012 extends AbstractAlly {
public Card31_012() { public Card31_012() {
@@ -68,6 +68,9 @@ public class Card31_012 extends AbstractAlly {
action.appendEffect( action.appendEffect(
new AddUntilStartOfPhaseModifierEffect( new AddUntilStartOfPhaseModifierEffect(
new AllyParticipatesInArcheryFireAndSkirmishesModifier(self, self), Phase.REGROUP)); new AllyParticipatesInArcheryFireAndSkirmishesModifier(self, self), Phase.REGROUP));
action.appendEffect(
new AddUntilStartOfPhaseModifierEffect(
new CantTakeArcheryWoundsModifier(self, self), Phase.ASSIGNMENT));
return Collections.singletonList(action); return Collections.singletonList(action);
} }
return null; return null;

View File

@@ -11,8 +11,9 @@ import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.OptionalTriggerAction; import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
import com.gempukku.lotro.logic.modifiers.CantDiscardFromPlayByPlayerModifier; import com.gempukku.lotro.logic.modifiers.CantDiscardFromPlayModifier;
import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.modifiers.SpotCondition;
import com.gempukku.lotro.logic.timing.Action; import com.gempukku.lotro.logic.timing.Action;
import com.gempukku.lotro.logic.timing.Effect; import com.gempukku.lotro.logic.timing.Effect;
import com.gempukku.lotro.logic.timing.EffectResult; import com.gempukku.lotro.logic.timing.EffectResult;
@@ -44,7 +45,8 @@ public class Card31_013 extends AbstractFollower {
@Override @Override
public Modifier getAlwaysOnModifier(LotroGame game, PhysicalCard self) { public Modifier getAlwaysOnModifier(LotroGame game, PhysicalCard self) {
return new CantDiscardFromPlayByPlayerModifier(self, "Can't be discarded by opponent", self, self.getOwner()); return new CantDiscardFromPlayModifier(self, "Cannot be discarded from play by Shadow cards",
new SpotCondition(Filters.hasAttached(self)), self, Side.SHADOW);
} }
@Override @Override

View File

@@ -7,8 +7,7 @@ import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect;
import com.gempukku.lotro.cards.effects.RemoveTwilightEffect; import com.gempukku.lotro.cards.effects.RemoveTwilightEffect;
import com.gempukku.lotro.cards.effects.SelfDiscardEffect; import com.gempukku.lotro.cards.effects.SelfDiscardEffect;
import com.gempukku.lotro.cards.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect; import com.gempukku.lotro.cards.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
import com.gempukku.lotro.cards.modifiers.evaluator.CountSpottableEvaluator; import com.gempukku.lotro.cards.modifiers.evaluator.*;
import com.gempukku.lotro.cards.modifiers.evaluator.MultiplyEvaluator;
import com.gempukku.lotro.common.*; import com.gempukku.lotro.common.*;
import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.PhysicalCard;
@@ -58,7 +57,8 @@ public class Card31_029 extends AbstractPermanent {
action.appendCost(new RemoveTwilightEffect(3)); action.appendCost(new RemoveTwilightEffect(3));
action.appendEffect( action.appendEffect(
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId,
new MultiplyEvaluator(-1, new CountSpottableEvaluator(3, CardType.ALLY, Culture.ELVEN)), Culture.DWARVEN, Filters.character)); new NegativeEvaluator(new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, 3,
new CountActiveEvaluator(CardType.ALLY, Culture.ELVEN))), Filters.and(Culture.DWARVEN, Filters.character)));
return Collections.singletonList(action); return Collections.singletonList(action);
} }
return null; return null;