local config = {
[21583] = {
--rocks
[1285] = {value = 25000, newItem = 5880, after =8742},
[1295] = {value = 25000, newItem = 5880, after =8742},
[1356] = {value = 25000, newItem = 5880, after =8742},
[1357] = {value = 25000, newItem = 5880, after =8743},
[1358] = {value = 25000, newItem = 5880, after =8743},
[1359] = {value = 25000, newItem = 5880, after =8743},
[3607] = {value = 25000, newItem = 5880, after =8743},
[3608] = {value = 25000, newItem = 5880, after =8741},
[3615] = {value = 25000, newItem = 5880, after =8741},
[3616] = {value = 25000, newItem = 5880, after =8741},
}
}
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local skin = config[item.itemid][target.itemid]
if not skin then
player:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE)
return true
end
local random, effect, transform = math.random(1, 100000), CONST_ME_MAGIC_GREEN, true
if type(skin[1]) == 'table' then
local added = false
local _skin
for i = 1, #skin do
_skin = skin[i]
if random <= _skin.value then
if target.itemid == 11343 then
effect = CONST_ME_ICEAREA
local gobletItem = player:addItem(_skin.newItem, _skin.amount or 1)
if gobletItem then
gobletItem:setDescription(_skin.desc:gsub('|PLAYERNAME|', player:getName()))
end
added = true
elseif isInArray({7441, 7442, 7444, 7445}, target.itemid) then
player:addItem(_skin.newItem, _skin.amount or 1)
effect = CONST_ME_HITAREA
added = true
else
player:addItem(_skin.newItem, _skin.amount or 1)
added = true
end
break
end
end
elseif random <= skin.value then
if target.itemid == 11343 then
effect = CONST_ME_ICEAREA
local gobletItem = player:addItem(skin.newItem, skin.amount or 1)
if gobletItem then
gobletItem:setDescription(skin.desc:gsub('|PLAYERNAME|', player:getName()))
end
elseif isInArray({7441, 7442, 7444, 7445}, target.itemid) then
if skin.newItem == 7446 then
player:addAchievement('Ice Sculptor')
end
player:addItem(skin.newItem, skin.amount or 1)
effect = CONST_ME_HITAREA
else
player:addItem(skin.newItem, skin.amount or 1)
end
else
if isInArray({7441, 7442, 7444, 7445}, target.itemid) then
player:say('The attempt of sculpting failed miserably.', TALKTYPE_MONSTER_SAY)
effect = CONST_ME_HITAREA
else
effect = CONST_ME_POFF
end
end
toPosition:sendMagicEffect(effect)
if transform then
target:transform(skin.after)
end
return true
end