Module:AbilityData/hero: Difference between revisions
Appearance
m test |
m notes_source_page passed to get_ability_card_from_key |
||
(16 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
local ability_module = require("Module: | local ability_module = require("Module:Abilities/card") | ||
local dictionary_module = require("Module:Dictionary") | local dictionary_module = require("Module:Dictionary") | ||
local lang_module = require("Module:Lang") | local lang_module = require("Module:Lang") | ||
local util_module = require("Module:Utilities") | local util_module = require("Module:Utilities") | ||
local ability_util_module = require("Module:Abilities/utils") | |||
local heroes_data = mw.loadJsonData("Data:HeroData.json") | local heroes_data = mw.loadJsonData("Data:HeroData.json") | ||
local p = {} | local p = {} | ||
--collapsible list | |||
function p.write_hero_abilities(frame) | |||
-- | |||
function write_hero_abilities(frame) | |||
local hero_key = frame.args[1] | local hero_key = frame.args[1] | ||
Line 24: | Line 21: | ||
for ability_num, ability_data in pairs(abilities_data) do | for ability_num, ability_data in pairs(abilities_data) do | ||
local ability_key = ability_data["Key"] | local ability_key = ability_data["Key"] | ||
local ability_name_localized = lang_module.get_string(ability_key) | local ability_name_localized = lang_module.get_string(ability_key) | ||
local tab_name = "<h3>" .. ability_name_localized .. "</h3>\n" | |||
local notes_source_page = ability_util_module.get_notes_source_page_name(ability_key) | |||
local tab_name = " | |||
local | |||
local tab_content = | --Determine tab content | ||
local notes_content = '{{'..notes_source_page..'}}' | |||
ret = ret .. tab_name .. tab_content | local tab_content = ability_module.get_ability_card_from_key( | ||
hero_key, | |||
ability_num, | |||
'true', | |||
frame:preprocess(notes_content), | |||
notes_source_page | |||
) | |||
ret = ret .. tab_name .. tab_content .. '\n' | |||
end | end | ||
return | |||
return frame:preprocess(ret) | |||
end | end | ||
return p | return p |
Latest revision as of 05:31, 28 November 2024
Documentation for this module may be created at Module:AbilityData/hero/doc
local ability_module = require("Module:Abilities/card")
local dictionary_module = require("Module:Dictionary")
local lang_module = require("Module:Lang")
local util_module = require("Module:Utilities")
local ability_util_module = require("Module:Abilities/utils")
local heroes_data = mw.loadJsonData("Data:HeroData.json")
local p = {}
--collapsible list
function p.write_hero_abilities(frame)
local hero_key = frame.args[1]
--Determine the hero's abilities
local hero_data = heroes_data[hero_key]
if (hero_data==nil) then return "Hero key "..hero_key.." not found" end
local abilities_data = hero_data["BoundAbilities"]
if (abilities_data==nil) then return "Hero key"..hero_key.." has no BoundAbilities" end
local ret = ""
for ability_num, ability_data in pairs(abilities_data) do
local ability_key = ability_data["Key"]
local ability_name_localized = lang_module.get_string(ability_key)
local tab_name = "<h3>" .. ability_name_localized .. "</h3>\n"
local notes_source_page = ability_util_module.get_notes_source_page_name(ability_key)
--Determine tab content
local notes_content = '{{'..notes_source_page..'}}'
local tab_content = ability_module.get_ability_card_from_key(
hero_key,
ability_num,
'true',
frame:preprocess(notes_content),
notes_source_page
)
ret = ret .. tab_name .. tab_content .. '\n'
end
return frame:preprocess(ret)
end
return p