I'll change this; I wasn't sure what was best for performance.  No terrain should have both the WALL and REDUCE_SCENT flag, but we can't really enforce that.  In order from most common to least common terrain, we have:
1) has_wall == false, reduce_scent == false
2) has_wall == true,
3) reduce_scent == true

Making case 1 go fast is best.