opponent units visibility refactored