if (current.containsTerrain(Terrains.WATER)) { retVal += current.terrainLevel(Terrains.WATER); }
    public int calcElevation(IHex current, IHex next, int assumedElevation) {        int retVal = assumedElevation;        if ((getMovementMode() == IEntityMovementMode.SUBMARINE)                || (getMovementMode() == IEntityMovementMode.VTOL)) {            retVal += current.surface();            retVal -= next.surface();        }        if ((next.getTerrain(Terrains.WATER) != null)                && (getMovementMode() != IEntityMovementMode.HOVER)                && (getMovementMode() != IEntityMovementMode.NAVAL)                && (getMovementMode() != IEntityMovementMode.HYDROFOIL)                && (getMovementMode() != IEntityMovementMode.SUBMARINE)                && (getMovementMode() != IEntityMovementMode.VTOL)) {            retVal -= next.terrainLevel(Terrains.WATER);        }        return retVal;    }