Formula
CommonFun.calcSealNpcAttrValue
function CommonFun.calcSealNpcAttrValue(attr, classtype, sealtype, mapid)
local result = {}
local A = GameConfig.Seal.npclv[mapid]
if A == nil then
A = 65
end
if sealtype == 1 then
result[CommonFun.RoleData.EATTRTYPE_ATK] = (0.34 * A * A - 8.26 * A + 72) * 0.4
result[CommonFun.RoleData.EATTRTYPE_MATK] = (0.34 * A * A - 8.26 * A + 72) * 0.23
result[CommonFun.RoleData.EATTRTYPE_DEF] = 8.0E-4 * A * A * A - 0.0494 * A * A + 4.5061 * A + 1
result[CommonFun.RoleData.EATTRTYPE_MDEF] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_MAXHP] = 0.1373 * A * A * A - 2.9336 * A * A + 202.51 * A + 40.727
result[CommonFun.RoleData.EATTRTYPE_HIT] = 2 * A + 50
result[CommonFun.RoleData.EATTRTYPE_FLEE] = A + 50
result[CommonFun.RoleData.EATTRTYPE_CRI] = A * 0.3
result[CommonFun.RoleData.EATTRTYPE_CRIRES] = A * 0.3
elseif A < 20 then
result[CommonFun.RoleData.EATTRTYPE_ATK] = 4
result[CommonFun.RoleData.EATTRTYPE_MATK] = 4
result[CommonFun.RoleData.EATTRTYPE_DEF] = 8.0E-4 * A * A * A - 0.0494 * A * A + 4.5061 * A + 1
result[CommonFun.RoleData.EATTRTYPE_MDEF] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_MAXHP] = (0.1373 * A * A * A - 2.9336 * A * A + 202.51 * A + 40.727) * 0.1
result[CommonFun.RoleData.EATTRTYPE_HIT] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_FLEE] = A
result[CommonFun.RoleData.EATTRTYPE_CRI] = A * 0.3
result[CommonFun.RoleData.EATTRTYPE_CRIRES] = A * 0.3
elseif A < 30 and 20 <= A then
result[CommonFun.RoleData.EATTRTYPE_ATK] = (2 * (A - 19) + 8) * 0.5
result[CommonFun.RoleData.EATTRTYPE_MATK] = (2 * (A - 19) + 8) * 0.2
result[CommonFun.RoleData.EATTRTYPE_DEF] = 8.0E-4 * A * A * A - 0.0494 * A * A + 4.5061 * A + 1
result[CommonFun.RoleData.EATTRTYPE_MDEF] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_MAXHP] = (0.1373 * A * A * A - 2.9336 * A * A + 202.51 * A + 40.727) * 0.1
result[CommonFun.RoleData.EATTRTYPE_HIT] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_FLEE] = A
result[CommonFun.RoleData.EATTRTYPE_CRI] = A * 0.3
result[CommonFun.RoleData.EATTRTYPE_CRIRES] = A * 0.3
elseif A < 40 and 30 <= A then
result[CommonFun.RoleData.EATTRTYPE_ATK] = (3 * (A - 29) + 25) * 0.5
result[CommonFun.RoleData.EATTRTYPE_MATK] = (3 * (A - 29) + 25) * 0.2
result[CommonFun.RoleData.EATTRTYPE_DEF] = 8.0E-4 * A * A * A - 0.0494 * A * A + 4.5061 * A + 1
result[CommonFun.RoleData.EATTRTYPE_MDEF] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_MAXHP] = (0.1373 * A * A * A - 2.9336 * A * A + 202.51 * A + 40.727) * 0.15
result[CommonFun.RoleData.EATTRTYPE_HIT] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_FLEE] = A
result[CommonFun.RoleData.EATTRTYPE_CRI] = A * 0.3
result[CommonFun.RoleData.EATTRTYPE_CRIRES] = A * 0.3
elseif A < 50 and 40 <= A then
result[CommonFun.RoleData.EATTRTYPE_ATK] = (A - 39 + 57) * 0.5
result[CommonFun.RoleData.EATTRTYPE_MATK] = (A - 39 + 57) * 0.2
result[CommonFun.RoleData.EATTRTYPE_DEF] = 8.0E-4 * A * A * A - 0.0494 * A * A + 4.5061 * A + 1
result[CommonFun.RoleData.EATTRTYPE_MDEF] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_MAXHP] = (0.1373 * A * A * A - 2.9336 * A * A + 202.51 * A + 40.727) * 0.15
result[CommonFun.RoleData.EATTRTYPE_HIT] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_FLEE] = A
result[CommonFun.RoleData.EATTRTYPE_CRI] = A * 0.3
result[CommonFun.RoleData.EATTRTYPE_CRIRES] = A * 0.3
elseif A < 60 and 50 <= A then
result[CommonFun.RoleData.EATTRTYPE_ATK] = (2 * (A - 49) + 69) * 0.5
result[CommonFun.RoleData.EATTRTYPE_MATK] = (2 * (A - 49) + 69) * 0.2
result[CommonFun.RoleData.EATTRTYPE_DEF] = 8.0E-4 * A * A * A - 0.0494 * A * A + 4.5061 * A + 1
result[CommonFun.RoleData.EATTRTYPE_MDEF] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_MAXHP] = (0.1373 * A * A * A - 2.9336 * A * A + 202.51 * A + 40.727) * 0.2
result[CommonFun.RoleData.EATTRTYPE_HIT] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_FLEE] = A
result[CommonFun.RoleData.EATTRTYPE_CRI] = A * 0.3
result[CommonFun.RoleData.EATTRTYPE_CRIRES] = A * 0.3
elseif A < 70 and 60 <= A then
result[CommonFun.RoleData.EATTRTYPE_ATK] = (3 * (A - 59) + 94) * 0.5
result[CommonFun.RoleData.EATTRTYPE_MATK] = (3 * (A - 59) + 94) * 0.2
result[CommonFun.RoleData.EATTRTYPE_DEF] = 8.0E-4 * A * A * A - 0.0494 * A * A + 4.5061 * A + 1
result[CommonFun.RoleData.EATTRTYPE_MDEF] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_MAXHP] = (0.1373 * A * A * A - 2.9336 * A * A + 202.51 * A + 40.727) * 0.2
result[CommonFun.RoleData.EATTRTYPE_HIT] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_FLEE] = A
result[CommonFun.RoleData.EATTRTYPE_CRI] = A * 0.3
result[CommonFun.RoleData.EATTRTYPE_CRIRES] = A * 0.3
elseif A < 80 and 70 <= A then
result[CommonFun.RoleData.EATTRTYPE_ATK] = 13 * (A - 69) + 114
result[CommonFun.RoleData.EATTRTYPE_MATK] = (13 * (A - 69) + 114) * 0.5
result[CommonFun.RoleData.EATTRTYPE_DEF] = 8.0E-4 * A * A * A - 0.0494 * A * A + 4.5061 * A + 1
result[CommonFun.RoleData.EATTRTYPE_MDEF] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_MAXHP] = (0.1373 * A * A * A - 2.9336 * A * A + 202.51 * A + 40.727) * 0.2
result[CommonFun.RoleData.EATTRTYPE_HIT] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_FLEE] = A
result[CommonFun.RoleData.EATTRTYPE_CRI] = A * 0.3
result[CommonFun.RoleData.EATTRTYPE_CRIRES] = A * 0.3
elseif A < 90 and 80 <= A then
result[CommonFun.RoleData.EATTRTYPE_ATK] = 7 * (A - 79) + 242
result[CommonFun.RoleData.EATTRTYPE_MATK] = (7 * (A - 79) + 242) * 0.5
result[CommonFun.RoleData.EATTRTYPE_DEF] = 8.0E-4 * A * A * A - 0.0494 * A * A + 4.5061 * A + 1
result[CommonFun.RoleData.EATTRTYPE_MDEF] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_MAXHP] = (0.1373 * A * A * A - 2.9336 * A * A + 202.51 * A + 40.727) * 0.2
result[CommonFun.RoleData.EATTRTYPE_HIT] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_FLEE] = A
result[CommonFun.RoleData.EATTRTYPE_CRI] = A * 0.3
result[CommonFun.RoleData.EATTRTYPE_CRIRES] = A * 0.3
elseif A < 100 and 90 <= A then
result[CommonFun.RoleData.EATTRTYPE_ATK] = 8 * (A - 89) + 309
result[CommonFun.RoleData.EATTRTYPE_MATK] = (8 * (A - 89) + 309) * 0.5
result[CommonFun.RoleData.EATTRTYPE_DEF] = 8.0E-4 * A * A * A - 0.0494 * A * A + 4.5061 * A + 1
result[CommonFun.RoleData.EATTRTYPE_MDEF] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_MAXHP] = (0.1373 * A * A * A - 2.9336 * A * A + 202.51 * A + 40.727) * 0.2
result[CommonFun.RoleData.EATTRTYPE_HIT] = 2 * A
result[CommonFun.RoleData.EATTRTYPE_FLEE] = A
result[CommonFun.RoleData.EATTRTYPE_CRI] = A * 0.3
result[CommonFun.RoleData.EATTRTYPE_CRIRES] = A * 0.3
end
return result
end