CommonFun

calcDamage / calcBuff explorer

1 formulas listed.

CommonFun.calcDamage_11011 mapped uses · 1 skills
function CommonFun.calcDamage_1101(srcUser, targetUser, params, damageParam, logger)
  local Int = srcUser:GetProperty("Int")
  local Atk = srcUser:GetProperty("Atk")
  local AtkPer = srcUser:GetProperty("AtkPer")
  local DamIncrease = srcUser:GetProperty("DamIncrease")
  local IgnoreDef = 0
  local IgnoreDef1 = srcUser:GetProperty("IgnoreDef")
  local IgnoreDef2 = srcUser:GetProperty("IgnoreEquipDef")
  if targetUser.boss or targetUser.mini then
    IgnoreDef = IgnoreDef1
  else
    IgnoreDef = IgnoreDef1 + IgnoreDef2
  end
  if 1 <= IgnoreDef then
    IgnoreDef = 1
  end
  local Def2 = targetUser:GetProperty("Def")
  local DefPer2 = targetUser:GetProperty("DefPer")
  local MDef2 = targetUser:GetProperty("MDef")
  local MDefPer2 = targetUser:GetProperty("MDefPer")
  local Vit2 = targetUser:GetProperty("Vit")
  local VitPer2 = targetUser:GetProperty("VitPer")
  local DamReduc2 = CommonFun.calcDamReDuc(srcUser, targetUser)
  local RefineDamReduc = targetUser:GetProperty("RefineDamReduc")
  local skilllv_1 = srcUser:GetLernedSkillLevel(damageParam.skill1_id)
  local skilllv_3 = srcUser:GetLernedSkillLevel(damageParam.skill3_id)
  local damChangePer2 = damageParam.damChangePer2
  local damChangePer3 = damageParam.damChangePer3
  local damChangePer4 = damageParam.damChangePer4
  local raceparam = CommonFun.CalcRaceParam(srcUser, targetUser, params, damageParam, logger)
  local bodyparam = CommonFun.CalcBodyParam(srcUser, targetUser, params, damageParam, logger)
  local bossparam = CommonFun.CalcBossParam(srcUser, targetUser, params, damageParam, logger)
  local elementparam = CommonFun.CalcElementParam(srcUser, targetUser, params, damageParam, logger)
  local AtkFinal = Atk * (1 + AtkPer)
  local DefFinal = CommonFun.CalcDef(srcUser, targetUser) * (1 + DefPer2)
  local div = AtkFinal + DefFinal * (1 - IgnoreDef)
  div = div ~= 0 and div or 1
  local skilllv_3_dam = 0
  if skilllv_3 <= 5 then
    skilllv_3_dam = skilllv_3 * 20
  else
    skilllv_3_dam = (skilllv_3 - 5) * Int + 100
  end
  local A = AtkFinal * AtkFinal / div * (1 - DamReduc2) * damChangePer2 * (1 + DamIncrease) * (1 - RefineDamReduc) + skilllv_1 * damChangePer3 + damChangePer4 + skilllv_3_dam
  return A * raceparam * bodyparam * bossparam * elementparam
end

Related skills