in[i], los.getThruBldg()) );
in[i], los.getThruBldg(), underWaterCombat) );
    public static LosEffects losStraight(Game game, int attackerId, Targetable target) {        final Entity ae = game.getEntity(attackerId);        Coords[] in = intervening(ae.getPosition(), target.getPosition());        LosEffects los = new LosEffects();        boolean targetInBuilding = false;        if ( target instanceof Entity ) {            targetInBuilding = isInBuilding(game, (Entity) target);        }        // If the target and attacker are both in a        // building, set that as the first LOS effect.        if ( targetInBuilding && isInBuilding( game, ae ) ) {            los.setThruBldg( game.board.getBuildingAt( in[0] ) );        }        for (int i = 0; i < in.length; i++) {            los.add( losForCoords(game, attackerId, target,                                  in[i], los.getThruBldg()) );        }        // Infantry inside a building can only be        // targeted by units in the same building.        if ( target instanceof Infantry &&             targetInBuilding &&             null == los.getThruBldg() ) {            los.blocked = true;        }        // If a target Entity is at a different elevation as its        // attacker, and if the attack is through a building, the        // target has cover.        if ( null != los.getThruBldg() &&             ae.getElevation() != target.getElevation() ) {            los.setTargetCover( true );        }        return los;    }