Module:Items: Difference between revisions

Undo revision 50703 by Auron956 (talk)
(Don't clone items, as all items have IDs from game data anyway (and hope nowhere else is attempting to modify them))
(Undo revision 50703 by Auron956 (talk))
Tag: Undo
Line 68: Line 68:


function p.getItemByID(ID)
function p.getItemByID(ID)
return ItemData.Items[ID + 1]
local result = Shared.clone(ItemData.Items[ID + 1])
if result ~= nil then
result.id = ID
end
return result
end
end


function p.getItem(name)
function p.getItem(name)
local result = nil
name = string.gsub(name, "%%27", "'")
name = string.gsub(name, "%%27", "'")
name = string.gsub(name, "'", "'")
name = string.gsub(name, "'", "'")
Line 77: Line 82:
local itemName = string.gsub(item.name, '#', '')
local itemName = string.gsub(item.name, '#', '')
if name == itemName then
if name == itemName then
return p.getItemByID(i - 1)
result = Shared.clone(item)
--Make sure every item has an id, and account for Lua being 1-index
result.id = i - 1
break
end
end
end
end
return nil
return result
end
end


Line 87: Line 95:
for i, item in pairs(ItemData.Items) do
for i, item in pairs(ItemData.Items) do
if checkFunc(item) then
if checkFunc(item) then
table.insert(result, item)
local newItem = Shared.clone(item)
newItem.id = i - 1
table.insert(result, newItem)
end
end
end
end