fixed Pattern Matcher counting itself when it searches (fixes #5994)

This commit is contained in:
Evan Kranzler 2019-09-21 21:36:36 -04:00
parent 13ba8b0900
commit 24a7f13c81

View file

@ -19,9 +19,9 @@ import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCardInLibrary;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
/**
* @author TheElk801
@ -72,14 +72,16 @@ class RegularExpression extends OneShotEffect {
if (player == null) {
return false;
}
List<NamePredicate> predicates = new ArrayList();
game.getBattlefield()
.getAllActivePermanents(
StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE, source.getControllerId(), game
List<NamePredicate> predicates = game
.getBattlefield()
.getActivePermanents(
StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE,
source.getControllerId(), source.getSourceId(), game
).stream()
.map(Permanent::getName)
.filter(s -> !"".equals(s))
.forEach(s -> predicates.add(new NamePredicate(s)));
.map(NamePredicate::new)
.collect(Collectors.toList());
FilterCard filter
= new FilterCard("a creature card with the same name as another creature you control");
filter.add(Predicates.or(predicates));