    if (specialData == 0)
    {
        float alpha = gl_FragData[0].a;
        float depth = 0;
        if (alpha > 0)
        {
            depth = sqrt(eyePos.x * eyePos.x + eyePos.y * eyePos.y + eyePos.z * eyePos.z);
            if (depth >= 80) discard;
            else
            {
                float depth2 = clamp(1 - (depth / 4), 0, 1);
                depth = mod(depth - activeTicks * 2, 80) - 80;
                depth = 1 + (depth * .025);
                if (depth < 0 || depth > 1) depth = 0;
                depth = max(depth2, pow(depth, 3));
            }
        }
        else discard;
        gl_FragData[0] = vec4(depth * .5, depth * .5, depth * .5, alpha);
    }
    vec4 x = unpackUnorm4x8(floatBitsToUint(eyePos.x));
    vec4 y = unpackUnorm4x8(floatBitsToUint(eyePos.y));
    vec4 z = unpackUnorm4x8(floatBitsToUint(eyePos.z));
    gl_FragData[1] = vec4(x.r, y.r, z.r, 1);
    gl_FragData[2] = vec4(x.g, y.g, z.g, 1);
    gl_FragData[3] = vec4(x.b, y.b, z.b, 1);
    gl_FragData[4] = vec4(x.a, y.a, z.a, 1);