From ce5042eb86b0c7bc86d64c3d9ab58cb175af1858 Mon Sep 17 00:00:00 2001 From: gaoxin Date: Tue, 16 Nov 2021 16:59:59 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E3=80=90=E5=85=8B=E5=88=B6=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E3=80=91=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../~Lua/Common/GlobalDefine.lua | 23 +++-- .../~Lua/Modules/Battle/Logic/Base/Effect.lua | 20 ----- .../Modules/Battle/Logic/Base/Passivity.lua | 42 +-------- .../Battle/Logic/Misc/BattleDefine.lua | 87 ++++++++++--------- .../~Lua/Modules/Hero/HeroManager.lua | 66 +++++++------- 5 files changed, 91 insertions(+), 147 deletions(-) diff --git a/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua b/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua index 14367c4585..f023e243b7 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 = { @@ -316,18 +317,14 @@ HeroProType = { 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/Logic/Base/Effect.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Effect.lua index 58d6186b67..dcc61c56d0 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 1ae2bb6974..438a9a89a0 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]秒。 diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua index 015ed0c565..ded488dcfc 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua @@ -187,35 +187,63 @@ 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(), --暴击率(%) + Crit = indexAdd(), --暴击率(%) CritDamageFactor = 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(), --初始怒气值 } +-- 战斗表属性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, + RoleDataName.RenBonus, + RoleDataName.FoBonus, + RoleDataName.YaoBonus, + RoleDataName.DaoBonus, + RoleDataName.RenReduce, + RoleDataName.FoReduce, + RoleDataName.YaoReduce, + RoleDataName.DaoReduce, +} + + BuffName = { PropertyChange = 1, Control = 2, @@ -297,27 +325,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, } diff --git a/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua b/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua index 80b528e88a..d1ad8e6389 100644 --- a/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua @@ -2165,56 +2165,56 @@ 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.AntiCritDamageFactor]) --治疗加成系数(%) - 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, 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, 0) - --属性伤害加成系数(%) return allProVal end From 12fe3eb3e42335e2e0686227df949d94fa27aaaa Mon Sep 17 00:00:00 2001 From: gaoxin Date: Wed, 17 Nov 2021 15:55:37 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E3=80=90=E6=88=98=E6=96=97=E5=8A=9B?= =?UTF-8?q?=E3=80=91=E5=85=AC=E5=BC=8F=E5=8F=82=E6=95=B0=E8=B5=B0=E8=A1=A8?= =?UTF-8?q?=EF=BC=8C=E8=A3=85=E5=A4=87=EF=BC=8C=E6=B3=95=E5=AE=9D=E6=88=98?= =?UTF-8?q?=E6=96=97=E5=8A=9B=E8=AE=A1=E7=AE=97=E5=85=AC=E5=BC=8F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../~Lua/Modules/Equip/TalismanManager.lua | 20 ++----------------- .../~Lua/Modules/Hero/HeroPowerManager.lua | 13 ++++++------ .../Modules/RoleInfo/EquipTreasureManager.lua | 20 ++----------------- 3 files changed, 10 insertions(+), 43 deletions(-) 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/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 --获取宝物升级消耗 From fe13249728343d219b25cb4568abb3c7ee502832 Mon Sep 17 00:00:00 2001 From: gaoxin Date: Wed, 17 Nov 2021 16:01:14 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E3=80=90=E4=BA=BA=E7=89=A9=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E3=80=91=E6=96=B0=E5=A2=9E=E7=88=86=E4=BC=A4=E5=87=8F?= =?UTF-8?q?=E5=85=8D=E5=B1=9E=E6=80=A7=EF=BC=8C=E6=88=98=E6=96=97=E9=80=82?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../~Lua/Common/GlobalDefine.lua | 12 +++-------- .../~Lua/Modules/Battle/BattleManager.lua | 21 ++++++++++--------- .../Modules/Battle/Logic/Base/Passivity.lua | 2 +- .../Battle/Logic/Misc/BattleDefine.lua | 7 ++++--- .../Modules/Battle/Logic/Misc/BattleUtil.lua | 13 ++---------- .../~Lua/Modules/Hero/HeroManager.lua | 7 +++++-- 6 files changed, 26 insertions(+), 36 deletions(-) diff --git a/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua b/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua index f023e243b7..feee310805 100644 --- a/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua +++ b/Assets/ManagedResources/~Lua/Common/GlobalDefine.lua @@ -301,22 +301,17 @@ 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, --异妖伤害加成系数 RenBonus = 101, --对人杰阵营神将造成伤害时获得的伤害加成 FoBonus = 102, --对佛禅阵营神将造成伤害时获得的伤害加成 YaoBonus = 103, --对妖灵阵营神将造成伤害时获得的伤害加成 @@ -326,7 +321,6 @@ HeroProType = { 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/Passivity.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua index 438a9a89a0..37197197a8 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Base/Passivity.lua @@ -1333,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 ded488dcfc..86a3b106f5 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua @@ -199,7 +199,7 @@ RoleDataName = { Hit = indexAdd(), --施法率(%) Dodge = indexAdd(), --后期基础施法率(%) Crit = indexAdd(), --暴击率(%) - CritDamageFactor = indexAdd(), --暴击伤害系数(%) + CritDamageBonus = indexAdd(), --暴击伤害系数(%) Tenacity = indexAdd(), --抗暴率(%) TreatFacter = indexAdd(), --治疗加成系数(%) CureFacter = indexAdd(),--受到治疗加成系数(%) @@ -212,7 +212,7 @@ RoleDataName = { YaoReduce = indexAdd(), --妖系伤害减免 DaoReduce = indexAdd(), --道系伤害减免 InitRage = indexAdd(), --初始怒气值 - + CritDamageReduce = indexAdd(), --暴击伤害减免 } -- 战斗表属性id对应战斗中属性数据 @@ -226,7 +226,7 @@ BattlePropList = { RoleDataName.Hit, RoleDataName.Dodge, RoleDataName.Crit, - RoleDataName.CritDamageFactor, + RoleDataName.CritDamageBonus, RoleDataName.TreatFacter, RoleDataName.MaxHp, RoleDataName.Hp, @@ -241,6 +241,7 @@ BattlePropList = { RoleDataName.FoReduce, RoleDataName.YaoReduce, RoleDataName.DaoReduce, + RoleDataName.CritDamageReduce, } diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua index 74b94544ee..44b8e184a9 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) @@ -972,7 +963,7 @@ 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) @@ -1019,7 +1010,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/Hero/HeroManager.lua b/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua index d1ad8e6389..a5595afef8 100644 --- a/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua @@ -2192,7 +2192,7 @@ function this.CalculateWarAllProVal(heroDid) --暴击伤害系数(%) table.insert(allProVal, 13, allEquipAddProVal[HeroProType.CritDamageFactor]) --抗暴率(%) - table.insert(allProVal, 14, allEquipAddProVal[HeroProType.AntiCritDamageFactor]) + table.insert(allProVal, 14, allEquipAddProVal[HeroProType.AntiCritFactor]) --治疗加成系数(%) table.insert(allProVal, 15, allEquipAddProVal[HeroProType.TreatFacter]) --受到治疗系数(%) @@ -2214,7 +2214,10 @@ function this.CalculateWarAllProVal(heroDid) -- 道系伤害减免 table.insert(allProVal, 24, allEquipAddProVal[HeroProType.DaoReduce]) -- 怒气 - table.insert(allProVal, 25, 0) + table.insert(allProVal, 25, allEquipAddProVal[HeroProType.InitRage]) + -- 爆伤减免 + table.insert(allProVal, 26, allEquipAddProVal[HeroProType.AntiCritDamageFactor]) + return allProVal end From 8bb710452cf10c82e95b3440fe80b0fd65771b3a Mon Sep 17 00:00:00 2001 From: gaoxin Date: Wed, 17 Nov 2021 16:50:16 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E3=80=90=E6=88=98=E6=96=97=E5=8A=9B?= =?UTF-8?q?=E3=80=91=E8=A3=85=E5=A4=87=E6=88=98=E6=96=97=E5=8A=9B=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E6=96=B9=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../~Lua/Modules/Equip/EquipManager.lua | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) 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 -- 判断是否是新装备 From b1954f543f03cbf266d2a3b27d88b24644adc6e9 Mon Sep 17 00:00:00 2001 From: gaoxin Date: Wed, 17 Nov 2021 16:57:29 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E3=80=90=E8=A3=85=E5=A4=87=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E3=80=91=E5=9F=BA=E7=A1=80=E5=B1=9E=E6=80=A7=EF=BC=8C?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E5=A4=9A=E5=85=B3=E9=97=AD=E6=89=93=E5=BC=80?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E5=B0=91=E7=9A=84=EF=BC=8C=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../~Lua/Modules/Popup/RewardEquipSingleShowPopup2.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Assets/ManagedResources/~Lua/Modules/Popup/RewardEquipSingleShowPopup2.lua b/Assets/ManagedResources/~Lua/Modules/Popup/RewardEquipSingleShowPopup2.lua index dd1dc06577..0afa56ccdd 100644 --- a/Assets/ManagedResources/~Lua/Modules/Popup/RewardEquipSingleShowPopup2.lua +++ b/Assets/ManagedResources/~Lua/Modules/Popup/RewardEquipSingleShowPopup2.lua @@ -217,6 +217,9 @@ function RewardEquipSingleShowPopup2:OnShow() --basePro基础属性 if equipConfigData.Property then self.basePro:SetActive(true) + for _, pro in ipairs(_BaseProList) do + pro:SetActive(false) + end for index, prop in ipairs(equipConfigData.Property) do local proConfigData = ConfigManager.GetConfigData(ConfigName.PropertyConfig, prop[1]) if proConfigData then From 37000619e314da26e334704712dd3749223f84b0 Mon Sep 17 00:00:00 2001 From: gaoxin Date: Wed, 17 Nov 2021 17:29:46 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E3=80=90=E6=88=98=E6=96=97=E3=80=91?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=E5=85=8B=E5=88=B6=E5=B1=9E=E6=80=A7=E7=9A=84?= =?UTF-8?q?=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modules/Battle/Logic/Misc/BattleDefine.lua | 14 ++++++++++++++ .../~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua | 7 +++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua index 86a3b106f5..7494a35a97 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleDefine.lua @@ -357,4 +357,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 44b8e184a9..f5f2d5b722 100644 --- a/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua +++ b/Assets/ManagedResources/~Lua/Modules/Battle/Logic/Misc/BattleUtil.lua @@ -969,8 +969,11 @@ function BattleUtil.CalDamage(skill, atkRole, defRole, damageType, baseFactor, i 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