/// <summary>
	/// Calculates the critical.
	/// </summary>
	/// <returns>The critical.</returns>
	/// <param name="src">Source.</param>
	/// <param name="target">Target.</param>
	public int calcCritical(HeroData src,HeroData target)
	{
		int offset = target.level - src.level;
		if(offset <= 0) offset = 0;
		if(offset >= 10) offset = 10;
		
		float a = MonoInstancePool.getInstance<MathParam>().cri_attenuation_coefficient_a;
		float b = MonoInstancePool.getInstance<MathParam>().cri_attenuation_coefficient_a;
		float c = MonoInstancePool.getInstance<MathParam>().cri_attenuation_coefficient_a;
		float falloff = a * Mathf.Pow(target.level, 2) + b * target.level + c;

		float param_a = MonoInstancePool.getInstance<MathParam>().crirate_coefficient_a;
		float param_b = MonoInstancePool.getInstance<MathParam>().crirate_coefficient_b;
		float res = ((src.getCriticallv() - target.getTenacitylv()) * a + b) / 10000*100*falloff;
		return (int)res;
	}