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);
action.appendEffect(
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;
}
}

View File

@@ -30,7 +30,7 @@ import java.util.List;
*/
public class Card30_008 extends AbstractFollower {
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

View File

@@ -22,7 +22,7 @@ import java.util.List;
* Strength: 7
* Vitality: 3
* 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 Card30_015() {
@@ -32,7 +32,7 @@ public class Card30_015 extends AbstractCompanion {
@Override
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.canDiscardFromPlay(self, game, Culture.DWARVEN, CardType.FOLLOWER)) {
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.logic.effects.ChooseActiveCardEffect;
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.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
@@ -65,7 +66,8 @@ public class Card30_045 extends AbstractCompanion {
action.insertEffect(
new AddUntilEndOfPhaseModifierEffect(
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);

View File

@@ -30,7 +30,7 @@ import java.util.List;
*/
public class Card31_002 extends AbstractEvent {
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

View File

@@ -34,7 +34,7 @@ import java.util.List;
*/
public class Card31_004 extends AbstractPermanent {
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);
}

View File

@@ -42,13 +42,7 @@ public class Card31_010 extends AbstractAlly {
action.appendCost(
new SelfExertEffect(action, self));
action.appendEffect(
new ChooseOpponentEffect(playerId) {
@Override
protected void opponentChosen(String opponentId) {
action.appendEffect(
new ChooseAndReturnCardsToHandEffect(action, opponentId, 1, 1, Race.ORC, Filters.lessStrengthThan(8)));
}
});
new ChooseAndReturnCardsToHandEffect(action, playerId, 1, 1, Race.ORC, Filters.lessStrengthThan(8)));
return Collections.singletonList(action);
}
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.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.cards.modifiers.AllyParticipatesInArcheryFireAndSkirmishesModifier;
import com.gempukku.lotro.cards.modifiers.CantTakeArcheryWoundsModifier;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.filters.Filters;
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.logic.actions.ActivateCardAction;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
import com.gempukku.lotro.logic.modifiers.*;
import com.gempukku.lotro.logic.timing.Effect;
import com.gempukku.lotro.logic.timing.Action;
@@ -35,7 +35,7 @@ import java.util.List;
* Vitality: 4
* Site: 5
* 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 Card31_012() {
@@ -68,6 +68,9 @@ public class Card31_012 extends AbstractAlly {
action.appendEffect(
new AddUntilStartOfPhaseModifierEffect(
new AllyParticipatesInArcheryFireAndSkirmishesModifier(self, self), Phase.REGROUP));
action.appendEffect(
new AddUntilStartOfPhaseModifierEffect(
new CantTakeArcheryWoundsModifier(self, self), Phase.ASSIGNMENT));
return Collections.singletonList(action);
}
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.state.LotroGame;
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.SpotCondition;
import com.gempukku.lotro.logic.timing.Action;
import com.gempukku.lotro.logic.timing.Effect;
import com.gempukku.lotro.logic.timing.EffectResult;
@@ -44,7 +45,8 @@ public class Card31_013 extends AbstractFollower {
@Override
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

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.SelfDiscardEffect;
import com.gempukku.lotro.cards.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
import com.gempukku.lotro.cards.modifiers.evaluator.CountSpottableEvaluator;
import com.gempukku.lotro.cards.modifiers.evaluator.MultiplyEvaluator;
import com.gempukku.lotro.cards.modifiers.evaluator.*;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
@@ -58,7 +57,8 @@ public class Card31_029 extends AbstractPermanent {
action.appendCost(new RemoveTwilightEffect(3));
action.appendEffect(
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 null;