| Line 7: |
Line 7: |
| | local StatIcons = require('Module:Data/Asset') | | local StatIcons = require('Module:Data/Asset') |
| | local Iterator = require('Module:Iterator') | | local Iterator = require('Module:Iterator') |
| | + | local EquipInfo = require('Module:EquipmentInfoKai') |
| | | | |
| | local format = require('Module:Core').format | | local format = require('Module:Core').format |
| Line 25: |
Line 26: |
| | ! style="text-align:left;" | OASW | | ! style="text-align:left;" | OASW |
| | ! style="text-align:left;" | Opening Torpedo | | ! style="text-align:left;" | Opening Torpedo |
| − | ! style="text-align:left;" | Night Bombing]], | + | ! style="text-align:left;" | Night Bombing |
| | + | ! style="text-align:left;" | AACI]], |
| | _columns = { | | _columns = { |
| | "card", | | "card", |
| Line 42: |
Line 44: |
| | "otorp", | | "otorp", |
| | "nightbombing", | | "nightbombing", |
| | + | "aaci", |
| | }, | | }, |
| | _cell = [[|style="text-align:${text_align};background-color:${bg_color}"|${value}]], | | _cell = [[|style="text-align:${text_align};background-color:${bg_color}"|${value}]], |
| Line 197: |
Line 200: |
| | local value = {} | | local value = {} |
| | local attack_power, opening, day, night, uncertain = capabilities:asw_attack() | | local attack_power, opening, day, night, uncertain = capabilities:asw_attack() |
| − | table.insert(value, opening and "Yes" or "No") | + | local label = opening and "Yes" or "No" |
| | | | |
| − | return {value = table.concat(value, "<br/>"), bg_color = opening and "green" or self._transparent, text_align = self._start_align} | + | return {value = label, bg_color = opening and "green" or self._transparent, text_align = self._start_align} |
| | end | | end |
| | | | |
| Line 208: |
Line 211: |
| | for i = 1, ship:slots_length() do | | for i = 1, ship:slots_length() do |
| | local equipment, size, estimation = ship:slot(i) | | local equipment, size, estimation = ship:slot(i) |
| − | local icon, equipment_type, equipment_link
| |
| | if equipment then | | if equipment then |
| − | equipment_type = equipment:type()
| |
| | if ShipCapabilities._is_active_midget_submarine(equipment) then | | if ShipCapabilities._is_active_midget_submarine(equipment) then |
| | active_midget_submarine = true | | active_midget_submarine = true |
| Line 226: |
Line 227: |
| | can_otorp = true | | can_otorp = true |
| | end | | end |
| − | table.insert(roles, can_otorp and "Yes" or "No") | + | local label = can_otorp and "Yes" or "No" |
| | | | |
| − | return {value = table.concat(roles, ", "), bg_color = can_otorp and "green" or "self._transparent", text_align = self._start_align} | + | return {value = label, bg_color = can_otorp and "green" or "self._transparent", text_align = self._start_align} |
| | end | | end |
| | | | |
| Line 238: |
Line 239: |
| | can_night = true | | can_night = true |
| | end | | end |
| − | table.insert(roles, can_night and "Yes" or "No") | + | local label = can_night and "Yes" or "No" |
| | + | |
| | + | return {value = label, bg_color = can_night and "green" or "self._transparent", text_align = self._start_align} |
| | + | end |
| | + | |
| | + | function EnemyShipListKai:aaci(ship) |
| | + | local ha_aafd, cd_mg, other_mg, air_radar = 0, 0, 0, 0 |
| | + | |
| | + | for i = 1, ship:slots_length() do |
| | + | local equipment, size, estimation = ship:slot(i) |
| | + | local equipment_type |
| | + | if equipment then |
| | + | equipment_type = equipment:type() |
| | + | |
| | + | if ShipCapabilities:_is_main_gun(equipment) or ShipCapabilities:_is_secondary_gun(equipment) then |
| | + | if equipment:is_aafd() then |
| | + | ha_aafd = ha_aafd + 1 |
| | + | end |
| | + | elseif ShipCapabilities:_is_radar(equipment) then |
| | + | if equipment:aa() and equipment:aa() > 2 then |
| | + | air_radar = air_radar + 1 |
| | + | end |
| | + | elseif equipment_type == 21 then --AA guns |
| | + | if equipment:aa() >= 9 then |
| | + | cd_mg = cd_mg + 1 |
| | + | elseif equipment:aa() >= 3 then |
| | + | other_mg = other_mg + 1 |
| | + | end |
| | + | end |
| | + | end |
| | + | end |
| | + | |
| | + | local can_aaci = true |
| | + | local api = nil |
| | + | |
| | + | if ha_aafd >= 2 and air_radar >= 1 then |
| | + | api = 5 |
| | + | elseif ha_aafd >= 1 and air_radar >= 1 then |
| | + | api = 8 |
| | + | elseif cd_mg >= 1 and other_mg >= 1 and air_radar >= 1 then |
| | + | api = 12 |
| | + | else |
| | + | can_aaci = false |
| | + | end |
| | + | local label = can_aaci and "API: " .. api or "No" |
| | | | |
| − | return {value = table.concat(roles, ", "), bg_color = can_night and "green" or "self._transparent", text_align = self._start_align} | + | return {value = label, bg_color = can_aaci and "green" or self._transparent, text_align = self._start_align} |
| | end | | end |
| | | | |
| Line 281: |
Line 326: |
| | end | | end |
| | | | |
| − | local result = testList('enemiesByTypeAndInstallationAndBoss', { type = '2', boss = 'no' , listBase = 'true'}) | + | local result = testList('enemiesByTypeAndInstallationAndBoss', { type = '9', boss = 'no', installation='yes'}) |
| | + | mw.log(EnemyShipListKai:Table(result)) |
| | + | |
| | + | result = testList('enemiesByTypeAndInstallationAndBoss', { type = '2', boss = 'no' , listBase = 'true'}) |
| | mw.log(EnemyShipListKai:Table(result)) | | mw.log(EnemyShipListKai:Table(result)) |
| | | | |