예제 #1
0
        /// <summary>获取觉醒加成</summary>
        public static LTAttributesData GetPartnerAwakenAttributes(LTPartnerData partnerData)
        {
            LTAttributesData attrData = new LTAttributesData();

            if (partnerData.IsAwaken <= 0)
            {
                return(attrData);
            }
            LTAttributesData baseAttr = AttributesManager.GetPartnerBaseAttr(partnerData.HeroStat.id, partnerData.UpGradeId, partnerData.Star, partnerData.StarHole, partnerData.Level, partnerData.AllRoundLevel, partnerData.ControlLevel, partnerData.StrongLevel, partnerData.RageLevel, partnerData.AbsorbedLevel, partnerData.IsAwaken, partnerData.InfoId);

            Hotfix_LT.Data.HeroAwakeInfoTemplate temp = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetHeroAwakeInfoByInfoID(partnerData.InfoId);
            attrData.m_MaxHP = baseAttr.m_MaxHP * temp.inc_MaxHP;
            attrData.m_ATK   = baseAttr.m_ATK * temp.inc_ATK;
            attrData.m_DEF   = baseAttr.m_DEF * temp.inc_DEF;
            attrData.m_Speed = baseAttr.m_Speed * temp.inc_speed;
            return(attrData);
        }
예제 #2
0
        /// <summary>[伙伴基础白字属性]</summary>
        public static LTAttributesData GetPartnerBaseAttributesByParnterData(int heroStatId, int heroUpgradeId, int star, int starHole, int heroLevel, int AllRoundLevel, int ControlLevel, int StrongLevel, int RageLevel, int AbsorbedLevel, int AwakenLevel, int infoId, IDictionary fetter, int commonSkillLevel, int activeSkillLevel, int passiveSkillLevel)
        {
            //********最终白字计算*********
            //伙伴基础白字属性 = [角色成长数值 + 觉醒固定值(只有速度需要计算) + 进阶数值 + 星槽数值 + 潜能固定值(只有速度需要计算)] * [星级加成% + 技能加成% + 巅峰加成% + 觉醒加成% + 羁绊加成%]
            //*****************************
            LTAttributesData baseAttrData = AttributesManager.GetPartnerBaseAttr(heroStatId, heroUpgradeId, star, starHole, heroLevel,
                                                                                 AllRoundLevel, ControlLevel, StrongLevel, RageLevel, AbsorbedLevel,
                                                                                 AwakenLevel, infoId);

            LTAttributesData totalAttrData = new LTAttributesData(baseAttrData);
            LTAttributesData tempAttrData  = new LTAttributesData();

            //星级加成
            tempAttrData = GetPartnerStarNewAttributes(baseAttrData, heroStatId, star);
            totalAttrData.Add(tempAttrData);

            //技能加成
            tempAttrData = GetPartnerSkillAttributes(baseAttrData, heroStatId, commonSkillLevel, activeSkillLevel, passiveSkillLevel);
            totalAttrData.Add(tempAttrData);

            //巅峰加成
            tempAttrData = GetProficiencyMultiAttributes(AllRoundLevel, ControlLevel, StrongLevel, RageLevel, AbsorbedLevel, baseAttrData);
            totalAttrData.Add(tempAttrData);

            //觉醒加成
            tempAttrData = GetPartnerShowAwakenAttributes(baseAttrData, infoId, AwakenLevel > 0);
            totalAttrData.Add(tempAttrData);

            //羁绊加成
            if (fetter != null)
            {
                tempAttrData = GetOtherPartnerGuardAttributes(baseAttrData, fetter);
                totalAttrData.Add(tempAttrData);
            }
            return(totalAttrData);
        }