Formula

CommonFun.calcBuff_3860

function CommonFun.calcBuff_3860(srcUser, targetUser, a, b, c, d, lv)
  if srcUser == nil or targetUser == nil then
    return 0
  end
  local Ensemble = srcUser:GetEnsemblePartner()
  local Atk1 = srcUser:GetProperty("Atk")
  local AtkPer1 = srcUser:GetProperty("AtkPer")
  local Atk2 = 0
  local AtkPer2 = 0
  if Ensemble ~= nil then
    Atk2 = Ensemble:GetProperty("Atk")
    AtkPer2 = Ensemble:GetProperty("AtkPer")
  end
  local Atk = Atk1 * (1 + AtkPer1) + Atk2 * (1 + AtkPer2)
  local Num1 = srcUser:GetRunePoint(102049_AESIR_ANCIENT_SONG_INCREASES_ATK_BY_AN_EXTRA_2_BARD_DANCER_S_ENSEMBLE_SKILL_AEISR_MONUMENT_EFFECTS_CAN_STACK)
  local Num2 = 0
  if Ensemble ~= nil then
    Num2 = Ensemble:GetRunePoint(102049_AESIR_ANCIENT_SONG_INCREASES_ATK_BY_AN_EXTRA_2_BARD_DANCER_S_ENSEMBLE_SKILL_AEISR_MONUMENT_EFFECTS_CAN_STACK)
  end
  local Rune = (Num1 + Num2) * 0.02 + 1
  local A = 0
  if lv <= 10 then
    A = lv * 15 * Rune
  elseif 10 < lv then
    A = (Atk * ((lv - 10) * 0.004) + 150) * Rune
  end
  local GemValue1 = srcUser:GetGemValue(102021_ANCIENT_SONG_PROVIDES_EXTRA_ATK_PERCENTAGE_M_ATK_S)
  local GemValue2 = 0
  local GemValue3 = srcUser:GetGemValue(112021_ANCIENT_SONG_PROVIDES_EXTRA_ATK_PERCENTAGE_M_ATK_S)
  local GemValue4 = 0
  if Ensemble ~= nil then
    GemValue2 = Ensemble:GetGemValue(112021_ANCIENT_SONG_PROVIDES_EXTRA_ATK_PERCENTAGE_M_ATK_S)
    GemValue4 = Ensemble:GetGemValue(102021_ANCIENT_SONG_PROVIDES_EXTRA_ATK_PERCENTAGE_M_ATK_S)
  end
  A = A * (1 + GemValue1 / 100000 + GemValue2 / 100000 + GemValue3 / 100000 + GemValue4 / 100000)
  return A
end