Module:EnemyShipInfoKai

local EnemyShip = require('Module:EnemyShip') local ShipInfoKai = require('Module:ShipInfoKai') local Formatting = require('Module:Formatting')

local EnemyShipInfoKai = ShipInfoKai{ _template = [[{|class="${table_class}" id="${table_id}" style="border: 1px solid darkgray; width: 320px;" ${name} ${localized_name} No.${id} ${japanese_name}${nick} ${class} ${type} ${slot_details}	_abyssal_class = "Abyssal", }
 * colspan="6" style="position: relative; text-align: center; background-color: ${top_bg_color};${top_extra_style}" | ${edit_link}
 * colspan="6" style="position: relative; text-align: center; background-color: ${top_bg_color};${top_extra_style}" | ${edit_link}
 * - style="background-color: whitesmoke;"
 * align=center colspan="6" | ${image}
 * colspan="6" style="text-align: center; background-color: LightSkyBlue;"|Statistics
 * - style="background-color: whitesmoke;"
 * colspan="2" style="width: 88px;" | ${icons.hp} ${labels.hp}
 * style="width: 66px;" | ${hp}
 * style="width: 88px;" | ${icons.firepower} ${labels.firepower}
 * colspan="2" style="width: 60px;" | ${firepower}
 * - style="background-color: whitesmoke;"
 * colspan="2" style="width: 88px;" | ${icons.armor} ${labels.armor}
 * style="width: 66px;" | ${armor}
 * style="width: 88px;" | ${icons.torpedo} ${labels.torpedo}
 * colspan="2" style="width: 66px;" | ${torpedo}
 * - style="background-color: whitesmoke;"
 * colspan="2" style="width: 88px;" | ${icons.evasion} ${labels.evasion}
 * style="width: 66px;" | ${evasion}
 * style="width: 88px;" | ${icons.aa} ${labels.aa}
 * colspan="2" style="width: 66px;" | ${aa}
 * - style="background-color: whitesmoke;"
 * colspan="2" style="width: 88px;" | ${icons.aircraft} ${labels.aircraft}
 * style="width: 66px;" | ${aircraft}
 * style="width: 88px;" | ${icons.asw} ${labels.asw}
 * colspan="2" style="width: 66px;" | ${asw}
 * - style="background-color: whitesmoke;"
 * colspan="2" style="width: 88px;" | ${icons.speed} ${labels.speed}
 * style="width: 66px;" | ${speed}
 * style="width: 88px;" | ${icons.los} ${labels.los}
 * colspan="2" style="width: 66px;" | ${los}
 * - style="background-color: whitesmoke;"
 * colspan="2" style="width: 88px;" | ${icons.range} ${labels.range}
 * style="width: 66px;" | ${range}
 * style="width: 88px;" | ${icons.luck} ${labels.luck}
 * colspan="2" style="width: 66px;" | ${luck}
 * colspan="5" style="text-align: center; background-color: LightSkyBlue;"| Air Power
 * style="text-align: center; background-color: LightSkyBlue; width: 50px;" | Slots
 * - style="background-color: whitesmoke;"
 * colspan="5" style="text-align: center;"| ${air_power}
 * align=center style="width: 50px;" | ${slots}
 * colspan="5" style="text-align: center; background-color: LightSkyBlue;"| Equipment
 * style="text-align: center; background-color: LightSkyBlue; width: 50px;" | Space
 * colspan="5" style="text-align: center; background-color: LightSkyBlue;"| Equipment
 * style="text-align: center; background-color: LightSkyBlue; width: 50px;" | Space
 * style="text-align: center; background-color: LightSkyBlue; width: 50px;" | Space
 * }]],

function EnemyShipInfoKai:bg_color(ship) local back = ship:back self._vars.top_bg_color, self._vars.top_extra_style = Formatting:format_ship_back(back), "" end

function EnemyShipInfoKai:class(ship) self._vars.class = self._abyssal_class end

function EnemyShipInfoKai:image(ship) self._vars.image = Formatting:format_image("Empty ship slot.png") --placeholder end

function EnemyShipInfoKai:firepower self._vars.firepower = Formatting:format_stat(self._ship:firepower) end

function EnemyShipInfoKai:armor self._vars.armor = Formatting:format_stat(self._ship:armor) end

function EnemyShipInfoKai:torpedo self._vars.torpedo = Formatting:format_stat(self._ship:torpedo) end

function EnemyShipInfoKai:evasion local evasion local override = self._args.evasion local overridden = false if override and override ~= "auto" then evasion = override overridden = true else evasion = self._ship:evasion end local result = Formatting:format_stat(evasion) if overridden then result = result .. self._overridden_category_template end self._vars.evasion = result end

function EnemyShipInfoKai:aa self._vars.aa = Formatting:format_stat(self._ship:aa, self._ship:aa_max) end

function EnemyShipInfoKai:asw local asw local overridden = false local override = self._args.asw if override and override ~= "auto" then asw = override overridden = true else asw = self._ship:asw end local result = Formatting:format_stat(asw) if overridden then result = result .. self._overridden_category_template end self._vars.asw = result end

function EnemyShipInfoKai:los local los local override = self._args.los local overridden = false if override and override ~= "auto" then los = override overridden = true else los = self._ship:los end local result = Formatting:format_stat(los) if overridden then result = result .. self._overridden_category_template end self._vars.los = result end

function EnemyShipInfoKai:luck self._vars.luck = Formatting:format_stat(self._ship:luck) end

function EnemyShipInfoKai:air_power self._vars.air_power = Formatting:format_stat(self._ship:air_power) end

function EnemyShipInfoKai:create_item self._ship = EnemyShip(self._args.name, self._args.model) end

function EnemyShipInfoKai:add_fields table.insert(self._fields, "air_power") end

return EnemyShipInfoKai