Formula Source
function CommonFun.CalcSuckBlood(srcUser, damage, skillid) local skillParams = Table_Skill[skillid] if skillParams == nil or skillParams.Logic_Param == nil then return 0 end local Num1 = srcUser:GetRunePoint(42130) local RuneDamage = 0.01 * Num1 local skilllv_1 = srcUser:GetLernedSkillLevel(1168) local GemValue = srcUser:GetGemValue(41082) if skillParams.Logic_Param.isSuckSkill then if math.floor(skillid / 1000) == 130 and skillid % 100 <= 5 then return damage * (0.15 + RuneDamage + GemValue / 100000) end if math.floor(skillid / 1000) == 130 and skillid % 100 > 5 then return damage * (0.3 + RuneDamage + GemValue / 100000) end if math.floor(skillid / 1000) == 1168 then return damage * (0.25 + math.min(skilllv_1, 5) * 0.05) end if math.floor(skillid / 1000) == 810 then local GemValue = srcUser:GetGemValue(51132) local HealEncPer = srcUser:GetProperty("HealEncPer") local HealDam = 1 if srcUser:HasBuffID(20510130) then HealDam = 1 + HealEncPer end return damage * GemValue / 100000 * HealDam end if skillid == 73210002 then return damage end if skillid == 73580001 then return damage end if skillid == 78440001 then return damage end if skillid == 77360001 then return damage * 20 end if skillid == 78945001 then return damage * 20 end if skillid == 79012001 then return damage * 10 end if math.floor(skillid / 1000) == 81013 then return damage * 0.5 end if math.floor(skillid / 1000) == 2441 then local skilllv = srcUser:GetLernedSkillLevel(2451) return damage * skilllv * 0.02 end if math.floor(skillid / 1000) == 2637 or math.floor(skillid / 1000) == 2639 then local skilllv = srcUser:GetLernedSkillLevel(2620) return damage * skilllv * 0.005 end if math.floor(skillid / 1000) == 2080 and srcUser:HasBuffID(51400) then return damage * 0.05 end if skillid == 5204001 then local skilllv = srcUser:GetLernedSkillLevel(5203) return damage * skilllv * 0.005 end end return 0 end
No formula links