Commit 9dd0add2f10bcb78c1ddcb64964abbdaa8c31ba3
1 parent
912f7d2c
批量分解装备
Showing
1 changed file
with
21 additions
and
19 deletions
 
Show diff stats
src/actions/CarAction.lua
| @@ -125,26 +125,28 @@ end | @@ -125,26 +125,28 @@ end | ||
| 125 | function _M.saleEquipRpc(agent, data ) | 125 | function _M.saleEquipRpc(agent, data ) | 
| 126 | local role = agent.role | 126 | local role = agent.role | 
| 127 | local msg = MsgPack.unpack(data) | 127 | local msg = MsgPack.unpack(data) | 
| 128 | - | ||
| 129 | - local id = msg.id | ||
| 130 | - local count = msg.count | ||
| 131 | - | ||
| 132 | - local itemData = csvdb["ItemCsv"][id] | ||
| 133 | - if not itemData then return end | ||
| 134 | - | ||
| 135 | - local typ = math.floor((id-7000)/100) | ||
| 136 | - local lv = (id-7000)%100 | ||
| 137 | - | ||
| 138 | - local own = role:getEquipCount(typ,lv) | ||
| 139 | - if math.illegalNum(count, 1, own) then return end | ||
| 140 | - | ||
| 141 | - role:addEquip(typ, lv, -count) -- 删掉装备 | ||
| 142 | - -- 发奖励 | ||
| 143 | - local reward = itemData.sell_effect:toNumMap() | ||
| 144 | - for k ,v in pairs(reward) do | ||
| 145 | - reward[k] = v * count | 128 | + local backs = msg.backs | 
| 129 | + if not backs then return end | ||
| 130 | + for id, count in pairs(backs) do | ||
| 131 | + if not csvdb["ItemCsv"][id] then return end | ||
| 132 | + local typ = math.floor((id-7000)/100) | ||
| 133 | + local lv = (id-7000)%100 | ||
| 134 | + local own = role:getEquipCount(typ,lv) | ||
| 135 | + if math.illegalNum(count, 1, own) then return end | ||
| 136 | + end | ||
| 137 | + local reward = {} | ||
| 138 | + for id, count in pairs(backs) do | ||
| 139 | + local itemData = csvdb["ItemCsv"][id] | ||
| 140 | + local typ = math.floor((id-7000)/100) | ||
| 141 | + local lv = (id-7000)%100 | ||
| 142 | + role:addEquip(typ, lv, -count) -- 删掉装备 | ||
| 143 | + -- 发奖励 | ||
| 144 | + local one = itemData.sell_effect:toNumMap() | ||
| 145 | + for k ,v in pairs(one) do | ||
| 146 | + reward[k] = (reward[k] or 0) + v * count | ||
| 147 | + end | ||
| 146 | end | 148 | end | 
| 147 | - role:award(reward) | 149 | + reward = role:award(reward) | 
| 148 | SendPacket(actionCodes.Car_saleEquipRpc, MsgPack.pack({reward = reward})) | 150 | SendPacket(actionCodes.Car_saleEquipRpc, MsgPack.pack({reward = reward})) | 
| 149 | return true | 151 | return true | 
| 150 | end | 152 | end |