mirror of
https://github.com/correl/mage.git
synced 2024-12-25 19:25:41 +00:00
fixed Niv-Mizzet Reborn allowing players to select cards that aren't exactly two colors
This commit is contained in:
parent
79f8391fef
commit
9ad7c4c83d
1 changed files with 12 additions and 7 deletions
|
@ -75,11 +75,18 @@ class NivMizzetRebornEffect extends OneShotEffect {
|
|||
this.color2 = color2;
|
||||
}
|
||||
|
||||
private TargetCard getTarget() {
|
||||
private FilterCard makeFilter() {
|
||||
FilterCard filter = new FilterCard(getDescription());
|
||||
filter.add(new ColorPredicate(new ObjectColor(color1 + color2)));
|
||||
filter.add(Predicates.not(new ColorPredicate(new ObjectColor(getOtherColors()))));
|
||||
return new TargetCardInLibrary(filter);
|
||||
filter.add(new ColorPredicate(new ObjectColor(color1)));
|
||||
filter.add(new ColorPredicate(new ObjectColor(color2)));
|
||||
for (char c : getOtherColors().toCharArray()) {
|
||||
filter.add(Predicates.not(new ColorPredicate(new ObjectColor("" + c))));
|
||||
}
|
||||
return filter;
|
||||
}
|
||||
|
||||
private TargetCard getTarget() {
|
||||
return new TargetCardInLibrary(makeFilter());
|
||||
}
|
||||
|
||||
private String getDescription() {
|
||||
|
@ -99,9 +106,7 @@ class NivMizzetRebornEffect extends OneShotEffect {
|
|||
}
|
||||
|
||||
private boolean isInCards(Cards cards, Game game) {
|
||||
FilterCard filter = new FilterCard(getDescription());
|
||||
filter.add(new ColorPredicate(new ObjectColor(color1 + color2)));
|
||||
filter.add(Predicates.not(new ColorPredicate(new ObjectColor(getOtherColors()))));
|
||||
FilterCard filter = makeFilter();
|
||||
return cards.getCards(game).stream().anyMatch(card -> filter.match(card, game));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue