Module:Sandbox/Monster Domosed: Difference between revisions

Jump to navigation Jump to search
mhm
Line 2: Line 2:


local data = mw.loadJsonData("Data:ItemData.json")
local data = mw.loadJsonData("Data:ItemData.json")
local ability_data = mw.loadJsonData("Data:AbilityCards.json")


--------------------------------------------------
--------------------------------------------------
Line 92: Line 93:


return names
return names
end
--------------------------------------------------
-- Abilities
--------------------------------------------------
local function get_all_abilities()
local abilities = {}
for _, hero in pairs(ability_data) do
if type(hero) == "table" then
for key, ability in pairs(hero) do
if tonumber(key) ~= nil
and type(ability) == "table"
and ability["Name"] ~= nil
then
table.insert(abilities, {
Index = tonumber(key),
Name = ability["Name"]
})
end
end
end
end
return abilities
end
local function get_formatted_abilities()
local abilities = get_all_abilities()
local output = {}
for _, ability in ipairs(abilities) do
table.insert(output, "{{AbilityIcon|" .. ability["Name"] .. "}}")
end
return output
end
end


Line 111: Line 149:
function p.get_count(frame)
function p.get_count(frame)
return tostring(#p._get_enabled_item_names_sorted())
return tostring(#p._get_enabled_item_names_sorted())
end
-- {{#invoke:Monster Domosed|get_abilities}}
function p.get_abilities(frame)
return table.concat(get_formatted_abilities(), "\n")
end
-- {{#invoke:Monster Domosed|get_abilities_csv}}
function p.get_abilities_csv(frame)
return table.concat(get_formatted_abilities(), ",")
end
-- {{#invoke:Monster Domosed|get_ability_count}}
function p.get_ability_count(frame)
return tostring(#get_all_abilities())
end
end


return p
return p