Patch for S3_1 and later.
Might backport also to S3_0 later, but:
- S3_0 has only two vision layers, so is not suffering from the problem so much
- No part of this S3_1+ patch applies cleanly (maybe only because S3_0 code handes just two layers everywhere, and patch tries to adjust three)
- Definitely not before 3.0.7 release - in the beginning of some cycle (for maximal testing time) or never
E.g. unit_refresh_vision() has:
V_RADIUS(get_unit_vision_at(punit, utile, V_MAIN), get_unit_vision_at(punit, utile, V_INVIS), get_unit_vision_at(punit, utile, V_SUBSURFACE));
e.g. get_unit_vision_at() gets called three times for the same unit and tile. Each call check the same EFT_UNIT_VISION_RADIUS_SQ effects, which are not affected by the layer at all (we don't have a vision layer requirement).