Commit 2c8d1dfe5d519324c207279cc81a3b4e47448a6b

Authored by zhouhaihai
1 parent bd535b08

奖励逻辑

Showing 1 changed file with 9 additions and 6 deletions   Show diff stats
src/actions/RoleAction.lua
... ... @@ -359,11 +359,11 @@ function _M.openTimeBoxRpc(agent, data)
359 359 if boxL[slot].gem or boxL[slot].time <= skynet.timex() then return end
360 360 local itemData = csvdb["itemCsv"][boxL[slot].id]
361 361 local randomData = csvdb["item_randomCsv"][tonumber(itemData.use_effect)]
362   - local costCount = randomData[gemId .. "_gem_num"]
363   - if not costCount then return end
  362 + local num = randomData[gemId .. "_gem_num"]
  363 + if not num then return end
364 364  
365   - if not role:checkItemEnough({[gemId] = costCount}) then return end
366   - role:costItems({[gemId] = costCount})
  365 + if not role:checkItemEnough({[gemId] = 1}) then return end
  366 + role:costItems({[gemId] = 1})
367 367 boxL[slot].gem = gemId
368 368 elseif oper == 3 then -- 领取
369 369 local quick = msg.quick
... ... @@ -381,15 +381,18 @@ function _M.openTimeBoxRpc(agent, data)
381 381 reward = randomData.gift:toNumMap() -- 固定奖励
382 382 -- 随机奖励
383 383 local randomGift = randomData.random_gift
  384 + local randomNum = randomData.random_num
384 385 if boxL[slot].gem then
  386 + randomNum = randomData[boxL[slot].gem .. "_gem_num"]
385 387 randomGift = randomData[boxL[slot].gem .. "_gem_gift"]
386 388 end
387   - if randomData.random_num > 0 and randomGift and randomGift ~= "" then
  389 +
  390 + if randomNum > 0 and randomGift and randomGift ~= "" then
388 391 local pool = {}
389 392 for _, temp in ipairs(randomGift:toArray()) do
390 393 table.insert(pool, temp:toArray(true, "="))
391 394 end
392   - local needCount = math.min(#pool, randomData.random_num)
  395 + local needCount = math.min(#pool, randomNum)
393 396 for j = 1, needCount do
394 397 local idx = math.randWeight(pool, 3)
395 398 reward[pool[idx][1]] = (reward[pool[idx][1]] or 0) + pool[idx][2]
... ...