• Welcome to the Kancolle Wiki!
  • If you have any questions regarding site content, account registration, etc., please visit the KanColle Wiki Discord

Module:EnemyShipInfoKai

From Kancolle Wiki
Revision as of 22:32, 22 April 2015 by com>Ckwng (Created page with "local EnemyShip = require('Module:EnemyShip') local ShipInfoKai = require('Module:ShipInfoKai') local Formatting = require('Module:Formatting') local EnemyShipInfoKai = ShipI...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Documentation for this module may be created at Module:EnemyShipInfoKai/doc

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;"
|-
| colspan="6" style="position: relative; text-align: center; background-color: ${top_bg_color};${top_extra_style}" | <div style="position: absolute; right: 5px;">${edit_link}</div>
<p style="font-size:20px">'''${name}'''</p>${localized_name}
<p style="font-size:15px">'''No.${id} ${japanese_name}${nick}'''</p>
<p>'''${class} ${type}'''</p>
|- 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'''
${slot_details}
|}]],
	_abyssal_class = "Abyssal",
}

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