CommonFun

CommonFun.CalcSuckBlood

Dataset · 20251127_update

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

Version History

Loading dependencies...
Loading usage...