예제 #1
0
    static public int GetPhyAttack(int id, int level, int yellowPoint = 1)
    {
        HeroInfo info = GameTable.HeroInfoTableAsset.Lookup(id);

        if (null == info)
        {
            return(0);
        }

        RarityRelativeInfo rarityInfo = GameTable.RarityRelativeAsset.LookUp(info.Rarity);

        if (rarityInfo == null)
        {
            return(0);
        }

        QualityInfo qualityInfo = GameTable.qualityRelativeAsset.LookUp(info.Quality);

        if (qualityInfo == null)
        {
            return(0);
        }

        CardTypeInfo cardTypeInfo = GameTable.cardTypeVariationAsset.LookUp((int)info.AttrTypeID);

        if (cardTypeInfo == null)
        {
            return(0);
        }

        LevelUpInfo levelUpInfo = GameTable.LevelUpTableAsset.LookUp(level);

        if (levelUpInfo == null)
        {
            return(0);
        }
        CardLevelInfo cardLevelInfo = GameTable.cardLevelVariationAsset.LookUp((int)info.levelTypeID);

        if (cardLevelInfo == null)
        {
            return(0);
        }

        YellowPointInfo yellowPointInfo = GameTable.yellowPointParamAsset.LookUp(yellowPoint);

        if (yellowPointInfo == null)
        {
            return(0);
        }

        //Debug.Log("(" + info.FPhyAttack + "+" + cardTypeInfo.m_phyAtt + ") * (1 +" + cardLevelInfo.m_phyAttParam + "*" + level + "+" + yellowPointInfo.m_phyAttParam + ")*(" + rarityInfo.m_mainAttrMutiply +"+"+ qualityInfo.m_mainAttrMutiply+")");
        // 计算物理攻击力
        float attack = (info.FPhyAttack + cardTypeInfo.m_phyAtt) * (1 + cardLevelInfo.m_phyAttParam * level + yellowPointInfo.m_phyAttParam) * (rarityInfo.m_mainAttrMutiply + qualityInfo.m_mainAttrMutiply);

        return((int)attack);
    }
예제 #2
0
    // 获得当前物理防御力
    static public int GetPhyDefend(int id, int level, int yellowPoint = 1)
    {
        HeroInfo info = GameTable.HeroInfoTableAsset.Lookup(id);

        if (null == info)
        {
            return(0);
        }

        RarityRelativeInfo rarityInfo = GameTable.RarityRelativeAsset.LookUp(info.Rarity);

        if (rarityInfo == null)
        {
            return(0);
        }

        QualityInfo qualityInfo = GameTable.qualityRelativeAsset.LookUp(info.Quality);

        if (qualityInfo == null)
        {
            return(0);
        }

        CardTypeInfo cardTypeInfo = GameTable.cardTypeVariationAsset.LookUp((int)info.AttrTypeID);

        if (cardTypeInfo == null)
        {
            return(0);
        }

        LevelUpInfo levelUpInfo = GameTable.LevelUpTableAsset.LookUp(level);

        if (levelUpInfo == null)
        {
            return(0);
        }

        CardLevelInfo cardLevelInfo = GameTable.cardLevelVariationAsset.LookUp((int)info.levelTypeID);

        if (cardLevelInfo == null)
        {
            return(0);
        }

        YellowPointInfo yellowPointInfo = GameTable.yellowPointParamAsset.LookUp(yellowPoint);

        if (yellowPointInfo == null)
        {
            return(0);
        }

        // 获得当前魔法 防御力
        float attack = (info.FPhyDefend + cardTypeInfo.m_phyDef) * (1 + cardLevelInfo.m_phyDefParam * level + yellowPointInfo.m_phyDefParam) * (rarityInfo.m_mainAttrMutiply + qualityInfo.m_mainAttrMutiply);

        return((int)attack);
    }
    public CardLevelInfo LookUp(int id)
    {
        CardLevelInfo info = null;

        if (m_map.TryGetValue(id, out info))
        {
            return(info);
        }
        return(null);
    }
    public void Load(byte[] bytes)
    {
        m_map = new Dictionary <int, CardLevelInfo>();
        BinaryHelper helper = new BinaryHelper(bytes);

        int sceneCount = helper.ReadInt();

        for (int index = 0; index < sceneCount; ++index)
        {
            CardLevelInfo info = new CardLevelInfo();
            info.Load(helper);
            m_map.Add(info.m_id, info);
        }
    }
예제 #5
0
    static public int GetHp(int id, int level, int yellowPoint = 1)
    {
        HeroInfo info = GameTable.HeroInfoTableAsset.Lookup(id);

        if (null == info)
        {
            return(0);
        }

        RarityRelativeInfo rarityInfo = GameTable.RarityRelativeAsset.LookUp(info.Rarity);

        if (rarityInfo == null)
        {
            return(0);
        }

        QualityInfo qualityInfo = GameTable.qualityRelativeAsset.LookUp(info.Quality);

        if (qualityInfo == null)
        {
            return(0);
        }

        CardTypeInfo cardTypeInfo = GameTable.cardTypeVariationAsset.LookUp((int)info.AttrTypeID);

        if (cardTypeInfo == null)
        {
            return(0);
        }

        CardLevelInfo cardLevelInfo = GameTable.cardLevelVariationAsset.LookUp((int)info.levelTypeID);

        if (cardLevelInfo == null)
        {
            return(0);
        }

        YellowPointInfo yellowPointInfo = GameTable.yellowPointParamAsset.LookUp(yellowPoint);

        if (yellowPointInfo == null)
        {
            return(0);
        }

        float maxLevelAttrParam = GameTable.WorldParamTableAsset.Lookup((int)ENWorldParamIndex.enMaxLevelAttrParam).FloatTypeValue;

        float hp = (info.FHPMax + cardTypeInfo.m_hp) * (1 + cardLevelInfo.m_hpParam * level + yellowPointInfo.m_hpParam) * (rarityInfo.m_mainAttrMutiply + qualityInfo.m_mainAttrMutiply);

        return((int)hp);
    }