|
|
@@ -1839,6 +1839,15 @@ function getExtraHurtRate(attacker,defender,skillConfig)
|
|
|
end
|
|
|
end
|
|
|
end
|
|
|
+ elseif config.cmd == "hpSubHurtAdd" then
|
|
|
+ local nowHp = attacker.hp
|
|
|
+ local hpMax = CombatObj.getHpMax(attacker)
|
|
|
+ local percent = math.floor((hpMax - nowHp )/hpMax * 100) --已损失血量百分比
|
|
|
+ local condCfg = config.beSkillArgs
|
|
|
+ local condRate = condCfg[1]
|
|
|
+ if percent >= condRate then
|
|
|
+ hpHurtRate = hpHurtRate + condCfg[2]
|
|
|
+ end
|
|
|
end
|
|
|
end
|
|
|
end
|
|
|
@@ -2344,4 +2353,68 @@ function isNoFanji(obj)
|
|
|
end
|
|
|
end
|
|
|
return false
|
|
|
+end
|
|
|
+
|
|
|
+-- 获取与神威灵装"真伤附加"效果相对的"真伤减免"
|
|
|
+function GetTrueDamegeOffset(obj)
|
|
|
+ if obj.beSkillList[BESKILL_TYPE72] then
|
|
|
+ for _, v in ipairs(obj.beSkillList[BESKILL_TYPE72]) do
|
|
|
+ local skillConfig = Skill.GetSkillConfig(v[1])
|
|
|
+ if skillConfig.cmd == "trueDamegeOffset" then
|
|
|
+ local offsetInfo = {}
|
|
|
+ offsetInfo[1] = skillConfig.beSkillArgs[1]
|
|
|
+ offsetInfo[2] = skillConfig.beSkillArgs[2]
|
|
|
+ return offsetInfo
|
|
|
+ end
|
|
|
+ end
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+-- 触发格挡后额外减伤
|
|
|
+function GetGeDangExtraDef(obj)
|
|
|
+ if obj.beSkillList[BESKILL_TYPE72] then
|
|
|
+ for _, v in ipairs(obj.beSkillList[BESKILL_TYPE72]) do
|
|
|
+ local skillConfig = Skill.GetSkillConfig(v[1])
|
|
|
+ if skillConfig.cmd == "gedangExtraDef" then
|
|
|
+ return skillConfig.beSkillArgs[1]
|
|
|
+ end
|
|
|
+ end
|
|
|
+ end
|
|
|
+
|
|
|
+ return 0
|
|
|
+end
|
|
|
+
|
|
|
+-- 伤害翻倍
|
|
|
+function GetBeSkillHurtMul(obj)
|
|
|
+ if obj.beSkillList[BESKILL_TYPE72] then
|
|
|
+ for _, v in ipairs(obj.beSkillList[BESKILL_TYPE72]) do
|
|
|
+ local skillConfig = Skill.GetSkillConfig(v[1])
|
|
|
+ if skillConfig.cmd == "physicalDamageMul" and obj.hurtType == CombatDefine.PHY_HURT_TYPE then
|
|
|
+ return math.random(skillConfig.beSkillArgs[1], skillConfig.beSkillArgs[2])
|
|
|
+ end
|
|
|
+
|
|
|
+ if skillConfig.cmd == "magicDamageMul" and obj.hurtType == CombatDefine.MAGIC_HURT_TYPE then
|
|
|
+ return math.random(skillConfig.beSkillArgs[1], skillConfig.beSkillArgs[2])
|
|
|
+ end
|
|
|
+ end
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+-- 回血翻倍
|
|
|
+function GetBeSkillRestoretHPMul(obj)
|
|
|
+ local mul = 1
|
|
|
+ if obj.beSkillList[BESKILL_TYPE72] then
|
|
|
+ for _, v in ipairs(obj.beSkillList[BESKILL_TYPE72]) do
|
|
|
+ local skillConfig = Skill.GetSkillConfig(v[1])
|
|
|
+ if skillConfig.cmd == "restoreHPMul" then
|
|
|
+ local r = math.random(1,10000)
|
|
|
+ if r <= (skillConfig.beSkillArgs[2] or 0) then
|
|
|
+ mul = skillConfig.beSkillArgs[1] or 1
|
|
|
+ end
|
|
|
+ return mul
|
|
|
+ end
|
|
|
+ end
|
|
|
+ end
|
|
|
+
|
|
|
+ return mul
|
|
|
end
|