Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

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:AttributeData

From The Deadlock Wiki
Revision as of 23:14, 21 September 2024 by Sur (talk | contribs) (invoke example fixed)

Documentation for this module may be created at Module:AttributeData/doc

local p = {};
local attributes_data = mw.loadJsonData("Data:AttributeData.json")
local lang_module = require("Module:Lang")
local category_data = { --category specific parameters
	["Weapon"] = {
		unlocalized_name = "CitadelCategoryWeapon",
		rgb = "213, 144, 63"
	},
	["Vitality"] = {
		unlocalized_name = "CitadelCategoryArmor",
		rgb = "116, 176, 28"
	},
	["Spirit"] = {
		unlocalized_name = "CitadelCategoryTech",
		rgb = "194, 136, 240"
	},
}
	
function p.get_category_data()
	return category_data
end

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

-- localize Weapon/Vitality/Spirit from english rather than their keys
--{{#invoke:AttributeData|localize_category|Weapon/Vitality/Spirit}}
p.localize_category = function(frame)
	local category_en = frame.args[1]
	if (category_en == nil) then return "Weapon/Vitality/Spirit category not provided" end
	
	-- get unlocalized key
	local unlocalized_key = nil
	for category, cat_data in pairs(category_data) do
		unlocalized_key = cat_data["unlocalized_name"]
	end
	if (unlocalized_key == nil) then return "Category should be one of Weapon/Vitality/Spirit" end
	
	-- localize it
	localized = lang_module._get_string(unlocalized_key)
	if (localized == nil) then return category_en end --category missing from lang
end

return p