Formula

CommonFun.calcUserShowAttr

function CommonFun.calcUserShowAttr(attr, profession, lv, WeaponType)
  local showresult = {}
  if CommonFun.checkRemoteAtk(profession, WeaponType) then
    showresult[CommonFun.RoleData.EATTRTYPE_ATK] = attr[CommonFun.RoleData.EATTRTYPE_DEX] * 2 + math.floor(attr[CommonFun.RoleData.EATTRTYPE_DEX] * attr[CommonFun.RoleData.EATTRTYPE_DEX] / 100) + math.floor(attr[CommonFun.RoleData.EATTRTYPE_STR] / 5) + math.floor(attr[CommonFun.RoleData.EATTRTYPE_LUK] / 5)
  else
    showresult[CommonFun.RoleData.EATTRTYPE_ATK] = attr[CommonFun.RoleData.EATTRTYPE_STR] * 2 + math.floor(attr[CommonFun.RoleData.EATTRTYPE_STR] * attr[CommonFun.RoleData.EATTRTYPE_STR] / 100) + math.floor(attr[CommonFun.RoleData.EATTRTYPE_DEX] / 5) + math.floor(attr[CommonFun.RoleData.EATTRTYPE_LUK] / 5)
  end
  showresult[CommonFun.RoleData.EATTRTYPE_DEF] = attr[CommonFun.RoleData.EATTRTYPE_VIT]
  showresult[CommonFun.RoleData.EATTRTYPE_MATK] = attr[CommonFun.RoleData.EATTRTYPE_INT] * 2 + math.floor(attr[CommonFun.RoleData.EATTRTYPE_INT] * attr[CommonFun.RoleData.EATTRTYPE_INT] / 100)
  showresult[CommonFun.RoleData.EATTRTYPE_MDEF] = attr[CommonFun.RoleData.EATTRTYPE_INT]
  showresult[CommonFun.RoleData.EATTRTYPE_HIT] = attr[CommonFun.RoleData.EATTRTYPE_DEX]
  showresult[CommonFun.RoleData.EATTRTYPE_FLEE] = attr[CommonFun.RoleData.EATTRTYPE_AGI]
  showresult[CommonFun.RoleData.EATTRTYPE_CRI] = math.floor(attr[CommonFun.RoleData.EATTRTYPE_LUK] / 3)
  showresult[CommonFun.RoleData.EATTRTYPE_CRIRES] = math.floor(attr[CommonFun.RoleData.EATTRTYPE_LUK] / 5)
  showresult[CommonFun.RoleData.EATTRTYPE_ATKSPD] = attr[CommonFun.RoleData.EATTRTYPE_AGI] / 100
  showresult[CommonFun.RoleData.EATTRTYPE_CASTSPD] = attr[CommonFun.RoleData.EATTRTYPE_DEX] / 30
  showresult[CommonFun.RoleData.EATTRTYPE_RESTORESPD] = math.floor(attr[CommonFun.RoleData.EATTRTYPE_VIT] / 5)
  showresult[CommonFun.RoleData.EATTRTYPE_SPRESTORESPD] = math.floor(attr[CommonFun.RoleData.EATTRTYPE_INT] / 6)
  return showresult
end