package magic.model.target;
import magic.model.MagicCard;
import magic.model.MagicSource;
import magic.model.MagicPlayer;
// Permanent reference can not be used because game is copied.
public class MagicOtherCardTargetFilter extends MagicCardFilterImpl {
private final MagicTargetFilter<MagicCard> targetFilter;
private final long id;
public MagicOtherCardTargetFilter(final MagicTargetFilter<MagicCard> targetFilter,final MagicCard invalidCard) {
this.targetFilter=targetFilter;
this.id=invalidCard.getId();
}
@Override
public boolean accept(final MagicSource source,final MagicPlayer player,final MagicCard target) {
return targetFilter.accept(source,player,target) &&
target.getId() != id;
}
@Override
public boolean acceptType(final MagicTargetType targetType) {
return targetFilter.acceptType(targetType);
}
}