【人物属性】新增爆伤减免属性,战斗适用

dev_chengFeng
gaoxin 2021-11-17 16:01:14 +08:00
parent 12fe3eb3e4
commit fe13249728
6 changed files with 26 additions and 36 deletions

View File

@ -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, -- 初始怒气值
}
--异妖图片资源

View File

@ -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

View File

@ -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)

View File

@ -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,
}

View File

@ -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)

View File

@ -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