Jump to content

The wiki is in the process of updating to the latest major game changes. Any contributions are appreciated!
Start here to learn how to edit and join our Discord server to make suggestions.

Module:ItemTables: Difference between revisions

From The Deadlock Wiki
Created page with "local p = {}; local data = mw.loadJsonData("Data:ItemData.json") -- returns the table of a specific item function get_json_item(name) for i,v in pairs(data) do if (v["Name"] == name) then return v end end return nil end --{{#invoke:Sandbox/Sylphoid|get_prop|ITEM_NAME|PROPERTY}}-- --check Data:ItemData.json for properties p.get_prop = function(frame) local item_name = frame.args[1] local property = frame.args[2] local item = get_json_item(item_name) if(ite..."
 
cleanup
(9 intermediate revisions by the same user not shown)
Line 15: Line 15:
--check Data:ItemData.json for properties
--check Data:ItemData.json for properties
p.get_prop = function(frame)
p.get_prop = function(frame)
local shopTableValues = {}
local item_name = frame.args[1]
local item_name = frame.args[1]
local property = frame.args[2]
local property = frame.args[2]
local item = get_json_item(item_name)
local item = get_json_item(item_name)
if(item == nil) then return "Item Not Found" end
if(item == nil) then return "Item Not Found" end
if(type(item) == table) then
if(type(item[property]) == "table") then
local tableValues = get_json_item(item)
for i,v in pairs(item[property]) do
local shopTableValues = table.insert(shopTableValues, v)
--local tableValues = get_json_item(item)
end
return table.concat(shopTableValues, ", ")
end
end
return tableValues[property]
return item[property]
--return tableValues[property]
end
end


return p
return p

Revision as of 07:22, 20 September 2024

Module used to create item tables with Template:Item stat table.

To add a new stat, add the name of the stat as "friendly to internal", followed by the property as listed on Data:ItemData.json, as well as adding the property to the "local unitSuffix" list corresponding to its suffix.


local p = {};
local data = mw.loadJsonData("Data:ItemData.json")

-- returns the table of a specific item
function get_json_item(name)
	for i,v in pairs(data) do
		if (v["Name"] == name) then
			return v
		end
	end
	return nil
end

--{{#invoke:Sandbox/Sylphoid|get_prop|ITEM_NAME|PROPERTY}}--
--check Data:ItemData.json for properties
p.get_prop = function(frame)
	local shopTableValues = {}
	local item_name = frame.args[1]
	local property = frame.args[2]
	local item = get_json_item(item_name)
	if(item == nil) then return "Item Not Found" end
	if(type(item[property]) == "table") then
		for i,v in pairs(item[property]) do
			local shopTableValues = table.insert(shopTableValues, v)
			--local tableValues = get_json_item(item)
		end
		return table.concat(shopTableValues, ", ")
	end
	return item[property]
	--return tableValues[property]
end

return p