Integer not lowering?

Hi I try to lower an integer to limit the use of an item but somehow unity blocks that. I haven’t recived any errors btw.

Heres my code:

using UnityEngine;

public class PlayerExtras : MonoBehaviour
{
    public GameObject[] possibleExtras;
    public int currIceSpikes = 0;
    public List<GameObject> medKits;
    public int medKitEffect = 10;
    public PlayerMovement player;
    public int currExtra = 0;
   
    public void LowerIceSpikes(int lowerBy)
    {
        currIceSpikes = currIceSpikes - lowerBy;
    }

    void Update()
    {
        player.projectile = possibleExtras[currExtra];
       
        if(Input.GetKeyDown(KeyCode.Alpha1))
        {
            currExtra = 0;
        }
       
        if(Input.GetKeyDown(KeyCode.Alpha2) && possibleExtras.Length == 2 && currIceSpikes > 0)
        {
            currExtra = 1;
        }
       
        if(Input.GetKeyDown(KeyCode.Return) && medKits.Count > 0)
        {
            medKits.RemoveAt(0);
            player.Health = player.Health + medKitEffect;
        }
       
    }
}

Where are you calling LowerIceSpikes from? What makes you think your variable is not being reduced in value? Have you tried logging the value with Debug.Log? Have you tried Debug.Log to verify that your method is even running?

I call it from my Player Contoller and I assing the variable directly when I shoot my Ice spikes but it just doesn’t lower it I test the Debug.Log technice now wait a sec

Edit:
I could see the function doesn’t even get called

Edit 2:
I realised I had writen the name of my Prefab wrong thnks for making me aware of the Debug.Log debug:)