How can I modify this grayscale shader to work for Bumped Specular?

Hi I was looking for a shader that could make gray scale, and I found one, but when it only does so as a diffuse type, I wanted to know how I could make it instead be in a Bumped Specular.

Here is what the shader I’m currently using looks like:

Shader "Custom/gray" {
    Properties {
    _MainTex ("Base (RGB)", 2D) = "white" {}
    }
    SubShader {
    Tags {"Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutoutDiffuse"}
    LOD 200
    CGPROGRAM
    #pragma surface surf Lambert
    
    sampler2D _MainTex;
    
    struct Input {
    float2 uv_MainTex;
    };
    
    void surf (Input IN, inout SurfaceOutput o) {
    half4 c = tex2D (_MainTex, IN.uv_MainTex);
    o.Albedo = (c.r + c.g + c.b)/3;
    o.Alpha = c.a;
    }
    ENDCG
    }
    FallBack "Transparent/Cutout/Diffuse"
}

I’d download the Unity built-in shaders, find the BumpSpec shader you are interested in and use it as template to integrate your grayscale conversion.

There are also better grayscale conversion approaches available. Generally accepted as the best is this one:

float grayscale = dot(float3(0.222, 0.707, 0.071), inColor);

See GPU Gems - Chapter 22. Color Controls (Grayscale Conversion paragraph) for more details.