Why is this Int lagging when its subtracting something over a period of time?

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class hthScript : MonoBehaviour {

    //begining
    public int maxHealth = 100;
    public int maxThirst = 100;
    public int maxHunger = 100;

    //realtime
    public int currentHealth;
    public int currentThirst;
    public int currentHunger;
    public float hungerLoss;
    public float thirstLoss;

    //references
    public Slider healthSlider;
    public Slider thirstSlider;
    public Slider hungerSlider;





	// Use this for initialization
	void Start () {
        currentHealth = maxHealth;
        currentThirst = maxThirst;
        currentHunger = maxHealth;
    }
	
	// Update is called once per frame
	void Update () {
        HTHDecline();

        healthSlider.value = currentHealth;
        thirstSlider.value = currentThirst;
        hungerSlider.value = currentHunger;
    }






    //when something happens:
    public void TakeDamage(int amount)
    {
        currentHealth -= amount;
    }

    public void DrinkWater(int amount)
    {
        currentThirst += amount;
    }

    public void EatFood(int amount)
    {
        currentHunger += amount;
    }





    //Over a period of time:
    public void HTHDecline()
    {

        //For hunger
        currentHunger = currentHunger - Mathf.RoundToInt(Time.deltaTime * hungerLoss);

        //For thirst
        currentThirst = currentThirst - Mathf.RoundToInt(Time.deltaTime * thirstLoss);

        //thirst & hunger kills you:
        if (currentHunger < 25)
        {
            currentHealth = currentHealth - Mathf.RoundToInt(Time.deltaTime * 20);
        }
        if (currentThirst < 25)
        {
            currentHealth = currentHealth - Mathf.RoundToInt(Time.deltaTime * 20);
        }
    }
}

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class hthScript : MonoBehaviour
{

//begining
public float maxHealth = 100;
public float maxThirst = 100;
public float maxHunger = 100;

//realtime
public float currentHealth;
public float currentThirst;
public float currentHunger;
public float hungerLoss;
public float thirstLoss;

//references
public Slider healthSlider;
public Slider thirstSlider;
public Slider hungerSlider;

// Use this for initialization
void Start()
{
    currentHealth = maxHealth;
    currentThirst = maxThirst;
    currentHunger = maxHealth;
}

// Update is called once per frame
void Update()
{
    HTHDecline();
    

    healthSlider.value = currentHealth;
    thirstSlider.value = currentThirst;
    hungerSlider.value = currentHunger;
}

//when something happens:
public void TakeDamage(int amount)
{
    currentHealth -= amount;
}

public void DrinkWater(int amount)
{
    currentThirst += amount;
}

public void EatFood(int amount)
{
    currentHunger += amount;
}

//Over a period of time:
public void HTHDecline()
{
    //For hunger
    currentHunger = currentHunger - Time.deltaTime * hungerLoss;

    //For thirst
    currentThirst = currentThirst - Time.deltaTime * thirstLoss;

    //thirst & hunger kills you:
    if (currentHunger < 25)
    {
        currentHealth = currentHealth - Time.deltaTime * 20;
    }
    if (currentThirst < 25)
    {
        currentHealth = currentHealth - Time.deltaTime * 20;
    }

}

}

Sooooo i found out what was wrong. It basically wasn’t running smooth so I had to change all of the int’s to float’s