Commit 84e7c06eace294ea35bd4b07195887cf64ab4cf2

Authored by zhouhaihai
1 parent e3c3a4f5

回收

Showing 1 changed file with 14 additions and 9 deletions   Show diff stats
src/actions/RoleAction.lua
... ... @@ -278,15 +278,20 @@ end
278 278 function _M.saleItemRpc(agent, data)
279 279 local role = agent.role
280 280 local msg = MsgPack.unpack(data)
281   - local itemId = msg.itemId
282   - local count = msg.count
283   - if math.illegalNum(count, 1, role:getItemCount(itemId)) then return end
284   - local itemData = csvdb["itemCsv"][itemId]
285   - if itemData.sell_effect == "" then return end
286   - local sellEffect = itemData.sell_effect:toArray(true, "=")
287   -
288   - role:costItems({[itemId] = count})
289   - local reward = role:award({[sellEffect[1]] = sellEffect[2] * count})
  281 + local backs = msg.backs
  282 + if not backs then return end
  283 +
  284 + local reward = {}
  285 + for itemId, count in pairs(backs) do
  286 + if math.illegalNum(count, 1, role:getItemCount(itemId)) then return end
  287 + local itemData = csvdb["itemCsv"][itemId]
  288 + if itemData.sell_effect == "" then return end
  289 + local sellEffect = itemData.sell_effect:toArray(true, "=")
  290 + reward[sellEffect[1]] = (reward[sellEffect[1]] or 0) + sellEffect[2] * count
  291 + end
  292 +
  293 + role:costItems(backs)
  294 + local reward = role:award(reward)
290 295  
291 296 SendPacket(actionCodes.Role_saleItemRpc, MsgPack.pack({reward = reward}))
292 297 return true
... ...