Formula

CommonFun.calcTowerMvpNpcAttrValue

function CommonFun.calcTowerMvpNpcAttrValue(attr, Type, classtype, Layer)
  local result = {}
  if 80 <= Layer then
    result[CommonFun.RoleData.EATTRTYPE_ATK] = (0.0304 * Layer * Layer * Layer - 1.6383 * Layer * Layer + 50.113 * Layer + 59.574) * 0.6
    result[CommonFun.RoleData.EATTRTYPE_MATK] = (0.0304 * Layer * Layer * Layer - 1.6383 * Layer * Layer + 50.113 * Layer + 59.574) * 0.6
    result[CommonFun.RoleData.EATTRTYPE_DEF] = 8.0E-4 * Layer * Layer * Layer - 0.0494 * Layer * Layer + 4.5061 * Layer + 1
    result[CommonFun.RoleData.EATTRTYPE_MDEF] = 2 * Layer
    result[CommonFun.RoleData.EATTRTYPE_MAXHP] = (0.2746 * Layer * Layer * Layer - 5.8627 * Layer * Layer + 404.87 * Layer + 84.291) * 6 * 5 * 0.6
    result[CommonFun.RoleData.EATTRTYPE_HIT] = 2 * Layer + 50
    result[CommonFun.RoleData.EATTRTYPE_FLEE] = Layer
    result[CommonFun.RoleData.EATTRTYPE_CRI] = Layer * 0.3
    result[CommonFun.RoleData.EATTRTYPE_CRIRES] = Layer * 0.3
  else
    result[CommonFun.RoleData.EATTRTYPE_ATK] = 0.0304 * Layer * Layer * Layer - 1.6383 * Layer * Layer + 50.113 * Layer + 59.574
    result[CommonFun.RoleData.EATTRTYPE_MATK] = 0.0304 * Layer * Layer * Layer - 1.6383 * Layer * Layer + 50.113 * Layer + 59.574
    result[CommonFun.RoleData.EATTRTYPE_DEF] = 8.0E-4 * Layer * Layer * Layer - 0.0494 * Layer * Layer + 4.5061 * Layer + 1
    result[CommonFun.RoleData.EATTRTYPE_MDEF] = 2 * Layer
    result[CommonFun.RoleData.EATTRTYPE_MAXHP] = (0.2746 * Layer * Layer * Layer - 5.8627 * Layer * Layer + 404.87 * Layer + 84.291) * 6 * 5
    result[CommonFun.RoleData.EATTRTYPE_HIT] = 2 * Layer + 50
    result[CommonFun.RoleData.EATTRTYPE_FLEE] = Layer
    result[CommonFun.RoleData.EATTRTYPE_CRI] = Layer * 0.3
    result[CommonFun.RoleData.EATTRTYPE_CRIRES] = Layer * 0.3
  end
  return result
end