Line 680: |
Line 680: |
| | | |
| Formatting.format_boolean_short = Formatting:create_formatter({ | | Formatting.format_boolean_short = Formatting:create_formatter({ |
− | [true] = "✔", -- HEAVY CHECK MARK | + | [true] = "✔️", -- HEAVY CHECK MARK |
− | [false] = "✘", -- HEAVY BALLOT X | + | [false] = "❌", -- HEAVY BALLOT X |
| }) | | }) |
| | | |
Line 693: |
Line 693: |
| shelling_accuracy = "Accuracy", | | shelling_accuracy = "Accuracy", |
| evasion = "Evasion", | | evasion = "Evasion", |
− | los = "LOS", | + | los = "LoS", |
| speed = "Speed", | | speed = "Speed", |
| luck = "Luck", | | luck = "Luck", |
Line 782: |
Line 782: |
| | | |
| Formatting.format_equipment_compatibility = Formatting:create_formatter({ | | Formatting.format_equipment_compatibility = Formatting:create_formatter({ |
− | [0] = "whitesmoke", | + | [0] = "whitesmoke", -- false |
− | [1] = "#73ff4d", | + | [1] = "#73ff4d", -- true |
− | [2] = "#ffff40", | + | [2] = "#ffff40", -- only |
| + | [3] = "#ddffbb", -- except |
| }, "transparent") | | }, "transparent") |
| | | |
Line 814: |
Line 815: |
| | | |
| function Formatting:format_ship_compatibility(compatibility_table) | | function Formatting:format_ship_compatibility(compatibility_table) |
− | if compatibility_table[3] == compatibility_table[4] then | + | --[=[ if compatibility_table[3] == compatibility_table[4] then |
| compatibility_table[3] = {value = compatibility_table[3], code = "CL(T)"} | | compatibility_table[3] = {value = compatibility_table[3], code = "CL(T)"} |
| compatibility_table[4] = false | | compatibility_table[4] = false |
Line 822: |
Line 823: |
| compatibility_table[6] = false | | compatibility_table[6] = false |
| end | | end |
− | if compatibility_table[18] == compatibility_table[11] then | + | if compatibility_table[11] == compatibility_table[18] then |
| compatibility_table[18] = false | | compatibility_table[18] = false |
− | end
| + | if compatibility_table[7] == compatibility_table[11] then |
− | if compatibility_table[7] == compatibility_table[11] then
| + | compatibility_table[7] = false |
− | compatibility_table[7] = false
| + | compatibility_table[11] = {value = compatibility_table[11], code = "CV(L/B)"} |
− | compatibility_table[11] = {value = compatibility_table[11], code = "CV(L)"}
| + | else compatibility_table[11] = {value = compatibility_table[11], code = "CV(B)"} |
| + | end |
| end | | end |
| if compatibility_table[9] == compatibility_table[10] then | | if compatibility_table[9] == compatibility_table[10] then |
Line 836: |
Line 838: |
| compatibility_table[13] = {value = compatibility_table[13], code = "SS(V)"} | | compatibility_table[13] = {value = compatibility_table[13], code = "SS(V)"} |
| compatibility_table[14] = false | | compatibility_table[14] = false |
− | end | + | end]=]-- |
| compatibility_table[12] = false | | compatibility_table[12] = false |
| compatibility_table[15] = false | | compatibility_table[15] = false |
| local compatible = {} | | local compatible = {} |
| local incompatible = {} | | local incompatible = {} |
− | for ship_type, compatibility_value in ipairs(compatibility_table) do | + | local complex = false |
− | local code = Formatting:format_ship_code(ship_type) | + | for ship_type, value in ipairs(compatibility_table) do |
− | if type(compatibility_value) == "table" then | + | local ship_code = Formatting:format_ship_code(ship_type) |
− | code = compatibility_value.code
| + | local note = type(value) == "table" and value.note |
− | compatibility_value = compatibility_value.value
| + | value = type(value) == "table" and value.value or value |
− | end
| + | if value == 0 then |
− | if compatibility_value == 0 then | + | table.insert(incompatible, ship_code) |
− | table.insert(incompatible, code) | + | elseif value == 1 then |
− | elseif compatibility_value == 1 then | + | table.insert(compatible, ship_code) |
− | table.insert(compatible, code) | + | elseif value == 2 or value == 3 then |
− | elseif compatibility_value == 2 then | + | complex = true |
− | table.insert(compatible, code) | + | table.insert(compatible, string.format("%s (%s)", ship_code, note)) |
− | table.insert(incompatible, format{self._excluding_exception_template, ship_type = Formatting:format_ship_code(ship_type), exception = code})
| |
| end | | end |
| + | end |
| + | if complex then |
| + | return table.concat(compatible, ", ") |
| + | end |
| + | if #incompatible == 0 then |
| + | return self._all |
| end | | end |
| if #incompatible < 5 then | | if #incompatible < 5 then |
− | if #incompatible == 0 then
| |
− | return self._all
| |
− | end
| |
| return self._all_except .. table.concat(incompatible, ", ") | | return self._all_except .. table.concat(incompatible, ", ") |
− | else
| |
− | return table.concat(compatible, ", ")
| |
| end | | end |
| + | return table.concat(compatible, ", ") |
| end | | end |
| | | |
Line 879: |
Line 882: |
| }) | | }) |
| | | |
| + | --[=[ TODO: use something else, e.g. merge EquipmentTypes and EquipmentTypesPlural and use them in EquipmentInfoKai |
| local equipment_types = { | | local equipment_types = { |
| [3] = { | | [3] = { |
Line 890: |
Line 894: |
| [39] = { | | [39] = { |
| [48] = { | | [48] = { |
− | -- [38] = "Interceptor", | + | [38] = "Interceptor", |
| } | | } |
| } | | } |
Line 915: |
Line 919: |
| return type_name | | return type_name |
| end | | end |
| + | ]=]-- |
| | | |
| return Formatting | | return Formatting |