&& (moveType != IEntityMovementMode.VTOL)) {
&& (moveType != IEntityMovementMode.VTOL) && (moveType != IEntityMovementMode.BIPED_SWIM) && (moveType != IEntityMovementMode.QUAD_SWIM)) {
    protected void calcMovementCostFor(IGame game, Coords prev, int prevEl) {        final int moveType = parent.getEntity().getMovementMode();        final IHex srcHex = game.getBoard().getHex(prev);        final IHex destHex = game.getBoard().getHex(getPosition());        final boolean isInfantry = parent.getEntity() instanceof Infantry;        final boolean isProto = parent.getEntity() instanceof Protomech;        int nSrcEl = srcHex.getElevation() + prevEl;        int nDestEl = destHex.getElevation() + elevation;        mp = 1;        // jumping always costs 1        if (parent.isJumping()) {            return;        }                // VTOLs pay 1 for everything        if (moveType == IEntityMovementMode.VTOL) {            return;        }        // Account for terrain, unless we're moving along a road.        if (!isPavementStep) {            mp += destHex.movementCost(moveType);            // non-hovers, non-navals and non-VTOLs check for water depth and are affected by swamp            if ((moveType != IEntityMovementMode.HOVER)                    && (moveType != IEntityMovementMode.NAVAL)                    && (moveType != IEntityMovementMode.HYDROFOIL)                    && (moveType != IEntityMovementMode.SUBMARINE)                    && (moveType != IEntityMovementMode.VTOL)) {                //no additional cost when moving on surface of ice.                if (!destHex.containsTerrain(Terrains.ICE) || nDestEl < destHex.surface()) {                    if (destHex.terrainLevel(Terrains.WATER) == 1) {                        mp++;                    } else if (destHex.terrainLevel(Terrains.WATER) > 1) {                        mp += 3;                    }                }            }        } // End not-along-road        if (nSrcEl != nDestEl) {            int delta_e = Math.abs(nSrcEl - nDestEl);            // non-flying Infantry and ground vehicles are charged double.            if ((isInfantry && !(moveType == IEntityMovementType.MOVE_VTOL_WALK ||                                 moveType == IEntityMovementType.MOVE_VTOL_RUN))                || (moveType == IEntityMovementMode.TRACKED                    || moveType == IEntityMovementMode.WHEELED                    || moveType == IEntityMovementMode.HOVER)) {                delta_e *= 2;            }            mp += delta_e;        }        // If we entering a building, all non-infantry pay additional MP.        if (nDestEl < destHex.terrainLevel(Terrains.BLDG_ELEV)            && !(isInfantry) && !(isProto)) {            Building bldg = game.getBoard().getBuildingAt(getPosition());            mp += bldg.getType();        }    }