If contents running at start even though conditions aren't met

This if is running at every start (both the play mode start and the editor start, since it is set to execute in edit mode which is intended) and i cannot for the life of me figure out why, neither of the conditions are met in the cases its running.

[ExecuteInEditMode]
public class ItemPickup : MonoBehaviour {
	public int itemID;
	public string itemName;
	public bool hasID;
	public int uniqueID;
	
		void Update () {
		if (hasID == false && uniqueID == 0) {
			hasID = true;
			print("getting ID");
			uniqueID = MCP.mcp.GetUniquePickupID();
		}
	}
}

Check the inspector!

This always happens to me. I set a default in the code and forget that because the variable is public it is overriden by the value set in the inspector.

While this is never visible in the code itself, at run-time (also edit-time in your case) the value is taken from the inspector.