/// <summary> /// 魔法伤害公式 /// </summary> /// <param name="s1_skillpercent">技能伤害千分比</param> /// <param name="s1_magicattack">魔法攻击</param> /// <param name="ReduceMagicDefend">魔法忽视防御</param> /// <param name="s2_magicdefend">防御方护甲</param> /// <param name="ReduceMagicDamage">魔法减免伤害</param> /// <param name="s1_skilldamage">技能伤害固定值</param> /// <returns>物理伤害</returns> private static int CALC_SOLDIER_MAGICDAMAGE(int s1_skillpercent, int s1_magicattack, int ReduceMagicDefend, int s2_magicdefend, int ReduceMagicDamage, int s1_skilldamage) { float k15 = ConfigM.GetWhiteNinjaK(3) * 0.001f; float SkillPercent = s1_skillpercent * 0.001f; //魔方伤害减免百分比 float ReducePercent = ConfigM.GetReduceMagicPercent(s2_magicdefend); float ff = 1.0f + ReduceMagicDefend * k15 - ReducePercent; if (ff < 0.0f) { UnityEngine.Debug.LogError("出现负值"); } float value = SkillPercent * (s1_magicattack * ff - ReduceMagicDamage) + s1_skilldamage; return((int)value); }