Exemple #1
0
    /// <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);
    }