obsidian knife ice statue script

This commit is contained in:
ErikasKontenis 2022-09-10 11:35:07 +03:00
parent b18c0517c5
commit 5f32d6f5d1

View File

@ -22,6 +22,12 @@ local config = {
-- Bone Beasts -- Bone Beasts
[4212] = {value = 25000, newItem = 5925}, [4212] = {value = 25000, newItem = 5925},
-- Ice Cube
[7441] = {value = 25000, newItem = 7442},
[7442] = {value = 25000, newItem = 7444},
[7444] = {value = 25000, newItem = 7445},
[7445] = {value = 25000, newItem = 7446},
}, },
[5942] = { [5942] = {
-- Demon -- Demon
@ -34,37 +40,62 @@ local config = {
function onUse(player, item, fromPosition, target, toPosition, isHotkey) function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local skin = config[item.itemid][target.itemid] local skin = config[item.itemid][target.itemid]
if not skin then if not skin then
return false player:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE)
return true
end end
local random, effect, transform = math.random(1, 100000), CONST_ME_MAGIC_GREEN, true local random, effect, transform = math.random(1, 100000), CONST_ME_MAGIC_GREEN, true
if type(skin[1]) == 'table' then if type(skin[1]) == 'table' then
local added = false
local _skin local _skin
for i = 1, #skin do for i = 1, #skin do
_skin = skin[i] _skin = skin[i]
if random <= _skin.value then if random <= _skin.value then
if isInArray({7441, 7442, 7444, 7445}, target.itemid) 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) player:addItem(_skin.newItem, _skin.amount or 1)
effect = CONST_ME_HITAREA effect = CONST_ME_HITAREA
added = true
else else
player:addItem(_skin.newItem, _skin.amount or 1) player:addItem(_skin.newItem, _skin.amount or 1)
added = true
end end
break break
end end
end end
if not added and target.itemid == 8961 then
effect = CONST_ME_POFF
transform = false
end
elseif random <= skin.value then elseif random <= skin.value then
if isInArray({7441, 7442, 7444, 7445}, target.itemid) then if target.itemid == 11343 then
player:addItem(skin.newItem, skin.amount or 1) 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
target:transform(skin.newItem)
effect = CONST_ME_HITAREA effect = CONST_ME_HITAREA
transform = false
else else
player:addItem(skin.newItem, skin.amount or 1) player:addItem(skin.newItem, skin.amount or 1)
end end
else else
if isInArray({7441, 7442, 7444, 7445}, target.itemid) then if isInArray({7441, 7442, 7444, 7445}, target.itemid) then
player:say('The attempt of sculpting failed miserably.', TALKTYPE_MONSTER_SAY) player:say('The attempt of sculpting failed miserably.', TALKTYPE_MONSTER_SAY)
target:remove()
effect = CONST_ME_HITAREA effect = CONST_ME_HITAREA
transform = false
else else
effect = CONST_ME_POFF effect = CONST_ME_POFF
end end