17,105
edits
(Don't clone items, as all items have IDs from game data anyway (and hope nowhere else is attempting to modify them)) |
Tag: Undo |
||
Line 68: | Line 68: | ||
function p.getItemByID(ID) | function p.getItemByID(ID) | ||
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 | ||
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 | 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, | local newItem = Shared.clone(item) | ||
newItem.id = i - 1 | |||
table.insert(result, newItem) | |||
end | end | ||
end | end |