function onUse(player, item, fromPosition, itemEx, toPosition, isHotkey)
local targetItem = Item(itemEx.uid)
local targetItemId = ItemType(itemEx.itemid)
if targetItemId:isFluidContainer() and itemEx.type == 0 then
targetItem:transform(itemEx.itemid, item.type)
Item(item.uid):transform(item.itemid, 0)
return true
end
if targetItemId:isFluidContainer() and item.type == 0 then
targetItem:transform(itemEx.itemid, 0)
Item(item.uid):transform(item.itemid, itemEx.type)
return true
end
if itemEx.itemid == 1 then
if item.type == 0 then
player:sendTextMessage(MESSAGE_STATUS_SMALL, "It is empty.")
elseif itemEx.uid == player:getId() then
Item(item.uid):transform(item.itemid, 0)
if item.type == 3 or item.type == 15 or item.type == 43 then
player:addCondition(drunk)
elseif item.type == 4 then
player:addCondition(poison)
elseif item.type == 7 then
player:addMana(math.random(50, 150))
fromPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE)
elseif item.type == 10 then
player:addHealth(60)
fromPosition:sendMagicEffect(CONST_ME_MAGIC_BLUE)
end
for i = 0, #fluidType do
if item.type == fluidType[i] then
player:say(fluidMessage[i], TALKTYPE_MONSTER_SAY)
return true
end
end
player:say("Gulp.", TALKTYPE_MONSTER_SAY)
else
Item(item.uid):transform(item.itemid, 0)
Game.createItem(2016, item.type, toPosition):decay()
end
else
local fluidSource = targetItemId:getFluidSource()
if fluidSource ~= 0 then
Item(item.uid):transform(item.itemid, fluidSource)
elseif item.type == 0 then
player:sendTextMessage(MESSAGE_STATUS_SMALL, "It is empty.")
else
if toPosition.x == CONTAINER_POSITION then
toPosition = player:getPosition()
end
Item(item.uid):transform(item.itemid, 0)
Game.createItem(2016, item.type, toPosition):decay()
end
end
return true
end