static public double get(int itemLevel, QualityT quality, int randPropIndex) {
        if (itemLevel < 1 || itemLevel > M.length) {
            throw new IllegalArgumentException("Illegal ItemLevel: " + itemLevel);
        }
        if (randPropIndex < 0 || randPropIndex >= N) {
            throw new IllegalArgumentException("Illegal RandPropIndex: " + randPropIndex);
        }
        int arrayIndex = quality.randPropArrayIndex;
        if (arrayIndex < 0) {
            return 0;
        }
        int[] v = M[itemLevel - 1];        
        return v[v.length > N ? randPropIndex + arrayIndex * N : randPropIndex] / 10000D;
    }