return losStraight(game, attackerId, target);
return losStraight(game, attackerId, target, underWaterCombat);
    public static LosEffects calculateLos(Game game, int attackerId, Targetable target) {        final Entity ae = game.getEntity(attackerId);                // good time to ensure hex cache        IdealHex.ensureCacheSize(game.board.width + 1, game.board.height + 1);                // LOS fails if one of the entities is not deployed.        if (null == ae.getPosition() || null == target.getPosition()) {            LosEffects los = new LosEffects();            los.blocked = true; // TODO: come up with a better "impossible"            return los;        }                double degree = ae.getPosition().degree(target.getPosition());        if (degree % 60 == 30) {            return losDivided(game, attackerId, target);        } else {            return losStraight(game, attackerId, target);        }    }