Exemple #1
0
    /// <summary>
    /// 计算魔法防御
    /// </summary>
    private static int CalcMagDefend(s_building_typeInfo TypeInfo, s_buildqualityInfo QualityInfo, float Tenacity)
    {
        if (TypeInfo == null)
        {
            return(0);
        }
        float k5    = ConfigM.GetBuildUpParam(5);
        float add   = (Tenacity - TypeInfo.tenacity * 0.01f) * k5;
        int   value = TypeInfo.magicdefend + (int)add;

        if (QualityInfo != null)
        {
            value += QualityInfo.addmagicdefend;
        }
        return(value);
    }
Exemple #2
0
    /// <summary>
    /// 计算物理防御
    /// </summary>
    private static int CalcPhyDefend(s_building_typeInfo TypeInfo, s_buildqualityInfo QualityInfo, float Tenacity)
    {
        if (TypeInfo == null)
        {
            return(0);
        }
        float k4    = ConfigM.GetBuildUpParam(4);
        float add   = (Tenacity - TypeInfo.tenacity * 0.01f) * k4;
        int   value = TypeInfo.physicaldefend + (int)add;

        if (QualityInfo != null)
        {
            value += QualityInfo.addphydefend;
        }
        return(value);
    }
Exemple #3
0
    /// <summary>
    /// 计算物理攻击
    /// </summary>
    private static int CalcPhyAttack(s_building_typeInfo TypeInfo, s_buildqualityInfo QualityInfo, float Intensity)
    {
        if (TypeInfo == null)
        {
            return(0);
        }
        float k2    = ConfigM.GetBuildUpParam(2);
        float add   = (Intensity - TypeInfo.intensity * 0.01f) * k2;
        int   value = TypeInfo.phy_attack + (int)add;

        if (QualityInfo != null)
        {
            value += QualityInfo.addphyattack;
        }
        return(value);
    }
Exemple #4
0
    /// <summary>
    /// 计算魔法攻击
    /// </summary>
    private static int CalcMagAttack(s_building_typeInfo TypeInfo, s_buildqualityInfo QualityInfo, float Intensity)
    {
        if (TypeInfo == null)
        {
            return(0);
        }
        float k3    = ConfigM.GetBuildUpParam(3);
        float add   = (Intensity - TypeInfo.intensity * 0.01f) * k3;
        int   value = TypeInfo.magic_attack + (int)add;

        if (QualityInfo != null)
        {
            value += QualityInfo.addmagicattack;
        }
        return(value);
    }
Exemple #5
0
    /// <summary>
    /// 计算血量上限
    /// </summary>
    private static int CalcHp(s_building_typeInfo TypeInfo, s_buildqualityInfo QualityInfo, float Solidity)
    {
        if (TypeInfo == null)
        {
            return(0);
        }
        float k1    = ConfigM.GetBuildUpParam(1);
        float add   = (Solidity - TypeInfo.solidity * 0.01f) * k1;
        int   value = TypeInfo.hp + (int)add;

        if (QualityInfo != null)
        {
            value += QualityInfo.addhp;
        }
        return(value);
    }