mirror of
https://github.com/ErikasKontenis/SabrehavenServer.git
synced 2025-05-03 11:09:19 +02:00
50 lines
1.3 KiB
Lua
50 lines
1.3 KiB
Lua
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
|
|
|
|
local bundleTypes = {
|
|
[6506] = { -- red christmas bundle
|
|
6503
|
|
},
|
|
[6507] = { -- blue christmas bundle
|
|
6504
|
|
},
|
|
[6508] = { -- green christmas bundle
|
|
6502
|
|
}
|
|
}
|
|
|
|
local common = {
|
|
{6569, 15}, {3598, 20}, {3599, 10}, {3586, 10}, {3585, 5}, 6500, 6501, 6489, 6387
|
|
}
|
|
|
|
local targetItem = bundleTypes[item.itemid]
|
|
if not targetItem then
|
|
return true
|
|
end
|
|
|
|
targetItem = common
|
|
|
|
-- In case there's going to be more than one unique item per bundle
|
|
for i = 1, #bundleTypes[item.itemid] do
|
|
table.insert(targetItem, bundleTypes[item.itemid][i])
|
|
end
|
|
|
|
local rewards = {}
|
|
repeat
|
|
local count = 1
|
|
local rand = math.random(#targetItem)
|
|
local gift = targetItem[rand]
|
|
if type(gift) == "table" then
|
|
count = gift[2]
|
|
gift = gift[1]
|
|
end
|
|
rewards[#rewards + 1] = {gift, count}
|
|
table.remove(targetItem, rand)
|
|
until #rewards == 7
|
|
|
|
for i = 1, #rewards do
|
|
player:addItem(rewards[i][1], rewards[i][2])
|
|
end
|
|
item:remove(1)
|
|
fromPosition:sendMagicEffect(CONST_ME_GIFT_WRAPS)
|
|
return true
|
|
end |