72 lines
2.0 KiB
Lua
72 lines
2.0 KiB
Lua
function inventory.get_uses(invid, slot)
|
|
local uses = inventory.get_data(invid, slot, "uses")
|
|
if uses == nil then
|
|
return item.uses(inventory.get(invid, slot))
|
|
end
|
|
return uses
|
|
end
|
|
|
|
function inventory.use(invid, slot)
|
|
local itemid, count = inventory.get(invid, slot)
|
|
if itemid == nil then
|
|
return
|
|
end
|
|
local item_uses = inventory.get_uses(invid, slot)
|
|
if item_uses == nil then
|
|
return
|
|
end
|
|
if item_uses == 1 then
|
|
inventory.set(invid, slot, itemid, count - 1)
|
|
elseif item_uses > 1 then
|
|
inventory.set_data(invid, slot, "uses", item_uses - 1)
|
|
end
|
|
end
|
|
|
|
function inventory.decrement(invid, slot, count)
|
|
count = count or 1
|
|
local itemid, itemcount = inventory.get(invid, slot)
|
|
if itemcount <= count then
|
|
inventory.set(invid, slot, 0)
|
|
else
|
|
inventory.set_count(invid, slot, itemcount - count)
|
|
end
|
|
end
|
|
|
|
function inventory.get_caption(invid, slot)
|
|
local item_id, count = inventory.get(invid, slot)
|
|
local caption = inventory.get_data(invid, slot, "caption")
|
|
if not caption then return item.caption(item_id) end
|
|
|
|
return caption
|
|
end
|
|
|
|
function inventory.set_caption(invid, slot, caption)
|
|
local itemid, itemcount = inventory.get(invid, slot)
|
|
if itemid == 0 then
|
|
return
|
|
end
|
|
if caption == nil or type(caption) ~= "string" then
|
|
caption = ""
|
|
end
|
|
inventory.set_data(invid, slot, "caption", caption)
|
|
end
|
|
|
|
function inventory.get_description(invid, slot)
|
|
local item_id, count = inventory.get(invid, slot)
|
|
local description = inventory.get_data(invid, slot, "description")
|
|
if not description then return item.description(item_id) end
|
|
|
|
return description
|
|
end
|
|
|
|
function inventory.set_description(invid, slot, description)
|
|
local itemid, itemcount = inventory.get(invid, slot)
|
|
if itemid == 0 then
|
|
return
|
|
end
|
|
if description == nil or type(description) ~= "string" then
|
|
description = ""
|
|
end
|
|
inventory.set_data(invid, slot, "description", description)
|
|
end
|