Editing Module:MonsterVariantsTable
Jump to navigation
Jump to search
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 19: | Line 19: | ||
function p._main(variant) |
function p._main(variant) |
||
local results = mw.smw.ask{ |
|||
('[[Variant of::%s]]'):format(variant), |
|||
'?Image#64px;x64px = img', |
|||
'?Name = name', |
|||
'?= page', |
|||
'?Unlock_level = unlock_lvl', |
|||
'?Unlock profession # = unlock_profession', |
|||
'?Profession_Level_A = combat', |
|||
'?Profession A # = profession', |
|||
'?Version default = default', |
|||
'?Variant name = variant', |
|||
'?Version anchor = version', |
|||
'?-Has subobject#- = subobject', |
|||
'sort=Profession Level A', |
|||
'order=asc' |
|||
} |
|||
⚫ | |||
mw.logObject(results) |
|||
if results == nil or results[1] == nil then |
|||
return ":''No variants found for "..variant.."''" |
return ":''No variants found for "..variant.."''" |
||
end |
end |
||
local filtered = p.filter_versions(results) |
|||
local sorted = p.sort_by_combat(filtered) |
|||
return p.create_table(sorted) |
|||
end |
end |
||
Line 50: | Line 50: | ||
for _, entry in ipairs(data) do |
for _, entry in ipairs(data) do |
||
if entry.default then |
if entry.default then |
||
entry.page = ('[[%s|%s]]'):format(entry. |
entry.page = ('[[%s|%s]]'):format(entry.subobject, entry.name) |
||
table.insert(filtered, entry) |
table.insert(filtered, entry) |
||
elseif entry.version == nil then |
elseif entry.version == nil then |
||
Line 60: | Line 60: | ||
function p.sort_by_combat(data) |
function p.sort_by_combat(data) |
||
table.sort(data, function(a, b) |
|||
-- Determine combat values |
|||
local combatA = a.combat or a.unlock_lvl or math.huge |
|||
local combatB = b.combat or b.unlock_lvl or math.huge |
|||
-- Sort in ascending order |
|||
return combatA < combatB |
|||
end) |
|||
return data |
|||
end |
end |
||
Line 73: | Line 73: | ||
local edit = editbutton("'''?''' (edit)", entry.name) |
local edit = editbutton("'''?''' (edit)", entry.name) |
||
tbl:tr() |
tbl:tr() |
||
:td{ entry.img, addClass = 'plinkt-image |
:td{ entry.img, addClass = 'plinkt-image' }:done() |
||
:td{ entry.page, addClass = 'plinkt-link |
:td{ entry.page, addClass = 'plinkt-link' }:done() |
||
:td() |
:td() |
||
:IF(entry.unlock_profession) |
:IF(entry.unlock_profession) |
||
Line 87: | Line 87: | ||
:done() |
:done() |
||
:done() |
:done() |
||
⚫ | |||
return tbl |
return tbl |
||
end |
end |
||
Line 99: | Line 99: | ||
:th('Combat level'):done() |
:th('Combat level'):done() |
||
:done() |
:done() |
||
for _, entry in ipairs(results) do |
for _, entry in ipairs(results) do |
||
out = p.insert_row(out, entry) |
out = p.insert_row(out, entry) |
||
end |
end |
||
return out |
return out |
||
end |
end |