Target target = new TargetControlledCreaturePermanent(1, Integer.MAX_VALUE, filter,true);
target.setTargetName("creatures to convoke");
if (!target.canChoose(sourceId, controllerId, game)) {
return;
}
if (player.chooseUse(Outcome.Detriment, "Convoke creatures?", game)) {
player.chooseTarget(Outcome.Tap, target, ability, game);
if (target.getTargets().size() > 0) {
for (UUID creatureId: target.getTargets()) {
Permanent perm = game.getPermanent(creatureId);
if (perm == null || ability.getManaCostsToPay().convertedManaCost() == 0) {