Commit 9dd0add2f10bcb78c1ddcb64964abbdaa8c31ba3

Authored by zhouhaihai
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 125 function _M.saleEquipRpc(agent, data )
126 126 local role = agent.role
127 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 148 end
147   - role:award(reward)
  149 + reward = role:award(reward)
148 150 SendPacket(actionCodes.Car_saleEquipRpc, MsgPack.pack({reward = reward}))
149 151 return true
150 152 end
... ...