Avoid false positive in allows()

Defending piece is better only if it attacked.
It saved about 23% of the condition.