Merge branch 'china/dev' of http://60.1.1.230/gaoxin/JL_Client into china/dev

dev_chengFeng
wangzhenxing 2021-11-18 11:08:11 +08:00
commit 666f33e9c9
11 changed files with 151 additions and 241 deletions

View File

@ -30,7 +30,8 @@ SDKSubMitType = {
TYPE_EXIT_GAME = 5, TYPE_EXIT_GAME = 5,
TYPE_ENTER_COPY = 6, TYPE_ENTER_COPY = 6,
TYPE_EXIT_COPY = 7, TYPE_EXIT_COPY = 7,
TYPE_VIP_LEVELUP = 8 TYPE_VIP_LEVELUP = 8,
TYPE_CHANGE_NAME = 9
} }
SDK_RESULT = { SDK_RESULT = {
@ -300,36 +301,26 @@ HeroProType = {
PhysicalDefence = 3, --护甲 PhysicalDefence = 3, --护甲
MagicDefence = 4, --魔抗 MagicDefence = 4, --魔抗
Speed = 5, --速度 Speed = 5, --速度
InitRage = 7, -- 初始怒气值
DamageBocusFactor = 51, --伤害加成百分比 DamageBocusFactor = 51, --伤害加成百分比
DamageReduceFactor = 52, --伤害减免百分比 DamageReduceFactor = 52, --伤害减免百分比
Hit = 53, --效果命中率 Hit = 53, --效果命中率
Dodge = 54, --效果抵抗率 Dodge = 54, --效果抵抗率
CritFactor = 55, --暴击率 CritFactor = 55, --暴击率
CritDamageFactor = 56, --暴伤 CritDamageFactor = 56, --暴伤
AntiCritFactor = 60, --抗暴率
AntiCritDamageFactor = 113, --暴击伤害减免
CureFacter = 57, --受到治疗系数 CureFacter = 57, --受到治疗系数
TreatFacter = 58, --治疗系数 TreatFacter = 58, --治疗系数
DifferDemonsReduceFactor = 59, --异妖减伤率 RenBonus = 101, --对人杰阵营神将造成伤害时获得的伤害加成
AntiCritDamageFactor = 60, --抗暴率 FoBonus = 102, --对佛禅阵营神将造成伤害时获得的伤害加成
MaxHpPercentage = 61, --生命值百分比 YaoBonus = 103, --对妖灵阵营神将造成伤害时获得的伤害加成
AttackPercentage = 62, --攻击力百分比 DaoBonus = 104, --对道玄阵营神将造成伤害时获得的伤害加成
MaxHpPercentage = 63, --生命值百分比 RenReduce = 107, --受到人杰阵营神将造成的直接伤害时获得的伤害减免
PhysicalDefencePercentage = 64, --护甲百分比 FoReduce = 108, --受到佛禅阵营神将造成的直接伤害时获得的伤害减免
SpeedPercentage = 65, --速度百分比 YaoReduce = 109, --受到妖灵阵营神将造成的直接伤害时获得的伤害减免
DifferDemonsBocusFactor = 66, --异妖伤害加成系数 DaoReduce = 110, --受到道玄阵营神将造成的直接伤害时获得的伤害减免
FireDamageBonusFactor = 101, --火攻(%
WindDamageBonusFactor = 102, --风攻(%
WaterDamageBonusFactor = 103, --水攻(%
LandDamageBonusFactor = 104, --地攻(%
LightDamageBonusFactor = 105, --光攻(%
DarkDamageBonusFactor = 106, --暗攻(%
FireDamageReduceFactor = 107, --火抗(%
WindDamageReduceFactor = 108, --风抗(%
WaterDamageReduceFactor = 109, --水抗(%
LandDamageReduceFactor = 110, --地抗(%
LightDamageReduceFactor = 111, --光抗(%
DarkDamageReduceFactor = 112, --暗抗(%
WarPower = 1000, --英雄战斗力(获取英雄属性时会用到) WarPower = 1000, --英雄战斗力(获取英雄属性时会用到)
InitRage = 200, -- 初始怒气值
} }
--异妖图片资源 --异妖图片资源

View File

@ -633,18 +633,19 @@ function this.GetMonsterPros(id, lv, star)
table.insert(allProVal, 11, proList[HeroProType.Dodge] or 0) --闪避率(% table.insert(allProVal, 11, proList[HeroProType.Dodge] or 0) --闪避率(%
table.insert(allProVal, 12, proList[HeroProType.CritFactor] or 0) --暴击率(% table.insert(allProVal, 12, proList[HeroProType.CritFactor] or 0) --暴击率(%
table.insert(allProVal, 13, proList[HeroProType.CritDamageFactor] 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, 15, proList[HeroProType.TreatFacter] or 1) --治疗加成系数(% 默认为1
table.insert(allProVal, 16, proList[HeroProType.CureFacter] or 1) --受到治疗系数(%默认为1 table.insert(allProVal, 16, proList[HeroProType.CureFacter] or 1) --受到治疗系数(%默认为1
table.insert(allProVal, 17, 0) --异妖伤害加成系数(% table.insert(allProVal, 17, proList[HeroProType.RenBonus] or 0) -- 灭人
table.insert(allProVal, 18, 0) --异妖减伤率(% table.insert(allProVal, 18, proList[HeroProType.FoBonus] or 0) -- 灭佛
table.insert(allProVal, 19, 0) --火系伤害减免系数(% table.insert(allProVal, 19, proList[HeroProType.YaoBonus] or 0) -- 灭妖
table.insert(allProVal, 20, 0) --风系伤害减免系数(% table.insert(allProVal, 20, proList[HeroProType.DaoBonus] or 0) -- 灭道
table.insert(allProVal, 21, 0) --冰系伤害减免系数(% table.insert(allProVal, 21, proList[HeroProType.RenReduce] or 0) -- 抗人
table.insert(allProVal, 22, 0) --地系伤害减免系数(% table.insert(allProVal, 22, proList[HeroProType.FoReduce] or 0) -- 抗佛
table.insert(allProVal, 23, 0) --光系伤害减免系数(% table.insert(allProVal, 23, proList[HeroProType.YaoReduce] or 0) -- 抗妖
table.insert(allProVal, 24, 0) --暗系伤害减免系数(% table.insert(allProVal, 24, proList[HeroProType.DaoReduce] or 0) -- 抗道
table.insert(allProVal, 25, 0) table.insert(allProVal, 25, proList[HeroProType.InitRage] or 0) -- 初始怒气
table.insert(allProVal, 26, proList[HeroProType.AntiCritDamageFactor] or 0) -- 爆伤减免
local pros = table.concat(allProVal, "#") local pros = table.concat(allProVal, "#")
return pros return pros
end end

View File

@ -5,26 +5,6 @@ local max = math.max
--local BattleLogic = BattleLogic --local BattleLogic = BattleLogic
--local BattleUtil = BattleUtil --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) local function buffRandomAction(random, target, buff)
-- 检测被动技能对技能的加成 -- 检测被动技能对技能的加成

View File

@ -1,31 +1,6 @@
local floor = math.floor local floor = math.floor
local max = math.max local max = math.max
local min = math.min 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 = {}
PassiveManager.passiveCountList = { PassiveManager.passiveCountList = {
[0] = {}, [0] = {},
@ -328,22 +303,7 @@ local passivityList = {
--免疫[a]属性伤害。 --免疫[a]属性伤害。
--a[属性类型] --a[属性类型]
[15] = function(role, args) [15] = function(role, args)
local pt = args[1] -- TODO:原有老被动已无法使用
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)
end, end,
--发动技能后,[a]的概率将[b]*[c]算作[d]计算,持续[e]秒。 --发动技能后,[a]的概率将[b]*[c]算作[d]计算,持续[e]秒。
@ -1373,7 +1333,7 @@ local passivityList = {
local OnPassiveCriting = function(crit,skill) local OnPassiveCriting = function(crit,skill)
BattleUtil.RandomAction(f1, function () BattleUtil.RandomAction(f1, function ()
crit(role:GetRoleData(RoleDataName.CritDamageFactor)+f2) crit(role:GetRoleData(RoleDataName.CritDamageBonus)+f2)
end) end)
end end
role.Event:AddEvent(BattleEventName.PassiveCriting, OnPassiveCriting,nil,nil,role) role.Event:AddEvent(BattleEventName.PassiveCriting, OnPassiveCriting,nil,nil,role)

View File

@ -203,23 +203,52 @@ RoleDataName = {
Hit = indexAdd(), --施法率(% Hit = indexAdd(), --施法率(%
Dodge = indexAdd(), --后期基础施法率(% Dodge = indexAdd(), --后期基础施法率(%
Crit = indexAdd(), --暴击率(% Crit = indexAdd(), --暴击率(%
CritDamageFactor = indexAdd(), --暴击伤害系数(% CritDamageBonus = indexAdd(), --暴击伤害系数(%
Tenacity = indexAdd(), --抗暴率(% Tenacity = indexAdd(), --抗暴率(%
TreatFacter = indexAdd(), --治疗加成系数(% TreatFacter = indexAdd(), --治疗加成系数(%
CureFacter = indexAdd(),--受到治疗加成系数(% CureFacter = indexAdd(),--受到治疗加成系数(%
TeamDamageBocusFactor = indexAdd(),--队伍伤害加成系数(% RenBonus = indexAdd(), --人系伤害加成
TeamDamageReduceFactor = indexAdd(),--队伍伤害减免系数(% FoBonus = indexAdd(), --佛系伤害加成
FireDamageReduceFactor = indexAdd(), --火系伤害减免系数(% YaoBonus = indexAdd(), --妖系伤害加成
WindDamageReduceFactor = indexAdd(), --风系伤害减免系数(% DaoBonus = indexAdd(), --道系伤害加成
IceDamageReduceFactor = indexAdd(), --冰系伤害减免系数(% RenReduce = indexAdd(), --人系伤害减免
LandDamageReduceFactor = indexAdd(), --地系伤害减免系数(% FoReduce = indexAdd(), --佛系伤害减免
LightDamageReduceFactor = indexAdd(), --光系伤害减免系数(% YaoReduce = indexAdd(), --妖系伤害减免
DarkDamageReduceFactor = indexAdd(), --暗系伤害减免系数(% DaoReduce = indexAdd(), --道系伤害减免
ElementDamageBocusFactor = indexAdd(), --属性伤害加成系数(%
InitRage = 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 = { BuffName = {
PropertyChange = 1, PropertyChange = 1,
Control = 2, 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 = { CurseTypeName = {
ShareDamage = 1, ShareDamage = 1,
} }
@ -355,3 +363,17 @@ BattleArtFontType = {
Shield = 2, --破盾文字 Shield = 2, --破盾文字
clear = 3, --清除文字 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
}

View File

@ -607,15 +607,6 @@ function BattleUtil.ApplyDamage(skill, atkRole, defRole, damage, bCrit, damageTy
bCrit = bCrit or false bCrit = bCrit or false
damageType = damageType or 0 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) 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) 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 local critFunc = function(critEx) critDamageFactor = critEx end
atkRole.Event:DispatchEvent(BattleEventName.PassiveCriting, critFunc,skill) atkRole.Event:DispatchEvent(BattleEventName.PassiveCriting, critFunc,skill)
end 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 local damageFunc = function(damage) fixDamage = damage end
@ -1037,7 +1031,7 @@ function BattleUtil.CalTreat(castRole, targetRole, value, baseFactor,skill)
--计算暴击 --计算暴击
if bCrit then if bCrit then
--伤害有个+1.3 不知道干什么用的就给去了 by:wangxhenxing 2020/10/10 18:46 --伤害有个+1.3 不知道干什么用的就给去了 by:wangxhenxing 2020/10/10 18:46
critDamageFactor = 1.3 + castRole:GetRoleData(RoleDataName.CritDamageFactor) critDamageFactor = 1.3 + castRole:GetRoleData(RoleDataName.CritDamageBonus)
end end
-- 基础伤害增加系数 -- 基础伤害增加系数
local addDamageFactor = 1 + castRole:GetRoleData(RoleDataName.DamageBocusFactor) local addDamageFactor = 1 + castRole:GetRoleData(RoleDataName.DamageBocusFactor)

View File

@ -243,29 +243,21 @@ function this.CalculateEquipWarForce(curEquip)
for index, prop in pairs(mainAttribute) do for index, prop in pairs(mainAttribute) do
local id = prop.propertyId local id = prop.propertyId
local value = prop.propertyValue local value = prop.propertyValue
--
if propertyConfig[id].Style == 2 then
value = value / 100
end
if addAllProVal[id] then if addAllProVal[id] then
addAllProVal[id] = addAllProVal[id] + value addAllProVal[id] = addAllProVal[id] + value
else else
addAllProVal[id] = value addAllProVal[id] = value
end end
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 if curEquip and curEquip.Score > 0 then
powerEndVal = powerEndVal + curEquip.Score addAllProVal[HeroProType.WarPower] = curEquip.Score
end end
return math.floor(powerEndVal) local powerEndVal = HeroPowerManager.CalPower(addAllProVal)
return powerEndVal
end end
-- 判断是否是新装备 -- 判断是否是新装备

View File

@ -128,24 +128,8 @@ function this.CalculateWarForceBase(curTalismanConFigData,heroPos)
end end
end end
end end
local heroPropertyScore={} local powerEndVal = HeroPowerManager.CalPower(addAllProVal)
for i, v in ConfigPairs(propertyConfig) do return powerEndVal
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)
end end
end end
function this.GetAllTalismanByCondition(curTalismanData,upStarConFigData) function this.GetAllTalismanByCondition(curTalismanData,upStarConFigData)

View File

@ -2165,56 +2165,59 @@ end
function this.CalculateWarAllProVal(heroDid) function this.CalculateWarAllProVal(heroDid)
local allEquipAddProVal = HeroPropManager.GetHeroProp(heroDid)--HeroManager.CalculateHeroAllProValList(1, heroDid, true) local allEquipAddProVal = HeroPropManager.GetHeroProp(heroDid)--HeroManager.CalculateHeroAllProValList(1, heroDid, true)
local allProVal = {} 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, 16, allEquipAddProVal[HeroProType.CureFacter])
--异妖伤害加成系数(% -- 人系伤害加成
table.insert(allProVal, 18, allEquipAddProVal[HeroProType.DifferDemonsReduceFactor]) table.insert(allProVal, 17, allEquipAddProVal[HeroProType.RenBonus])
--异妖减伤率(% -- 佛系伤害加成
table.insert(allProVal, 19, allEquipAddProVal[HeroProType.FireDamageReduceFactor]) table.insert(allProVal, 18, allEquipAddProVal[HeroProType.FoBonus])
--火系伤害减免系数(% -- 妖系伤害加成
table.insert(allProVal, 20, allEquipAddProVal[HeroProType.WindDamageReduceFactor]) table.insert(allProVal, 19, allEquipAddProVal[HeroProType.YaoBonus])
--风系伤害减免系数(% -- 道系伤害加成
table.insert(allProVal, 21, allEquipAddProVal[HeroProType.WaterDamageReduceFactor]) table.insert(allProVal, 20, allEquipAddProVal[HeroProType.DaoBonus])
--冰系伤害减免系数(% -- 人系伤害减免
table.insert(allProVal, 22, allEquipAddProVal[HeroProType.LandDamageReduceFactor]) table.insert(allProVal, 21, allEquipAddProVal[HeroProType.RenReduce])
--地系伤害减免系数(% -- 佛系伤害减免
table.insert(allProVal, 23, allEquipAddProVal[HeroProType.LightDamageReduceFactor]) table.insert(allProVal, 22, allEquipAddProVal[HeroProType.FoReduce])
--光系伤害减免系数(% -- 妖系伤害减免
table.insert(allProVal, 24, allEquipAddProVal[HeroProType.DarkDamageReduceFactor]) table.insert(allProVal, 23, allEquipAddProVal[HeroProType.YaoReduce])
--暗系伤害减免系数(% -- 道系伤害减免
table.insert(allProVal, 25, 0) table.insert(allProVal, 24, allEquipAddProVal[HeroProType.DaoReduce])
--属性伤害加成系数(% -- 怒气
table.insert(allProVal, 25, allEquipAddProVal[HeroProType.InitRage])
-- 爆伤减免
table.insert(allProVal, 26, allEquipAddProVal[HeroProType.AntiCritDamageFactor])
return allProVal return allProVal
end end

View File

@ -33,16 +33,16 @@ local function CalculateWarForce2(powerVal)
end end
elseif propertyConfig[i].IfShow == 2 then elseif propertyConfig[i].IfShow == 2 then
-- 这里百分比数要转换成小数,用于计算战斗力 -- 这里百分比数要转换成小数,用于计算战斗力
HighPower = HighPower + v/100 HighPower = HighPower + v/100*propertyConfig[i].Score
end end
elseif v > 0 and i >= HeroProType.WarPower then elseif v > 0 and i == HeroProType.WarPower then
extPower = extPower + v extPower = extPower + v
end end
end end
LogBlue_Prop("basePower: "..basePower) LogBlue_Prop("basePower: "..basePower)
LogBlue_Prop("HighPower: "..HighPower) LogBlue_Prop("HighPower: "..HighPower)
LogBlue_Prop("extPower: "..extPower) LogBlue_Prop("extPower: "..extPower)
powerEndVal = basePower * (1 + HighPower / 2) + extPower powerEndVal = basePower * (1 + HighPower) + extPower
return math.floor(powerEndVal) return math.floor(powerEndVal)
end end
@ -89,8 +89,7 @@ function this.InitAllPower()
end end
function this.CalPower(heroData, propList) function this.CalPower(propList)
-- return CalculateWarForce(propList)
return CalculateWarForce2(propList) return CalculateWarForce2(propList)
end end
@ -108,7 +107,7 @@ function this.GetHeroPower(dId, formationId, NoFuncProp)
-- 重新计算人物属性 -- 重新计算人物属性
local propList = HeroPropManager.GetHeroProp(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 if HeroPropManager.IsDebug() and not NoFuncProp then
-- local curHeroData = HeroManager.GetSingleHeroData(dId) -- local curHeroData = HeroManager.GetSingleHeroData(dId)

View File

@ -660,24 +660,8 @@ function this.CalculateWarForceBase(sId, lv, rlv, tlv,curTreasure)
end end
end end
end end
local heroPropertyScore = {} local powerEndVal = HeroPowerManager.CalPower(addAllProVal)
for i, v in ConfigPairs(ConfigManager.GetConfig(ConfigName.PropertyConfig)) do return powerEndVal
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)
end end
end end
--获取宝物升级消耗 --获取宝物升级消耗