Commit 993def2f7e37f5d2a1a49fbb30f2100991b1d625
1 parent
eb87ab7d
碎片直接转换为其他碎片
Showing
1 changed file
with
29 additions
and
0 deletions
Show diff stats
src/models/RolePlugin.lua
| ... | ... | @@ -102,6 +102,35 @@ function RolePlugin.bind(Role) |
| 102 | 102 | [ItemType.FuncOpen] = function() |
| 103 | 103 | self:funcOpen(itemId, count, pms) |
| 104 | 104 | end, |
| 105 | + [ItemType.HeroFCommon] = function() | |
| 106 | + if itemData.use_type == 2 then | |
| 107 | + local randomData = csvdb["item_randomCsv"][tonumber(itemData.use_effect)] | |
| 108 | + for _i = 1, count do | |
| 109 | + for i = 1, 10 do | |
| 110 | + local num = randomData["num" .. i] | |
| 111 | + local gift = randomData["gift" .. i] | |
| 112 | + if num and gift and num > 0 and gift ~= "" then | |
| 113 | + local pool = {} | |
| 114 | + for _, temp in ipairs(gift:toArray()) do | |
| 115 | + table.insert(pool, temp:toArray(true, "=")) | |
| 116 | + end | |
| 117 | + local needCount = math.min(#pool, num) | |
| 118 | + for j = 1, needCount do | |
| 119 | + local idx = math.randWeight(pool, 3) | |
| 120 | + change[pool[idx][1]] = (change[pool[idx][1]] or 0) + pool[idx][2] | |
| 121 | + table.remove(pool, idx) | |
| 122 | + end | |
| 123 | + end | |
| 124 | + end | |
| 125 | + end | |
| 126 | + change[0] = nil | |
| 127 | + count = 0 | |
| 128 | + else | |
| 129 | + pms.itemId = itemId | |
| 130 | + pms.count = count | |
| 131 | + self:addItem(pms) | |
| 132 | + end | |
| 133 | + end, | |
| 105 | 134 | } |
| 106 | 135 | -- 对数量筛查 |
| 107 | 136 | count = checkItemCount(self, itemId, count) | ... | ... |