|
|
@@ -30,7 +30,6 @@ function makeItem(net, itemID, itemCnt, shuijingAttrID, itemGrid, itemIndex, opF
|
|
|
net.price = itemConfig and itemConfig.price and itemConfig.price[2] or 0
|
|
|
net.rare = itemConfig and itemConfig.rare or 0
|
|
|
net.score = itemConfig and itemConfig.score or 0
|
|
|
- net.getway = net.getway or {}
|
|
|
net.getway[0] = (itemConfig and itemConfig.getway) and #itemConfig.getway or 0
|
|
|
for i=1, net.getway[0] do
|
|
|
net.getway[i] = itemConfig.getway[i]
|
|
|
@@ -40,11 +39,11 @@ function makeItem(net, itemID, itemCnt, shuijingAttrID, itemGrid, itemIndex, opF
|
|
|
net.effects = itemConfig and itemConfig.effects or 0
|
|
|
net.opflag = opFlag or getOpflag(itemConfig) or 0
|
|
|
net.suipian = net.suipian or {}
|
|
|
- net.suipian[0] = 0
|
|
|
net.equip = net.equip or {}
|
|
|
+ net.fuwen= net.fuwen or {}
|
|
|
+ net.suipian[0] = 0
|
|
|
net.equip[0] = 0
|
|
|
- net.fuwen = net.fuwen or {}
|
|
|
- net.fuwen[0] = 0
|
|
|
+ net.fuwen[0] = 0
|
|
|
if not itemConfig then return end
|
|
|
|
|
|
makeItemSuipian(net, itemConfig)
|
|
|
@@ -73,6 +72,7 @@ function makeItemFuwen(net, itemID, itemConfig, fuwenGrid, fuwenIndex)
|
|
|
local netTemp = nil
|
|
|
if net.fuwen then
|
|
|
net.fuwen[0] = 1
|
|
|
+ net.fuwen[1] = net.fuwen[1] or {}
|
|
|
netTemp = net.fuwen[1]
|
|
|
else
|
|
|
netTemp = net
|
|
|
@@ -81,7 +81,9 @@ function makeItemFuwen(net, itemID, itemConfig, fuwenGrid, fuwenIndex)
|
|
|
netTemp.index = fuwenIndex or 0
|
|
|
netTemp.fenjieGet = itemConfig.fenjieJinghua
|
|
|
netTemp.refine = 0
|
|
|
+ netTemp.attrs = netTemp.attrs or {}
|
|
|
netTemp.attrs[0] = 0
|
|
|
+ netTemp.skills = netTemp.skills or {}
|
|
|
netTemp.skills[0] = 0
|
|
|
netTemp.zhandouli = 0
|
|
|
if fuwenGrid ~= nil then
|
|
|
@@ -90,6 +92,7 @@ function makeItemFuwen(net, itemID, itemConfig, fuwenGrid, fuwenIndex)
|
|
|
for zz = 1, #fuwenGrid.attr do
|
|
|
local key = fuwenGrid.attr[zz][1]
|
|
|
local value = fuwenGrid.attr[zz][2]
|
|
|
+ netTemp.attrs[zz] = netTemp.attrs[zz] or {}
|
|
|
netTemp.attrs[zz].key = key
|
|
|
netTemp.attrs[zz].value = value
|
|
|
zhandouli = zhandouli + RoleAttr.getPointByKey(key) * value
|
|
|
@@ -100,6 +103,7 @@ function makeItemFuwen(net, itemID, itemConfig, fuwenGrid, fuwenIndex)
|
|
|
else
|
|
|
for zz = 1,#fuwenGrid.skill do
|
|
|
local skillID = fuwenGrid.skill[zz]
|
|
|
+ netTemp.skills[zz] = netTemp.skills[zz] or {}
|
|
|
makeFuwenSkill(netTemp.skills[zz], skillID)
|
|
|
end
|
|
|
netTemp.skills[0] = #fuwenGrid.skill
|
|
|
@@ -114,12 +118,14 @@ function makeItemEquip(net, itemConfig, equipGrid, equipIndex, shuijingAttrID, e
|
|
|
end
|
|
|
|
|
|
net.equip[0] = 1
|
|
|
+ net.equip[1] = net.equip[1] or {}
|
|
|
net.equip[1].index = equipIndex or 0
|
|
|
net.equip[1].level = itemConfig.level
|
|
|
net.equip[1].exp = itemConfig.shenqiExp or 0
|
|
|
net.equip[1].star = itemConfig.star or 0
|
|
|
net.equip[1].uuid = equipGrid and equipGrid.uuid or ""
|
|
|
net.equip[1].putUuid = equipGrid and equipGrid.putUuid or ""
|
|
|
+ net.equip[1].args = net.equip[1].args or {}
|
|
|
net.equip[1].args[0] = 0
|
|
|
|
|
|
local maxQuality = EquipLogic.getEquipMaxQuality(itemConfig)
|
|
|
@@ -128,6 +134,7 @@ function makeItemEquip(net, itemConfig, equipGrid, equipIndex, shuijingAttrID, e
|
|
|
-- 装备基础属性
|
|
|
if itemConfig.subType == ItemDefine.EQUIP_SUBTYPE_SHUIJIN then
|
|
|
-- 水晶属性
|
|
|
+ net.equip[1].attr = net.equip[1].attr or {}
|
|
|
net.equip[1].attr[0] = 0
|
|
|
net.equip[1].args[0] = 1
|
|
|
local upcf = EquipExcel.shuijingUpNeed[net.id]
|
|
|
@@ -137,6 +144,7 @@ function makeItemEquip(net, itemConfig, equipGrid, equipIndex, shuijingAttrID, e
|
|
|
local shuijingAttrTB = shuijingConfig.attr
|
|
|
net.equip[1].attr[0] = #shuijingAttrTB
|
|
|
for i=1, net.equip[1].attr[0] do
|
|
|
+ net.equip[1].attr[i] = net.equip[1].attr[i] or {}
|
|
|
net.equip[1].attr[i].key = shuijingAttrTB[i][1]
|
|
|
net.equip[1].attr[i].value = shuijingAttrTB[i][2]
|
|
|
end
|
|
|
@@ -145,17 +153,21 @@ function makeItemEquip(net, itemConfig, equipGrid, equipIndex, shuijingAttrID, e
|
|
|
local baseRate = EquipLogic.getEquipBaseRate(net.rare)
|
|
|
net.score = math.floor(net.score * baseRate)
|
|
|
-- 基础属性
|
|
|
+ net.equip[1].baseAttr = {}
|
|
|
net.equip[1].baseAttr[0] = #itemConfig.base
|
|
|
for i=1, net.equip[1].baseAttr[0] do
|
|
|
+ net.equip[1].baseAttr[i] = net.equip[1].baseAttr[i] or {}
|
|
|
net.equip[1].baseAttr[i].key = itemConfig.base[i][1]
|
|
|
net.equip[1].baseAttr[i].value = math.floor(itemConfig.base[i][2] * baseRate)
|
|
|
end
|
|
|
-- 随机属性
|
|
|
local attrLen = 0
|
|
|
+ net.equip[1].tzAttr = net.equip[1].tzAttr or {}
|
|
|
if equipGrid then
|
|
|
EquipLogic.checkAttr(equipGrid)
|
|
|
for key, value in pairs(equipGrid.attr) do
|
|
|
attrLen = attrLen + 1
|
|
|
+ net.equip[1].tzAttr[attrLen] = net.equip[1].tzAttr[attrLen] or {}
|
|
|
net.equip[1].tzAttr[attrLen].key = key
|
|
|
net.equip[1].tzAttr[attrLen].value = math.floor(value * baseRate)
|
|
|
end
|
|
|
@@ -163,9 +175,10 @@ function makeItemEquip(net, itemConfig, equipGrid, equipIndex, shuijingAttrID, e
|
|
|
local randomAttr = EquipLogic.getEquipTzAttr(itemConfig)
|
|
|
if randomAttr then
|
|
|
for _, attr in pairs(randomAttr) do
|
|
|
- attrLen = attrLen + 1
|
|
|
- net.equip[1].tzAttr[attrLen].key = attr[1]
|
|
|
- net.equip[1].tzAttr[attrLen].value = attr[2]
|
|
|
+ attrLen = attrLen + 1
|
|
|
+ net.equip[1].tzAttr[attrLen] = net.equip[1].tzAttr[attrLen] or {}
|
|
|
+ net.equip[1].tzAttr[attrLen].key = attr[1]
|
|
|
+ net.equip[1].tzAttr[attrLen].value = attr[2]
|
|
|
end
|
|
|
end
|
|
|
end
|
|
|
@@ -174,16 +187,22 @@ function makeItemEquip(net, itemConfig, equipGrid, equipIndex, shuijingAttrID, e
|
|
|
if itemConfig.subType == ItemDefine.EQUIP_SUBTYPE_SHENQI then
|
|
|
local shenqiUpNeedConfig = EquipExcel.shenqiUpNeed[net.id]
|
|
|
local nextID = shenqiUpNeedConfig and shenqiUpNeedConfig.nextID
|
|
|
+ net.equip[1].args = net.equip[1].args or {}
|
|
|
net.equip[1].args[0] = 1
|
|
|
net.equip[1].args[1] = (not nextID or nextID < 1) and 1 or 0
|
|
|
end
|
|
|
|
|
|
-- 装备套装属性
|
|
|
+ net.equip[1].suit = net.equip[1].suit or {}
|
|
|
net.equip[1].suit[0] = 0
|
|
|
if itemConfig.suitIm then
|
|
|
+ net.equip[1].suit = net.equip[1].suit or {}
|
|
|
net.equip[1].suit[0] = 1
|
|
|
+ net.equip[1].suit[1] = net.equip[1].suit[1] or {}
|
|
|
+ net.equip[1].suit[1].attr = net.equip[1].suit[1].attr or {}
|
|
|
net.equip[1].suit[1].attr[0] = #itemConfig.suitIm
|
|
|
for i=1,net.equip[1].suit[1].attr[0] do
|
|
|
+ net.equip[1].suit[1].attr[i] = net.equip[1].suit[1].attr[i] or {}
|
|
|
net.equip[1].suit[1].attr[i].key = itemConfig.suitIm[i][1]
|
|
|
net.equip[1].suit[1].attr[i].value = itemConfig.suitIm[i][2]
|
|
|
end
|
|
|
@@ -194,16 +213,20 @@ function makeItemEquip(net, itemConfig, equipGrid, equipIndex, shuijingAttrID, e
|
|
|
|
|
|
-- 装备职业专属属性
|
|
|
net.equip[1].job = itemConfig.job
|
|
|
+ net.equip[1].jobAttr = net.equip[1].jobAttr or {}
|
|
|
net.equip[1].jobAttr[0] = #itemConfig.jobAttr
|
|
|
for i = 1, net.equip[1].jobAttr[0] do
|
|
|
+ net.equip[1].jobAttr[i] = net.equip[1].jobAttr[i] or {}
|
|
|
net.equip[1].jobAttr[i].key = itemConfig.jobAttr[i][1]
|
|
|
net.equip[1].jobAttr[i].value = itemConfig.jobAttr[i][2]
|
|
|
end
|
|
|
|
|
|
-- 装备阵营专属属性
|
|
|
net.equip[1].camp = itemConfig.camp
|
|
|
+ net.equip[1].campAttr = net.equip[1].campAttr or {}
|
|
|
net.equip[1].campAttr[0] = #itemConfig.campAttr
|
|
|
for i = 1, net.equip[1].campAttr[0] do
|
|
|
+ net.equip[1].campAttr[i] = net.equip[1].campAttr[i] or {}
|
|
|
net.equip[1].campAttr[i].key = itemConfig.campAttr[i][1]
|
|
|
net.equip[1].campAttr[i].value = itemConfig.campAttr[i][2]
|
|
|
end
|
|
|
@@ -220,6 +243,7 @@ function makeItemSuipian(net, itemConfig)
|
|
|
end
|
|
|
|
|
|
net.suipian[0] = 1
|
|
|
+ net.suipian[1] = net.suipian[1] or {}
|
|
|
net.suipian[1].fullcnt = itemConfig.fullCnt
|
|
|
net.suipian[1].camp = itemConfig.cond[1] or 0
|
|
|
net.suipian[1].star = itemConfig.cond[2] or 0
|