Line 1: |
Line 1: |
| local EliteShipsKai = require('Module:EliteShipsKai') | | local EliteShipsKai = require('Module:EliteShipsKai') |
| + | local Formatting = require('Module:Formatting') |
| + | |
| + | local split = require('Module:Core').split |
| | | |
| local EliteShipsKaiSortable = EliteShipsKai{ | | local EliteShipsKaiSortable = EliteShipsKai{ |
| _table_start = [[{| class="wikitable sortable typography-xl-optout"]], | | _table_start = [[{| class="wikitable sortable typography-xl-optout"]], |
| + | _header_template = [[!No. |
| + | !Name |
| + | !Class |
| + | ! style="white-space:nowrap;" | ${remodel} |
| + | ! style="width: 24px; text-align: center; vertical-align: middle; background-color: lightcoral;" | ${firepower} |
| + | ! style="width: 24px; text-align: center; vertical-align: middle; background-color: lightskyblue;" | ${torpedo} |
| + | ${night_battle_header_cell}! style="width: 24px; text-align: center; vertical-align: middle; background-color: sandybrown;" | ${aa} |
| + | ! style="width: 24px; text-align: center; vertical-align: middle; background-color: #9C8FEE;" | ${asw} |
| + | ! style="width: 24px; text-align: center; vertical-align: middle; background-color: aquamarine;" | ${los} |
| + | ! style="width: 24px; text-align: center; vertical-align: middle; background-color: palegreen;" | ${luck} |
| + | ! style="width: 24px; text-align: center; vertical-align: middle; background-color: palegreen;" | ${luck}+ |
| + | ! style="width: 24px; text-align: center; vertical-align: middle; background-color: pink;" | ${hp} |
| + | ! style="width: 24px; text-align: center; vertical-align: middle; background-color: #F2E279;" | ${armor} |
| + | ! style="width: 24px; text-align: center; vertical-align: middle; background-color: violet;" | ${evasion} |
| + | ! style="width: 24px; text-align: center; vertical-align: middle; background-color: #72E6E6;" | ${speed} |
| + | ${range_header_cell}! style="width: 24px; text-align: center; vertical-align: middle; background-color: silver;" data-sort-type="number" | ${aircraft} |
| + | ! style="width: 24px; text-align: center; vertical-align: middle; background-color: forestgreen;" | ${fuel} |
| + | ! style="width: 24px; text-align: center; vertical-align: middle; background-color: darkgoldenrod;" | ${ammo} |
| + | ! class="toggle-target-eliteshipskai-detail" style="text-align:left;" | Notes]], |
| + | _column_cell_templates = { |
| + | id = [[| colspan="${colspan}" rowspan="${rowspan}" style="text-align: ${text_align}; background-color: ${bg_color}; padding:3px;${extra_style}" |${values.value}]], |
| + | notes = [[| class="${class}" colspan="${colspan}" rowspan="${rowspan}" style="text-align: ${text_align}; background-color: ${bg_color}; padding:3px;" |<small>${values.value}</small>]], |
| + | ["!"] = [[| class="${class}" colspan="${colspan}" rowspan="${rowspan}" style="text-align: ${text_align}; background-color: ${bg_color}; padding:3px;${extra_style}" |${values.value}]] |
| + | }, |
| _base_columns = { --gets copied to self._columns in create_table_prep so we can mutate it. Don't mutate base_columns! | | _base_columns = { --gets copied to self._columns in create_table_prep so we can mutate it. Don't mutate base_columns! |
| "id", | | "id", |
Line 34: |
Line 61: |
| local luck_max = ship:luck_max() | | local luck_max = ship:luck_max() |
| return {values = {value = self:get_emphasis(luck_max, Formatting:format_stat(luck_max), self._args.luck_max_operator, self._args.luck_max_good)}, bg_color = self._transparent, text_align = self._center_align} | | return {values = {value = self:get_emphasis(luck_max, Formatting:format_stat(luck_max), self._args.luck_max_operator, self._args.luck_max_good)}, bg_color = self._transparent, text_align = self._center_align} |
| + | end |
| + | |
| + | function EliteShipsKaiSortable:create_table_prep() |
| + | self._columns = {} |
| + | for _, column in ipairs(self._base_columns) do |
| + | table.insert(self._columns, column) |
| + | end |
| + | if self._args.reference_type then |
| + | self._reference_types = {} |
| + | for _, reference_type in ipairs(split(self._args.reference_type, ',%s*')) do |
| + | self._reference_types[tonumber(reference_type)] = true |
| + | end |
| + | end |
| + | if self._args.night_battle then |
| + | table.insert(self._columns, 7, "night_battle") |
| + | end |
| + | if self._args.range then |
| + | table.insert(self._columns, self._args.night_battle and 17 or 16, "range") |
| + | end |
| end | | end |
| | | |