Module:Layer DisplayTable
Jump to navigation
Jump to search
Documentation for this module may be created at Module:Layer DisplayTable/doc
local p = {}
local Layer = mw.loadData( 'Module:Layer Database2' )
function p.main(frame)
local count = 0
if (frame.args["tabletype"] == "bst") then
-- Don't use rowspan="2" for any non-stat column
-- The sorting button sill not show up and it will mess up the sorting of stat collumns.
-- If somehow, you can fix that bug, then go ahead and use the rowspan="2".
local result =
"{|class = \"mw-datatable sortable\" style=\"width:100%;text-align:center;border-style:none;\"\n"..
"! style=\"width:15%;border-style:none;background:none !important;\" | \n"..
"! style=\"width:75px;border-style:none;background:none !important;\" | \n"..
"! style=\"width:11%;border-style:none;background:none !important;\" | \n"..
"! style=\"width:11%;border-style:none;background:none !important;\" | \n"..
"! style=\"width:25%\" colspan =\"9\" | Base Stats \n"..
"|-\n"..
"! Character || Img || Type || Wep. || HP || ATK || DEF || HIT || SPD || MATK || MDEF || RCV || LUK\n"
for key,value in pairs(Layer) do
local i = 0
for _ in pairs(frame.args) do
i = i + 1
if (value["rarity"] == "A" and (frame.args[i] == "All")) then
count = count + 1
result = result..
"|-style=\"border-left: 2px solid grey;\"\n "..
"| [["..value["character"].."]]".."\n"..
"| style=\"padding:0px\" | [[File:"..value["character"].."_"..value["rarity"].."_Portrait.png|link=("..value["title"]..")_"..value["character"].."|75px]]".."\n"..
"| "..value["type"].."\n"..
"| [[File:Weapon_"..value["weapon"]..".png|25px]]\n"..
"| data-sort-type=\"number\" | "..value["hp_base"].."\n"..
"| data-sort-type=\"number\" | "..value["atk_base"].."\n"..
"| data-sort-type=\"number\" | "..value["def_base"].."\n"..
"| data-sort-type=\"number\" | "..value["hit_base"].."\n"..
"| data-sort-type=\"number\" | "..value["spd_base"].."\n"..
"| data-sort-type=\"number\" | "..value["matk_base"].."\n"..
"| data-sort-type=\"number\" | "..value["mdef_base"].."\n"..
"| data-sort-type=\"number\" | "..value["rcv_base"].."\n"..
"| data-sort-type=\"number\" | "..value["luk_base"].."\n"
end
end
end
if (frame.args["header"] == "yes") then
result = result.."|+ '''"..count.." Layers'''\n|}\n"
else
result = result.."|}\n"
end
return result
elseif (frame.args["tabletype"] == "mul") then
-- Don't use rowspan="2" for any non-stat column
-- The sorting button sill not show up and it will mess up the sorting of stat collumns.
-- If somehow, you can fix that bug, then go ahead and use the rowspan="2".
local result =
"{|class = \"mw-datatable sortable\" style=\"width:100%;text-align:center;border-style:none;\"\n"..
"! style=\"width:15%;border-style:none;background:none !important;\" | \n"..
"! style=\"width:15%;border-style:none;background:none !important;\" | \n"..
"! style=\"width:75px;border-style:none;background:none !important;\" | \n"..
"! style=\"width:11%;border-style:none;background:none !important;\" | \n "..
"! style=\"width:11%;border-style:none;background:none !important;\" | \n"..
"! style=\"width:11%;border-style:none;background:none !important;\" | \n"..
"! style=\"width:25%\" colspan =\"9\" | Layer Multipliers \n"..
"|-\n"..
"! Character || Img || Type || Wep. || HP || ATK || DEF || HIT || SPD || MATK || MDEF || RCV || LUK\n"
for key,value in pairs(Layer) do
local i = 0
for _ in pairs(frame.args) do
i = i + 1
if (frame.args[i] == "All") then
count = count + 1
result = result..
"|-style=\"border-left: 2px solid grey;\"\n "..
"| [[("..value["title"]..") "..value["character"].."|("..value["title"]..")]]".."\n"..
"| [["..value["character"].."]]".."\n"..
"| style=\"padding:0px\" | [[File:"..value["character"].."_"..value["rarity"].."_Portrait.png|link=("..value["title"]..")_"..value["character"].."|75px]]".."\n"..
"| [[File:Rarity_"..value["rarity"]..".png|30px]]\n"..
"| "..value["type"].."\n"..
"| [[File:Weapon_"..value["weapon"]..".png|25px]]\n"..
"| data-sort-type=\"number\" | "..value["hp_base"].."\n"..
"| data-sort-type=\"number\" | "..value["atk_mul"].."%\n"..
"| data-sort-type=\"number\" | "..value["def_mul"].."%\n"..
"| data-sort-type=\"number\" | "..value["hit_mul"].."%\n"..
"| data-sort-type=\"number\" | "..value["spd_mul"].."%\n"..
"| data-sort-type=\"number\" | "..value["matk_mul"].."%\n"..
"| data-sort-type=\"number\" | "..value["mdef_mul"].."%\n"..
"| data-sort-type=\"number\" | "..value["rcv_mul"].."%\n"..
"| data-sort-type=\"number\" | "..value["luk_mul"].."%\n"
end
end
end
if (frame.args["header"] == "yes") then
result = result.."|+ '''"..count.." Layers'''\n|}\n"
else
result = result.."|}\n"
end
return result
elseif (frame.args["tabletype"] == "both") then
-- Don't use rowspan="2" for any non-stat column
-- The sorting button sill not show up and it will mess up the sorting of stat collumns.
-- If somehow, you can fix that bug, then go ahead and use the rowspan="2".
local result =
"{|class = \"mw-datatable sortable\" style=\"width:100%;text-align:center;border-style:none;\"\n"..
"! style=\"width:15%;border-style:none;background:none !important;\" | \n"..
"! style=\"width:15%;border-style:none;background:none !important;\" | \n"..
"! style=\"width:75px;border-style:none;background:none !important;\" | \n"..
"! style=\"width:11%;border-style:none;background:none !important;\" | \n "..
"! style=\"width:11%;border-style:none;background:none !important;\" | \n"..
"! style=\"width:11%;border-style:none;background:none !important;\" | \n"..
"! style=\"width:25%\" colspan =\"9\" | Total Base Stats \n"..
"|-\n"..
"! Layer || Character || Img || Rank || Type || Wep. || HP || ATK || DEF || HIT || SPD || MATK || MDEF || RCV || LUK\n"
for key,value in pairs(Layer) do
local i = 0
for _ in pairs(frame.args) do
i = i + 1
if (frame.args[i] == "All") then
count = count + 1
result = result..
"|-style=\"border-left: 2px solid grey;\"\n "..
"| [[("..value["title"]..") "..value["character"].."|("..value["title"]..")]]".."\n"..
"| [["..value["character"].."]]".."\n"..
"| style=\"padding:0px\" | [[File:"..value["character"].."_"..value["rarity"].."_Portrait.png|link=("..value["title"]..")_"..value["character"].."|75px]]".."\n"..
"| [[File:Rarity_"..value["rarity"]..".png|30px]]\n"..
"| "..value["type"].."\n"..
"| [[File:Weapon_"..value["weapon"]..".png|25px]]\n"..
"| data-sort-type=\"number\" | "..value["hp_base"].."\n"..
"| data-sort-type=\"number\" | "..math.floor(value["atk_base"]*(value["atk_mul"]/100)).."\n"..
"| data-sort-type=\"number\" | "..math.floor(value["def_base"]*(value["def_mul"]/100)).."\n"..
"| data-sort-type=\"number\" | "..math.floor(value["hit_base"]*(value["hit_mul"]/100)).."\n"..
"| data-sort-type=\"number\" | "..math.floor(value["spd_base"]*(value["spd_mul"]/100)).."\n"..
"| data-sort-type=\"number\" | "..math.floor(value["matk_base"]*(value["matk_mul"]/100)).."\n"..
"| data-sort-type=\"number\" | "..math.floor(value["mdef_base"]*(value["mdef_mul"]/100)).."\n"..
"| data-sort-type=\"number\" | "..math.floor(value["rcv_base"]*(value["rcv_mul"]/100)).."\n"..
"| data-sort-type=\"number\" | "..math.floor(value["luk_base"]*(value["luk_mul"]/100)).."\n"
end
end
end
if (frame.args["header"] == "yes") then
result = result.."|+ '''"..count.." Layers'''\n|}\n"
else
result = result.."|}\n"
end
return result
end
end
return p