Module:SoulUnlock: Difference between revisionsGive feedback
Jump to navigation
Jump to search
m RequiredGold > RequiredSouls |
m write_table init |
||
| Line 98: | Line 98: | ||
last_value = accumulated_data[last_index][soul_unlock_key] | last_value = accumulated_data[last_index][soul_unlock_key] | ||
return last_value | return last_value | ||
end | |||
function to_tick(bool) | |||
if bool == nil or not bool then | |||
return '' | |||
else | |||
return '{{Tick}}' | |||
end | |||
end | |||
function p.write_table(frame) | |||
local debug_mode = frame.args['debug_mode'] | |||
if debug_mode == nil then debug_mode = false end | |||
local ret = '' | |||
-- Add header record, will be soul + each other record twice | |||
local required_souls_header = '<th>' .. p.localize('RequiredSouls') .. '</th>' | |||
local non_souls_tr = '' | |||
for su_key, lang_key in pairs(localization_map) do | |||
if su_key ~= 'RequiredSouls' then | |||
non_souls_tr = non_souls_tr .. '<th>' .. p.localize(su_key) .. '</th>' | |||
end | |||
end | |||
local tr = '<tr>' .. required_souls_header .. non_souls_tr .. non_souls_tr .. '</tr>' | |||
ret = ret .. tr | |||
-- Add data agg_records | |||
for i, agg_record in ipairs(accumulated_data) do | |||
local tr = '' | |||
-- Retrieve souls agg_record | |||
local required_souls = agg_record['RequiredSouls'] | |||
local souls_str = '{{Souls|' .. required_souls .. '}}' | |||
tr = tr .. '<td>' .. souls_str .. '</td>' | |||
-- Retrieve non-aggregate agg_record | |||
local non_agg_record = soul_unlocks_data[i] | |||
for su_key, lang_key in pairs(localization_map) do | |||
if su_key ~= 'RequiredSouls' then | |||
local value = to_tick(non_agg_record[su_key]) | |||
td = '<td>' .. value .. '</td>' | |||
tr = tr .. td | |||
end | |||
end | |||
-- Retrieve aggregate agg_record | |||
for su_key, lang_key in pairs(localization_map) do | |||
if su_key ~= 'RequiredSouls' then | |||
local value = agg_record[su_key] | |||
-- Display blank instead of nil if missing | |||
if value == nil then value = '' end | |||
td = '<td>' .. value .. '</td>' | |||
tr = tr .. td | |||
end | |||
end | |||
ret = ret .. '<tr>' .. tr .. '</tr>' | |||
end | |||
ret = '<table class="wikitable">' .. ret .. '</table>' | |||
if debug_mode then | |||
return ret | |||
else | |||
return frame:preprocess(ret) | |||
end | |||
end | end | ||
return p | return p | ||