Module:AbilityData/hero: Difference between revisions
Jump to navigation
Jump to search
m preprocesses |
m tab content now includes ability card |
||
Line 22: | Line 22: | ||
local ability_name_en = ability_data["Name"] | local ability_name_en = ability_data["Name"] | ||
local ability_name_localized = lang_module.get_string(ability_key) | local ability_name_localized = lang_module.get_string(ability_key) | ||
local notes_str_localized = dictionary_module.translate('Notes', nil, '') | local notes_str_localized = dictionary_module.translate('Notes', nil, '') | ||
local tab_name = "|-|(" .. ability_num .. ") " .. ability_name_en .. "=" | local tab_name = "|-|(" .. ability_num .. ") " .. ability_name_en .. "=" | ||
local | |||
--Determine tab content | |||
local tab_content = "<i>" .. dictionary_module.translate_embed( | |||
'TranscludedNotesFrom', | 'TranscludedNotesFrom', | ||
'https://en.wikipedia.org/wiki/Help:Transclusion', | 'https://en.wikipedia.org/wiki/Help:Transclusion', | ||
'[[User:Sur/'..ability_name_localized..'/'..notes_str_localized..']]', | '[[User:Sur/'..ability_name_localized..'/'..notes_str_localized..']]', | ||
'https://deadlocked.wiki/index.php?title=User:Sur/'.. | 'https://deadlocked.wiki/index.php?title=User:Sur/'..util_module.url_encode(ability_name_localized)..'/'..notes_str_localized..'&action=edit' | ||
) .. "</i>" | ) .. "</i>\n" | ||
local tab_content = | local tab_content = tab_content .. ability_module.get_ability_card_from_key( | ||
hero_key, | |||
ability_num, | |||
'true', | |||
'{{User:Sur/'..ability_name_localized..'/'..notes_str_localized..'}}' | |||
) | |||
ret = ret .. tab_name .. tab_content | ret = ret .. tab_name .. tab_content |
Revision as of 19:36, 14 October 2024
Documentation for this module may be created at Module:AbilityData/hero/doc
local ability_module = require("Module:AbilityData")
local dictionary_module = require("Module:Dictionary")
local lang_module = require("Module:Lang")
local util_module = require("Module:Utilities")
local heroes_data = mw.loadJsonData("Data:HeroData.json")
local p = {}
-- Write each of the hero's ability cards in a tab of a tabber
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_en = ability_data["Name"]
local ability_name_localized = lang_module.get_string(ability_key)
local notes_str_localized = dictionary_module.translate('Notes', nil, '')
local tab_name = "|-|(" .. ability_num .. ") " .. ability_name_en .. "="
--Determine tab content
local tab_content = "<i>" .. dictionary_module.translate_embed(
'TranscludedNotesFrom',
'https://en.wikipedia.org/wiki/Help:Transclusion',
'[[User:Sur/'..ability_name_localized..'/'..notes_str_localized..']]',
'https://deadlocked.wiki/index.php?title=User:Sur/'..util_module.url_encode(ability_name_localized)..'/'..notes_str_localized..'&action=edit'
) .. "</i>\n"
local tab_content = tab_content .. ability_module.get_ability_card_from_key(
hero_key,
ability_num,
'true',
'{{User:Sur/'..ability_name_localized..'/'..notes_str_localized..'}}'
)
ret = ret .. tab_name .. tab_content
end
ret = "<tabber>" .. ret .. "</tabber>"
return frame:preprocess(ret)
end
return p