diff --git a/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua b/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua index 14367c4585..feee310805 100644 --- a/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua +++ b/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua @@ -30,7 +30,8 @@ SDKSubMitType = { TYPE_EXIT_GAME = 5, TYPE_ENTER_COPY = 6, TYPE_EXIT_COPY = 7, - TYPE_VIP_LEVELUP = 8 + TYPE_VIP_LEVELUP = 8, + TYPE_CHANGE_NAME = 9 } SDK_RESULT = { @@ -300,36 +301,26 @@ HeroProType = { PhysicalDefence = 3, --护甲 MagicDefence = 4, --魔抗 Speed = 5, --速度 + InitRage = 7, -- 初始怒气值 DamageBocusFactor = 51, --伤害加成百分比 DamageReduceFactor = 52, --伤害减免百分比 Hit = 53, --效果命中率 Dodge = 54, --效果抵抗率 CritFactor = 55, --暴击率 CritDamageFactor = 56, --暴伤 + AntiCritFactor = 60, --抗暴率 + AntiCritDamageFactor = 113, --暴击伤害减免 CureFacter = 57, --受到治疗系数 TreatFacter = 58, --治疗系数 - DifferDemonsReduceFactor = 59, --异妖减伤率 - AntiCritDamageFactor = 60, --抗暴率 - MaxHpPercentage = 61, --生命值百分比 - AttackPercentage = 62, --攻击力百分比 - MaxHpPercentage = 63, --生命值百分比 - PhysicalDefencePercentage = 64, --护甲百分比 - SpeedPercentage = 65, --速度百分比 - DifferDemonsBocusFactor = 66, --异妖伤害加成系数 - FireDamageBonusFactor = 101, --火攻(%) - WindDamageBonusFactor = 102, --风攻(%) - WaterDamageBonusFactor = 103, --水攻(%) - LandDamageBonusFactor = 104, --地攻(%) - LightDamageBonusFactor = 105, --光攻(%) - DarkDamageBonusFactor = 106, --暗攻(%) - FireDamageReduceFactor = 107, --火抗(%) - WindDamageReduceFactor = 108, --风抗(%) - WaterDamageReduceFactor = 109, --水抗(%) - LandDamageReduceFactor = 110, --地抗(%) - LightDamageReduceFactor = 111, --光抗(%) - DarkDamageReduceFactor = 112, --暗抗(%) + RenBonus = 101, --对人杰阵营神将造成伤害时获得的伤害加成 + FoBonus = 102, --对佛禅阵营神将造成伤害时获得的伤害加成 + YaoBonus = 103, --对妖灵阵营神将造成伤害时获得的伤害加成 + DaoBonus = 104, --对道玄阵营神将造成伤害时获得的伤害加成 + RenReduce = 107, --受到人杰阵营神将造成的直接伤害时获得的伤害减免 + FoReduce = 108, --受到佛禅阵营神将造成的直接伤害时获得的伤害减免 + YaoReduce = 109, --受到妖灵阵营神将造成的直接伤害时获得的伤害减免 + DaoReduce = 110, --受到道玄阵营神将造成的直接伤害时获得的伤害减免 WarPower = 1000, --英雄战斗力(获取英雄属性时会用到) - InitRage = 200, -- 初始怒气值 } --异妖图片资源 diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/BattleManager.lua b/Assets/ManagedResources/~Lua/Modules/Battle/BattleManager.lua index 894fd1f127..c681b7ae94 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/BattleManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/BattleManager.lua @@ -633,18 +633,19 @@ function this.GetMonsterPros(id, lv, star) table.insert(allProVal, 11, proList[HeroProType.Dodge] or 0) --闪避率(%) table.insert(allProVal, 12, proList[HeroProType.CritFactor] or 0) --暴击率(%) table.insert(allProVal, 13, proList[HeroProType.CritDamageFactor] or 0) --暴击伤害系数(%) - table.insert(allProVal, 14, proList[HeroProType.AntiCritDamageFactor] or 0) --抗暴率(%) + table.insert(allProVal, 14, proList[HeroProType.AntiCritFactor] or 0) --抗暴率(%) table.insert(allProVal, 15, proList[HeroProType.TreatFacter] or 1) --治疗加成系数(%) 默认为1 table.insert(allProVal, 16, proList[HeroProType.CureFacter] or 1) --受到治疗系数(%)默认为1 - table.insert(allProVal, 17, 0) --异妖伤害加成系数(%) - table.insert(allProVal, 18, 0) --异妖减伤率(%) - table.insert(allProVal, 19, 0) --火系伤害减免系数(%) - table.insert(allProVal, 20, 0) --风系伤害减免系数(%) - table.insert(allProVal, 21, 0) --冰系伤害减免系数(%) - table.insert(allProVal, 22, 0) --地系伤害减免系数(%) - table.insert(allProVal, 23, 0) --光系伤害减免系数(%) - table.insert(allProVal, 24, 0) --暗系伤害减免系数(%) - table.insert(allProVal, 25, 0) + table.insert(allProVal, 17, proList[HeroProType.RenBonus] or 0) -- 灭人 + table.insert(allProVal, 18, proList[HeroProType.FoBonus] or 0) -- 灭佛 + table.insert(allProVal, 19, proList[HeroProType.YaoBonus] or 0) -- 灭妖 + table.insert(allProVal, 20, proList[HeroProType.DaoBonus] or 0) -- 灭道 + table.insert(allProVal, 21, proList[HeroProType.RenReduce] or 0) -- 抗人 + table.insert(allProVal, 22, proList[HeroProType.FoReduce] or 0) -- 抗佛 + table.insert(allProVal, 23, proList[HeroProType.YaoReduce] or 0) -- 抗妖 + table.insert(allProVal, 24, proList[HeroProType.DaoReduce] or 0) -- 抗道 + table.insert(allProVal, 25, proList[HeroProType.InitRage] or 0) -- 初始怒气 + table.insert(allProVal, 26, proList[HeroProType.AntiCritDamageFactor] or 0) -- 爆伤减免 local pros = table.concat(allProVal, "#") return pros end diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Effect.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Effect.lua index 0a2212c210..e59d75d048 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Effect.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Effect.lua @@ -5,26 +5,6 @@ local max = math.max --local BattleLogic = BattleLogic --local BattleUtil = BattleUtil ---属性编号 --- local BattlePropList = { --- RoleDataName.Attack, --- RoleDataName.PhysicalDefence, --- RoleDataName.MagicDefence, --- RoleDataName.Speed, --- RoleDataName.DamageBocusFactor, --- RoleDataName.DamageReduceFactor, --- RoleDataName.Hit, --- RoleDataName.Dodge, --- RoleDataName.Crit, --- RoleDataName.CritDamageFactor, --- RoleDataName.TreatFacter, --- RoleDataName.MaxHp, --- RoleDataName.Hp, --- RoleDataName.CureFacter, --- RoleDataName.Tenacity, --- RoleDataName.InitRage, --- } - local function buffRandomAction(random, target, buff) -- 检测被动技能对技能的加成 diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua index ee568d4e69..4a67091a27 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua @@ -1,31 +1,6 @@ local floor = math.floor local max = math.max local min = math.min ---local RoleDataName = RoleDataName ---local BattleLogic = BattleLogic ---local BattleUtil = BattleUtil ---local BattleEventName = BattleEventName ---local BuffName = BuffName - ---属性编号 --- local BattlePropList = { --- RoleDataName.Attack, --- RoleDataName.PhysicalDefence, --- RoleDataName.MagicDefence, --- RoleDataName.Speed, --- RoleDataName.DamageBocusFactor, --- RoleDataName.DamageReduceFactor, --- RoleDataName.Hit, --- RoleDataName.Dodge, --- RoleDataName.Crit, --- RoleDataName.CritDamageFactor, --- RoleDataName.TreatFacter, --- RoleDataName.MaxHp, --- RoleDataName.Hp, --- RoleDataName.CureFacter, --- RoleDataName.Tenacity, --- RoleDataName.InitRage, --- } PassiveManager = {} PassiveManager.passiveCountList = { [0] = {}, @@ -328,22 +303,7 @@ local passivityList = { --免疫[a]属性伤害。 --a[属性类型] [15] = function(role, args) - local pt = args[1] - local elementDamageReduceFactor - if pt == 1 then - elementDamageReduceFactor = RoleDataName.FireDamageReduceFactor - elseif pt == 2 then - elementDamageReduceFactor = RoleDataName.WindDamageReduceFactor - elseif pt == 3 then - elementDamageReduceFactor = RoleDataName.IceDamageReduceFactor - elseif pt == 4 then - elementDamageReduceFactor = RoleDataName.LandDamageReduceFactor - elseif pt == 5 then - elementDamageReduceFactor = RoleDataName.LightDamageReduceFactor - elseif pt == 6 then - elementDamageReduceFactor = RoleDataName.DarkDamageReduceFactor - end - role.data:AddValue(elementDamageReduceFactor, 10000) + -- TODO:原有老被动已无法使用 end, --发动技能后,[a]的概率将[b]*[c]算作[d]计算,持续[e]秒。 @@ -1373,7 +1333,7 @@ local passivityList = { local OnPassiveCriting = function(crit,skill) BattleUtil.RandomAction(f1, function () - crit(role:GetRoleData(RoleDataName.CritDamageFactor)+f2) + crit(role:GetRoleData(RoleDataName.CritDamageBonus)+f2) end) end role.Event:AddEvent(BattleEventName.PassiveCriting, OnPassiveCriting,nil,nil,role) diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua index 9ffb438f61..cfc14b2bd0 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua @@ -191,35 +191,64 @@ BattleMaxFrame = 1000000 index = 0 RoleDataName = { - Level = indexAdd(), --等级 - Hp = indexAdd(), --生命 - MaxHp = indexAdd(), --最大生命 - Attack = indexAdd(), --攻击力 - PhysicalDefence = indexAdd(),--护甲 - MagicDefence = indexAdd(),--魔抗 - Speed = indexAdd(),--速度 + Level = indexAdd(), --等级 + Hp = indexAdd(), --生命 + MaxHp = indexAdd(), --最大生命 + Attack = indexAdd(), --攻击力 + PhysicalDefence = indexAdd(), --护甲 + MagicDefence = indexAdd(), --魔抗 + Speed = indexAdd(), --速度 DamageBocusFactor = indexAdd(), --伤害加成系数(%) DamageReduceFactor = indexAdd(), --伤害减免系数(%) - Hit = indexAdd(), --施法率(%) + Hit = indexAdd(), --施法率(%) Dodge = indexAdd(), --后期基础施法率(%) - Crit = indexAdd(), --暴击率(%) - CritDamageFactor = indexAdd(), --暴击伤害系数(%) + Crit = indexAdd(), --暴击率(%) + CritDamageBonus = indexAdd(), --暴击伤害系数(%) Tenacity = indexAdd(), --抗暴率(%) - TreatFacter = indexAdd(),--治疗加成系数(%) + TreatFacter = indexAdd(), --治疗加成系数(%) CureFacter = indexAdd(),--受到治疗加成系数(%) - TeamDamageBocusFactor = indexAdd(),--队伍伤害加成系数(%) - TeamDamageReduceFactor = indexAdd(),--队伍伤害减免系数(%) - FireDamageReduceFactor = indexAdd(), --火系伤害减免系数(%) - WindDamageReduceFactor = indexAdd(), --风系伤害减免系数(%) - IceDamageReduceFactor = indexAdd(), --冰系伤害减免系数(%) - LandDamageReduceFactor = indexAdd(), --地系伤害减免系数(%) - LightDamageReduceFactor = indexAdd(), --光系伤害减免系数(%) - DarkDamageReduceFactor = indexAdd(), --暗系伤害减免系数(%) - ElementDamageBocusFactor = indexAdd(), --属性伤害加成系数(%) + RenBonus = indexAdd(), --人系伤害加成 + FoBonus = indexAdd(), --佛系伤害加成 + YaoBonus = indexAdd(), --妖系伤害加成 + DaoBonus = indexAdd(), --道系伤害加成 + RenReduce = indexAdd(), --人系伤害减免 + FoReduce = indexAdd(), --佛系伤害减免 + YaoReduce = indexAdd(), --妖系伤害减免 + DaoReduce = indexAdd(), --道系伤害减免 InitRage = indexAdd(), --初始怒气值 - + CritDamageReduce = indexAdd(), --暴击伤害减免 } +-- 战斗表属性id对应战斗中属性数据 +BattlePropList = { + RoleDataName.Attack, + RoleDataName.PhysicalDefence, + RoleDataName.MagicDefence, + RoleDataName.Speed, + RoleDataName.DamageBocusFactor, + RoleDataName.DamageReduceFactor, + RoleDataName.Hit, + RoleDataName.Dodge, + RoleDataName.Crit, + RoleDataName.CritDamageBonus, + RoleDataName.TreatFacter, + RoleDataName.MaxHp, + RoleDataName.Hp, + RoleDataName.CureFacter, + RoleDataName.Tenacity, + RoleDataName.InitRage, + RoleDataName.RenBonus, + RoleDataName.FoBonus, + RoleDataName.YaoBonus, + RoleDataName.DaoBonus, + RoleDataName.RenReduce, + RoleDataName.FoReduce, + RoleDataName.YaoReduce, + RoleDataName.DaoReduce, + RoleDataName.CritDamageReduce, +} + + BuffName = { PropertyChange = 1, Control = 2, @@ -302,27 +331,6 @@ skill6={100923,0.15,1.5,1,{260004,{126,0.48,2,4,1,0,4,12,0}}}, } - --- 战斗表属性id对应战斗中属性数据 -BattlePropList = { - RoleDataName.Attack, - RoleDataName.PhysicalDefence, - RoleDataName.MagicDefence, - RoleDataName.Speed, - RoleDataName.DamageBocusFactor, - RoleDataName.DamageReduceFactor, - RoleDataName.Hit, - RoleDataName.Dodge, - RoleDataName.Crit, - RoleDataName.CritDamageFactor, - RoleDataName.TreatFacter, - RoleDataName.MaxHp, - RoleDataName.Hp, - RoleDataName.CureFacter, - RoleDataName.Tenacity, - RoleDataName.InitRage, -} - CurseTypeName = { ShareDamage = 1, } @@ -354,4 +362,18 @@ BattleArtFontType = { Immune = 1, -- 免疫文字 Shield = 2, --破盾文字 clear = 3, --清除文字 +} + + +BattleMieProp = { + [BattleRoleElementType.REN] = RoleDataName.RenBonus, + [BattleRoleElementType.FO] = RoleDataName.FoBonus, + [BattleRoleElementType.YAO] = RoleDataName.YaoBonus, + [BattleRoleElementType.DAO] = RoleDataName.DaoBonus +} +BattleKangProp = { + [BattleRoleElementType.REN] = RoleDataName.RenReduce, + [BattleRoleElementType.FO] = RoleDataName.FoReduce, + [BattleRoleElementType.YAO] = RoleDataName.YaoReduce, + [BattleRoleElementType.DAO] = RoleDataName.DaoReduce } \ No newline at end of file diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua index 13349520ef..389fcb7613 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua @@ -607,15 +607,6 @@ function BattleUtil.ApplyDamage(skill, atkRole, defRole, damage, bCrit, damageTy bCrit = bCrit or false damageType = damageType or 0 - -- if atkRole.isTeam then - -- --max(技能基础伤害*(1+已方异妖伤害加成-目标异妖伤害减免),30%×技能基础伤害) - -- local arr = RoleManager.Query(function (r) return r.camp == atkRole.camp end) - -- local n = 0 - -- for i=1, #arr do - -- n = n + arr[i]:GetRoleData(RoleDataName.TeamDamageBocusFactor) - -- end - -- damage = floor(max(damage * (1 + n / #arr - defRole:GetRoleData(RoleDataName.TeamDamageReduceFactor)), 0.3 * damage)) - -- end -- 计算护盾减伤 damage = BattleUtil.CalShield(atkRole, defRole, damage,skill) @@ -990,14 +981,17 @@ function BattleUtil.CalDamage(skill, atkRole, defRole, damageType, baseFactor, i critDamageReduceFactor = max(BattleUtil.CountChangeList(critDamageReduceFactor, cl), 0) -- 计算额外暴击伤害 - critDamageFactor = 1.3 + atkRole:GetRoleData(RoleDataName.CritDamageFactor) - critDamageReduceFactor + critDamageFactor = 1.3 + atkRole:GetRoleData(RoleDataName.CritDamageBonus) - defRole:GetRoleData(RoleDataName.CritDamageReduce) - critDamageReduceFactor --加入被动效果 触发暴击被动 local critFunc = function(critEx) critDamageFactor = critEx end atkRole.Event:DispatchEvent(BattleEventName.PassiveCriting, critFunc,skill) end - -- 公式伤害 = 基础伤害 * 基础伤害系数 * 增伤系数 * 爆伤系数 - local fixDamage = floor(BattleUtil.FP_Mul(baseDamage, baseFactor, addDamageFactor, critDamageFactor)) + -- 计算克制伤害系数 + local MieKangFactor = 1 + atkRole:GetRoleData(BattleMieProp[defRole.element]) - defRole:GetRoleData(BattleKangProp[atkRole.element]) + + -- 公式伤害 = 基础伤害 * 基础伤害系数 * 增伤系数 * 爆伤系数 * 克制伤害系数 + local fixDamage = floor(BattleUtil.FP_Mul(baseDamage, baseFactor, addDamageFactor, critDamageFactor, MieKangFactor)) -- 公式计算完成 local damageFunc = function(damage) fixDamage = damage end @@ -1037,7 +1031,7 @@ function BattleUtil.CalTreat(castRole, targetRole, value, baseFactor,skill) --计算暴击 if bCrit then --伤害有个+1.3 不知道干什么用的就给去了 by:wangxhenxing 2020/10/10 18:46 - critDamageFactor = 1.3 + castRole:GetRoleData(RoleDataName.CritDamageFactor) + critDamageFactor = 1.3 + castRole:GetRoleData(RoleDataName.CritDamageBonus) end -- 基础伤害增加系数 local addDamageFactor = 1 + castRole:GetRoleData(RoleDataName.DamageBocusFactor) diff --git a/Assets/ManagedResources/~Lua/Modules/Equip/EquipManager.lua b/Assets/ManagedResources/~Lua/Modules/Equip/EquipManager.lua index 893e54c7ec..55ce872748 100644 --- a/Assets/ManagedResources/~Lua/Modules/Equip/EquipManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Equip/EquipManager.lua @@ -243,29 +243,21 @@ function this.CalculateEquipWarForce(curEquip) for index, prop in pairs(mainAttribute) do local id = prop.propertyId local value = prop.propertyValue + -- + if propertyConfig[id].Style == 2 then + value = value / 100 + end if addAllProVal[id] then addAllProVal[id] = addAllProVal[id] + value else addAllProVal[id] = value end end - local powerEndVal = 0 - for i, v in pairs(addAllProVal) do - if v > 0 then - local curProConfigData = ConfigManager.GetConfigData(ConfigName.PropertyConfig, i) - if curProConfigData then - if curProConfigData.Style == 1 then - powerEndVal = powerEndVal + v * HeroManager.heroPropertyScore[i] - else - powerEndVal = powerEndVal + v / 100 * HeroManager.heroPropertyScore[i] - end - end - end - end if curEquip and curEquip.Score > 0 then - powerEndVal = powerEndVal + curEquip.Score + addAllProVal[HeroProType.WarPower] = curEquip.Score end - return math.floor(powerEndVal) + local powerEndVal = HeroPowerManager.CalPower(addAllProVal) + return powerEndVal end -- 判断是否是新装备 diff --git a/Assets/ManagedResources/~Lua/Modules/Equip/TalismanManager.lua b/Assets/ManagedResources/~Lua/Modules/Equip/TalismanManager.lua index 407be348b0..af269427f9 100644 --- a/Assets/ManagedResources/~Lua/Modules/Equip/TalismanManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Equip/TalismanManager.lua @@ -128,24 +128,8 @@ function this.CalculateWarForceBase(curTalismanConFigData,heroPos) end end end - local heroPropertyScore={} - for i, v in ConfigPairs(propertyConfig) do - heroPropertyScore[i]=v.Score - end - local powerEndVal=0 - for i, v in pairs(addAllProVal) do - if v > 0 then - local curProConfigData = ConfigManager.GetConfigData(ConfigName.PropertyConfig,i) - if curProConfigData then - if curProConfigData.Style == 1 then - powerEndVal=powerEndVal+v*heroPropertyScore[i] - else - powerEndVal=powerEndVal+v/100*heroPropertyScore[i] - end - end - end - end - return math.floor(powerEndVal) + local powerEndVal = HeroPowerManager.CalPower(addAllProVal) + return powerEndVal end end function this.GetAllTalismanByCondition(curTalismanData,upStarConFigData) diff --git a/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua b/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua index 80b528e88a..a5595afef8 100644 --- a/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua @@ -2165,56 +2165,59 @@ end function this.CalculateWarAllProVal(heroDid) local allEquipAddProVal = HeroPropManager.GetHeroProp(heroDid)--HeroManager.CalculateHeroAllProValList(1, heroDid, true) local allProVal = {} - table.insert(allProVal, 1, HeroManager.GetSingleHeroData(heroDid).lv) --等级 - table.insert(allProVal, 2, allEquipAddProVal[HeroProType.Hp]) + table.insert(allProVal, 1, HeroManager.GetSingleHeroData(heroDid).lv) --生命 - table.insert(allProVal, 3, allEquipAddProVal[HeroProType.Hp]) + table.insert(allProVal, 2, allEquipAddProVal[HeroProType.Hp]) --最大生命 - table.insert(allProVal, 4, allEquipAddProVal[HeroProType.Attack]) + table.insert(allProVal, 3, allEquipAddProVal[HeroProType.Hp]) --攻击力 - table.insert(allProVal, 5, allEquipAddProVal[HeroProType.PhysicalDefence]) + table.insert(allProVal, 4, allEquipAddProVal[HeroProType.Attack]) --护甲 - table.insert(allProVal, 6, allEquipAddProVal[HeroProType.MagicDefence]) + table.insert(allProVal, 5, allEquipAddProVal[HeroProType.PhysicalDefence]) --魔抗 - table.insert(allProVal, 7, allEquipAddProVal[HeroProType.Speed]) + table.insert(allProVal, 6, allEquipAddProVal[HeroProType.MagicDefence]) --速度 - table.insert(allProVal, 8, allEquipAddProVal[HeroProType.DamageBocusFactor]) + table.insert(allProVal, 7, allEquipAddProVal[HeroProType.Speed]) --伤害加成系数(%) - table.insert(allProVal, 9, allEquipAddProVal[HeroProType.DamageReduceFactor]) + table.insert(allProVal, 8, allEquipAddProVal[HeroProType.DamageBocusFactor]) --伤害减免系数(%) - table.insert(allProVal, 10, allEquipAddProVal[HeroProType.Hit]) + table.insert(allProVal, 9, allEquipAddProVal[HeroProType.DamageReduceFactor]) --命中率(%) - table.insert(allProVal, 11, allEquipAddProVal[HeroProType.Dodge]) + table.insert(allProVal, 10, allEquipAddProVal[HeroProType.Hit]) --闪避率(%) - table.insert(allProVal, 12, allEquipAddProVal[HeroProType.CritFactor]) + table.insert(allProVal, 11, allEquipAddProVal[HeroProType.Dodge]) --暴击率(%) - table.insert(allProVal, 13, allEquipAddProVal[HeroProType.CritDamageFactor]) + table.insert(allProVal, 12, allEquipAddProVal[HeroProType.CritFactor]) --暴击伤害系数(%) - table.insert(allProVal, 14, allEquipAddProVal[HeroProType.AntiCritDamageFactor]) + table.insert(allProVal, 13, allEquipAddProVal[HeroProType.CritDamageFactor]) --抗暴率(%) - table.insert(allProVal, 15, allEquipAddProVal[HeroProType.TreatFacter]) + table.insert(allProVal, 14, allEquipAddProVal[HeroProType.AntiCritFactor]) --治疗加成系数(%) - table.insert(allProVal, 16, allEquipAddProVal[HeroProType.CureFacter]) + table.insert(allProVal, 15, allEquipAddProVal[HeroProType.TreatFacter]) --受到治疗系数(%) - table.insert(allProVal, 17, allEquipAddProVal[HeroProType.DifferDemonsBocusFactor]) - --异妖伤害加成系数(%) - table.insert(allProVal, 18, allEquipAddProVal[HeroProType.DifferDemonsReduceFactor]) - --异妖减伤率(%) - table.insert(allProVal, 19, allEquipAddProVal[HeroProType.FireDamageReduceFactor]) - --火系伤害减免系数(%) - table.insert(allProVal, 20, allEquipAddProVal[HeroProType.WindDamageReduceFactor]) - --风系伤害减免系数(%) - table.insert(allProVal, 21, allEquipAddProVal[HeroProType.WaterDamageReduceFactor]) - --冰系伤害减免系数(%) - table.insert(allProVal, 22, allEquipAddProVal[HeroProType.LandDamageReduceFactor]) - --地系伤害减免系数(%) - table.insert(allProVal, 23, allEquipAddProVal[HeroProType.LightDamageReduceFactor]) - --光系伤害减免系数(%) - table.insert(allProVal, 24, allEquipAddProVal[HeroProType.DarkDamageReduceFactor]) - --暗系伤害减免系数(%) - table.insert(allProVal, 25, 0) - --属性伤害加成系数(%) + table.insert(allProVal, 16, allEquipAddProVal[HeroProType.CureFacter]) + -- 人系伤害加成 + table.insert(allProVal, 17, allEquipAddProVal[HeroProType.RenBonus]) + -- 佛系伤害加成 + table.insert(allProVal, 18, allEquipAddProVal[HeroProType.FoBonus]) + -- 妖系伤害加成 + table.insert(allProVal, 19, allEquipAddProVal[HeroProType.YaoBonus]) + -- 道系伤害加成 + table.insert(allProVal, 20, allEquipAddProVal[HeroProType.DaoBonus]) + -- 人系伤害减免 + table.insert(allProVal, 21, allEquipAddProVal[HeroProType.RenReduce]) + -- 佛系伤害减免 + table.insert(allProVal, 22, allEquipAddProVal[HeroProType.FoReduce]) + -- 妖系伤害减免 + table.insert(allProVal, 23, allEquipAddProVal[HeroProType.YaoReduce]) + -- 道系伤害减免 + table.insert(allProVal, 24, allEquipAddProVal[HeroProType.DaoReduce]) + -- 怒气 + table.insert(allProVal, 25, allEquipAddProVal[HeroProType.InitRage]) + -- 爆伤减免 + table.insert(allProVal, 26, allEquipAddProVal[HeroProType.AntiCritDamageFactor]) + return allProVal end diff --git a/Assets/ManagedResources/~Lua/Modules/Hero/HeroPowerManager.lua b/Assets/ManagedResources/~Lua/Modules/Hero/HeroPowerManager.lua index b7e1022de1..4c5153fe8b 100644 --- a/Assets/ManagedResources/~Lua/Modules/Hero/HeroPowerManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Hero/HeroPowerManager.lua @@ -29,20 +29,20 @@ local function CalculateWarForce2(powerVal) if v > 0 and i < HeroProType.WarPower then if propertyConfig[i].IfShow == 1 then if propertyConfig[i].TargetPropertyId == 0 then - basePower = basePower + v * propertyConfig[i].Score + basePower = basePower + v*propertyConfig[i].Score end elseif propertyConfig[i].IfShow == 2 then -- 这里百分比数要转换成小数,用于计算战斗力 - HighPower = HighPower + v/100 + HighPower = HighPower + v/100*propertyConfig[i].Score end - elseif v > 0 and i >= HeroProType.WarPower then + elseif v > 0 and i == HeroProType.WarPower then extPower = extPower + v end end LogBlue_Prop("basePower: "..basePower) LogBlue_Prop("HighPower: "..HighPower) LogBlue_Prop("extPower: "..extPower) - powerEndVal = basePower * (1 + HighPower / 2) + extPower + powerEndVal = basePower * (1 + HighPower) + extPower return math.floor(powerEndVal) end @@ -89,8 +89,7 @@ function this.InitAllPower() end -function this.CalPower(heroData, propList) - -- return CalculateWarForce(propList) +function this.CalPower(propList) return CalculateWarForce2(propList) end @@ -108,7 +107,7 @@ function this.GetHeroPower(dId, formationId, NoFuncProp) -- 重新计算人物属性 local propList = HeroPropManager.GetHeroProp(dId, formationId, NoFuncProp) -- 计算战斗力 - local allPower = this.CalPower(heroData, propList) + local allPower = this.CalPower(propList) -- 旧战斗力 if HeroPropManager.IsDebug() and not NoFuncProp then -- local curHeroData = HeroManager.GetSingleHeroData(dId) diff --git a/Assets/ManagedResources/~Lua/Modules/RoleInfo/EquipTreasureManager.lua b/Assets/ManagedResources/~Lua/Modules/RoleInfo/EquipTreasureManager.lua index f431245a95..868d314cd7 100644 --- a/Assets/ManagedResources/~Lua/Modules/RoleInfo/EquipTreasureManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/RoleInfo/EquipTreasureManager.lua @@ -660,24 +660,8 @@ function this.CalculateWarForceBase(sId, lv, rlv, tlv,curTreasure) end end end - local heroPropertyScore = {} - for i, v in ConfigPairs(ConfigManager.GetConfig(ConfigName.PropertyConfig)) do - heroPropertyScore[i] = v.Score - end - local powerEndVal = 0 - for i, v in pairs(addAllProVal) do - if v > 0 then - local curProConfigData = ConfigManager.GetConfigData(ConfigName.PropertyConfig, i) - if curProConfigData then - if curProConfigData.Style == 1 then - powerEndVal = powerEndVal + v * heroPropertyScore[i] - else - powerEndVal = powerEndVal + v / 100 * heroPropertyScore[i] - end - end - end - end - return math.floor(powerEndVal) + local powerEndVal = HeroPowerManager.CalPower(addAllProVal) + return powerEndVal end end --获取宝物升级消耗