void stateIdle()
    {
        if (curTarget != null && curTarget.GetComponent <Vitals>().getCurHealth() > 0)
        {
            if (currentCover != null)
            {
                coverManager.ExitCover(currentCover);
            }

            currentCover = coverManager.GetCoverTowardsTarget(this, curTarget.transform.position, maxAttackDistance, minAttackDistance, currentCover);

            if (currentCover != null)
            {
                if (Vector3.Distance(myTransform.position, currentCover.transform.position) > 0.2F)
                {
                    currentPath = CalculatePath(myTransform.position, currentCover.transform.position);

                    anim.SetBool("move", true);

                    state = ai_states.moveToCover;
                }
                else
                {
                    state = ai_states.combat;
                }
            }
            else
            {
                if (Vector3.Distance(myTransform.position, curTarget.transform.position) <= maxAttackDistance && Vector3.Distance(myTransform.position, curTarget.transform.position) >= minAttackDistance)
                {
                    //attack
                    state = ai_states.combat;
                }
            }
        }
        else
        {
            //find new target
            Soldier bestTarget = GetNewTarget();

            if (bestTarget != null)
            {
                curTarget = bestTarget;
            }
        }
    }