Merge pull request #94 from PhallenCassidy/lotr-fixes

Lotr fixes
This commit is contained in:
Marcin Sciesinski
2021-02-25 00:23:04 +07:00
committed by GitHub
8 changed files with 14 additions and 16 deletions

View File

@@ -1438,7 +1438,7 @@
"modifier": {
"type": "cantBeAssignedToSkirmishAgainst",
"side": "free people",
"fpCharacter": "race(stored)",
"fpCharacter": "companion,race(stored)",
"minion": "self"
}
}

View File

@@ -715,7 +715,8 @@
"filter": "bearer"
},
"effect": {
"type": "removeTokens"
"type": "removeTokens",
"filter": "choose(any)"
}
},
{

View File

@@ -45,7 +45,8 @@ public class Card7_284 extends AbstractMinion {
KilledResult killResult = threatWoundsEffect.getKillResult();
if (killResult.getCause() == KillEffect.Cause.OVERWHELM
&& Filters.filter(killResult.getKilledCards(), game, CardType.COMPANION).size() > 0
&& Filters.canSpot(game, Filters.inSkirmish, Culture.SAURON, Race.ORC)) {
&& Filters.canSpot(game, Filters.inSkirmish, Culture.SAURON, Race.ORC)
&& Filters.canSpot(game, Filters.ringBearer)) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new RemoveThreatsEffect(self, 1));

View File

@@ -186,8 +186,8 @@
15U187
15S188
15S189
15U190
15U191
15S190
15S191
15U192
15R193
15S194

View File

@@ -44,7 +44,7 @@
17R44
17R45
17C46
17U47
17C47
17S48
17R49
17U50
@@ -154,4 +154,4 @@
17A154
17A155
17A156
17A157
17A157

View File

@@ -31,7 +31,7 @@ public class CantBeOverwhelmedMultiplier implements EffectAppenderProducer {
MultiEffectAppender result = new MultiEffectAppender();
result.addEffectAppender(
CardResolver.resolveCards(filter, new ConstantEvaluator(1), "_temp", "you", "Choose characters that you want to make unable to be assigned to skirmish", environment));
CardResolver.resolveCards(filter, new ConstantEvaluator(1), "_temp", "you", "Choose characters to apply overwhelm multiplier on", environment));
result.addEffectAppender(
new DelayedAppender() {
@Override

View File

@@ -248,7 +248,7 @@ public class ValueResolver {
final int multiplier = FieldUtils.getInteger(object.get("multiplier"), "multiplier", 1);
final FilterableSource filterableSource = environment.getFilterFactory().generateFilter(filter, environment);
return actionContext ->
(Evaluator) (game, cardAffected) -> multiplier * Filters.filter(game.getGameState().getDeadPile(actionContext.getPerformingPlayer()),
(Evaluator) (game, cardAffected) -> multiplier * Filters.filter(game.getGameState().getDeadPile(game.getGameState().getCurrentPlayerId()),
game, filterableSource.getFilterable(actionContext)).size();
} else if (type.equalsIgnoreCase("fromMemory")) {
FieldUtils.validateAllowedFields(object, "memory", "multiplier", "limit");

View File

@@ -33,7 +33,7 @@ public class DiscardCardsFromPlayEffect extends AbstractPreventableCardEffect {
protected Filter getExtraAffectableFilter() {
if (_source == null)
return Filters.any;
return Filters.canBeDiscarded(_source);
return Filters.canBeDiscarded(_performingPlayer, _source);
}
public String getPerformingPlayer() {
@@ -69,17 +69,13 @@ public class DiscardCardsFromPlayEffect extends AbstractPreventableCardEffect {
discardedCards.addAll(cards);
toMoveFromZoneToDiscard.addAll(cards);
String sourcePlayer = null;
if (_source != null)
sourcePlayer = _source.getOwner();
gameState.removeCardsFromZone(sourcePlayer, toMoveFromZoneToDiscard);
gameState.removeCardsFromZone(_performingPlayer, toMoveFromZoneToDiscard);
for (PhysicalCard card : toMoveFromZoneToDiscard)
gameState.addCardToZone(game, card, Zone.DISCARD);
if (_source != null && discardedCards.size() > 0)
game.getGameState().sendMessage(_source.getOwner() + " discards " + getAppendedNames(discardedCards) + " from play using " + GameUtils.getCardLink(_source));
game.getGameState().sendMessage(_performingPlayer + " discards " + getAppendedNames(discardedCards) + " from play using " + GameUtils.getCardLink(_source));
for (PhysicalCard discardedCard : discardedCards)
game.getActionsEnvironment().emitEffectResult(new DiscardCardsFromPlayResult(_source, getPerformingPlayer(), discardedCard));