Line 1: |
Line 1: |
− | return { returnShipDrop = function() return '' end } | + | local p = {} |
| + | |
| + | -- This disgusting module for shipdrops made by |
| + | -- Remi_Scarlet |
| + | -- Please at least give some mention of credit if you want to modify/reuse/whatever. I don't actually care but it'd be nice of you. |
| + | -- I fucking hate lua. |
| + | |
| + | function p.formatShipDropTable(tableInfo) |
| + | local order = {"1","2","3","4","5","6"} |
| + | local worldOrder = {"World1", "World2", "World3", "World4", "World5", "World6"} |
| + | local html = "" |
| + | html = html .. "<tr><td>[[" .. tableInfo["ShipName"] .. "]]</td>" |
| + | local style = {["1"] = 'background-color:#8ac', |
| + | ["2"] = 'background-color:#ace', |
| + | ["3"] = 'background-color:#0ff', |
| + | ["4"] = 'background-color:#bbb', |
| + | ["5"] = 'background-color:#fc0', |
| + | ["6"] = 'background-color:#ffaaff', |
| + | ["7"] = 'background-color:#ff55ff', |
| + | ["8"] = 'background-color:#aa00aa; color:#fff'} |
| + | local rarity = tableInfo["Rarity"] |
| + | html = html .. "<td style=\"" .. style[rarity] .. ";\">" .. rarity .. "</td>" |
| + | html = html .. "<td>" .. tableInfo["No."] .. "</td>" |
| + | for i,world in pairs(worldOrder) do |
| + | html = html .. "<td style='borders:none;background-color: #dddcb1'></td>" |
| + | for ii,map in pairs(order) do |
| + | local val = tableInfo[world][map] |
| + | if val ~= nil then |
| + | html = html .. "<td style=\"" .. val["style"] .. "\">" .. val["drop"] .. "</td>" |
| + | end |
| + | end |
| + | end |
| + | html = html .. "<td style='borders:none;background-color: #dddcb1'></td>" |
| + | html = html .. "<td>" .. tableInfo["Remarks"] .. "</td>" |
| + | html = html .. "</tr>" |
| + | return html |
| + | end |
| + | |
| + | function p.returnShipDrop(frame) |
| + | local dropList = require('Module:Data/Drop') |
| + | |
| + | -- Lazy. Will modify later to be more like Infobox module |
| + | -- Please don't shoot me. I want to kill myself at how ugly this is, too. dw. |
| + | local html = "<ol><li>Symbols<ul><li>X = Obtainable <b>only</b> in boss nodes.</li><li>O = Obtainable in any node beside the boss node.</li></ul></li><li>Drops were referenced from both [http://wikiwiki.jp/kancolle/?%B4%CF%CC%BC%A5%C9%A5%ED%A5%C3%A5%D7%B5%D5%B0%FA%A4%AD Kancolle Japanese Wikiwiki] and [http://www56.atwiki.jp/kancolle/pages/26.html Kancolle Japanese @WIki].</li><li>Background Coloring<ul><li>Yellow Background means the drop is cited at only one of the sources.</li><li>Green Background means the drop is cited by both sources.</li><li>No Background means ship in question isn't rare enough to warrant color coding (you can add the background yourself if you want).</li></ul></li><li>Unless specified, all ships are obtainable through crafting.<ul><li>Ships that are only craftable through Large Ship Construction (LSC) will have notes to specify (<i>LSC Crafting</i>).</li></ul></li></ol>" |
| + | html = html .. '<div style="overflow-x: auto;">' |
| + | html = html .. '<table class="wikitable sortable" style="text-align: center; width:100%; margin-bottom: 0;">' |
| + | html = html .. '<tr><th colspan="1" rowspan="2" style="width:10%;"> Ship Name</th><th colspan="1" rowspan="2" style="width:2%;"> Rarity</th><th colspan="1" rowspan="2" style="width:3%;"> No.</th><th class="unsortable" colspan="1" rowspan="167" style="background-color: #dddcb1; width:.8%;"></th>' |
| + | html = html .. '<th colspan="6" rowspan="1" style="width:12.5%;"> [[World 1]]</th><th class="unsortable" colspan="1" rowspan="167" style="background-color: #dddcb1; width:.8%;"></th><th colspan="5" rowspan="1" style="width:12.5%;"> [[World 2]]</th><th class="unsortable" colspan="1" rowspan="167" style="background-color: #dddcb1; width:.8%;"></th><th colspan="5" rowspan="1" style="width:12.5%;"> [[World 3]]</th><th class="unsortable" colspan="1" rowspan="167" style="background-color: #dddcb1; width:.8%;"></th><th colspan="5" rowspan="1" style="width:11%;"> [[World 4]]</th><th class="unsortable" colspan="1" rowspan="167" style="background-color: #dddcb1; width:.8%;"></th><th colspan="5" rowspan="1" style="width:12.5%;"> [[World 5]]</th><th class="unsortable" colspan="1" rowspan="167" style="background-color: #dddcb1; width:.8%;"></th><th colspan="5" rowspan="1" style="width:10%;"> [[World 6]]</th><th class="unsortable" colspan="1" rowspan="167" style="background-color: #dddcb1; width:.8%;"></th><th colspan="1" rowspan="2" style="width:14%;"> Remarks</th></tr>' |
| + | html = html .. '<tr><th style="width:2.5%;"> [[World_1#Drops | 1]]</th><th style="width:2.5%;"> [[World_1#Drops_2 | 2]]</th><th style="width:2.5%;"> [[World_1#Drops_3 | 3]]</th><th style="width:2.5%;"> [[World_1#Drops_4 | 4]]</th><th style="width:2.5%;"> [[World_1#Drops_5 | 5]]</th><th style="width:2.5%;"> [[World_1#Drops_6 | 6]]</th>' |
| + | html = html .. '<th style="width:2.5%;"> [[World_2#Drops | 1]]</th><th style="width:2.5%;"> [[World_2#Drops_2 | 2]]</th><th style="width:2.5%;"> [[World_2#Drops_3 | 3]]</th><th style="width:2.5%;"> [[World_2#Drops_4 | 4]]</th><th style="width:2.5%;"> [[World_2#Drops_5 | 5]]</th>' |
| + | html = html .. '<th style="width:2.5%;"> [[World_3#Drops | 1]]</th><th style="width:2.5%;"> [[World_3#Drops_2 | 2]]</th><th style="width:2.5%;"> [[World_3#Drops_3 | 3]]</th><th style="width:2.5%;"> [[World_3#Drops_4 | 4]]</th><th style="width:2.5%;"> [[World_3#Drops_5 | 5]]</th>' |
| + | html = html .. '<th style="width:2.5%;"> [[World_4#Drops | 1]]</th><th style="width:2.5%;"> [[World_4#Drops_2 | 2]]</th><th style="width:2.5%;"> [[World_4#Drops_3 | 3]]</th><th style="width:2.5%;"> [[World_4#Drops_4 | 4]]</th><th style="width:2.5%;"> [[World_4#Drops_5 | 5]]</th>' |
| + | html = html .. '<th style="width:2.5%;"> [[World_5#Drops | 1]]</th><th style="width:2.5%;"> [[World_5#Drops_2 | 2]]</th><th style="width:2.5%;"> [[World_5#Drops_3 | 3]]</th><th style="width:2.5%;"> [[World_5#Drops_4 | 4]]</th><th style="width:2.5%;"> [[World_5#Drops_5 | 5]]</th>' |
| + | html = html .. '<th style="width:2.5%;"> [[World_6#Drops | 1]]</th><th style="width:2.5%;"> [[World_6#Drops_2 | 2]]</th><th style="width:2.5%;"> [[World_6#Drops_3 | 3]]</th><th style="width:2.5%;"> [[World_6#Drops_4 | 4]]</th><th style="width:2.5%;"> [[World_6#Drops_5 | 5]]</th></tr>' |
| + | if frame.args[1] ~= "all" then |
| + | for i,shipName in pairs(frame.args) do |
| + | html = html .. p.formatShipDropTable(dropList[shipName]) |
| + | end |
| + | end |
| + | if frame.args[1] == "all" then |
| + | local ordered_keys = {} |
| + | for k in pairs(dropList) do |
| + | table.insert(ordered_keys, k) |
| + | end |
| + | table.sort(ordered_keys) |
| + | for i = 1, #ordered_keys do |
| + | local shipName = ordered_keys[i] |
| + | --return shipName |
| + | html = html .. p.formatShipDropTable(dropList[shipName]) |
| + | end |
| + | end |
| + | html = html .. "</table>" |
| + | html = html .. '</div>' |
| + | return html |
| + | end |
| + | |
| + | return p |