protected virtual void computeAbility(Character character, Enemy enemy)
    {
        int damage;

        damage = (int)((Random.Range(1 - character.Level, character.Level) + (Mathf.Pow(character.Level, 2))) * character.Damage * BaseDamage);
        if (Random.Range(1, 100) <= character.CriticalPercentage)
        {
            Debug.Log("Critical Hit!");
            damage *= 2;
        }
        else if (Random.Range(1, 100) <= character.MissPercentage)
        {
            Debug.Log("Miss!");
            damage = 0;
        }
        else
        {
            Debug.Log("Hit");
        }
        enemy.takeDamage(ref damage);
        FloatingTextController.CreateFloatingEnemyText(damage.ToString());
    }