Editing Module:AbilityData/heroGive feedback
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
| Latest revision | Your text | ||
| Line 3: | Line 3: | ||
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 heroes_data = mw.loadJsonData("Data:HeroData.json") | local heroes_data = mw.loadJsonData("Data:HeroData.json") | ||
local p = {} | 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 notes link | |||
local notes_source_page | |||
local notes_untranslated_msg = '' | |||
-- if either "Notes" string or ability_name is not able to be localized, | |||
-- use an english link instead, as transcluded content relies on it | |||
if (ability_name_localized == '') or (notes_str_localized == '') then | |||
notes_source_page = ability_name_en .. '/' .. dictionary_module.translate('Notes', 'en', '') | |||
if notes_str_localized=='' then | |||
notes_untranslated_msg = dictionary_module.translate('NotesNeedsTranslation') .. ' [[Template:Translate]]' .. "<br>" | |||
end | |||
else | |||
notes_source_page = ability_name_localized .. '/' .. notes_str_localized | |||
end | |||
notes_source_page = "User:Sur/" .. notes_source_page --temp | |||
--Determine tab content | |||
local tab_content = "<i>" .. dictionary_module.translate_embed( | |||
'TranscludedNotesFrom', | |||
'https://en.wikipedia.org/wiki/Help:Transclusion', | |||
'[['..notes_source_page..']]', | |||
'https://deadlocked.wiki/index.php?title='..util_module.url_encode(notes_source_page)..'&action=edit' | |||
) .. "</i><br>" .. notes_untranslated_msg | |||
local tab_content = tab_content .. ability_module.get_ability_card_from_key( | |||
hero_key, | |||
ability_num, | |||
'true', | |||
'{{'..notes_source_page..'}}' | |||
) | |||
ret = ret .. tab_name .. tab_content | |||
end | |||
ret = "<tabber>" .. ret .. "</tabber>" | |||
return frame:preprocess(ret) | |||
end | |||
--collapsible list | --collapsible list | ||
function p. | function p.write_hero_abilities2(frame) | ||
local hero_key = frame.args[1] | local hero_key = frame.args[1] | ||
| Line 21: | Line 74: | ||
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_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 tab_name = "<h3>" .. ability_name_localized .. "</h3>\n" | local tab_name = "<h3>" .. ability_name_localized .. "</h3>\n" | ||
local notes_source_page = | |||
--Determine notes link | |||
local notes_source_page | |||
local notes_untranslated_msg = '' | |||
-- if either "Notes" string or ability_name is not able to be localized, | |||
-- use an english link instead, as transcluded content relies on it | |||
if (ability_name_localized == '') or (notes_str_localized == '') then | |||
notes_source_page = ability_name_en .. '/' .. dictionary_module.translate('Notes', 'en', '') | |||
if notes_str_localized=='' then | |||
notes_untranslated_msg = '<br>' .. dictionary_module.translate('NotesNeedsTranslation') .. ' [[Template:Translate]]' .. "<br>" | |||
end | |||
else | |||
notes_source_page = ability_name_localized .. '/' .. notes_str_localized | |||
end | |||
notes_source_page = "User:Sur/" .. notes_source_page --temp | |||
--Determine tab content | --Determine tab content | ||
| Line 31: | Line 100: | ||
ability_num, | ability_num, | ||
'true', | 'true', | ||
frame:preprocess(notes_content) | frame:preprocess(notes_content) | ||
) | ) | ||