Toggle menu
517
2.5K
889
23.2K
Deadlock Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:HeroData/nav: Difference between revisions

From Deadlock Wiki
Sur (talk | contribs)
m default herolabs_text_size to blank
m Reverted edit by 149.28.42.29 (talk) to last revision by Sur
Tag: Rollback
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
local p = {}
local p = {}
local heroes_data = mw.loadJsonData("Data:HeroData.json")
local heroes_data = mw.loadJsonData("Data:HeroData.json")
local hero_release_module = require('Module:HeroData/release')
local lang_module = require('Module:Lang')
local lang_module = require('Module:Lang')


Line 10: Line 11:
local sticker_size = frame.args['sticker_size']
local sticker_size = frame.args['sticker_size']
local herolabs_text_size = frame.args['herolabs_text_size']
local herolabs_text_size = frame.args['herolabs_text_size']
local debug_mode = frame.args['debug_mode']
local lang_code = frame.args['lang_code']
if herolabs_text_size == nil then herolabs_text_size = '' end
-- Turn debug_mode from string to bool, default to false
if debug_mode == nil then
debug_mode = false
elseif debug_mode == 'true' then
debug_mode = true
elseif debug_mode == 'false' then
debug_mode = false
end


if in_herolabs ~= 'true' and in_herolabs ~= 'false' then
if in_herolabs ~= 'true' and in_herolabs ~= 'false' then
return 'in_herolabs must be either true or false as the first unnamed parameter'
return 'in_herolabs must be either true or false'
end
end
local subpage = ''
if lang_code ~= nil and lang_code ~= 'en' then subpage = '/' .. lang_code end
--Iterate heroes
--Iterate heroes
Line 23: Line 36:
-- if herolabs is requested, only needs to have herolabs=true
-- if herolabs is requested, only needs to have herolabs=true
-- otherwise, needs to be not disabled, in development, nd herolabs is nil or false
-- otherwise, needs to be not disabled, in development, nd herolabs is nil or false
this_in_herolabs = hero_data['InHeroLabs']
local this_hero_status = hero_release_module.get_hero_release_status(hero_key)
if this_in_herolabs == nil then this_in_herolabs = false end
if this_in_herolabs == nil then this_in_herolabs = false end
if ((in_herolabs == 'true' and this_in_herolabs) or
if ((in_herolabs == 'true' and this_hero_status == 'HeroLabs') or
(in_herolabs == 'false' and not hero_data['IsDisabled'] and not hero_data['InDevelopment'] and not this_in_herolabs)) then
(in_herolabs == 'false' and this_hero_status == 'Released')) then
local is_recommended = hero_data['IsRecommended']
local is_recommended = hero_data['IsRecommended']
Line 34: Line 48:
end
end
local hero_str = lang_module.get_string(hero_key) .. '|recommended=' .. tostring(is_recommended)
local sub_page_str = ''
local hero_str = '|name=' .. lang_module.get_string(hero_key, nil, 'en') .. '|link=' .. lang_module.get_string(hero_key, 'en') .. '|subpage=' .. subpage .. '|recommended=' .. tostring(is_recommended)
table.insert(heroes, hero_str)
table.insert(heroes, hero_str)
Line 47: Line 64:
local ret = ''
local ret = ''
for index, hero_name in ipairs(heroes) do
for index, hero_name in ipairs(heroes) do
ret = ret .. '{{Hero card2|name=' .. hero_name
ret = ret .. '{{Hero card2' .. hero_name
ret = ret .. '|text_size=' .. text_size
ret = ret .. '|text_size=' .. text_size
ret = ret .. '|herolabs=' .. in_herolabs
ret = ret .. '|herolabs=' .. in_herolabs
Line 59: Line 76:
ret = string.sub(ret, 1, -(string.len(' '))-1)
ret = string.sub(ret, 1, -(string.len(' '))-1)
return frame:preprocess(ret)
if debug_mode then
return ret
else -- evaluate wikitext if not in debug mode
return frame:preprocess(ret)
end
end
end
return p
return p