Documentation for this module may be created at Module:EnemyShipData/doc
local BaseData = require("Module:BaseData")
local EnemyShipData = BaseData()
function EnemyShipData:name()
if self._suffix then
return self:base_name() .. " " .. self._suffix
else
return self:base_name()
end
end
function EnemyShipData:base_name()
return self._name
end
function EnemyShipData:link()
if self._page then
return self._page, self:name()
elseif self._suffix then
return self:base_name(), self:name()
else
return self:name()
end
end
function EnemyShipData:localized_name()
return self._localized_name
end
function EnemyShipData:nick()
return self._nick
end
function EnemyShipData:japanese_name()
return self._japanese_name
end
function EnemyShipData:japanese_nick()
return self._japanese_nick
end
function EnemyShipData:reading()
return self._reading
end
function EnemyShipData:reading_nick()
return self._reading_nick
end
function EnemyShipData:battle_card()
return self._battle_card
end
function EnemyShipData:hp()
return self._hp
end
function EnemyShipData:firepower()
return self._firepower
end
function EnemyShipData:torpedo()
return self._torpedo
end
function EnemyShipData:aa()
return self._aa
end
function EnemyShipData:armor()
return self._armor
end
function EnemyShipData:asw()
return self._asw
end
function EnemyShipData:evasion()
return self._evasion
end
function EnemyShipData:los()
return self._los
end
function EnemyShipData:luck()
return self._luck
end
function EnemyShipData:slot(slot)
if self._equipment then
local equipment_slot = self._equipment[slot]
if equipment_slot then
return equipment_slot.equipment, equipment_slot.size
end
end
return nil
end
function EnemyShipData:slots()
if self._equipment then
return #self._equipment
end
return nil
end
function EnemyShipData:total_space()
if not self._equipment then
return nil
end
local total_space = 0
local size
for _, v in ipairs(self._equipment) do
size = v["size"]
if size == nil then
total_space = nil
break
elseif size == false then
else
total_space = total_space + size
end
end
return total_space
end
function EnemyShipData:speed()
return self._speed
end
function EnemyShipData:range()
return self._range
end
function EnemyShipData:as_rating()
return self._as_rating
end
function EnemyShipData:create(ship)
ship = ship or {}
setmetatable(ship, ship)
ship.__index = self
return ship
end
EnemyShipData.__call = EnemyShipData.create
return EnemyShipData